<?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>40748</bug_id>
          
          <creation_ts>2010-06-16 17:11:03 -0700</creation_ts>
          <short_desc>Add the SQLError error codes defined in the spec to SQLError.idl</short_desc>
          <delta_ts>2010-06-17 15:06:34 -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>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dumitru Daniliuc">dumi</reporter>
          <assigned_to name="Dumitru Daniliuc">dumi</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>ericu</cc>
    
    <cc>michaeln</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>239154</commentid>
    <comment_count>0</comment_count>
    <who name="Dumitru Daniliuc">dumi</who>
    <bug_when>2010-06-16 17:11:03 -0700</bug_when>
    <thetext>SQLError currently uses hard-coded error codes. Instead, the error codes defined in the spec should be added to SQLError.idl and SQLError.h, which would also make them available for testing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>239230</commentid>
    <comment_count>1</comment_count>
      <attachid>58963</attachid>
    <who name="Dumitru Daniliuc">dumi</who>
    <bug_when>2010-06-16 22:39:06 -0700</bug_when>
    <thetext>Created attachment 58963
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>239399</commentid>
    <comment_count>2</comment_count>
      <attachid>58963</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-06-17 08:11:31 -0700</bug_when>
    <thetext>Comment on attachment 58963
patch

great!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>239596</commentid>
    <comment_count>3</comment_count>
    <who name="Dumitru Daniliuc">dumi</who>
    <bug_when>2010-06-17 15:06:34 -0700</bug_when>
    <thetext>Landed as r61352.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>58963</attachid>
            <date>2010-06-16 22:39:06 -0700</date>
            <delta_ts>2010-06-17 08:11:31 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>18990</size>
            <attacher name="Dumitru Daniliuc">dumi</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MTI5OCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjggQEAKKzIwMTAtMDYtMTYgIER1bWl0cnUgRGFuaWxpdWMgIDxkdW1pQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgdGhlIGVycm9yIGNvZGVzIGRlZmluZWQgaW4gdGhlIGFzeW5jIERCIHNwZWMgdG8gU1FM
