<?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>86222</bug_id>
          
          <creation_ts>2012-05-11 09:39:26 -0700</creation_ts>
          <short_desc>[Qt] Dialogs should have parent and attached properties set before their Component.onCompleted is called</short_desc>
          <delta_ts>2014-02-03 03:20:54 -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>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tor Arne Vestbø">vestbo</reporter>
          <assigned_to name="Tor Arne Vestbø">vestbo</assigned_to>
          <cc>ahf</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>hausmann</cc>
    
    <cc>menard</cc>
    
    <cc>noam</cc>
    
    <cc>pierre.rossi</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>621703</commentid>
    <comment_count>0</comment_count>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2012-05-11 09:39:26 -0700</bug_when>
    <thetext>[Qt] Dialogs should have parent and attached properties set before their Component.onCompleted is called</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621720</commentid>
    <comment_count>1</comment_count>
      <attachid>141435</attachid>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2012-05-11 09:47:47 -0700</bug_when>
    <thetext>Created attachment 141435
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>975454</commentid>
    <comment_count>2</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2014-02-03 03:20:54 -0800</bug_when>
    <thetext>=== Bulk closing of Qt bugs ===

If you believe that this bug report is still relevant for a non-Qt port of webkit.org, please re-open it and remove [Qt] from the summary.

If you believe that this is still an important QtWebKit bug, please fill a new report at https://bugreports.qt-project.org and add a link to this issue. See http://qt-project.org/wiki/ReportingBugsInQt for additional guidelines.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141435</attachid>
            <date>2012-05-11 09:47:47 -0700</date>
            <delta_ts>2012-05-14 04:40:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86222-20120511184744.patch</filename>
            <type>text/plain</type>
            <size>42094</size>
            <attacher name="Tor Arne Vestbø">vestbo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2NjMxCmRpZmYgLS1naXQgYy9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgdy9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggY2I1M2U1ZWZhNmNhYzM5
