<?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>132519</bug_id>
          
          <creation_ts>2014-05-02 22:45:55 -0700</creation_ts>
          <short_desc>[EFL][WK2] Refactor favicon database APIs</short_desc>
          <delta_ts>2014-05-05 01:09:11 -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>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryuan Choi">ryuan.choi</reporter>
          <assigned_to name="Ryuan Choi">ryuan.choi</assigned_to>
          <cc>bunhere</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1006309</commentid>
    <comment_count>0</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2014-05-02 22:45:55 -0700</bug_when>
    <thetext>There are two ways to get favicon database.

The first option is ewk_view_favicon_get with favicon,changed signal.
It always register the callback internally although applications does not want to use it.

The other option is ewk_favicon_database_icon_get with ewk_favicon_database_icon_change_callback_add API.
But callback don&apos;t know which icondatabase calls icon chages.

I will remove first option and improve ewk_favicon_database_icon_change_callback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006316</commentid>
    <comment_count>1</comment_count>
      <attachid>230746</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2014-05-02 22:56:43 -0700</bug_when>
    <thetext>Created attachment 230746
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006318</commentid>
    <comment_count>2</comment_count>
      <attachid>230746</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-05-02 23:22:50 -0700</bug_when>
    <thetext>Comment on attachment 230746
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=230746&amp;action=review

&gt; Source/WebKit2/ChangeLog:11
&gt; +        It&apos;s simple to use but it always adds the callback to EwkView although applications does not use favicon.

I agree that we don&apos;t need to support two options to get favicon data. However, I don&apos;t think first option has big overhead to add favicon callback in application side. Anyway, I don&apos;t have pros to keep first way. So, r+ed.

&gt; Tools/ChangeLog:8
&gt; +        * MiniBrowser/efl/main.c: Use ewk_view_favicon_get instead of ewk_view_favicon_get.

Use ewk_view_favicon_get instead of ewk_view_favicon_get. =&gt; Use ewk_favicon_database_icon_get instead of ewk_view_favicon_get. ?

&gt; Tools/MiniBrowser/efl/main.c:327
&gt; +    Evas_Object* favicon = ewk_favicon_database_icon_get(database, url, evas_object_evas_get(ewk_view));

Looks wrong * place in Evas_Object* favicon</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006574</commentid>
    <comment_count>3</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2014-05-05 01:09:11 -0700</bug_when>
    <thetext>Committed r168265: &lt;http://trac.webkit.org/changeset/168265&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230746</attachid>
            <date>2014-05-02 22:56:43 -0700</date>
            <delta_ts>2014-05-02 23:22:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132519-20140503145619.patch</filename>
            <type>text/plain</type>
            <size>24919</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY4MjE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYmEyMzRkMmJiMTVkNDgw
