<?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>136432</bug_id>
          
          <creation_ts>2014-09-01 11:06:38 -0700</creation_ts>
          <short_desc>[WinCairo] Memory cache capacity is not set.</short_desc>
          <delta_ts>2014-09-03 10:11:05 -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>WebCore Misc.</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>peavo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>alex.christensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1032502</commentid>
    <comment_count>0</comment_count>
    <who name="">peavo</who>
    <bug_when>2014-09-01 11:06:38 -0700</bug_when>
    <thetext>This leaves us with the default capacity, which is quite low, causing images to be removed from the cache earlier than necessary.
AppleWin already has code for this, which we can reuse.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1032505</commentid>
    <comment_count>1</comment_count>
      <attachid>237456</attachid>
    <who name="">peavo</who>
    <bug_when>2014-09-01 11:10:35 -0700</bug_when>
    <thetext>Created attachment 237456
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1032525</commentid>
    <comment_count>2</comment_count>
    <who name="Alex Christensen">alex.christensen</who>
    <bug_when>2014-09-01 14:23:57 -0700</bug_when>
    <thetext>Should there be curl equivalents of CFURLSetMemoryCapacity and CFURLSetDiskCapacity?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1032680</commentid>
    <comment_count>3</comment_count>
      <attachid>237501</attachid>
    <who name="">peavo</who>
    <bug_when>2014-09-02 10:07:22 -0700</bug_when>
    <thetext>Created attachment 237501
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1032681</commentid>
    <comment_count>4</comment_count>
    <who name="">peavo</who>
    <bug_when>2014-09-02 10:09:35 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Should there be curl equivalents of CFURLSetMemoryCapacity and CFURLSetDiskCapacity?

Thanks for reviewing, updated patch with curl equivalent of CFURLSetDiskCapacity.
I don&apos;t think there is something similar for CFURLSetMemoryCapacity.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1032691</commentid>
    <comment_count>5</comment_count>
    <who name="Alex Christensen">alex.christensen</who>
    <bug_when>2014-09-02 10:44:41 -0700</bug_when>
    <thetext>This looks good to me.  I&apos;m not sure if WinCairo even has something like the CFURL cache, though.  Brent, do you know?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1032846</commentid>
    <comment_count>6</comment_count>
      <attachid>237501</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2014-09-02 22:28:26 -0700</bug_when>
    <thetext>Comment on attachment 237501
Patch

CFURLCacheSetMemoryCapacity  and CFURLCacheSetDiskCapacity  seem to be undocumented :(

CurlCacheManager::setStorageSizeLimit just changes m_storageSizeLimit, which defaults to 50MB but this could increase it to 175MB if there is an incredible amount of space on the disk.  This seems ok to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1032854</commentid>
    <comment_count>7</comment_count>
      <attachid>237501</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-02 23:05:00 -0700</bug_when>
    <thetext>Comment on attachment 237501
Patch

Clearing flags on attachment: 237501

Committed r173200: &lt;http://trac.webkit.org/changeset/173200&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1032855</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-02 23:05:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1032859</commentid>
    <comment_count>9</comment_count>
    <who name="">peavo</who>
    <bug_when>2014-09-02 23:36:07 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 237501 [details])
