<?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>57684</bug_id>
          
          <creation_ts>2011-04-01 17:05:48 -0700</creation_ts>
          <short_desc>REGRESSION(r82738): Broke storage/indexeddb/objectstore-autoincrement.html and InjectIDBKey (Requested by abarth|gardening on #webkit).</short_desc>
          <delta_ts>2011-04-01 17:31:56 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>57507</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>abarth</cc>
    
    <cc>dgrogan</cc>
    
    <cc>eric</cc>
    
    <cc>japhet</cc>
    
    <cc>jorlow</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>378220</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-01 17:05:48 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/82738 broke the build:
Broke storage/indexeddb/objectstore-autoincrement.html and InjectIDBKey (Requested by abarth|gardening on #webkit).

This is an automatic bug report generated by the sheriff-bot. 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 case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378222</commentid>
    <comment_count>1</comment_count>
      <attachid>87946</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-01 17:06:16 -0700</bug_when>
    <thetext>Created attachment 87946
ROLLOUT of r82738

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 rollout will be successful.  This process takes approximately 15 minutes.

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

  webkit-patch land-attachment ATTACHMENT_ID --ignore-builders

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378226</commentid>
    <comment_count>2</comment_count>
      <attachid>87946</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-04-01 17:09:41 -0700</bug_when>
    <thetext>Comment on attachment 87946
ROLLOUT of r82738

Clearing flags on attachment: 87946

Committed r82748: &lt;http://trac.webkit.org/changeset/82748&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378227</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-04-01 17:09:45 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378239</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-01 17:31:56 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/82748 might have broken Chromium Linux Release</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87946</attachid>
            <date>2011-04-01 17:06:16 -0700</date>
            <delta_ts>2011-04-01 17:09:41 -0700</delta_ts>
            <desc>ROLLOUT of r82738</desc>
            <filename>bug-57684-20110402000350.patch</filename>
            <type>text/plain</type>
            <size>70331</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODI3NDcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
ZWYyMDI0NWMwNjczYTY0ZDk4MWRmYTI2ZmE3ZjcwYzY1MmExZDVhMC4uZjgxOGMzMmRkNmEzNjU1
ZGUyNzM1ZDYwZTVjMjQ3NDk0YmNmNTA1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxMDYgQEAKKzIwMTEtMDQtMDEgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5i
b3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI4MjczOC4K
KyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvODI3MzgKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3Njg0CisKKyAgICAgICAg
QnJva2Ugc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYXV0b2luY3JlbWVudC5odG1sIGFu
ZAorICAgICAgICBJbmplY3RJREJLZXkgKFJlcXVlc3RlZCBieSBhYmFydGh8Z2FyZGVuaW5nIG9u
ICN3ZWJraXQpLgorCisgICAgICAgICogV2ViS2l0Lmd5cDoKKyAgICAgICAgKiBzcmMvSURCQ2Fs
bGJhY2tzUHJveHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCQ2FsbGJhY2tzUHJveHk6OmNy
ZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJDYWxsYmFja3NQcm94eTo6SURCQ2FsbGJhY2tz
UHJveHkpOgorICAgICAgICAoV2ViQ29yZTo6SURCQ2FsbGJhY2tzUHJveHk6Om9uRXJyb3IpOgor
ICAgICAgICAoV2ViQ29yZTo6SURCQ2FsbGJhY2tzUHJveHk6Om9uU3VjY2Vzcyk6CisgICAgICAg
ICogc3JjL0lEQkNhbGxiYWNrc1Byb3h5Lmg6CisgICAgICAgICogc3JjL0lEQkN1cnNvckJhY2tl
bmRQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJDdXJzb3JCYWNrZW5kUHJveHk6OmNy
ZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJDdXJzb3JCYWNrZW5kUHJveHk6OklEQkN1cnNv
ckJhY2tlbmRQcm94eSk6CisgICAgICAgICogc3JjL0lEQkN1cnNvckJhY2tlbmRQcm94eS5oOgor
ICAgICAgICAqIHNyYy9JREJEYXRhYmFzZUNhbGxiYWNrc1Byb3h5LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OklEQkRhdGFiYXNlQ2FsbGJhY2tzUHJveHk6OmNyZWF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpJREJEYXRhYmFzZUNhbGxiYWNrc1Byb3h5OjpJREJEYXRhYmFzZUNhbGxiYWNrc1Byb3h5
KToKKyAgICAgICAgKiBzcmMvSURCRGF0YWJhc2VDYWxsYmFja3NQcm94eS5oOgorICAgICAgICAq
IHNyYy9JREJEYXRhYmFzZVByb3h5LmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0lEQkRhdGFiYXNlQmFja2VuZFByb3h5LmNwcC4KKyAgICAgICAgKFdlYkNvcmU6
OklEQkRhdGFiYXNlUHJveHk6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFz
ZVByb3h5OjpJREJEYXRhYmFzZVByb3h5KToKKyAgICAgICAgKFdlYkNvcmU6OklEQkRhdGFiYXNl
UHJveHk6On5JREJEYXRhYmFzZVByb3h5KToKKyAgICAgICAgKFdlYkNvcmU6OklEQkRhdGFiYXNl
UHJveHk6Om5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VQcm94eTo6dmVyc2lv
bik6CisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZVByb3h5OjpvYmplY3RTdG9yZU5hbWVz
KToKKyAgICAgICAgKFdlYkNvcmU6OklEQkRhdGFiYXNlUHJveHk6OmNyZWF0ZU9iamVjdFN0b3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6OklEQkRhdGFiYXNlUHJveHk6OmRlbGV0ZU9iamVjdFN0b3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6OklEQkRhdGFiYXNlUHJveHk6OnNldFZlcnNpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VQcm94eTo6dHJhbnNhY3Rpb24pOgorICAgICAgICAo
V2ViQ29yZTo6SURCRGF0YWJhc2VQcm94eTo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29yZTo6SURC
RGF0YWJhc2VQcm94eTo6b3Blbik6CisgICAgICAgICogc3JjL0lEQkRhdGFiYXNlUHJveHkuaDog
UmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkRhdGFiYXNlQmFja2Vu
ZFByb3h5LmguCisgICAgICAgICogc3JjL0lEQkZhY3RvcnlCYWNrZW5kUHJveHkuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SURCRmFjdG9yeUJhY2tlbmRQcm94eTo6SURCRmFjdG9yeUJhY2tlbmRQ
cm94eSk6CisgICAgICAgIChXZWJDb3JlOjpJREJGYWN0b3J5QmFja2VuZFByb3h5OjpvcGVuKToK
KyAgICAgICAgKiBzcmMvSURCRmFjdG9yeUJhY2tlbmRQcm94eS5oOgorICAgICAgICAqIHNyYy9J
REJJbmRleEJhY2tlbmRQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJJbmRleEJhY2tl
bmRQcm94eTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkluZGV4QmFja2VuZFByb3h5
OjpJREJJbmRleEJhY2tlbmRQcm94eSk6CisgICAgICAgICogc3JjL0lEQkluZGV4QmFja2VuZFBy
b3h5Lmg6CisgICAgICAgICogc3JjL0lEQk9iamVjdFN0b3JlQmFja2VuZFByb3h5Lmg6IFJlbW92
ZWQuCisgICAgICAgICogc3JjL0lEQk9iamVjdFN0b3JlUHJveHkuY3BwOiBSZW5hbWVkIGZyb20g
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCT2JqZWN0U3RvcmVCYWNrZW5kUHJveHkuY3Bw
LgorICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0U3RvcmVQcm94eTo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3JlUHJveHk6OklEQk9iamVjdFN0b3JlUHJveHkpOgor
ICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0U3RvcmVQcm94eTo6fklEQk9iamVjdFN0b3JlUHJv
eHkpOgorICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0U3RvcmVQcm94eTo6bmFtZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZVByb3h5OjprZXlQYXRoKToKKyAgICAgICAgKFdl
YkNvcmU6OklEQk9iamVjdFN0b3JlUHJveHk6OmluZGV4TmFtZXMpOgorICAgICAgICAoV2ViQ29y
ZTo6SURCT2JqZWN0U3RvcmVQcm94eTo6Z2V0KToKKyAgICAgICAgKFdlYkNvcmU6OklEQk9iamVj
dFN0b3JlUHJveHk6OnB1dCk6CisgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZVByb3h5
OjpkZWxldGVGdW5jdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZVByb3h5
OjpjbGVhcik6CisgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZVByb3h5OjpjcmVhdGVJ
bmRleCk6CisgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZVByb3h5OjppbmRleCk6Cisg
ICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZVByb3h5OjpkZWxldGVJbmRleCk6CisgICAg
ICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZVByb3h5OjpvcGVuQ3Vyc29yKToKKyAgICAgICAg
KiBzcmMvSURCT2JqZWN0U3RvcmVQcm94eS5oOiBBZGRlZC4KKyAgICAgICAgKiBzcmMvSURCVHJh
bnNhY3Rpb25CYWNrZW5kUHJveHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rp
b25CYWNrZW5kUHJveHk6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlv
bkJhY2tlbmRQcm94eTo6SURCVHJhbnNhY3Rpb25CYWNrZW5kUHJveHkpOgorICAgICAgICAoV2Vi
Q29yZTo6SURCVHJhbnNhY3Rpb25CYWNrZW5kUHJveHk6Om9iamVjdFN0b3JlKToKKyAgICAgICAg
KiBzcmMvSURCVHJhbnNhY3Rpb25CYWNrZW5kUHJveHkuaDoKKyAgICAgICAgKFdlYkNvcmU6OklE
QlRyYW5zYWN0aW9uQmFja2VuZFByb3h5OjpnZXRXZWJJREJUcmFuc2FjdGlvbik6CisgICAgICAg
ICogc3JjL0lEQlRyYW5zYWN0aW9uQ2FsbGJhY2tzUHJveHkuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SURCVHJhbnNhY3Rpb25DYWxsYmFja3NQcm94eTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OklEQlRyYW5zYWN0aW9uQ2FsbGJhY2tzUHJveHk6OklEQlRyYW5zYWN0aW9uQ2FsbGJhY2tz
UHJveHkpOgorICAgICAgICAqIHNyYy9JREJUcmFuc2FjdGlvbkNhbGxiYWNrc1Byb3h5Lmg6Cisg
ICAgICAgICogc3JjL1dlYklEQkNhbGxiYWNrc0ltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
V2ViSURCQ2FsbGJhY2tzSW1wbDo6b25FcnJvcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJJREJD
YWxsYmFja3NJbXBsOjpvblN1Y2Nlc3MpOgorICAgICAgICAqIHNyYy9XZWJJREJDYWxsYmFja3NJ
bXBsLmg6CisgICAgICAgICogc3JjL1dlYklEQkN1cnNvckltcGwuY3BwOgorICAgICAgICAqIHNy
Yy9XZWJJREJDdXJzb3JJbXBsLmg6CisgICAgICAgICogc3JjL1dlYklEQkRhdGFiYXNlQ2FsbGJh
Y2tzSW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJJREJEYXRhYmFzZUNhbGxiYWNrc0lt
cGw6Om9uVmVyc2lvbkNoYW5nZSk6CisgICAgICAgICogc3JjL1dlYklEQkRhdGFiYXNlQ2FsbGJh
Y2tzSW1wbC5oOgorICAgICAgICAqIHNyYy9XZWJJREJEYXRhYmFzZUVycm9yLmNwcDoKKyAgICAg
ICAgKiBzcmMvV2ViSURCRGF0YWJhc2VJbXBsLmNwcDoKKyAgICAgICAgKiBzcmMvV2ViSURCRGF0
YWJhc2VJbXBsLmg6CisgICAgICAgICogc3JjL1dlYklEQkZhY3RvcnlJbXBsLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViSURCRmFjdG9yeUltcGw6OldlYklEQkZhY3RvcnlJbXBsKToKKyAgICAg
ICAgKiBzcmMvV2ViSURCRmFjdG9yeUltcGwuaDoKKyAgICAgICAgKiBzcmMvV2ViSURCSW5kZXhJ
bXBsLmNwcDoKKyAgICAgICAgKiBzcmMvV2ViSURCSW5kZXhJbXBsLmg6CisgICAgICAgICogc3Jj
L1dlYklEQktleS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYklEQktleTo6Y3JlYXRlRnJvbVZh
bHVlQW5kS2V5UGF0aCk6CisgICAgICAgIChXZWJLaXQ6OldlYklEQktleTo6aW5qZWN0SURCS2V5
SW50b1NlcmlhbGl6ZWRWYWx1ZSk6CisgICAgICAgICogc3JjL1dlYklEQktleVBhdGguY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJJREJLZXlQYXRoOjpvcGVyYXRvciBjb25zdCBXVEY6OlZlY3Rv
cjxXZWJDb3JlOjpJREJLZXlQYXRoRWxlbWVudCwgMD4mKToKKyAgICAgICAgKiBzcmMvV2ViSURC
S2V5UmFuZ2UuY3BwOgorICAgICAgICAqIHNyYy9XZWJJREJPYmplY3RTdG9yZUltcGwuY3BwOgor
ICAgICAgICAqIHNyYy9XZWJJREJPYmplY3RTdG9yZUltcGwuaDoKKyAgICAgICAgKiBzcmMvV2Vi
SURCVHJhbnNhY3Rpb25DYWxsYmFja3NJbXBsLmNwcDoKKyAgICAgICAgKiBzcmMvV2ViSURCVHJh
bnNhY3Rpb25DYWxsYmFja3NJbXBsLmg6CisgICAgICAgICogc3JjL1dlYklEQlRyYW5zYWN0aW9u
SW1wbC5jcHA6CisgICAgICAgICogc3JjL1dlYklEQlRyYW5zYWN0aW9uSW1wbC5oOgorCiAyMDEx
LTAzLTMwICBKZXJlbXkgT3Jsb3cgIDxqb3Jsb3dAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IE5hdGUgQ2hhcGluLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9XZWJLaXQuZ3lwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCmluZGV4IDI2
M2I0OWU1NDgyNzVkMTFhNmI0Y2MwMjRlZjFiZjVjZmQwOTY0YzcuLjcyZGRiNDVmZGY4Zjk1ZDI4
OTQ4ZjEwNzY4MDYwYTYzYTFkYjhjY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vV2ViS2l0Lmd5cAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKQEAg
LTM1OSwxNCArMzU5LDE0IEBACiAgICAgICAgICAgICAgICAgJ3NyYy9JREJDdXJzb3JCYWNrZW5k
UHJveHkuaCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9JREJEYXRhYmFzZUNhbGxiYWNrc1Byb3h5
LmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9JREJEYXRhYmFzZUNhbGxiYWNrc1Byb3h5Lmgn
LAotICAgICAgICAgICAgICAgICdzcmMvSURCRGF0YWJhc2VCYWNrZW5kUHJveHkuY3BwJywKLSAg
ICAgICAgICAgICAgICAnc3JjL0lEQkRhdGFiYXNlQmFja2VuZFByb3h5LmgnLAorICAgICAgICAg
ICAgICAgICdzcmMvSURCRGF0YWJhc2VQcm94eS5jcHAnLAorICAgICAgICAgICAgICAgICdzcmMv
SURCRGF0YWJhc2VQcm94eS5oJywKICAgICAgICAgICAgICAgICAnc3JjL0lEQkZhY3RvcnlCYWNr
ZW5kUHJveHkuY3BwJywKICAgICAgICAgICAgICAgICAnc3JjL0lEQkZhY3RvcnlCYWNrZW5kUHJv
eHkuaCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9JREJJbmRleEJhY2tlbmRQcm94eS5jcHAnLAog
ICAgICAgICAgICAgICAgICdzcmMvSURCSW5kZXhCYWNrZW5kUHJveHkuaCcsCi0gICAgICAgICAg
ICAgICAgJ3NyYy9JREJPYmplY3RTdG9yZUJhY2tlbmRQcm94eS5jcHAnLAotICAgICAgICAgICAg
ICAgICdzcmMvSURCT2JqZWN0U3RvcmVCYWNrZW5kUHJveHkuaCcsCisgICAgICAgICAgICAgICAg
J3NyYy9JREJPYmplY3RTdG9yZVByb3h5LmNwcCcsCisgICAgICAgICAgICAgICAgJ3NyYy9JREJP
YmplY3RTdG9yZVByb3h5LmgnLAogICAgICAgICAgICAgICAgICdzcmMvSURCVHJhbnNhY3Rpb25C
YWNrZW5kUHJveHkuY3BwJywKICAgICAgICAgICAgICAgICAnc3JjL0lEQlRyYW5zYWN0aW9uQmFj
a2VuZFByb3h5LmgnLAogICAgICAgICAgICAgICAgICdzcmMvSURCVHJhbnNhY3Rpb25DYWxsYmFj
a3NQcm94eS5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURC
Q2FsbGJhY2tzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCQ2FsbGJh
Y2tzUHJveHkuY3BwCmluZGV4IGM1MzZjMzhkYWMxNTlhNmQ1OGUwYTYzZGQ1MjVkMzY2NWNkMjNi
MWUuLjcyNzA5MmExNTg1N2MwOWRiYWZkZWQwOTA1NTY1ZTFmODEwOTc3YWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkNhbGxiYWNrc1Byb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJDYWxsYmFja3NQcm94eS5jcHAKQEAgLTEsNSAr
MSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjksMTAgKzI5LDgg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJREJDYWxsYmFja3NQcm94eS5oIgog
Ci0jaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCi0KLSNpbmNsdWRlICJJREJEYXRhYmFzZUJh
Y2tlbmRQcm94eS5oIgogI2luY2x1ZGUgIklEQkRhdGFiYXNlRXJyb3IuaCIKKyNpbmNsdWRlICJJ
REJEYXRhYmFzZVByb3h5LmgiCiAjaW5jbHVkZSAiV2ViSURCQ2FsbGJhY2tzLmgiCiAjaW5jbHVk
ZSAiV2ViSURCQ3Vyc29ySW1wbC5oIgogI2luY2x1ZGUgIldlYklEQkRhdGFiYXNlSW1wbC5oIgpA
QCAtNDEsMTYgKzM5LDE2IEBACiAjaW5jbHVkZSAiV2ViSURCVHJhbnNhY3Rpb25JbXBsLmgiCiAj
aW5jbHVkZSAiV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCiAKLXVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOworI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQogCi1uYW1lc3BhY2UgV2ViS2l0
IHsKK25hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxJREJDYWxsYmFja3NQcm94eT4g
SURCQ2FsbGJhY2tzUHJveHk6OmNyZWF0ZShQYXNzT3duUHRyPFdlYklEQkNhbGxiYWNrcz4gY2Fs
bGJhY2tzKQorUGFzc1JlZlB0cjxJREJDYWxsYmFja3NQcm94eT4gSURCQ2FsbGJhY2tzUHJveHk6
OmNyZWF0ZShQYXNzT3duUHRyPFdlYktpdDo6V2ViSURCQ2FsbGJhY2tzPiBjYWxsYmFja3MpCiB7
CiAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBJREJDYWxsYmFja3NQcm94eShjYWxsYmFja3MpKTsK
IH0KIAotSURCQ2FsbGJhY2tzUHJveHk6OklEQkNhbGxiYWNrc1Byb3h5KFBhc3NPd25QdHI8V2Vi
SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MpCitJREJDYWxsYmFja3NQcm94eTo6SURCQ2FsbGJhY2tz
UHJveHkoUGFzc093blB0cjxXZWJLaXQ6OldlYklEQkNhbGxiYWNrcz4gY2FsbGJhY2tzKQogICAg
IDogbV9jYWxsYmFja3MoY2FsbGJhY2tzKQogewogfQpAQCAtNjEsMzIgKzU5LDMyIEBAIElEQkNh
bGxiYWNrc1Byb3h5Ojp+SURCQ2FsbGJhY2tzUHJveHkoKQogCiB2b2lkIElEQkNhbGxiYWNrc1By
b3h5OjpvbkVycm9yKFBhc3NSZWZQdHI8SURCRGF0YWJhc2VFcnJvcj4gaWRiRGF0YWJhc2VFcnJv
cikKIHsKLSAgICBtX2NhbGxiYWNrcy0+b25FcnJvcihXZWJJREJEYXRhYmFzZUVycm9yKGlkYkRh
dGFiYXNlRXJyb3IpKTsKKyAgICBtX2NhbGxiYWNrcy0+b25FcnJvcihXZWJLaXQ6OldlYklEQkRh
dGFiYXNlRXJyb3IoaWRiRGF0YWJhc2VFcnJvcikpOwogfQogCiB2b2lkIElEQkNhbGxiYWNrc1By
b3h5OjpvblN1Y2Nlc3MoUGFzc1JlZlB0cjxJREJDdXJzb3JCYWNrZW5kSW50ZXJmYWNlPiBpZGJD
dXJzb3JCYWNrZW5kKQogewotICAgIG1fY2FsbGJhY2tzLT5vblN1Y2Nlc3MobmV3IFdlYklEQkN1
cnNvckltcGwoaWRiQ3Vyc29yQmFja2VuZCkpOworICAgIG1fY2FsbGJhY2tzLT5vblN1Y2Nlc3Mo
bmV3IFdlYktpdDo6V2ViSURCQ3Vyc29ySW1wbChpZGJDdXJzb3JCYWNrZW5kKSk7CiB9CiAKIHZv
aWQgSURCQ2FsbGJhY2tzUHJveHk6Om9uU3VjY2VzcyhQYXNzUmVmUHRyPElEQkRhdGFiYXNlQmFj
a2VuZEludGVyZmFjZT4gYmFja2VuZCkKIHsKLSAgICBtX2NhbGxiYWNrcy0+b25TdWNjZXNzKG5l
dyBXZWJJREJEYXRhYmFzZUltcGwoYmFja2VuZCkpOworICAgIG1fY2FsbGJhY2tzLT5vblN1Y2Nl
c3MobmV3IFdlYktpdDo6V2ViSURCRGF0YWJhc2VJbXBsKGJhY2tlbmQpKTsKIH0KIAogdm9pZCBJ
REJDYWxsYmFja3NQcm94eTo6b25TdWNjZXNzKFBhc3NSZWZQdHI8SURCS2V5PiBpZGJLZXkpCiB7
Ci0gICAgbV9jYWxsYmFja3MtPm9uU3VjY2VzcyhXZWJJREJLZXkoaWRiS2V5KSk7CisgICAgbV9j
YWxsYmFja3MtPm9uU3VjY2VzcyhXZWJLaXQ6OldlYklEQktleShpZGJLZXkpKTsKIH0KIAogdm9p
ZCBJREJDYWxsYmFja3NQcm94eTo6b25TdWNjZXNzKFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb25C
YWNrZW5kSW50ZXJmYWNlPiBiYWNrZW5kKQogewotICAgIG1fY2FsbGJhY2tzLT5vblN1Y2Nlc3Mo
bmV3IFdlYklEQlRyYW5zYWN0aW9uSW1wbChiYWNrZW5kKSk7CisgICAgbV9jYWxsYmFja3MtPm9u
U3VjY2VzcyhuZXcgV2ViS2l0OjpXZWJJREJUcmFuc2FjdGlvbkltcGwoYmFja2VuZCkpOwogfQog
CiB2b2lkIElEQkNhbGxiYWNrc1Byb3h5OjpvblN1Y2Nlc3MoUGFzc1JlZlB0cjxTZXJpYWxpemVk
U2NyaXB0VmFsdWU+IHNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSkKIHsKLSAgICBtX2NhbGxiYWNrcy0+
b25TdWNjZXNzKFdlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZShzZXJpYWxpemVkU2NyaXB0VmFsdWUp
KTsKKyAgICBtX2NhbGxiYWNrcy0+b25TdWNjZXNzKFdlYktpdDo6V2ViU2VyaWFsaXplZFNjcmlw
dFZhbHVlKHNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSkpOwogfQogCiB2b2lkIElEQkNhbGxiYWNrc1By
b3h5OjpvbkJsb2NrZWQoKQpAQCAtOTQsNiArOTIsNiBAQCB2b2lkIElEQkNhbGxiYWNrc1Byb3h5
OjpvbkJsb2NrZWQoKQogICAgIG1fY2FsbGJhY2tzLT5vbkJsb2NrZWQoKTsKIH0KIAotfSAvLyBu
YW1lc3BhY2UgV2ViS2l0Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFC
TEUoSU5ERVhFRF9EQVRBQkFTRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL0lEQkNhbGxiYWNrc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJD
YWxsYmFja3NQcm94eS5oCmluZGV4IGU5ZjQ1ZmY1Y2YxMjQ0ODEyMDVmN2ZmYTAxMmRiNDRjOTZi
ZTQ0MTIuLjY4Mjk4NDVkMGY4ZTg2NzA4ZGJkOTcwNzZlMWM5NTQ3YmM1YWJiZWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkNhbGxiYWNrc1Byb3h5LmgKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCQ2FsbGJhY2tzUHJveHkuaApAQCAtMSw1ICsx
LDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOSwzNyArMjksNDAg
QEAKICNpZm5kZWYgSURCQ2FsbGJhY2tzUHJveHlfaAogI2RlZmluZSBJREJDYWxsYmFja3NQcm94
eV9oCiAKLSNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKLQogI2luY2x1ZGUgIklEQkNhbGxi
YWNrcy5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NS
ZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKLW5hbWVzcGFjZSBXZWJLaXQgewor
I2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQogCituYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNz
IFdlYklEQkNhbGxiYWNrczsKK30KKworbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBJREJD
YWxsYmFja3NQcm94eSA6IHB1YmxpYyBXZWJDb3JlOjpJREJDYWxsYmFja3MgeworY2xhc3MgSURC
Q2FsbGJhY2tzUHJveHkgOiBwdWJsaWMgSURCQ2FsbGJhY2tzIHsKIHB1YmxpYzoKLSAgICBzdGF0
aWMgUGFzc1JlZlB0cjxJREJDYWxsYmFja3NQcm94eT4gY3JlYXRlKFBhc3NPd25QdHI8V2ViSURC
Q2FsbGJhY2tzPik7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzUHJveHk+IGNy
ZWF0ZShQYXNzT3duUHRyPFdlYktpdDo6V2ViSURCQ2FsbGJhY2tzPik7CiAgICAgdmlydHVhbCB+
SURCQ2FsbGJhY2tzUHJveHkoKTsKIAotICAgIHZpcnR1YWwgdm9pZCBvbkVycm9yKFBhc3NSZWZQ
dHI8V2ViQ29yZTo6SURCRGF0YWJhc2VFcnJvcj4pOwotICAgIHZpcnR1YWwgdm9pZCBvblN1Y2Nl
c3MoUGFzc1JlZlB0cjxXZWJDb3JlOjpJREJDdXJzb3JCYWNrZW5kSW50ZXJmYWNlPik7Ci0gICAg
dmlydHVhbCB2b2lkIG9uU3VjY2VzcyhQYXNzUmVmUHRyPFdlYkNvcmU6OklEQkRhdGFiYXNlQmFj
a2VuZEludGVyZmFjZT4pOwotICAgIHZpcnR1YWwgdm9pZCBvblN1Y2Nlc3MoUGFzc1JlZlB0cjxX
ZWJDb3JlOjpJREJLZXk+KTsKLSAgICB2aXJ0dWFsIHZvaWQgb25TdWNjZXNzKFBhc3NSZWZQdHI8
V2ViQ29yZTo6SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlPik7Ci0gICAgdmlydHVhbCB2
b2lkIG9uU3VjY2VzcyhQYXNzUmVmUHRyPFdlYkNvcmU6OlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4p
OworICAgIHZpcnR1YWwgdm9pZCBvbkVycm9yKFBhc3NSZWZQdHI8SURCRGF0YWJhc2VFcnJvcj4p
OworICAgIHZpcnR1YWwgdm9pZCBvblN1Y2Nlc3MoUGFzc1JlZlB0cjxJREJDdXJzb3JCYWNrZW5k
SW50ZXJmYWNlPik7CisgICAgdmlydHVhbCB2b2lkIG9uU3VjY2VzcyhQYXNzUmVmUHRyPElEQkRh
dGFiYXNlQmFja2VuZEludGVyZmFjZT4pOworICAgIHZpcnR1YWwgdm9pZCBvblN1Y2Nlc3MoUGFz
c1JlZlB0cjxJREJLZXk+KTsKKyAgICB2aXJ0dWFsIHZvaWQgb25TdWNjZXNzKFBhc3NSZWZQdHI8
SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlPik7CisgICAgdmlydHVhbCB2b2lkIG9uU3Vj
Y2VzcyhQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4pOwogICAgIHZpcnR1YWwgdm9p
ZCBvbkJsb2NrZWQoKTsKIAogcHJpdmF0ZToKLSAgICBJREJDYWxsYmFja3NQcm94eShQYXNzT3du
UHRyPFdlYklEQkNhbGxiYWNrcz4pOworICAgIElEQkNhbGxiYWNrc1Byb3h5KFBhc3NPd25QdHI8
V2ViS2l0OjpXZWJJREJDYWxsYmFja3M+KTsKIAotICAgIE93blB0cjxXZWJJREJDYWxsYmFja3M+
IG1fY2FsbGJhY2tzOworICAgIE93blB0cjxXZWJLaXQ6OldlYklEQkNhbGxiYWNrcz4gbV9jYWxs
YmFja3M7CiB9OwogCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
SURCQ3Vyc29yQmFja2VuZFByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lE
QkN1cnNvckJhY2tlbmRQcm94eS5jcHAKaW5kZXggN2RhYjZhMjhmYTIwZmE4ZGM1MWI2Zjc3YWQy
NTBmZmI3YzA1ZjdhNC4uYjNiOWVhN2ZkMDAwOTMzYmVkZGJiYWM1MjIzMzRjZWM4YTMzYzRjNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCQ3Vyc29yQmFja2VuZFBy
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJDdXJzb3JCYWNrZW5k
UHJveHkuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTM2LDE2ICszNiwxNCBAQAogI2luY2x1ZGUgIldlYklEQktleS5oIgogI2luY2x1ZGUg
IldlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
K25hbWVzcGFjZSBXZWJDb3JlIHsKIAotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLVBhc3NSZWZQdHI8
SURCQ3Vyc29yQmFja2VuZEludGVyZmFjZT4gSURCQ3Vyc29yQmFja2VuZFByb3h5OjpjcmVhdGUo
UGFzc093blB0cjxXZWJJREJDdXJzb3I+IGlkYkN1cnNvcikKK1Bhc3NSZWZQdHI8SURCQ3Vyc29y
QmFja2VuZEludGVyZmFjZT4gSURCQ3Vyc29yQmFja2VuZFByb3h5OjpjcmVhdGUoUGFzc093blB0
cjxXZWJLaXQ6OldlYklEQkN1cnNvcj4gaWRiQ3Vyc29yKQogewogICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgSURCQ3Vyc29yQmFja2VuZFByb3h5KGlkYkN1cnNvcikpOwogfQogCi1JREJDdXJzb3JC
YWNrZW5kUHJveHk6OklEQkN1cnNvckJhY2tlbmRQcm94eShQYXNzT3duUHRyPFdlYklEQkN1cnNv
cj4gaWRiQ3Vyc29yKQorSURCQ3Vyc29yQmFja2VuZFByb3h5OjpJREJDdXJzb3JCYWNrZW5kUHJv
eHkoUGFzc093blB0cjxXZWJLaXQ6OldlYklEQkN1cnNvcj4gaWRiQ3Vyc29yKQogICAgIDogbV9p
ZGJDdXJzb3IoaWRiQ3Vyc29yKQogewogfQpAQCAtODksNiArODcsNiBAQCB2b2lkIElEQkN1cnNv
ckJhY2tlbmRQcm94eTo6ZGVsZXRlRnVuY3Rpb24oUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+IGNh
bGxiYWNrcywgRQogICAgIG1faWRiQ3Vyc29yLT5kZWxldGVGdW5jdGlvbihuZXcgV2ViSURCQ2Fs
bGJhY2tzSW1wbChjYWxsYmFja3MpLCBlYyk7CiB9CiAKLX0gLy8gbmFtZXNwYWNlIFdlYktpdAor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJB
U0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJDdXJzb3JCYWNr
ZW5kUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkN1cnNvckJhY2tlbmRQ
cm94eS5oCmluZGV4IGQ3MjUzNjA1MDI5Y2M5MmJmOGEwYTg2MDVkMDQ0M2U4NTU4MWJmMDIuLjBj
MmUxYzczMjE2YTBmOTMxM2RhMmYwNzAyNDMxYzc0ZTIyYmRhODUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkN1cnNvckJhY2tlbmRQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkN1cnNvckJhY2tlbmRQcm94eS5oCkBAIC0xLDUgKzEs
NSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM1LDI4ICszNSwyOCBA
QAogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgog
Ci1uYW1lc3BhY2UgV2ViS2l0IHsKK25hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSURCQ3Vy
c29yQmFja2VuZFByb3h5IDogcHVibGljIFdlYkNvcmU6OklEQkN1cnNvckJhY2tlbmRJbnRlcmZh
Y2UgeworY2xhc3MgSURCQ3Vyc29yQmFja2VuZFByb3h5IDogcHVibGljIElEQkN1cnNvckJhY2tl
bmRJbnRlcmZhY2UgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYkNvcmU6OklE
QkN1cnNvckJhY2tlbmRJbnRlcmZhY2U+IGNyZWF0ZShQYXNzT3duUHRyPFdlYklEQkN1cnNvcj4p
OworICAgIHN0YXRpYyBQYXNzUmVmUHRyPElEQkN1cnNvckJhY2tlbmRJbnRlcmZhY2U+IGNyZWF0
ZShQYXNzT3duUHRyPFdlYktpdDo6V2ViSURCQ3Vyc29yPik7CiAgICAgdmlydHVhbCB+SURCQ3Vy
c29yQmFja2VuZFByb3h5KCk7CiAKICAgICB2aXJ0dWFsIHVuc2lnbmVkIHNob3J0IGRpcmVjdGlv
bigpIGNvbnN0OwotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxXZWJDb3JlOjpJREJLZXk+IGtleSgp
IGNvbnN0OwotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxXZWJDb3JlOjpJREJLZXk+IHByaW1hcnlL
ZXkoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29yZTo6U2VyaWFsaXplZFNj
cmlwdFZhbHVlPiB2YWx1ZSgpIGNvbnN0OwotICAgIHZpcnR1YWwgdm9pZCB1cGRhdGUoUGFzc1Jl
ZlB0cjxXZWJDb3JlOjpTZXJpYWxpemVkU2NyaXB0VmFsdWU+LCBQYXNzUmVmUHRyPFdlYkNvcmU6
OklEQkNhbGxiYWNrcz4sIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2aXJ0dWFsIHZv
aWQgY29udGludWVGdW5jdGlvbihQYXNzUmVmUHRyPFdlYkNvcmU6OklEQktleT4sIFBhc3NSZWZQ
dHI8V2ViQ29yZTo6SURCQ2FsbGJhY2tzPiwgV2ViQ29yZTo6RXhjZXB0aW9uQ29kZSYpOwotICAg
IHZpcnR1YWwgdm9pZCBkZWxldGVGdW5jdGlvbihQYXNzUmVmUHRyPFdlYkNvcmU6OklEQkNhbGxi
YWNrcz4sIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8
SURCS2V5PiBrZXkoKSBjb25zdDsKKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8SURCS2V5PiBwcmlt
YXJ5S2V5KCkgY29uc3Q7CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZT4gdmFsdWUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlKFBhc3NSZWZQdHI8
U2VyaWFsaXplZFNjcmlwdFZhbHVlPiwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+LCBFeGNlcHRp
b25Db2RlJik7CisgICAgdmlydHVhbCB2b2lkIGNvbnRpbnVlRnVuY3Rpb24oUGFzc1JlZlB0cjxJ
REJLZXk+LCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4sIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2
aXJ0dWFsIHZvaWQgZGVsZXRlRnVuY3Rpb24oUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+LCBFeGNl
cHRpb25Db2RlJik7CiAKIHByaXZhdGU6Ci0gICAgSURCQ3Vyc29yQmFja2VuZFByb3h5KFBhc3NP
d25QdHI8V2ViSURCQ3Vyc29yPik7CisgICAgSURCQ3Vyc29yQmFja2VuZFByb3h5KFBhc3NPd25Q
dHI8V2ViS2l0OjpXZWJJREJDdXJzb3I+KTsKIAotICAgIE93blB0cjxXZWJJREJDdXJzb3I+IG1f
aWRiQ3Vyc29yOworICAgIE93blB0cjxXZWJLaXQ6OldlYklEQkN1cnNvcj4gbV9pZGJDdXJzb3I7
CiB9OwogCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAog
I2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkRhdGFi
YXNlQ2FsbGJhY2tzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCRGF0
YWJhc2VDYWxsYmFja3NQcm94eS5jcHAKaW5kZXggODE2ZmFmNmM0ZGU3MGFlNjkyNjkzMGQwZGU1
MGUwZWUyZDExNzg1Yi4uMjhjMTM0ZmI2YTMyYTdhZjdhNDlhYzc3OTc1ZmZkYTIzMjNkNmE5MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCRGF0YWJhc2VDYWxsYmFj
a3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCRGF0YWJhc2VD
YWxsYmFja3NQcm94eS5jcHAKQEAgLTMwLDE2ICszMCwxNCBAQAogCiAjaW5jbHVkZSAiV2ViSURC
RGF0YWJhc2VDYWxsYmFja3MuaCIKIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CituYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLW5hbWVzcGFjZSBXZWJLaXQgewotCi1QYXNzUmVmUHRyPElEQkRhdGFi
YXNlQ2FsbGJhY2tzUHJveHk+IElEQkRhdGFiYXNlQ2FsbGJhY2tzUHJveHk6OmNyZWF0ZShQYXNz
T3duUHRyPFdlYklEQkRhdGFiYXNlQ2FsbGJhY2tzPiBjYWxsYmFja3MpCitQYXNzUmVmUHRyPElE
QkRhdGFiYXNlQ2FsbGJhY2tzUHJveHk+IElEQkRhdGFiYXNlQ2FsbGJhY2tzUHJveHk6OmNyZWF0
ZShQYXNzT3duUHRyPFdlYktpdDo6V2ViSURCRGF0YWJhc2VDYWxsYmFja3M+IGNhbGxiYWNrcykK
IHsKICAgICByZXR1cm4gYWRvcHRSZWYobmV3IElEQkRhdGFiYXNlQ2FsbGJhY2tzUHJveHkoY2Fs
bGJhY2tzKSk7CiB9CiAKLUlEQkRhdGFiYXNlQ2FsbGJhY2tzUHJveHk6OklEQkRhdGFiYXNlQ2Fs
bGJhY2tzUHJveHkoUGFzc093blB0cjxXZWJJREJEYXRhYmFzZUNhbGxiYWNrcz4gY2FsbGJhY2tz
KQorSURCRGF0YWJhc2VDYWxsYmFja3NQcm94eTo6SURCRGF0YWJhc2VDYWxsYmFja3NQcm94eShQ
YXNzT3duUHRyPFdlYktpdDo6V2ViSURCRGF0YWJhc2VDYWxsYmFja3M+IGNhbGxiYWNrcykKICAg
ICA6IG1fY2FsbGJhY2tzKGNhbGxiYWNrcykKIHsKIH0KQEAgLTUzLDYgKzUxLDYgQEAgdm9pZCBJ
REJEYXRhYmFzZUNhbGxiYWNrc1Byb3h5OjpvblZlcnNpb25DaGFuZ2UoY29uc3QgU3RyaW5nJiBy
ZXF1ZXN0ZWRWZXJzaW9uKQogICAgIG1fY2FsbGJhY2tzLT5vblZlcnNpb25DaGFuZ2UocmVxdWVz
dGVkVmVyc2lvbik7CiB9CiAKLX0gLy8gbmFtZXNwYWNlIFdlYktpdAorfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJEYXRhYmFzZUNhbGxiYWNrc1Byb3h5Lmgg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJEYXRhYmFzZUNhbGxiYWNrc1Byb3h5LmgK
aW5kZXggYWZmZGNlNzdkNWQ5NThkYzAwZTBmNmY4MGFjZmZiODAxMjk1OGIzYi4uOWZkN2EwYjNl
NmQyNGIzNTk1OWRkNmMzNTNiZTI1ZjBjZmM3YTdlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvSURCRGF0YWJhc2VDYWxsYmFja3NQcm94eS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0lEQkRhdGFiYXNlQ2FsbGJhY2tzUHJveHkuaApAQCAtMjYsMjkg
KzI2LDMwIEBACiAjaWZuZGVmIElEQkRhdGFiYXNlQ2FsbGJhY2tzUHJveHlfaAogI2RlZmluZSBJ
REJEYXRhYmFzZUNhbGxiYWNrc1Byb3h5X2gKIAorI2luY2x1ZGUgIklEQkRhdGFiYXNlQ2FsbGJh
Y2tzLmgiCisKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKIAotI2luY2x1ZGUgIklEQkRh
dGFiYXNlQ2FsbGJhY2tzLmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAotbmFtZXNw
YWNlIFdlYktpdCB7CituYW1lc3BhY2UgV2ViS2l0IHsgY2xhc3MgV2ViSURCRGF0YWJhc2VDYWxs
YmFja3M7IH0KIAotY2xhc3MgV2ViSURCRGF0YWJhc2VDYWxsYmFja3M7CituYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWNsYXNzIElEQkRhdGFiYXNlQ2FsbGJhY2tzUHJveHkgOiBwdWJsaWMgV2ViQ29y
ZTo6SURCRGF0YWJhc2VDYWxsYmFja3MgeworY2xhc3MgSURCRGF0YWJhc2VDYWxsYmFja3NQcm94
eSA6IHB1YmxpYyBJREJEYXRhYmFzZUNhbGxiYWNrcyB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBh
c3NSZWZQdHI8SURCRGF0YWJhc2VDYWxsYmFja3NQcm94eT4gY3JlYXRlKFBhc3NPd25QdHI8V2Vi
SURCRGF0YWJhc2VDYWxsYmFja3M+KTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxJREJEYXRhYmFz
ZUNhbGxiYWNrc1Byb3h5PiBjcmVhdGUoUGFzc093blB0cjxXZWJLaXQ6OldlYklEQkRhdGFiYXNl
Q2FsbGJhY2tzPik7CiAgICAgdmlydHVhbCB+SURCRGF0YWJhc2VDYWxsYmFja3NQcm94eSgpOwog
CiAgICAgdmlydHVhbCB2b2lkIG9uVmVyc2lvbkNoYW5nZShjb25zdCBTdHJpbmcmIHJlcXVlc3Rl
ZFZlcnNpb24pOwogCiBwcml2YXRlOgotICAgIElEQkRhdGFiYXNlQ2FsbGJhY2tzUHJveHkoUGFz
c093blB0cjxXZWJJREJEYXRhYmFzZUNhbGxiYWNrcz4pOworICAgIElEQkRhdGFiYXNlQ2FsbGJh
Y2tzUHJveHkoUGFzc093blB0cjxXZWJLaXQ6OldlYklEQkRhdGFiYXNlQ2FsbGJhY2tzPik7CiAK
LSAgICBPd25QdHI8V2ViSURCRGF0YWJhc2VDYWxsYmFja3M+IG1fY2FsbGJhY2tzOworICAgIE93
blB0cjxXZWJLaXQ6OldlYklEQkRhdGFiYXNlQ2FsbGJhY2tzPiBtX2NhbGxiYWNrczsKIH07CiAK
LX0gLy8gbmFtZXNwYWNlIFdlYktpdAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCRmFjdG9yeUJhY2tl
bmRQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJGYWN0b3J5QmFja2Vu
ZFByb3h5LmNwcAppbmRleCAxODI0ZWI4NmZlOTI2MjI0ZTU2MDgzNmExYTA3MzE3ZTgxN2I5Mjkx
Li45ZTVjY2MwMjk3YjRlMGI3MTY3YzRkNjcyNjlmOGVhNjU5NGQ0OTk2IDEwMDc1NQotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJGYWN0b3J5QmFja2VuZFByb3h5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJGYWN0b3J5QmFja2VuZFByb3h5LmNwcApA
QCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOSwx
MSArMjksOSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIklEQkZhY3RvcnlCYWNr
ZW5kUHJveHkuaCIKIAotI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQotCiAjaW5jbHVkZSAi
RE9NU3RyaW5nTGlzdC5oIgotI2luY2x1ZGUgIklEQkRhdGFiYXNlQmFja2VuZFByb3h5LmgiCiAj
aW5jbHVkZSAiSURCRGF0YWJhc2VFcnJvci5oIgorI2luY2x1ZGUgIklEQkRhdGFiYXNlUHJveHku
aCIKICNpbmNsdWRlICJXZWJGcmFtZUltcGwuaCIKICNpbmNsdWRlICJXZWJJREJDYWxsYmFja3NJ
bXBsLmgiCiAjaW5jbHVkZSAiV2ViSURCRGF0YWJhc2UuaCIKQEAgLTQzLDkgKzQxLDkgQEAKICNp
bmNsdWRlICJXZWJLaXRDbGllbnQuaCIKICNpbmNsdWRlICJXZWJWZWN0b3IuaCIKIAotdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CisjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAKLW5hbWVz
cGFjZSBXZWJLaXQgeworbmFtZXNwYWNlIFdlYkNvcmUgewogCiBQYXNzUmVmUHRyPElEQkZhY3Rv
cnlCYWNrZW5kSW50ZXJmYWNlPiBJREJGYWN0b3J5QmFja2VuZFByb3h5OjpjcmVhdGUoKQogewpA
QCAtNTMsNyArNTEsNyBAQCBQYXNzUmVmUHRyPElEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlPiBJ
REJGYWN0b3J5QmFja2VuZFByb3h5OjpjcmVhdGUoKQogfQogCiBJREJGYWN0b3J5QmFja2VuZFBy
b3h5OjpJREJGYWN0b3J5QmFja2VuZFByb3h5KCkKLSAgICA6IG1fd2ViSURCRmFjdG9yeSh3ZWJL
aXRDbGllbnQoKS0+aWRiRmFjdG9yeSgpKQorICAgIDogbV93ZWJJREJGYWN0b3J5KFdlYktpdDo6
d2ViS2l0Q2xpZW50KCktPmlkYkZhY3RvcnkoKSkKIHsKIH0KIApAQCAtNjMsMTAgKzYxLDEwIEBA
IElEQkZhY3RvcnlCYWNrZW5kUHJveHk6On5JREJGYWN0b3J5QmFja2VuZFByb3h5KCkKIAogdm9p
ZCBJREJGYWN0b3J5QmFja2VuZFByb3h5OjpvcGVuKGNvbnN0IFN0cmluZyYgbmFtZSwgUGFzc1Jl
ZlB0cjxJREJDYWxsYmFja3M+IGNhbGxiYWNrcywgUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4g
b3JpZ2luLCBGcmFtZSogZnJhbWUsIGNvbnN0IFN0cmluZyYgZGF0YURpciwgaW50NjRfdCBtYXhp
bXVtU2l6ZSwgQmFja2luZ1N0b3JlVHlwZSBiYWNraW5nU3RvcmVUeXBlKQogewotICAgIFdlYkZy
YW1lKiB3ZWJGcmFtZSA9IFdlYkZyYW1lSW1wbDo6ZnJvbUZyYW1lKGZyYW1lKTsKLSAgICBtX3dl
YklEQkZhY3RvcnktPm9wZW4obmFtZSwgbmV3IFdlYklEQkNhbGxiYWNrc0ltcGwoY2FsbGJhY2tz
KSwgb3JpZ2luLCB3ZWJGcmFtZSwgZGF0YURpciwgbWF4aW11bVNpemUsIHN0YXRpY19jYXN0PFdl
YklEQkZhY3Rvcnk6OkJhY2tpbmdTdG9yZVR5cGU+KGJhY2tpbmdTdG9yZVR5cGUpKTsKKyAgICBX
ZWJLaXQ6OldlYkZyYW1lKiB3ZWJGcmFtZSA9IFdlYktpdDo6V2ViRnJhbWVJbXBsOjpmcm9tRnJh
bWUoZnJhbWUpOworICAgIG1fd2ViSURCRmFjdG9yeS0+b3BlbihuYW1lLCBuZXcgV2ViSURCQ2Fs
bGJhY2tzSW1wbChjYWxsYmFja3MpLCBvcmlnaW4sIHdlYkZyYW1lLCBkYXRhRGlyLCBtYXhpbXVt
U2l6ZSwgc3RhdGljX2Nhc3Q8V2ViS2l0OjpXZWJJREJGYWN0b3J5OjpCYWNraW5nU3RvcmVUeXBl
PihiYWNraW5nU3RvcmVUeXBlKSk7CiB9CiAKLX0gLy8gbmFtZXNwYWNlIFdlYktpdAorfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJGYWN0b3J5QmFja2VuZFBy
b3h5LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJGYWN0b3J5QmFja2VuZFByb3h5
LmgKaW5kZXggODllZDM1NTJkZGFmZGEzYmZkMzJlMTVlM2ZiNzRkNzU5YzFkNjUzMi4uNTkzMDUx
ZTViYzNjNzhlYmJmZjMwNjc0MjRkMWI4MjI3NWY1YTg5YSAxMDA3NTUKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvSURCRmFjdG9yeUJhY2tlbmRQcm94eS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0lEQkZhY3RvcnlCYWNrZW5kUHJveHkuaApAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOSwzMiArMjksMzIgQEAK
ICNpZm5kZWYgSURCRmFjdG9yeUJhY2tlbmRQcm94eV9oCiAjZGVmaW5lIElEQkZhY3RvcnlCYWNr
ZW5kUHJveHlfaAogCi0jaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCi0KICNpbmNsdWRlICJJ
REJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5oIgogCi1uYW1lc3BhY2UgV2ViQ29yZSB7IGNsYXNz
IERPTVN0cmluZ0xpc3Q7IH0KKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKworbmFtZXNw
YWNlIFdlYktpdCB7IGNsYXNzIFdlYklEQkZhY3Rvcnk7IH0KIAotbmFtZXNwYWNlIFdlYktpdCB7
CituYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFdlYklEQkZhY3Rvcnk7CitjbGFzcyBET01T
dHJpbmdMaXN0OwogCi1jbGFzcyBJREJGYWN0b3J5QmFja2VuZFByb3h5IDogcHVibGljIFdlYkNv
cmU6OklEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlIHsKK2NsYXNzIElEQkZhY3RvcnlCYWNrZW5k
UHJveHkgOiBwdWJsaWMgSURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2UgewogcHVibGljOgotICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFdlYkNvcmU6OklEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlPiBj
cmVhdGUoKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxJREJGYWN0b3J5QmFja2VuZEludGVyZmFj
ZT4gY3JlYXRlKCk7CiAgICAgdmlydHVhbCB+SURCRmFjdG9yeUJhY2tlbmRQcm94eSgpOwogCi0g
ICAgUGFzc1JlZlB0cjxXZWJDb3JlOjpET01TdHJpbmdMaXN0PiBkYXRhYmFzZXModm9pZCkgY29u
c3Q7Ci0gICAgdmlydHVhbCB2b2lkIG9wZW4oY29uc3QgU3RyaW5nJiBuYW1lLCBQYXNzUmVmUHRy
PFdlYkNvcmU6OklEQkNhbGxiYWNrcz4sIFBhc3NSZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmln
aW4+LCBXZWJDb3JlOjpGcmFtZSosIGNvbnN0IFN0cmluZyYgZGF0YURpciwgaW50NjRfdCBtYXhp
bXVtU2l6ZSwgQmFja2luZ1N0b3JlVHlwZSk7CisgICAgUGFzc1JlZlB0cjxET01TdHJpbmdMaXN0
PiBkYXRhYmFzZXModm9pZCkgY29uc3Q7CisgICAgdmlydHVhbCB2b2lkIG9wZW4oY29uc3QgU3Ry
aW5nJiBuYW1lLCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4sIFBhc3NSZWZQdHI8U2VjdXJpdHlP
cmlnaW4+LCBGcmFtZSosIGNvbnN0IFN0cmluZyYgZGF0YURpciwgaW50NjRfdCBtYXhpbXVtU2l6
ZSwgQmFja2luZ1N0b3JlVHlwZSk7CiAKIHByaXZhdGU6CiAgICAgSURCRmFjdG9yeUJhY2tlbmRQ
cm94eSgpOwogCiAgICAgLy8gV2UgZG9uJ3Qgb3duIHRoaXMgcG9pbnRlciAodW5saWtlIGFsbCB0
aGUgb3RoZXIgcHJveHkgY2xhc3NlcyB3aGljaCBkbykuCi0gICAgV2ViSURCRmFjdG9yeSogbV93
ZWJJREJGYWN0b3J5OworICAgIFdlYktpdDo6V2ViSURCRmFjdG9yeSogbV93ZWJJREJGYWN0b3J5
OwogfTsKIAotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
ICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJJbmRl
eEJhY2tlbmRQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJJbmRleEJh
Y2tlbmRQcm94eS5jcHAKaW5kZXggNTU2YzliNmM0YjlhZTJmNGZiMTVjNjE3YTU3ZGFmZGZlMjVk
YzVhYi4uNDEwNzUwZTA4NjdkMzZlMDQxNWFlNjcxNGNiZDA4YzQ5YjhkYzFiMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCSW5kZXhCYWNrZW5kUHJveHkuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkluZGV4QmFja2VuZFByb3h5LmNwcApA
QCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zNywx
NiArMzcsMTQgQEAKICNpbmNsdWRlICJXZWJJREJLZXkuaCIKICNpbmNsdWRlICJXZWJJREJLZXlS
YW5nZS5oIgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKK25hbWVzcGFjZSBXZWJDb3JlIHsK
IAotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLVBhc3NSZWZQdHI8SURCSW5kZXhCYWNrZW5kSW50ZXJm
YWNlPiBJREJJbmRleEJhY2tlbmRQcm94eTo6Y3JlYXRlKFBhc3NPd25QdHI8V2ViSURCSW5kZXg+
IGluZGV4KQorUGFzc1JlZlB0cjxJREJJbmRleEJhY2tlbmRJbnRlcmZhY2U+IElEQkluZGV4QmFj
a2VuZFByb3h5OjpjcmVhdGUoUGFzc093blB0cjxXZWJLaXQ6OldlYklEQkluZGV4PiBpbmRleCkK
IHsKICAgICByZXR1cm4gYWRvcHRSZWYobmV3IElEQkluZGV4QmFja2VuZFByb3h5KGluZGV4KSk7
CiB9CiAKLUlEQkluZGV4QmFja2VuZFByb3h5OjpJREJJbmRleEJhY2tlbmRQcm94eShQYXNzT3du
UHRyPFdlYklEQkluZGV4PiBpbmRleCkKK0lEQkluZGV4QmFja2VuZFByb3h5OjpJREJJbmRleEJh
Y2tlbmRQcm94eShQYXNzT3duUHRyPFdlYktpdDo6V2ViSURCSW5kZXg+IGluZGV4KQogICAgIDog
bV93ZWJJREJJbmRleChpbmRleCkKIHsKIH0KQEAgLTEwNyw2ICsxMDUsNiBAQCB2b2lkIElEQklu
ZGV4QmFja2VuZFByb3h5OjpnZXRLZXkoUGFzc1JlZlB0cjxJREJLZXk+IGtleSwgUGFzc1JlZlB0
cjxJREJDYWxsYmFjawogICAgIG1fd2ViSURCSW5kZXgtPmdldEtleShrZXksIG5ldyBXZWJJREJD
YWxsYmFja3NJbXBsKGNhbGxiYWNrcyksICp0cmFuc2FjdGlvblByb3h5LT5nZXRXZWJJREJUcmFu
c2FjdGlvbigpLCBlYyk7CiB9CiAKLX0gLy8gbmFtZXNwYWNlIFdlYktpdAorfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJJbmRleEJhY2tlbmRQcm94eS5oIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCSW5kZXhCYWNrZW5kUHJveHkuaAppbmRleCBi
NjM2NDBmYWM0ODE5N2NmYmIzZDNlZGJkMmM2NzE4MjRkMmE3YTZjLi5lOWRlMDVhZTI0ZmQwOTgy
NWU2MGU0OTQ4ZTczYjI0MWI5ZGE1Y2EzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9JREJJbmRleEJhY2tlbmRQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL0lEQkluZGV4QmFja2VuZFByb3h5LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjYsMTkgKzI2LDE5IEBACiAjaWZuZGVmIElEQklu
ZGV4QmFja2VuZFByb3h5X2gKICNkZWZpbmUgSURCSW5kZXhCYWNrZW5kUHJveHlfaAogCi0jaWYg
RU5BQkxFKElOREVYRURfREFUQUJBU0UpCi0KICNpbmNsdWRlICJJREJJbmRleEJhY2tlbmRJbnRl
cmZhY2UuaCIKICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25Q
dHIuaD4KIAotbmFtZXNwYWNlIFdlYktpdCB7CisjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0Up
CisKK25hbWVzcGFjZSBXZWJLaXQgeyBjbGFzcyBXZWJJREJJbmRleDsgfQogCi1jbGFzcyBXZWJJ
REJJbmRleDsKK25hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSURCSW5kZXhCYWNrZW5kUHJv
eHkgOiBwdWJsaWMgV2ViQ29yZTo6SURCSW5kZXhCYWNrZW5kSW50ZXJmYWNlIHsKK2NsYXNzIElE
QkluZGV4QmFja2VuZFByb3h5IDogcHVibGljIElEQkluZGV4QmFja2VuZEludGVyZmFjZSB7CiBw
dWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8SURCSW5kZXhCYWNrZW5kSW50ZXJmYWNlPiBj
cmVhdGUoUGFzc093blB0cjxXZWJJREJJbmRleD4pOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPElE
QkluZGV4QmFja2VuZEludGVyZmFjZT4gY3JlYXRlKFBhc3NPd25QdHI8V2ViS2l0OjpXZWJJREJJ
bmRleD4pOwogICAgIHZpcnR1YWwgfklEQkluZGV4QmFja2VuZFByb3h5KCk7CiAKICAgICB2aXJ0
dWFsIFN0cmluZyBuYW1lKCk7CkBAIC00NiwxOCArNDYsMTggQEAgcHVibGljOgogICAgIHZpcnR1
YWwgU3RyaW5nIGtleVBhdGgoKTsKICAgICB2aXJ0dWFsIGJvb2wgdW5pcXVlKCk7CiAKLSAgICB2
aXJ0dWFsIHZvaWQgb3BlbkN1cnNvcihQYXNzUmVmUHRyPFdlYkNvcmU6OklEQktleVJhbmdlPiwg
dW5zaWduZWQgc2hvcnQgZGlyZWN0aW9uLCBQYXNzUmVmUHRyPFdlYkNvcmU6OklEQkNhbGxiYWNr
cz4sIFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSosIFdlYkNvcmU6OkV4
Y2VwdGlvbkNvZGUmKTsKLSAgICB2aXJ0dWFsIHZvaWQgb3BlbktleUN1cnNvcihQYXNzUmVmUHRy
PFdlYkNvcmU6OklEQktleVJhbmdlPiwgdW5zaWduZWQgc2hvcnQgZGlyZWN0aW9uLCBQYXNzUmVm
UHRyPFdlYkNvcmU6OklEQkNhbGxiYWNrcz4sIFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uQmFja2Vu
ZEludGVyZmFjZSosIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2aXJ0dWFsIHZvaWQg
Z2V0KFBhc3NSZWZQdHI8V2ViQ29yZTo6SURCS2V5PiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpJREJD
YWxsYmFja3M+LCBXZWJDb3JlOjpJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqLCBXZWJD
b3JlOjpFeGNlcHRpb25Db2RlJik7Ci0gICAgdmlydHVhbCB2b2lkIGdldEtleShQYXNzUmVmUHRy
PFdlYkNvcmU6OklEQktleT4sIFBhc3NSZWZQdHI8V2ViQ29yZTo6SURCQ2FsbGJhY2tzPiwgV2Vi
Q29yZTo6SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiwgV2ViQ29yZTo6RXhjZXB0aW9u
Q29kZSYpOworICAgIHZpcnR1YWwgdm9pZCBvcGVuQ3Vyc29yKFBhc3NSZWZQdHI8SURCS2V5UmFu
Z2U+LCB1bnNpZ25lZCBzaG9ydCBkaXJlY3Rpb24sIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiwg
SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiwgRXhjZXB0aW9uQ29kZSYpOworICAgIHZp
cnR1YWwgdm9pZCBvcGVuS2V5Q3Vyc29yKFBhc3NSZWZQdHI8SURCS2V5UmFuZ2U+LCB1bnNpZ25l
ZCBzaG9ydCBkaXJlY3Rpb24sIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiwgSURCVHJhbnNhY3Rp
b25CYWNrZW5kSW50ZXJmYWNlKiwgRXhjZXB0aW9uQ29kZSYpOworICAgIHZpcnR1YWwgdm9pZCBn
ZXQoUGFzc1JlZlB0cjxJREJLZXk+LCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4sIElEQlRyYW5z
YWN0aW9uQmFja2VuZEludGVyZmFjZSosIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2aXJ0dWFsIHZv
aWQgZ2V0S2V5KFBhc3NSZWZQdHI8SURCS2V5PiwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+LCBJ
REJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqLCBFeGNlcHRpb25Db2RlJik7CiAKIHByaXZh
dGU6Ci0gICAgSURCSW5kZXhCYWNrZW5kUHJveHkoUGFzc093blB0cjxXZWJJREJJbmRleD4pOwor
ICAgIElEQkluZGV4QmFja2VuZFByb3h5KFBhc3NPd25QdHI8V2ViS2l0OjpXZWJJREJJbmRleD4p
OwogCi0gICAgT3duUHRyPFdlYklEQkluZGV4PiBtX3dlYklEQkluZGV4OworICAgIE93blB0cjxX
ZWJLaXQ6OldlYklEQkluZGV4PiBtX3dlYklEQkluZGV4OwogfTsKIAotfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJPYmplY3RTdG9yZUJhY2tlbmRQcm94eS5oIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCT2JqZWN0U3RvcmVCYWNrZW5kUHJveHkuaApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggY2IwZWUzMjg4YjkwMTFkZTNkOTQyYzcwOGJh
OTQyMmRmZGUxYjQyNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJPYmplY3RTdG9yZUJhY2tlbmRQcm94
eS5oCisrKyAvZGV2L251bGwKQEAgLTEsNzAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotICogKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECi0gKiBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0gKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgSURCT2Jq
ZWN0U3RvcmVCYWNrZW5kUHJveHlfaAotI2RlZmluZSBJREJPYmplY3RTdG9yZUJhY2tlbmRQcm94
eV9oCi0KLSNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKLQotI2luY2x1ZGUgIklEQk9iamVj
dFN0b3JlQmFja2VuZEludGVyZmFjZS5oIgotI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KLSNpbmNs
dWRlIDx3dGYvUGFzc093blB0ci5oPgotI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+Ci0KLW5h
bWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBXZWJJREJPYmplY3RTdG9yZTsKLQotY2xhc3MgSURC
T2JqZWN0U3RvcmVCYWNrZW5kUHJveHkgOiBwdWJsaWMgV2ViQ29yZTo6SURCT2JqZWN0U3RvcmVC
YWNrZW5kSW50ZXJmYWNlIHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJDb3Jl
OjpJREJPYmplY3RTdG9yZUJhY2tlbmRJbnRlcmZhY2U+IGNyZWF0ZShQYXNzT3duUHRyPFdlYklE
Qk9iamVjdFN0b3JlPik7Ci0gICAgdmlydHVhbCB+SURCT2JqZWN0U3RvcmVCYWNrZW5kUHJveHko
KTsKLQotICAgIHZpcnR1YWwgU3RyaW5nIG5hbWUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFN0cmlu
ZyBrZXlQYXRoKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBQYXNzUmVmUHRyPFdlYkNvcmU6OkRPTVN0
cmluZ0xpc3Q+IGluZGV4TmFtZXMoKSBjb25zdDsKLQotICAgIHZpcnR1YWwgdm9pZCBnZXQoUGFz
c1JlZlB0cjxXZWJDb3JlOjpJREJLZXk+LCBQYXNzUmVmUHRyPFdlYkNvcmU6OklEQkNhbGxiYWNr
cz4sIFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSosIFdlYkNvcmU6OkV4
Y2VwdGlvbkNvZGUmKTsKLSAgICB2aXJ0dWFsIHZvaWQgcHV0KFBhc3NSZWZQdHI8V2ViQ29yZTo6
U2VyaWFsaXplZFNjcmlwdFZhbHVlPiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpJREJLZXk+LCBQdXRN
b2RlLCBQYXNzUmVmUHRyPFdlYkNvcmU6OklEQkNhbGxiYWNrcz4sIFdlYkNvcmU6OklEQlRyYW5z
YWN0aW9uQmFja2VuZEludGVyZmFjZSosIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2
aXJ0dWFsIHZvaWQgZGVsZXRlRnVuY3Rpb24oUGFzc1JlZlB0cjxXZWJDb3JlOjpJREJLZXk+LCBQ
YXNzUmVmUHRyPFdlYkNvcmU6OklEQkNhbGxiYWNrcz4sIFdlYkNvcmU6OklEQlRyYW5zYWN0aW9u
QmFja2VuZEludGVyZmFjZSosIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2aXJ0dWFs
IHZvaWQgY2xlYXIoUGFzc1JlZlB0cjxXZWJDb3JlOjpJREJDYWxsYmFja3M+LCBXZWJDb3JlOjpJ
REJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqLCBXZWJDb3JlOjpFeGNlcHRpb25Db2RlJik7
Ci0KLSAgICBQYXNzUmVmUHRyPFdlYkNvcmU6OklEQkluZGV4QmFja2VuZEludGVyZmFjZT4gY3Jl
YXRlSW5kZXgoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGtleVBhdGgsIGJvb2wg
dW5pcXVlLCBXZWJDb3JlOjpJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqLCBXZWJDb3Jl
OjpFeGNlcHRpb25Db2RlJik7Ci0gICAgUGFzc1JlZlB0cjxXZWJDb3JlOjpJREJJbmRleEJhY2tl
bmRJbnRlcmZhY2U+IGluZGV4KGNvbnN0IFN0cmluZyYgbmFtZSwgV2ViQ29yZTo6RXhjZXB0aW9u
Q29kZSYpOwotICAgIHZvaWQgZGVsZXRlSW5kZXgoY29uc3QgU3RyaW5nJiBuYW1lLCBXZWJDb3Jl
OjpJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqLCBXZWJDb3JlOjpFeGNlcHRpb25Db2Rl
Jik7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgb3BlbkN1cnNvcihQYXNzUmVmUHRyPFdlYkNvcmU6OklE
QktleVJhbmdlPiwgdW5zaWduZWQgc2hvcnQgZGlyZWN0aW9uLCBQYXNzUmVmUHRyPFdlYkNvcmU6
OklEQkNhbGxiYWNrcz4sIFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSos
IFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGUmKTsKLQotcHJpdmF0ZToKLSAgICBJREJPYmplY3RTdG9y
ZUJhY2tlbmRQcm94eShQYXNzT3duUHRyPFdlYklEQk9iamVjdFN0b3JlPik7Ci0KLSAgICBPd25Q
dHI8V2ViSURCT2JqZWN0U3RvcmU+IG1fd2ViSURCT2JqZWN0U3RvcmU7Ci19OwotCi19IC8vIG5h
bWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmCi0KLSNlbmRpZiAvLyBJREJPYmplY3RTdG9yZUJhY2tl
bmRQcm94eV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJPYmpl
Y3RTdG9yZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJPYmplY3RTdG9y
ZVByb3h5LmgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYTZlMzc0ODMwOTI3YzIzOTRhNDk1NDhhZDViNmRjMGJmOWU3
YzM0NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQk9i
amVjdFN0b3JlUHJveHkuaApAQCAtMCwwICsxLDcwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBJREJPYmpl
Y3RTdG9yZVByb3h5X2gKKyNkZWZpbmUgSURCT2JqZWN0U3RvcmVQcm94eV9oCisKKyNpbmNsdWRl
ICJJREJPYmplY3RTdG9yZUJhY2tlbmRJbnRlcmZhY2UuaCIKKyNpbmNsdWRlIDx3dGYvT3duUHRy
Lmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0
ci5oPgorCisjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisKK25hbWVzcGFjZSBXZWJLaXQg
eyBjbGFzcyBXZWJJREJPYmplY3RTdG9yZTsgfQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Ns
YXNzIElEQk9iamVjdFN0b3JlUHJveHkgOiBwdWJsaWMgSURCT2JqZWN0U3RvcmVCYWNrZW5kSW50
ZXJmYWNlIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZUJh
Y2tlbmRJbnRlcmZhY2U+IGNyZWF0ZShQYXNzT3duUHRyPFdlYktpdDo6V2ViSURCT2JqZWN0U3Rv
cmU+KTsKKyAgICB2aXJ0dWFsIH5JREJPYmplY3RTdG9yZVByb3h5KCk7CisKKyAgICB2aXJ0dWFs
IFN0cmluZyBuYW1lKCkgY29uc3Q7CisgICAgdmlydHVhbCBTdHJpbmcga2V5UGF0aCgpIGNvbnN0
OworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxET01TdHJpbmdMaXN0PiBpbmRleE5hbWVzKCkgY29u
c3Q7CisKKyAgICB2aXJ0dWFsIHZvaWQgZ2V0KFBhc3NSZWZQdHI8SURCS2V5PiwgUGFzc1JlZlB0
cjxJREJDYWxsYmFja3M+LCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqLCBFeGNlcHRp
b25Db2RlJik7CisgICAgdmlydHVhbCB2b2lkIHB1dChQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZT4sIFBhc3NSZWZQdHI8SURCS2V5PiwgUHV0TW9kZSwgUGFzc1JlZlB0cjxJREJDYWxs
YmFja3M+LCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqLCBFeGNlcHRpb25Db2RlJik7
CisgICAgdmlydHVhbCB2b2lkIGRlbGV0ZUZ1bmN0aW9uKFBhc3NSZWZQdHI8SURCS2V5PiwgUGFz
c1JlZlB0cjxJREJDYWxsYmFja3M+LCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqLCBF
eGNlcHRpb25Db2RlJik7CisgICAgdmlydHVhbCB2b2lkIGNsZWFyKFBhc3NSZWZQdHI8SURCQ2Fs
bGJhY2tzPiwgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiwgRXhjZXB0aW9uQ29kZSYp
OworCisgICAgUGFzc1JlZlB0cjxJREJJbmRleEJhY2tlbmRJbnRlcmZhY2U+IGNyZWF0ZUluZGV4
KGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBrZXlQYXRoLCBib29sIHVuaXF1ZSwg
SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiwgRXhjZXB0aW9uQ29kZSYpOworICAgIFBh
c3NSZWZQdHI8SURCSW5kZXhCYWNrZW5kSW50ZXJmYWNlPiBpbmRleChjb25zdCBTdHJpbmcmIG5h
bWUsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIGRlbGV0ZUluZGV4KGNvbnN0IFN0cmluZyYg
bmFtZSwgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiwgRXhjZXB0aW9uQ29kZSYpOwor
CisgICAgdmlydHVhbCB2b2lkIG9wZW5DdXJzb3IoUGFzc1JlZlB0cjxJREJLZXlSYW5nZT4sIHVu
c2lnbmVkIHNob3J0IGRpcmVjdGlvbiwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+LCBJREJUcmFu
c2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqLCBFeGNlcHRpb25Db2RlJik7CisKK3ByaXZhdGU6Cisg
ICAgSURCT2JqZWN0U3RvcmVQcm94eShQYXNzT3duUHRyPFdlYktpdDo6V2ViSURCT2JqZWN0U3Rv
cmU+KTsKKworICAgIE93blB0cjxXZWJLaXQ6OldlYklEQk9iamVjdFN0b3JlPiBtX3dlYklEQk9i
amVjdFN0b3JlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKKworI2Vu
ZGlmIC8vIElEQk9iamVjdFN0b3JlUHJveHlfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvSURCVHJhbnNhY3Rpb25CYWNrZW5kUHJveHkuY3BwIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvSURCVHJhbnNhY3Rpb25CYWNrZW5kUHJveHkuY3BwCmluZGV4IDZkOTFm
NDg3ZTI5NjgxYTgyOTU4ZDVhYTlkODVhNzZiNjM2MzlmMjguLjk1YzkwZDU5ODY4ZDc3MWU0MWU0
MjJkYjJjMzE5Yzg2NWMxMjc0ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL0lEQlRyYW5zYWN0aW9uQmFja2VuZFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9JREJUcmFuc2FjdGlvbkJhY2tlbmRQcm94eS5jcHAKQEAgLTEsNSArMSw1IEBA
CiAvKgotICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjgsMjMgKzI4LDIxIEBACiAK
ICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKIAotI2luY2x1ZGUgIklEQk9iamVjdFN0b3Jl
QmFja2VuZFByb3h5LmgiCisjaW5jbHVkZSAiSURCT2JqZWN0U3RvcmVQcm94eS5oIgogI2luY2x1
ZGUgIklEQlRyYW5zYWN0aW9uQ2FsbGJhY2tzLmgiCiAjaW5jbHVkZSAiV2ViSURCRGF0YWJhc2VF
cnJvci5oIgogI2luY2x1ZGUgIldlYklEQk9iamVjdFN0b3JlLmgiCiAjaW5jbHVkZSAiV2ViSURC
VHJhbnNhY3Rpb24uaCIKICNpbmNsdWRlICJXZWJJREJUcmFuc2FjdGlvbkNhbGxiYWNrc0ltcGwu
aCIKIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CituYW1lc3BhY2UgV2ViQ29yZSB7CiAKLW5h
bWVzcGFjZSBXZWJLaXQgewotCi1QYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVy
ZmFjZT4gSURCVHJhbnNhY3Rpb25CYWNrZW5kUHJveHk6OmNyZWF0ZShQYXNzT3duUHRyPFdlYklE
QlRyYW5zYWN0aW9uPiB0cmFuc2FjdGlvbikKK1Bhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNr
ZW5kSW50ZXJmYWNlPiBJREJUcmFuc2FjdGlvbkJhY2tlbmRQcm94eTo6Y3JlYXRlKFBhc3NPd25Q
dHI8V2ViS2l0OjpXZWJJREJUcmFuc2FjdGlvbj4gdHJhbnNhY3Rpb24pCiB7CiAgICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBJREJUcmFuc2FjdGlvbkJhY2tlbmRQcm94eSh0cmFuc2FjdGlvbikpOwog
fQogCi1JREJUcmFuc2FjdGlvbkJhY2tlbmRQcm94eTo6SURCVHJhbnNhY3Rpb25CYWNrZW5kUHJv
eHkoUGFzc093blB0cjxXZWJJREJUcmFuc2FjdGlvbj4gdHJhbnNhY3Rpb24pCitJREJUcmFuc2Fj
dGlvbkJhY2tlbmRQcm94eTo6SURCVHJhbnNhY3Rpb25CYWNrZW5kUHJveHkoUGFzc093blB0cjxX
ZWJLaXQ6OldlYklEQlRyYW5zYWN0aW9uPiB0cmFuc2FjdGlvbikKICAgICA6IG1fd2ViSURCVHJh
bnNhY3Rpb24odHJhbnNhY3Rpb24pCiB7CiAgICAgQVNTRVJUKG1fd2ViSURCVHJhbnNhY3Rpb24p
OwpAQCAtNTYsMTAgKzU0LDEwIEBAIElEQlRyYW5zYWN0aW9uQmFja2VuZFByb3h5Ojp+SURCVHJh
bnNhY3Rpb25CYWNrZW5kUHJveHkoKQogCiBQYXNzUmVmUHRyPElEQk9iamVjdFN0b3JlQmFja2Vu
ZEludGVyZmFjZT4gSURCVHJhbnNhY3Rpb25CYWNrZW5kUHJveHk6Om9iamVjdFN0b3JlKGNvbnN0
IFN0cmluZyYgbmFtZSwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7Ci0gICAgV2ViSURCT2JqZWN0U3Rv
cmUqIG9iamVjdFN0b3JlID0gbV93ZWJJREJUcmFuc2FjdGlvbi0+b2JqZWN0U3RvcmUobmFtZSwg
ZWMpOworICAgIFdlYktpdDo6V2ViSURCT2JqZWN0U3RvcmUqIG9iamVjdFN0b3JlID0gbV93ZWJJ
REJUcmFuc2FjdGlvbi0+b2JqZWN0U3RvcmUobmFtZSwgZWMpOwogICAgIGlmICghb2JqZWN0U3Rv
cmUpCiAgICAgICAgIHJldHVybiAwOwotICAgIHJldHVybiBJREJPYmplY3RTdG9yZUJhY2tlbmRQ
cm94eTo6Y3JlYXRlKG9iamVjdFN0b3JlKTsKKyAgICByZXR1cm4gSURCT2JqZWN0U3RvcmVQcm94
eTo6Y3JlYXRlKG9iamVjdFN0b3JlKTsKIH0KIAogdW5zaWduZWQgc2hvcnQgSURCVHJhbnNhY3Rp
b25CYWNrZW5kUHJveHk6Om1vZGUoKSBjb25zdApAQCAtOTAsNiArODgsNiBAQCB2b2lkIElEQlRy
YW5zYWN0aW9uQmFja2VuZFByb3h5OjpzZXRDYWxsYmFja3MoSURCVHJhbnNhY3Rpb25DYWxsYmFj
a3MqIGNhbGxiYWNrcwogICAgIG1fd2ViSURCVHJhbnNhY3Rpb24tPnNldENhbGxiYWNrcyhuZXcg
V2ViSURCVHJhbnNhY3Rpb25DYWxsYmFja3NJbXBsKGNhbGxiYWNrcykpOwogfQogCi19IC8vIG5h
bWVzcGFjZSBXZWJLaXQKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJM
RShJTkRFWEVEX0RBVEFCQVNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvSURCVHJhbnNhY3Rpb25CYWNrZW5kUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL0lEQlRyYW5zYWN0aW9uQmFja2VuZFByb3h5LmgKaW5kZXggMTAzZjU1MjNjNTQ2NjYzYmU4
MmRhNzEwZWRiMDA2OWY2OTM2NWNkNy4uOTZkNzI5MzI4YzgxZmVlYTdiNjY4MGMyZGM0Nzk0YmM3
OTY2Zjc5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCVHJhbnNh
Y3Rpb25CYWNrZW5kUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJU
cmFuc2FjdGlvbkJhY2tlbmRQcm94eS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKQEAgLTI2LDM3ICsyNiwzOCBAQAogI2lmbmRlZiBJREJUcmFuc2Fj
dGlvbkJhY2tlbmRQcm94eV9oCiAjZGVmaW5lIElEQlRyYW5zYWN0aW9uQmFja2VuZFByb3h5X2gK
IAorI2luY2x1ZGUgIklEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZS5oIgorCiAjaWYgRU5B
QkxFKElOREVYRURfREFUQUJBU0UpCiAKLSNpbmNsdWRlICJJREJUcmFuc2FjdGlvbkJhY2tlbmRJ
bnRlcmZhY2UuaCIKICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NP
d25QdHIuaD4KIAotbmFtZXNwYWNlIFdlYktpdCB7CituYW1lc3BhY2UgV2ViS2l0IHsgY2xhc3Mg
V2ViSURCVHJhbnNhY3Rpb247IH0KIAotY2xhc3MgV2ViSURCVHJhbnNhY3Rpb247CituYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIElEQlRyYW5zYWN0aW9uQmFja2VuZFByb3h5IDogcHVibGlj
IFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSB7CitjbGFzcyBJREJUcmFu
c2FjdGlvbkJhY2tlbmRQcm94eSA6IHB1YmxpYyBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZh
Y2UgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2Vu
ZEludGVyZmFjZT4gY3JlYXRlKFBhc3NPd25QdHI8V2ViSURCVHJhbnNhY3Rpb24+KTsKKyAgICBz
dGF0aWMgUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+IGNyZWF0ZShQ
YXNzT3duUHRyPFdlYktpdDo6V2ViSURCVHJhbnNhY3Rpb24+KTsKICAgICB2aXJ0dWFsIH5JREJU
cmFuc2FjdGlvbkJhY2tlbmRQcm94eSgpOwogCi0gICAgdmlydHVhbCBQYXNzUmVmUHRyPFdlYkNv
cmU6OklEQk9iamVjdFN0b3JlQmFja2VuZEludGVyZmFjZT4gb2JqZWN0U3RvcmUoY29uc3QgU3Ry
aW5nJiBuYW1lLCBXZWJDb3JlOjpFeGNlcHRpb25Db2RlJik7CisgICAgdmlydHVhbCBQYXNzUmVm
UHRyPElEQk9iamVjdFN0b3JlQmFja2VuZEludGVyZmFjZT4gb2JqZWN0U3RvcmUoY29uc3QgU3Ry
aW5nJiBuYW1lLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCBt
b2RlKCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIGFib3J0KCk7Ci0gICAgdmlydHVhbCBib29s
IHNjaGVkdWxlVGFzayhQYXNzT3duUHRyPFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6
OlRhc2s+LCBQYXNzT3duUHRyPFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2s+
KTsKKyAgICB2aXJ0dWFsIGJvb2wgc2NoZWR1bGVUYXNrKFBhc3NPd25QdHI8U2NyaXB0RXhlY3V0
aW9uQ29udGV4dDo6VGFzaz4sIFBhc3NPd25QdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFz
az4pOwogICAgIHZpcnR1YWwgdm9pZCBkaWRDb21wbGV0ZVRhc2tFdmVudHMoKTsKLSAgICB2aXJ0
dWFsIHZvaWQgc2V0Q2FsbGJhY2tzKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uQ2FsbGJhY2tzKik7
CisgICAgdmlydHVhbCB2b2lkIHNldENhbGxiYWNrcyhJREJUcmFuc2FjdGlvbkNhbGxiYWNrcyop
OwogCi0gICAgV2ViSURCVHJhbnNhY3Rpb24qIGdldFdlYklEQlRyYW5zYWN0aW9uKCkgY29uc3Qg
eyByZXR1cm4gbV93ZWJJREJUcmFuc2FjdGlvbi5nZXQoKTsgfQorICAgIFdlYktpdDo6V2ViSURC
VHJhbnNhY3Rpb24qIGdldFdlYklEQlRyYW5zYWN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV93ZWJJ
REJUcmFuc2FjdGlvbi5nZXQoKTsgfQogCiBwcml2YXRlOgotICAgIElEQlRyYW5zYWN0aW9uQmFj
a2VuZFByb3h5KFBhc3NPd25QdHI8V2ViSURCVHJhbnNhY3Rpb24+KTsKKyAgICBJREJUcmFuc2Fj
dGlvbkJhY2tlbmRQcm94eShQYXNzT3duUHRyPFdlYktpdDo6V2ViSURCVHJhbnNhY3Rpb24+KTsK
IAotICAgIE93blB0cjxXZWJJREJUcmFuc2FjdGlvbj4gbV93ZWJJREJUcmFuc2FjdGlvbjsKKyAg
ICBPd25QdHI8V2ViS2l0OjpXZWJJREJUcmFuc2FjdGlvbj4gbV93ZWJJREJUcmFuc2FjdGlvbjsK
IH07CiAKLX0gLy8gbmFtZXNwYWNlIFdlYktpdAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAj
ZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCVHJhbnNh
Y3Rpb25DYWxsYmFja3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJU
cmFuc2FjdGlvbkNhbGxiYWNrc1Byb3h5LmNwcAppbmRleCA4M2Q3ZTNhMWQ2NTViMDQ0YjVlMjI5
ZGQ4YTE2MGI5MGI4MTExMTFlLi5lYmRhMWRkNDM0MWJiMDhlZGQzMWE2Zjc1ZmM4M2U1ODg1MjFk
ZWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJUcmFuc2FjdGlv
bkNhbGxiYWNrc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJU
cmFuc2FjdGlvbkNhbGxiYWNrc1Byb3h5LmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOSwyMCArMjksMTggQEAKICNpbmNsdWRlICJjb25m
aWcuaCIKICNpbmNsdWRlICJJREJUcmFuc2FjdGlvbkNhbGxiYWNrc1Byb3h5LmgiCiAKLSNpZiBF
TkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKLQogI2luY2x1ZGUgIldlYklEQlRyYW5zYWN0aW9uQ2Fs
bGJhY2tzLmgiCiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworI2lmIEVOQUJMRShJTkRFWEVE
X0RBVEFCQVNFKQogCi1uYW1lc3BhY2UgV2ViS2l0IHsKK25hbWVzcGFjZSBXZWJDb3JlIHsKIAot
UGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbkNhbGxiYWNrc1Byb3h5PiBJREJUcmFuc2FjdGlvbkNh
bGxiYWNrc1Byb3h5OjpjcmVhdGUoUGFzc093blB0cjxXZWJJREJUcmFuc2FjdGlvbkNhbGxiYWNr
cz4gY2FsbGJhY2tzKQorUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbkNhbGxiYWNrc1Byb3h5PiBJ
REJUcmFuc2FjdGlvbkNhbGxiYWNrc1Byb3h5OjpjcmVhdGUoUGFzc093blB0cjxXZWJLaXQ6Oldl
YklEQlRyYW5zYWN0aW9uQ2FsbGJhY2tzPiBjYWxsYmFja3MpCiB7CiAgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBJREJUcmFuc2FjdGlvbkNhbGxiYWNrc1Byb3h5KGNhbGxiYWNrcykpOwogfQogCi1J
REJUcmFuc2FjdGlvbkNhbGxiYWNrc1Byb3h5OjpJREJUcmFuc2FjdGlvbkNhbGxiYWNrc1Byb3h5
KFBhc3NPd25QdHI8V2ViSURCVHJhbnNhY3Rpb25DYWxsYmFja3M+IGNhbGxiYWNrcykKK0lEQlRy
YW5zYWN0aW9uQ2FsbGJhY2tzUHJveHk6OklEQlRyYW5zYWN0aW9uQ2FsbGJhY2tzUHJveHkoUGFz
c093blB0cjxXZWJLaXQ6OldlYklEQlRyYW5zYWN0aW9uQ2FsbGJhY2tzPiBjYWxsYmFja3MpCiAg
ICAgOiBtX2NhbGxiYWNrcyhjYWxsYmFja3MpCiB7CiB9CkBAIC02MSw2ICs1OSw2IEBAIHZvaWQg
SURCVHJhbnNhY3Rpb25DYWxsYmFja3NQcm94eTo6b25Db21wbGV0ZSgpCiAgICAgbV9jYWxsYmFj
a3MtPm9uQ29tcGxldGUoKTsKIH0KIAotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQlRyYW5zYWN0aW9uQ2FsbGJhY2tz
UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQlRyYW5zYWN0aW9uQ2FsbGJh
Y2tzUHJveHkuaAppbmRleCAwNDRlZWNmNzFmMTQxYzI5Y2Q3YjI3N2RlNDVjZDViNDllNGFiNzU4
Li43OWMzMmY2OTZjOGNkMDMwMTk5NzE5NWQ1MzBhNzQ2M2U1NGUxMGY3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJUcmFuc2FjdGlvbkNhbGxiYWNrc1Byb3h5LmgK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCVHJhbnNhY3Rpb25DYWxsYmFja3NQ
cm94eS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
QEAgLTI5LDMyICsyOSwzMyBAQAogI2lmbmRlZiBJREJUcmFuc2FjdGlvbkNhbGxiYWNrc1Byb3h5
X2gKICNkZWZpbmUgSURCVHJhbnNhY3Rpb25DYWxsYmFja3NQcm94eV9oCiAKKyNpbmNsdWRlICJJ
REJUcmFuc2FjdGlvbkNhbGxiYWNrcy5oIgorCiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0Up
CiAKLSNpbmNsdWRlICJJREJUcmFuc2FjdGlvbkNhbGxiYWNrcy5oIgogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAotbmFtZXNwYWNlIFdl
YktpdCB7CituYW1lc3BhY2UgV2ViS2l0IHsgY2xhc3MgV2ViSURCVHJhbnNhY3Rpb25DYWxsYmFj
a3M7IH0KIAotY2xhc3MgV2ViSURCVHJhbnNhY3Rpb25DYWxsYmFja3M7CituYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWNsYXNzIElEQlRyYW5zYWN0aW9uQ2FsbGJhY2tzUHJveHkgOiBwdWJsaWMgV2Vi
Q29yZTo6SURCVHJhbnNhY3Rpb25DYWxsYmFja3MgeworY2xhc3MgSURCVHJhbnNhY3Rpb25DYWxs
YmFja3NQcm94eSA6IHB1YmxpYyBJREJUcmFuc2FjdGlvbkNhbGxiYWNrcyB7CiBwdWJsaWM6Ci0g
ICAgc3RhdGljIFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb25DYWxsYmFja3NQcm94eT4gY3JlYXRl
KFBhc3NPd25QdHI8V2ViSURCVHJhbnNhY3Rpb25DYWxsYmFja3M+KTsKKyAgICBzdGF0aWMgUGFz
c1JlZlB0cjxJREJUcmFuc2FjdGlvbkNhbGxiYWNrc1Byb3h5PiBjcmVhdGUoUGFzc093blB0cjxX
ZWJLaXQ6OldlYklEQlRyYW5zYWN0aW9uQ2FsbGJhY2tzPik7CiAgICAgdmlydHVhbCB+SURCVHJh
bnNhY3Rpb25DYWxsYmFja3NQcm94eSgpOwogCiAgICAgdmlydHVhbCB2b2lkIG9uQWJvcnQoKTsK
ICAgICB2aXJ0dWFsIHZvaWQgb25Db21wbGV0ZSgpOwogCiBwcml2YXRlOgotICAgIElEQlRyYW5z
YWN0aW9uQ2FsbGJhY2tzUHJveHkoUGFzc093blB0cjxXZWJJREJUcmFuc2FjdGlvbkNhbGxiYWNr
cz4pOworICAgIElEQlRyYW5zYWN0aW9uQ2FsbGJhY2tzUHJveHkoUGFzc093blB0cjxXZWJLaXQ6
OldlYklEQlRyYW5zYWN0aW9uQ2FsbGJhY2tzPik7CiAKLSAgICBPd25QdHI8V2ViSURCVHJhbnNh
Y3Rpb25DYWxsYmFja3M+IG1fY2FsbGJhY2tzOworICAgIE93blB0cjxXZWJLaXQ6OldlYklEQlRy
YW5zYWN0aW9uQ2FsbGJhY2tzPiBtX2NhbGxiYWNrczsKIH07CiAKIAotfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJDYWxsYmFja3NJbXBsLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQkNhbGxiYWNrc0ltcGwuY3BwCmluZGV4IDI0ZDNm
NmNjOWU2MDA1ZmQ5MzUzMmM5ZjNjOTc2YzE0YzZhMzQ1NzcuLmNlMzA3YTQ1NGM1YThhOTNjNDIy
ZDRmMTA5MDJiOTRkZTU4NTQ5MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYklEQkNhbGxiYWNrc0ltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYklEQkNhbGxiYWNrc0ltcGwuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHly
aWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI2LDEyICsyNiwxMCBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIldlYklEQkNhbGxiYWNrc0ltcGwuaCIKIAotI2lmIEVOQUJMRShJTkRF
WEVEX0RBVEFCQVNFKQotCiAjaW5jbHVkZSAiSURCQ2FsbGJhY2tzLmgiCiAjaW5jbHVkZSAiSURC
Q3Vyc29yQmFja2VuZFByb3h5LmgiCi0jaW5jbHVkZSAiSURCRGF0YWJhc2VCYWNrZW5kUHJveHku
aCIKICNpbmNsdWRlICJJREJEYXRhYmFzZUVycm9yLmgiCisjaW5jbHVkZSAiSURCRGF0YWJhc2VQ
cm94eS5oIgogI2luY2x1ZGUgIklEQktleS5oIgogI2luY2x1ZGUgIklEQlRyYW5zYWN0aW9uQmFj
a2VuZFByb3h5LmgiCiAjaW5jbHVkZSAiV2ViSURCQ2FsbGJhY2tzLmgiCkBAIC00MSw5ICszOSw5
IEBACiAjaW5jbHVkZSAiV2ViSURCVHJhbnNhY3Rpb24uaCIKICNpbmNsdWRlICJXZWJTZXJpYWxp
emVkU2NyaXB0VmFsdWUuaCIKIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisjaWYgRU5BQkxF
KElOREVYRURfREFUQUJBU0UpCiAKLW5hbWVzcGFjZSBXZWJLaXQgeworbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBXZWJJREJDYWxsYmFja3NJbXBsOjpXZWJJREJDYWxsYmFja3NJbXBsKFBhc3NSZWZQ
dHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MpCiAgICAgOiBtX2NhbGxiYWNrcyhjYWxsYmFja3Mp
CkBAIC01NCwzMiArNTIsMzIgQEAgV2ViSURCQ2FsbGJhY2tzSW1wbDo6fldlYklEQkNhbGxiYWNr
c0ltcGwoKQogewogfQogCi12b2lkIFdlYklEQkNhbGxiYWNrc0ltcGw6Om9uRXJyb3IoY29uc3Qg
V2ViSURCRGF0YWJhc2VFcnJvciYgZXJyb3IpCit2b2lkIFdlYklEQkNhbGxiYWNrc0ltcGw6Om9u
RXJyb3IoY29uc3QgV2ViS2l0OjpXZWJJREJEYXRhYmFzZUVycm9yJiBlcnJvcikKIHsKICAgICBt
X2NhbGxiYWNrcy0+b25FcnJvcihlcnJvcik7CiB9CiAKLXZvaWQgV2ViSURCQ2FsbGJhY2tzSW1w
bDo6b25TdWNjZXNzKFdlYklEQkN1cnNvciogY3Vyc29yKQordm9pZCBXZWJJREJDYWxsYmFja3NJ
bXBsOjpvblN1Y2Nlc3MoV2ViS2l0OjpXZWJJREJDdXJzb3IqIGN1cnNvcikKIHsKICAgICBtX2Nh
bGxiYWNrcy0+b25TdWNjZXNzKElEQkN1cnNvckJhY2tlbmRQcm94eTo6Y3JlYXRlKGN1cnNvcikp
OwogfQogCi12b2lkIFdlYklEQkNhbGxiYWNrc0ltcGw6Om9uU3VjY2VzcyhXZWJJREJEYXRhYmFz
ZSogd2ViS2l0SW5zdGFuY2UpCit2b2lkIFdlYklEQkNhbGxiYWNrc0ltcGw6Om9uU3VjY2VzcyhX
ZWJLaXQ6OldlYklEQkRhdGFiYXNlKiB3ZWJLaXRJbnN0YW5jZSkKIHsKLSAgICBtX2NhbGxiYWNr
cy0+b25TdWNjZXNzKElEQkRhdGFiYXNlQmFja2VuZFByb3h5OjpjcmVhdGUod2ViS2l0SW5zdGFu
Y2UpKTsKKyAgICBtX2NhbGxiYWNrcy0+b25TdWNjZXNzKElEQkRhdGFiYXNlUHJveHk6OmNyZWF0
ZSh3ZWJLaXRJbnN0YW5jZSkpOwogfQogCi12b2lkIFdlYklEQkNhbGxiYWNrc0ltcGw6Om9uU3Vj
Y2Vzcyhjb25zdCBXZWJJREJLZXkmIGtleSkKK3ZvaWQgV2ViSURCQ2FsbGJhY2tzSW1wbDo6b25T
dWNjZXNzKGNvbnN0IFdlYktpdDo6V2ViSURCS2V5JiBrZXkpCiB7CiAgICAgbV9jYWxsYmFja3Mt
Pm9uU3VjY2VzcyhrZXkpOwogfQogCi12b2lkIFdlYklEQkNhbGxiYWNrc0ltcGw6Om9uU3VjY2Vz
cyhXZWJJREJUcmFuc2FjdGlvbiogd2ViS2l0SW5zdGFuY2UpCit2b2lkIFdlYklEQkNhbGxiYWNr
c0ltcGw6Om9uU3VjY2VzcyhXZWJLaXQ6OldlYklEQlRyYW5zYWN0aW9uKiB3ZWJLaXRJbnN0YW5j
ZSkKIHsKICAgICBtX2NhbGxiYWNrcy0+b25TdWNjZXNzKElEQlRyYW5zYWN0aW9uQmFja2VuZFBy
b3h5OjpjcmVhdGUod2ViS2l0SW5zdGFuY2UpKTsKIH0KIAotdm9pZCBXZWJJREJDYWxsYmFja3NJ
bXBsOjpvblN1Y2Nlc3MoY29uc3QgV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlJiBzZXJpYWxpemVk
U2NyaXB0VmFsdWUpCit2b2lkIFdlYklEQkNhbGxiYWNrc0ltcGw6Om9uU3VjY2Vzcyhjb25zdCBX
ZWJLaXQ6OldlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSYgc2VyaWFsaXplZFNjcmlwdFZhbHVlKQog
ewogICAgIG1fY2FsbGJhY2tzLT5vblN1Y2Nlc3Moc2VyaWFsaXplZFNjcmlwdFZhbHVlKTsKIH0K
QEAgLTg5LDYgKzg3LDYgQEAgdm9pZCBXZWJJREJDYWxsYmFja3NJbXBsOjpvbkJsb2NrZWQoKQog
ICAgIG1fY2FsbGJhY2tzLT5vbkJsb2NrZWQoKTsKIH0KIAotfSAvLyBuYW1lc3BhY2UgV2ViS2l0
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRB
QkFTRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQkNhbGxi
YWNrc0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQkNhbGxiYWNrc0lt
cGwuaAppbmRleCBjNDg2NjAxMmRiYzkwOTIwYjYzNjc1OGQyOGFlYjFhYWMzMWRiZWVkLi4wNTdh
YTI1MWJlY2EwMjE5ODhiNDM0YmRiY2JhYTBiNmM0MmI3NjI4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJDYWxsYmFja3NJbXBsLmgKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViSURCQ2FsbGJhY2tzSW1wbC5oCkBAIC0xLDUgKzEsNSBAQAog
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI2LDM1ICsyNiwzNSBAQAogI2lm
bmRlZiBXZWJJREJDYWxsYmFja3NJbXBsX2gKICNkZWZpbmUgV2ViSURCQ2FsbGJhY2tzSW1wbF9o
CiAKLSNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKLQogI2luY2x1ZGUgIldlYklEQkNhbGxi
YWNrcy5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0
ci5oPgogCi1uYW1lc3BhY2UgV2ViQ29yZSB7IGNsYXNzIElEQkNhbGxiYWNrczsgfQorI2lmIEVO
QUJMRShJTkRFWEVEX0RBVEFCQVNFKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CiAKLW5hbWVzcGFj
ZSBXZWJLaXQgeworY2xhc3MgSURCQ2FsbGJhY2tzOwogCi1jbGFzcyBXZWJJREJDYWxsYmFja3NJ
bXBsIDogcHVibGljIFdlYklEQkNhbGxiYWNrcyB7CitjbGFzcyBXZWJJREJDYWxsYmFja3NJbXBs
IDogcHVibGljIFdlYktpdDo6V2ViSURCQ2FsbGJhY2tzIHsKIHB1YmxpYzoKLSAgICBXZWJJREJD
YWxsYmFja3NJbXBsKFBhc3NSZWZQdHI8V2ViQ29yZTo6SURCQ2FsbGJhY2tzPik7CisgICAgV2Vi
SURCQ2FsbGJhY2tzSW1wbChQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4pOwogICAgIHZpcnR1YWwg
fldlYklEQkNhbGxiYWNrc0ltcGwoKTsKIAotICAgIHZpcnR1YWwgdm9pZCBvbkVycm9yKGNvbnN0
IFdlYklEQkRhdGFiYXNlRXJyb3ImKTsKLSAgICB2aXJ0dWFsIHZvaWQgb25TdWNjZXNzKFdlYklE
QkN1cnNvciopOwotICAgIHZpcnR1YWwgdm9pZCBvblN1Y2Nlc3MoV2ViSURCRGF0YWJhc2UqKTsK
LSAgICB2aXJ0dWFsIHZvaWQgb25TdWNjZXNzKGNvbnN0IFdlYklEQktleSYpOwotICAgIHZpcnR1
YWwgdm9pZCBvblN1Y2Nlc3MoV2ViSURCVHJhbnNhY3Rpb24qKTsKLSAgICB2aXJ0dWFsIHZvaWQg
b25TdWNjZXNzKGNvbnN0IFdlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSYpOworICAgIHZpcnR1YWwg
dm9pZCBvbkVycm9yKGNvbnN0IFdlYktpdDo6V2ViSURCRGF0YWJhc2VFcnJvciYpOworICAgIHZp
cnR1YWwgdm9pZCBvblN1Y2Nlc3MoV2ViS2l0OjpXZWJJREJDdXJzb3IqKTsKKyAgICB2aXJ0dWFs
IHZvaWQgb25TdWNjZXNzKFdlYktpdDo6V2ViSURCRGF0YWJhc2UqKTsKKyAgICB2aXJ0dWFsIHZv
aWQgb25TdWNjZXNzKGNvbnN0IFdlYktpdDo6V2ViSURCS2V5Jik7CisgICAgdmlydHVhbCB2b2lk
IG9uU3VjY2VzcyhXZWJLaXQ6OldlYklEQlRyYW5zYWN0aW9uKik7CisgICAgdmlydHVhbCB2b2lk
IG9uU3VjY2Vzcyhjb25zdCBXZWJLaXQ6OldlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSYpOwogICAg
IHZpcnR1YWwgdm9pZCBvbkJsb2NrZWQoKTsKIAogcHJpdmF0ZToKLSAgICBSZWZQdHI8V2ViQ29y
ZTo6SURCQ2FsbGJhY2tzPiBtX2NhbGxiYWNrczsKKyAgICBSZWZQdHI8SURCQ2FsbGJhY2tzPiBt
X2NhbGxiYWNrczsKIH07CiAKLX0gLy8gbmFtZXNwYWNlIFdlYktpdAorfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisjZW5kaWYKIAog
I2VuZGlmIC8vIFdlYklEQkNhbGxiYWNrc0ltcGxfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViSURCQ3Vyc29ySW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJJREJDdXJzb3JJbXBsLmNwcAppbmRleCA2YzAwMTJlMDk5YWQ3NjdkOGYyMzc2
NjI3NjdlOTRkNzUyMjliYjRiLi44NmM0ZjU3YjA3MGQwODBlYjBkYjQ2NDk5NzNiMjFhOGM5YjQw
NzcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJDdXJzb3JJ
bXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJDdXJzb3JJbXBs
LmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBA
IC0yNiw4ICsyNiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViSURCQ3Vy
c29ySW1wbC5oIgogCi0jaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCi0KICNpbmNsdWRlICJJ
REJBbnkuaCIKICNpbmNsdWRlICJJREJDYWxsYmFja3NQcm94eS5oIgogI2luY2x1ZGUgIklEQkN1
cnNvckJhY2tlbmRJbnRlcmZhY2UuaCIKQEAgLTgyLDYgKzgwLDQgQEAgdm9pZCBXZWJJREJDdXJz
b3JJbXBsOjpkZWxldGVGdW5jdGlvbihXZWJJREJDYWxsYmFja3MqIGNhbGxiYWNrcywgV2ViRXhj
ZXB0aW9uQ28KICAgICBtX2lkYkN1cnNvckJhY2tlbmQtPmRlbGV0ZUZ1bmN0aW9uKElEQkNhbGxi
YWNrc1Byb3h5OjpjcmVhdGUoY2FsbGJhY2tzKSwgZWMpOwogfQogCi19IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKLQotI2VuZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURC
Q3Vyc29ySW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCQ3Vyc29ySW1w
bC5oCmluZGV4IGMyMzc5MjA3M2NjZDI0YTRmMzA0ODYzZWQ1MzM5MjZhZTBkZGQ2YzAuLmRlMTdh
OTlhNTczYjA2M2RlMWFlNDE3ZjU5MGU2YjlhMjMwNWM4MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQkN1cnNvckltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJJREJDdXJzb3JJbXBsLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICog
Q29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjYsOCArMjYsNiBAQAogI2lmbmRlZiBXZWJJ
REJDdXJzb3JJbXBsX2gKICNkZWZpbmUgV2ViSURCQ3Vyc29ySW1wbF9oCiAKLSNpZiBFTkFCTEUo
SU5ERVhFRF9EQVRBQkFTRSkKLQogI2luY2x1ZGUgIldlYkNvbW1vbi5oIgogI2luY2x1ZGUgIldl
YkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJXZWJJREJDdXJzb3IuaCIKQEAgLTU4LDYgKzU2
LDQgQEAgcHVibGljOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAotI2VuZGlmIC8vIEVOQUJM
RShJTkRFWEVEX0RBVEFCQVNFKQotCiAjZW5kaWYgLy8gV2ViSURCQ3Vyc29ySW1wbF9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJEYXRhYmFzZUNhbGxiYWNr
c0ltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCRGF0YWJhc2VDYWxs
YmFja3NJbXBsLmNwcAppbmRleCAwZmVjODRhZjUzODMzYmI1ZTExODgzYWQxZDA3ZjFmNTcyOTE4
N2JmLi4zY2EwMjc0NWZhMzZiNjFhMWI1YmI0NmY4ZjFjNjMyNWZlYjdiMDcxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJEYXRhYmFzZUNhbGxiYWNrc0ltcGwu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQkRhdGFiYXNlQ2FsbGJh
Y2tzSW1wbC5jcHAKQEAgLTMxLDkgKzMxLDcgQEAKICNpbmNsdWRlICJJREJEYXRhYmFzZUNhbGxi
YWNrcy5oIgogI2luY2x1ZGUgIldlYlN0cmluZy5oIgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKLQotbmFtZXNwYWNlIFdlYktpdCB7CituYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdlYklEQkRh
dGFiYXNlQ2FsbGJhY2tzSW1wbDo6V2ViSURCRGF0YWJhc2VDYWxsYmFja3NJbXBsKFBhc3NSZWZQ
dHI8SURCRGF0YWJhc2VDYWxsYmFja3M+IGNhbGxiYWNrcykKICAgICA6IG1fY2FsbGJhY2tzKGNh
bGxiYWNrcykKQEAgLTQ0LDExICs0MiwxMSBAQCBXZWJJREJEYXRhYmFzZUNhbGxiYWNrc0ltcGw6
On5XZWJJREJEYXRhYmFzZUNhbGxiYWNrc0ltcGwoKQogewogfQogCi12b2lkIFdlYklEQkRhdGFi
YXNlQ2FsbGJhY2tzSW1wbDo6b25WZXJzaW9uQ2hhbmdlKGNvbnN0IFdlYlN0cmluZyYgdmVyc2lv
bikKK3ZvaWQgV2ViSURCRGF0YWJhc2VDYWxsYmFja3NJbXBsOjpvblZlcnNpb25DaGFuZ2UoY29u
c3QgV2ViS2l0OjpXZWJTdHJpbmcmIHZlcnNpb24pCiB7CiAgICAgbV9jYWxsYmFja3MtPm9uVmVy
c2lvbkNoYW5nZSh2ZXJzaW9uKTsKIH0KIAotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQkRhdGFiYXNlQ2FsbGJh
Y2tzSW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCRGF0YWJhc2VDYWxs
YmFja3NJbXBsLmgKaW5kZXggZDQ5MTZhZjY1MzhjODQ3NDQ3NGY5ZTIwZjhiY2VmYzhmYjg5ZjAz
Ny4uYmEzZGM1ZWNiYTJjM2U2MDk1NjNlOTM1YWI2NDQwYTkxZTEzZmMzOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCRGF0YWJhc2VDYWxsYmFja3NJbXBsLmgK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCRGF0YWJhc2VDYWxsYmFja3NJ
bXBsLmgKQEAgLTM0LDIzICszNCwyMyBAQAogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCi1uYW1lc3BhY2UgV2ViQ29yZSB7IGNsYXNzIElEQkRh
dGFiYXNlQ2FsbGJhY2tzOyB9CituYW1lc3BhY2UgV2ViQ29yZSB7CiAKLW5hbWVzcGFjZSBXZWJL
aXQgeworY2xhc3MgSURCRGF0YWJhc2VDYWxsYmFja3M7CiAKLWNsYXNzIFdlYklEQkRhdGFiYXNl
Q2FsbGJhY2tzSW1wbCA6IHB1YmxpYyBXZWJJREJEYXRhYmFzZUNhbGxiYWNrcyB7CitjbGFzcyBX
ZWJJREJEYXRhYmFzZUNhbGxiYWNrc0ltcGwgOiBwdWJsaWMgV2ViS2l0OjpXZWJJREJEYXRhYmFz
ZUNhbGxiYWNrcyB7CiBwdWJsaWM6Ci0gICAgV2ViSURCRGF0YWJhc2VDYWxsYmFja3NJbXBsKFBh
c3NSZWZQdHI8V2ViQ29yZTo6SURCRGF0YWJhc2VDYWxsYmFja3M+KTsKKyAgICBXZWJJREJEYXRh
YmFzZUNhbGxiYWNrc0ltcGwoUGFzc1JlZlB0cjxJREJEYXRhYmFzZUNhbGxiYWNrcz4pOwogICAg
IHZpcnR1YWwgfldlYklEQkRhdGFiYXNlQ2FsbGJhY2tzSW1wbCgpOwogCi0gICAgdmlydHVhbCB2
b2lkIG9uVmVyc2lvbkNoYW5nZShjb25zdCBXZWJTdHJpbmcmIHZlcnNpb24pOworICAgIHZpcnR1
YWwgdm9pZCBvblZlcnNpb25DaGFuZ2UoY29uc3QgV2ViS2l0OjpXZWJTdHJpbmcmIHZlcnNpb24p
OwogCiBwcml2YXRlOgotICAgIFJlZlB0cjxXZWJDb3JlOjpJREJEYXRhYmFzZUNhbGxiYWNrcz4g
bV9jYWxsYmFja3M7CisgICAgUmVmUHRyPElEQkRhdGFiYXNlQ2FsbGJhY2tzPiBtX2NhbGxiYWNr
czsKIH07CiAKLX0gLy8gbmFtZXNwYWNlIFdlYktpdAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
Ci0jZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisjZW5kaWYKIAogI2VuZGlmIC8v
IFdlYklEQkRhdGFiYXNlQ2FsbGJhY2tzSW1wbF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJJREJEYXRhYmFzZUVycm9yLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYklEQkRhdGFiYXNlRXJyb3IuY3BwCmluZGV4IDI1ZTIwMmMyMTk2ZjE4ODJj
NmNhMTBlMDNlYjNmYTdhNTNmMWM3MGUuLjc0MTNhZTZhYzhlODNlZDRlNjYwNmQ4YzQ4ZmY4MWQ0
ZGQ5NWFjZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQkRh
dGFiYXNlRXJyb3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQkRh
dGFiYXNlRXJyb3IuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
MSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEw
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCkBAIC0zMSwxMSArMzEsMTEgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJXZWJJREJEYXRhYmFzZUVycm9yLmgiCiAKLSNpZiBFTkFCTEUoSU5ERVhFRF9EQVRB
QkFTRSkKLQogI2luY2x1ZGUgIklEQkRhdGFiYXNlRXJyb3IuaCIKICNpbmNsdWRlICJXZWJTdHJp
bmcuaCIKIAorI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorCiB1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJJREJEYXRhYmFzZUltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViSURCRGF0YWJhc2VJbXBsLmNwcAppbmRleCA5MmRkNWFkMzdiNWZjYzBmNjg3
ZWVmY2VmNjYwYmY5OWRjMzIzNTU4Li4yYTk3OTIzMzg5YTQxZWQ4Y2QzNmIyYTdlYzg0OTc2Zjcz
ZmQ1N2E5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJEYXRh
YmFzZUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQkRhdGFi
YXNlSW1wbC5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDExIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwpAQCAtMjYsOCArMjYsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldl
YklEQkRhdGFiYXNlSW1wbC5oIgogCi0jaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCi0KICNp
bmNsdWRlICJET01TdHJpbmdMaXN0LmgiCiAjaW5jbHVkZSAiSURCQ2FsbGJhY2tzUHJveHkuaCIK
ICNpbmNsdWRlICJJREJEYXRhYmFzZUJhY2tlbmRJbnRlcmZhY2UuaCIKQEAgLTM4LDYgKzM2LDgg
QEAKICNpbmNsdWRlICJXZWJJREJPYmplY3RTdG9yZUltcGwuaCIKICNpbmNsdWRlICJXZWJJREJU
cmFuc2FjdGlvbkltcGwuaCIKIAorI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorCiB1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC0xMTIsNiArMTEy
LDYgQEAgdm9pZCBXZWJJREJEYXRhYmFzZUltcGw6Om9wZW4oV2ViSURCRGF0YWJhc2VDYWxsYmFj
a3MqIGNhbGxiYWNrcykKICAgICBtX2RhdGFiYXNlQmFja2VuZC0+b3BlbihtX2RhdGFiYXNlQ2Fs
bGJhY2tzKTsKIH0KIAotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQkRhdGFiYXNlSW1wbC5oIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViSURCRGF0YWJhc2VJbXBsLmgKaW5kZXggMDYxZjVjMjA4MDQ3
MzE3ODgxNjlhMzkwNjY1NzA3MzMxYTdhZDgyZC4uMGUxZDAzZWUxMWVmMzQzM2Q0NjI0N2VlM2Zj
NmVhNjA5NDUwOGVlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
SURCRGF0YWJhc2VJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURC
RGF0YWJhc2VJbXBsLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEx
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtMjYsMTkgKzI2LDE5IEBACiAjaWZuZGVmIFdlYklEQkRhdGFiYXNlSW1wbF9o
CiAjZGVmaW5lIFdlYklEQkRhdGFiYXNlSW1wbF9oCiAKLSNpZiBFTkFCTEUoSU5ERVhFRF9EQVRB
QkFTRSkKLQogI2luY2x1ZGUgIldlYkNvbW1vbi5oIgogI2luY2x1ZGUgIldlYkV4Y2VwdGlvbkNv
ZGUuaCIKICNpbmNsdWRlICJXZWJJREJEYXRhYmFzZS5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCi1uYW1lc3BhY2UgV2ViQ29yZSB7IGNs
YXNzIElEQkRhdGFiYXNlQmFja2VuZEludGVyZmFjZTsgfQorbmFtZXNwYWNlIFdlYkNvcmUgewor
Y2xhc3MgSURCRGF0YWJhc2VCYWNrZW5kSW50ZXJmYWNlOworY2xhc3MgSURCRGF0YWJhc2VDYWxs
YmFja3NQcm94eTsKK30KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIElEQkRhdGFiYXNl
Q2FsbGJhY2tzUHJveHk7CiBjbGFzcyBXZWJJREJEYXRhYmFzZUNhbGxiYWNrczsKIGNsYXNzIFdl
YklEQk9iamVjdFN0b3JlOwogY2xhc3MgV2ViSURCVHJhbnNhY3Rpb247CkBAIC02MywxMSArNjMs
OSBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgV1RGOjpSZWZQdHI8V2ViQ29yZTo6SURCRGF0
YWJhc2VCYWNrZW5kSW50ZXJmYWNlPiBtX2RhdGFiYXNlQmFja2VuZDsKLSAgICBXVEY6OlJlZlB0
cjxJREJEYXRhYmFzZUNhbGxiYWNrc1Byb3h5PiBtX2RhdGFiYXNlQ2FsbGJhY2tzOworICAgIFdU
Rjo6UmVmUHRyPFdlYkNvcmU6OklEQkRhdGFiYXNlQ2FsbGJhY2tzUHJveHk+IG1fZGF0YWJhc2VD
YWxsYmFja3M7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIFdlYklE
QkRhdGFiYXNlSW1wbF9oCi0KLSNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQkZhY3RvcnlJbXBsLmNw
cCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQkZhY3RvcnlJbXBsLmNwcAppbmRl
eCA3OTM2OThlNTk4N2MxN2E3OWFjY2IyMTlkOTYwODdmMDc4ZWEzM2NmLi4zZTIxYWY1Njg5Y2Nh
ODA3ZjIyYTYzMGUwOTM0MzRhMmU1Y2U4NDM0IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJJREJGYWN0b3J5SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViSURCRmFjdG9yeUltcGwuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zMSw4ICszMSw2IEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViSURCRmFjdG9yeUltcGwuaCIKIAotI2lmIEVOQUJMRShJ
TkRFWEVEX0RBVEFCQVNFKQotCiAjaW5jbHVkZSAiRE9NU3RyaW5nTGlzdC5oIgogI2luY2x1ZGUg
IklEQkNhbGxiYWNrc1Byb3h5LmgiCiAjaW5jbHVkZSAiSURCRmFjdG9yeUJhY2tlbmRJbXBsLmgi
CkBAIC00MCw2ICszOCw4IEBACiAjaW5jbHVkZSAiV2ViSURCRGF0YWJhc2VFcnJvci5oIgogI2lu
Y2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIAorI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorCiB1
c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC01MCw3ICs1
MCw3IEBAIFdlYklEQkZhY3RvcnkqIFdlYklEQkZhY3Rvcnk6OmNyZWF0ZSgpCiB9CiAKIFdlYklE
QkZhY3RvcnlJbXBsOjpXZWJJREJGYWN0b3J5SW1wbCgpCi0gICAgOiBtX2lkYkZhY3RvcnlCYWNr
ZW5kKElEQkZhY3RvcnlCYWNrZW5kSW1wbDo6Y3JlYXRlKCkpCisgICAgOiBtX2lkYkZhY3RvcnlC
YWNrZW5kKFdlYkNvcmU6OklEQkZhY3RvcnlCYWNrZW5kSW1wbDo6Y3JlYXRlKCkpCiB7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQkZhY3RvcnlJbXBs
LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJGYWN0b3J5SW1wbC5oCmluZGV4
IDYyYmQ5ZWQ5Mjc4Y2JhNDM2ZmUzNDcxYTJhNDBjNzI1M2VmYjA0M2MuLjBmZmQyODk1MDY4ZTI1
YmUxMGVmZWYwNGEwZmFhMGFlN2Y0N2I2YjQgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYklEQkZhY3RvcnlJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViSURCRmFjdG9yeUltcGwuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC0yOSw4ICsyOSw2IEBACiAjaWZuZGVmIFdlYklEQkZhY3Rv
cnlJbXBsX2gKICNkZWZpbmUgV2ViSURCRmFjdG9yeUltcGxfaAogCi0jaWYgRU5BQkxFKElOREVY
RURfREFUQUJBU0UpCi0KICNpbmNsdWRlICJXZWJET01TdHJpbmdMaXN0LmgiCiAjaW5jbHVkZSAi
V2ViSURCRmFjdG9yeS5oIgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTUyLDYgKzUwLDQg
QEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKLSNlbmRpZiAvLyBFTkFCTEUo
SU5ERVhFRF9EQVRBQkFTRSkKLQogI2VuZGlmIC8vIFdlYklEQkZhY3RvcnlJbXBsX2gKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQkluZGV4SW1wbC5jcHAgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJJbmRleEltcGwuY3BwCmluZGV4IGZhMzNk
YTk1M2E4MDYyMzYxNWRkYzExY2ZiMDRmZDY0YzI2ZDNiMTUuLjZlOGUxZjI0NDgzOTAzYWNhOTgy
NTg4NTJiYjJlNTdiOTQ1ZWVhYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYklEQkluZGV4SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViSURCSW5kZXhJbXBsLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCkBAIC0yNiw4ICsyNiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5j
bHVkZSAiV2ViSURCSW5kZXhJbXBsLmgiCiAKLSNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkK
LQogI2luY2x1ZGUgIklEQkNhbGxiYWNrc1Byb3h5LmgiCiAjaW5jbHVkZSAiSURCSW5kZXguaCIK
ICNpbmNsdWRlICJJREJLZXlSYW5nZS5oIgpAQCAtMzUsNiArMzMsOCBAQAogI2luY2x1ZGUgIldl
YklEQktleS5oIgogI2luY2x1ZGUgIldlYklEQktleVJhbmdlLmgiCiAKKyNpZiBFTkFCTEUoSU5E
RVhFRF9EQVRBQkFTRSkKKwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewpAQCAtODgsNiArODgsNiBAQCB2b2lkIFdlYklEQkluZGV4SW1wbDo6Z2V0S2V5KGNv
bnN0IFdlYklEQktleSYga2V5UmFuZ2UsIFdlYklEQkNhbGxiYWNrcyogY2FsbGJhYwogICAgIG1f
YmFja2VuZC0+Z2V0S2V5KGtleVJhbmdlLCBJREJDYWxsYmFja3NQcm94eTo6Y3JlYXRlKGNhbGxi
YWNrcyksIHRyYW5zYWN0aW9uLmdldElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSgpLCBl
Yyk7CiB9CiAKLX0gLy8gbmFtZXNwYWNlIFdlYktpdAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
CiAjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJJbmRleEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYklEQkluZGV4SW1wbC5oCmluZGV4IGIwNDdjMmY4NTk2ZmUxZmYwYWJiMGUz
OTI0ODE3NzhiYzc3MTkwZTguLmY2OGRhN2YwNjAxOGZiNWQ3OWFkZjQ2YzFhY2M5MDA0Zjg4NGNj
YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQkluZGV4SW1w
bC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQkluZGV4SW1wbC5oCkBA
IC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI2LDgg
KzI2LDYgQEAKICNpZm5kZWYgV2ViSURCSW5kZXhJbXBsX2gKICNkZWZpbmUgV2ViSURCSW5kZXhJ
bXBsX2gKIAotI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQotCiAjaW5jbHVkZSAiV2ViQ29t
bW9uLmgiCiAjaW5jbHVkZSAiV2ViSURCSW5kZXguaCIKICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0
ci5oPgpAQCAtNTksNiArNTcsNCBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
IAotI2VuZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQotCiAjZW5kaWYgLy8gV2ViSURC
SW5kZXhJbXBsX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklE
QktleS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJLZXkuY3BwCmluZGV4
IDE3OWNlMTkxMjEzOWQ2NGZmMjA4MWFjZTE0MjBlYTJhNjM2NDM0ZDQuLmEyMDE0NmVhZDQ2OTc4
YTU0MDJhNzg5N2QxMzVkYWE0NGFlY2M3ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYklEQktleS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViSURCS2V5LmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQpAQCAtODAsMTIgKzgwLDEyIEBAIFdlYklEQktleSBXZWJJREJLZXk6OmNyZWF0
ZUZyb21WYWx1ZUFuZEtleVBhdGgoY29uc3QgV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlJiBzCiB7
CiAgICAgaWYgKHNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5pc051bGwoKSkKICAgICAgICAgcmV0dXJu
IFdlYklEQktleTo6Y3JlYXRlSW52YWxpZCgpOwotICAgIHJldHVybiBjcmVhdGVJREJLZXlGcm9t
U2VyaWFsaXplZFZhbHVlQW5kS2V5UGF0aChzZXJpYWxpemVkU2NyaXB0VmFsdWUsIGlkYktleVBh
dGgpOworICAgIHJldHVybiBXZWJDb3JlOjpjcmVhdGVJREJLZXlGcm9tU2VyaWFsaXplZFZhbHVl
QW5kS2V5UGF0aChzZXJpYWxpemVkU2NyaXB0VmFsdWUsIGlkYktleVBhdGgpOwogfQogCiBXZWJT
ZXJpYWxpemVkU2NyaXB0VmFsdWUgV2ViSURCS2V5OjppbmplY3RJREJLZXlJbnRvU2VyaWFsaXpl
ZFZhbHVlKGNvbnN0IFdlYklEQktleSYga2V5LCBjb25zdCBXZWJTZXJpYWxpemVkU2NyaXB0VmFs
dWUmIHZhbHVlLCBjb25zdCBXZWJJREJLZXlQYXRoJiBwYXRoKQogewotICAgIHJldHVybiBpbmpl
Y3RJREJLZXlJbnRvU2VyaWFsaXplZFZhbHVlKGtleSwgdmFsdWUsIHBhdGgpOworICAgIHJldHVy
biBXZWJDb3JlOjppbmplY3RJREJLZXlJbnRvU2VyaWFsaXplZFZhbHVlKGtleSwgdmFsdWUsIHBh
dGgpOwogfQogCiB2b2lkIFdlYklEQktleTo6YXNzaWduKGNvbnN0IFdlYklEQktleSYgdmFsdWUp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJLZXlQYXRoLmNw
cCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQktleVBhdGguY3BwCmluZGV4IDMw
OWMwZDkxYWE4NWI3YzU3ZDZhMmM4OGRjYTExNmQ3MmY0MWFmMWEuLjllYjMzZDY3NTU3ZDI5OGFh
NjA2NGM5MTk2NjM3NjM5MmI1MWE1MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYklEQktleVBhdGguY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYklEQktleVBhdGguY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKQEAgLTY3LDcgKzY3LDcgQEAgdm9pZCBXZWJJREJLZXlQYXRoOjpyZXNldCgp
CiAgICAgbV9wcml2YXRlLnJlc2V0KDApOwogfQogCi1XZWJJREJLZXlQYXRoOjpvcGVyYXRvciBj
b25zdCBXVEY6OlZlY3RvcjxJREJLZXlQYXRoRWxlbWVudCwgMD4mKCkgY29uc3QKK1dlYklEQktl
eVBhdGg6Om9wZXJhdG9yIGNvbnN0IFdURjo6VmVjdG9yPFdlYkNvcmU6OklEQktleVBhdGhFbGVt
ZW50LCAwPiYoKSBjb25zdAogewogICAgIHJldHVybiAqbV9wcml2YXRlLmdldCgpOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCS2V5UmFuZ2UuY3BwIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCS2V5UmFuZ2UuY3BwCmluZGV4IGVhNjQx
ZTk2MDQ5NmVhNDFlMTdjYWRhZDg4MzIzMmEzMThkYTMwMmMuLjUxN2ZmMDA2OTA4ZjY4YTVkNTE4
YjQ0NTZiM2M0MzMyYmNmY2QwMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYklEQktleVJhbmdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJJREJLZXlSYW5nZS5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtMjYsMTMgKzI2LDExIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5j
bHVkZSAiV2ViSURCS2V5UmFuZ2UuaCIKIAotI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQot
CiAjaW5jbHVkZSAiSURCS2V5LmgiCiAjaW5jbHVkZSAiSURCS2V5UmFuZ2UuaCIKICNpbmNsdWRl
ICJXZWJJREJLZXkuaCIKIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Cit1c2luZyBXZWJDb3Jl
OjpJREJLZXlSYW5nZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTk1LDUgKzkzLDMgQEAg
V2ViSURCS2V5UmFuZ2U6Om9wZXJhdG9yIFBhc3NSZWZQdHI8SURCS2V5UmFuZ2U+KCkgY29uc3QK
IH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9E
QVRBQkFTRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQk9i
amVjdFN0b3JlSW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJPYmpl
Y3RTdG9yZUltcGwuY3BwCmluZGV4IDBhNjdmMzY3NWI0ZGI4ZjYzNDNlYTdlNjBkMjhhNjk1NzAz
MWQwNjYuLjU2ZTM1NGQwMmQ0YWZjYWVhNmY2YmQxZDk3NzZmYjQzN2Q1NTE0ZTAgMTAwNzU1Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQk9iamVjdFN0b3JlSW1wbC5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCT2JqZWN0U3RvcmVJbXBsLmNw
cApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0y
Niw4ICsyNiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViSURCT2JqZWN0
U3RvcmVJbXBsLmgiCiAKLSNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKLQogI2luY2x1ZGUg
IkRPTVN0cmluZ0xpc3QuaCIKICNpbmNsdWRlICJJREJDYWxsYmFja3NQcm94eS5oIgogI2luY2x1
ZGUgIklEQkluZGV4QmFja2VuZEludGVyZmFjZS5oIgpAQCAtMzksNiArMzcsOCBAQAogI2luY2x1
ZGUgIldlYklEQlRyYW5zYWN0aW9uLmgiCiAjaW5jbHVkZSAiV2ViU2VyaWFsaXplZFNjcmlwdFZh
bHVlLmgiCiAKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKwogdXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtMTEzLDYgKzExMyw2IEBAIHZvaWQg
V2ViSURCT2JqZWN0U3RvcmVJbXBsOjpvcGVuQ3Vyc29yKGNvbnN0IFdlYklEQktleVJhbmdlJiBr
ZXlSYW5nZSwgdW5zaWduZWQKICAgICBtX29iamVjdFN0b3JlLT5vcGVuQ3Vyc29yKGtleVJhbmdl
LCBkaXJlY3Rpb24sIElEQkNhbGxiYWNrc1Byb3h5OjpjcmVhdGUoY2FsbGJhY2tzKSwgdHJhbnNh
Y3Rpb24uZ2V0SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKCksIGVjKTsKIH0KIAotfSAv
LyBuYW1lc3BhY2UgV2ViS2l0Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBF
TkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYklEQk9iamVjdFN0b3JlSW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViSURCT2JqZWN0U3RvcmVJbXBsLmgKaW5kZXggZjEwOTNlZDViYzU0MDRlMmI3MmEzMmNk
MWU2ZWQ4YWRkNzkxMzc3Yy4uM2UyZGZhYmI1OTUwMjBjNTA3OTdhZmI5ZjBhZTY1YjQyNmY1OWYw
NCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCT2JqZWN0U3Rv
cmVJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCT2JqZWN0U3Rv
cmVJbXBsLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtMjYsOCArMjYsNiBAQAogI2lmbmRlZiBXZWJJREJPYmplY3RTdG9yZUltcGxfaAogI2Rl
ZmluZSBXZWJJREJPYmplY3RTdG9yZUltcGxfaAogCi0jaWYgRU5BQkxFKElOREVYRURfREFUQUJB
U0UpCi0KICNpbmNsdWRlICJXZWJDb21tb24uaCIKICNpbmNsdWRlICJXZWJJREJPYmplY3RTdG9y
ZS5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CkBAIC02Niw2ICs2NCw0IEBAIHB1Ymxp
YzoKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9E
QVRBQkFTRSkKLQogI2VuZGlmIC8vIFdlYklEQk9iamVjdFN0b3JlSW1wbF9oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJUcmFuc2FjdGlvbkNhbGxiYWNrc0lt
cGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCVHJhbnNhY3Rpb25DYWxs
YmFja3NJbXBsLmNwcAppbmRleCAyZjE2NDc3ZDI1MDdlNzU4NjA5MDZjMTE5NjA4Y2I0MmQwY2Ew
YjYxLi44NDgxODJlMTU0MjdiOThkNDFjYzY3Y2Q2MjJmNDdkNTE5NjY3MDEzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJUcmFuc2FjdGlvbkNhbGxiYWNrc0lt
cGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQlRyYW5zYWN0aW9u
Q2FsbGJhY2tzSW1wbC5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtMzAsOSArMzAsNyBAQAogCiAjaW5jbHVkZSAiSURCVHJhbnNhY3Rpb25D
YWxsYmFja3MuaCIKIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KLW5hbWVzcGFjZSBXZWJL
aXQgeworbmFtZXNwYWNlIFdlYkNvcmUgewogCiBXZWJJREJUcmFuc2FjdGlvbkNhbGxiYWNrc0lt
cGw6OldlYklEQlRyYW5zYWN0aW9uQ2FsbGJhY2tzSW1wbChQYXNzUmVmUHRyPElEQlRyYW5zYWN0
aW9uQ2FsbGJhY2tzPiBjYWxsYmFja3MpCiAgICAgOiBtX2NhbGxiYWNrcyhjYWxsYmFja3MpCkBA
IC01Myw2ICs1MSw2IEBAIHZvaWQgV2ViSURCVHJhbnNhY3Rpb25DYWxsYmFja3NJbXBsOjpvbkNv
bXBsZXRlKCkKICAgICBtX2NhbGxiYWNrcy0+b25Db21wbGV0ZSgpOwogfQogCi19IC8vIG5hbWVz
cGFjZSBXZWJLaXQKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShJ
TkRFWEVEX0RBVEFCQVNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViSURCVHJhbnNhY3Rpb25DYWxsYmFja3NJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJJREJUcmFuc2FjdGlvbkNhbGxiYWNrc0ltcGwuaAppbmRleCA4YWNiMDk1NTBhMDli
MDY3NGI1OGI5MGIyMzVjMWNmMzY2MzRlNmZlLi40MTZhYzNjNTg1ZTJlY2EyMjBlMzZkZGVhMjVl
OTc4MGJkM2NmNTdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJ
REJUcmFuc2FjdGlvbkNhbGxiYWNrc0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJJREJUcmFuc2FjdGlvbkNhbGxiYWNrc0ltcGwuaApAQCAtMSw1ICsxLDUgQEAKIC8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zMiwyNCArMzIsMjQgQEAKICNpbmNs
dWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAotbmFtZXNw
YWNlIFdlYkNvcmUgeyBjbGFzcyBJREJUcmFuc2FjdGlvbkNhbGxiYWNrczsgfQorbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1uYW1lc3BhY2UgV2ViS2l0IHsKK2NsYXNzIElEQlRyYW5zYWN0aW9uQ2Fs
bGJhY2tzOwogCi1jbGFzcyBXZWJJREJUcmFuc2FjdGlvbkNhbGxiYWNrc0ltcGwgOiBwdWJsaWMg
V2ViSURCVHJhbnNhY3Rpb25DYWxsYmFja3MgeworY2xhc3MgV2ViSURCVHJhbnNhY3Rpb25DYWxs
YmFja3NJbXBsIDogcHVibGljIFdlYktpdDo6V2ViSURCVHJhbnNhY3Rpb25DYWxsYmFja3Mgewog
cHVibGljOgotICAgIFdlYklEQlRyYW5zYWN0aW9uQ2FsbGJhY2tzSW1wbChQYXNzUmVmUHRyPFdl
YkNvcmU6OklEQlRyYW5zYWN0aW9uQ2FsbGJhY2tzPik7CisgICAgV2ViSURCVHJhbnNhY3Rpb25D
YWxsYmFja3NJbXBsKFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb25DYWxsYmFja3M+KTsKICAgICB2
aXJ0dWFsIH5XZWJJREJUcmFuc2FjdGlvbkNhbGxiYWNrc0ltcGwoKTsKIAogICAgIHZpcnR1YWwg
dm9pZCBvbkFib3J0KCk7CiAgICAgdmlydHVhbCB2b2lkIG9uQ29tcGxldGUoKTsKIAogcHJpdmF0
ZToKLSAgICBSZWZQdHI8V2ViQ29yZTo6SURCVHJhbnNhY3Rpb25DYWxsYmFja3M+IG1fY2FsbGJh
Y2tzOworICAgIFJlZlB0cjxJREJUcmFuc2FjdGlvbkNhbGxiYWNrcz4gbV9jYWxsYmFja3M7CiB9
OwogCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2Vu
ZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorI2VuZGlmCiAKICNlbmRpZiAvLyBXZWJJ
REJUcmFuc2FjdGlvbkNhbGxiYWNrc0ltcGxfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViSURCVHJhbnNhY3Rpb25JbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYklEQlRyYW5zYWN0aW9uSW1wbC5jcHAKaW5kZXggYWRhOWRhMDQ5MGJlNWJj
MWRhMzczOThmOThiNDEyMjMwYTRjNTM1NC4uMWVkNmY0YmYxZjcxZTY5OGNjMjk1YWJlMDExMGIy
ZDQwOWE4ZmE2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURC
VHJhbnNhY3Rpb25JbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJ
REJUcmFuc2FjdGlvbkltcGwuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YklEQlRyYW5zYWN0aW9uSW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURC
VHJhbnNhY3Rpb25JbXBsLmgKaW5kZXggNGYxOTgzZTJlMjliYmIwMjgwNjY2YzgwMDNjYzA4ZmVh
OGM5N2EzYi4uZDI2ZmMzN2RjNTA0NDkxNzA0NjFkMjc3YjQ5OTMxOTUwNGViNTY2MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCVHJhbnNhY3Rpb25JbXBsLmgK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCVHJhbnNhY3Rpb25JbXBsLmgK
QEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>