<?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>201465</bug_id>
          
          <creation_ts>2019-09-04 11:51:12 -0700</creation_ts>
          <short_desc>IndexedDB: use SQL COUNT statement for count operation</short_desc>
          <delta_ts>2019-09-06 11:29:21 -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>New Bugs</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sihui Liu">sihui_liu</reporter>
          <assigned_to name="Sihui Liu">sihui_liu</assigned_to>
          <cc>alecflett</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>jsbell</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1567812</commentid>
    <comment_count>0</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2019-09-04 11:51:12 -0700</bug_when>
    <thetext>Currently we do count by moving objectStore/index iterator from begin to end and counting the steps, which is slower than using SQL COUNT statement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1567815</commentid>
    <comment_count>1</comment_count>
      <attachid>377996</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2019-09-04 11:59:01 -0700</bug_when>
    <thetext>Created attachment 377996
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1567823</commentid>
    <comment_count>2</comment_count>
      <attachid>378000</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2019-09-04 12:24:53 -0700</bug_when>
    <thetext>Created attachment 378000
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568235</commentid>
    <comment_count>3</comment_count>
      <attachid>378000</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2019-09-05 13:51:02 -0700</bug_when>
    <thetext>Comment on attachment 378000
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568608</commentid>
    <comment_count>4</comment_count>
      <attachid>378000</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-06 11:28:37 -0700</bug_when>
    <thetext>Comment on attachment 378000
Patch

Clearing flags on attachment: 378000

Committed r249583: &lt;https://trac.webkit.org/changeset/249583&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568609</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-06 11:28:39 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568610</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-09-06 11:29:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/55120531&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377996</attachid>
            <date>2019-09-04 11:59:01 -0700</date>
            <delta_ts>2019-09-04 12:24:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201465-20190904115900.patch</filename>
            <type>text/plain</type>
            <size>9669</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5NDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2E1ZTE4NzYyNmYzMGUw
