<?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>127592</bug_id>
          
          <creation_ts>2014-01-24 16:25:52 -0800</creation_ts>
          <short_desc>IDB: Refactor out the last of the operation callbacks that are called by the LevelDB backing store</short_desc>
          <delta_ts>2014-01-27 12:30:51 -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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>124521</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>alecflett</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jsbell</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>971793</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-01-24 16:25:52 -0800</bug_when>
    <thetext>IDB: Refactor out the last of the operation callbacks that are called by the LevelDB backing store

The backing store has no business knowing what an IDBCallback is.

This is like http://trac.webkit.org/changeset/162501 and http://trac.webkit.org/changeset/162569 but for all remaining cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972492</commentid>
    <comment_count>1</comment_count>
      <attachid>222341</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-01-27 11:35:48 -0800</bug_when>
    <thetext>Created attachment 222341
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972493</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-27 11:37:49 -0800</bug_when>
    <thetext>Attachment 222341 did not pass style-queue:


ERROR: Source/WebCore/Modules/indexeddb/IDBTransactionBackendOperations.cpp:157:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebCore/Modules/indexeddb/IDBTransactionBackendOperations.cpp:178:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebCore/Modules/indexeddb/IDBTransactionBackendOperations.cpp:194:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 3 in 9 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>972498</commentid>
    <comment_count>3</comment_count>
      <attachid>222341</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-01-27 11:40:13 -0800</bug_when>
    <thetext>Comment on attachment 222341
Patch v1

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

&gt; Source/WebCore/Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:459
&gt; +        // FIXME: Is failure to have a backing store cursor an error?

is english?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972500</commentid>
    <comment_count>4</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-01-27 11:40:34 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 222341 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=222341&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:459
&gt; &gt; +        // FIXME: Is failure to have a backing store cursor an error?
&gt; 
&gt; is english?

is english! I just don&apos;t read it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972513</commentid>
    <comment_count>5</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-01-27 12:30:51 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/162856</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222341</attachid>
            <date>2014-01-27 11:35:48 -0800</date>
            <delta_ts>2014-01-27 11:40:12 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>20202</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA1YzVlYzRmLi42YzIzOWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcg
QEAKKzIwMTQtMDEtMjcgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAg
ICAgIElEQjogUmVmYWN0b3Igb3V0IHRoZSBsYXN0IG9mIHRoZSBvcGVyYXRpb24gY2FsbGJhY2tz
IHRoYXQgYXJlIGNhbGxlZCBieSB0aGUgTGV2ZWxEQiBiYWNraW5nIHN0b3JlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc1OTIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGb3IgZWFjaCBvZiB0aGUgMyBy
ZW1haW5pbmcgb3BlcmF0aW9ucyB3aGVyZSB0aGUgYmFja2luZyBzdG9yZSBjYWxscyBjYWxsYmFj
a3MgZGlyZWN0bHksCisgICAgICAgIGZhY3RvciBvdXQgdGhlIGNhbGxiYWNrcyB0byB0aGUgb3Bl
cmF0aW9uIGl0c2VsZi4KKworCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNh
Y3Rpb25CYWNrZW5kT3BlcmF0aW9ucy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpPcGVuQ3Vyc29y
T3BlcmF0aW9uOjpwZXJmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6OkNvdW50T3BlcmF0aW9uOjpw
ZXJmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6OkRlbGV0ZVJhbmdlT3BlcmF0aW9uOjpwZXJmb3Jt
KToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbkJhY2tlbmRPcGVy
YXRpb25zLmg6CisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJTZXJ2ZXJDb25uZWN0
aW9uLmg6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvbGV2ZWxkYi9JREJTZXJ2ZXJDb25u
ZWN0aW9uTGV2ZWxEQi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXJDb25uZWN0aW9u
TGV2ZWxEQjo6b3BlbkN1cnNvcik6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXJDb25uZWN0
aW9uTGV2ZWxEQjo6Y291bnQpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyQ29ubmVjdGlv
bkxldmVsREI6OmRlbGV0ZVJhbmdlKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9sZXZl
bGRiL0lEQlNlcnZlckNvbm5lY3Rpb25MZXZlbERCLmg6CisKIDIwMTQtMDEtMjQgIERhdmlkIEh5
YXR0ICA8aHlhdHRAYXBwbGUuY29tPgogCiAgICAgICAgIFtOZXcgTXVsdGljb2x1bW5dIERvbid0
IGRlc3Ryb3kgYWxsIHRoZSByZW5kZXJlcnMgd2hlbiBhIG11bHRpLWNvbHVtbiBibG9jayBzdG9w
cyBiZWluZyBtdWx0aS1jb2x1bW4gKGFuZCB2aWNlIHZlcnNhKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCU2VydmVyQ29ubmVjdGlvbi5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCU2VydmVyQ29ubmVjdGlvbi5oCmluZGV4IDY2
ODhjZjIuLmI4YWJkYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQlNlcnZlckNvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJTZXJ2ZXJDb25uZWN0aW9uLmgKQEAgLTQ0LDYgKzQ0LDcgQEAgY2xhc3MgSURC
RGF0YWJhc2VFcnJvcjsKIGNsYXNzIElEQktleTsKIGNsYXNzIElEQlRyYW5zYWN0aW9uQmFja2Vu
ZDsKIAorc3RydWN0IElEQk9wZW5DdXJzb3JSZXN1bHQ7CiBzdHJ1Y3QgSURCSW5kZXhNZXRhZGF0
YTsKIHN0cnVjdCBJREJPYmplY3RTdG9yZU1ldGFkYXRhOwogCkBAIC04MCw4ICs4MSw4IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlSW5kZXgoSURCVHJhbnNhY3Rpb25CYWNrZW5k
JiwgY29uc3QgRGVsZXRlSW5kZXhPcGVyYXRpb24mLCBzdGQ6OmZ1bmN0aW9uPHZvaWQoUGFzc1Jl
ZlB0cjxJREJEYXRhYmFzZUVycm9yPik+IGNvbXBsZXRpb25DYWxsYmFjaykgPSAwOwogICAgIHZp
cnR1YWwgdm9pZCBnZXQoSURCVHJhbnNhY3Rpb25CYWNrZW5kJiwgY29uc3QgR2V0T3BlcmF0aW9u
Jiwgc3RkOjpmdW5jdGlvbjx2b2lkKGNvbnN0IElEQkdldFJlc3VsdCYsIFBhc3NSZWZQdHI8SURC
RGF0YWJhc2VFcnJvcj4pPiBjb21wbGV0aW9uQ2FsbGJhY2spID0gMDsKICAgICB2aXJ0dWFsIHZv
aWQgcHV0KElEQlRyYW5zYWN0aW9uQmFja2VuZCYsIGNvbnN0IFB1dE9wZXJhdGlvbiYsIHN0ZDo6
ZnVuY3Rpb248dm9pZChQYXNzUmVmUHRyPElEQktleT4sIFBhc3NSZWZQdHI8SURCRGF0YWJhc2VF
cnJvcj4pPiBjb21wbGV0aW9uQ2FsbGJhY2spID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgb3BlbkN1
cnNvcihJREJUcmFuc2FjdGlvbkJhY2tlbmQmLCBjb25zdCBPcGVuQ3Vyc29yT3BlcmF0aW9uJiwg
c3RkOjpmdW5jdGlvbjx2b2lkKFBhc3NSZWZQdHI8SURCRGF0YWJhc2VFcnJvcj4pPiBjb21wbGV0
aW9uQ2FsbGJhY2spID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgY291bnQoSURCVHJhbnNhY3Rpb25C
YWNrZW5kJiwgY29uc3QgQ291bnRPcGVyYXRpb24mLCBzdGQ6OmZ1bmN0aW9uPHZvaWQoUGFzc1Jl
ZlB0cjxJREJEYXRhYmFzZUVycm9yPik+IGNvbXBsZXRpb25DYWxsYmFjaykgPSAwOworICAgIHZp
cnR1YWwgdm9pZCBvcGVuQ3Vyc29yKElEQlRyYW5zYWN0aW9uQmFja2VuZCYsIGNvbnN0IE9wZW5D
dXJzb3JPcGVyYXRpb24mLCBzdGQ6OmZ1bmN0aW9uPHZvaWQoaW50NjRfdCwgUGFzc1JlZlB0cjxJ
REJEYXRhYmFzZUVycm9yPik+IGNvbXBsZXRpb25DYWxsYmFjaykgPSAwOworICAgIHZpcnR1YWwg
dm9pZCBjb3VudChJREJUcmFuc2FjdGlvbkJhY2tlbmQmLCBjb25zdCBDb3VudE9wZXJhdGlvbiYs
IHN0ZDo6ZnVuY3Rpb248dm9pZChpbnQ2NF90LCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlRXJyb3I+
KT4gY29tcGxldGlvbkNhbGxiYWNrKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRlbGV0ZVJhbmdl
KElEQlRyYW5zYWN0aW9uQmFja2VuZCYsIGNvbnN0IERlbGV0ZVJhbmdlT3BlcmF0aW9uJiwgc3Rk
OjpmdW5jdGlvbjx2b2lkKFBhc3NSZWZQdHI8SURCRGF0YWJhc2VFcnJvcj4pPiBjb21wbGV0aW9u
Q2FsbGJhY2spID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY2xlYXJPYmplY3RTdG9yZShJREJUcmFu
c2FjdGlvbkJhY2tlbmQmLCBjb25zdCBDbGVhck9iamVjdFN0b3JlT3BlcmF0aW9uJiwgc3RkOjpm
dW5jdGlvbjx2b2lkKFBhc3NSZWZQdHI8SURCRGF0YWJhc2VFcnJvcj4pPiBjb21wbGV0aW9uQ2Fs
bGJhY2spID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlT2JqZWN0U3RvcmUoSURCVHJhbnNh
Y3Rpb25CYWNrZW5kJiwgY29uc3QgRGVsZXRlT2JqZWN0U3RvcmVPcGVyYXRpb24mLCBzdGQ6OmZ1
bmN0aW9uPHZvaWQoUGFzc1JlZlB0cjxJREJEYXRhYmFzZUVycm9yPik+IGNvbXBsZXRpb25DYWxs
YmFjaykgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCVHJhbnNhY3Rpb25CYWNrZW5kT3BlcmF0aW9ucy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbkJhY2tlbmRPcGVyYXRpb25zLmNwcAppbmRleCA0
YTZmMTJjLi40YjZiMGZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJUcmFuc2FjdGlvbkJhY2tlbmRPcGVyYXRpb25zLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbkJhY2tlbmRPcGVyYXRpb25zLmNw
cApAQCAtMTU0LDkgKzE1NCwyMCBAQCB2b2lkIE9wZW5DdXJzb3JPcGVyYXRpb246OnBlcmZvcm0o
c3RkOjpmdW5jdGlvbjx2b2lkKCk+IGNvbXBsZXRpb25DYWxsYmFjaykKICAgICBMT0coU3RvcmFn
ZUFQSSwgIk9wZW5DdXJzb3JPcGVyYXRpb24iKTsKIAogICAgIFJlZlB0cjxPcGVuQ3Vyc29yT3Bl
cmF0aW9uPiBvcGVyYXRpb24odGhpcyk7Ci0gICAgU1RBTkRBUkRfREFUQUJBU0VfRVJST1JfQ0FM
TEJBQ0s7CisgICAgYXV0byBjYWxsYmFjayA9IFt0aGlzLCBvcGVyYXRpb24sIGNvbXBsZXRpb25D
YWxsYmFja10oaW50NjRfdCBjdXJzb3JJRCwgUGFzc1JlZlB0cjxJREJEYXRhYmFzZUVycm9yPikg
eworICAgICAgICAvLyBGSVhNRTogV2hlbiB0aGUgTGV2ZWxEQiBwb3J0IGZhaWxzIHRvIG9wZW4g
YSBiYWNraW5nIHN0b3JlIGN1cnNvciBpdCBjYWxscyBvblN1Y2Nlc3MobnVsbHB0cik7CisgICAg
ICAgIC8vIFRoaXMgc2VlbXMgbm9uc2Vuc2ljYWwgYW5kIG1pZ2h0IGhhdmUgdG8gY2hhbmdlIHNv
b24sIGJyZWFraW5nIHRoZW0uCisgICAgICAgIGlmICghY3Vyc29ySUQpCisgICAgICAgICAgICBt
X2NhbGxiYWNrcy0+b25TdWNjZXNzKHN0YXRpY19jYXN0PFNoYXJlZEJ1ZmZlcio+KDApKTsKKyAg
ICAgICAgZWxzZSB7CisgICAgICAgICAgICBSZWZQdHI8SURCQ3Vyc29yQmFja2VuZD4gY3Vyc29y
ID0gSURCQ3Vyc29yQmFja2VuZDo6Y3JlYXRlKGN1cnNvcklELCBtX2N1cnNvclR5cGUsIG1fdGFz
a1R5cGUsICptX3RyYW5zYWN0aW9uLCBtX29iamVjdFN0b3JlSUQpOworICAgICAgICAgICAgbV9j
YWxsYmFja3MtPm9uU3VjY2VzcyhjdXJzb3IsIGN1cnNvci0+a2V5KCksIGN1cnNvci0+cHJpbWFy
eUtleSgpLCBjdXJzb3ItPnZhbHVlKCkpOworICAgICAgICB9CiAKLSAgICBtX3RyYW5zYWN0aW9u
LT5kYXRhYmFzZSgpLnNlcnZlckNvbm5lY3Rpb24oKS5vcGVuQ3Vyc29yKCptX3RyYW5zYWN0aW9u
LCAqdGhpcywgb3BlcmF0aW9uQ2FsbGJhY2spOworICAgICAgICBjb21wbGV0aW9uQ2FsbGJhY2so
KTsKKyAgICB9OworCisgICAgbV90cmFuc2FjdGlvbi0+ZGF0YWJhc2UoKS5zZXJ2ZXJDb25uZWN0
aW9uKCkub3BlbkN1cnNvcigqbV90cmFuc2FjdGlvbiwgKnRoaXMsIGNhbGxiYWNrKTsKIH0KIAog
dm9pZCBDb3VudE9wZXJhdGlvbjo6cGVyZm9ybShzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4gY29tcGxl
dGlvbkNhbGxiYWNrKQpAQCAtMTY0LDkgKzE3NSwxNSBAQCB2b2lkIENvdW50T3BlcmF0aW9uOjpw
ZXJmb3JtKHN0ZDo6ZnVuY3Rpb248dm9pZCgpPiBjb21wbGV0aW9uQ2FsbGJhY2spCiAgICAgTE9H
KFN0b3JhZ2VBUEksICJDb3VudE9wZXJhdGlvbiIpOwogCiAgICAgUmVmUHRyPENvdW50T3BlcmF0
aW9uPiBvcGVyYXRpb24odGhpcyk7Ci0gICAgU1RBTkRBUkRfREFUQUJBU0VfRVJST1JfQ0FMTEJB
Q0s7CisgICAgYXV0byBjYWxsYmFjayA9IFt0aGlzLCBvcGVyYXRpb24sIGNvbXBsZXRpb25DYWxs
YmFja10oaW50NjRfdCBjb3VudCwgUGFzc1JlZlB0cjxJREJEYXRhYmFzZUVycm9yPikgeworICAg
ICAgICAvLyBGSVhNRTogVGhlIExldmVsREIgcG9ydCBuZXZlciBoYWQgYW4gZXJyb3IgY29uZGl0
aW9uIGZvciB0aGUgY291bnQgb3BlcmF0aW9uLgorICAgICAgICAvLyBXZSBwcm9iYWJseSBuZWVk
IHRvIHN1cHBvcnQgYW4gZXJyb3IgZm9yIHRoZSBjb3VudCBvcGVyYXRpb24sIGJyZWFraW5nIHRo
ZSBMZXZlbERCIHBvcnQuCisgICAgICAgIG1fY2FsbGJhY2tzLT5vblN1Y2Nlc3MoY291bnQpOwog
Ci0gICAgbV90cmFuc2FjdGlvbi0+ZGF0YWJhc2UoKS5zZXJ2ZXJDb25uZWN0aW9uKCkuY291bnQo
Km1fdHJhbnNhY3Rpb24sICp0aGlzLCBvcGVyYXRpb25DYWxsYmFjayk7CisgICAgICAgIGNvbXBs
ZXRpb25DYWxsYmFjaygpOworICAgIH07CisKKyAgICBtX3RyYW5zYWN0aW9uLT5kYXRhYmFzZSgp
LnNlcnZlckNvbm5lY3Rpb24oKS5jb3VudCgqbV90cmFuc2FjdGlvbiwgKnRoaXMsIGNhbGxiYWNr
KTsKIH0KIAogdm9pZCBEZWxldGVSYW5nZU9wZXJhdGlvbjo6cGVyZm9ybShzdGQ6OmZ1bmN0aW9u
PHZvaWQoKT4gY29tcGxldGlvbkNhbGxiYWNrKQpAQCAtMTc0LDkgKzE5MSwxNiBAQCB2b2lkIERl
bGV0ZVJhbmdlT3BlcmF0aW9uOjpwZXJmb3JtKHN0ZDo6ZnVuY3Rpb248dm9pZCgpPiBjb21wbGV0
aW9uQ2FsbGJhY2spCiAgICAgTE9HKFN0b3JhZ2VBUEksICJEZWxldGVSYW5nZU9wZXJhdGlvbiIp
OwogCiAgICAgUmVmUHRyPERlbGV0ZVJhbmdlT3BlcmF0aW9uPiBvcGVyYXRpb24odGhpcyk7Ci0g
ICAgU1RBTkRBUkRfREFUQUJBU0VfRVJST1JfQ0FMTEJBQ0s7CisgICAgYXV0byBjYWxsYmFjayA9
IFt0aGlzLCBvcGVyYXRpb24sIGNvbXBsZXRpb25DYWxsYmFja10oUGFzc1JlZlB0cjxJREJEYXRh
YmFzZUVycm9yPiBlcnJvcikgeworICAgICAgICBpZiAoZXJyb3IpCisgICAgICAgICAgICBtX2Nh
bGxiYWNrcy0+b25FcnJvcihlcnJvcik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1fY2Fs
bGJhY2tzLT5vblN1Y2Nlc3MoKTsKKworICAgICAgICBjb21wbGV0aW9uQ2FsbGJhY2soKTsKKyAg
ICB9OwogCi0gICAgbV90cmFuc2FjdGlvbi0+ZGF0YWJhc2UoKS5zZXJ2ZXJDb25uZWN0aW9uKCku
ZGVsZXRlUmFuZ2UoKm1fdHJhbnNhY3Rpb24sICp0aGlzLCBvcGVyYXRpb25DYWxsYmFjayk7Cisg
ICAgbV90cmFuc2FjdGlvbi0+ZGF0YWJhc2UoKS5zZXJ2ZXJDb25uZWN0aW9uKCkuZGVsZXRlUmFu
Z2UoKm1fdHJhbnNhY3Rpb24sICp0aGlzLCBjYWxsYmFjayk7CiB9CiAKIHZvaWQgQ2xlYXJPYmpl
Y3RTdG9yZU9wZXJhdGlvbjo6cGVyZm9ybShzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4gY29tcGxldGlv
bkNhbGxiYWNrKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCVHJhbnNhY3Rpb25CYWNrZW5kT3BlcmF0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb25CYWNrZW5kT3BlcmF0aW9ucy5oCmluZGV4IDUzNDMx
YTguLmU0ZDkzODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L0lEQlRyYW5zYWN0aW9uQmFja2VuZE9wZXJhdGlvbnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbkJhY2tlbmRPcGVyYXRpb25zLmgKQEAgLTg5
LDcgKzg5LDYgQEAgcHVibGljOgogCiAgICAgSURCVHJhbnNhY3Rpb25CYWNrZW5kKiB0cmFuc2Fj
dGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fdHJhbnNhY3Rpb24uZ2V0KCk7IH0KICAgICBpbnQ2NF90
IHZlcnNpb24oKSBjb25zdCB7IHJldHVybiBtX3ZlcnNpb247IH0KLSAgICBJREJDYWxsYmFja3Mq
IGNhbGxiYWNrcygpIGNvbnN0IHsgcmV0dXJuIG1fY2FsbGJhY2tzLmdldCgpOyB9CiAgICAgSURC
RGF0YWJhc2VDYWxsYmFja3MqIGRhdGFiYXNlQ2FsbGJhY2tzKCkgY29uc3QgeyByZXR1cm4gbV9k
YXRhYmFzZUNhbGxiYWNrcy5nZXQoKTsgfQogCiBwcml2YXRlOgpAQCAtMzYyLDcgKzM2MSw2IEBA
IHB1YmxpYzoKICAgICBJREJEYXRhYmFzZUJhY2tlbmQ6OlRhc2tUeXBlIHRhc2tUeXBlKCkgY29u
c3QgeyByZXR1cm4gbV90YXNrVHlwZTsgfQogICAgIElEQktleVJhbmdlKiBrZXlSYW5nZSgpIGNv
bnN0IHsgcmV0dXJuIG1fa2V5UmFuZ2UuZ2V0KCk7IH0KICAgICBJbmRleGVkREI6OkN1cnNvckRp
cmVjdGlvbiBjdXJzb3JEaXJlY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2RpcmVjdGlvbjsgfQot
ICAgIElEQkNhbGxiYWNrcyogY2FsbGJhY2tzKCkgY29uc3QgeyByZXR1cm4gbV9jYWxsYmFja3Mu
Z2V0KCk7IH0KIAogcHJpdmF0ZToKICAgICBPcGVuQ3Vyc29yT3BlcmF0aW9uKElEQlRyYW5zYWN0
aW9uQmFja2VuZCogdHJhbnNhY3Rpb24sIGludDY0X3Qgb2JqZWN0U3RvcmVJZCwgaW50NjRfdCBp
bmRleElkLCBQYXNzUmVmUHRyPElEQktleVJhbmdlPiBrZXlSYW5nZSwgSW5kZXhlZERCOjpDdXJz
b3JEaXJlY3Rpb24gZGlyZWN0aW9uLCBJbmRleGVkREI6OkN1cnNvclR5cGUgY3Vyc29yVHlwZSwg
SURCRGF0YWJhc2VCYWNrZW5kOjpUYXNrVHlwZSB0YXNrVHlwZSwgUGFzc1JlZlB0cjxJREJDYWxs
YmFja3M+IGNhbGxiYWNrcykKQEAgLTM5OCw3ICszOTYsNyBAQCBwdWJsaWM6CiAgICAgaW50NjRf
dCBvYmplY3RTdG9yZUlEKCkgY29uc3QgeyByZXR1cm4gbV9vYmplY3RTdG9yZUlEOyB9CiAgICAg
aW50NjRfdCBpbmRleElEKCkgY29uc3QgeyByZXR1cm4gbV9pbmRleElEOyB9CiAgICAgSURCS2V5
UmFuZ2UqIGtleVJhbmdlKCkgY29uc3QgeyByZXR1cm4gbV9rZXlSYW5nZS5nZXQoKTsgfQotICAg
IElEQkNhbGxiYWNrcyogY2FsbGJhY2tzKCkgY29uc3QgeyByZXR1cm4gbV9jYWxsYmFja3MuZ2V0
KCk7IH0KKwogcHJpdmF0ZToKICAgICBDb3VudE9wZXJhdGlvbihJREJUcmFuc2FjdGlvbkJhY2tl
bmQqIHRyYW5zYWN0aW9uLCBpbnQ2NF90IG9iamVjdFN0b3JlSWQsIGludDY0X3QgaW5kZXhJZCwg
UGFzc1JlZlB0cjxJREJLZXlSYW5nZT4ga2V5UmFuZ2UsIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tz
PiBjYWxsYmFja3MpCiAgICAgICAgIDogbV90cmFuc2FjdGlvbih0cmFuc2FjdGlvbikKQEAgLTQy
NSw3ICs0MjMsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHBlcmZvcm0oc3RkOjpmdW5j
dGlvbjx2b2lkKCk+IHN1Y2Nlc3NDYWxsYmFjaykgb3ZlcnJpZGUgZmluYWw7CiAKICAgICBpbnQ2
NF90IG9iamVjdFN0b3JlSUQoKSBjb25zdCB7IHJldHVybiBtX29iamVjdFN0b3JlSUQ7IH0KLSAg
ICBJREJDYWxsYmFja3MqIGNhbGxiYWNrcygpIGNvbnN0IHsgcmV0dXJuIG1fY2FsbGJhY2tzLmdl
dCgpOyB9CiAgICAgSURCS2V5UmFuZ2UqIGtleVJhbmdlKCkgY29uc3QgeyByZXR1cm4gbV9rZXlS
YW5nZS5nZXQoKTsgfQogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvbGV2ZWxkYi9JREJTZXJ2ZXJDb25uZWN0aW9uTGV2ZWxEQi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9sZXZlbGRiL0lEQlNlcnZlckNvbm5lY3Rp
b25MZXZlbERCLmNwcAppbmRleCBmN2IzN2Q4Li5jZDViM2I3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9sZXZlbGRiL0lEQlNlcnZlckNvbm5lY3Rpb25MZXZl
bERCLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9sZXZlbGRiL0lE
QlNlcnZlckNvbm5lY3Rpb25MZXZlbERCLmNwcApAQCAtNDI5LDcgKzQyOSw3IEBAIHZvaWQgSURC
U2VydmVyQ29ubmVjdGlvbkxldmVsREI6OnB1dChJREJUcmFuc2FjdGlvbkJhY2tlbmQmIHRyYW5z
YWN0aW9uLCBjb25zdCBQCiAgICAgfSk7CiB9CiAKLXZvaWQgSURCU2VydmVyQ29ubmVjdGlvbkxl
dmVsREI6Om9wZW5DdXJzb3IoSURCVHJhbnNhY3Rpb25CYWNrZW5kJiB0cmFuc2FjdGlvbiwgY29u
c3QgT3BlbkN1cnNvck9wZXJhdGlvbiYgb3BlcmF0aW9uLCBzdGQ6OmZ1bmN0aW9uPHZvaWQoUGFz
c1JlZlB0cjxJREJEYXRhYmFzZUVycm9yPik+IGNvbXBsZXRpb25DYWxsYmFjaykKK3ZvaWQgSURC
U2VydmVyQ29ubmVjdGlvbkxldmVsREI6Om9wZW5DdXJzb3IoSURCVHJhbnNhY3Rpb25CYWNrZW5k
JiB0cmFuc2FjdGlvbiwgY29uc3QgT3BlbkN1cnNvck9wZXJhdGlvbiYgb3BlcmF0aW9uLCBzdGQ6
OmZ1bmN0aW9uPHZvaWQoaW50NjRfdCwgUGFzc1JlZlB0cjxJREJEYXRhYmFzZUVycm9yPik+IGNv
bXBsZXRpb25DYWxsYmFjaykKIHsKICAgICBJREJCYWNraW5nU3RvcmVUcmFuc2FjdGlvbkxldmVs
REIqIGJhY2tpbmdTdG9yZVRyYW5zYWN0aW9uID0gbV9iYWNraW5nU3RvcmVUcmFuc2FjdGlvbnMu
Z2V0KHRyYW5zYWN0aW9uLmlkKCkpOwogICAgIEFTU0VSVChiYWNraW5nU3RvcmVUcmFuc2FjdGlv
bik7CkBAIC00NTYsMjMgKzQ1NiwxNiBAQCB2b2lkIElEQlNlcnZlckNvbm5lY3Rpb25MZXZlbERC
OjpvcGVuQ3Vyc29yKElEQlRyYW5zYWN0aW9uQmFja2VuZCYgdHJhbnNhY3Rpb24sCiAgICAgfQog
CiAgICAgaWYgKCFiYWNraW5nU3RvcmVDdXJzb3IpIHsKLSAgICAgICAgb3BlcmF0aW9uLmNhbGxi
YWNrcygpLT5vblN1Y2Nlc3Moc3RhdGljX2Nhc3Q8U2hhcmVkQnVmZmVyKj4oMCkpOwotICAgICAg
ICBjYWxsT25NYWluVGhyZWFkKFtjb21wbGV0aW9uQ2FsbGJhY2tdKCkgewotICAgICAgICAgICAg
Y29tcGxldGlvbkNhbGxiYWNrKDApOwotICAgICAgICB9KTsKLSAgICAgICAgcmV0dXJuOworICAg
ICAgICAvLyBGSVhNRTogSXMgZmFpbHVyZSB0byBoYXZlIGEgYmFja2luZyBzdG9yZSBjdXJzb3Ig
YW4gZXJyb3I/CisgICAgICAgIGN1cnNvcklEID0gMDsKICAgICB9CiAKLSAgICBJREJEYXRhYmFz
ZUJhY2tlbmQ6OlRhc2tUeXBlIHRhc2tUeXBlKHN0YXRpY19jYXN0PElEQkRhdGFiYXNlQmFja2Vu
ZDo6VGFza1R5cGU+KG9wZXJhdGlvbi50YXNrVHlwZSgpKSk7Ci0KLSAgICBSZWZQdHI8SURCQ3Vy
c29yQmFja2VuZD4gY3Vyc29yID0gSURCQ3Vyc29yQmFja2VuZDo6Y3JlYXRlKGN1cnNvcklELCBv
cGVyYXRpb24uY3Vyc29yVHlwZSgpLCB0YXNrVHlwZSwgdHJhbnNhY3Rpb24sIG9wZXJhdGlvbi5v
YmplY3RTdG9yZUlEKCkpOwotCi0gICAgb3BlcmF0aW9uLmNhbGxiYWNrcygpLT5vblN1Y2Nlc3Mo
Y3Vyc29yLCBjdXJzb3ItPmtleSgpLCBjdXJzb3ItPnByaW1hcnlLZXkoKSwgY3Vyc29yLT52YWx1
ZSgpKTsKLQotICAgIEFTWU5DX0NPTVBMRVRJT05fQ0FMTEJBQ0tfV0lUSF9OVUxMX0FSRyhjb21w
bGV0aW9uQ2FsbGJhY2spOworICAgIGNhbGxPbk1haW5UaHJlYWQoW2NvbXBsZXRpb25DYWxsYmFj
aywgY3Vyc29ySURdKCkgeworICAgICAgICBjb21wbGV0aW9uQ2FsbGJhY2soY3Vyc29ySUQsIG51
bGxwdHIpOworICAgIH0pOwogfQogCi12b2lkIElEQlNlcnZlckNvbm5lY3Rpb25MZXZlbERCOjpj
b3VudChJREJUcmFuc2FjdGlvbkJhY2tlbmQmIHRyYW5zYWN0aW9uLCBjb25zdCBDb3VudE9wZXJh
dGlvbiYgb3BlcmF0aW9uLCBzdGQ6OmZ1bmN0aW9uPHZvaWQoUGFzc1JlZlB0cjxJREJEYXRhYmFz
ZUVycm9yPik+IGNvbXBsZXRpb25DYWxsYmFjaykKK3ZvaWQgSURCU2VydmVyQ29ubmVjdGlvbkxl
dmVsREI6OmNvdW50KElEQlRyYW5zYWN0aW9uQmFja2VuZCYgdHJhbnNhY3Rpb24sIGNvbnN0IENv
dW50T3BlcmF0aW9uJiBvcGVyYXRpb24sIHN0ZDo6ZnVuY3Rpb248dm9pZChpbnQ2NF90LCBQYXNz
UmVmUHRyPElEQkRhdGFiYXNlRXJyb3I+KT4gY29tcGxldGlvbkNhbGxiYWNrKQogewogICAgIElE
QkJhY2tpbmdTdG9yZVRyYW5zYWN0aW9uTGV2ZWxEQiogYmFja2luZ1N0b3JlVHJhbnNhY3Rpb24g
PSBtX2JhY2tpbmdTdG9yZVRyYW5zYWN0aW9ucy5nZXQodHJhbnNhY3Rpb24uaWQoKSk7CiAgICAg
QVNTRVJUKGJhY2tpbmdTdG9yZVRyYW5zYWN0aW9uKTsKQEAgLTQ4Nyw5ICs0ODAsOSBAQCB2b2lk
IElEQlNlcnZlckNvbm5lY3Rpb25MZXZlbERCOjpjb3VudChJREJUcmFuc2FjdGlvbkJhY2tlbmQm
IHRyYW5zYWN0aW9uLCBjb25zdAogICAgIGVsc2UKICAgICAgICAgYmFja2luZ1N0b3JlQ3Vyc29y
ID0gbV9iYWNraW5nU3RvcmUtPm9wZW5JbmRleEtleUN1cnNvcihjdXJzb3JJRCwgKmJhY2tpbmdT
dG9yZVRyYW5zYWN0aW9uLCB0cmFuc2FjdGlvbi5kYXRhYmFzZSgpLmlkKCksIG9wZXJhdGlvbi5v
YmplY3RTdG9yZUlEKCksIG9wZXJhdGlvbi5pbmRleElEKCksIG9wZXJhdGlvbi5rZXlSYW5nZSgp
LCBJbmRleGVkREI6OkN1cnNvckRpcmVjdGlvbjo6TmV4dCk7CiAgICAgaWYgKCFiYWNraW5nU3Rv
cmVDdXJzb3IpIHsKLSAgICAgICAgb3BlcmF0aW9uLmNhbGxiYWNrcygpLT5vblN1Y2Nlc3MoY291
bnQpOwotICAgICAgICBjYWxsT25NYWluVGhyZWFkKFtjb21wbGV0aW9uQ2FsbGJhY2tdKCkgewot
ICAgICAgICAgICAgY29tcGxldGlvbkNhbGxiYWNrKDApOworICAgICAgICAvLyBGSVhNRTogSXMg
dGhpcyBhbiBlcnJvciBjYXNlPworICAgICAgICBjYWxsT25NYWluVGhyZWFkKFtjb21wbGV0aW9u
Q2FsbGJhY2ssIGNvdW50XSgpIHsKKyAgICAgICAgICAgIGNvbXBsZXRpb25DYWxsYmFjayhjb3Vu
dCwgbnVsbHB0cik7CiAgICAgICAgIH0pOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtNDk4
LDggKzQ5MSw5IEBAIHZvaWQgSURCU2VydmVyQ29ubmVjdGlvbkxldmVsREI6OmNvdW50KElEQlRy
YW5zYWN0aW9uQmFja2VuZCYgdHJhbnNhY3Rpb24sIGNvbnN0CiAgICAgICAgICsrY291bnQ7CiAg
ICAgfSB3aGlsZSAoYmFja2luZ1N0b3JlQ3Vyc29yLT5jb250aW51ZUZ1bmN0aW9uKDApKTsKIAot
ICAgIG9wZXJhdGlvbi5jYWxsYmFja3MoKS0+b25TdWNjZXNzKGNvdW50KTsKLSAgICBBU1lOQ19D
T01QTEVUSU9OX0NBTExCQUNLX1dJVEhfTlVMTF9BUkcoY29tcGxldGlvbkNhbGxiYWNrKTsKKyAg
ICBjYWxsT25NYWluVGhyZWFkKFtjb21wbGV0aW9uQ2FsbGJhY2ssIGNvdW50XSgpIHsKKyAgICAg
ICAgY29tcGxldGlvbkNhbGxiYWNrKGNvdW50LCBudWxscHRyKTsKKyAgICB9KTsKIH0KIAogdm9p
ZCBJREJTZXJ2ZXJDb25uZWN0aW9uTGV2ZWxEQjo6ZGVsZXRlUmFuZ2UoSURCVHJhbnNhY3Rpb25C
YWNrZW5kJiB0cmFuc2FjdGlvbiwgY29uc3QgRGVsZXRlUmFuZ2VPcGVyYXRpb24mIG9wZXJhdGlv
biwgc3RkOjpmdW5jdGlvbjx2b2lkKFBhc3NSZWZQdHI8SURCRGF0YWJhc2VFcnJvcj4pPiBjb21w
bGV0aW9uQ2FsbGJhY2spCkBAIC01MTMsMTcgKzUwNywxNyBAQCB2b2lkIElEQlNlcnZlckNvbm5l
Y3Rpb25MZXZlbERCOjpkZWxldGVSYW5nZShJREJUcmFuc2FjdGlvbkJhY2tlbmQmIHRyYW5zYWN0
aW9uLAogICAgIGlmIChiYWNraW5nU3RvcmVDdXJzb3IpIHsKICAgICAgICAgZG8gewogICAgICAg
ICAgICAgaWYgKCFtX2JhY2tpbmdTdG9yZS0+ZGVsZXRlUmVjb3JkKCpiYWNraW5nU3RvcmVUcmFu
c2FjdGlvbiwgdHJhbnNhY3Rpb24uZGF0YWJhc2UoKS5pZCgpLCBvcGVyYXRpb24ub2JqZWN0U3Rv
cmVJRCgpLCBiYWNraW5nU3RvcmVDdXJzb3ItPnJlY29yZElkZW50aWZpZXIoKSkpIHsKLSAgICAg
ICAgICAgICAgICBvcGVyYXRpb24uY2FsbGJhY2tzKCktPm9uRXJyb3IoSURCRGF0YWJhc2VFcnJv
cjo6Y3JlYXRlKElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVbmtub3duRXJyb3IsICJFcnJvciBkZWxl
dGluZyBkYXRhIGluIHJhbmdlIikpOwogICAgICAgICAgICAgICAgIGNhbGxPbk1haW5UaHJlYWQo
W2NvbXBsZXRpb25DYWxsYmFja10oKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNvbXBsZXRpb25D
YWxsYmFjaygwKTsKKyAgICAgICAgICAgICAgICAgICAgY29tcGxldGlvbkNhbGxiYWNrKElEQkRh
dGFiYXNlRXJyb3I6OmNyZWF0ZShJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VW5rbm93bkVycm9yLCAi
RXJyb3IgZGVsZXRpbmcgZGF0YSBpbiByYW5nZSIpKTsKICAgICAgICAgICAgICAgICB9KTsKICAg
ICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAgICAgICAgIH0gd2hpbGUgKGJh
Y2tpbmdTdG9yZUN1cnNvci0+Y29udGludWVGdW5jdGlvbigwKSk7CiAgICAgfQogCi0gICAgb3Bl
cmF0aW9uLmNhbGxiYWNrcygpLT5vblN1Y2Nlc3MoKTsKLSAgICBBU1lOQ19DT01QTEVUSU9OX0NB
TExCQUNLX1dJVEhfTlVMTF9BUkcoY29tcGxldGlvbkNhbGxiYWNrKTsKKyAgICBjYWxsT25NYWlu
VGhyZWFkKFtjb21wbGV0aW9uQ2FsbGJhY2tdKCkgeworICAgICAgICBjb21wbGV0aW9uQ2FsbGJh
Y2sobnVsbHB0cik7CisgICAgfSk7CiB9CiAKIHZvaWQgSURCU2VydmVyQ29ubmVjdGlvbkxldmVs
REI6OmNsZWFyT2JqZWN0U3RvcmUoSURCVHJhbnNhY3Rpb25CYWNrZW5kJiB0cmFuc2FjdGlvbiwg
Y29uc3QgQ2xlYXJPYmplY3RTdG9yZU9wZXJhdGlvbiYgb3BlcmF0aW9uLCBzdGQ6OmZ1bmN0aW9u
PHZvaWQoUGFzc1JlZlB0cjxJREJEYXRhYmFzZUVycm9yPik+IGNvbXBsZXRpb25DYWxsYmFjaykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2xldmVsZGIvSURC
U2VydmVyQ29ubmVjdGlvbkxldmVsREIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL2xldmVsZGIvSURCU2VydmVyQ29ubmVjdGlvbkxldmVsREIuaAppbmRleCAxYjliODZiLi4z
NTg2NjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9sZXZl
bGRiL0lEQlNlcnZlckNvbm5lY3Rpb25MZXZlbERCLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvbGV2ZWxkYi9JREJTZXJ2ZXJDb25uZWN0aW9uTGV2ZWxEQi5oCkBAIC02
OCw4ICs2OCw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlSW5kZXgoSURCVHJh
bnNhY3Rpb25CYWNrZW5kJiwgY29uc3QgRGVsZXRlSW5kZXhPcGVyYXRpb24mLCBzdGQ6OmZ1bmN0
aW9uPHZvaWQoUGFzc1JlZlB0cjxJREJEYXRhYmFzZUVycm9yPik+IGNvbXBsZXRpb25DYWxsYmFj
aykgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGdldChJREJUcmFuc2FjdGlvbkJhY2tlbmQm
LCBjb25zdCBHZXRPcGVyYXRpb24mLCBzdGQ6OmZ1bmN0aW9uPHZvaWQoY29uc3QgSURCR2V0UmVz
dWx0JiwgUGFzc1JlZlB0cjxJREJEYXRhYmFzZUVycm9yPik+IGNvbXBsZXRpb25DYWxsYmFjaykg
b3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHB1dChJREJUcmFuc2FjdGlvbkJhY2tlbmQmLCBj
b25zdCBQdXRPcGVyYXRpb24mLCBzdGQ6OmZ1bmN0aW9uPHZvaWQoUGFzc1JlZlB0cjxJREJLZXk+
LCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlRXJyb3I+KT4gY29tcGxldGlvbkNhbGxiYWNrKSAgb3Zl
cnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIG9wZW5DdXJzb3IoSURCVHJhbnNhY3Rpb25CYWNrZW5k
JiwgY29uc3QgT3BlbkN1cnNvck9wZXJhdGlvbiYsIHN0ZDo6ZnVuY3Rpb248dm9pZChQYXNzUmVm
UHRyPElEQkRhdGFiYXNlRXJyb3I+KT4gY29tcGxldGlvbkNhbGxiYWNrKSBvdmVycmlkZTsKLSAg
ICB2aXJ0dWFsIHZvaWQgY291bnQoSURCVHJhbnNhY3Rpb25CYWNrZW5kJiwgY29uc3QgQ291bnRP
cGVyYXRpb24mLCBzdGQ6OmZ1bmN0aW9uPHZvaWQoUGFzc1JlZlB0cjxJREJEYXRhYmFzZUVycm9y
Pik+IGNvbXBsZXRpb25DYWxsYmFjaykgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIG9wZW5D
dXJzb3IoSURCVHJhbnNhY3Rpb25CYWNrZW5kJiwgY29uc3QgT3BlbkN1cnNvck9wZXJhdGlvbiYs
IHN0ZDo6ZnVuY3Rpb248dm9pZChpbnQ2NF90LCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlRXJyb3I+
KT4gY29tcGxldGlvbkNhbGxiYWNrKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgY291bnQo
SURCVHJhbnNhY3Rpb25CYWNrZW5kJiwgY29uc3QgQ291bnRPcGVyYXRpb24mLCBzdGQ6OmZ1bmN0
aW9uPHZvaWQoaW50NjRfdCwgUGFzc1JlZlB0cjxJREJEYXRhYmFzZUVycm9yPik+IGNvbXBsZXRp
b25DYWxsYmFjaykgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGRlbGV0ZVJhbmdlKElEQlRy
YW5zYWN0aW9uQmFja2VuZCYsIGNvbnN0IERlbGV0ZVJhbmdlT3BlcmF0aW9uJiwgc3RkOjpmdW5j
dGlvbjx2b2lkKFBhc3NSZWZQdHI8SURCRGF0YWJhc2VFcnJvcj4pPiBjb21wbGV0aW9uQ2FsbGJh
Y2spIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBjbGVhck9iamVjdFN0b3JlKElEQlRyYW5z
YWN0aW9uQmFja2VuZCYsIGNvbnN0IENsZWFyT2JqZWN0U3RvcmVPcGVyYXRpb24mLCBzdGQ6OmZ1
bmN0aW9uPHZvaWQoUGFzc1JlZlB0cjxJREJEYXRhYmFzZUVycm9yPik+IGNvbXBsZXRpb25DYWxs
YmFjaykgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGRlbGV0ZU9iamVjdFN0b3JlKElEQlRy
YW5zYWN0aW9uQmFja2VuZCYsIGNvbnN0IERlbGV0ZU9iamVjdFN0b3JlT3BlcmF0aW9uJiwgc3Rk
OjpmdW5jdGlvbjx2b2lkKFBhc3NSZWZQdHI8SURCRGF0YWJhc2VFcnJvcj4pPiBjb21wbGV0aW9u
Q2FsbGJhY2spIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDllZGRkMTguLmY0OTgwNDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNC0wMS0yNyAgQnJhZHkgRWlkc29uICA8YmVpZHNv
bkBhcHBsZS5jb20+CisKKyAgICAgICAgSURCOiBSZWZhY3RvciBvdXQgdGhlIGxhc3Qgb2YgdGhl
IG9wZXJhdGlvbiBjYWxsYmFja3MgdGhhdCBhcmUgY2FsbGVkIGJ5IHRoZSBMZXZlbERCIGJhY2tp
bmcgc3RvcmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEyNzU5MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFVwZGF0ZSB0aGUgV2ViSURCU2VydmVyQ29ubmVjdGlvbiB0byB0aGUgbmV3IGNhbGxiYWNrIHNp
Z25hdHVyZXM6CisgICAgICAgICogV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklE
QlNlcnZlckNvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJREJTZXJ2ZXJDb25u
ZWN0aW9uOjpvcGVuQ3Vyc29yKToKKyAgICAgICAgKFdlYktpdDo6V2ViSURCU2VydmVyQ29ubmVj
dGlvbjo6Y291bnQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9X
ZWJJREJTZXJ2ZXJDb25uZWN0aW9uLmg6CisKIDIwMTQtMDEtMjQgIEJyYWR5IEVpZHNvbiAgPGJl
aWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIElEQjogU3VwcG9ydCBjcmVhdGVJbmRleC9kZWxl
dGVJbmRleApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9EYXRhYmFzZXMv
SW5kZXhlZERCL1dlYklEQlNlcnZlckNvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQlNlcnZlckNvbm5lY3Rpb24uY3BwCmlu
ZGV4IDc1OTE1YTAuLjhmNGUzZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXJDb25uZWN0aW9uLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCU2VydmVy
Q29ubmVjdGlvbi5jcHAKQEAgLTQyMCwxMSArNDIwLDExIEBAIHZvaWQgV2ViSURCU2VydmVyQ29u
bmVjdGlvbjo6ZGlkR2V0UmVjb3JkKHVpbnQ2NF90IHJlcXVlc3RJRCwgY29uc3QgV2ViQ29yZTo6
SURCCiAgICAgc2VydmVyUmVxdWVzdC0+Y29tcGxldGVSZXF1ZXN0KGdldFJlc3VsdCwgZXJyb3JD
b2RlID8gSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKGVycm9yQ29kZSwgZXJyb3JNZXNzYWdlKSA6
IG51bGxwdHIpOwogfQogCi12b2lkIFdlYklEQlNlcnZlckNvbm5lY3Rpb246Om9wZW5DdXJzb3Io
SURCVHJhbnNhY3Rpb25CYWNrZW5kJiwgY29uc3QgT3BlbkN1cnNvck9wZXJhdGlvbiYsIHN0ZDo6
ZnVuY3Rpb248dm9pZChQYXNzUmVmUHRyPElEQkRhdGFiYXNlRXJyb3I+KT4gY29tcGxldGlvbkNh
bGxiYWNrKQordm9pZCBXZWJJREJTZXJ2ZXJDb25uZWN0aW9uOjpvcGVuQ3Vyc29yKElEQlRyYW5z
YWN0aW9uQmFja2VuZCYsIGNvbnN0IE9wZW5DdXJzb3JPcGVyYXRpb24mLCBzdGQ6OmZ1bmN0aW9u
PHZvaWQoaW50NjRfdCwgUGFzc1JlZlB0cjxJREJEYXRhYmFzZUVycm9yPik+IGNvbXBsZXRpb25D
YWxsYmFjaykKIHsKIH0KIAotdm9pZCBXZWJJREJTZXJ2ZXJDb25uZWN0aW9uOjpjb3VudChJREJU
cmFuc2FjdGlvbkJhY2tlbmQmLCBjb25zdCBDb3VudE9wZXJhdGlvbiYsIHN0ZDo6ZnVuY3Rpb248
dm9pZChQYXNzUmVmUHRyPElEQkRhdGFiYXNlRXJyb3I+KT4gY29tcGxldGlvbkNhbGxiYWNrKQor
dm9pZCBXZWJJREJTZXJ2ZXJDb25uZWN0aW9uOjpjb3VudChJREJUcmFuc2FjdGlvbkJhY2tlbmQm
LCBjb25zdCBDb3VudE9wZXJhdGlvbiYsIHN0ZDo6ZnVuY3Rpb248dm9pZChpbnQ2NF90LCBQYXNz
UmVmUHRyPElEQkRhdGFiYXNlRXJyb3I+KT4gY29tcGxldGlvbkNhbGxiYWNrKQogewogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIv
V2ViSURCU2VydmVyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9EYXRh
YmFzZXMvSW5kZXhlZERCL1dlYklEQlNlcnZlckNvbm5lY3Rpb24uaAppbmRleCBkYWY1NjY3Li5m
OWRmMTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0RhdGFiYXNlcy9J
bmRleGVkREIvV2ViSURCU2VydmVyQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXJDb25uZWN0aW9uLmgKQEAg
LTcyLDggKzcyLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkZWxldGVJbmRleChXZWJD
b3JlOjpJREJUcmFuc2FjdGlvbkJhY2tlbmQmLCBjb25zdCBXZWJDb3JlOjpEZWxldGVJbmRleE9w
ZXJhdGlvbiYsIHN0ZDo6ZnVuY3Rpb248dm9pZChQYXNzUmVmUHRyPFdlYkNvcmU6OklEQkRhdGFi
YXNlRXJyb3I+KT4gY29tcGxldGlvbkNhbGxiYWNrKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZv
aWQgZ2V0KFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uQmFja2VuZCYsIGNvbnN0IFdlYkNvcmU6Okdl
dE9wZXJhdGlvbiYsIHN0ZDo6ZnVuY3Rpb248dm9pZChjb25zdCBXZWJDb3JlOjpJREJHZXRSZXN1
bHQmLCBQYXNzUmVmUHRyPFdlYkNvcmU6OklEQkRhdGFiYXNlRXJyb3I+KT4gY29tcGxldGlvbkNh
bGxiYWNrKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgcHV0KFdlYkNvcmU6OklEQlRyYW5z
YWN0aW9uQmFja2VuZCYsIGNvbnN0IFdlYkNvcmU6OlB1dE9wZXJhdGlvbiYsIHN0ZDo6ZnVuY3Rp
b248dm9pZChQYXNzUmVmUHRyPFdlYkNvcmU6OklEQktleT4sIFBhc3NSZWZQdHI8V2ViQ29yZTo6
SURCRGF0YWJhc2VFcnJvcj4pPiBjb21wbGV0aW9uQ2FsbGJhY2spIG92ZXJyaWRlOwotICAgIHZp
cnR1YWwgdm9pZCBvcGVuQ3Vyc29yKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uQmFja2VuZCYsIGNv
bnN0IFdlYkNvcmU6Ok9wZW5DdXJzb3JPcGVyYXRpb24mLCBzdGQ6OmZ1bmN0aW9uPHZvaWQoUGFz
c1JlZlB0cjxXZWJDb3JlOjpJREJEYXRhYmFzZUVycm9yPik+IGNvbXBsZXRpb25DYWxsYmFjaykg
b3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIGNvdW50KFdlYkNvcmU6OklEQlRyYW5zYWN0aW9u
QmFja2VuZCYsIGNvbnN0IFdlYkNvcmU6OkNvdW50T3BlcmF0aW9uJiwgc3RkOjpmdW5jdGlvbjx2
b2lkKFBhc3NSZWZQdHI8V2ViQ29yZTo6SURCRGF0YWJhc2VFcnJvcj4pPiBjb21wbGV0aW9uQ2Fs
bGJhY2spIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBvcGVuQ3Vyc29yKFdlYkNvcmU6OklE
QlRyYW5zYWN0aW9uQmFja2VuZCYsIGNvbnN0IFdlYkNvcmU6Ok9wZW5DdXJzb3JPcGVyYXRpb24m
LCBzdGQ6OmZ1bmN0aW9uPHZvaWQoaW50NjRfdCwgUGFzc1JlZlB0cjxXZWJDb3JlOjpJREJEYXRh
YmFzZUVycm9yPik+IGNvbXBsZXRpb25DYWxsYmFjaykgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2
b2lkIGNvdW50KFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uQmFja2VuZCYsIGNvbnN0IFdlYkNvcmU6
OkNvdW50T3BlcmF0aW9uJiwgc3RkOjpmdW5jdGlvbjx2b2lkKGludDY0X3QsIFBhc3NSZWZQdHI8
V2ViQ29yZTo6SURCRGF0YWJhc2VFcnJvcj4pPiBjb21wbGV0aW9uQ2FsbGJhY2spIG92ZXJyaWRl
OwogICAgIHZpcnR1YWwgdm9pZCBkZWxldGVSYW5nZShXZWJDb3JlOjpJREJUcmFuc2FjdGlvbkJh
Y2tlbmQmLCBjb25zdCBXZWJDb3JlOjpEZWxldGVSYW5nZU9wZXJhdGlvbiYsIHN0ZDo6ZnVuY3Rp
b248dm9pZChQYXNzUmVmUHRyPFdlYkNvcmU6OklEQkRhdGFiYXNlRXJyb3I+KT4gY29tcGxldGlv
bkNhbGxiYWNrKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgY2xlYXJPYmplY3RTdG9yZShX
ZWJDb3JlOjpJREJUcmFuc2FjdGlvbkJhY2tlbmQmLCBjb25zdCBXZWJDb3JlOjpDbGVhck9iamVj
dFN0b3JlT3BlcmF0aW9uJiwgc3RkOjpmdW5jdGlvbjx2b2lkKFBhc3NSZWZQdHI8V2ViQ29yZTo6
SURCRGF0YWJhc2VFcnJvcj4pPiBjb21wbGV0aW9uQ2FsbGJhY2spIG92ZXJyaWRlOwogICAgIHZp
cnR1YWwgdm9pZCBkZWxldGVPYmplY3RTdG9yZShXZWJDb3JlOjpJREJUcmFuc2FjdGlvbkJhY2tl
bmQmLCBjb25zdCBXZWJDb3JlOjpEZWxldGVPYmplY3RTdG9yZU9wZXJhdGlvbiYsIHN0ZDo6ZnVu
Y3Rpb248dm9pZChQYXNzUmVmUHRyPFdlYkNvcmU6OklEQkRhdGFiYXNlRXJyb3I+KT4gY29tcGxl
dGlvbkNhbGxiYWNrKSBvdmVycmlkZTsK
</data>
<flag name="review"
          id="246325"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>