<?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>91605</bug_id>
          
          <creation_ts>2012-07-18 02:37:51 -0700</creation_ts>
          <short_desc>[GTK] Add WebKitWebView::submit-form signal to WebKit2 GTK+ API</short_desc>
          <delta_ts>2012-07-18 06:39:47 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>mrobinson</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>672162</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-07-18 02:37:51 -0700</bug_when>
    <thetext>For prefilled forms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>672179</commentid>
    <comment_count>1</comment_count>
      <attachid>152974</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-07-18 02:54:26 -0700</bug_when>
    <thetext>Created attachment 152974
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>672181</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-18 02:58:50 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>672320</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-07-18 06:39:47 -0700</bug_when>
    <thetext>Committed r122961: &lt;http://trac.webkit.org/changeset/122961&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152974</attachid>
            <date>2012-07-18 02:54:26 -0700</date>
            <delta_ts>2012-07-18 06:34:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-form-client.diff</filename>
            <type>text/plain</type>
            <size>33373</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA4NWUzN2RiLi4xMWFkNTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTEg
QEAKKzIwMTItMDctMTggIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHVEtdIEFkZCBXZWJLaXRXZWJWaWV3OjpzdWJtaXQtZm9ybSBzaWduYWwg
dG8gV2ViS2l0MiBHVEsrIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9OTE2MDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUaGUgc2lnbmFsIGlzIGVtaXR0ZWQgd2hlbiBhIGZvcm0gaXMgYWJvdXQgdG8g
c3VibWl0dGVkLCB3aXRoIGEKKyAgICAgICAgZm9ybSBzdWJtaXNzaW9uIHJlcXVlc3QgdGhhdCBj
YW4gYmUgdXNlZCB0byBnZXQgdGhlIHRleHQgZmllbGRzCisgICAgICAgIGFuZCB0byBjb250aW51
ZSB0aGUgZm9ybSBzdWJtaXNzaW9uIHdoZWggZG9uZS4KKworICAgICAgICAqIEdOVW1ha2VmaWxl
Lmxpc3QuYW06IEFkZCBuZXcgZmlsZXMgdG8gY29tcGlsYXRpb24uCisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0Rm9ybUNsaWVudC5jcHA6IEFkZGVkLgorICAgICAgICAod2lsbFN1
Ym1pdEZvcm0pOiBDcmVhdGUgYSBXZWJLaXRGb3JtU3VibWlzc2lvblJlcXVlc3QgYW5kIGNhbGwK
KyAgICAgICAgd2Via2l0V2ViVmlld1N1Ym1pdEZvcm1SZXF1ZXN0KCkgd2l0aCB0aGUgcmVxdWVz
dC4KKyAgICAgICAgKGF0dGFjaEZvcm1DbGllbnRUb1ZpZXcpOiBBZGQgaW1wZW1lbnRhdGlvbiBm
b3Igd2lsbFN1Ym1pdEZvcm0KKyAgICAgICAgY2FsbGJhY2suCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0Rm9ybUNsaWVudC5oOiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRGb3JtU3VibWlzc2lvblJlcXVlc3QuY3BwOiBBZGRlZC4KKyAgICAgICAg
KHdlYmtpdF9mb3JtX3N1Ym1pc3Npb25fcmVxdWVzdF9pbml0KToKKyAgICAgICAgKHdlYmtpdEZv
cm1TdWJtaXNzaW9uUmVxdWVzdEZpbmFsaXplKToKKyAgICAgICAgKHdlYmtpdF9mb3JtX3N1Ym1p
c3Npb25fcmVxdWVzdF9jbGFzc19pbml0KToKKyAgICAgICAgKHdlYmtpdEZvcm1TdWJtaXNzaW9u
UmVxdWVzdENyZWF0ZSk6IENyZWF0ZSBhIG5ldworICAgICAgICBXZWJLaXRGb3JtU3VibWlzc2lv
blJlcXVlc3QgZm9yIHRoZSBnaXZlbiB2YWx1ZXMgZGljdGlvbmFyeSBhbmQKKyAgICAgICAgc3Vi
bWlzc2lvbiBsaXN0ZW5lci4KKyAgICAgICAgKHdlYmtpdF9mb3JtX3N1Ym1pc3Npb25fcmVxdWVz
dF9nZXRfdGV4dF9maWVsZHMpOiBDcmVhdGUgYQorICAgICAgICBHSGFzaFRhYmxlIHdpdGggdGhl
IHRleHQgZmllbGRzIHZhbHVlcyBhbmQgcmV0dXJuIGl0LgorICAgICAgICAod2Via2l0X2Zvcm1f
c3VibWlzc2lvbl9yZXF1ZXN0X3N1Ym1pdCk6IENvbnRpbnVlIHRoZSBmb3JtCisgICAgICAgIHN1
Ym1pc3Npb24uCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Rm9ybVN1Ym1pc3Np
b25SZXF1ZXN0Lmg6IEFkZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEZv
cm1TdWJtaXNzaW9uUmVxdWVzdFByaXZhdGUuaDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHA6CisgICAgICAgICh3ZWJraXRXZWJWaWV3Q29uc3Ry
dWN0ZWQpOiBBdHRhY2ggd2ViIHZpZXcgdG8gZm9ybSBjbGllbnQuCisgICAgICAgICh3ZWJraXRf
d2ViX3ZpZXdfY2xhc3NfaW5pdCk6IEFkZCBXZWJLaXRXZWJWaWV3OjpzdWJtaXQtZm9ybQorICAg
ICAgICBzaWduYWwuCisgICAgICAgICh3ZWJraXRXZWJWaWV3U3VibWl0Rm9ybVJlcXVlc3QpOiBF
bWl0IFdlYktpdFdlYlZpZXc6OnN1Ym1pdC1mb3JtCisgICAgICAgIHNpZ25hbC4KKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlld1ByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2d0ay9kb2NzL3dlYmtpdDJndGstZG9jcy5zZ21sOiBBZGQgbmV3IHNlY3Rpb24gZm9yCisgICAg
ICAgIFdlYktpdEZvcm1TdWJtaXNzaW9uUmVxdWVzdC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2d0ay9kb2NzL3dlYmtpdDJndGstc2VjdGlvbnMudHh0OiBBZGQgbmV3IHN5bWJvbHMuCisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvVGVzdFdlYktpdFdlYlZpZXcuY3BwOgorICAg
ICAgICAodGVzdFdlYlZpZXdTdWJtaXRGb3JtKToKKyAgICAgICAgKGJlZm9yZUFsbCk6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9ndGsvd2Via2l0Mi5oOiBJbmNsdWRlCisgICAgICAgIFdlYktp
dEZvcm1TdWJtaXNzaW9uUmVxdWVzdC5oLgorCiAyMDEyLTA3LTE3ICBDYXJsb3MgR2FyY2lhIENh
bXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBEb24ndCB1c2UgZGVw
cmVjYXRlZCBzb3VwIEFQSSBpbiBXZWJLaXQyQVBJVGVzdHMvVGVzdFJlc291cmNlcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJLaXQy
L0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggZTkzNDhkZS4uMzk5MjkzNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9H
TlVtYWtlZmlsZS5saXN0LmFtCkBAIC0xMDQsNiArMTA0LDcgQEAgd2Via2l0Mmd0a19oX2FwaSAr
PSBcCiAJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRFcnJvci5oIFwKIAkkKFdl
YktpdDIpL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEZpbGVDaG9vc2VyUmVxdWVzdC5oIFwKIAkk
KFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEZpbmRDb250cm9sbGVyLmggXAorCSQo
V2ViS2l0MikvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Rm9ybVN1Ym1pc3Npb25SZXF1ZXN0Lmgg
XAogCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0R2VvbG9jYXRpb25QZXJtaXNz
aW9uUmVxdWVzdC5oIFwKIAkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEhpdFRl
c3RSZXN1bHQuaCBcCiAJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRKYXZhc2Ny
aXB0UmVzdWx0LmggXApAQCAtNjM3LDYgKzYzOCwxMSBAQCB3ZWJraXQyX3NvdXJjZXMgKz0gXAog
CVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEZpbGVDaG9vc2VyUmVxdWVz
dC5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEZpbGVDaG9v
c2VyUmVxdWVzdC5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRG
aWxlQ2hvb3NlclJlcXVlc3RQcml2YXRlLmggXAorCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdEZvcm1TdWJtaXNzaW9uUmVxdWVzdC5jcHAgXAorCVNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEZvcm1TdWJtaXNzaW9uUmVxdWVzdC5oIFwKKwlTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRGb3JtU3VibWlzc2lvblJlcXVlc3RQ
cml2YXRlLmggXAorCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEZvcm1D
bGllbnQuY3BwIFwKKwlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRGb3Jt
Q2xpZW50LmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEZ1bGxz
Y3JlZW5DbGllbnQuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRGdWxsc2NyZWVuQ2xpZW50LmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuY3BwIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEZvcm1DbGllbnQuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Rm9ybUNsaWVudC5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmQ1YmUzZAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEZvcm1DbGllbnQuY3BwCkBA
IC0wLDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgSWdhbGlhIFMuTC4KKyAq
CisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9y
IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5
IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig
bW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhp
cyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisg
KiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQs
IEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYktpdEZvcm1DbGllbnQuaCIKKworI2luY2x1
ZGUgIldlYktpdEZvcm1TdWJtaXNzaW9uUmVxdWVzdFByaXZhdGUuaCIKKyNpbmNsdWRlICJXZWJL
aXRQcml2YXRlLmgiCisjaW5jbHVkZSAiV2ViS2l0V2ViVmlld0Jhc2VQcml2YXRlLmgiCisjaW5j
bHVkZSAiV2ViS2l0V2ViVmlld1ByaXZhdGUuaCIKKyNpbmNsdWRlIDx3dGYvZ29iamVjdC9HUmVm
UHRyLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CisKK3N0YXRpYyB2b2lkIHdpbGxTdWJt
aXRGb3JtKFdLUGFnZVJlZiBwYWdlLCBXS0ZyYW1lUmVmIGZyYW1lLCBXS0ZyYW1lUmVmIHNvdXJj
ZUZyYW1lLCBXS0RpY3Rpb25hcnlSZWYgdmFsdWVzLCBXS1R5cGVSZWYgdXNlckRhdGEsIFdLRm9y
bVN1Ym1pc3Npb25MaXN0ZW5lclJlZiBsaXN0ZW5lciwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykK
K3sKKyAgICBHUmVmUHRyPFdlYktpdEZvcm1TdWJtaXNzaW9uUmVxdWVzdD4gcmVxdWVzdCA9IGFk
b3B0R1JlZih3ZWJraXRGb3JtU3VibWlzc2lvblJlcXVlc3RDcmVhdGUodmFsdWVzLCBsaXN0ZW5l
cikpOworICAgIHdlYmtpdFdlYlZpZXdTdWJtaXRGb3JtUmVxdWVzdChXRUJLSVRfV0VCX1ZJRVco
Y2xpZW50SW5mbyksIHJlcXVlc3QuZ2V0KCkpOworfQorCit2b2lkIGF0dGFjaEZvcm1DbGllbnRU
b1ZpZXcoV2ViS2l0V2ViVmlldyogd2ViVmlldykKK3sKKyAgICBXS1BhZ2VGb3JtQ2xpZW50IHdr
Rm9ybUNsaWVudCA9IHsKKyAgICAgICAga1dLUGFnZUZvcm1DbGllbnRDdXJyZW50VmVyc2lvbiwK
KyAgICAgICAgd2ViVmlldywgLy8gY2xpZW50SW5mbworICAgICAgICB3aWxsU3VibWl0Rm9ybQor
ICAgIH07CisgICAgV0tQYWdlUmVmIHdrUGFnZSA9IHRvQVBJKHdlYmtpdFdlYlZpZXdCYXNlR2V0
UGFnZShXRUJLSVRfV0VCX1ZJRVdfQkFTRSh3ZWJWaWV3KSkpOworICAgIFdLUGFnZVNldFBhZ2VG
b3JtQ2xpZW50KHdrUGFnZSwgJndrRm9ybUNsaWVudCk7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRGb3JtQ2xpZW50LmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRGb3JtQ2xpZW50LmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uYTM3MDIyNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEZvcm1DbGllbnQuaApAQCAtMCwwICsxLDI3
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIElnYWxpYSBTLkwuCisgKgorICogVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgor
ICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQg
QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1F
UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0
aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsg
c2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9v
ciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgV2ViS2l0
Rm9ybUNsaWVudF9oCisjZGVmaW5lIFdlYktpdEZvcm1DbGllbnRfaAorCisjaW5jbHVkZSAiV2Vi
S2l0V2ViVmlldy5oIgorCit2b2lkIGF0dGFjaEZvcm1DbGllbnRUb1ZpZXcoV2ViS2l0V2ViVmll
dyopOworCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdEZvcm1TdWJtaXNzaW9uUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRGb3JtU3VibWlzc2lvblJlcXVlc3QuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwZTJkMTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRGb3JtU3VibWlzc2lvblJlcXVlc3Qu
Y3BwCkBAIC0wLDAgKzEsMTE4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIElnYWxpYSBT
LkwuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0
ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4g
U3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJLaXRGb3JtU3VibWlzc2lvblJl
cXVlc3QuaCIKKworI2luY2x1ZGUgIldlYktpdEZvcm1TdWJtaXNzaW9uUmVxdWVzdFByaXZhdGUu
aCIKKyNpbmNsdWRlIDx3dGYvZ29iamVjdC9HUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL3RleHQv
Q1N0cmluZy5oPgorCit1c2luZyBuYW1lc3BhY2UgV2ViS2l0OworCitHX0RFRklORV9UWVBFKFdl
YktpdEZvcm1TdWJtaXNzaW9uUmVxdWVzdCwgd2Via2l0X2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0
LCBHX1RZUEVfT0JKRUNUKQorCitzdHJ1Y3QgX1dlYktpdEZvcm1TdWJtaXNzaW9uUmVxdWVzdFBy
aXZhdGUgeworICAgIFdLUmV0YWluUHRyPFdLRGljdGlvbmFyeVJlZj4gd2tWYWx1ZXM7CisgICAg
V0tSZXRhaW5QdHI8V0tGb3JtU3VibWlzc2lvbkxpc3RlbmVyUmVmPiB3a0xpc3RlbmVyOworICAg
IEdSZWZQdHI8R0hhc2hUYWJsZT4gdmFsdWVzOworICAgIGJvb2wgaGFuZGxlZFJlcXVlc3Q7Cit9
OworCitzdGF0aWMgdm9pZCB3ZWJraXRfZm9ybV9zdWJtaXNzaW9uX3JlcXVlc3RfaW5pdChXZWJL
aXRGb3JtU3VibWlzc2lvblJlcXVlc3QqIHJlcXVlc3QpCit7CisgICAgV2ViS2l0Rm9ybVN1Ym1p
c3Npb25SZXF1ZXN0UHJpdmF0ZSogcHJpdiA9IEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURShy
ZXF1ZXN0LCBXRUJLSVRfVFlQRV9GT1JNX1NVQk1JU1NJT05fUkVRVUVTVCwgV2ViS2l0Rm9ybVN1
Ym1pc3Npb25SZXF1ZXN0UHJpdmF0ZSk7CisgICAgcmVxdWVzdC0+cHJpdiA9IHByaXY7CisgICAg
bmV3IChwcml2KSBXZWJLaXRGb3JtU3VibWlzc2lvblJlcXVlc3RQcml2YXRlKCk7Cit9CisKK3N0
YXRpYyB2b2lkIHdlYmtpdEZvcm1TdWJtaXNzaW9uUmVxdWVzdEZpbmFsaXplKEdPYmplY3QqIG9i
amVjdCkKK3sKKyAgICBXZWJLaXRGb3JtU3VibWlzc2lvblJlcXVlc3QqIHJlcXVlc3QgPSBXRUJL
SVRfRk9STV9TVUJNSVNTSU9OX1JFUVVFU1Qob2JqZWN0KTsKKworICAgIC8vIE1ha2Ugc3VyZSB0
aGUgcmVxdWVzdCBpcyBhbHdheXMgaGFuZGxlZCBiZWZvcmUgZmluYWxpemluZy4KKyAgICBpZiAo
IXJlcXVlc3QtPnByaXYtPmhhbmRsZWRSZXF1ZXN0KQorICAgICAgICB3ZWJraXRfZm9ybV9zdWJt
aXNzaW9uX3JlcXVlc3Rfc3VibWl0KHJlcXVlc3QpOworCisgICAgcmVxdWVzdC0+cHJpdi0+fldl
YktpdEZvcm1TdWJtaXNzaW9uUmVxdWVzdFByaXZhdGUoKTsKKyAgICBHX09CSkVDVF9DTEFTUyh3
ZWJraXRfZm9ybV9zdWJtaXNzaW9uX3JlcXVlc3RfcGFyZW50X2NsYXNzKS0+ZmluYWxpemUob2Jq
ZWN0KTsKK30KKworc3RhdGljIHZvaWQgd2Via2l0X2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0X2Ns
YXNzX2luaXQoV2ViS2l0Rm9ybVN1Ym1pc3Npb25SZXF1ZXN0Q2xhc3MqIHJlcXVlc3RDbGFzcykK
K3sKKyAgICBHT2JqZWN0Q2xhc3MqIG9iamVjdENsYXNzID0gR19PQkpFQ1RfQ0xBU1MocmVxdWVz
dENsYXNzKTsKKyAgICBvYmplY3RDbGFzcy0+ZmluYWxpemUgPSB3ZWJraXRGb3JtU3VibWlzc2lv
blJlcXVlc3RGaW5hbGl6ZTsKKyAgICBnX3R5cGVfY2xhc3NfYWRkX3ByaXZhdGUocmVxdWVzdENs
YXNzLCBzaXplb2YoV2ViS2l0Rm9ybVN1Ym1pc3Npb25SZXF1ZXN0UHJpdmF0ZSkpOworfQorCitX
ZWJLaXRGb3JtU3VibWlzc2lvblJlcXVlc3QqIHdlYmtpdEZvcm1TdWJtaXNzaW9uUmVxdWVzdENy
ZWF0ZShXS0RpY3Rpb25hcnlSZWYgd2tWYWx1ZXMsIFdLRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclJl
ZiB3a0xpc3RlbmVyKQoreworICAgIFdlYktpdEZvcm1TdWJtaXNzaW9uUmVxdWVzdCogcmVxdWVz
dCA9IFdFQktJVF9GT1JNX1NVQk1JU1NJT05fUkVRVUVTVChnX29iamVjdF9uZXcoV0VCS0lUX1RZ
UEVfRk9STV9TVUJNSVNTSU9OX1JFUVVFU1QsIE5VTEwpKTsKKyAgICByZXF1ZXN0LT5wcml2LT53
a1ZhbHVlcyA9IHdrVmFsdWVzOworICAgIHJlcXVlc3QtPnByaXYtPndrTGlzdGVuZXIgPSB3a0xp
c3RlbmVyOworICAgIHJldHVybiByZXF1ZXN0OworfQorCisvKioKKyAqIHdlYmtpdF9mb3JtX3N1
Ym1pc3Npb25fcmVxdWVzdF9nZXRfdGV4dF9maWVsZHM6CisgKiBAcmVxdWVzdDogYSAjV2ViS2l0
Rm9ybVN1Ym1pc3Npb25SZXF1ZXN0CisgKgorICogR2V0IGEgI0dIYXNoVGFibGUgd2l0aCB0aGUg
dmFsdWVzIG9mIHRoZSB0ZXh0IGZpZWxkcyBjb250YWluZWQgaW4gdGhlIGZvcm0KKyAqIGFzc29j
aWF0ZWQgdG8gQHJlcXVlc3QuCisgKgorICogUmV0dXJuczogKHRyYW5zZmVyIG5vbmUpOiBhICNH
SGFzaFRhYmxlIHdpdGggdGhlIGZvcm0gdGV4dCBmaWVsZHMsIG9yICVOVUxMIGlmIHRoZQorICog
ICAgZm9ybSBkb2Vzbid0IGNvbnRhaW4gdGV4dCBmaWVsZHMuCisgKi8KK0dIYXNoVGFibGUqIHdl
YmtpdF9mb3JtX3N1Ym1pc3Npb25fcmVxdWVzdF9nZXRfdGV4dF9maWVsZHMoV2ViS2l0Rm9ybVN1
Ym1pc3Npb25SZXF1ZXN0KiByZXF1ZXN0KQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdF
QktJVF9JU19GT1JNX1NVQk1JU1NJT05fUkVRVUVTVChyZXF1ZXN0KSwgMCk7CisKKyAgICBpZiAo
cmVxdWVzdC0+cHJpdi0+dmFsdWVzKQorICAgICAgICByZXR1cm4gcmVxdWVzdC0+cHJpdi0+dmFs
dWVzLmdldCgpOworCisgICAgaWYgKCFXS0RpY3Rpb25hcnlHZXRTaXplKHJlcXVlc3QtPnByaXYt
PndrVmFsdWVzLmdldCgpKSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICByZXF1ZXN0LT5wcml2
LT52YWx1ZXMgPSBhZG9wdEdSZWYoZ19oYXNoX3RhYmxlX25ld19mdWxsKGdfc3RyX2hhc2gsIGdf
c3RyX2VxdWFsLCBnX2ZyZWUsIGdfZnJlZSkpOworCisgICAgV0tSZXRhaW5QdHI8V0tBcnJheVJl
Zj4gd2tLZXlzKEFkb3B0V0ssIFdLRGljdGlvbmFyeUNvcHlLZXlzKHJlcXVlc3QtPnByaXYtPndr
VmFsdWVzLmdldCgpKSk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBXS0FycmF5R2V0U2l6
ZSh3a0tleXMuZ2V0KCkpOyArK2kpIHsKKyAgICAgICAgV0tTdHJpbmdSZWYgd2tLZXkgPSBzdGF0
aWNfY2FzdDxXS1N0cmluZ1JlZj4oV0tBcnJheUdldEl0ZW1BdEluZGV4KHdrS2V5cy5nZXQoKSwg
aSkpOworICAgICAgICBXS1N0cmluZ1JlZiB3a1ZhbHVlID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdS
ZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkocmVxdWVzdC0+cHJpdi0+d2tWYWx1ZXMuZ2V0
KCksIHdrS2V5KSk7CisgICAgICAgIGdfaGFzaF90YWJsZV9pbnNlcnQocmVxdWVzdC0+cHJpdi0+
dmFsdWVzLmdldCgpLCBnX3N0cmR1cCh0b0ltcGwod2tLZXkpLT5zdHJpbmcoKS51dGY4KCkuZGF0
YSgpKSwgZ19zdHJkdXAodG9JbXBsKHdrVmFsdWUpLT5zdHJpbmcoKS51dGY4KCkuZGF0YSgpKSk7
CisgICAgfQorCisgICAgcmVxdWVzdC0+cHJpdi0+d2tWYWx1ZXMgPSAwOworCisgICAgcmV0dXJu
IHJlcXVlc3QtPnByaXYtPnZhbHVlcy5nZXQoKTsKK30KKworLyoqCisgKiB3ZWJraXRfZm9ybV9z
dWJtaXNzaW9uX3JlcXVlc3Rfc3VibWl0OgorICogQHJlcXVlc3Q6IGEgI1dlYktpdEZvcm1TdWJt
aXNzaW9uUmVxdWVzdAorICoKKyAqIENvbnRpbnVlIHRoZSBmb3JtIHN1Ym1pc3Npb24uCisgKi8K
K3ZvaWQgd2Via2l0X2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0X3N1Ym1pdChXZWJLaXRGb3JtU3Vi
bWlzc2lvblJlcXVlc3QqIHJlcXVlc3QpCit7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRf
SVNfRk9STV9TVUJNSVNTSU9OX1JFUVVFU1QocmVxdWVzdCkpOworCisgICAgV0tGb3JtU3VibWlz
c2lvbkxpc3RlbmVyQ29udGludWUocmVxdWVzdC0+cHJpdi0+d2tMaXN0ZW5lci5nZXQoKSk7Cisg
ICAgcmVxdWVzdC0+cHJpdi0+aGFuZGxlZFJlcXVlc3QgPSB0cnVlOworfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Rm9ybVN1Ym1pc3Npb25SZXF1
ZXN0LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRGb3JtU3VibWlz
c2lvblJlcXVlc3QuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MTBhODFj
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0Rm9ybVN1Ym1pc3Npb25SZXF1ZXN0LmgKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMiBJZ2FsaWEgUy5MLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAq
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3Ig
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1B
IDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWYgIWRlZmluZWQoX19XRUJLSVQyX0hfSU5TSURF
X18pICYmICFkZWZpbmVkKFdFQktJVDJfQ09NUElMQVRJT04pCisjZXJyb3IgIk9ubHkgPHdlYmtp
dDIvd2Via2l0Mi5oPiBjYW4gYmUgaW5jbHVkZWQgZGlyZWN0bHkuIgorI2VuZGlmCisKKyNpZm5k
ZWYgV2ViS2l0Rm9ybVN1Ym1pc3Npb25SZXF1ZXN0X2gKKyNkZWZpbmUgV2ViS2l0Rm9ybVN1Ym1p
c3Npb25SZXF1ZXN0X2gKKworI2luY2x1ZGUgPGdsaWItb2JqZWN0Lmg+CisjaW5jbHVkZSA8d2Vi
a2l0Mi9XZWJLaXREZWZpbmVzLmg+CisKK0dfQkVHSU5fREVDTFMKKworI2RlZmluZSBXRUJLSVRf
VFlQRV9GT1JNX1NVQk1JU1NJT05fUkVRVUVTVCAgICAgICAgICAgICh3ZWJraXRfZm9ybV9zdWJt
aXNzaW9uX3JlcXVlc3RfZ2V0X3R5cGUoKSkKKyNkZWZpbmUgV0VCS0lUX0ZPUk1fU1VCTUlTU0lP
Tl9SRVFVRVNUKG9iaikgICAgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX0NBU1QoKG9i
aiksIFdFQktJVF9UWVBFX0ZPUk1fU1VCTUlTU0lPTl9SRVFVRVNULCBXZWJLaXRGb3JtU3VibWlz
c2lvblJlcXVlc3QpKQorI2RlZmluZSBXRUJLSVRfSVNfRk9STV9TVUJNSVNTSU9OX1JFUVVFU1Qo
b2JqKSAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSgob2JqKSwgV0VCS0lUX1RZ
UEVfRk9STV9TVUJNSVNTSU9OX1JFUVVFU1QpKQorI2RlZmluZSBXRUJLSVRfRk9STV9TVUJNSVNT
SU9OX1JFUVVFU1RfQ0xBU1Moa2xhc3MpICAgIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfQ0FTVCgoa2xh
c3MpLCAgV0VCS0lUX1RZUEVfRk9STV9TVUJNSVNTSU9OX1JFUVVFU1QsIFdlYktpdEZvcm1TdWJt
aXNzaW9uUmVxdWVzdENsYXNzKSkKKyNkZWZpbmUgV0VCS0lUX0lTX0ZPUk1fU1VCTUlTU0lPTl9S
RVFVRVNUX0NMQVNTKGtsYXNzKSAoR19UWVBFX0NIRUNLX0NMQVNTX1RZUEUoKGtsYXNzKSwgIFdF
QktJVF9UWVBFX0ZPUk1fU1VCTUlTU0lPTl9SRVFVRVNUKSkKKyNkZWZpbmUgV0VCS0lUX0ZPUk1f
U1VCTUlTU0lPTl9SRVFVRVNUX0dFVF9DTEFTUyhvYmopICAoR19UWVBFX0lOU1RBTkNFX0dFVF9D
TEFTUygob2JqKSwgIFdFQktJVF9UWVBFX0ZPUk1fU1VCTUlTU0lPTl9SRVFVRVNULCBXZWJLaXRG
b3JtU3VibWlzc2lvblJlcXVlc3RDbGFzcykpCisKK3R5cGVkZWYgc3RydWN0IF9XZWJLaXRGb3Jt
U3VibWlzc2lvblJlcXVlc3QgICAgICAgIFdlYktpdEZvcm1TdWJtaXNzaW9uUmVxdWVzdDsKK3R5
cGVkZWYgc3RydWN0IF9XZWJLaXRGb3JtU3VibWlzc2lvblJlcXVlc3RDbGFzcyAgIFdlYktpdEZv
cm1TdWJtaXNzaW9uUmVxdWVzdENsYXNzOwordHlwZWRlZiBzdHJ1Y3QgX1dlYktpdEZvcm1TdWJt
aXNzaW9uUmVxdWVzdFByaXZhdGUgV2ViS2l0Rm9ybVN1Ym1pc3Npb25SZXF1ZXN0UHJpdmF0ZTsK
Kworc3RydWN0IF9XZWJLaXRGb3JtU3VibWlzc2lvblJlcXVlc3QgeworICAgIEdPYmplY3QgcGFy
ZW50OworCisgICAgLyo8IHByaXZhdGUgPiovCisgICAgV2ViS2l0Rm9ybVN1Ym1pc3Npb25SZXF1
ZXN0UHJpdmF0ZSAqcHJpdjsKK307CisKK3N0cnVjdCBfV2ViS2l0Rm9ybVN1Ym1pc3Npb25SZXF1
ZXN0Q2xhc3MgeworICAgIEdPYmplY3RDbGFzcyBwYXJlbnRfY2xhc3M7Cit9OworCitXRUJLSVRf
QVBJIEdUeXBlCit3ZWJraXRfZm9ybV9zdWJtaXNzaW9uX3JlcXVlc3RfZ2V0X3R5cGUgICAgICAg
ICh2b2lkKTsKKworV0VCS0lUX0FQSSBHSGFzaFRhYmxlICoKK3dlYmtpdF9mb3JtX3N1Ym1pc3Np
b25fcmVxdWVzdF9nZXRfdGV4dF9maWVsZHMgKFdlYktpdEZvcm1TdWJtaXNzaW9uUmVxdWVzdCAq
cmVxdWVzdCk7CisKK1dFQktJVF9BUEkgdm9pZAord2Via2l0X2Zvcm1fc3VibWlzc2lvbl9yZXF1
ZXN0X3N1Ym1pdCAgICAgICAgICAoV2ViS2l0Rm9ybVN1Ym1pc3Npb25SZXF1ZXN0ICpyZXF1ZXN0
KTsKKworR19FTkRfREVDTFMKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRGb3JtU3VibWlzc2lvblJlcXVlc3RQcml2YXRlLmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRGb3JtU3VibWlzc2lvblJlcXVl
c3RQcml2YXRlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWQ0YTYxOQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dEZvcm1TdWJtaXNzaW9uUmVxdWVzdFByaXZhdGUuaApAQCAtMCwwICsxLDI4IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEyIElnYWxpYSBTLkwuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExp
Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl
cgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ
OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElU
WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxl
IENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3Rv
biwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgV2ViS2l0Rm9ybVN1Ym1pc3Np
b25SZXF1ZXN0UHJpdmF0ZV9oCisjZGVmaW5lIFdlYktpdEZvcm1TdWJtaXNzaW9uUmVxdWVzdFBy
aXZhdGVfaAorCisjaW5jbHVkZSAiV2ViS2l0Rm9ybVN1Ym1pc3Npb25SZXF1ZXN0LmgiCisjaW5j
bHVkZSAiV2ViS2l0UHJpdmF0ZS5oIgorCitXZWJLaXRGb3JtU3VibWlzc2lvblJlcXVlc3QqIHdl
YmtpdEZvcm1TdWJtaXNzaW9uUmVxdWVzdENyZWF0ZShXS0RpY3Rpb25hcnlSZWYsIFdLRm9ybVN1
Ym1pc3Npb25MaXN0ZW5lclJlZik7CisKKyNlbmRpZiAvLyBXZWJLaXRGb3JtU3VibWlzc2lvblJl
cXVlc3RQcml2YXRlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFdlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0V2ViVmlldy5jcHAKaW5kZXggOGJmYWJlZS4uNmJhZjg2MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKQEAgLTI5LDYg
KzI5LDcgQEAKICNpbmNsdWRlICJXZWJLaXRDb250ZXh0TWVudVByaXZhdGUuaCIKICNpbmNsdWRl
ICJXZWJLaXRFbnVtVHlwZXMuaCIKICNpbmNsdWRlICJXZWJLaXRFcnJvci5oIgorI2luY2x1ZGUg
IldlYktpdEZvcm1DbGllbnQuaCIKICNpbmNsdWRlICJXZWJLaXRGdWxsc2NyZWVuQ2xpZW50Lmgi
CiAjaW5jbHVkZSAiV2ViS2l0SGl0VGVzdFJlc3VsdFByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJL
aXRKYXZhc2NyaXB0UmVzdWx0UHJpdmF0ZS5oIgpAQCAtOTAsNiArOTEsOCBAQCBlbnVtIHsKICAg
ICBDT05URVhUX01FTlUsCiAgICAgQ09OVEVYVF9NRU5VX0RJU01JU1NFRCwKIAorICAgIFNVQk1J
VF9GT1JNLAorCiAgICAgTEFTVF9TSUdOQUwKIH07CiAKQEAgLTMyNSw2ICszMjgsNyBAQCBzdGF0
aWMgdm9pZCB3ZWJraXRXZWJWaWV3Q29uc3RydWN0ZWQoR09iamVjdCogb2JqZWN0KQogICAgIGF0
dGFjaFJlc291cmNlTG9hZENsaWVudFRvVmlldyh3ZWJWaWV3KTsKICAgICBhdHRhY2hGdWxsU2Ny
ZWVuQ2xpZW50VG9WaWV3KHdlYlZpZXcpOwogICAgIGF0dGFjaENvbnRleHRNZW51Q2xpZW50VG9W
aWV3KHdlYlZpZXcpOworICAgIGF0dGFjaEZvcm1DbGllbnRUb1ZpZXcod2ViVmlldyk7CiAKICAg
ICBXZWJQYWdlUHJveHkqIHBhZ2UgPSB3ZWJraXRXZWJWaWV3QmFzZUdldFBhZ2Uod2ViVmlld0Jh
c2UpOwogICAgIHByaXYtPmJhY2tGb3J3YXJkTGlzdCA9IGFkb3B0R1JlZih3ZWJraXRCYWNrRm9y
d2FyZExpc3RDcmVhdGUoV0tQYWdlR2V0QmFja0ZvcndhcmRMaXN0KHRvQVBJKHBhZ2UpKSkpOwpA
QCAtMTA2MCw2ICsxMDY0LDMzIEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfdmlld19jbGFzc19p
bml0KFdlYktpdFdlYlZpZXdDbGFzcyogd2ViVmlld0NsYXNzKQogICAgICAgICAgICAgICAgICAg
ICAgMCwgMCwKICAgICAgICAgICAgICAgICAgICAgIGdfY2Nsb3N1cmVfbWFyc2hhbF9WT0lEX19W
T0lELAogICAgICAgICAgICAgICAgICAgICAgR19UWVBFX05PTkUsIDApOworCisgICAgLyoqCisg
ICAgICogV2ViS2l0V2ViVmlldzo6c3VibWl0LWZvcm06CisgICAgICogQHdlYl92aWV3OiB0aGUg
I1dlYktpdFdlYlZpZXcgb24gd2hpY2ggdGhlIHNpZ25hbCBpcyBlbWl0dGVkCisgICAgICogQHJl
cXVlc3Q6IGEgI1dlYktpdEZvcm1TdWJtaXNzaW9uUmVxdWVzdAorICAgICAqCisgICAgICogVGhp
cyBzaWduYWwgaXMgZW1pdHRlZCB3aGVuIGEgZm9ybSBpcyBhYm91dCB0byBiZSBzdWJtaXR0ZWQu
IFRoZSBAcmVxdWVzdAorICAgICAqIGFyZ3VtZW50IHBhc3NlZCBjb250YWlucyBpbmZvcm1hdGlv
biBhYm91dCB0aGUgdGV4dCBmaWVsZHMgb2YgdGhlIGZvcm0uIFRoaXMKKyAgICAgKiBpcyB0eXBp
Y2FsbHkgdXNlZCB0byBzdG9yZSBsb2dpbiBpbmZvcm1hdGlvbiB0aGF0IGNhbiBiZSB1c2VkIGxh
dGVyIHRvCisgICAgICogcHJlLWZpbGwgdGhlIGZvcm0uCisgICAgICogVGhlIGZvcm0gd2lsbCBu
b3QgYmUgc3VibWl0dGVkIHVudGlsIHdlYmtpdF9mb3JtX3N1Ym1pc3Npb25fcmVxdWVzdF9zdWJt
aXQoKSBpcyBjYWxsZWQuCisgICAgICoKKyAgICAgKiBJdCBpcyBwb3NzaWJsZSB0byBoYW5kbGUg
dGhlIGZvcm0gc3VibWlzc2lvbiByZXF1ZXN0IGFzeW5jaHJvbm91c2x5LCBieQorICAgICAqIHNp
bXBseSBjYWxsaW5nIGdfb2JqZWN0X3JlZigpIG9uIHRoZSBAcmVxdWVzdCBhcmd1bWVudCBhbmQg
Y2FsbGluZworICAgICAqIHdlYmtpdF9mb3JtX3N1Ym1pc3Npb25fcmVxdWVzdF9zdWJtaXQoKSB3
aGVuIGRvbmUgdG8gY29udGludWUgd2l0aCB0aGUgZm9ybSBzdWJtaXNzaW9uLgorICAgICAqIElm
IHRoZSBsYXN0IHJlZmVyZW5jZSBpcyByZW1vdmVkIG9uIGEgI1dlYktpdEZvcm1TdWJtaXNzaW9u
UmVxdWVzdCBhbmQgdGhlCisgICAgICogZm9ybSBoYXMgbm90IGJlZW4gc3VibWl0dGVkLCB3ZWJr
aXRfZm9ybV9zdWJtaXNzaW9uX3JlcXVlc3Rfc3VibWl0KCkgd2lsbCBiZSBjYWxsZWQuCisgICAg
ICovCisgICAgc2lnbmFsc1tTVUJNSVRfRk9STV0gPQorICAgICAgICBnX3NpZ25hbF9uZXcoInN1
Ym1pdC1mb3JtIiwKKyAgICAgICAgICAgICAgICAgICAgIEdfVFlQRV9GUk9NX0NMQVNTKHdlYlZp
ZXdDbGFzcyksCisgICAgICAgICAgICAgICAgICAgICBHX1NJR05BTF9SVU5fTEFTVCwKKyAgICAg
ICAgICAgICAgICAgICAgIEdfU1RSVUNUX09GRlNFVChXZWJLaXRXZWJWaWV3Q2xhc3MsIHN1Ym1p
dF9mb3JtKSwKKyAgICAgICAgICAgICAgICAgICAgIDAsIDAsCisgICAgICAgICAgICAgICAgICAg
ICBnX2NjbG9zdXJlX21hcnNoYWxfVk9JRF9fT0JKRUNULAorICAgICAgICAgICAgICAgICAgICAg
R19UWVBFX05PTkUsIDEsCisgICAgICAgICAgICAgICAgICAgICBXRUJLSVRfVFlQRV9GT1JNX1NV
Qk1JU1NJT05fUkVRVUVTVCk7CiB9CiAKIHN0YXRpYyBib29sIHVwZGF0ZVJlcGxhY2VDb250ZW50
U3RhdHVzKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIFdlYktpdExvYWRFdmVudCBsb2FkRXZlbnQp
CkBAIC0xMzg4LDYgKzE0MTksMTEgQEAgdm9pZCB3ZWJraXRXZWJWaWV3UG9wdWxhdGVDb250ZXh0
TWVudShXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBXS0FycmF5UmVmIHdrUHJvcG8KICAgICB3ZWJr
aXRfY29udGV4dF9tZW51X3JlbW92ZV9hbGwoY29udGV4dE1lbnUuZ2V0KCkpOwogfQogCit2b2lk
IHdlYmtpdFdlYlZpZXdTdWJtaXRGb3JtUmVxdWVzdChXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBX
ZWJLaXRGb3JtU3VibWlzc2lvblJlcXVlc3QqIHJlcXVlc3QpCit7CisgICAgZ19zaWduYWxfZW1p
dCh3ZWJWaWV3LCBzaWduYWxzW1NVQk1JVF9GT1JNXSwgMCwgcmVxdWVzdCk7Cit9CisKIC8qKgog
ICogd2Via2l0X3dlYl92aWV3X25ldzoKICAqCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmgKaW5kZXggYmFjMzJhNy4uMjU1M2IxOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaApAQCAt
MzMsNiArMzMsNyBAQAogI2luY2x1ZGUgPHdlYmtpdDIvV2ViS2l0RGVmaW5lcy5oPgogI2luY2x1
ZGUgPHdlYmtpdDIvV2ViS2l0RmlsZUNob29zZXJSZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8d2Via2l0
Mi9XZWJLaXRGaW5kQ29udHJvbGxlci5oPgorI2luY2x1ZGUgPHdlYmtpdDIvV2ViS2l0Rm9ybVN1
Ym1pc3Npb25SZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8d2Via2l0Mi9XZWJLaXRIaXRUZXN0UmVzdWx0
Lmg+CiAjaW5jbHVkZSA8d2Via2l0Mi9XZWJLaXRKYXZhc2NyaXB0UmVzdWx0Lmg+CiAjaW5jbHVk
ZSA8d2Via2l0Mi9XZWJLaXRQZXJtaXNzaW9uUmVxdWVzdC5oPgpAQCAtMTI3LDQzICsxMjgsNDUg
QEAgc3RydWN0IF9XZWJLaXRXZWJWaWV3IHsKIHN0cnVjdCBfV2ViS2l0V2ViVmlld0NsYXNzIHsK
ICAgICBXZWJLaXRXZWJWaWV3QmFzZUNsYXNzIHBhcmVudDsKIAotICAgIHZvaWQgICAgICAgKCog
bG9hZF9jaGFuZ2VkKSAgICAgICAgICAgKFdlYktpdFdlYlZpZXcgICAgICAgICAgICAgKndlYl92
aWV3LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlYktpdExv
YWRFdmVudCAgICAgICAgICAgIGxvYWRfZXZlbnQpOwotICAgIGdib29sZWFuICAgKCogbG9hZF9m
YWlsZWQpICAgICAgICAgICAgKFdlYktpdFdlYlZpZXcgICAgICAgICAgICAgKndlYl92aWV3LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlYktpdExvYWRFdmVu
dCAgICAgICAgICAgIGxvYWRfZXZlbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgZ2NoYXIgICAgICAgICAgICAgICAqZmFpbGluZ191cmksCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0Vycm9yICAgICAgICAgICAg
ICAgICAgICAqZXJyb3IpOwotCi0gICAgR3RrV2lkZ2V0ICooKiBjcmVhdGUpICAgICAgICAgICAg
ICAgICAoV2ViS2l0V2ViVmlldyAgICAgICAgICAgICAqd2ViX3ZpZXcpOwotICAgIHZvaWQgICAg
ICAgKCogcmVhZHlfdG9fc2hvdykgICAgICAgICAgKFdlYktpdFdlYlZpZXcgICAgICAgICAgICAg
KndlYl92aWV3KTsKLSAgICB2b2lkICAgICAgICgqIHJ1bl9hc19tb2RhbCkgICAgICAgICAgIChX
ZWJLaXRXZWJWaWV3ICAgICAgICAgICAgICp3ZWJfdmlldyk7Ci0gICAgdm9pZCAgICAgICAoKiBj
bG9zZSkgICAgICAgICAgICAgICAgICAoV2ViS2l0V2ViVmlldyAgICAgICAgICAgICAqd2ViX3Zp
ZXcpOwotCi0gICAgZ2Jvb2xlYW4gICAoKiBzY3JpcHRfZGlhbG9nKSAgICAgICAgICAoV2ViS2l0
V2ViVmlldyAgICAgICAgICAgICAqd2ViX3ZpZXcsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgV2ViS2l0U2NyaXB0RGlhbG9nICAgICAgICAqZGlhbG9nKTsKLQot
ICAgIGdib29sZWFuICAgKCogZGVjaWRlX3BvbGljeSkgICAgICAgICAgKFdlYktpdFdlYlZpZXcg
ICAgICAgICAgICAgKndlYl92aWV3LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFdlYktpdFBvbGljeURlY2lzaW9uICAgICAgKmRlY2lzaW9uLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlYktpdFBvbGljeURlY2lzaW9uVHlw
ZSAgIHR5cGUpOwotICAgIGdib29sZWFuICAgKCogcGVybWlzc2lvbl9yZXF1ZXN0KSAgICAgKFdl
YktpdFdlYlZpZXcgICAgICAgICAgICAgKndlYl92aWV3LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFdlYktpdFBlcm1pc3Npb25SZXF1ZXN0ICAgKnBlcm1pc3Np
b25fcmVxdWVzdCk7Ci0gICAgdm9pZCAgICAgICAoKiBtb3VzZV90YXJnZXRfY2hhbmdlZCkgICAo
V2ViS2l0V2ViVmlldyAgICAgICAgICAgICAqd2ViX3ZpZXcsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgV2ViS2l0SGl0VGVzdFJlc3VsdCAgICAgICAqaGl0X3Rl
c3RfcmVzdWx0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1
aW50ICAgICAgICAgICAgICAgICAgICAgIG1vZGlmaWVycyk7Ci0gICAgZ2Jvb2xlYW4gICAoKiBw
cmludF9yZXF1ZXN0ZWQpICAgICAgICAoV2ViS2l0V2ViVmlldyAgICAgICAgICAgICAqd2ViX3Zp
ZXcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2ViS2l0UHJp
bnRPcGVyYXRpb24gICAgICAqcHJpbnRfb3BlcmF0aW9uKTsKLSAgICB2b2lkICAgICAgICgqIHJl
c291cmNlX2xvYWRfc3RhcnRlZCkgIChXZWJLaXRXZWJWaWV3ICAgICAgICAgICAgICp3ZWJfdmll
dywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJLaXRXZWJS
ZXNvdXJjZSAgICAgICAgICpyZXNvdXJjZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBXZWJLaXRVUklSZXF1ZXN0ICAgICAgICAgICpyZXF1ZXN0KTsKLSAgICBn
Ym9vbGVhbiAgICgqIGVudGVyX2Z1bGxzY3JlZW4pICAgICAgIChXZWJLaXRXZWJWaWV3ICAgICAg
ICAgICAgICp3ZWJfdmlldyk7Ci0gICAgZ2Jvb2xlYW4gICAoKiBsZWF2ZV9mdWxsc2NyZWVuKSAg
ICAgICAoV2ViS2l0V2ViVmlldyAgICAgICAgICAgICAqd2ViX3ZpZXcpOwotICAgIGdib29sZWFu
ICAgKCogcnVuX2ZpbGVfY2hvb3NlcikgICAgICAgKFdlYktpdFdlYlZpZXcgICAgICAgICAgICAg
KndlYl92aWV3LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdl
YktpdEZpbGVDaG9vc2VyUmVxdWVzdCAgKnJlcXVlc3QpOwotICAgIGdib29sZWFuICAgKCogY29u
dGV4dF9tZW51KSAgICAgICAgICAgKFdlYktpdFdlYlZpZXcgICAgICAgICAgICAgKndlYl92aWV3
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlYktpdENvbnRl
eHRNZW51ICAgICAgICAgKmNvbnRleHRfbWVudSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBHZGtFdmVudCAgICAgICAgICAgICAgICAgICpldmVudCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJLaXRIaXRUZXN0UmVzdWx0
ICAgICAgICpoaXRfdGVzdF9yZXN1bHQpOwotICAgIHZvaWQgICAgICAgKCogY29udGV4dF9tZW51
X2Rpc21pc3NlZCkgKFdlYktpdFdlYlZpZXcgICAgICAgICAgICAgKndlYl92aWV3KTsKKyAgICB2
b2lkICAgICAgICgqIGxvYWRfY2hhbmdlZCkgICAgICAgICAgIChXZWJLaXRXZWJWaWV3ICAgICAg
ICAgICAgICAgKndlYl92aWV3LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFdlYktpdExvYWRFdmVudCAgICAgICAgICAgICAgbG9hZF9ldmVudCk7CisgICAgZ2Jv
b2xlYW4gICAoKiBsb2FkX2ZhaWxlZCkgICAgICAgICAgICAoV2ViS2l0V2ViVmlldyAgICAgICAg
ICAgICAgICp3ZWJfdmlldywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBXZWJLaXRMb2FkRXZlbnQgICAgICAgICAgICAgIGxvYWRfZXZlbnQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgICAgICAgICAgICAg
ICAgICpmYWlsaW5nX3VyaSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBHRXJyb3IgICAgICAgICAgICAgICAgICAgICAgKmVycm9yKTsKKworICAgIEd0a1dpZGdl
dCAqKCogY3JlYXRlKSAgICAgICAgICAgICAgICAgKFdlYktpdFdlYlZpZXcgICAgICAgICAgICAg
ICAqd2ViX3ZpZXcpOworICAgIHZvaWQgICAgICAgKCogcmVhZHlfdG9fc2hvdykgICAgICAgICAg
KFdlYktpdFdlYlZpZXcgICAgICAgICAgICAgICAqd2ViX3ZpZXcpOworICAgIHZvaWQgICAgICAg
KCogcnVuX2FzX21vZGFsKSAgICAgICAgICAgKFdlYktpdFdlYlZpZXcgICAgICAgICAgICAgICAq
d2ViX3ZpZXcpOworICAgIHZvaWQgICAgICAgKCogY2xvc2UpICAgICAgICAgICAgICAgICAgKFdl
YktpdFdlYlZpZXcgICAgICAgICAgICAgICAqd2ViX3ZpZXcpOworCisgICAgZ2Jvb2xlYW4gICAo
KiBzY3JpcHRfZGlhbG9nKSAgICAgICAgICAoV2ViS2l0V2ViVmlldyAgICAgICAgICAgICAgICp3
ZWJfdmlldywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJL
aXRTY3JpcHREaWFsb2cgICAgICAgICAgKmRpYWxvZyk7CisKKyAgICBnYm9vbGVhbiAgICgqIGRl
Y2lkZV9wb2xpY3kpICAgICAgICAgIChXZWJLaXRXZWJWaWV3ICAgICAgICAgICAgICAgKndlYl92
aWV3LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlYktpdFBv
bGljeURlY2lzaW9uICAgICAgICAqZGVjaXNpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgV2ViS2l0UG9saWN5RGVjaXNpb25UeXBlICAgICB0eXBlKTsKKyAg
ICBnYm9vbGVhbiAgICgqIHBlcm1pc3Npb25fcmVxdWVzdCkgICAgIChXZWJLaXRXZWJWaWV3ICAg
ICAgICAgICAgICAgKndlYl92aWV3LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFdlYktpdFBlcm1pc3Npb25SZXF1ZXN0ICAgICAqcGVybWlzc2lvbl9yZXF1ZXN0
KTsKKyAgICB2b2lkICAgICAgICgqIG1vdXNlX3RhcmdldF9jaGFuZ2VkKSAgIChXZWJLaXRXZWJW
aWV3ICAgICAgICAgICAgICAgKndlYl92aWV3LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFdlYktpdEhpdFRlc3RSZXN1bHQgICAgICAgICAqaGl0X3Rlc3RfcmVz
dWx0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1aW50ICAg
ICAgICAgICAgICAgICAgICAgICAgbW9kaWZpZXJzKTsKKyAgICBnYm9vbGVhbiAgICgqIHByaW50
X3JlcXVlc3RlZCkgICAgICAgIChXZWJLaXRXZWJWaWV3ICAgICAgICAgICAgICAgKndlYl92aWV3
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlYktpdFByaW50
T3BlcmF0aW9uICAgICAgICAqcHJpbnRfb3BlcmF0aW9uKTsKKyAgICB2b2lkICAgICAgICgqIHJl
c291cmNlX2xvYWRfc3RhcnRlZCkgIChXZWJLaXRXZWJWaWV3ICAgICAgICAgICAgICAgKndlYl92
aWV3LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlYktpdFdl
YlJlc291cmNlICAgICAgICAgICAqcmVzb3VyY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgV2ViS2l0VVJJUmVxdWVzdCAgICAgICAgICAgICpyZXF1ZXN0KTsK
KyAgICBnYm9vbGVhbiAgICgqIGVudGVyX2Z1bGxzY3JlZW4pICAgICAgIChXZWJLaXRXZWJWaWV3
ICAgICAgICAgICAgICAgKndlYl92aWV3KTsKKyAgICBnYm9vbGVhbiAgICgqIGxlYXZlX2Z1bGxz
Y3JlZW4pICAgICAgIChXZWJLaXRXZWJWaWV3ICAgICAgICAgICAgICAgKndlYl92aWV3KTsKKyAg
ICBnYm9vbGVhbiAgICgqIHJ1bl9maWxlX2Nob29zZXIpICAgICAgIChXZWJLaXRXZWJWaWV3ICAg
ICAgICAgICAgICAgKndlYl92aWV3LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFdlYktpdEZpbGVDaG9vc2VyUmVxdWVzdCAgICAqcmVxdWVzdCk7CisgICAgZ2Jv
b2xlYW4gICAoKiBjb250ZXh0X21lbnUpICAgICAgICAgICAoV2ViS2l0V2ViVmlldyAgICAgICAg
ICAgICAgICp3ZWJfdmlldywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBXZWJLaXRDb250ZXh0TWVudSAgICAgICAgICAgKmNvbnRleHRfbWVudSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHZGtFdmVudCAgICAgICAgICAgICAg
ICAgICAgKmV2ZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFdlYktpdEhpdFRlc3RSZXN1bHQgICAgICAgICAqaGl0X3Rlc3RfcmVzdWx0KTsKKyAgICB2b2lk
ICAgICAgICgqIGNvbnRleHRfbWVudV9kaXNtaXNzZWQpIChXZWJLaXRXZWJWaWV3ICAgICAgICAg
ICAgICAgKndlYl92aWV3KTsKKyAgICB2b2lkICAgICAgICgqIHN1Ym1pdF9mb3JtKSAgICAgICAg
ICAgIChXZWJLaXRXZWJWaWV3ICAgICAgICAgICAgICAgKndlYl92aWV3LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlYktpdEZvcm1TdWJtaXNzaW9uUmVxdWVz
dCAqcmVxdWVzdCk7CiAKICAgICAvKiBQYWRkaW5nIGZvciBmdXR1cmUgZXhwYW5zaW9uICovCiAg
ICAgdm9pZCAoKl93ZWJraXRfcmVzZXJ2ZWQwKSAodm9pZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3UHJpdmF0ZS5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld1ByaXZhdGUuaAppbmRleCBi
NjAyZjRmLi4xODMzZmIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRXZWJWaWV3UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdQcml2YXRlLmgKQEAgLTU1LDUgKzU1LDYgQEAgV2ViS2l0
V2ViUmVzb3VyY2UqIHdlYmtpdFdlYlZpZXdSZXNvdXJjZUxvYWRGaW5pc2hlZChXZWJLaXRXZWJW
aWV3KiwgdWludDY0X3QgcmUKIGJvb2wgd2Via2l0V2ViVmlld0VudGVyRnVsbFNjcmVlbihXZWJL
aXRXZWJWaWV3Kik7CiBib29sIHdlYmtpdFdlYlZpZXdMZWF2ZUZ1bGxTY3JlZW4oV2ViS2l0V2Vi
VmlldyopOwogdm9pZCB3ZWJraXRXZWJWaWV3UG9wdWxhdGVDb250ZXh0TWVudShXZWJLaXRXZWJW
aWV3KiwgV0tBcnJheVJlZiBwcm9wb3NlZE1lbnUsIFdLSGl0VGVzdFJlc3VsdFJlZik7Cit2b2lk
IHdlYmtpdFdlYlZpZXdTdWJtaXRGb3JtUmVxdWVzdChXZWJLaXRXZWJWaWV3KiwgV2ViS2l0Rm9y
bVN1Ym1pc3Npb25SZXF1ZXN0Kik7CiAKICNlbmRpZiAvLyBXZWJLaXRXZWJWaWV3UHJpdmF0ZV9o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtp
dDJndGstZG9jcy5zZ21sIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93
ZWJraXQyZ3RrLWRvY3Muc2dtbAppbmRleCA2YjYyZDZmLi42YWFjN2M4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstZG9jcy5zZ21s
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay1k
b2NzLnNnbWwKQEAgLTM5LDYgKzM5LDcgQEAKICAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2Vi
S2l0VmVyc2lvbi54bWwiLz4KICAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0Q29udGV4
dE1lbnUueG1sIi8+CiAgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdENvbnRleHRNZW51
SXRlbS54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0Rm9ybVN1Ym1pc3Np
b25SZXF1ZXN0LnhtbCIvPgogICA8L2NoYXB0ZXI+CiAKICAgPGluZGV4IGlkPSJpbmRleC1hbGwi
PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJr
aXQyZ3RrLXNlY3Rpb25zLnR4dCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL2Rv
Y3Mvd2Via2l0Mmd0ay1zZWN0aW9ucy50eHQKaW5kZXggZjVjODQ3NS4uMzE2NDE3NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLXNl
Y3Rpb25zLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dl
YmtpdDJndGstc2VjdGlvbnMudHh0CkBAIC04MTQsMyArODE0LDIzIEBAIFdFQktJVF9DT05URVhU
X01FTlVfSVRFTV9HRVRfQ0xBU1MKIFdlYktpdENvbnRleHRNZW51SXRlbVByaXZhdGUKIHdlYmtp
dF9jb250ZXh0X21lbnVfaXRlbV9nZXRfdHlwZQogPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxG
SUxFPldlYktpdEZvcm1TdWJtaXNzaW9uUmVxdWVzdDwvRklMRT4KK1dlYktpdEZvcm1TdWJtaXNz
aW9uUmVxdWVzdAord2Via2l0X2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0X2dldF90ZXh0X2ZpZWxk
cword2Via2l0X2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0X3N1Ym1pdAorCis8U1VCU0VDVElPTiBT
dGFuZGFyZD4KK1dlYktpdEZvcm1TdWJtaXNzaW9uUmVxdWVzdENsYXNzCitXRUJLSVRfVFlQRV9G
T1JNX1NVQk1JU1NJT05fUkVRVUVTVAorV0VCS0lUX0ZPUk1fU1VCTUlTU0lPTl9SRVFVRVNUCitX
RUJLSVRfSVNfRk9STV9TVUJNSVNTSU9OX1JFUVVFU1QKK1dFQktJVF9GT1JNX1NVQk1JU1NJT05f
UkVRVUVTVF9DTEFTUworV0VCS0lUX0lTX0ZPUk1fU1VCTUlTU0lPTl9SRVFVRVNUX0NMQVNTCitX
RUJLSVRfRk9STV9TVUJNSVNTSU9OX1JFUVVFU1RfR0VUX0NMQVNTCisKKzxTVUJTRUNUSU9OIFBy
aXZhdGU+CitXZWJLaXRGb3JtU3VibWlzc2lvblJlcXVlc3RQcml2YXRlCit3ZWJraXRfZm9ybV9z
dWJtaXNzaW9uX3JlcXVlc3RfZ2V0X3R5cGUKKzwvU0VDVElPTj4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL1Rlc3RXZWJLaXRXZWJWaWV3LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL1Rlc3RXZWJLaXRXZWJWaWV3
LmNwcAppbmRleCAzZTE5NGExLi5lZWM2ZmM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay90ZXN0cy9UZXN0V2ViS2l0V2ViVmlldy5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvVGVzdFdlYktpdFdlYlZpZXcuY3BwCkBA
IC04NjUsNiArODY1LDg3IEBAIHN0YXRpYyB2b2lkIHRlc3RXZWJWaWV3Q2FuU2hvd01JTUVUeXBl
KFdlYlZpZXdUZXN0KiB0ZXN0LCBnY29uc3Rwb2ludGVyKQogICAgIGdfYXNzZXJ0KCF3ZWJraXRf
d2ViX3ZpZXdfY2FuX3Nob3dfbWltZV90eXBlKHRlc3QtPm1fd2ViVmlldywgImFwcGxpY2F0aW9u
L29jdGV0LXN0cmVhbSIpKTsKIH0KIAorY2xhc3MgRm9ybUNsaWVudFRlc3Q6IHB1YmxpYyBXZWJW
aWV3VGVzdCB7CitwdWJsaWM6CisgICAgTUFLRV9HTElCX1RFU1RfRklYVFVSRShGb3JtQ2xpZW50
VGVzdCk7CisKKyAgICBzdGF0aWMgdm9pZCBzdWJtaXRGb3JtQ2FsbGJhY2soV2ViS2l0V2ViVmll
dyosIFdlYktpdEZvcm1TdWJtaXNzaW9uUmVxdWVzdCogcmVxdWVzdCwgRm9ybUNsaWVudFRlc3Qq
IHRlc3QpCisgICAgeworICAgICAgICB0ZXN0LT5zdWJtaXRGb3JtKHJlcXVlc3QpOworICAgIH0K
KworICAgIEZvcm1DbGllbnRUZXN0KCkKKyAgICAgICAgOiBtX3N1Ym1pdFBvc2l0aW9uWCgwKQor
ICAgICAgICAsIG1fc3VibWl0UG9zaXRpb25ZKDApCisgICAgeworICAgICAgICBnX3NpZ25hbF9j
b25uZWN0KG1fd2ViVmlldywgInN1Ym1pdC1mb3JtIiwgR19DQUxMQkFDSyhzdWJtaXRGb3JtQ2Fs
bGJhY2spLCB0aGlzKTsKKyAgICB9CisKKyAgICB+Rm9ybUNsaWVudFRlc3QoKQorICAgIHsKKyAg
ICAgICAgZ19zaWduYWxfaGFuZGxlcnNfZGlzY29ubmVjdF9tYXRjaGVkKG1fd2ViVmlldywgR19T
SUdOQUxfTUFUQ0hfREFUQSwgMCwgMCwgMCwgMCwgdGhpcyk7CisgICAgfQorCisgICAgdm9pZCBz
dWJtaXRGb3JtKFdlYktpdEZvcm1TdWJtaXNzaW9uUmVxdWVzdCogcmVxdWVzdCkKKyAgICB7Cisg
ICAgICAgIGFzc2VydE9iamVjdElzRGVsZXRlZFdoZW5UZXN0RmluaXNoZXMoR19PQkpFQ1QocmVx
dWVzdCkpOworICAgICAgICBtX3JlcXVlc3QgPSByZXF1ZXN0OworICAgICAgICB3ZWJraXRfZm9y
bV9zdWJtaXNzaW9uX3JlcXVlc3Rfc3VibWl0KHJlcXVlc3QpOworICAgICAgICBxdWl0TWFpbkxv
b3AoKTsKKyAgICB9CisKKyAgICBHSGFzaFRhYmxlKiB3YWl0VW50aWxGb3JtU3VibWl0dGVkQW5k
R2V0VGV4dEZpZWxkcygpCisgICAgeworICAgICAgICBnX21haW5fbG9vcF9ydW4obV9tYWluTG9v
cCk7CisgICAgICAgIHJldHVybiB3ZWJraXRfZm9ybV9zdWJtaXNzaW9uX3JlcXVlc3RfZ2V0X3Rl
eHRfZmllbGRzKG1fcmVxdWVzdC5nZXQoKSk7CisgICAgfQorCisgICAgc3RhdGljIGdib29sZWFu
IGRvQ2xpY2tJZGxlQ2FsbGJhY2soRm9ybUNsaWVudFRlc3QqIHRlc3QpCisgICAgeworICAgICAg
ICB0ZXN0LT5jbGlja01vdXNlQnV0dG9uKHRlc3QtPm1fc3VibWl0UG9zaXRpb25YLCB0ZXN0LT5t
X3N1Ym1pdFBvc2l0aW9uWSwgMSk7CisgICAgICAgIHJldHVybiBGQUxTRTsKKyAgICB9CisKKyAg
ICB2b2lkIHN1Ym1pdEZvcm1BdFBvc2l0aW9uKGludCB4LCBpbnQgeSkKKyAgICB7CisgICAgICAg
IG1fc3VibWl0UG9zaXRpb25YID0geDsKKyAgICAgICAgbV9zdWJtaXRQb3NpdGlvblkgPSB5Owor
ICAgICAgICBnX2lkbGVfYWRkKHJlaW50ZXJwcmV0X2Nhc3Q8R1NvdXJjZUZ1bmM+KGRvQ2xpY2tJ
ZGxlQ2FsbGJhY2spLCB0aGlzKTsKKyAgICB9CisKKyAgICBpbnQgbV9zdWJtaXRQb3NpdGlvblg7
CisgICAgaW50IG1fc3VibWl0UG9zaXRpb25ZOworICAgIEdSZWZQdHI8V2ViS2l0Rm9ybVN1Ym1p
c3Npb25SZXF1ZXN0PiBtX3JlcXVlc3Q7Cit9OworCitzdGF0aWMgdm9pZCB0ZXN0V2ViVmlld1N1
Ym1pdEZvcm0oRm9ybUNsaWVudFRlc3QqIHRlc3QsIGdjb25zdHBvaW50ZXIpCit7CisgICAgdGVz
dC0+c2hvd0luV2luZG93QW5kV2FpdFVudGlsTWFwcGVkKCk7CisKKyAgICBjb25zdCBjaGFyKiBm
b3JtSFRNTCA9CisgICAgICAgICI8aHRtbD48Ym9keT4iCisgICAgICAgICIgPGZvcm0gYWN0aW9u
PScjJz4iCisgICAgICAgICIgIDxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSd0ZXh0MScgdmFsdWU9
J3ZhbHVlMSc+IgorICAgICAgICAiICA8aW5wdXQgdHlwZT0ndGV4dCcgbmFtZT0ndGV4dDInIHZh
bHVlPSd2YWx1ZTInPiIKKyAgICAgICAgIiAgPGlucHV0IHR5cGU9J3Bhc3N3b3JkJyBuYW1lPSdw
YXNzd29yZCcgdmFsdWU9J3NlY3JldCc+IgorICAgICAgICAiICA8dGV4dGFyZWEgY29scz0nNScg
cm93cz0nNScgbmFtZT0ndGV4dGFyZWEnPlRleHQ8L3RleHRhcmVhPiIKKyAgICAgICAgIiAgPGlu
cHV0IHR5cGU9J2hpZGRlbicgbmFtZT0naGlkZGVuMScgdmFsdWU9J2hpZGRlbjEnPiIKKyAgICAg
ICAgIiAgPGlucHV0IHR5cGU9J3N1Ym1pdCcgdmFsdWU9J1N1Ym1pdCcgc3R5bGU9J3Bvc2l0aW9u
OmFic29sdXRlOyBsZWZ0OjE7IHRvcDoxJyBzaXplPScxMCc+IgorICAgICAgICAiIDwvZm9ybT4i
CisgICAgICAgICI8L2JvZHk+PC9odG1sPiI7CisKKyAgICB0ZXN0LT5sb2FkSHRtbChmb3JtSFRN
TCwgImZpbGU6Ly8vIik7CisgICAgdGVzdC0+d2FpdFVudGlsTG9hZEZpbmlzaGVkKCk7CisKKyAg
ICB0ZXN0LT5zdWJtaXRGb3JtQXRQb3NpdGlvbig1LCA1KTsKKyAgICBHSGFzaFRhYmxlKiB2YWx1
ZXMgPSB0ZXN0LT53YWl0VW50aWxGb3JtU3VibWl0dGVkQW5kR2V0VGV4dEZpZWxkcygpOworICAg
IGdfYXNzZXJ0KHZhbHVlcyk7CisgICAgZ19hc3NlcnRfY21wdWludChnX2hhc2hfdGFibGVfc2l6
ZSh2YWx1ZXMpLCA9PSwgMyk7CisgICAgZ19hc3NlcnRfY21wc3RyKHN0YXRpY19jYXN0PGNoYXIq
PihnX2hhc2hfdGFibGVfbG9va3VwKHZhbHVlcywgInRleHQxIikpLCA9PSwgInZhbHVlMSIpOwor
ICAgIGdfYXNzZXJ0X2NtcHN0cihzdGF0aWNfY2FzdDxjaGFyKj4oZ19oYXNoX3RhYmxlX2xvb2t1
cCh2YWx1ZXMsICJ0ZXh0MiIpKSwgPT0sICJ2YWx1ZTIiKTsKKyAgICBnX2Fzc2VydF9jbXBzdHIo
c3RhdGljX2Nhc3Q8Y2hhcio+KGdfaGFzaF90YWJsZV9sb29rdXAodmFsdWVzLCAicGFzc3dvcmQi
KSksID09LCAic2VjcmV0Iik7Cit9CisKIHZvaWQgYmVmb3JlQWxsKCkKIHsKICAgICBXZWJWaWV3
VGVzdDo6YWRkKCJXZWJLaXRXZWJWaWV3IiwgImRlZmF1bHQtY29udGV4dCIsIHRlc3RXZWJWaWV3
RGVmYXVsdENvbnRleHQpOwpAQCAtODgzLDYgKzk2NCw3IEBAIHZvaWQgYmVmb3JlQWxsKCkKICAg
ICBGaWxlQ2hvb3NlclRlc3Q6OmFkZCgiV2ViS2l0V2ViVmlldyIsICJmaWxlLWNob29zZXItcmVx
dWVzdCIsIHRlc3RXZWJWaWV3RmlsZUNob29zZXJSZXF1ZXN0KTsKICAgICBGdWxsU2NyZWVuQ2xp
ZW50VGVzdDo6YWRkKCJXZWJLaXRXZWJWaWV3IiwgImZ1bGxzY3JlZW4iLCB0ZXN0V2ViVmlld0Z1
bGxTY3JlZW4pOwogICAgIFdlYlZpZXdUZXN0OjphZGQoIldlYktpdFdlYlZpZXciLCAiY2FuLXNo
b3ctbWltZS10eXBlIiwgdGVzdFdlYlZpZXdDYW5TaG93TUlNRVR5cGUpOworICAgIEZvcm1DbGll
bnRUZXN0OjphZGQoIldlYktpdFdlYlZpZXciLCAic3VibWl0LWZvcm0iLCB0ZXN0V2ViVmlld1N1
Ym1pdEZvcm0pOwogfQogCiB2b2lkIGFmdGVyQWxsKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3dlYmtpdDIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL3dlYmtpdDIuaAppbmRleCA1OGFjMmI3Li4xMTZkYWZjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay93ZWJraXQyLmgKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvd2Via2l0Mi5oCkBAIC0zNiw2ICszNiw3IEBACiAjaW5j
bHVkZSA8d2Via2l0Mi9XZWJLaXRFcnJvci5oPgogI2luY2x1ZGUgPHdlYmtpdDIvV2ViS2l0Rmls
ZUNob29zZXJSZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8d2Via2l0Mi9XZWJLaXRGaW5kQ29udHJvbGxl
ci5oPgorI2luY2x1ZGUgPHdlYmtpdDIvV2ViS2l0Rm9ybVN1Ym1pc3Npb25SZXF1ZXN0Lmg+CiAj
aW5jbHVkZSA8d2Via2l0Mi9XZWJLaXRHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0Lmg+CiAj
aW5jbHVkZSA8d2Via2l0Mi9XZWJLaXRIaXRUZXN0UmVzdWx0Lmg+CiAjaW5jbHVkZSA8d2Via2l0
Mi9XZWJLaXRKYXZhc2NyaXB0UmVzdWx0Lmg+Cg==
</data>
<flag name="review"
          id="161793"
          type_id="1"
          status="+"
          setter="gustavo"
    />
          </attachment>
      

    </bug>

</bugzilla>