<?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>142822</bug_id>
          
          <creation_ts>2015-03-18 05:29:42 -0700</creation_ts>
          <short_desc>[Streams API] Update ReadableStream API according new version of the specification</short_desc>
          <delta_ts>2015-03-19 01:28:06 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>benjamin</cc>
    
    <cc>calvaris</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1078169</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-03-18 05:29:42 -0700</bug_when>
    <thetext>The latest version of the spec (https://streams.spec.whatwg.org/commit-snapshots/ee2976b593bf4181b2a28719b6a5b6e98632c7d0) splits ReadableStream functionality between ReadableStream (responsible of chunk queue management) and ReadableStreamReader (responsible to give access to chunks).
Removal of state, ready and closed from ReadableStream API should be done, as well as adding getReader.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078170</commentid>
    <comment_count>1</comment_count>
      <attachid>248924</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-03-18 05:41:26 -0700</bug_when>
    <thetext>Created attachment 248924
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078176</commentid>
    <comment_count>2</comment_count>
      <attachid>248927</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-03-18 06:22:15 -0700</bug_when>
    <thetext>Created attachment 248927
Trying to fix mac build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078443</commentid>
    <comment_count>3</comment_count>
      <attachid>248927</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-03-18 20:42:25 -0700</bug_when>
    <thetext>Comment on attachment 248927
Trying to fix mac build

Damn, that&apos;s not a small spec change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078493</commentid>
    <comment_count>4</comment_count>
      <attachid>248927</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-19 01:28:04 -0700</bug_when>
    <thetext>Comment on attachment 248927
Trying to fix mac build

Clearing flags on attachment: 248927

Committed r181736: &lt;http://trac.webkit.org/changeset/181736&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078494</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-19 01:28:06 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>248924</attachid>
            <date>2015-03-18 05:41:26 -0700</date>
            <delta_ts>2015-03-18 06:22:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142822-20150318134052.patch</filename>
            <type>text/plain</type>
            <size>15328</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgxNTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTE0ODYwYmZiMjYwNDUy
NjAyMTZmZGRmNjQ1MTdmZWVlNDIyNWVkOC4uZTY4YzY2YTRmYTUwMDY4ZmQ0MjZmOTM0ODUxYzQ3
NDljMWI1MGM1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE1LTAzLTE4ICBYYWJp
ZXIgUm9kcmlndWV6IENhbHZhciA8Y2FsdmFyaXNAaWdhbGlhLmNvbT4gYW5kIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KKworICAgICAgICBbU3RyZWFtcyBBUEld
IFVwZGF0ZSBSZWFkYWJsZVN0cmVhbSBBUEkgYWNjb3JkaW5nIG5ldyB2ZXJzaW9uIG9mIHRoZSBz
cGVjaWZpY2F0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNDI4MjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBVcGRhdGVzIHRoZSBJREwgb2YgUmVhZGFibGVTdHJlYW0gYWNjb3JkaW5nIHRoZSBuZXcg
dmVyc2lvbiBvZiB0aGUgc3BlYywgd2hpY2ggc3BsaXRzIGZ1bmN0aW9uYWxpdHkKKyAgICAgICAg
YmV0d2VlbiBSZWFkYWJsZVN0cmVhbSBhbmQgUmVhZGFibGVTdHJlYW1SZWFkZXIuCisgICAgICAg
IEluIHBhcnRpY3VsYXIsIHRoaXMgcGF0Y2ggcmVtb3ZlcyByZWFkKCksIHJlYWR5LCBjbG9zZWQg
YW5kIHN0YXRlIGZyb20gUmVhZGFibGVTdHJlYW0uCisgICAgICAgIFRoZSBnZXRSZWFkZXIgbWV0
aG9kIGlzIGFkZGVkLgorCisgICAgICAgIENvdmVyZWQgYnkgdXBkYXRlcyByZWFkYWJsZXN0cmVh
bS1jb25zdHJ1Y3Rvci5odG1sIHRlc3QuCisKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvUmVh
ZGFibGVTdHJlYW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVhZGFibGVTdHJlYW06OlJlYWRh
YmxlU3RyZWFtKToKKyAgICAgICAgKFdlYkNvcmU6OlJlYWRhYmxlU3RyZWFtOjpzdGF0ZSk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZWFkYWJsZVN0cmVhbTo6Y2xvc2VkKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlYWRhYmxlU3RyZWFtOjpyZWFkeSk6IERlbGV0ZWQuCisg
ICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmg6CisgICAgICAgICogTW9k
dWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmlkbDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9K
U1JlYWRhYmxlU3RyZWFtQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTUmVhZGFibGVT
dHJlYW06OmNhbmNlbCk6CisgICAgICAgIChXZWJDb3JlOjpKU1JlYWRhYmxlU3RyZWFtOjpnZXRS
ZWFkZXIpOgorICAgICAgICAoV2ViQ29yZTo6SlNSZWFkYWJsZVN0cmVhbTo6cmVhZCk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpnZXRPckNyZWF0ZVByb21pc2VEZWZlcnJlZEZyb21PYmpl
Y3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6cmVhZHlQcm9taXNlU2xvdE5hbWUpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNSZWFkYWJsZVN0cmVhbTo6cmVhZHkpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6Y2xvc2VkUHJvbWlzZVNsb3ROYW1lKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OkpTUmVhZGFibGVTdHJlYW06OmNsb3NlZCk6IERlbGV0ZWQuCisK
IDIwMTUtMDMtMTUgIEJlbmphbWluIFBvdWxhaW4gIDxiZW5qYW1pbkB3ZWJraXQub3JnPgogCiAg
ICAgICAgIENTUzogZml4IHRoZSBjYXNlLWluc2Vuc2l0aXZlIG1hdGNoaW5nIG9mIHRoZSBhdHRy
aWJ1dGUgc2VsZWN0b3JzIEJlZ2luLCBFbmQgYW5kIEh5cGhlbgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5jcHAKaW5kZXggZjc2Mjc1YTM3MDkx
MDdlMDdlMjYzMmI2MDA0MmE4ZDQ4YTFiZjcxOS4uNDJmMDM5MTZmMDE4M2Y1YTE2MTI0YzJiNDFm
NDJhMmU4MWFmOTJhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1z
L1JlYWRhYmxlU3RyZWFtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMv
UmVhZGFibGVTdHJlYW0uY3BwCkBAIC00OSw3ICs0OSw3IEBAIFJlZjxSZWFkYWJsZVN0cmVhbT4g
UmVhZGFibGVTdHJlYW06OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRFeGVj
dXRpCiAKIFJlYWRhYmxlU3RyZWFtOjpSZWFkYWJsZVN0cmVhbShTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBSZWY8UmVhZGFibGVTdHJlYW1Tb3VyY2U+JiYg
c291cmNlKQogICAgIDogQWN0aXZlRE9NT2JqZWN0KCZzY3JpcHRFeGVjdXRpb25Db250ZXh0KQot
ICAgICwgbV9zdGF0ZShTdGF0ZTo6V2FpdGluZykKKyAgICAsIG1fc3RhdGUoU3RhdGU6OlJlYWRh
YmxlKQogICAgICwgbV9zb3VyY2UoV1RGOjptb3ZlKHNvdXJjZSkpCiB7CiAjaWZuZGVmIE5ERUJV
RwpAQCAtNjQsMzIgKzY0LDYgQEAgUmVhZGFibGVTdHJlYW06On5SZWFkYWJsZVN0cmVhbSgpCiAj
ZW5kaWYKIH0KIAotU3RyaW5nIFJlYWRhYmxlU3RyZWFtOjpzdGF0ZSgpIGNvbnN0Ci17Ci0gICAg
c3dpdGNoIChtX3N0YXRlKSB7Ci0gICAgY2FzZSBTdGF0ZTo6V2FpdGluZzoKLSAgICAgICAgcmV0
dXJuIEFTQ0lJTGl0ZXJhbCgid2FpdGluZyIpOwotICAgIGNhc2UgU3RhdGU6OkNsb3NlZDoKLSAg
ICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiY2xvc2VkIik7Ci0gICAgY2FzZSBTdGF0ZTo6UmVh
ZGFibGU6Ci0gICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoInJlYWRhYmxlIik7Ci0gICAgY2Fz
ZSBTdGF0ZTo6RXJyb3JlZDoKLSAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiZXJyb3JlZCIp
OwotICAgIH0KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gQVNDSUlMaXRl
cmFsKCIiKTsKLX0KLQotdm9pZCBSZWFkYWJsZVN0cmVhbTo6Y2xvc2VkKFN1Y2Nlc3NDYWxsYmFj
aykKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotfQotCi12b2lkIFJlYWRhYmxlU3RyZWFtOjpy
ZWFkeShTdWNjZXNzQ2FsbGJhY2spCi17Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLX0KLQogY29u
c3QgY2hhciogUmVhZGFibGVTdHJlYW06OmFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdAogewog
ICAgIHJldHVybiAiUmVhZGFibGVTdHJlYW0iOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uaAppbmRleCA3NjQ3M2UxNTg3MjQ5N2YzNjc4ZWFkNjU0
MGQ5MmY0MDg4ZTA2MjBhLi42Nzc1ODc1ZWIwNDA3ZTY1YWI1MDNjNDUyZjUxOWJiMmZlMzI4OGY3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJl
YW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0u
aApAQCAtNDksMjIgKzQ5LDE0IEBAIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiBjbGFz
cyBSZWFkYWJsZVN0cmVhbSA6IHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHB1YmxpYyBTY3JpcHRX
cmFwcGFibGUsIHB1YmxpYyBSZWZDb3VudGVkPFJlYWRhYmxlU3RyZWFtPiB7CiBwdWJsaWM6CiAg
ICAgZW51bSBjbGFzcyBTdGF0ZSB7Ci0gICAgICAgIFdhaXRpbmcsCi0gICAgICAgIENsb3NlZCwK
ICAgICAgICAgUmVhZGFibGUsCisgICAgICAgIENsb3NlZCwKICAgICAgICAgRXJyb3JlZAogICAg
IH07CiAKICAgICBzdGF0aWMgUmVmPFJlYWRhYmxlU3RyZWFtPiBjcmVhdGUoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYsIFJlZjxSZWFkYWJsZVN0cmVhbVNvdXJjZT4mJik7CiAgICAgdmlydHVhbCB+
UmVhZGFibGVTdHJlYW0oKTsKIAotICAgIC8vIEpTIEFQSSBpbXBsZW1lbnRhdGlvbi4KLSAgICBT
dHJpbmcgc3RhdGUoKSBjb25zdDsKLQotICAgIHR5cGVkZWYgc3RkOjpmdW5jdGlvbjx2b2lkKCk+
IFN1Y2Nlc3NDYWxsYmFjazsKLSAgICB2b2lkIGNsb3NlZChTdWNjZXNzQ2FsbGJhY2spOwotICAg
IHZvaWQgcmVhZHkoU3VjY2Vzc0NhbGxiYWNrKTsKLQogcHJpdmF0ZToKICAgICBSZWFkYWJsZVN0
cmVhbShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVmPFJlYWRhYmxlU3RyZWFtU291cmNlPiYm
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxl
U3RyZWFtLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVh
bS5pZGwKaW5kZXggNDlkYjE1NGJhM2NlZThiY2RlNWRkMjE1ZTEyMmQ2NDZhYTdkYjk5MC4uZmYy
NmE1YWE4ZTVkNGVkNDhiMjZiNWRmZDViMjhhNjU1ZTQ3ODEwMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uaWRsCkBAIC0zMywxNiArMzMs
OSBAQCBlbnVtIFJlYWRhYmxlU3RyZWFtU3RhdGVUeXBlIHsgInJlYWRhYmxlIiwgIndhaXRpbmci
LCAiY2xvc2VkIiwgImVycm9yZWQiIH07CiAgICAgQ3VzdG9tQ29uc3RydWN0b3IoYW55IHByb3Bl
cnRpZXMpLAogICAgIENvbmRpdGlvbmFsPVNUUkVBTVNfQVBJCiBdIGludGVyZmFjZSBSZWFkYWJs
ZVN0cmVhbSB7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIFJlYWRhYmxlU3RyZWFtU3RhdGVUeXBl
IHN0YXRlOwotCi0gICAgW0N1c3RvbSwgUmFpc2VzRXhjZXB0aW9uXSBPYmplY3QgcmVhZCgpOwot
ICAgIC8vIEZJWE1FOiBSZW1vdmUgUmFpc2VzRXhjZXB0aW9uIG9uY2UgY2FuY2VsIGlzIGltcGxl
bWVudGVkLgorICAgIC8vIEZJWE1FOiBSZW1vdmUgUmFpc2VzRXhjZXB0aW9uIG9uY2UgbWV0aG9k
cyBhcmUgYWN0dWFsbHkgaW1wbGVtZW50ZWQuCiAgICAgW0N1c3RvbSwgUmFpc2VzRXhjZXB0aW9u
XSBQcm9taXNlIGNhbmNlbChET01TdHJpbmcgcmVhc29uKTsKLSAgICAvLyBGSVhNRTogUmVtb3Zl
IFJhaXNlc0V4Y2VwdGlvbiBvbmNlIHBpcGVUbyBpcyBpbXBsZW1lbnRlZC4KKyAgICBbQ3VzdG9t
LCBSYWlzZXNFeGNlcHRpb25dIE9iamVjdCBnZXRSZWFkZXIoKTsKICAgICBbQ3VzdG9tLCBSYWlz
ZXNFeGNlcHRpb25dIFByb21pc2UgcGlwZVRvKGFueSBzdHJlYW1zLCBhbnkgb3B0aW9ucyk7CiAg
ICAgW0N1c3RvbSwgUmFpc2VzRXhjZXB0aW9uXSBPYmplY3QgcGlwZVRocm91Z2goYW55IGRlc3Qs
IGFueSBvcHRpb25zKTsKLQotICAgIFtDdXN0b21HZXR0ZXJdIHJlYWRvbmx5IGF0dHJpYnV0ZSBQ
cm9taXNlIGNsb3NlZDsKLSAgICBbQ3VzdG9tR2V0dGVyXSByZWFkb25seSBhdHRyaWJ1dGUgUHJv
bWlzZSByZWFkeTsKLQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTUmVhZGFibGVTdHJlYW1DdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNSZWFkYWJsZVN0cmVhbUN1c3RvbS5jcHAKaW5kZXggNWI2ZDFkNWY2YTI0YzdhM2Q1ZjM0Nzdl
MDFhNTYwYzJjNzI3MmNjNi4uM2QyZThkY2IwNzc2OWFlMTc3NWZiZmMyNGQzNjgzYzQ4OTIyMjdi
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNSZWFkYWJsZVN0cmVh
bUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNSZWFkYWJsZVN0
cmVhbUN1c3RvbS5jcHAKQEAgLTQyLDYzICs0MiwxNSBAQCB1c2luZyBuYW1lc3BhY2UgSlNDOwog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUpTVmFsdWUgSlNSZWFkYWJsZVN0cmVhbTo6cmVhZChF
eGVjU3RhdGUqIGV4ZWMpCitKU1ZhbHVlIEpTUmVhZGFibGVTdHJlYW06OmNhbmNlbChFeGVjU3Rh
dGUqIGV4ZWMpCiB7Ci0gICAgSlNWYWx1ZSBlcnJvciA9IGNyZWF0ZUVycm9yKGV4ZWMsIEFTQ0lJ
TGl0ZXJhbCgicmVhZCBpcyBub3QgaW1wbGVtZW50ZWQiKSk7CisgICAgSlNWYWx1ZSBlcnJvciA9
IGNyZWF0ZUVycm9yKGV4ZWMsIEFTQ0lJTGl0ZXJhbCgiY2FuY2VsIGlzIG5vdCBpbXBsZW1lbnRl
ZCIpKTsKICAgICByZXR1cm4gZXhlYy0+dm0oKS50aHJvd0V4Y2VwdGlvbihleGVjLCBlcnJvcik7
CiB9CiAKLXN0YXRpYyBKU1Byb21pc2VEZWZlcnJlZCogZ2V0T3JDcmVhdGVQcm9taXNlRGVmZXJy
ZWRGcm9tT2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSB0aGlzT2JqZWN0LCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBQcml2YXRlTmFtZSAmbmFtZSkKLXsKLSAgICBKU1ZhbHVl
IHNsb3QgPSBnZXRJbnRlcm5hbFNsb3RGcm9tT2JqZWN0KGV4ZWMsIHRoaXNPYmplY3QsIG5hbWUp
OwotICAgIEpTUHJvbWlzZURlZmVycmVkKiBwcm9taXNlRGVmZXJyZWQgPSBzbG90ID8ganNEeW5h
bWljQ2FzdDxKU1Byb21pc2VEZWZlcnJlZCo+KHNsb3QpIDogbnVsbHB0cjsKLQotICAgIGlmICgh
cHJvbWlzZURlZmVycmVkKSB7Ci0gICAgICAgIHByb21pc2VEZWZlcnJlZCA9IEpTUHJvbWlzZURl
ZmVycmVkOjpjcmVhdGUoZXhlYywgZ2xvYmFsT2JqZWN0KTsKLSAgICAgICAgc2V0SW50ZXJuYWxT
bG90VG9PYmplY3QoZXhlYywgdGhpc09iamVjdCwgbmFtZSwgcHJvbWlzZURlZmVycmVkKTsKLSAg
ICB9Ci0gICAgcmV0dXJuIHByb21pc2VEZWZlcnJlZDsKLX0KLQotc3RhdGljIEpTQzo6UHJpdmF0
ZU5hbWUmIHJlYWR5UHJvbWlzZVNsb3ROYW1lKCkKK0pTVmFsdWUgSlNSZWFkYWJsZVN0cmVhbTo6
Z2V0UmVhZGVyKEV4ZWNTdGF0ZSogZXhlYykKIHsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8
SlNDOjpQcml2YXRlTmFtZT4gcmVhZHlQcm9taXNlU2xvdE5hbWUoInJlYWR5UHJvbWlzZSIpOwot
ICAgIHJldHVybiByZWFkeVByb21pc2VTbG90TmFtZTsKLX0KLQotSlNWYWx1ZSBKU1JlYWRhYmxl
U3RyZWFtOjpyZWFkeShFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0Ci17Ci0gICAgSlNQcm9taXNlRGVm
ZXJyZWQqIHByb21pc2VEZWZlcnJlZCA9IGdldE9yQ3JlYXRlUHJvbWlzZURlZmVycmVkRnJvbU9i
amVjdChleGVjLCB0aGlzLCBnbG9iYWxPYmplY3QoKSwgcmVhZHlQcm9taXNlU2xvdE5hbWUoKSk7
Ci0gICAgRGVmZXJyZWRXcmFwcGVyIHdyYXBwZXIoZXhlYywgZ2xvYmFsT2JqZWN0KCksIHByb21p
c2VEZWZlcnJlZCk7Ci0gICAgYXV0byBzdWNjZXNzQ2FsbGJhY2sgPSBbd3JhcHBlciwgdGhpc10o
KSBtdXRhYmxlIHsKLSAgICAgICAgd3JhcHBlci5yZXNvbHZlKCZpbXBsKCkpOwotICAgIH07Ci0g
ICAgaW1wbCgpLnJlYWR5KFdURjo6bW92ZShzdWNjZXNzQ2FsbGJhY2spKTsKLQotICAgIHJldHVy
biB3cmFwcGVyLnByb21pc2UoKTsKLX0KLQotc3RhdGljIEpTQzo6UHJpdmF0ZU5hbWUmIGNsb3Nl
ZFByb21pc2VTbG90TmFtZSgpCi17Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEpTQzo6UHJp
dmF0ZU5hbWU+IGNsb3NlZFByb21pc2VTbG90TmFtZSgiY2xvc2VkUHJvbWlzZSIpOwotICAgIHJl
dHVybiBjbG9zZWRQcm9taXNlU2xvdE5hbWU7Ci19Ci0KLUpTVmFsdWUgSlNSZWFkYWJsZVN0cmVh
bTo6Y2xvc2VkKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKLXsKLSAgICBKU1Byb21pc2VEZWZlcnJl
ZCogcHJvbWlzZURlZmVycmVkID0gZ2V0T3JDcmVhdGVQcm9taXNlRGVmZXJyZWRGcm9tT2JqZWN0
KGV4ZWMsIHRoaXMsIGdsb2JhbE9iamVjdCgpLCBjbG9zZWRQcm9taXNlU2xvdE5hbWUoKSk7Ci0g
ICAgRGVmZXJyZWRXcmFwcGVyIHdyYXBwZXIoZXhlYywgZ2xvYmFsT2JqZWN0KCksIHByb21pc2VE
ZWZlcnJlZCk7Ci0gICAgYXV0byBzdWNjZXNzQ2FsbGJhY2sgPSBbd3JhcHBlciwgdGhpc10oKSBt
dXRhYmxlIHsKLSAgICAgICAgd3JhcHBlci5yZXNvbHZlKCZpbXBsKCkpOwotICAgIH07Ci0gICAg
aW1wbCgpLmNsb3NlZChXVEY6Om1vdmUoc3VjY2Vzc0NhbGxiYWNrKSk7Ci0KLSAgICByZXR1cm4g
d3JhcHBlci5wcm9taXNlKCk7Ci19Ci0KLUpTVmFsdWUgSlNSZWFkYWJsZVN0cmVhbTo6Y2FuY2Vs
KEV4ZWNTdGF0ZSogZXhlYykKLXsKLSAgICBKU1ZhbHVlIGVycm9yID0gY3JlYXRlRXJyb3IoZXhl
YywgQVNDSUlMaXRlcmFsKCJjYW5jZWwgaXMgbm90IGltcGxlbWVudGVkIikpOworICAgIEpTVmFs
dWUgZXJyb3IgPSBjcmVhdGVFcnJvcihleGVjLCBBU0NJSUxpdGVyYWwoImdldFJlYWRlciBpcyBu
b3QgaW1wbGVtZW50ZWQiKSk7CiAgICAgcmV0dXJuIGV4ZWMtPnZtKCkudGhyb3dFeGNlcHRpb24o
ZXhlYywgZXJyb3IpOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOGVlNmI5MjlmNjI1ZjhjZWU2MjhmNGE5MmJjNGM0
YWU5NGNlMjJiYy4uNzMzNjhlYTk2NDMzNzEzMTAxMjZlZGFlNWFjYWNjNDE5MGU2MzI1YyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE3IEBACisyMDE1LTAzLTE4ICBYYWJpZXIgUm9kcmlndWV6IENhbHZhciA8
Y2FsdmFyaXNAaWdhbGlhLmNvbT4gYW5kIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm4uZmFibGV0QGNy
Zi5jYW5vbi5mcj4KKworICAgICAgICBbU3RyZWFtcyBBUEldIFVwZGF0ZSBSZWFkYWJsZVN0cmVh
bSBBUEkgYWNjb3JkaW5nIG5ldyB2ZXJzaW9uIG9mIHRoZSBzcGVjaWZpY2F0aW9uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI4MjIKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmluZyB0ZXN0cyBj
aGVja2luZyByZWFkeSBhbmQgY2xvc2VkLgorICAgICAgICBSZW1vdmluZyBhc3NlcnRpb25zIGNo
ZWNraW5nIHJlYWQoKSwgcmVhZHksIGNsb3NlZCBhbmQgc3RhdGUuCisgICAgICAgIEFkZGluZyBh
c3NlcnRpb25zIHRvIHRlc3QgZ2V0UmVhZGVyKCkgYW5kIHBhcmFtZXRlcnMgb2YgcmVtYWluaW5n
IG1ldGhvZHMuCisKKyAgICAgICAgKiBzdHJlYW1zL3JlYWRhYmxlc3RyZWFtLWNvbnN0cnVjdG9y
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdHJlYW1zL3JlYWRhYmxlc3RyZWFtLWNvbnN0cnVj
dG9yLmh0bWw6CisKIDIwMTUtMDMtMTYgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1z
dW5nLmNvbT4KIAogICAgICAgICBbRUZMXSBVbnJldmlld2VkIEVGTCBnYXJkZW5pbmcgb24gMTZ0
aCBNYXIuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxlc3RyZWFtLWNv
bnN0cnVjdG9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVhZGFibGVzdHJl
YW0tY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0CmluZGV4IDY1M2JiZTRhOTU1ZTZjOGRhNjc0NTBm
OWRhNWE5MTg3ODdiYjdmM2MuLjhiMTdlZTBkMTc0YzZjMThjNThjNGQ4NmY3NGQ3NTRmODgxYzI2
OGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0cmVhbXMvcmVhZGFibGVzdHJlYW0tY29uc3Ry
dWN0b3ItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVhZGFibGVzdHJl
YW0tY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsNSBAQAogCiBQQVNTIFJlYWRh
YmxlU3RyZWFtIGNvbnN0cnVjdG9yIHNob3VsZCBnZXQgYW4gb2JqZWN0IGFzIGFyZ3VtZW50IAot
UEFTUyBSZWFkYWJsZVN0cmVhbSBpbnN0YW5jZXMgc2hvdWxkIGhhdmUgdGhlIGNvcnJlY3QgbGlz
dCBvZiBwcm9wZXJ0aWVzIAogUEFTUyBSZWFkYWJsZVN0cmVhbSBjYW4gYmUgY29uc3RydWN0ZWQg
d2l0aCBubyBhcmd1bWVudHMgCi1QQVNTIFJlYWRhYmxlU3RyZWFtIGluc3RhbmNlcyBoYXZlIHRo
ZSBjb3JyZWN0IG1ldGhvZHMgYW5kIHByb3BlcnRpZXMgCi1QQVNTIFJlYWRhYmxlU3RyZWFtIHJl
YWR5IGFuZCBjbG9zZWQgc2hvdWxkIGFsd2F5cyByZXR1cm4gdGhlIHNhbWUgcHJvbWlzZSBvYmpl
Y3QgCitQQVNTIFJlYWRhYmxlU3RyZWFtIGluc3RhbmNlcyBzaG91bGQgaGF2ZSB0aGUgY29ycmVj
dCBsaXN0IG9mIHByb3BlcnRpZXMgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0cmVhbXMv
cmVhZGFibGVzdHJlYW0tY29uc3RydWN0b3IuaHRtbCBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVh
ZGFibGVzdHJlYW0tY29uc3RydWN0b3IuaHRtbAppbmRleCBkMzkzZTEyZmQzOGU1NWIxMGI2M2I2
NDFkMTkxYzIyYmVhZjYwZDQ3Li5iZTFlYTU4MTdlNTg4ZWViNzE0ODhjZmZhNjM0OTU3YjYzOTQ1
MjkxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxlc3RyZWFtLWNvbnN0
cnVjdG9yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWFkYWJsZXN0cmVhbS1jb25z
dHJ1Y3Rvci5odG1sCkBAIC0xMCwyNyArMTAsMjIgQEAgdGVzdChmdW5jdGlvbigpIHsKIH0sICdS
ZWFkYWJsZVN0cmVhbSBjb25zdHJ1Y3RvciBzaG91bGQgZ2V0IGFuIG9iamVjdCBhcyBhcmd1bWVu
dCcpOwogCiB0ZXN0KGZ1bmN0aW9uKCkgewotICAgIHJzID0gbmV3IFJlYWRhYmxlU3RyZWFtKCk7
Ci0gICAgYXNzZXJ0X2FycmF5X2VxdWFscyhPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhycyks
IFsnY2xvc2VkJywgJ3JlYWR5J10pOwotICAgIGFzc2VydF9hcnJheV9lcXVhbHMoT2JqZWN0Lmdl
dE93blByb3BlcnR5TmFtZXMoT2JqZWN0LmdldFByb3RvdHlwZU9mKHJzKSksIFsnY29uc3RydWN0
b3InLCdzdGF0ZScsICdyZWFkJywgJ2NhbmNlbCcsICdwaXBlVG8nLCAncGlwZVRocm91Z2gnXSk7
Ci0KLSAgICBhc3NlcnRfdHJ1ZShPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHJzLCAn
Y2xvc2VkJykuZW51bWVyYWJsZSk7Ci0gICAgYXNzZXJ0X2ZhbHNlKE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IocnMsICdjbG9zZWQnKS5jb25maWd1cmFibGUpOwotCi0gICAgYXNzZXJ0
X3RydWUoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihycywgJ3JlYWR5JykuZW51bWVy
YWJsZSk7Ci0gICAgYXNzZXJ0X2ZhbHNlKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
cnMsICdyZWFkeScpLmNvbmZpZ3VyYWJsZSk7Ci0KLSAgICBhc3NlcnRfdHJ1ZShPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5nZXRQcm90b3R5cGVPZihycyksICdzdGF0ZScp
LmVudW1lcmFibGUpOwotICAgIGFzc2VydF9mYWxzZShPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKE9iamVjdC5nZXRQcm90b3R5cGVPZihycyksICdzdGF0ZScpLmNvbmZpZ3VyYWJsZSk7
CisgICAgbmV3IFJlYWRhYmxlU3RyZWFtKCk7Cit9LCAnUmVhZGFibGVTdHJlYW0gY2FuIGJlIGNv
bnN0cnVjdGVkIHdpdGggbm8gYXJndW1lbnRzJyk7CiAKLSAgICBhc3NlcnRfdHJ1ZShPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5nZXRQcm90b3R5cGVPZihycyksICdyZWFk
JykuZW51bWVyYWJsZSk7Ci0gICAgYXNzZXJ0X3RydWUoT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihPYmplY3QuZ2V0UHJvdG90eXBlT2YocnMpLCAncmVhZCcpLmNvbmZpZ3VyYWJsZSk7
Ci0gICAgYXNzZXJ0X3RydWUoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3Qu
Z2V0UHJvdG90eXBlT2YocnMpLCAncmVhZCcpLndyaXRhYmxlKTsKK3Rlc3QoZnVuY3Rpb24oKSB7
CisgICAgcnMgPSBuZXcgUmVhZGFibGVTdHJlYW0oKTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxz
KE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHJzKSwgW10pOworICAgIGFzc2VydF9hcnJheV9l
cXVhbHMoT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoT2JqZWN0LmdldFByb3RvdHlwZU9mKHJz
KSksIFsnY29uc3RydWN0b3InLCdjYW5jZWwnLCAnZ2V0UmVhZGVyJywgJ3BpcGVUbycsICdwaXBl
VGhyb3VnaCddKTsKIAogICAgIGFzc2VydF90cnVlKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IoT2JqZWN0LmdldFByb3RvdHlwZU9mKHJzKSwgJ2NhbmNlbCcpLmVudW1lcmFibGUpOwog
ICAgIGFzc2VydF90cnVlKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0Lmdl
dFByb3RvdHlwZU9mKHJzKSwgJ2NhbmNlbCcpLmNvbmZpZ3VyYWJsZSk7CiAgICAgYXNzZXJ0X3Ry
dWUoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QuZ2V0UHJvdG90eXBlT2Yo
cnMpLCAnY2FuY2VsJykud3JpdGFibGUpOwogCisgICAgYXNzZXJ0X3RydWUoT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QuZ2V0UHJvdG90eXBlT2YocnMpLCAnZ2V0UmVhZGVy
JykuZW51bWVyYWJsZSk7CisgICAgYXNzZXJ0X3RydWUoT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihPYmplY3QuZ2V0UHJvdG90eXBlT2YocnMpLCAnZ2V0UmVhZGVyJykuY29uZmlndXJh
YmxlKTsKKyAgICBhc3NlcnRfdHJ1ZShPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9i
amVjdC5nZXRQcm90b3R5cGVPZihycyksICdnZXRSZWFkZXInKS53cml0YWJsZSk7CisKICAgICBh
c3NlcnRfdHJ1ZShPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5nZXRQcm90
b3R5cGVPZihycyksICdwaXBlVG8nKS5lbnVtZXJhYmxlKTsKICAgICBhc3NlcnRfdHJ1ZShPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5nZXRQcm90b3R5cGVPZihycyksICdw
aXBlVG8nKS5jb25maWd1cmFibGUpOwogICAgIGFzc2VydF90cnVlKE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoT2JqZWN0LmdldFByb3RvdHlwZU9mKHJzKSwgJ3BpcGVUbycpLndyaXRh
YmxlKTsKQEAgLTM4LDM3ICszMywxNiBAQCB0ZXN0KGZ1bmN0aW9uKCkgewogICAgIGFzc2VydF90
cnVlKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LmdldFByb3RvdHlwZU9m
KHJzKSwgJ3BpcGVUaHJvdWdoJykuZW51bWVyYWJsZSk7CiAgICAgYXNzZXJ0X3RydWUoT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QuZ2V0UHJvdG90eXBlT2YocnMpLCAncGlw
ZVRocm91Z2gnKS5jb25maWd1cmFibGUpOwogICAgIGFzc2VydF90cnVlKE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LmdldFByb3RvdHlwZU9mKHJzKSwgJ3BpcGVUaHJvdWdo
Jykud3JpdGFibGUpOwotfSwgJ1JlYWRhYmxlU3RyZWFtIGluc3RhbmNlcyBzaG91bGQgaGF2ZSB0
aGUgY29ycmVjdCBsaXN0IG9mIHByb3BlcnRpZXMnKTsKIAotLy8gVGhlIGZvbGxvd2luZyB0d28g
dGVzdHMgYXJlIGRlcml2ZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL3N0cmVhbXMv
YmxvYi9tYXN0ZXIvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL3Rlc3QvcmVhZGFibGUtc3RyZWFt
LmpzCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIG5ldyBSZWFkYWJsZVN0cmVhbSgpOwotfSwgJ1Jl
YWRhYmxlU3RyZWFtIGNhbiBiZSBjb25zdHJ1Y3RlZCB3aXRoIG5vIGFyZ3VtZW50cycpOwotCi10
ZXN0KGZ1bmN0aW9uKCkgewotICAgIHJzID0gbmV3IFJlYWRhYmxlU3RyZWFtKCk7Ci0gICAgYXNz
ZXJ0X2VxdWFscyh0eXBlb2YgcnMucmVhZCwgJ2Z1bmN0aW9uJywgJ2hhcyBhIHJlYWQgbWV0aG9k
Jyk7CiAgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgcnMuY2FuY2VsLCAnZnVuY3Rpb24nLCAnaGFz
IGFuIGNhbmNlbCBtZXRob2QnKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJzLmNhbmNlbC5sZW5ndGgs
IDEpOworICAgIGFzc2VydF9lcXVhbHModHlwZW9mIHJzLmdldFJlYWRlciwgJ2Z1bmN0aW9uJywg
J2hhcyBhIGdldFJlYWRlciBtZXRob2QnKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJzLmdldFJlYWRl
ci5sZW5ndGgsIDApOwogICAgIGFzc2VydF9lcXVhbHModHlwZW9mIHJzLnBpcGVUbywgJ2Z1bmN0
aW9uJywgJ2hhcyBhIHBpcGVUbyBtZXRob2QnKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJzLnBpcGVU
by5sZW5ndGgsIDIpOwogICAgIGFzc2VydF9lcXVhbHModHlwZW9mIHJzLnBpcGVUaHJvdWdoLCAn
ZnVuY3Rpb24nLCAnaGFzIGEgcGlwZVRocm91Z2ggbWV0aG9kJyk7Ci0gICAgYXNzZXJ0X2VxdWFs
cyhycy5zdGF0ZSwgJ3dhaXRpbmcnLCAnc3RhdGUgc3RhcnRzIG91dCB3YWl0aW5nJyk7Ci0gICAg
YXNzZXJ0X2V4aXN0cyhycywgJ3JlYWR5JywgJ2hhcyBhIHJlYWR5IHByb3BlcnR5Jyk7Ci0gICAg
YXNzZXJ0X2VxdWFscyh0eXBlb2YgcnMucmVhZHkudGhlbiwgJ2Z1bmN0aW9uJywgJ3JlYWR5IHBy
b3BlcnR5IGlzIGEgdGhlbmFibGUnKTsKLSAgICBhc3NlcnRfZXhpc3RzKHJzLCAnY2xvc2VkJywg
J2hhcyBhIGNsb3NlZCBwcm9wZXJ0eScpOwotICAgIGFzc2VydF9lcXVhbHModHlwZW9mIHJzLmNs
b3NlZC50aGVuLCAnZnVuY3Rpb24nLCAnY2xvc2VkIHByb3BlcnR5IGlzIHRoZW5hYmxlJyk7Ci19
LCAnUmVhZGFibGVTdHJlYW0gaW5zdGFuY2VzIGhhdmUgdGhlIGNvcnJlY3QgbWV0aG9kcyBhbmQg
cHJvcGVydGllcycpOworICAgIGFzc2VydF9lcXVhbHMocnMucGlwZVRocm91Z2gubGVuZ3RoLCAy
KTsKIAotdGVzdChmdW5jdGlvbigpIHsKLSAgICBycyA9IG5ldyBSZWFkYWJsZVN0cmVhbSgpOwot
ICAgIHJlYWR5UHJvbWlzZSA9IHJzLnJlYWR5OwotICAgIGNsb3NlZFByb21pc2UgPSBycy5jbG9z
ZWQ7Ci0KLSAgICBhc3NlcnRfZXF1YWxzKHJlYWR5UHJvbWlzZSwgcnMucmVhZHkpOwotICAgIGFz
c2VydF9lcXVhbHMoY2xvc2VkUHJvbWlzZSwgcnMuY2xvc2VkKTsKLQotICAgIC8vIFdlIGNoZWNr
IFJlYWRhYmxlU3RyZWFtIHByb3BlcnRpZXMgaGVyZSBhcyByZWFkeSBhbmQgY2xvc2VkIHByb21p
c2VzIGFyZSBwZXJzaXN0ZW50IGFuZCBuZWVkIHRvIGJlIHN0b3JlZCBpbiBzb21lIHdheSB0aGF0
IGlzIG5vdCBvYnNlcnZhYmxlLgotICAgIGFzc2VydF9hcnJheV9lcXVhbHMoT2JqZWN0LmtleXMo
cnMpLCBbJ2Nsb3NlZCcsICdyZWFkeSddKTsKLSAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKE9iamVj
dC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHJzKSwgWydjbG9zZWQnLCAncmVhZHknXSk7Ci19LCAnUmVh
ZGFibGVTdHJlYW0gcmVhZHkgYW5kIGNsb3NlZCBzaG91bGQgYWx3YXlzIHJldHVybiB0aGUgc2Ft
ZSBwcm9taXNlIG9iamVjdCcpOworfSwgJ1JlYWRhYmxlU3RyZWFtIGluc3RhbmNlcyBzaG91bGQg
aGF2ZSB0aGUgY29ycmVjdCBsaXN0IG9mIHByb3BlcnRpZXMnKTsKIAogPC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>248927</attachid>
            <date>2015-03-18 06:22:15 -0700</date>
            <delta_ts>2015-03-19 01:28:04 -0700</delta_ts>
            <desc>Trying to fix mac build</desc>
            <filename>bug-142822-20150318142141.patch</filename>
            <type>text/plain</type>
            <size>15493</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgxNTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTE0ODYwYmZiMjYwNDUy
NjAyMTZmZGRmNjQ1MTdmZWVlNDIyNWVkOC4uMmYxNjQ0ZGRkMWI4YWYxYTMwNTFkZDY1OTg2YTE0
OWNlYjJlMWQxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE1LTAzLTE4ICBYYWJp
ZXIgUm9kcmlndWV6IENhbHZhciA8Y2FsdmFyaXNAaWdhbGlhLmNvbT4gYW5kIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KKworICAgICAgICBbU3RyZWFtcyBBUEld
IFVwZGF0ZSBSZWFkYWJsZVN0cmVhbSBBUEkgYWNjb3JkaW5nIG5ldyB2ZXJzaW9uIG9mIHRoZSBz
cGVjaWZpY2F0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNDI4MjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGlzIHBhdGNoIHVwZGF0ZXMgdGhlIElETCBvZiBSZWFkYWJsZVN0cmVhbSBhY2NvcmRp
bmcgdGhlIG5ldyB2ZXJzaW9uIG9mIHRoZSBzcGVjLCB3aGljaCBzcGxpdHMgZnVuY3Rpb25hbGl0
eSBiZXR3ZWVuIFJlYWRhYmxlU3RyZWFtIGFuZCBSZWFkYWJsZVN0cmVhbVJlYWRlci4KKyAgICAg
ICAgSW4gcGFydGljdWxhciwgdGhpcyBwYXRjaCByZW1vdmVzIHJlYWQoKSwgcmVhZHksIGNsb3Nl
ZCBhbmQgc3RhdGUgZnJvbSBSZWFkYWJsZVN0cmVhbSBhbmQgaXQgYWRkcyB0aGUgZ2V0UmVhZGVy
IG1ldGhvZC4KKworICAgICAgICBDb3ZlcmVkIGJ5IHVwZGF0ZWQgcmVhZGFibGVzdHJlYW0tY29u
c3RydWN0b3IuaHRtbCB0ZXN0LgorCisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxl
U3RyZWFtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlYWRhYmxlU3RyZWFtOjpSZWFkYWJsZVN0
cmVhbSk6CisgICAgICAgIChXZWJDb3JlOjpSZWFkYWJsZVN0cmVhbTo6c3RhdGUpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6UmVhZGFibGVTdHJlYW06OmNsb3NlZCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpSZWFkYWJsZVN0cmVhbTo6cmVhZHkpOiBEZWxldGVkLgorICAgICAg
ICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5oOgorICAgICAgICAoV2ViQ29yZTo6
UmVhZGFibGVTdHJlYW06OmludGVybmFsU3RhdGUpOiBBZGRlZCB0byBtYWtlIG1hYyBidWlsZCBz
eXN0ZW0gaGFwcHksIHRvIGJlIHVzZWQgYnkgUmVhZGFibGVTdHJlYW1SZWFkZXIuCisgICAgICAg
ICogTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmlkbDoKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU1JlYWRhYmxlU3RyZWFtQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTUmVh
ZGFibGVTdHJlYW06OmNhbmNlbCk6CisgICAgICAgIChXZWJDb3JlOjpKU1JlYWRhYmxlU3RyZWFt
OjpnZXRSZWFkZXIpOgorICAgICAgICAoV2ViQ29yZTo6SlNSZWFkYWJsZVN0cmVhbTo6cmVhZCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpnZXRPckNyZWF0ZVByb21pc2VEZWZlcnJlZEZy
b21PYmplY3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6cmVhZHlQcm9taXNlU2xvdE5h
bWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNSZWFkYWJsZVN0cmVhbTo6cmVhZHkp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Y2xvc2VkUHJvbWlzZVNsb3ROYW1lKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTUmVhZGFibGVTdHJlYW06OmNsb3NlZCk6IERlbGV0
ZWQuCisKIDIwMTUtMDMtMTUgIEJlbmphbWluIFBvdWxhaW4gIDxiZW5qYW1pbkB3ZWJraXQub3Jn
PgogCiAgICAgICAgIENTUzogZml4IHRoZSBjYXNlLWluc2Vuc2l0aXZlIG1hdGNoaW5nIG9mIHRo
ZSBhdHRyaWJ1dGUgc2VsZWN0b3JzIEJlZ2luLCBFbmQgYW5kIEh5cGhlbgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5jcHAKaW5kZXggZjc2Mjc1
YTM3MDkxMDdlMDdlMjYzMmI2MDA0MmE4ZDQ4YTFiZjcxOS4uNDJmMDM5MTZmMDE4M2Y1YTE2MTI0
YzJiNDFmNDJhMmU4MWFmOTJhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9z
dHJlYW1zL1JlYWRhYmxlU3RyZWFtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0
cmVhbXMvUmVhZGFibGVTdHJlYW0uY3BwCkBAIC00OSw3ICs0OSw3IEBAIFJlZjxSZWFkYWJsZVN0
cmVhbT4gUmVhZGFibGVTdHJlYW06OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3Jp
cHRFeGVjdXRpCiAKIFJlYWRhYmxlU3RyZWFtOjpSZWFkYWJsZVN0cmVhbShTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBSZWY8UmVhZGFibGVTdHJlYW1Tb3Vy
Y2U+JiYgc291cmNlKQogICAgIDogQWN0aXZlRE9NT2JqZWN0KCZzY3JpcHRFeGVjdXRpb25Db250
ZXh0KQotICAgICwgbV9zdGF0ZShTdGF0ZTo6V2FpdGluZykKKyAgICAsIG1fc3RhdGUoU3RhdGU6
OlJlYWRhYmxlKQogICAgICwgbV9zb3VyY2UoV1RGOjptb3ZlKHNvdXJjZSkpCiB7CiAjaWZuZGVm
IE5ERUJVRwpAQCAtNjQsMzIgKzY0LDYgQEAgUmVhZGFibGVTdHJlYW06On5SZWFkYWJsZVN0cmVh
bSgpCiAjZW5kaWYKIH0KIAotU3RyaW5nIFJlYWRhYmxlU3RyZWFtOjpzdGF0ZSgpIGNvbnN0Ci17
Ci0gICAgc3dpdGNoIChtX3N0YXRlKSB7Ci0gICAgY2FzZSBTdGF0ZTo6V2FpdGluZzoKLSAgICAg
ICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgid2FpdGluZyIpOwotICAgIGNhc2UgU3RhdGU6OkNsb3Nl
ZDoKLSAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiY2xvc2VkIik7Ci0gICAgY2FzZSBTdGF0
ZTo6UmVhZGFibGU6Ci0gICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoInJlYWRhYmxlIik7Ci0g
ICAgY2FzZSBTdGF0ZTo6RXJyb3JlZDoKLSAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiZXJy
b3JlZCIpOwotICAgIH0KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gQVND
SUlMaXRlcmFsKCIiKTsKLX0KLQotdm9pZCBSZWFkYWJsZVN0cmVhbTo6Y2xvc2VkKFN1Y2Nlc3ND
YWxsYmFjaykKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotfQotCi12b2lkIFJlYWRhYmxlU3Ry
ZWFtOjpyZWFkeShTdWNjZXNzQ2FsbGJhY2spCi17Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLX0K
LQogY29uc3QgY2hhciogUmVhZGFibGVTdHJlYW06OmFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25z
dAogewogICAgIHJldHVybiAiUmVhZGFibGVTdHJlYW0iOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uaAppbmRleCA3NjQ3M2UxNTg3MjQ5N2YzNjc4
ZWFkNjU0MGQ5MmY0MDg4ZTA2MjBhLi5iYzAxZjY0MGYzMjMzMzY1NGI3MDBkNGI1OGVjNGFjODA0
NTllY2E5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFi
bGVTdHJlYW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVT
dHJlYW0uaApAQCAtNDksMjEgKzQ5LDE1IEBAIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7
CiBjbGFzcyBSZWFkYWJsZVN0cmVhbSA6IHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHB1YmxpYyBT
Y3JpcHRXcmFwcGFibGUsIHB1YmxpYyBSZWZDb3VudGVkPFJlYWRhYmxlU3RyZWFtPiB7CiBwdWJs
aWM6CiAgICAgZW51bSBjbGFzcyBTdGF0ZSB7Ci0gICAgICAgIFdhaXRpbmcsCi0gICAgICAgIENs
b3NlZCwKICAgICAgICAgUmVhZGFibGUsCisgICAgICAgIENsb3NlZCwKICAgICAgICAgRXJyb3Jl
ZAogICAgIH07CiAKICAgICBzdGF0aWMgUmVmPFJlYWRhYmxlU3RyZWFtPiBjcmVhdGUoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYsIFJlZjxSZWFkYWJsZVN0cmVhbVNvdXJjZT4mJik7CiAgICAgdmly
dHVhbCB+UmVhZGFibGVTdHJlYW0oKTsKIAotICAgIC8vIEpTIEFQSSBpbXBsZW1lbnRhdGlvbi4K
LSAgICBTdHJpbmcgc3RhdGUoKSBjb25zdDsKLQotICAgIHR5cGVkZWYgc3RkOjpmdW5jdGlvbjx2
b2lkKCk+IFN1Y2Nlc3NDYWxsYmFjazsKLSAgICB2b2lkIGNsb3NlZChTdWNjZXNzQ2FsbGJhY2sp
OwotICAgIHZvaWQgcmVhZHkoU3VjY2Vzc0NhbGxiYWNrKTsKKyAgICBTdGF0ZSBpbnRlcm5hbFN0
YXRlKCkgeyByZXR1cm4gbV9zdGF0ZTsgfQogCiBwcml2YXRlOgogICAgIFJlYWRhYmxlU3RyZWFt
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZWY8UmVhZGFibGVTdHJlYW1Tb3VyY2U+JiYpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFt
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5pZGwK
aW5kZXggNDlkYjE1NGJhM2NlZThiY2RlNWRkMjE1ZTEyMmQ2NDZhYTdkYjk5MC4uZmYyNmE1YWE4
ZTVkNGVkNDhiMjZiNWRmZDViMjhhNjU1ZTQ3ODEwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uaWRsCkBAIC0zMywxNiArMzMsOSBAQCBl
bnVtIFJlYWRhYmxlU3RyZWFtU3RhdGVUeXBlIHsgInJlYWRhYmxlIiwgIndhaXRpbmciLCAiY2xv
c2VkIiwgImVycm9yZWQiIH07CiAgICAgQ3VzdG9tQ29uc3RydWN0b3IoYW55IHByb3BlcnRpZXMp
LAogICAgIENvbmRpdGlvbmFsPVNUUkVBTVNfQVBJCiBdIGludGVyZmFjZSBSZWFkYWJsZVN0cmVh
bSB7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIFJlYWRhYmxlU3RyZWFtU3RhdGVUeXBlIHN0YXRl
OwotCi0gICAgW0N1c3RvbSwgUmFpc2VzRXhjZXB0aW9uXSBPYmplY3QgcmVhZCgpOwotICAgIC8v
IEZJWE1FOiBSZW1vdmUgUmFpc2VzRXhjZXB0aW9uIG9uY2UgY2FuY2VsIGlzIGltcGxlbWVudGVk
LgorICAgIC8vIEZJWE1FOiBSZW1vdmUgUmFpc2VzRXhjZXB0aW9uIG9uY2UgbWV0aG9kcyBhcmUg
YWN0dWFsbHkgaW1wbGVtZW50ZWQuCiAgICAgW0N1c3RvbSwgUmFpc2VzRXhjZXB0aW9uXSBQcm9t
aXNlIGNhbmNlbChET01TdHJpbmcgcmVhc29uKTsKLSAgICAvLyBGSVhNRTogUmVtb3ZlIFJhaXNl
c0V4Y2VwdGlvbiBvbmNlIHBpcGVUbyBpcyBpbXBsZW1lbnRlZC4KKyAgICBbQ3VzdG9tLCBSYWlz
ZXNFeGNlcHRpb25dIE9iamVjdCBnZXRSZWFkZXIoKTsKICAgICBbQ3VzdG9tLCBSYWlzZXNFeGNl
cHRpb25dIFByb21pc2UgcGlwZVRvKGFueSBzdHJlYW1zLCBhbnkgb3B0aW9ucyk7CiAgICAgW0N1
c3RvbSwgUmFpc2VzRXhjZXB0aW9uXSBPYmplY3QgcGlwZVRocm91Z2goYW55IGRlc3QsIGFueSBv
cHRpb25zKTsKLQotICAgIFtDdXN0b21HZXR0ZXJdIHJlYWRvbmx5IGF0dHJpYnV0ZSBQcm9taXNl
IGNsb3NlZDsKLSAgICBbQ3VzdG9tR2V0dGVyXSByZWFkb25seSBhdHRyaWJ1dGUgUHJvbWlzZSBy
ZWFkeTsKLQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUmVh
ZGFibGVTdHJlYW1DdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNSZWFk
YWJsZVN0cmVhbUN1c3RvbS5jcHAKaW5kZXggNWI2ZDFkNWY2YTI0YzdhM2Q1ZjM0NzdlMDFhNTYw
YzJjNzI3MmNjNi4uM2QyZThkY2IwNzc2OWFlMTc3NWZiZmMyNGQzNjgzYzQ4OTIyMjdiNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNSZWFkYWJsZVN0cmVhbUN1c3Rv
bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNSZWFkYWJsZVN0cmVhbUN1
c3RvbS5jcHAKQEAgLTQyLDYzICs0MiwxNSBAQCB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLUpTVmFsdWUgSlNSZWFkYWJsZVN0cmVhbTo6cmVhZChFeGVjU3Rh
dGUqIGV4ZWMpCitKU1ZhbHVlIEpTUmVhZGFibGVTdHJlYW06OmNhbmNlbChFeGVjU3RhdGUqIGV4
ZWMpCiB7Ci0gICAgSlNWYWx1ZSBlcnJvciA9IGNyZWF0ZUVycm9yKGV4ZWMsIEFTQ0lJTGl0ZXJh
bCgicmVhZCBpcyBub3QgaW1wbGVtZW50ZWQiKSk7CisgICAgSlNWYWx1ZSBlcnJvciA9IGNyZWF0
ZUVycm9yKGV4ZWMsIEFTQ0lJTGl0ZXJhbCgiY2FuY2VsIGlzIG5vdCBpbXBsZW1lbnRlZCIpKTsK
ICAgICByZXR1cm4gZXhlYy0+dm0oKS50aHJvd0V4Y2VwdGlvbihleGVjLCBlcnJvcik7CiB9CiAK
LXN0YXRpYyBKU1Byb21pc2VEZWZlcnJlZCogZ2V0T3JDcmVhdGVQcm9taXNlRGVmZXJyZWRGcm9t
T2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSB0aGlzT2JqZWN0LCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBQcml2YXRlTmFtZSAmbmFtZSkKLXsKLSAgICBKU1ZhbHVlIHNsb3Qg
PSBnZXRJbnRlcm5hbFNsb3RGcm9tT2JqZWN0KGV4ZWMsIHRoaXNPYmplY3QsIG5hbWUpOwotICAg
IEpTUHJvbWlzZURlZmVycmVkKiBwcm9taXNlRGVmZXJyZWQgPSBzbG90ID8ganNEeW5hbWljQ2Fz
dDxKU1Byb21pc2VEZWZlcnJlZCo+KHNsb3QpIDogbnVsbHB0cjsKLQotICAgIGlmICghcHJvbWlz
ZURlZmVycmVkKSB7Ci0gICAgICAgIHByb21pc2VEZWZlcnJlZCA9IEpTUHJvbWlzZURlZmVycmVk
OjpjcmVhdGUoZXhlYywgZ2xvYmFsT2JqZWN0KTsKLSAgICAgICAgc2V0SW50ZXJuYWxTbG90VG9P
YmplY3QoZXhlYywgdGhpc09iamVjdCwgbmFtZSwgcHJvbWlzZURlZmVycmVkKTsKLSAgICB9Ci0g
ICAgcmV0dXJuIHByb21pc2VEZWZlcnJlZDsKLX0KLQotc3RhdGljIEpTQzo6UHJpdmF0ZU5hbWUm
IHJlYWR5UHJvbWlzZVNsb3ROYW1lKCkKK0pTVmFsdWUgSlNSZWFkYWJsZVN0cmVhbTo6Z2V0UmVh
ZGVyKEV4ZWNTdGF0ZSogZXhlYykKIHsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SlNDOjpQ
cml2YXRlTmFtZT4gcmVhZHlQcm9taXNlU2xvdE5hbWUoInJlYWR5UHJvbWlzZSIpOwotICAgIHJl
dHVybiByZWFkeVByb21pc2VTbG90TmFtZTsKLX0KLQotSlNWYWx1ZSBKU1JlYWRhYmxlU3RyZWFt
OjpyZWFkeShFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0Ci17Ci0gICAgSlNQcm9taXNlRGVmZXJyZWQq
IHByb21pc2VEZWZlcnJlZCA9IGdldE9yQ3JlYXRlUHJvbWlzZURlZmVycmVkRnJvbU9iamVjdChl
eGVjLCB0aGlzLCBnbG9iYWxPYmplY3QoKSwgcmVhZHlQcm9taXNlU2xvdE5hbWUoKSk7Ci0gICAg
RGVmZXJyZWRXcmFwcGVyIHdyYXBwZXIoZXhlYywgZ2xvYmFsT2JqZWN0KCksIHByb21pc2VEZWZl
cnJlZCk7Ci0gICAgYXV0byBzdWNjZXNzQ2FsbGJhY2sgPSBbd3JhcHBlciwgdGhpc10oKSBtdXRh
YmxlIHsKLSAgICAgICAgd3JhcHBlci5yZXNvbHZlKCZpbXBsKCkpOwotICAgIH07Ci0gICAgaW1w
bCgpLnJlYWR5KFdURjo6bW92ZShzdWNjZXNzQ2FsbGJhY2spKTsKLQotICAgIHJldHVybiB3cmFw
cGVyLnByb21pc2UoKTsKLX0KLQotc3RhdGljIEpTQzo6UHJpdmF0ZU5hbWUmIGNsb3NlZFByb21p
c2VTbG90TmFtZSgpCi17Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEpTQzo6UHJpdmF0ZU5h
bWU+IGNsb3NlZFByb21pc2VTbG90TmFtZSgiY2xvc2VkUHJvbWlzZSIpOwotICAgIHJldHVybiBj
bG9zZWRQcm9taXNlU2xvdE5hbWU7Ci19Ci0KLUpTVmFsdWUgSlNSZWFkYWJsZVN0cmVhbTo6Y2xv
c2VkKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKLXsKLSAgICBKU1Byb21pc2VEZWZlcnJlZCogcHJv
bWlzZURlZmVycmVkID0gZ2V0T3JDcmVhdGVQcm9taXNlRGVmZXJyZWRGcm9tT2JqZWN0KGV4ZWMs
IHRoaXMsIGdsb2JhbE9iamVjdCgpLCBjbG9zZWRQcm9taXNlU2xvdE5hbWUoKSk7Ci0gICAgRGVm
ZXJyZWRXcmFwcGVyIHdyYXBwZXIoZXhlYywgZ2xvYmFsT2JqZWN0KCksIHByb21pc2VEZWZlcnJl
ZCk7Ci0gICAgYXV0byBzdWNjZXNzQ2FsbGJhY2sgPSBbd3JhcHBlciwgdGhpc10oKSBtdXRhYmxl
IHsKLSAgICAgICAgd3JhcHBlci5yZXNvbHZlKCZpbXBsKCkpOwotICAgIH07Ci0gICAgaW1wbCgp
LmNsb3NlZChXVEY6Om1vdmUoc3VjY2Vzc0NhbGxiYWNrKSk7Ci0KLSAgICByZXR1cm4gd3JhcHBl
ci5wcm9taXNlKCk7Ci19Ci0KLUpTVmFsdWUgSlNSZWFkYWJsZVN0cmVhbTo6Y2FuY2VsKEV4ZWNT
dGF0ZSogZXhlYykKLXsKLSAgICBKU1ZhbHVlIGVycm9yID0gY3JlYXRlRXJyb3IoZXhlYywgQVND
SUlMaXRlcmFsKCJjYW5jZWwgaXMgbm90IGltcGxlbWVudGVkIikpOworICAgIEpTVmFsdWUgZXJy
b3IgPSBjcmVhdGVFcnJvcihleGVjLCBBU0NJSUxpdGVyYWwoImdldFJlYWRlciBpcyBub3QgaW1w
bGVtZW50ZWQiKSk7CiAgICAgcmV0dXJuIGV4ZWMtPnZtKCkudGhyb3dFeGNlcHRpb24oZXhlYywg
ZXJyb3IpOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggOGVlNmI5MjlmNjI1ZjhjZWU2MjhmNGE5MmJjNGM0YWU5NGNl
MjJiYy4uNzMzNjhlYTk2NDMzNzEzMTAxMjZlZGFlNWFjYWNjNDE5MGU2MzI1YyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE3IEBACisyMDE1LTAzLTE4ICBYYWJpZXIgUm9kcmlndWV6IENhbHZhciA8Y2FsdmFy
aXNAaWdhbGlhLmNvbT4gYW5kIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm4uZmFibGV0QGNyZi5jYW5v
bi5mcj4KKworICAgICAgICBbU3RyZWFtcyBBUEldIFVwZGF0ZSBSZWFkYWJsZVN0cmVhbSBBUEkg
YWNjb3JkaW5nIG5ldyB2ZXJzaW9uIG9mIHRoZSBzcGVjaWZpY2F0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI4MjIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmluZyB0ZXN0cyBjaGVja2lu
ZyByZWFkeSBhbmQgY2xvc2VkLgorICAgICAgICBSZW1vdmluZyBhc3NlcnRpb25zIGNoZWNraW5n
IHJlYWQoKSwgcmVhZHksIGNsb3NlZCBhbmQgc3RhdGUuCisgICAgICAgIEFkZGluZyBhc3NlcnRp
b25zIHRvIHRlc3QgZ2V0UmVhZGVyKCkgYW5kIHBhcmFtZXRlcnMgb2YgcmVtYWluaW5nIG1ldGhv
ZHMuCisKKyAgICAgICAgKiBzdHJlYW1zL3JlYWRhYmxlc3RyZWFtLWNvbnN0cnVjdG9yLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBzdHJlYW1zL3JlYWRhYmxlc3RyZWFtLWNvbnN0cnVjdG9yLmh0
bWw6CisKIDIwMTUtMDMtMTYgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNv
bT4KIAogICAgICAgICBbRUZMXSBVbnJldmlld2VkIEVGTCBnYXJkZW5pbmcgb24gMTZ0aCBNYXIu
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxlc3RyZWFtLWNvbnN0cnVj
dG9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVhZGFibGVzdHJlYW0tY29u
c3RydWN0b3ItZXhwZWN0ZWQudHh0CmluZGV4IDY1M2JiZTRhOTU1ZTZjOGRhNjc0NTBmOWRhNWE5
MTg3ODdiYjdmM2MuLjhiMTdlZTBkMTc0YzZjMThjNThjNGQ4NmY3NGQ3NTRmODgxYzI2OGUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0cmVhbXMvcmVhZGFibGVzdHJlYW0tY29uc3RydWN0b3It
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVhZGFibGVzdHJlYW0tY29u
c3RydWN0b3ItZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsNSBAQAogCiBQQVNTIFJlYWRhYmxlU3Ry
ZWFtIGNvbnN0cnVjdG9yIHNob3VsZCBnZXQgYW4gb2JqZWN0IGFzIGFyZ3VtZW50IAotUEFTUyBS
ZWFkYWJsZVN0cmVhbSBpbnN0YW5jZXMgc2hvdWxkIGhhdmUgdGhlIGNvcnJlY3QgbGlzdCBvZiBw
cm9wZXJ0aWVzIAogUEFTUyBSZWFkYWJsZVN0cmVhbSBjYW4gYmUgY29uc3RydWN0ZWQgd2l0aCBu
byBhcmd1bWVudHMgCi1QQVNTIFJlYWRhYmxlU3RyZWFtIGluc3RhbmNlcyBoYXZlIHRoZSBjb3Jy
ZWN0IG1ldGhvZHMgYW5kIHByb3BlcnRpZXMgCi1QQVNTIFJlYWRhYmxlU3RyZWFtIHJlYWR5IGFu
ZCBjbG9zZWQgc2hvdWxkIGFsd2F5cyByZXR1cm4gdGhlIHNhbWUgcHJvbWlzZSBvYmplY3QgCitQ
QVNTIFJlYWRhYmxlU3RyZWFtIGluc3RhbmNlcyBzaG91bGQgaGF2ZSB0aGUgY29ycmVjdCBsaXN0
IG9mIHByb3BlcnRpZXMgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0cmVhbXMvcmVhZGFi
bGVzdHJlYW0tY29uc3RydWN0b3IuaHRtbCBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVhZGFibGVz
dHJlYW0tY29uc3RydWN0b3IuaHRtbAppbmRleCBkMzkzZTEyZmQzOGU1NWIxMGI2M2I2NDFkMTkx
YzIyYmVhZjYwZDQ3Li5iZTFlYTU4MTdlNTg4ZWViNzE0ODhjZmZhNjM0OTU3YjYzOTQ1MjkxIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxlc3RyZWFtLWNvbnN0cnVjdG9y
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWFkYWJsZXN0cmVhbS1jb25zdHJ1Y3Rv
ci5odG1sCkBAIC0xMCwyNyArMTAsMjIgQEAgdGVzdChmdW5jdGlvbigpIHsKIH0sICdSZWFkYWJs
ZVN0cmVhbSBjb25zdHJ1Y3RvciBzaG91bGQgZ2V0IGFuIG9iamVjdCBhcyBhcmd1bWVudCcpOwog
CiB0ZXN0KGZ1bmN0aW9uKCkgewotICAgIHJzID0gbmV3IFJlYWRhYmxlU3RyZWFtKCk7Ci0gICAg
YXNzZXJ0X2FycmF5X2VxdWFscyhPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhycyksIFsnY2xv
c2VkJywgJ3JlYWR5J10pOwotICAgIGFzc2VydF9hcnJheV9lcXVhbHMoT2JqZWN0LmdldE93blBy
b3BlcnR5TmFtZXMoT2JqZWN0LmdldFByb3RvdHlwZU9mKHJzKSksIFsnY29uc3RydWN0b3InLCdz
dGF0ZScsICdyZWFkJywgJ2NhbmNlbCcsICdwaXBlVG8nLCAncGlwZVRocm91Z2gnXSk7Ci0KLSAg
ICBhc3NlcnRfdHJ1ZShPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHJzLCAnY2xvc2Vk
JykuZW51bWVyYWJsZSk7Ci0gICAgYXNzZXJ0X2ZhbHNlKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IocnMsICdjbG9zZWQnKS5jb25maWd1cmFibGUpOwotCi0gICAgYXNzZXJ0X3RydWUo
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihycywgJ3JlYWR5JykuZW51bWVyYWJsZSk7
Ci0gICAgYXNzZXJ0X2ZhbHNlKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocnMsICdy
ZWFkeScpLmNvbmZpZ3VyYWJsZSk7Ci0KLSAgICBhc3NlcnRfdHJ1ZShPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKE9iamVjdC5nZXRQcm90b3R5cGVPZihycyksICdzdGF0ZScpLmVudW1l
cmFibGUpOwotICAgIGFzc2VydF9mYWxzZShPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KE9iamVjdC5nZXRQcm90b3R5cGVPZihycyksICdzdGF0ZScpLmNvbmZpZ3VyYWJsZSk7CisgICAg
bmV3IFJlYWRhYmxlU3RyZWFtKCk7Cit9LCAnUmVhZGFibGVTdHJlYW0gY2FuIGJlIGNvbnN0cnVj
dGVkIHdpdGggbm8gYXJndW1lbnRzJyk7CiAKLSAgICBhc3NlcnRfdHJ1ZShPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5nZXRQcm90b3R5cGVPZihycyksICdyZWFkJykuZW51
bWVyYWJsZSk7Ci0gICAgYXNzZXJ0X3RydWUoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihPYmplY3QuZ2V0UHJvdG90eXBlT2YocnMpLCAncmVhZCcpLmNvbmZpZ3VyYWJsZSk7Ci0gICAg
YXNzZXJ0X3RydWUoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QuZ2V0UHJv
dG90eXBlT2YocnMpLCAncmVhZCcpLndyaXRhYmxlKTsKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAg
cnMgPSBuZXcgUmVhZGFibGVTdHJlYW0oKTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKE9iamVj
dC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHJzKSwgW10pOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMo
T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoT2JqZWN0LmdldFByb3RvdHlwZU9mKHJzKSksIFsn
Y29uc3RydWN0b3InLCdjYW5jZWwnLCAnZ2V0UmVhZGVyJywgJ3BpcGVUbycsICdwaXBlVGhyb3Vn
aCddKTsKIAogICAgIGFzc2VydF90cnVlKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
T2JqZWN0LmdldFByb3RvdHlwZU9mKHJzKSwgJ2NhbmNlbCcpLmVudW1lcmFibGUpOwogICAgIGFz
c2VydF90cnVlKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LmdldFByb3Rv
dHlwZU9mKHJzKSwgJ2NhbmNlbCcpLmNvbmZpZ3VyYWJsZSk7CiAgICAgYXNzZXJ0X3RydWUoT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QuZ2V0UHJvdG90eXBlT2YocnMpLCAn
Y2FuY2VsJykud3JpdGFibGUpOwogCisgICAgYXNzZXJ0X3RydWUoT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihPYmplY3QuZ2V0UHJvdG90eXBlT2YocnMpLCAnZ2V0UmVhZGVyJykuZW51
bWVyYWJsZSk7CisgICAgYXNzZXJ0X3RydWUoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihPYmplY3QuZ2V0UHJvdG90eXBlT2YocnMpLCAnZ2V0UmVhZGVyJykuY29uZmlndXJhYmxlKTsK
KyAgICBhc3NlcnRfdHJ1ZShPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5n
ZXRQcm90b3R5cGVPZihycyksICdnZXRSZWFkZXInKS53cml0YWJsZSk7CisKICAgICBhc3NlcnRf
dHJ1ZShPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5nZXRQcm90b3R5cGVP
ZihycyksICdwaXBlVG8nKS5lbnVtZXJhYmxlKTsKICAgICBhc3NlcnRfdHJ1ZShPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5nZXRQcm90b3R5cGVPZihycyksICdwaXBlVG8n
KS5jb25maWd1cmFibGUpOwogICAgIGFzc2VydF90cnVlKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoT2JqZWN0LmdldFByb3RvdHlwZU9mKHJzKSwgJ3BpcGVUbycpLndyaXRhYmxlKTsK
QEAgLTM4LDM3ICszMywxNiBAQCB0ZXN0KGZ1bmN0aW9uKCkgewogICAgIGFzc2VydF90cnVlKE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LmdldFByb3RvdHlwZU9mKHJzKSwg
J3BpcGVUaHJvdWdoJykuZW51bWVyYWJsZSk7CiAgICAgYXNzZXJ0X3RydWUoT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QuZ2V0UHJvdG90eXBlT2YocnMpLCAncGlwZVRocm91
Z2gnKS5jb25maWd1cmFibGUpOwogICAgIGFzc2VydF90cnVlKE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IoT2JqZWN0LmdldFByb3RvdHlwZU9mKHJzKSwgJ3BpcGVUaHJvdWdoJykud3Jp
dGFibGUpOwotfSwgJ1JlYWRhYmxlU3RyZWFtIGluc3RhbmNlcyBzaG91bGQgaGF2ZSB0aGUgY29y
cmVjdCBsaXN0IG9mIHByb3BlcnRpZXMnKTsKIAotLy8gVGhlIGZvbGxvd2luZyB0d28gdGVzdHMg
YXJlIGRlcml2ZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL3N0cmVhbXMvYmxvYi9t
YXN0ZXIvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL3Rlc3QvcmVhZGFibGUtc3RyZWFtLmpzCi10
ZXN0KGZ1bmN0aW9uKCkgewotICAgIG5ldyBSZWFkYWJsZVN0cmVhbSgpOwotfSwgJ1JlYWRhYmxl
U3RyZWFtIGNhbiBiZSBjb25zdHJ1Y3RlZCB3aXRoIG5vIGFyZ3VtZW50cycpOwotCi10ZXN0KGZ1
bmN0aW9uKCkgewotICAgIHJzID0gbmV3IFJlYWRhYmxlU3RyZWFtKCk7Ci0gICAgYXNzZXJ0X2Vx
dWFscyh0eXBlb2YgcnMucmVhZCwgJ2Z1bmN0aW9uJywgJ2hhcyBhIHJlYWQgbWV0aG9kJyk7CiAg
ICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgcnMuY2FuY2VsLCAnZnVuY3Rpb24nLCAnaGFzIGFuIGNh
bmNlbCBtZXRob2QnKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJzLmNhbmNlbC5sZW5ndGgsIDEpOwor
ICAgIGFzc2VydF9lcXVhbHModHlwZW9mIHJzLmdldFJlYWRlciwgJ2Z1bmN0aW9uJywgJ2hhcyBh
IGdldFJlYWRlciBtZXRob2QnKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJzLmdldFJlYWRlci5sZW5n
dGgsIDApOwogICAgIGFzc2VydF9lcXVhbHModHlwZW9mIHJzLnBpcGVUbywgJ2Z1bmN0aW9uJywg
J2hhcyBhIHBpcGVUbyBtZXRob2QnKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJzLnBpcGVUby5sZW5n
dGgsIDIpOwogICAgIGFzc2VydF9lcXVhbHModHlwZW9mIHJzLnBpcGVUaHJvdWdoLCAnZnVuY3Rp
b24nLCAnaGFzIGEgcGlwZVRocm91Z2ggbWV0aG9kJyk7Ci0gICAgYXNzZXJ0X2VxdWFscyhycy5z
dGF0ZSwgJ3dhaXRpbmcnLCAnc3RhdGUgc3RhcnRzIG91dCB3YWl0aW5nJyk7Ci0gICAgYXNzZXJ0
X2V4aXN0cyhycywgJ3JlYWR5JywgJ2hhcyBhIHJlYWR5IHByb3BlcnR5Jyk7Ci0gICAgYXNzZXJ0
X2VxdWFscyh0eXBlb2YgcnMucmVhZHkudGhlbiwgJ2Z1bmN0aW9uJywgJ3JlYWR5IHByb3BlcnR5
IGlzIGEgdGhlbmFibGUnKTsKLSAgICBhc3NlcnRfZXhpc3RzKHJzLCAnY2xvc2VkJywgJ2hhcyBh
IGNsb3NlZCBwcm9wZXJ0eScpOwotICAgIGFzc2VydF9lcXVhbHModHlwZW9mIHJzLmNsb3NlZC50
aGVuLCAnZnVuY3Rpb24nLCAnY2xvc2VkIHByb3BlcnR5IGlzIHRoZW5hYmxlJyk7Ci19LCAnUmVh
ZGFibGVTdHJlYW0gaW5zdGFuY2VzIGhhdmUgdGhlIGNvcnJlY3QgbWV0aG9kcyBhbmQgcHJvcGVy
dGllcycpOworICAgIGFzc2VydF9lcXVhbHMocnMucGlwZVRocm91Z2gubGVuZ3RoLCAyKTsKIAot
dGVzdChmdW5jdGlvbigpIHsKLSAgICBycyA9IG5ldyBSZWFkYWJsZVN0cmVhbSgpOwotICAgIHJl
YWR5UHJvbWlzZSA9IHJzLnJlYWR5OwotICAgIGNsb3NlZFByb21pc2UgPSBycy5jbG9zZWQ7Ci0K
LSAgICBhc3NlcnRfZXF1YWxzKHJlYWR5UHJvbWlzZSwgcnMucmVhZHkpOwotICAgIGFzc2VydF9l
cXVhbHMoY2xvc2VkUHJvbWlzZSwgcnMuY2xvc2VkKTsKLQotICAgIC8vIFdlIGNoZWNrIFJlYWRh
YmxlU3RyZWFtIHByb3BlcnRpZXMgaGVyZSBhcyByZWFkeSBhbmQgY2xvc2VkIHByb21pc2VzIGFy
ZSBwZXJzaXN0ZW50IGFuZCBuZWVkIHRvIGJlIHN0b3JlZCBpbiBzb21lIHdheSB0aGF0IGlzIG5v
dCBvYnNlcnZhYmxlLgotICAgIGFzc2VydF9hcnJheV9lcXVhbHMoT2JqZWN0LmtleXMocnMpLCBb
J2Nsb3NlZCcsICdyZWFkeSddKTsKLSAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKE9iamVjdC5nZXRP
d25Qcm9wZXJ0eU5hbWVzKHJzKSwgWydjbG9zZWQnLCAncmVhZHknXSk7Ci19LCAnUmVhZGFibGVT
dHJlYW0gcmVhZHkgYW5kIGNsb3NlZCBzaG91bGQgYWx3YXlzIHJldHVybiB0aGUgc2FtZSBwcm9t
aXNlIG9iamVjdCcpOworfSwgJ1JlYWRhYmxlU3RyZWFtIGluc3RhbmNlcyBzaG91bGQgaGF2ZSB0
aGUgY29ycmVjdCBsaXN0IG9mIHByb3BlcnRpZXMnKTsKIAogPC9zY3JpcHQ+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>