MWNkMmY5OTg1ZTY4N2E4ZDZlNjhkNGIzYS4uNGNkMGM4ZmQ0Yzg1NDg0ZTRmZTliZjM5M2RiOTI2
YjUyOGZjYjJjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE0LTA1LTAyICBSeXVh
biBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIFJl
ZmFjdG9yIGZhdmljb24gZGF0YWJhc2UgQVBJcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMyNTE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgZXdlYmtpdDIgaGFzIHR3byBvcHRpb25zIHRvIGdldCBmYXZp
Y29uLgorCisgICAgICAgIFRoZSBmaXJzdCBvcHRpb24gaXMgZXdrX3ZpZXdfZmF2aWNvbl9nZXQg
d2l0aCAiZmF2aWNvbixjaGFuZ2VkIiBzaWduYWwuCisgICAgICAgIEl0J3Mgc2ltcGxlIHRvIHVz
ZSBidXQgaXQgYWx3YXlzIGFkZHMgdGhlIGNhbGxiYWNrIHRvIEV3a1ZpZXcgYWx0aG91Z2ggYXBw
bGljYXRpb25zIGRvZXMgbm90IHVzZSBmYXZpY29uLgorCisgICAgICAgIFRoZSBvdGhlciBvcHRp
b24gaXMgZXdrX2Zhdmljb25fZGF0YWJhc2VfaWNvbl9nZXQgd2l0aCBld2tfZmF2aWNvbl9kYXRh
YmFzZV9pY29uX2NoYW5nZV9jYWxsYmFja19hZGQgQVBJLgorICAgICAgICBCdXQgdGhlIGNhbGxi
YWNrIGRvZXNuJ3QgaGF2ZSBpbmZvcm1hdGlvbiBhYm91dCBFd2tfRmF2aWNvbl9EYXRhYmFzZSB0
byBjYWxsIGV3a19mYXZpY29uX2RhdGFiYXNlX2ljb25fZ2V0LgorCisgICAgICAgIFRoaXMgcGF0
Y2ggcmVtb3ZlZCBld2tfdmlld19mYXZpY29uX2dldCBhbmQgImZhdmljb24sY2hhbmdlZCIgc2ln
bmFsLgorICAgICAgICBJbiBhZGRpdGlvbiwgaW1wcm92ZWQgZXdrX2Zhdmljb25fZGF0YWJhc2Vf
aWNvbl9jaGFuZ2VfY2FsbGJhY2suCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9Fd2tW
aWV3LmNwcDogUmVtb3ZlIGV3a19mYXZpY29uX2RhdGFiYXNlIHJlbGF0ZWQgY29kZS4KKyAgICAg
ICAgKEV3a1ZpZXc6OkV3a1ZpZXcpOgorICAgICAgICAoRXdrVmlldzo6fkV3a1ZpZXcpOgorICAg
ICAgICAoRXdrVmlldzo6aW5mb3JtVVJMQ2hhbmdlKToKKyAgICAgICAgKEV3a1ZpZXc6OmhhbmRs
ZUZhdmljb25DaGFuZ2VkKToKKyAgICAgICAgKEV3a1ZpZXc6OmNyZWF0ZUZhdmljb24pOiBEZWxl
dGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXdDYWxsYmFja3MuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfZmF2aWNvbl9kYXRhYmFzZS5jcHA6CisgICAg
ICAgIChFd2tGYXZpY29uRGF0YWJhc2U6Omljb25EYXRhUmVhZHlGb3JQYWdlVVJMKToKKyAgICAg
ICAgKEV3a0Zhdmljb25EYXRhYmFzZTo6ZGlkQ2hhbmdlSWNvbkZvclBhZ2VVUkwpOiBEZWxldGVk
LiBkZWFkIGNvZGUuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Zhdmljb25fZGF0
YWJhc2UuaDoKKyAgICAgICAgUmVmYWN0b3IgRXdrX0Zhdmljb25fRGF0YWJhc2VfSWNvbl9DaGFu
Z2VfQ2IgYW5kIGltcHJvdmUgZG94eWdlbi4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9l
d2tfZmF2aWNvbl9kYXRhYmFzZV9wcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX3ZpZXcuY3BwOgorICAgICAgICAoZXdrX3ZpZXdfZmF2aWNvbl9nZXQpOiBEZWxldGVk
LgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3Lmg6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX2Zhdmljb25fZGF0YWJhc2UuY3BwOgorICAg
ICAgICAoRVdLMkZhdmljb25EYXRhYmFzZVRlc3Q6OnJlcXVlc3RGYXZpY29uRGF0YSk6CisgICAg
ICAgIChURVNUX0YpOgorCiAyMDE0LTA1LTAyICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5j
b20+CiAKICAgICAgICAgW0NvY29hXSBSZW1vdmUgdW51c2VkIFdLRXJyb3JSZWNvdmVyeUF0dGVt
cHRpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1Zp
ZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAKaW5k
ZXggOTU0YTk2OTYwYTRhNTRiZmY3MzgxMGY2ZDRiYmM5ZWRhYzFlOGUwYi4uYmJiYWQxMGM1Yzg2
ODRiZTk2YmM1OGZiM2M4ODE2N2M1YjZmNzA1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAKQEAgLTU2LDcgKzU2LDYgQEAKICNpbmNsdWRlICJld2tf
Y29udGV4dF9tZW51X2l0ZW1fcHJpdmF0ZS5oIgogI2luY2x1ZGUgImV3a19jb250ZXh0X21lbnVf
cHJpdmF0ZS5oIgogI2luY2x1ZGUgImV3a19jb250ZXh0X3ByaXZhdGUuaCIKLSNpbmNsdWRlICJl
d2tfZmF2aWNvbl9kYXRhYmFzZV9wcml2YXRlLmgiCiAjaW5jbHVkZSAiZXdrX3BhZ2VfZ3JvdXBf
cHJpdmF0ZS5oIgogI2luY2x1ZGUgImV3a19wb3B1cF9tZW51X2l0ZW1fcHJpdmF0ZS5oIgogI2lu
Y2x1ZGUgImV3a19wb3B1cF9tZW51X3ByaXZhdGUuaCIKQEAgLTMyNywyNCArMzI2LDEyIEBAIEV3
a1ZpZXc6OkV3a1ZpZXcoV0tWaWV3UmVmIHZpZXcsIEV2YXNfT2JqZWN0KiBldmFzT2JqZWN0KQog
ICAgIC8vIEVuYWJsZSBtb3VzZSBldmVudHMgYnkgZGVmYXVsdAogICAgIHNldE1vdXNlRXZlbnRz
RW5hYmxlZCh0cnVlKTsKIAotICAgIC8vIExpc3RlbiBmb3IgZmF2aWNvbiBjaGFuZ2VzLgotICAg
IEV3a0Zhdmljb25EYXRhYmFzZSogaWNvbkRhdGFiYXNlID0gbV9jb250ZXh0LT5mYXZpY29uRGF0
YWJhc2UoKTsKLSAgICBBU1NFUlQoaWNvbkRhdGFiYXNlKTsKLQotICAgIGljb25EYXRhYmFzZS0+
d2F0Y2hDaGFuZ2VzKEljb25DaGFuZ2VDYWxsYmFja0RhdGEoRXdrVmlldzo6aGFuZGxlRmF2aWNv
bkNoYW5nZWQsIHRoaXMpKTsKLQogICAgIFdLUGFnZVRvRXZhc09iamVjdE1hcDo6QWRkUmVzdWx0
IHJlc3VsdCA9IHdrUGFnZVRvRXZhc09iamVjdE1hcCgpLmFkZCh3a1BhZ2UoKSwgbV9ldmFzT2Jq
ZWN0KTsKICAgICBBU1NFUlRfVU5VU0VEKHJlc3VsdCwgcmVzdWx0LmlzTmV3RW50cnkpOwogfQog
CiBFd2tWaWV3Ojp+RXdrVmlldygpCiB7Ci0gICAgLy8gVW5yZWdpc3RlciBpY29uIGNoYW5nZSBj
YWxsYmFjay4KLSAgICBFd2tGYXZpY29uRGF0YWJhc2UqIGljb25EYXRhYmFzZSA9IG1fY29udGV4
dC0+ZmF2aWNvbkRhdGFiYXNlKCk7Ci0gICAgQVNTRVJUKGljb25EYXRhYmFzZSk7Ci0KLSAgICBp
Y29uRGF0YWJhc2UtPnVud2F0Y2hDaGFuZ2VzKEV3a1ZpZXc6OmhhbmRsZUZhdmljb25DaGFuZ2Vk
KTsKLQogICAgIEFTU0VSVCh3a1BhZ2VUb0V2YXNPYmplY3RNYXAoKS5nZXQod2tQYWdlKCkpID09
IG1fZXZhc09iamVjdCk7CiAgICAgd2tQYWdlVG9FdmFzT2JqZWN0TWFwKCkucmVtb3ZlKHdrUGFn
ZSgpKTsKIH0KQEAgLTEwNzEsMTcgKzEwNTgsNiBAQCB2b2lkIEV3a1ZpZXc6OmluZm9ybVVSTENo
YW5nZSgpCiAKICAgICBtX3VybCA9IFdLRWluYVNoYXJlZFN0cmluZyh3a1VSTFN0cmluZy5nZXQo
KSk7CiAgICAgc21hcnRDYWxsYmFjazxVUkxDaGFuZ2VkPigpLmNhbGwobV91cmwpOwotCi0gICAg
Ly8gVXBkYXRlIHRoZSB2aWV3J3MgZmF2aWNvbi4KLSAgICBzbWFydENhbGxiYWNrPEZhdmljb25D
aGFuZ2VkPigpLmNhbGwoKTsKLX0KLQotRXZhc19PYmplY3QqIEV3a1ZpZXc6OmNyZWF0ZUZhdmlj
b24oKSBjb25zdAotewotICAgIEV3a0Zhdmljb25EYXRhYmFzZSogaWNvbkRhdGFiYXNlID0gbV9j
b250ZXh0LT5mYXZpY29uRGF0YWJhc2UoKTsKLSAgICBBU1NFUlQoaWNvbkRhdGFiYXNlKTsKLQot
ICAgIHJldHVybiBld2tfZmF2aWNvbl9kYXRhYmFzZV9pY29uX2dldChpY29uRGF0YWJhc2UsIG1f
dXJsLCBzbWFydERhdGEoKS0+YmFzZS5ldmFzKTsKIH0KIAogRXdrV2luZG93RmVhdHVyZXMqIEV3
a1ZpZXc6OndpbmRvd0ZlYXR1cmVzKCkKQEAgLTEzNzgsOCArMTM1NCw2IEBAIHZvaWQgRXdrVmll
dzo6aGFuZGxlRmF2aWNvbkNoYW5nZWQoY29uc3QgY2hhciogcGFnZVVSTCwgdm9pZCogZXZlbnRJ
bmZvKQogCiAgICAgaWYgKCF2aWV3LT51cmwoKSB8fCBzdHJjYXNlY21wKHZpZXctPnVybCgpLCBw
YWdlVVJMKSkKICAgICAgICAgcmV0dXJuOwotCi0gICAgdmlldy0+c21hcnRDYWxsYmFjazxGYXZp
Y29uQ2hhbmdlZD4oKS5jYWxsKCk7CiB9CiAKIFBhc3NSZWZQdHI8Y2Fpcm9fc3VyZmFjZV90PiBF
d2tWaWV3Ojp0YWtlU25hcHNob3QoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvRXdrVmlldy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
RXdrVmlldy5oCmluZGV4IDdkZGU0YzM1ODMwOWE1MzhmZTJhZjU3YmFhNDVhM2IzZWMwM2ViMGYu
LjE2YmUyODJlMzljOTYxNTZiMmI2NGM2YzQ1NmVmMjI1NzNkNWVhMzggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmgKQEAgLTExMSw3ICsxMTEsNiBAQCBwdWJs
aWM6CiAgICAgV2ViQ29yZTo6QWZmaW5lVHJhbnNmb3JtIHRyYW5zZm9ybVRvU2NyZWVuKCkgY29u
c3Q7CiAKICAgICBjb25zdCBjaGFyKiB1cmwoKSBjb25zdCB7IHJldHVybiBtX3VybDsgfQotICAg
IEV2YXNfT2JqZWN0KiBjcmVhdGVGYXZpY29uKCkgY29uc3Q7CiAgICAgY29uc3QgY2hhciogdGl0
bGUoKSBjb25zdDsKICAgICBXZWJLaXQ6OklucHV0TWV0aG9kQ29udGV4dEVmbCogaW5wdXRNZXRo
b2RDb250ZXh0KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL0V3a1ZpZXdDYWxsYmFja3MuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L0V3a1ZpZXdDYWxsYmFja3MuaAppbmRleCA0ZjA5YWI4YTdmMzllZDkxM2M5NGQwZTAwZDIyYzQy
MzE3NmMzMWZlLi44NDBlNWNkZjhmMzRhMTI3ZGM1OWM1OWJmNjdkMjQ5NmUzNTNlZDE1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3Q2FsbGJhY2tz
LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlld0NhbGxiYWNr
cy5oCkBAIC01Myw3ICs1Myw2IEBAIGVudW0gQ2FsbGJhY2tUeXBlIHsKICAgICBEb3dubG9hZEpv
YlJlcXVlc3RlZCwKICAgICBGaWxlQ2hvb3NlclJlcXVlc3QsCiAgICAgTmV3Rm9ybVN1Ym1pc3Np
b25SZXF1ZXN0LAotICAgIEZhdmljb25DaGFuZ2VkLAogICAgIExvYWRFcnJvciwKICAgICBMb2Fk
RmluaXNoZWQsCiAgICAgTG9hZFByb2dyZXNzLApAQCAtMTYzLDcgKzE2Miw2IEBAIERFQ0xBUkVf
RVdLX1ZJRVdfQ0FMTEJBQ0soRG93bmxvYWRKb2JGaW5pc2hlZCwgImRvd25sb2FkLGZpbmlzaGVk
IiwgRXdrX0Rvd25sb2FkCiBERUNMQVJFX0VXS19WSUVXX0NBTExCQUNLKERvd25sb2FkSm9iUmVx
dWVzdGVkLCAiZG93bmxvYWQscmVxdWVzdCIsIEV3a19Eb3dubG9hZF9Kb2IqKTsKIERFQ0xBUkVf
RVdLX1ZJRVdfQ0FMTEJBQ0soRmlsZUNob29zZXJSZXF1ZXN0LCAiZmlsZSxjaG9vc2VyLHJlcXVl
c3QiLCBFd2tfRmlsZV9DaG9vc2VyX1JlcXVlc3QqKTsKIERFQ0xBUkVfRVdLX1ZJRVdfQ0FMTEJB
Q0soTmV3Rm9ybVN1Ym1pc3Npb25SZXF1ZXN0LCAiZm9ybSxzdWJtaXNzaW9uLHJlcXVlc3QiLCBF
d2tfRm9ybV9TdWJtaXNzaW9uX1JlcXVlc3QqKTsKLURFQ0xBUkVfRVdLX1ZJRVdfQ0FMTEJBQ0so
RmF2aWNvbkNoYW5nZWQsICJmYXZpY29uLGNoYW5nZWQiLCB2b2lkKTsKIERFQ0xBUkVfRVdLX1ZJ
RVdfQ0FMTEJBQ0soTG9hZEVycm9yLCAibG9hZCxlcnJvciIsIEV3a19FcnJvciopOwogREVDTEFS
RV9FV0tfVklFV19DQUxMQkFDSyhMb2FkRmluaXNoZWQsICJsb2FkLGZpbmlzaGVkIiwgdm9pZCk7
CiBERUNMQVJFX0VXS19WSUVXX0NBTExCQUNLKExvYWRQcm9ncmVzcywgImxvYWQscHJvZ3Jlc3Mi
LCBkb3VibGUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L2V3a19mYXZpY29uX2RhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19mYXZpY29uX2RhdGFiYXNlLmNwcAppbmRleCA2ZGFhYmUxNWJhM2ZhZDI4ZGU1MDY2
NGJjNTg1ZmJiMTQ4OTQ5MzAxLi5kMTczOGE1OTg2MDljOTFmYzQxNjQ2MGUzYzgxYTJmZGI5NGYw
MTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZmF2
aWNvbl9kYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
ZXdrX2Zhdmljb25fZGF0YWJhc2UuY3BwCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdo
dCAoQykgMjAxMiBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENv
cHlyaWdodCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTQgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNzAsMjEg
KzcwLDYgQEAgdm9pZCBFd2tGYXZpY29uRGF0YWJhc2U6OnVud2F0Y2hDaGFuZ2VzKEV3a19GYXZp
Y29uX0RhdGFiYXNlX0ljb25fQ2hhbmdlX0NiIGNhbGwKICAgICBtX2NoYW5nZUxpc3RlbmVycy5y
ZW1vdmUoY2FsbGJhY2spOwogfQogCi12b2lkIEV3a0Zhdmljb25EYXRhYmFzZTo6ZGlkQ2hhbmdl
SWNvbkZvclBhZ2VVUkwoV0tJY29uRGF0YWJhc2VSZWYsIFdLVVJMUmVmIHBhZ2VVUkxSZWYsIGNv
bnN0IHZvaWQqIGNsaWVudEluZm8pCi17Ci0gICAgY29uc3QgRXdrRmF2aWNvbkRhdGFiYXNlKiBl
d2tJY29uRGF0YWJhc2UgPSBzdGF0aWNfY2FzdDxjb25zdCBFd2tGYXZpY29uRGF0YWJhc2UqPihj
bGllbnRJbmZvKTsKLQotICAgIGlmIChld2tJY29uRGF0YWJhc2UtPm1fY2hhbmdlTGlzdGVuZXJz
LmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgQ1N0cmluZyBwYWdlVVJMID0gdG9X
VEZTdHJpbmcocGFnZVVSTFJlZikudXRmOCgpOwotCi0gICAgQ2hhbmdlTGlzdGVuZXJNYXA6OmNv
bnN0X2l0ZXJhdG9yIGl0ID0gZXdrSWNvbkRhdGFiYXNlLT5tX2NoYW5nZUxpc3RlbmVycy5iZWdp
bigpOwotICAgIENoYW5nZUxpc3RlbmVyTWFwOjpjb25zdF9pdGVyYXRvciBlbmQgPSBld2tJY29u
RGF0YWJhc2UtPm1fY2hhbmdlTGlzdGVuZXJzLmVuZCgpOwotICAgIGZvciAoOyBpdCAhPSBlbmQ7
ICsraXQpCi0gICAgICAgIGl0LT52YWx1ZS5jYWxsYmFjayhwYWdlVVJMLmRhdGEoKSwgaXQtPnZh
bHVlLnVzZXJEYXRhKTsKLX0KLQogUGFzc1JlZlB0cjxjYWlyb19zdXJmYWNlX3Q+IEV3a0Zhdmlj
b25EYXRhYmFzZTo6Z2V0SWNvblN1cmZhY2VTeW5jaHJvbm91c2x5KGNvbnN0IGNoYXIqIHBhZ2VV
UkwpIGNvbnN0CiB7CiAgICAgV0tSZXRhaW5QdHI8V0tVUkxSZWY+IHdrUGFnZVVSTChBZG9wdFdL
LCBXS1VSTENyZWF0ZVdpdGhVVEY4Q1N0cmluZyhwYWdlVVJMKSk7CkBAIC0xMDMsMTAgKzg4LDgg
QEAgdm9pZCBFd2tGYXZpY29uRGF0YWJhc2U6Omljb25EYXRhUmVhZHlGb3JQYWdlVVJMKFdLSWNv
bkRhdGFiYXNlUmVmLCBXS1VSTFJlZiBwYWcKICAgICBXS0ljb25EYXRhYmFzZVJldGFpbkljb25G
b3JVUkwoZXdrSWNvbkRhdGFiYXNlLT5tX2ljb25EYXRhYmFzZS5nZXQoKSwgcGFnZVVSTCk7CiAK
ICAgICBDU3RyaW5nIHVybFN0cmluZyA9IHRvV1RGU3RyaW5nKHBhZ2VVUkwpLnV0ZjgoKTsKLSAg
ICBDaGFuZ2VMaXN0ZW5lck1hcDo6Y29uc3RfaXRlcmF0b3IgaXQgPSBld2tJY29uRGF0YWJhc2Ut
Pm1fY2hhbmdlTGlzdGVuZXJzLmJlZ2luKCk7Ci0gICAgQ2hhbmdlTGlzdGVuZXJNYXA6OmNvbnN0
X2l0ZXJhdG9yIGVuZCA9IGV3a0ljb25EYXRhYmFzZS0+bV9jaGFuZ2VMaXN0ZW5lcnMuZW5kKCk7
Ci0gICAgZm9yICg7IGl0ICE9IGVuZDsgKytpdCkKLSAgICAgICAgaXQtPnZhbHVlLmNhbGxiYWNr
KHVybFN0cmluZy5kYXRhKCksIGl0LT52YWx1ZS51c2VyRGF0YSk7CisgICAgZm9yIChhdXRvJiBp
dCA6IGV3a0ljb25EYXRhYmFzZS0+bV9jaGFuZ2VMaXN0ZW5lcnMpCisgICAgICAgIGl0LnZhbHVl
LmNhbGxiYWNrKGV3a0ljb25EYXRhYmFzZSwgdXJsU3RyaW5nLmRhdGEoKSwgaXQudmFsdWUudXNl
ckRhdGEpOwogfQogCiBFdmFzX09iamVjdCogZXdrX2Zhdmljb25fZGF0YWJhc2VfaWNvbl9nZXQo
RXdrX0Zhdmljb25fRGF0YWJhc2UqIGV3a0ljb25EYXRhYmFzZSwgY29uc3QgY2hhciogcGFnZVVS
TCwgRXZhcyogZXZhcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19mYXZpY29uX2RhdGFiYXNlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfZmF2aWNvbl9kYXRhYmFzZS5oCmluZGV4IGQ1Y2VmZDJlNGI1MjkxZmU1NTI1YjA2
ODI0NDFhZDIyMTYzY2JkMWUuLjNjOWNiMGQ3MmQyZjMzNDRkNmQ1MTRjZmY4NDQ5NmE4YjJiZjQz
YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19mYXZp
Y29uX2RhdGFiYXNlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X2Zhdmljb25fZGF0YWJhc2UuaApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMp
IDIwMTIgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTMgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxMy0yMDE0IFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQ1LDE5ICs0NSwy
NCBAQCB0eXBlZGVmIHN0cnVjdCBFd2tGYXZpY29uRGF0YWJhc2UgRXdrX0Zhdmljb25fRGF0YWJh
c2U7CiAgKiBAdHlwZWRlZiBFd2tfRmF2aWNvbl9EYXRhYmFzZV9JY29uX0NoYW5nZV9DYiBFd2tf
RmF2aWNvbl9EYXRhYmFzZV9JY29uX0NoYW5nZV9DYgogICogQGJyaWVmIENhbGxiYWNrIHR5cGUg
Zm9yIHVzZSB3aXRoIGV3a19mYXZpY29uX2RhdGFiYXNlX2ljb25fY2hhbmdlX2NhbGxiYWNrX2Fk
ZCBhbmQgZXdrX2Zhdmljb25fZGF0YWJhc2VfaWNvbl9jaGFuZ2VfY2FsbGJhY2tfZGVsCiAgKi8K
LXR5cGVkZWYgdm9pZCAoKkV3a19GYXZpY29uX0RhdGFiYXNlX0ljb25fQ2hhbmdlX0NiKShjb25z
dCBjaGFyICpwYWdlX3VybCwgdm9pZCAqZXZlbnRfaW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpFd2tf
RmF2aWNvbl9EYXRhYmFzZV9JY29uX0NoYW5nZV9DYikoRXdrX0Zhdmljb25fRGF0YWJhc2UgKmRh
dGFiYXNlLCBjb25zdCBjaGFyICp1cmwsIHZvaWQgKmRhdGEpOwogCiAvKioKLSAqIFJldHJpZXZl
cyBmcm9tIHRoZSBkYXRhYmFzZSB0aGUgZmF2aWNvbiBmb3IgdGhlIGdpdmVuIEBhIHBhZ2VfdXJs
CisgKiBSZXRyaWV2ZXMgZnJvbSB0aGUgZGF0YWJhc2UgdGhlIGZhdmljb24gZm9yIHRoZSBnaXZl
biBAYSB1cmwKICAqCiAgKiBAcGFyYW0gZGF0YWJhc2UgZGF0YWJhc2Ugb2JqZWN0IHRvIHF1ZXJ5
Ci0gKiBAcGFyYW0gcGFnZV91cmwgVVJMIG9mIHRoZSBwYWdlIHRvIGdldCB0aGUgZmF2aWNvbiBm
b3IKKyAqIEBwYXJhbSB1cmwgVVJMIG9mIHRoZSBwYWdlIHRvIGdldCB0aGUgZmF2aWNvbiBmb3IK
ICAqIEBwYXJhbSBldmFzIFRoZSBjYW52YXMgdG8gYWRkIHRoZSBmYXZpY29uIHRvCiAgKgogICog
QHJldHVybiBUaGUgZmF2aWNvbiBhcyBhbiBFdmFzX09iamVjdCBpZiBzdWNjZXNzZnVsLCBAYyBO
VUxMIG90aGVyd2lzZS4KICAqIFRoZSByZXR1cm5lZCBFdmFzX09iamVjdCBuZWVkcyB0byBiZSBm
cmVlZCBhZnRlciB1c2UuCisgKgorICogQG5vdGUgSW4gb3JkZXIgdG8gZW5hYmxlIHRoZSBmYXZp
Y29ucyBkYXRhYmFzZSwgZXdrX2NvbnRleHRfZmF2aWNvbl9kYXRhYmFzZV9kaXJlY3Rfc2V0IG11
c3QgYmUgY2FsbGVkLgorICoKKyAqIEBzZWUgZXdrX2NvbnRleHRfZmF2aWNvbl9kYXRhYmFzZV9k
aXJlY3Rvcnlfc2V0CisgKiBAc2VlIGV3a19jb250ZXh0X2Zhdmljb25fZGF0YWJhc2VfZ2V0CiAg
Ki8KLUVBUEkgRXZhc19PYmplY3QgKmV3a19mYXZpY29uX2RhdGFiYXNlX2ljb25fZ2V0KEV3a19G
YXZpY29uX0RhdGFiYXNlICpkYXRhYmFzZSwgY29uc3QgY2hhciAqcGFnZV91cmwsIEV2YXMgKmV2
YXMpOworRUFQSSBFdmFzX09iamVjdCAqZXdrX2Zhdmljb25fZGF0YWJhc2VfaWNvbl9nZXQoRXdr
X0Zhdmljb25fRGF0YWJhc2UgKmRhdGFiYXNlLCBjb25zdCBjaGFyICp1cmwsIEV2YXMgKmV2YXMp
OwogCiAvKioKICAqIEFkZCAocmVnaXN0ZXIpIGEgY2FsbGJhY2sgZnVuY3Rpb24gdG8gYSBpY29u
IGNoYW5nZSBldmVudApAQCAtNjUsNiArNzAsMTEgQEAgRUFQSSBFdmFzX09iamVjdCAqZXdrX2Zh
dmljb25fZGF0YWJhc2VfaWNvbl9nZXQoRXdrX0Zhdmljb25fRGF0YWJhc2UgKmRhdGFiYXNlLAog
ICogQHBhcmFtIGRhdGFiYXNlIGRhdGFiYXNlIG9iamVjdCB0byByZWdpc3RlciB0aGUgY2FsbGJh
Y2sKICAqIEBwYXJhbSBjYWxsYmFjayBjYWxsYmFjayBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hl
biBhbiBpY29uIGNoYW5nZXMKICAqIEBwYXJhbSBkYXRhIHRoZSBkYXRhIHBvaW50ZXIgdGhhdCB3
YXMgdG8gYmUgcGFzc2VkIHRvIHRoZSBjYWxsYmFjaworICoKKyAqIEBub3RlIEluIG9yZGVyIHRv
IGVuYWJsZSB0aGUgZmF2aWNvbnMgZGF0YWJhc2UsIGV3a19jb250ZXh0X2Zhdmljb25fZGF0YWJh
c2VfZGlyZWN0X3NldCBtdXN0IGJlIGNhbGxlZC4KKyAqCisgKiBAc2VlIGV3a19jb250ZXh0X2Zh
dmljb25fZGF0YWJhc2VfZGlyZWN0b3J5X3NldAorICogQHNlZSBld2tfY29udGV4dF9mYXZpY29u
X2RhdGFiYXNlX2dldAogICovCiBFQVBJIHZvaWQgZXdrX2Zhdmljb25fZGF0YWJhc2VfaWNvbl9j
aGFuZ2VfY2FsbGJhY2tfYWRkKEV3a19GYXZpY29uX0RhdGFiYXNlICpkYXRhYmFzZSwgRXdrX0Zh
dmljb25fRGF0YWJhc2VfSWNvbl9DaGFuZ2VfQ2IgY2FsbGJhY2ssIHZvaWQgKmRhdGEpOwogCkBA
IC03Myw2ICs4MywxMCBAQCBFQVBJIHZvaWQgZXdrX2Zhdmljb25fZGF0YWJhc2VfaWNvbl9jaGFu
Z2VfY2FsbGJhY2tfYWRkKEV3a19GYXZpY29uX0RhdGFiYXNlICpkYQogICoKICAqIEBwYXJhbSBk
YXRhYmFzZSBkYXRhYmFzZSBvYmplY3QgdG8gdW5yZWdpc3RlciB0aGUgY2FsbGJhY2suCiAgKiBA
cGFyYW0gY2FsbGJhY2sgY2FsbGJhY2sgZnVuY3Rpb24gdG8gdW5yZWdpc3RlcgorICoKKyAqIEBz
ZWUgZXdrX2Zhdmljb25fZGF0YWJhc2VfaWNvbl9jaGFuZ2VfY2FsbGJhY2tfYWRkCisgKiBAc2Vl
IGV3a19jb250ZXh0X2Zhdmljb25fZGF0YWJhc2VfZGlyZWN0b3J5X3NldAorICogQHNlZSBld2tf
Y29udGV4dF9mYXZpY29uX2RhdGFiYXNlX2dldAogICovCiBFQVBJIHZvaWQgZXdrX2Zhdmljb25f
ZGF0YWJhc2VfaWNvbl9jaGFuZ2VfY2FsbGJhY2tfZGVsKEV3a19GYXZpY29uX0RhdGFiYXNlICpk
YXRhYmFzZSwgRXdrX0Zhdmljb25fRGF0YWJhc2VfSWNvbl9DaGFuZ2VfQ2IgY2FsbGJhY2spOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZmF2aWNv
bl9kYXRhYmFzZV9wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9l
d2tfZmF2aWNvbl9kYXRhYmFzZV9wcml2YXRlLmgKaW5kZXggYjI3ODA3YzZhNGNiZGY2N2JhNDlm
ZjJlNDliZjc1ZTVjYWMxZTJiNy4uNGVmMGVjNDk4Y2I2Yjc5MjYxYmExMDQ3NTczZGI4MjViOGVl
Mjk5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Zh
dmljb25fZGF0YWJhc2VfcHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL2V3a19mYXZpY29uX2RhdGFiYXNlX3ByaXZhdGUuaApAQCAtMSw2ICsxLDYgQEAKIC8q
CiAgKiBDb3B5cmlnaHQgKEMpIDIwMTIgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE0IFNhbXN1bmcgRWxlY3Ry
b25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTI4LDcgKzI4LDYgQEAKICNkZWZpbmUgZXdrX2Zhdmljb25fZGF0YWJhc2VfcHJpdmF0
ZV9oCiAKICNpbmNsdWRlICJXS1JldGFpblB0ci5oIgotI2luY2x1ZGUgImV3a19mYXZpY29uX2Rh
dGFiYXNlLmgiCiAjaW5jbHVkZSA8V2ViS2l0Mi9XS0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvSGFz
aE1hcC5oPgogCkBAIC01OSw3ICs1OCw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHVud2F0Y2hDaGFu
Z2VzKEV3a19GYXZpY29uX0RhdGFiYXNlX0ljb25fQ2hhbmdlX0NiIGNhbGxiYWNrKTsKIAogcHJp
dmF0ZToKLSAgICBzdGF0aWMgdm9pZCBkaWRDaGFuZ2VJY29uRm9yUGFnZVVSTChXS0ljb25EYXRh
YmFzZVJlZiBpY29uRGF0YWJhc2UsIFdLVVJMUmVmIHBhZ2VVUkwsIGNvbnN0IHZvaWQqIGNsaWVu
dEluZm8pOwogICAgIHN0YXRpYyB2b2lkIGljb25EYXRhUmVhZHlGb3JQYWdlVVJMKFdLSWNvbkRh
dGFiYXNlUmVmIGljb25EYXRhYmFzZSwgV0tVUkxSZWYgcGFnZVVSTCwgY29uc3Qgdm9pZCogY2xp
ZW50SW5mbyk7CiAKICAgICBXS1JldGFpblB0cjxXS0ljb25EYXRhYmFzZVJlZj4gbV9pY29uRGF0
YWJhc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tf
dmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAK
aW5kZXggZWZmNjZjMzdkZTlkYzY1MWNiMjE3OTUzYzg2OTZmODBmOGNlYzdjOC4uNWVlODQzZjUy
ZTA4ZTNjZTU3ZWRmODE0OTU0ZTFkMjBkYzQ3Yjc3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcApAQCAtMjUsNyArMjUsNiBAQAogI2luY2x1ZGUg
IkV3a1ZpZXcuaCIKICNpbmNsdWRlICJld2tfYmFja19mb3J3YXJkX2xpc3RfcHJpdmF0ZS5oIgog
I2luY2x1ZGUgImV3a19jb250ZXh0X3ByaXZhdGUuaCIKLSNpbmNsdWRlICJld2tfZmF2aWNvbl9k
YXRhYmFzZV9wcml2YXRlLmgiCiAjaW5jbHVkZSAiZXdrX3BhZ2VfZ3JvdXBfcHJpdmF0ZS5oIgog
I2luY2x1ZGUgImV3a19wcml2YXRlLmgiCiAjaW5jbHVkZSAiZXdrX3NldHRpbmdzX3ByaXZhdGUu
aCIKQEAgLTE1NSwxMyArMTU0LDYgQEAgY29uc3QgY2hhciogZXdrX3ZpZXdfdXJsX2dldChjb25z
dCBFdmFzX09iamVjdCogZXdrVmlldykKICAgICByZXR1cm4gaW1wbC0+dXJsKCk7CiB9CiAKLUV2
YXNfT2JqZWN0KiBld2tfdmlld19mYXZpY29uX2dldChjb25zdCBFdmFzX09iamVjdCogZXdrVmll
dykKLXsKLSAgICBFV0tfVklFV19JTVBMX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgaW1wbCwgbnVs
bHB0cik7Ci0KLSAgICByZXR1cm4gaW1wbC0+Y3JlYXRlRmF2aWNvbigpOwotfQotCiBFaW5hX0Jv
b2wgZXdrX3ZpZXdfcmVsb2FkKEV2YXNfT2JqZWN0KiBld2tWaWV3KQogewogICAgIEVXS19WSUVX
X0lNUExfR0VUX09SX1JFVFVSTihld2tWaWV3LCBpbXBsLCBmYWxzZSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaAppbmRleCBhOWVjNGI3N2VhY2ZhZTQ1YWY2
NDEwMDBlMDFmYWUxOTY0NmNlYTFlLi45OTIxZGRhZDU1MDlmMmIxODAyNzhlYTg1OTliZWRjNWEy
ZDQ3ZDk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tf
dmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmgK
QEAgLTQ4LDggKzQ4LDYgQEAKICAqICAgd2hlbiBkb25lIHRvIGNvbnRpbnVlIHdpdGggdGhlIGZv
cm0gc3VibWlzc2lvbi4gSWYgdGhlIGxhc3QgcmVmZXJlbmNlIGlzIHJlbW92ZWQgb24gYQogICog
ICAjRXdrX0Zvcm1fU3VibWlzc2lvbl9SZXF1ZXN0IGFuZCB0aGUgZm9ybSBoYXMgbm90IGJlZW4g
c3VibWl0dGVkIHlldCwKICAqICAgZXdrX2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0X3N1Ym1pdCgp
IHdpbGwgYmUgY2FsbGVkIGF1dG9tYXRpY2FsbHkuCi0gKiAtICJmYXZpY29uLGNoYW5nZWQiLCB2
b2lkOiByZXBvcnRzIHRoYXQgdGhlIHZpZXcncyBmYXZpY29uIGhhcyBjaGFuZ2VkLgotICogICBU
aGUgZmF2aWNvbiBjYW4gYmUgcXVlcmllZCB1c2luZyBld2tfdmlld19mYXZpY29uX2dldCgpLgog
ICogLSAibG9hZCxlcnJvciIsIGNvbnN0IEV3a19FcnJvcio6IHJlcG9ydHMgbWFpbiBmcmFtZSBs
b2FkIGZhaWxlZC4KICAqIC0gImxvYWQsZmluaXNoZWQiLCB2b2lkOiByZXBvcnRzIGxvYWQgZmlu
aXNoZWQuCiAgKiAtICJsb2FkLHByb2dyZXNzIiwgZG91YmxlKjogbG9hZCBwcm9ncmVzcyBoYXMg
Y2hhbmdlZCAodmFsdWUgZnJvbSAwLjAgdG8gMS4wKS4KQEAgLTM5MywxNiArMzkxLDYgQEAgRUFQ
SSBFaW5hX0Jvb2wgZXdrX3ZpZXdfdXJsX3NldChFdmFzX09iamVjdCAqbywgY29uc3QgY2hhciAq
dXJsKTsKIEVBUEkgY29uc3QgY2hhciAqZXdrX3ZpZXdfdXJsX2dldChjb25zdCBFdmFzX09iamVj
dCAqbyk7CiAKIC8qKgotICogUmV0dXJucyB0aGUgY3VycmVudCBmYXZpY29uIG9mIHZpZXcgb2Jq
ZWN0LgotICoKLSAqIEBwYXJhbSBvIHZpZXcgb2JqZWN0IHRvIGdldCBjdXJyZW50IGljb24gVVJM
Ci0gKgotICogQHJldHVybiBjdXJyZW50IGZhdmljb24gb24gc3VjY2VzcyBvciBAYyBOVUxMIGlm
IHVuYXZhaWxhYmxlIG9yIG9uIGZhaWx1cmUuCi0gKiBUaGUgcmV0dXJuZWQgRXZhc19PYmplY3Qg
bmVlZHMgdG8gYmUgZnJlZWQgYWZ0ZXIgdXNlLgotICovCi1FQVBJIEV2YXNfT2JqZWN0ICpld2tf
dmlld19mYXZpY29uX2dldChjb25zdCBFdmFzX09iamVjdCAqbyk7Ci0KLS8qKgogICogQXNrcyB0
aGUgbWFpbiBmcmFtZSB0byByZWxvYWQgdGhlIGN1cnJlbnQgZG9jdW1lbnQuCiAgKgogICogQHBh
cmFtIG8gdmlldyBvYmplY3QgdG8gcmVsb2FkIGN1cnJlbnQgZG9jdW1lbnQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9mYXZpY29u
X2RhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rl
c3RfZXdrMl9mYXZpY29uX2RhdGFiYXNlLmNwcAppbmRleCBiNjQ5NjAwZTE3ODY5NWJlMDgxOWZk
YmNlOGM0NmI4MDllNDhhMWU4Li4yZDNmMDNlZDllYjgzMjNiNTJkYWIyZGJmOGFkMDA5ZjA4ZDJh
MjdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90
ZXN0X2V3azJfZmF2aWNvbl9kYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX2Zhdmljb25fZGF0YWJhc2UuY3BwCkBAIC04MCwx
NyArODAsMTIgQEAgcHVibGljOgogICAgICAgICBzb3VwX21lc3NhZ2VfYm9keV9jb21wbGV0ZSht
ZXNzYWdlLT5yZXNwb25zZV9ib2R5KTsKICAgICB9CiAKLSAgICBzdGF0aWMgdm9pZCByZXF1ZXN0
RmF2aWNvbkRhdGEodm9pZCogdXNlckRhdGEsIEV2YXNfT2JqZWN0Kiwgdm9pZCogZXZlbnRJbmZv
KQorICAgIHN0YXRpYyB2b2lkIHJlcXVlc3RGYXZpY29uRGF0YShFd2tfRmF2aWNvbl9EYXRhYmFz
ZSAqZmF2aWNvbkRhdGFiYXNlLCBjb25zdCBjaGFyICp1cmwsIHZvaWQgKnVzZXJkYXRhKQogICAg
IHsKLSAgICAgICAgSWNvblJlcXVlc3REYXRhKiBkYXRhID0gc3RhdGljX2Nhc3Q8SWNvblJlcXVl
c3REYXRhKj4odXNlckRhdGEpOwotCi0gICAgICAgIC8vIENoZWNrIHRoZSBBUEkgcmV0cmlldmlu
ZyBhIHZhbGlkIGZhdmljb24gZnJvbSBpY29uIGRhdGFiYXNlLgotICAgICAgICBFd2tfQ29udGV4
dCogY29udGV4dCA9IGV3a192aWV3X2NvbnRleHRfZ2V0KGRhdGEtPnZpZXcpOwotICAgICAgICBF
d2tfRmF2aWNvbl9EYXRhYmFzZSogZmF2aWNvbkRhdGFiYXNlID0gZXdrX2NvbnRleHRfZmF2aWNv
bl9kYXRhYmFzZV9nZXQoY29udGV4dCk7Ci0gICAgICAgIEFTU0VSVF9UUlVFKGZhdmljb25EYXRh
YmFzZSk7CisgICAgICAgIEljb25SZXF1ZXN0RGF0YSogZGF0YSA9IHN0YXRpY19jYXN0PEljb25S
ZXF1ZXN0RGF0YSo+KHVzZXJkYXRhKTsKIAogICAgICAgICBFdmFzKiBldmFzID0gZXZhc19vYmpl
Y3RfZXZhc19nZXQoZGF0YS0+dmlldyk7Ci0gICAgICAgIGRhdGEtPmljb24gPSBld2tfZmF2aWNv
bl9kYXRhYmFzZV9pY29uX2dldChmYXZpY29uRGF0YWJhc2UsIGV3a192aWV3X3VybF9nZXQoZGF0
YS0+dmlldyksIGV2YXMpOworICAgICAgICBkYXRhLT5pY29uID0gZXdrX2Zhdmljb25fZGF0YWJh
c2VfaWNvbl9nZXQoZmF2aWNvbkRhdGFiYXNlLCB1cmwsIGV2YXMpOwogICAgIH0KIH07CiAKQEAg
LTEwMiw5ICs5NywxMCBAQCBURVNUX0YoRVdLMkZhdmljb25EYXRhYmFzZVRlc3QsIGV3a19mYXZp
Y29uX2RhdGFiYXNlX2FzeW5jX2ljb25fZ2V0KQogICAgIC8vIFNldCBmYXZpY29uIGRhdGFiYXNl
IHBhdGggYW5kIGVuYWJsZSBmdW5jdGlvbmFsaXR5LgogICAgIEV3a19Db250ZXh0KiBjb250ZXh0
ID0gZXdrX3ZpZXdfY29udGV4dF9nZXQod2ViVmlldygpKTsKICAgICBld2tfY29udGV4dF9mYXZp
Y29uX2RhdGFiYXNlX2RpcmVjdG9yeV9zZXQoY29udGV4dCwgMCk7CisgICAgRXdrX0Zhdmljb25f
RGF0YWJhc2UqIGRhdGFiYXNlID0gZXdrX2NvbnRleHRfZmF2aWNvbl9kYXRhYmFzZV9nZXQoY29u
dGV4dCk7CiAKICAgICBJY29uUmVxdWVzdERhdGEgZGF0YSA9IHsgd2ViVmlldygpLCAwIH07Ci0g
ICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHdlYlZpZXcoKSwgImZhdmljb24sY2hh
bmdlZCIsIHJlcXVlc3RGYXZpY29uRGF0YSwgJmRhdGEpOworICAgIGV3a19mYXZpY29uX2RhdGFi
YXNlX2ljb25fY2hhbmdlX2NhbGxiYWNrX2FkZChkYXRhYmFzZSwgcmVxdWVzdEZhdmljb25EYXRh
LCAmZGF0YSk7CiAKICAgICAvLyBXZSBuZWVkIHRvIGxvYWQgdGhlIHBhZ2UgZmlyc3QgdG8gZW5z
dXJlIHRoZSBpY29uIGRhdGEgd2lsbCBiZQogICAgIC8vIGluIHRoZSBkYXRhYmFzZSBpbiBjYXNl
IHRoZXJlJ3MgYW4gYXNzb2NpYXRlZCBmYXZpY29uLgpAQCAtMTE0LDcgKzExMCw2IEBAIFRFU1Rf
RihFV0syRmF2aWNvbkRhdGFiYXNlVGVzdCwgZXdrX2Zhdmljb25fZGF0YWJhc2VfYXN5bmNfaWNv
bl9nZXQpCiAgICAgICAgIGVjb3JlX21haW5fbG9vcF9pdGVyYXRlKCk7CiAKICAgICBBU1NFUlRf
VFJVRShkYXRhLmljb24pOwotICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2RlbCh3ZWJW
aWV3KCksICJmYXZpY29uLGNoYW5nZWQiLCByZXF1ZXN0RmF2aWNvbkRhdGEpOwogCiAgICAgLy8g
SXQgaXMgYSAxNngxNiBmYXZpY29uLgogICAgIGludCB3aWR0aCwgaGVpZ2h0OwpAQCAtMTIzLDEx
ICsxMTgsNSBAQCBURVNUX0YoRVdLMkZhdmljb25EYXRhYmFzZVRlc3QsIGV3a19mYXZpY29uX2Rh
dGFiYXNlX2FzeW5jX2ljb25fZ2V0KQogICAgIEVYUEVDVF9FUSgxNiwgaGVpZ2h0KTsKICAgICBl
dmFzX29iamVjdF91bnJlZihkYXRhLmljb24pOwogCi0gICAgLy8gVGVzdCBBUEkgdG8gcmVxdWVz
dCBmYXZpY29uIGZyb20gdGhlIHZpZXcKLSAgICBFdmFzX09iamVjdCogZmF2aWNvbiA9IGV3a192
aWV3X2Zhdmljb25fZ2V0KHdlYlZpZXcoKSk7Ci0gICAgQVNTRVJUX1RSVUUoZmF2aWNvbik7Ci0g
ICAgZXZhc19vYmplY3RfaW1hZ2Vfc2l6ZV9nZXQoZmF2aWNvbiwgJndpZHRoLCAmaGVpZ2h0KTsK
LSAgICBFWFBFQ1RfRVEoMTYsIHdpZHRoKTsKLSAgICBFWFBFQ1RfRVEoMTYsIGhlaWdodCk7Ci0g
ICAgZXZhc19vYmplY3RfdW5yZWYoZmF2aWNvbik7CisgICAgZXdrX2Zhdmljb25fZGF0YWJhc2Vf
aWNvbl9jaGFuZ2VfY2FsbGJhY2tfZGVsKGRhdGFiYXNlLCByZXF1ZXN0RmF2aWNvbkRhdGEpOwog
fQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDMw
N2Q4N2NiMzIxYTA2NjIwODkzZGJlMWJkMDY4YmMyNWZkOTkxYTAuLmExNDA5NWUwYWIxYjViNzYw
YTE4ZjQzYzZlM2RlZDM1YTczMTc5M2UgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysg
Yi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxNC0wNS0wMiAgUnl1YW4gQ2hv
aSAgPHJ5dWFuLmNob2lAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0VGTF1bV0syXSBSZWZhY3Rv
ciBmYXZpY29uIGRhdGFiYXNlIEFQSXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEzMjUxOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogTWluaUJyb3dzZXIvZWZsL21haW4uYzogVXNlIGV3a192aWV3X2Zh
dmljb25fZ2V0IGluc3RlYWQgb2YgZXdrX3ZpZXdfZmF2aWNvbl9nZXQuCisgICAgICAgICh1cGRh
dGVfdmlld19mYXZpY29uKToKKyAgICAgICAgKG9uX2ljb25fY2hhbmdlZF9jYik6CisgICAgICAg
ICh3aW5kb3dfZnJlZSk6CisgICAgICAgIChvbl91cmxfY2hhbmdlZCk6CisgICAgICAgICh3aW5k
b3dfY3JlYXRlKToKKyAgICAgICAgKG9uX3ZpZXdfZmF2aWNvbl9jaGFuZ2VkKTogRGVsZXRlZC4K
KwogMjAxNC0wNS0wMiAgTWFyayBSb3dlICA8bXJvd2VAYXBwbGUuY29tPgogCiAgICAgICAgIDxo
dHRwczovL3dlYmtpdC5vcmcvYi8xMzI1MDU+IE1ha2UgaXQgcG9zc2libGUgdG8gdGVsbCBjb3B5
LXdlYmtpdGxpYnJhcmllcy10by1wcm9kdWN0LWRpcmVjdG9yeSB3aGljaCBPUyBYIHZlcnNpb24g
dG8gY29weSBmb3IKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9tYWluLmMgYi9U
b29scy9NaW5pQnJvd3Nlci9lZmwvbWFpbi5jCmluZGV4IGJiNTQ0NmVlODNiYjg3MTM3ODBkZDZi
YWQ2MmNlMzkyYmNhOWE3ZmYuLjMzMzY4MTc4MmM4YWYxZmM5ZTk3NTRhODZiYzM2MTk2OGZkNGJh
YzkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9tYWluLmMKKysrIGIvVG9vbHMv
TWluaUJyb3dzZXIvZWZsL21haW4uYwpAQCAtMjkzLDYgKzI5Myw0NCBAQCBvbl93aW5kb3dfcmVz
aXplKHZvaWQgKnVzZXJfZGF0YSwgRXZhcyAqZSwgRXZhc19PYmplY3QgKmVsbV93aW5kb3csIHZv
aWQgKmV2ZW50XwogICAgICAgICBlbG1fbWVudV9jbG9zZSh3aW5kb3ctPnBvcHVwLmVsbV9tZW51
KTsKIH0KIAorc3RhdGljIHZvaWQKK3VwZGF0ZV92aWV3X2Zhdmljb24oQnJvd3Nlcl9XaW5kb3cg
KndpbmRvdywgRXZhc19PYmplY3QgKmljb24pCit7CisgICAgLyogUmVtb3ZlIHByZXZpb3VzIGlj
b24gZnJvbSBVUkwgYmFyICovCisgICAgRXZhc19PYmplY3QgKm9sZF9pY29uID0gZWxtX29iamVj
dF9wYXJ0X2NvbnRlbnRfdW5zZXQod2luZG93LT51cmxfYmFyLCAiaWNvbiIpOworICAgIGlmIChv
bGRfaWNvbikgeworICAgICAgICBldmFzX29iamVjdF91bnJlZihvbGRfaWNvbik7CisgICAgICAg
IGV2YXNfb2JqZWN0X2RlbChvbGRfaWNvbik7CisgICAgfQorCisgICAgLyogU2hvdyBuZXcgaWNv
biBpbiBVUkwgYmFyICovCisgICAgaWYgKGljb24pIHsKKyAgICAgICAgLyogV29ya2Fyb3VuZCBm
b3IgaWNvbiBkaXNwbGF5IGJ1ZzoKKyAgICAgICAgICogaHR0cDovL3RyYWMuZW5saWdodGVubWVu
dC5vcmcvZS90aWNrZXQvMTYxNiAqLworICAgICAgICBldmFzX29iamVjdF9zaXplX2hpbnRfbWlu
X3NldChpY29uLCA0OCwgMjQpOworICAgICAgICBldmFzX29iamVjdF9pbWFnZV9maWxsZWRfc2V0
KGljb24sIEVJTkFfRkFMU0UpOworICAgICAgICBldmFzX29iamVjdF9pbWFnZV9maWxsX3NldChp
Y29uLCAyNCwgMCwgMjQsIDI0KTsKKyAgICAgICAgZWxtX29iamVjdF9wYXJ0X2NvbnRlbnRfc2V0
KHdpbmRvdy0+dXJsX2JhciwgImljb24iLCBpY29uKTsKKyAgICAgICAgZXZhc19vYmplY3RfcmVm
KGljb24pOworICAgIH0KK30KKworc3RhdGljIHZvaWQKK29uX2ljb25fY2hhbmdlZF9jYihFd2tf
RmF2aWNvbl9EYXRhYmFzZSAqZGF0YWJhc2UsIGNvbnN0IGNoYXIgKnVybCwgdm9pZCAqdXNlcl9k
YXRhKQoreworICAgIEJyb3dzZXJfV2luZG93ICp3aW5kb3cgPSAoQnJvd3Nlcl9XaW5kb3cgKil1
c2VyX2RhdGE7CisgICAgRXZhc19PYmplY3QgKmV3a192aWV3ID0gd2luZG93LT5ld2tfdmlldzsK
KworICAgIGlmIChzdHJjbXAodXJsLCBld2tfdmlld191cmxfZ2V0KGV3a192aWV3KSkpCisgICAg
ICAgIHJldHVybjsKKworICAgIEV2YXNfT2JqZWN0KiBmYXZpY29uID0gZXdrX2Zhdmljb25fZGF0
YWJhc2VfaWNvbl9nZXQoZGF0YWJhc2UsIHVybCwgZXZhc19vYmplY3RfZXZhc19nZXQoZXdrX3Zp
ZXcpKTsKKyAgICB1cGRhdGVfdmlld19mYXZpY29uKHdpbmRvdywgZmF2aWNvbik7CisKKyAgICBp
ZiAoZmF2aWNvbikKKyAgICAgICAgZXZhc19vYmplY3RfdW5yZWYoZmF2aWNvbik7Cit9CisKIHN0
YXRpYyB2b2lkIHdpbmRvd19mcmVlKEJyb3dzZXJfV2luZG93ICp3aW5kb3cpCiB7CiAgICAgZXZh
c19vYmplY3RfZXZlbnRfY2FsbGJhY2tfZGVsKHdpbmRvdy0+ZXdrX3ZpZXcsIEVWQVNfQ0FMTEJB
Q0tfTU9VU0VfSU4sIG9uX21vdXNlX2luKTsKQEAgLTMwMSw2ICszMzksOCBAQCBzdGF0aWMgdm9p
ZCB3aW5kb3dfZnJlZShCcm93c2VyX1dpbmRvdyAqd2luZG93KQogCiAgICAgZXZhc19vYmplY3Rf
ZXZlbnRfY2FsbGJhY2tfZGVsKHdpbmRvdy0+ZWxtX3dpbmRvdywgRVZBU19DQUxMQkFDS19SRVNJ
WkUsIG9uX3dpbmRvd19yZXNpemUpOwogCisgICAgZXdrX2Zhdmljb25fZGF0YWJhc2VfaWNvbl9j
aGFuZ2VfY2FsbGJhY2tfZGVsKGV3a19jb250ZXh0X2Zhdmljb25fZGF0YWJhc2VfZ2V0KGV3a192
aWV3X2NvbnRleHRfZ2V0KHdpbmRvdy0+ZXdrX3ZpZXcpKSwgb25faWNvbl9jaGFuZ2VkX2NiKTsK
KwogICAgIGV2YXNfb2JqZWN0X2RlbCh3aW5kb3ctPmV3a192aWV3KTsKICAgICAvKiBUaGUgZWxt
X3dpbiB3aWxsIHRha2UgY2FyZSBvZiBmcmVlaW5nIGl0cyBjaGlsZHJlbiAqLwogICAgIGV2YXNf
b2JqZWN0X2RlbCh3aW5kb3ctPmVsbV93aW5kb3cpOwpAQCAtNTQ1LDYgKzU4NSw4IEBAIG9uX3Vy
bF9jaGFuZ2VkKHZvaWQgKnVzZXJfZGF0YSwgRXZhc19PYmplY3QgKmV3a192aWV3LCB2b2lkICpl
dmVudF9pbmZvKQogICAgIGNoYXIgKnVybCA9IGVsbV9lbnRyeV91dGY4X3RvX21hcmt1cChld2tf
dmlld191cmxfZ2V0KHdpbmRvdy0+ZXdrX3ZpZXcpKTsKICAgICBlbG1fZW50cnlfZW50cnlfc2V0
KHdpbmRvdy0+dXJsX2JhciwgdXJsKTsKIAorICAgIG9uX2ljb25fY2hhbmdlZF9jYihld2tfY29u
dGV4dF9mYXZpY29uX2RhdGFiYXNlX2dldChld2tfdmlld19jb250ZXh0X2dldChld2tfdmlldykp
LCB1cmwsIHVzZXJfZGF0YSk7CisKICAgICBmcmVlKHVybCk7CiAKICAgICBzZWFyY2hfYm94X2hp
ZGUod2luZG93KTsKQEAgLTgyNiw0MCArODY4LDYgQEAgb25fY29sb3JfcGlja2VyX3JlcXVlc3Qo
RXdrX1ZpZXdfU21hcnRfRGF0YSAqc2QsIEV3a19Db2xvcl9QaWNrZXIgKmNvbG9yX3BpY2tlcikK
ICAgICByZXR1cm4gRUlOQV9UUlVFOwogfQogCi1zdGF0aWMgdm9pZAotdXBkYXRlX3ZpZXdfZmF2
aWNvbihCcm93c2VyX1dpbmRvdyAqd2luZG93LCBFdmFzX09iamVjdCAqaWNvbikKLXsKLSAgICAv
KiBSZW1vdmUgcHJldmlvdXMgaWNvbiBmcm9tIFVSTCBiYXIgKi8KLSAgICBFdmFzX09iamVjdCAq
b2xkX2ljb24gPSBlbG1fb2JqZWN0X3BhcnRfY29udGVudF91bnNldCh3aW5kb3ctPnVybF9iYXIs
ICJpY29uIik7Ci0gICAgaWYgKG9sZF9pY29uKSB7Ci0gICAgICAgIGV2YXNfb2JqZWN0X3VucmVm
KG9sZF9pY29uKTsKLSAgICAgICAgZXZhc19vYmplY3RfZGVsKG9sZF9pY29uKTsKLSAgICB9Ci0K
LSAgICAvKiBTaG93IG5ldyBpY29uIGluIFVSTCBiYXIgKi8KLSAgICBpZiAoaWNvbikgewotICAg
ICAgICAvKiBXb3JrYXJvdW5kIGZvciBpY29uIGRpc3BsYXkgYnVnOgotICAgICAgICAgKiBodHRw
Oi8vdHJhYy5lbmxpZ2h0ZW5tZW50Lm9yZy9lL3RpY2tldC8xNjE2ICovCi0gICAgICAgIGV2YXNf
b2JqZWN0X3NpemVfaGludF9taW5fc2V0KGljb24sIDQ4LCAyNCk7Ci0gICAgICAgIGV2YXNfb2Jq
ZWN0X2ltYWdlX2ZpbGxlZF9zZXQoaWNvbiwgRUlOQV9GQUxTRSk7Ci0gICAgICAgIGV2YXNfb2Jq
ZWN0X2ltYWdlX2ZpbGxfc2V0KGljb24sIDI0LCAwLCAyNCwgMjQpOwotICAgICAgICBlbG1fb2Jq
ZWN0X3BhcnRfY29udGVudF9zZXQod2luZG93LT51cmxfYmFyLCAiaWNvbiIsIGljb24pOwotICAg
ICAgICBldmFzX29iamVjdF9yZWYoaWNvbik7Ci0gICAgfQotfQotCi1zdGF0aWMgdm9pZAotb25f
dmlld19mYXZpY29uX2NoYW5nZWQodm9pZCAqdXNlcl9kYXRhLCBFdmFzX09iamVjdCAqZXdrX3Zp
ZXcsIHZvaWQgKmV2ZW50X2luZm8pCi17Ci0gICAgQnJvd3Nlcl9XaW5kb3cgKndpbmRvdyA9IChC
cm93c2VyX1dpbmRvdyAqKXVzZXJfZGF0YTsKLQotICAgIEV2YXNfT2JqZWN0KiBmYXZpY29uID0g
ZXdrX3ZpZXdfZmF2aWNvbl9nZXQoZXdrX3ZpZXcpOwotICAgIHVwZGF0ZV92aWV3X2Zhdmljb24o
d2luZG93LCBmYXZpY29uKTsKLQotICAgIGlmIChmYXZpY29uKQotICAgICAgICBldmFzX29iamVj
dF91bnJlZihmYXZpY29uKTsKLX0KLQogc3RhdGljIGludAogcXVpdChFaW5hX0Jvb2wgc3VjY2Vz
cywgY29uc3QgY2hhciAqbXNnKQogewpAQCAtMTgyMyw2ICsxODMxLDggQEAgc3RhdGljIEJyb3dz
ZXJfV2luZG93ICp3aW5kb3dfY3JlYXRlKEV2YXNfT2JqZWN0ICpvcGVuZXIsIGludCB3aWR0aCwg
aW50IGhlaWdodCkKICAgICBFd2tfUGFnZV9Hcm91cCAqcGFnZUdyb3VwID0gb3BlbmVyID8gZXdr
X3ZpZXdfcGFnZV9ncm91cF9nZXQob3BlbmVyKSA6IGV3a19wYWdlX2dyb3VwX2NyZWF0ZSgiIik7
CiAgICAgd2luZG93LT5ld2tfdmlldyA9IGV3a192aWV3X3NtYXJ0X2FkZChldmFzLCBzbWFydCwg
Y29udGV4dCwgcGFnZUdyb3VwKTsKIAorICAgIGV3a19mYXZpY29uX2RhdGFiYXNlX2ljb25fY2hh
bmdlX2NhbGxiYWNrX2FkZChld2tfY29udGV4dF9mYXZpY29uX2RhdGFiYXNlX2dldChjb250ZXh0
KSwgb25faWNvbl9jaGFuZ2VkX2NiLCB3aW5kb3cpOworCiAgICAgZXdrX3ZpZXdfdGhlbWVfc2V0
KHdpbmRvdy0+ZXdrX3ZpZXcsIFRFU1RfVEhFTUVfRElSICIvZGVmYXVsdC5lZGoiKTsKICAgICBp
ZiAoZGV2aWNlX3BpeGVsX3JhdGlvKQogICAgICAgICBld2tfdmlld19kZXZpY2VfcGl4ZWxfcmF0
aW9fc2V0KHdpbmRvdy0+ZXdrX3ZpZXcsIChmbG9hdClkZXZpY2VfcGl4ZWxfcmF0aW8pOwpAQCAt
MTg2MCw3ICsxODcwLDYgQEAgc3RhdGljIEJyb3dzZXJfV2luZG93ICp3aW5kb3dfY3JlYXRlKEV2
YXNfT2JqZWN0ICpvcGVuZXIsIGludCB3aWR0aCwgaW50IGhlaWdodCkKICAgICBldmFzX29iamVj
dF9zbWFydF9jYWxsYmFja19hZGQod2luZG93LT5ld2tfdmlldywgImRvd25sb2FkLGZpbmlzaGVk
Iiwgb25fZG93bmxvYWRfZmluaXNoZWQsIHdpbmRvdyk7CiAgICAgZXZhc19vYmplY3Rfc21hcnRf
Y2FsbGJhY2tfYWRkKHdpbmRvdy0+ZXdrX3ZpZXcsICJkb3dubG9hZCxyZXF1ZXN0Iiwgb25fZG93
bmxvYWRfcmVxdWVzdCwgd2luZG93KTsKICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19h
ZGQod2luZG93LT5ld2tfdmlldywgImZpbGUsY2hvb3NlcixyZXF1ZXN0Iiwgb25fZmlsZV9jaG9v
c2VyX3JlcXVlc3QsIHdpbmRvdyk7Ci0gICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRk
KHdpbmRvdy0+ZXdrX3ZpZXcsICJmYXZpY29uLGNoYW5nZWQiLCBvbl92aWV3X2Zhdmljb25fY2hh
bmdlZCwgd2luZG93KTsKICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQod2luZG93
LT5ld2tfdmlldywgImxvYWQsZXJyb3IiLCBvbl9lcnJvciwgd2luZG93KTsKICAgICBldmFzX29i
amVjdF9zbWFydF9jYWxsYmFja19hZGQod2luZG93LT5ld2tfdmlldywgImxvYWQscHJvdmlzaW9u
YWwsZmFpbGVkIiwgb25fZXJyb3IsIHdpbmRvdyk7CiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2Fs
bGJhY2tfYWRkKHdpbmRvdy0+ZXdrX3ZpZXcsICJsb2FkLHByb2dyZXNzIiwgb25fcHJvZ3Jlc3Ms
IHdpbmRvdyk7Cg==
</data>
<flag name="review"
          id="255130"
          type_id="1"
          status="+"
          setter="gyuyoung.kim"
    />
          </attachment>
      

    </bug>

</bugzilla>