NjEwMjZhZjVmZTIxYWFhNDBkNmQzZGRlZC4uYjFiMjI1ZjkxNmQwZDM5NTRkMjNhODQ4ZjFlM2U5
YjAxNTc2YzQxZCAxMDA2NDQKLS0tIGMvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyB3L1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTA1LTExICBUb3Ig
QXJuZSBWZXN0YsO4ICA8dG9yLmFybmUudmVzdGJvQG5va2lhLmNvbT4KKworICAgICAgICBbUXRd
IE1ha2Ugc3VyZSBkaWFsb2dzIGhhdmUgdGhlaXIgcGFyZW50IGFuZCBhdHRhY2hlZCBwcm9wZXJ0
aWVzIHNldCBiZWZvcmUgQ29tcG9uZW50Lm9uQ29tcGxldGVkCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NjIyMgorCisgICAgICAgIFRoZSBXZWJWaWV3
IFFNTCBhcGkgZm9yIGRpYWxvZ3MgaXMgYmFzZWQgb24gZGVsZWdhdGVzIGZvciBlYWNoIGRpYWxv
Zywgd2hpY2gKKyAgICAgICAgYXJlIGltcGxlbWVudGVkIGFzIGNvbXBvbmVudHMuIFNpbmNlIHRo
ZXJlJ3Mgbm8gZXhwbGljaXQgQVBJIHRvIHNob3cgdGhlIGRpYWxvZywKKyAgICAgICAgdGhlIG5h
dHVyYWwgcGxhY2UgdG8gYWxsb3cgdGhlIGRpYWxvZyB0byBjaG9vc2UgaG93IHRvIGRpc3BsYXkg
aXRzZWxmIGlzIGluCisgICAgICAgIENvbXBvbmVudC5vbkNvbXBsZXRlZC4KKworICAgICAgICBU
aGUgaXNzdWUgd2FzIHRoYXQgd2Ugd2VyZSB1c2luZyBRUW1sQ29tcG9uZW50OjpjcmVhdGUoKSB3
aGVuIGluc3RhbnRpYXRpbmcgdGhlCisgICAgICAgIGNvbXBvbmVudCwgYXQgd2hpY2ggcG9pbnQg
dGhlIGNvbXBvbmVudCBkaWQgbm90IGhhdmUgYSBwYXJlbnQgb3IgaXQncyBhdHRhY2hlZAorICAg
ICAgICBXZWJWaWV3IHByb3BlcnR5IHNldC4gVGhhdCBtZWFudCB0aGF0IHdlIGhhZCB0byBkbyBz
b21lIHVnbHkgd29ya2Fyb3VuZCBpbiBvdXIKKyAgICAgICAgdGVzdCwgdXNpbmcgYSAxbXMgdGlt
ZXIsIHRvIGdldCBhIGNhbGxiYWNrIG9uY2UgdGhlIHBhcmVudCB3YXMgdGhlcmUuCisKKyAgICAg
ICAgV2Ugbm93IHVzZSB0aGUgUVFtbENvbXBvbmVudDo6YmVnaW5DcmVhdGUoKSAtPiBRUW1sQ29t
cG9uZW50Ojpjb21wbGV0ZUNyZWF0ZSgpCisgICAgICAgIHBhaXIsIHdoaWNoIGFsbG93cyB1cyB0
byBzZXQgdGhlIHJlbGV2YW50IHByb3BlcnRpZXMgYmVmb3JlIHRyaWdnZXJpbmcgdGhlCisgICAg
ICAgIENvbXBvbmVudC5vbkNvbXBsZXRlZCBjYWxsYmFjay4gV2Ugd2VyZSBhbHJlYWR5IGRvaW5n
IHRoaXMgZm9yIHRoZSBjb250ZXh0CisgICAgICAgIG1lbnVzIChleGNlcHQgZm9yIHNldHRpbmcg
dGhlIHBhcmVudCwgd2hpY2ggd2UgZGlkIGFmdGVyd2FyZHMpLgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3
ZWJ2aWV3LmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9w
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9XZWJWaWV3L3Rz
dF9qYXZhU2NyaXB0RGlhbG9ncy5xbWw6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1F0RGlhbG9n
UnVubmVyLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvUXREaWFsb2dSdW5uZXIuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvcXQvV2ViUG9wdXBNZW51UHJveHlRdC5jcHA6CisKIDIwMTItMDUt
MDcgIFRvciBBcm5lIFZlc3Riw7ggIDx0b3IuYXJuZS52ZXN0Ym9Abm9raWEuY29tPgogCiAgICAg
ICAgIFdlYlBhZ2VQcm94eTo6YWN0aXZlVVJMKCkgc2hvdWxkIHJldHVybiB0aGUgcGVuZGluZyBB
UEkgcmVxdWVzdCwgZXZlbiB3aGVuIHRoZXJlJ3Mgbm8gbWFpbiBmcmFtZQpkaWZmIC0tZ2l0IGMv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcCB3L1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAKaW5kZXggNjcyMzU1
ODIyOThlOTJlZDQ1ZjFmOWQ2YjhlMDZiYWFkNWRiNjNiNS4uNWVjNGU4M2QxOTI5Y2NiNDkwNzgz
YjU0MmM3MzJmOGJhOGFjODIwNCAxMDA2NDQKLS0tIGMvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcAorKysgdy9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCkBAIC00OTUsNDcgKzQ5NSwzNiBAQCB2b2lkIFFRdWlj
a1dlYlZpZXdQcml2YXRlOjpfcV9vblJlY2VpdmVkUmVzcG9uc2VGcm9tRG93bmxvYWQoUVdlYkRv
d25sb2FkSXRlbSogZAogCiB2b2lkIFFRdWlja1dlYlZpZXdQcml2YXRlOjpydW5KYXZhU2NyaXB0
QWxlcnQoY29uc3QgUVN0cmluZyYgYWxlcnRUZXh0KQogewotICAgIGlmICghYWxlcnREaWFsb2cp
Ci0gICAgICAgIHJldHVybjsKLQogICAgIFFfUShRUXVpY2tXZWJWaWV3KTsKLSAgICBRdERpYWxv
Z1J1bm5lciBkaWFsb2dSdW5uZXI7Ci0gICAgaWYgKCFkaWFsb2dSdW5uZXIuaW5pdEZvckFsZXJ0
KGFsZXJ0RGlhbG9nLCBxLCBhbGVydFRleHQpKQorICAgIFF0RGlhbG9nUnVubmVyIGRpYWxvZ1J1
bm5lcihxKTsKKyAgICBpZiAoIWRpYWxvZ1J1bm5lci5pbml0Rm9yQWxlcnQoYWxlcnRUZXh0KSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgZXhlY0RpYWxvZ1J1bm5lcihkaWFsb2dSdW5uZXIpOwor
ICAgIGRpYWxvZ1J1bm5lci5ydW4oKTsKIH0KIAogYm9vbCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6
cnVuSmF2YVNjcmlwdENvbmZpcm0oY29uc3QgUVN0cmluZyYgbWVzc2FnZSkKIHsKLSAgICBpZiAo
IWNvbmZpcm1EaWFsb2cpCi0gICAgICAgIHJldHVybiB0cnVlOwotCiAgICAgUV9RKFFRdWlja1dl
YlZpZXcpOwotICAgIFF0RGlhbG9nUnVubmVyIGRpYWxvZ1J1bm5lcjsKLSAgICBpZiAoIWRpYWxv
Z1J1bm5lci5pbml0Rm9yQ29uZmlybShjb25maXJtRGlhbG9nLCBxLCBtZXNzYWdlKSkKKyAgICBR
dERpYWxvZ1J1bm5lciBkaWFsb2dSdW5uZXIocSk7CisgICAgaWYgKCFkaWFsb2dSdW5uZXIuaW5p
dEZvckNvbmZpcm0obWVzc2FnZSkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgZXhlY0Rp
YWxvZ1J1bm5lcihkaWFsb2dSdW5uZXIpOworICAgIGRpYWxvZ1J1bm5lci5ydW4oKTsKIAogICAg
IHJldHVybiBkaWFsb2dSdW5uZXIud2FzQWNjZXB0ZWQoKTsKIH0KIAogUVN0cmluZyBRUXVpY2tX
ZWJWaWV3UHJpdmF0ZTo6cnVuSmF2YVNjcmlwdFByb21wdChjb25zdCBRU3RyaW5nJiBtZXNzYWdl
LCBjb25zdCBRU3RyaW5nJiBkZWZhdWx0VmFsdWUsIGJvb2wmIG9rKQogewotICAgIGlmICghcHJv
bXB0RGlhbG9nKSB7Ci0gICAgICAgIG9rID0gdHJ1ZTsKLSAgICAgICAgcmV0dXJuIGRlZmF1bHRW
YWx1ZTsKLSAgICB9Ci0KICAgICBRX1EoUVF1aWNrV2ViVmlldyk7Ci0gICAgUXREaWFsb2dSdW5u
ZXIgZGlhbG9nUnVubmVyOwotICAgIGlmICghZGlhbG9nUnVubmVyLmluaXRGb3JQcm9tcHQocHJv
bXB0RGlhbG9nLCBxLCBtZXNzYWdlLCBkZWZhdWx0VmFsdWUpKSB7CisgICAgUXREaWFsb2dSdW5u
ZXIgZGlhbG9nUnVubmVyKHEpOworICAgIGlmICghZGlhbG9nUnVubmVyLmluaXRGb3JQcm9tcHQo
bWVzc2FnZSwgZGVmYXVsdFZhbHVlKSkgewogICAgICAgICBvayA9IHRydWU7CiAgICAgICAgIHJl
dHVybiBkZWZhdWx0VmFsdWU7CiAgICAgfQogCi0gICAgZXhlY0RpYWxvZ1J1bm5lcihkaWFsb2dS
dW5uZXIpOworICAgIGRpYWxvZ1J1bm5lci5ydW4oKTsKIAogICAgIG9rID0gZGlhbG9nUnVubmVy
Lndhc0FjY2VwdGVkKCk7CiAgICAgcmV0dXJuIGRpYWxvZ1J1bm5lci5yZXN1bHQoKTsKQEAgLTU0
MywxNSArNTMyLDEyIEBAIFFTdHJpbmcgUVF1aWNrV2ViVmlld1ByaXZhdGU6OnJ1bkphdmFTY3Jp
cHRQcm9tcHQoY29uc3QgUVN0cmluZyYgbWVzc2FnZSwgY29uc3QKIAogdm9pZCBRUXVpY2tXZWJW
aWV3UHJpdmF0ZTo6aGFuZGxlQXV0aGVudGljYXRpb25SZXF1aXJlZFJlcXVlc3QoY29uc3QgUVN0
cmluZyYgaG9zdG5hbWUsIGNvbnN0IFFTdHJpbmcmIHJlYWxtLCBjb25zdCBRU3RyaW5nJiBwcmVm
aWxsZWRVc2VybmFtZSwgUVN0cmluZyYgdXNlcm5hbWUsIFFTdHJpbmcmIHBhc3N3b3JkKQogewot
ICAgIGlmICghYXV0aGVudGljYXRpb25EaWFsb2cpCi0gICAgICAgIHJldHVybjsKLQogICAgIFFf
UShRUXVpY2tXZWJWaWV3KTsKLSAgICBRdERpYWxvZ1J1bm5lciBkaWFsb2dSdW5uZXI7Ci0gICAg
aWYgKCFkaWFsb2dSdW5uZXIuaW5pdEZvckF1dGhlbnRpY2F0aW9uKGF1dGhlbnRpY2F0aW9uRGlh
bG9nLCBxLCBob3N0bmFtZSwgcmVhbG0sIHByZWZpbGxlZFVzZXJuYW1lKSkKKyAgICBRdERpYWxv
Z1J1bm5lciBkaWFsb2dSdW5uZXIocSk7CisgICAgaWYgKCFkaWFsb2dSdW5uZXIuaW5pdEZvckF1
dGhlbnRpY2F0aW9uKGhvc3RuYW1lLCByZWFsbSwgcHJlZmlsbGVkVXNlcm5hbWUpKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBleGVjRGlhbG9nUnVubmVyKGRpYWxvZ1J1bm5lcik7CisgICAgZGlh
bG9nUnVubmVyLnJ1bigpOwogCiAgICAgdXNlcm5hbWUgPSBkaWFsb2dSdW5uZXIudXNlcm5hbWUo
KTsKICAgICBwYXNzd29yZCA9IGRpYWxvZ1J1bm5lci5wYXNzd29yZCgpOwpAQCAtNTU5LDE1ICs1
NDUsMTIgQEAgdm9pZCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6aGFuZGxlQXV0aGVudGljYXRpb25S
ZXF1aXJlZFJlcXVlc3QoY29uc3QgUVN0cmluZyYgaG8KIAogdm9pZCBRUXVpY2tXZWJWaWV3UHJp
dmF0ZTo6aGFuZGxlUHJveHlBdXRoZW50aWNhdGlvblJlcXVpcmVkUmVxdWVzdChjb25zdCBRU3Ry
aW5nJiBob3N0bmFtZSwgdWludDE2X3QgcG9ydCwgY29uc3QgUVN0cmluZyYgcHJlZmlsbGVkVXNl
cm5hbWUsIFFTdHJpbmcmIHVzZXJuYW1lLCBRU3RyaW5nJiBwYXNzd29yZCkKIHsKLSAgICBpZiAo
IXByb3h5QXV0aGVudGljYXRpb25EaWFsb2cpCi0gICAgICAgIHJldHVybjsKLQogICAgIFFfUShR
UXVpY2tXZWJWaWV3KTsKLSAgICBRdERpYWxvZ1J1bm5lciBkaWFsb2dSdW5uZXI7Ci0gICAgaWYg
KCFkaWFsb2dSdW5uZXIuaW5pdEZvclByb3h5QXV0aGVudGljYXRpb24ocHJveHlBdXRoZW50aWNh
dGlvbkRpYWxvZywgcSwgaG9zdG5hbWUsIHBvcnQsIHByZWZpbGxlZFVzZXJuYW1lKSkKKyAgICBR
dERpYWxvZ1J1bm5lciBkaWFsb2dSdW5uZXIocSk7CisgICAgaWYgKCFkaWFsb2dSdW5uZXIuaW5p
dEZvclByb3h5QXV0aGVudGljYXRpb24oaG9zdG5hbWUsIHBvcnQsIHByZWZpbGxlZFVzZXJuYW1l
KSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZXhlY0RpYWxvZ1J1bm5lcihkaWFsb2dSdW5uZXIp
OworICAgIGRpYWxvZ1J1bm5lci5ydW4oKTsKIAogICAgIHVzZXJuYW1lID0gZGlhbG9nUnVubmVy
LnVzZXJuYW1lKCk7CiAgICAgcGFzc3dvcmQgPSBkaWFsb2dSdW5uZXIucGFzc3dvcmQoKTsKQEAg
LTU3NSw0MyArNTU4LDI1IEBAIHZvaWQgUVF1aWNrV2ViVmlld1ByaXZhdGU6OmhhbmRsZVByb3h5
QXV0aGVudGljYXRpb25SZXF1aXJlZFJlcXVlc3QoY29uc3QgUVN0cmluCiAKIGJvb2wgUVF1aWNr
V2ViVmlld1ByaXZhdGU6OmhhbmRsZUNlcnRpZmljYXRlVmVyaWZpY2F0aW9uUmVxdWVzdChjb25z
dCBRU3RyaW5nJiBob3N0bmFtZSkKIHsKLSAgICBpZiAoIWNlcnRpZmljYXRlVmVyaWZpY2F0aW9u
RGlhbG9nKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KICAgICBRX1EoUVF1aWNrV2ViVmlldyk7
Ci0gICAgUXREaWFsb2dSdW5uZXIgZGlhbG9nUnVubmVyOwotICAgIGlmICghZGlhbG9nUnVubmVy
LmluaXRGb3JDZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvbihjZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvbkRp
YWxvZywgcSwgaG9zdG5hbWUpKQorICAgIFF0RGlhbG9nUnVubmVyIGRpYWxvZ1J1bm5lcihxKTsK
KyAgICBpZiAoIWRpYWxvZ1J1bm5lci5pbml0Rm9yQ2VydGlmaWNhdGVWZXJpZmljYXRpb24oaG9z
dG5hbWUpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBleGVjRGlhbG9nUnVubmVyKGRp
YWxvZ1J1bm5lcik7CisgICAgZGlhbG9nUnVubmVyLnJ1bigpOwogCiAgICAgcmV0dXJuIGRpYWxv
Z1J1bm5lci53YXNBY2NlcHRlZCgpOwogfQogCi12b2lkIFFRdWlja1dlYlZpZXdQcml2YXRlOjpl
eGVjRGlhbG9nUnVubmVyKFF0RGlhbG9nUnVubmVyJiBkaWFsb2dSdW5uZXIpCi17Ci0gICAgc2V0
Vmlld0luQXR0YWNoZWRQcm9wZXJ0aWVzKGRpYWxvZ1J1bm5lci5kaWFsb2coKSk7Ci0KLSAgICBk
aXNhYmxlTW91c2VFdmVudHMoKTsKLSAgICBtX2RpYWxvZ0FjdGl2ZSA9IHRydWU7Ci0KLSAgICBk
aWFsb2dSdW5uZXIuZXhlYygpOwotICAgIG1fZGlhbG9nQWN0aXZlID0gZmFsc2U7Ci0gICAgZW5h
YmxlTW91c2VFdmVudHMoKTsKLX0KLQogdm9pZCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6Y2hvb3Nl
RmlsZXMoV0tPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclJlZiBsaXN0ZW5lclJlZiwgY29uc3QgUVN0
cmluZ0xpc3QmIHNlbGVjdGVkRmlsZU5hbWVzLCBRdFdlYlBhZ2VVSUNsaWVudDo6RmlsZUNob29z
ZXJUeXBlIHR5cGUpCiB7CiAgICAgUV9RKFFRdWlja1dlYlZpZXcpOwogCi0gICAgaWYgKCFmaWxl
UGlja2VyKQotICAgICAgICByZXR1cm47Ci0KLSAgICBRdERpYWxvZ1J1bm5lciBkaWFsb2dSdW5u
ZXI7Ci0gICAgaWYgKCFkaWFsb2dSdW5uZXIuaW5pdEZvckZpbGVQaWNrZXIoZmlsZVBpY2tlciwg
cSwgc2VsZWN0ZWRGaWxlTmFtZXMsICh0eXBlID09IFF0V2ViUGFnZVVJQ2xpZW50OjpNdWx0aXBs
ZUZpbGVzU2VsZWN0aW9uKSkpCisgICAgUXREaWFsb2dSdW5uZXIgZGlhbG9nUnVubmVyKHEpOwor
ICAgIGlmICghZGlhbG9nUnVubmVyLmluaXRGb3JGaWxlUGlja2VyKHNlbGVjdGVkRmlsZU5hbWVz
LCAodHlwZSA9PSBRdFdlYlBhZ2VVSUNsaWVudDo6TXVsdGlwbGVGaWxlc1NlbGVjdGlvbikpKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBleGVjRGlhbG9nUnVubmVyKGRpYWxvZ1J1bm5lcik7Cisg
ICAgZGlhbG9nUnVubmVyLnJ1bigpOwogCiAgICAgaWYgKGRpYWxvZ1J1bm5lci53YXNBY2NlcHRl
ZCgpKSB7CiAgICAgICAgIFFTdHJpbmdMaXN0IHNlbGVjdGVkUGF0aHMgPSBkaWFsb2dSdW5uZXIu
ZmlsZVBhdGhzKCk7CkBAIC02MjgsMjAgKzU5Myw0MSBAQCB2b2lkIFFRdWlja1dlYlZpZXdQcml2
YXRlOjpjaG9vc2VGaWxlcyhXS09wZW5QYW5lbFJlc3VsdExpc3RlbmVyUmVmIGxpc3RlbmVyUmVm
LAogCiBxdWludDY0IFFRdWlja1dlYlZpZXdQcml2YXRlOjpleGNlZWRlZERhdGFiYXNlUXVvdGEo
Y29uc3QgUVN0cmluZyYgZGF0YWJhc2VOYW1lLCBjb25zdCBRU3RyaW5nJiBkaXNwbGF5TmFtZSwg
V0tTZWN1cml0eU9yaWdpblJlZiBzZWN1cml0eU9yaWdpbiwgcXVpbnQ2NCBjdXJyZW50UXVvdGEs
IHF1aW50NjQgY3VycmVudE9yaWdpblVzYWdlLCBxdWludDY0IGN1cnJlbnREYXRhYmFzZVVzYWdl
LCBxdWludDY0IGV4cGVjdGVkVXNhZ2UpCiB7Ci0gICAgaWYgKCFkYXRhYmFzZVF1b3RhRGlhbG9n
KQotICAgICAgICByZXR1cm4gMDsKLQogICAgIFFfUShRUXVpY2tXZWJWaWV3KTsKLSAgICBRdERp
YWxvZ1J1bm5lciBkaWFsb2dSdW5uZXI7Ci0gICAgaWYgKCFkaWFsb2dSdW5uZXIuaW5pdEZvckRh
dGFiYXNlUXVvdGFEaWFsb2coZGF0YWJhc2VRdW90YURpYWxvZywgcSwgZGF0YWJhc2VOYW1lLCBk
aXNwbGF5TmFtZSwgc2VjdXJpdHlPcmlnaW4sIGN1cnJlbnRRdW90YSwgY3VycmVudE9yaWdpblVz
YWdlLCBjdXJyZW50RGF0YWJhc2VVc2FnZSwgZXhwZWN0ZWRVc2FnZSkpCisgICAgUXREaWFsb2dS
dW5uZXIgZGlhbG9nUnVubmVyKHEpOworICAgIGlmICghZGlhbG9nUnVubmVyLmluaXRGb3JEYXRh
YmFzZVF1b3RhRGlhbG9nKGRhdGFiYXNlTmFtZSwgZGlzcGxheU5hbWUsIHNlY3VyaXR5T3JpZ2lu
LCBjdXJyZW50UXVvdGEsIGN1cnJlbnRPcmlnaW5Vc2FnZSwgY3VycmVudERhdGFiYXNlVXNhZ2Us
IGV4cGVjdGVkVXNhZ2UpKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIGV4ZWNEaWFsb2dSdW5u
ZXIoZGlhbG9nUnVubmVyKTsKKyAgICBkaWFsb2dSdW5uZXIucnVuKCk7CiAKICAgICByZXR1cm4g
ZGlhbG9nUnVubmVyLndhc0FjY2VwdGVkKCkgPyBkaWFsb2dSdW5uZXIuZGF0YWJhc2VRdW90YSgp
IDogMDsKIH0KIAotdm9pZCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6c2V0Vmlld0luQXR0YWNoZWRQ
cm9wZXJ0aWVzKFFPYmplY3QqIG9iamVjdCkKKy8qIFRoZSAnV2ViVmlldycgYXR0YWNoZWQgcHJv
cGVydHkgYWxsb3dzIGl0ZW1zIHNwYXduZWQgYnkgdGhlIHdlYlZpZXcgdG8KKyAgIHJlZmVyIGJh
Y2sgdG8gdGhlIG9yaWdpbmF0aW5nIHdlYlZpZXcgdGhyb3VnaCAnV2ViVmlldy52aWV3Jywgc2lt
aWxhcgorICAgdG8gaG93IExpc3RWaWV3LnZpZXcgYW5kIEdyaWRWaWV3LnZpZXcgaXMgZXhwb3Nl
ZCB0byBpdGVtcy4gKi8KK1FRdWlja1dlYlZpZXdBdHRhY2hlZDo6UVF1aWNrV2ViVmlld0F0dGFj
aGVkKFFPYmplY3QqIG9iamVjdCkKKyAgICA6IFFPYmplY3Qob2JqZWN0KQorICAgICwgbV92aWV3
KDApCit7Cit9CisKK3ZvaWQgUVF1aWNrV2ViVmlld0F0dGFjaGVkOjpzZXRWaWV3KFFRdWlja1dl
YlZpZXcqIHZpZXcpCit7CisgICAgaWYgKG1fdmlldyA9PSB2aWV3KQorICAgICAgICByZXR1cm47
CisgICAgbV92aWV3ID0gdmlldzsKKyAgICBlbWl0IHZpZXdDaGFuZ2VkKCk7Cit9CisKK1FRdWlj
a1dlYlZpZXdBdHRhY2hlZCogUVF1aWNrV2ViVmlldzo6cW1sQXR0YWNoZWRQcm9wZXJ0aWVzKFFP
YmplY3QqIG9iamVjdCkKK3sKKyAgICByZXR1cm4gbmV3IFFRdWlja1dlYlZpZXdBdHRhY2hlZChv
YmplY3QpOworfQorCisKKwordm9pZCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6YWRkQXR0YWNoZWRQ
cm9wZXJ0eVRvKFFPYmplY3QqIG9iamVjdCkKIHsKICAgICBRX1EoUVF1aWNrV2ViVmlldyk7CiAg
ICAgUVF1aWNrV2ViVmlld0F0dGFjaGVkKiBhdHRhY2hlZCA9IHN0YXRpY19jYXN0PFFRdWlja1dl
YlZpZXdBdHRhY2hlZCo+KHFtbEF0dGFjaGVkUHJvcGVydGllc09iamVjdDxRUXVpY2tXZWJWaWV3
PihvYmplY3QpKTsKQEAgLTk2OSwyMSArOTU1LDYgQEAgdm9pZCBRUXVpY2tXZWJWaWV3RmxpY2th
YmxlUHJpdmF0ZTo6ZGlkQ2hhbmdlQ29udGVudHNTaXplKGNvbnN0IFFTaXplJiBuZXdTaXplKQog
ICAgIFxzYSBXZWJOYXZpZ2F0aW9uUmVxdWVzdAogKi8KIAotUVF1aWNrV2ViVmlld0F0dGFjaGVk
OjpRUXVpY2tXZWJWaWV3QXR0YWNoZWQoUU9iamVjdCogb2JqZWN0KQotICAgIDogUU9iamVjdChv
YmplY3QpCi0gICAgLCBtX3ZpZXcoMCkKLXsKLQotfQotCi12b2lkIFFRdWlja1dlYlZpZXdBdHRh
Y2hlZDo6c2V0VmlldyhRUXVpY2tXZWJWaWV3KiB2aWV3KQotewotICAgIGlmIChtX3ZpZXcgPT0g
dmlldykKLSAgICAgICAgcmV0dXJuOwotICAgIG1fdmlldyA9IHZpZXc7Ci0gICAgZW1pdCB2aWV3
Q2hhbmdlZCgpOwotfQotCiBRUXVpY2tXZWJWaWV3RXhwZXJpbWVudGFsOjpRUXVpY2tXZWJWaWV3
RXhwZXJpbWVudGFsKFFRdWlja1dlYlZpZXcgKndlYlZpZXcpCiAgICAgOiBRT2JqZWN0KHdlYlZp
ZXcpCiAgICAgLCBxX3B0cih3ZWJWaWV3KQpAQCAtMTYyNCwxMSArMTU5NSw2IEBAIFFRdWlja1dl
YlZpZXdFeHBlcmltZW50YWwqIFFRdWlja1dlYlZpZXc6OmV4cGVyaW1lbnRhbCgpIGNvbnN0CiAg
ICAgcmV0dXJuIG1fZXhwZXJpbWVudGFsOwogfQogCi1RUXVpY2tXZWJWaWV3QXR0YWNoZWQqIFFR
dWlja1dlYlZpZXc6OnFtbEF0dGFjaGVkUHJvcGVydGllcyhRT2JqZWN0KiBvYmplY3QpCi17Ci0g
ICAgcmV0dXJuIG5ldyBRUXVpY2tXZWJWaWV3QXR0YWNoZWQob2JqZWN0KTsKLX0KLQogLyohCiAg
ICAgXGludGVybmFsCiAqLwpkaWZmIC0tZ2l0IGMvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9xdC9xcXVpY2t3ZWJ2aWV3X3BfcC5oIHcvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9x
dC9xcXVpY2t3ZWJ2aWV3X3BfcC5oCmluZGV4IDZkZDJlN2E5MzJmNmQ5NTQ3YWY5ODNiNjg1MTJi
ZjNhMDdhZTU3YzIuLjY1OWM1OWViNTdlY2Y3YjY5NzdlOWVhZGFkZmU0YmRiNzM5MDI5MjUgMTAw
NjQ0Ci0tLSBjL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19w
X3AuaAorKysgdy9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdf
cF9wLmgKQEAgLTU2LDYgKzU2LDcgQEAgUVRfRU5EX05BTUVTUEFDRQogCiBjbGFzcyBRUXVpY2tX
ZWJWaWV3UHJpdmF0ZSB7CiAgICAgUV9ERUNMQVJFX1BVQkxJQyhRUXVpY2tXZWJWaWV3KQorICAg
IGZyaWVuZCBjbGFzcyBXZWJLaXQ6OlF0RGlhbG9nUnVubmVyOwogICAgIGZyaWVuZCBjbGFzcyBR
UXVpY2tXZWJWaWV3RXhwZXJpbWVudGFsOwogICAgIGZyaWVuZCBjbGFzcyBRUXVpY2tXZWJQYWdl
OwogICAgIGZyaWVuZCBjbGFzcyBRV2ViUHJlZmVyZW5jZXNQcml2YXRlOwpAQCAtMTE2LDExICsx
MTcsOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYW5kbGVDZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvblJl
cXVlc3QoY29uc3QgUVN0cmluZyYgaG9zdG5hbWUpOwogICAgIHZvaWQgaGFuZGxlUHJveHlBdXRo
ZW50aWNhdGlvblJlcXVpcmVkUmVxdWVzdChjb25zdCBRU3RyaW5nJiBob3N0bmFtZSwgdWludDE2
X3QgcG9ydCwgY29uc3QgUVN0cmluZyYgcHJlZmlsbGVkVXNlcm5hbWUsIFFTdHJpbmcmIHVzZXJu
YW1lLCBRU3RyaW5nJiBwYXNzd29yZCk7CiAKLSAgICB2b2lkIGV4ZWNEaWFsb2dSdW5uZXIoV2Vi
S2l0OjpRdERpYWxvZ1J1bm5lciYpOwotCiAgICAgdm9pZCBzZXRSZW5kZXJUb09mZnNjcmVlbkJ1
ZmZlcihib29sIGVuYWJsZSkgeyBtX3JlbmRlclRvT2Zmc2NyZWVuQnVmZmVyID0gZW5hYmxlOyB9
CiAgICAgdm9pZCBzZXRUcmFuc3BhcmVudEJhY2tncm91bmQoYm9vbCk7Ci0gICAgdm9pZCBzZXRW
aWV3SW5BdHRhY2hlZFByb3BlcnRpZXMoUU9iamVjdCopOworICAgIHZvaWQgYWRkQXR0YWNoZWRQ
cm9wZXJ0eVRvKFFPYmplY3QqKTsKICAgICB2b2lkIHNldEljb24oY29uc3QgUVVybCYpOwogCiAg
ICAgYm9vbCBuYXZpZ2F0b3JRdE9iamVjdEVuYWJsZWQoKSBjb25zdDsKZGlmZiAtLWdpdCBjL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvV2ViVmlldy90c3Rf
amF2YVNjcmlwdERpYWxvZ3MucW1sIHcvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90
ZXN0cy9xbWx0ZXN0cy9XZWJWaWV3L3RzdF9qYXZhU2NyaXB0RGlhbG9ncy5xbWwKaW5kZXggNGUx
NWMyMzQ0Yzk1YjU5NDI4YTcxZWM0NzYxYTU2M2YzOTc4MmZjYS4uZDc3OTMzZGJhY2Q1YmRhMzM0
ZWU0Zjk2YWEyZGI1NDQ2MzdiYWIwMSAxMDA2NDQKLS0tIGMvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9XZWJWaWV3L3RzdF9qYXZhU2NyaXB0RGlhbG9ncy5x
bWwKKysrIHcvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9X
ZWJWaWV3L3RzdF9qYXZhU2NyaXB0RGlhbG9ncy5xbWwKQEAgLTEyLDM5ICsxMiwyOSBAQCBUZXN0
V2ViVmlldyB7CiAgICAgcHJvcGVydHkgaW50IGNvbmZpcm1Db3VudDogMAogICAgIHByb3BlcnR5
IGludCBwcm9tcHRDb3VudDogMAogCi0gICAgZXhwZXJpbWVudGFsLmFsZXJ0RGlhbG9nOiBJdGVt
IHsKLSAgICAgICAgVGltZXIgewotICAgICAgICAgICAgcnVubmluZzogdHJ1ZQotICAgICAgICAg
ICAgaW50ZXJ2YWw6IDEKLSAgICAgICAgICAgIG9uVHJpZ2dlcmVkOiB7CisgICAgZXhwZXJpbWVu
dGFsIHsKKyAgICAgICAgYWxlcnREaWFsb2c6IEl0ZW0geworICAgICAgICAgICAgQ29tcG9uZW50
Lm9uQ29tcGxldGVkOiB7CiAgICAgICAgICAgICAgICAgLy8gVGVzdGluZyBib3RoIGF0dGFjaGVk
IHByb3BlcnR5IGFuZCBpZCBkZWZpbmVkIGluIHRoZSBDb21wb25lbnQgY29udGV4dC4KLSAgICAg
ICAgICAgICAgICBwYXJlbnQuV2ViVmlldy52aWV3Lm1lc3NhZ2VGcm9tQWxlcnREaWFsb2cgPSBt
ZXNzYWdlCi0gICAgICAgICAgICAgICAgd2ViVmlldy5tb2RlbE1lc3NhZ2VFcXVhbHNNZXNzYWdl
ID0gQm9vbGVhbihtb2RlbC5tZXNzYWdlID09IG1lc3NhZ2UpCisgICAgICAgICAgICAgICAgV2Vi
Vmlldy52aWV3Lm1lc3NhZ2VGcm9tQWxlcnREaWFsb2cgPSBtZXNzYWdlCisgICAgICAgICAgICAg
ICAgcGFyZW50Lm1vZGVsTWVzc2FnZUVxdWFsc01lc3NhZ2UgPSBCb29sZWFuKG1vZGVsLm1lc3Nh
Z2UgPT0gbWVzc2FnZSkKICAgICAgICAgICAgICAgICBtb2RlbC5kaXNtaXNzKCkKICAgICAgICAg
ICAgIH0KICAgICAgICAgfQotICAgIH0KIAotICAgIGV4cGVyaW1lbnRhbC5jb25maXJtRGlhbG9n
OiBJdGVtIHsKLSAgICAgICAgVGltZXIgewotICAgICAgICAgICAgcnVubmluZzogdHJ1ZQotICAg
ICAgICAgICAgaW50ZXJ2YWw6IDEKLSAgICAgICAgICAgIG9uVHJpZ2dlcmVkOiB7Ci0gICAgICAg
ICAgICAgICAgcGFyZW50LldlYlZpZXcudmlldy5jb25maXJtQ291bnQgKz0gMQorICAgICAgICBj
b25maXJtRGlhbG9nOiBJdGVtIHsKKyAgICAgICAgICAgIENvbXBvbmVudC5vbkNvbXBsZXRlZDog
eworICAgICAgICAgICAgICAgIFdlYlZpZXcudmlldy5jb25maXJtQ291bnQgKz0gMQogICAgICAg
ICAgICAgICAgIGlmIChtZXNzYWdlID09ICJBQ0NFUFQiKQogICAgICAgICAgICAgICAgICAgICBt
b2RlbC5hY2NlcHQoKQogICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAg
bW9kZWwucmVqZWN0KCkKICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgIH0KIAotICAgIGV4
cGVyaW1lbnRhbC5wcm9tcHREaWFsb2c6IEl0ZW0gewotICAgICAgICBUaW1lciB7Ci0gICAgICAg
ICAgICBydW5uaW5nOiB0cnVlCi0gICAgICAgICAgICBpbnRlcnZhbDogMQotICAgICAgICAgICAg
b25UcmlnZ2VyZWQ6IHsKLSAgICAgICAgICAgICAgICBwYXJlbnQuV2ViVmlldy52aWV3LnByb21w
dENvdW50ICs9IDEKKyAgICAgICAgcHJvbXB0RGlhbG9nOiBJdGVtIHsKKyAgICAgICAgICAgIENv
bXBvbmVudC5vbkNvbXBsZXRlZDogeworICAgICAgICAgICAgICAgIFdlYlZpZXcudmlldy5wcm9t
cHRDb3VudCArPSAxCiAgICAgICAgICAgICAgICAgaWYgKG1lc3NhZ2UgPT0gIlJFSkVDVCIpCiAg
ICAgICAgICAgICAgICAgICAgIG1vZGVsLnJlamVjdCgpCiAgICAgICAgICAgICAgICAgZWxzZSB7
CmRpZmYgLS1naXQgYy9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXREaWFsb2dSdW5uZXIu
Y3BwIHcvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0RGlhbG9nUnVubmVyLmNwcAppbmRl
eCA2ZTQxYzhiMzkwZmNkYWVjZTgyNWY4MTdmMDNmNDQ3ZjY4NGE5MDYxLi5hNjI1NWU3YTkwZTRk
MGU5NjEyMzJlOTRkZWI1ZGFkMzkzZGU0NmFkIDEwMDY0NAotLS0gYy9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvcXQvUXREaWFsb2dSdW5uZXIuY3BwCisrKyB3L1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9xdC9RdERpYWxvZ1J1bm5lci5jcHAKQEAgLTIzLDYgKzIzLDcgQEAKIAogI2luY2x1ZGUg
IldLUmV0YWluUHRyLmgiCiAjaW5jbHVkZSAiV0tTdHJpbmdRdC5oIgorI2luY2x1ZGUgInFxdWlj
a3dlYnZpZXdfcF9wLmgiCiAjaW5jbHVkZSAicXdlYnBlcm1pc3Npb25yZXF1ZXN0X3AuaCIKICNp
bmNsdWRlIDxRdFFtbC9RUW1sQ29tcG9uZW50PgogI2luY2x1ZGUgPFF0UW1sL1FRbWxDb250ZXh0
PgpAQCAtMzIsOCArMzMsOSBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotUXREaWFsb2dSdW5u
ZXI6OlF0RGlhbG9nUnVubmVyKCkKK1F0RGlhbG9nUnVubmVyOjpRdERpYWxvZ1J1bm5lcihRUXVp
Y2tXZWJWaWV3KiB3ZWJWaWV3KQogICAgIDogUUV2ZW50TG9vcCgpCisgICAgLCBtX3dlYlZpZXco
d2ViVmlldykKICAgICAsIG1fd2FzQWNjZXB0ZWQoZmFsc2UpCiB7CiB9CkBAIC00MiwzMCArNDQs
NjMgQEAgUXREaWFsb2dSdW5uZXI6On5RdERpYWxvZ1J1bm5lcigpCiB7CiB9CiAKLWNsYXNzIERp
YWxvZ0NvbnRleHRPYmplY3QgOiBwdWJsaWMgUU9iamVjdCB7CisvLyBBbGwgZGlhbG9ncyBuZWVk
IGEgd2F5IHRvIHN1cHBvcnQgdGhlIHN0YXRlIG9mIHRoZQorLy8gZGlhbG9nIGJlaW5nIGRvbmUv
ZmluaXNoZWQvZGlzbWlzc2VkLiBUaGlzIGlzIGhhbmRsZWQKKy8vIGluIHRoZSBkaWFsb2cgYmFz
ZSBjb250ZXh0LgorY2xhc3MgRGlhbG9nQ29udGV4dEJhc2UgOiBwdWJsaWMgUU9iamVjdCB7Cisg
ICAgUV9PQkpFQ1QKKworcHVibGljOgorICAgIERpYWxvZ0NvbnRleHRCYXNlKCkKKyAgICAgICAg
OiBRT2JqZWN0KCkKKyAgICAgICAgLCBtX2Rpc21pc3NlZChmYWxzZSkKKyAgICB7CisgICAgfQor
CitwdWJsaWMgc2xvdHM6CisgICAgLy8gQWxsb3dzIGNsaWVudHMgdG8gY2FsbCBkaXNtaXNzKCkg
ZGlyZWN0bHksIHdoaWxlIGFsc28KKyAgICAvLyBiZWluZyBhYmxlIHRvIGhvb2sgdXAgc2lnbmFs
cyB0byBhdXRvbWF0aWNhbGx5IGFsc28KKyAgICAvLyBkaXNtaXNzIHRoZSBkaWFsb2cgc2luY2Ug
aXQncyBhIHNsb3QuCisKKyAgICB2b2lkIGRpc21pc3MoKQorICAgIHsKKyAgICAgICAgbV9kaXNt
aXNzZWQgPSB0cnVlOworICAgICAgICBlbWl0IGRpc21pc3NlZCgpOworICAgIH0KKworc2lnbmFs
czoKKyAgICB2b2lkIGRpc21pc3NlZCgpOworCitwcml2YXRlOgorICAgIC8vIFdlIHN0b3JlIHRo
ZSBkaXNtaXNzZWQgc3RhdGUgc28gdGhhdCB3YWl0Rm9yRGlzbWlzcyBjYW4gY2hlY2sKKyAgICAv
LyB0byBzZWUgaWYgYSBkaWFsb2cgaGFzIGFscmVhZHkgYmVlbiBkaXNtaXNzZWQgYmVmb3JlIHNw
aW5uaW5nCisgICAgLy8gYW4gZXZlbnQgbG9vcC4KKyAgICBib29sIG1fZGlzbWlzc2VkOworICAg
IGZyaWVuZCB2b2lkIFF0RGlhbG9nUnVubmVyOjp3YWl0Rm9yRGlzbWlzcygpOworfTsKKworY2xh
c3MgRGlhbG9nQ29udGV4dE9iamVjdCA6IHB1YmxpYyBEaWFsb2dDb250ZXh0QmFzZSB7CiAgICAg
UV9PQkpFQ1QKICAgICBRX1BST1BFUlRZKFFTdHJpbmcgbWVzc2FnZSBSRUFEIG1lc3NhZ2UgQ09O
U1RBTlQpCiAgICAgUV9QUk9QRVJUWShRU3RyaW5nIGRlZmF1bHRWYWx1ZSBSRUFEIGRlZmF1bHRW
YWx1ZSBDT05TVEFOVCkKIAogcHVibGljOgogICAgIERpYWxvZ0NvbnRleHRPYmplY3QoY29uc3Qg
UVN0cmluZyYgbWVzc2FnZSwgY29uc3QgUVN0cmluZyYgZGVmYXVsdFZhbHVlID0gUVN0cmluZygp
KQotICAgICAgICA6IFFPYmplY3QoKQorICAgICAgICA6IERpYWxvZ0NvbnRleHRCYXNlKCkKICAg
ICAgICAgLCBtX21lc3NhZ2UobWVzc2FnZSkKICAgICAgICAgLCBtX2RlZmF1bHRWYWx1ZShkZWZh
dWx0VmFsdWUpCiAgICAgeworICAgICAgICBjb25uZWN0KHRoaXMsIFNJR05BTChhY2NlcHRlZChR
U3RyaW5nKSksIFNMT1QoZGlzbWlzcygpKSk7CisgICAgICAgIGNvbm5lY3QodGhpcywgU0lHTkFM
KHJlamVjdGVkKCkpLCBTTE9UKGRpc21pc3MoKSkpOwogICAgIH0KICAgICBRU3RyaW5nIG1lc3Nh
Z2UoKSBjb25zdCB7IHJldHVybiBtX21lc3NhZ2U7IH0KICAgICBRU3RyaW5nIGRlZmF1bHRWYWx1
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGVmYXVsdFZhbHVlOyB9CiAKIHB1YmxpYyBzbG90czoKLSAg
ICB2b2lkIGRpc21pc3MoKSB7IGVtaXQgZGlzbWlzc2VkKCk7IH0KLSAgICB2b2lkIGFjY2VwdCgp
IHsgZW1pdCBhY2NlcHRlZCgpOyB9Ci0gICAgdm9pZCBhY2NlcHQoY29uc3QgUVN0cmluZyYgcmVz
dWx0KSB7IGVtaXQgYWNjZXB0ZWQocmVzdWx0KTsgfQorICAgIHZvaWQgYWNjZXB0KGNvbnN0IFFT
dHJpbmcmIHJlc3VsdCA9IFFTdHJpbmcoKSkgeyBlbWl0IGFjY2VwdGVkKHJlc3VsdCk7IH0KICAg
ICB2b2lkIHJlamVjdCgpIHsgZW1pdCByZWplY3RlZCgpOyB9CiAKIHNpZ25hbHM6Ci0gICAgdm9p
ZCBkaXNtaXNzZWQoKTsKLSAgICB2b2lkIGFjY2VwdGVkKCk7CiAgICAgdm9pZCBhY2NlcHRlZChj
b25zdCBRU3RyaW5nJiByZXN1bHQpOwogICAgIHZvaWQgcmVqZWN0ZWQoKTsKIApAQCAtNzQsMTcg
KzEwOSwxOSBAQCBwcml2YXRlOgogICAgIFFTdHJpbmcgbV9kZWZhdWx0VmFsdWU7CiB9OwogCi1j
bGFzcyBCYXNlQXV0aGVudGljYXRpb25Db250ZXh0T2JqZWN0IDogcHVibGljIFFPYmplY3Qgewor
Y2xhc3MgQmFzZUF1dGhlbnRpY2F0aW9uQ29udGV4dE9iamVjdCA6IHB1YmxpYyBEaWFsb2dDb250
ZXh0QmFzZSB7CiAgICAgUV9PQkpFQ1QKICAgICBRX1BST1BFUlRZKFFTdHJpbmcgaG9zdG5hbWUg
UkVBRCBob3N0bmFtZSBDT05TVEFOVCkKICAgICBRX1BST1BFUlRZKFFTdHJpbmcgcHJlZmlsbGVk
VXNlcm5hbWUgUkVBRCBwcmVmaWxsZWRVc2VybmFtZSBDT05TVEFOVCkKIAogcHVibGljOgogICAg
IEJhc2VBdXRoZW50aWNhdGlvbkNvbnRleHRPYmplY3QoY29uc3QgUVN0cmluZyYgaG9zdG5hbWUs
IGNvbnN0IFFTdHJpbmcmIHByZWZpbGxlZFVzZXJuYW1lKQotICAgICAgICA6IFFPYmplY3QoKQor
ICAgICAgICA6IERpYWxvZ0NvbnRleHRCYXNlKCkKICAgICAgICAgLCBtX2hvc3RuYW1lKGhvc3Ru
YW1lKQogICAgICAgICAsIG1fcHJlZmlsbGVkVXNlcm5hbWUocHJlZmlsbGVkVXNlcm5hbWUpCiAg
ICAgeworICAgICAgICBjb25uZWN0KHRoaXMsIFNJR05BTChhY2NlcHRlZChRU3RyaW5nLCBRU3Ry
aW5nKSksIFNMT1QoZGlzbWlzcygpKSk7CisgICAgICAgIGNvbm5lY3QodGhpcywgU0lHTkFMKHJl
amVjdGVkKCkpLCBTTE9UKGRpc21pc3MoKSkpOwogICAgIH0KIAogICAgIFFTdHJpbmcgaG9zdG5h
bWUoKSBjb25zdCB7IHJldHVybiBtX2hvc3RuYW1lOyB9CkBAIC0xMzcsMTUgKzE3NCwxNyBAQCBw
cml2YXRlOgogICAgIHF1aW50MTYgbV9wb3J0OwogfTsKIAotY2xhc3MgQ2VydGlmaWNhdGVWZXJp
ZmljYXRpb25EaWFsb2dDb250ZXh0T2JqZWN0IDogcHVibGljIFFPYmplY3QgeworY2xhc3MgQ2Vy
dGlmaWNhdGVWZXJpZmljYXRpb25EaWFsb2dDb250ZXh0T2JqZWN0IDogcHVibGljIERpYWxvZ0Nv
bnRleHRCYXNlIHsKICAgICBRX09CSkVDVAogICAgIFFfUFJPUEVSVFkoUVN0cmluZyBob3N0bmFt
ZSBSRUFEIGhvc3RuYW1lIENPTlNUQU5UKQogCiBwdWJsaWM6CiAgICAgQ2VydGlmaWNhdGVWZXJp
ZmljYXRpb25EaWFsb2dDb250ZXh0T2JqZWN0KGNvbnN0IFFTdHJpbmcmIGhvc3RuYW1lKQotICAg
ICAgICA6IFFPYmplY3QoKQorICAgICAgICA6IERpYWxvZ0NvbnRleHRCYXNlKCkKICAgICAgICAg
LCBtX2hvc3RuYW1lKGhvc3RuYW1lKQogICAgIHsKKyAgICAgICAgY29ubmVjdCh0aGlzLCBTSUdO
QUwoYWNjZXB0ZWQoKSksIFNMT1QoZGlzbWlzcygpKSk7CisgICAgICAgIGNvbm5lY3QodGhpcywg
U0lHTkFMKHJlamVjdGVkKCkpLCBTTE9UKGRpc21pc3MoKSkpOwogICAgIH0KIAogICAgIFFTdHJp
bmcgaG9zdG5hbWUoKSBjb25zdCB7IHJldHVybiBtX2hvc3RuYW1lOyB9CkBAIC0xNjIsMTcgKzIw
MSwxOSBAQCBwcml2YXRlOgogICAgIFFTdHJpbmcgbV9ob3N0bmFtZTsKIH07CiAKLWNsYXNzIEZp
bGVQaWNrZXJDb250ZXh0T2JqZWN0IDogcHVibGljIFFPYmplY3QgeworY2xhc3MgRmlsZVBpY2tl
ckNvbnRleHRPYmplY3QgOiBwdWJsaWMgRGlhbG9nQ29udGV4dEJhc2UgewogICAgIFFfT0JKRUNU
CiAgICAgUV9QUk9QRVJUWShRU3RyaW5nTGlzdCBmaWxlTGlzdCBSRUFEIGZpbGVMaXN0IENPTlNU
QU5UKQogICAgIFFfUFJPUEVSVFkoYm9vbCBhbGxvd011bHRpcGxlRmlsZXMgUkVBRCBhbGxvd011
bHRpcGxlRmlsZXMgQ09OU1RBTlQpCiAKIHB1YmxpYzoKICAgICBGaWxlUGlja2VyQ29udGV4dE9i
amVjdChjb25zdCBRU3RyaW5nTGlzdCYgc2VsZWN0ZWRGaWxlcywgYm9vbCBhbGxvd011bHRpcGxl
KQotICAgICAgICA6IFFPYmplY3QoKQorICAgICAgICA6IERpYWxvZ0NvbnRleHRCYXNlKCkKICAg
ICAgICAgLCBtX2FsbG93TXVsdGlwbGUoYWxsb3dNdWx0aXBsZSkKICAgICAgICAgLCBtX2ZpbGVM
aXN0KHNlbGVjdGVkRmlsZXMpCiAgICAgeworICAgICAgICBjb25uZWN0KHRoaXMsIFNJR05BTChm
aWxlU2VsZWN0ZWQoUVN0cmluZ0xpc3QpKSwgU0xPVChkaXNtaXNzKCkpKTsKKyAgICAgICAgY29u
bmVjdCh0aGlzLCBTSUdOQUwocmVqZWN0ZWQoKSksIFNMT1QoZGlzbWlzcygpKSk7CiAgICAgfQog
CiAgICAgUVN0cmluZ0xpc3QgZmlsZUxpc3QoKSBjb25zdCB7IHJldHVybiBtX2ZpbGVMaXN0OyB9
CkBAIC0xOTgsNyArMjM5LDcgQEAgcHJpdmF0ZToKICAgICBRU3RyaW5nTGlzdCBtX2ZpbGVMaXN0
OwogfTsKIAotY2xhc3MgRGF0YWJhc2VRdW90YURpYWxvZ0NvbnRleHRPYmplY3QgOiBwdWJsaWMg
UU9iamVjdCB7CitjbGFzcyBEYXRhYmFzZVF1b3RhRGlhbG9nQ29udGV4dE9iamVjdCA6IHB1Ymxp
YyBEaWFsb2dDb250ZXh0QmFzZSB7CiAgICAgUV9PQkpFQ1QKICAgICBRX1BST1BFUlRZKFFTdHJp
bmcgZGF0YWJhc2VOYW1lIFJFQUQgZGF0YWJhc2VOYW1lIENPTlNUQU5UKQogICAgIFFfUFJPUEVS
VFkoUVN0cmluZyBkaXNwbGF5TmFtZSBSRUFEIGRpc3BsYXlOYW1lIENPTlNUQU5UKQpAQCAtMjEw
LDcgKzI1MSw3IEBAIGNsYXNzIERhdGFiYXNlUXVvdGFEaWFsb2dDb250ZXh0T2JqZWN0IDogcHVi
bGljIFFPYmplY3QgewogCiBwdWJsaWM6CiAgICAgRGF0YWJhc2VRdW90YURpYWxvZ0NvbnRleHRP
YmplY3QoY29uc3QgUVN0cmluZyYgZGF0YWJhc2VOYW1lLCBjb25zdCBRU3RyaW5nJiBkaXNwbGF5
TmFtZSwgV0tTZWN1cml0eU9yaWdpblJlZiBzZWN1cml0eU9yaWdpbiwgcXVpbnQ2NCBjdXJyZW50
UXVvdGEsIHF1aW50NjQgY3VycmVudE9yaWdpblVzYWdlLCBxdWludDY0IGN1cnJlbnREYXRhYmFz
ZVVzYWdlLCBxdWludDY0IGV4cGVjdGVkVXNhZ2UpCi0gICAgICAgIDogUU9iamVjdCgpCisgICAg
ICAgIDogRGlhbG9nQ29udGV4dEJhc2UoKQogICAgICAgICAsIG1fZGF0YWJhc2VOYW1lKGRhdGFi
YXNlTmFtZSkKICAgICAgICAgLCBtX2Rpc3BsYXlOYW1lKGRpc3BsYXlOYW1lKQogICAgICAgICAs
IG1fY3VycmVudFF1b3RhKGN1cnJlbnRRdW90YSkKQEAgLTIyNCw2ICsyNjUsOSBAQCBwdWJsaWM6
CiAgICAgICAgIG1fc2VjdXJpdHlPcmlnaW4uc2V0U2NoZW1lKFdLU3RyaW5nQ29weVFTdHJpbmco
c2NoZW1lLmdldCgpKSk7CiAgICAgICAgIG1fc2VjdXJpdHlPcmlnaW4uc2V0SG9zdChXS1N0cmlu
Z0NvcHlRU3RyaW5nKGhvc3QuZ2V0KCkpKTsKICAgICAgICAgbV9zZWN1cml0eU9yaWdpbi5zZXRQ
b3J0KHN0YXRpY19jYXN0PGludD4oV0tTZWN1cml0eU9yaWdpbkdldFBvcnQoc2VjdXJpdHlPcmln
aW4pKSk7CisKKyAgICAgICAgY29ubmVjdCh0aGlzLCBTSUdOQUwoYWNjZXB0ZWQocXVpbnQ2NCkp
LCBTTE9UKGRpc21pc3MoKSkpOworICAgICAgICBjb25uZWN0KHRoaXMsIFNJR05BTChyZWplY3Rl
ZCgpKSwgU0xPVChkaXNtaXNzKCkpKTsKICAgICB9CiAKICAgICBRU3RyaW5nIGRhdGFiYXNlTmFt
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YWJhc2VOYW1lOyB9CkBAIC0yNTIsMTE4ICsyOTYsMTM2
IEBAIHByaXZhdGU6CiAgICAgUXRXZWJTZWN1cml0eU9yaWdpbiBtX3NlY3VyaXR5T3JpZ2luOwog
fTsKIAotYm9vbCBRdERpYWxvZ1J1bm5lcjo6aW5pdEZvckFsZXJ0KFFRbWxDb21wb25lbnQqIGNv
bXBvbmVudCwgUVF1aWNrSXRlbSogZGlhbG9nUGFyZW50LCBjb25zdCBRU3RyaW5nJiBtZXNzYWdl
KQordm9pZCBRdERpYWxvZ1J1bm5lcjo6cnVuKCkKIHsKLSAgICBEaWFsb2dDb250ZXh0T2JqZWN0
KiBjb250ZXh0T2JqZWN0ID0gbmV3IERpYWxvZ0NvbnRleHRPYmplY3QobWVzc2FnZSk7Ci0gICAg
aWYgKCFjcmVhdGVEaWFsb2coY29tcG9uZW50LCBkaWFsb2dQYXJlbnQsIGNvbnRleHRPYmplY3Qp
KQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgRGlhbG9nQ29udGV4dEJhc2UqIGNvbnRleHQg
PSBzdGF0aWNfY2FzdDxEaWFsb2dDb250ZXh0QmFzZSo+KG1fZGlhbG9nQ29udGV4dC0+Y29udGV4
dE9iamVjdCgpKTsKIAotICAgIGNvbm5lY3QoY29udGV4dE9iamVjdCwgU0lHTkFMKGRpc21pc3Nl
ZCgpKSwgU0xPVChxdWl0KCkpKTsKLSAgICByZXR1cm4gdHJ1ZTsKKyAgICAvLyBXZSBtYXkgaGF2
ZSBhbHJlYWR5IGJlZW4gZGlzbWlzc2VkIGFzIHBhcnQgb2YgQ29tcG9uZW50Lm9uQ29tcGxldGVk
KCkKKyAgICBpZiAoY29udGV4dC0+bV9kaXNtaXNzZWQpCisgICAgICAgIHJldHVybjsKKworICAg
IGNvbm5lY3QoY29udGV4dCwgU0lHTkFMKGRpc21pc3NlZCgpKSwgU0xPVChxdWl0KCkpKTsKKwor
ICAgIFFRdWlja1dlYlZpZXdQcml2YXRlKiB3ZWJWaWV3UHJpdmF0ZSA9IFFRdWlja1dlYlZpZXdQ
cml2YXRlOjpnZXQobV93ZWJWaWV3KTsKKworICAgIC8vIEZJWE1FOiBDaGFuZ2UgdGhlIHdheSB3
ZSBkaXNhYmxlIG1vdXNlIGFuZCB0b3VjaCBldmVudHMgdG8gdXNlIHRoZQorICAgIC8vIGNvbmNl
cHQgb2Ygc3VzcGVuZGluZyBpbnN0ZWFkIChpbiB0aGlzIGNhc2UgZXZlbnQgcHJvY2Vzc2luZyku
CisgICAgd2ViVmlld1ByaXZhdGUtPmRpc2FibGVNb3VzZUV2ZW50cygpOworICAgIHdlYlZpZXdQ
cml2YXRlLT5tX2RpYWxvZ0FjdGl2ZSA9IHRydWU7CisgICAgZXhlYygpOyAvLyBTcGluIHRoZSBl
dmVudCBsb29wCisgICAgd2ViVmlld1ByaXZhdGUtPm1fZGlhbG9nQWN0aXZlID0gZmFsc2U7Cisg
ICAgd2ViVmlld1ByaXZhdGUtPmVuYWJsZU1vdXNlRXZlbnRzKCk7CiB9CiAKLWJvb2wgUXREaWFs
b2dSdW5uZXI6OmluaXRGb3JDb25maXJtKFFRbWxDb21wb25lbnQqIGNvbXBvbmVudCwgUVF1aWNr
SXRlbSogZGlhbG9nUGFyZW50LCBjb25zdCBRU3RyaW5nJiBtZXNzYWdlKQorYm9vbCBRdERpYWxv
Z1J1bm5lcjo6aW5pdEZvckFsZXJ0KGNvbnN0IFFTdHJpbmcmIG1lc3NhZ2UpCiB7CisgICAgUVFt
bENvbXBvbmVudCogY29tcG9uZW50ID0gbV93ZWJWaWV3LT5leHBlcmltZW50YWwoKS0+YWxlcnRE
aWFsb2coKTsKKyAgICBpZiAoIWNvbXBvbmVudCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAg
ICAgRGlhbG9nQ29udGV4dE9iamVjdCogY29udGV4dE9iamVjdCA9IG5ldyBEaWFsb2dDb250ZXh0
T2JqZWN0KG1lc3NhZ2UpOwotICAgIGlmICghY3JlYXRlRGlhbG9nKGNvbXBvbmVudCwgZGlhbG9n
UGFyZW50LCBjb250ZXh0T2JqZWN0KSkKKworICAgIHJldHVybiBjcmVhdGVEaWFsb2coY29tcG9u
ZW50LCBjb250ZXh0T2JqZWN0KTsKK30KKworYm9vbCBRdERpYWxvZ1J1bm5lcjo6aW5pdEZvckNv
bmZpcm0oY29uc3QgUVN0cmluZyYgbWVzc2FnZSkKK3sKKyAgICBRUW1sQ29tcG9uZW50KiBjb21w
b25lbnQgPSBtX3dlYlZpZXctPmV4cGVyaW1lbnRhbCgpLT5jb25maXJtRGlhbG9nKCk7CisgICAg
aWYgKCFjb21wb25lbnQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGNvbm5lY3QoY29u
dGV4dE9iamVjdCwgU0lHTkFMKGFjY2VwdGVkKCkpLCBTTE9UKG9uQWNjZXB0ZWQoKSkpOwotICAg
IGNvbm5lY3QoY29udGV4dE9iamVjdCwgU0lHTkFMKGFjY2VwdGVkKCkpLCBTTE9UKHF1aXQoKSkp
OwotICAgIGNvbm5lY3QoY29udGV4dE9iamVjdCwgU0lHTkFMKHJlamVjdGVkKCkpLCBTTE9UKHF1
aXQoKSkpOwotICAgIHJldHVybiB0cnVlOworICAgIERpYWxvZ0NvbnRleHRPYmplY3QqIGNvbnRl
eHRPYmplY3QgPSBuZXcgRGlhbG9nQ29udGV4dE9iamVjdChtZXNzYWdlKTsKKyAgICBjb25uZWN0
KGNvbnRleHRPYmplY3QsIFNJR05BTChhY2NlcHRlZChRU3RyaW5nKSksIFNMT1Qob25BY2NlcHRl
ZCgpKSk7CisKKyAgICByZXR1cm4gY3JlYXRlRGlhbG9nKGNvbXBvbmVudCwgY29udGV4dE9iamVj
dCk7CiB9CiAKLWJvb2wgUXREaWFsb2dSdW5uZXI6OmluaXRGb3JQcm9tcHQoUVFtbENvbXBvbmVu
dCogY29tcG9uZW50LCBRUXVpY2tJdGVtKiBkaWFsb2dQYXJlbnQsIGNvbnN0IFFTdHJpbmcmIG1l
c3NhZ2UsIGNvbnN0IFFTdHJpbmcmIGRlZmF1bHRWYWx1ZSkKK2Jvb2wgUXREaWFsb2dSdW5uZXI6
OmluaXRGb3JQcm9tcHQoY29uc3QgUVN0cmluZyYgbWVzc2FnZSwgY29uc3QgUVN0cmluZyYgZGVm
YXVsdFZhbHVlKQogewotICAgIERpYWxvZ0NvbnRleHRPYmplY3QqIGNvbnRleHRPYmplY3QgPSBu
ZXcgRGlhbG9nQ29udGV4dE9iamVjdChtZXNzYWdlLCBkZWZhdWx0VmFsdWUpOwotICAgIGlmICgh
Y3JlYXRlRGlhbG9nKGNvbXBvbmVudCwgZGlhbG9nUGFyZW50LCBjb250ZXh0T2JqZWN0KSkKKyAg
ICBRUW1sQ29tcG9uZW50KiBjb21wb25lbnQgPSBtX3dlYlZpZXctPmV4cGVyaW1lbnRhbCgpLT5w
cm9tcHREaWFsb2coKTsKKyAgICBpZiAoIWNvbXBvbmVudCkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCisgICAgRGlhbG9nQ29udGV4dE9iamVjdCogY29udGV4dE9iamVjdCA9IG5ldyBEaWFsb2dD
b250ZXh0T2JqZWN0KG1lc3NhZ2UsIGRlZmF1bHRWYWx1ZSk7CiAgICAgY29ubmVjdChjb250ZXh0
T2JqZWN0LCBTSUdOQUwoYWNjZXB0ZWQoUVN0cmluZykpLCBTTE9UKG9uQWNjZXB0ZWQoUVN0cmlu
ZykpKTsKLSAgICBjb25uZWN0KGNvbnRleHRPYmplY3QsIFNJR05BTChhY2NlcHRlZChRU3RyaW5n
KSksIFNMT1QocXVpdCgpKSk7Ci0gICAgY29ubmVjdChjb250ZXh0T2JqZWN0LCBTSUdOQUwocmVq
ZWN0ZWQoKSksIFNMT1QocXVpdCgpKSk7Ci0gICAgcmV0dXJuIHRydWU7CisKKyAgICByZXR1cm4g
Y3JlYXRlRGlhbG9nKGNvbXBvbmVudCwgY29udGV4dE9iamVjdCk7CiB9CiAKLWJvb2wgUXREaWFs
b2dSdW5uZXI6OmluaXRGb3JBdXRoZW50aWNhdGlvbihRUW1sQ29tcG9uZW50KiBjb21wb25lbnQs
IFFRdWlja0l0ZW0qIGRpYWxvZ1BhcmVudCwgY29uc3QgUVN0cmluZyYgaG9zdG5hbWUsIGNvbnN0
IFFTdHJpbmcmIHJlYWxtLCBjb25zdCBRU3RyaW5nJiBwcmVmaWxsZWRVc2VybmFtZSkKK2Jvb2wg
UXREaWFsb2dSdW5uZXI6OmluaXRGb3JBdXRoZW50aWNhdGlvbihjb25zdCBRU3RyaW5nJiBob3N0
bmFtZSwgY29uc3QgUVN0cmluZyYgcmVhbG0sIGNvbnN0IFFTdHJpbmcmIHByZWZpbGxlZFVzZXJu
YW1lKQogewotICAgIEh0dHBBdXRoZW50aWNhdGlvbkRpYWxvZ0NvbnRleHRPYmplY3QqIGNvbnRl
eHRPYmplY3QgPSBuZXcgSHR0cEF1dGhlbnRpY2F0aW9uRGlhbG9nQ29udGV4dE9iamVjdChob3N0
bmFtZSwgcmVhbG0sIHByZWZpbGxlZFVzZXJuYW1lKTsKLSAgICBpZiAoIWNyZWF0ZURpYWxvZyhj
b21wb25lbnQsIGRpYWxvZ1BhcmVudCwgY29udGV4dE9iamVjdCkpCisgICAgUVFtbENvbXBvbmVu
dCogY29tcG9uZW50ID0gbV93ZWJWaWV3LT5leHBlcmltZW50YWwoKS0+YXV0aGVudGljYXRpb25E
aWFsb2coKTsKKyAgICBpZiAoIWNvbXBvbmVudCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisg
ICAgSHR0cEF1dGhlbnRpY2F0aW9uRGlhbG9nQ29udGV4dE9iamVjdCogY29udGV4dE9iamVjdCA9
IG5ldyBIdHRwQXV0aGVudGljYXRpb25EaWFsb2dDb250ZXh0T2JqZWN0KGhvc3RuYW1lLCByZWFs
bSwgcHJlZmlsbGVkVXNlcm5hbWUpOwogICAgIGNvbm5lY3QoY29udGV4dE9iamVjdCwgU0lHTkFM
KGFjY2VwdGVkKFFTdHJpbmcsIFFTdHJpbmcpKSwgU0xPVChvbkF1dGhlbnRpY2F0aW9uQWNjZXB0
ZWQoUVN0cmluZywgUVN0cmluZykpKTsKLSAgICBjb25uZWN0KGNvbnRleHRPYmplY3QsIFNJR05B
TChhY2NlcHRlZChRU3RyaW5nLCBRU3RyaW5nKSksIFNMT1QocXVpdCgpKSk7Ci0gICAgY29ubmVj
dChjb250ZXh0T2JqZWN0LCBTSUdOQUwocmVqZWN0ZWQoKSksIFNMT1QocXVpdCgpKSk7CiAKLSAg
ICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gY3JlYXRlRGlhbG9nKGNvbXBvbmVudCwgY29udGV4
dE9iamVjdCk7CiB9CiAKLWJvb2wgUXREaWFsb2dSdW5uZXI6OmluaXRGb3JQcm94eUF1dGhlbnRp
Y2F0aW9uKFFRbWxDb21wb25lbnQqIGNvbXBvbmVudCwgUVF1aWNrSXRlbSogZGlhbG9nUGFyZW50
LCBjb25zdCBRU3RyaW5nJiBob3N0bmFtZSwgdWludDE2X3QgcG9ydCwgY29uc3QgUVN0cmluZyYg
cHJlZmlsbGVkVXNlcm5hbWUpCitib29sIFF0RGlhbG9nUnVubmVyOjppbml0Rm9yUHJveHlBdXRo
ZW50aWNhdGlvbihjb25zdCBRU3RyaW5nJiBob3N0bmFtZSwgdWludDE2X3QgcG9ydCwgY29uc3Qg
UVN0cmluZyYgcHJlZmlsbGVkVXNlcm5hbWUpCiB7Ci0gICAgUHJveHlBdXRoZW50aWNhdGlvbkRp
YWxvZ0NvbnRleHRPYmplY3QqIGNvbnRleHRPYmplY3QgPSBuZXcgUHJveHlBdXRoZW50aWNhdGlv
bkRpYWxvZ0NvbnRleHRPYmplY3QoaG9zdG5hbWUsIHBvcnQsIHByZWZpbGxlZFVzZXJuYW1lKTsK
LSAgICBpZiAoIWNyZWF0ZURpYWxvZyhjb21wb25lbnQsIGRpYWxvZ1BhcmVudCwgY29udGV4dE9i
amVjdCkpCisgICAgUVFtbENvbXBvbmVudCogY29tcG9uZW50ID0gbV93ZWJWaWV3LT5leHBlcmlt
ZW50YWwoKS0+cHJveHlBdXRoZW50aWNhdGlvbkRpYWxvZygpOworICAgIGlmICghY29tcG9uZW50
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBQcm94eUF1dGhlbnRpY2F0aW9uRGlhbG9n
Q29udGV4dE9iamVjdCogY29udGV4dE9iamVjdCA9IG5ldyBQcm94eUF1dGhlbnRpY2F0aW9uRGlh
bG9nQ29udGV4dE9iamVjdChob3N0bmFtZSwgcG9ydCwgcHJlZmlsbGVkVXNlcm5hbWUpOwogICAg
IGNvbm5lY3QoY29udGV4dE9iamVjdCwgU0lHTkFMKGFjY2VwdGVkKFFTdHJpbmcsIFFTdHJpbmcp
KSwgU0xPVChvbkF1dGhlbnRpY2F0aW9uQWNjZXB0ZWQoUVN0cmluZywgUVN0cmluZykpKTsKLSAg
ICBjb25uZWN0KGNvbnRleHRPYmplY3QsIFNJR05BTChhY2NlcHRlZChRU3RyaW5nLCBRU3RyaW5n
KSksIFNMT1QocXVpdCgpKSk7Ci0gICAgY29ubmVjdChjb250ZXh0T2JqZWN0LCBTSUdOQUwocmVq
ZWN0ZWQoKSksIFNMT1QocXVpdCgpKSk7CiAKLSAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4g
Y3JlYXRlRGlhbG9nKGNvbXBvbmVudCwgY29udGV4dE9iamVjdCk7CiB9CiAKLWJvb2wgUXREaWFs
b2dSdW5uZXI6OmluaXRGb3JDZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvbihRUW1sQ29tcG9uZW50KiBj
b21wb25lbnQsIFFRdWlja0l0ZW0qIGRpYWxvZ1BhcmVudCwgY29uc3QgUVN0cmluZyYgaG9zdG5h
bWUpCitib29sIFF0RGlhbG9nUnVubmVyOjppbml0Rm9yQ2VydGlmaWNhdGVWZXJpZmljYXRpb24o
Y29uc3QgUVN0cmluZyYgaG9zdG5hbWUpCiB7Ci0gICAgQ2VydGlmaWNhdGVWZXJpZmljYXRpb25E
aWFsb2dDb250ZXh0T2JqZWN0KiBjb250ZXh0T2JqZWN0ID0gbmV3IENlcnRpZmljYXRlVmVyaWZp
Y2F0aW9uRGlhbG9nQ29udGV4dE9iamVjdChob3N0bmFtZSk7Ci0gICAgaWYgKCFjcmVhdGVEaWFs
b2coY29tcG9uZW50LCBkaWFsb2dQYXJlbnQsIGNvbnRleHRPYmplY3QpKQorICAgIFFRbWxDb21w
b25lbnQqIGNvbXBvbmVudCA9IG1fd2ViVmlldy0+ZXhwZXJpbWVudGFsKCktPmNlcnRpZmljYXRl
VmVyaWZpY2F0aW9uRGlhbG9nKCk7CisgICAgaWYgKCFjb21wb25lbnQpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIAorICAgIENlcnRpZmljYXRlVmVyaWZpY2F0aW9uRGlhbG9nQ29udGV4dE9iamVj
dCogY29udGV4dE9iamVjdCA9IG5ldyBDZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvbkRpYWxvZ0NvbnRl
eHRPYmplY3QoaG9zdG5hbWUpOwogICAgIGNvbm5lY3QoY29udGV4dE9iamVjdCwgU0lHTkFMKGFj
Y2VwdGVkKCkpLCBTTE9UKG9uQWNjZXB0ZWQoKSkpOwotICAgIGNvbm5lY3QoY29udGV4dE9iamVj
dCwgU0lHTkFMKGFjY2VwdGVkKCkpLCBTTE9UKHF1aXQoKSkpOwotICAgIGNvbm5lY3QoY29udGV4
dE9iamVjdCwgU0lHTkFMKHJlamVjdGVkKCkpLCBTTE9UKHF1aXQoKSkpOwogCi0gICAgcmV0dXJu
IHRydWU7CisgICAgcmV0dXJuIGNyZWF0ZURpYWxvZyhjb21wb25lbnQsIGNvbnRleHRPYmplY3Qp
OwogfQogCi1ib29sIFF0RGlhbG9nUnVubmVyOjppbml0Rm9yRmlsZVBpY2tlcihRUW1sQ29tcG9u
ZW50KiBjb21wb25lbnQsIFFRdWlja0l0ZW0qIGRpYWxvZ1BhcmVudCwgY29uc3QgUVN0cmluZ0xp
c3QmIHNlbGVjdGVkRmlsZXMsIGJvb2wgYWxsb3dNdWx0aXBsZSkKK2Jvb2wgUXREaWFsb2dSdW5u
ZXI6OmluaXRGb3JGaWxlUGlja2VyKGNvbnN0IFFTdHJpbmdMaXN0JiBzZWxlY3RlZEZpbGVzLCBi
b29sIGFsbG93TXVsdGlwbGUpCiB7Ci0gICAgRmlsZVBpY2tlckNvbnRleHRPYmplY3QqIGNvbnRl
eHRPYmplY3QgPSBuZXcgRmlsZVBpY2tlckNvbnRleHRPYmplY3Qoc2VsZWN0ZWRGaWxlcywgYWxs
b3dNdWx0aXBsZSk7Ci0gICAgaWYgKCFjcmVhdGVEaWFsb2coY29tcG9uZW50LCBkaWFsb2dQYXJl
bnQsIGNvbnRleHRPYmplY3QpKQorICAgIFFRbWxDb21wb25lbnQqIGNvbXBvbmVudCA9IG1fd2Vi
Vmlldy0+ZXhwZXJpbWVudGFsKCktPmZpbGVQaWNrZXIoKTsKKyAgICBpZiAoIWNvbXBvbmVudCkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgRmlsZVBpY2tlckNvbnRleHRPYmplY3QqIGNv
bnRleHRPYmplY3QgPSBuZXcgRmlsZVBpY2tlckNvbnRleHRPYmplY3Qoc2VsZWN0ZWRGaWxlcywg
YWxsb3dNdWx0aXBsZSk7CiAgICAgY29ubmVjdChjb250ZXh0T2JqZWN0LCBTSUdOQUwoZmlsZVNl
bGVjdGVkKFFTdHJpbmdMaXN0KSksIFNMT1Qob25GaWxlU2VsZWN0ZWQoUVN0cmluZ0xpc3QpKSk7
Ci0gICAgY29ubmVjdChjb250ZXh0T2JqZWN0LCBTSUdOQUwoZmlsZVNlbGVjdGVkKFFTdHJpbmdM
aXN0KSksIFNMT1QocXVpdCgpKSk7Ci0gICAgY29ubmVjdChjb250ZXh0T2JqZWN0LCBTSUdOQUwo
cmVqZWN0ZWQoKSksIFNMT1QocXVpdCgpKSk7CiAKLSAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1
cm4gY3JlYXRlRGlhbG9nKGNvbXBvbmVudCwgY29udGV4dE9iamVjdCk7CiB9CiAKLWJvb2wgUXRE
aWFsb2dSdW5uZXI6OmluaXRGb3JEYXRhYmFzZVF1b3RhRGlhbG9nKFFRbWxDb21wb25lbnQqIGNv
bXBvbmVudCwgUVF1aWNrSXRlbSogZGlhbG9nUGFyZW50LCBjb25zdCBRU3RyaW5nJiBkYXRhYmFz
ZU5hbWUsIGNvbnN0IFFTdHJpbmcmIGRpc3BsYXlOYW1lLCBXS1NlY3VyaXR5T3JpZ2luUmVmIHNl
Y3VyaXR5T3JpZ2luLCBxdWludDY0IGN1cnJlbnRRdW90YSwgcXVpbnQ2NCBjdXJyZW50T3JpZ2lu
VXNhZ2UsIHF1aW50NjQgY3VycmVudERhdGFiYXNlVXNhZ2UsIHF1aW50NjQgZXhwZWN0ZWRVc2Fn
ZSkKK2Jvb2wgUXREaWFsb2dSdW5uZXI6OmluaXRGb3JEYXRhYmFzZVF1b3RhRGlhbG9nKGNvbnN0
IFFTdHJpbmcmIGRhdGFiYXNlTmFtZSwgY29uc3QgUVN0cmluZyYgZGlzcGxheU5hbWUsIFdLU2Vj
dXJpdHlPcmlnaW5SZWYgc2VjdXJpdHlPcmlnaW4sIHF1aW50NjQgY3VycmVudFF1b3RhLCBxdWlu
dDY0IGN1cnJlbnRPcmlnaW5Vc2FnZSwgcXVpbnQ2NCBjdXJyZW50RGF0YWJhc2VVc2FnZSwgcXVp
bnQ2NCBleHBlY3RlZFVzYWdlKQogewotICAgIERhdGFiYXNlUXVvdGFEaWFsb2dDb250ZXh0T2Jq
ZWN0KiBjb250ZXh0T2JqZWN0ID0gbmV3IERhdGFiYXNlUXVvdGFEaWFsb2dDb250ZXh0T2JqZWN0
KGRhdGFiYXNlTmFtZSwgZGlzcGxheU5hbWUsIHNlY3VyaXR5T3JpZ2luLCBjdXJyZW50UXVvdGEs
IGN1cnJlbnRPcmlnaW5Vc2FnZSwgY3VycmVudERhdGFiYXNlVXNhZ2UsIGV4cGVjdGVkVXNhZ2Up
OwotICAgIGlmICghY3JlYXRlRGlhbG9nKGNvbXBvbmVudCwgZGlhbG9nUGFyZW50LCBjb250ZXh0
T2JqZWN0KSkKKyAgICBRUW1sQ29tcG9uZW50KiBjb21wb25lbnQgPSBtX3dlYlZpZXctPmV4cGVy
aW1lbnRhbCgpLT5kYXRhYmFzZVF1b3RhRGlhbG9nKCk7CisgICAgaWYgKCFjb21wb25lbnQpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIERhdGFiYXNlUXVvdGFEaWFsb2dDb250ZXh0T2Jq
ZWN0KiBjb250ZXh0T2JqZWN0ID0gbmV3IERhdGFiYXNlUXVvdGFEaWFsb2dDb250ZXh0T2JqZWN0
KGRhdGFiYXNlTmFtZSwgZGlzcGxheU5hbWUsIHNlY3VyaXR5T3JpZ2luLCBjdXJyZW50UXVvdGEs
IGN1cnJlbnRPcmlnaW5Vc2FnZSwgY3VycmVudERhdGFiYXNlVXNhZ2UsIGV4cGVjdGVkVXNhZ2Up
OwogICAgIGNvbm5lY3QoY29udGV4dE9iamVjdCwgU0lHTkFMKGFjY2VwdGVkKHF1aW50NjQpKSwg
U0xPVChvbkRhdGFiYXNlUXVvdGFBY2NlcHRlZChxdWludDY0KSkpOwotICAgIGNvbm5lY3QoY29u
dGV4dE9iamVjdCwgU0lHTkFMKGFjY2VwdGVkKHF1aW50NjQpKSwgU0xPVChxdWl0KCkpKTsKLSAg
ICBjb25uZWN0KGNvbnRleHRPYmplY3QsIFNJR05BTChyZWplY3RlZCgpKSwgU0xPVChxdWl0KCkp
KTsKIAotICAgIHJldHVybiB0cnVlOworICAgIHJldHVybiBjcmVhdGVEaWFsb2coY29tcG9uZW50
LCBjb250ZXh0T2JqZWN0KTsKIH0KIAotYm9vbCBRdERpYWxvZ1J1bm5lcjo6Y3JlYXRlRGlhbG9n
KFFRbWxDb21wb25lbnQqIGNvbXBvbmVudCwgUVF1aWNrSXRlbSogZGlhbG9nUGFyZW50LCBRT2Jq
ZWN0KiBjb250ZXh0T2JqZWN0KQorYm9vbCBRdERpYWxvZ1J1bm5lcjo6Y3JlYXRlRGlhbG9nKFFR
bWxDb21wb25lbnQqIGNvbXBvbmVudCwgUU9iamVjdCogY29udGV4dE9iamVjdCkKIHsKICAgICBR
UW1sQ29udGV4dCogYmFzZUNvbnRleHQgPSBjb21wb25lbnQtPmNyZWF0aW9uQ29udGV4dCgpOwog
ICAgIGlmICghYmFzZUNvbnRleHQpCi0gICAgICAgIGJhc2VDb250ZXh0ID0gUVFtbEVuZ2luZTo6
Y29udGV4dEZvck9iamVjdChkaWFsb2dQYXJlbnQpOworICAgICAgICBiYXNlQ29udGV4dCA9IFFR
bWxFbmdpbmU6OmNvbnRleHRGb3JPYmplY3QobV93ZWJWaWV3KTsKICAgICBtX2RpYWxvZ0NvbnRl
eHQgPSBhZG9wdFB0cihuZXcgUVFtbENvbnRleHQoYmFzZUNvbnRleHQpKTsKIAotICAgIC8vIFRo
aXMgbWFrZXMgYm90aCAibWVzc2FnZSIgYW5kICJtb2RlbC5tZXNzYWdlIiB3b3JrIGZvciB0aGUg
ZGlhbG9nLCBqdXN0IGxpa2UgUXRRdWljaydzIExpc3RWaWV3IGRlbGVnYXRlcy4KKyAgICAvLyBU
aGlzIG1ha2VzIGJvdGggIm1lc3NhZ2UiIGFuZCAibW9kZWwubWVzc2FnZSIgd29yayBmb3IgdGhl
IGRpYWxvZywKKyAgICAvLyBqdXN0IGxpa2UgUXRRdWljaydzIExpc3RWaWV3IGRlbGVnYXRlcy4K
ICAgICBjb250ZXh0T2JqZWN0LT5zZXRQYXJlbnQobV9kaWFsb2dDb250ZXh0LmdldCgpKTsKICAg
ICBtX2RpYWxvZ0NvbnRleHQtPnNldENvbnRleHRQcm9wZXJ0eShRTGF0aW4xU3RyaW5nKCJtb2Rl
bCIpLCBjb250ZXh0T2JqZWN0KTsKICAgICBtX2RpYWxvZ0NvbnRleHQtPnNldENvbnRleHRPYmpl
Y3QoY29udGV4dE9iamVjdCk7CiAKLSAgICBRT2JqZWN0KiBvYmplY3QgPSBjb21wb25lbnQtPmNy
ZWF0ZShtX2RpYWxvZ0NvbnRleHQuZ2V0KCkpOworICAgIFFPYmplY3QqIG9iamVjdCA9IGNvbXBv
bmVudC0+YmVnaW5DcmVhdGUobV9kaWFsb2dDb250ZXh0LmdldCgpKTsKICAgICBpZiAoIW9iamVj
dCkgewogICAgICAgICBtX2RpYWxvZ0NvbnRleHQuY2xlYXIoKTsKICAgICAgICAgcmV0dXJuIGZh
bHNlOwpAQCAtMzc2LDEwICs0MzgsNDggQEAgYm9vbCBRdERpYWxvZ1J1bm5lcjo6Y3JlYXRlRGlh
bG9nKFFRbWxDb21wb25lbnQqIGNvbXBvbmVudCwgUVF1aWNrSXRlbSogZGlhbG9nUGEKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAotICAgIG1fZGlhbG9nLT5zZXRQYXJlbnRJdGVtKGRp
YWxvZ1BhcmVudCk7CisgICAgUVF1aWNrV2ViVmlld1ByaXZhdGU6OmdldChtX3dlYlZpZXcpLT5h
ZGRBdHRhY2hlZFByb3BlcnR5VG8obV9kaWFsb2cuZ2V0KCkpOworICAgIG1fZGlhbG9nLT5zZXRQ
YXJlbnRJdGVtKG1fd2ViVmlldyk7CisKKyAgICAvLyBPbmx5IGZ1bGx5IGNyZWF0ZSB0aGUgY29t
cG9uZW50IG9uY2Ugd2UndmUgc2V0IGJvdGggYSBwYXJlbnQKKyAgICAvLyBhbmQgdGhlIG5lZWRl
ZCBjb250ZXh0IGFuZCBhdHRhY2hlZCBwcm9wZXJ0aWVzLCBzbyB0aGF0IGRpYWxvZ3MKKyAgICAv
LyBjYW4gZG8gdXNlZnVsIHN0dWZmIGluIHRoZWlyIENvbXBvbmVudC5vbkNvbXBsZXRlZCgpIG1l
dGhvZC4KKyAgICBjb21wb25lbnQtPmNvbXBsZXRlQ3JlYXRlKCk7CisKKyAgICAvLyBGSVhNRTog
QXMgcGFydCBvZiBjb21wbGV0ZUNyZWF0ZSwgdGhlIGJpbmRpbmdzIG9mIHRoZSBpdGVtIHdpbGwg
YmUKKyAgICAvLyBldmFsdWF0ZWQsIGJ1dCBmb3Igc29tZSByZWFzb24gZG9pbmcgbWFwVG9JdGVt
L21hcEZyb21JdGVtIGluIGEKKyAgICAvLyBiaW5kaW5nIHdpbGwgbm90IHdvcmsgYXMgZXhwZWN0
ZWQsIGV2ZW4gaWYgd2UgYXQgYmluZGluZyBldmFsdWF0aW9uCisgICAgLy8gdGltZSBoYXZlIHRo
ZSBwYXJlbnQgYW5kIGFsbCB0aGUgd2F5IHVwIHRvIHRoZSByb290IFFNTCBpdGVtLgorICAgIC8v
IEFzIGEgd29ya2Fyb3VuZCB5b3UgY2FuIHNldCB3aGljaGV2ZXIgcHJvcGVydHkgeW91IG5lZWQg
aW4KKyAgICAvLyBDb21wb25lbnQub25Db21wbGV0ZWQsIGV2ZW4gdG8gYSBiaW5kaW5nIHVzaW5n
IFF0LmJpbmQoKS4KKwogICAgIHJldHVybiB0cnVlOwogfQogCit2b2lkIFF0RGlhbG9nUnVubmVy
OjpvbkFjY2VwdGVkKGNvbnN0IFFTdHJpbmcmIHJlc3VsdCkKK3sKKyAgICBtX3dhc0FjY2VwdGVk
ID0gdHJ1ZTsKKyAgICBtX3Jlc3VsdCA9IHJlc3VsdDsKK30KKwordm9pZCBRdERpYWxvZ1J1bm5l
cjo6b25BdXRoZW50aWNhdGlvbkFjY2VwdGVkKGNvbnN0IFFTdHJpbmcmIHVzZXJuYW1lLCBjb25z
dCBRU3RyaW5nJiBwYXNzd29yZCkKK3sKKyAgICBtX3VzZXJuYW1lID0gdXNlcm5hbWU7CisgICAg
bV9wYXNzd29yZCA9IHBhc3N3b3JkOworfQorCit2b2lkIFF0RGlhbG9nUnVubmVyOjpvbkZpbGVT
ZWxlY3RlZChjb25zdCBRU3RyaW5nTGlzdCYgZmlsZVBhdGhzKQoreworICAgIG1fd2FzQWNjZXB0
ZWQgPSB0cnVlOworICAgIG1fZmlsZXBhdGhzID0gZmlsZVBhdGhzOworfQorCit2b2lkIFF0RGlh
bG9nUnVubmVyOjpvbkRhdGFiYXNlUXVvdGFBY2NlcHRlZChxdWludDY0IHF1b3RhKQoreworICAg
IG1fd2FzQWNjZXB0ZWQgPSB0cnVlOworICAgIG1fZGF0YWJhc2VRdW90YSA9IHF1b3RhOworfQor
CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2luY2x1ZGUgIlF0RGlhbG9nUnVubmVyLm1vYyIK
ZGlmZiAtLWdpdCBjL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdERpYWxvZ1J1bm5lci5o
IHcvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0RGlhbG9nUnVubmVyLmgKaW5kZXggZjUz
ZmM5MmY0ZTFmZWE5NmM3YTc3NTQ2NGM1OGIyZWE5ZDgwMGU0Zi4uYzA0MDQzZDM0NTU0MzdlMWNi
NGFlMzhiYzMzMGQ3MTRiNTA5NzI1NSAxMDA2NDQKLS0tIGMvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL3F0L1F0RGlhbG9nUnVubmVyLmgKKysrIHcvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0
L1F0RGlhbG9nUnVubmVyLmgKQEAgLTIyLDEzICsyMiwxNCBAQAogI2RlZmluZSBRdERpYWxvZ1J1
bm5lcl9oCiAKICNpbmNsdWRlICJXS1NlY3VyaXR5T3JpZ2luLmgiCisjaW5jbHVkZSAicXF1aWNr
d2Vidmlld19wLmgiCiAjaW5jbHVkZSA8UXRDb3JlL1FFdmVudExvb3A+CiAjaW5jbHVkZSA8UXRD
b3JlL1FTdHJpbmdMaXN0PgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIAogUVRfQkVHSU5fTkFN
RVNQQUNFCi1jbGFzcyBRRGVjbGFyYXRpdmVDb21wb25lbnQ7Ci1jbGFzcyBRRGVjbGFyYXRpdmVD
b250ZXh0OworY2xhc3MgUVFtbENvbXBvbmVudDsKK2NsYXNzIFFRbWxDb250ZXh0OwogY2xhc3Mg
UVF1aWNrSXRlbTsKIFFUX0VORF9OQU1FU1BBQ0UKIApAQCAtMzgsMTcgKzM5LDE5IEBAIGNsYXNz
IFF0RGlhbG9nUnVubmVyIDogcHVibGljIFFFdmVudExvb3AgewogICAgIFFfT0JKRUNUCiAKIHB1
YmxpYzoKLSAgICBRdERpYWxvZ1J1bm5lcigpOworICAgIFF0RGlhbG9nUnVubmVyKFFRdWlja1dl
YlZpZXcqKTsKICAgICB2aXJ0dWFsIH5RdERpYWxvZ1J1bm5lcigpOwogCi0gICAgYm9vbCBpbml0
Rm9yQWxlcnQoUURlY2xhcmF0aXZlQ29tcG9uZW50KiwgUVF1aWNrSXRlbSogZGlhbG9nUGFyZW50
LCBjb25zdCBRU3RyaW5nJiBtZXNzYWdlKTsKLSAgICBib29sIGluaXRGb3JDb25maXJtKFFEZWNs
YXJhdGl2ZUNvbXBvbmVudCosIFFRdWlja0l0ZW0qIGRpYWxvZ1BhcmVudCwgY29uc3QgUVN0cmlu
ZyYgbWVzc2FnZSk7Ci0gICAgYm9vbCBpbml0Rm9yUHJvbXB0KFFEZWNsYXJhdGl2ZUNvbXBvbmVu
dCosIFFRdWlja0l0ZW0qIGRpYWxvZ1BhcmVudCwgY29uc3QgUVN0cmluZyYgbWVzc2FnZSwgY29u
c3QgUVN0cmluZyYgZGVmYXVsdFZhbHVlKTsKLSAgICBib29sIGluaXRGb3JBdXRoZW50aWNhdGlv
bihRRGVjbGFyYXRpdmVDb21wb25lbnQqLCBRUXVpY2tJdGVtKiBkaWFsb2dQYXJlbnQsIGNvbnN0
IFFTdHJpbmcmIGhvc3RuYW1lLCBjb25zdCBRU3RyaW5nJiByZWFsbSwgY29uc3QgUVN0cmluZyYg
cHJlZmlsbGVkVXNlcm5hbWUpOwotICAgIGJvb2wgaW5pdEZvckNlcnRpZmljYXRlVmVyaWZpY2F0
aW9uKFFEZWNsYXJhdGl2ZUNvbXBvbmVudCosIFFRdWlja0l0ZW0qLCBjb25zdCBRU3RyaW5nJiBo
b3N0bmFtZSk7Ci0gICAgYm9vbCBpbml0Rm9yUHJveHlBdXRoZW50aWNhdGlvbihRRGVjbGFyYXRp
dmVDb21wb25lbnQqLCBRUXVpY2tJdGVtKiwgY29uc3QgUVN0cmluZyYgaG9zdG5hbWUsIHVpbnQx
Nl90IHBvcnQsIGNvbnN0IFFTdHJpbmcmIHByZWZpbGxlZFVzZXJuYW1lKTsKLSAgICBib29sIGlu
aXRGb3JGaWxlUGlja2VyKFFEZWNsYXJhdGl2ZUNvbXBvbmVudCosIFFRdWlja0l0ZW0qLCBjb25z
dCBRU3RyaW5nTGlzdCYgc2VsZWN0ZWRGaWxlcywgYm9vbCBhbGxvd011bHRpcGxlKTsKLSAgICBi
b29sIGluaXRGb3JEYXRhYmFzZVF1b3RhRGlhbG9nKFFEZWNsYXJhdGl2ZUNvbXBvbmVudCosIFFR
dWlja0l0ZW0qLCBjb25zdCBRU3RyaW5nJiBkYXRhYmFzZU5hbWUsIGNvbnN0IFFTdHJpbmcmIGRp
c3BsYXlOYW1lLCBXS1NlY3VyaXR5T3JpZ2luUmVmLCBxdWludDY0IGN1cnJlbnRRdW90YSwgcXVp
bnQ2NCBjdXJyZW50T3JpZ2luVXNhZ2UsIHF1aW50NjQgY3VycmVudERhdGFiYXNlVXNhZ2UsIHF1
aW50NjQgZXhwZWN0ZWRVc2FnZSk7CisgICAgYm9vbCBpbml0Rm9yQWxlcnQoY29uc3QgUVN0cmlu
ZyYgbWVzc2FnZSk7CisgICAgYm9vbCBpbml0Rm9yQ29uZmlybShjb25zdCBRU3RyaW5nJiBtZXNz
YWdlKTsKKyAgICBib29sIGluaXRGb3JQcm9tcHQoY29uc3QgUVN0cmluZyYgbWVzc2FnZSwgY29u
c3QgUVN0cmluZyYgZGVmYXVsdFZhbHVlKTsKKyAgICBib29sIGluaXRGb3JBdXRoZW50aWNhdGlv
bihjb25zdCBRU3RyaW5nJiBob3N0bmFtZSwgY29uc3QgUVN0cmluZyYgcmVhbG0sIGNvbnN0IFFT
dHJpbmcmIHByZWZpbGxlZFVzZXJuYW1lKTsKKyAgICBib29sIGluaXRGb3JDZXJ0aWZpY2F0ZVZl
cmlmaWNhdGlvbihjb25zdCBRU3RyaW5nJiBob3N0bmFtZSk7CisgICAgYm9vbCBpbml0Rm9yUHJv
eHlBdXRoZW50aWNhdGlvbihjb25zdCBRU3RyaW5nJiBob3N0bmFtZSwgdWludDE2X3QgcG9ydCwg
Y29uc3QgUVN0cmluZyYgcHJlZmlsbGVkVXNlcm5hbWUpOworICAgIGJvb2wgaW5pdEZvckZpbGVQ
aWNrZXIoY29uc3QgUVN0cmluZ0xpc3QmIHNlbGVjdGVkRmlsZXMsIGJvb2wgYWxsb3dNdWx0aXBs
ZSk7CisgICAgYm9vbCBpbml0Rm9yRGF0YWJhc2VRdW90YURpYWxvZyhjb25zdCBRU3RyaW5nJiBk
YXRhYmFzZU5hbWUsIGNvbnN0IFFTdHJpbmcmIGRpc3BsYXlOYW1lLCBXS1NlY3VyaXR5T3JpZ2lu
UmVmLCBxdWludDY0IGN1cnJlbnRRdW90YSwgcXVpbnQ2NCBjdXJyZW50T3JpZ2luVXNhZ2UsIHF1
aW50NjQgY3VycmVudERhdGFiYXNlVXNhZ2UsIHF1aW50NjQgZXhwZWN0ZWRVc2FnZSk7CisKKyAg
ICB2b2lkIHJ1bigpOwogCiAgICAgUVF1aWNrSXRlbSogZGlhbG9nKCkgY29uc3QgeyByZXR1cm4g
bV9kaWFsb2cuZ2V0KCk7IH0KIApAQCAtNjMsMzQgKzY2LDE2IEBAIHB1YmxpYzoKICAgICBRU3Ry
aW5nTGlzdCBmaWxlUGF0aHMoKSBjb25zdCB7IHJldHVybiBtX2ZpbGVwYXRoczsgfQogCiBwdWJs
aWMgc2xvdHM6Ci0gICAgdm9pZCBvbkFjY2VwdGVkKGNvbnN0IFFTdHJpbmcmIHJlc3VsdCA9IFFT
dHJpbmcoKSkKLSAgICB7Ci0gICAgICAgIG1fd2FzQWNjZXB0ZWQgPSB0cnVlOwotICAgICAgICBt
X3Jlc3VsdCA9IHJlc3VsdDsKLSAgICB9Ci0KLSAgICB2b2lkIG9uQXV0aGVudGljYXRpb25BY2Nl
cHRlZChjb25zdCBRU3RyaW5nJiB1c2VybmFtZSwgY29uc3QgUVN0cmluZyYgcGFzc3dvcmQpCi0g
ICAgewotICAgICAgICBtX3VzZXJuYW1lID0gdXNlcm5hbWU7Ci0gICAgICAgIG1fcGFzc3dvcmQg
PSBwYXNzd29yZDsKLSAgICB9Ci0KLSAgICB2b2lkIG9uRmlsZVNlbGVjdGVkKGNvbnN0IFFTdHJp
bmdMaXN0JiBmaWxlUGF0aHMpCi0gICAgewotICAgICAgICBtX3dhc0FjY2VwdGVkID0gdHJ1ZTsK
LSAgICAgICAgbV9maWxlcGF0aHMgPSBmaWxlUGF0aHM7Ci0gICAgfQotCi0gICAgdm9pZCBvbkRh
dGFiYXNlUXVvdGFBY2NlcHRlZChxdWludDY0IHF1b3RhKQotICAgIHsKLSAgICAgICAgbV93YXNB
Y2NlcHRlZCA9IHRydWU7Ci0gICAgICAgIG1fZGF0YWJhc2VRdW90YSA9IHF1b3RhOwotICAgIH0K
KyAgICB2b2lkIG9uQWNjZXB0ZWQoY29uc3QgUVN0cmluZyYgcmVzdWx0ID0gUVN0cmluZygpKTsK
KyAgICB2b2lkIG9uQXV0aGVudGljYXRpb25BY2NlcHRlZChjb25zdCBRU3RyaW5nJiB1c2VybmFt
ZSwgY29uc3QgUVN0cmluZyYgcGFzc3dvcmQpOworICAgIHZvaWQgb25GaWxlU2VsZWN0ZWQoY29u
c3QgUVN0cmluZ0xpc3QmIGZpbGVQYXRocyk7CisgICAgdm9pZCBvbkRhdGFiYXNlUXVvdGFBY2Nl
cHRlZChxdWludDY0IHF1b3RhKTsKIAogcHJpdmF0ZToKLSAgICBib29sIGNyZWF0ZURpYWxvZyhR
RGVjbGFyYXRpdmVDb21wb25lbnQqLCBRUXVpY2tJdGVtKiBkaWFsb2dQYXJlbnQsIFFPYmplY3Qq
IGNvbnRleHRPYmplY3QpOworICAgIGJvb2wgY3JlYXRlRGlhbG9nKFFRbWxDb21wb25lbnQqLCBR
T2JqZWN0KiBjb250ZXh0T2JqZWN0KTsKIAotICAgIE93blB0cjxRRGVjbGFyYXRpdmVDb250ZXh0
PiBtX2RpYWxvZ0NvbnRleHQ7CisgICAgUVF1aWNrV2ViVmlldyogbV93ZWJWaWV3OworICAgIE93
blB0cjxRUW1sQ29udGV4dD4gbV9kaWFsb2dDb250ZXh0OwogICAgIE93blB0cjxRUXVpY2tJdGVt
PiBtX2RpYWxvZzsKICAgICBRU3RyaW5nIG1fcmVzdWx0OwogICAgIGJvb2wgbV93YXNBY2NlcHRl
ZDsKZGlmZiAtLWdpdCBjL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9XZWJQb3B1cE1lbnVQ
cm94eVF0LmNwcCB3L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9XZWJQb3B1cE1lbnVQcm94
eVF0LmNwcAppbmRleCA5ZjkxMDBhNTQ2NWU4NTM3YjY0OTI1YzY2MjNlZTkyMjhjMDRjNDZkLi42
NDgzOTRiNmY3NzkzMmNjZWVlN2RkMjA0MTJjYmMzMDIyYTg0ZDcxIDEwMDY0NAotLS0gYy9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViUG9wdXBNZW51UHJveHlRdC5jcHAKKysrIHcvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1dlYlBvcHVwTWVudVByb3h5UXQuY3BwCkBAIC0yODMs
MTAgKzI4MywxMyBAQCB2b2lkIFdlYlBvcHVwTWVudVByb3h5UXQ6OmNyZWF0ZUl0ZW0oUU9iamVj
dCogY29udGV4dE9iamVjdCkKICAgICBjb25uZWN0KGNvbnRleHRPYmplY3QsIFNJR05BTChhY2Nl
cHRlZFdpdGhPcmlnaW5hbEluZGV4KGludCkpLCBTTE9UKGhpZGVQb3B1cE1lbnUoKSksIFF0OjpR
dWV1ZWRDb25uZWN0aW9uKTsKICAgICBjb25uZWN0KGNvbnRleHRPYmplY3QsIFNJR05BTChyZWpl
Y3RlZCgpKSwgU0xPVChoaWRlUG9wdXBNZW51KCkpLCBRdDo6UXVldWVkQ29ubmVjdGlvbik7CiAK
LSAgICBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6Z2V0KG1fd2ViVmlldyktPnNldFZpZXdJbkF0dGFj
aGVkUHJvcGVydGllcyhtX2l0ZW1TZWxlY3Rvci5nZXQoKSk7Ci0gICAgY29tcG9uZW50LT5jb21w
bGV0ZUNyZWF0ZSgpOwotCisgICAgUVF1aWNrV2ViVmlld1ByaXZhdGU6OmdldChtX3dlYlZpZXcp
LT5hZGRBdHRhY2hlZFByb3BlcnR5VG8obV9pdGVtU2VsZWN0b3IuZ2V0KCkpOwogICAgIG1faXRl
bVNlbGVjdG9yLT5zZXRQYXJlbnRJdGVtKG1fd2ViVmlldyk7CisKKyAgICAvLyBPbmx5IGZ1bGx5
IGNyZWF0ZSB0aGUgY29tcG9uZW50IG9uY2Ugd2UndmUgc2V0IGJvdGggYSBwYXJlbnQKKyAgICAv
LyBhbmQgdGhlIG5lZWRlZCBjb250ZXh0IGFuZCBhdHRhY2hlZCBwcm9wZXJ0aWVzLCBzbyB0aGF0
IHRoZQorICAgIC8vIGRpYWxvZyBjYW4gZG8gdXNlZnVsIHN0dWZmIGluIENvbXBvbmVudC5vbkNv
bXBsZXRlZCgpLgorICAgIGNvbXBvbmVudC0+Y29tcGxldGVDcmVhdGUoKTsKIH0KIAogdm9pZCBX
ZWJQb3B1cE1lbnVQcm94eVF0OjpjcmVhdGVDb250ZXh0KFFRbWxDb21wb25lbnQqIGNvbXBvbmVu
dCwgUU9iamVjdCogY29udGV4dE9iamVjdCkKZGlmZiAtLWdpdCBjL1Rvb2xzL0NoYW5nZUxvZyB3
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3Yjg3OWU5OGY0MmMxOGNkNjNhN2JiNzFlZWNkM2RjNzZi
NThmMGRjLi40NWE1N2MwYTI0ZWNiNmZmMTExMjBlM2NlNzMzNzBjYmFiYTYyNjY5IDEwMDY0NAot
LS0gYy9Ub29scy9DaGFuZ2VMb2cKKysrIHcvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjgg
QEAKKzIwMTItMDUtMTEgIFRvciBBcm5lIFZlc3Riw7ggIDx0b3IuYXJuZS52ZXN0Ym9Abm9raWEu
Y29tPgorCisgICAgICAgIFtRdF0gTWFrZSBzdXJlIGRpYWxvZ3MgaGF2ZSB0aGVpciBwYXJlbnQg
YW5kIGF0dGFjaGVkIHByb3BlcnRpZXMgc2V0IGJlZm9yZSBDb21wb25lbnQub25Db21wbGV0ZWQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2MjIyCisK
KyAgICAgICAgVGhlIFdlYlZpZXcgUU1MIGFwaSBmb3IgZGlhbG9ncyBpcyBiYXNlZCBvbiBkZWxl
Z2F0ZXMgZm9yIGVhY2ggZGlhbG9nLCB3aGljaAorICAgICAgICBhcmUgaW1wbGVtZW50ZWQgYXMg
Y29tcG9uZW50cy4gU2luY2UgdGhlcmUncyBubyBleHBsaWNpdCBBUEkgdG8gc2hvdyB0aGUgZGlh
bG9nLAorICAgICAgICB0aGUgbmF0dXJhbCBwbGFjZSB0byBhbGxvdyB0aGUgZGlhbG9nIHRvIGNo
b29zZSBob3cgdG8gZGlzcGxheSBpdHNlbGYgaXMgaW4KKyAgICAgICAgQ29tcG9uZW50Lm9uQ29t
cGxldGVkLgorCisgICAgICAgIFRoZSBpc3N1ZSB3YXMgdGhhdCB3ZSB3ZXJlIHVzaW5nIFFRbWxD
b21wb25lbnQ6OmNyZWF0ZSgpIHdoZW4gaW5zdGFudGlhdGluZyB0aGUKKyAgICAgICAgY29tcG9u
ZW50LCBhdCB3aGljaCBwb2ludCB0aGUgY29tcG9uZW50IGRpZCBub3QgaGF2ZSBhIHBhcmVudCBv
ciBpdCdzIGF0dGFjaGVkCisgICAgICAgIFdlYlZpZXcgcHJvcGVydHkgc2V0LiBUaGF0IG1lYW50
IHRoYXQgd2UgaGFkIHRvIGRvIHNvbWUgdWdseSB3b3JrYXJvdW5kIGluIG91cgorICAgICAgICB0
ZXN0LCB1c2luZyBhIDFtcyB0aW1lciwgdG8gZ2V0IGEgY2FsbGJhY2sgb25jZSB0aGUgcGFyZW50
IHdhcyB0aGVyZS4KKworICAgICAgICBXZSBub3cgdXNlIHRoZSBRUW1sQ29tcG9uZW50OjpiZWdp
bkNyZWF0ZSgpIC0+IFFRbWxDb21wb25lbnQ6OmNvbXBsZXRlQ3JlYXRlKCkKKyAgICAgICAgcGFp
ciwgd2hpY2ggYWxsb3dzIHVzIHRvIHNldCB0aGUgcmVsZXZhbnQgcHJvcGVydGllcyBiZWZvcmUg
dHJpZ2dlcmluZyB0aGUKKyAgICAgICAgQ29tcG9uZW50Lm9uQ29tcGxldGVkIGNhbGxiYWNrLiBX
ZSB3ZXJlIGFscmVhZHkgZG9pbmcgdGhpcyBmb3IgdGhlIGNvbnRleHQKKyAgICAgICAgbWVudXMg
KGV4Y2VwdCBmb3Igc2V0dGluZyB0aGUgcGFyZW50LCB3aGljaCB3ZSBkaWQgYWZ0ZXJ3YXJkcyku
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNaW5p
QnJvd3Nlci9xdC9xbWwvQnJvd3NlcldpbmRvdy5xbWw6CisgICAgICAgICogTWluaUJyb3dzZXIv
cXQvcW1sL0RpYWxvZy5xbWw6CisKIDIwMTItMDUtMTAgIEFsZXhhbmRlciBTaGFsYW1vdiAgPGFs
ZXhhbmRlci5zaGFsYW1vdkBpbnRlbC5jb20+CiAKICAgICAgICAgW0VGTF1bRFJUXSBFdmVudFNl
bmRlciAtIHNldCBkZWxheWVkIGV2ZW50IGluZm9ybWF0aW9uIGlmIGl0IHdhcyBub3Qgc2V0IGJl
Zm9yZQpkaWZmIC0tZ2l0IGMvVG9vbHMvTWluaUJyb3dzZXIvcXQvcW1sL0Jyb3dzZXJXaW5kb3cu
cW1sIHcvVG9vbHMvTWluaUJyb3dzZXIvcXQvcW1sL0Jyb3dzZXJXaW5kb3cucW1sCmluZGV4IGIy
OTE3Y2I4MGY2ZWY5NmMzYWJhMmUxMDc2OTNlNDNmNjFlZTQ4MjcuLjU1MTNiOWJhMTRlOTY1YTdl
NWM0MzgwNzZhNjc1MzI5MDUzYTQyZjUgMTAwNjQ0Ci0tLSBjL1Rvb2xzL01pbmlCcm93c2VyL3F0
L3FtbC9Ccm93c2VyV2luZG93LnFtbAorKysgdy9Ub29scy9NaW5pQnJvd3Nlci9xdC9xbWwvQnJv
d3NlcldpbmRvdy5xbWwKQEAgLTMxLDYgKzMxLDcgQEAgaW1wb3J0IFF0V2ViS2l0IDMuMAogaW1w
b3J0IFF0V2ViS2l0LmV4cGVyaW1lbnRhbCAxLjAKIAogUmVjdGFuZ2xlIHsKKyAgICBpZDogcm9v
dAogICAgIC8vIERvIG5vdCBkZWZpbmUgYW5jaG9ycyBvciBhbiBpbml0aWFsIHNpemUgaGVyZSEg
VGhpcyB3b3VsZCBtZXNzIHVwIHdpdGggUVNHVmlldzo6U2l6ZVJvb3RPYmplY3RUb1ZpZXcuCiAK
ICAgICBwcm9wZXJ0eSBhbGlhcyB3ZWJ2aWV3OiB3ZWJWaWV3CkBAIC01Niw2ICs1Nyw3IEBAIFJl
Y3RhbmdsZSB7CiAgICAgICAgIGlkOiBuYXZpZ2F0aW9uQmFyCiAgICAgICAgIGNvbG9yOiAiI2Vm
ZWZlZiIKICAgICAgICAgaGVpZ2h0OiAzOAorICAgICAgICB6OiB3ZWJWaWV3LnogKyAxCiAgICAg
ICAgIGFuY2hvcnMgewogICAgICAgICAgICAgdG9wOiBwYXJlbnQudG9wCiAgICAgICAgICAgICBs
ZWZ0OiBwYXJlbnQubGVmdApAQCAtMjkyLDYgKzI5NCw4IEBAIFJlY3RhbmdsZSB7CiAKICAgICBX
ZWJWaWV3IHsKICAgICAgICAgaWQ6IHdlYlZpZXcKKyAgICAgICAgY2xpcDogZmFsc2UKKwogICAg
ICAgICBhbmNob3JzIHsKICAgICAgICAgICAgIHRvcDogbmF2aWdhdGlvbkJhci5ib3R0b20KICAg
ICAgICAgICAgIGxlZnQ6IHBhcmVudC5sZWZ0CmRpZmYgLS1naXQgYy9Ub29scy9NaW5pQnJvd3Nl
ci9xdC9xbWwvRGlhbG9nLnFtbCB3L1Rvb2xzL01pbmlCcm93c2VyL3F0L3FtbC9EaWFsb2cucW1s
CmluZGV4IDVjYTZlZTAwODgwNmYzMGJlNzY0ZjJkMWJiMjZlNTEwNTZiNWViMzkuLjIzYjE0Y2Qz
NzVmNzgxNWY3MDdmZjc5YTNiZDg2NDdhOGI2Yjc1NjEgMTAwNjQ0Ci0tLSBjL1Rvb2xzL01pbmlC
cm93c2VyL3F0L3FtbC9EaWFsb2cucW1sCisrKyB3L1Rvb2xzL01pbmlCcm93c2VyL3F0L3FtbC9E
aWFsb2cucW1sCkBAIC0yNyw1OCArMjcsODQgQEAKIAogaW1wb3J0IFF0UXVpY2sgMi4wCiAKLVJl
Y3RhbmdsZSB7CitJdGVtIHsKICAgICBpZDogZGlhbG9nCiAKKyAgICBhbmNob3JzLmZpbGw6IHBh
cmVudAorICAgIHo6IDEwMDAKKworICAgIC8vIFdlIHdhbnQgdG8gYmUgYSBjaGlsZCBvZiB0aGUg
cm9vdCBpdGVtIHNvIHRoYXQgd2UgY2FuIGNvdmVyCisgICAgLy8gdGhlIHdob2xlIHNjZW5lIHdp
dGggb3VyICJkaW0iIG92ZXJsYXkuCisgICAgcGFyZW50OiByb290CisKICAgICBwcm9wZXJ0eSBh
bGlhcyB0aXRsZTogdGl0bGVUZXh0LnRleHQKICAgICBwcm9wZXJ0eSBhbGlhcyBtZXNzYWdlOiBt
ZXNzYWdlVGV4dC50ZXh0CiAKICAgICBkZWZhdWx0IHByb3BlcnR5IGFsaWFzIF9fY2hpbGRyZW46
IGR5bmFtaWNDb2x1bW4uY2hpbGRyZW4KIAotICAgIGNvbG9yOiAiI2VmZWZlZiIKKyAgICBNb3Vz
ZUFyZWEgeworICAgICAgICBpZDogbW91c2VCbG9ja2VyCisgICAgICAgIGFuY2hvcnMuZmlsbDog
cGFyZW50CisgICAgICAgIG9uUHJlc3NlZDogbW91c2UuYWNjZXB0ZWQgPSB0cnVlCiAKLSAgICB3
aWR0aDogMzAwCi0gICAgaGVpZ2h0OiAxNTAKKyAgICAgICAgLy8gRklYTUU6IFRoaXMgZG9lcyBu
b3QgYmxvY2sgdG91Y2ggZXZlbnRzIDooCisgICAgfQogCi0gICAgYm9yZGVyIHsKLSAgICAgICAg
d2lkdGg6IDEKLSAgICAgICAgY29sb3I6ICIjYmZiZmJmIgorICAgIFJlY3RhbmdsZSB7CisgICAg
ICAgIGlkOiBkaW1CYWNrZ3JvdW5kCisgICAgICAgIGFuY2hvcnMuZmlsbDogcGFyZW50CisgICAg
ICAgIGNvbG9yOiAiYmxhY2siCisgICAgICAgIG9wYWNpdHk6IDAuNAogICAgIH0KIAotICAgIHNt
b290aDogdHJ1ZQotICAgIHJhZGl1czogNQorICAgIFJlY3RhbmdsZSB7CisgICAgICAgIGlkOiBk
aWFsb2dXaW5kb3cKIAotICAgIGFuY2hvcnMuY2VudGVySW46IHBhcmVudAorICAgICAgICBjb2xv
cjogIiNlZmVmZWYiCiAKLSAgICBJdGVtIHsKLSAgICAgICAgaWQ6IHN0YXRpY0NvbnRlbnQKLSAg
ICAgICAgYW5jaG9ycy5jZW50ZXJJbjogcGFyZW50Ci0gICAgICAgIGFuY2hvcnMuZmlsbDogcGFy
ZW50Ci0gICAgICAgIGFuY2hvcnMubWFyZ2luczogMTAKLQotICAgICAgICBUZXh0IHsKLSAgICAg
ICAgICAgIGlkOiB0aXRsZVRleHQKLSAgICAgICAgICAgIHdpZHRoOiBwYXJlbnQud2lkdGgKLSAg
ICAgICAgICAgIGFuY2hvcnMuaG9yaXpvbnRhbENlbnRlcjogcGFyZW50Lmhvcml6b250YWxDZW50
ZXIKLSAgICAgICAgICAgIGZvbnQucGl4ZWxTaXplOiAxNgotICAgICAgICAgICAgZm9udC53ZWln
aHQ6IEZvbnQuQm9sZAotICAgICAgICAgICAgZWxpZGU6IFRleHQuRWxpZGVSaWdodAorICAgICAg
ICB3aWR0aDogMzAwCisgICAgICAgIGhlaWdodDogMTUwCisKKyAgICAgICAgYm9yZGVyIHsKKyAg
ICAgICAgICAgIHdpZHRoOiAxCisgICAgICAgICAgICBjb2xvcjogIiNiZmJmYmYiCiAgICAgICAg
IH0KIAotICAgICAgICBUZXh0IHsKLSAgICAgICAgICAgIGlkOiBtZXNzYWdlVGV4dAotICAgICAg
ICAgICAgd2lkdGg6IHBhcmVudC53aWR0aAotICAgICAgICAgICAgd3JhcE1vZGU6IFRleHQuV29y
ZFdyYXAKKyAgICAgICAgc21vb3RoOiB0cnVlCisgICAgICAgIHJhZGl1czogNQorCisgICAgICAg
IGFuY2hvcnMuY2VudGVySW46IHBhcmVudAorCisgICAgICAgIEl0ZW0geworICAgICAgICAgICAg
aWQ6IHN0YXRpY0NvbnRlbnQKICAgICAgICAgICAgIGFuY2hvcnMuY2VudGVySW46IHBhcmVudAot
ICAgICAgICB9CisgICAgICAgICAgICBhbmNob3JzLmZpbGw6IHBhcmVudAorICAgICAgICAgICAg
YW5jaG9ycy5tYXJnaW5zOiAxMAorCisgICAgICAgICAgICBUZXh0IHsKKyAgICAgICAgICAgICAg
ICBpZDogdGl0bGVUZXh0CisgICAgICAgICAgICAgICAgd2lkdGg6IHBhcmVudC53aWR0aAorICAg
ICAgICAgICAgICAgIGFuY2hvcnMuaG9yaXpvbnRhbENlbnRlcjogcGFyZW50Lmhvcml6b250YWxD
ZW50ZXIKKyAgICAgICAgICAgICAgICBmb250LnBpeGVsU2l6ZTogMTYKKyAgICAgICAgICAgICAg
ICBmb250LndlaWdodDogRm9udC5Cb2xkCisgICAgICAgICAgICAgICAgZWxpZGU6IFRleHQuRWxp
ZGVSaWdodAorICAgICAgICAgICAgfQorCisgICAgICAgICAgICBUZXh0IHsKKyAgICAgICAgICAg
ICAgICBpZDogbWVzc2FnZVRleHQKKyAgICAgICAgICAgICAgICB3aWR0aDogcGFyZW50LndpZHRo
CisgICAgICAgICAgICAgICAgd3JhcE1vZGU6IFRleHQuV29yZFdyYXAKKyAgICAgICAgICAgICAg
ICBhbmNob3JzLmNlbnRlckluOiBwYXJlbnQKKyAgICAgICAgICAgIH0KIAotICAgICAgICBDb2x1
bW4gewotICAgICAgICAgICAgaWQ6IGR5bmFtaWNDb2x1bW4KLSAgICAgICAgICAgIHNwYWNpbmc6
IDUKLSAgICAgICAgICAgIGFuY2hvcnMgewotICAgICAgICAgICAgICAgIG1hcmdpbnM6IDEwCi0g
ICAgICAgICAgICAgICAgYm90dG9tOiBzdGF0aWNDb250ZW50LmJvdHRvbQotICAgICAgICAgICAg
ICAgIGhvcml6b250YWxDZW50ZXI6IHN0YXRpY0NvbnRlbnQuaG9yaXpvbnRhbENlbnRlcgorICAg
ICAgICAgICAgQ29sdW1uIHsKKyAgICAgICAgICAgICAgICBpZDogZHluYW1pY0NvbHVtbgorICAg
ICAgICAgICAgICAgIHNwYWNpbmc6IDUKKyAgICAgICAgICAgICAgICBhbmNob3JzIHsKKyAgICAg
ICAgICAgICAgICAgICAgbWFyZ2luczogMTAKKyAgICAgICAgICAgICAgICAgICAgYm90dG9tOiBz
dGF0aWNDb250ZW50LmJvdHRvbQorICAgICAgICAgICAgICAgICAgICBob3Jpem9udGFsQ2VudGVy
OiBzdGF0aWNDb250ZW50Lmhvcml6b250YWxDZW50ZXIKKyAgICAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICB9CiAgICAgICAgIH0KICAgICB9Cg==
</data>
<flag name="review"
          id="147568"
          type_id="1"
          status="+"
          setter="hausmann"
    />
          </attachment>
      

    </bug>

</bugzilla>