ZjQxOTIzOTQwYjMzOGUyYTg0MzkyOTM4OS4uMmU1MTZmZGNiNzM2M2QzMDE5ZTE0NjRhOWJjNDNi
NTY0NGMzYzlkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE5LTA5LTA0ICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIEluZGV4ZWREQjogdXNlIFNR
TCBDT1VOVCBzdGF0ZW1lbnQgZm9yIGNvdW50IG9wZXJhdGlvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDY1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgZGlkIGNvdW50IG9wZXJhdGlvbiBieSBt
b3Zpbmcgb2JqZWN0U3RvcmUvaW5kZXggaXRlcmF0b3IgZnJvbSBiZWdpbiB0byBlbmQgYW5kIGNv
dW50aW5nIHRoZSBzdGVwcy4gV2UgY2FuCisgICAgICAgIHV0aWxpemUgdGhlIFNRTCBDT1VOVCBz
dGF0ZW1lbnQsIGFuZCBpbXByb3ZlIHRoZSBwZXJmb3JtYW5jZSBmdXJ0aGVyIGJ5IGNhY2hpbmcg
dGhlIHN0YXRlbWVudC4KKworICAgICAgICBUZXN0ZWQgb24gcmVsZWFzZSBidWlsZCBtaW5pYnJv
d3Nlci4gV2l0aG91dCB0aGUgY2hhbmdlLCB0aGUgbWVhbiB0aW1lIHRvIGNvbXBsZXRlIG9uZSBp
dGVyYXRpb24gaW4gCisgICAgICAgIFBlcmZvcm1hbmNlVGVzdHMvSW5kZXhlZERCL2Jhc2ljL2lu
ZGV4LWNvdW50Lmh0bWwgYW5kIFBlcmZvcm1hbmNlVGVzdHMvSW5kZXhlZERCL2Jhc2ljL29iamVj
dFN0b3JlLWNvdW50Lmh0bWwgaXMKKyAgICAgICAgYWJvdXQgNTBtcy4gV2l0aCB0aGUgY2hhbmdl
IGl0IGlzIGFib3V0IDJtcy4KKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9T
UUxpdGVJREJCYWNraW5nU3RvcmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpT
UUxpdGVJREJCYWNraW5nU3RvcmU6OmdldENvdW50KToKKyAgICAgICAgKFdlYkNvcmU6OklEQlNl
cnZlcjo6U1FMaXRlSURCQmFja2luZ1N0b3JlOjpjYWNoZWRTdGF0ZW1lbnQpOgorICAgICAgICAo
V2ViQ29yZTo6SURCU2VydmVyOjpTUUxpdGVJREJCYWNraW5nU3RvcmU6OmNsb3NlU1FMaXRlREIp
OgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TUUxpdGVJREJCYWNraW5nU3Rv
cmUuaDoKKwogMjAxOS0wOS0wMyAgQ2hyaXMgTG9yZCAgPGNsb3JkQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW0dTdHJlYW1lcl0gQWRkIHN1cHBvcnQgdG8gY29weSBZVVYgdmlkZW8gdGV4dHVyZXMg
aW50byBpbWFnZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L3NlcnZlci9TUUxpdGVJREJCYWNraW5nU3RvcmUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQkJhY2tpbmdTdG9yZS5jcHAKaW5kZXggOGQ0ZGM5
NjUxZmUxNmZjZjI4ZDJjOTJkMzBlYjhiZWM3ZTU2Y2IxZi4uYzgwMjQ3MGRlMmE0YWFiMGIyNTQ4
M2I0MGU4Y2ZkYTEyYzA2ZWEzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQkJhY2tpbmdTdG9yZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQkJhY2tpbmdTdG9yZS5jcHAK
QEAgLTIzMDQsMjEgKzIzMDQsNzggQEAgSURCRXJyb3IgU1FMaXRlSURCQmFja2luZ1N0b3JlOjpn
ZXRDb3VudChjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW8KICAgICBBU1NF
UlQobV9zcWxpdGVEQik7CiAgICAgQVNTRVJUKG1fc3FsaXRlREItPmlzT3BlbigpKTsKIAotICAg
IG91dENvdW50ID0gMDsKLQogICAgIGF1dG8qIHRyYW5zYWN0aW9uID0gbV90cmFuc2FjdGlvbnMu
Z2V0KHRyYW5zYWN0aW9uSWRlbnRpZmllcik7CiAgICAgaWYgKCF0cmFuc2FjdGlvbiB8fCAhdHJh
bnNhY3Rpb24tPmluUHJvZ3Jlc3MoKSkKICAgICAgICAgcmV0dXJuIElEQkVycm9yIHsgVW5rbm93
bkVycm9yLCAiQXR0ZW1wdCB0byBnZXQgY291bnQgZnJvbSBkYXRhYmFzZSB3aXRob3V0IGFuIGlu
LXByb2dyZXNzIHRyYW5zYWN0aW9uIl9zIH07CiAKLSAgICBhdXRvIGN1cnNvciA9IHRyYW5zYWN0
aW9uLT5tYXliZU9wZW5CYWNraW5nU3RvcmVDdXJzb3Iob2JqZWN0U3RvcmVJZGVudGlmaWVyLCBp
bmRleElkZW50aWZpZXIsIHJhbmdlKTsKLSAgICBpZiAoIWN1cnNvcikgewotICAgICAgICBMT0df
RVJST1IoIkNhbm5vdCBvcGVuIGN1cnNvciB0byBwb3B1bGF0ZSBpbmRleGVzIGluIGRhdGFiYXNl
Iik7Ci0gICAgICAgIHJldHVybiBJREJFcnJvciB7IFVua25vd25FcnJvciwgIlVuYWJsZSB0byBw
b3B1bGF0ZSBpbmRleGVzIGluIGRhdGFiYXNlIl9zIH07Ci0gICAgfQorICAgIG91dENvdW50ID0g
MDsKIAotICAgIHdoaWxlIChjdXJzb3ItPmFkdmFuY2UoMSkpCi0gICAgICAgICsrb3V0Q291bnQ7
CisgICAgYXV0byBsb3dlcktleSA9IHJhbmdlLmxvd2VyS2V5LmlzTnVsbCgpID8gSURCS2V5RGF0
YTo6bWluaW11bSgpIDogcmFuZ2UubG93ZXJLZXk7CisgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4g
bG93ZXJCdWZmZXIgPSBzZXJpYWxpemVJREJLZXlEYXRhKGxvd2VyS2V5KTsKKyAgICBpZiAoIWxv
d2VyQnVmZmVyKSB7CisgICAgICAgIExPR19FUlJPUigiVW5hYmxlIHRvIHNlcmlhbGl6ZSBsb3dl
ciBJREJLZXkgaW4gbG9va3VwIHJhbmdlIik7CisgICAgICAgIHJldHVybiBJREJFcnJvciB7IFVu
a25vd25FcnJvciwgIlVuYWJsZSB0byBzZXJpYWxpemUgbG93ZXIgSURCS2V5IGluIGxvb2t1cCBy
YW5nZSBmb3IgY291bnQgb3BlcmF0aW9uIl9zIH07CisgICAgfQogCisgICAgYXV0byB1cHBlcktl
eSA9IHJhbmdlLnVwcGVyS2V5LmlzTnVsbCgpID8gSURCS2V5RGF0YTo6bWF4aW11bSgpIDogcmFu
Z2UudXBwZXJLZXk7CisgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gdXBwZXJCdWZmZXIgPSBzZXJp
YWxpemVJREJLZXlEYXRhKHVwcGVyS2V5KTsKKyAgICBpZiAoIXVwcGVyQnVmZmVyKSB7CisgICAg
ICAgIExPR19FUlJPUigiVW5hYmxlIHRvIHNlcmlhbGl6ZSB1cHBlciBJREJLZXkgaW4gbG9va3Vw
IHJhbmdlIik7CisgICAgICAgIHJldHVybiBJREJFcnJvciB7IFVua25vd25FcnJvciwgIlVuYWJs
ZSB0byBzZXJpYWxpemUgdXBwZXIgSURCS2V5IGluIGxvb2t1cCByYW5nZSBmb3IgY291bnQgb3Bl
cmF0aW9uIl9zIH07CisgICAgfQorCisgICAgU1FMaXRlU3RhdGVtZW50KiBzdGF0ZW1lbnQgPSBu
dWxscHRyOworCisgICAgaWYgKCFpbmRleElkZW50aWZpZXIpIHsKKyAgICAgICAgc3RhdGljIGNv
bnN0IGNoYXIqIGNvbnN0IGNvdW50TG93ZXJPcGVuVXBwZXJPcGVuUmVjb3JkcyA9ICJTRUxFQ1Qg
Q09VTlQoKikgRlJPTSBSZWNvcmRzIFdIRVJFIG9iamVjdFN0b3JlSUQgPSA/IEFORCBrZXkgPiBD
QVNUKD8gQVMgVEVYVCkgQU5EIGtleSA8IENBU1QoPyBBUyBURVhUKTsiOworICAgICAgICBzdGF0
aWMgY29uc3QgY2hhciogY29uc3QgY291bnRMb3dlck9wZW5VcHBlckNsb3NlZFJlY29yZHMgPSAi
U0VMRUNUIENPVU5UKCopIEZST00gUmVjb3JkcyBXSEVSRSBvYmplY3RTdG9yZUlEID0gPyBBTkQg
a2V5ID4gQ0FTVCg/IEFTIFRFWFQpIEFORCBrZXkgPD0gQ0FTVCg/IEFTIFRFWFQpOyI7CisgICAg
ICAgIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBjb3VudExvd2VyQ2xvc2VkVXBwZXJPcGVuUmVj
b3JkcyA9ICJTRUxFQ1QgQ09VTlQoKikgRlJPTSBSZWNvcmRzIFdIRVJFIG9iamVjdFN0b3JlSUQg
PSA/IEFORCBrZXkgPj0gQ0FTVCg/IEFTIFRFWFQpIEFORCBrZXkgPCBDQVNUKD8gQVMgVEVYVCk7
IjsKKyAgICAgICAgc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGNvdW50TG93ZXJDbG9zZWRVcHBl
ckNsb3NlZFJlY29yZHMgPSAiU0VMRUNUIENPVU5UKCopIEZST00gUmVjb3JkcyBXSEVSRSBvYmpl
Y3RTdG9yZUlEID0gPyBBTkQga2V5ID49IENBU1QoPyBBUyBURVhUKSBBTkQga2V5IDw9IENBU1Qo
PyBBUyBURVhUKTsiOworCisgICAgICAgIGlmIChyYW5nZS5sb3dlck9wZW4gJiYgcmFuZ2UudXBw
ZXJPcGVuKQorICAgICAgICAgICAgc3RhdGVtZW50ID0gY2FjaGVkU3RhdGVtZW50KFNRTDo6Q291
bnRSZWNvcmRzTG93ZXJPcGVuVXBwZXJPcGVuLCBjb3VudExvd2VyT3BlblVwcGVyT3BlblJlY29y
ZHMpOworICAgICAgICBlbHNlIGlmIChyYW5nZS5sb3dlck9wZW4gJiYgIXJhbmdlLnVwcGVyT3Bl
bikKKyAgICAgICAgICAgIHN0YXRlbWVudCA9IGNhY2hlZFN0YXRlbWVudChTUUw6OkNvdW50UmVj
b3Jkc0xvd2VyT3BlblVwcGVyQ2xvc2VkLCBjb3VudExvd2VyT3BlblVwcGVyQ2xvc2VkUmVjb3Jk
cyk7CisgICAgICAgIGVsc2UgaWYgKCFyYW5nZS5sb3dlck9wZW4gJiYgcmFuZ2UudXBwZXJPcGVu
KQorICAgICAgICAgICAgc3RhdGVtZW50ID0gY2FjaGVkU3RhdGVtZW50KFNRTDo6Q291bnRSZWNv
cmRzTG93ZXJDbG9zZWRVcHBlck9wZW4sIGNvdW50TG93ZXJDbG9zZWRVcHBlck9wZW5SZWNvcmRz
KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgc3RhdGVtZW50ID0gY2FjaGVkU3RhdGVtZW50
KFNRTDo6Q291bnRSZWNvcmRzTG93ZXJDbG9zZWRVcHBlckNsb3NlZCwgY291bnRMb3dlckNsb3Nl
ZFVwcGVyQ2xvc2VkUmVjb3Jkcyk7CisgICAgICAgIAorICAgICAgICBpZiAoIXN0YXRlbWVudAor
ICAgICAgICAgICAgfHwgc3RhdGVtZW50LT5iaW5kSW50NjQoMSwgb2JqZWN0U3RvcmVJZGVudGlm
aWVyKSAhPSBTUUxJVEVfT0sKKyAgICAgICAgICAgIHx8IHN0YXRlbWVudC0+YmluZEJsb2IoMiwg
bG93ZXJCdWZmZXItPmRhdGEoKSwgbG93ZXJCdWZmZXItPnNpemUoKSkgIT0gU1FMSVRFX09LCisg
ICAgICAgICAgICB8fCBzdGF0ZW1lbnQtPmJpbmRCbG9iKDMsIHVwcGVyQnVmZmVyLT5kYXRhKCks
IHVwcGVyQnVmZmVyLT5zaXplKCkpICE9IFNRTElURV9PSykgeworICAgICAgICAgICAgTE9HX0VS
Uk9SKCJDb3VsZCBub3QgY291bnQgcmVjb3JkcyBpbiBvYmplY3Qgc3RvcmUgJSIgUFJJaTY0ICIg
ZnJvbSBSZWNvcmRzIHRhYmxlICglaSkgLSAlcyIsIG9iamVjdFN0b3JlSUQsIG1fc3FsaXRlREIt
Pmxhc3RFcnJvcigpLCBtX3NxbGl0ZURCLT5sYXN0RXJyb3JNc2coKSk7CisgICAgICAgICAgICBy
ZXR1cm4gSURCRXJyb3IgeyBVbmtub3duRXJyb3IsICJVbmFibGUgdG8gY291bnQgcmVjb3JkcyBp
biBvYmplY3Qgc3RvcmUgZHVlIHRvIGJpbmRpbmcgZmFpbHVyZSJfcyB9OworICAgICAgICB9Cisg
ICAgfSBlbHNlIHsKKyAgICAgICAgc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGNvdW50TG93ZXJP
cGVuVXBwZXJPcGVuSW5kZXhSZWNvcmRzID0gIlNFTEVDVCBDT1VOVCgqKSBGUk9NIEluZGV4UmVj
b3JkcyBXSEVSRSBpbmRleElEID0gPyBBTkQga2V5ID4gQ0FTVCg/IEFTIFRFWFQpIEFORCBrZXkg
PCBDQVNUKD8gQVMgVEVYVCk7IjsKKyAgICAgICAgc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGNv
dW50TG93ZXJPcGVuVXBwZXJDbG9zZWRJbmRleFJlY29yZHMgPSAiU0VMRUNUIENPVU5UKCopIEZS
T00gSW5kZXhSZWNvcmRzIFdIRVJFIGluZGV4SUQgPSA/IEFORCBrZXkgPiBDQVNUKD8gQVMgVEVY
VCkgQU5EIGtleSA8PSBDQVNUKD8gQVMgVEVYVCk7IjsKKyAgICAgICAgc3RhdGljIGNvbnN0IGNo
YXIqIGNvbnN0IGNvdW50TG93ZXJDbG9zZWRVcHBlck9wZW5JbmRleFJlY29yZHMgPSAiU0VMRUNU
IENPVU5UKCopIEZST00gSW5kZXhSZWNvcmRzIFdIRVJFIGluZGV4SUQgPSA/IEFORCBrZXkgPj0g
Q0FTVCg/IEFTIFRFWFQpIEFORCBrZXkgPCBDQVNUKD8gQVMgVEVYVCk7IjsKKyAgICAgICAgc3Rh
dGljIGNvbnN0IGNoYXIqIGNvbnN0IGNvdW50TG93ZXJDbG9zZWRVcHBlckNsb3NlZEluZGV4UmVj
b3JkcyA9ICJTRUxFQ1QgQ09VTlQoKikgRlJPTSBJbmRleFJlY29yZHMgV0hFUkUgaW5kZXhJRCA9
ID8gQU5EIGtleSA+PSBDQVNUKD8gQVMgVEVYVCkgQU5EIGtleSA8PSBDQVNUKD8gQVMgVEVYVCk7
IjsKKyAgICAgICAgCisgICAgICAgIGlmIChyYW5nZS5sb3dlck9wZW4gJiYgcmFuZ2UudXBwZXJP
cGVuKQorICAgICAgICAgICAgc3RhdGVtZW50ID0gY2FjaGVkU3RhdGVtZW50KFNRTDo6Q291bnRJ
bmRleFJlY29yZHNMb3dlck9wZW5VcHBlck9wZW4sIGNvdW50TG93ZXJPcGVuVXBwZXJPcGVuSW5k
ZXhSZWNvcmRzKTsKKyAgICAgICAgZWxzZSBpZiAocmFuZ2UubG93ZXJPcGVuICYmICFyYW5nZS51
cHBlck9wZW4pCisgICAgICAgICAgICBzdGF0ZW1lbnQgPSBjYWNoZWRTdGF0ZW1lbnQoU1FMOjpD
b3VudEluZGV4UmVjb3Jkc0xvd2VyT3BlblVwcGVyQ2xvc2VkLCBjb3VudExvd2VyT3BlblVwcGVy
Q2xvc2VkSW5kZXhSZWNvcmRzKTsKKyAgICAgICAgZWxzZSBpZiAoIXJhbmdlLmxvd2VyT3BlbiAm
JiByYW5nZS51cHBlck9wZW4pCisgICAgICAgICAgICBzdGF0ZW1lbnQgPSBjYWNoZWRTdGF0ZW1l
bnQoU1FMOjpDb3VudEluZGV4UmVjb3Jkc0xvd2VyQ2xvc2VkVXBwZXJPcGVuLCBjb3VudExvd2Vy
Q2xvc2VkVXBwZXJPcGVuSW5kZXhSZWNvcmRzKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAg
c3RhdGVtZW50ID0gY2FjaGVkU3RhdGVtZW50KFNRTDo6Q291bnRJbmRleFJlY29yZHNMb3dlckNs
b3NlZFVwcGVyQ2xvc2VkLCBjb3VudExvd2VyQ2xvc2VkVXBwZXJDbG9zZWRJbmRleFJlY29yZHMp
OworCisgICAgICAgIGlmICghc3RhdGVtZW50CisgICAgICAgICAgICB8fCBzdGF0ZW1lbnQtPmJp
bmRJbnQ2NCgxLCBpbmRleElkZW50aWZpZXIpICE9IFNRTElURV9PSworICAgICAgICAgICAgfHwg
c3RhdGVtZW50LT5iaW5kQmxvYigyLCBsb3dlckJ1ZmZlci0+ZGF0YSgpLCBsb3dlckJ1ZmZlci0+
c2l6ZSgpKSAhPSBTUUxJVEVfT0sKKyAgICAgICAgICAgIHx8IHN0YXRlbWVudC0+YmluZEJsb2Io
MywgdXBwZXJCdWZmZXItPmRhdGEoKSwgdXBwZXJCdWZmZXItPnNpemUoKSkgIT0gU1FMSVRFX09L
KSB7CisgICAgICAgICAgICBMT0dfRVJST1IoIkNvdWxkIG5vdCBjb3VudCByZWNvcmRzIGluIG9i
amVjdCBzdG9yZSAlIiBQUklpNjQgIiBmcm9tIEluZGV4UmVjb3JkcyB0YWJsZSAoJWkpIC0gJXMi
LCBvYmplY3RTdG9yZUlELCBtX3NxbGl0ZURCLT5sYXN0RXJyb3IoKSwgbV9zcWxpdGVEQi0+bGFz
dEVycm9yTXNnKCkpOworICAgICAgICAgICAgcmV0dXJuIElEQkVycm9yIHsgVW5rbm93bkVycm9y
LCAiVW5hYmxlIHRvIGNvdW50IHJlY29yZHMgZm9yIGluZGV4IGR1ZSB0byBiaW5kaW5nIGZhaWx1
cmUiX3MgfTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmIChzdGF0ZW1lbnQtPnN0ZXAoKSAh
PSBTUUxJVEVfUk9XKQorICAgICAgICByZXR1cm4gSURCRXJyb3IgeyBVbmtub3duRXJyb3IsICJV
bmFibGUgdG8gY291bnQgcmVjb3JkcyJfcyB9OworCisgICAgb3V0Q291bnQgPSBzdGF0ZW1lbnQt
PmdldENvbHVtbkludCgwKTsKICAgICByZXR1cm4gSURCRXJyb3IgeyB9OwogfQogCkBAIC0yNTcx
LDcgKzI2MjgsNyBAQCB2b2lkIFNRTGl0ZUlEQkJhY2tpbmdTdG9yZTo6dW5yZWdpc3RlckN1cnNv
cihTUUxpdGVJREJDdXJzb3ImIGN1cnNvcikKIAogU1FMaXRlU3RhdGVtZW50KiBTUUxpdGVJREJC
YWNraW5nU3RvcmU6OmNhY2hlZFN0YXRlbWVudChTUUxpdGVJREJCYWNraW5nU3RvcmU6OlNRTCBz
cWwsIGNvbnN0IGNoYXIqIHN0YXRlbWVudCkKIHsKLSAgICBpZiAoc3FsID49IFNRTDo6Q291bnQp
IHsKKyAgICBpZiAoc3FsID49IFNRTDo6SW52YWxpZCkgewogICAgICAgICBMT0dfRVJST1IoIklu
dmFsaWQgU1FMIHN0YXRlbWVudCBJRCBwYXNzZWQgdG8gY2FjaGVkU3RhdGVtZW50KCkiKTsKICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQpAQCAtMjU5OCw3ICsyNjU1LDcgQEAgdm9pZCBT
UUxpdGVJREJCYWNraW5nU3RvcmU6OmNsb3NlKCkKIAogdm9pZCBTUUxpdGVJREJCYWNraW5nU3Rv
cmU6OmNsb3NlU1FMaXRlREIoKQogewotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc3RhdGlj
X2Nhc3Q8aW50PihTUUw6OkNvdW50KTsgKytpKQorICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
c3RhdGljX2Nhc3Q8aW50PihTUUw6OkludmFsaWQpOyArK2kpCiAgICAgICAgIG1fY2FjaGVkU3Rh
dGVtZW50c1tpXSA9IG51bGxwdHI7CiAKICAgICBpZiAobV9zcWxpdGVEQikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TUUxpdGVJREJCYWNraW5n
U3RvcmUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TUUxpdGVJ
REJCYWNraW5nU3RvcmUuaAppbmRleCA2OTE2ZGFkMjJmZDJlNGUxZjcyMjJmMTgxNGI3NTM0MjQ1
YmZhN2IyLi5iZmQ2MDZjYTRlZTk3ZjYwNmVlNmJjNDY4NWE5ZWZjOGEzZDI4MDFlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQmFj
a2luZ1N0b3JlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVy
L1NRTGl0ZUlEQkJhY2tpbmdTdG9yZS5oCkBAIC0xODIsMTMgKzE4MiwyMSBAQCBwcml2YXRlOgog
ICAgICAgICBHZXRLZXlSZWNvcmRzTG93ZXJPcGVuVXBwZXJDbG9zZWQsCiAgICAgICAgIEdldEtl
eVJlY29yZHNMb3dlckNsb3NlZFVwcGVyT3BlbiwKICAgICAgICAgR2V0S2V5UmVjb3Jkc0xvd2Vy
Q2xvc2VkVXBwZXJDbG9zZWQsCi0gICAgICAgIENvdW50CisgICAgICAgIENvdW50UmVjb3Jkc0xv
d2VyT3BlblVwcGVyT3BlbiwKKyAgICAgICAgQ291bnRSZWNvcmRzTG93ZXJPcGVuVXBwZXJDbG9z
ZWQsCisgICAgICAgIENvdW50UmVjb3Jkc0xvd2VyQ2xvc2VkVXBwZXJPcGVuLAorICAgICAgICBD
b3VudFJlY29yZHNMb3dlckNsb3NlZFVwcGVyQ2xvc2VkLAorICAgICAgICBDb3VudEluZGV4UmVj
b3Jkc0xvd2VyT3BlblVwcGVyT3BlbiwKKyAgICAgICAgQ291bnRJbmRleFJlY29yZHNMb3dlck9w
ZW5VcHBlckNsb3NlZCwKKyAgICAgICAgQ291bnRJbmRleFJlY29yZHNMb3dlckNsb3NlZFVwcGVy
T3BlbiwKKyAgICAgICAgQ291bnRJbmRleFJlY29yZHNMb3dlckNsb3NlZFVwcGVyQ2xvc2VkLAor
ICAgICAgICBJbnZhbGlkLAogICAgIH07CiAKICAgICBTUUxpdGVTdGF0ZW1lbnQqIGNhY2hlZFN0
YXRlbWVudChTUUwsIGNvbnN0IGNoYXIqKTsKICAgICBTUUxpdGVTdGF0ZW1lbnQqIGNhY2hlZFN0
YXRlbWVudEZvckdldEFsbE9iamVjdFN0b3JlUmVjb3Jkcyhjb25zdCBJREJHZXRBbGxSZWNvcmRz
RGF0YSYpOwogCi0gICAgc3RkOjp1bmlxdWVfcHRyPFNRTGl0ZVN0YXRlbWVudD4gbV9jYWNoZWRT
dGF0ZW1lbnRzW3N0YXRpY19jYXN0PGludD4oU1FMOjpDb3VudCldOworICAgIHN0ZDo6dW5pcXVl
X3B0cjxTUUxpdGVTdGF0ZW1lbnQ+IG1fY2FjaGVkU3RhdGVtZW50c1tzdGF0aWNfY2FzdDxpbnQ+
KFNRTDo6SW52YWxpZCldOwogCiAgICAgUEFMOjpTZXNzaW9uSUQgbV9zZXNzaW9uSUQ7CiAgICAg
SURCRGF0YWJhc2VJZGVudGlmaWVyIG1faWRlbnRpZmllcjsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378000</attachid>
            <date>2019-09-04 12:24:53 -0700</date>
            <delta_ts>2019-09-06 11:28:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201465-20190904122452.patch</filename>
            <type>text/plain</type>
            <size>9658</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5NDg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmUwNGVhY2RlZTI0YmYz