RXJyb3IuaWRsIGFuZCBTUUxFcnJvci5oLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDA3NDgKKworICAgICAgICBUZXN0OiBzdG9yYWdlL3NxbC1lcnJv
ci1jb2Rlcy5odG1sCisKKyAgICAgICAgKiBzdG9yYWdlL1NRTEVycm9yLmg6CisgICAgICAgIChX
ZWJDb3JlOjpTUUxFcnJvcjo6KToKKyAgICAgICAgKiBzdG9yYWdlL1NRTEVycm9yLmlkbDoKKyAg
ICAgICAgKiBzdG9yYWdlL1NRTFN0YXRlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTUUxT
dGF0ZW1lbnQ6OmV4ZWN1dGUpOgorICAgICAgICAoV2ViQ29yZTo6U1FMU3RhdGVtZW50OjpzZXRE
YXRhYmFzZURlbGV0ZWRFcnJvcik6CisgICAgICAgIChXZWJDb3JlOjpTUUxTdGF0ZW1lbnQ6OnNl
dFZlcnNpb25NaXNtYXRjaGVkRXJyb3IpOgorICAgICAgICAoV2ViQ29yZTo6U1FMU3RhdGVtZW50
OjpzZXRGYWlsdXJlRHVlVG9RdW90YSk6CisgICAgICAgIChXZWJDb3JlOjpTUUxTdGF0ZW1lbnQ6
Omxhc3RFeGVjdXRpb25GYWlsZWREdWVUb1F1b3RhKToKKyAgICAgICAgKiBzdG9yYWdlL1NRTFRy
YW5zYWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNRTFRyYW5zYWN0aW9uOjpvcGVuVHJh
bnNhY3Rpb25BbmRQcmVmbGlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6U1FMVHJhbnNhY3Rpb246
OmRlbGl2ZXJUcmFuc2FjdGlvbkNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlNRTFRyYW5z
YWN0aW9uOjpoYW5kbGVDdXJyZW50U3RhdGVtZW50RXJyb3IpOgorICAgICAgICAoV2ViQ29yZTo6
U1FMVHJhbnNhY3Rpb246OmRlbGl2ZXJTdGF0ZW1lbnRDYWxsYmFjayk6CisgICAgICAgIChXZWJD
b3JlOjpTUUxUcmFuc2FjdGlvbjo6cG9zdGZsaWdodEFuZENvbW1pdCk6CisKIDIwMTAtMDYtMTYg
IEFudG9uaW8gR29tZXMgIDx0b25pa2l0b29Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBTaW1vbiBGcmFzZXIuCkluZGV4OiBXZWJDb3JlL3N0b3JhZ2UvU1FMRXJyb3IuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3N0b3JhZ2UvU1FMRXJyb3IuaAkocmV2aXNpb24gNjEyODgpCisr
KyBXZWJDb3JlL3N0b3JhZ2UvU1FMRXJyb3IuaAkod29ya2luZyBjb3B5KQpAQCAtNDMsNiArNDMs
MTcgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIGNvZGUoKSBjb25zdCB7IHJldHVybiBtX2NvZGU7
IH0KICAgICBTdHJpbmcgbWVzc2FnZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWVzc2FnZS50aHJlYWRz
YWZlQ29weSgpOyB9CiAKKyAgICBlbnVtIFNRTEVycm9yQ29kZSB7CisgICAgICAgIFVOS05PV05f
RVJSID0gMCwKKyAgICAgICAgREFUQUJBU0VfRVJSID0gMSwKKyAgICAgICAgVkVSU0lPTl9FUlIg
PSAyLAorICAgICAgICBUT09fTEFSR0VfRVJSID0gMywKKyAgICAgICAgUVVPVEFfRVJSID0gNCwK
KyAgICAgICAgU1lOVEFYX0VSUiA9IDUsCisgICAgICAgIENPTlNUUkFJTlRfRVJSID0gNiwKKyAg
ICAgICAgVElNRU9VVF9FUlIgPSA3CisgICAgfTsKKwogcHJpdmF0ZToKICAgICBTUUxFcnJvcih1
bnNpZ25lZCBjb2RlLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpIDogbV9jb2RlKGNvZGUpLCBtX21l
c3NhZ2UobWVzc2FnZS50aHJlYWRzYWZlQ29weSgpKSB7IH0KICAgICB1bnNpZ25lZCBtX2NvZGU7
CkluZGV4OiBXZWJDb3JlL3N0b3JhZ2UvU1FMRXJyb3IuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvc3RvcmFnZS9TUUxFcnJvci5pZGwJKHJldmlzaW9uIDYxMjg4KQorKysgV2ViQ29yZS9zdG9y
YWdlL1NRTEVycm9yLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzUsNSArMzUsMTUgQEAgbW9kdWxl
IHN0b3JhZ2UgewogICAgIF0gU1FMRXJyb3IgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
dW5zaWduZWQgbG9uZyBjb2RlOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5n
IG1lc3NhZ2U7CisKKyAgICAgICAgLy8gU1FMRXJyb3JDb2RlOiB1c2VkIG9ubHkgaW4gdGhlIGFz
eW5jIERCIEFQSQorICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBVTktOT1dOX0VSUiA9IDA7
CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IERBVEFCQVNFX0VSUiA9IDE7CisgICAgICAg
IGNvbnN0IHVuc2lnbmVkIHNob3J0IFZFUlNJT05fRVJSID0gMjsKKyAgICAgICAgY29uc3QgdW5z
aWduZWQgc2hvcnQgVE9PX0xBUkdFX0VSUiA9IDM7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNo
b3J0IFFVT1RBX0VSUiA9IDQ7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFNZTlRBWF9F
UlIgPSA1OworICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBDT05TVFJBSU5UX0VSUiA9IDY7
CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFRJTUVPVVRfRVJSID0gNzsKICAgICB9Owog
fQpJbmRleDogV2ViQ29yZS9zdG9yYWdlL1NRTFN0YXRlbWVudC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9zdG9yYWdlL1NRTFN0YXRlbWVudC5jcHAJKHJldmlzaW9uIDYxMjg4KQorKysgV2Vi
Q29yZS9zdG9yYWdlL1NRTFN0YXRlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc4LDcgKzc4
LDcgQEAgYm9vbCBTUUxTdGF0ZW1lbnQ6OmV4ZWN1dGUoRGF0YWJhc2UqIGRiKQogCiAgICAgaWYg
KHJlc3VsdCAhPSBTUUxSZXN1bHRPaykgewogICAgICAgICBMT0coU3RvcmFnZUFQSSwgIlVuYWJs
ZSB0byB2ZXJpZnkgY29ycmVjdG5lc3Mgb2Ygc3RhdGVtZW50ICVzIC0gZXJyb3IgJWkgKCVzKSIs
IG1fc3RhdGVtZW50LmFzY2lpKCkuZGF0YSgpLCByZXN1bHQsIGRhdGFiYXNlLT5sYXN0RXJyb3JN
c2coKSk7Ci0gICAgICAgIG1fZXJyb3IgPSBTUUxFcnJvcjo6Y3JlYXRlKDEsIGRhdGFiYXNlLT5s
YXN0RXJyb3JNc2coKSk7CisgICAgICAgIG1fZXJyb3IgPSBTUUxFcnJvcjo6Y3JlYXRlKFNRTEVy
cm9yOjpTWU5UQVhfRVJSLCBkYXRhYmFzZS0+bGFzdEVycm9yTXNnKCkpOwogICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgfQogCkBAIC04Niw3ICs4Niw3IEBAIGJvb2wgU1FMU3RhdGVtZW50Ojpl
eGVjdXRlKERhdGFiYXNlKiBkYikKICAgICAvLyBJZiB0aGlzIGlzIHRoZSBjYXNlLCB0aGV5IG1p
Z2h0IGJlIHRyeWluZyB0byBkbyBzb21ldGhpbmcgZmlzaHkgb3IgbWFsaWNpb3VzCiAgICAgaWYg
KHN0YXRlbWVudC5iaW5kUGFyYW1ldGVyQ291bnQoKSAhPSBtX2FyZ3VtZW50cy5zaXplKCkpIHsK
ICAgICAgICAgTE9HKFN0b3JhZ2VBUEksICJCaW5kIHBhcmFtZXRlciBjb3VudCBkb2Vzbid0IG1h
dGNoIG51bWJlciBvZiBxdWVzdGlvbiBtYXJrcyIpOwotICAgICAgICBtX2Vycm9yID0gU1FMRXJy
b3I6OmNyZWF0ZSgxLCAibnVtYmVyIG9mICc/J3MgaW4gc3RhdGVtZW50IHN0cmluZyBkb2VzIG5v
dCBtYXRjaCBhcmd1bWVudCBjb3VudCIpOworICAgICAgICBtX2Vycm9yID0gU1FMRXJyb3I6OmNy
ZWF0ZShTUUxFcnJvcjo6U1lOVEFYX0VSUiwgIm51bWJlciBvZiAnPydzIGluIHN0YXRlbWVudCBz
dHJpbmcgZG9lcyBub3QgbWF0Y2ggYXJndW1lbnQgY291bnQiKTsKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgIH0KIApAQCAtOTksNyArOTksNyBAQCBib29sIFNRTFN0YXRlbWVudDo6ZXhlY3V0
ZShEYXRhYmFzZSogZGIpCiAKICAgICAgICAgaWYgKHJlc3VsdCAhPSBTUUxSZXN1bHRPaykgewog
ICAgICAgICAgICAgTE9HKFN0b3JhZ2VBUEksICJGYWlsZWQgdG8gYmluZCB2YWx1ZSBpbmRleCAl
aSB0byBzdGF0ZW1lbnQgZm9yIHF1ZXJ5ICclcyciLCBpICsgMSwgbV9zdGF0ZW1lbnQuYXNjaWko
KS5kYXRhKCkpOwotICAgICAgICAgICAgbV9lcnJvciA9IFNRTEVycm9yOjpjcmVhdGUoMSwgZGF0
YWJhc2UtPmxhc3RFcnJvck1zZygpKTsKKyAgICAgICAgICAgIG1fZXJyb3IgPSBTUUxFcnJvcjo6
Y3JlYXRlKFNRTEVycm9yOjpEQVRBQkFTRV9FUlIsIGRhdGFiYXNlLT5sYXN0RXJyb3JNc2coKSk7
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KICAgICB9CkBAIC0xMjMsNyAr
MTIzLDcgQEAgYm9vbCBTUUxTdGF0ZW1lbnQ6OmV4ZWN1dGUoRGF0YWJhc2UqIGRiKQogICAgICAg
ICB9IHdoaWxlIChyZXN1bHQgPT0gU1FMUmVzdWx0Um93KTsKIAogICAgICAgICBpZiAocmVzdWx0
ICE9IFNRTFJlc3VsdERvbmUpIHsKLSAgICAgICAgICAgIG1fZXJyb3IgPSBTUUxFcnJvcjo6Y3Jl
YXRlKDEsIGRhdGFiYXNlLT5sYXN0RXJyb3JNc2coKSk7CisgICAgICAgICAgICBtX2Vycm9yID0g
U1FMRXJyb3I6OmNyZWF0ZShTUUxFcnJvcjo6REFUQUJBU0VfRVJSLCBkYXRhYmFzZS0+bGFzdEVy
cm9yTXNnKCkpOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAgICAgfSBl
bHNlIGlmIChyZXN1bHQgPT0gU1FMUmVzdWx0RG9uZSkgewpAQCAtMTM1LDcgKzEzNSw3IEBAIGJv
b2wgU1FMU3RhdGVtZW50OjpleGVjdXRlKERhdGFiYXNlKiBkYikKICAgICAgICAgc2V0RmFpbHVy
ZUR1ZVRvUXVvdGEoKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0gZWxzZSB7Ci0gICAg
ICAgIG1fZXJyb3IgPSBTUUxFcnJvcjo6Y3JlYXRlKDEsIGRhdGFiYXNlLT5sYXN0RXJyb3JNc2co
KSk7CisgICAgICAgIG1fZXJyb3IgPSBTUUxFcnJvcjo6Y3JlYXRlKFNRTEVycm9yOjpEQVRBQkFT
RV9FUlIsIGRhdGFiYXNlLT5sYXN0RXJyb3JNc2coKSk7CiAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICB9CiAKQEAgLTE1MSwxMyArMTUxLDEzIEBAIGJvb2wgU1FMU3RhdGVtZW50OjpleGVjdXRl
KERhdGFiYXNlKiBkYikKIHZvaWQgU1FMU3RhdGVtZW50OjpzZXREYXRhYmFzZURlbGV0ZWRFcnJv
cigpCiB7CiAgICAgQVNTRVJUKCFtX2Vycm9yICYmICFtX3Jlc3VsdFNldCk7Ci0gICAgbV9lcnJv
ciA9IFNRTEVycm9yOjpjcmVhdGUoMCwgInVuYWJsZSB0byBleGVjdXRlIHN0YXRlbWVudCwgYmVj
YXVzZSB0aGUgdXNlciBkZWxldGVkIHRoZSBkYXRhYmFzZSIpOworICAgIG1fZXJyb3IgPSBTUUxF
cnJvcjo6Y3JlYXRlKFNRTEVycm9yOjpVTktOT1dOX0VSUiwgInVuYWJsZSB0byBleGVjdXRlIHN0
YXRlbWVudCwgYmVjYXVzZSB0aGUgdXNlciBkZWxldGVkIHRoZSBkYXRhYmFzZSIpOwogfQogCiB2
b2lkIFNRTFN0YXRlbWVudDo6c2V0VmVyc2lvbk1pc21hdGNoZWRFcnJvcigpCiB7CiAgICAgQVNT
RVJUKCFtX2Vycm9yICYmICFtX3Jlc3VsdFNldCk7Ci0gICAgbV9lcnJvciA9IFNRTEVycm9yOjpj
cmVhdGUoMiwgImN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgZGF0YWJhc2UgYW5kIGBvbGRWZXJzaW9u
YCBhcmd1bWVudCBkbyBub3QgbWF0Y2giKTsKKyAgICBtX2Vycm9yID0gU1FMRXJyb3I6OmNyZWF0
ZShTUUxFcnJvcjo6VkVSU0lPTl9FUlIsICJjdXJyZW50IHZlcnNpb24gb2YgdGhlIGRhdGFiYXNl
IGFuZCBgb2xkVmVyc2lvbmAgYXJndW1lbnQgZG8gbm90IG1hdGNoIik7CiB9CiAKIGJvb2wgU1FM
U3RhdGVtZW50OjpwZXJmb3JtQ2FsbGJhY2soU1FMVHJhbnNhY3Rpb24qIHRyYW5zYWN0aW9uKQpA
QCAtMTg0LDcgKzE4NCw3IEBAIGJvb2wgU1FMU3RhdGVtZW50OjpwZXJmb3JtQ2FsbGJhY2soU1FM
VHIKIHZvaWQgU1FMU3RhdGVtZW50OjpzZXRGYWlsdXJlRHVlVG9RdW90YSgpCiB7CiAgICAgQVNT
RVJUKCFtX2Vycm9yICYmICFtX3Jlc3VsdFNldCk7Ci0gICAgbV9lcnJvciA9IFNRTEVycm9yOjpj
cmVhdGUoNCwgInRoZXJlIHdhcyBub3QgZW5vdWdoIHJlbWFpbmluZyBzdG9yYWdlIHNwYWNlLCBv
ciB0aGUgc3RvcmFnZSBxdW90YSB3YXMgcmVhY2hlZCBhbmQgdGhlIHVzZXIgZGVjbGluZWQgdG8g
YWxsb3cgbW9yZSBzcGFjZSIpOworICAgIG1fZXJyb3IgPSBTUUxFcnJvcjo6Y3JlYXRlKFNRTEVy
cm9yOjpRVU9UQV9FUlIsICJ0aGVyZSB3YXMgbm90IGVub3VnaCByZW1haW5pbmcgc3RvcmFnZSBz
cGFjZSwgb3IgdGhlIHN0b3JhZ2UgcXVvdGEgd2FzIHJlYWNoZWQgYW5kIHRoZSB1c2VyIGRlY2xp
bmVkIHRvIGFsbG93IG1vcmUgc3BhY2UiKTsKIH0KIAogdm9pZCBTUUxTdGF0ZW1lbnQ6OmNsZWFy
RmFpbHVyZUR1ZVRvUXVvdGEoKQpAQCAtMTk1LDcgKzE5NSw3IEBAIHZvaWQgU1FMU3RhdGVtZW50
OjpjbGVhckZhaWx1cmVEdWVUb1F1b3QKIAogYm9vbCBTUUxTdGF0ZW1lbnQ6Omxhc3RFeGVjdXRp
b25GYWlsZWREdWVUb1F1b3RhKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9lcnJvciAmJiBtX2Vy
cm9yLT5jb2RlKCkgPT0gNDsKKyAgICByZXR1cm4gbV9lcnJvciAmJiBtX2Vycm9yLT5jb2RlKCkg
PT0gU1FMRXJyb3I6OlFVT1RBX0VSUjsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRl
eDogV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb24uY3BwCShyZXZpc2lvbiA2MTI4OCkKKysrIFdlYkNv
cmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0MSw3ICsy
NDEsNyBAQCB2b2lkIFNRTFRyYW5zYWN0aW9uOjpvcGVuVHJhbnNhY3Rpb25BbmRQCiAKICAgICAv
LyBJZiB0aGUgZGF0YWJhc2Ugd2FzIGRlbGV0ZWQsIGp1bXAgdG8gdGhlIGVycm9yIGNhbGxiYWNr
CiAgICAgaWYgKG1fZGF0YWJhc2UtPmRlbGV0ZWQoKSkgewotICAgICAgICBtX3RyYW5zYWN0aW9u
RXJyb3IgPSBTUUxFcnJvcjo6Y3JlYXRlKDAsICJ1bmFibGUgdG8gb3BlbiBhIHRyYW5zYWN0aW9u
LCBiZWNhdXNlIHRoZSB1c2VyIGRlbGV0ZWQgdGhlIGRhdGFiYXNlIik7CisgICAgICAgIG1fdHJh
bnNhY3Rpb25FcnJvciA9IFNRTEVycm9yOjpjcmVhdGUoU1FMRXJyb3I6OlVOS05PV05fRVJSLCAi
dW5hYmxlIHRvIG9wZW4gYSB0cmFuc2FjdGlvbiwgYmVjYXVzZSB0aGUgdXNlciBkZWxldGVkIHRo
ZSBkYXRhYmFzZSIpOwogICAgICAgICBoYW5kbGVUcmFuc2FjdGlvbkVycm9yKGZhbHNlKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTI2Miw3ICsyNjIsNyBAQCB2b2lkIFNRTFRyYW5zYWN0
aW9uOjpvcGVuVHJhbnNhY3Rpb25BbmRQCiAgICAgaWYgKCFtX3NxbGl0ZVRyYW5zYWN0aW9uLT5p
blByb2dyZXNzKCkpIHsKICAgICAgICAgQVNTRVJUKCFtX2RhdGFiYXNlLT5zcWxpdGVEYXRhYmFz
ZSgpLnRyYW5zYWN0aW9uSW5Qcm9ncmVzcygpKTsKICAgICAgICAgbV9zcWxpdGVUcmFuc2FjdGlv
bi5jbGVhcigpOwotICAgICAgICBtX3RyYW5zYWN0aW9uRXJyb3IgPSBTUUxFcnJvcjo6Y3JlYXRl
KDAsICJ1bmFibGUgdG8gb3BlbiBhIHRyYW5zYWN0aW9uIHRvIHRoZSBkYXRhYmFzZSIpOworICAg
ICAgICBtX3RyYW5zYWN0aW9uRXJyb3IgPSBTUUxFcnJvcjo6Y3JlYXRlKFNRTEVycm9yOjpEQVRB
QkFTRV9FUlIsICJ1bmFibGUgdG8gb3BlbiBhIHRyYW5zYWN0aW9uIHRvIHRoZSBkYXRhYmFzZSIp
OwogICAgICAgICBoYW5kbGVUcmFuc2FjdGlvbkVycm9yKGZhbHNlKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KQEAgLTI3Myw3ICsyNzMsNyBAQCB2b2lkIFNRTFRyYW5zYWN0aW9uOjpvcGVuVHJh
bnNhY3Rpb25BbmRQCiAgICAgICAgIG1fc3FsaXRlVHJhbnNhY3Rpb24uY2xlYXIoKTsKICAgICAg
ICAgbV90cmFuc2FjdGlvbkVycm9yID0gbV93cmFwcGVyLT5zcWxFcnJvcigpOwogICAgICAgICBp
ZiAoIW1fdHJhbnNhY3Rpb25FcnJvcikKLSAgICAgICAgICAgIG1fdHJhbnNhY3Rpb25FcnJvciA9
IFNRTEVycm9yOjpjcmVhdGUoMCwgInVua25vd24gZXJyb3Igb2NjdXJlZCBzZXR0aW5nIHVwIHRy
YW5zYWN0aW9uIik7CisgICAgICAgICAgICBtX3RyYW5zYWN0aW9uRXJyb3IgPSBTUUxFcnJvcjo6
Y3JlYXRlKFNRTEVycm9yOjpVTktOT1dOX0VSUiwgInVua25vd24gZXJyb3Igb2NjdXJlZCBzZXR0
aW5nIHVwIHRyYW5zYWN0aW9uIik7CiAKICAgICAgICAgaGFuZGxlVHJhbnNhY3Rpb25FcnJvcihm
YWxzZSk7CiAgICAgICAgIHJldHVybjsKQEAgLTI5OCw3ICsyOTgsNyBAQCB2b2lkIFNRTFRyYW5z
YWN0aW9uOjpkZWxpdmVyVHJhbnNhY3Rpb25DCiAKICAgICAvLyBUcmFuc2FjdGlvbiBTdGVwIDUg
LSBJZiB0aGUgdHJhbnNhY3Rpb24gY2FsbGJhY2sgd2FzIG51bGwgb3IgcmFpc2VkIGFuIGV4Y2Vw
dGlvbiwganVtcCB0byB0aGUgZXJyb3IgY2FsbGJhY2sKICAgICBpZiAoc2hvdWxkRGVsaXZlckVy
cm9yQ2FsbGJhY2spIHsKLSAgICAgICAgbV90cmFuc2FjdGlvbkVycm9yID0gU1FMRXJyb3I6OmNy
ZWF0ZSgwLCAidGhlIFNRTFRyYW5zYWN0aW9uQ2FsbGJhY2sgd2FzIG51bGwgb3IgdGhyZXcgYW4g
ZXhjZXB0aW9uIik7CisgICAgICAgIG1fdHJhbnNhY3Rpb25FcnJvciA9IFNRTEVycm9yOjpjcmVh
dGUoU1FMRXJyb3I6OlVOS05PV05fRVJSLCAidGhlIFNRTFRyYW5zYWN0aW9uQ2FsbGJhY2sgd2Fz
IG51bGwgb3IgdGhyZXcgYW4gZXhjZXB0aW9uIik7CiAgICAgICAgIGRlbGl2ZXJUcmFuc2FjdGlv
bkVycm9yQ2FsbGJhY2soKTsKICAgICB9IGVsc2UKICAgICAgICAgc2NoZWR1bGVUb1J1blN0YXRl
bWVudHMoKTsKQEAgLTQwNSw3ICs0MDUsNyBAQCB2b2lkIFNRTFRyYW5zYWN0aW9uOjpoYW5kbGVD
dXJyZW50U3RhdGVtCiAgICAgfSBlbHNlIHsKICAgICAgICAgbV90cmFuc2FjdGlvbkVycm9yID0g
bV9jdXJyZW50U3RhdGVtZW50LT5zcWxFcnJvcigpOwogICAgICAgICBpZiAoIW1fdHJhbnNhY3Rp
b25FcnJvcikKLSAgICAgICAgICAgIG1fdHJhbnNhY3Rpb25FcnJvciA9IFNRTEVycm9yOjpjcmVh
dGUoMSwgInRoZSBzdGF0ZW1lbnQgZmFpbGVkIHRvIGV4ZWN1dGUiKTsKKyAgICAgICAgICAgIG1f
dHJhbnNhY3Rpb25FcnJvciA9IFNRTEVycm9yOjpjcmVhdGUoU1FMRXJyb3I6OkRBVEFCQVNFX0VS
UiwgInRoZSBzdGF0ZW1lbnQgZmFpbGVkIHRvIGV4ZWN1dGUiKTsKICAgICAgICAgaGFuZGxlVHJh
bnNhY3Rpb25FcnJvcihmYWxzZSk7CiAgICAgfQogfQpAQCAtNDIxLDcgKzQyMSw3IEBAIHZvaWQg
U1FMVHJhbnNhY3Rpb246OmRlbGl2ZXJTdGF0ZW1lbnRDYWwKICAgICBtX2V4ZWN1dGVTcWxBbGxv
d2VkID0gZmFsc2U7CiAKICAgICBpZiAocmVzdWx0KSB7Ci0gICAgICAgIG1fdHJhbnNhY3Rpb25F
cnJvciA9IFNRTEVycm9yOjpjcmVhdGUoMCwgInRoZSBzdGF0ZW1lbnQgY2FsbGJhY2sgcmFpc2Vk
IGFuIGV4Y2VwdGlvbiBvciBzdGF0ZW1lbnQgZXJyb3IgY2FsbGJhY2sgZGlkIG5vdCByZXR1cm4g
ZmFsc2UiKTsKKyAgICAgIG1fdHJhbnNhY3Rpb25FcnJvciA9IFNRTEVycm9yOjpjcmVhdGUoU1FM
RXJyb3I6OlVOS05PV05fRVJSLCAidGhlIHN0YXRlbWVudCBjYWxsYmFjayByYWlzZWQgYW4gZXhj
ZXB0aW9uIG9yIHN0YXRlbWVudCBlcnJvciBjYWxsYmFjayBkaWQgbm90IHJldHVybiBmYWxzZSIp
OwogICAgICAgICBoYW5kbGVUcmFuc2FjdGlvbkVycm9yKHRydWUpOwogICAgIH0gZWxzZQogICAg
ICAgICBzY2hlZHVsZVRvUnVuU3RhdGVtZW50cygpOwpAQCAtNDQ3LDcgKzQ0Nyw3IEBAIHZvaWQg
U1FMVHJhbnNhY3Rpb246OnBvc3RmbGlnaHRBbmRDb21taXQKICAgICBpZiAobV93cmFwcGVyICYm
ICFtX3dyYXBwZXItPnBlcmZvcm1Qb3N0ZmxpZ2h0KHRoaXMpKSB7CiAgICAgICAgIG1fdHJhbnNh
Y3Rpb25FcnJvciA9IG1fd3JhcHBlci0+c3FsRXJyb3IoKTsKICAgICAgICAgaWYgKCFtX3RyYW5z
YWN0aW9uRXJyb3IpCi0gICAgICAgICAgICBtX3RyYW5zYWN0aW9uRXJyb3IgPSBTUUxFcnJvcjo6
Y3JlYXRlKDAsICJ1bmtub3duIGVycm9yIG9jY3VyZWQgc2V0dGluZyB1cCB0cmFuc2FjdGlvbiIp
OworICAgICAgICAgICAgbV90cmFuc2FjdGlvbkVycm9yID0gU1FMRXJyb3I6OmNyZWF0ZShTUUxF
cnJvcjo6VU5LTk9XTl9FUlIsICJ1bmtub3duIGVycm9yIG9jY3VyZWQgc2V0dGluZyB1cCB0cmFu
c2FjdGlvbiIpOwogICAgICAgICBoYW5kbGVUcmFuc2FjdGlvbkVycm9yKGZhbHNlKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KQEAgLTQ2MSw3ICs0NjEsNyBAQCB2b2lkIFNRTFRyYW5zYWN0aW9u
Ojpwb3N0ZmxpZ2h0QW5kQ29tbWl0CiAKICAgICAvLyBJZiB0aGUgY29tbWl0IGZhaWxlZCwgdGhl
IHRyYW5zYWN0aW9uIHdpbGwgc3RpbGwgYmUgbWFya2VkIGFzICJpbiBwcm9ncmVzcyIKICAgICBp
ZiAobV9zcWxpdGVUcmFuc2FjdGlvbi0+aW5Qcm9ncmVzcygpKSB7Ci0gICAgICAgIG1fdHJhbnNh
Y3Rpb25FcnJvciA9IFNRTEVycm9yOjpjcmVhdGUoMCwgImZhaWxlZCB0byBjb21taXQgdGhlIHRy
YW5zYWN0aW9uIik7CisgICAgICAgIG1fdHJhbnNhY3Rpb25FcnJvciA9IFNRTEVycm9yOjpjcmVh
dGUoU1FMRXJyb3I6OkRBVEFCQVNFX0VSUiwgImZhaWxlZCB0byBjb21taXQgdGhlIHRyYW5zYWN0
aW9uIik7CiAgICAgICAgIGhhbmRsZVRyYW5zYWN0aW9uRXJyb3IoZmFsc2UpOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNjEyOTgpCisrKyBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyOSBAQAorMjAxMC0wNi0xNiAgRHVt
aXRydSBEYW5pbGl1YyAgPGR1bWlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0aGUgZXJyb3IgY29kZXMgZGVmaW5lZCBp
biB0aGUgYXN5bmMgREIgc3BlYyB0byBTUUxFcnJvci5pZGwgYW5kIFNRTEVycm9yLmguCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MDc0OAorCisgICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0vc3RvcmFnZS9zcWwtZXJyb3ItY29kZXMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdG9yYWdlL3NxbC1lcnJvci1jb2Rlcy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2Uvc3FsLWVycm9yLWNvZGVzLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHN0b3JhZ2Uvc3FsLWVycm9yLWNvZGVzLmpzOiBBZGRlZC4KKyAgICAgICAg
KGZpbmlzaFRlc3QpOgorICAgICAgICAodHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrKToKKyAgICAg
ICAgKHRyYW5zYWN0aW9uU3VjY2Vzc0NhbGxiYWNrKToKKyAgICAgICAgKHRlc3RUcmFuc2FjdGlv
bik6CisgICAgICAgICh0ZXN0VHJhbnNhY3Rpb25UaHJvd3NFeGNlcHRpb24pOgorICAgICAgICAo
dGVzdFRyYW5zYWN0aW9uRmFpbHVyZUJlY2F1c2VPZlN0YXRlbWVudEZhaWx1cmUpOgorICAgICAg
ICAodGVzdEludmFsaWRTdGF0ZW1lbnQpOgorICAgICAgICAodGVzdEluY29ycmVjdE51bWJlck9m
QmluZFBhcmFtZXRlcnMpOgorICAgICAgICAodGVzdEJpbmRQYXJhbWV0ZXJPZldyb25nVHlwZS5i
YWRTdHJpbmcudG9TdHJpbmcpOgorICAgICAgICAodGVzdEJpbmRQYXJhbWV0ZXJPZldyb25nVHlw
ZSk6CisgICAgICAgICh0ZXN0UXVvdGFFeGNlZWRlZCk6CisgICAgICAgICh0ZXN0VmVyc2lvbk1p
c21hdGNoLmRiLnRyYW5zYWN0aW9uKToKKyAgICAgICAgKHRlc3RWZXJzaW9uTWlzbWF0Y2gpOgor
ICAgICAgICAocnVuVGVzdCk6CisKIDIwMTAtMDYtMTYgIEFudG9uaW8gR29tZXMgIDx0b25pa2l0
b29Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9zdG9yYWdlL3NxbC1lcnJvci1jb2Rlcy1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
c3RvcmFnZS9zcWwtZXJyb3ItY29kZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vc3RvcmFnZS9zcWwtZXJyb3ItY29kZXMtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEwIEBACitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgMzc6IFVuY2F1Z2h0IEV4Y2VwdGlvbiB0aHJvd24gaW4gdHJhbnNhY3Rpb24gY2FsbGJhY2su
CitUaGlzIHRlc3QgdGVzdHMgdGhlIGVycm9yIGNvZGVzIHJlcG9ydGVkIGluIGV4Y2VwdGlvbmFs
IHNpdHVhdGlvbnMuCitQQVNTOiBleHBlY3RlZCBhbmQgZ290IGVycm9yIGNvZGUgVU5LTk9XTl9F
UlIKK1BBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3IgY29kZSBVTktOT1dOX0VSUgorUEFTUzog
ZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBjb2RlIFNZTlRBWF9FUlIKK1BBU1M6IGV4cGVjdGVkIGFu
ZCBnb3QgZXJyb3IgY29kZSBTWU5UQVhfRVJSCitUaGUgdHJhbnNhY3Rpb24gaW4gdGVzdEJpbmRQ
YXJhbWV0ZXJPZldyb25nVHlwZSgpIHdhcyBzdWNjZXNzZnVsLgorUEFTUzogZXhwZWN0ZWQgYW5k
IGdvdCBlcnJvciBjb2RlIFFVT1RBX0VSUgorUEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBj
b2RlIFZFUlNJT05fRVJSCisKSW5kZXg6IExheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWVycm9yLWNv
ZGVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdG9yYWdlL3NxbC1l
cnJvci1jb2Rlcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdG9y
YWdlL3NxbC1lcnJvci1jb2Rlcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MTEgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAwOiBFeGNlcHRpb24gdGhyb3duIGluIHRyYW5z
YWN0aW9uIGNhbGxiYWNrLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDA6IENhbm5vdCBjYWxsIHRv
U3RyaW5nKCkgb24gdGhpcyBvYmplY3QuCitUaGlzIHRlc3QgdGVzdHMgdGhlIGVycm9yIGNvZGVz
IHJlcG9ydGVkIGluIGV4Y2VwdGlvbmFsIHNpdHVhdGlvbnMuCitQQVNTOiBleHBlY3RlZCBhbmQg
Z290IGVycm9yIGNvZGUgVU5LTk9XTl9FUlIKK1BBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3Ig
Y29kZSBVTktOT1dOX0VSUgorUEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBjb2RlIFNZTlRB
WF9FUlIKK1BBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3IgY29kZSBTWU5UQVhfRVJSCitQQVNT
OiBleHBlY3RlZCBhbmQgZ290IGVycm9yIGNvZGUgVU5LTk9XTl9FUlIKK1BBU1M6IGV4cGVjdGVk
IGFuZCBnb3QgZXJyb3IgY29kZSBRVU9UQV9FUlIKK1BBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJy
b3IgY29kZSBWRVJTSU9OX0VSUgorCkluZGV4OiBMYXlvdXRUZXN0cy9zdG9yYWdlL3NxbC1lcnJv
ci1jb2Rlcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWVycm9y
LWNvZGVzLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdG9yYWdlL3NxbC1lcnJv
ci1jb2Rlcy5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEyIEBACis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9kYXRhYmFzZS1jb21tb24uanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9InNxbC1lcnJvci1jb2Rlcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eSBvbmxvYWQ9InNldHVwQW5kUnVuVGVzdCgpOyI+CitUaGlzIHRlc3QgdGVzdHMgdGhlIGVycm9y
IGNvZGVzIHJlcG9ydGVkIGluIGV4Y2VwdGlvbmFsIHNpdHVhdGlvbnMuPGJyPgorPHByZSBpZD0i
Y29uc29sZSI+CitGQUlMVVJFOiB0ZXN0IGRpZG4ndCBydW4uCis8L3ByZT4KKzwvYm9keT4KKzwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWVycm9yLWNvZGVzLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWVycm9yLWNvZGVzLmpzCShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvc3RvcmFnZS9zcWwtZXJyb3ItY29kZXMuanMJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMTIxIEBACitmdW5jdGlvbiBmaW5pc2hUZXN0KCkKK3sKKyAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5ub3RpZnlEb25lKCk7Cit9CisKK3ZhciBUT1RBTF9URVNUUyA9IDc7Cit2YXIgdGVzdHNSdW4g
PSAwOworZnVuY3Rpb24gdHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrKGVycm9yLCBleHBlY3RlZEVy
cm9yQ29kZU5hbWUpCit7CisgICAgaWYgKGVycm9yLmNvZGUgPT0gZXJyb3JbZXhwZWN0ZWRFcnJv
ckNvZGVOYW1lXSkgeworICAgICAgICBsb2coIlBBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3Ig
Y29kZSAiICsgZXhwZWN0ZWRFcnJvckNvZGVOYW1lKTsKKyAgICAgICAgaWYgKCsrdGVzdHNSdW4g
PT0gVE9UQUxfVEVTVFMpCisgICAgICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfSBlbHNlIHsK
KyAgICAgICAgbG9nKCJGQUlMOiBleHBlY3RlZCBlcnJvciBjb2RlICIgKyBleHBlY3RlZEVycm9y
Q29kZU5hbWUgKyAiICgiICsgZXJyb3JbZXhwZWN0ZWRFcnJvckNvZGVOYW1lXSArICIpOyBnb3Qg
IiArIGVycm9yLmNvZGUpOworICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfQorfQorCitmdW5j
dGlvbiB0cmFuc2FjdGlvblN1Y2Nlc3NDYWxsYmFjaygpCit7CisgICAgbG9nKCJGQUlMOiBhIHRy
YW5zYWN0aW9uIGhhcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LiIpOworICAgIGZpbmlzaFRlc3Qo
KTsKK30KKworZnVuY3Rpb24gdGVzdFRyYW5zYWN0aW9uKGRiLCB0cmFuc2FjdGlvbkNhbGxiYWNr
LCBleHBlY3RlZEVycm9yQ29kZU5hbWUpCit7CisgICAgZGIudHJhbnNhY3Rpb24odHJhbnNhY3Rp
b25DYWxsYmFjaywKKyAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihlcnJvcikgeworICAgICAg
ICAgICAgICAgICAgICAgICB0cmFuc2FjdGlvbkVycm9yQ2FsbGJhY2soZXJyb3IsIGV4cGVjdGVk
RXJyb3JDb2RlTmFtZSk7CisgICAgICAgICAgICAgICAgICAgfSwgdHJhbnNhY3Rpb25TdWNjZXNz
Q2FsbGJhY2spOworfQorCitmdW5jdGlvbiB0ZXN0VHJhbnNhY3Rpb25UaHJvd3NFeGNlcHRpb24o
ZGIpCit7CisgICAgdGVzdFRyYW5zYWN0aW9uKGRiLCBmdW5jdGlvbih0eCkgeyB0aHJvdyAiRXhj
ZXB0aW9uIHRocm93biBpbiB0cmFuc2FjdGlvbiBjYWxsYmFjay4iOyB9LCAiVU5LTk9XTl9FUlIi
KTsKK30KKworZnVuY3Rpb24gdGVzdFRyYW5zYWN0aW9uRmFpbHVyZUJlY2F1c2VPZlN0YXRlbWVu
dEZhaWx1cmUoZGIpCit7CisgICAgdGVzdFRyYW5zYWN0aW9uKGRiLAorICAgICAgICAgICAgICAg
ICAgICBmdW5jdGlvbih0eCkgeworICAgICAgICAgICAgICAgICAgICAgICAgdHguZXhlY3V0ZVNx
bCgiQkFEIFNUQVRFTUVOVCIsIFtdLCBudWxsLCBmdW5jdGlvbih0eCwgZXJyb3IpIHsgcmV0dXJu
IHRydWU7IH0pOworICAgICAgICAgICAgICAgICAgICB9LCAiVU5LTk9XTl9FUlIiKTsKK30KKwor
ZnVuY3Rpb24gdGVzdEludmFsaWRTdGF0ZW1lbnQoZGIpCit7CisgICAgdGVzdFRyYW5zYWN0aW9u
KGRiLCBmdW5jdGlvbih0eCkgeyB0eC5leGVjdXRlU3FsKCJCQUQgU1RBVEVNRU5UIik7IH0sICJT
WU5UQVhfRVJSIik7Cit9CisKK2Z1bmN0aW9uIHRlc3RJbmNvcnJlY3ROdW1iZXJPZkJpbmRQYXJh
bWV0ZXJzKGRiKQoreworICAgIHRlc3RUcmFuc2FjdGlvbihkYiwKKyAgICAgICAgICAgICAgICAg
ICAgZnVuY3Rpb24odHgpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwo
IkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIEJhZEJpbmROdW1iZXJUZXN0IChGb28gSU5ULCBC
YXIgSU5UKSIpOworICAgICAgICAgICAgICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJU
IElOVE8gQmFkQmluZE51bWJlclRlc3QgVkFMVUVTICg/LCA/KSIsIFsxXSk7CisgICAgICAgICAg
ICAgICAgICAgIH0sICJTWU5UQVhfRVJSIik7Cit9CisKK2Z1bmN0aW9uIHRlc3RCaW5kUGFyYW1l
dGVyT2ZXcm9uZ1R5cGUoZGIpCit7CisgICAgdmFyIGJhZFN0cmluZyA9IHsgfTsKKyAgICBiYWRT
dHJpbmcudG9TdHJpbmcgPSBmdW5jdGlvbigpIHsgdGhyb3cgIkNhbm5vdCBjYWxsIHRvU3RyaW5n
KCkgb24gdGhpcyBvYmplY3QuIiB9OworCisgICAgLy8gSlNDIHdpbGwgdGhyb3cgYW4gZXhjZXB0
aW9uIHdoZW4gY2FsbGluZyBiYWRTdHJpbmcudG9TdHJpbmcoKS4gVjggd2lsbCBjYXRjaCBpdC4K
KyAgICAvLyBTbyB3ZSBydW4gdGhpcyB0cmFuc2FjdGlvbiB1c2luZyBhIGN1c3RvbSBzdWNjZXNz
IGNhbGxiYWNrLgorICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIHR4
LmV4ZWN1dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIEJhZEJpbmRUeXBlVGVzdCAo
Rm9vIFRFWFQpIik7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIEJhZEJpbmRU
eXBlVGVzdCBWQUxVRVMgKD8pIiwgW2JhZFN0cmluZ10pOworICAgIH0sIGZ1bmN0aW9uKGVycm9y
KSB7CisgICAgICAgIHRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjayhlcnJvciwgIlVOS05PV05fRVJS
Iik7CisgICAgfSwgZnVuY3Rpb24oKSB7CisgICAgICAgIGxvZygiVGhlIHRyYW5zYWN0aW9uIGlu
IHRlc3RCaW5kUGFyYW1ldGVyT2ZXcm9uZ1R5cGUoKSB3YXMgc3VjY2Vzc2Z1bC4iKTsKKyAgICAg
ICAgdGVzdHNSdW4rKzsKKyAgICB9KTsKK30KKworZnVuY3Rpb24gdGVzdFF1b3RhRXhjZWVkZWQo
ZGIpCit7CisgICAgdGVzdFRyYW5zYWN0aW9uKGRiLAorICAgICAgICAgICAgICAgICAgICBmdW5j
dGlvbih0eCkgeworICAgICAgICAgICAgICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRF
IFRBQkxFIElGIE5PVCBFWElTVFMgUXVvdGFUZXN0IChGb28gQkxPQikiKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFF1b3RhVGVzdCBWQUxVRVMg
KFpFUk9CTE9CKDEwICogMTAyNCAqIDEwMjQpKSIpOworICAgICAgICAgICAgICAgICAgICB9LCAi
UVVPVEFfRVJSIik7Cit9CisKK2Z1bmN0aW9uIHRlc3RWZXJzaW9uTWlzbWF0Y2goZGIpCit7Cisg
ICAgLy8gVXNlIGFub3RoZXIgREIgaGFuZGxlIHRvIGNoYW5nZSB0aGUgdmVyc2lvbi4gSG93ZXZl
ciwgaW4gb3JkZXIgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIERCIHZlcnNpb24gaXMgbm90CisgICAg
Ly8gY2hhbmdlZCBiZWZvcmUgdGhlIHRyYW5zYWN0aW9ucyBpbiB0aGUgb3RoZXIgdGVzdHMgaGF2
ZSBydW4sIHdlIG5lZWQgdG8gZG8gaXQgaW4gYSB0cmFuc2FjdGlvbiBvbiAnZGInLgorICAgIGRi
LnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIHZhciBkYjIgPSBvcGVuRGF0YWJh
c2VXaXRoU3VmZml4KCJTUUxFcnJvckNvZGVzVGVzdCIsICIxLjAiLCAiVGVzdHMgdGhlIGVycm9y
IGNvZGVzLiIsIDEpOworICAgICAgICBkYjIuY2hhbmdlVmVyc2lvbigiMS4wIiwgIjIuMCIsIGZ1
bmN0aW9uKHR4KSB7IH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKGVycm9y
KSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2coIkZBSUw6IGNvdWxkIG5vdCBj
aGFuZ2UgdGhlIERCIHZlcnNpb24uIik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBm
aW5pc2hUZXN0KCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIGZ1bmN0aW9uKCkgeyB9
KTsKKyAgICAgICAgfSk7CisKKyAgICB0ZXN0VHJhbnNhY3Rpb24oZGIsCisgICAgICAgICAgICAg
ICAgICAgIGZ1bmN0aW9uKHR4KSB7CisgICAgICAgICAgICAgICAgICAgICAgICB0eC5leGVjdXRl
U3FsKCJUSElTIFNUQVRFTUVOVCBTSE9VTEQgTkVWRVIgR0VUIEVYRUNVVEVEIik7CisgICAgICAg
ICAgICAgICAgICAgIH0sICJWRVJTSU9OX0VSUiIpOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkK
K3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOworCisgICAgdmFyIGRiID0gb3BlbkRh
dGFiYXNlV2l0aFN1ZmZpeCgiU1FMRXJyb3JDb2Rlc1Rlc3QiLCAiMS4wIiwgIlRlc3RzIHRoZSBl
cnJvciBjb2Rlcy4iLCAxKTsKKyAgICB0ZXN0VHJhbnNhY3Rpb25UaHJvd3NFeGNlcHRpb24oZGIp
OworICAgIHRlc3RUcmFuc2FjdGlvbkZhaWx1cmVCZWNhdXNlT2ZTdGF0ZW1lbnRGYWlsdXJlKGRi
KTsKKyAgICB0ZXN0SW52YWxpZFN0YXRlbWVudChkYik7CisgICAgdGVzdEluY29ycmVjdE51bWJl
ck9mQmluZFBhcmFtZXRlcnMoZGIpOworICAgIHRlc3RCaW5kUGFyYW1ldGVyT2ZXcm9uZ1R5cGUo
ZGIpOworICAgIHRlc3RRdW90YUV4Y2VlZGVkKGRiKTsKKyAgICB0ZXN0VmVyc2lvbk1pc21hdGNo
KGRiKTsKK30K
</data>
<flag name="review"
          id="45523"
          type_id="1"
          status="+"
          setter="dglazkov"
    />
    <flag name="commit-queue"
          id="45524"
          type_id="3"
          status="-"
          setter="dumi"
    />
          </attachment>
      

    </bug>

</bugzilla>