&gt; CFURLCacheSetMemoryCapacity  and CFURLCacheSetDiskCapacity  seem to be undocumented :(
&gt; 
&gt; CurlCacheManager::setStorageSizeLimit just changes m_storageSizeLimit, which defaults to 50MB but this could increase it to 175MB if there is an incredible amount of space on the disk.  This seems ok to me.

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1032909</commentid>
    <comment_count>10</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-09-03 09:13:37 -0700</bug_when>
    <thetext>Note: This broke the Apple Windows build because it expected cacheMemoryCapacity (and cacheDiskCapacity) to be CFIndex type. Fixed in &lt;http://trac.webkit.org/changeset/173207&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1032916</commentid>
    <comment_count>11</comment_count>
    <who name="">peavo</who>
    <bug_when>2014-09-03 10:11:05 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Note: This broke the Apple Windows build because it expected cacheMemoryCapacity (and cacheDiskCapacity) to be CFIndex type. Fixed in &lt;http://trac.webkit.org/changeset/173207&gt;.

Thanks for fixing it, and sorry for the inconvenience ...</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>237456</attachid>
            <date>2014-09-01 11:10:35 -0700</date>
            <delta_ts>2014-09-02 10:07:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136432-20140901201025.patch</filename>
            <type>text/plain</type>
            <size>4804</size>
            <attacher>peavo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3MzE1OCkKKysrIFNvdXJjZS9XZWJLaXQv
d2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE0LTA5LTAx
ICBwZWF2b0BvdXRsb29rLmNvbSAgPHBlYXZvQG91dGxvb2suY29tPgorCisgICAgICAgIFtXaW5D
YWlyb10gTWVtb3J5IGNhY2hlIGNhcGFjaXR5IGlzIG5vdCBzZXQuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzY0MzIKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXVzZSBjb2RlIGZyb20gQXBwbGVXaW4g
dG8gc2V0IG1lbW9yeSBjYWNoZSBjYXBhY2l0eS4KKworICAgICAgICAqIFdlYlZpZXcuY3BwOgor
ICAgICAgICAoV2ViVmlldzo6c2V0Q2FjaGVNb2RlbCk6CisKIDIwMTQtMDgtMjYgIEJyZW50IEZ1
bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgW1dpbl0gV2ViS2l0IElETCBp
bmNvcnJlY3RseSBwYXNzZXMgSFdORCBhcyBPTEVfSEFORExFCkluZGV4OiBTb3VyY2UvV2ViS2l0
L3dpbi9XZWJWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3
LmNwcAkocmV2aXNpb24gMTczMTU3KQorKysgU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQ4MywxMCArNDgzLDEwIEBAIHZvaWQgV2ViVmlldzo6cmVtb3Zl
RnJvbUFsbFdlYlZpZXdzU2V0KCkKIAogdm9pZCBXZWJWaWV3OjpzZXRDYWNoZU1vZGVsKFdlYkNh
Y2hlTW9kZWwgY2FjaGVNb2RlbCkKIHsKLSNpZiBVU0UoQ0ZORVRXT1JLKQogICAgIGlmIChzX2Rp
ZFNldENhY2hlTW9kZWwgJiYgY2FjaGVNb2RlbCA9PSBzX2NhY2hlTW9kZWwpCiAgICAgICAgIHJl
dHVybjsKIAorI2lmIFVTRShDRk5FVFdPUkspCiAgICAgUmV0YWluUHRyPENGVVJMQ2FjaGVSZWY+
IGNmdXJsQ2FjaGUgPSBhZG9wdENGKENGVVJMQ2FjaGVDb3B5U2hhcmVkVVJMQ2FjaGUoKSk7CiAg
ICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBjZnVybENhY2hlRGlyZWN0b3J5ID0gYWRvcHRDRih3
a0NvcHlGb3VuZGF0aW9uQ2FjaGVEaXJlY3RvcnkoMCkpOwogICAgIGlmICghY2Z1cmxDYWNoZURp
cmVjdG9yeSkgewpAQCAtNDk3LDEwICs0OTcsMTYgQEAgdm9pZCBXZWJWaWV3OjpzZXRDYWNoZU1v
ZGVsKFdlYkNhY2hlTW9kZQogICAgICAgICAgICAgY2Z1cmxDYWNoZURpcmVjdG9yeSA9IFdlYkNv
cmU6OmxvY2FsVXNlclNwZWNpZmljU3RvcmFnZURpcmVjdG9yeSgpLmNyZWF0ZUNGU3RyaW5nKCk7
CiAgICAgfQogCisgICAgQ0ZJbmRleCBjZnVybENhY2hlTWVtb3J5Q2FwYWNpdHkgPSAwOworICAg
IENGSW5kZXggY2Z1cmxDYWNoZURpc2tDYXBhY2l0eSA9IDA7CisjZW5kaWYKKwogICAgIC8vIEFz
IGEgZnVkZ2UgZmFjdG9yLCB1c2UgMTAwMCBpbnN0ZWFkIG9mIDEwMjQsIGluIGNhc2UgdGhlIHJl
cG9ydGVkIGJ5dGUgCiAgICAgLy8gY291bnQgZG9lc24ndCBhbGlnbiBleGFjdGx5IHRvIGEgbWVn
YWJ5dGUgYm91bmRhcnkuCiAgICAgdW5zaWduZWQgbG9uZyBsb25nIG1lbVNpemUgPSBXZWJNZW1v
cnlTaXplKCkgLyAxMDI0IC8gMTAwMDsKKyNpZiBVU0UoQ0ZORVRXT1JLKQogICAgIHVuc2lnbmVk
IGxvbmcgbG9uZyBkaXNrRnJlZVNpemUgPSBXZWJWb2x1bWVGcmVlU2l6ZShjZnVybENhY2hlRGly
ZWN0b3J5LmdldCgpKSAvIDEwMjQgLyAxMDAwOworI2VuZGlmCiAKICAgICB1bnNpZ25lZCBjYWNo
ZVRvdGFsQ2FwYWNpdHkgPSAwOwogICAgIHVuc2lnbmVkIGNhY2hlTWluRGVhZENhcGFjaXR5ID0g
MDsKQEAgLTUwOSw4ICs1MTUsNiBAQCB2b2lkIFdlYlZpZXc6OnNldENhY2hlTW9kZWwoV2ViQ2Fj
aGVNb2RlCiAKICAgICB1bnNpZ25lZCBwYWdlQ2FjaGVDYXBhY2l0eSA9IDA7CiAKLSAgICBDRklu
ZGV4IGNmdXJsQ2FjaGVNZW1vcnlDYXBhY2l0eSA9IDA7Ci0gICAgQ0ZJbmRleCBjZnVybENhY2hl
RGlza0NhcGFjaXR5ID0gMDsKIAogICAgIHN3aXRjaCAoY2FjaGVNb2RlbCkgewogICAgIGNhc2Ug
V2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyOiB7CkBAIC01MzAsMTIgKzUzNCwxMyBAQCB2b2lk
IFdlYlZpZXc6OnNldENhY2hlTW9kZWwoV2ViQ2FjaGVNb2RlCiAgICAgICAgIGNhY2hlTWluRGVh
ZENhcGFjaXR5ID0gMDsKICAgICAgICAgY2FjaGVNYXhEZWFkQ2FwYWNpdHkgPSAwOwogCisjaWYg
VVNFKENGTkVUV09SSykKICAgICAgICAgLy8gRm91bmRhdGlvbiBtZW1vcnkgY2FjaGUgY2FwYWNp
dHkgKGluIGJ5dGVzKQogICAgICAgICBjZnVybENhY2hlTWVtb3J5Q2FwYWNpdHkgPSAwOwogCiAg
ICAgICAgIC8vIEZvdW5kYXRpb24gZGlzayBjYWNoZSBjYXBhY2l0eSAoaW4gYnl0ZXMpCiAgICAg
ICAgIGNmdXJsQ2FjaGVEaXNrQ2FwYWNpdHkgPSBDRlVSTENhY2hlRGlza0NhcGFjaXR5KGNmdXJs
Q2FjaGUuZ2V0KCkpOwotCisjZW5kaWYKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2Ug
V2ViQ2FjaGVNb2RlbERvY3VtZW50QnJvd3NlcjogewpAQCAtNTYyLDYgKzU2Nyw3IEBAIHZvaWQg
V2ViVmlldzo6c2V0Q2FjaGVNb2RlbChXZWJDYWNoZU1vZGUKICAgICAgICAgY2FjaGVNaW5EZWFk
Q2FwYWNpdHkgPSBjYWNoZVRvdGFsQ2FwYWNpdHkgLyA4OwogICAgICAgICBjYWNoZU1heERlYWRD
YXBhY2l0eSA9IGNhY2hlVG90YWxDYXBhY2l0eSAvIDQ7CiAKKyNpZiBVU0UoQ0ZORVRXT1JLKQog
ICAgICAgICAvLyBGb3VuZGF0aW9uIG1lbW9yeSBjYWNoZSBjYXBhY2l0eSAoaW4gYnl0ZXMpCiAg
ICAgICAgIGlmIChtZW1TaXplID49IDIwNDgpCiAgICAgICAgICAgICBjZnVybENhY2hlTWVtb3J5
Q2FwYWNpdHkgPSA0ICogMTAyNCAqIDEwMjQ7CkBAIC01ODEsNyArNTg3LDcgQEAgdm9pZCBXZWJW
aWV3OjpzZXRDYWNoZU1vZGVsKFdlYkNhY2hlTW9kZQogICAgICAgICAgICAgY2Z1cmxDYWNoZURp
c2tDYXBhY2l0eSA9IDMwICogMTAyNCAqIDEwMjQ7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAg
IGNmdXJsQ2FjaGVEaXNrQ2FwYWNpdHkgPSAyMCAqIDEwMjQgKiAxMDI0OwotCisjZW5kaWYKICAg
ICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgV2ViQ2FjaGVNb2RlbFByaW1hcnlXZWJCcm93
c2VyOiB7CkBAIC02MjAsNiArNjI2LDcgQEAgdm9pZCBXZWJWaWV3OjpzZXRDYWNoZU1vZGVsKFdl
YkNhY2hlTW9kZQogCiAgICAgICAgIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBz
dGQ6OmNocm9ubzo6c2Vjb25kcyB7IDYwIH07CiAKKyNpZiBVU0UoQ0ZORVRXT1JLKQogICAgICAg
ICAvLyBGb3VuZGF0aW9uIG1lbW9yeSBjYWNoZSBjYXBhY2l0eSAoaW4gYnl0ZXMpCiAgICAgICAg
IC8vIChUaGVzZSB2YWx1ZXMgYXJlIHNtYWxsIGJlY2F1c2UgV2ViQ29yZSBkb2VzIG1vc3QgY2Fj
aGluZyBpdHNlbGYuKQogICAgICAgICBpZiAobWVtU2l6ZSA+PSAxMDI0KQpAQCAtNjQ0LDI3ICs2
NTEsMjggQEAgdm9pZCBXZWJWaWV3OjpzZXRDYWNoZU1vZGVsKFdlYkNhY2hlTW9kZQogICAgICAg
ICAgICAgY2Z1cmxDYWNoZURpc2tDYXBhY2l0eSA9IDc1ICogMTAyNCAqIDEwMjQ7CiAgICAgICAg
IGVsc2UKICAgICAgICAgICAgIGNmdXJsQ2FjaGVEaXNrQ2FwYWNpdHkgPSA1MCAqIDEwMjQgKiAx
MDI0OwotCisjZW5kaWYKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGRlZmF1bHQ6CiAgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KIAotICAgIC8vIERvbid0IHNocmluayBh
IGJpZyBkaXNrIGNhY2hlLCBzaW5jZSB0aGF0IHdvdWxkIGNhdXNlIGNodXJuLgotICAgIGNmdXJs
Q2FjaGVEaXNrQ2FwYWNpdHkgPSBtYXgoY2Z1cmxDYWNoZURpc2tDYXBhY2l0eSwgQ0ZVUkxDYWNo
ZURpc2tDYXBhY2l0eShjZnVybENhY2hlLmdldCgpKSk7Ci0KICAgICBtZW1vcnlDYWNoZSgpLT5z
ZXRDYXBhY2l0aWVzKGNhY2hlTWluRGVhZENhcGFjaXR5LCBjYWNoZU1heERlYWRDYXBhY2l0eSwg
Y2FjaGVUb3RhbENhcGFjaXR5KTsKICAgICBtZW1vcnlDYWNoZSgpLT5zZXREZWFkRGVjb2RlZERh
dGFEZWxldGlvbkludGVydmFsKGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwpOwogICAg
IHBhZ2VDYWNoZSgpLT5zZXRDYXBhY2l0eShwYWdlQ2FjaGVDYXBhY2l0eSk7CiAKKyNpZiBVU0Uo
Q0ZORVRXT1JLKQorICAgIC8vIERvbid0IHNocmluayBhIGJpZyBkaXNrIGNhY2hlLCBzaW5jZSB0
aGF0IHdvdWxkIGNhdXNlIGNodXJuLgorICAgIGNmdXJsQ2FjaGVEaXNrQ2FwYWNpdHkgPSBtYXgo
Y2Z1cmxDYWNoZURpc2tDYXBhY2l0eSwgQ0ZVUkxDYWNoZURpc2tDYXBhY2l0eShjZnVybENhY2hl
LmdldCgpKSk7CisKICAgICBDRlVSTENhY2hlU2V0TWVtb3J5Q2FwYWNpdHkoY2Z1cmxDYWNoZS5n
ZXQoKSwgY2Z1cmxDYWNoZU1lbW9yeUNhcGFjaXR5KTsKICAgICBDRlVSTENhY2hlU2V0RGlza0Nh
cGFjaXR5KGNmdXJsQ2FjaGUuZ2V0KCksIGNmdXJsQ2FjaGVEaXNrQ2FwYWNpdHkpOworI2VuZGlm
CiAKICAgICBzX2RpZFNldENhY2hlTW9kZWwgPSB0cnVlOwogICAgIHNfY2FjaGVNb2RlbCA9IGNh
Y2hlTW9kZWw7CiAgICAgcmV0dXJuOwotI2VuZGlmCiB9CiAKIFdlYkNhY2hlTW9kZWwgV2ViVmll
dzo6Y2FjaGVNb2RlbCgpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>237501</attachid>
            <date>2014-09-02 10:07:22 -0700</date>
            <delta_ts>2014-09-02 23:05:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136432-20140902190709.patch</filename>
            <type>text/plain</type>
            <size>9540</size>
            <attacher>peavo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3MzE3NykKKysrIFNvdXJjZS9XZWJLaXQv
d2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE0LTA5LTAy
ICBwZWF2b0BvdXRsb29rLmNvbSAgPHBlYXZvQG91dGxvb2suY29tPgorCisgICAgICAgIFtXaW5D
YWlyb10gTWVtb3J5IGNhY2hlIGNhcGFjaXR5IGlzIG5vdCBzZXQuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzY0MzIKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXVzZSBjb2RlIGZyb20gQXBwbGVXaW4g
dG8gc2V0IG1lbW9yeSBhbmQgZGlzayBjYWNoZSBjYXBhY2l0eS4KKworICAgICAgICAqIFdlYktp
dFN5c3RlbUJpdHMuY3BwOgorICAgICAgICAoV2ViVm9sdW1lRnJlZVNpemUpOgorICAgICAgICAq
IFdlYktpdFN5c3RlbUJpdHMuaDoKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKFdl
YlZpZXc6OnNldENhY2hlTW9kZWwpOgorCiAyMDE0LTA4LTI2ICBCcmVudCBGdWxnaGFtICA8YmZ1
bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFtXaW5dIFdlYktpdCBJREwgaW5jb3JyZWN0bHkg
cGFzc2VzIEhXTkQgYXMgT0xFX0hBTkRMRQpJbmRleDogU291cmNlL1dlYktpdC93aW4vV2ViS2l0
U3lzdGVtQml0cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vV2ViS2l0U3lz
dGVtQml0cy5jcHAJKHJldmlzaW9uIDE3MzE1NykKKysrIFNvdXJjZS9XZWJLaXQvd2luL1dlYktp
dFN5c3RlbUJpdHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw5ICsyOSw3IEBACiAjaW5jbHVk
ZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViS2l0U3lzdGVtQml0cy5oIgogCi0jaW5jbHVkZSA8
Q29yZUZvdW5kYXRpb24vQ29yZUZvdW5kYXRpb24uaD4KICNpbmNsdWRlIDx3aW5kb3dzLmg+Ci0j
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIHVuc2lnbmVkIGxvbmcgbG9uZyBXZWJN
ZW1vcnlTaXplKCkKIHsKQEAgLTQxLDkgKzM5LDggQEAgdW5zaWduZWQgbG9uZyBsb25nIFdlYk1l
bW9yeVNpemUoKQogICAgIHJldHVybiBzdGF0ZXgudWxsVG90YWxQaHlzOwogfQogCi11bnNpZ25l
ZCBsb25nIGxvbmcgV2ViVm9sdW1lRnJlZVNpemUoQ0ZTdHJpbmdSZWYgY2ZzdHJpbmdQYXRoKQor
dW5zaWduZWQgbG9uZyBsb25nIFdlYlZvbHVtZUZyZWVTaXplKGNvbnN0IFN0cmluZyYgcGF0aCkK
IHsKLSAgICBXVEY6OlN0cmluZyBwYXRoKGNmc3RyaW5nUGF0aCk7CiAgICAgVUxBUkdFX0lOVEVH
RVIgZnJlZUJ5dGVzVG9DYWxsZXI7CiAgICAgQk9PTCByZXN1bHQgPSBHZXREaXNrRnJlZVNwYWNl
RXhXKChMUENXU1RSKXBhdGguY2hhcmFjdGVyc1dpdGhOdWxsVGVybWluYXRpb24oKS5kYXRhKCks
ICZmcmVlQnl0ZXNUb0NhbGxlciwgMCwgMCk7CiAgICAgaWYgKCFyZXN1bHQpCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJLaXRTeXN0ZW1CaXRzLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC93aW4vV2ViS2l0U3lzdGVtQml0cy5oCShyZXZpc2lvbiAxNzMxNTcpCisrKyBTb3VyY2Uv
V2ViS2l0L3dpbi9XZWJLaXRTeXN0ZW1CaXRzLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDkgKzI5
LDkgQEAKICNpZm5kZWYgV2ViS2l0U3lzdGVtQml0c19oCiAjZGVmaW5lIFdlYktpdFN5c3RlbUJp
dHNfaAogCi10eXBlZGVmIGNvbnN0IHN0cnVjdCBfX0NGU3RyaW5nKiBDRlN0cmluZ1JlZjsKKyNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogdW5zaWduZWQgbG9uZyBsb25nIFdlYk1l
bW9yeVNpemUoKTsKLXVuc2lnbmVkIGxvbmcgbG9uZyBXZWJWb2x1bWVGcmVlU2l6ZShDRlN0cmlu
Z1JlZiBwYXRoKTsKK3Vuc2lnbmVkIGxvbmcgbG9uZyBXZWJWb2x1bWVGcmVlU2l6ZShjb25zdCBT
dHJpbmcmIHBhdGgpOwogCiAjZW5kaWYgLy8gV2ViS2l0U3lzdGVtQml0c19oCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dp
bi9XZWJWaWV3LmNwcAkocmV2aXNpb24gMTczMTU3KQorKysgU291cmNlL1dlYktpdC93aW4vV2Vi
Vmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2Miw3ICsxNjIsOSBAQAogI2lmIFVTRShDRk5F
VFdPUkspCiAjaW5jbHVkZSA8Q0ZOZXR3b3JrL0NGVVJMQ2FjaGVQcml2Lmg+CiAjaW5jbHVkZSA8
Q0ZOZXR3b3JrL0NGVVJMUHJvdG9jb2xQcml2Lmg+Ci0jaW5jbHVkZSA8V2ViS2l0U3lzdGVtSW50
ZXJmYWNlL1dlYktpdFN5c3RlbUludGVyZmFjZS5oPiAKKyNpbmNsdWRlIDxXZWJLaXRTeXN0ZW1J
bnRlcmZhY2UvV2ViS2l0U3lzdGVtSW50ZXJmYWNlLmg+CisjZWxpZiBVU0UoQ1VSTCkKKyNpbmNs
dWRlIDxXZWJDb3JlL0N1cmxDYWNoZU1hbmFnZXIuaD4KICNlbmRpZgogCiAjaWYgVVNFKENBKQpA
QCAtNDgzLDEwICs0ODUsMTIgQEAgdm9pZCBXZWJWaWV3OjpyZW1vdmVGcm9tQWxsV2ViVmlld3NT
ZXQoKQogCiB2b2lkIFdlYlZpZXc6OnNldENhY2hlTW9kZWwoV2ViQ2FjaGVNb2RlbCBjYWNoZU1v
ZGVsKQogewotI2lmIFVTRShDRk5FVFdPUkspCiAgICAgaWYgKHNfZGlkU2V0Q2FjaGVNb2RlbCAm
JiBjYWNoZU1vZGVsID09IHNfY2FjaGVNb2RlbCkKICAgICAgICAgcmV0dXJuOwogCisgICAgU3Ry
aW5nIGNhY2hlRGlyZWN0b3J5OworCisjaWYgVVNFKENGTkVUV09SSykKICAgICBSZXRhaW5QdHI8
Q0ZVUkxDYWNoZVJlZj4gY2Z1cmxDYWNoZSA9IGFkb3B0Q0YoQ0ZVUkxDYWNoZUNvcHlTaGFyZWRV
UkxDYWNoZSgpKTsKICAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IGNmdXJsQ2FjaGVEaXJlY3Rv
cnkgPSBhZG9wdENGKHdrQ29weUZvdW5kYXRpb25DYWNoZURpcmVjdG9yeSgwKSk7CiAgICAgaWYg
KCFjZnVybENhY2hlRGlyZWN0b3J5KSB7CkBAIC00OTYsMTEgKzUwMCwxOCBAQCB2b2lkIFdlYlZp
ZXc6OnNldENhY2hlTW9kZWwoV2ViQ2FjaGVNb2RlCiAgICAgICAgIGVsc2UKICAgICAgICAgICAg
IGNmdXJsQ2FjaGVEaXJlY3RvcnkgPSBXZWJDb3JlOjpsb2NhbFVzZXJTcGVjaWZpY1N0b3JhZ2VE
aXJlY3RvcnkoKS5jcmVhdGVDRlN0cmluZygpOwogICAgIH0KKyAgICBjYWNoZURpcmVjdG9yeSA9
IFN0cmluZyhjZnVybENhY2hlRGlyZWN0b3J5KTsKKyNlbGlmIFVTRShDVVJMKQorICAgIGNhY2hl
RGlyZWN0b3J5ID0gQ3VybENhY2hlTWFuYWdlcjo6Z2V0SW5zdGFuY2UoKS5jYWNoZURpcmVjdG9y
eSgpOworI2VuZGlmCisKKyAgICBsb25nIGNhY2hlTWVtb3J5Q2FwYWNpdHkgPSAwOworICAgIGxv
bmcgY2FjaGVEaXNrQ2FwYWNpdHkgPSAwOwogCiAgICAgLy8gQXMgYSBmdWRnZSBmYWN0b3IsIHVz
ZSAxMDAwIGluc3RlYWQgb2YgMTAyNCwgaW4gY2FzZSB0aGUgcmVwb3J0ZWQgYnl0ZSAKICAgICAv
LyBjb3VudCBkb2Vzbid0IGFsaWduIGV4YWN0bHkgdG8gYSBtZWdhYnl0ZSBib3VuZGFyeS4KICAg
ICB1bnNpZ25lZCBsb25nIGxvbmcgbWVtU2l6ZSA9IFdlYk1lbW9yeVNpemUoKSAvIDEwMjQgLyAx
MDAwOwotICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBkaXNrRnJlZVNpemUgPSBXZWJWb2x1bWVGcmVl
U2l6ZShjZnVybENhY2hlRGlyZWN0b3J5LmdldCgpKSAvIDEwMjQgLyAxMDAwOworICAgIHVuc2ln
bmVkIGxvbmcgbG9uZyBkaXNrRnJlZVNpemUgPSBXZWJWb2x1bWVGcmVlU2l6ZShjYWNoZURpcmVj
dG9yeSkgLyAxMDI0IC8gMTAwMDsKIAogICAgIHVuc2lnbmVkIGNhY2hlVG90YWxDYXBhY2l0eSA9
IDA7CiAgICAgdW5zaWduZWQgY2FjaGVNaW5EZWFkQ2FwYWNpdHkgPSAwOwpAQCAtNTA5LDggKzUy
MCw2IEBAIHZvaWQgV2ViVmlldzo6c2V0Q2FjaGVNb2RlbChXZWJDYWNoZU1vZGUKIAogICAgIHVu
c2lnbmVkIHBhZ2VDYWNoZUNhcGFjaXR5ID0gMDsKIAotICAgIENGSW5kZXggY2Z1cmxDYWNoZU1l
bW9yeUNhcGFjaXR5ID0gMDsKLSAgICBDRkluZGV4IGNmdXJsQ2FjaGVEaXNrQ2FwYWNpdHkgPSAw
OwogCiAgICAgc3dpdGNoIChjYWNoZU1vZGVsKSB7CiAgICAgY2FzZSBXZWJDYWNoZU1vZGVsRG9j
dW1lbnRWaWV3ZXI6IHsKQEAgLTUzMCwxMiArNTM5LDEzIEBAIHZvaWQgV2ViVmlldzo6c2V0Q2Fj
aGVNb2RlbChXZWJDYWNoZU1vZGUKICAgICAgICAgY2FjaGVNaW5EZWFkQ2FwYWNpdHkgPSAwOwog
ICAgICAgICBjYWNoZU1heERlYWRDYXBhY2l0eSA9IDA7CiAKLSAgICAgICAgLy8gRm91bmRhdGlv
biBtZW1vcnkgY2FjaGUgY2FwYWNpdHkgKGluIGJ5dGVzKQotICAgICAgICBjZnVybENhY2hlTWVt
b3J5Q2FwYWNpdHkgPSAwOworICAgICAgICAvLyBNZW1vcnkgY2FjaGUgY2FwYWNpdHkgKGluIGJ5
dGVzKQorICAgICAgICBjYWNoZU1lbW9yeUNhcGFjaXR5ID0gMDsKIAorI2lmIFVTRShDRk5FVFdP
UkspCiAgICAgICAgIC8vIEZvdW5kYXRpb24gZGlzayBjYWNoZSBjYXBhY2l0eSAoaW4gYnl0ZXMp
Ci0gICAgICAgIGNmdXJsQ2FjaGVEaXNrQ2FwYWNpdHkgPSBDRlVSTENhY2hlRGlza0NhcGFjaXR5
KGNmdXJsQ2FjaGUuZ2V0KCkpOwotCisgICAgICAgIGNhY2hlRGlza0NhcGFjaXR5ID0gQ0ZVUkxD
YWNoZURpc2tDYXBhY2l0eShjZnVybENhY2hlLmdldCgpKTsKKyNlbmRpZgogICAgICAgICBicmVh
azsKICAgICB9CiAgICAgY2FzZSBXZWJDYWNoZU1vZGVsRG9jdW1lbnRCcm93c2VyOiB7CkBAIC01
NjIsMjUgKzU3MiwyNSBAQCB2b2lkIFdlYlZpZXc6OnNldENhY2hlTW9kZWwoV2ViQ2FjaGVNb2Rl
CiAgICAgICAgIGNhY2hlTWluRGVhZENhcGFjaXR5ID0gY2FjaGVUb3RhbENhcGFjaXR5IC8gODsK
ICAgICAgICAgY2FjaGVNYXhEZWFkQ2FwYWNpdHkgPSBjYWNoZVRvdGFsQ2FwYWNpdHkgLyA0Owog
Ci0gICAgICAgIC8vIEZvdW5kYXRpb24gbWVtb3J5IGNhY2hlIGNhcGFjaXR5IChpbiBieXRlcykK
KyAgICAgICAgLy8gTWVtb3J5IGNhY2hlIGNhcGFjaXR5IChpbiBieXRlcykKICAgICAgICAgaWYg
KG1lbVNpemUgPj0gMjA0OCkKLSAgICAgICAgICAgIGNmdXJsQ2FjaGVNZW1vcnlDYXBhY2l0eSA9
IDQgKiAxMDI0ICogMTAyNDsKKyAgICAgICAgICAgIGNhY2hlTWVtb3J5Q2FwYWNpdHkgPSA0ICog
MTAyNCAqIDEwMjQ7CiAgICAgICAgIGVsc2UgaWYgKG1lbVNpemUgPj0gMTAyNCkKLSAgICAgICAg
ICAgIGNmdXJsQ2FjaGVNZW1vcnlDYXBhY2l0eSA9IDIgKiAxMDI0ICogMTAyNDsKKyAgICAgICAg
ICAgIGNhY2hlTWVtb3J5Q2FwYWNpdHkgPSAyICogMTAyNCAqIDEwMjQ7CiAgICAgICAgIGVsc2Ug
aWYgKG1lbVNpemUgPj0gNTEyKQotICAgICAgICAgICAgY2Z1cmxDYWNoZU1lbW9yeUNhcGFjaXR5
ID0gMSAqIDEwMjQgKiAxMDI0OworICAgICAgICAgICAgY2FjaGVNZW1vcnlDYXBhY2l0eSA9IDEg
KiAxMDI0ICogMTAyNDsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgY2Z1cmxDYWNoZU1lbW9y
eUNhcGFjaXR5ID0gICAgICA1MTIgKiAxMDI0OyAKKyAgICAgICAgICAgIGNhY2hlTWVtb3J5Q2Fw
YWNpdHkgPSAgICAgIDUxMiAqIDEwMjQ7IAogCi0gICAgICAgIC8vIEZvdW5kYXRpb24gZGlzayBj
YWNoZSBjYXBhY2l0eSAoaW4gYnl0ZXMpCisgICAgICAgIC8vIERpc2sgY2FjaGUgY2FwYWNpdHkg
KGluIGJ5dGVzKQogICAgICAgICBpZiAoZGlza0ZyZWVTaXplID49IDE2Mzg0KQotICAgICAgICAg
ICAgY2Z1cmxDYWNoZURpc2tDYXBhY2l0eSA9IDUwICogMTAyNCAqIDEwMjQ7CisgICAgICAgICAg
ICBjYWNoZURpc2tDYXBhY2l0eSA9IDUwICogMTAyNCAqIDEwMjQ7CiAgICAgICAgIGVsc2UgaWYg
KGRpc2tGcmVlU2l6ZSA+PSA4MTkyKQotICAgICAgICAgICAgY2Z1cmxDYWNoZURpc2tDYXBhY2l0
eSA9IDQwICogMTAyNCAqIDEwMjQ7CisgICAgICAgICAgICBjYWNoZURpc2tDYXBhY2l0eSA9IDQw
ICogMTAyNCAqIDEwMjQ7CiAgICAgICAgIGVsc2UgaWYgKGRpc2tGcmVlU2l6ZSA+PSA0MDk2KQot
ICAgICAgICAgICAgY2Z1cmxDYWNoZURpc2tDYXBhY2l0eSA9IDMwICogMTAyNCAqIDEwMjQ7Cisg
ICAgICAgICAgICBjYWNoZURpc2tDYXBhY2l0eSA9IDMwICogMTAyNCAqIDEwMjQ7CiAgICAgICAg
IGVsc2UKLSAgICAgICAgICAgIGNmdXJsQ2FjaGVEaXNrQ2FwYWNpdHkgPSAyMCAqIDEwMjQgKiAx
MDI0OworICAgICAgICAgICAgY2FjaGVEaXNrQ2FwYWNpdHkgPSAyMCAqIDEwMjQgKiAxMDI0Owog
CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTYyMCwzMCArNjMwLDMwIEBAIHZvaWQgV2ViVmll
dzo6c2V0Q2FjaGVNb2RlbChXZWJDYWNoZU1vZGUKIAogICAgICAgICBkZWFkRGVjb2RlZERhdGFE
ZWxldGlvbkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyA2MCB9OwogCi0gICAgICAg
IC8vIEZvdW5kYXRpb24gbWVtb3J5IGNhY2hlIGNhcGFjaXR5IChpbiBieXRlcykKKyAgICAgICAg
Ly8gTWVtb3J5IGNhY2hlIGNhcGFjaXR5IChpbiBieXRlcykKICAgICAgICAgLy8gKFRoZXNlIHZh
bHVlcyBhcmUgc21hbGwgYmVjYXVzZSBXZWJDb3JlIGRvZXMgbW9zdCBjYWNoaW5nIGl0c2VsZi4p
CiAgICAgICAgIGlmIChtZW1TaXplID49IDEwMjQpCi0gICAgICAgICAgICBjZnVybENhY2hlTWVt
b3J5Q2FwYWNpdHkgPSA0ICogMTAyNCAqIDEwMjQ7CisgICAgICAgICAgICBjYWNoZU1lbW9yeUNh
cGFjaXR5ID0gNCAqIDEwMjQgKiAxMDI0OwogICAgICAgICBlbHNlIGlmIChtZW1TaXplID49IDUx
MikKLSAgICAgICAgICAgIGNmdXJsQ2FjaGVNZW1vcnlDYXBhY2l0eSA9IDIgKiAxMDI0ICogMTAy
NDsKKyAgICAgICAgICAgIGNhY2hlTWVtb3J5Q2FwYWNpdHkgPSAyICogMTAyNCAqIDEwMjQ7CiAg
ICAgICAgIGVsc2UgaWYgKG1lbVNpemUgPj0gMjU2KQotICAgICAgICAgICAgY2Z1cmxDYWNoZU1l
bW9yeUNhcGFjaXR5ID0gMSAqIDEwMjQgKiAxMDI0OworICAgICAgICAgICAgY2FjaGVNZW1vcnlD
YXBhY2l0eSA9IDEgKiAxMDI0ICogMTAyNDsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgY2Z1
cmxDYWNoZU1lbW9yeUNhcGFjaXR5ID0gICAgICA1MTIgKiAxMDI0OyAKKyAgICAgICAgICAgIGNh
Y2hlTWVtb3J5Q2FwYWNpdHkgPSAgICAgIDUxMiAqIDEwMjQ7IAogCi0gICAgICAgIC8vIEZvdW5k
YXRpb24gZGlzayBjYWNoZSBjYXBhY2l0eSAoaW4gYnl0ZXMpCisgICAgICAgIC8vIERpc2sgY2Fj
aGUgY2FwYWNpdHkgKGluIGJ5dGVzKQogICAgICAgICBpZiAoZGlza0ZyZWVTaXplID49IDE2Mzg0
KQotICAgICAgICAgICAgY2Z1cmxDYWNoZURpc2tDYXBhY2l0eSA9IDE3NSAqIDEwMjQgKiAxMDI0
OworICAgICAgICAgICAgY2FjaGVEaXNrQ2FwYWNpdHkgPSAxNzUgKiAxMDI0ICogMTAyNDsKICAg
ICAgICAgZWxzZSBpZiAoZGlza0ZyZWVTaXplID49IDgxOTIpCi0gICAgICAgICAgICBjZnVybENh
Y2hlRGlza0NhcGFjaXR5ID0gMTUwICogMTAyNCAqIDEwMjQ7CisgICAgICAgICAgICBjYWNoZURp
c2tDYXBhY2l0eSA9IDE1MCAqIDEwMjQgKiAxMDI0OwogICAgICAgICBlbHNlIGlmIChkaXNrRnJl
ZVNpemUgPj0gNDA5NikKLSAgICAgICAgICAgIGNmdXJsQ2FjaGVEaXNrQ2FwYWNpdHkgPSAxMjUg
KiAxMDI0ICogMTAyNDsKKyAgICAgICAgICAgIGNhY2hlRGlza0NhcGFjaXR5ID0gMTI1ICogMTAy
NCAqIDEwMjQ7CiAgICAgICAgIGVsc2UgaWYgKGRpc2tGcmVlU2l6ZSA+PSAyMDQ4KQotICAgICAg
ICAgICAgY2Z1cmxDYWNoZURpc2tDYXBhY2l0eSA9IDEwMCAqIDEwMjQgKiAxMDI0OworICAgICAg
ICAgICAgY2FjaGVEaXNrQ2FwYWNpdHkgPSAxMDAgKiAxMDI0ICogMTAyNDsKICAgICAgICAgZWxz
ZSBpZiAoZGlza0ZyZWVTaXplID49IDEwMjQpCi0gICAgICAgICAgICBjZnVybENhY2hlRGlza0Nh
cGFjaXR5ID0gNzUgKiAxMDI0ICogMTAyNDsKKyAgICAgICAgICAgIGNhY2hlRGlza0NhcGFjaXR5
ID0gNzUgKiAxMDI0ICogMTAyNDsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgY2Z1cmxDYWNo
ZURpc2tDYXBhY2l0eSA9IDUwICogMTAyNCAqIDEwMjQ7CisgICAgICAgICAgICBjYWNoZURpc2tD
YXBhY2l0eSA9IDUwICogMTAyNCAqIDEwMjQ7CiAKICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAt
NjUxLDIwICs2NjEsMjMgQEAgdm9pZCBXZWJWaWV3OjpzZXRDYWNoZU1vZGVsKFdlYkNhY2hlTW9k
ZQogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CiAKLSAgICAvLyBEb24ndCBz
aHJpbmsgYSBiaWcgZGlzayBjYWNoZSwgc2luY2UgdGhhdCB3b3VsZCBjYXVzZSBjaHVybi4KLSAg
ICBjZnVybENhY2hlRGlza0NhcGFjaXR5ID0gbWF4KGNmdXJsQ2FjaGVEaXNrQ2FwYWNpdHksIENG
VVJMQ2FjaGVEaXNrQ2FwYWNpdHkoY2Z1cmxDYWNoZS5nZXQoKSkpOwotCiAgICAgbWVtb3J5Q2Fj
aGUoKS0+c2V0Q2FwYWNpdGllcyhjYWNoZU1pbkRlYWRDYXBhY2l0eSwgY2FjaGVNYXhEZWFkQ2Fw
YWNpdHksIGNhY2hlVG90YWxDYXBhY2l0eSk7CiAgICAgbWVtb3J5Q2FjaGUoKS0+c2V0RGVhZERl
Y29kZWREYXRhRGVsZXRpb25JbnRlcnZhbChkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFs
KTsKICAgICBwYWdlQ2FjaGUoKS0+c2V0Q2FwYWNpdHkocGFnZUNhY2hlQ2FwYWNpdHkpOwogCi0g
ICAgQ0ZVUkxDYWNoZVNldE1lbW9yeUNhcGFjaXR5KGNmdXJsQ2FjaGUuZ2V0KCksIGNmdXJsQ2Fj
aGVNZW1vcnlDYXBhY2l0eSk7Ci0gICAgQ0ZVUkxDYWNoZVNldERpc2tDYXBhY2l0eShjZnVybENh
Y2hlLmdldCgpLCBjZnVybENhY2hlRGlza0NhcGFjaXR5KTsKKyNpZiBVU0UoQ0ZORVRXT1JLKQor
ICAgIC8vIERvbid0IHNocmluayBhIGJpZyBkaXNrIGNhY2hlLCBzaW5jZSB0aGF0IHdvdWxkIGNh
dXNlIGNodXJuLgorICAgIGNhY2hlRGlza0NhcGFjaXR5ID0gbWF4KGNhY2hlRGlza0NhcGFjaXR5
LCBDRlVSTENhY2hlRGlza0NhcGFjaXR5KGNmdXJsQ2FjaGUuZ2V0KCkpKTsKKworICAgIENGVVJM
Q2FjaGVTZXRNZW1vcnlDYXBhY2l0eShjZnVybENhY2hlLmdldCgpLCBjYWNoZU1lbW9yeUNhcGFj
aXR5KTsKKyAgICBDRlVSTENhY2hlU2V0RGlza0NhcGFjaXR5KGNmdXJsQ2FjaGUuZ2V0KCksIGNh
Y2hlRGlza0NhcGFjaXR5KTsKKyNlbGlmIFVTRShDVVJMKQorICAgIEN1cmxDYWNoZU1hbmFnZXI6
OmdldEluc3RhbmNlKCkuc2V0U3RvcmFnZVNpemVMaW1pdChjYWNoZURpc2tDYXBhY2l0eSk7Cisj
ZW5kaWYKIAogICAgIHNfZGlkU2V0Q2FjaGVNb2RlbCA9IHRydWU7CiAgICAgc19jYWNoZU1vZGVs
ID0gY2FjaGVNb2RlbDsKICAgICByZXR1cm47Ci0jZW5kaWYKIH0KIAogV2ViQ2FjaGVNb2RlbCBX
ZWJWaWV3OjpjYWNoZU1vZGVsKCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>