ZGI4NzA4MTMxZWU1MjEwOGU4NTg5MzA2YS4uNmMzYWMwNDEyZjE1MDZkNTViYmVmMTJmMWJiMjY5
MTY5ODkxNjNiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE5LTA5LTA0ICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIEluZGV4ZWREQjogdXNlIFNR
TCBDT1VOVCBzdGF0ZW1lbnQgZm9yIGNvdW50IG9wZXJhdGlvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDY1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgZGlkIGNvdW50IG9wZXJhdGlvbiBieSBt
b3Zpbmcgb2JqZWN0U3RvcmUvaW5kZXggaXRlcmF0b3IgZnJvbSBiZWdpbiB0byBlbmQgYW5kIGNv
dW50aW5nIHRoZSBzdGVwcy4gV2UgY2FuCisgICAgICAgIHV0aWxpemUgdGhlIFNRTCBDT1VOVCBz
dGF0ZW1lbnQsIGFuZCBpbXByb3ZlIHRoZSBwZXJmb3JtYW5jZSBmdXJ0aGVyIGJ5IGNhY2hpbmcg
dGhlIHN0YXRlbWVudC4KKworICAgICAgICBUZXN0ZWQgb24gcmVsZWFzZSBidWlsZCBtaW5pYnJv
d3Nlci4gV2l0aG91dCB0aGUgY2hhbmdlLCB0aGUgbWVhbiB0aW1lIHRvIGNvbXBsZXRlIG9uZSBp
dGVyYXRpb24gaW4gCisgICAgICAgIFBlcmZvcm1hbmNlVGVzdHMvSW5kZXhlZERCL2Jhc2ljL2lu
ZGV4LWNvdW50Lmh0bWwgYW5kIFBlcmZvcm1hbmNlVGVzdHMvSW5kZXhlZERCL2Jhc2ljL29iamVj
dFN0b3JlLWNvdW50Lmh0bWwgaXMKKyAgICAgICAgYWJvdXQgNTBtcy4gV2l0aCB0aGUgY2hhbmdl
IGl0IGlzIGFib3V0IDJtcy4KKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9T
UUxpdGVJREJCYWNraW5nU3RvcmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpT
UUxpdGVJREJCYWNraW5nU3RvcmU6OmdldENvdW50KToKKyAgICAgICAgKFdlYkNvcmU6OklEQlNl
cnZlcjo6U1FMaXRlSURCQmFja2luZ1N0b3JlOjpjYWNoZWRTdGF0ZW1lbnQpOgorICAgICAgICAo
V2ViQ29yZTo6SURCU2VydmVyOjpTUUxpdGVJREJCYWNraW5nU3RvcmU6OmNsb3NlU1FMaXRlREIp
OgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TUUxpdGVJREJCYWNraW5nU3Rv
cmUuaDoKKwogMjAxOS0wOS0wNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAK
ICAgICAgICAgQWJzdHJhY3Qgb3V0IFdlYlNvY2tldENoYW5uZWwgbWVzc2FnZSBxdWV1ZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlE
QkJhY2tpbmdTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2
ZXIvU1FMaXRlSURCQmFja2luZ1N0b3JlLmNwcAppbmRleCA4ZDRkYzk2NTFmZTE2ZmNmMjhkMmM5
MmQzMGViOGJlYzdlNTZjYjFmLi4yNzliMzE1OTE2YmQzOWQ4ZDRhODYwNmU3MDVkYjdlNTVkMTlh
ZTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIv
U1FMaXRlSURCQmFja2luZ1N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQmFja2luZ1N0b3JlLmNwcApAQCAtMjMwNCwyMSArMjMw
NCw3OCBAQCBJREJFcnJvciBTUUxpdGVJREJCYWNraW5nU3RvcmU6OmdldENvdW50KGNvbnN0IElE
QlJlc291cmNlSWRlbnRpZmllciYgdHJhbnNhY3RpbwogICAgIEFTU0VSVChtX3NxbGl0ZURCKTsK
ICAgICBBU1NFUlQobV9zcWxpdGVEQi0+aXNPcGVuKCkpOwogCi0gICAgb3V0Q291bnQgPSAwOwot
CiAgICAgYXV0byogdHJhbnNhY3Rpb24gPSBtX3RyYW5zYWN0aW9ucy5nZXQodHJhbnNhY3Rpb25J
ZGVudGlmaWVyKTsKICAgICBpZiAoIXRyYW5zYWN0aW9uIHx8ICF0cmFuc2FjdGlvbi0+aW5Qcm9n
cmVzcygpKQogICAgICAgICByZXR1cm4gSURCRXJyb3IgeyBVbmtub3duRXJyb3IsICJBdHRlbXB0
IHRvIGdldCBjb3VudCBmcm9tIGRhdGFiYXNlIHdpdGhvdXQgYW4gaW4tcHJvZ3Jlc3MgdHJhbnNh
Y3Rpb24iX3MgfTsKIAotICAgIGF1dG8gY3Vyc29yID0gdHJhbnNhY3Rpb24tPm1heWJlT3BlbkJh
Y2tpbmdTdG9yZUN1cnNvcihvYmplY3RTdG9yZUlkZW50aWZpZXIsIGluZGV4SWRlbnRpZmllciwg
cmFuZ2UpOwotICAgIGlmICghY3Vyc29yKSB7Ci0gICAgICAgIExPR19FUlJPUigiQ2Fubm90IG9w
ZW4gY3Vyc29yIHRvIHBvcHVsYXRlIGluZGV4ZXMgaW4gZGF0YWJhc2UiKTsKLSAgICAgICAgcmV0
dXJuIElEQkVycm9yIHsgVW5rbm93bkVycm9yLCAiVW5hYmxlIHRvIHBvcHVsYXRlIGluZGV4ZXMg
aW4gZGF0YWJhc2UiX3MgfTsKLSAgICB9CisgICAgb3V0Q291bnQgPSAwOwogCi0gICAgd2hpbGUg
KGN1cnNvci0+YWR2YW5jZSgxKSkKLSAgICAgICAgKytvdXRDb3VudDsKKyAgICBhdXRvIGxvd2Vy
S2V5ID0gcmFuZ2UubG93ZXJLZXkuaXNOdWxsKCkgPyBJREJLZXlEYXRhOjptaW5pbXVtKCkgOiBy
YW5nZS5sb3dlcktleTsKKyAgICBSZWZQdHI8U2hhcmVkQnVmZmVyPiBsb3dlckJ1ZmZlciA9IHNl
cmlhbGl6ZUlEQktleURhdGEobG93ZXJLZXkpOworICAgIGlmICghbG93ZXJCdWZmZXIpIHsKKyAg
ICAgICAgTE9HX0VSUk9SKCJVbmFibGUgdG8gc2VyaWFsaXplIGxvd2VyIElEQktleSBpbiBsb29r
dXAgcmFuZ2UiKTsKKyAgICAgICAgcmV0dXJuIElEQkVycm9yIHsgVW5rbm93bkVycm9yLCAiVW5h
YmxlIHRvIHNlcmlhbGl6ZSBsb3dlciBJREJLZXkgaW4gbG9va3VwIHJhbmdlIGZvciBjb3VudCBv
cGVyYXRpb24iX3MgfTsKKyAgICB9CiAKKyAgICBhdXRvIHVwcGVyS2V5ID0gcmFuZ2UudXBwZXJL
ZXkuaXNOdWxsKCkgPyBJREJLZXlEYXRhOjptYXhpbXVtKCkgOiByYW5nZS51cHBlcktleTsKKyAg
ICBSZWZQdHI8U2hhcmVkQnVmZmVyPiB1cHBlckJ1ZmZlciA9IHNlcmlhbGl6ZUlEQktleURhdGEo
dXBwZXJLZXkpOworICAgIGlmICghdXBwZXJCdWZmZXIpIHsKKyAgICAgICAgTE9HX0VSUk9SKCJV
bmFibGUgdG8gc2VyaWFsaXplIHVwcGVyIElEQktleSBpbiBsb29rdXAgcmFuZ2UiKTsKKyAgICAg
ICAgcmV0dXJuIElEQkVycm9yIHsgVW5rbm93bkVycm9yLCAiVW5hYmxlIHRvIHNlcmlhbGl6ZSB1
cHBlciBJREJLZXkgaW4gbG9va3VwIHJhbmdlIGZvciBjb3VudCBvcGVyYXRpb24iX3MgfTsKKyAg
ICB9CisKKyAgICBTUUxpdGVTdGF0ZW1lbnQqIHN0YXRlbWVudCA9IG51bGxwdHI7CisKKyAgICBp
ZiAoIWluZGV4SWRlbnRpZmllcikgeworICAgICAgICBzdGF0aWMgY29uc3QgY2hhciogY29uc3Qg
Y291bnRMb3dlck9wZW5VcHBlck9wZW5SZWNvcmRzID0gIlNFTEVDVCBDT1VOVCgqKSBGUk9NIFJl
Y29yZHMgV0hFUkUgb2JqZWN0U3RvcmVJRCA9ID8gQU5EIGtleSA+IENBU1QoPyBBUyBURVhUKSBB
TkQga2V5IDwgQ0FTVCg/IEFTIFRFWFQpOyI7CisgICAgICAgIHN0YXRpYyBjb25zdCBjaGFyKiBj
b25zdCBjb3VudExvd2VyT3BlblVwcGVyQ2xvc2VkUmVjb3JkcyA9ICJTRUxFQ1QgQ09VTlQoKikg
RlJPTSBSZWNvcmRzIFdIRVJFIG9iamVjdFN0b3JlSUQgPSA/IEFORCBrZXkgPiBDQVNUKD8gQVMg
VEVYVCkgQU5EIGtleSA8PSBDQVNUKD8gQVMgVEVYVCk7IjsKKyAgICAgICAgc3RhdGljIGNvbnN0
IGNoYXIqIGNvbnN0IGNvdW50TG93ZXJDbG9zZWRVcHBlck9wZW5SZWNvcmRzID0gIlNFTEVDVCBD
T1VOVCgqKSBGUk9NIFJlY29yZHMgV0hFUkUgb2JqZWN0U3RvcmVJRCA9ID8gQU5EIGtleSA+PSBD
QVNUKD8gQVMgVEVYVCkgQU5EIGtleSA8IENBU1QoPyBBUyBURVhUKTsiOworICAgICAgICBzdGF0
aWMgY29uc3QgY2hhciogY29uc3QgY291bnRMb3dlckNsb3NlZFVwcGVyQ2xvc2VkUmVjb3JkcyA9
ICJTRUxFQ1QgQ09VTlQoKikgRlJPTSBSZWNvcmRzIFdIRVJFIG9iamVjdFN0b3JlSUQgPSA/IEFO
RCBrZXkgPj0gQ0FTVCg/IEFTIFRFWFQpIEFORCBrZXkgPD0gQ0FTVCg/IEFTIFRFWFQpOyI7CisK
KyAgICAgICAgaWYgKHJhbmdlLmxvd2VyT3BlbiAmJiByYW5nZS51cHBlck9wZW4pCisgICAgICAg
ICAgICBzdGF0ZW1lbnQgPSBjYWNoZWRTdGF0ZW1lbnQoU1FMOjpDb3VudFJlY29yZHNMb3dlck9w
ZW5VcHBlck9wZW4sIGNvdW50TG93ZXJPcGVuVXBwZXJPcGVuUmVjb3Jkcyk7CisgICAgICAgIGVs
c2UgaWYgKHJhbmdlLmxvd2VyT3BlbiAmJiAhcmFuZ2UudXBwZXJPcGVuKQorICAgICAgICAgICAg
c3RhdGVtZW50ID0gY2FjaGVkU3RhdGVtZW50KFNRTDo6Q291bnRSZWNvcmRzTG93ZXJPcGVuVXBw
ZXJDbG9zZWQsIGNvdW50TG93ZXJPcGVuVXBwZXJDbG9zZWRSZWNvcmRzKTsKKyAgICAgICAgZWxz
ZSBpZiAoIXJhbmdlLmxvd2VyT3BlbiAmJiByYW5nZS51cHBlck9wZW4pCisgICAgICAgICAgICBz
dGF0ZW1lbnQgPSBjYWNoZWRTdGF0ZW1lbnQoU1FMOjpDb3VudFJlY29yZHNMb3dlckNsb3NlZFVw
cGVyT3BlbiwgY291bnRMb3dlckNsb3NlZFVwcGVyT3BlblJlY29yZHMpOworICAgICAgICBlbHNl
CisgICAgICAgICAgICBzdGF0ZW1lbnQgPSBjYWNoZWRTdGF0ZW1lbnQoU1FMOjpDb3VudFJlY29y
ZHNMb3dlckNsb3NlZFVwcGVyQ2xvc2VkLCBjb3VudExvd2VyQ2xvc2VkVXBwZXJDbG9zZWRSZWNv
cmRzKTsKKyAgICAgICAgCisgICAgICAgIGlmICghc3RhdGVtZW50CisgICAgICAgICAgICB8fCBz
dGF0ZW1lbnQtPmJpbmRJbnQ2NCgxLCBvYmplY3RTdG9yZUlkZW50aWZpZXIpICE9IFNRTElURV9P
SworICAgICAgICAgICAgfHwgc3RhdGVtZW50LT5iaW5kQmxvYigyLCBsb3dlckJ1ZmZlci0+ZGF0
YSgpLCBsb3dlckJ1ZmZlci0+c2l6ZSgpKSAhPSBTUUxJVEVfT0sKKyAgICAgICAgICAgIHx8IHN0
YXRlbWVudC0+YmluZEJsb2IoMywgdXBwZXJCdWZmZXItPmRhdGEoKSwgdXBwZXJCdWZmZXItPnNp
emUoKSkgIT0gU1FMSVRFX09LKSB7CisgICAgICAgICAgICBMT0dfRVJST1IoIkNvdWxkIG5vdCBj
b3VudCByZWNvcmRzIGluIG9iamVjdCBzdG9yZSAlIiBQUklpNjQgIiBmcm9tIFJlY29yZHMgdGFi
bGUgKCVpKSAtICVzIiwgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCBtX3NxbGl0ZURCLT5sYXN0RXJy
b3IoKSwgbV9zcWxpdGVEQi0+bGFzdEVycm9yTXNnKCkpOworICAgICAgICAgICAgcmV0dXJuIElE
QkVycm9yIHsgVW5rbm93bkVycm9yLCAiVW5hYmxlIHRvIGNvdW50IHJlY29yZHMgaW4gb2JqZWN0
IHN0b3JlIGR1ZSB0byBiaW5kaW5nIGZhaWx1cmUiX3MgfTsKKyAgICAgICAgfQorICAgIH0gZWxz
ZSB7CisgICAgICAgIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBjb3VudExvd2VyT3BlblVwcGVy
T3BlbkluZGV4UmVjb3JkcyA9ICJTRUxFQ1QgQ09VTlQoKikgRlJPTSBJbmRleFJlY29yZHMgV0hF
UkUgaW5kZXhJRCA9ID8gQU5EIGtleSA+IENBU1QoPyBBUyBURVhUKSBBTkQga2V5IDwgQ0FTVCg/
IEFTIFRFWFQpOyI7CisgICAgICAgIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBjb3VudExvd2Vy
T3BlblVwcGVyQ2xvc2VkSW5kZXhSZWNvcmRzID0gIlNFTEVDVCBDT1VOVCgqKSBGUk9NIEluZGV4
UmVjb3JkcyBXSEVSRSBpbmRleElEID0gPyBBTkQga2V5ID4gQ0FTVCg/IEFTIFRFWFQpIEFORCBr
ZXkgPD0gQ0FTVCg/IEFTIFRFWFQpOyI7CisgICAgICAgIHN0YXRpYyBjb25zdCBjaGFyKiBjb25z
dCBjb3VudExvd2VyQ2xvc2VkVXBwZXJPcGVuSW5kZXhSZWNvcmRzID0gIlNFTEVDVCBDT1VOVCgq
KSBGUk9NIEluZGV4UmVjb3JkcyBXSEVSRSBpbmRleElEID0gPyBBTkQga2V5ID49IENBU1QoPyBB
UyBURVhUKSBBTkQga2V5IDwgQ0FTVCg/IEFTIFRFWFQpOyI7CisgICAgICAgIHN0YXRpYyBjb25z
dCBjaGFyKiBjb25zdCBjb3VudExvd2VyQ2xvc2VkVXBwZXJDbG9zZWRJbmRleFJlY29yZHMgPSAi
U0VMRUNUIENPVU5UKCopIEZST00gSW5kZXhSZWNvcmRzIFdIRVJFIGluZGV4SUQgPSA/IEFORCBr
ZXkgPj0gQ0FTVCg/IEFTIFRFWFQpIEFORCBrZXkgPD0gQ0FTVCg/IEFTIFRFWFQpOyI7CisgICAg
ICAgIAorICAgICAgICBpZiAocmFuZ2UubG93ZXJPcGVuICYmIHJhbmdlLnVwcGVyT3BlbikKKyAg
ICAgICAgICAgIHN0YXRlbWVudCA9IGNhY2hlZFN0YXRlbWVudChTUUw6OkNvdW50SW5kZXhSZWNv
cmRzTG93ZXJPcGVuVXBwZXJPcGVuLCBjb3VudExvd2VyT3BlblVwcGVyT3BlbkluZGV4UmVjb3Jk
cyk7CisgICAgICAgIGVsc2UgaWYgKHJhbmdlLmxvd2VyT3BlbiAmJiAhcmFuZ2UudXBwZXJPcGVu
KQorICAgICAgICAgICAgc3RhdGVtZW50ID0gY2FjaGVkU3RhdGVtZW50KFNRTDo6Q291bnRJbmRl
eFJlY29yZHNMb3dlck9wZW5VcHBlckNsb3NlZCwgY291bnRMb3dlck9wZW5VcHBlckNsb3NlZElu
ZGV4UmVjb3Jkcyk7CisgICAgICAgIGVsc2UgaWYgKCFyYW5nZS5sb3dlck9wZW4gJiYgcmFuZ2Uu
dXBwZXJPcGVuKQorICAgICAgICAgICAgc3RhdGVtZW50ID0gY2FjaGVkU3RhdGVtZW50KFNRTDo6
Q291bnRJbmRleFJlY29yZHNMb3dlckNsb3NlZFVwcGVyT3BlbiwgY291bnRMb3dlckNsb3NlZFVw
cGVyT3BlbkluZGV4UmVjb3Jkcyk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHN0YXRlbWVu
dCA9IGNhY2hlZFN0YXRlbWVudChTUUw6OkNvdW50SW5kZXhSZWNvcmRzTG93ZXJDbG9zZWRVcHBl
ckNsb3NlZCwgY291bnRMb3dlckNsb3NlZFVwcGVyQ2xvc2VkSW5kZXhSZWNvcmRzKTsKKworICAg
ICAgICBpZiAoIXN0YXRlbWVudAorICAgICAgICAgICAgfHwgc3RhdGVtZW50LT5iaW5kSW50NjQo
MSwgaW5kZXhJZGVudGlmaWVyKSAhPSBTUUxJVEVfT0sKKyAgICAgICAgICAgIHx8IHN0YXRlbWVu
dC0+YmluZEJsb2IoMiwgbG93ZXJCdWZmZXItPmRhdGEoKSwgbG93ZXJCdWZmZXItPnNpemUoKSkg
IT0gU1FMSVRFX09LCisgICAgICAgICAgICB8fCBzdGF0ZW1lbnQtPmJpbmRCbG9iKDMsIHVwcGVy
QnVmZmVyLT5kYXRhKCksIHVwcGVyQnVmZmVyLT5zaXplKCkpICE9IFNRTElURV9PSykgeworICAg
ICAgICAgICAgTE9HX0VSUk9SKCJDb3VsZCBub3QgY291bnQgcmVjb3JkcyB3aXRoIGluZGV4ICUi
IFBSSWk2NCAiIGZyb20gSW5kZXhSZWNvcmRzIHRhYmxlICglaSkgLSAlcyIsIGluZGV4SWRlbnRp
ZmllciwgbV9zcWxpdGVEQi0+bGFzdEVycm9yKCksIG1fc3FsaXRlREItPmxhc3RFcnJvck1zZygp
KTsKKyAgICAgICAgICAgIHJldHVybiBJREJFcnJvciB7IFVua25vd25FcnJvciwgIlVuYWJsZSB0
byBjb3VudCByZWNvcmRzIGZvciBpbmRleCBkdWUgdG8gYmluZGluZyBmYWlsdXJlIl9zIH07Cisg
ICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoc3RhdGVtZW50LT5zdGVwKCkgIT0gU1FMSVRFX1JP
VykKKyAgICAgICAgcmV0dXJuIElEQkVycm9yIHsgVW5rbm93bkVycm9yLCAiVW5hYmxlIHRvIGNv
dW50IHJlY29yZHMiX3MgfTsKKworICAgIG91dENvdW50ID0gc3RhdGVtZW50LT5nZXRDb2x1bW5J
bnQoMCk7CiAgICAgcmV0dXJuIElEQkVycm9yIHsgfTsKIH0KIApAQCAtMjU3MSw3ICsyNjI4LDcg
QEAgdm9pZCBTUUxpdGVJREJCYWNraW5nU3RvcmU6OnVucmVnaXN0ZXJDdXJzb3IoU1FMaXRlSURC
Q3Vyc29yJiBjdXJzb3IpCiAKIFNRTGl0ZVN0YXRlbWVudCogU1FMaXRlSURCQmFja2luZ1N0b3Jl
OjpjYWNoZWRTdGF0ZW1lbnQoU1FMaXRlSURCQmFja2luZ1N0b3JlOjpTUUwgc3FsLCBjb25zdCBj
aGFyKiBzdGF0ZW1lbnQpCiB7Ci0gICAgaWYgKHNxbCA+PSBTUUw6OkNvdW50KSB7CisgICAgaWYg
KHNxbCA+PSBTUUw6OkludmFsaWQpIHsKICAgICAgICAgTE9HX0VSUk9SKCJJbnZhbGlkIFNRTCBz
dGF0ZW1lbnQgSUQgcGFzc2VkIHRvIGNhY2hlZFN0YXRlbWVudCgpIik7CiAgICAgICAgIHJldHVy
biBudWxscHRyOwogICAgIH0KQEAgLTI1OTgsNyArMjY1NSw3IEBAIHZvaWQgU1FMaXRlSURCQmFj
a2luZ1N0b3JlOjpjbG9zZSgpCiAKIHZvaWQgU1FMaXRlSURCQmFja2luZ1N0b3JlOjpjbG9zZVNR
TGl0ZURCKCkKIHsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHN0YXRpY19jYXN0PGludD4o
U1FMOjpDb3VudCk7ICsraSkKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHN0YXRpY19jYXN0
PGludD4oU1FMOjpJbnZhbGlkKTsgKytpKQogICAgICAgICBtX2NhY2hlZFN0YXRlbWVudHNbaV0g
PSBudWxscHRyOwogCiAgICAgaWYgKG1fc3FsaXRlREIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQmFja2luZ1N0b3JlLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQmFja2luZ1N0
b3JlLmgKaW5kZXggNjkxNmRhZDIyZmQyZTRlMWY3MjIyZjE4MTRiNzUzNDI0NWJmYTdiMi4uYmZk
NjA2Y2E0ZWU5N2Y2MDZlZTZiYzQ2ODVhOWVmYzhhM2QyODAxZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQkJhY2tpbmdTdG9yZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TUUxpdGVJREJC
YWNraW5nU3RvcmUuaApAQCAtMTgyLDEzICsxODIsMjEgQEAgcHJpdmF0ZToKICAgICAgICAgR2V0
S2V5UmVjb3Jkc0xvd2VyT3BlblVwcGVyQ2xvc2VkLAogICAgICAgICBHZXRLZXlSZWNvcmRzTG93
ZXJDbG9zZWRVcHBlck9wZW4sCiAgICAgICAgIEdldEtleVJlY29yZHNMb3dlckNsb3NlZFVwcGVy
Q2xvc2VkLAotICAgICAgICBDb3VudAorICAgICAgICBDb3VudFJlY29yZHNMb3dlck9wZW5VcHBl
ck9wZW4sCisgICAgICAgIENvdW50UmVjb3Jkc0xvd2VyT3BlblVwcGVyQ2xvc2VkLAorICAgICAg
ICBDb3VudFJlY29yZHNMb3dlckNsb3NlZFVwcGVyT3BlbiwKKyAgICAgICAgQ291bnRSZWNvcmRz
TG93ZXJDbG9zZWRVcHBlckNsb3NlZCwKKyAgICAgICAgQ291bnRJbmRleFJlY29yZHNMb3dlck9w
ZW5VcHBlck9wZW4sCisgICAgICAgIENvdW50SW5kZXhSZWNvcmRzTG93ZXJPcGVuVXBwZXJDbG9z
ZWQsCisgICAgICAgIENvdW50SW5kZXhSZWNvcmRzTG93ZXJDbG9zZWRVcHBlck9wZW4sCisgICAg
ICAgIENvdW50SW5kZXhSZWNvcmRzTG93ZXJDbG9zZWRVcHBlckNsb3NlZCwKKyAgICAgICAgSW52
YWxpZCwKICAgICB9OwogCiAgICAgU1FMaXRlU3RhdGVtZW50KiBjYWNoZWRTdGF0ZW1lbnQoU1FM
LCBjb25zdCBjaGFyKik7CiAgICAgU1FMaXRlU3RhdGVtZW50KiBjYWNoZWRTdGF0ZW1lbnRGb3JH
ZXRBbGxPYmplY3RTdG9yZVJlY29yZHMoY29uc3QgSURCR2V0QWxsUmVjb3Jkc0RhdGEmKTsKIAot
ICAgIHN0ZDo6dW5pcXVlX3B0cjxTUUxpdGVTdGF0ZW1lbnQ+IG1fY2FjaGVkU3RhdGVtZW50c1tz
dGF0aWNfY2FzdDxpbnQ+KFNRTDo6Q291bnQpXTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8U1FMaXRl
U3RhdGVtZW50PiBtX2NhY2hlZFN0YXRlbWVudHNbc3RhdGljX2Nhc3Q8aW50PihTUUw6OkludmFs
aWQpXTsKIAogICAgIFBBTDo6U2Vzc2lvbklEIG1fc2Vzc2lvbklEOwogICAgIElEQkRhdGFiYXNl
SWRlbnRpZmllciBtX2lkZW50aWZpZXI7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>