<?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>100505</bug_id>
          
          <creation_ts>2012-10-26 05:03:14 -0700</creation_ts>
          <short_desc>[EFL][WK2] Simplify getting impl from ewk_view evas object instance</short_desc>
          <delta_ts>2012-10-30 01:43:24 -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>
          
          <blocked>100226</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mikhail Pozdnyakov">mikhail.pozdnyakov</reporter>
          <assigned_to name="Mikhail Pozdnyakov">mikhail.pozdnyakov</assigned_to>
          <cc>cdumez</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kenneth</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>751903</commentid>
    <comment_count>0</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-10-26 05:03:14 -0700</bug_when>
    <thetext>Currently have to use 2 macros to get impl from ewk_view evas object instance, should be simplified to one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>753417</commentid>
    <comment_count>1</comment_count>
      <attachid>171245</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-10-29 07:25:05 -0700</bug_when>
    <thetext>Created attachment 171245
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>753425</commentid>
    <comment_count>2</comment_count>
      <attachid>171245</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-10-29 07:30:37 -0700</bug_when>
    <thetext>Comment on attachment 171245
patch

How come we&apos;re not using EwkViewImpl::fromEvasObject() at all?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>753430</commentid>
    <comment_count>3</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-10-29 07:36:52 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 171245 [details])
&gt; How come we&apos;re not using EwkViewImpl::fromEvasObject() at all?

Good question.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>753488</commentid>
    <comment_count>4</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-10-29 09:02:59 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; (From update of attachment 171245 [details] [details])
&gt; &gt; How come we&apos;re not using EwkViewImpl::fromEvasObject() at all?
&gt; 
&gt; Good question.

Well, EwkViewImpl::fromEvasObject() is for internal usage, it does not have all that null checking and failure logging but has assertions instead. So I would say given macro here is more appropriate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>754069</commentid>
    <comment_count>5</comment_count>
      <attachid>171245</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-30 01:43:20 -0700</bug_when>
    <thetext>Comment on attachment 171245
patch

Clearing flags on attachment: 171245

Committed r132879: &lt;http://trac.webkit.org/changeset/132879&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>754070</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-30 01:43:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171245</attachid>
            <date>2012-10-29 07:25:05 -0700</date>
            <delta_ts>2012-10-30 01:43:19 -0700</delta_ts>
            <desc>patch</desc>
            <filename>bug100505</filename>
            <type>text/plain</type>
            <size>27860</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IDIzNjU2OGJjYmUyODAyMTQ2ZWQzYWY1YzdkNTYwOTM1OTg3ODg1MjYKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CkRhdGU6ICAg
