<?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>234351</bug_id>
          
          <creation_ts>2021-12-15 09:25:16 -0800</creation_ts>
          <short_desc>Avoid unnecessary allocation and UTF-8 conversion when calling DFABytecodeInterpreter::interpret</short_desc>
          <delta_ts>2021-12-15 10:51:18 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1824382</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-12-15 09:25:16 -0800</bug_when>
    <thetext>Avoid unnecessary allocation and UTF-8 conversion when calling DFABytecodeInterpreter::interpret</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824385</commentid>
    <comment_count>1</comment_count>
      <attachid>447242</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-12-15 09:29:13 -0800</bug_when>
    <thetext>Created attachment 447242
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824411</commentid>
    <comment_count>2</comment_count>
      <attachid>447251</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-12-15 10:07:12 -0800</bug_when>
    <thetext>Created attachment 447251
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824429</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-15 10:50:34 -0800</bug_when>
    <thetext>Committed r287086 (245280@main): &lt;https://commits.webkit.org/245280@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 447251.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824431</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-15 10:51:18 -0800</bug_when>
    <thetext>&lt;rdar://problem/86532297&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447242</attachid>
            <date>2021-12-15 09:29:13 -0800</date>
            <delta_ts>2021-12-15 10:21:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234351-20211215092912.patch</filename>
            <type>text/plain</type>
            <size>18381</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmVkMjVkMmM1MTczMTQ4
