<?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>127869</bug_id>
          
          <creation_ts>2014-01-29 16:30:16 -0800</creation_ts>
          <short_desc>IDB: Index cursor preliminary support</short_desc>
          <delta_ts>2014-01-31 14:13:45 -0800</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>All</rep_platform>
          <op_sys>All</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>
          
          <blocked>124521</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jon Lee">jonlee</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>973520</commentid>
    <comment_count>0</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2014-01-29 16:30:16 -0800</bug_when>
    <thetext>IDB: Index cursor advance() support

&lt;rdar://problem/15941915&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>974432</commentid>
    <comment_count>1</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-01-31 12:49:29 -0800</bug_when>
    <thetext>The way advance() and iterate() are implemented, getting index cursors up and running *at all* will get both of those up and running partially.

Retitling this bug to:
IDB: Index cursor preliminary support

Retitling bug https://bugs.webkit.org/show_bug.cgi?id=127870 to:
IDB: Index cursor complete advance() and iterate() support</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>974464</commentid>
    <comment_count>2</comment_count>
      <attachid>222847</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-01-31 14:04:44 -0800</bug_when>
    <thetext>Created attachment 222847
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>974465</commentid>
    <comment_count>3</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-01-31 14:05:53 -0800</bug_when>
    <thetext>Style bot has two legitimate complaints - Fixed locally.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>974466</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-31 14:06:58 -0800</bug_when>
    <thetext>Attachment 222847 did not pass style-queue:


ERROR: Source/WebKit2/DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:66:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebKit2/DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:113:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 2 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>974468</commentid>
    <comment_count>5</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-01-31 14:13:45 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/163200</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222847</attachid>
            <date>2014-01-31 14:04:44 -0800</date>
            <delta_ts>2014-01-31 14:11:09 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>12969</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA3YmFjNDFjLi5iNGJmYThhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjYg
QEAKIDIwMTQtMDEtMzEgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCisgICAg
ICAgIElEQjogSW5kZXggY3Vyc29yIHByZWxpbWluYXJ5IHN1cHBvcnQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzg2OQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgZ2V0cyBpbmRleCBjdXJzb3Jz
IHJ1bm5pbmcgYW5kIC0gZm9yIHNvbWUgc2l0dWF0aW9ucyAtIHJldHVybmluZyByZXN1bHRzLgor
CisgICAgICAgIEJ1ZyAxMjc4NzAgd2lsbCBtYWtlIHRoZW0gZnVsbHkgZnVuY3Rpb25hbC4KKwor
ICAgICAgICAqIERhdGFiYXNlUHJvY2Vzcy9JbmRleGVkREIvc3FsaXRlL1NRTGl0ZUlEQkN1cnNv
ci5jcHA6CisgICAgICAgIChXZWJLaXQ6OmdldEluZGV4U3RhdGVtZW50KTogVXNpbmcgdGhlIGtl
eSBhbmQgc29ydGluZyBwYXJhbWV0ZXJzLCBmaW5kIHRoZSBhcHByb3ByaWF0ZSBTUUwKKyAgICAg
ICAgICBzdGF0ZW1lbnQgdG8gcnVuIGFuIGluZGV4IGN1cnNvci4KKyAgICAgICAgKFdlYktpdDo6
Z2V0T2JqZWN0U3RvcmVTdGF0ZW1lbnQpOiBTYW1lLCBidXQgZm9yIG9iamVjdCBzdG9yZSBjdXJz
b3JzLgorICAgICAgICAoV2ViS2l0OjpTUUxpdGVJREJDdXJzb3I6OmVzdGFibGlzaFN0YXRlbWVu
dCk6IERlcGVuZGluZyBvbiB0aGUgdHlwZSBvZiBjdXJzb3IsIGNob29zZSB0aGUKKyAgICAgICAg
ICBjb3JyZWN0IFNRTCBxdWVyeSBhbmQgaWQgdG8gdXNlLgorICAgICAgICAoV2ViS2l0OjpTUUxp
dGVJREJDdXJzb3I6OmNyZWF0ZVNRTGl0ZVN0YXRlbWVudCk6IFdpdGggdGhlIHBhc3NlZCBpbiBT
UUwgYW5kIGlkLCBoYW5kbGUgYm90aAorICAgICAgICAgIGluZGV4IGFuZCBvYmplY3Qgc3RvcmUg
Y3Vyc29ycy4KKyAgICAgICAgKiBEYXRhYmFzZVByb2Nlc3MvSW5kZXhlZERCL3NxbGl0ZS9TUUxp
dGVJREJDdXJzb3IuaDoKKworMjAxNC0wMS0zMSAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBs
ZS5jb20+CisKICAgICAgICAgSURCOiBvcGVuQ3Vyc29yKCkgbmVlZHMgdG8gcHJpbWUgdGhlIGN1
cnNvciB3aXRoIGZpcnN0IHBvc2l0aW9uIHZhbHVlcwogICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4MDA4CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL0RhdGFiYXNlUHJvY2Vzcy9JbmRleGVkREIvc3FsaXRlL1NRTGl0ZUlEQkN1cnNvci5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvSW5kZXhlZERCL3NxbGl0ZS9TUUxpdGVJ
REJDdXJzb3IuY3BwCmluZGV4IDIxMDQ4MjEuLmE5MDkzNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9JbmRleGVkREIvc3FsaXRlL1NRTGl0ZUlEQkN1cnNvci5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9zcWxpdGUv
U1FMaXRlSURCQ3Vyc29yLmNwcApAQCAtNjMsNjEgKzYzLDE0MSBAQCBTUUxpdGVJREJDdXJzb3I6
OlNRTGl0ZUlEQkN1cnNvcihTUUxpdGVJREJUcmFuc2FjdGlvbiogdHJhbnNhY3Rpb24sIGNvbnN0
IElEQklkZQogICAgIEFTU0VSVChtX29iamVjdFN0b3JlSUQpOwogfQogCi1ib29sIFNRTGl0ZUlE
QkN1cnNvcjo6ZXN0YWJsaXNoU3RhdGVtZW50KCkKLXsKLSAgICBpZiAobV9pbmRleElEICE9IElE
QkluZGV4TWV0YWRhdGE6OkludmFsaWRJZCkKLSAgICAgICAgcmV0dXJuIGNyZWF0ZUluZGV4Q3Vy
c29yU3RhdGVtZW50KCk7CitzdGF0aWMgY29uc3QgU3RyaW5nJiBnZXRJbmRleFN0YXRlbWVudChi
b29sIGxvd2VyS2V5LCBib29sIGxvd2VyT3BlbiwgYm9vbCB1cHBlcktleSwgYm9vbCB1cHBlck9w
ZW4sIGJvb2wgZGVzY2VuZGluZykgeworCisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChWZWN0b3I8
U3RyaW5nPiwgaW5kZXhTdGF0ZW1lbnRzLCAoKSk7CisKKyAgICBpZiAoaW5kZXhTdGF0ZW1lbnRz
LmlzRW1wdHkoKSkgeworICAgICAgICBpbmRleFN0YXRlbWVudHMucmVzZXJ2ZUNhcGFjaXR5KDE4
KTsKKworICAgICAgICAvLyBObyBsb3dlciBrZXkgc3RhdGVtZW50cyAoNikKKyAgICAgICAgaW5k
ZXhTdGF0ZW1lbnRzLmFwcGVuZChBU0NJSUxpdGVyYWwoIlNFTEVDVCBrZXksIHZhbHVlIEZST00g
SW5kZXhSZWNvcmRzIFdIRVJFIGluZGV4SUQgPSA/IE9SREVSIEJZIGtleTsiKSk7CisgICAgICAg
IGluZGV4U3RhdGVtZW50cy5hcHBlbmQoQVNDSUlMaXRlcmFsKCJTRUxFQ1Qga2V5LCB2YWx1ZSBG
Uk9NIEluZGV4UmVjb3JkcyBXSEVSRSBpbmRleElEID0gPyBPUkRFUiBCWSBrZXkgREVTQzsiKSk7
CisgICAgICAgIGluZGV4U3RhdGVtZW50cy5hcHBlbmQoQVNDSUlMaXRlcmFsKCJTRUxFQ1Qga2V5
LCB2YWx1ZSBGUk9NIEluZGV4UmVjb3JkcyBXSEVSRSBpbmRleElEID0gPyBBTkQga2V5IDwgQ0FT
VCg/IEFTIFRFWFQpIE9SREVSIEJZIGtleTsiKSk7CisgICAgICAgIGluZGV4U3RhdGVtZW50cy5h
cHBlbmQoQVNDSUlMaXRlcmFsKCJTRUxFQ1Qga2V5LCB2YWx1ZSBGUk9NIEluZGV4UmVjb3JkcyBX
SEVSRSBpbmRleElEID0gPyBBTkQga2V5IDwgQ0FTVCg/IEFTIFRFWFQpIE9SREVSIEJZIGtleSBE
RVNDOyIpKTsKKyAgICAgICAgaW5kZXhTdGF0ZW1lbnRzLmFwcGVuZChBU0NJSUxpdGVyYWwoIlNF
TEVDVCBrZXksIHZhbHVlIEZST00gSW5kZXhSZWNvcmRzIFdIRVJFIGluZGV4SUQgPSA/IEFORCBr
ZXkgPD0gQ0FTVCg/IEFTIFRFWFQpIE9SREVSIEJZIGtleTsiKSk7CisgICAgICAgIGluZGV4U3Rh
dGVtZW50cy5hcHBlbmQoQVNDSUlMaXRlcmFsKCJTRUxFQ1Qga2V5LCB2YWx1ZSBGUk9NIEluZGV4
UmVjb3JkcyBXSEVSRSBpbmRleElEID0gPyBBTkQga2V5IDw9IENBU1QoPyBBUyBURVhUKSBPUkRF
UiBCWSBrZXkgREVTQzsiKSk7CisKKyAgICAgICAgLy8gQ2xvc2VkIGxvd2VyIGtleSBzdGF0ZW1l
bnRzICg2KQorICAgICAgICBpbmRleFN0YXRlbWVudHMuYXBwZW5kKEFTQ0lJTGl0ZXJhbCgiU0VM
RUNUIGtleSwgdmFsdWUgRlJPTSBJbmRleFJlY29yZHMgV0hFUkUgaW5kZXhJRCA9ID8gQU5EIGtl
eSA+PSBDQVNUKD8gQVMgVEVYVCkgT1JERVIgQlkga2V5OyIpKTsKKyAgICAgICAgaW5kZXhTdGF0
ZW1lbnRzLmFwcGVuZChBU0NJSUxpdGVyYWwoIlNFTEVDVCBrZXksIHZhbHVlIEZST00gSW5kZXhS
ZWNvcmRzIFdIRVJFIGluZGV4SUQgPSA/IEFORCBrZXkgPj0gQ0FTVCg/IEFTIFRFWFQpIE9SREVS
IEJZIGtleSBERVNDOyIpKTsKKyAgICAgICAgaW5kZXhTdGF0ZW1lbnRzLmFwcGVuZChBU0NJSUxp
dGVyYWwoIlNFTEVDVCBrZXksIHZhbHVlIEZST00gSW5kZXhSZWNvcmRzIFdIRVJFIGluZGV4SUQg
PSA/IEFORCBrZXkgPj0gQ0FTVCg/IEFTIFRFWFQpIEFORCBrZXkgPD0gQ0FTVCg/IEFTIFRFWFQp
IE9SREVSIEJZIGtleTsiKSk7CisgICAgICAgIGluZGV4U3RhdGVtZW50cy5hcHBlbmQoQVNDSUlM
aXRlcmFsKCJTRUxFQ1Qga2V5LCB2YWx1ZSBGUk9NIEluZGV4UmVjb3JkcyBXSEVSRSBpbmRleElE
ID0gPyBBTkQga2V5ID49IENBU1QoPyBBUyBURVhUKSBBTkQga2V5IDw9IENBU1QoPyBBUyBURVhU
KSBPUkRFUiBCWSBrZXkgREVTQzsiKSk7CisgICAgICAgIGluZGV4U3RhdGVtZW50cy5hcHBlbmQo
QVNDSUlMaXRlcmFsKCJTRUxFQ1Qga2V5LCB2YWx1ZSBGUk9NIEluZGV4UmVjb3JkcyBXSEVSRSBp
bmRleElEID0gPyBBTkQga2V5ID49IENBU1QoPyBBUyBURVhUKSBBTkQga2V5IDwgQ0FTVCg/IEFT
IFRFWFQpIE9SREVSIEJZIGtleTsiKSk7CisgICAgICAgIGluZGV4U3RhdGVtZW50cy5hcHBlbmQo
QVNDSUlMaXRlcmFsKCJTRUxFQ1Qga2V5LCB2YWx1ZSBGUk9NIEluZGV4UmVjb3JkcyBXSEVSRSBp
bmRleElEID0gPyBBTkQga2V5ID49IENBU1QoPyBBUyBURVhUKSBBTkQga2V5IDwgQ0FTVCg/IEFT
IFRFWFQpIE9SREVSIEJZIGtleSBERVNDOyIpKTsKKworICAgICAgICAvLyBPcGVuIGxvd2VyIGtl
eSBzdGF0ZW1lbnRzICg2KQorICAgICAgICBpbmRleFN0YXRlbWVudHMuYXBwZW5kKEFTQ0lJTGl0
ZXJhbCgiU0VMRUNUIGtleSwgdmFsdWUgRlJPTSBJbmRleFJlY29yZHMgV0hFUkUgaW5kZXhJRCA9
ID8gQU5EIGtleSA+IENBU1QoPyBBUyBURVhUKSBPUkRFUiBCWSBrZXk7IikpOworICAgICAgICBp
bmRleFN0YXRlbWVudHMuYXBwZW5kKEFTQ0lJTGl0ZXJhbCgiU0VMRUNUIGtleSwgdmFsdWUgRlJP
TSBJbmRleFJlY29yZHMgV0hFUkUgaW5kZXhJRCA9ID8gQU5EIGtleSA+IENBU1QoPyBBUyBURVhU
KSBPUkRFUiBCWSBrZXkgREVTQzsiKSk7CisgICAgICAgIGluZGV4U3RhdGVtZW50cy5hcHBlbmQo
QVNDSUlMaXRlcmFsKCJTRUxFQ1Qga2V5LCB2YWx1ZSBGUk9NIEluZGV4UmVjb3JkcyBXSEVSRSBp
bmRleElEID0gPyBBTkQga2V5ID4gQ0FTVCg/IEFTIFRFWFQpIEFORCBrZXkgPD0gQ0FTVCg/IEFT
IFRFWFQpIE9SREVSIEJZIGtleTsiKSk7CisgICAgICAgIGluZGV4U3RhdGVtZW50cy5hcHBlbmQo
QVNDSUlMaXRlcmFsKCJTRUxFQ1Qga2V5LCB2YWx1ZSBGUk9NIEluZGV4UmVjb3JkcyBXSEVSRSBp
bmRleElEID0gPyBBTkQga2V5ID4gQ0FTVCg/IEFTIFRFWFQpIEFORCBrZXkgPD0gQ0FTVCg/IEFT
IFRFWFQpIE9SREVSIEJZIGtleSBERVNDOyIpKTsKKyAgICAgICAgaW5kZXhTdGF0ZW1lbnRzLmFw
cGVuZChBU0NJSUxpdGVyYWwoIlNFTEVDVCBrZXksIHZhbHVlIEZST00gSW5kZXhSZWNvcmRzIFdI
RVJFIGluZGV4SUQgPSA/IEFORCBrZXkgPiBDQVNUKD8gQVMgVEVYVCkgQU5EIGtleSA8IENBU1Qo
PyBBUyBURVhUKSBPUkRFUiBCWSBrZXk7IikpOworICAgICAgICBpbmRleFN0YXRlbWVudHMuYXBw
ZW5kKEFTQ0lJTGl0ZXJhbCgiU0VMRUNUIGtleSwgdmFsdWUgRlJPTSBJbmRleFJlY29yZHMgV0hF
UkUgaW5kZXhJRCA9ID8gQU5EIGtleSA+IENBU1QoPyBBUyBURVhUKSBBTkQga2V5IDwgQ0FTVCg/
IEFTIFRFWFQpIE9SREVSIEJZIGtleSBERVNDOyIpKTsKKyAgICB9CisKKyAgICBzaXplX3QgaSA9
IDA7CisgICAgaWYgKGxvd2VyS2V5KQorICAgICAgICBpICs9IDY7CisgICAgaWYgKGxvd2VyT3Bl
bikKKyAgICAgICAgaSArPSA2OworICAgIGlmICh1cHBlcktleSkKKyAgICAgICAgaSArPSAyOwor
ICAgIGlmICh1cHBlck9wZW4pCisgICAgICAgIGkgKz0gMjsKKyAgICBpZiAoZGVzY2VuZGluZykK
KyAgICAgICAgaSArPSAxOworCisgICAgcmV0dXJuIGluZGV4U3RhdGVtZW50c1tpXTsKK30KKwor
c3RhdGljIGNvbnN0IFN0cmluZyYgZ2V0T2JqZWN0U3RvcmVTdGF0ZW1lbnQoYm9vbCBsb3dlcktl
eSwgYm9vbCBsb3dlck9wZW4sIGJvb2wgdXBwZXJLZXksIGJvb2wgdXBwZXJPcGVuLCBib29sIGRl
c2NlbmRpbmcpIHsKKworICAgIERFRklORV9TVEFUSUNfTE9DQUwoVmVjdG9yPFN0cmluZz4sIGlu
ZGV4U3RhdGVtZW50cywgKCkpOworCisgICAgaWYgKGluZGV4U3RhdGVtZW50cy5pc0VtcHR5KCkp
IHsKKyAgICAgICAgaW5kZXhTdGF0ZW1lbnRzLnJlc2VydmVDYXBhY2l0eSgxOCk7CisKKyAgICAg
ICAgLy8gTm8gbG93ZXIga2V5IHN0YXRlbWVudHMgKDYpCisgICAgICAgIGluZGV4U3RhdGVtZW50
cy5hcHBlbmQoQVNDSUlMaXRlcmFsKCJTRUxFQ1Qga2V5LCB2YWx1ZSBGUk9NIFJlY29yZHMgV0hF
UkUgb2JqZWN0U3RvcmVJRCA9ID8gT1JERVIgQlkga2V5OyIpKTsKKyAgICAgICAgaW5kZXhTdGF0
ZW1lbnRzLmFwcGVuZChBU0NJSUxpdGVyYWwoIlNFTEVDVCBrZXksIHZhbHVlIEZST00gUmVjb3Jk
cyBXSEVSRSBvYmplY3RTdG9yZUlEID0gPyBPUkRFUiBCWSBrZXkgREVTQzsiKSk7CisgICAgICAg
IGluZGV4U3RhdGVtZW50cy5hcHBlbmQoQVNDSUlMaXRlcmFsKCJTRUxFQ1Qga2V5LCB2YWx1ZSBG
Uk9NIFJlY29yZHMgV0hFUkUgb2JqZWN0U3RvcmVJRCA9ID8gQU5EIGtleSA8PSBDQVNUKD8gQVMg
VEVYVCkgT1JERVIgQlkga2V5OyIpKTsKKyAgICAgICAgaW5kZXhTdGF0ZW1lbnRzLmFwcGVuZChB
U0NJSUxpdGVyYWwoIlNFTEVDVCBrZXksIHZhbHVlIEZST00gUmVjb3JkcyBXSEVSRSBvYmplY3RT
dG9yZUlEID0gPyBBTkQga2V5IDw9IENBU1QoPyBBUyBURVhUKSBPUkRFUiBCWSBrZXkgREVTQzsi
KSk7CisgICAgICAgIGluZGV4U3RhdGVtZW50cy5hcHBlbmQoQVNDSUlMaXRlcmFsKCJTRUxFQ1Qg
a2V5LCB2YWx1ZSBGUk9NIFJlY29yZHMgV0hFUkUgb2JqZWN0U3RvcmVJRCA9ID8gQU5EIGtleSA8
IENBU1QoPyBBUyBURVhUKSBPUkRFUiBCWSBrZXk7IikpOworICAgICAgICBpbmRleFN0YXRlbWVu
dHMuYXBwZW5kKEFTQ0lJTGl0ZXJhbCgiU0VMRUNUIGtleSwgdmFsdWUgRlJPTSBSZWNvcmRzIFdI
RVJFIG9iamVjdFN0b3JlSUQgPSA/IEFORCBrZXkgPCBDQVNUKD8gQVMgVEVYVCkgT1JERVIgQlkg
a2V5IERFU0M7IikpOworCisgICAgICAgIC8vIENsb3NlZCBsb3dlciBrZXkgc3RhdGVtZW50cyAo
NikKKyAgICAgICAgaW5kZXhTdGF0ZW1lbnRzLmFwcGVuZChBU0NJSUxpdGVyYWwoIlNFTEVDVCBr
ZXksIHZhbHVlIEZST00gUmVjb3JkcyBXSEVSRSBvYmplY3RTdG9yZUlEID0gPyBBTkQga2V5ID49
IENBU1QoPyBBUyBURVhUKSBPUkRFUiBCWSBrZXk7IikpOworICAgICAgICBpbmRleFN0YXRlbWVu
dHMuYXBwZW5kKEFTQ0lJTGl0ZXJhbCgiU0VMRUNUIGtleSwgdmFsdWUgRlJPTSBSZWNvcmRzIFdI
RVJFIG9iamVjdFN0b3JlSUQgPSA/IEFORCBrZXkgPj0gQ0FTVCg/IEFTIFRFWFQpIE9SREVSIEJZ
IGtleSBERVNDOyIpKTsKKyAgICAgICAgaW5kZXhTdGF0ZW1lbnRzLmFwcGVuZChBU0NJSUxpdGVy
YWwoIlNFTEVDVCBrZXksIHZhbHVlIEZST00gUmVjb3JkcyBXSEVSRSBvYmplY3RTdG9yZUlEID0g
PyBBTkQga2V5ID49IENBU1QoPyBBUyBURVhUKSBBTkQga2V5IDw9IENBU1QoPyBBUyBURVhUKSBP
UkRFUiBCWSBrZXk7IikpOworICAgICAgICBpbmRleFN0YXRlbWVudHMuYXBwZW5kKEFTQ0lJTGl0
ZXJhbCgiU0VMRUNUIGtleSwgdmFsdWUgRlJPTSBSZWNvcmRzIFdIRVJFIG9iamVjdFN0b3JlSUQg
PSA/IEFORCBrZXkgPj0gQ0FTVCg/IEFTIFRFWFQpIEFORCBrZXkgPD0gQ0FTVCg/IEFTIFRFWFQp
IE9SREVSIEJZIGtleSBERVNDOyIpKTsKKyAgICAgICAgaW5kZXhTdGF0ZW1lbnRzLmFwcGVuZChB
U0NJSUxpdGVyYWwoIlNFTEVDVCBrZXksIHZhbHVlIEZST00gUmVjb3JkcyBXSEVSRSBvYmplY3RT
dG9yZUlEID0gPyBBTkQga2V5ID49IENBU1QoPyBBUyBURVhUKSBBTkQga2V5IDwgQ0FTVCg/IEFT
IFRFWFQpIE9SREVSIEJZIGtleTsiKSk7CisgICAgICAgIGluZGV4U3RhdGVtZW50cy5hcHBlbmQo
QVNDSUlMaXRlcmFsKCJTRUxFQ1Qga2V5LCB2YWx1ZSBGUk9NIFJlY29yZHMgV0hFUkUgb2JqZWN0
U3RvcmVJRCA9ID8gQU5EIGtleSA+PSBDQVNUKD8gQVMgVEVYVCkgQU5EIGtleSA8IENBU1QoPyBB
UyBURVhUKSBPUkRFUiBCWSBrZXkgREVTQzsiKSk7CisKKyAgICAgICAgLy8gT3BlbiBsb3dlciBr
ZXkgc3RhdGVtZW50cyAoNikKKyAgICAgICAgaW5kZXhTdGF0ZW1lbnRzLmFwcGVuZChBU0NJSUxp
dGVyYWwoIlNFTEVDVCBrZXksIHZhbHVlIEZST00gUmVjb3JkcyBXSEVSRSBvYmplY3RTdG9yZUlE
ID0gPyBBTkQga2V5ID4gQ0FTVCg/IEFTIFRFWFQpIE9SREVSIEJZIGtleTsiKSk7CisgICAgICAg
IGluZGV4U3RhdGVtZW50cy5hcHBlbmQoQVNDSUlMaXRlcmFsKCJTRUxFQ1Qga2V5LCB2YWx1ZSBG
Uk9NIFJlY29yZHMgV0hFUkUgb2JqZWN0U3RvcmVJRCA9ID8gQU5EIGtleSA+IENBU1QoPyBBUyBU
RVhUKSBPUkRFUiBCWSBrZXkgREVTQzsiKSk7CisgICAgICAgIGluZGV4U3RhdGVtZW50cy5hcHBl
bmQoQVNDSUlMaXRlcmFsKCJTRUxFQ1Qga2V5LCB2YWx1ZSBGUk9NIFJlY29yZHMgV0hFUkUgb2Jq
ZWN0U3RvcmVJRCA9ID8gQU5EIGtleSA+IENBU1QoPyBBUyBURVhUKSBBTkQga2V5IDw9IENBU1Qo
PyBBUyBURVhUKSBPUkRFUiBCWSBrZXk7IikpOworICAgICAgICBpbmRleFN0YXRlbWVudHMuYXBw
ZW5kKEFTQ0lJTGl0ZXJhbCgiU0VMRUNUIGtleSwgdmFsdWUgRlJPTSBSZWNvcmRzIFdIRVJFIG9i
amVjdFN0b3JlSUQgPSA/IEFORCBrZXkgPiBDQVNUKD8gQVMgVEVYVCkgQU5EIGtleSA8PSBDQVNU
KD8gQVMgVEVYVCkgT1JERVIgQlkga2V5IERFU0M7IikpOworICAgICAgICBpbmRleFN0YXRlbWVu
dHMuYXBwZW5kKEFTQ0lJTGl0ZXJhbCgiU0VMRUNUIGtleSwgdmFsdWUgRlJPTSBSZWNvcmRzIFdI
RVJFIG9iamVjdFN0b3JlSUQgPSA/IEFORCBrZXkgPiBDQVNUKD8gQVMgVEVYVCkgQU5EIGtleSA8
IENBU1QoPyBBUyBURVhUKSBPUkRFUiBCWSBrZXk7IikpOworICAgICAgICBpbmRleFN0YXRlbWVu
dHMuYXBwZW5kKEFTQ0lJTGl0ZXJhbCgiU0VMRUNUIGtleSwgdmFsdWUgRlJPTSBSZWNvcmRzIFdI
RVJFIG9iamVjdFN0b3JlSUQgPSA/IEFORCBrZXkgPiBDQVNUKD8gQVMgVEVYVCkgQU5EIGtleSA8
IENBU1QoPyBBUyBURVhUKSBPUkRFUiBCWSBrZXkgREVTQzsiKSk7CisgICAgfQogCi0gICAgcmV0
dXJuIGNyZWF0ZU9iamVjdFN0b3JlQ3Vyc29yU3RhdGVtZW50KCk7CisgICAgc2l6ZV90IGkgPSAw
OworICAgIGlmIChsb3dlcktleSkKKyAgICAgICAgaSArPSA2OworICAgIGlmIChsb3dlck9wZW4p
CisgICAgICAgIGkgKz0gNjsKKyAgICBpZiAodXBwZXJLZXkpCisgICAgICAgIGkgKz0gMjsKKyAg
ICBpZiAodXBwZXJPcGVuKQorICAgICAgICBpICs9IDI7CisgICAgaWYgKGRlc2NlbmRpbmcpCisg
ICAgICAgIGkgKz0gMTsKKworICAgIHJldHVybiBpbmRleFN0YXRlbWVudHNbaV07CiB9CiAKLWJv
b2wgU1FMaXRlSURCQ3Vyc29yOjpjcmVhdGVJbmRleEN1cnNvclN0YXRlbWVudCgpCitib29sIFNR
TGl0ZUlEQkN1cnNvcjo6ZXN0YWJsaXNoU3RhdGVtZW50KCkKIHsKLSAgICBMT0dfRVJST1IoIklu
ZGV4IGN1cnNvciBub3QgeWV0IHN1cHBvcnRlZCAoaW5kZXggaWQgaXMgJWxsaSkiLCBtX2luZGV4
SUQpOwotICAgIHJldHVybiBmYWxzZTsKKyAgICBTdHJpbmcgc3FsOworICAgIGludDY0X3QgaWQ7
CisKKyAgICBpZiAobV9pbmRleElEICE9IElEQkluZGV4TWV0YWRhdGE6OkludmFsaWRJZCkgewor
ICAgICAgICBzcWwgPSBnZXRJbmRleFN0YXRlbWVudCghbV9rZXlSYW5nZS5sb3dlcktleS5pc051
bGwsIG1fa2V5UmFuZ2UubG93ZXJPcGVuLCAhbV9rZXlSYW5nZS51cHBlcktleS5pc051bGwsIG1f
a2V5UmFuZ2UudXBwZXJPcGVuLCBtX2N1cnNvckRpcmVjdGlvbiA9PSBJbmRleGVkREI6OkN1cnNv
ckRpcmVjdGlvbjo6UHJldiB8fCBtX2N1cnNvckRpcmVjdGlvbiA9PSBJbmRleGVkREI6OkN1cnNv
ckRpcmVjdGlvbjo6UHJldk5vRHVwbGljYXRlKTsKKyAgICAgICAgaWQgPSBtX2luZGV4SUQ7Cisg
ICAgfSBlbHNlIHsKKyAgICAgICAgc3FsID0gZ2V0T2JqZWN0U3RvcmVTdGF0ZW1lbnQoIW1fa2V5
UmFuZ2UubG93ZXJLZXkuaXNOdWxsLCBtX2tleVJhbmdlLmxvd2VyT3BlbiwgIW1fa2V5UmFuZ2Uu
dXBwZXJLZXkuaXNOdWxsLCBtX2tleVJhbmdlLnVwcGVyT3BlbiwgbV9jdXJzb3JEaXJlY3Rpb24g
PT0gSW5kZXhlZERCOjpDdXJzb3JEaXJlY3Rpb246OlByZXYgfHwgbV9jdXJzb3JEaXJlY3Rpb24g
PT0gSW5kZXhlZERCOjpDdXJzb3JEaXJlY3Rpb246OlByZXZOb0R1cGxpY2F0ZSk7CisgICAgICAg
IGlkID0gbV9vYmplY3RTdG9yZUlEOworICAgIH0KKworICAgIHJldHVybiBjcmVhdGVTUUxpdGVT
dGF0ZW1lbnQoc3FsLCBpZCk7CiB9CiAKLWJvb2wgU1FMaXRlSURCQ3Vyc29yOjpjcmVhdGVPYmpl
Y3RTdG9yZUN1cnNvclN0YXRlbWVudCgpCitib29sIFNRTGl0ZUlEQkN1cnNvcjo6Y3JlYXRlU1FM
aXRlU3RhdGVtZW50KGNvbnN0IFN0cmluZyYgc3FsLCBpbnQ2NF90IGlkVG9CaW5kKQogewogICAg
IEFTU0VSVChtX3RyYW5zYWN0aW9uLT5zcWxpdGVUcmFuc2FjdGlvbigpKTsKICAgICBTUUxpdGVE
YXRhYmFzZSYgZGF0YWJhc2UgPSBtX3RyYW5zYWN0aW9uLT5zcWxpdGVUcmFuc2FjdGlvbigpLT5k
YXRhYmFzZSgpOwogCi0gICAgU3RyaW5nIGxvd2VyU1FMOwotICAgIGlmICghbV9rZXlSYW5nZS5s
b3dlcktleS5pc051bGwpCi0gICAgICAgIGxvd2VyU1FMID0gbV9rZXlSYW5nZS5sb3dlck9wZW4g
PyBBU0NJSUxpdGVyYWwoIkFORCBrZXkgPj0gQ0FTVCg/IEFTIFRFWFQpIikgOiBBU0NJSUxpdGVy
YWwoIkFORCBrZXkgPiBDQVNUKD8gQVMgVEVYVCkiKTsKLQotICAgIFN0cmluZyB1cHBlclNRTDsK
LSAgICBpZiAoIW1fa2V5UmFuZ2UudXBwZXJLZXkuaXNOdWxsKQotICAgICAgICBsb3dlclNRTCA9
IG1fa2V5UmFuZ2UudXBwZXJPcGVuID8gQVNDSUlMaXRlcmFsKCJBTkQga2V5IDw9IENBU1QoPyBB
UyBURVhUKSIpIDogQVNDSUlMaXRlcmFsKCJBTkQga2V5IDwgQ0FTVCg/IEFTIFRFWFQpIik7Ci0K
LSAgICBTdHJpbmcgb3JkZXJTUUw7Ci0gICAgaWYgKG1fY3Vyc29yRGlyZWN0aW9uID09IEluZGV4
ZWREQjo6Q3Vyc29yRGlyZWN0aW9uOjpOZXh0IHx8IG1fY3Vyc29yRGlyZWN0aW9uID09IEluZGV4
ZWREQjo6Q3Vyc29yRGlyZWN0aW9uOjpOZXh0Tm9EdXBsaWNhdGUpCi0gICAgICAgIG9yZGVyU1FM
ID0gQVNDSUlMaXRlcmFsKCIgT1JERVIgQlkga2V5OyIpOwotICAgIGVsc2UKLSAgICAgICAgb3Jk
ZXJTUUwgPSBBU0NJSUxpdGVyYWwoIiBPUkRFUiBCWSBrZXkgREVTQzsiKTsKLQotICAgIFN0cmlu
ZyBzcWwgPSBBU0NJSUxpdGVyYWwoIlNFTEVDVCBrZXksIHZhbHVlIEZST00gUmVjb3JkcyBXSEVS
RSBvYmplY3RTdG9yZUlEID0gPyIpICsgbG93ZXJTUUwgKyB1cHBlclNRTCArIG9yZGVyU1FMOwot
CiAgICAgTE9HKElEQiwgIkNyZWF0aW5nIGN1cnNvciB3aXRoIFNRTCBxdWVyeTogXCIlc1wiIiwg
c3FsLnV0ZjgoKS5kYXRhKCkpOwogCiAgICAgbV9zdGF0ZW1lbnQgPSBzdGQ6Om1ha2VfdW5pcXVl
PFNRTGl0ZVN0YXRlbWVudD4oZGF0YWJhc2UsIHNxbCk7CiAKICAgICBpZiAobV9zdGF0ZW1lbnQt
PnByZXBhcmUoKSAhPSBTUUxSZXN1bHRPawotICAgICAgICB8fCBtX3N0YXRlbWVudC0+YmluZElu
dDY0KDEsIG1fb2JqZWN0U3RvcmVJRCkgIT0gU1FMUmVzdWx0T2spIHsKKyAgICAgICAgfHwgbV9z
dGF0ZW1lbnQtPmJpbmRJbnQ2NCgxLCBpZFRvQmluZCkgIT0gU1FMUmVzdWx0T2spIHsKICAgICAg
ICAgTE9HX0VSUk9SKCJDb3VsZCBub3QgY3JlYXRlIGN1cnNvciBzdGF0ZW1lbnQiKTsKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAogICAgIGludCBuZXh0QmluZEFyZ3VtZW50ID0gMjsK
IAotICAgIGlmICghbG93ZXJTUUwuaXNFbXB0eSgpKSB7CisgICAgaWYgKCFtX2tleVJhbmdlLmxv
d2VyS2V5LmlzTnVsbCkgewogICAgICAgICBSZWZQdHI8U2hhcmVkQnVmZmVyPiBidWZmZXIgPSBz
ZXJpYWxpemVJREJLZXlEYXRhKG1fa2V5UmFuZ2UubG93ZXJLZXkpOwogICAgICAgICBpZiAobV9z
dGF0ZW1lbnQtPmJpbmRCbG9iKG5leHRCaW5kQXJndW1lbnQrKywgYnVmZmVyLT5kYXRhKCksIGJ1
ZmZlci0+c2l6ZSgpKSAhPSBTUUxSZXN1bHRPaykgewogICAgICAgICAgICAgTE9HX0VSUk9SKCJD
b3VsZCBub3QgY3JlYXRlIGN1cnNvciBzdGF0ZW1lbnQiKTsKICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICAgICAgfQogICAgIH0KLSAgICBpZiAoIXVwcGVyU1FMLmlzRW1wdHkoKSkgewor
ICAgIGlmICghbV9rZXlSYW5nZS51cHBlcktleS5pc051bGwpIHsKICAgICAgICAgUmVmUHRyPFNo
YXJlZEJ1ZmZlcj4gYnVmZmVyID0gc2VyaWFsaXplSURCS2V5RGF0YShtX2tleVJhbmdlLnVwcGVy
S2V5KTsKICAgICAgICAgaWYgKG1fc3RhdGVtZW50LT5iaW5kQmxvYihuZXh0QmluZEFyZ3VtZW50
LCBidWZmZXItPmRhdGEoKSwgYnVmZmVyLT5zaXplKCkpICE9IFNRTFJlc3VsdE9rKSB7CiAgICAg
ICAgICAgICBMT0dfRVJST1IoIkNvdWxkIG5vdCBjcmVhdGUgY3Vyc29yIHN0YXRlbWVudCIpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9zcWxp
dGUvU1FMaXRlSURCQ3Vyc29yLmggYi9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvSW5k
ZXhlZERCL3NxbGl0ZS9TUUxpdGVJREJDdXJzb3IuaAppbmRleCA2MDMwY2Y1Li5kNjg5NmRjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvSW5kZXhlZERCL3NxbGl0
ZS9TUUxpdGVJREJDdXJzb3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3Mv
SW5kZXhlZERCL3NxbGl0ZS9TUUxpdGVJREJDdXJzb3IuaApAQCAtNjcsOCArNjcsNyBAQCBwcml2
YXRlOgogICAgIFNRTGl0ZUlEQkN1cnNvcihTUUxpdGVJREJUcmFuc2FjdGlvbiosIGNvbnN0IElE
QklkZW50aWZpZXImIGN1cnNvcklkZW50aWZpZXIsIGludDY0X3Qgb2JqZWN0U3RvcmVJRCwgaW50
NjRfdCBpbmRleElELCBXZWJDb3JlOjpJbmRleGVkREI6OkN1cnNvckRpcmVjdGlvbiwgV2ViQ29y
ZTo6SW5kZXhlZERCOjpDdXJzb3JUeXBlLCBXZWJDb3JlOjpJREJEYXRhYmFzZUJhY2tlbmQ6OlRh
c2tUeXBlLCBjb25zdCBXZWJDb3JlOjpJREJLZXlSYW5nZURhdGEmKTsKIAogICAgIGJvb2wgZXN0
YWJsaXNoU3RhdGVtZW50KCk7Ci0gICAgYm9vbCBjcmVhdGVJbmRleEN1cnNvclN0YXRlbWVudCgp
OwotICAgIGJvb2wgY3JlYXRlT2JqZWN0U3RvcmVDdXJzb3JTdGF0ZW1lbnQoKTsKKyAgICBib29s
IGNyZWF0ZVNRTGl0ZVN0YXRlbWVudChjb25zdCBTdHJpbmcmIHNxbCwgaW50NjRfdCBpZFRvQmlu
ZCk7CiAKICAgICBTUUxpdGVJREJUcmFuc2FjdGlvbiogbV90cmFuc2FjdGlvbjsKICAgICBJREJJ
ZGVudGlmaWVyIG1fY3Vyc29ySWRlbnRpZmllcjsK
</data>
<flag name="review"
          id="246873"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>