<?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>150607</bug_id>
          
          <creation_ts>2015-10-27 14:49:00 -0700</creation_ts>
          <short_desc>Modern IDB: IDBTransaction.objectStore() support</short_desc>
          <delta_ts>2015-11-05 15:12:18 -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>Safari 9</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>149117</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>achristensen</cc>
    
    <cc>alecflett</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jsbell</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1136944</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-10-27 14:49:00 -0700</bug_when>
    <thetext>Modern IDB: IDBTransaction.objectStore() support</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1136961</commentid>
    <comment_count>1</comment_count>
      <attachid>264167</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-10-27 15:50:10 -0700</bug_when>
    <thetext>Created attachment 264167
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1136993</commentid>
    <comment_count>2</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-10-27 17:13:14 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/191645</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>264167</attachid>
            <date>2015-10-27 15:50:10 -0700</date>
            <delta_ts>2015-10-27 15:58:21 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>23105</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA5NDU1OGQ5Li5lZDliZDAzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTcgQEAKIDIwMTUtMTAt
MjcgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCisgICAgICAgIE1vZGVybiBJ
REI6IElEQlRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCkgc3VwcG9ydC4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MDYwNworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbW9k
ZXJuL2Fib3J0ZWQtcHV0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3RvcmFnZS9p
bmRleGVkZGIvbW9kZXJuL2Fib3J0ZWQtcHV0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL21vZGVybi9pZGJ0cmFuc2FjdGlvbi1vYmplY3RzdG9yZS1mYWlsdXJlcy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9p
ZGJ0cmFuc2FjdGlvbi1vYmplY3RzdG9yZS1mYWlsdXJlcy5odG1sOiBBZGRlZC4KKworMjAxNS0x
MC0yNyAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CisKICAgICAgICAgTW9kZXJu
IElEQjogU3VwcG9ydCBJREJPYmplY3RTdG9yZS5wdXQvZ2V0IHN1cHBvcnQuCiAgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTA0NjgKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2Fib3J0ZWQtcHV0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9hYm9ydGVkLXB1
dC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGQ0NjAz
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vZGVy
bi9hYm9ydGVkLXB1dC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNCBAQAorQUxFUlQ6IEZpcnN0
IHVwZ3JhZGUgbmVlZGVkOiBPbGQgdmVyc2lvbiAtIDAgTmV3IHZlcnNpb24gLSAxCitBTEVSVDog
W29iamVjdCBJREJUcmFuc2FjdGlvbl0gLSB2ZXJzaW9uY2hhbmdlCitBTEVSVDogW29iamVjdCBJ
REJEYXRhYmFzZV0KK0FMRVJUOiBwdXQgc3VjY2VlZGVkIC0ga2V5IHdhcyAnZm9vJworQUxFUlQ6
IGdldCAnZm9vJyBzdWNjZWVkZWQgLSB2YWx1ZSB3YXMgJ2JhcicKK0FMRVJUOiBnZXQgJ2Zhcicg
c3VjY2VlZGVkIC0gdmFsdWUgd2FzICd1bmRlZmluZWQnCitBTEVSVDogRmlyc3QgdmVyc2lvbiBj
aGFuZ2UgdHJhbnNhY3Rpb24gY29tcGxldGVkCitBTEVSVDogU2Vjb25kIHVwZ3JhZGUgbmVlZGVk
OiBPbGQgdmVyc2lvbiAtIDEgTmV3IHZlcnNpb24gLSAyCitBTEVSVDogW29iamVjdCBJREJUcmFu
c2FjdGlvbl0gLSB2ZXJzaW9uY2hhbmdlCitBTEVSVDogW29iamVjdCBJREJEYXRhYmFzZV0KK0FM
RVJUOiBnZXQxICdmb28nIHN1Y2NlZWRlZCAtIHZhbHVlIHdhcyAnYmF6JworQUxFUlQ6IGdldDIg
J2Zhcicgc3VjY2VlZGVkIC0gdmFsdWUgd2FzICdib28nCitBTEVSVDogU2Vjb25kIHZlcnNpb24g
Y2hhbmdlIHRyYW5zYWN0aW9uIGFib3J0CitBTEVSVDogVGhpcmQgdXBncmFkZSBuZWVkZWQ6IE9s
ZCB2ZXJzaW9uIC0gMSBOZXcgdmVyc2lvbiAtIDIKK0FMRVJUOiBbb2JqZWN0IElEQlRyYW5zYWN0
aW9uXSAtIHZlcnNpb25jaGFuZ2UKK0FMRVJUOiBbb2JqZWN0IElEQkRhdGFiYXNlXQorQUxFUlQ6
IGdldDEgJ2Zvbycgc3VjY2VlZGVkIC0gdmFsdWUgd2FzICdiYXInCitBTEVSVDogZ2V0MiAnZmFy
JyBzdWNjZWVkZWQgLSB2YWx1ZSB3YXMgJ3VuZGVmaW5lZCcKK0FMRVJUOiBUaGlyZCB2ZXJzaW9u
IGNoYW5nZSB0cmFuc2FjdGlvbiBjb21wbGV0ZQorQUxFUlQ6IERvbmUKK1RoaXMgdGVzdCBjcmVh
dGVzIHNvbWUgb2JqZWN0IHN0b3JlcywgcHV0dGluZyBzb21lIHZhbHVlcyBpbiB0aGVtLCBjb21t
aXR0aW5nIHRoZSB0cmFuc2FjdGlvbi4KK0luIGEgbmV3IHRyYW5zYWN0aW9uLCBpdCB0aGVuIG92
ZXJ3cml0ZXMgdGhvc2UgdmFsdWVzLCBidXQgdGhlbiBhYm9ydHMgdGhlIHRyYW5zYWN0aW9uLgor
RmluYWxseSBpdCB2ZXJpZmllcyBldmVyeXRoaW5nIGlzIHNldCB1cCBmcm9tIHRoZSBmaXJzdCB0
cmFuc2FjdGlvbiwgYW5kIG5vdGhpbmcgZnJvbSB0aGUgYWJvcnRlZCBvbmUgY29tbWl0dGVkLgor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vYWJvcnRl
ZC1wdXQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9hYm9ydGVk
LXB1dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5Y2UxMjkKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vYWJv
cnRlZC1wdXQuaHRtbApAQCAtMCwwICsxLDIwNCBAQAorVGhpcyB0ZXN0IGNyZWF0ZXMgc29tZSBv
YmplY3Qgc3RvcmVzLCBwdXR0aW5nIHNvbWUgdmFsdWVzIGluIHRoZW0sIGNvbW1pdHRpbmcgdGhl
IHRyYW5zYWN0aW9uLjxicj4KK0luIGEgbmV3IHRyYW5zYWN0aW9uLCBpdCB0aGVuIG92ZXJ3cml0
ZXMgdGhvc2UgdmFsdWVzLCBidXQgdGhlbiBhYm9ydHMgdGhlIHRyYW5zYWN0aW9uLjxicj4KK0Zp
bmFsbHkgaXQgdmVyaWZpZXMgZXZlcnl0aGluZyBpcyBzZXQgdXAgZnJvbSB0aGUgZmlyc3QgdHJh
bnNhY3Rpb24sIGFuZCBub3RoaW5nIGZyb20gdGhlIGFib3J0ZWQgb25lIGNvbW1pdHRlZC48YnI+
Cis8c2NyaXB0PgorCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLndh
aXRVbnRpbERvbmUoKTsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKK30KKwordmFyIHJl
cXVlc3QgPSB3aW5kb3cuaW5kZXhlZERCLm9wZW4oIkFib3J0ZWRQdXRUZXN0RGF0YWJhc2UiKTsK
KworZnVuY3Rpb24gZG9uZSgpCit7CisgICAgYWxlcnQoIkRvbmUiKTsKKyAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworfQorCityZXF1
ZXN0Lm9udXBncmFkZW5lZWRlZCA9IGZ1bmN0aW9uKGV2ZW50KQoreworICAgIGFsZXJ0KCJGaXJz
dCB1cGdyYWRlIG5lZWRlZDogT2xkIHZlcnNpb24gLSAiICsgZXZlbnQub2xkVmVyc2lvbiArICIg
TmV3IHZlcnNpb24gLSAiICsgZXZlbnQubmV3VmVyc2lvbik7CisgICAgCisgICAgdmFyIHR4ID0g
cmVxdWVzdC50cmFuc2FjdGlvbjsKKyAgICB2YXIgZGIgPSBldmVudC50YXJnZXQucmVzdWx0Owor
CisgICAgYWxlcnQodHggKyAiIC0gIiArIHR4Lm1vZGUpOworICAgIGFsZXJ0KGRiKTsKKworICAg
IHZhciBvczEgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgiVGVzdE9iamVjdFN0b3JlMSIpOworICAg
IHZhciBvczIgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgiVGVzdE9iamVjdFN0b3JlMiIpOworCisg
ICAgdmFyIHB1dFJlcXVlc3QgPSBvczEucHV0KCJiYXIiLCAiZm9vIik7CisgICAgCisgICAgcHV0
UmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbihldmVudCkgeworICAgICAgICBhbGVydCgicHV0
IHN1Y2NlZWRlZCAtIGtleSB3YXMgJyIgKyBwdXRSZXF1ZXN0LnJlc3VsdCArICInIik7CisgICAg
ICAgIAorICAgICAgICB2YXIgZ2V0UmVxdWVzdDEgPSBvczEuZ2V0KCJmb28iKTsKKyAgICAgICAg
Z2V0UmVxdWVzdDEub25zdWNjZXNzID0gZnVuY3Rpb24oZXZlbnQpIHsKKyAgICAgICAgICAgIGFs
ZXJ0KCJnZXQgJ2Zvbycgc3VjY2VlZGVkIC0gdmFsdWUgd2FzICciICsgZ2V0UmVxdWVzdDEucmVz
dWx0ICsgIiciKTsKKyAgICAgICAgfQorCisgICAgICAgIGdldFJlcXVlc3QxLm9uZXJyb3IgPSBm
dW5jdGlvbihldmVudCkgeworICAgICAgICAgICAgYWxlcnQoImdldCAnZm9vJyB1bmV4cGVjdGVk
bHkgZmFpbGVkIC0gIiArIGV2ZW50KTsKKyAgICAgICAgICAgIGRvbmUoKTsKKyAgICAgICAgfQor
ICAgICAgICAKKyAgICAgICAgdmFyIGdldFJlcXVlc3QyID0gb3MyLmdldCgiZmFyIik7CisgICAg
ICAgIGdldFJlcXVlc3QyLm9uc3VjY2VzcyA9IGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgICAgICAg
ICBhbGVydCgiZ2V0ICdmYXInIHN1Y2NlZWRlZCAtIHZhbHVlIHdhcyAnIiArIGdldFJlcXVlc3Qy
LnJlc3VsdCArICInIik7CisgICAgICAgIH0KKworICAgICAgICBnZXRSZXF1ZXN0Mi5vbmVycm9y
ID0gZnVuY3Rpb24oZXZlbnQpIHsKKyAgICAgICAgICAgIGFsZXJ0KCJnZXQgJ2ZhcicgdW5leHBl
Y3RlZGx5IGZhaWxlZCAtICIgKyBldmVudCk7CisgICAgICAgICAgICBkb25lKCk7CisgICAgICAg
IH0KKyAgICB9CisKKyAgICBwdXRSZXF1ZXN0Lm9uZXJyb3IgPSBmdW5jdGlvbihldmVudCkgewor
ICAgICAgICBhbGVydCgicHV0IHVuZXhwZWN0ZWRseSBmYWlsZWQgLSAiICsgZXZlbnQpOworICAg
ICAgICBkb25lKCk7CisgICAgfQorICAgIAorICAgIHR4Lm9uYWJvcnQgPSBmdW5jdGlvbihldmVu
dCkgeworICAgICAgICBhbGVydCgiRmlyc3QgdmVyc2lvbiBjaGFuZ2UgdHJhbnNhY3Rpb24gdW5l
eHBlY3RlZCBhYm9ydCIpOworICAgICAgICBkb25lKCk7CisgICAgfQorCisgICAgdHgub25jb21w
bGV0ZSA9IGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgICAgIGFsZXJ0KCJGaXJzdCB2ZXJzaW9uIGNo
YW5nZSB0cmFuc2FjdGlvbiBjb21wbGV0ZWQiKTsKKyAgICAgICAgZGIuY2xvc2UoKTsKKyAgICAg
ICAgY29udGludWVUZXN0MSgpOworICAgIH0KKworICAgIHR4Lm9uZXJyb3IgPSBmdW5jdGlvbihl
dmVudCkgeworICAgICAgICBhbGVydCgiRmlyc3QgdmVyc2lvbiBjaGFuZ2UgdHJhbnNhY3Rpb24g
dW5leHBlY3RlZCBlcnJvciAtICIgKyBldmVudCk7CisgICAgICAgIGRvbmUoKTsKKyAgICB9Cit9
CisKK2Z1bmN0aW9uIGNvbnRpbnVlVGVzdDEoKQoreworICAgIHZhciByZXF1ZXN0ID0gd2luZG93
LmluZGV4ZWREQi5vcGVuKCJBYm9ydGVkUHV0VGVzdERhdGFiYXNlIiwgMik7CisKKyAgICByZXF1
ZXN0Lm9udXBncmFkZW5lZWRlZCA9IGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgICAgIGFsZXJ0KCJT
ZWNvbmQgdXBncmFkZSBuZWVkZWQ6IE9sZCB2ZXJzaW9uIC0gIiArIGV2ZW50Lm9sZFZlcnNpb24g
KyAiIE5ldyB2ZXJzaW9uIC0gIiArIGV2ZW50Lm5ld1ZlcnNpb24pOworICAgIAorICAgICAgICB2
YXIgdHggPSByZXF1ZXN0LnRyYW5zYWN0aW9uOworICAgICAgICB2YXIgZGIgPSBldmVudC50YXJn
ZXQucmVzdWx0OworCisgICAgICAgIGFsZXJ0KHR4ICsgIiAtICIgKyB0eC5tb2RlKTsKKyAgICAg
ICAgYWxlcnQoZGIpOworCisgICAgICAgIHZhciBvczEgPSB0eC5vYmplY3RTdG9yZSgiVGVzdE9i
amVjdFN0b3JlMSIpOworICAgICAgICB2YXIgb3MyID0gdHgub2JqZWN0U3RvcmUoIlRlc3RPYmpl
Y3RTdG9yZTIiKTsKKyAgICAgICAgdmFyIHB1dFJlcXVlc3QxID0gb3MxLnB1dCgiYmF6IiwgImZv
byIpOworICAgICAgICB2YXIgcHV0UmVxdWVzdDIgPSBvczIucHV0KCJib28iLCAiZmFyIik7Cisg
ICAgCisgICAgICAgIHB1dFJlcXVlc3QxLm9uZXJyb3IgPSBmdW5jdGlvbihlKSB7CisgICAgICAg
ICAgICBhbGVydCgiVW5leHBlY3RlZCBlcnJvciBvdmVyd3JpdGluZyBiYXIgd2l0aCBiYXogLSAi
ICsgZSk7CisgICAgICAgICAgICBkb25lKCk7CisgICAgICAgIH0KKworICAgICAgICBwdXRSZXF1
ZXN0Mi5vbmVycm9yID0gZnVuY3Rpb24oZSkgeworICAgICAgICAgICAgYWxlcnQoIldyaXRpbmcg
aW50byBzZWNvbmQgb2JqZWN0IHN0b3JlIHVuZXhwZWN0ZWRseSBmYWlsZWQgLSAiICsgZSk7Cisg
ICAgICAgICAgICBkb25lKCk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIHB1dFJlcXVl
c3QyLm9uc3VjY2VzcyA9IGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgICAgIHZhciBnZXRSZXF1ZXN0
MSA9IG9zMS5nZXQoImZvbyIpOworICAgICAgICAgICAgdmFyIGdldFJlcXVlc3QyID0gb3MyLmdl
dCgiZmFyIik7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGdldFJlcXVlc3QxLm9uc3VjY2Vz
cyA9IGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgICAgICAgICAgICAgYWxlcnQoImdldDEgJ2Zvbycg
c3VjY2VlZGVkIC0gdmFsdWUgd2FzICciICsgZ2V0UmVxdWVzdDEucmVzdWx0ICsgIiciKTsKKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgZ2V0UmVxdWVzdDEub25lcnJvciA9IGZ1bmN0aW9u
KGV2ZW50KSB7CisgICAgICAgICAgICAgICAgYWxlcnQoImdldDEgdW5leHBlY3RlZGx5IGZhaWxl
ZCAtICIgKyBldmVudCk7CisgICAgICAgICAgICAgICAgZG9uZSgpOworICAgICAgICAgICAgfQor
CisgICAgICAgICAgICBnZXRSZXF1ZXN0Mi5vbnN1Y2Nlc3MgPSBmdW5jdGlvbihldmVudCkgewor
ICAgICAgICAgICAgICAgIGFsZXJ0KCJnZXQyICdmYXInIHN1Y2NlZWRlZCAtIHZhbHVlIHdhcyAn
IiArIGdldFJlcXVlc3QyLnJlc3VsdCArICInIik7CisgICAgICAgICAgICAgICAgdHguYWJvcnQo
KTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZ2V0UmVxdWVzdDIub25lcnJvciA9IGZ1
bmN0aW9uKGV2ZW50KSB7CisgICAgICAgICAgICAgICAgYWxlcnQoImdldDIgdW5leHBlY3RlZGx5
IGZhaWxlZCAtICIgKyBldmVudCk7CisgICAgICAgICAgICAgICAgZG9uZSgpOworICAgICAgICAg
ICAgfQorICAgICAgICB9CisgICAgICAgIAorICAgICAgICB0eC5vbmFib3J0ID0gZnVuY3Rpb24o
ZXZlbnQpIHsKKyAgICAgICAgICAgIGFsZXJ0KCJTZWNvbmQgdmVyc2lvbiBjaGFuZ2UgdHJhbnNh
Y3Rpb24gYWJvcnQiKTsKKyAgICAgICAgICAgIGRiLmNsb3NlKCk7CisgICAgICAgICAgICBjb250
aW51ZVRlc3QyKCk7CisgICAgICAgIH0KKworICAgICAgICB0eC5vbmNvbXBsZXRlID0gZnVuY3Rp
b24oZXZlbnQpIHsKKyAgICAgICAgICAgIGFsZXJ0KCJTZWNvbmQgdmVyc2lvbiBjaGFuZ2UgdHJh
bnNhY3Rpb24gdW5leHBlY3RlZCBjb21wbGV0ZSIpOworICAgICAgICAgICAgZG9uZSgpOworICAg
ICAgICB9CisKKyAgICAgICAgdHgub25lcnJvciA9IGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgICAg
ICAgICBhbGVydCgiU2Vjb25kIHZlcnNpb24gY2hhbmdlIHRyYW5zYWN0aW9uIHVuZXhwZWN0ZWQg
ZXJyb3IgLSAiICsgZXZlbnQpOworICAgICAgICAgICAgZG9uZSgpOworICAgICAgICB9CisgICAg
fQorfQorCitmdW5jdGlvbiBjb250aW51ZVRlc3QyKCkKK3sKKyAgICB2YXIgcmVxdWVzdCA9IHdp
bmRvdy5pbmRleGVkREIub3BlbigiQWJvcnRlZFB1dFRlc3REYXRhYmFzZSIsIDIpOworCisgICAg
cmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbihldmVudCkgeworICAgICAgICBhbGVy
dCgiVGhpcmQgdXBncmFkZSBuZWVkZWQ6IE9sZCB2ZXJzaW9uIC0gIiArIGV2ZW50Lm9sZFZlcnNp
b24gKyAiIE5ldyB2ZXJzaW9uIC0gIiArIGV2ZW50Lm5ld1ZlcnNpb24pOworICAgIAorICAgICAg
ICB2YXIgdHggPSByZXF1ZXN0LnRyYW5zYWN0aW9uOworICAgICAgICB2YXIgZGIgPSBldmVudC50
YXJnZXQucmVzdWx0OworCisgICAgICAgIGFsZXJ0KHR4ICsgIiAtICIgKyB0eC5tb2RlKTsKKyAg
ICAgICAgYWxlcnQoZGIpOworCisgICAgICAgIHZhciBvczEgPSB0eC5vYmplY3RTdG9yZSgiVGVz
dE9iamVjdFN0b3JlMSIpOworICAgICAgICB2YXIgb3MyID0gdHgub2JqZWN0U3RvcmUoIlRlc3RP
YmplY3RTdG9yZTIiKTsKKyAgICAgICAgdmFyIGdldFJlcXVlc3QxID0gb3MxLmdldCgiZm9vIik7
CisgICAgICAgIHZhciBnZXRSZXF1ZXN0MiA9IG9zMi5nZXQoImZhciIpOworICAgIAorICAgICAg
ICBnZXRSZXF1ZXN0MS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbihldmVudCkgeworICAgICAgICAgICAg
YWxlcnQoImdldDEgJ2Zvbycgc3VjY2VlZGVkIC0gdmFsdWUgd2FzICciICsgZ2V0UmVxdWVzdDEu
cmVzdWx0ICsgIiciKTsKKyAgICAgICAgfQorCisgICAgICAgIGdldFJlcXVlc3QxLm9uZXJyb3Ig
PSBmdW5jdGlvbihldmVudCkgeworICAgICAgICAgICAgYWxlcnQoImdldDEgJ2ZvbycgdW5leHBl
Y3RlZGx5IGZhaWxlZCAtICIgKyBldmVudCk7CisgICAgICAgICAgICBkb25lKCk7CisgICAgICAg
IH0KKworICAgICAgICBnZXRSZXF1ZXN0Mi5vbnN1Y2Nlc3MgPSBmdW5jdGlvbihldmVudCkgewor
ICAgICAgICAgICAgYWxlcnQoImdldDIgJ2Zhcicgc3VjY2VlZGVkIC0gdmFsdWUgd2FzICciICsg
Z2V0UmVxdWVzdDIucmVzdWx0ICsgIiciKTsKKyAgICAgICAgfQorCisgICAgICAgIGdldFJlcXVl
c3QyLm9uZXJyb3IgPSBmdW5jdGlvbihldmVudCkgeworICAgICAgICAgICAgYWxlcnQoImdldDIg
J2ZhcicgdW5leHBlY3RlZGx5IGZhaWxlZCAtICIgKyBldmVudCk7CisgICAgICAgICAgICBkb25l
KCk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIHR4Lm9uYWJvcnQgPSBmdW5jdGlvbihl
dmVudCkgeworICAgICAgICAgICAgYWxlcnQoIlRoaXJkIHZlcnNpb24gY2hhbmdlIHRyYW5zYWN0
aW9uIHVuZXhwZWN0ZWQgYWJvcnQiKTsKKyAgICAgICAgICAgIGRvbmUoKTsKKyAgICAgICAgfQor
CisgICAgICAgIHR4Lm9uY29tcGxldGUgPSBmdW5jdGlvbihldmVudCkgeworICAgICAgICAgICAg
YWxlcnQoIlRoaXJkIHZlcnNpb24gY2hhbmdlIHRyYW5zYWN0aW9uIGNvbXBsZXRlIik7CisgICAg
ICAgICAgICBkb25lKCk7CisgICAgICAgIH0KKworICAgICAgICB0eC5vbmVycm9yID0gZnVuY3Rp
b24oZXZlbnQpIHsKKyAgICAgICAgICAgIGFsZXJ0KCJUaGlyZCB2ZXJzaW9uIGNoYW5nZSB0cmFu
c2FjdGlvbiB1bmV4cGVjdGVkIGVycm9yIC0gIiArIGV2ZW50KTsKKyAgICAgICAgICAgIGRvbmUo
KTsKKyAgICAgICAgfQorICAgIH0KK30KKworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRidHJhbnNhY3Rpb24tb2JqZWN0c3RvcmUt
ZmFpbHVyZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW9k
ZXJuL2lkYnRyYW5zYWN0aW9uLW9iamVjdHN0b3JlLWZhaWx1cmVzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MzliMzhhCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYnRyYW5zYWN0aW9uLW9i
amVjdHN0b3JlLWZhaWx1cmVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitBTEVSVDog
VXBncmFkZSBuZWVkZWQ6IE9sZCB2ZXJzaW9uIC0gMCBOZXcgdmVyc2lvbiAtIDEKK0FMRVJUOiBb
b2JqZWN0IElEQlRyYW5zYWN0aW9uXSAtIHZlcnNpb25jaGFuZ2UKK0FMRVJUOiBbb2JqZWN0IElE
QkRhdGFiYXNlXQorQUxFUlQ6IENhdWdodCBhdHRlbXB0IHRvIGFjY2VzcyBlbXB0eS1uYW1lZCBv
YmplY3Qgc3RvcmUgb24gdGhlIHRyYW5zYWN0aW9uCitBTEVSVDogQ2F1Z2h0IGF0dGVtcHQgdG8g
YWNjZXNzIG51bGwtbmFtZWQgb2JqZWN0IHN0b3JlIG9uIHRoZSB0cmFuc2FjdGlvbgorQUxFUlQ6
IENhdWdodCBhdHRlbXB0IHRvIGFjY2VzcyBub24tZXhpc3RhbnQgb2JqZWN0IHN0b3JlIG9uIHRo
ZSB0cmFuc2FjdGlvbgorQUxFUlQ6IENhdWdodCBhdHRlbXB0IHRvIGFjY2VzcyB2YWxpZCBvYmpl
Y3Qgc3RvcmUgb24gYSB0cmFuc2FjdGlvbiB0aGF0IGlzIGFscmVhZHkgZmluaXNoaW5nCitBTEVS
VDogRmlyc3QgdmVyc2lvbiBjaGFuZ2UgdHJhbnNhY3Rpb24gYWJvcnQKK0FMRVJUOiBEb25lCitU
aGlzIHRlc3RzIHNvbWUgb2J2aW91cyBmYWlsdXJlcyB0aGF0IGNhbiBoYXBwZW4gd2hpbGUgY2Fs
bGluZyB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgpCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJ0cmFuc2FjdGlvbi1vYmplY3RzdG9yZS1mYWls
dXJlcy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYnRyYW5z
YWN0aW9uLW9iamVjdHN0b3JlLWZhaWx1cmVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uOTJlYWY1YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL21vZGVybi9pZGJ0cmFuc2FjdGlvbi1vYmplY3RzdG9yZS1mYWlsdXJlcy5o
dG1sCkBAIC0wLDAgKzEsNzkgQEAKK1RoaXMgdGVzdHMgc29tZSBvYnZpb3VzIGZhaWx1cmVzIHRo
YXQgY2FuIGhhcHBlbiB3aGlsZSBjYWxsaW5nIHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCk8YnI+
Cis8c2NyaXB0PgorCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLndh
aXRVbnRpbERvbmUoKTsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKK30KKwordmFyIHJl
cXVlc3QgPSB3aW5kb3cuaW5kZXhlZERCLm9wZW4oIlRyYW5zYWN0aW9uT2JqZWN0U3RvcmVGYWls
dXJlc1Rlc3REYXRhYmFzZSIpOworCitmdW5jdGlvbiBkb25lKCkKK3sKKyAgICBhbGVydCgiRG9u
ZSIpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk7Cit9CisKK3JlcXVlc3Qub251cGdyYWRlbmVlZGVkID0gZnVuY3Rpb24oZXZlbnQp
Cit7CisgICAgYWxlcnQoIlVwZ3JhZGUgbmVlZGVkOiBPbGQgdmVyc2lvbiAtICIgKyBldmVudC5v
bGRWZXJzaW9uICsgIiBOZXcgdmVyc2lvbiAtICIgKyBldmVudC5uZXdWZXJzaW9uKTsKKyAgICAK
KyAgICB2YXIgdHggPSByZXF1ZXN0LnRyYW5zYWN0aW9uOworICAgIHZhciBkYiA9IGV2ZW50LnRh
cmdldC5yZXN1bHQ7CisKKyAgICBhbGVydCh0eCArICIgLSAiICsgdHgubW9kZSk7CisgICAgYWxl
cnQoZGIpOworCisgICAgdmFyIG9zMSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCJUZXN0T2JqZWN0
U3RvcmUxIik7CisgICAgdmFyIG9zMiA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCJUZXN0T2JqZWN0
U3RvcmUyIik7CisKKyAgICB2YXIgcHV0UmVxdWVzdCA9IG9zMS5wdXQoImJhciIsICJmb28iKTsK
KyAgICAKKyAgICBwdXRSZXF1ZXN0Lm9uZXJyb3IgPSBmdW5jdGlvbihldmVudCkgeworICAgICAg
ICBhbGVydCgicHV0IHVuZXhwZWN0ZWRseSBmYWlsZWQgLSAiICsgZXZlbnQpOworICAgICAgICBk
b25lKCk7CisgICAgfQorICAgIAorICAgIHRyeSB7CisgICAgICAgIHR4Lm9iamVjdFN0b3JlKCIi
KTsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgYWxlcnQoIkNhdWdodCBhdHRlbXB0IHRvIGFj
Y2VzcyBlbXB0eS1uYW1lZCBvYmplY3Qgc3RvcmUgb24gdGhlIHRyYW5zYWN0aW9uIik7CisgICAg
fQorICAgIAorICAgIHRyeSB7CisgICAgICAgIHR4Lm9iamVjdFN0b3JlKCk7CisgICAgfSBjYXRj
aChlKSB7CisgICAgICAgIGFsZXJ0KCJDYXVnaHQgYXR0ZW1wdCB0byBhY2Nlc3MgbnVsbC1uYW1l
ZCBvYmplY3Qgc3RvcmUgb24gdGhlIHRyYW5zYWN0aW9uIik7CisgICAgfQorICAgICAKKyAgICB0
cnkgeworICAgICAgICB0eC5vYmplY3RTdG9yZSgiVGhpc09iamVjdFN0b3JlRG9lc05vdEV4aXN0
Iik7CisgICAgfSBjYXRjaChlKSB7CisgICAgICAgIGFsZXJ0KCJDYXVnaHQgYXR0ZW1wdCB0byBh
Y2Nlc3Mgbm9uLWV4aXN0YW50IG9iamVjdCBzdG9yZSBvbiB0aGUgdHJhbnNhY3Rpb24iKTsKKyAg
ICB9CisgICAgCisgICAgdHguYWJvcnQoKTsKKyAgICAKKyAgICB0cnkgeworICAgICAgICB0eC5v
YmplY3RTdG9yZSgiVGVzdE9iamVjdFN0b3JlMSIpOworICAgIH0gY2F0Y2goZSkgeworICAgICAg
ICBhbGVydCgiQ2F1Z2h0IGF0dGVtcHQgdG8gYWNjZXNzIHZhbGlkIG9iamVjdCBzdG9yZSBvbiBh
IHRyYW5zYWN0aW9uIHRoYXQgaXMgYWxyZWFkeSBmaW5pc2hpbmciKTsKKyAgICB9CisgICAgICAK
KyAgICB0eC5vbmFib3J0ID0gZnVuY3Rpb24oZXZlbnQpIHsKKyAgICAgICAgYWxlcnQoIkZpcnN0
IHZlcnNpb24gY2hhbmdlIHRyYW5zYWN0aW9uIGFib3J0Iik7CisgICAgICAgIGRvbmUoKTsKKyAg
ICB9CisKKyAgICB0eC5vbmNvbXBsZXRlID0gZnVuY3Rpb24oZXZlbnQpIHsKKyAgICAgICAgYWxl
cnQoIkZpcnN0IHZlcnNpb24gY2hhbmdlIHRyYW5zYWN0aW9uIHVuZXhwZWN0ZWQgY29tcGxldGUi
KTsKKyAgICAgICAgZG9uZSgpOworICAgIH0KKworICAgIHR4Lm9uZXJyb3IgPSBmdW5jdGlvbihl
dmVudCkgeworICAgICAgICBhbGVydCgiRmlyc3QgdmVyc2lvbiBjaGFuZ2UgdHJhbnNhY3Rpb24g
dW5leHBlY3RlZCBlcnJvciAtICIgKyBldmVudCk7CisgICAgICAgIGRvbmUoKTsKKyAgICB9Cit9
Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4NzJjYTZhLi4zZmIxZDNlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDUgKzEsMzcgQEAKIDIwMTUtMTAtMjcgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUu
Y29tPgogCisgICAgICAgIE1vZGVybiBJREI6IElEQlRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCkg
c3VwcG9ydC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE1MDYwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRlc3RzOiBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vYWJvcnRlZC1wdXQuaHRtbAorICAgICAg
ICAgICAgICAgc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYnRyYW5zYWN0aW9uLW9iamVjdHN0
b3JlLWZhaWx1cmVzLmh0bWwKKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9J
REJPYmplY3RTdG9yZUltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCQ2xpZW50OjpJREJP
YmplY3RTdG9yZTo6cHV0KToKKyAgICAgICAgCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIv
Y2xpZW50L0lEQlRyYW5zYWN0aW9uSW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJDbGll
bnQ6OklEQlRyYW5zYWN0aW9uOjpvYmplY3RTdG9yZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJD
bGllbnQ6OklEQlRyYW5zYWN0aW9uOjpjcmVhdGVPYmplY3RTdG9yZU9uU2VydmVyKToKKyAgICAg
ICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCVHJhbnNhY3Rpb25JbXBsLmg6CisgICAg
ICAgIAorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9NZW1vcnlCYWNraW5nU3Rv
cmVUcmFuc2FjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6Ok1lbW9yeUJh
Y2tpbmdTdG9yZVRyYW5zYWN0aW9uOjphZGRFeGlzdGluZ09iamVjdFN0b3JlKToKKyAgICAgICAg
KiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvTWVtb3J5QmFja2luZ1N0b3JlVHJhbnNhY3Rpb24u
aDoKKyAgICAgICAgCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL01lbW9yeUlE
QkJhY2tpbmdTdG9yZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6Ok1lbW9yeUlE
QkJhY2tpbmdTdG9yZTo6YmVnaW5UcmFuc2FjdGlvbik6CisgICAgICAgIAorICAgICAgICAqIE1v
ZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJEYXRhYmFzZUluZm8uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SURCRGF0YWJhc2VJbmZvOjppbmZvRm9yRXhpc3RpbmdPYmplY3RTdG9yZSk6CisgICAg
ICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkRhdGFiYXNlSW5mby5oOgorICAgICAg
ICAKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCVHJhbnNhY3Rpb25JbmZv
Lmg6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbkluZm86Om9iamVjdFN0b3Jlcyk6
CisKKzIwMTUtMTAtMjcgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCiAgICAg
ICAgIE1vZGVybiBJREI6IFN1cHBvcnQgSURCT2JqZWN0U3RvcmUucHV0L2dldCBzdXBwb3J0Lgog
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUwNDY4CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJP
YmplY3RTdG9yZUltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xp
ZW50L0lEQk9iamVjdFN0b3JlSW1wbC5jcHAKaW5kZXggNDg4OWIzNy4uYjAyY2MxNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQk9iamVjdFN0
b3JlSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50
L0lEQk9iamVjdFN0b3JlSW1wbC5jcHAKQEAgLTE2OSw3ICsxNjksNyBAQCBSZWZQdHI8V2ViQ29y
ZTo6SURCUmVxdWVzdD4gSURCT2JqZWN0U3RvcmU6OmFkZChKU0M6OkV4ZWNTdGF0ZSYsIERlcHJl
Y2F0ZWQ6OlNjcgogUmVmUHRyPFdlYkNvcmU6OklEQlJlcXVlc3Q+IElEQk9iamVjdFN0b3JlOjpw
dXQoSlNDOjpFeGVjU3RhdGUmIGV4ZWNTdGF0ZSwgRGVwcmVjYXRlZDo6U2NyaXB0VmFsdWUmIHZh
bHVlLCBjb25zdCBEZXByZWNhdGVkOjpTY3JpcHRWYWx1ZSYga2V5LCBFeGNlcHRpb25Db2RlJiBl
YykKIHsKICAgICBhdXRvIGlkYktleSA9IHNjcmlwdFZhbHVlVG9JREJLZXkoZXhlY1N0YXRlLCBr
ZXkpOwotICAgIHJldHVybiBwdXRPckFkZChleGVjU3RhdGUsIHZhbHVlLCBpZGJLZXksIEluZGV4
ZWREQjo6T2JqZWN0U3RvcmVPdmVyd3JpdGVNb2RlOjpOb092ZXJ3cml0ZSwgZWMpOworICAgIHJl
dHVybiBwdXRPckFkZChleGVjU3RhdGUsIHZhbHVlLCBpZGJLZXksIEluZGV4ZWREQjo6T2JqZWN0
U3RvcmVPdmVyd3JpdGVNb2RlOjpPdmVyd3JpdGUsIGVjKTsKIH0KIAogUmVmUHRyPFdlYkNvcmU6
OklEQlJlcXVlc3Q+IElEQk9iamVjdFN0b3JlOjpwdXRPckFkZChKU0M6OkV4ZWNTdGF0ZSYgc3Rh
dGUsIERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVlJiB2YWx1ZSwgUmVmUHRyPElEQktleT4ga2V5LCBJ
bmRleGVkREI6Ok9iamVjdFN0b3JlT3ZlcndyaXRlTW9kZSBvdmVyd3JpdGVNb2RlLCBFeGNlcHRp
b25Db2RlJiBlYykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L2NsaWVudC9JREJUcmFuc2FjdGlvbkltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvY2xpZW50L0lEQlRyYW5zYWN0aW9uSW1wbC5jcHAKaW5kZXggYmMyMmI2Zi4uMmVj
MmZmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50
L0lEQlRyYW5zYWN0aW9uSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvY2xpZW50L0lEQlRyYW5zYWN0aW9uSW1wbC5jcHAKQEAgLTk5LDEwICs5OSw0OCBAQCBS
ZWZQdHI8RE9NRXJyb3I+IElEQlRyYW5zYWN0aW9uOjplcnJvcigpIGNvbnN0CiAgICAgcmV0dXJu
IG51bGxwdHI7CiB9CiAKLVJlZlB0cjxXZWJDb3JlOjpJREJPYmplY3RTdG9yZT4gSURCVHJhbnNh
Y3Rpb246Om9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKQorUmVmUHRy
PFdlYkNvcmU6OklEQk9iamVjdFN0b3JlPiBJREJUcmFuc2FjdGlvbjo6b2JqZWN0U3RvcmUoY29u
c3QgU3RyaW5nJiBvYmplY3RTdG9yZU5hbWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewotICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBudWxscHRyOworICAgIExPRyhJbmRleGVk
REIsICJJREJUcmFuc2FjdGlvbjo6b2JqZWN0U3RvcmUiKTsKKworICAgIGlmIChvYmplY3RTdG9y
ZU5hbWUuaXNFbXB0eSgpKSB7CisgICAgICAgIGVjID0gTk9UX0ZPVU5EX0VSUjsKKyAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisgICAgfQorCisgICAgaWYgKGlzRmluaXNoZWRPckZpbmlzaGluZygp
KSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybiBudWxs
cHRyOworICAgIH0KKworICAgIGF1dG8gaXRlcmF0b3IgPSBtX3JlZmVyZW5jZWRPYmplY3RTdG9y
ZXMuZmluZChvYmplY3RTdG9yZU5hbWUpOworICAgIGlmIChpdGVyYXRvciAhPSBtX3JlZmVyZW5j
ZWRPYmplY3RTdG9yZXMuZW5kKCkpCisgICAgICAgIHJldHVybiBpdGVyYXRvci0+dmFsdWU7CisK
KyAgICBib29sIGZvdW5kID0gZmFsc2U7CisgICAgZm9yIChhdXRvJiBvYmplY3RTdG9yZSA6IG1f
aW5mby5vYmplY3RTdG9yZXMoKSkgeworICAgICAgICBpZiAob2JqZWN0U3RvcmUgPT0gb2JqZWN0
U3RvcmVOYW1lKSB7CisgICAgICAgICAgICBmb3VuZCA9IHRydWU7CisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgfQorICAgIH0KKworICAgIGF1dG8qIGluZm8gPSBtX2RhdGFiYXNlLT5pbmZv
KCkuaW5mb0ZvckV4aXN0aW5nT2JqZWN0U3RvcmUob2JqZWN0U3RvcmVOYW1lKTsKKyAgICBpZiAo
IWluZm8pIHsKKyAgICAgICAgZWMgPSBOT1RfRk9VTkRfRVJSOworICAgICAgICByZXR1cm4gbnVs
bHB0cjsKKyAgICB9CisKKyAgICAvLyBWZXJzaW9uIGNoYW5nZSB0cmFuc2FjdGlvbnMgYXJlIHNj
b3BlZCB0byBldmVyeSBvYmplY3Qgc3RvcmUgaW4gdGhlIGRhdGFiYXNlLgorICAgIGlmICghZm91
bmQgJiYgIWlzVmVyc2lvbkNoYW5nZSgpKSB7CisgICAgICAgIGVjID0gTk9UX0ZPVU5EX0VSUjsK
KyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorCisgICAgYXV0byBvYmplY3RTdG9yZSA9
IElEQk9iamVjdFN0b3JlOjpjcmVhdGUoKmluZm8sICp0aGlzKTsKKyAgICBtX3JlZmVyZW5jZWRP
YmplY3RTdG9yZXMuc2V0KG9iamVjdFN0b3JlTmFtZSwgJm9iamVjdFN0b3JlLmdldCgpKTsKKwor
ICAgIHJldHVybiBhZG9wdFJlZigmb2JqZWN0U3RvcmUubGVha1JlZigpKTsKIH0KIAogdm9pZCBJ
REJUcmFuc2FjdGlvbjo6YWJvcnQoRXhjZXB0aW9uQ29kZSYgZWMpCkBAIC0yOTcsOSArMzM1LDEx
IEBAIHZvaWQgSURCVHJhbnNhY3Rpb246OmNyZWF0ZU9iamVjdFN0b3JlT25TZXJ2ZXIoVHJhbnNh
Y3Rpb25PcGVyYXRpb24mIG9wZXJhdGlvbiwKIHsKICAgICBMT0coSW5kZXhlZERCLCAiSURCVHJh
bnNhY3Rpb246OmNyZWF0ZU9iamVjdFN0b3JlT25TZXJ2ZXIiKTsKIAotICAgIEFTU0VSVCghaXNG
aW5pc2hlZE9yRmluaXNoaW5nKCkpOwogICAgIEFTU0VSVChpc1ZlcnNpb25DaGFuZ2UoKSk7CiAK
KyAgICBpZiAoaXNGaW5pc2hlZE9yRmluaXNoaW5nKCkpCisgICAgICAgIHJldHVybjsKKwogICAg
IG1fZGF0YWJhc2UtPnNlcnZlckNvbm5lY3Rpb24oKS5jcmVhdGVPYmplY3RTdG9yZShvcGVyYXRp
b24sIGluZm8pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9jbGllbnQvSURCVHJhbnNhY3Rpb25JbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9jbGllbnQvSURCVHJhbnNhY3Rpb25JbXBsLmgKaW5kZXggNjQwODU3NS4uM2U3
ZTc2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50
L0lEQlRyYW5zYWN0aW9uSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL2NsaWVudC9JREJUcmFuc2FjdGlvbkltcGwuaApAQCAtMTMzLDYgKzEzMyw4IEBAIHByaXZh
dGU6CiAKICAgICBEZXF1ZTxSZWZQdHI8VHJhbnNhY3Rpb25PcGVyYXRpb24+PiBtX3RyYW5zYWN0
aW9uT3BlcmF0aW9uUXVldWU7CiAgICAgSGFzaE1hcDxJREJSZXNvdXJjZUlkZW50aWZpZXIsIFJl
ZlB0cjxUcmFuc2FjdGlvbk9wZXJhdGlvbj4+IG1fdHJhbnNhY3Rpb25PcGVyYXRpb25NYXA7CisK
KyAgICBIYXNoTWFwPFN0cmluZywgUmVmUHRyPElEQk9iamVjdFN0b3JlPj4gbV9yZWZlcmVuY2Vk
T2JqZWN0U3RvcmVzOwogfTsKIAogY2xhc3MgVHJhbnNhY3Rpb25BY3RpdmF0b3IgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL01lbW9yeUJhY2tp
bmdTdG9yZVRyYW5zYWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L3NlcnZlci9NZW1vcnlCYWNraW5nU3RvcmVUcmFuc2FjdGlvbi5jcHAKaW5kZXggYzU2NGFkNi4u
MzQyNDFiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2Vy
dmVyL01lbW9yeUJhY2tpbmdTdG9yZVRyYW5zYWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvTWVtb3J5QmFja2luZ1N0b3JlVHJhbnNhY3Rpb24u
Y3BwCkBAIC02OCw2ICs2OCwxOCBAQCB2b2lkIE1lbW9yeUJhY2tpbmdTdG9yZVRyYW5zYWN0aW9u
OjphZGROZXdPYmplY3RTdG9yZShNZW1vcnlPYmplY3RTdG9yZSYgb2JqZWN0UwogICAgIG9iamVj
dFN0b3JlLndyaXRlVHJhbnNhY3Rpb25TdGFydGVkKCp0aGlzKTsKIH0KIAordm9pZCBNZW1vcnlC
YWNraW5nU3RvcmVUcmFuc2FjdGlvbjo6YWRkRXhpc3RpbmdPYmplY3RTdG9yZShNZW1vcnlPYmpl
Y3RTdG9yZSYgb2JqZWN0U3RvcmUpCit7CisgICAgTE9HKEluZGV4ZWREQiwgIk1lbW9yeUJhY2tp
bmdTdG9yZVRyYW5zYWN0aW9uOjphZGRFeGlzdGluZ09iamVjdFN0b3JlIik7CisKKyAgICBBU1NF
UlQoaXNXcml0aW5nKCkpOworCisgICAgQVNTRVJUKCFtX29iamVjdFN0b3Jlcy5jb250YWlucygm
b2JqZWN0U3RvcmUpKTsKKyAgICBtX29iamVjdFN0b3Jlcy5hZGQoJm9iamVjdFN0b3JlKTsKKwor
ICAgIG9iamVjdFN0b3JlLndyaXRlVHJhbnNhY3Rpb25TdGFydGVkKCp0aGlzKTsKK30KKwogdm9p
ZCBNZW1vcnlCYWNraW5nU3RvcmVUcmFuc2FjdGlvbjo6cmVjb3JkVmFsdWVDaGFuZ2VkKE1lbW9y
eU9iamVjdFN0b3JlJiBvYmplY3RTdG9yZSwgY29uc3QgSURCS2V5RGF0YSYga2V5KQogewogICAg
IEFTU0VSVChtX29iamVjdFN0b3Jlcy5jb250YWlucygmb2JqZWN0U3RvcmUpKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9NZW1vcnlCYWNraW5n
U3RvcmVUcmFuc2FjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2Vy
dmVyL01lbW9yeUJhY2tpbmdTdG9yZVRyYW5zYWN0aW9uLmgKaW5kZXggMjk1YmJjYS4uNDY1MmMy
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL01l
bW9yeUJhY2tpbmdTdG9yZVRyYW5zYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvc2VydmVyL01lbW9yeUJhY2tpbmdTdG9yZVRyYW5zYWN0aW9uLmgKQEAgLTU2
LDYgKzU2LDcgQEAgcHVibGljOgogICAgIGNvbnN0IElEQkRhdGFiYXNlSW5mbyYgb3JpZ2luYWxE
YXRhYmFzZUluZm8oKSBjb25zdDsKIAogICAgIHZvaWQgYWRkTmV3T2JqZWN0U3RvcmUoTWVtb3J5
T2JqZWN0U3RvcmUmKTsKKyAgICB2b2lkIGFkZEV4aXN0aW5nT2JqZWN0U3RvcmUoTWVtb3J5T2Jq
ZWN0U3RvcmUmKTsKICAgICB2b2lkIHJlY29yZFZhbHVlQ2hhbmdlZChNZW1vcnlPYmplY3RTdG9y
ZSYsIGNvbnN0IElEQktleURhdGEmKTsKIAogICAgIHZvaWQgYWJvcnQoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9NZW1vcnlJREJCYWNraW5n
U3RvcmUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL01lbW9y
eUlEQkJhY2tpbmdTdG9yZS5jcHAKaW5kZXggZmUyZmExOC4uZDcwZGRhNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL01lbW9yeUlEQkJhY2tpbmdT
dG9yZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL01l
bW9yeUlEQkJhY2tpbmdTdG9yZS5jcHAKQEAgLTcyLDggKzcyLDE2IEBAIElEQkVycm9yIE1lbW9y
eUlEQkJhY2tpbmdTdG9yZTo6YmVnaW5UcmFuc2FjdGlvbihjb25zdCBJREJUcmFuc2FjdGlvbklu
Zm8mIGluZm8pCiAgICAgICAgIHJldHVybiBJREJFcnJvcihJREJFeGNlcHRpb25Db2RlOjpJbnZh
bGlkU3RhdGVFcnJvciwgIkJhY2tpbmcgc3RvcmUgYXNrZWQgdG8gY3JlYXRlIHRyYW5zYWN0aW9u
IGl0IGFscmVhZHkgaGFzIGEgcmVjb3JkIG9mIik7CiAKICAgICBhdXRvIHRyYW5zYWN0aW9uID0g
TWVtb3J5QmFja2luZ1N0b3JlVHJhbnNhY3Rpb246OmNyZWF0ZSgqdGhpcywgaW5mbyk7CisKKyAg
ICAvLyBWZXJzaW9uQ2hhbmdlIHRyYW5zYWN0aW9ucyBhcmUgc2NvcGVkIHRvICJldmVyeSBvYmpl
Y3Qgc3RvcmUiLgorICAgIGlmICh0cmFuc2FjdGlvbi0+aXNWZXJzaW9uQ2hhbmdlKCkpIHsKKyAg
ICAgICAgZm9yIChhdXRvJiBvYmplY3RTdG9yZSA6IG1fb2JqZWN0U3RvcmVzLnZhbHVlcygpKQor
ICAgICAgICAgICAgdHJhbnNhY3Rpb24tPmFkZEV4aXN0aW5nT2JqZWN0U3RvcmUoKm9iamVjdFN0
b3JlKTsKKyAgICB9CisKICAgICBtX3RyYW5zYWN0aW9ucy5zZXQoaW5mby5pZGVudGlmaWVyKCks
IFdURjo6bW92ZSh0cmFuc2FjdGlvbikpOwogCisKICAgICByZXR1cm4gSURCRXJyb3IoKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lE
QkRhdGFiYXNlSW5mby5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFy
ZWQvSURCRGF0YWJhc2VJbmZvLmNwcAppbmRleCA1ZGRiMmEyLi44OWIwZGRlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCRGF0YWJhc2VJbmZv
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCRGF0
YWJhc2VJbmZvLmNwcApAQCAtODYsNiArODYsMTYgQEAgY29uc3QgSURCT2JqZWN0U3RvcmVJbmZv
KiBJREJEYXRhYmFzZUluZm86OmluZm9Gb3JFeGlzdGluZ09iamVjdFN0b3JlKHVpbnQ2NF90IG8K
ICAgICByZXR1cm4gJml0ZXJhdG9yLT52YWx1ZTsKIH0KIAorY29uc3QgSURCT2JqZWN0U3RvcmVJ
bmZvKiBJREJEYXRhYmFzZUluZm86OmluZm9Gb3JFeGlzdGluZ09iamVjdFN0b3JlKGNvbnN0IFN0
cmluZyYgbmFtZSkgY29uc3QKK3sKKyAgICBmb3IgKGF1dG8mIG9iamVjdFN0b3JlIDogbV9vYmpl
Y3RTdG9yZU1hcC52YWx1ZXMoKSkgeworICAgICAgICBpZiAob2JqZWN0U3RvcmUubmFtZSgpID09
IG5hbWUpCisgICAgICAgICAgICByZXR1cm4gJm9iamVjdFN0b3JlOworICAgIH0KKworICAgIHJl
dHVybiBudWxscHRyOworfQorCiBWZWN0b3I8U3RyaW5nPiBJREJEYXRhYmFzZUluZm86Om9iamVj
dFN0b3JlTmFtZXMoKSBjb25zdAogewogICAgIFZlY3RvcjxTdHJpbmc+IG5hbWVzOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkRhdGFiYXNl
SW5mby5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkRhdGFi
YXNlSW5mby5oCmluZGV4IDBkZjllMTYuLmI2YWM2OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJEYXRhYmFzZUluZm8uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCRGF0YWJhc2VJbmZvLmgKQEAg
LTUwLDYgKzUwLDcgQEAgcHVibGljOgogICAgIElEQk9iamVjdFN0b3JlSW5mbyBjcmVhdGVOZXdP
YmplY3RTdG9yZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IElEQktleVBhdGgmLCBib29sIGF1
dG9JbmNyZW1lbnQpOwogICAgIHZvaWQgYWRkRXhpc3RpbmdPYmplY3RTdG9yZShjb25zdCBJREJP
YmplY3RTdG9yZUluZm8mKTsKICAgICBjb25zdCBJREJPYmplY3RTdG9yZUluZm8qIGluZm9Gb3JF
eGlzdGluZ09iamVjdFN0b3JlKHVpbnQ2NF90IG9iamVjdFN0b3JlSWRlbnRpZmllcikgY29uc3Q7
CisgICAgY29uc3QgSURCT2JqZWN0U3RvcmVJbmZvKiBpbmZvRm9yRXhpc3RpbmdPYmplY3RTdG9y
ZShjb25zdCBTdHJpbmcmIG9iamVjdFN0b3JlTmFtZSkgY29uc3Q7CiAKICAgICBWZWN0b3I8U3Ry
aW5nPiBvYmplY3RTdG9yZU5hbWVzKCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJUcmFuc2FjdGlvbkluZm8uaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJUcmFuc2FjdGlvbkluZm8uaApp
bmRleCA5YThkMTA1Li5iMzRhYmQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9zaGFyZWQvSURCVHJhbnNhY3Rpb25JbmZvLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlRyYW5zYWN0aW9uSW5mby5oCkBAIC0zMCw2
ICszMCw3IEBACiAKICNpbmNsdWRlICJJREJSZXNvdXJjZUlkZW50aWZpZXIuaCIKICNpbmNsdWRl
ICJJbmRleGVkREIuaCIKKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIG5hbWVzcGFjZSBJREJTZXJ2ZXIgewpAQCAtNDcsNiArNDgsOCBAQCBwdWJsaWM6CiAg
ICAgSW5kZXhlZERCOjpUcmFuc2FjdGlvbk1vZGUgbW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fbW9k
ZTsgfQogICAgIHVpbnQ2NF90IG5ld1ZlcnNpb24oKSBjb25zdCB7IHJldHVybiBtX25ld1ZlcnNp
b247IH0KIAorICAgIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBvYmplY3RTdG9yZXMoKSBjb25zdCB7
IHJldHVybiBtX29iamVjdFN0b3JlczsgfQorCiBwcml2YXRlOgogICAgIElEQlRyYW5zYWN0aW9u
SW5mbyhjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImKTsKIApAQCAtNTQsNiArNTcsNyBAQCBw
cml2YXRlOgogCiAgICAgSW5kZXhlZERCOjpUcmFuc2FjdGlvbk1vZGUgbV9tb2RlIHsgSW5kZXhl
ZERCOjpUcmFuc2FjdGlvbk1vZGU6OlJlYWRPbmx5IH07CiAgICAgdWludDY0X3QgbV9uZXdWZXJz
aW9uIHsgMCB9OworICAgIFZlY3RvcjxTdHJpbmc+IG1fb2JqZWN0U3RvcmVzOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>
<flag name="review"
          id="289304"
          type_id="1"
          status="+"
          setter="achristensen"
    />
          </attachment>
      

    </bug>

</bugzilla>