ZGI0ZWExZThhMjc3YThjZDBiZGNkNzAyOC4uMDVhNjg2YjU1NmIwNDM1Y2QyOWExNzU1ZWJlMTNh
ZGIzMTk4MDZkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIxLTEyLTE1ICBBbGV4
IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQXZvaWQg
dW5uZWNlc3NhcnkgYWxsb2NhdGlvbiBhbmQgVVRGLTggY29udmVyc2lvbiB3aGVuIGNhbGxpbmcg
REZBQnl0ZWNvZGVJbnRlcnByZXRlcjo6aW50ZXJwcmV0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQzNTEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBIHZhbGlkIFVSTCwgdGhlIG9ubHkgaW5wdXQgaW50
byBERkFCeXRlY29kZUludGVycHJldGVyOjppbnRlcnByZXQsIGNvbnRhaW5zIG9ubHkgQVNDSUkg
Y2hhcmFjdGVycy4KKyAgICAgICAgSW4gdGhlIG92ZXJ3aGVsbWluZyBtYWpvcml0eSBvZiBjYXNl
cywgd2UgaGF2ZSBhbiA4LWJpdCBzdHJpbmcuICBUaGVyZSBpcyBubyBuZWVkIHRvIGFsbG9jYXRl
LCBjb3B5LCBhbmQgY29udmVydCBpdC4KKyAgICAgICAgSW4gdGhlIHJhcmUgY2FzZSB0aGF0IHdl
IHNvbWVob3cgZ2V0IGEgVVRGLTE2IGVuY29kZWQgQVNDSUkgc3RyaW5nLCBqdXN0IGRvIHdoYXQg
d2UgZGlkIGJlZm9yZSBhbmQgVVRGLTggZW5jb2RlIGl0LgorCisgICAgICAgIFJlZ3VsYXIgZXhw
cmVzc2lvbnMgYWxsb3cgbWF0Y2hpbmcgdGhlIGVuZCBvZiB0aGUgc3RyaW5nLCB3aGljaCB3ZSBj
dXJyZW50bHkgaW1wbGVtZW50IGJ5IGNoZWNraW5nIGZvciB0aGUKKyAgICAgICAgbnVsbCBjaGFy
YWN0ZXIsIHNvIEkgaGFkIHRvIGtlZXAgdGhlIHBhcnRzIHRoYXQgcmVhZCB0aGUgbnVsbCBjaGFy
YWN0ZXIgYXQgdGhlIGVuZCBvZiBhIHN0cmluZyBieSBjaGVja2luZworICAgICAgICB0byBzZWUg
aWYgd2UgYXJlIGF0IHRoZSBlbmQgb2YgdGhlIHN0cmluZyB3aGVuIHJlYWRpbmcgYSBjaGFyYWN0
ZXIgYW5kIHJldHVybmluZyB0aGUgbnVsbCBjaGFyYWN0ZXIgaWYgd2UgYXJlLgorCisgICAgICAg
IENvdmVyZWQgYnkgbWFueSBBUEkgdGVzdHMuCisKKyAgICAgICAgKiBjb250ZW50ZXh0ZW5zaW9u
cy9Db250ZW50RXh0ZW5zaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRFeHRlbnNp
b25zOjpDb250ZW50RXh0ZW5zaW9uOjpwb3B1bGF0ZVRvcFVSTEFjdGlvbkNhY2hlSWZOZWVkZWQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudEV4dGVuc2lvbnM6OkNvbnRlbnRFeHRl
bnNpb246OnBvcHVsYXRlRnJhbWVVUkxBY3Rpb25DYWNoZUlmTmVlZGVkIGNvbnN0KToKKyAgICAg
ICAgKiBjb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uc0JhY2tlbmQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q29udGVudEV4dGVuc2lvbnM6OkNvbnRlbnRFeHRlbnNpb25zQmFja2Vu
ZDo6YWN0aW9uc0Zyb21Db250ZW50UnVsZUxpc3QgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
Q29udGVudEV4dGVuc2lvbnM6OkNvbnRlbnRFeHRlbnNpb25zQmFja2VuZDo6YWN0aW9uc0ZvclJl
c291cmNlTG9hZCBjb25zdCk6CisgICAgICAgICogY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4
dGVuc2lvbnNCYWNrZW5kLmg6CisgICAgICAgICogY29udGVudGV4dGVuc2lvbnMvREZBQnl0ZWNv
ZGVJbnRlcnByZXRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50RXh0ZW5zaW9uczo6
REZBQnl0ZWNvZGVJbnRlcnByZXRlcjo6aW50ZXJwZXRKdW1wVGFibGUpOgorICAgICAgICAoV2Vi
Q29yZTo6Q29udGVudEV4dGVuc2lvbnM6OkRGQUJ5dGVjb2RlSW50ZXJwcmV0ZXI6OmludGVycHJl
dCk6CisgICAgICAgICogY29udGVudGV4dGVuc2lvbnMvREZBQnl0ZWNvZGVJbnRlcnByZXRlci5o
OgorCiAyMDIxLTEyLTE0ICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CiAKICAg
ICAgICAgUmVuYW1lIFNoYXJlZEJ1ZmZlciBjbGFzc2VzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uLmNwcAppbmRleCBlZjY2Mzli
NDg2NDYyZDgwNjdlMTQ0NWJjNWY0MmU5MzdkMTgyOTdjLi41MzQ5ZWYzOGZlNjkwNjRkZDQ1M2Zk
NjhkN2RjNmE4ZWU3NzNkOWVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0
ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jb250ZW50
ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uLmNwcApAQCAtMTE0LDcgKzExNCw3IEBAIHZvaWQg
Q29udGVudEV4dGVuc2lvbjo6cG9wdWxhdGVUb3BVUkxBY3Rpb25DYWNoZUlmTmVlZGVkKGNvbnN0
IFVSTCYgdG9wVVJMKSBjb25zCiAgICAgICAgIHJldHVybjsKIAogICAgIERGQUJ5dGVjb2RlSW50
ZXJwcmV0ZXIgaW50ZXJwcmV0ZXIobV9jb21waWxlZEV4dGVuc2lvbi0+dG9wVVJMRmlsdGVyc0J5
dGVjb2RlKCkpOwotICAgIGF1dG8gdG9wVVJMQWN0aW9ucyA9IGludGVycHJldGVyLmludGVycHJl
dCh0b3BVUkwuc3RyaW5nKCkudXRmOCgpLCBBbGxSZXNvdXJjZUZsYWdzKTsKKyAgICBhdXRvIHRv
cFVSTEFjdGlvbnMgPSBpbnRlcnByZXRlci5pbnRlcnByZXQodG9wVVJMLnN0cmluZygpLCBBbGxS
ZXNvdXJjZUZsYWdzKTsKIAogICAgIG1fY2FjaGVkVG9wVVJMQWN0aW9ucy5jbGVhcigpOwogICAg
IGZvciAodWludDY0X3QgYWN0aW9uIDogdG9wVVJMQWN0aW9ucykKQEAgLTEzMSw3ICsxMzEsNyBA
QCB2b2lkIENvbnRlbnRFeHRlbnNpb246OnBvcHVsYXRlRnJhbWVVUkxBY3Rpb25DYWNoZUlmTmVl
ZGVkKGNvbnN0IFVSTCYgZnJhbWVVUkwpCiAgICAgICAgIHJldHVybjsKIAogICAgIERGQUJ5dGVj
b2RlSW50ZXJwcmV0ZXIgaW50ZXJwcmV0ZXIobV9jb21waWxlZEV4dGVuc2lvbi0+ZnJhbWVVUkxG
aWx0ZXJzQnl0ZWNvZGUoKSk7Ci0gICAgYXV0byBmcmFtZVVSTEFjdGlvbnMgPSBpbnRlcnByZXRl
ci5pbnRlcnByZXQoZnJhbWVVUkwuc3RyaW5nKCkudXRmOCgpLCBBbGxSZXNvdXJjZUZsYWdzKTsK
KyAgICBhdXRvIGZyYW1lVVJMQWN0aW9ucyA9IGludGVycHJldGVyLmludGVycHJldChmcmFtZVVS
TC5zdHJpbmcoKSwgQWxsUmVzb3VyY2VGbGFncyk7CiAKICAgICBtX2NhY2hlZEZyYW1lVVJMQWN0
aW9ucy5jbGVhcigpOwogICAgIGZvciAodWludDY0X3QgYWN0aW9uIDogZnJhbWVVUkxBY3Rpb25z
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4
dGVuc2lvbnNCYWNrZW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0Nv
bnRlbnRFeHRlbnNpb25zQmFja2VuZC5jcHAKaW5kZXggMWFiN2Q2ZWJmMzE2MGI1YzEzY2E3MTY3
ZmEyM2ZmZThhN2MxZDA1Ny4uNzIyNDg2NThlNDY2OTdlYzQ4MDI0NDU1MzM2M2E2OWUwNjI0MmNm
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4
dGVuc2lvbnNCYWNrZW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9u
cy9Db250ZW50RXh0ZW5zaW9uc0JhY2tlbmQuY3BwCkBAIC05Niw3ICs5Niw3IEBAIHZvaWQgQ29u
dGVudEV4dGVuc2lvbnNCYWNrZW5kOjpyZW1vdmVBbGxDb250ZW50RXh0ZW5zaW9ucygpCiAgICAg
bV9jb250ZW50RXh0ZW5zaW9ucy5jbGVhcigpOwogfQogCi1hdXRvIENvbnRlbnRFeHRlbnNpb25z
QmFja2VuZDo6YWN0aW9uc0Zyb21Db250ZW50UnVsZUxpc3QoY29uc3QgQ29udGVudEV4dGVuc2lv
biYgY29udGVudEV4dGVuc2lvbiwgY29uc3QgQ1N0cmluZyYgdXJsU3RyaW5nLCBjb25zdCBSZXNv
dXJjZUxvYWRJbmZvJiByZXNvdXJjZUxvYWRJbmZvLCBSZXNvdXJjZUZsYWdzIGZsYWdzKSBjb25z
dCAtPiBBY3Rpb25zRnJvbUNvbnRlbnRSdWxlTGlzdAorYXV0byBDb250ZW50RXh0ZW5zaW9uc0Jh
Y2tlbmQ6OmFjdGlvbnNGcm9tQ29udGVudFJ1bGVMaXN0KGNvbnN0IENvbnRlbnRFeHRlbnNpb24m
IGNvbnRlbnRFeHRlbnNpb24sIGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nLCBjb25zdCBSZXNvdXJj
ZUxvYWRJbmZvJiByZXNvdXJjZUxvYWRJbmZvLCBSZXNvdXJjZUZsYWdzIGZsYWdzKSBjb25zdCAt
PiBBY3Rpb25zRnJvbUNvbnRlbnRSdWxlTGlzdAogewogICAgIEFjdGlvbnNGcm9tQ29udGVudFJ1
bGVMaXN0IGFjdGlvbnNTdHJ1Y3Q7CiAgICAgYWN0aW9uc1N0cnVjdC5jb250ZW50UnVsZUxpc3RJ
ZGVudGlmaWVyID0gY29udGVudEV4dGVuc2lvbi5pZGVudGlmaWVyKCk7CkBAIC0xNjIsMTYgKzE2
MiwxMyBAQCBhdXRvIENvbnRlbnRFeHRlbnNpb25zQmFja2VuZDo6YWN0aW9uc0ZvclJlc291cmNl
TG9hZChjb25zdCBSZXNvdXJjZUxvYWRJbmZvJiByZQogCiAgICAgY29uc3QgU3RyaW5nJiB1cmxT
dHJpbmcgPSByZXNvdXJjZUxvYWRJbmZvLnJlc291cmNlVVJMLnN0cmluZygpOwogICAgIEFTU0VS
VF9XSVRIX01FU1NBR0UodXJsU3RyaW5nLmlzQWxsQVNDSUkoKSwgIkEgZGVjb2RlZCBVUkwgc2hv
dWxkIG9ubHkgY29udGFpbiBBU0NJSSBjaGFyYWN0ZXJzLiBUaGUgbWF0Y2hpbmcgYWxnb3JpdGht
IGFzc3VtZXMgdGhlIGlucHV0IGlzIEFTQ0lJLiIpOwotICAgIC8vIEZJWE1FOiBVVEYtOCBjb252
ZXJzaW9uIHNob3VsZCBvbmx5IGJlIG5lY2Vzc2FyeSB3aXRoIFVURi0xNiBTdHJpbmcgYmFzZWQg
VVJMcywgd2hpY2ggYXJlIHJhcmUuCi0gICAgLy8gREZBQnl0ZWNvZGVJbnRlcnByZXRlcjo6aW50
ZXJwcmV0IHNob3VsZCB0YWtlIGEgU3BhbjxjaGFyPiBpbnN0ZWFkIG9mIGEgQ1N0cmluZyBhbmQg
d2UgY2FuIGF2b2lkIHRoaXMgYWxsb2NhdGlvbiBhbG1vc3QgYWxsIG9mIHRoZSB0aW1lLgotICAg
IGNvbnN0IGF1dG8gdXJsQ1N0cmluZyA9IHVybFN0cmluZy51dGY4KCk7CiAKICAgICBWZWN0b3I8
QWN0aW9uc0Zyb21Db250ZW50UnVsZUxpc3Q+IGFjdGlvbnNWZWN0b3I7CiAgICAgYWN0aW9uc1Zl
Y3Rvci5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG1fY29udGVudEV4dGVuc2lvbnMuc2l6ZSgpKTsK
ICAgICBBU1NFUlQoIShyZXNvdXJjZUxvYWRJbmZvLmdldFJlc291cmNlRmxhZ3MoKSAmIEFjdGlv
bkNvbmRpdGlvbk1hc2spKTsKICAgICBjb25zdCBSZXNvdXJjZUZsYWdzIGZsYWdzID0gcmVzb3Vy
Y2VMb2FkSW5mby5nZXRSZXNvdXJjZUZsYWdzKCkgfCBBY3Rpb25Db25kaXRpb25NYXNrOwogICAg
IGZvciAoYXV0byYgY29udGVudEV4dGVuc2lvbiA6IG1fY29udGVudEV4dGVuc2lvbnMudmFsdWVz
KCkpCi0gICAgICAgIGFjdGlvbnNWZWN0b3IudW5jaGVja2VkQXBwZW5kKGFjdGlvbnNGcm9tQ29u
dGVudFJ1bGVMaXN0KGNvbnRlbnRFeHRlbnNpb24uZ2V0KCksIHVybENTdHJpbmcsIHJlc291cmNl
TG9hZEluZm8sIGZsYWdzKSk7CisgICAgICAgIGFjdGlvbnNWZWN0b3IudW5jaGVja2VkQXBwZW5k
KGFjdGlvbnNGcm9tQ29udGVudFJ1bGVMaXN0KGNvbnRlbnRFeHRlbnNpb24uZ2V0KCksIHVybFN0
cmluZywgcmVzb3VyY2VMb2FkSW5mbywgZmxhZ3MpKTsKICNpZiBDT05URU5UX0VYVEVOU0lPTlNf
UEVSRk9STUFOQ0VfUkVQT1JUSU5HCiAgICAgTW9ub3RvbmljVGltZSBhZGRlZFRpbWVFbmQgPSBN
b25vdG9uaWNUaW1lOjpub3coKTsKICAgICBkYXRhTG9nRigiVGltZSBhZGRlZDogJWYgbWljcm9z
ZWNvbmRzICVzIFxuIiwgKGFkZGVkVGltZUVuZCAtIGFkZGVkVGltZVN0YXJ0KS5taWNyb3NlY29u
ZHMoKSwgcmVzb3VyY2VMb2FkSW5mby5yZXNvdXJjZVVSTC5zdHJpbmcoKS51dGY4KCkuZGF0YSgp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbnRlbnRF
eHRlbnNpb25zQmFja2VuZC5oIGIvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29u
dGVudEV4dGVuc2lvbnNCYWNrZW5kLmgKaW5kZXggN2E1ODZjNjM0OGQzNTg0YmY3ZTJiMjgwNGMy
NDY0MzQ3YWNiYzkxYS4uYjg1NjgyMjM3ZTJjZmY4YWZhY2M5NTM3ZmFmZDI1MWI1Yzk0ZDE1NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVu
c2lvbnNCYWNrZW5kLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29u
dGVudEV4dGVuc2lvbnNCYWNrZW5kLmgKQEAgLTgwLDcgKzgwLDcgQEAgcHVibGljOgogICAgIFdF
QkNPUkVfRVhQT1JUIHN0YXRpYyBib29sIHNob3VsZEJlTWFkZVNlY3VyZShjb25zdCBVUkwmKTsK
IAogcHJpdmF0ZToKLSAgICBBY3Rpb25zRnJvbUNvbnRlbnRSdWxlTGlzdCBhY3Rpb25zRnJvbUNv
bnRlbnRSdWxlTGlzdChjb25zdCBDb250ZW50RXh0ZW5zaW9uJiwgY29uc3QgQ1N0cmluZyYgdXJs
U3RyaW5nLCBjb25zdCBSZXNvdXJjZUxvYWRJbmZvJiwgUmVzb3VyY2VGbGFncykgY29uc3Q7Cisg
ICAgQWN0aW9uc0Zyb21Db250ZW50UnVsZUxpc3QgYWN0aW9uc0Zyb21Db250ZW50UnVsZUxpc3Qo
Y29uc3QgQ29udGVudEV4dGVuc2lvbiYsIGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nLCBjb25zdCBS
ZXNvdXJjZUxvYWRJbmZvJiwgUmVzb3VyY2VGbGFncykgY29uc3Q7CiAKICAgICBIYXNoTWFwPFN0
cmluZywgUmVmPENvbnRlbnRFeHRlbnNpb24+PiBtX2NvbnRlbnRFeHRlbnNpb25zOwogfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0RGQUJ5dGVjb2RlSW50
ZXJwcmV0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvREZBQnl0ZWNv
ZGVJbnRlcnByZXRlci5jcHAKaW5kZXggMTA2Mjk3YzFkN2M0NzY1NGU2NmFmNzkxMjA4NGY0MDE5
NDBjMmVjNy4uMzI1YmM5ZDIyYTY3ZjA1MzYzODY1MmUxMDYwM2M2Y2JkZWQyNjE1NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvREZBQnl0ZWNvZGVJbnRlcnBy
ZXRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvREZBQnl0ZWNv
ZGVJbnRlcnByZXRlci5jcHAKQEAgLTIwMywxOSArMjAzLDE4IEBAIHZvaWQgREZBQnl0ZWNvZGVJ
bnRlcnByZXRlcjo6aW50ZXJwcmV0VGVzdEZsYWdzQW5kQXBwZW5kQWN0aW9uKHVpbnQzMl90JiBw
cm9ncmFtCiB9CiAKIHRlbXBsYXRlPGJvb2wgY2FzZVNlbnNpdGl2ZT4KLWlubGluZSB2b2lkIERG
QUJ5dGVjb2RlSW50ZXJwcmV0ZXI6OmludGVycGV0SnVtcFRhYmxlKGNvbnN0IGNoYXIqIHVybCwg
dWludDMyX3QmIHVybEluZGV4LCB1aW50MzJfdCYgcHJvZ3JhbUNvdW50ZXIsIGJvb2wmIHVybElu
ZGV4SXNBZnRlckVuZE9mU3RyaW5nKQoraW5saW5lIHZvaWQgREZBQnl0ZWNvZGVJbnRlcnByZXRl
cjo6aW50ZXJwZXRKdW1wVGFibGUoU3Bhbjxjb25zdCBjaGFyPiB1cmwsIHVpbnQzMl90JiB1cmxJ
bmRleCwgdWludDMyX3QmIHByb2dyYW1Db3VudGVyKQogewogICAgIERGQUJ5dGVjb2RlSnVtcFNp
emUganVtcFNpemUgPSBnZXRKdW1wU2l6ZShtX2J5dGVjb2RlLCBwcm9ncmFtQ291bnRlcik7CiAK
LSAgICBjaGFyIGNoYXJhY3RlciA9IGNhc2VTZW5zaXRpdmUgPyB1cmxbdXJsSW5kZXhdIDogdG9B
U0NJSUxvd2VyKHVybFt1cmxJbmRleF0pOworICAgIGNoYXIgYyA9IHVybEluZGV4IDwgdXJsLnNp
emUoKSA/IHVybFt1cmxJbmRleF0gOiAwOworICAgIGNoYXIgY2hhcmFjdGVyID0gY2FzZVNlbnNp
dGl2ZSA/IGMgOiB0b0FTQ0lJTG93ZXIoYyk7CiAgICAgdWludDhfdCBmaXJzdENoYXJhY3RlciA9
IGdldEJpdHM8dWludDhfdD4obV9ieXRlY29kZSwgcHJvZ3JhbUNvdW50ZXIgKyBzaXplb2YoREZB
Qnl0ZWNvZGVJbnN0cnVjdGlvbikpOwogICAgIHVpbnQ4X3QgbGFzdENoYXJhY3RlciA9IGdldEJp
dHM8dWludDhfdD4obV9ieXRlY29kZSwgcHJvZ3JhbUNvdW50ZXIgKyBzaXplb2YoREZBQnl0ZWNv
ZGVJbnN0cnVjdGlvbikgKyBzaXplb2YodWludDhfdCkpOwogICAgIGlmIChjaGFyYWN0ZXIgPj0g
Zmlyc3RDaGFyYWN0ZXIgJiYgY2hhcmFjdGVyIDw9IGxhc3RDaGFyYWN0ZXIpIHsKICAgICAgICAg
dWludDMyX3Qgc3RhcnRPZmZzZXQgPSBwcm9ncmFtQ291bnRlciArIHNpemVvZihERkFCeXRlY29k
ZUluc3RydWN0aW9uKSArIDIgKiBzaXplb2YodWludDhfdCk7CiAgICAgICAgIHVpbnQzMl90IGp1
bXBMb2NhdGlvbiA9IHN0YXJ0T2Zmc2V0ICsgKGNoYXJhY3RlciAtIGZpcnN0Q2hhcmFjdGVyKSAq
IGp1bXBTaXplSW5CeXRlcyhqdW1wU2l6ZSk7CiAgICAgICAgIHByb2dyYW1Db3VudGVyICs9IGdl
dEp1bXBEaXN0YW5jZShtX2J5dGVjb2RlLCBqdW1wTG9jYXRpb24sIGp1bXBTaXplKTsKLSAgICAg
ICAgaWYgKCFjaGFyYWN0ZXIpCi0gICAgICAgICAgICB1cmxJbmRleElzQWZ0ZXJFbmRPZlN0cmlu
ZyA9IHRydWU7CiAgICAgICAgIHVybEluZGV4Kys7IC8vIFRoaXMgcmVwcmVzZW50cyBhbiBlZGdl
IGluIHRoZSBERkEuCiAgICAgfSBlbHNlCiAgICAgICAgIHByb2dyYW1Db3VudGVyICs9IHNpemVv
ZihERkFCeXRlY29kZUluc3RydWN0aW9uKSArIDIgKiBzaXplb2YodWludDhfdCkgKyBqdW1wU2l6
ZUluQnl0ZXMoanVtcFNpemUpICogKGxhc3RDaGFyYWN0ZXIgLSBmaXJzdENoYXJhY3RlciArIDEp
OwpAQCAtMjQzLDEwICsyNDIsMTcgQEAgYXV0byBERkFCeXRlY29kZUludGVycHJldGVyOjphY3Rp
b25zTWF0Y2hpbmdFdmVyeXRoaW5nKCkgLT4gQWN0aW9ucwogICAgIHJldHVybiBhY3Rpb25zOwog
fQogCi1hdXRvIERGQUJ5dGVjb2RlSW50ZXJwcmV0ZXI6OmludGVycHJldChjb25zdCBDU3RyaW5n
JiB1cmxDU3RyaW5nLCBSZXNvdXJjZUZsYWdzIGZsYWdzKSAtPiBBY3Rpb25zCithdXRvIERGQUJ5
dGVjb2RlSW50ZXJwcmV0ZXI6OmludGVycHJldChjb25zdCBTdHJpbmcmIHVybFN0cmluZywgUmVz
b3VyY2VGbGFncyBmbGFncykgLT4gQWN0aW9ucwogewotICAgIGNvbnN0IGNoYXIqIHVybCA9IHVy
bENTdHJpbmcuZGF0YSgpOwotICAgIEFTU0VSVCh1cmwpOworICAgIENTdHJpbmcgdXJsQ1N0cmlu
ZzsKKyAgICBTcGFuPGNvbnN0IGNoYXI+IHVybDsKKyAgICBpZiAoTElLRUxZKHVybFN0cmluZy5p
czhCaXQoKSkpCisgICAgICAgIHVybCA9IHsgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4o
dXJsU3RyaW5nLmNoYXJhY3RlcnM4KCkpLCB1cmxTdHJpbmcubGVuZ3RoKCkgfTsKKyAgICBlbHNl
IHsKKyAgICAgICAgdXJsQ1N0cmluZyA9IHVybFN0cmluZy51dGY4KCk7CisgICAgICAgIHVybCA9
IHsgdXJsQ1N0cmluZy5kYXRhKCksIHVybENTdHJpbmcubGVuZ3RoKCkgfTsKKyAgICB9CisgICAg
QVNTRVJUKHVybC5kYXRhKCkpOwogICAgIAogICAgIEFjdGlvbnMgYWN0aW9uczsKICAgICAKQEAg
LTI4MSw3ICsyODcsNiBAQCBhdXRvIERGQUJ5dGVjb2RlSW50ZXJwcmV0ZXI6OmludGVycHJldChj
b25zdCBDU3RyaW5nJiB1cmxDU3RyaW5nLCBSZXNvdXJjZUZsYWdzCiAgICAgICAgIC8vIEludGVy
cHJldCB0aGUgYnl0ZWNvZGUgZnJvbSB0aGlzIERGQS4KICAgICAgICAgLy8gVGhpcyBzaG91bGQg
YWx3YXlzIHRlcm1pbmF0ZSBpZiBpbnRlcnByZXRpbmcgY29ycmVjdGx5IGNvbXBpbGVkIGJ5dGVj
b2RlLgogICAgICAgICB1aW50MzJfdCB1cmxJbmRleCA9IDA7Ci0gICAgICAgIGJvb2wgdXJsSW5k
ZXhJc0FmdGVyRW5kT2ZTdHJpbmcgPSBmYWxzZTsKICAgICAgICAgd2hpbGUgKHRydWUpIHsKICAg
ICAgICAgICAgIEFTU0VSVChwcm9ncmFtQ291bnRlciA8PSBtX2J5dGVjb2RlLnNpemUoKSk7CiAg
ICAgICAgICAgICBzd2l0Y2ggKGdldEluc3RydWN0aW9uKG1fYnl0ZWNvZGUsIHByb2dyYW1Db3Vu
dGVyKSkgewpAQCAtMjkwLDE3ICsyOTUsMTUgQEAgYXV0byBERkFCeXRlY29kZUludGVycHJldGVy
OjppbnRlcnByZXQoY29uc3QgQ1N0cmluZyYgdXJsQ1N0cmluZywgUmVzb3VyY2VGbGFncwogICAg
ICAgICAgICAgICAgIGdvdG8gbmV4dERGQTsKICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg
ICAgICBjYXNlIERGQUJ5dGVjb2RlSW5zdHJ1Y3Rpb246OkNoZWNrVmFsdWVDYXNlU2Vuc2l0aXZl
OiB7Ci0gICAgICAgICAgICAgICAgaWYgKHVybEluZGV4SXNBZnRlckVuZE9mU3RyaW5nKQorICAg
ICAgICAgICAgICAgIGlmICh1cmxJbmRleCA+IHVybC5zaXplKCkpCiAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gbmV4dERGQTsKIAogICAgICAgICAgICAgICAgIC8vIENoZWNrIHRvIHNlZSBpZiB0
aGUgbmV4dCBjaGFyYWN0ZXIgaW4gdGhlIHVybCBpcyB0aGUgdmFsdWUgc3RvcmVkIHdpdGggdGhl
IGJ5dGVjb2RlLgotICAgICAgICAgICAgICAgIGNoYXIgY2hhcmFjdGVyID0gdXJsW3VybEluZGV4
XTsKKyAgICAgICAgICAgICAgICBjaGFyIGNoYXJhY3RlciA9IHVybEluZGV4IDwgdXJsLnNpemUo
KSA/IHVybFt1cmxJbmRleF0gOiAwOwogICAgICAgICAgICAgICAgIERGQUJ5dGVjb2RlSnVtcFNp
emUganVtcFNpemUgPSBnZXRKdW1wU2l6ZShtX2J5dGVjb2RlLCBwcm9ncmFtQ291bnRlcik7CiAg
ICAgICAgICAgICAgICAgaWYgKGNoYXJhY3RlciA9PSBnZXRCaXRzPHVpbnQ4X3Q+KG1fYnl0ZWNv
ZGUsIHByb2dyYW1Db3VudGVyICsgc2l6ZW9mKERGQUJ5dGVjb2RlSW5zdHJ1Y3Rpb24pKSkgewog
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBqdW1wTG9jYXRpb24gPSBwcm9ncmFtQ291bnRl
ciArIHNpemVvZihERkFCeXRlY29kZUluc3RydWN0aW9uKSArIHNpemVvZih1aW50OF90KTsKICAg
ICAgICAgICAgICAgICAgICAgcHJvZ3JhbUNvdW50ZXIgKz0gZ2V0SnVtcERpc3RhbmNlKG1fYnl0
ZWNvZGUsIGp1bXBMb2NhdGlvbiwganVtcFNpemUpOwotICAgICAgICAgICAgICAgICAgICBpZiAo
IWNoYXJhY3RlcikKLSAgICAgICAgICAgICAgICAgICAgICAgIHVybEluZGV4SXNBZnRlckVuZE9m
U3RyaW5nID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgdXJsSW5kZXgrKzsgLy8gVGhpcyBy
ZXByZXNlbnRzIGFuIGVkZ2UgaW4gdGhlIERGQS4KICAgICAgICAgICAgICAgICB9IGVsc2UKICAg
ICAgICAgICAgICAgICAgICAgcHJvZ3JhbUNvdW50ZXIgKz0gc2l6ZW9mKERGQUJ5dGVjb2RlSW5z
dHJ1Y3Rpb24pICsgc2l6ZW9mKHVpbnQ4X3QpICsganVtcFNpemVJbkJ5dGVzKGp1bXBTaXplKTsK
QEAgLTMwOCwxNyArMzExLDE1IEBAIGF1dG8gREZBQnl0ZWNvZGVJbnRlcnByZXRlcjo6aW50ZXJw
cmV0KGNvbnN0IENTdHJpbmcmIHVybENTdHJpbmcsIFJlc291cmNlRmxhZ3MKICAgICAgICAgICAg
IH0KIAogICAgICAgICAgICAgY2FzZSBERkFCeXRlY29kZUluc3RydWN0aW9uOjpDaGVja1ZhbHVl
Q2FzZUluc2Vuc2l0aXZlOiB7Ci0gICAgICAgICAgICAgICAgaWYgKHVybEluZGV4SXNBZnRlckVu
ZE9mU3RyaW5nKQorICAgICAgICAgICAgICAgIGlmICh1cmxJbmRleCA+IHVybC5zaXplKCkpCiAg
ICAgICAgICAgICAgICAgICAgIGdvdG8gbmV4dERGQTsKIAogICAgICAgICAgICAgICAgIC8vIENo
ZWNrIHRvIHNlZSBpZiB0aGUgbmV4dCBjaGFyYWN0ZXIgaW4gdGhlIHVybCBpcyB0aGUgdmFsdWUg
c3RvcmVkIHdpdGggdGhlIGJ5dGVjb2RlLgotICAgICAgICAgICAgICAgIGNoYXIgY2hhcmFjdGVy
ID0gdG9BU0NJSUxvd2VyKHVybFt1cmxJbmRleF0pOworICAgICAgICAgICAgICAgIGNoYXIgY2hh
cmFjdGVyID0gdXJsSW5kZXggPCB1cmwuc2l6ZSgpID8gdG9BU0NJSUxvd2VyKHVybFt1cmxJbmRl
eF0pIDogMDsKICAgICAgICAgICAgICAgICBERkFCeXRlY29kZUp1bXBTaXplIGp1bXBTaXplID0g
Z2V0SnVtcFNpemUobV9ieXRlY29kZSwgcHJvZ3JhbUNvdW50ZXIpOwogICAgICAgICAgICAgICAg
IGlmIChjaGFyYWN0ZXIgPT0gZ2V0Qml0czx1aW50OF90PihtX2J5dGVjb2RlLCBwcm9ncmFtQ291
bnRlciArIHNpemVvZihERkFCeXRlY29kZUluc3RydWN0aW9uKSkpIHsKICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3QganVtcExvY2F0aW9uID0gcHJvZ3JhbUNvdW50ZXIgKyBzaXplb2YoREZB
Qnl0ZWNvZGVJbnN0cnVjdGlvbikgKyBzaXplb2YodWludDhfdCk7CiAgICAgICAgICAgICAgICAg
ICAgIHByb2dyYW1Db3VudGVyICs9IGdldEp1bXBEaXN0YW5jZShtX2J5dGVjb2RlLCBqdW1wTG9j
YXRpb24sIGp1bXBTaXplKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCFjaGFyYWN0ZXIpCi0g
ICAgICAgICAgICAgICAgICAgICAgICB1cmxJbmRleElzQWZ0ZXJFbmRPZlN0cmluZyA9IHRydWU7
CiAgICAgICAgICAgICAgICAgICAgIHVybEluZGV4Kys7IC8vIFRoaXMgcmVwcmVzZW50cyBhbiBl
ZGdlIGluIHRoZSBERkEuCiAgICAgICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAg
ICAgIHByb2dyYW1Db3VudGVyICs9IHNpemVvZihERkFCeXRlY29kZUluc3RydWN0aW9uKSArIHNp
emVvZih1aW50OF90KSArIGp1bXBTaXplSW5CeXRlcyhqdW1wU2l6ZSk7CkBAIC0zMjYsMzAgKzMy
NywyOCBAQCBhdXRvIERGQUJ5dGVjb2RlSW50ZXJwcmV0ZXI6OmludGVycHJldChjb25zdCBDU3Ry
aW5nJiB1cmxDU3RyaW5nLCBSZXNvdXJjZUZsYWdzCiAgICAgICAgICAgICB9CiAKICAgICAgICAg
ICAgIGNhc2UgREZBQnl0ZWNvZGVJbnN0cnVjdGlvbjo6SnVtcFRhYmxlQ2FzZUluc2Vuc2l0aXZl
OgotICAgICAgICAgICAgICAgIGlmICh1cmxJbmRleElzQWZ0ZXJFbmRPZlN0cmluZykKKyAgICAg
ICAgICAgICAgICBpZiAodXJsSW5kZXggPiB1cmwuc2l6ZSgpKQogICAgICAgICAgICAgICAgICAg
ICBnb3RvIG5leHRERkE7CiAKLSAgICAgICAgICAgICAgICBpbnRlcnBldEp1bXBUYWJsZTxmYWxz
ZT4odXJsLCB1cmxJbmRleCwgcHJvZ3JhbUNvdW50ZXIsIHVybEluZGV4SXNBZnRlckVuZE9mU3Ry
aW5nKTsKKyAgICAgICAgICAgICAgICBpbnRlcnBldEp1bXBUYWJsZTxmYWxzZT4odXJsLCB1cmxJ
bmRleCwgcHJvZ3JhbUNvdW50ZXIpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAg
ICAgY2FzZSBERkFCeXRlY29kZUluc3RydWN0aW9uOjpKdW1wVGFibGVDYXNlU2Vuc2l0aXZlOgot
ICAgICAgICAgICAgICAgIGlmICh1cmxJbmRleElzQWZ0ZXJFbmRPZlN0cmluZykKKyAgICAgICAg
ICAgICAgICBpZiAodXJsSW5kZXggPiB1cmwuc2l6ZSgpKQogICAgICAgICAgICAgICAgICAgICBn
b3RvIG5leHRERkE7CiAKLSAgICAgICAgICAgICAgICBpbnRlcnBldEp1bXBUYWJsZTx0cnVlPih1
cmwsIHVybEluZGV4LCBwcm9ncmFtQ291bnRlciwgdXJsSW5kZXhJc0FmdGVyRW5kT2ZTdHJpbmcp
OworICAgICAgICAgICAgICAgIGludGVycGV0SnVtcFRhYmxlPHRydWU+KHVybCwgdXJsSW5kZXgs
IHByb2dyYW1Db3VudGVyKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAg
ICAgICAgCiAgICAgICAgICAgICBjYXNlIERGQUJ5dGVjb2RlSW5zdHJ1Y3Rpb246OkNoZWNrVmFs
dWVSYW5nZUNhc2VTZW5zaXRpdmU6IHsKLSAgICAgICAgICAgICAgICBpZiAodXJsSW5kZXhJc0Fm
dGVyRW5kT2ZTdHJpbmcpCisgICAgICAgICAgICAgICAgaWYgKHVybEluZGV4ID4gdXJsLnNpemUo
KSkKICAgICAgICAgICAgICAgICAgICAgZ290byBuZXh0REZBOwogICAgICAgICAgICAgICAgIAot
ICAgICAgICAgICAgICAgIGNoYXIgY2hhcmFjdGVyID0gdXJsW3VybEluZGV4XTsKKyAgICAgICAg
ICAgICAgICBjaGFyIGNoYXJhY3RlciA9IHVybEluZGV4IDwgdXJsLnNpemUoKSA/IHVybFt1cmxJ
bmRleF0gOiAwOwogICAgICAgICAgICAgICAgIERGQUJ5dGVjb2RlSnVtcFNpemUganVtcFNpemUg
PSBnZXRKdW1wU2l6ZShtX2J5dGVjb2RlLCBwcm9ncmFtQ291bnRlcik7CiAgICAgICAgICAgICAg
ICAgaWYgKGNoYXJhY3RlciA+PSBnZXRCaXRzPHVpbnQ4X3Q+KG1fYnl0ZWNvZGUsIHByb2dyYW1D
b3VudGVyICsgc2l6ZW9mKERGQUJ5dGVjb2RlSW5zdHJ1Y3Rpb24pKQogICAgICAgICAgICAgICAg
ICAgICAmJiBjaGFyYWN0ZXIgPD0gZ2V0Qml0czx1aW50OF90PihtX2J5dGVjb2RlLCBwcm9ncmFt
Q291bnRlciArIHNpemVvZihERkFCeXRlY29kZUluc3RydWN0aW9uKSArIHNpemVvZih1aW50OF90
KSkpIHsKICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QganVtcExvY2F0aW9uID0gcHJvZ3Jh
bUNvdW50ZXIgKyBzaXplb2YoREZBQnl0ZWNvZGVJbnN0cnVjdGlvbikgKyAyICogc2l6ZW9mKHVp
bnQ4X3QpOwogICAgICAgICAgICAgICAgICAgICBwcm9ncmFtQ291bnRlciArPSBnZXRKdW1wRGlz
dGFuY2UobV9ieXRlY29kZSwganVtcExvY2F0aW9uLCBqdW1wU2l6ZSk7Ci0gICAgICAgICAgICAg
ICAgICAgIGlmICghY2hhcmFjdGVyKQotICAgICAgICAgICAgICAgICAgICAgICAgdXJsSW5kZXhJ
c0FmdGVyRW5kT2ZTdHJpbmcgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICB1cmxJbmRleCsr
OyAvLyBUaGlzIHJlcHJlc2VudHMgYW4gZWRnZSBpbiB0aGUgREZBLgogICAgICAgICAgICAgICAg
IH0gZWxzZQogICAgICAgICAgICAgICAgICAgICBwcm9ncmFtQ291bnRlciArPSBzaXplb2YoREZB
Qnl0ZWNvZGVJbnN0cnVjdGlvbikgKyAyICogc2l6ZW9mKHVpbnQ4X3QpICsganVtcFNpemVJbkJ5
dGVzKGp1bXBTaXplKTsKQEAgLTM1NywxNyArMzU2LDE1IEBAIGF1dG8gREZBQnl0ZWNvZGVJbnRl
cnByZXRlcjo6aW50ZXJwcmV0KGNvbnN0IENTdHJpbmcmIHVybENTdHJpbmcsIFJlc291cmNlRmxh
Z3MKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgY2FzZSBERkFCeXRlY29kZUluc3RydWN0
aW9uOjpDaGVja1ZhbHVlUmFuZ2VDYXNlSW5zZW5zaXRpdmU6IHsKLSAgICAgICAgICAgICAgICBp
ZiAodXJsSW5kZXhJc0FmdGVyRW5kT2ZTdHJpbmcpCisgICAgICAgICAgICAgICAgaWYgKHVybElu
ZGV4ID4gdXJsLnNpemUoKSkKICAgICAgICAgICAgICAgICAgICAgZ290byBuZXh0REZBOwogICAg
ICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIGNoYXIgY2hhcmFjdGVyID0gdG9BU0NJSUxv
d2VyKHVybFt1cmxJbmRleF0pOworICAgICAgICAgICAgICAgIGNoYXIgY2hhcmFjdGVyID0gdXJs
SW5kZXggPCB1cmwuc2l6ZSgpID8gdG9BU0NJSUxvd2VyKHVybFt1cmxJbmRleF0pIDogMDsKICAg
ICAgICAgICAgICAgICBERkFCeXRlY29kZUp1bXBTaXplIGp1bXBTaXplID0gZ2V0SnVtcFNpemUo
bV9ieXRlY29kZSwgcHJvZ3JhbUNvdW50ZXIpOwogICAgICAgICAgICAgICAgIGlmIChjaGFyYWN0
ZXIgPj0gZ2V0Qml0czx1aW50OF90PihtX2J5dGVjb2RlLCBwcm9ncmFtQ291bnRlciArIHNpemVv
ZihERkFCeXRlY29kZUluc3RydWN0aW9uKSkKICAgICAgICAgICAgICAgICAgICAgJiYgY2hhcmFj
dGVyIDw9IGdldEJpdHM8dWludDhfdD4obV9ieXRlY29kZSwgcHJvZ3JhbUNvdW50ZXIgKyBzaXpl
b2YoREZBQnl0ZWNvZGVJbnN0cnVjdGlvbikgKyBzaXplb2YodWludDhfdCkpKSB7CiAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IGp1bXBMb2NhdGlvbiA9IHByb2dyYW1Db3VudGVyICsgc2l6
ZW9mKERGQUJ5dGVjb2RlSW5zdHJ1Y3Rpb24pICsgMiAqIHNpemVvZih1aW50OF90KTsKICAgICAg
ICAgICAgICAgICAgICAgcHJvZ3JhbUNvdW50ZXIgKz0gZ2V0SnVtcERpc3RhbmNlKG1fYnl0ZWNv
ZGUsIGp1bXBMb2NhdGlvbiwganVtcFNpemUpOwotICAgICAgICAgICAgICAgICAgICBpZiAoIWNo
YXJhY3RlcikKLSAgICAgICAgICAgICAgICAgICAgICAgIHVybEluZGV4SXNBZnRlckVuZE9mU3Ry
aW5nID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgdXJsSW5kZXgrKzsgLy8gVGhpcyByZXBy
ZXNlbnRzIGFuIGVkZ2UgaW4gdGhlIERGQS4KICAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAg
ICAgICAgICAgICAgICAgcHJvZ3JhbUNvdW50ZXIgKz0gc2l6ZW9mKERGQUJ5dGVjb2RlSW5zdHJ1
Y3Rpb24pICsgMiAqIHNpemVvZih1aW50OF90KSArIGp1bXBTaXplSW5CeXRlcyhqdW1wU2l6ZSk7
CkBAIC0zNzUsNyArMzcyLDcgQEAgYXV0byBERkFCeXRlY29kZUludGVycHJldGVyOjppbnRlcnBy
ZXQoY29uc3QgQ1N0cmluZyYgdXJsQ1N0cmluZywgUmVzb3VyY2VGbGFncwogICAgICAgICAgICAg
fQogCiAgICAgICAgICAgICBjYXNlIERGQUJ5dGVjb2RlSW5zdHJ1Y3Rpb246Okp1bXA6IHsKLSAg
ICAgICAgICAgICAgICBpZiAoIXVybFt1cmxJbmRleF0gfHwgdXJsSW5kZXhJc0FmdGVyRW5kT2ZT
dHJpbmcpCisgICAgICAgICAgICAgICAgaWYgKHVybEluZGV4ID49IHVybC5zaXplKCkpCiAgICAg
ICAgICAgICAgICAgICAgIGdvdG8gbmV4dERGQTsKICAgICAgICAgICAgICAgICAKICAgICAgICAg
ICAgICAgICB1aW50MzJfdCBqdW1wTG9jYXRpb24gPSBwcm9ncmFtQ291bnRlciArIHNpemVvZihE
RkFCeXRlY29kZUluc3RydWN0aW9uKTsKQEAgLTM5Niw4ICszOTMsOCBAQCBhdXRvIERGQUJ5dGVj
b2RlSW50ZXJwcmV0ZXI6OmludGVycHJldChjb25zdCBDU3RyaW5nJiB1cmxDU3RyaW5nLCBSZXNv
dXJjZUZsYWdzCiAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgIFJFTEVBU0Vf
QVNTRVJUX05PVF9SRUFDSEVEKCk7IC8vIEludmFsaWQgYnl0ZWNvZGUuCiAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICAvLyBXZSBzaG91bGQgYWx3YXlzIHRlcm1pbmF0ZSBiZWZvcmUgb3IgYXQg
YSBudWxsIGNoYXJhY3RlciBhdCB0aGUgZW5kIG9mIGEgU3RyaW5nLgotICAgICAgICAgICAgQVNT
RVJUKHVybEluZGV4IDw9IHVybENTdHJpbmcubGVuZ3RoKCkgfHwgKHVybEluZGV4SXNBZnRlckVu
ZE9mU3RyaW5nICYmIHVybEluZGV4IDw9IHVybENTdHJpbmcubGVuZ3RoKCkgKyAxKSk7CisgICAg
ICAgICAgICAvLyBXZSBzaG91bGQgYWx3YXlzIHRlcm1pbmF0ZSBiZWZvcmUgb3IgYXQgYW4gaW1h
Z2luYXJ5IG51bGwgY2hhcmFjdGVyIGF0IHRoZSBlbmQgb2YgYSBTdHJpbmcuCisgICAgICAgICAg
ICBBU1NFUlQodXJsSW5kZXggPD0gdXJsLnNpemUoKSArIDEpOwogICAgICAgICB9CiAgICAgICAg
IFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7IC8vIFRoZSB3aGlsZSBsb29wIGNhbiBvbmx5
IGJlIGV4aXRlZCB1c2luZyBnb3RvIG5leHRERkEuCiAgICAgICAgIG5leHRERkE6CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9ERkFCeXRlY29kZUludGVycHJl
dGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9ERkFCeXRlY29kZUludGVy
cHJldGVyLmgKaW5kZXggMDBhOTgzYTM2ZDJlNTI5NTdkOGRlM2FlNWNkZjIxNDg1MjRkYjA2ZS4u
ZmM4MmE5MzljMmU5ODU0ZTE3NWU4MWEyYzlhMmNkZDFlN2UzMGFmNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvREZBQnl0ZWNvZGVJbnRlcnByZXRlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0RGQUJ5dGVjb2RlSW50ZXJwcmV0
ZXIuaApAQCAtNDIsNyArNDIsNyBAQCBwdWJsaWM6CiAKICAgICB1c2luZyBBY3Rpb25zID0gSGFz
aFNldDx1aW50NjRfdCwgRGVmYXVsdEhhc2g8dWludDY0X3Q+LCBXVEY6OlVuc2lnbmVkV2l0aFpl
cm9LZXlIYXNoVHJhaXRzPHVpbnQ2NF90Pj47CiAKLSAgICBXRUJDT1JFX0VYUE9SVCBBY3Rpb25z
IGludGVycHJldChjb25zdCBDU3RyaW5nJiwgUmVzb3VyY2VGbGFncyk7CisgICAgV0VCQ09SRV9F
WFBPUlQgQWN0aW9ucyBpbnRlcnByZXQoY29uc3QgU3RyaW5nJiwgUmVzb3VyY2VGbGFncyk7CiAg
ICAgQWN0aW9ucyBhY3Rpb25zTWF0Y2hpbmdFdmVyeXRoaW5nKCk7CiAKIHByaXZhdGU6CkBAIC01
MCw3ICs1MCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBpbnRlcnByZXRUZXN0RmxhZ3NBbmRBcHBl
bmRBY3Rpb24odW5zaWduZWQmIHByb2dyYW1Db3VudGVyLCBSZXNvdXJjZUZsYWdzLCBBY3Rpb25z
Jik7CiAKICAgICB0ZW1wbGF0ZTxib29sIGNhc2VTZW5zaXRpdmU+Ci0gICAgdm9pZCBpbnRlcnBl
dEp1bXBUYWJsZShjb25zdCBjaGFyKiB1cmwsIHVpbnQzMl90JiB1cmxJbmRleCwgdWludDMyX3Qm
IHByb2dyYW1Db3VudGVyLCBib29sJiB1cmxJbmRleElzQWZ0ZXJFbmRPZlN0cmluZyk7CisgICAg
dm9pZCBpbnRlcnBldEp1bXBUYWJsZShTcGFuPGNvbnN0IGNoYXI+IHVybCwgdWludDMyX3QmIHVy
bEluZGV4LCB1aW50MzJfdCYgcHJvZ3JhbUNvdW50ZXIpOwogCiAgICAgY29uc3QgU3Bhbjxjb25z
dCB1aW50OF90PiBtX2J5dGVjb2RlOwogfTsK
</data>
<flag name="commit-queue"
          id="472834"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447251</attachid>
            <date>2021-12-15 10:07:12 -0800</date>
            <delta_ts>2021-12-15 10:50:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234351-20211215100711.patch</filename>
            <type>text/plain</type>
            <size>19850</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmVkMjVkMmM1MTczMTQ4
