<?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>193720</bug_id>
          
          <creation_ts>2019-01-23 07:54:48 -0800</creation_ts>
          <short_desc>[Cocoa] Implement UndoManager.addItem()</short_desc>
          <delta_ts>2019-01-23 08:25:56 -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>HTML Editing</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>190009</dup_id>
          
          <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="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1497329</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-01-23 07:54:48 -0800</bug_when>
    <thetext>The final piece of &lt;rdar://problem/44807048&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1497339</commentid>
    <comment_count>1</comment_count>
      <attachid>359888</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-01-23 08:15:38 -0800</bug_when>
    <thetext>Created attachment 359888
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1497344</commentid>
    <comment_count>2</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-01-23 08:25:56 -0800</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 190009 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>359888</attachid>
            <date>2019-01-23 08:15:38 -0800</date>
            <delta_ts>2019-01-23 08:25:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193720-20190123081535.patch</filename>
            <type>text/plain</type>
            <size>38388</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwMzI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGNlZTEwMDZlZjRiMTlm
NDM0YTkxYjk1MzdkZWUwYzg1ZjMzNjRhNy4uMDdjYTQ1MDAzMzQzMmU2MGJkNzYyMWQzNWEzYzZk
MjNmMjNiYWY5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE5LTAxLTIzICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gSW1w
bGVtZW50IFVuZG9NYW5hZ2VyLmFkZEl0ZW0oKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzNzIwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NDgw
NzA0OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBG
aW5pc2ggaG9va2luZyB1cCBgVW5kb01hbmFnZXI6OmFkZEl0ZW1zKClgIHRvIEN1c3RvbVVuZG9T
dGVwLgorCisgICAgICAgIFRlc3RzOiBlZGl0aW5nL3VuZG8tbWFuYWdlci91bmRvLW1hbmFnZXIt
YWRkLWl0ZW0uaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy91bmRvLW1hbmFnZXIvdW5kby1t
YW5hZ2VyLWRlbGV0ZS1zdGFsZS11bmRvLWl0ZW1zLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvdW5kby1tYW5hZ2VyL3VuZG8tbWFuYWdlci1pdGVtLWxhYmVscy5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3VuZG8tbWFuYWdlci91bmRvLW1hbmFnZXItdW5kby1yZWRvLWFmdGVyLWdh
cmJhZ2UtY29sbGVjdGlvbi5odG1sCisKKyAgICAgICAgKiBlZGl0aW5nL0NvbXBvc2l0ZUVkaXRD
b21tYW5kLmg6CisgICAgICAgICogZWRpdGluZy9DdXN0b21VbmRvU3RlcC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDdXN0b21VbmRvU3RlcDo6aW52YWxpZGF0ZSk6CisKKyAgICAgICAgQWRkIGEg
bWV0aG9kIHRvIGludmFsaWRhdGUgQ3VzdG9tVW5kb1N0ZXAuIFRoaXMgY2xlYXJzIG91dCB0aGUg
cG9pbnRlciB0byB0aGUgdW5kbyBpdGVtLCBhbmQgYWxzbyBpbnZhbGlkYXRlcworICAgICAgICB0
aGUgVW5kb0l0ZW0sIHJlbW92aW5nIGl0IGZyb20gaXRzIFVuZG9NYW5hZ2VyLgorCisgICAgICAg
ICogZWRpdGluZy9DdXN0b21VbmRvU3RlcC5oOgorICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cmVnaXN0ZXJDdXN0b21VbmRvU3RlcCk6CisK
KyAgICAgICAgQWRkIGEgaGVscGVyIG1ldGhvZCB0byByZWdpc3RlciBhIEN1c3RvbVVuZG9TdGVw
IGFzIGEgcGxhdGZvcm0gdW5kb2FibGUgc3RlcC4KKworICAgICAgICAqIGVkaXRpbmcvRWRpdG9y
Lmg6CisgICAgICAgICogZWRpdGluZy9VbmRvU3RlcC5oOgorICAgICAgICAqIHBhZ2UvVW5kb01h
bmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VW5kb01hbmFnZXI6OmFkZEl0ZW0pOgorCisg
ICAgICAgIENyZWF0ZSBhIEN1c3RvbVVuZG9TdGVwIHdpdGggdGhlIGdpdmVuIFVuZG9JdGVtLCBh
bmQgcmVnaXN0ZXIgaXQgd2l0aCB0aGUgcGxhdGZvcm0gdW5kbyBtYW5hZ2VyLgorCiAyMDE5LTAx
LTIzICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIElu
dHJvZHVjZSBVbmRvU3RlcDo6bGFiZWwoKSBhbmQgYWRvcHQgaXQgaW4gV2ViS2l0TGVnYWN5IGFu
ZCBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKaW5kZXggYzM1ZmQxNWYwMDZhZjFiZTk0OTFhNmRkZmJjZjNkMGZlNDRl
ZjU5YS4uZWExZDE4ZTM3MGFjZjU1ZGEwODU2YzIyM2Q2MjI3YjYyMDFiZDM4ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyMiBAQAorMjAxOS0wMS0yMyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVo
QGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIEltcGxlbWVudCBVbmRvTWFuYWdlci5hZGRJ
dGVtKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5
MzcyMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQ4MDcwNDg+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmFkZFdlYlVuZG9TdGVwKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cmVtb3ZlV2ViRWRpdENvbW1hbmQpOgorCisgICAgICAg
IEludmFsaWRhdGUgdW5kbyBzdGVwcyB3aGVuIHJlbW92aW5nIHRoZW0gZnJvbSBXZWJQYWdlLiBJ
bnZhbGlkYXRpb24gaXMgYSBuby1vcCBmb3IgZWRpdGluZyBhY3Rpb25zIHRoYXQgY29tZQorICAg
ICAgICBmcm9tIHRoZSBVQSwgYnV0IGZvciBjdXN0b20gdW5kbyBzdGVwcyBiYWNrZWQgYnkgYW4g
VW5kb0l0ZW0sIHdlIGNsZWFyIG91dCB0aGUgY3VzdG9tIHVuZG8gc3RlcCdzIHBvaW50ZXIgdG8g
aXRzCisgICAgICAgIFVuZG9JdGVtIGFuZCBhZGRpdGlvbmFsbHkgZGlzY29ubmVjdCB0aGUgVW5k
b0l0ZW0gZnJvbSBpdHMgVW5kb01hbmFnZXIuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViVW5kb1N0ZXAuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViVW5kb1N0ZXA6OmludmFsaWRh
dGUpOgorCiAyMDE5LTAxLTIzICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29t
PgogCiAgICAgICAgIEludHJvZHVjZSBVbmRvU3RlcDo6bGFiZWwoKSBhbmQgYWRvcHQgaXQgaW4g
V2ViS2l0TGVnYWN5IGFuZCBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQ29tcG9z
aXRlRWRpdENvbW1hbmQuaAppbmRleCBmZjFlNjFjNmVlNDU5N2YwYWQ1ZWJhMjliOWJkNDhhYzYw
Yzk0ZmJiLi5iYzYzNTUzYzM2N2NkNzA3YjQ3ZGM5YmQ0NzFlZDg3MjBlZGM4YjcwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5oCkBAIC04OSw2ICs4
OSw3IEBAIHByaXZhdGU6CiAgICAgRWRpdENvbW1hbmRDb21wb3NpdGlvbihEb2N1bWVudCYsIGNv
bnN0IFZpc2libGVTZWxlY3Rpb24mIHN0YXJ0aW5nU2VsZWN0aW9uLCBjb25zdCBWaXNpYmxlU2Vs
ZWN0aW9uJiBlbmRpbmdTZWxlY3Rpb24sIEVkaXRBY3Rpb24pOwogCiAgICAgU3RyaW5nIGxhYmVs
KCkgY29uc3QgZmluYWw7CisgICAgdm9pZCBpbnZhbGlkYXRlKCkgZmluYWwgeyB9CiAKICAgICBS
ZWZQdHI8RG9jdW1lbnQ+IG1fZG9jdW1lbnQ7CiAgICAgVmlzaWJsZVNlbGVjdGlvbiBtX3N0YXJ0
aW5nU2VsZWN0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9DdXN0b21V
bmRvU3RlcC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0N1c3RvbVVuZG9TdGVwLmNwcApp
bmRleCAwNjgwNzUyMjY0MjIyODcyNzY4NmNiY2RkZGU3ZTI3MmZkMDBkMjBhLi5iMmIwYjNhZGZl
NWYxNTU5OGYxNjllY2I5Y2ZhODZkZWRhMzkzMWVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0N1c3RvbVVuZG9TdGVwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L0N1c3RvbVVuZG9TdGVwLmNwcApAQCAtNzQsNCArNzQsMTAgQEAgU3RyaW5nIEN1c3RvbVVuZG9T
dGVwOjpsYWJlbCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fdW5kb0l0ZW0tPmxhYmVsKCk7CiB9CiAK
K3ZvaWQgQ3VzdG9tVW5kb1N0ZXA6OmludmFsaWRhdGUoKQoreworICAgIGlmIChhdXRvIHVuZG9J
dGVtID0gc3RkOjpleGNoYW5nZShtX3VuZG9JdGVtLCBudWxscHRyKSkKKyAgICAgICAgdW5kb0l0
ZW0tPmludmFsaWRhdGUoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9DdXN0b21VbmRvU3RlcC5oIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9DdXN0b21VbmRvU3RlcC5oCmluZGV4IGQ5ZWFkMTNhNGE3MjdjYmZiYmI4MGI3
MzFmYjQ0Y2QwMTBiZjRjZGUuLjQyODMzNDJmNzVlM2JmYTg0MTM0MmYzZDVkYTI1NmI5ZjU2YjQy
OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQ3VzdG9tVW5kb1N0ZXAuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0N1c3RvbVVuZG9TdGVwLmgKQEAgLTQ5LDYgKzQ5
LDcgQEAgcHJpdmF0ZToKICAgICBFZGl0QWN0aW9uIGVkaXRpbmdBY3Rpb24oKSBjb25zdCBmaW5h
bCB7IHJldHVybiBFZGl0QWN0aW9uOjpVbnNwZWNpZmllZDsgfQogICAgIFN0cmluZyBsYWJlbCgp
IGNvbnN0IGZpbmFsOwogCisgICAgdm9pZCBpbnZhbGlkYXRlKCkgZmluYWw7CiAgICAgYm9vbCBp
c1ZhbGlkKCkgY29uc3Q7CiAKICAgICBXZWFrUHRyPFVuZG9JdGVtPiBtX3VuZG9JdGVtOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9FZGl0b3IuY3BwCmluZGV4IDM3NTU2NDI2YWYxZWUwYzQ2ODhmZTMyZDE4Yzhh
YjBjYmMzNTg0NDUuLjhmZDUzYmE5OGFjYjhhMmU0NzkxMTUzZmM4NDQ0MDY0MGJjMzU3YTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlICJD
bGlwYm9hcmRFdmVudC5oIgogI2luY2x1ZGUgIkNvbXBvc2l0aW9uRXZlbnQuaCIKICNpbmNsdWRl
ICJDcmVhdGVMaW5rQ29tbWFuZC5oIgorI2luY2x1ZGUgIkN1c3RvbVVuZG9TdGVwLmgiCiAjaW5j
bHVkZSAiRGF0YVRyYW5zZmVyLmgiCiAjaW5jbHVkZSAiRGVsZXRlU2VsZWN0aW9uQ29tbWFuZC5o
IgogI2luY2x1ZGUgIkRpY3RhdGlvbkFsdGVybmF0aXZlLmgiCkBAIC0xNzQwLDYgKzE3NDEsMTMg
QEAgdm9pZCBFZGl0b3I6OnJlZG8oKQogICAgICAgICBjbGllbnQoKS0+cmVkbygpOwogfQogCit2
b2lkIEVkaXRvcjo6cmVnaXN0ZXJDdXN0b21VbmRvU3RlcChSZWY8Q3VzdG9tVW5kb1N0ZXA+JiYg
dW5kb1N0ZXApCit7CisgICAgQVNTRVJUKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZl
YXR1cmVzKCkudW5kb01hbmFnZXJBUElFbmFibGVkKCkpOworICAgIGlmIChhdXRvKiBjbGllbnQg
PSB0aGlzLT5jbGllbnQoKSkKKyAgICAgICAgY2xpZW50LT5yZWdpc3RlclVuZG9TdGVwKFdURk1v
dmUodW5kb1N0ZXApKTsKK30KKwogdm9pZCBFZGl0b3I6OmRpZEJlZ2luRWRpdGluZygpCiB7CiAg
ICAgaWYgKGNsaWVudCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0
b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmgKaW5kZXggMDVjYzFiODJhZWFj
MTQwYjQwOTMwZGY2ZjM3ZWE1NDk1NWM2M2Y0Ni4uNDU0N2Q0NzE1Zjk4MzNhODY3Y2U3ZjZhODMz
Mzc4YzUzNjNkMDNiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3Iu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oCkBAIC01OCw2ICs1OCw3IEBA
IGNsYXNzIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI7CiBjbGFzcyBBcmNoaXZlUmVzb3VyY2U7
CiBjbGFzcyBEYXRhVHJhbnNmZXI7CiBjbGFzcyBDb21wb3NpdGVFZGl0Q29tbWFuZDsKK2NsYXNz
IEN1c3RvbVVuZG9TdGVwOwogY2xhc3MgRGVsZXRlQnV0dG9uQ29udHJvbGxlcjsKIGNsYXNzIEVk
aXRDb21tYW5kOwogY2xhc3MgRWRpdENvbW1hbmRDb21wb3NpdGlvbjsKQEAgLTMyNCw2ICszMjUs
OCBAQCBwdWJsaWM6CiAgICAgYm9vbCBjYW5SZWRvKCkgY29uc3Q7CiAgICAgdm9pZCByZWRvKCk7
CiAKKyAgICB2b2lkIHJlZ2lzdGVyQ3VzdG9tVW5kb1N0ZXAoUmVmPEN1c3RvbVVuZG9TdGVwPiYm
KTsKKwogICAgIHZvaWQgZGlkQmVnaW5FZGl0aW5nKCk7CiAgICAgdm9pZCBkaWRFbmRFZGl0aW5n
KCk7CiAgICAgdm9pZCB3aWxsV3JpdGVTZWxlY3Rpb25Ub1Bhc3RlYm9hcmQoUmFuZ2UqKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVW5kb1N0ZXAuaCBiL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvVW5kb1N0ZXAuaAppbmRleCAwNTAwOWNiNTc1NTAxYjVlYzJkNWU4MjY0NWY4
MWViODM2NmE4NDQyLi4xODVhYTRkNDg5ZTNiZTkxOTVlNWZkMWQ5NmUzNDY4NTM3YmQxZWVhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1VuZG9TdGVwLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9VbmRvU3RlcC5oCkBAIC00NCw2ICs0NCw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgcmVhcHBseSgpID0gMDsKICAgICB2aXJ0dWFsIEVkaXRBY3Rpb24gZWRp
dGluZ0FjdGlvbigpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIFN0cmluZyBsYWJlbCgpIGNvbnN0
ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZSgpID0gMDsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVW5kb01hbmFn
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9VbmRvTWFuYWdlci5jcHAKaW5kZXggYzE2OGFj
YWFhZGZiOTZiODQ3MTQwMzI5YjY2ZTczYTU1MTIzYmQ2MS4uNGM2ZTY5YTRhMGEzZTAzZDI5ZjQ5
MjFkMTE5YTY0MzAxNGQyYTEwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9VbmRv
TWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9VbmRvTWFuYWdlci5jcHAKQEAg
LTI2LDYgKzI2LDggQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJVbmRvTWFuYWdl
ci5oIgogCisjaW5jbHVkZSAiQ3VzdG9tVW5kb1N0ZXAuaCIKKyNpbmNsdWRlICJGcmFtZS5oIgog
I2luY2x1ZGUgIlVuZG9JdGVtLmgiCiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4K
IApAQCAtNDIsOSArNDQsMTcgQEAgVW5kb01hbmFnZXI6On5VbmRvTWFuYWdlcigpID0gZGVmYXVs
dDsKIAogdm9pZCBVbmRvTWFuYWdlcjo6YWRkSXRlbShSZWY8VW5kb0l0ZW0+JiYgaXRlbSkKIHsK
LSAgICBVTlVTRURfUEFSQU0obV9kb2N1bWVudCk7CisgICAgaWYgKG1faXRlbXMuY29udGFpbnMo
aXRlbS5wdHIoKSkpIHsKKyAgICAgICAgLy8gRklYTUU6IFN1cHBvcnQgYWRkaW5nIHRoZSBzYW1l
IFVuZG9JdGVtIHRvIGFuIFVuZG9NYW5hZ2VyIG11bHRpcGxlIHRpbWVzLgorICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgYXV0byBmcmFtZSA9IG1ha2VSZWZQdHIobV9kb2N1bWVudC5mcmFt
ZSgpKTsKKyAgICBpZiAoIWZyYW1lKQorICAgICAgICByZXR1cm47CiAKICAgICBpdGVtLT5zZXRV
bmRvTWFuYWdlcih0aGlzKTsKKyAgICBmcmFtZS0+ZWRpdG9yKCkucmVnaXN0ZXJDdXN0b21VbmRv
U3RlcChDdXN0b21VbmRvU3RlcDo6Y3JlYXRlKGl0ZW0pKTsKICAgICBtX2l0ZW1zLmFkZChXVEZN
b3ZlKGl0ZW0pKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcAppbmRleCA5ZjhiYjkxYmRkOTA2YTQ1YWNjZThiYzIzNGExMzBmYjcyNjNjNGE0Li5j
NzA4MWFmMzc4MzJkZWI0Njg0MjVhNWRkZmJiNTg4ZGI0NmVjZmM0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMzc5MiwxMiArMzc5MiwxNCBA
QCBXZWJVbmRvU3RlcCogV2ViUGFnZTo6d2ViVW5kb1N0ZXAoV2ViVW5kb1N0ZXBJRCBzdGVwSUQp
CiAKIHZvaWQgV2ViUGFnZTo6YWRkV2ViVW5kb1N0ZXAoV2ViVW5kb1N0ZXBJRCBzdGVwSUQsIFJl
ZjxXZWJVbmRvU3RlcD4mJiBlbnRyeSkKIHsKLSAgICBtX3VuZG9TdGVwTWFwLnNldChzdGVwSUQs
IFdURk1vdmUoZW50cnkpKTsKKyAgICBhdXRvIGFkZFJlc3VsdCA9IG1fdW5kb1N0ZXBNYXAuc2V0
KHN0ZXBJRCwgV1RGTW92ZShlbnRyeSkpOworICAgIEFTU0VSVF9VTlVTRUQoYWRkUmVzdWx0LCBh
ZGRSZXN1bHQuaXNOZXdFbnRyeSk7CiB9CiAKIHZvaWQgV2ViUGFnZTo6cmVtb3ZlV2ViRWRpdENv
bW1hbmQoV2ViVW5kb1N0ZXBJRCBzdGVwSUQpCiB7Ci0gICAgbV91bmRvU3RlcE1hcC5yZW1vdmUo
c3RlcElEKTsKKyAgICBpZiAoYXV0byB1bmRvU3RlcCA9IG1fdW5kb1N0ZXBNYXAudGFrZShzdGVw
SUQpKQorICAgICAgICB1bmRvU3RlcC0+aW52YWxpZGF0ZSgpOwogfQogCiBib29sIFdlYlBhZ2U6
OmlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJVbmRvU3RlcC5oIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViVW5kb1N0ZXAuaAppbmRleCAyMTFmZDk5ZTVlNmM2OTZmYTdjMzk5
ZjdmN2VkZDAzOGFiOGE4ZDhhLi40N2ZiZjVkYjYwNmMwZDExMjIwNzMzZWE4ZjcyOTFkMWU5ZmZj
NDJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJVbmRv
U3RlcC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlVuZG9TdGVw
LmgKQEAgLTM5LDYgKzM5LDggQEAgcHVibGljOgogICAgIFdlYkNvcmU6OlVuZG9TdGVwJiBzdGVw
KCkgY29uc3QgeyByZXR1cm4gbV9zdGVwLmdldCgpOyB9CiAgICAgV2ViVW5kb1N0ZXBJRCBzdGVw
SUQoKSBjb25zdCB7IHJldHVybiBtX3N0ZXBJRDsgfQogCisgICAgdm9pZCBpbnZhbGlkYXRlKCkg
eyBtX3N0ZXAtPmludmFsaWRhdGUoKTsgfQorCiBwcml2YXRlOgogICAgIFdlYlVuZG9TdGVwKFJl
ZjxXZWJDb3JlOjpVbmRvU3RlcD4mJiBzdGVwLCBXZWJVbmRvU3RlcElEIHN0ZXBJRCkKICAgICAg
ICAgOiBtX3N0ZXAoV1RGTW92ZShzdGVwKSkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzMTY1YmQ1NzgyNWU0YTMyMDg2OTY3NWNjYjBjNDdjZGMx
NzYxMjY2Li5mYzZhNThlODY1MTFhMTI4ZDFiMzY2MWM0NTVhYmVhMzUwNmNjOTk4IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUg
QEAKKzIwMTktMDEtMTkgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisK
KyAgICAgICAgW0NvY29hXSBJbXBsZW1lbnQgVW5kb01hbmFnZXIuYWRkSXRlbSgpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTM3MjAKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzQ0ODA3MDQ4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZCBVSVNjcmlwdENvbnRyb2xsZXIgaGVscGVycyB0byBncmFi
IHRoZSBwbGF0Zm9ybSB1bmRvIGFuZCByZWRvIGFjdGlvbiBsYWJlbHMuIEN1cnJlbnRseSBvbmx5
IGltcGxlbWVudGVkIGZvcgorICAgICAgICBDb2NvYSBwbGF0Zm9ybXMgaW4gV2ViS2l0Mi4gU2Vl
IG90aGVyIENoYW5nZUxvZ3MgZm9yIG1vcmUgZGV0YWlsLgorCisgICAgICAgICogRHVtcFJlbmRl
clRyZWUvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbToKKyAgICAgICAgKFdUUjo6VUlTY3Jp
cHRDb250cm9sbGVyOjp1bmRvQWN0aW9uTmFtZSBjb25zdCk6CisgICAgICAgIChXVFI6OlVJU2Ny
aXB0Q29udHJvbGxlcjo6cmVkb0FjdGlvbk5hbWUgY29uc3QpOgorICAgICAgICAoV1RSOjpVSVNj
cmlwdENvbnRyb2xsZXI6OnBsYXRmb3JtVW5kb01hbmFnZXIgY29uc3QpOgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL21hYy9VSVNjcmlwdENvbnRyb2xsZXJNYWMubW06CisgICAgICAgIChXVFI6
OlVJU2NyaXB0Q29udHJvbGxlcjo6dW5kb0FjdGlvbk5hbWUgY29uc3QpOgorICAgICAgICAoV1RS
OjpVSVNjcmlwdENvbnRyb2xsZXI6OnJlZG9BY3Rpb25OYW1lIGNvbnN0KToKKyAgICAgICAgKFdU
Ujo6VUlTY3JpcHRDb250cm9sbGVyOjpwbGF0Zm9ybVVuZG9NYW5hZ2VyIGNvbnN0KToKKyAgICAg
ICAgKiBUZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9CaW5kaW5ncy9VSVNjcmlwdENv
bnRyb2xsZXIuaWRsOgorICAgICAgICAqIFRlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0
L1VJU2NyaXB0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXVFI6OlVJU2NyaXB0Q29udHJvbGxl
cjo6dW5kb0FjdGlvbk5hbWUgY29uc3QpOgorICAgICAgICAoV1RSOjpVSVNjcmlwdENvbnRyb2xs
ZXI6OnJlZG9BY3Rpb25OYW1lIGNvbnN0KToKKyAgICAgICAgKiBUZXN0UnVubmVyU2hhcmVkL1VJ
U2NyaXB0Q29udGV4dC9VSVNjcmlwdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBXZWJLaXRUZXN0
UnVubmVyL1VJU2NyaXB0Q29udHJvbGxlckNvY29hLm1tOgorICAgICAgICAoV1RSOjpVSVNjcmlw
dENvbnRyb2xsZXI6OnVuZG9BY3Rpb25OYW1lIGNvbnN0KToKKyAgICAgICAgKFdUUjo6VUlTY3Jp
cHRDb250cm9sbGVyOjpyZWRvQWN0aW9uTmFtZSBjb25zdCk6CisgICAgICAgICogV2ViS2l0VGVz
dFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tOgorICAgICAgICAoV1RSOjpVSVNj
cmlwdENvbnRyb2xsZXI6OnBsYXRmb3JtVW5kb01hbmFnZXIgY29uc3QpOgorICAgICAgICAqIFdl
YktpdFRlc3RSdW5uZXIvbWFjL1VJU2NyaXB0Q29udHJvbGxlck1hYy5tbToKKyAgICAgICAgKFdU
Ujo6VUlTY3JpcHRDb250cm9sbGVyOjpwbGF0Zm9ybVVuZG9NYW5hZ2VyIGNvbnN0KToKKwogMjAx
OS0wMS0yMiAgQWFrYXNoIEphaW4gIDxhYWthc2hfamFpbkBhcHBsZS5jb20+CiAKICAgICAgICAg
W2V3cy1hcHBdIGZldGNoIGxvb3Agc2hvdWxkIG5vdCBzdG9wIG9uIG5ldHdvcmsgaXNzdWVzCmRp
ZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9T
Lm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbQpp
bmRleCA4YTExMjVmNGVmOTE5ODQ1MjY2OWUwNDE5YzU4OWE4OTAyZThhNjcwLi43N2UzMjY2YmQ5
ZDg0M2YzMjU3NzU5MTM1MDhkYmZhOTVkNTU4YjQ1IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1MubW0KQEAgLTQ1MCw2ICs0NTAsMjEgQEAg
dm9pZCBVSVNjcmlwdENvbnRyb2xsZXI6OnNldEtleWJvYXJkSW5wdXRNb2RlSWRlbnRpZmllcihK
U1N0cmluZ1JlZikKIHsKIH0KIAorSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IFVJU2NyaXB0Q29u
dHJvbGxlcjo6dW5kb0FjdGlvbk5hbWUoKSBjb25zdAoreworICAgIHJldHVybiBudWxscHRyOwor
fQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gVUlTY3JpcHRDb250cm9sbGVyOjpyZWRvQWN0
aW9uTmFtZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK05TVW5kb01hbmFn
ZXIgKlVJU2NyaXB0Q29udHJvbGxlcjo6cGxhdGZvcm1VbmRvTWFuYWdlcigpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIG5pbDsKK30KKwogfQogCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9VSVNjcmlwdENvbnRyb2xsZXJN
YWMubW0gYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVUlTY3JpcHRDb250cm9sbGVyTWFjLm1t
CmluZGV4IGM0NDUxNDVmMzNiZWYwY2MxOTQ5ZTNkNWFhZTBmNTMzYmVlMTQyZDcuLmI4MDY4NDYx
MzdhYTIxZjljNmZlNjNlYTM1YmFmYmZjMjEzMzI5YWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL21hYy9VSVNjcmlwdENvbnRyb2xsZXJNYWMubW0KKysrIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvbWFjL1VJU2NyaXB0Q29udHJvbGxlck1hYy5tbQpAQCAtMjE1LDYgKzIxNSwyMSBA
QCB2b2lkIFVJU2NyaXB0Q29udHJvbGxlcjo6dG9nZ2xlQ2Fwc0xvY2soSlNWYWx1ZVJlZiBjYWxs
YmFjaykKICAgICBkb0FzeW5jVGFzayhjYWxsYmFjayk7CiB9CiAKK0pTUmV0YWluUHRyPEpTU3Ry
aW5nUmVmPiBVSVNjcmlwdENvbnRyb2xsZXI6OnVuZG9BY3Rpb25OYW1lKCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gbnVsbHB0cjsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IFVJU2NyaXB0
Q29udHJvbGxlcjo6cmVkb0FjdGlvbk5hbWUoKSBjb25zdAoreworICAgIHJldHVybiBudWxscHRy
OworfQorCitOU1VuZG9NYW5hZ2VyICpVSVNjcmlwdENvbnRyb2xsZXI6OnBsYXRmb3JtVW5kb01h
bmFnZXIoKSBjb25zdAoreworICAgIHJldHVybiBuaWw7Cit9CisKIH0KIAogI2VuZGlmIC8vIFBM
QVRGT1JNKE1BQykKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRD
b250ZXh0L0JpbmRpbmdzL1VJU2NyaXB0Q29udHJvbGxlci5pZGwgYi9Ub29scy9UZXN0UnVubmVy
U2hhcmVkL1VJU2NyaXB0Q29udGV4dC9CaW5kaW5ncy9VSVNjcmlwdENvbnRyb2xsZXIuaWRsCmlu
ZGV4IDU0MjRiYThhOGNmYmU0YWQ4MTRjMGRhYmU2MTE3MzM3ZWVkZjk2N2MuLmM5YTRiYmYxYzVl
YjFhNWYxMWRkMjgwMjE0YzNjYWQ5ZTBhNTA2NGUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RSdW5u
ZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0L0JpbmRpbmdzL1VJU2NyaXB0Q29udHJvbGxlci5pZGwK
KysrIGIvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQvQmluZGluZ3MvVUlT
Y3JpcHRDb250cm9sbGVyLmlkbApAQCAtMjkwLDggKzI5MCwxMSBAQCBpbnRlcmZhY2UgVUlTY3Jp
cHRDb250cm9sbGVyIHsKICAgICB2b2lkIG1ha2VXaW5kb3dDb250ZW50Vmlld0ZpcnN0UmVzcG9u
ZGVyKCk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gaXNXaW5kb3dDb250ZW50Vmll
d0ZpcnN0UmVzcG9uZGVyOwogCisgICAgb2JqZWN0IGF0dGFjaG1lbnRJbmZvKERPTVN0cmluZyBh
dHRhY2htZW50SWRlbnRpZmllcik7CisKKyAgICAvLyBFZGl0aW5nCiAgICAgdm9pZCBkcmF3U3F1
YXJlSW5FZGl0YWJsZUltYWdlKCk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgbnVtYmVy
T2ZTdHJva2VzSW5FZGl0YWJsZUltYWdlOwotCi0gICAgb2JqZWN0IGF0dGFjaG1lbnRJbmZvKERP
TVN0cmluZyBhdHRhY2htZW50SWRlbnRpZmllcik7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERP
TVN0cmluZyB1bmRvQWN0aW9uTmFtZTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5n
IHJlZG9BY3Rpb25OYW1lOwogfTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQv
VUlTY3JpcHRDb250ZXh0L1VJU2NyaXB0Q29udHJvbGxlci5jcHAgYi9Ub29scy9UZXN0UnVubmVy
U2hhcmVkL1VJU2NyaXB0Q29udGV4dC9VSVNjcmlwdENvbnRyb2xsZXIuY3BwCmluZGV4IGE1YmFh
MDZjZDUzMzIwMDU5OWYzYWY1Njg5M2UzNzVmNmUwMjMzYzEuLmQxNjNhYjg3ZGRiOWUyMTg2OWNh
NjcwMjYzMDc4NTBlNTFhNzFjOWEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQv
VUlTY3JpcHRDb250ZXh0L1VJU2NyaXB0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvVGVzdFJ1
bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQvVUlTY3JpcHRDb250cm9sbGVyLmNwcApAQCAtMjQ1
LDYgKzI0NSwxNiBAQCB2b2lkIFVJU2NyaXB0Q29udHJvbGxlcjo6dG9nZ2xlQ2Fwc0xvY2soSlNW
YWx1ZVJlZikKIHsKIH0KIAorSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IFVJU2NyaXB0Q29udHJv
bGxlcjo6dW5kb0FjdGlvbk5hbWUoKSBjb25zdAoreworICAgIHJldHVybiBudWxscHRyOworfQor
CitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gVUlTY3JpcHRDb250cm9sbGVyOjpyZWRvQWN0aW9u
TmFtZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKICNlbmRpZiAvLyAhUExB
VEZPUk0oQ09DT0EpCiAKIHZvaWQgVUlTY3JpcHRDb250cm9sbGVyOjpwbGF5QmFja0V2ZW50U3Ry
ZWFtKEpTU3RyaW5nUmVmIHN0cmVhbSwgSlNWYWx1ZVJlZiBjYWxsYmFjaykKQEAgLTU2OSw2ICs1
NzksMTYgQEAgdm9pZCBVSVNjcmlwdENvbnRyb2xsZXI6Om92ZXJyaWRlUHJlZmVyZW5jZShKU1N0
cmluZ1JlZiwgSlNTdHJpbmdSZWYpCiB7CiB9CiAKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBV
SVNjcmlwdENvbnRyb2xsZXI6OnVuZG9BY3Rpb25OYW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
bnVsbHB0cjsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IFVJU2NyaXB0Q29udHJvbGxl
cjo6cmVkb0FjdGlvbk5hbWUoKSBjb25zdAoreworICAgIHJldHVybiBudWxscHRyOworfQorCiAj
ZW5kaWYgLy8gIVBMQVRGT1JNKENPQ09BKQogCiAjaWYgIVBMQVRGT1JNKE1BQykKZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0L1VJU2NyaXB0Q29udHJv
bGxlci5oIGIvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQvVUlTY3JpcHRD
b250cm9sbGVyLmgKaW5kZXggZDNmYjFjYmIwOTI1MGE4Mjc5ZGZjYjI4YmJmOGM5MDI3ZjcwMjFj
Yi4uZmY3YThlOTU0MTY5MGQyNmUwMzZkODM1ZDQ4ODM3NWFiMjcyMGU4ZiAxMDA2NDQKLS0tIGEv
VG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQvVUlTY3JpcHRDb250cm9sbGVy
LmgKKysrIGIvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQvVUlTY3JpcHRD
b250cm9sbGVyLmgKQEAgLTMxLDYgKzMxLDggQEAKICNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4K
ICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAKK09CSkNfQ0xBU1MgTlNVbmRvTWFuYWdlcjsKKwogbmFt
ZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRmxvYXRSZWN0OwogfQpAQCAtMjA2LDYgKzIwOCw5IEBA
IHB1YmxpYzoKICAgICB2b2lkIGRyYXdTcXVhcmVJbkVkaXRhYmxlSW1hZ2UoKTsKICAgICBsb25n
IG51bWJlck9mU3Ryb2tlc0luRWRpdGFibGVJbWFnZSgpOwogCisgICAgSlNSZXRhaW5QdHI8SlNT
dHJpbmdSZWY+IHVuZG9BY3Rpb25OYW1lKCkgY29uc3Q7CisgICAgSlNSZXRhaW5QdHI8SlNTdHJp
bmdSZWY+IHJlZG9BY3Rpb25OYW1lKCkgY29uc3Q7CisKICAgICBKU09iamVjdFJlZiBhdHRhY2ht
ZW50SW5mbyhKU1N0cmluZ1JlZiBhdHRhY2htZW50SWRlbnRpZmllcik7CiAKIHByaXZhdGU6CkBA
IC0yMjUsNiArMjMwLDEwIEBAIHByaXZhdGU6CiAgICAgdm9pZCBwbGF0Zm9ybUNsZWFyQWxsQ2Fs
bGJhY2tzKCk7CiAgICAgdm9pZCBwbGF0Zm9ybVBsYXlCYWNrRXZlbnRTdHJlYW0oSlNTdHJpbmdS
ZWYsIEpTVmFsdWVSZWYpOwogCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgTlNVbmRvTWFuYWdl
ciAqcGxhdGZvcm1VbmRvTWFuYWdlcigpIGNvbnN0OworI2VuZGlmCisKICAgICBKU0NsYXNzUmVm
IHdyYXBwZXJDbGFzcygpIGZpbmFsOwogCiAgICAgSlNPYmplY3RSZWYgb2JqZWN0RnJvbVJlY3Qo
Y29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JikgY29uc3Q7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL1VJU2NyaXB0Q29udHJvbGxlckNvY29hLm1tIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9VSVNjcmlwdENvbnRyb2xsZXJDb2NvYS5tbQppbmRleCBhN2I5OGU0MDRiODMxMDIy
OTQ5MzdmNjQ2ZjY0ZWNmODkyNTcxMmY2Li43M2E2Yzk4YWU2ZmVjZjFhMzc1YmRhY2U5YWM4YmRi
MDNlZmIzNjRmIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1VJU2NyaXB0Q29u
dHJvbGxlckNvY29hLm1tCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVUlTY3JpcHRDb250
cm9sbGVyQ29jb2EubW0KQEAgLTE5Miw1ICsxOTIsMTUgQEAgSlNPYmplY3RSZWYgVUlTY3JpcHRD
b250cm9sbGVyOjpjYWxlbmRhclR5cGUoKSBjb25zdAogICAgIHJldHVybiBudWxscHRyOwogI2Vu
ZGlmCiB9Ci0gICAgCisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBVSVNjcmlwdENvbnRyb2xs
ZXI6OnVuZG9BY3Rpb25OYW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVX
aXRoQ0ZTdHJpbmcoKF9fYnJpZGdlIENGU3RyaW5nUmVmKXBsYXRmb3JtVW5kb01hbmFnZXIoKS51
bmRvQWN0aW9uTmFtZSk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBVSVNjcmlwdENv
bnRyb2xsZXI6OnJlZG9BY3Rpb25OYW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdD
cmVhdGVXaXRoQ0ZTdHJpbmcoKF9fYnJpZGdlIENGU3RyaW5nUmVmKXBsYXRmb3JtVW5kb01hbmFn
ZXIoKS5yZWRvQWN0aW9uTmFtZSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdUUgpkaWZmIC0tZ2l0
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tCmluZGV4
IDRhYTk0MjkwNTc4NzQ4Y2Y4MWJjNTM1NTA3NmRmYTI3YThhODFjNWQuLmU2NTQwMzk0NTRlYTAx
OTc4YzhjZTQ1MDU1OTY3ODFiYmE4NzVmYmUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1MubW0KQEAgLTk3MSw2ICs5NzEsMTEgQEAg
SlNPYmplY3RSZWYgVUlTY3JpcHRDb250cm9sbGVyOjphdHRhY2htZW50SW5mbyhKU1N0cmluZ1Jl
ZiBqc0F0dGFjaG1lbnRJZGVudGlmaWUKICAgICByZXR1cm4gSlNWYWx1ZVRvT2JqZWN0KG1fY29u
dGV4dC0+anNDb250ZXh0KCksIFtKU1ZhbHVlIHZhbHVlV2l0aE9iamVjdDphdHRhY2htZW50SW5m
b0RpY3Rpb25hcnkgaW5Db250ZXh0OltKU0NvbnRleHQgY29udGV4dFdpdGhKU0dsb2JhbENvbnRl
eHRSZWY6bV9jb250ZXh0LT5qc0NvbnRleHQoKV1dLkpTVmFsdWVSZWYsIG51bGxwdHIpOwogfQog
CitOU1VuZG9NYW5hZ2VyICpVSVNjcmlwdENvbnRyb2xsZXI6OnBsYXRmb3JtVW5kb01hbmFnZXIo
KSBjb25zdAoreworICAgIHJldHVybiBbKFVJVmlldyAqKVtUZXN0Q29udHJvbGxlcjo6c2luZ2xl
dG9uKCkubWFpbldlYlZpZXcoKS0+cGxhdGZvcm1WaWV3KCkgdmFsdWVGb3JLZXlQYXRoOkAiX2N1
cnJlbnRDb250ZW50VmlldyJdIHVuZG9NYW5hZ2VyXTsKK30KKwogfQogCiAjZW5kaWYgLy8gUExB
VEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFj
L1VJU2NyaXB0Q29udHJvbGxlck1hYy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL1VJ
U2NyaXB0Q29udHJvbGxlck1hYy5tbQppbmRleCAyMTg4ODExNTJhODk1Y2RkYjZhN2Y0MDcxNmYx
OTAwYTVkNzdhYzNiLi43NTdmYTA2YmQ3OGYxODMzZjEzYjM4Y2JjOWIwMzBmOTM0MTk3NjNmIDEw
MDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9VSVNjcmlwdENvbnRyb2xsZXJN
YWMubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvVUlTY3JpcHRDb250cm9sbGVy
TWFjLm1tCkBAIC0yMDksNCArMjA5LDkgQEAgdm9pZCBVSVNjcmlwdENvbnRyb2xsZXI6OnRvZ2ds
ZUNhcHNMb2NrKEpTVmFsdWVSZWYgY2FsbGJhY2spCiAgICAgZG9Bc3luY1Rhc2soY2FsbGJhY2sp
OwogfQogCitOU1VuZG9NYW5hZ2VyICpVSVNjcmlwdENvbnRyb2xsZXI6OnBsYXRmb3JtVW5kb01h
bmFnZXIoKSBjb25zdAoreworICAgIHJldHVybiBUZXN0Q29udHJvbGxlcjo6c2luZ2xldG9uKCku
bWFpbldlYlZpZXcoKS0+cGxhdGZvcm1WaWV3KCkudW5kb01hbmFnZXI7Cit9CisKIH0gLy8gbmFt
ZXNwYWNlIFdUUgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDA0ODRlZTljODNlNzdlYzk5NGQ2NTUwYTgyYTA1MzA5NzM5OGYy
OGUuLjk1YWYzOTVkOGM0YzFhYzI5MTZjNWYyOWVjYzFhOTYyZjU3NjZmZDYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MiBAQAorMjAxOS0wMS0xOSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxl
LmNvbT4KKworICAgICAgICBbQ29jb2FdIEltcGxlbWVudCBVbmRvTWFuYWdlci5hZGRJdGVtKCkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzcyMAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQ4MDcwNDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgZmV3IG5ldyBsYXlvdXQgdGVzdHMgY292
ZXJpbmcgYFVuZG9NYW5hZ2VyLmFkZEl0ZW0oKWAuCisKKyAgICAgICAgKiBlZGl0aW5nL3VuZG8t
bWFuYWdlci91bmRvLW1hbmFnZXItYWRkLWl0ZW0tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3VuZG8tbWFuYWdlci91bmRvLW1hbmFnZXItYWRkLWl0ZW0uaHRtbDogQWRk
ZWQuCisKKyAgICAgICAgQWRkIGEgdGVzdCB0aGF0IGV4ZXJjaXNlcyB0aGUgbmV3IEFQSSBpbiBi
b3RoIHRoZSB0b3AtbGV2ZWwgY29udGV4dCBhbmQgYSBjaGlsZCBmcmFtZS4KKworICAgICAgICAq
IGVkaXRpbmcvdW5kby1tYW5hZ2VyL3VuZG8tbWFuYWdlci1kZWxldGUtc3RhbGUtdW5kby1pdGVt
cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvdW5kby1tYW5hZ2VyL3Vu
ZG8tbWFuYWdlci1kZWxldGUtc3RhbGUtdW5kby1pdGVtcy5odG1sOiBBZGRlZC4KKworICAgICAg
ICBBZGQgYSB0ZXN0IHRvIHZlcmlmeSB0aGF0IGFmdGVyIGFkZGluZyB1bmRvIGl0ZW1zLCB1bmRv
aW5nLCBhbmQgdGhlbiBwZXJmb3JtaW5nIG90aGVyIGVkaXQgYWN0aW9ucywgZ2FyYmFnZQorICAg
ICAgICBjb2xsZWN0aW9uIHdpbGwgZGVzdHJveSBKUyB3cmFwcGVycyBmb3IgdGhlIHByZXZpb3Vz
bHkgYWRkZWQgVW5kb0l0ZW1zLCBzaW5jZSB0aGVzZSB1bmRvIGl0ZW1zJyBoYW5kbGVycyBjYW4g
bm8KKyAgICAgICAgbG9uZ2VyIGJlIGludm9rZWQuCisKKyAgICAgICAgKiBlZGl0aW5nL3VuZG8t
bWFuYWdlci91bmRvLW1hbmFnZXItaXRlbS1sYWJlbHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3VuZG8tbWFuYWdlci91bmRvLW1hbmFnZXItaXRlbS1sYWJlbHMuaHRt
bDogQWRkZWQuCisKKyAgICAgICAgQWRkIGEgdGVzdCB2ZXJpZnlpbmcgdGhhdCB0aGUgdW5kbyBh
bmQgcmVkbyBhY3Rpb24gbGFiZWxzIGFyZSB1cGRhdGVkIGNvcnJlY3RseSB3aGVuIHVuZG9pbmcg
YW5kIHJlZG9pbmcuCisKKyAgICAgICAgKiBlZGl0aW5nL3VuZG8tbWFuYWdlci91bmRvLW1hbmFn
ZXItdW5kby1yZWRvLWFmdGVyLWdhcmJhZ2UtY29sbGVjdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvdW5kby1tYW5hZ2VyL3VuZG8tbWFuYWdlci11bmRvLXJlZG8t
YWZ0ZXItZ2FyYmFnZS1jb2xsZWN0aW9uLmh0bWw6IEFkZGVkLgorCisgICAgICAgIEFkZCBhIHRl
c3QgdG8gdmVyaWZ5IHRoYXQgdHJpZ2dlcmluZyBnYXJiYWdlIGNvbGxlY3Rpb24gYWZ0ZXIgYWRk
aW5nIGFuIHVuZG8gaXRlbSB3aXRob3V0IGtlZXBpbmcgcmVmZXJlbmNlcyB0bworICAgICAgICB0
aGUgaXRlbSAob3IgaXRzIHVuZG8vcmVkbyBoYW5kbGVycykgZG9lc24ndCBicmVhayB0aGUgQVBJ
LgorCisgICAgICAgICogcmVzb3VyY2VzL3VpLWhlbHBlci5qczoKKyAgICAgICAgKHdpbmRvdy5V
SUhlbHBlci51bmRvQW5kUmVkb0FjdGlvbk5hbWVzKToKKyAgICAgICAgKHdpbmRvdy5VSUhlbHBl
cik6CisKKyAgICAgICAgQWRkIGEgaGVscGVyIG1ldGhvZCB0byBncmFiIHRoZSBwbGF0Zm9ybSdz
IGN1cnJlbnQgdW5kbyBhbmQgcmVkbyBhY3Rpb24gbmFtZXMuCisKIDIwMTktMDEtMjIgIFNpbW9u
IEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkaW5nIGEgY2hp
bGQgdG8gYSBTY3JvbGxpbmdTdGF0ZU5vZGUgbmVlZHMgdG8gdHJpZ2dlciBhIHRyZWUgc3RhdGUg
Y29tbWl0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG8tbWFuYWdlci91bmRv
LW1hbmFnZXItYWRkLWl0ZW0tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy91bmRv
LW1hbmFnZXIvdW5kby1tYW5hZ2VyLWFkZC1pdGVtLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45
NTZkYTg5OTE2YzdiZjQ0MDgxNmE1NTFlZmVhY2Q3MzQwZDgxMzZkCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy91bmRvLW1hbmFnZXIvdW5kby1tYW5hZ2VyLWFkZC1pdGVt
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMyIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBV
bmRvTWFuYWdlci5hZGRJdGVtKCkgY2FuIGJlIHVzZWQgdG8gYWRkIHVuZG8gaXRlbXMgdG8gdGhl
IHBsYXRmb3JtIHVuZG8gc3RhY2suCisKKworQWZ0ZXIgYWRkaW5nIGFuIHVuZG8gaXRlbSAobWFp
bmZyYW1lKToKK1BBU1MgdW5kb05hbWUgaXMgIm1haW5mcmFtZSIKK1BBU1MgcmVkb05hbWUgaXMg
IiIKK0FmdGVyIHBlcmZvcm1pbmcgdW5kbyAobWFpbmZyYW1lKToKKyoqIFVORE8gKioKK1BBU1Mg
dW5kb05hbWUgaXMgIiIKK1BBU1MgcmVkb05hbWUgaXMgIm1haW5mcmFtZSIKK0FmdGVyIHBlcmZv
cm1pbmcgcmVkbyAobWFpbmZyYW1lKToKKyoqIFJFRE8gKioKK1BBU1MgdW5kb05hbWUgaXMgIm1h
aW5mcmFtZSIKK1BBU1MgcmVkb05hbWUgaXMgIiIKK0FmdGVyIGFkZGluZyBhbiB1bmRvIGl0ZW0g
KHN1YmZyYW1lKToKK1BBU1MgdW5kb05hbWUgaXMgInN1YmZyYW1lIgorUEFTUyByZWRvTmFtZSBp
cyAiIgorQWZ0ZXIgcGVyZm9ybWluZyB1bmRvIChzdWJmcmFtZSk6CitQQVNTIHVuZG9OYW1lIGlz
ICJtYWluZnJhbWUiCitQQVNTIHJlZG9OYW1lIGlzICJzdWJmcmFtZSIKK0FmdGVyIHBlcmZvcm1p
bmcgcmVkbyAoc3ViZnJhbWUpOgorUEFTUyB1bmRvTmFtZSBpcyAic3ViZnJhbWUiCitQQVNTIHJl
ZG9OYW1lIGlzICIiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKworCistLS0tLS0tLQorRnJhbWU6ICc8IS0tZnJhbWUxLS0+JworLS0tLS0tLS0KK1VO
RE8sIFJFRE8KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvdW5kby1tYW5hZ2VyL3Vu
ZG8tbWFuYWdlci1hZGQtaXRlbS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy91bmRvLW1hbmFn
ZXIvdW5kby1tYW5hZ2VyLWFkZC1pdGVtLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmVjNjE4OTBiMWI4MWZm
N2U1MDNlOGJiMzVjYjg1OGQ5MmE3YzU5MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvdW5kby1tYW5hZ2VyL3VuZG8tbWFuYWdlci1hZGQtaXRlbS5odG1sCkBAIC0wLDAg
KzEsOTMgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJs
ZVVuZG9NYW5hZ2VyQVBJPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQ+CisgICAgICAgIGZ1bmN0aW9uIGFkZFVuZG9JdGVtKCkKKyAgICAgICAg
eworICAgICAgICAgICAgZG9jdW1lbnQudW5kb01hbmFnZXIuYWRkSXRlbShuZXcgVW5kb0l0ZW0o
eworICAgICAgICAgICAgICAgIGxhYmVsOiAibWFpbmZyYW1lIiwKKyAgICAgICAgICAgICAgICB1
bmRvOiAoKSA9PiBkZWJ1ZygiKiogVU5ETyAqKiIpLAorICAgICAgICAgICAgICAgIHJlZG86ICgp
ID0+IGRlYnVnKCIqKiBSRURPICoqIikKKyAgICAgICAgICAgIH0pKTsKKyAgICAgICAgfQorICAg
ICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IDxjb2RlPlVuZG9NYW5hZ2VyLmFkZEl0ZW0oKTwvY29kZT4gY2Fu
IGJlIHVzZWQgdG8gYWRkIHVuZG8gaXRlbXMgdG8gdGhlIHBsYXRmb3JtIHVuZG8gc3RhY2suPC9w
PgorICAgICAgICA8aWZyYW1lIGlkPSJmcmFtZSIgc3JjZG9jPSIKKyAgICAgICAgICAgIDxib2R5
PgorICAgICAgICAgICAgICAgIDxwcmUgaWQ9J291dHB1dCc+PC9wcmU+CisgICAgICAgICAgICA8
L2JvZHk+CisgICAgICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgZnVuY3Rpb24gYXBwZW5k
T3V0cHV0KHN0cmluZykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBpZiAob3V0cHV0
LnRleHRDb250ZW50Lmxlbmd0aCkKKyAgICAgICAgICAgICAgICAgICAgb3V0cHV0LnRleHRDb250
ZW50ICs9ICcsICc7CisgICAgICAgICAgICAgICAgb3V0cHV0LnRleHRDb250ZW50ICs9IHN0cmlu
ZzsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gYWRkVW5kb0l0ZW0oKQor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGRvY3VtZW50LnVuZG9NYW5hZ2VyLmFkZEl0
ZW0obmV3IFVuZG9JdGVtKHsKKyAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdzdWJmcmFtZScs
CisgICAgICAgICAgICAgICAgICAgIHVuZG86ICgpID0+IGFwcGVuZE91dHB1dCgnVU5ETycpLAor
ICAgICAgICAgICAgICAgICAgICByZWRvOiAoKSA9PiBhcHBlbmRPdXRwdXQoJ1JFRE8nKQorICAg
ICAgICAgICAgICAgIH0pKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIDwvc2NyaXB0Pgor
ICAgICAgICAiPjwvaWZyYW1lPgorICAgICAgICA8cHJlIGlkPSdjb25zb2xlJz48L3ByZT4KKyAg
ICA8L2JvZHk+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7Cisg
ICAgICAgIHVuZG9OYW1lID0gbnVsbDsKKyAgICAgICAgcmVkb05hbWUgPSBudWxsOworCisgICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcENo
aWxkRnJhbWVzQXNUZXh0KCk7CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgIGRlYnVnKCJBZnRlciBhZGRpbmcgYW4gdW5kbyBpdGVt
IChtYWluZnJhbWUpOiIpOworICAgICAgICAgICAgYWRkVW5kb0l0ZW0oKTsKKyAgICAgICAgICAg
IFt1bmRvTmFtZSwgcmVkb05hbWVdID0gYXdhaXQgVUlIZWxwZXIudW5kb0FuZFJlZG9BY3Rpb25O
YW1lcygpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1bmRvTmFtZSIsICJt
YWluZnJhbWUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicmVkb05hbWUi
LCAiIik7CisKKyAgICAgICAgICAgIGRlYnVnKCJBZnRlciBwZXJmb3JtaW5nIHVuZG8gKG1haW5m
cmFtZSk6Iik7CisgICAgICAgICAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgidW5kbyIpOworICAg
ICAgICAgICAgW3VuZG9OYW1lLCByZWRvTmFtZV0gPSBhd2FpdCBVSUhlbHBlci51bmRvQW5kUmVk
b0FjdGlvbk5hbWVzKCk7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVuZG9O
YW1lIiwgIiIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJyZWRvTmFtZSIs
ICJtYWluZnJhbWUiKTsKKworICAgICAgICAgICAgZGVidWcoIkFmdGVyIHBlcmZvcm1pbmcgcmVk
byAobWFpbmZyYW1lKToiKTsKKyAgICAgICAgICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJyZWRv
Iik7CisgICAgICAgICAgICBbdW5kb05hbWUsIHJlZG9OYW1lXSA9IGF3YWl0IFVJSGVscGVyLnVu
ZG9BbmRSZWRvQWN0aW9uTmFtZXMoKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidW5kb05hbWUiLCAibWFpbmZyYW1lIik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInJlZG9OYW1lIiwgIiIpOworCisgICAgICAgICAgICBjb25zdCBmcmFtZVdpbmRvdyA9
IGZyYW1lLmNvbnRlbnRXaW5kb3c7CisKKyAgICAgICAgICAgIGRlYnVnKCJBZnRlciBhZGRpbmcg
YW4gdW5kbyBpdGVtIChzdWJmcmFtZSk6Iik7CisgICAgICAgICAgICBmcmFtZVdpbmRvdy5hZGRV
bmRvSXRlbSgpOworICAgICAgICAgICAgW3VuZG9OYW1lLCByZWRvTmFtZV0gPSBhd2FpdCBVSUhl
bHBlci51bmRvQW5kUmVkb0FjdGlvbk5hbWVzKCk7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInVuZG9OYW1lIiwgInN1YmZyYW1lIik7CisgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInJlZG9OYW1lIiwgIiIpOworCisgICAgICAgICAgICBkZWJ1ZygiQWZ0ZXIg
cGVyZm9ybWluZyB1bmRvIChzdWJmcmFtZSk6Iik7CisgICAgICAgICAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgidW5kbyIpOworICAgICAgICAgICAgW3VuZG9OYW1lLCByZWRvTmFtZV0gPSBhd2Fp
dCBVSUhlbHBlci51bmRvQW5kUmVkb0FjdGlvbk5hbWVzKCk7CisgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInVuZG9OYW1lIiwgIm1haW5mcmFtZSIpOworICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJyZWRvTmFtZSIsICJzdWJmcmFtZSIpOworCisgICAgICAgICAg
ICBkZWJ1ZygiQWZ0ZXIgcGVyZm9ybWluZyByZWRvIChzdWJmcmFtZSk6Iik7CisgICAgICAgICAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgicmVkbyIpOworICAgICAgICAgICAgW3VuZG9OYW1lLCBy
ZWRvTmFtZV0gPSBhd2FpdCBVSUhlbHBlci51bmRvQW5kUmVkb0FjdGlvbk5hbWVzKCk7CisgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVuZG9OYW1lIiwgInN1YmZyYW1lIik7Cisg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInJlZG9OYW1lIiwgIiIpOworCisgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgfSk7CisgICAgPC9zY3JpcHQ+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG8tbWFuYWdlci91bmRvLW1h
bmFnZXItZGVsZXRlLXN0YWxlLXVuZG8taXRlbXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy91bmRvLW1hbmFnZXIvdW5kby1tYW5hZ2VyLWRlbGV0ZS1zdGFsZS11bmRvLWl0ZW1z
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43N2UxY2MyZGE1NjMzZWU3MWE5OTEyYTFjZTBlYmY2
MWFjZjVlY2I4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy91bmRvLW1h
bmFnZXIvdW5kby1tYW5hZ2VyLWRlbGV0ZS1zdGFsZS11bmRvLWl0ZW1zLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEwIEBACitFCitWZXJpZmllcyB0aGF0IEpTVW5kb0l0ZW1zIGFyZSBkZWxldGVk
IHdoZW4gdGhleSBhcmUgbm8gbG9uZ2VyIG5lZWRlZCBieSB0aGUgcGxhdGZvcm0gY2xpcGJvYXJk
LiBUaGlzIHRlc3QgcmVxdWlyZXMgV2ViS2l0VGVzdFJ1bm5lci4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIG9iamVjdENvdW50QmVmb3JlQ2xlYXJpbmdVbmRvU3RhY2sgLSBv
YmplY3RDb3VudEFmdGVyQ2xlYXJpbmdVbmRvU3RhY2sgaXMgPj0gNTgwCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy91bmRvLW1hbmFnZXIvdW5kby1tYW5hZ2VyLWRlbGV0ZS1zdGFsZS11bmRv
LWl0ZW1zLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG8tbWFuYWdlci91bmRvLW1hbmFn
ZXItZGVsZXRlLXN0YWxlLXVuZG8taXRlbXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNTI4OTAwNTZmNTkz
NjU2YzFkNzk1NGU5OGM4MDI3NWFlOTM0Y2E2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy91bmRvLW1hbmFnZXIvdW5kby1tYW5hZ2VyLWRlbGV0ZS1zdGFsZS11bmRvLWl0
ZW1zLmh0bWwKQEAgLTAsMCArMSw2NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgZW5hYmxlVW5kb01hbmFnZXJBUEk9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi9lZGl0aW5nLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAganNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgZnVuY3Rpb24gb2JqZWN0Q291bnRBZnRlclNp
bXVsYXRpbmdNZW1vcnlQcmVzc3VyZUFuZEdhcmJhZ2VDb2xsZWN0aW9uKCkgeworICAgICAgICAg
ICAgaW50ZXJuYWxzLmJlZ2luU2ltdWxhdGVkTWVtb3J5UHJlc3N1cmUoKTsKKyAgICAgICAgICAg
IGludGVybmFscy5lbmRTaW11bGF0ZWRNZW1vcnlQcmVzc3VyZSgpOworICAgICAgICAgICAgR0ND
b250cm9sbGVyLmNvbGxlY3QoKTsKKyAgICAgICAgICAgIHJldHVybiBHQ0NvbnRyb2xsZXIuZ2V0
SlNPYmplY3RDb3VudCgpOworICAgICAgICB9CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJWZXJpZmllcyB0aGF0IEpTVW5kb0l0
ZW1zIGFyZSBkZWxldGVkIHdoZW4gdGhleSBhcmUgbm8gbG9uZ2VyIG5lZWRlZCBieSB0aGUgcGxh
dGZvcm0gY2xpcGJvYXJkLiBUaGlzIHRlc3QgcmVxdWlyZXMgV2ViS2l0VGVzdFJ1bm5lci4iKTsK
KworICAgICAgICAgICAgaWYgKCF3aW5kb3cuR0NDb250cm9sbGVyKQorICAgICAgICAgICAgICAg
IHJldHVybjsKKworICAgICAgICAgICAgZWRpdG9yID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVkaXRvciIpOworICAgICAgICAgICAgZWRpdG9yLmZvY3VzKCk7CisKKyAgICAgICAgICAgIGNv
bnN0IHVuZG9JdGVtQ291bnQgPSAyMDA7CisKKyAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBp
IDwgdW5kb0l0ZW1Db3VudDsgKytpKSB7CisgICAgICAgICAgICAgICAgZG9jdW1lbnQudW5kb01h
bmFnZXIuYWRkSXRlbShuZXcgVW5kb0l0ZW0oeworICAgICAgICAgICAgICAgICAgICBsYWJlbDog
IiIsCisgICAgICAgICAgICAgICAgICAgIHVuZG86ICgpID0+IHsgfSwKKyAgICAgICAgICAgICAg
ICAgICAgcmVkbzogKCkgPT4geyB9CisgICAgICAgICAgICAgICAgfSkpOworICAgICAgICAgICAg
fQorCisgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHVuZG9JdGVtQ291bnQ7ICsraSkK
KyAgICAgICAgICAgICAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiVW5kbyIpOworCisgICAgICAg
ICAgICBvYmplY3RDb3VudEJlZm9yZUNsZWFyaW5nVW5kb1N0YWNrID0gb2JqZWN0Q291bnRBZnRl
clNpbXVsYXRpbmdNZW1vcnlQcmVzc3VyZUFuZEdhcmJhZ2VDb2xsZWN0aW9uKCk7CisKKyAgICAg
ICAgICAgIHNlbGVjdEFsbENvbW1hbmQoKTsKKyAgICAgICAgICAgIHR5cGVDaGFyYWN0ZXJDb21t
YW5kKCJFIik7CisKKyAgICAgICAgICAgIC8vIFdhaXQgdW50aWwgYWxtb3N0IGFsbCBvZiB0aGUg
d3JhcHBlcnMgYXJlIGNvbGxlY3RlZC4gRm9yIGVhY2ggVW5kb0l0ZW0sIHdlIGV4cGVjdCBhIHRv
dGFsIG9mIDMgd3JhcHBlcnM6CisgICAgICAgICAgICAvLyBvbmUgZWFjaCBmb3IgdGhlIHVuZG8g
YW5kIHJlZG8gaGFuZGxlcnMsIGFuZCBvbmUgZm9yIHRoZSBVbmRvSXRlbSBpdHNlbGYuIEhvd2V2
ZXIsIHdlIGFsc28gZ2l2ZSBvdXJzZWx2ZXMKKyAgICAgICAgICAgIC8vIHNvbWUgd2lnZ2xlIHJv
b20gZm9yIGFkZGl0aW9uYWwgd3JhcHBlcnMgY3JlYXRlZCB3aGVuIGNhbGxpbmcgc29tZSB0ZXN0
aW5nIGhlbHBlciBmdW5jdGlvbnMuIFRoaXMgaXMKKyAgICAgICAgICAgIC8vIHN0aWxsIGEgdXNl
ZnVsIHRlc3QsIHNpbmNlIGl0IHdpbGwgdGltZSBvdXQgaW4gdGhlIGNhc2Ugd2hlcmUgZWl0aGVy
IG91ciB1bmRvIGl0ZW1zIG9yIHRoZWlyIHVuZG8vcmVkbworICAgICAgICAgICAgLy8gaGFuZGxl
cnMgYXJlIG5vdCBwcm9wZXJseSByZWxpbnF1aXNoZWQgb25jZSB0aGV5J3JlIG5vIGxvbmdlciBu
ZWVkZWQuCisgICAgICAgICAgICBjb25zdCBtaW5pbXVtTnVtYmVyT2ZXcmFwcGVyc1RvQ29sbGVj
dEJlZm9yZVBhc3NpbmcgPSAzICogdW5kb0l0ZW1Db3VudCAtIDIwOworICAgICAgICAgICAgb2Jq
ZWN0Q291bnRBZnRlckNsZWFyaW5nVW5kb1N0YWNrID0gb2JqZWN0Q291bnRCZWZvcmVDbGVhcmlu
Z1VuZG9TdGFjazsKKyAgICAgICAgICAgIHdoaWxlIChvYmplY3RDb3VudEJlZm9yZUNsZWFyaW5n
VW5kb1N0YWNrIC0gb2JqZWN0Q291bnRBZnRlckNsZWFyaW5nVW5kb1N0YWNrIDwgbWluaW11bU51
bWJlck9mV3JhcHBlcnNUb0NvbGxlY3RCZWZvcmVQYXNzaW5nKSB7CisgICAgICAgICAgICAgICAg
YXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDEwMCkpOwor
ICAgICAgICAgICAgICAgIG9iamVjdENvdW50QWZ0ZXJDbGVhcmluZ1VuZG9TdGFjayA9IG9iamVj
dENvdW50QWZ0ZXJTaW11bGF0aW5nTWVtb3J5UHJlc3N1cmVBbmRHYXJiYWdlQ29sbGVjdGlvbigp
OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBzaG91bGRCZUdyZWF0ZXJUaGFuT3JFcXVh
bCgib2JqZWN0Q291bnRCZWZvcmVDbGVhcmluZ1VuZG9TdGFjayAtIG9iamVjdENvdW50QWZ0ZXJD
bGVhcmluZ1VuZG9TdGFjayIsIGAke21pbmltdW1OdW1iZXJPZldyYXBwZXJzVG9Db2xsZWN0QmVm
b3JlUGFzc2luZ31gKTsKKyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICB9Cisg
ICAgICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KSI+CisgICAgICAgIDxkaXYgY29udGVudGVkaXRhYmxlIGlkPSJlZGl0b3IiPjwvZGl2PgorICAg
ICAgICA8cHJlIGlkPSJkZXNjcmlwdGlvbiI+PC9wcmU+CisgICAgICAgIDxwcmUgaWQ9ImNvbnNv
bGUiPjwvcHJlPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvdW5kby1tYW5hZ2VyL3VuZG8tbWFuYWdlci1pdGVtLWxhYmVscy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG8tbWFuYWdlci91bmRvLW1hbmFnZXItaXRlbS1s
YWJlbHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2ZDc1YzE2M2E3NDQ2NGY2ODc5MzFiZjBh
YTJjYzhjYmRkM2NlMzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Vu
ZG8tbWFuYWdlci91bmRvLW1hbmFnZXItaXRlbS1sYWJlbHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKKworVmVyaWZpZXMgdGhhdCBzZXR0aW5nIHRoZSBsYWJlbCBhdHRyaWJ1dGUgb2Yg
VW5kb0l0ZW0gYWZmZWN0cyB0aGUgdW5kbyBhbmQgcmVkbyBhY3Rpb24gbmFtZXMgaW4gdGhlIHBs
YXRmb3JtIHVuZG8gbWFuYWdlci4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitBZnRl
ciB0eXBpbmc6CitQQVNTIHVuZG9OYW1lIGlzICJUeXBpbmciCitQQVNTIHJlZG9OYW1lIGlzICIi
CitBZnRlciBhZGRpbmcgdGhlIGZpcnN0IFVuZG9JdGVtOgorUEFTUyB1bmRvTmFtZSBpcyAiRmly
c3Qg8J+lhyIKK1BBU1MgcmVkb05hbWUgaXMgIiIKK0FmdGVyIGFkZGluZyB0aGUgc2Vjb25kIFVu
ZG9JdGVtOgorUEFTUyB1bmRvTmFtZSBpcyAiU2Vjb25kIPCfpYgiCitQQVNTIHJlZG9OYW1lIGlz
ICIiCitBZnRlciB1bmRvaW5nOgorUEFTUyB1bmRvTmFtZSBpcyAiRmlyc3Qg8J+lhyIKK1BBU1Mg
cmVkb05hbWUgaXMgIlNlY29uZCDwn6WIIgorQWZ0ZXIgdW5kb2luZyBhZ2FpbjoKK1BBU1MgdW5k
b05hbWUgaXMgIlR5cGluZyIKK1BBU1MgcmVkb05hbWUgaXMgIkZpcnN0IPCfpYciCitBZnRlciBy
ZWRvaW5nOgorUEFTUyB1bmRvTmFtZSBpcyAiRmlyc3Qg8J+lhyIKK1BBU1MgcmVkb05hbWUgaXMg
IlNlY29uZCDwn6WIIgorQWZ0ZXIgcmVkb2luZyBhZ2FpbjoKK1BBU1MgdW5kb05hbWUgaXMgIlNl
Y29uZCDwn6WIIgorUEFTUyByZWRvTmFtZSBpcyAiIgorQWZ0ZXIgdW5kb2luZyBhbmQgdGhlbiBw
YXN0aW5nOgorUEFTUyB1bmRvTmFtZSBpcyAiUGFzdGUiCitQQVNTIHJlZG9OYW1lIGlzICIiCitB
ZnRlciB1bmRvaW5nIHRoZSBwYXN0ZSBjb21tYW5kOgorUEFTUyB1bmRvTmFtZSBpcyAiRmlyc3Qg
8J+lhyIKK1BBU1MgcmVkb05hbWUgaXMgIlBhc3RlIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvdW5kby1tYW5hZ2VyL3VuZG8tbWFuYWdlci1pdGVtLWxhYmVscy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy91bmRvLW1hbmFnZXIvdW5kby1tYW5hZ2VyLWl0ZW0tbGFiZWxzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uY2Q2MWQ0YzcwZDdiYTIwNzYyYzM3NDRmZjM1NjEwN2ZlMWU1ZDRjYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvdW5kby1tYW5hZ2VyL3VuZG8tbWFuYWdl
ci1pdGVtLWxhYmVscy5odG1sCkBAIC0wLDAgKzEsOTUgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVVuZG9NYW5hZ2VyQVBJPXRydWUgXSAtLT4KKzxo
dG1sPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorICAgIDxoZWFkPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi9lZGl0aW5nLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisgICAgICAgIHVuZG9OYW1lID0gbnVs
bDsKKyAgICAgICAgcmVkb05hbWUgPSBudWxsOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVmVyaWZpZXMgdGhhdCBzZXR0aW5n
IHRoZSBsYWJlbCBhdHRyaWJ1dGUgb2YgVW5kb0l0ZW0gYWZmZWN0cyB0aGUgdW5kbyBhbmQgcmVk
byBhY3Rpb24gbmFtZXMgIgorICAgICAgICAgICAgICAgICsgImluIHRoZSBwbGF0Zm9ybSB1bmRv
IG1hbmFnZXIuIik7CisKKyAgICAgICAgICAgIGZpZWxkLmZvY3VzKCk7CisKKyAgICAgICAgICAg
IGRlYnVnKCJBZnRlciB0eXBpbmc6Iik7CisgICAgICAgICAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiSW5zZXJ0VGV4dCIsIHRydWUsICJoZWxsbyIpOworICAgICAgICAgICAgW3VuZG9OYW1lLCBy
ZWRvTmFtZV0gPSBhd2FpdCBVSUhlbHBlci51bmRvQW5kUmVkb0FjdGlvbk5hbWVzKCk7CisgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInVuZG9OYW1lIiwgIlR5cGluZyIpOworICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJyZWRvTmFtZSIsICIiKTsKKworICAgICAg
ICAgICAgZnVuY3Rpb24gY3JlYXRlVW5kb0l0ZW1XaXRoTGFiZWwobGFiZWxTdHJpbmcpIHsKKyAg
ICAgICAgICAgICAgICByZXR1cm4gbmV3IFVuZG9JdGVtKHsKKyAgICAgICAgICAgICAgICAgICAg
bGFiZWw6IGxhYmVsU3RyaW5nLAorICAgICAgICAgICAgICAgICAgICB1bmRvOiAoKSA9PiB7IH0s
CisgICAgICAgICAgICAgICAgICAgIHJlZG86ICgpID0+IHsgfQorICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBkZWJ1ZygiQWZ0ZXIgYWRkaW5nIHRoZSBm
aXJzdCBVbmRvSXRlbToiKTsKKyAgICAgICAgICAgIGNvbnN0IGZpcnN0SXRlbSA9IGNyZWF0ZVVu
ZG9JdGVtV2l0aExhYmVsKCJGaXJzdCDwn6WHIik7CisgICAgICAgICAgICBkb2N1bWVudC51bmRv
TWFuYWdlci5hZGRJdGVtKGZpcnN0SXRlbSk7CisgICAgICAgICAgICBbdW5kb05hbWUsIHJlZG9O
YW1lXSA9IGF3YWl0IFVJSGVscGVyLnVuZG9BbmRSZWRvQWN0aW9uTmFtZXMoKTsKKyAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidW5kb05hbWUiLCBmaXJzdEl0ZW0ubGFiZWwpOwor
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJyZWRvTmFtZSIsICIiKTsKKworICAg
ICAgICAgICAgZGVidWcoIkFmdGVyIGFkZGluZyB0aGUgc2Vjb25kIFVuZG9JdGVtOiIpOworICAg
ICAgICAgICAgY29uc3Qgc2Vjb25kSXRlbSA9IGNyZWF0ZVVuZG9JdGVtV2l0aExhYmVsKCJTZWNv
bmQg8J+liCIpOworICAgICAgICAgICAgZG9jdW1lbnQudW5kb01hbmFnZXIuYWRkSXRlbShzZWNv
bmRJdGVtKTsKKyAgICAgICAgICAgIFt1bmRvTmFtZSwgcmVkb05hbWVdID0gYXdhaXQgVUlIZWxw
ZXIudW5kb0FuZFJlZG9BY3Rpb25OYW1lcygpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ1bmRvTmFtZSIsIHNlY29uZEl0ZW0ubGFiZWwpOworICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJyZWRvTmFtZSIsICIiKTsKKworICAgICAgICAgICAgZGVidWcoIkFm
dGVyIHVuZG9pbmc6Iik7CisgICAgICAgICAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgidW5kbyIp
OworICAgICAgICAgICAgW3VuZG9OYW1lLCByZWRvTmFtZV0gPSBhd2FpdCBVSUhlbHBlci51bmRv
QW5kUmVkb0FjdGlvbk5hbWVzKCk7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InVuZG9OYW1lIiwgZmlyc3RJdGVtLmxhYmVsKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygicmVkb05hbWUiLCBzZWNvbmRJdGVtLmxhYmVsKTsKKworICAgICAgICAgICAgZGVi
dWcoIkFmdGVyIHVuZG9pbmcgYWdhaW46Iik7CisgICAgICAgICAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgidW5kbyIpOworICAgICAgICAgICAgW3VuZG9OYW1lLCByZWRvTmFtZV0gPSBhd2FpdCBV
SUhlbHBlci51bmRvQW5kUmVkb0FjdGlvbk5hbWVzKCk7CisgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInVuZG9OYW1lIiwgIlR5cGluZyIpOworICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJyZWRvTmFtZSIsIGZpcnN0SXRlbS5sYWJlbCk7CisKKyAgICAgICAgICAg
IGRlYnVnKCJBZnRlciByZWRvaW5nOiIpOworICAgICAgICAgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoInJlZG8iKTsKKyAgICAgICAgICAgIFt1bmRvTmFtZSwgcmVkb05hbWVdID0gYXdhaXQgVUlI
ZWxwZXIudW5kb0FuZFJlZG9BY3Rpb25OYW1lcygpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1bmRvTmFtZSIsIGZpcnN0SXRlbS5sYWJlbCk7CisgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInJlZG9OYW1lIiwgc2Vjb25kSXRlbS5sYWJlbCk7CisKKyAgICAg
ICAgICAgIGRlYnVnKCJBZnRlciByZWRvaW5nIGFnYWluOiIpOworICAgICAgICAgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoInJlZG8iKTsKKyAgICAgICAgICAgIFt1bmRvTmFtZSwgcmVkb05hbWVd
ID0gYXdhaXQgVUlIZWxwZXIudW5kb0FuZFJlZG9BY3Rpb25OYW1lcygpOworICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ1bmRvTmFtZSIsIHNlY29uZEl0ZW0ubGFiZWwpOworICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJyZWRvTmFtZSIsICIiKTsKKworICAgICAg
ICAgICAgZGVidWcoIkFmdGVyIHVuZG9pbmcgYW5kIHRoZW4gcGFzdGluZzoiKTsKKyAgICAgICAg
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJ1bmRvIik7CisgICAgICAgICAgICBzZWxlY3RBbGxD
b21tYW5kKCk7CisgICAgICAgICAgICBjb3B5Q29tbWFuZCgpOworICAgICAgICAgICAgcGFzdGVD
b21tYW5kKCk7CisgICAgICAgICAgICBbdW5kb05hbWUsIHJlZG9OYW1lXSA9IGF3YWl0IFVJSGVs
cGVyLnVuZG9BbmRSZWRvQWN0aW9uTmFtZXMoKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidW5kb05hbWUiLCAiUGFzdGUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygicmVkb05hbWUiLCAiIik7CisKKyAgICAgICAgICAgIGRlYnVnKCJBZnRlciB1bmRv
aW5nIHRoZSBwYXN0ZSBjb21tYW5kOiIpOworICAgICAgICAgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoInVuZG8iKTsKKyAgICAgICAgICAgIFt1bmRvTmFtZSwgcmVkb05hbWVdID0gYXdhaXQgVUlI
ZWxwZXIudW5kb0FuZFJlZG9BY3Rpb25OYW1lcygpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ1bmRvTmFtZSIsIGZpcnN0SXRlbS5sYWJlbCk7CisgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInJlZG9OYW1lIiwgIlBhc3RlIik7CisKKyAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4K
KyAgICA8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CisgICAgICAgIDxpbnB1dCBpZD0iZmllbGQi
PjwvaW5wdXQ+CisgICAgICAgIDxwcmUgaWQ9ImRlc2NyaXB0aW9uIj48L3ByZT4KKyAgICAgICAg
PHByZSBpZD0iY29uc29sZSI+PC9wcmU+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy91bmRvLW1hbmFnZXIvdW5kby1tYW5hZ2VyLXVuZG8tcmVk
by1hZnRlci1nYXJiYWdlLWNvbGxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy91bmRvLW1hbmFnZXIvdW5kby1tYW5hZ2VyLXVuZG8tcmVkby1hZnRlci1nYXJiYWdlLWNv
bGxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdjOTM5MmFkYzRkM2Q5MDU5OTA3Yzdl
Y2I1OGUxNWJhMjg0NWNhM2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3VuZG8tbWFuYWdlci91bmRvLW1hbmFnZXItdW5kby1yZWRvLWFmdGVyLWdhcmJhZ2UtY29sbGVj
dGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorQWZ0ZXIgcmVkbworVmVyaWZpZXMg
dGhhdCB1bmRvIGFuZCByZWRvIGNhbGxiYWNrIGhhbmRsZXJzIHN1cnZpdmUgZ2FyYmFnZSBjb2xs
ZWN0aW9uLiBUaGlzIHRlc3QgcmVxdWlyZXMgV2ViS2l0VGVzdFJ1bm5lci4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIHRleHQudGV4dENvbnRlbnQgaXMgIkFmdGVyIHVuZG8i
CitQQVNTIHRleHQudGV4dENvbnRlbnQgaXMgIkFmdGVyIHJlZG8iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy91bmRvLW1hbmFnZXIvdW5kby1tYW5hZ2VyLXVuZG8tcmVkby1hZnRlci1nYXJi
YWdlLWNvbGxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvdW5kby1tYW5hZ2VyL3Vu
ZG8tbWFuYWdlci11bmRvLXJlZG8tYWZ0ZXItZ2FyYmFnZS1jb2xsZWN0aW9uLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uY2FkMGNlZDRjZWU4MzNjZGExOWNlZTAzY2NhMTRiNDJhNGFhNDgyMQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvdW5kby1tYW5hZ2VyL3VuZG8tbWFuYWdlci11
bmRvLXJlZG8tYWZ0ZXItZ2FyYmFnZS1jb2xsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSwzNSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlVW5kb01hbmFn
ZXJBUEk9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPG1ldGEgY2hhcnNldD0idXRmOCI+CisgICAg
PGhlYWQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi9lZGl0aW5nLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJWZXJpZmllcyB0aGF0IHVuZG8gYW5kIHJlZG8gY2FsbGJhY2sgaGFu
ZGxlcnMgc3Vydml2ZSBnYXJiYWdlIGNvbGxlY3Rpb24uIFRoaXMgdGVzdCByZXF1aXJlcyBXZWJL
aXRUZXN0UnVubmVyLiIpOworCisgICAgICAgICAgICB0ZXh0ID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInRleHQiKTsKKworICAgICAgICAgICAgZG9jdW1lbnQudW5kb01hbmFnZXIuYWRkSXRl
bShuZXcgVW5kb0l0ZW0oeworICAgICAgICAgICAgICAgIGxhYmVsOiAiVGVzdCBhY3Rpb24iLAor
ICAgICAgICAgICAgICAgIHVuZG86ICgpID0+IHRleHQudGV4dENvbnRlbnQgPSAiQWZ0ZXIgdW5k
byIsCisgICAgICAgICAgICAgICAgcmVkbzogKCkgPT4gdGV4dC50ZXh0Q29udGVudCA9ICJBZnRl
ciByZWRvIgorICAgICAgICAgICAgfSkpOworCisgICAgICAgICAgICBpZiAod2luZG93LkdDQ29u
dHJvbGxlcikKKyAgICAgICAgICAgICAgICBHQ0NvbnRyb2xsZXIuY29sbGVjdCgpOworCisgICAg
ICAgICAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiVW5kbyIpOworICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0ZXh0LnRleHRDb250ZW50IiwgIkFmdGVyIHVuZG8iKTsKKworICAg
ICAgICAgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlJlZG8iKTsKKyAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidGV4dC50ZXh0Q29udGVudCIsICJBZnRlciByZWRvIik7CisgICAg
ICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5IG9ubG9hZD0i
cnVuVGVzdCgpIj4KKyAgICAgICAgPGRpdiBpZD0idGV4dCI+SW5pdGlhbCBzdGF0ZTwvZGl2Pgor
ICAgICAgICA8cHJlIGlkPSJkZXNjcmlwdGlvbiI+PC9wcmU+CisgICAgICAgIDxwcmUgaWQ9ImNv
bnNvbGUiPjwvcHJlPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3Jlc291cmNlcy91aS1oZWxwZXIuanMgYi9MYXlvdXRUZXN0cy9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzCmluZGV4IDE4ODRkYjc2NTk2NTA1NzJkZGNhYWFmYzI5NWI1MDIwMmJlNmI1NjQuLjZl
OGI3ZjE5YTU3MzRkNTViZmM1YjkxMzRlOWI4NGQ2MjA5YTdhN2UgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3Jlc291cmNlcy91aS1oZWxwZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcwpAQCAtNTY2LDQgKzU2NiwxMyBAQCB3aW5kb3cuVUlIZWxwZXIgPSBjbGFz
cyBVSUhlbHBlciB7CiAgICAgICAgICAgICByZXNvbHZlKHsgeDogb2Zmc2V0WCwgeTogb2Zmc2V0
WSB9KTsKICAgICAgICAgfSkpOwogICAgIH0KKworICAgIHN0YXRpYyB1bmRvQW5kUmVkb0FjdGlv
bk5hbWVzKCkKKyAgICB7CisgICAgICAgIGlmICghdGhpcy5pc1dlYktpdDIoKSkKKyAgICAgICAg
ICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsKKworICAgICAgICBjb25zdCBzY3JpcHQgPSAi
SlNPTi5zdHJpbmdpZnkoW3VpQ29udHJvbGxlci51bmRvQWN0aW9uTmFtZSwgdWlDb250cm9sbGVy
LnJlZG9BY3Rpb25OYW1lXSkiOworICAgICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9
PiB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KHNjcmlwdCwgcmVzdWx0ID0+IHJlc29sdmUoSlNPTi5w
YXJzZShyZXN1bHQpKSkpOworICAgIH0KIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>