TW9uIE9jdCAyOSAxNjoyMDoxNCAyMDEyICswMjAwCgogICAgYnVnMTAwNTA1CgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmlu
ZGV4IDkwM2Q1MDMuLjNmMWFlNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2OCBAQAorMjAxMi0x
MC0yOSAgTWlraGFpbCBQb3pkbnlha292ICA8bWlraGFpbC5wb3pkbnlha292QGludGVsLmNvbT4K
KworICAgICAgICBbRUZMXVtXSzJdIFNpbXBsaWZ5IGdldHRpbmcgaW1wbCBmcm9tIGV3a192aWV3
IGV2YXMgb2JqZWN0IGluc3RhbmNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDA1MDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBNYWNyb3MgYXJlIHJlbW92ZWQgZnJvbSBFd2tWaWV3SW1wbC5oLiBOZXcg
bWFjcm8gYWRkZWQgdG8gRXdrVmlld0ltcGwuY3BwCisgICAgICAgIHNvIHRoYXQgaXQncyBwb3Nz
aWJsZSB0byBnZXQgaW1wbCBkaXJlY3RseSBmcm9tIGV3ayB2aWV3LgorCisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9lZmwvRXdrVmlld0ltcGwuY3BwOgorICAgICAgICAoRXdrVmlld0ltcGw6OmRp
c3BsYXlUaW1lckZpcmVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3SW1w
bC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcDoKKyAgICAgICAg
KF9ld2tfdmlld19zbWFydF9mb2N1c19pbik6CisgICAgICAgIChfZXdrX3ZpZXdfc21hcnRfZm9j
dXNfb3V0KToKKyAgICAgICAgKG1hcFRvV2ViQ29udGVudCk6CisgICAgICAgIChfZXdrX3ZpZXdf
c21hcnRfbW91c2Vfd2hlZWwpOgorICAgICAgICAoX2V3a192aWV3X3NtYXJ0X21vdXNlX2Rvd24p
OgorICAgICAgICAoX2V3a192aWV3X3NtYXJ0X21vdXNlX3VwKToKKyAgICAgICAgKF9ld2tfdmll
d19zbWFydF9tb3VzZV9tb3ZlKToKKyAgICAgICAgKF9ld2tfdmlld19zbWFydF9rZXlfZG93bik6
CisgICAgICAgIChfZXdrX3ZpZXdfc21hcnRfa2V5X3VwKToKKyAgICAgICAgKF9ld2tfdmlld19v
bl9zaG93KToKKyAgICAgICAgKF9ld2tfdmlld19vbl9oaWRlKToKKyAgICAgICAgKF9ld2tfdmll
d19zbWFydF9jYWxjdWxhdGUpOgorICAgICAgICAoX2V3a192aWV3X3NtYXJ0X2NvbG9yX3NldCk6
CisgICAgICAgIChld2tfdmlld19jb250ZXh0X2dldCk6CisgICAgICAgIChld2tfdmlld191cmxf
c2V0KToKKyAgICAgICAgKGV3a192aWV3X3VybF9nZXQpOgorICAgICAgICAoZXdrX3ZpZXdfaWNv
bl91cmxfZ2V0KToKKyAgICAgICAgKGV3a192aWV3X3JlbG9hZCk6CisgICAgICAgIChld2tfdmll
d19yZWxvYWRfYnlwYXNzX2NhY2hlKToKKyAgICAgICAgKGV3a192aWV3X3N0b3ApOgorICAgICAg
ICAoZXdrX3ZpZXdfc2V0dGluZ3NfZ2V0KToKKyAgICAgICAgKGV3a192aWV3X3RpdGxlX2dldCk6
CisgICAgICAgIChld2tfdmlld19sb2FkX3Byb2dyZXNzX2dldCk6CisgICAgICAgIChld2tfdmll
d19zY2FsZV9zZXQpOgorICAgICAgICAoZXdrX3ZpZXdfc2NhbGVfZ2V0KToKKyAgICAgICAgKGV3
a192aWV3X2RldmljZV9waXhlbF9yYXRpb19zZXQpOgorICAgICAgICAoZXdrX3ZpZXdfZGV2aWNl
X3BpeGVsX3JhdGlvX2dldCk6CisgICAgICAgIChld2tfdmlld190aGVtZV9zZXQpOgorICAgICAg
ICAoZXdrX3ZpZXdfdGhlbWVfZ2V0KToKKyAgICAgICAgKGV3a192aWV3X2JhY2spOgorICAgICAg
ICAoZXdrX3ZpZXdfZm9yd2FyZCk6CisgICAgICAgIChld2tfdmlld19pbnRlbnRfZGVsaXZlcik6
CisgICAgICAgIChld2tfdmlld19iYWNrX3Bvc3NpYmxlKToKKyAgICAgICAgKGV3a192aWV3X2Zv
cndhcmRfcG9zc2libGUpOgorICAgICAgICAoZXdrX3ZpZXdfYmFja19mb3J3YXJkX2xpc3RfZ2V0
KToKKyAgICAgICAgKGV3a192aWV3X2h0bWxfc3RyaW5nX2xvYWQpOgorICAgICAgICAoZXdrX3Zp
ZXdfc2V0dGluZ19lbmNvZGluZ19jdXN0b21fZ2V0KToKKyAgICAgICAgKGV3a192aWV3X3NldHRp
bmdfZW5jb2RpbmdfY3VzdG9tX3NldCk6CisgICAgICAgIChld2tfdmlld190ZXh0X2ZpbmQpOgor
ICAgICAgICAoZXdrX3ZpZXdfdGV4dF9maW5kX2hpZ2hsaWdodF9jbGVhcik6CisgICAgICAgIChl
d2tfdmlld190ZXh0X21hdGNoZXNfY291bnQpOgorICAgICAgICAoZXdrX3ZpZXdfbW91c2VfZXZl
bnRzX2VuYWJsZWRfc2V0KToKKyAgICAgICAgKGV3a192aWV3X21vdXNlX2V2ZW50c19lbmFibGVk
X2dldCk6CisgICAgICAgIChld2tfdmlld19mZWVkX3RvdWNoX2V2ZW50KToKKyAgICAgICAgKGV3
a192aWV3X3RvdWNoX2V2ZW50c19lbmFibGVkX3NldCk6CisgICAgICAgIChld2tfdmlld190b3Vj
aF9ldmVudHNfZW5hYmxlZF9nZXQpOgorICAgICAgICAoZXdrX3ZpZXdfaW5zcGVjdG9yX3Nob3cp
OgorICAgICAgICAoZXdrX3ZpZXdfaW5zcGVjdG9yX2Nsb3NlKToKKyAgICAgICAgKGV3a192aWV3
X3BhZ2luYXRpb25fbW9kZV9zZXQpOgorICAgICAgICAoZXdrX3ZpZXdfcGFnaW5hdGlvbl9tb2Rl
X2dldCk6CisKIDIwMTItMTAtMjcgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAg
ICAgICBZZXQgbW9yZSBNZXNzYWdlUmVjZWl2ZXJpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXdJbXBsLmNwcAppbmRleCBhYjhmNGUwLi4yZDUyZGM2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3SW1wbC5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlld0ltcGwuY3Bw
CkBAIC0yMzksMTAgKzIzOSw2IEBAIHZvaWQgRXdrVmlld0ltcGw6OmRpc3BsYXlUaW1lckZpcmVk
KFdlYkNvcmU6OlRpbWVyPEV3a1ZpZXdJbXBsPiopCiAgICAgaWYgKCFzZC0+aW1hZ2UpCiAgICAg
ICAgIHJldHVybjsKIAotI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKLSAgICBFV0tfVklF
V19JTVBMX0dFVF9PUl9SRVRVUk4oc2QsIHZpZXdJbXBsKTsKLSNlbmRpZgotCiAgICAgUmVnaW9u
IGRpcnR5UmVnaW9uOwogICAgIGZvciAoVmVjdG9yPEludFJlY3Q+OjppdGVyYXRvciBpdCA9IG1f
ZGlydHlSZWN0cy5iZWdpbigpOyBpdCAhPSBtX2RpcnR5UmVjdHMuZW5kKCk7ICsraXQpCiAgICAg
ICAgIGRpcnR5UmVnaW9uLnVuaXRlKCppdCk7CkBAIC0yNTUsOCArMjUxLDggQEAgdm9pZCBFd2tW
aWV3SW1wbDo6ZGlzcGxheVRpbWVyRmlyZWQoV2ViQ29yZTo6VGltZXI8RXdrVmlld0ltcGw+KikK
ICAgICBmb3IgKFZlY3RvcjxJbnRSZWN0Pjo6aXRlcmF0b3IgaXQgPSByZWN0cy5iZWdpbigpOyBp
dCAhPSBlbmQ7ICsraXQpIHsKICAgICAgICAgSW50UmVjdCByZWN0ID0gKml0OwogI2lmIFVTRShD
T09SRElOQVRFRF9HUkFQSElDUykKLSAgICAgICAgZXZhc19nbF9tYWtlX2N1cnJlbnQodmlld0lt
cGwtPm1fZXZhc0dsLCB2aWV3SW1wbC0+bV9ldmFzR2xTdXJmYWNlLCB2aWV3SW1wbC0+bV9ldmFz
R2xDb250ZXh0KTsKLSAgICAgICAgdmlld0ltcGwtPm1fcGFnZVZpZXdwb3J0Q29udHJvbGxlckNs
aWVudC0+ZGlzcGxheShyZWN0LCBJbnRQb2ludChzZC0+dmlldy54LCBzZC0+dmlldy55KSk7Cisg
ICAgICAgIGV2YXNfZ2xfbWFrZV9jdXJyZW50KG1fZXZhc0dsLCBtX2V2YXNHbFN1cmZhY2UsIG1f
ZXZhc0dsQ29udGV4dCk7CisgICAgICAgIG1fcGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudC0+
ZGlzcGxheShyZWN0LCBJbnRQb2ludChzZC0+dmlldy54LCBzZC0+dmlldy55KSk7CiAjZW5kaWYK
IAogICAgICAgICBldmFzX29iamVjdF9pbWFnZV9kYXRhX3VwZGF0ZV9hZGQoc2QtPmltYWdlLCBy
ZWN0LngoKSwgcmVjdC55KCksIHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3SW1wbC5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlld0ltcGwuaAppbmRleCBmNGU5MTc3
Li4yZjkyMDZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9F
d2tWaWV3SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1Zp
ZXdJbXBsLmgKQEAgLTQxLDIzICs0MSw2IEBACiAjaW5jbHVkZSA8RXZhc19HTC5oPgogI2VuZGlm
CiAKLSNkZWZpbmUgRVdLX1ZJRVdfSU1QTF9HRVQoc21hcnREYXRhLCBpbXBsKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRXdrVmlld0ltcGwqIGltcGwgPSBzbWFy
dERhdGEtPnByaXYKLQotI2RlZmluZSBFV0tfVklFV19JTVBMX0dFVF9PUl9SRVRVUk4oc21hcnRE
YXRhLCBpbXBsLCAuLi4pICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBpZiAoIXNtYXJ0RGF0
YSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgICAgIEVJTkFfTE9HX0NSSVQoInNtYXJ0IGRhdGEgaXMgbnVsbCIpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICByZXR1cm4gX19WQV9BUkdT
X187ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRVdLX1ZJRVdfSU1QTF9HRVQoc21hcnREYXRh
LCBpbXBsKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGRv
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgICAgaWYgKCFpbXBsKSB7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICBF
SU5BX0xPR19DUklUKCJubyBwcml2YXRlIGRhdGEgZm9yIG9iamVjdCAlcCAoJXMpIiwgICAgICAg
ICAgICAgICAgXAotICAgICAgICAgICAgICAgIHNtYXJ0RGF0YS0+c2VsZiwgZXZhc19vYmplY3Rf
dHlwZV9nZXQoc21hcnREYXRhLT5zZWxmKSk7ICAgICAgIFwKLSAgICAgICAgICAgIHJldHVybiBf
X1ZBX0FSR1NfXzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIH0gd2hpbGUgKDApCi0KIG5hbWVzcGFj
ZSBXZWJLaXQgewogY2xhc3MgRmluZENsaWVudEVmbDsKIGNsYXNzIEZvcm1DbGllbnRFZmw7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAKaW5kZXggYzAx
MmEwNi4uMDI3MDg4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX3ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3
a192aWV3LmNwcApAQCAtMTE3LDYgKzExNywzMiBAQCBzdGF0aWMgY29uc3QgY2hhciBFV0tfVklF
V19UWVBFX1NUUltdID0gIkVXSzJfVmlldyI7CiAgICAgICAgIH0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAg
IH0gd2hpbGUgKDApCiAKKyNkZWZpbmUgRVdLX1ZJRVdfSU1QTF9HRVRfQllfU0RfT1JfUkVUVVJO
KHNtYXJ0RGF0YSwgaW1wbCwgLi4uKSAgICAgICAgICAgICAgICBcCisgICAgaWYgKCFzbWFydERh
dGEpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgICAgICBFSU5BX0xPR19DUklUKCJzbWFydCBkYXRhIGlzIG51bGwiKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgcmV0dXJuIF9fVkFfQVJH
U19fOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIEV3a1ZpZXdJbXBsKiBpbXBsID0gc21hcnRE
YXRhLT5wcml2OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBk
byB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgICAgIGlmICghaW1wbCkgeyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAg
RUlOQV9MT0dfQ1JJVCgibm8gcHJpdmF0ZSBkYXRhIGZvciBvYmplY3QgJXAgKCVzKSIsICAgICAg
ICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICBzbWFydERhdGEtPnNlbGYsIGV2YXNfb2JqZWN0
X3R5cGVfZ2V0KHNtYXJ0RGF0YS0+c2VsZikpOyAgICAgICBcCisgICAgICAgICAgICByZXR1cm4g
X19WQV9BUkdTX187ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB9IHdoaWxlICgwKQorCisjZGVmaW5l
IEVXS19WSUVXX0lNUExfR0VUX09SX1JFVFVSTihld2tWaWV3LCBpbXBsLCAuLi4pICAgICAgICAg
ICAgICAgICAgICAgICAgXAorICAgIEV3a1ZpZXdJbXBsKiBpbXBsID0gMDsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBkbyB7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21h
cnREYXRhLCBfX1ZBX0FSR1NfXyk7ICAgICAgICAgICAgXAorICAgICAgICBpbXBsID0gc21hcnRE
YXRhLT5wcml2OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgICAgICAgaWYgKCFpbXBsKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICBFSU5BX0xPR19DUklUKCJu
byBwcml2YXRlIGRhdGEgZm9yIG9iamVjdCAlcCAoJXMpIiwgICAgICAgICAgICAgICAgXAorICAg
ICAgICAgICAgICAgIHNtYXJ0RGF0YS0+c2VsZiwgZXZhc19vYmplY3RfdHlwZV9nZXQoc21hcnRE
YXRhLT5zZWxmKSk7ICAgICAgIFwKKyAgICAgICAgICAgIHJldHVybiBfX1ZBX0FSR1NfXzsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIH0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorICAgIH0gd2hpbGUgKDApCisKIHN0YXRpYyB2b2lkIF9ld2tfdmlld19z
bWFydF9jaGFuZ2VkKEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNtYXJ0RGF0YSkKIHsKICAgICBpZiAo
c21hcnREYXRhLT5jaGFuZ2VkLmFueSkKQEAgLTEyOCw3ICsxNTQsNyBAQCBzdGF0aWMgdm9pZCBf
ZXdrX3ZpZXdfc21hcnRfY2hhbmdlZChFd2tfVmlld19TbWFydF9EYXRhKiBzbWFydERhdGEpCiAv
LyBEZWZhdWx0IEV2ZW50IEhhbmRsaW5nLgogc3RhdGljIEVpbmFfQm9vbCBfZXdrX3ZpZXdfc21h
cnRfZm9jdXNfaW4oRXdrX1ZpZXdfU21hcnRfRGF0YSogc21hcnREYXRhKQogewotICAgIEVXS19W
SUVXX0lNUExfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIGltcGwsIGZhbHNlKTsKKyAgICBFV0tf
VklFV19JTVBMX0dFVF9CWV9TRF9PUl9SRVRVUk4oc21hcnREYXRhLCBpbXBsLCBmYWxzZSk7CiAK
ICAgICBpbXBsLT5wYWdlKCktPnZpZXdTdGF0ZURpZENoYW5nZShXZWJQYWdlUHJveHk6OlZpZXdJ
c0ZvY3VzZWQgfCBXZWJQYWdlUHJveHk6OlZpZXdXaW5kb3dJc0FjdGl2ZSk7CiAgICAgcmV0dXJu
IHRydWU7CkBAIC0xMzYsNyArMTYyLDcgQEAgc3RhdGljIEVpbmFfQm9vbCBfZXdrX3ZpZXdfc21h
cnRfZm9jdXNfaW4oRXdrX1ZpZXdfU21hcnRfRGF0YSogc21hcnREYXRhKQogCiBzdGF0aWMgRWlu
YV9Cb29sIF9ld2tfdmlld19zbWFydF9mb2N1c19vdXQoRXdrX1ZpZXdfU21hcnRfRGF0YSogc21h
cnREYXRhKQogewotICAgIEVXS19WSUVXX0lNUExfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIGlt
cGwsIGZhbHNlKTsKKyAgICBFV0tfVklFV19JTVBMX0dFVF9CWV9TRF9PUl9SRVRVUk4oc21hcnRE
YXRhLCBpbXBsLCBmYWxzZSk7CiAKICAgICBpbXBsLT5wYWdlKCktPnZpZXdTdGF0ZURpZENoYW5n
ZShXZWJQYWdlUHJveHk6OlZpZXdJc0ZvY3VzZWQgfCBXZWJQYWdlUHJveHk6OlZpZXdXaW5kb3dJ
c0FjdGl2ZSk7CiAgICAgcmV0dXJuIHRydWU7CkBAIC0xNDYsNyArMTcyLDcgQEAgc3RhdGljIEVp
bmFfQm9vbCBfZXdrX3ZpZXdfc21hcnRfZm9jdXNfb3V0KEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNt
YXJ0RGF0YSkKIHN0YXRpYyBFdmFzX0Nvb3JkX1BvaW50IG1hcFRvV2ViQ29udGVudChFd2tfVmll
d19TbWFydF9EYXRhKiBzbWFydERhdGEsIEV2YXNfQ29vcmRfUG9pbnQgcG9pbnQpCiB7CiAgICAg
RXZhc19Db29yZF9Qb2ludCByZXN1bHQ7Ci0gICAgRVdLX1ZJRVdfSU1QTF9HRVRfT1JfUkVUVVJO
KHNtYXJ0RGF0YSwgaW1wbCwgcmVzdWx0KTsKKyAgICBFV0tfVklFV19JTVBMX0dFVF9CWV9TRF9P
Ul9SRVRVUk4oc21hcnREYXRhLCBpbXBsLCByZXN1bHQpOwogCiAgICAgcmVzdWx0LnggPSAocG9p
bnQueCAgLSBzbWFydERhdGEtPnZpZXcueCkgLyBpbXBsLT5wYWdlVmlld3BvcnRDb250cm9sbGVy
Q2xpZW50KCktPnNjYWxlRmFjdG9yKCkgKyBzbWFydERhdGEtPnZpZXcueCArIGltcGwtPnBhZ2VW
aWV3cG9ydENvbnRyb2xsZXJDbGllbnQoKS0+c2Nyb2xsUG9zaXRpb24oKS54KCk7CiAgICAgcmVz
dWx0LnkgPSAocG9pbnQueSAtIHNtYXJ0RGF0YS0+dmlldy55KSAvIGltcGwtPnBhZ2VWaWV3cG9y
dENvbnRyb2xsZXJDbGllbnQoKS0+c2NhbGVGYWN0b3IoKSArIHNtYXJ0RGF0YS0+dmlldy55ICsg
aW1wbC0+cGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudCgpLT5zY3JvbGxQb3NpdGlvbigpLnko
KTsKQEAgLTE1Niw3ICsxODIsNyBAQCBzdGF0aWMgRXZhc19Db29yZF9Qb2ludCBtYXBUb1dlYkNv
bnRlbnQoRXdrX1ZpZXdfU21hcnRfRGF0YSogc21hcnREYXRhLCBFdmFzX0NvbwogCiBzdGF0aWMg
RWluYV9Cb29sIF9ld2tfdmlld19zbWFydF9tb3VzZV93aGVlbChFd2tfVmlld19TbWFydF9EYXRh
KiBzbWFydERhdGEsIGNvbnN0IEV2YXNfRXZlbnRfTW91c2VfV2hlZWwqIHdoZWVsRXZlbnQpCiB7
Ci0gICAgRVdLX1ZJRVdfSU1QTF9HRVRfT1JfUkVUVVJOKHNtYXJ0RGF0YSwgaW1wbCwgZmFsc2Up
OworICAgIEVXS19WSUVXX0lNUExfR0VUX0JZX1NEX09SX1JFVFVSTihzbWFydERhdGEsIGltcGws
IGZhbHNlKTsKIAogICAgIEV2YXNfUG9pbnQgcG9zaXRpb24gPSB7c21hcnREYXRhLT52aWV3Lngs
IHNtYXJ0RGF0YS0+dmlldy55fTsKICNpZiBVU0UoVElMRURfQkFDS0lOR19TVE9SRSkKQEAgLTE3
MSw3ICsxOTcsNyBAQCBzdGF0aWMgRWluYV9Cb29sIF9ld2tfdmlld19zbWFydF9tb3VzZV93aGVl
bChFd2tfVmlld19TbWFydF9EYXRhKiBzbWFydERhdGEsIGNvbgogCiBzdGF0aWMgRWluYV9Cb29s
IF9ld2tfdmlld19zbWFydF9tb3VzZV9kb3duKEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNtYXJ0RGF0
YSwgY29uc3QgRXZhc19FdmVudF9Nb3VzZV9Eb3duKiBkb3duRXZlbnQpCiB7Ci0gICAgRVdLX1ZJ
RVdfSU1QTF9HRVRfT1JfUkVUVVJOKHNtYXJ0RGF0YSwgaW1wbCwgZmFsc2UpOworICAgIEVXS19W
SUVXX0lNUExfR0VUX0JZX1NEX09SX1JFVFVSTihzbWFydERhdGEsIGltcGwsIGZhbHNlKTsKIAog
ICAgIEV2YXNfUG9pbnQgcG9zaXRpb24gPSB7c21hcnREYXRhLT52aWV3LngsIHNtYXJ0RGF0YS0+
dmlldy55fTsKICNpZiBVU0UoVElMRURfQkFDS0lOR19TVE9SRSkKQEAgLTE4Niw3ICsyMTIsNyBA
QCBzdGF0aWMgRWluYV9Cb29sIF9ld2tfdmlld19zbWFydF9tb3VzZV9kb3duKEV3a19WaWV3X1Nt
YXJ0X0RhdGEqIHNtYXJ0RGF0YSwgY29ucwogCiBzdGF0aWMgRWluYV9Cb29sIF9ld2tfdmlld19z
bWFydF9tb3VzZV91cChFd2tfVmlld19TbWFydF9EYXRhKiBzbWFydERhdGEsIGNvbnN0IEV2YXNf
RXZlbnRfTW91c2VfVXAqIHVwRXZlbnQpCiB7Ci0gICAgRVdLX1ZJRVdfSU1QTF9HRVRfT1JfUkVU
VVJOKHNtYXJ0RGF0YSwgaW1wbCwgZmFsc2UpOworICAgIEVXS19WSUVXX0lNUExfR0VUX0JZX1NE
X09SX1JFVFVSTihzbWFydERhdGEsIGltcGwsIGZhbHNlKTsKIAogICAgIEV2YXNfUG9pbnQgcG9z
aXRpb24gPSB7c21hcnREYXRhLT52aWV3LngsIHNtYXJ0RGF0YS0+dmlldy55fTsKICNpZiBVU0Uo
VElMRURfQkFDS0lOR19TVE9SRSkKQEAgLTIwNiw3ICsyMzIsNyBAQCBzdGF0aWMgRWluYV9Cb29s
IF9ld2tfdmlld19zbWFydF9tb3VzZV91cChFd2tfVmlld19TbWFydF9EYXRhKiBzbWFydERhdGEs
IGNvbnN0CiAKIHN0YXRpYyBFaW5hX0Jvb2wgX2V3a192aWV3X3NtYXJ0X21vdXNlX21vdmUoRXdr
X1ZpZXdfU21hcnRfRGF0YSogc21hcnREYXRhLCBjb25zdCBFdmFzX0V2ZW50X01vdXNlX01vdmUq
IG1vdmVFdmVudCkKIHsKLSAgICBFV0tfVklFV19JTVBMX0dFVF9PUl9SRVRVUk4oc21hcnREYXRh
LCBpbXBsLCBmYWxzZSk7CisgICAgRVdLX1ZJRVdfSU1QTF9HRVRfQllfU0RfT1JfUkVUVVJOKHNt
YXJ0RGF0YSwgaW1wbCwgZmFsc2UpOwogCiAgICAgRXZhc19Qb2ludCBwb3NpdGlvbiA9IHtzbWFy
dERhdGEtPnZpZXcueCwgc21hcnREYXRhLT52aWV3Lnl9OwogI2lmIFVTRShUSUxFRF9CQUNLSU5H
X1NUT1JFKQpAQCAtMjIxLDcgKzI0Nyw3IEBAIHN0YXRpYyBFaW5hX0Jvb2wgX2V3a192aWV3X3Nt
YXJ0X21vdXNlX21vdmUoRXdrX1ZpZXdfU21hcnRfRGF0YSogc21hcnREYXRhLCBjb25zCiAKIHN0
YXRpYyBFaW5hX0Jvb2wgX2V3a192aWV3X3NtYXJ0X2tleV9kb3duKEV3a19WaWV3X1NtYXJ0X0Rh
dGEqIHNtYXJ0RGF0YSwgY29uc3QgRXZhc19FdmVudF9LZXlfRG93biogZG93bkV2ZW50KQogewot
ICAgIEVXS19WSUVXX0lNUExfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIGltcGwsIGZhbHNlKTsK
KyAgICBFV0tfVklFV19JTVBMX0dFVF9CWV9TRF9PUl9SRVRVUk4oc21hcnREYXRhLCBpbXBsLCBm
YWxzZSk7CiAKICAgICBib29sIGlzRmlsdGVyZWQgPSBmYWxzZTsKICAgICBJbnB1dE1ldGhvZENv
bnRleHRFZmwqIGlucHV0TWV0aG9kQ29udGV4dCA9IGltcGwtPmlucHV0TWV0aG9kQ29udGV4dCgp
OwpAQCAtMjM0LDcgKzI2MCw3IEBAIHN0YXRpYyBFaW5hX0Jvb2wgX2V3a192aWV3X3NtYXJ0X2tl
eV9kb3duKEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNtYXJ0RGF0YSwgY29uc3QKIAogc3RhdGljIEVp
bmFfQm9vbCBfZXdrX3ZpZXdfc21hcnRfa2V5X3VwKEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNtYXJ0
RGF0YSwgY29uc3QgRXZhc19FdmVudF9LZXlfVXAqIHVwRXZlbnQpCiB7Ci0gICAgRVdLX1ZJRVdf
SU1QTF9HRVRfT1JfUkVUVVJOKHNtYXJ0RGF0YSwgaW1wbCwgZmFsc2UpOworICAgIEVXS19WSUVX
X0lNUExfR0VUX0JZX1NEX09SX1JFVFVSTihzbWFydERhdGEsIGltcGwsIGZhbHNlKTsKIAogICAg
IGltcGwtPnBhZ2UoKS0+aGFuZGxlS2V5Ym9hcmRFdmVudChOYXRpdmVXZWJLZXlib2FyZEV2ZW50
KHVwRXZlbnQpKTsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTI4NywxNCArMzEzLDE0IEBAIHN0YXRp
YyB2b2lkIF9ld2tfdmlld19vbl9rZXlfdXAodm9pZCogZGF0YSwgRXZhcyosIEV2YXNfT2JqZWN0
Kiwgdm9pZCogZXZlbnRJbmZvCiBzdGF0aWMgdm9pZCBfZXdrX3ZpZXdfb25fc2hvdyh2b2lkKiBk
YXRhLCBFdmFzKiwgRXZhc19PYmplY3QqLCB2b2lkKiAvKmV2ZW50SW5mbyovKQogewogICAgIEV3
a19WaWV3X1NtYXJ0X0RhdGEqIHNtYXJ0RGF0YSA9IHN0YXRpY19jYXN0PEV3a19WaWV3X1NtYXJ0
X0RhdGEqPihkYXRhKTsKLSAgICBFV0tfVklFV19JTVBMX0dFVF9PUl9SRVRVUk4oc21hcnREYXRh
LCBpbXBsKTsKKyAgICBFV0tfVklFV19JTVBMX0dFVF9CWV9TRF9PUl9SRVRVUk4oc21hcnREYXRh
LCBpbXBsKTsKICAgICBpbXBsLT5wYWdlKCktPnZpZXdTdGF0ZURpZENoYW5nZShXZWJQYWdlUHJv
eHk6OlZpZXdJc1Zpc2libGUpOwogfQogCiBzdGF0aWMgdm9pZCBfZXdrX3ZpZXdfb25faGlkZSh2
b2lkKiBkYXRhLCBFdmFzKiwgRXZhc19PYmplY3QqLCB2b2lkKiAvKmV2ZW50SW5mbyovKQogewog
ICAgIEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNtYXJ0RGF0YSA9IHN0YXRpY19jYXN0PEV3a19WaWV3
X1NtYXJ0X0RhdGEqPihkYXRhKTsKLSAgICBFV0tfVklFV19JTVBMX0dFVF9PUl9SRVRVUk4oc21h
cnREYXRhLCBpbXBsKTsKKyAgICBFV0tfVklFV19JTVBMX0dFVF9CWV9TRF9PUl9SRVRVUk4oc21h
cnREYXRhLCBpbXBsKTsKIAogICAgIC8vIFRoaXMgY2FsbCBtYXkgbG9vayB3cm9uZywgYnV0IHdl
IHJlYWxseSBuZWVkIHRvIHBhc3MgVmlld0lzVmlzaWJsZSBoZXJlLgogICAgIC8vIHZpZXdTdGF0
ZURpZENoYW5nZSgpIGl0c2VsZiBpcyByZXNwb25zaWJsZSBmb3IgYWN0dWFsbHkgc2V0dGluZyB0
aGUgdmlzaWJpbGl0eSB0byBWaXNpYmxlIG9yIEhpZGRlbgpAQCAtMzc3LDcgKzQwMyw3IEBAIHN0
YXRpYyB2b2lkIF9ld2tfdmlld19zbWFydF9tb3ZlKEV2YXNfT2JqZWN0KiBld2tWaWV3LCBFdmFz
X0Nvb3JkIC8qeCovLCBFdmFzX0NvCiBzdGF0aWMgdm9pZCBfZXdrX3ZpZXdfc21hcnRfY2FsY3Vs
YXRlKEV2YXNfT2JqZWN0KiBld2tWaWV3KQogewogICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRV
Uk4oZXdrVmlldywgc21hcnREYXRhKTsKLSAgICBFV0tfVklFV19JTVBMX0dFVF9PUl9SRVRVUk4o
c21hcnREYXRhLCBpbXBsKTsKKyAgICBFV0tfVklFV19JTVBMX0dFVF9CWV9TRF9PUl9SRVRVUk4o
c21hcnREYXRhLCBpbXBsKTsKIAogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAg
ICBib29sIG5lZWRzTmV3U3VyZmFjZSA9IGZhbHNlOwpAQCAtNDQxLDcgKzQ2Nyw3IEBAIHN0YXRp
YyB2b2lkIF9ld2tfdmlld19zbWFydF9oaWRlKEV2YXNfT2JqZWN0KiBld2tWaWV3KQogc3RhdGlj
IHZvaWQgX2V3a192aWV3X3NtYXJ0X2NvbG9yX3NldChFdmFzX09iamVjdCogZXdrVmlldywgaW50
IHJlZCwgaW50IGdyZWVuLCBpbnQgYmx1ZSwgaW50IGFscGhhKQogewogICAgIEVXS19WSUVXX1NE
X0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21hcnREYXRhKTsKLSAgICBFV0tfVklFV19JTVBMX0dF
VF9PUl9SRVRVUk4oc21hcnREYXRhLCBpbXBsKTsKKyAgICBFV0tfVklFV19JTVBMX0dFVF9CWV9T
RF9PUl9SRVRVUk4oc21hcnREYXRhLCBpbXBsKTsKIAogICAgIGlmIChhbHBoYSA8IDApCiAgICAg
ICAgIGFscGhhID0gMDsKQEAgLTU2NSwxNiArNTkxLDE0IEBAIEV2YXNfT2JqZWN0KiBld2tfdmll
d19hZGQoRXZhcyogY2FudmFzKQogCiBFd2tfQ29udGV4dCogZXdrX3ZpZXdfY29udGV4dF9nZXQo
Y29uc3QgRXZhc19PYmplY3QqIGV3a1ZpZXcpCiB7Ci0gICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JF
VFVSTihld2tWaWV3LCBzbWFydERhdGEsIDApOwotICAgIEVXS19WSUVXX0lNUExfR0VUX09SX1JF
VFVSTihzbWFydERhdGEsIGltcGwsIDApOworICAgIEVXS19WSUVXX0lNUExfR0VUX09SX1JFVFVS
Tihld2tWaWV3LCBpbXBsLCAwKTsKIAogICAgIHJldHVybiBpbXBsLT5ld2tDb250ZXh0KCk7CiB9
CiAKIEVpbmFfQm9vbCBld2tfdmlld191cmxfc2V0KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBjb25z
dCBjaGFyKiB1cmwpCiB7Ci0gICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBz
bWFydERhdGEsIGZhbHNlKTsKLSAgICBFV0tfVklFV19JTVBMX0dFVF9PUl9SRVRVUk4oc21hcnRE
YXRhLCBpbXBsLCBmYWxzZSk7CisgICAgRVdLX1ZJRVdfSU1QTF9HRVRfT1JfUkVUVVJOKGV3a1Zp
ZXcsIGltcGwsIGZhbHNlKTsKICAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwodXJs
LCBmYWxzZSk7CiAKICAgICBpbXBsLT5wYWdlKCktPmxvYWRVUkwodXJsKTsKQEAgLTU4NSwyNCAr
NjA5LDIxIEBAIEVpbmFfQm9vbCBld2tfdmlld191cmxfc2V0KEV2YXNfT2JqZWN0KiBld2tWaWV3
LCBjb25zdCBjaGFyKiB1cmwpCiAKIGNvbnN0IGNoYXIqIGV3a192aWV3X3VybF9nZXQoY29uc3Qg
RXZhc19PYmplY3QqIGV3a1ZpZXcpCiB7Ci0gICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihl
d2tWaWV3LCBzbWFydERhdGEsIDApOwotICAgIEVXS19WSUVXX0lNUExfR0VUX09SX1JFVFVSTihz
bWFydERhdGEsIGltcGwsIDApOworICAgIEVXS19WSUVXX0lNUExfR0VUX09SX1JFVFVSTihld2tW
aWV3LCBpbXBsLCAwKTsKIAogICAgIHJldHVybiBpbXBsLT51cmwoKTsKIH0KIAogY29uc3QgY2hh
ciAqZXdrX3ZpZXdfaWNvbl91cmxfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpld2tWaWV3KQogewot
ICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21hcnREYXRhLCAwKTsKLSAg
ICBFV0tfVklFV19JTVBMX0dFVF9PUl9SRVRVUk4oc21hcnREYXRhLCBpbXBsLCAwKTsKKyAgICBF
V0tfVklFV19JTVBMX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgaW1wbCwgMCk7CiAKICAgICByZXR1
cm4gaW1wbC0+ZmF2aWNvblVSTCgpOwogfQogCiBFaW5hX0Jvb2wgZXdrX3ZpZXdfcmVsb2FkKEV2
YXNfT2JqZWN0KiBld2tWaWV3KQogewotICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdr
Vmlldywgc21hcnREYXRhLCBmYWxzZSk7Ci0gICAgRVdLX1ZJRVdfSU1QTF9HRVRfT1JfUkVUVVJO
KHNtYXJ0RGF0YSwgaW1wbCwgZmFsc2UpOworICAgIEVXS19WSUVXX0lNUExfR0VUX09SX1JFVFVS
Tihld2tWaWV3LCBpbXBsLCBmYWxzZSk7CiAKICAgICBpbXBsLT5wYWdlKCktPnJlbG9hZCgvKnJl
bG9hZEZyb21PcmlnaW4qLyBmYWxzZSk7CiAgICAgaW1wbC0+aW5mb3JtVVJMQ2hhbmdlKCk7CkBA
IC02MTIsOCArNjMzLDcgQEAgRWluYV9Cb29sIGV3a192aWV3X3JlbG9hZChFdmFzX09iamVjdCog
ZXdrVmlldykKIAogRWluYV9Cb29sIGV3a192aWV3X3JlbG9hZF9ieXBhc3NfY2FjaGUoRXZhc19P
YmplY3QqIGV3a1ZpZXcpCiB7Ci0gICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3
LCBzbWFydERhdGEsIGZhbHNlKTsKLSAgICBFV0tfVklFV19JTVBMX0dFVF9PUl9SRVRVUk4oc21h
cnREYXRhLCBpbXBsLCBmYWxzZSk7CisgICAgRVdLX1ZJRVdfSU1QTF9HRVRfT1JfUkVUVVJOKGV3
a1ZpZXcsIGltcGwsIGZhbHNlKTsKIAogICAgIGltcGwtPnBhZ2UoKS0+cmVsb2FkKC8qcmVsb2Fk
RnJvbU9yaWdpbiovIHRydWUpOwogICAgIGltcGwtPmluZm9ybVVSTENoYW5nZSgpOwpAQCAtNjIz
LDggKzY0Myw3IEBAIEVpbmFfQm9vbCBld2tfdmlld19yZWxvYWRfYnlwYXNzX2NhY2hlKEV2YXNf
T2JqZWN0KiBld2tWaWV3KQogCiBFaW5hX0Jvb2wgZXdrX3ZpZXdfc3RvcChFdmFzX09iamVjdCog
ZXdrVmlldykKIHsKLSAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIHNtYXJ0
RGF0YSwgZmFsc2UpOwotICAgIEVXS19WSUVXX0lNUExfR0VUX09SX1JFVFVSTihzbWFydERhdGEs
IGltcGwsIGZhbHNlKTsKKyAgICBFV0tfVklFV19JTVBMX0dFVF9PUl9SRVRVUk4oZXdrVmlldywg
aW1wbCwgZmFsc2UpOwogCiAgICAgaW1wbC0+cGFnZSgpLT5zdG9wTG9hZGluZygpOwogCkBAIC02
MzMsMTYgKzY1MiwxNCBAQCBFaW5hX0Jvb2wgZXdrX3ZpZXdfc3RvcChFdmFzX09iamVjdCogZXdr
VmlldykKIAogRXdrX1NldHRpbmdzKiBld2tfdmlld19zZXR0aW5nc19nZXQoY29uc3QgRXZhc19P
YmplY3QqIGV3a1ZpZXcpCiB7Ci0gICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3
LCBzbWFydERhdGEsIDApOwotICAgIEVXS19WSUVXX0lNUExfR0VUX09SX1JFVFVSTihzbWFydERh
dGEsIGltcGwsIDApOworICAgIEVXS19WSUVXX0lNUExfR0VUX09SX1JFVFVSTihld2tWaWV3LCBp
bXBsLCAwKTsKIAogICAgIHJldHVybiBpbXBsLT5zZXR0aW5ncygpOwogfQogCiBjb25zdCBjaGFy
KiBld2tfdmlld190aXRsZV9nZXQoY29uc3QgRXZhc19PYmplY3QqIGV3a1ZpZXcpCiB7Ci0gICAg
RVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEsIDApOwotICAgIEVX
S19WSUVXX0lNUExfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIGltcGwsIDApOworICAgIEVXS19W
SUVXX0lNUExfR0VUX09SX1JFVFVSTihld2tWaWV3LCBpbXBsLCAwKTsKIAogICAgIHJldHVybiBp
bXBsLT50aXRsZSgpOwogfQpAQCAtNjYwLDE2ICs2NzcsMTQgQEAgdm9pZCBld2tfdmlld190ZXh0
X2ZvdW5kKEV2YXNfT2JqZWN0KiBld2tWaWV3LCB1bnNpZ25lZCBpbnQgbWF0Y2hDb3VudCkKIAog
ZG91YmxlIGV3a192aWV3X2xvYWRfcHJvZ3Jlc3NfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0KiBld2tW
aWV3KQogewotICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21hcnREYXRh
LCAtMS4wKTsKLSAgICBFV0tfVklFV19JTVBMX0dFVF9PUl9SRVRVUk4oc21hcnREYXRhLCBpbXBs
LCAtMS4wKTsKKyAgICBFV0tfVklFV19JTVBMX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgaW1wbCwg
LTEuMCk7CiAKICAgICByZXR1cm4gaW1wbC0+cGFnZSgpLT5lc3RpbWF0ZWRQcm9ncmVzcygpOwog
fQogCiBFaW5hX0Jvb2wgZXdrX3ZpZXdfc2NhbGVfc2V0KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBk
b3VibGUgc2NhbGVGYWN0b3IsIGludCB4LCBpbnQgeSkKIHsKLSAgICBFV0tfVklFV19TRF9HRVRf
T1JfUkVUVVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSwgZmFsc2UpOwotICAgIEVXS19WSUVXX0lNUExf
R0VUX09SX1JFVFVSTihzbWFydERhdGEsIGltcGwsIGZhbHNlKTsKKyAgICBFV0tfVklFV19JTVBM
X0dFVF9PUl9SRVRVUk4oZXdrVmlldywgaW1wbCwgZmFsc2UpOwogCiAgICAgaW1wbC0+cGFnZSgp
LT5zY2FsZVBhZ2Uoc2NhbGVGYWN0b3IsIEludFBvaW50KHgsIHkpKTsKICAgICByZXR1cm4gdHJ1
ZTsKQEAgLTY3NywxNiArNjkyLDE0IEBAIEVpbmFfQm9vbCBld2tfdmlld19zY2FsZV9zZXQoRXZh
c19PYmplY3QqIGV3a1ZpZXcsIGRvdWJsZSBzY2FsZUZhY3RvciwgaW50IHgsIGluCiAKIGRvdWJs
ZSBld2tfdmlld19zY2FsZV9nZXQoY29uc3QgRXZhc19PYmplY3QqIGV3a1ZpZXcpCiB7Ci0gICAg
RVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEsIC0xKTsKLSAgICBF
V0tfVklFV19JTVBMX0dFVF9PUl9SRVRVUk4oc21hcnREYXRhLCBpbXBsLCAtMSk7CisgICAgRVdL
X1ZJRVdfSU1QTF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIGltcGwsIC0xKTsKIAogICAgIHJldHVy
biBpbXBsLT5wYWdlKCktPnBhZ2VTY2FsZUZhY3RvcigpOwogfQogCiBFaW5hX0Jvb2wgZXdrX3Zp
ZXdfZGV2aWNlX3BpeGVsX3JhdGlvX3NldChFdmFzX09iamVjdCogZXdrVmlldywgZmxvYXQgcmF0
aW8pCiB7Ci0gICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEs
IGZhbHNlKTsKLSAgICBFV0tfVklFV19JTVBMX0dFVF9PUl9SRVRVUk4oc21hcnREYXRhLCBpbXBs
LCBmYWxzZSk7CisgICAgRVdLX1ZJRVdfSU1QTF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIGltcGws
IGZhbHNlKTsKIAogICAgIGltcGwtPnBhZ2UoKS0+c2V0Q3VzdG9tRGV2aWNlU2NhbGVGYWN0b3Io
cmF0aW8pOwogCkBAIC02OTUsMzIgKzcwOCwyOCBAQCBFaW5hX0Jvb2wgZXdrX3ZpZXdfZGV2aWNl
X3BpeGVsX3JhdGlvX3NldChFdmFzX09iamVjdCogZXdrVmlldywgZmxvYXQgcmF0aW8pCiAKIGZs
b2F0IGV3a192aWV3X2RldmljZV9waXhlbF9yYXRpb19nZXQoY29uc3QgRXZhc19PYmplY3QqIGV3
a1ZpZXcpCiB7Ci0gICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERh
dGEsIC0xLjApOwotICAgIEVXS19WSUVXX0lNUExfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIGlt
cGwsIC0xLjApOworICAgIEVXS19WSUVXX0lNUExfR0VUX09SX1JFVFVSTihld2tWaWV3LCBpbXBs
LCAtMS4wKTsKIAogICAgIHJldHVybiBpbXBsLT5wYWdlKCktPmRldmljZVNjYWxlRmFjdG9yKCk7
CiB9CiAKIHZvaWQgZXdrX3ZpZXdfdGhlbWVfc2V0KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBjb25z
dCBjaGFyKiBwYXRoKQogewotICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywg
c21hcnREYXRhKTsKLSAgICBFV0tfVklFV19JTVBMX0dFVF9PUl9SRVRVUk4oc21hcnREYXRhLCBp
bXBsKTsKKyAgICBFV0tfVklFV19JTVBMX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgaW1wbCk7CiAK
ICAgICBpbXBsLT5zZXRUaGVtZVBhdGgocGF0aCk7CiB9CiAKIGNvbnN0IGNoYXIqIGV3a192aWV3
X3RoZW1lX2dldChjb25zdCBFdmFzX09iamVjdCogZXdrVmlldykKIHsKLSAgICBFV0tfVklFV19T
RF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSwgMCk7Ci0gICAgRVdLX1ZJRVdfSU1Q
TF9HRVRfT1JfUkVUVVJOKHNtYXJ0RGF0YSwgaW1wbCwgMCk7CisgICAgRVdLX1ZJRVdfSU1QTF9H
RVRfT1JfUkVUVVJOKGV3a1ZpZXcsIGltcGwsIDApOwogCiAgICAgcmV0dXJuIGltcGwtPnRoZW1l
UGF0aCgpOwogfQogCiBFaW5hX0Jvb2wgZXdrX3ZpZXdfYmFjayhFdmFzX09iamVjdCogZXdrVmll
dykKIHsKLSAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSwg
ZmFsc2UpOwotICAgIEVXS19WSUVXX0lNUExfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIGltcGws
IGZhbHNlKTsKKyAgICBFV0tfVklFV19JTVBMX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgaW1wbCwg
ZmFsc2UpOwogCiAgICAgV2ViUGFnZVByb3h5KiBwYWdlID0gaW1wbC0+cGFnZSgpOwogICAgIGlm
IChwYWdlLT5jYW5Hb0JhY2soKSkgewpAQCAtNzMzLDggKzc0Miw3IEBAIEVpbmFfQm9vbCBld2tf
dmlld19iYWNrKEV2YXNfT2JqZWN0KiBld2tWaWV3KQogCiBFaW5hX0Jvb2wgZXdrX3ZpZXdfZm9y
d2FyZChFdmFzX09iamVjdCogZXdrVmlldykKIHsKLSAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVU
VVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSwgZmFsc2UpOwotICAgIEVXS19WSUVXX0lNUExfR0VUX09S
X1JFVFVSTihzbWFydERhdGEsIGltcGwsIGZhbHNlKTsKKyAgICBFV0tfVklFV19JTVBMX0dFVF9P
Ul9SRVRVUk4oZXdrVmlldywgaW1wbCwgZmFsc2UpOwogCiAgICAgV2ViUGFnZVByb3h5KiBwYWdl
ID0gaW1wbC0+cGFnZSgpOwogICAgIGlmIChwYWdlLT5jYW5Hb0ZvcndhcmQoKSkgewpAQCAtNzQ4
LDggKzc1Niw3IEBAIEVpbmFfQm9vbCBld2tfdmlld19mb3J3YXJkKEV2YXNfT2JqZWN0KiBld2tW
aWV3KQogRWluYV9Cb29sIGV3a192aWV3X2ludGVudF9kZWxpdmVyKEV2YXNfT2JqZWN0KiBld2tW
aWV3LCBFd2tfSW50ZW50KiBpbnRlbnQpCiB7CiAjaWYgRU5BQkxFKFdFQl9JTlRFTlRTKQotICAg
IEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21hcnREYXRhLCBmYWxzZSk7Ci0g
ICAgRVdLX1ZJRVdfSU1QTF9HRVRfT1JfUkVUVVJOKHNtYXJ0RGF0YSwgaW1wbCwgZmFsc2UpOwor
ICAgIEVXS19WSUVXX0lNUExfR0VUX09SX1JFVFVSTihld2tWaWV3LCBpbXBsLCBmYWxzZSk7CiAg
ICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKGludGVudCwgZmFsc2UpOwogCiAgICAg
V2ViUGFnZVByb3h5KiBwYWdlID0gaW1wbC0+cGFnZSgpOwpAQCAtNzYzLDMyICs3NzAsMjggQEAg
RWluYV9Cb29sIGV3a192aWV3X2ludGVudF9kZWxpdmVyKEV2YXNfT2JqZWN0KiBld2tWaWV3LCBF
d2tfSW50ZW50KiBpbnRlbnQpCiAKIEVpbmFfQm9vbCBld2tfdmlld19iYWNrX3Bvc3NpYmxlKEV2
YXNfT2JqZWN0KiBld2tWaWV3KQogewotICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdr
Vmlldywgc21hcnREYXRhLCBmYWxzZSk7Ci0gICAgRVdLX1ZJRVdfSU1QTF9HRVRfT1JfUkVUVVJO
KHNtYXJ0RGF0YSwgaW1wbCwgZmFsc2UpOworICAgIEVXS19WSUVXX0lNUExfR0VUX09SX1JFVFVS
Tihld2tWaWV3LCBpbXBsLCBmYWxzZSk7CiAKICAgICByZXR1cm4gaW1wbC0+cGFnZSgpLT5jYW5H
b0JhY2soKTsKIH0KIAogRWluYV9Cb29sIGV3a192aWV3X2ZvcndhcmRfcG9zc2libGUoRXZhc19P
YmplY3QqIGV3a1ZpZXcpCiB7Ci0gICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3
LCBzbWFydERhdGEsIGZhbHNlKTsKLSAgICBFV0tfVklFV19JTVBMX0dFVF9PUl9SRVRVUk4oc21h
cnREYXRhLCBpbXBsLCBmYWxzZSk7CisgICAgRVdLX1ZJRVdfSU1QTF9HRVRfT1JfUkVUVVJOKGV3
a1ZpZXcsIGltcGwsIGZhbHNlKTsKIAogICAgIHJldHVybiBpbXBsLT5wYWdlKCktPmNhbkdvRm9y
d2FyZCgpOwogfQogCiBFd2tfQmFja19Gb3J3YXJkX0xpc3QqIGV3a192aWV3X2JhY2tfZm9yd2Fy
ZF9saXN0X2dldChjb25zdCBFdmFzX09iamVjdCogZXdrVmlldykKIHsKLSAgICBFV0tfVklFV19T
RF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSwgMCk7Ci0gICAgRVdLX1ZJRVdfSU1Q
TF9HRVRfT1JfUkVUVVJOKHNtYXJ0RGF0YSwgaW1wbCwgMCk7CisgICAgRVdLX1ZJRVdfSU1QTF9H
RVRfT1JfUkVUVVJOKGV3a1ZpZXcsIGltcGwsIDApOwogCiAgICAgcmV0dXJuIGltcGwtPmJhY2tG
b3J3YXJkTGlzdCgpOwogfQogCiBFaW5hX0Jvb2wgZXdrX3ZpZXdfaHRtbF9zdHJpbmdfbG9hZChF
dmFzX09iamVjdCogZXdrVmlldywgY29uc3QgY2hhciogaHRtbCwgY29uc3QgY2hhciogYmFzZVVy
bCwgY29uc3QgY2hhciogdW5yZWFjaGFibGVVcmwpCiB7Ci0gICAgRVdLX1ZJRVdfU0RfR0VUX09S
X1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEsIGZhbHNlKTsKLSAgICBFV0tfVklFV19JTVBMX0dF
VF9PUl9SRVRVUk4oc21hcnREYXRhLCBpbXBsLCBmYWxzZSk7CisgICAgRVdLX1ZJRVdfSU1QTF9H
RVRfT1JfUkVUVVJOKGV3a1ZpZXcsIGltcGwsIGZhbHNlKTsKICAgICBFSU5BX1NBRkVUWV9PTl9O
VUxMX1JFVFVSTl9WQUwoaHRtbCwgZmFsc2UpOwogCiAgICAgaWYgKHVucmVhY2hhYmxlVXJsICYm
ICp1bnJlYWNoYWJsZVVybCkKQEAgLTgwMywxNiArODA2LDE0IEBAIEVpbmFfQm9vbCBld2tfdmll
d19odG1sX3N0cmluZ19sb2FkKEV2YXNfT2JqZWN0KiBld2tWaWV3LCBjb25zdCBjaGFyKiBodG1s
LCBjb25zCiAKIGNvbnN0IGNoYXIqIGV3a192aWV3X3NldHRpbmdfZW5jb2RpbmdfY3VzdG9tX2dl
dChjb25zdCBFdmFzX09iamVjdCogZXdrVmlldykKIHsKLSAgICBFV0tfVklFV19TRF9HRVRfT1Jf
UkVUVVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSwgMCk7Ci0gICAgRVdLX1ZJRVdfSU1QTF9HRVRfT1Jf
UkVUVVJOKHNtYXJ0RGF0YSwgaW1wbCwgMCk7CisgICAgRVdLX1ZJRVdfSU1QTF9HRVRfT1JfUkVU
VVJOKGV3a1ZpZXcsIGltcGwsIDApOwogCiAgICAgcmV0dXJuIGltcGwtPmN1c3RvbVRleHRFbmNv
ZGluZ05hbWUoKTsKIH0KIAogRWluYV9Cb29sIGV3a192aWV3X3NldHRpbmdfZW5jb2RpbmdfY3Vz
dG9tX3NldChFdmFzX09iamVjdCogZXdrVmlldywgY29uc3QgY2hhciogZW5jb2RpbmcpCiB7Ci0g
ICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEsIGZhbHNlKTsK
LSAgICBFV0tfVklFV19JTVBMX0dFVF9PUl9SRVRVUk4oc21hcnREYXRhLCBpbXBsLCBmYWxzZSk7
CisgICAgRVdLX1ZJRVdfSU1QTF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIGltcGwsIGZhbHNlKTsK
IAogICAgIGltcGwtPnNldEN1c3RvbVRleHRFbmNvZGluZ05hbWUoZW5jb2RpbmcpOwogCkBAIC04
MzEsOCArODMyLDcgQEAgQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfRklORF9PUFRJ
T05TX1NIT1dfSElHSExJR0hULCBrV0tGaW5kT3B0aW9uc1Nob3cKIAogRWluYV9Cb29sIGV3a192
aWV3X3RleHRfZmluZChFdmFzX09iamVjdCogZXdrVmlldywgY29uc3QgY2hhciogdGV4dCwgRXdr
X0ZpbmRfT3B0aW9ucyBvcHRpb25zLCB1bnNpZ25lZCBtYXhNYXRjaENvdW50KQogewotICAgIEVX
S19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21hcnREYXRhLCBmYWxzZSk7Ci0gICAg
RVdLX1ZJRVdfSU1QTF9HRVRfT1JfUkVUVVJOKHNtYXJ0RGF0YSwgaW1wbCwgZmFsc2UpOworICAg
IEVXS19WSUVXX0lNUExfR0VUX09SX1JFVFVSTihld2tWaWV3LCBpbXBsLCBmYWxzZSk7CiAgICAg
RUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKHRleHQsIGZhbHNlKTsKIAogICAgIGltcGwt
PnBhZ2UoKS0+ZmluZFN0cmluZyhTdHJpbmc6OmZyb21VVEY4KHRleHQpLCBzdGF0aWNfY2FzdDxX
ZWJLaXQ6OkZpbmRPcHRpb25zPihvcHRpb25zKSwgbWF4TWF0Y2hDb3VudCk7CkBAIC04NDIsOCAr
ODQyLDcgQEAgRWluYV9Cb29sIGV3a192aWV3X3RleHRfZmluZChFdmFzX09iamVjdCogZXdrVmll
dywgY29uc3QgY2hhciogdGV4dCwgRXdrX0ZpbmRfT3AKIAogRWluYV9Cb29sIGV3a192aWV3X3Rl
eHRfZmluZF9oaWdobGlnaHRfY2xlYXIoRXZhc19PYmplY3QqIGV3a1ZpZXcpCiB7Ci0gICAgRVdL
X1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEsIGZhbHNlKTsKLSAgICBF
V0tfVklFV19JTVBMX0dFVF9PUl9SRVRVUk4oc21hcnREYXRhLCBpbXBsLCBmYWxzZSk7CisgICAg
RVdLX1ZJRVdfSU1QTF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIGltcGwsIGZhbHNlKTsKIAogICAg
IGltcGwtPnBhZ2UoKS0+aGlkZUZpbmRVSSgpOwogCkBAIC04NTIsOCArODUxLDcgQEAgRWluYV9C
b29sIGV3a192aWV3X3RleHRfZmluZF9oaWdobGlnaHRfY2xlYXIoRXZhc19PYmplY3QqIGV3a1Zp
ZXcpCiAKIEVpbmFfQm9vbCBld2tfdmlld190ZXh0X21hdGNoZXNfY291bnQoRXZhc19PYmplY3Qq
IGV3a1ZpZXcsIGNvbnN0IGNoYXIqIHRleHQsIEV3a19GaW5kX09wdGlvbnMgb3B0aW9ucywgdW5z
aWduZWQgbWF4TWF0Y2hDb3VudCkKIHsKLSAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKGV3
a1ZpZXcsIHNtYXJ0RGF0YSwgZmFsc2UpOwotICAgIEVXS19WSUVXX0lNUExfR0VUX09SX1JFVFVS
TihzbWFydERhdGEsIGltcGwsIGZhbHNlKTsKKyAgICBFV0tfVklFV19JTVBMX0dFVF9PUl9SRVRV
Uk4oZXdrVmlldywgaW1wbCwgZmFsc2UpOwogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJO
X1ZBTCh0ZXh0LCBmYWxzZSk7CiAKICAgICBpbXBsLT5wYWdlKCktPmNvdW50U3RyaW5nTWF0Y2hl
cyhTdHJpbmc6OmZyb21VVEY4KHRleHQpLCBzdGF0aWNfY2FzdDxXZWJLaXQ6OkZpbmRPcHRpb25z
PihvcHRpb25zKSwgbWF4TWF0Y2hDb3VudCk7CkBAIC04NjMsOCArODYxLDcgQEAgRWluYV9Cb29s
IGV3a192aWV3X3RleHRfbWF0Y2hlc19jb3VudChFdmFzX09iamVjdCogZXdrVmlldywgY29uc3Qg
Y2hhciogdGV4dCwgRXcKIAogRWluYV9Cb29sIGV3a192aWV3X21vdXNlX2V2ZW50c19lbmFibGVk
X3NldChFdmFzX09iamVjdCogZXdrVmlldywgRWluYV9Cb29sIGVuYWJsZWQpCiB7Ci0gICAgRVdL
X1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEsIGZhbHNlKTsKLSAgICBF
V0tfVklFV19JTVBMX0dFVF9PUl9SRVRVUk4oc21hcnREYXRhLCBpbXBsLCBmYWxzZSk7CisgICAg
RVdLX1ZJRVdfSU1QTF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIGltcGwsIGZhbHNlKTsKIAogICAg
IGltcGwtPnNldE1vdXNlRXZlbnRzRW5hYmxlZCghIWVuYWJsZWQpOwogCkBAIC04NzMsOCArODcw
LDcgQEAgRWluYV9Cb29sIGV3a192aWV3X21vdXNlX2V2ZW50c19lbmFibGVkX3NldChFdmFzX09i
amVjdCogZXdrVmlldywgRWluYV9Cb29sIGVuYWIKIAogRWluYV9Cb29sIGV3a192aWV3X21vdXNl
X2V2ZW50c19lbmFibGVkX2dldChjb25zdCBFdmFzX09iamVjdCogZXdrVmlldykKIHsKLSAgICBF
V0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSwgZmFsc2UpOwotICAg
IEVXS19WSUVXX0lNUExfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIGltcGwsIGZhbHNlKTsKKyAg
ICBFV0tfVklFV19JTVBMX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgaW1wbCwgZmFsc2UpOwogCiAg
ICAgcmV0dXJuIGltcGwtPm1vdXNlRXZlbnRzRW5hYmxlZCgpOwogfQpAQCAtODg0LDcgKzg4MCw3
IEBAIEVpbmFfQm9vbCBld2tfdmlld19mZWVkX3RvdWNoX2V2ZW50KEV2YXNfT2JqZWN0KiBld2tW
aWV3LCBFd2tfVG91Y2hfRXZlbnRfVHlwZSB0CiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKICAg
ICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwocG9pbnRzLCBmYWxzZSk7CiAgICAgRVdL
X1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEsIGZhbHNlKTsKLSAgICBF
V0tfVklFV19JTVBMX0dFVF9PUl9SRVRVUk4oc21hcnREYXRhLCBpbXBsLCBmYWxzZSk7CisgICAg
RVdLX1ZJRVdfSU1QTF9HRVRfQllfU0RfT1JfUkVUVVJOKHNtYXJ0RGF0YSwgaW1wbCwgZmFsc2Up
OwogCiAgICAgRXZhc19Qb2ludCBwb3NpdGlvbiA9IHsgc21hcnREYXRhLT52aWV3LngsIHNtYXJ0
RGF0YS0+dmlldy55IH07CiAgICAgLy8gRklYTUU6IFRvdWNoIHBvaW50cyBkbyBub3QgdGFrZSBz
Y3JvbGwgcG9zaXRpb24gYW5kIHNjYWxlIGludG8gYWNjb3VudCB3aGVuIApAQCAtOTAwLDggKzg5
Niw3IEBAIEVpbmFfQm9vbCBld2tfdmlld19mZWVkX3RvdWNoX2V2ZW50KEV2YXNfT2JqZWN0KiBl
d2tWaWV3LCBFd2tfVG91Y2hfRXZlbnRfVHlwZSB0CiBFaW5hX0Jvb2wgZXdrX3ZpZXdfdG91Y2hf
ZXZlbnRzX2VuYWJsZWRfc2V0KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBFaW5hX0Jvb2wgZW5hYmxl
ZCkKIHsKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQotICAgIEVXS19WSUVXX1NEX0dFVF9PUl9S
RVRVUk4oZXdrVmlldywgc21hcnREYXRhLCBmYWxzZSk7Ci0gICAgRVdLX1ZJRVdfSU1QTF9HRVRf
T1JfUkVUVVJOKHNtYXJ0RGF0YSwgaW1wbCwgZmFsc2UpOworICAgIEVXS19WSUVXX0lNUExfR0VU
X09SX1JFVFVSTihld2tWaWV3LCBpbXBsLCBmYWxzZSk7CiAKICAgICBpbXBsLT5zZXRUb3VjaEV2
ZW50c0VuYWJsZWQoISFlbmFibGVkKTsKIApAQCAtOTE0LDggKzkwOSw3IEBAIEVpbmFfQm9vbCBl
d2tfdmlld190b3VjaF9ldmVudHNfZW5hYmxlZF9zZXQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIEVp
bmFfQm9vbCBlbmFiCiBFaW5hX0Jvb2wgZXdrX3ZpZXdfdG91Y2hfZXZlbnRzX2VuYWJsZWRfZ2V0
KGNvbnN0IEV2YXNfT2JqZWN0KiBld2tWaWV3KQogewogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMp
Ci0gICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEsIGZhbHNl
KTsKLSAgICBFV0tfVklFV19JTVBMX0dFVF9PUl9SRVRVUk4oc21hcnREYXRhLCBpbXBsLCBmYWxz
ZSk7CisgICAgRVdLX1ZJRVdfSU1QTF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIGltcGwsIGZhbHNl
KTsKIAogICAgIHJldHVybiBpbXBsLT50b3VjaEV2ZW50c0VuYWJsZWQoKTsKICNlbHNlCkBAIC05
MjYsOCArOTIwLDcgQEAgRWluYV9Cb29sIGV3a192aWV3X3RvdWNoX2V2ZW50c19lbmFibGVkX2dl
dChjb25zdCBFdmFzX09iamVjdCogZXdrVmlldykKIEVpbmFfQm9vbCBld2tfdmlld19pbnNwZWN0
b3Jfc2hvdyhFdmFzX09iamVjdCogZXdrVmlldykKIHsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQot
ICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21hcnREYXRhLCBmYWxzZSk7
Ci0gICAgRVdLX1ZJRVdfSU1QTF9HRVRfT1JfUkVUVVJOKHNtYXJ0RGF0YSwgaW1wbCwgZmFsc2Up
OworICAgIEVXS19WSUVXX0lNUExfR0VUX09SX1JFVFVSTihld2tWaWV3LCBpbXBsLCBmYWxzZSk7
CiAKICAgICBXZWJJbnNwZWN0b3JQcm94eSogaW5zcGVjdG9yID0gaW1wbC0+cGFnZSgpLT5pbnNw
ZWN0b3IoKTsKICAgICBpZiAoaW5zcGVjdG9yKQpAQCAtOTQyLDggKzkzNSw3IEBAIEVpbmFfQm9v
bCBld2tfdmlld19pbnNwZWN0b3Jfc2hvdyhFdmFzX09iamVjdCogZXdrVmlldykKIEVpbmFfQm9v
bCBld2tfdmlld19pbnNwZWN0b3JfY2xvc2UoRXZhc19PYmplY3QqIGV3a1ZpZXcpCiB7CiAjaWYg
RU5BQkxFKElOU1BFQ1RPUikKLSAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcs
IHNtYXJ0RGF0YSwgZmFsc2UpOwotICAgIEVXS19WSUVXX0lNUExfR0VUX09SX1JFVFVSTihzbWFy
dERhdGEsIGltcGwsIGZhbHNlKTsKKyAgICBFV0tfVklFV19JTVBMX0dFVF9PUl9SRVRVUk4oZXdr
VmlldywgaW1wbCwgZmFsc2UpOwogCiAgICAgV2ViSW5zcGVjdG9yUHJveHkqIGluc3BlY3RvciA9
IGltcGwtPnBhZ2UoKS0+aW5zcGVjdG9yKCk7CiAgICAgaWYgKGluc3BlY3RvcikKQEAgLTk2NCw4
ICs5NTYsNyBAQCBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19QQUdJTkFUSU9OX01P
REVfQk9UVE9NX1RPX1RPUCwgV2ViQ29yZTo6UGFnaW5hdAogCiBFaW5hX0Jvb2wgZXdrX3ZpZXdf
cGFnaW5hdGlvbl9tb2RlX3NldChFdmFzX09iamVjdCogZXdrVmlldywgRXdrX1BhZ2luYXRpb25f
TW9kZSBtb2RlKQogewotICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21h
cnREYXRhLCBmYWxzZSk7Ci0gICAgRVdLX1ZJRVdfSU1QTF9HRVRfT1JfUkVUVVJOKHNtYXJ0RGF0
YSwgaW1wbCwgZmFsc2UpOworICAgIEVXS19WSUVXX0lNUExfR0VUX09SX1JFVFVSTihld2tWaWV3
LCBpbXBsLCBmYWxzZSk7CiAgICAgCiAgICAgaW1wbC0+cGFnZSgpLT5zZXRQYWdpbmF0aW9uTW9k
ZShzdGF0aWNfY2FzdDxXZWJDb3JlOjpQYWdpbmF0aW9uOjpNb2RlPihtb2RlKSk7CiAKQEAgLTk3
NCw4ICs5NjUsNyBAQCBFaW5hX0Jvb2wgZXdrX3ZpZXdfcGFnaW5hdGlvbl9tb2RlX3NldChFdmFz
X09iamVjdCogZXdrVmlldywgRXdrX1BhZ2luYXRpb25fTW9kZQogCiBFd2tfUGFnaW5hdGlvbl9N
b2RlIGV3a192aWV3X3BhZ2luYXRpb25fbW9kZV9nZXQoY29uc3QgRXZhc19PYmplY3QqIGV3a1Zp
ZXcpCiB7Ci0gICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEs
IEVXS19QQUdJTkFUSU9OX01PREVfSU5WQUxJRCk7Ci0gICAgRVdLX1ZJRVdfSU1QTF9HRVRfT1Jf
UkVUVVJOKHNtYXJ0RGF0YSwgaW1wbCwgRVdLX1BBR0lOQVRJT05fTU9ERV9JTlZBTElEKTsKKyAg
ICBFV0tfVklFV19JTVBMX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgaW1wbCwgRVdLX1BBR0lOQVRJ
T05fTU9ERV9JTlZBTElEKTsKIAogICAgIHJldHVybiBzdGF0aWNfY2FzdDxFd2tfUGFnaW5hdGlv
bl9Nb2RlPihpbXBsLT5wYWdlKCktPnBhZ2luYXRpb25Nb2RlKCkpOwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>