ZGI0ZWExZThhMjc3YThjZDBiZGNkNzAyOC4uZWZhYzQ2Y2E3YjhjNGM4M2Q4ZGNkZjhiNTBiZGU0
YzY1NDQyZmU0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIxLTEyLTE1ICBBbGV4
IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQXZvaWQg
dW5uZWNlc3NhcnkgYWxsb2NhdGlvbiBhbmQgVVRGLTggY29udmVyc2lvbiB3aGVuIGNhbGxpbmcg
REZBQnl0ZWNvZGVJbnRlcnByZXRlcjo6aW50ZXJwcmV0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQzNTEKKworICAgICAgICBSZXZpZXdlZCBieSBU
aW0gSGF0Y2hlci4KKworICAgICAgICBBIHZhbGlkIFVSTCwgdGhlIG9ubHkgaW5wdXQgaW50byBE
RkFCeXRlY29kZUludGVycHJldGVyOjppbnRlcnByZXQsIGNvbnRhaW5zIG9ubHkgQVNDSUkgY2hh
cmFjdGVycy4KKyAgICAgICAgSW4gdGhlIG92ZXJ3aGVsbWluZyBtYWpvcml0eSBvZiBjYXNlcywg
d2UgaGF2ZSBhbiA4LWJpdCBzdHJpbmcuICBUaGVyZSBpcyBubyBuZWVkIHRvIGFsbG9jYXRlLCBj
b3B5LCBhbmQgY29udmVydCBpdC4KKyAgICAgICAgSW4gdGhlIHJhcmUgY2FzZSB0aGF0IHdlIHNv
bWVob3cgZ2V0IGEgVVRGLTE2IGVuY29kZWQgQVNDSUkgc3RyaW5nLCBqdXN0IGRvIHdoYXQgd2Ug
ZGlkIGJlZm9yZSBhbmQgVVRGLTggZW5jb2RlIGl0LgorCisgICAgICAgIFJlZ3VsYXIgZXhwcmVz
c2lvbnMgYWxsb3cgbWF0Y2hpbmcgdGhlIGVuZCBvZiB0aGUgc3RyaW5nLCB3aGljaCB3ZSBjdXJy
ZW50bHkgaW1wbGVtZW50IGJ5IGNoZWNraW5nIGZvciB0aGUKKyAgICAgICAgbnVsbCBjaGFyYWN0
ZXIsIHNvIEkgaGFkIHRvIGtlZXAgdGhlIHBhcnRzIHRoYXQgcmVhZCB0aGUgbnVsbCBjaGFyYWN0
ZXIgYXQgdGhlIGVuZCBvZiBhIHN0cmluZyBieSBjaGVja2luZworICAgICAgICB0byBzZWUgaWYg
d2UgYXJlIGF0IHRoZSBlbmQgb2YgdGhlIHN0cmluZyB3aGVuIHJlYWRpbmcgYSBjaGFyYWN0ZXIg
YW5kIHJldHVybmluZyB0aGUgbnVsbCBjaGFyYWN0ZXIgaWYgd2UgYXJlLgorCisgICAgICAgIENv
dmVyZWQgYnkgbWFueSBBUEkgdGVzdHMuCisKKyAgICAgICAgKiBjb250ZW50ZXh0ZW5zaW9ucy9D
b250ZW50RXh0ZW5zaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRFeHRlbnNpb25z
OjpDb250ZW50RXh0ZW5zaW9uOjpwb3B1bGF0ZVRvcFVSTEFjdGlvbkNhY2hlSWZOZWVkZWQgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudEV4dGVuc2lvbnM6OkNvbnRlbnRFeHRlbnNp
b246OnBvcHVsYXRlRnJhbWVVUkxBY3Rpb25DYWNoZUlmTmVlZGVkIGNvbnN0KToKKyAgICAgICAg
KiBjb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uc0JhY2tlbmQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q29udGVudEV4dGVuc2lvbnM6OkNvbnRlbnRFeHRlbnNpb25zQmFja2VuZDo6
YWN0aW9uc0Zyb21Db250ZW50UnVsZUxpc3QgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q29u
dGVudEV4dGVuc2lvbnM6OkNvbnRlbnRFeHRlbnNpb25zQmFja2VuZDo6YWN0aW9uc0ZvclJlc291
cmNlTG9hZCBjb25zdCk6CisgICAgICAgICogY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVu
c2lvbnNCYWNrZW5kLmg6CisgICAgICAgICogY29udGVudGV4dGVuc2lvbnMvREZBQnl0ZWNvZGVJ
bnRlcnByZXRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50RXh0ZW5zaW9uczo6REZB
Qnl0ZWNvZGVJbnRlcnByZXRlcjo6aW50ZXJwZXRKdW1wVGFibGUpOgorICAgICAgICAoV2ViQ29y
ZTo6Q29udGVudEV4dGVuc2lvbnM6OkRGQUJ5dGVjb2RlSW50ZXJwcmV0ZXI6OmludGVycHJldCk6
CisgICAgICAgICogY29udGVudGV4dGVuc2lvbnMvREZBQnl0ZWNvZGVJbnRlcnByZXRlci5oOgor
CiAyMDIxLTEyLTE0ICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CiAKICAgICAg
ICAgUmVuYW1lIFNoYXJlZEJ1ZmZlciBjbGFzc2VzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uLmNwcAppbmRleCBlZjY2MzliNDg2
NDYyZDgwNjdlMTQ0NWJjNWY0MmU5MzdkMTgyOTdjLi41MzQ5ZWYzOGZlNjkwNjRkZDQ1M2ZkNjhk
N2RjNmE4ZWU3NzNkOWVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5z
aW9ucy9Db250ZW50RXh0ZW5zaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0
ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uLmNwcApAQCAtMTE0LDcgKzExNCw3IEBAIHZvaWQgQ29u
dGVudEV4dGVuc2lvbjo6cG9wdWxhdGVUb3BVUkxBY3Rpb25DYWNoZUlmTmVlZGVkKGNvbnN0IFVS
TCYgdG9wVVJMKSBjb25zCiAgICAgICAgIHJldHVybjsKIAogICAgIERGQUJ5dGVjb2RlSW50ZXJw
cmV0ZXIgaW50ZXJwcmV0ZXIobV9jb21waWxlZEV4dGVuc2lvbi0+dG9wVVJMRmlsdGVyc0J5dGVj
b2RlKCkpOwotICAgIGF1dG8gdG9wVVJMQWN0aW9ucyA9IGludGVycHJldGVyLmludGVycHJldCh0
b3BVUkwuc3RyaW5nKCkudXRmOCgpLCBBbGxSZXNvdXJjZUZsYWdzKTsKKyAgICBhdXRvIHRvcFVS
TEFjdGlvbnMgPSBpbnRlcnByZXRlci5pbnRlcnByZXQodG9wVVJMLnN0cmluZygpLCBBbGxSZXNv
dXJjZUZsYWdzKTsKIAogICAgIG1fY2FjaGVkVG9wVVJMQWN0aW9ucy5jbGVhcigpOwogICAgIGZv
ciAodWludDY0X3QgYWN0aW9uIDogdG9wVVJMQWN0aW9ucykKQEAgLTEzMSw3ICsxMzEsNyBAQCB2
b2lkIENvbnRlbnRFeHRlbnNpb246OnBvcHVsYXRlRnJhbWVVUkxBY3Rpb25DYWNoZUlmTmVlZGVk
KGNvbnN0IFVSTCYgZnJhbWVVUkwpCiAgICAgICAgIHJldHVybjsKIAogICAgIERGQUJ5dGVjb2Rl
SW50ZXJwcmV0ZXIgaW50ZXJwcmV0ZXIobV9jb21waWxlZEV4dGVuc2lvbi0+ZnJhbWVVUkxGaWx0
ZXJzQnl0ZWNvZGUoKSk7Ci0gICAgYXV0byBmcmFtZVVSTEFjdGlvbnMgPSBpbnRlcnByZXRlci5p
bnRlcnByZXQoZnJhbWVVUkwuc3RyaW5nKCkudXRmOCgpLCBBbGxSZXNvdXJjZUZsYWdzKTsKKyAg
ICBhdXRvIGZyYW1lVVJMQWN0aW9ucyA9IGludGVycHJldGVyLmludGVycHJldChmcmFtZVVSTC5z
dHJpbmcoKSwgQWxsUmVzb3VyY2VGbGFncyk7CiAKICAgICBtX2NhY2hlZEZyYW1lVVJMQWN0aW9u
cy5jbGVhcigpOwogICAgIGZvciAodWludDY0X3QgYWN0aW9uIDogZnJhbWVVUkxBY3Rpb25zKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVu
c2lvbnNCYWNrZW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbnRl
bnRFeHRlbnNpb25zQmFja2VuZC5jcHAKaW5kZXggMWFiN2Q2ZWJmMzE2MGI1YzEzY2E3MTY3ZmEy
M2ZmZThhN2MxZDA1Ny4uNzIyNDg2NThlNDY2OTdlYzQ4MDI0NDU1MzM2M2E2OWUwNjI0MmNmMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVu
c2lvbnNCYWNrZW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9D
b250ZW50RXh0ZW5zaW9uc0JhY2tlbmQuY3BwCkBAIC05Niw3ICs5Niw3IEBAIHZvaWQgQ29udGVu
dEV4dGVuc2lvbnNCYWNrZW5kOjpyZW1vdmVBbGxDb250ZW50RXh0ZW5zaW9ucygpCiAgICAgbV9j
b250ZW50RXh0ZW5zaW9ucy5jbGVhcigpOwogfQogCi1hdXRvIENvbnRlbnRFeHRlbnNpb25zQmFj
a2VuZDo6YWN0aW9uc0Zyb21Db250ZW50UnVsZUxpc3QoY29uc3QgQ29udGVudEV4dGVuc2lvbiYg
Y29udGVudEV4dGVuc2lvbiwgY29uc3QgQ1N0cmluZyYgdXJsU3RyaW5nLCBjb25zdCBSZXNvdXJj
ZUxvYWRJbmZvJiByZXNvdXJjZUxvYWRJbmZvLCBSZXNvdXJjZUZsYWdzIGZsYWdzKSBjb25zdCAt
PiBBY3Rpb25zRnJvbUNvbnRlbnRSdWxlTGlzdAorYXV0byBDb250ZW50RXh0ZW5zaW9uc0JhY2tl
bmQ6OmFjdGlvbnNGcm9tQ29udGVudFJ1bGVMaXN0KGNvbnN0IENvbnRlbnRFeHRlbnNpb24mIGNv
bnRlbnRFeHRlbnNpb24sIGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nLCBjb25zdCBSZXNvdXJjZUxv
YWRJbmZvJiByZXNvdXJjZUxvYWRJbmZvLCBSZXNvdXJjZUZsYWdzIGZsYWdzKSBjb25zdCAtPiBB
Y3Rpb25zRnJvbUNvbnRlbnRSdWxlTGlzdAogewogICAgIEFjdGlvbnNGcm9tQ29udGVudFJ1bGVM
aXN0IGFjdGlvbnNTdHJ1Y3Q7CiAgICAgYWN0aW9uc1N0cnVjdC5jb250ZW50UnVsZUxpc3RJZGVu
dGlmaWVyID0gY29udGVudEV4dGVuc2lvbi5pZGVudGlmaWVyKCk7CkBAIC0xNjIsMTYgKzE2Miwx
MyBAQCBhdXRvIENvbnRlbnRFeHRlbnNpb25zQmFja2VuZDo6YWN0aW9uc0ZvclJlc291cmNlTG9h
ZChjb25zdCBSZXNvdXJjZUxvYWRJbmZvJiByZQogCiAgICAgY29uc3QgU3RyaW5nJiB1cmxTdHJp
bmcgPSByZXNvdXJjZUxvYWRJbmZvLnJlc291cmNlVVJMLnN0cmluZygpOwogICAgIEFTU0VSVF9X
SVRIX01FU1NBR0UodXJsU3RyaW5nLmlzQWxsQVNDSUkoKSwgIkEgZGVjb2RlZCBVUkwgc2hvdWxk
IG9ubHkgY29udGFpbiBBU0NJSSBjaGFyYWN0ZXJzLiBUaGUgbWF0Y2hpbmcgYWxnb3JpdGhtIGFz
c3VtZXMgdGhlIGlucHV0IGlzIEFTQ0lJLiIpOwotICAgIC8vIEZJWE1FOiBVVEYtOCBjb252ZXJz
aW9uIHNob3VsZCBvbmx5IGJlIG5lY2Vzc2FyeSB3aXRoIFVURi0xNiBTdHJpbmcgYmFzZWQgVVJM
cywgd2hpY2ggYXJlIHJhcmUuCi0gICAgLy8gREZBQnl0ZWNvZGVJbnRlcnByZXRlcjo6aW50ZXJw
cmV0IHNob3VsZCB0YWtlIGEgU3BhbjxjaGFyPiBpbnN0ZWFkIG9mIGEgQ1N0cmluZyBhbmQgd2Ug
Y2FuIGF2b2lkIHRoaXMgYWxsb2NhdGlvbiBhbG1vc3QgYWxsIG9mIHRoZSB0aW1lLgotICAgIGNv
bnN0IGF1dG8gdXJsQ1N0cmluZyA9IHVybFN0cmluZy51dGY4KCk7CiAKICAgICBWZWN0b3I8QWN0
aW9uc0Zyb21Db250ZW50UnVsZUxpc3Q+IGFjdGlvbnNWZWN0b3I7CiAgICAgYWN0aW9uc1ZlY3Rv
ci5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG1fY29udGVudEV4dGVuc2lvbnMuc2l6ZSgpKTsKICAg
ICBBU1NFUlQoIShyZXNvdXJjZUxvYWRJbmZvLmdldFJlc291cmNlRmxhZ3MoKSAmIEFjdGlvbkNv
bmRpdGlvbk1hc2spKTsKICAgICBjb25zdCBSZXNvdXJjZUZsYWdzIGZsYWdzID0gcmVzb3VyY2VM
b2FkSW5mby5nZXRSZXNvdXJjZUZsYWdzKCkgfCBBY3Rpb25Db25kaXRpb25NYXNrOwogICAgIGZv
ciAoYXV0byYgY29udGVudEV4dGVuc2lvbiA6IG1fY29udGVudEV4dGVuc2lvbnMudmFsdWVzKCkp
Ci0gICAgICAgIGFjdGlvbnNWZWN0b3IudW5jaGVja2VkQXBwZW5kKGFjdGlvbnNGcm9tQ29udGVu
dFJ1bGVMaXN0KGNvbnRlbnRFeHRlbnNpb24uZ2V0KCksIHVybENTdHJpbmcsIHJlc291cmNlTG9h
ZEluZm8sIGZsYWdzKSk7CisgICAgICAgIGFjdGlvbnNWZWN0b3IudW5jaGVja2VkQXBwZW5kKGFj
dGlvbnNGcm9tQ29udGVudFJ1bGVMaXN0KGNvbnRlbnRFeHRlbnNpb24uZ2V0KCksIHVybFN0cmlu
ZywgcmVzb3VyY2VMb2FkSW5mbywgZmxhZ3MpKTsKICNpZiBDT05URU5UX0VYVEVOU0lPTlNfUEVS
Rk9STUFOQ0VfUkVQT1JUSU5HCiAgICAgTW9ub3RvbmljVGltZSBhZGRlZFRpbWVFbmQgPSBNb25v
dG9uaWNUaW1lOjpub3coKTsKICAgICBkYXRhTG9nRigiVGltZSBhZGRlZDogJWYgbWljcm9zZWNv
bmRzICVzIFxuIiwgKGFkZGVkVGltZUVuZCAtIGFkZGVkVGltZVN0YXJ0KS5taWNyb3NlY29uZHMo
KSwgcmVzb3VyY2VMb2FkSW5mby5yZXNvdXJjZVVSTC5zdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbnRlbnRFeHRl
bnNpb25zQmFja2VuZC5oIGIvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVu
dEV4dGVuc2lvbnNCYWNrZW5kLmgKaW5kZXggN2E1ODZjNjM0OGQzNTg0YmY3ZTJiMjgwNGMyNDY0
MzQ3YWNiYzkxYS4uYjg1NjgyMjM3ZTJjZmY4YWZhY2M5NTM3ZmFmZDI1MWI1Yzk0ZDE1NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lv
bnNCYWNrZW5kLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVu
dEV4dGVuc2lvbnNCYWNrZW5kLmgKQEAgLTgwLDcgKzgwLDcgQEAgcHVibGljOgogICAgIFdFQkNP
UkVfRVhQT1JUIHN0YXRpYyBib29sIHNob3VsZEJlTWFkZVNlY3VyZShjb25zdCBVUkwmKTsKIAog
cHJpdmF0ZToKLSAgICBBY3Rpb25zRnJvbUNvbnRlbnRSdWxlTGlzdCBhY3Rpb25zRnJvbUNvbnRl
bnRSdWxlTGlzdChjb25zdCBDb250ZW50RXh0ZW5zaW9uJiwgY29uc3QgQ1N0cmluZyYgdXJsU3Ry
aW5nLCBjb25zdCBSZXNvdXJjZUxvYWRJbmZvJiwgUmVzb3VyY2VGbGFncykgY29uc3Q7CisgICAg
QWN0aW9uc0Zyb21Db250ZW50UnVsZUxpc3QgYWN0aW9uc0Zyb21Db250ZW50UnVsZUxpc3QoY29u
c3QgQ29udGVudEV4dGVuc2lvbiYsIGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nLCBjb25zdCBSZXNv
dXJjZUxvYWRJbmZvJiwgUmVzb3VyY2VGbGFncykgY29uc3Q7CiAKICAgICBIYXNoTWFwPFN0cmlu
ZywgUmVmPENvbnRlbnRFeHRlbnNpb24+PiBtX2NvbnRlbnRFeHRlbnNpb25zOwogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0RGQUJ5dGVjb2RlSW50ZXJw
cmV0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvREZBQnl0ZWNvZGVJ
bnRlcnByZXRlci5jcHAKaW5kZXggMTA2Mjk3YzFkN2M0NzY1NGU2NmFmNzkxMjA4NGY0MDE5NDBj
MmVjNy4uMzI1YmM5ZDIyYTY3ZjA1MzYzODY1MmUxMDYwM2M2Y2JkZWQyNjE1NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvREZBQnl0ZWNvZGVJbnRlcnByZXRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvREZBQnl0ZWNvZGVJ
bnRlcnByZXRlci5jcHAKQEAgLTIwMywxOSArMjAzLDE4IEBAIHZvaWQgREZBQnl0ZWNvZGVJbnRl
cnByZXRlcjo6aW50ZXJwcmV0VGVzdEZsYWdzQW5kQXBwZW5kQWN0aW9uKHVpbnQzMl90JiBwcm9n
cmFtCiB9CiAKIHRlbXBsYXRlPGJvb2wgY2FzZVNlbnNpdGl2ZT4KLWlubGluZSB2b2lkIERGQUJ5
dGVjb2RlSW50ZXJwcmV0ZXI6OmludGVycGV0SnVtcFRhYmxlKGNvbnN0IGNoYXIqIHVybCwgdWlu
dDMyX3QmIHVybEluZGV4LCB1aW50MzJfdCYgcHJvZ3JhbUNvdW50ZXIsIGJvb2wmIHVybEluZGV4
SXNBZnRlckVuZE9mU3RyaW5nKQoraW5saW5lIHZvaWQgREZBQnl0ZWNvZGVJbnRlcnByZXRlcjo6
aW50ZXJwZXRKdW1wVGFibGUoU3Bhbjxjb25zdCBjaGFyPiB1cmwsIHVpbnQzMl90JiB1cmxJbmRl
eCwgdWludDMyX3QmIHByb2dyYW1Db3VudGVyKQogewogICAgIERGQUJ5dGVjb2RlSnVtcFNpemUg
anVtcFNpemUgPSBnZXRKdW1wU2l6ZShtX2J5dGVjb2RlLCBwcm9ncmFtQ291bnRlcik7CiAKLSAg
ICBjaGFyIGNoYXJhY3RlciA9IGNhc2VTZW5zaXRpdmUgPyB1cmxbdXJsSW5kZXhdIDogdG9BU0NJ
SUxvd2VyKHVybFt1cmxJbmRleF0pOworICAgIGNoYXIgYyA9IHVybEluZGV4IDwgdXJsLnNpemUo
KSA/IHVybFt1cmxJbmRleF0gOiAwOworICAgIGNoYXIgY2hhcmFjdGVyID0gY2FzZVNlbnNpdGl2
ZSA/IGMgOiB0b0FTQ0lJTG93ZXIoYyk7CiAgICAgdWludDhfdCBmaXJzdENoYXJhY3RlciA9IGdl
dEJpdHM8dWludDhfdD4obV9ieXRlY29kZSwgcHJvZ3JhbUNvdW50ZXIgKyBzaXplb2YoREZBQnl0
ZWNvZGVJbnN0cnVjdGlvbikpOwogICAgIHVpbnQ4X3QgbGFzdENoYXJhY3RlciA9IGdldEJpdHM8
dWludDhfdD4obV9ieXRlY29kZSwgcHJvZ3JhbUNvdW50ZXIgKyBzaXplb2YoREZBQnl0ZWNvZGVJ
bnN0cnVjdGlvbikgKyBzaXplb2YodWludDhfdCkpOwogICAgIGlmIChjaGFyYWN0ZXIgPj0gZmly
c3RDaGFyYWN0ZXIgJiYgY2hhcmFjdGVyIDw9IGxhc3RDaGFyYWN0ZXIpIHsKICAgICAgICAgdWlu
dDMyX3Qgc3RhcnRPZmZzZXQgPSBwcm9ncmFtQ291bnRlciArIHNpemVvZihERkFCeXRlY29kZUlu
c3RydWN0aW9uKSArIDIgKiBzaXplb2YodWludDhfdCk7CiAgICAgICAgIHVpbnQzMl90IGp1bXBM
b2NhdGlvbiA9IHN0YXJ0T2Zmc2V0ICsgKGNoYXJhY3RlciAtIGZpcnN0Q2hhcmFjdGVyKSAqIGp1
bXBTaXplSW5CeXRlcyhqdW1wU2l6ZSk7CiAgICAgICAgIHByb2dyYW1Db3VudGVyICs9IGdldEp1
bXBEaXN0YW5jZShtX2J5dGVjb2RlLCBqdW1wTG9jYXRpb24sIGp1bXBTaXplKTsKLSAgICAgICAg
aWYgKCFjaGFyYWN0ZXIpCi0gICAgICAgICAgICB1cmxJbmRleElzQWZ0ZXJFbmRPZlN0cmluZyA9
IHRydWU7CiAgICAgICAgIHVybEluZGV4Kys7IC8vIFRoaXMgcmVwcmVzZW50cyBhbiBlZGdlIGlu
IHRoZSBERkEuCiAgICAgfSBlbHNlCiAgICAgICAgIHByb2dyYW1Db3VudGVyICs9IHNpemVvZihE
RkFCeXRlY29kZUluc3RydWN0aW9uKSArIDIgKiBzaXplb2YodWludDhfdCkgKyBqdW1wU2l6ZUlu
Qnl0ZXMoanVtcFNpemUpICogKGxhc3RDaGFyYWN0ZXIgLSBmaXJzdENoYXJhY3RlciArIDEpOwpA
QCAtMjQzLDEwICsyNDIsMTcgQEAgYXV0byBERkFCeXRlY29kZUludGVycHJldGVyOjphY3Rpb25z
TWF0Y2hpbmdFdmVyeXRoaW5nKCkgLT4gQWN0aW9ucwogICAgIHJldHVybiBhY3Rpb25zOwogfQog
Ci1hdXRvIERGQUJ5dGVjb2RlSW50ZXJwcmV0ZXI6OmludGVycHJldChjb25zdCBDU3RyaW5nJiB1
cmxDU3RyaW5nLCBSZXNvdXJjZUZsYWdzIGZsYWdzKSAtPiBBY3Rpb25zCithdXRvIERGQUJ5dGVj
b2RlSW50ZXJwcmV0ZXI6OmludGVycHJldChjb25zdCBTdHJpbmcmIHVybFN0cmluZywgUmVzb3Vy
Y2VGbGFncyBmbGFncykgLT4gQWN0aW9ucwogewotICAgIGNvbnN0IGNoYXIqIHVybCA9IHVybENT
dHJpbmcuZGF0YSgpOwotICAgIEFTU0VSVCh1cmwpOworICAgIENTdHJpbmcgdXJsQ1N0cmluZzsK
KyAgICBTcGFuPGNvbnN0IGNoYXI+IHVybDsKKyAgICBpZiAoTElLRUxZKHVybFN0cmluZy5pczhC
aXQoKSkpCisgICAgICAgIHVybCA9IHsgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4odXJs
U3RyaW5nLmNoYXJhY3RlcnM4KCkpLCB1cmxTdHJpbmcubGVuZ3RoKCkgfTsKKyAgICBlbHNlIHsK
KyAgICAgICAgdXJsQ1N0cmluZyA9IHVybFN0cmluZy51dGY4KCk7CisgICAgICAgIHVybCA9IHsg
dXJsQ1N0cmluZy5kYXRhKCksIHVybENTdHJpbmcubGVuZ3RoKCkgfTsKKyAgICB9CisgICAgQVNT
RVJUKHVybC5kYXRhKCkpOwogICAgIAogICAgIEFjdGlvbnMgYWN0aW9uczsKICAgICAKQEAgLTI4
MSw3ICsyODcsNiBAQCBhdXRvIERGQUJ5dGVjb2RlSW50ZXJwcmV0ZXI6OmludGVycHJldChjb25z
dCBDU3RyaW5nJiB1cmxDU3RyaW5nLCBSZXNvdXJjZUZsYWdzCiAgICAgICAgIC8vIEludGVycHJl
dCB0aGUgYnl0ZWNvZGUgZnJvbSB0aGlzIERGQS4KICAgICAgICAgLy8gVGhpcyBzaG91bGQgYWx3
YXlzIHRlcm1pbmF0ZSBpZiBpbnRlcnByZXRpbmcgY29ycmVjdGx5IGNvbXBpbGVkIGJ5dGVjb2Rl
LgogICAgICAgICB1aW50MzJfdCB1cmxJbmRleCA9IDA7Ci0gICAgICAgIGJvb2wgdXJsSW5kZXhJ
c0FmdGVyRW5kT2ZTdHJpbmcgPSBmYWxzZTsKICAgICAgICAgd2hpbGUgKHRydWUpIHsKICAgICAg
ICAgICAgIEFTU0VSVChwcm9ncmFtQ291bnRlciA8PSBtX2J5dGVjb2RlLnNpemUoKSk7CiAgICAg
ICAgICAgICBzd2l0Y2ggKGdldEluc3RydWN0aW9uKG1fYnl0ZWNvZGUsIHByb2dyYW1Db3VudGVy
KSkgewpAQCAtMjkwLDE3ICsyOTUsMTUgQEAgYXV0byBERkFCeXRlY29kZUludGVycHJldGVyOjpp
bnRlcnByZXQoY29uc3QgQ1N0cmluZyYgdXJsQ1N0cmluZywgUmVzb3VyY2VGbGFncwogICAgICAg
ICAgICAgICAgIGdvdG8gbmV4dERGQTsKICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg
ICBjYXNlIERGQUJ5dGVjb2RlSW5zdHJ1Y3Rpb246OkNoZWNrVmFsdWVDYXNlU2Vuc2l0aXZlOiB7
Ci0gICAgICAgICAgICAgICAgaWYgKHVybEluZGV4SXNBZnRlckVuZE9mU3RyaW5nKQorICAgICAg
ICAgICAgICAgIGlmICh1cmxJbmRleCA+IHVybC5zaXplKCkpCiAgICAgICAgICAgICAgICAgICAg
IGdvdG8gbmV4dERGQTsKIAogICAgICAgICAgICAgICAgIC8vIENoZWNrIHRvIHNlZSBpZiB0aGUg
bmV4dCBjaGFyYWN0ZXIgaW4gdGhlIHVybCBpcyB0aGUgdmFsdWUgc3RvcmVkIHdpdGggdGhlIGJ5
dGVjb2RlLgotICAgICAgICAgICAgICAgIGNoYXIgY2hhcmFjdGVyID0gdXJsW3VybEluZGV4XTsK
KyAgICAgICAgICAgICAgICBjaGFyIGNoYXJhY3RlciA9IHVybEluZGV4IDwgdXJsLnNpemUoKSA/
IHVybFt1cmxJbmRleF0gOiAwOwogICAgICAgICAgICAgICAgIERGQUJ5dGVjb2RlSnVtcFNpemUg
anVtcFNpemUgPSBnZXRKdW1wU2l6ZShtX2J5dGVjb2RlLCBwcm9ncmFtQ291bnRlcik7CiAgICAg
ICAgICAgICAgICAgaWYgKGNoYXJhY3RlciA9PSBnZXRCaXRzPHVpbnQ4X3Q+KG1fYnl0ZWNvZGUs
IHByb2dyYW1Db3VudGVyICsgc2l6ZW9mKERGQUJ5dGVjb2RlSW5zdHJ1Y3Rpb24pKSkgewogICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBqdW1wTG9jYXRpb24gPSBwcm9ncmFtQ291bnRlciAr
IHNpemVvZihERkFCeXRlY29kZUluc3RydWN0aW9uKSArIHNpemVvZih1aW50OF90KTsKICAgICAg
ICAgICAgICAgICAgICAgcHJvZ3JhbUNvdW50ZXIgKz0gZ2V0SnVtcERpc3RhbmNlKG1fYnl0ZWNv
ZGUsIGp1bXBMb2NhdGlvbiwganVtcFNpemUpOwotICAgICAgICAgICAgICAgICAgICBpZiAoIWNo
YXJhY3RlcikKLSAgICAgICAgICAgICAgICAgICAgICAgIHVybEluZGV4SXNBZnRlckVuZE9mU3Ry
aW5nID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgdXJsSW5kZXgrKzsgLy8gVGhpcyByZXBy
ZXNlbnRzIGFuIGVkZ2UgaW4gdGhlIERGQS4KICAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAg
ICAgICAgICAgICAgICAgcHJvZ3JhbUNvdW50ZXIgKz0gc2l6ZW9mKERGQUJ5dGVjb2RlSW5zdHJ1
Y3Rpb24pICsgc2l6ZW9mKHVpbnQ4X3QpICsganVtcFNpemVJbkJ5dGVzKGp1bXBTaXplKTsKQEAg
LTMwOCwxNyArMzExLDE1IEBAIGF1dG8gREZBQnl0ZWNvZGVJbnRlcnByZXRlcjo6aW50ZXJwcmV0
KGNvbnN0IENTdHJpbmcmIHVybENTdHJpbmcsIFJlc291cmNlRmxhZ3MKICAgICAgICAgICAgIH0K
IAogICAgICAgICAgICAgY2FzZSBERkFCeXRlY29kZUluc3RydWN0aW9uOjpDaGVja1ZhbHVlQ2Fz
ZUluc2Vuc2l0aXZlOiB7Ci0gICAgICAgICAgICAgICAgaWYgKHVybEluZGV4SXNBZnRlckVuZE9m
U3RyaW5nKQorICAgICAgICAgICAgICAgIGlmICh1cmxJbmRleCA+IHVybC5zaXplKCkpCiAgICAg
ICAgICAgICAgICAgICAgIGdvdG8gbmV4dERGQTsKIAogICAgICAgICAgICAgICAgIC8vIENoZWNr
IHRvIHNlZSBpZiB0aGUgbmV4dCBjaGFyYWN0ZXIgaW4gdGhlIHVybCBpcyB0aGUgdmFsdWUgc3Rv
cmVkIHdpdGggdGhlIGJ5dGVjb2RlLgotICAgICAgICAgICAgICAgIGNoYXIgY2hhcmFjdGVyID0g
dG9BU0NJSUxvd2VyKHVybFt1cmxJbmRleF0pOworICAgICAgICAgICAgICAgIGNoYXIgY2hhcmFj
dGVyID0gdXJsSW5kZXggPCB1cmwuc2l6ZSgpID8gdG9BU0NJSUxvd2VyKHVybFt1cmxJbmRleF0p
IDogMDsKICAgICAgICAgICAgICAgICBERkFCeXRlY29kZUp1bXBTaXplIGp1bXBTaXplID0gZ2V0
SnVtcFNpemUobV9ieXRlY29kZSwgcHJvZ3JhbUNvdW50ZXIpOwogICAgICAgICAgICAgICAgIGlm
IChjaGFyYWN0ZXIgPT0gZ2V0Qml0czx1aW50OF90PihtX2J5dGVjb2RlLCBwcm9ncmFtQ291bnRl
ciArIHNpemVvZihERkFCeXRlY29kZUluc3RydWN0aW9uKSkpIHsKICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QganVtcExvY2F0aW9uID0gcHJvZ3JhbUNvdW50ZXIgKyBzaXplb2YoREZBQnl0
ZWNvZGVJbnN0cnVjdGlvbikgKyBzaXplb2YodWludDhfdCk7CiAgICAgICAgICAgICAgICAgICAg
IHByb2dyYW1Db3VudGVyICs9IGdldEp1bXBEaXN0YW5jZShtX2J5dGVjb2RlLCBqdW1wTG9jYXRp
b24sIGp1bXBTaXplKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCFjaGFyYWN0ZXIpCi0gICAg
ICAgICAgICAgICAgICAgICAgICB1cmxJbmRleElzQWZ0ZXJFbmRPZlN0cmluZyA9IHRydWU7CiAg
ICAgICAgICAgICAgICAgICAgIHVybEluZGV4Kys7IC8vIFRoaXMgcmVwcmVzZW50cyBhbiBlZGdl
IGluIHRoZSBERkEuCiAgICAgICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgICAg
IHByb2dyYW1Db3VudGVyICs9IHNpemVvZihERkFCeXRlY29kZUluc3RydWN0aW9uKSArIHNpemVv
Zih1aW50OF90KSArIGp1bXBTaXplSW5CeXRlcyhqdW1wU2l6ZSk7CkBAIC0zMjYsMzAgKzMyNywy
OCBAQCBhdXRvIERGQUJ5dGVjb2RlSW50ZXJwcmV0ZXI6OmludGVycHJldChjb25zdCBDU3RyaW5n
JiB1cmxDU3RyaW5nLCBSZXNvdXJjZUZsYWdzCiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAg
IGNhc2UgREZBQnl0ZWNvZGVJbnN0cnVjdGlvbjo6SnVtcFRhYmxlQ2FzZUluc2Vuc2l0aXZlOgot
ICAgICAgICAgICAgICAgIGlmICh1cmxJbmRleElzQWZ0ZXJFbmRPZlN0cmluZykKKyAgICAgICAg
ICAgICAgICBpZiAodXJsSW5kZXggPiB1cmwuc2l6ZSgpKQogICAgICAgICAgICAgICAgICAgICBn
b3RvIG5leHRERkE7CiAKLSAgICAgICAgICAgICAgICBpbnRlcnBldEp1bXBUYWJsZTxmYWxzZT4o
dXJsLCB1cmxJbmRleCwgcHJvZ3JhbUNvdW50ZXIsIHVybEluZGV4SXNBZnRlckVuZE9mU3RyaW5n
KTsKKyAgICAgICAgICAgICAgICBpbnRlcnBldEp1bXBUYWJsZTxmYWxzZT4odXJsLCB1cmxJbmRl
eCwgcHJvZ3JhbUNvdW50ZXIpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAg
Y2FzZSBERkFCeXRlY29kZUluc3RydWN0aW9uOjpKdW1wVGFibGVDYXNlU2Vuc2l0aXZlOgotICAg
ICAgICAgICAgICAgIGlmICh1cmxJbmRleElzQWZ0ZXJFbmRPZlN0cmluZykKKyAgICAgICAgICAg
ICAgICBpZiAodXJsSW5kZXggPiB1cmwuc2l6ZSgpKQogICAgICAgICAgICAgICAgICAgICBnb3Rv
IG5leHRERkE7CiAKLSAgICAgICAgICAgICAgICBpbnRlcnBldEp1bXBUYWJsZTx0cnVlPih1cmws
IHVybEluZGV4LCBwcm9ncmFtQ291bnRlciwgdXJsSW5kZXhJc0FmdGVyRW5kT2ZTdHJpbmcpOwor
ICAgICAgICAgICAgICAgIGludGVycGV0SnVtcFRhYmxlPHRydWU+KHVybCwgdXJsSW5kZXgsIHBy
b2dyYW1Db3VudGVyKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAg
ICAgCiAgICAgICAgICAgICBjYXNlIERGQUJ5dGVjb2RlSW5zdHJ1Y3Rpb246OkNoZWNrVmFsdWVS
YW5nZUNhc2VTZW5zaXRpdmU6IHsKLSAgICAgICAgICAgICAgICBpZiAodXJsSW5kZXhJc0FmdGVy
RW5kT2ZTdHJpbmcpCisgICAgICAgICAgICAgICAgaWYgKHVybEluZGV4ID4gdXJsLnNpemUoKSkK
ICAgICAgICAgICAgICAgICAgICAgZ290byBuZXh0REZBOwogICAgICAgICAgICAgICAgIAotICAg
ICAgICAgICAgICAgIGNoYXIgY2hhcmFjdGVyID0gdXJsW3VybEluZGV4XTsKKyAgICAgICAgICAg
ICAgICBjaGFyIGNoYXJhY3RlciA9IHVybEluZGV4IDwgdXJsLnNpemUoKSA/IHVybFt1cmxJbmRl
eF0gOiAwOwogICAgICAgICAgICAgICAgIERGQUJ5dGVjb2RlSnVtcFNpemUganVtcFNpemUgPSBn
ZXRKdW1wU2l6ZShtX2J5dGVjb2RlLCBwcm9ncmFtQ291bnRlcik7CiAgICAgICAgICAgICAgICAg
aWYgKGNoYXJhY3RlciA+PSBnZXRCaXRzPHVpbnQ4X3Q+KG1fYnl0ZWNvZGUsIHByb2dyYW1Db3Vu
dGVyICsgc2l6ZW9mKERGQUJ5dGVjb2RlSW5zdHJ1Y3Rpb24pKQogICAgICAgICAgICAgICAgICAg
ICAmJiBjaGFyYWN0ZXIgPD0gZ2V0Qml0czx1aW50OF90PihtX2J5dGVjb2RlLCBwcm9ncmFtQ291
bnRlciArIHNpemVvZihERkFCeXRlY29kZUluc3RydWN0aW9uKSArIHNpemVvZih1aW50OF90KSkp
IHsKICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QganVtcExvY2F0aW9uID0gcHJvZ3JhbUNv
dW50ZXIgKyBzaXplb2YoREZBQnl0ZWNvZGVJbnN0cnVjdGlvbikgKyAyICogc2l6ZW9mKHVpbnQ4
X3QpOwogICAgICAgICAgICAgICAgICAgICBwcm9ncmFtQ291bnRlciArPSBnZXRKdW1wRGlzdGFu
Y2UobV9ieXRlY29kZSwganVtcExvY2F0aW9uLCBqdW1wU2l6ZSk7Ci0gICAgICAgICAgICAgICAg
ICAgIGlmICghY2hhcmFjdGVyKQotICAgICAgICAgICAgICAgICAgICAgICAgdXJsSW5kZXhJc0Fm
dGVyRW5kT2ZTdHJpbmcgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICB1cmxJbmRleCsrOyAv
LyBUaGlzIHJlcHJlc2VudHMgYW4gZWRnZSBpbiB0aGUgREZBLgogICAgICAgICAgICAgICAgIH0g
ZWxzZQogICAgICAgICAgICAgICAgICAgICBwcm9ncmFtQ291bnRlciArPSBzaXplb2YoREZBQnl0
ZWNvZGVJbnN0cnVjdGlvbikgKyAyICogc2l6ZW9mKHVpbnQ4X3QpICsganVtcFNpemVJbkJ5dGVz
KGp1bXBTaXplKTsKQEAgLTM1NywxNyArMzU2LDE1IEBAIGF1dG8gREZBQnl0ZWNvZGVJbnRlcnBy
ZXRlcjo6aW50ZXJwcmV0KGNvbnN0IENTdHJpbmcmIHVybENTdHJpbmcsIFJlc291cmNlRmxhZ3MK
ICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgY2FzZSBERkFCeXRlY29kZUluc3RydWN0aW9u
OjpDaGVja1ZhbHVlUmFuZ2VDYXNlSW5zZW5zaXRpdmU6IHsKLSAgICAgICAgICAgICAgICBpZiAo
dXJsSW5kZXhJc0FmdGVyRW5kT2ZTdHJpbmcpCisgICAgICAgICAgICAgICAgaWYgKHVybEluZGV4
ID4gdXJsLnNpemUoKSkKICAgICAgICAgICAgICAgICAgICAgZ290byBuZXh0REZBOwogICAgICAg
ICAgICAgICAgIAotICAgICAgICAgICAgICAgIGNoYXIgY2hhcmFjdGVyID0gdG9BU0NJSUxvd2Vy
KHVybFt1cmxJbmRleF0pOworICAgICAgICAgICAgICAgIGNoYXIgY2hhcmFjdGVyID0gdXJsSW5k
ZXggPCB1cmwuc2l6ZSgpID8gdG9BU0NJSUxvd2VyKHVybFt1cmxJbmRleF0pIDogMDsKICAgICAg
ICAgICAgICAgICBERkFCeXRlY29kZUp1bXBTaXplIGp1bXBTaXplID0gZ2V0SnVtcFNpemUobV9i
eXRlY29kZSwgcHJvZ3JhbUNvdW50ZXIpOwogICAgICAgICAgICAgICAgIGlmIChjaGFyYWN0ZXIg
Pj0gZ2V0Qml0czx1aW50OF90PihtX2J5dGVjb2RlLCBwcm9ncmFtQ291bnRlciArIHNpemVvZihE
RkFCeXRlY29kZUluc3RydWN0aW9uKSkKICAgICAgICAgICAgICAgICAgICAgJiYgY2hhcmFjdGVy
IDw9IGdldEJpdHM8dWludDhfdD4obV9ieXRlY29kZSwgcHJvZ3JhbUNvdW50ZXIgKyBzaXplb2Yo
REZBQnl0ZWNvZGVJbnN0cnVjdGlvbikgKyBzaXplb2YodWludDhfdCkpKSB7CiAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90IGp1bXBMb2NhdGlvbiA9IHByb2dyYW1Db3VudGVyICsgc2l6ZW9m
KERGQUJ5dGVjb2RlSW5zdHJ1Y3Rpb24pICsgMiAqIHNpemVvZih1aW50OF90KTsKICAgICAgICAg
ICAgICAgICAgICAgcHJvZ3JhbUNvdW50ZXIgKz0gZ2V0SnVtcERpc3RhbmNlKG1fYnl0ZWNvZGUs
IGp1bXBMb2NhdGlvbiwganVtcFNpemUpOwotICAgICAgICAgICAgICAgICAgICBpZiAoIWNoYXJh
Y3RlcikKLSAgICAgICAgICAgICAgICAgICAgICAgIHVybEluZGV4SXNBZnRlckVuZE9mU3RyaW5n
ID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgdXJsSW5kZXgrKzsgLy8gVGhpcyByZXByZXNl
bnRzIGFuIGVkZ2UgaW4gdGhlIERGQS4KICAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAg
ICAgICAgICAgICAgcHJvZ3JhbUNvdW50ZXIgKz0gc2l6ZW9mKERGQUJ5dGVjb2RlSW5zdHJ1Y3Rp
b24pICsgMiAqIHNpemVvZih1aW50OF90KSArIGp1bXBTaXplSW5CeXRlcyhqdW1wU2l6ZSk7CkBA
IC0zNzUsNyArMzcyLDcgQEAgYXV0byBERkFCeXRlY29kZUludGVycHJldGVyOjppbnRlcnByZXQo
Y29uc3QgQ1N0cmluZyYgdXJsQ1N0cmluZywgUmVzb3VyY2VGbGFncwogICAgICAgICAgICAgfQog
CiAgICAgICAgICAgICBjYXNlIERGQUJ5dGVjb2RlSW5zdHJ1Y3Rpb246Okp1bXA6IHsKLSAgICAg
ICAgICAgICAgICBpZiAoIXVybFt1cmxJbmRleF0gfHwgdXJsSW5kZXhJc0FmdGVyRW5kT2ZTdHJp
bmcpCisgICAgICAgICAgICAgICAgaWYgKHVybEluZGV4ID49IHVybC5zaXplKCkpCiAgICAgICAg
ICAgICAgICAgICAgIGdvdG8gbmV4dERGQTsKICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBqdW1wTG9jYXRpb24gPSBwcm9ncmFtQ291bnRlciArIHNpemVvZihERkFC
eXRlY29kZUluc3RydWN0aW9uKTsKQEAgLTM5Niw4ICszOTMsOCBAQCBhdXRvIERGQUJ5dGVjb2Rl
SW50ZXJwcmV0ZXI6OmludGVycHJldChjb25zdCBDU3RyaW5nJiB1cmxDU3RyaW5nLCBSZXNvdXJj
ZUZsYWdzCiAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNT
RVJUX05PVF9SRUFDSEVEKCk7IC8vIEludmFsaWQgYnl0ZWNvZGUuCiAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAvLyBXZSBzaG91bGQgYWx3YXlzIHRlcm1pbmF0ZSBiZWZvcmUgb3IgYXQgYSBu
dWxsIGNoYXJhY3RlciBhdCB0aGUgZW5kIG9mIGEgU3RyaW5nLgotICAgICAgICAgICAgQVNTRVJU
KHVybEluZGV4IDw9IHVybENTdHJpbmcubGVuZ3RoKCkgfHwgKHVybEluZGV4SXNBZnRlckVuZE9m
U3RyaW5nICYmIHVybEluZGV4IDw9IHVybENTdHJpbmcubGVuZ3RoKCkgKyAxKSk7CisgICAgICAg
ICAgICAvLyBXZSBzaG91bGQgYWx3YXlzIHRlcm1pbmF0ZSBiZWZvcmUgb3IgYXQgYW4gaW1hZ2lu
YXJ5IG51bGwgY2hhcmFjdGVyIGF0IHRoZSBlbmQgb2YgYSBTdHJpbmcuCisgICAgICAgICAgICBB
U1NFUlQodXJsSW5kZXggPD0gdXJsLnNpemUoKSArIDEpOwogICAgICAgICB9CiAgICAgICAgIFJF
TEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7IC8vIFRoZSB3aGlsZSBsb29wIGNhbiBvbmx5IGJl
IGV4aXRlZCB1c2luZyBnb3RvIG5leHRERkEuCiAgICAgICAgIG5leHRERkE6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9ERkFCeXRlY29kZUludGVycHJldGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9ERkFCeXRlY29kZUludGVycHJl
dGVyLmgKaW5kZXggMDBhOTgzYTM2ZDJlNTI5NTdkOGRlM2FlNWNkZjIxNDg1MjRkYjA2ZS4uZmM4
MmE5MzljMmU5ODU0ZTE3NWU4MWEyYzlhMmNkZDFlN2UzMGFmNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvREZBQnl0ZWNvZGVJbnRlcnByZXRlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0RGQUJ5dGVjb2RlSW50ZXJwcmV0ZXIu
aApAQCAtNDIsNyArNDIsNyBAQCBwdWJsaWM6CiAKICAgICB1c2luZyBBY3Rpb25zID0gSGFzaFNl
dDx1aW50NjRfdCwgRGVmYXVsdEhhc2g8dWludDY0X3Q+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9L
ZXlIYXNoVHJhaXRzPHVpbnQ2NF90Pj47CiAKLSAgICBXRUJDT1JFX0VYUE9SVCBBY3Rpb25zIGlu
dGVycHJldChjb25zdCBDU3RyaW5nJiwgUmVzb3VyY2VGbGFncyk7CisgICAgV0VCQ09SRV9FWFBP
UlQgQWN0aW9ucyBpbnRlcnByZXQoY29uc3QgU3RyaW5nJiwgUmVzb3VyY2VGbGFncyk7CiAgICAg
QWN0aW9ucyBhY3Rpb25zTWF0Y2hpbmdFdmVyeXRoaW5nKCk7CiAKIHByaXZhdGU6CkBAIC01MCw3
ICs1MCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBpbnRlcnByZXRUZXN0RmxhZ3NBbmRBcHBlbmRB
Y3Rpb24odW5zaWduZWQmIHByb2dyYW1Db3VudGVyLCBSZXNvdXJjZUZsYWdzLCBBY3Rpb25zJik7
CiAKICAgICB0ZW1wbGF0ZTxib29sIGNhc2VTZW5zaXRpdmU+Ci0gICAgdm9pZCBpbnRlcnBldEp1
bXBUYWJsZShjb25zdCBjaGFyKiB1cmwsIHVpbnQzMl90JiB1cmxJbmRleCwgdWludDMyX3QmIHBy
b2dyYW1Db3VudGVyLCBib29sJiB1cmxJbmRleElzQWZ0ZXJFbmRPZlN0cmluZyk7CisgICAgdm9p
ZCBpbnRlcnBldEp1bXBUYWJsZShTcGFuPGNvbnN0IGNoYXI+IHVybCwgdWludDMyX3QmIHVybElu
ZGV4LCB1aW50MzJfdCYgcHJvZ3JhbUNvdW50ZXIpOwogCiAgICAgY29uc3QgU3Bhbjxjb25zdCB1
aW50OF90PiBtX2J5dGVjb2RlOwogfTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rv
b2xzL0NoYW5nZUxvZwppbmRleCBlZThmNGFkZDM2Y2E5NGMzZGViZGI3NjY4ZGU0MjYzZmM3YjQ4
NGJhLi5kOTYwMmQ4ODE5NTMwN2E1ODRhYWI5OGFlZGE5YWUwZjg3NTVlYjg0IDEwMDY0NAotLS0g
YS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMjEtMTItMTUgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4K
KworICAgICAgICBBdm9pZCB1bm5lY2Vzc2FyeSBhbGxvY2F0aW9uIGFuZCBVVEYtOCBjb252ZXJz
aW9uIHdoZW4gY2FsbGluZyBERkFCeXRlY29kZUludGVycHJldGVyOjppbnRlcnByZXQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDM1MQorCisgICAg
ICAgIFJldmlld2VkIGJ5IFRpbSBIYXRjaGVyLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJDb3JlL0NvbnRlbnRFeHRlbnNpb25zLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRB
UEk6OlRFU1RfRik6CisKIDIwMjEtMTItMTQgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFwcGxl
LmNvbT4KIAogICAgICAgICBSZW5hbWUgU2hhcmVkQnVmZmVyIGNsYXNzZXMuCmRpZmYgLS1naXQg
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ29udGVudEV4dGVuc2lvbnMuY3Bw
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0NvbnRlbnRFeHRlbnNpb25zLmNw
cAppbmRleCA2ZmJhYWRlYTA0MWIzYTdhZmI0ZDA2NDU5ODc3NmE2M2VjNmM5ZDJkLi44MTcyNzVh
ZTQ2ODFhYTRiOTNiZGVjMmI5OTc5MGQ3ZDhlZDgxM2YwIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ29udGVudEV4dGVuc2lvbnMuY3BwCisrKyBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9Db250ZW50RXh0ZW5zaW9ucy5jcHAKQEAgLTEz
MTYsNyArMTMxNiw3IEBAIFRFU1RfRihDb250ZW50RXh0ZW5zaW9uVGVzdCwgTGFyZ2VKdW1wcykK
ICAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm4uYXBwZW5kKCd4Jyk7CiAgICAgICAgICAg
ICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgICAgICBhdXRvIG1hdGNoZXMgPSBpbnRlcnByZXRlci5pbnRlcnByZXQocGF0dGVybi50b1N0
cmluZygpLnV0ZjgoKSwgMCk7CisgICAgICAgICAgICAgICAgICAgIGF1dG8gbWF0Y2hlcyA9IGlu
dGVycHJldGVyLmludGVycHJldChwYXR0ZXJuLnRvU3RyaW5nKCksIDApOwogICAgICAgICAgICAg
ICAgICAgICBzd2l0Y2ggKChjMSArIGMyICsgYzMgKyBjNCkgJSA0KSB7CiAgICAgICAgICAgICAg
ICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhcmVDb250ZW50cyht
YXRjaGVzLCB7IH0pOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>