<?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>142435</bug_id>
          
          <creation_ts>2015-03-07 01:15:42 -0800</creation_ts>
          <short_desc>[Streams API] Closing a ReadableStream should resolve the ready and closed promises</short_desc>
          <delta_ts>2015-05-22 04:48:31 -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>WONTFIX</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>
          <dependson>141160</dependson>
          <blocked>141162</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>benjamin</cc>
    
    <cc>calvaris</cc>
    
    <cc>cgarcia</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1075249</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-03-07 01:15:42 -0800</bug_when>
    <thetext>As per the spec, When close() is called, the stream should be put in closed state.
At the same time, the ready and closed promises should be resolved.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1075251</commentid>
    <comment_count>1</comment_count>
      <attachid>248149</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-03-07 01:22:52 -0800</bug_when>
    <thetext>Created attachment 248149
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1075519</commentid>
    <comment_count>2</comment_count>
      <attachid>248149</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-03-08 21:05:31 -0700</bug_when>
    <thetext>Comment on attachment 248149
Patch

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

Please poke me on IRC when this is up for review.

&gt; Source/WebCore/Modules/streams/ReadableStream.cpp:88
&gt; +    callOnMainThread(std::bind(WTF::move(m_closedSuccessCallback)));

I am quite confused by this callOnMainThread. Are stream multithread?

If you intended to resolve the promise asynchronously, it should be scheduled on the next Microtask, I don&apos;t think callOnMainThread() does that.

Can you explain this?

&gt; Source/WebCore/Modules/streams/ReadableStream.cpp:96
&gt; +    if (m_state == State::Closed)
&gt; +        resolveClosedCallback();

I can&apos;t get used to it :)

&gt; Source/WebCore/Modules/streams/ReadableStream.cpp:114
&gt; +    callOnMainThread(std::bind(WTF::move(m_readyCallback)));

Same question for callOnMainThread()

&gt; Source/WebCore/bindings/js/JSDOMPromise.h:101
&gt; +inline void DeferredWrapper::resolve&lt;JSC::JSValue&gt;(const JSC::JSValue&amp; value)

I would add a resolve() without argument.

&gt; LayoutTests/streams/readablestream-start.html:52
&gt; +test1 = async_test(&apos;ReadableStream close should fulfill ready and closed promises&apos;);

I would like tests for every aspect of the patch, including:
-Open a stream, close it. Add a callback for &quot;closed&quot; after a timer.
-Open a stream. Add ready callback in response to start.
-Open a stream. Add closed callback in response to start.
-Verify that neither callback are called synchronously on close.
-etc.

This is a new feature, we need shitload of tests.
The difference between a great feature and a shitty feature is flawless execution and great performance. Having overkill test coverage will give you the flawless execution.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1075648</commentid>
    <comment_count>3</comment_count>
      <attachid>248254</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-03-09 10:41:26 -0700</bug_when>
    <thetext>Created attachment 248254
Switching to postTask</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1075651</commentid>
    <comment_count>4</comment_count>
      <attachid>248149</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-03-09 10:45:32 -0700</bug_when>
    <thetext>Comment on attachment 248149
Patch

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

&gt;&gt; Source/WebCore/Modules/streams/ReadableStream.cpp:88
&gt;&gt; +    callOnMainThread(std::bind(WTF::move(m_closedSuccessCallback)));
&gt; 
&gt; I am quite confused by this callOnMainThread. Are stream multithread?
&gt; 
&gt; If you intended to resolve the promise asynchronously, it should be scheduled on the next Microtask, I don&apos;t think callOnMainThread() does that.
&gt; 
&gt; Can you explain this?

Right, switching to ScriptExecutionContext::postTask is more appropriate.

&gt;&gt; Source/WebCore/bindings/js/JSDOMPromise.h:101
&gt;&gt; +inline void DeferredWrapper::resolve&lt;JSC::JSValue&gt;(const JSC::JSValue&amp; value)
&gt; 
&gt; I would add a resolve() without argument.

We will add later on a reject(JSValue) which is actually needed as an error may be anything.
This function mirrors that future one.

&gt; LayoutTests/streams/readablestream-start.html:53
&gt; +test1.step(function()

Agreed.
I added some more tests and will continue adding more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1076541</commentid>
    <comment_count>5</comment_count>
      <attachid>248482</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-03-11 20:30:14 -0700</bug_when>
    <thetext>Created attachment 248482
Cleaning things</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096847</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-05-22 04:48:31 -0700</bug_when>
    <thetext>Wontfix as spec changed and no longer has a ready promise.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>248149</attachid>
            <date>2015-03-07 01:22:52 -0800</date>
            <delta_ts>2015-03-11 20:30:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142435-20150307102229.patch</filename>
            <type>text/plain</type>
            <size>9162</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwOTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjQ3ODNiMTFmM2Y2OTQ1
OTIxNTYxMTkyMjkyZGQzNWM5ZWMyMjVmYS4uN2E2NjM2M2E5NjA1NjcyNTA5Mzg1YWQ3M2M4NTBm
NDk1NzQ5MzFkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE1LTAzLTA3ICBYYWJp
ZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+IGFuZCBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+CisKKyAgICAgICAgW1N0cmVhbXMgQVBJ
XSBDbG9zaW5nIGEgUmVhZGFibGVTdHJlYW0gc2hvdWxkIHJlc29sdmUgdGhlIHJlYWR5IGFuZCBj
bG9zZWQgcHJvbWlzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE0MjQzNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFJlYWR5IGFuZCBjbG9zZWQgY2FsbGJhY2tzIGFyZSBzdG9yZWQgaW4gUmVhZGFibGVT
dHJlYW0uCisgICAgICAgIFRoZXNlIGNhbGxiYWNrcyBhcmUgY2FsbGVkIGFzeW5jaHJvbm91c2x5
IHdoZW4gUmVhZGFibGVTdHJlYW0gZ2V0cyBjbG9zZWQuCisgICAgICAgIEFkZGVkIHBvc3NpYmls
aXR5IGZvciBhIHByb21pc2UgdG8gcmVzb2x2ZSB3aXRoIGEgZ2VuZXJpYyB2YWx1ZS4KKyAgICAg
ICAgUmVzb2x2ZWQgcmVhZHkgYW5kIGNsb3NlZCBwcm9taXNlcyB3aXRoIGFuIHVuZGVmaW5lZCBw
YXJhbWV0ZXIsIGFzIHBlciB0aGUgc3BlYy4KKworICAgICAgICBDb3ZlcmVkIGJ5IGFkZGVkIHRl
c3RzIGluIHJlYWRhYmxlc3RyZWFtLXN0YXJ0Lmh0bWwuCisKKyAgICAgICAgKiBNb2R1bGVzL3N0
cmVhbXMvUmVhZGFibGVTdHJlYW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVhZGFibGVTdHJl
YW06OnJlc29sdmVDbG9zZWRDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpSZWFkYWJsZVN0
cmVhbTo6Y2xvc2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlYWRhYmxlU3RyZWFtOjpjaGFuZ2VT
dGF0ZVRvQ2xvc2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlYWRhYmxlU3RyZWFtOjpyZXNvbHZl
UmVhZHlDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpSZWFkYWJsZVN0cmVhbTo6cmVhZHkp
OgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5oOgorICAgICAgICAq
IGJpbmRpbmdzL2pzL0pTRE9NUHJvbWlzZS5oOgorICAgICAgICAoV2ViQ29yZTo6RGVmZXJyZWRX
cmFwcGVyOjpyZXNvbHZlPEpTQzo6SlNWYWx1ZT4pOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pT
UmVhZGFibGVTdHJlYW1DdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNSZWFkYWJsZVN0
cmVhbTo6cmVhZHkpOgorICAgICAgICAoV2ViQ29yZTo6SlNSZWFkYWJsZVN0cmVhbTo6Y2xvc2Vk
KToKKwogMjAxNS0wMy0wMyAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgog
CiAgICAgICAgIFRyeSB0byBmaXggdGhlIGJ1aWxkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5jcHAKaW5kZXggZmNhNmRmZjQ2ZTYxZTNkZDE5
OWUzYmViN2RjYmEyY2RiNTkxNWNhZi4uMjhiZWJiODFmOWMyYTU5NDE5Mzk1MThiNGFiNDljOTY2
ODE3NWRjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRh
YmxlU3RyZWFtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFi
bGVTdHJlYW0uY3BwCkBAIC0zMiw3ICszMiw3IEBACiAKICNpZiBFTkFCTEUoU1RSRUFNU19BUEkp
CiAKLSNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgorI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFk
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWRMZWFrQ291bnRlci5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CkBAIC04MCwyMyArODAsNDYgQEAgU3RyaW5nIFJlYWRhYmxlU3RyZWFtOjpzdGF0
ZSgpIGNvbnN0CiAgICAgcmV0dXJuIFN0cmluZygpOwogfQogCi12b2lkIFJlYWRhYmxlU3RyZWFt
OjpjbG9zZWQoU3VjY2Vzc0NhbGxiYWNrKQordm9pZCBSZWFkYWJsZVN0cmVhbTo6cmVzb2x2ZUNs
b3NlZENhbGxiYWNrKCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOyAgICAKKyAgICBBU1NFUlQo
bV9zdGF0ZSA9PSBTdGF0ZTo6Q2xvc2VkKTsKKyAgICBpZiAoIW1fY2xvc2VkU3VjY2Vzc0NhbGxi
YWNrKQorICAgICAgICByZXR1cm47CisgICAgY2FsbE9uTWFpblRocmVhZChzdGQ6OmJpbmQoV1RG
Ojptb3ZlKG1fY2xvc2VkU3VjY2Vzc0NhbGxiYWNrKSkpOworICAgIEFTU0VSVCghbV9jbG9zZWRT
dWNjZXNzQ2FsbGJhY2spOworfQorCit2b2lkIFJlYWRhYmxlU3RyZWFtOjpjbG9zZWQoU3VjY2Vz
c0NhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaykKK3sKKyAgICBtX2Nsb3NlZFN1Y2Nlc3NDYWxsYmFj
ayA9IFdURjo6bW92ZShzdWNjZXNzQ2FsbGJhY2spOworICAgIGlmIChtX3N0YXRlID09IFN0YXRl
OjpDbG9zZWQpCisgICAgICAgIHJlc29sdmVDbG9zZWRDYWxsYmFjaygpOwogfQogCiB2b2lkIFJl
YWRhYmxlU3RyZWFtOjpjaGFuZ2VTdGF0ZVRvQ2xvc2VkKCkKIHsKICAgICBpZiAobV9zdGF0ZSA9
PSBTdGF0ZTo6V2FpdGluZykgewogICAgICAgICBtX3N0YXRlID0gU3RhdGU6OkNsb3NlZDsKLSAg
ICAgICAgLy8gRklYTUU6IEltcGxlbWVudCByZWFkeSBhbmQgY2xvc2VkIHByb21pc2UgcmVzb2x1
dGlvbi4KKyAgICAgICAgcmVzb2x2ZVJlYWR5Q2FsbGJhY2soKTsKKyAgICAgICAgcmVzb2x2ZUNs
b3NlZENhbGxiYWNrKCk7CiAgICAgfQogICAgIC8vIEZJWE1FOiBIYW5kbGUgU3RhdGU6OlJlYWRh
YmxlIHdoZW4gZW5xdWV1ZSBpcyBzdXBwb3J0ZWQuCiB9CiAKLXZvaWQgUmVhZGFibGVTdHJlYW06
OnJlYWR5KFN1Y2Nlc3NDYWxsYmFjaykKK3ZvaWQgUmVhZGFibGVTdHJlYW06OnJlc29sdmVSZWFk
eUNhbGxiYWNrKCkKK3sKKyAgICBBU1NFUlQobV9zdGF0ZSAhPSBTdGF0ZTo6V2FpdGluZyk7Cisg
ICAgaWYgKCFtX3JlYWR5Q2FsbGJhY2spCisgICAgICAgIHJldHVybjsKKyAgICBjYWxsT25NYWlu
VGhyZWFkKHN0ZDo6YmluZChXVEY6Om1vdmUobV9yZWFkeUNhbGxiYWNrKSkpOworICAgIEFTU0VS
VCghbV9yZWFkeUNhbGxiYWNrKTsKK30KKwordm9pZCBSZWFkYWJsZVN0cmVhbTo6cmVhZHkoU3Vj
Y2Vzc0NhbGxiYWNrIGNhbGxiYWNrKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgbV9y
ZWFkeUNhbGxiYWNrID0gV1RGOjptb3ZlKGNhbGxiYWNrKTsKKyAgICBpZiAobV9zdGF0ZSAhPSBT
dGF0ZTo6V2FpdGluZykKKyAgICAgICAgcmVzb2x2ZVJlYWR5Q2FsbGJhY2soKTsKIH0KIAogdm9p
ZCBSZWFkYWJsZVN0cmVhbTo6c3RhcnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0
cmVhbXMvUmVhZGFibGVTdHJlYW0uaAppbmRleCBkN2NhNWYxZTlmMDRkMWRlODI2YzAyZDllMTQ5
NzQ1ZmU0ZDhlOTdmLi5iNGVmZTBhZjdiMTc1Njk2MTBjMTIxMTFmMDBjNTI1ZDE5NzRjMTcxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uaApA
QCAtNzIsNiArNzIsOCBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgUmVhZGFibGVTdHJlYW0o
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlZjxSZWFkYWJsZVN0cmVhbVNvdXJjZT4mJik7Cisg
ICAgdm9pZCByZXNvbHZlQ2xvc2VkQ2FsbGJhY2soKTsKKyAgICB2b2lkIHJlc29sdmVSZWFkeUNh
bGxiYWNrKCk7CiAKICAgICAvLyBBY3RpdmVET01PYmplY3QgQVBJLgogICAgIGNvbnN0IGNoYXIq
IGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBvdmVycmlkZTsKQEAgLTc5LDYgKzgxLDEwIEBA
IHByaXZhdGU6CiAKICAgICBTdGF0ZSBtX3N0YXRlOwogICAgIFJlZjxSZWFkYWJsZVN0cmVhbVNv
dXJjZT4gbV9zb3VyY2U7CisKKyAgICAvLyBGSVhNRTogQWRkIGNsb3NlZCBlcnJvciBjYWxsYmFj
ay4KKyAgICBTdWNjZXNzQ2FsbGJhY2sgbV9jbG9zZWRTdWNjZXNzQ2FsbGJhY2s7CisgICAgU3Vj
Y2Vzc0NhbGxiYWNrIG1fcmVhZHlDYWxsYmFjazsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NUHJvbWlzZS5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01Qcm9taXNlLmgKaW5kZXggNDJkMDJkOWYyOGU5ZTZhODRhNGU3NWMzYTcz
MThmOTYxNGY5YTAxYy4uZDBmNzVkMjJlMzIxNTg1MzZkM2ZlODQxYmY0OTliYmIxODhhNGM5NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Qcm9taXNlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Qcm9taXNlLmgKQEAgLTk4LDYgKzk4
LDE0IEBAIGlubGluZSB2b2lkIERlZmVycmVkV3JhcHBlcjo6cmVzb2x2ZTxib29sPihjb25zdCBi
b29sJiByZXN1bHQpCiB9CiAKIHRlbXBsYXRlPD4KK2lubGluZSB2b2lkIERlZmVycmVkV3JhcHBl
cjo6cmVzb2x2ZTxKU0M6OkpTVmFsdWU+KGNvbnN0IEpTQzo6SlNWYWx1ZSYgdmFsdWUpCit7Cisg
ICAgSlNDOjpFeGVjU3RhdGUqIGV4ZWMgPSBtX2dsb2JhbE9iamVjdC0+Z2xvYmFsRXhlYygpOwor
ICAgIEpTQzo6SlNMb2NrSG9sZGVyIGxvY2tlcihleGVjKTsKKyAgICByZXNvbHZlKGV4ZWMsIHZh
bHVlKTsKK30KKwordGVtcGxhdGU8PgogaW5saW5lIHZvaWQgRGVmZXJyZWRXcmFwcGVyOjpyZXNv
bHZlPFZlY3Rvcjx1bnNpZ25lZCBjaGFyPj4oY29uc3QgVmVjdG9yPHVuc2lnbmVkIGNoYXI+JiBy
ZXN1bHQpCiB7CiAgICAgSlNDOjpFeGVjU3RhdGUqIGV4ZWMgPSBtX2dsb2JhbE9iamVjdC0+Z2xv
YmFsRXhlYygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNSZWFk
YWJsZVN0cmVhbUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1JlYWRh
YmxlU3RyZWFtQ3VzdG9tLmNwcAppbmRleCAyOTllMzhlODQ2MjEwNDFjZTFiODA3YWFlYzE3Zjc4
ZjFlYTA0MzM3Li4zNjJkOTc3MzIwY2VlZTBkOWU3ZWIyZTdjODc5NGJhOGQxZTk3YTIwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1JlYWRhYmxlU3RyZWFtQ3VzdG9t
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1JlYWRhYmxlU3RyZWFtQ3Vz
dG9tLmNwcApAQCAtNzAsOCArNzAsOCBAQCBKU1ZhbHVlIEpTUmVhZGFibGVTdHJlYW06OnJlYWR5
KEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKIHsKICAgICBKU1Byb21pc2VEZWZlcnJlZCogcHJvbWlz
ZURlZmVycmVkID0gZ2V0T3JDcmVhdGVQcm9taXNlRGVmZXJyZWRGcm9tT2JqZWN0KGV4ZWMsIHRo
aXMsIGdsb2JhbE9iamVjdCgpLCByZWFkeVByb21pc2VTbG90TmFtZSgpKTsKICAgICBEZWZlcnJl
ZFdyYXBwZXIgd3JhcHBlcihleGVjLCBnbG9iYWxPYmplY3QoKSwgcHJvbWlzZURlZmVycmVkKTsK
LSAgICBhdXRvIHN1Y2Nlc3NDYWxsYmFjayA9IFt3cmFwcGVyLCB0aGlzXSgpIG11dGFibGUgewot
ICAgICAgICB3cmFwcGVyLnJlc29sdmUoJmltcGwoKSk7CisgICAgYXV0byBzdWNjZXNzQ2FsbGJh
Y2sgPSBbd3JhcHBlcl0oKSBtdXRhYmxlIHsKKyAgICAgICAgd3JhcHBlci5yZXNvbHZlKGpzVW5k
ZWZpbmVkKCkpOwogICAgIH07CiAgICAgaW1wbCgpLnJlYWR5KFdURjo6bW92ZShzdWNjZXNzQ2Fs
bGJhY2spKTsKIApAQCAtODgsOCArODgsOCBAQCBKU1ZhbHVlIEpTUmVhZGFibGVTdHJlYW06OmNs
b3NlZChFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0CiB7CiAgICAgSlNQcm9taXNlRGVmZXJyZWQqIHBy
b21pc2VEZWZlcnJlZCA9IGdldE9yQ3JlYXRlUHJvbWlzZURlZmVycmVkRnJvbU9iamVjdChleGVj
LCB0aGlzLCBnbG9iYWxPYmplY3QoKSwgY2xvc2VkUHJvbWlzZVNsb3ROYW1lKCkpOwogICAgIERl
ZmVycmVkV3JhcHBlciB3cmFwcGVyKGV4ZWMsIGdsb2JhbE9iamVjdCgpLCBwcm9taXNlRGVmZXJy
ZWQpOwotICAgIGF1dG8gc3VjY2Vzc0NhbGxiYWNrID0gW3dyYXBwZXIsIHRoaXNdKCkgbXV0YWJs
ZSB7Ci0gICAgICAgIHdyYXBwZXIucmVzb2x2ZSgmaW1wbCgpKTsKKyAgICBhdXRvIHN1Y2Nlc3ND
YWxsYmFjayA9IFt3cmFwcGVyXSgpIG11dGFibGUgeworICAgICAgICB3cmFwcGVyLnJlc29sdmUo
anNVbmRlZmluZWQoKSk7CiAgICAgfTsKICAgICBpbXBsKCkuY2xvc2VkKFdURjo6bW92ZShzdWNj
ZXNzQ2FsbGJhY2spKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDg3ZDNkNGQxMGU0NjVmODMxZTc5NTc1MzVkYTQ2MTYx
Y2Y1Y2JjM2QuLmY4ZTNhYWFjMzZiODdiYTA1MDFmMzIwMDYwY2NkNzA4NGI1MjdmYTQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNSBAQAorMjAxNS0wMy0wNyAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2YXIgIDxj
YWx2YXJpc0BpZ2FsaWEuY29tPiBhbmQgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3Jm
LmNhbm9uLmZyPgorCisgICAgICAgIFtTdHJlYW1zIEFQSV0gQ2xvc2luZyBhIFJlYWRhYmxlU3Ry
ZWFtIHNob3VsZCByZXNvbHZlIHRoZSByZWFkeSBhbmQgY2xvc2VkIHByb21pc2VzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI0MzUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRpbmcgYSB0ZXN0IHRo
YXQgZW5zdXJlcyByZWFkeSBhbmQgY2xvc2VkIHByb21pc2UgYXJlIHJlc29sdmVkIHdoZW4gc3Ry
ZWFtIGlzIGNsb3NlZC4KKworICAgICAgICAqIHN0cmVhbXMvcmVhZGFibGVzdHJlYW0tc3RhcnQt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0cmVhbXMvcmVhZGFibGVzdHJlYW0tc3RhcnQuaHRt
bDoKKwogMjAxNS0wMy0wMyAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgVGVzdCBsZWdhY3kgZXZlbnQgaGFuZGxlciBhdHRyaWJ1dGVzIChvbmVzIHdpdGggbmFtZXMg
bGlrZSAib25jbGljayIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxl
c3RyZWFtLXN0YXJ0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVhZGFibGVz
dHJlYW0tc3RhcnQtZXhwZWN0ZWQudHh0CmluZGV4IDZkMWFjYzNkZjhkOGM3MjhlNjE1OWRlZGY0
ZmE1ZmI4MTQ1NWEyODguLmUxZjBiODM3ZDE5OGY0M2E1YTg5ZmJhOTlhZmQ2M2JkY2FkYWExZWYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0cmVhbXMvcmVhZGFibGVzdHJlYW0tc3RhcnQtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVhZGFibGVzdHJlYW0tc3RhcnQt
ZXhwZWN0ZWQudHh0CkBAIC0zLDQgKzMsNSBAQCBQQVNTIFJlYWRhYmxlU3RyZWFtIHN0YXJ0IHNo
b3VsZCBiZSBjYWxsZWQKIFBBU1MgUmVhZGFibGVTdHJlYW0gc3RhcnQgc2hvdWxkIGJlIGFibGUg
dG8gdGhyb3cgCiBQQVNTIFJlYWRhYmxlU3RyZWFtIGNvbnN0cnVjdG9yIHNob3VsZCBnZXQgYSBm
dW5jdGlvbiBhcyBzdGFydCBhcmd1bWVudCAKIFBBU1MgUmVhZGFibGVTdHJlYW0gc3RhcnQgc2hv
dWxkIGJlIGFibGUgdG8gY2xvc2UgdGhlIHN0cmVhbSAKK1BBU1MgUmVhZGFibGVTdHJlYW0gY2xv
c2Ugc2hvdWxkIGZ1bGZpbGwgcmVhZHkgYW5kIGNsb3NlZCBwcm9taXNlcyAKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWFkYWJsZXN0cmVhbS1zdGFydC5odG1sIGIvTGF5b3V0
VGVzdHMvc3RyZWFtcy9yZWFkYWJsZXN0cmVhbS1zdGFydC5odG1sCmluZGV4IGI5NzlkMmU2NTdl
NDVhYTJjYmJlNzAwZTI4MzNhMjE0Y2U0Yjc4ZjAuLjQ3MGNhZDAxNTI5NTUxY2E2YmY4MTM5NTUz
MTFkZTczNDFhMmUyMDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0cmVhbXMvcmVhZGFibGVz
dHJlYW0tc3RhcnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxlc3RyZWFt
LXN0YXJ0Lmh0bWwKQEAgLTQ5LDQgKzQ5LDI5IEBAIHRlc3QoZnVuY3Rpb24oKQogICAgIGFzc2Vy
dF9lcXVhbHMocnMuc3RhdGUsICdjbG9zZWQnKTsKIH0sICdSZWFkYWJsZVN0cmVhbSBzdGFydCBz
aG91bGQgYmUgYWJsZSB0byBjbG9zZSB0aGUgc3RyZWFtJyk7CiAKK3Rlc3QxID0gYXN5bmNfdGVz
dCgnUmVhZGFibGVTdHJlYW0gY2xvc2Ugc2hvdWxkIGZ1bGZpbGwgcmVhZHkgYW5kIGNsb3NlZCBw
cm9taXNlcycpOwordGVzdDEuc3RlcChmdW5jdGlvbigpCit7CisgICAgdmFyIHJzID0gbmV3IFJl
YWRhYmxlU3RyZWFtKAorICAgIHsgc3RhcnQ6CisgICAgICAgIGZ1bmN0aW9uKGVucXVldWUsIGNs
b3NlLCBlcnJvcikgeworICAgICAgICAgICAgY2xvc2UoKTsKKyAgICAgICAgfQorICAgIH0pOwor
CisgICAgdmFyIHJlYWR5RG9uZSA9IGZhbHNlOworICAgIHJzLnJlYWR5LnRoZW4odGVzdDEuc3Rl
cF9mdW5jKGZ1bmN0aW9uKHYpIHsKKyAgICAgICAgcmVhZHlEb25lID0gdHJ1ZTsKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyh0eXBlb2YgdiwgJ3VuZGVmaW5lZCcpOworICAgICAgICBhc3NlcnRfZXF1
YWxzKHJzLnN0YXRlLCAnY2xvc2VkJyk7CisgICAgfSkpOworCisgICAgcnMuY2xvc2VkLnRoZW4o
dGVzdDEuc3RlcF9mdW5jKGZ1bmN0aW9uKHYpIHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhyZWFk
eURvbmUsIHRydWUpOworICAgICAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiB2LCAndW5kZWZpbmVk
Jyk7CisgICAgICAgIGFzc2VydF9lcXVhbHMocnMuc3RhdGUsICdjbG9zZWQnKTsKKyAgICAgICAg
dGVzdDEuZG9uZSgpOworICAgIH0pKTsKK30pOworCiA8L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>248254</attachid>
            <date>2015-03-09 10:41:26 -0700</date>
            <delta_ts>2015-03-11 20:30:10 -0700</delta_ts>
            <desc>Switching to postTask</desc>
            <filename>bug-142435-20150309184102.patch</filename>
            <type>text/plain</type>
            <size>12420</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgxMjY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjc1MzA0YTc3YTVhODA4
MTA2Yzg2ZmE5NDU1OGQ3YmFlNjQ5MDE0YS4uNWUzODJjODAxNWE1ZWIzODc4OTk1N2ZhYzQ0MWNj
NjgxOGVjNzQ0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE1LTAzLTA5ICBYYWJp
ZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+IGFuZCBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+CisKKyAgICAgICAgW1N0cmVhbXMgQVBJ
XSBDbG9zaW5nIGEgUmVhZGFibGVTdHJlYW0gc2hvdWxkIHJlc29sdmUgdGhlIHJlYWR5IGFuZCBj
bG9zZWQgcHJvbWlzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE0MjQzNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFJlYWR5IGFuZCBjbG9zZWQgY2FsbGJhY2tzIGFyZSBzdG9yZWQgaW4gUmVhZGFibGVT
dHJlYW0gd2hlbiByZWFkeSgpIGFuZCBjbG9zZWQoKSBhcmUgY2FsbGVkIGZyb20gSlMuCisgICAg
ICAgIFRoZXNlIGNhbGxiYWNrcyBhcmUgY2FsbGVkIGFzeW5jaHJvbm91c2x5IHdoZW4gUmVhZGFi
bGVTdHJlYW0gZ2V0cyBjbG9zZWQuCisgICAgICAgIEFkZGVkIHBvc3NpYmlsaXR5IGZvciBhIHBy
b21pc2UgdG8gcmVzb2x2ZSB3aXRoIGEgZ2VuZXJpYyB2YWx1ZS4KKyAgICAgICAgUmVzb2x2ZWQg
cmVhZHkgYW5kIGNsb3NlZCBwcm9taXNlcyB3aXRoIGFuIHVuZGVmaW5lZCBwYXJhbWV0ZXIsIGFz
IHBlciB0aGUgc3BlYy4KKworICAgICAgICBDb3ZlcmVkIGJ5IG5ldyB0ZXN0cyBpbiByZWFkYWJs
ZXN0cmVhbS1zdGFydC5odG1sLgorCisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxl
U3RyZWFtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlYWRhYmxlU3RyZWFtOjpyZXNvbHZlQ2xv
c2VkQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6UmVhZGFibGVTdHJlYW06OmNsb3NlZCk6
CisgICAgICAgIChXZWJDb3JlOjpSZWFkYWJsZVN0cmVhbTo6Y2hhbmdlU3RhdGVUb0Nsb3NlZCk6
CisgICAgICAgIChXZWJDb3JlOjpSZWFkYWJsZVN0cmVhbTo6cmVzb2x2ZVJlYWR5Q2FsbGJhY2sp
OgorICAgICAgICAoV2ViQ29yZTo6UmVhZGFibGVTdHJlYW06OnJlYWR5KToKKyAgICAgICAgKFdl
YkNvcmU6OlJlYWRhYmxlU3RyZWFtOjpjYW5TdXNwZW5kKTogRGVsZXRlZC4KKyAgICAgICAgKiBN
b2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9K
U0RPTVByb21pc2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRlZmVycmVkV3JhcHBlcjo6cmVzb2x2
ZTxKU0M6OkpTVmFsdWU+KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1JlYWRhYmxlU3RyZWFt
Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTUmVhZGFibGVTdHJlYW06OnJlYWR5KToK
KyAgICAgICAgKFdlYkNvcmU6OkpTUmVhZGFibGVTdHJlYW06OmNsb3NlZCk6CisKIDIwMTUtMDMt
MDkgIFhhYmllciBSb2RyaWd1ZXogQ2FsdmFyIDxjYWx2YXJpc0BpZ2FsaWEuY29tPiBhbmQgWW91
ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3JmLmNhbm9uLmZyPgogCiAgICAgICAgIFJlYWRh
YmxlU3RyZWFtSlNTb3VyY2Ugc2hvdWxkIHVzZSBKU0M6OlN0cm9uZyBVbnNwZWNpZmllZEJvb2xU
eXBlIG9wZXJhdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMv
UmVhZGFibGVTdHJlYW0uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRh
YmxlU3RyZWFtLmNwcAppbmRleCBmY2E2ZGZmNDZlNjFlM2RkMTk5ZTNiZWI3ZGNiYTJjZGI1OTE1
Y2FmLi4xZTQ3YTNjMzYwZjRkNGJmNjk2YmQ1OWVkM2RkNDM5NTU3YTIxZjAxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5jcHAKQEAgLTMy
LDcgKzMyLDggQEAKIAogI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKIAotI2luY2x1ZGUgIk5vdElt
cGxlbWVudGVkLmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgorI2luY2x1
ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWRMZWFrQ291bnRl
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC04MCwyMyArODEsNTEgQEAgU3RyaW5nIFJl
YWRhYmxlU3RyZWFtOjpzdGF0ZSgpIGNvbnN0CiAgICAgcmV0dXJuIFN0cmluZygpOwogfQogCi12
b2lkIFJlYWRhYmxlU3RyZWFtOjpjbG9zZWQoU3VjY2Vzc0NhbGxiYWNrKQordm9pZCBSZWFkYWJs
ZVN0cmVhbTo6cmVzb2x2ZUNsb3NlZENhbGxiYWNrKCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgp
OyAgICAKKyAgICBBU1NFUlQobV9zdGF0ZSA9PSBTdGF0ZTo6Q2xvc2VkKTsKKyAgICBpZiAoIW1f
Y2xvc2VkU3VjY2Vzc0NhbGxiYWNrKQorICAgICAgICByZXR1cm47CisKKyAgICBTdWNjZXNzQ2Fs
bGJhY2sgY2xvc2VkU3VjY2Vzc0NhbGxiYWNrID0gV1RGOjptb3ZlKG1fY2xvc2VkU3VjY2Vzc0Nh
bGxiYWNrKTsKKyAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnBvc3RUYXNrKFtjbG9zZWRT
dWNjZXNzQ2FsbGJhY2tdKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKSB7CisgICAgICAgIGNsb3Nl
ZFN1Y2Nlc3NDYWxsYmFjaygpOworICAgIH0pOworfQorCit2b2lkIFJlYWRhYmxlU3RyZWFtOjpj
bG9zZWQoU3VjY2Vzc0NhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaykKK3sKKyAgICBtX2Nsb3NlZFN1
Y2Nlc3NDYWxsYmFjayA9IFdURjo6bW92ZShzdWNjZXNzQ2FsbGJhY2spOworICAgIGlmIChtX3N0
YXRlID09IFN0YXRlOjpDbG9zZWQpCisgICAgICAgIHJlc29sdmVDbG9zZWRDYWxsYmFjaygpOwog
fQogCiB2b2lkIFJlYWRhYmxlU3RyZWFtOjpjaGFuZ2VTdGF0ZVRvQ2xvc2VkKCkKIHsKICAgICBp
ZiAobV9zdGF0ZSA9PSBTdGF0ZTo6V2FpdGluZykgewogICAgICAgICBtX3N0YXRlID0gU3RhdGU6
OkNsb3NlZDsKLSAgICAgICAgLy8gRklYTUU6IEltcGxlbWVudCByZWFkeSBhbmQgY2xvc2VkIHBy
b21pc2UgcmVzb2x1dGlvbi4KKyAgICAgICAgcmVzb2x2ZVJlYWR5Q2FsbGJhY2soKTsKKyAgICAg
ICAgcmVzb2x2ZUNsb3NlZENhbGxiYWNrKCk7CiAgICAgfQogICAgIC8vIEZJWE1FOiBIYW5kbGUg
U3RhdGU6OlJlYWRhYmxlIHdoZW4gZW5xdWV1ZSBpcyBzdXBwb3J0ZWQuCiB9CiAKLXZvaWQgUmVh
ZGFibGVTdHJlYW06OnJlYWR5KFN1Y2Nlc3NDYWxsYmFjaykKK3ZvaWQgUmVhZGFibGVTdHJlYW06
OnJlc29sdmVSZWFkeUNhbGxiYWNrKCkKK3sKKyAgICBBU1NFUlQobV9zdGF0ZSAhPSBTdGF0ZTo6
V2FpdGluZyk7CisgICAgaWYgKCFtX3JlYWR5Q2FsbGJhY2spCisgICAgICAgIHJldHVybjsKKyAg
ICBTdWNjZXNzQ2FsbGJhY2sgcmVhZHlDYWxsYmFjayA9IFdURjo6bW92ZShtX3JlYWR5Q2FsbGJh
Y2spOworICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+cG9zdFRhc2soW3JlYWR5Q2FsbGJh
Y2tdKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKSB7CisgICAgICAgIHJlYWR5Q2FsbGJhY2soKTsK
KyAgICB9KTsKK30KKwordm9pZCBSZWFkYWJsZVN0cmVhbTo6cmVhZHkoU3VjY2Vzc0NhbGxiYWNr
IGNhbGxiYWNrKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgbV9yZWFkeUNhbGxiYWNr
ID0gV1RGOjptb3ZlKGNhbGxiYWNrKTsKKyAgICBpZiAobV9zdGF0ZSAhPSBTdGF0ZTo6V2FpdGlu
ZykKKyAgICAgICAgcmVzb2x2ZVJlYWR5Q2FsbGJhY2soKTsKIH0KIAogdm9pZCBSZWFkYWJsZVN0
cmVhbTo6c3RhcnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1z
L1JlYWRhYmxlU3RyZWFtLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFi
bGVTdHJlYW0uaAppbmRleCBkN2NhNWYxZTlmMDRkMWRlODI2YzAyZDllMTQ5NzQ1ZmU0ZDhlOTdm
Li5iNGVmZTBhZjdiMTc1Njk2MTBjMTIxMTFmMDBjNTI1ZDE5NzRjMTcxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uaApAQCAtNzIsNiArNzIs
OCBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgUmVhZGFibGVTdHJlYW0oU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYsIFJlZjxSZWFkYWJsZVN0cmVhbVNvdXJjZT4mJik7CisgICAgdm9pZCByZXNv
bHZlQ2xvc2VkQ2FsbGJhY2soKTsKKyAgICB2b2lkIHJlc29sdmVSZWFkeUNhbGxiYWNrKCk7CiAK
ICAgICAvLyBBY3RpdmVET01PYmplY3QgQVBJLgogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9i
amVjdE5hbWUoKSBjb25zdCBvdmVycmlkZTsKQEAgLTc5LDYgKzgxLDEwIEBAIHByaXZhdGU6CiAK
ICAgICBTdGF0ZSBtX3N0YXRlOwogICAgIFJlZjxSZWFkYWJsZVN0cmVhbVNvdXJjZT4gbV9zb3Vy
Y2U7CisKKyAgICAvLyBGSVhNRTogQWRkIGNsb3NlZCBlcnJvciBjYWxsYmFjay4KKyAgICBTdWNj
ZXNzQ2FsbGJhY2sgbV9jbG9zZWRTdWNjZXNzQ2FsbGJhY2s7CisgICAgU3VjY2Vzc0NhbGxiYWNr
IG1fcmVhZHlDYWxsYmFjazsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NUHJvbWlzZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01Qcm9taXNlLmgKaW5kZXggNDJkMDJkOWYyOGU5ZTZhODRhNGU3NWMzYTczMThmOTYxNGY5YTAx
Yy4uZDBmNzVkMjJlMzIxNTg1MzZkM2ZlODQxYmY0OTliYmIxODhhNGM5NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Qcm9taXNlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01Qcm9taXNlLmgKQEAgLTk4LDYgKzk4LDE0IEBAIGlubGlu
ZSB2b2lkIERlZmVycmVkV3JhcHBlcjo6cmVzb2x2ZTxib29sPihjb25zdCBib29sJiByZXN1bHQp
CiB9CiAKIHRlbXBsYXRlPD4KK2lubGluZSB2b2lkIERlZmVycmVkV3JhcHBlcjo6cmVzb2x2ZTxK
U0M6OkpTVmFsdWU+KGNvbnN0IEpTQzo6SlNWYWx1ZSYgdmFsdWUpCit7CisgICAgSlNDOjpFeGVj
U3RhdGUqIGV4ZWMgPSBtX2dsb2JhbE9iamVjdC0+Z2xvYmFsRXhlYygpOworICAgIEpTQzo6SlNM
b2NrSG9sZGVyIGxvY2tlcihleGVjKTsKKyAgICByZXNvbHZlKGV4ZWMsIHZhbHVlKTsKK30KKwor
dGVtcGxhdGU8PgogaW5saW5lIHZvaWQgRGVmZXJyZWRXcmFwcGVyOjpyZXNvbHZlPFZlY3Rvcjx1
bnNpZ25lZCBjaGFyPj4oY29uc3QgVmVjdG9yPHVuc2lnbmVkIGNoYXI+JiByZXN1bHQpCiB7CiAg
ICAgSlNDOjpFeGVjU3RhdGUqIGV4ZWMgPSBtX2dsb2JhbE9iamVjdC0+Z2xvYmFsRXhlYygpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNSZWFkYWJsZVN0cmVhbUN1
c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1JlYWRhYmxlU3RyZWFtQ3Vz
dG9tLmNwcAppbmRleCAyOTllMzhlODQ2MjEwNDFjZTFiODA3YWFlYzE3Zjc4ZjFlYTA0MzM3Li4z
NjJkOTc3MzIwY2VlZTBkOWU3ZWIyZTdjODc5NGJhOGQxZTk3YTIwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1JlYWRhYmxlU3RyZWFtQ3VzdG9tLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1JlYWRhYmxlU3RyZWFtQ3VzdG9tLmNwcApAQCAt
NzAsOCArNzAsOCBAQCBKU1ZhbHVlIEpTUmVhZGFibGVTdHJlYW06OnJlYWR5KEV4ZWNTdGF0ZSog
ZXhlYykgY29uc3QKIHsKICAgICBKU1Byb21pc2VEZWZlcnJlZCogcHJvbWlzZURlZmVycmVkID0g
Z2V0T3JDcmVhdGVQcm9taXNlRGVmZXJyZWRGcm9tT2JqZWN0KGV4ZWMsIHRoaXMsIGdsb2JhbE9i
amVjdCgpLCByZWFkeVByb21pc2VTbG90TmFtZSgpKTsKICAgICBEZWZlcnJlZFdyYXBwZXIgd3Jh
cHBlcihleGVjLCBnbG9iYWxPYmplY3QoKSwgcHJvbWlzZURlZmVycmVkKTsKLSAgICBhdXRvIHN1
Y2Nlc3NDYWxsYmFjayA9IFt3cmFwcGVyLCB0aGlzXSgpIG11dGFibGUgewotICAgICAgICB3cmFw
cGVyLnJlc29sdmUoJmltcGwoKSk7CisgICAgYXV0byBzdWNjZXNzQ2FsbGJhY2sgPSBbd3JhcHBl
cl0oKSBtdXRhYmxlIHsKKyAgICAgICAgd3JhcHBlci5yZXNvbHZlKGpzVW5kZWZpbmVkKCkpOwog
ICAgIH07CiAgICAgaW1wbCgpLnJlYWR5KFdURjo6bW92ZShzdWNjZXNzQ2FsbGJhY2spKTsKIApA
QCAtODgsOCArODgsOCBAQCBKU1ZhbHVlIEpTUmVhZGFibGVTdHJlYW06OmNsb3NlZChFeGVjU3Rh
dGUqIGV4ZWMpIGNvbnN0CiB7CiAgICAgSlNQcm9taXNlRGVmZXJyZWQqIHByb21pc2VEZWZlcnJl
ZCA9IGdldE9yQ3JlYXRlUHJvbWlzZURlZmVycmVkRnJvbU9iamVjdChleGVjLCB0aGlzLCBnbG9i
YWxPYmplY3QoKSwgY2xvc2VkUHJvbWlzZVNsb3ROYW1lKCkpOwogICAgIERlZmVycmVkV3JhcHBl
ciB3cmFwcGVyKGV4ZWMsIGdsb2JhbE9iamVjdCgpLCBwcm9taXNlRGVmZXJyZWQpOwotICAgIGF1
dG8gc3VjY2Vzc0NhbGxiYWNrID0gW3dyYXBwZXIsIHRoaXNdKCkgbXV0YWJsZSB7Ci0gICAgICAg
IHdyYXBwZXIucmVzb2x2ZSgmaW1wbCgpKTsKKyAgICBhdXRvIHN1Y2Nlc3NDYWxsYmFjayA9IFt3
cmFwcGVyXSgpIG11dGFibGUgeworICAgICAgICB3cmFwcGVyLnJlc29sdmUoanNVbmRlZmluZWQo
KSk7CiAgICAgfTsKICAgICBpbXBsKCkuY2xvc2VkKFdURjo6bW92ZShzdWNjZXNzQ2FsbGJhY2sp
KTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IGQ2ODYyOTk4MjQxZDI3NzUzNjEzYjJmOThlYTFjZDkzNDFmOWYzMTIuLmQ1
NDExNTFjMDliZTQ1ODlkM2VkMTUzNTg1NzE4MzVkZGUyZWVlNTAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
MyBAQAorMjAxNS0wMy0wOSAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2YXIgIDxjYWx2YXJpc0BpZ2Fs
aWEuY29tPiBhbmQgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3JmLmNhbm9uLmZyPgor
CisgICAgICAgIFtTdHJlYW1zIEFQSV0gQ2xvc2luZyBhIFJlYWRhYmxlU3RyZWFtIHNob3VsZCBy
ZXNvbHZlIHRoZSByZWFkeSBhbmQgY2xvc2VkIHByb21pc2VzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI0MzUKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHN0cmVhbXMvcmVhZGFibGVzdHJlYW0tc3Rh
cnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0cmVhbXMvcmVhZGFibGVzdHJlYW0tc3RhcnQu
aHRtbDoKKwogMjAxNS0wMy0wOSAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcu
Y29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgRUZMIGdhcmRlbmluZyBvbiA5dGggTWFyLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWFkYWJsZXN0cmVhbS1zdGFydC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxlc3RyZWFtLXN0YXJ0LWV4cGVjdGVk
LnR4dAppbmRleCBmNzRkYmVhYjYwMTJiYTk2NTVmYzhlMjQ3NDAxZjRmY2YyMWU5NGUyLi5jZmNi
OWI3MmU0MTE4NTYwZTM5ZGFmMjBmY2YyMjdmMzUwMjAzN2FiIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdHJlYW1zL3JlYWRhYmxlc3RyZWFtLXN0YXJ0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxlc3RyZWFtLXN0YXJ0LWV4cGVjdGVkLnR4dApAQCAtNSw0
ICs1LDkgQEAgUEFTUyBSZWFkYWJsZVN0cmVhbSBjb25zdHJ1Y3RvciBzaG91bGQgZ2V0IGEgZnVu
Y3Rpb24gYXMgc3RhcnQgYXJndW1lbnQKIFBBU1MgUmVhZGFibGVTdHJlYW0gc3RhcnQgc2hvdWxk
IGJlIGFibGUgdG8gY2xvc2UgdGhlIHN0cmVhbSAKIFBBU1MgQ2FsbGluZyBSZWFkYWJsZVN0cmVh
bSBjbG9zZSBmdW5jdGlvbiBzaG91bGQgdHJhbnNpdGlvbiBzeW5jaHJvbm91c2x5IHRvIGNsb3Nl
ZCBzdGF0ZSAKIFBBU1MgQ2FsbGluZyBSZWFkYWJsZVN0cmVhbSBjbG9zZSBmdW5jdGlvbiBzZXZl
cmFsIHRpbWVzIHNob3VsZCBoYXZlIG5vIGVmZmVjdCAKK1BBU1MgUmVhZGFibGVTdHJlYW0gY2xv
c2Ugc2hvdWxkIGZ1bGZpbGwgcmVhZHkgcHJvbWlzZSBhbmQgdGhlbiBjbG9zZWQgcHJvbWlzZSAK
K1BBU1MgUmVhZGFibGVTdHJlYW0gY2xvc2Ugc2hvdWxkIGZ1bGZpbGwgcmVhZHkgYXN5bmNocm9u
b3VzbHkgCitQQVNTIFJlYWRhYmxlU3RyZWFtIGNsb3NlIHNob3VsZCBmdWxmaWxsIGNsb3NlZCBw
cm9taXNlIGFzeW5jaHJvbm91c2x5IAorUEFTUyBBIGNsb3NlZCBSZWFkYWJsZVN0cmVhbSBzaG91
bGQgZnVsZmlsbCBpbW1lZGlhdGx5IHJlYWR5IGFuZCBjbG9zZWQgcHJvbWlzZXMgCitQQVNTIENh
bGxpbmcgUmVhZGFibGVTdHJlYW0gY2xvc2Ugc2V2ZXJhbCB0aW1lcyBzaG91bGQgbm90IHJlc29s
dmUgc2V2ZXJhbCB0aW1lcyBjbG9zZWQgb3IgcmVhZHkgcHJvbWlzZXMgCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0cmVhbXMvcmVhZGFibGVzdHJlYW0tc3RhcnQuaHRtbCBiL0xheW91dFRl
c3RzL3N0cmVhbXMvcmVhZGFibGVzdHJlYW0tc3RhcnQuaHRtbAppbmRleCBkNzVjNDNhM2ZhMDQ3
ODNhNDIwOGZjNDYyZjRkZThhYjQyZDI4NTc4Li5iMzRjOTJjOTkwOTZiOWZlODUzYTVmYmZkYzk4
MjUwMzM1ZWM1Y2ZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxlc3Ry
ZWFtLXN0YXJ0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWFkYWJsZXN0cmVhbS1z
dGFydC5odG1sCkBAIC03OSw1ICs3OSwxMjggQEAgdGVzdChmdW5jdGlvbigpCiAgICAgYXNzZXJ0
X2VxdWFscyhycy5zdGF0ZSwgJ2Nsb3NlZCcpOwogfSwgJ0NhbGxpbmcgUmVhZGFibGVTdHJlYW0g
Y2xvc2UgZnVuY3Rpb24gc2V2ZXJhbCB0aW1lcyBzaG91bGQgaGF2ZSBubyBlZmZlY3QnKTsKIAor
dGVzdDEgPSBhc3luY190ZXN0KCdSZWFkYWJsZVN0cmVhbSBjbG9zZSBzaG91bGQgZnVsZmlsbCBy
ZWFkeSBwcm9taXNlIGFuZCB0aGVuIGNsb3NlZCBwcm9taXNlJyk7Cit0ZXN0MS5zdGVwKGZ1bmN0
aW9uKCkKK3sKKyAgICB2YXIgcnMgPSBuZXcgUmVhZGFibGVTdHJlYW0oCisgICAgeyBzdGFydDoK
KyAgICAgICAgZnVuY3Rpb24oZW5xdWV1ZSwgY2xvc2UsIGVycm9yKSB7CisgICAgICAgICAgICBz
ZXRUaW1lb3V0KGNsb3NlLDApOworICAgICAgICB9CisgICAgfSk7CisgICAgYXNzZXJ0X2VxdWFs
cyhycy5zdGF0ZSwgJ3dhaXRpbmcnKTsKKworICAgIHZhciByZWFkeURvbmUgPSBmYWxzZTsKKyAg
ICBycy5yZWFkeS50aGVuKHRlc3QxLnN0ZXBfZnVuYyhmdW5jdGlvbih2KSB7CisgICAgICAgIHJl
YWR5RG9uZSA9IHRydWU7CisgICAgICAgIGFzc2VydF9lcXVhbHModHlwZW9mIHYsICd1bmRlZmlu
ZWQnKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhycy5zdGF0ZSwgJ2Nsb3NlZCcpOworICAgIH0p
KTsKKworICAgIHJzLmNsb3NlZC50aGVuKHRlc3QxLnN0ZXBfZnVuYyhmdW5jdGlvbih2KSB7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMocmVhZHlEb25lLCB0cnVlKTsKKyAgICAgICAgYXNzZXJ0X2Vx
dWFscyh0eXBlb2YgdiwgJ3VuZGVmaW5lZCcpOworICAgICAgICBhc3NlcnRfZXF1YWxzKHJzLnN0
YXRlLCAnY2xvc2VkJyk7CisgICAgICAgIHRlc3QxLmRvbmUoKTsKKyAgICB9KSk7Cit9KTsKKwor
dGVzdDIgPSBhc3luY190ZXN0KCdSZWFkYWJsZVN0cmVhbSBjbG9zZSBzaG91bGQgZnVsZmlsbCBy
ZWFkeSBhc3luY2hyb25vdXNseScpOwordGVzdDIuc3RlcChmdW5jdGlvbigpCit7CisgICAgdmFy
IGNsb3NlRnVuY3Rpb247CisgICAgdmFyIHJzID0gbmV3IFJlYWRhYmxlU3RyZWFtKAorICAgIHsg
c3RhcnQ6CisgICAgICAgIGZ1bmN0aW9uKGVucXVldWUsIGNsb3NlLCBlcnJvcikgeworICAgICAg
ICAgICAgY2xvc2VGdW5jdGlvbiA9IGNsb3NlOworICAgICAgICB9CisgICAgfSk7CisKKyAgICB2
YXIgcmVhZHlEb25lQXNzZXJ0ZWQgPSBmYWxzZTsKKyAgICB2YXIgcmVhZHlEb25lID0gZmFsc2U7
CisgICAgY2xvc2VGdW5jdGlvbigpOworICAgIGFzc2VydF9lcXVhbHMocnMuc3RhdGUsICdjbG9z
ZWQnKTsKKyAgICBycy5yZWFkeS50aGVuKHRlc3QyLnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKKyAg
ICAgICAgcmVhZHlEb25lID0gdHJ1ZTsKKyAgICAgICAgYXNzZXJ0X3RydWUocmVhZHlEb25lQXNz
ZXJ0ZWQpOworICAgICAgICB0ZXN0Mi5kb25lKCk7CisgICAgfSkpOworICAgIHJlYWR5RG9uZUFz
c2VydGVkID0gdHJ1ZTsKKyAgICBhc3NlcnRfZmFsc2UocmVhZHlEb25lKTsKK30pOworCit0ZXN0
MyA9IGFzeW5jX3Rlc3QoJ1JlYWRhYmxlU3RyZWFtIGNsb3NlIHNob3VsZCBmdWxmaWxsIGNsb3Nl
ZCBwcm9taXNlIGFzeW5jaHJvbm91c2x5Jyk7Cit0ZXN0My5zdGVwKGZ1bmN0aW9uKCkKK3sKKyAg
ICB2YXIgY2xvc2VGdW5jdGlvbjsKKyAgICB2YXIgcnMgPSBuZXcgUmVhZGFibGVTdHJlYW0oCisg
ICAgeyBzdGFydDoKKyAgICAgICAgZnVuY3Rpb24oZW5xdWV1ZSwgY2xvc2UsIGVycm9yKSB7Cisg
ICAgICAgICAgICBjbG9zZUZ1bmN0aW9uID0gY2xvc2U7CisgICAgICAgIH0KKyAgICB9KTsKKwor
ICAgIHZhciBjbG9zZWREb25lID0gZmFsc2U7CisgICAgY2xvc2VGdW5jdGlvbigpOworICAgIGFz
c2VydF9lcXVhbHMocnMuc3RhdGUsICdjbG9zZWQnKTsKKyAgICBycy5jbG9zZWQudGhlbih0ZXN0
My5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7CisgICAgICAgIGNsb3NlZERvbmUgPSB0cnVlOworICAg
ICAgICBhc3NlcnRfdHJ1ZShjbG9zZWREb25lQXNzZXJ0ZWQpOworICAgICAgICB0ZXN0My5kb25l
KCk7CisgICAgfSkpOworICAgIGNsb3NlZERvbmVBc3NlcnRlZCA9IHRydWU7CisgICAgYXNzZXJ0
X2ZhbHNlKGNsb3NlZERvbmUpOworfSk7CisKK3Rlc3Q0ID0gYXN5bmNfdGVzdCgnQSBjbG9zZWQg
UmVhZGFibGVTdHJlYW0gc2hvdWxkIGZ1bGZpbGwgaW1tZWRpYXRseSByZWFkeSBhbmQgY2xvc2Vk
IHByb21pc2VzJyk7Cit0ZXN0NC5zdGVwKGZ1bmN0aW9uKCkKK3sKKyAgICB2YXIgcnMgPSBuZXcg
UmVhZGFibGVTdHJlYW0oCisgICAgeyBzdGFydDoKKyAgICAgICAgZnVuY3Rpb24oZW5xdWV1ZSwg
Y2xvc2UsIGVycm9yKSB7CisgICAgICAgICAgICBjbG9zZSgpOworICAgICAgICB9CisgICAgfSk7
CisKKyAgICB2YXIgY2xvc2VkRG9uZSA9IGZhbHNlOworICAgIHJzLmNsb3NlZC50aGVuKHRlc3Q0
LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKKyAgICAgICAgY2xvc2VkRG9uZSA9IHRydWU7CisgICAg
fSkpOworCisgICAgcnMucmVhZHkudGhlbih0ZXN0NC5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7Cisg
ICAgICAgIGFzc2VydF90cnVlKGNsb3NlZERvbmUpOworICAgICAgICB0ZXN0NC5kb25lKCk7Cisg
ICAgfSkpOworICAgIGFzc2VydF9mYWxzZShjbG9zZWREb25lKTsKKworfSk7CisKK3Rlc3Q1ID0g
YXN5bmNfdGVzdCgnQ2FsbGluZyBSZWFkYWJsZVN0cmVhbSBjbG9zZSBzZXZlcmFsIHRpbWVzIHNo
b3VsZCBub3QgcmVzb2x2ZSBzZXZlcmFsIHRpbWVzIGNsb3NlZCBvciByZWFkeSBwcm9taXNlcycp
OwordGVzdDUuc3RlcChmdW5jdGlvbigpCit7CisgICAgdmFyIGNsb3NlRnVuY3Rpb247CisgICAg
dmFyIHJzID0gbmV3IFJlYWRhYmxlU3RyZWFtKAorICAgIHsgc3RhcnQ6CisgICAgICAgIGZ1bmN0
aW9uKGVucXVldWUsIGNsb3NlLCBlcnJvcikgeworICAgICAgICAgICAgY2xvc2VGdW5jdGlvbiA9
IGNsb3NlOworICAgICAgICB9CisgICAgfSk7CisKKyAgICB2YXIgY291bnRlciA9IDA7CisgICAg
cnMuY2xvc2VkLnRoZW4odGVzdDUuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgeworICAgICAgICBjb3Vu
dGVyKys7CisgICAgfSkpOworICAgIHJzLnJlYWR5LnRoZW4odGVzdDUuc3RlcF9mdW5jKGZ1bmN0
aW9uKCkgeworICAgICAgICBjb3VudGVyKys7CisgICAgICAgIGFzc2VydF9lcXVhbHMoY291bnRl
ciwgMSk7CisgICAgfSkpOworICAgIGNsb3NlRnVuY3Rpb24oKTsKKyAgICBjbG9zZUZ1bmN0aW9u
KCk7CisKKyAgICBzZXRUaW1lb3V0KHRlc3Q1LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKKyAgICAg
ICAgdGVzdDUuZG9uZSgpOworICAgIH0pLCA1MCk7Cit9KTsKKwogCiA8L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>248482</attachid>
            <date>2015-03-11 20:30:14 -0700</date>
            <delta_ts>2015-03-18 12:31:22 -0700</delta_ts>
            <desc>Cleaning things</desc>
            <filename>bug-142435-20150312042947.patch</filename>
            <type>text/plain</type>
            <size>12103</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgxMjY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjc1MzA0YTc3YTVhODA4
MTA2Yzg2ZmE5NDU1OGQ3YmFlNjQ5MDE0YS4uMDlkNTNjYTJjZmIyODhiZGIzZjBmODg0MDRkMjAz
M2RjM2NkNzUzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE1LTAzLTExICBYYWJp
ZXIgUm9kcmlndWV6IENhbHZhciA8Y2FsdmFyaXNAaWdhbGlhLmNvbT4gYW5kIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KKworICAgICAgICBbU3RyZWFtcyBBUEld
IENsb3NpbmcgYSBSZWFkYWJsZVN0cmVhbSBzaG91bGQgcmVzb2x2ZSB0aGUgcmVhZHkgYW5kIGNs
b3NlZCBwcm9taXNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTQyNDM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgSW1wbGVtZW50ZWQgc3RvcmFnZSBvZiByZWFkeSBhbmQgY2xvc2VkIGNhbGxiYWNrcyB3
aGVuIHRoZSBjb3JyZXNwb25kaW5nIHByb21pc2UgY2Fubm90IGJlIHJlc29sdmUgaW1tZWRpYXRs
eS4KKyAgICAgICAgVGhlc2UgY2FsbGJhY2tzIGFyZSBjYWxsZWQgd2hlbiB0aGUgc3RyZWFtIGdl
dHMgY2xvc2VkIHVzaW5nIHRoZSBjaGFuZ2VTdGF0ZVRvQ2xvc2VkIG1ldGhvZC4KKyAgICAgICAg
QWRkZWQgYWJpbGl0eSBmb3IgYSBwcm9taXNlIHRvIHJlc29sdmUgd2l0aCBhIGdlbmVyaWMgSlMg
dmFsdWUuCisgICAgICAgIFJlc29sdmVkIHJlYWR5IGFuZCBjbG9zZWQgcHJvbWlzZXMgd2l0aCBh
biB1bmRlZmluZWQgdmFsdWUsIGFzIHBlciB0aGUgc3BlYy4KKworICAgICAgICBDb3ZlcmVkIGJ5
IG5ldyB0ZXN0cyBpbiByZWFkYWJsZXN0cmVhbS1zdGFydC5odG1sLgorCisgICAgICAgICogTW9k
dWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlYWRh
YmxlU3RyZWFtOjpyZXNvbHZlQ2xvc2VkQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6UmVh
ZGFibGVTdHJlYW06OmNsb3NlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZWFkYWJsZVN0cmVhbTo6
Y2hhbmdlU3RhdGVUb0Nsb3NlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZWFkYWJsZVN0cmVhbTo6
cmVzb2x2ZVJlYWR5Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6UmVhZGFibGVTdHJlYW06
OnJlYWR5KToKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uaDoKKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVByb21pc2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRl
ZmVycmVkV3JhcHBlcjo6cmVzb2x2ZTxKU0M6OkpTVmFsdWU+KToKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU1JlYWRhYmxlU3RyZWFtQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTUmVh
ZGFibGVTdHJlYW06OnJlYWR5KToKKyAgICAgICAgKFdlYkNvcmU6OkpTUmVhZGFibGVTdHJlYW06
OmNsb3NlZCk6CisKIDIwMTUtMDMtMDkgIFhhYmllciBSb2RyaWd1ZXogQ2FsdmFyIDxjYWx2YXJp
c0BpZ2FsaWEuY29tPiBhbmQgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3JmLmNhbm9u
LmZyPgogCiAgICAgICAgIFJlYWRhYmxlU3RyZWFtSlNTb3VyY2Ugc2hvdWxkIHVzZSBKU0M6OlN0
cm9uZyBVbnNwZWNpZmllZEJvb2xUeXBlIG9wZXJhdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmNwcAppbmRleCBmY2E2ZGZmNDZlNjFlM2Rk
MTk5ZTNiZWI3ZGNiYTJjZGI1OTE1Y2FmLi42Y2NjN2I0MzZmOGVjNGJlZmQxMDdmMjRhNzIyYzVl
OTRhZDMwODkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVh
ZGFibGVTdHJlYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFk
YWJsZVN0cmVhbS5jcHAKQEAgLTMyLDcgKzMyLDYgQEAKIAogI2lmIEVOQUJMRShTVFJFQU1TX0FQ
SSkKIAotI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWRMZWFrQ291bnRlci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC04MCwyMyArNzksNTIg
QEAgU3RyaW5nIFJlYWRhYmxlU3RyZWFtOjpzdGF0ZSgpIGNvbnN0CiAgICAgcmV0dXJuIFN0cmlu
ZygpOwogfQogCi12b2lkIFJlYWRhYmxlU3RyZWFtOjpjbG9zZWQoU3VjY2Vzc0NhbGxiYWNrKQor
dm9pZCBSZWFkYWJsZVN0cmVhbTo6cmVzb2x2ZUNsb3NlZENhbGxiYWNrKCkKIHsKLSAgICBub3RJ
bXBsZW1lbnRlZCgpOyAgICAKKyAgICBBU1NFUlQobV9zdGF0ZSA9PSBTdGF0ZTo6Q2xvc2VkKTsK
KyAgICBpZiAoIW1fY2xvc2VkU3VjY2Vzc0NhbGxiYWNrKQorICAgICAgICByZXR1cm47CisKKyAg
ICBTdWNjZXNzQ2FsbGJhY2sgY2xvc2VkU3VjY2Vzc0NhbGxiYWNrID0gV1RGOjptb3ZlKG1fY2xv
c2VkU3VjY2Vzc0NhbGxiYWNrKTsKKyAgICBjbG9zZWRTdWNjZXNzQ2FsbGJhY2soKTsKK30KKwor
dm9pZCBSZWFkYWJsZVN0cmVhbTo6Y2xvc2VkKFN1Y2Nlc3NDYWxsYmFjayBzdWNjZXNzQ2FsbGJh
Y2spCit7CisgICAgaWYgKG1fc3RhdGUgPT0gU3RhdGU6OkNsb3NlZCkgeworICAgICAgICBzdWNj
ZXNzQ2FsbGJhY2soKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBtX2Nsb3NlZFN1Y2Nl
c3NDYWxsYmFjayA9IFdURjo6bW92ZShzdWNjZXNzQ2FsbGJhY2spOwogfQogCiB2b2lkIFJlYWRh
YmxlU3RyZWFtOjpjaGFuZ2VTdGF0ZVRvQ2xvc2VkKCkKIHsKICAgICBpZiAobV9zdGF0ZSA9PSBT
dGF0ZTo6V2FpdGluZykgewogICAgICAgICBtX3N0YXRlID0gU3RhdGU6OkNsb3NlZDsKLSAgICAg
ICAgLy8gRklYTUU6IEltcGxlbWVudCByZWFkeSBhbmQgY2xvc2VkIHByb21pc2UgcmVzb2x1dGlv
bi4KKyAgICAgICAgcmVzb2x2ZVJlYWR5Q2FsbGJhY2soKTsKKyAgICAgICAgcmVzb2x2ZUNsb3Nl
ZENhbGxiYWNrKCk7CiAgICAgfQogICAgIC8vIEZJWE1FOiBIYW5kbGUgU3RhdGU6OlJlYWRhYmxl
IHdoZW4gZW5xdWV1ZSBpcyBzdXBwb3J0ZWQuCiB9CiAKLXZvaWQgUmVhZGFibGVTdHJlYW06OnJl
YWR5KFN1Y2Nlc3NDYWxsYmFjaykKK3ZvaWQgUmVhZGFibGVTdHJlYW06OnJlc29sdmVSZWFkeUNh
bGxiYWNrKCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIEFTU0VSVChtX3N0YXRlICE9
IFN0YXRlOjpXYWl0aW5nKTsKKyAgICBpZiAoIW1fcmVhZHlDYWxsYmFjaykKKyAgICAgICAgcmV0
dXJuOworCisgICAgU3VjY2Vzc0NhbGxiYWNrIHJlYWR5Q2FsbGJhY2sgPSBXVEY6Om1vdmUobV9y
ZWFkeUNhbGxiYWNrKTsKKyAgICByZWFkeUNhbGxiYWNrKCk7Cit9CisKK3ZvaWQgUmVhZGFibGVT
dHJlYW06OnJlYWR5KFN1Y2Nlc3NDYWxsYmFjayBjYWxsYmFjaykKK3sKKyAgICBpZiAobV9zdGF0
ZSAhPSBTdGF0ZTo6V2FpdGluZykgeworICAgICAgICBjYWxsYmFjaygpOworICAgICAgICByZXR1
cm47CisgICAgfQorICAgIG1fcmVhZHlDYWxsYmFjayA9IFdURjo6bW92ZShjYWxsYmFjayk7CiB9
CiAKIHZvaWQgUmVhZGFibGVTdHJlYW06OnN0YXJ0KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmgKaW5kZXggZDdjYTVmMWU5ZjA0ZDFkZTgyNmMw
MmQ5ZTE0OTc0NWZlNGQ4ZTk3Zi4uYjRlZmUwYWY3YjE3NTY5NjEwYzEyMTExZjAwYzUyNWQxOTc0
YzE3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxl
U3RyZWFtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3Ry
ZWFtLmgKQEAgLTcyLDYgKzcyLDggQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIFJlYWRhYmxl
U3RyZWFtKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZWY8UmVhZGFibGVTdHJlYW1Tb3VyY2U+
JiYpOworICAgIHZvaWQgcmVzb2x2ZUNsb3NlZENhbGxiYWNrKCk7CisgICAgdm9pZCByZXNvbHZl
UmVhZHlDYWxsYmFjaygpOwogCiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0IEFQSS4KICAgICBjb25z
dCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3Qgb3ZlcnJpZGU7CkBAIC03OSw2ICs4
MSwxMCBAQCBwcml2YXRlOgogCiAgICAgU3RhdGUgbV9zdGF0ZTsKICAgICBSZWY8UmVhZGFibGVT
dHJlYW1Tb3VyY2U+IG1fc291cmNlOworCisgICAgLy8gRklYTUU6IEFkZCBjbG9zZWQgZXJyb3Ig
Y2FsbGJhY2suCisgICAgU3VjY2Vzc0NhbGxiYWNrIG1fY2xvc2VkU3VjY2Vzc0NhbGxiYWNrOwor
ICAgIFN1Y2Nlc3NDYWxsYmFjayBtX3JlYWR5Q2FsbGJhY2s7CiB9OwogCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVByb21pc2UuaCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NUHJvbWlzZS5oCmluZGV4IDQyZDAyZDlmMjhlOWU2YTg0YTRl
NzVjM2E3MzE4Zjk2MTRmOWEwMWMuLmQwZjc1ZDIyZTMyMTU4NTM2ZDNmZTg0MWJmNDk5YmJiMTg4
YTRjOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NUHJvbWlz
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NUHJvbWlzZS5oCkBAIC05
OCw2ICs5OCwxNCBAQCBpbmxpbmUgdm9pZCBEZWZlcnJlZFdyYXBwZXI6OnJlc29sdmU8Ym9vbD4o
Y29uc3QgYm9vbCYgcmVzdWx0KQogfQogCiB0ZW1wbGF0ZTw+CitpbmxpbmUgdm9pZCBEZWZlcnJl
ZFdyYXBwZXI6OnJlc29sdmU8SlNDOjpKU1ZhbHVlPihjb25zdCBKU0M6OkpTVmFsdWUmIHZhbHVl
KQoreworICAgIEpTQzo6RXhlY1N0YXRlKiBleGVjID0gbV9nbG9iYWxPYmplY3QtPmdsb2JhbEV4
ZWMoKTsKKyAgICBKU0M6OkpTTG9ja0hvbGRlciBsb2NrZXIoZXhlYyk7CisgICAgcmVzb2x2ZShl
eGVjLCB2YWx1ZSk7Cit9CisKK3RlbXBsYXRlPD4KIGlubGluZSB2b2lkIERlZmVycmVkV3JhcHBl
cjo6cmVzb2x2ZTxWZWN0b3I8dW5zaWduZWQgY2hhcj4+KGNvbnN0IFZlY3Rvcjx1bnNpZ25lZCBj
aGFyPiYgcmVzdWx0KQogewogICAgIEpTQzo6RXhlY1N0YXRlKiBleGVjID0gbV9nbG9iYWxPYmpl
Y3QtPmdsb2JhbEV4ZWMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTUmVhZGFibGVTdHJlYW1DdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNSZWFkYWJsZVN0cmVhbUN1c3RvbS5jcHAKaW5kZXggMjk5ZTM4ZTg0NjIxMDQxY2UxYjgwN2Fh
ZWMxN2Y3OGYxZWEwNDMzNy4uMzYyZDk3NzMyMGNlZWUwZDllN2ViMmU3Yzg3OTRiYThkMWU5N2Ey
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNSZWFkYWJsZVN0cmVh
bUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNSZWFkYWJsZVN0
cmVhbUN1c3RvbS5jcHAKQEAgLTcwLDggKzcwLDggQEAgSlNWYWx1ZSBKU1JlYWRhYmxlU3RyZWFt
OjpyZWFkeShFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0CiB7CiAgICAgSlNQcm9taXNlRGVmZXJyZWQq
IHByb21pc2VEZWZlcnJlZCA9IGdldE9yQ3JlYXRlUHJvbWlzZURlZmVycmVkRnJvbU9iamVjdChl
eGVjLCB0aGlzLCBnbG9iYWxPYmplY3QoKSwgcmVhZHlQcm9taXNlU2xvdE5hbWUoKSk7CiAgICAg
RGVmZXJyZWRXcmFwcGVyIHdyYXBwZXIoZXhlYywgZ2xvYmFsT2JqZWN0KCksIHByb21pc2VEZWZl
cnJlZCk7Ci0gICAgYXV0byBzdWNjZXNzQ2FsbGJhY2sgPSBbd3JhcHBlciwgdGhpc10oKSBtdXRh
YmxlIHsKLSAgICAgICAgd3JhcHBlci5yZXNvbHZlKCZpbXBsKCkpOworICAgIGF1dG8gc3VjY2Vz
c0NhbGxiYWNrID0gW3dyYXBwZXJdKCkgbXV0YWJsZSB7CisgICAgICAgIHdyYXBwZXIucmVzb2x2
ZShqc1VuZGVmaW5lZCgpKTsKICAgICB9OwogICAgIGltcGwoKS5yZWFkeShXVEY6Om1vdmUoc3Vj
Y2Vzc0NhbGxiYWNrKSk7CiAKQEAgLTg4LDggKzg4LDggQEAgSlNWYWx1ZSBKU1JlYWRhYmxlU3Ry
ZWFtOjpjbG9zZWQoRXhlY1N0YXRlKiBleGVjKSBjb25zdAogewogICAgIEpTUHJvbWlzZURlZmVy
cmVkKiBwcm9taXNlRGVmZXJyZWQgPSBnZXRPckNyZWF0ZVByb21pc2VEZWZlcnJlZEZyb21PYmpl
Y3QoZXhlYywgdGhpcywgZ2xvYmFsT2JqZWN0KCksIGNsb3NlZFByb21pc2VTbG90TmFtZSgpKTsK
ICAgICBEZWZlcnJlZFdyYXBwZXIgd3JhcHBlcihleGVjLCBnbG9iYWxPYmplY3QoKSwgcHJvbWlz
ZURlZmVycmVkKTsKLSAgICBhdXRvIHN1Y2Nlc3NDYWxsYmFjayA9IFt3cmFwcGVyLCB0aGlzXSgp
IG11dGFibGUgewotICAgICAgICB3cmFwcGVyLnJlc29sdmUoJmltcGwoKSk7CisgICAgYXV0byBz
dWNjZXNzQ2FsbGJhY2sgPSBbd3JhcHBlcl0oKSBtdXRhYmxlIHsKKyAgICAgICAgd3JhcHBlci5y
ZXNvbHZlKGpzVW5kZWZpbmVkKCkpOwogICAgIH07CiAgICAgaW1wbCgpLmNsb3NlZChXVEY6Om1v
dmUoc3VjY2Vzc0NhbGxiYWNrKSk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkNjg2Mjk5ODI0MWQyNzc1MzYxM2IyZjk4
ZWExY2Q5MzQxZjlmMzEyLi4yZWFkMzI2NGY3OTA0YTI1YzQwOTU3NGEwYWZhODIwY2IwNTcwMjFi
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTUtMDMtMTEgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KKworICAgICAgICBbU3RyZWFtcyBBUEldIENsb3Npbmcg
YSBSZWFkYWJsZVN0cmVhbSBzaG91bGQgcmVzb2x2ZSB0aGUgcmVhZHkgYW5kIGNsb3NlZCBwcm9t
aXNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQy
NDM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBz
dHJlYW1zL3JlYWRhYmxlc3RyZWFtLXN0YXJ0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdHJl
YW1zL3JlYWRhYmxlc3RyZWFtLXN0YXJ0Lmh0bWw6CisKIDIwMTUtMDMtMDkgIEd5dXlvdW5nIEtp
bSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIEVGTCBn
YXJkZW5pbmcgb24gOXRoIE1hci4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0cmVhbXMvcmVh
ZGFibGVzdHJlYW0tc3RhcnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWFk
YWJsZXN0cmVhbS1zdGFydC1leHBlY3RlZC50eHQKaW5kZXggNDdlZWY1NjdjZjc4NDM3MGI5MjU0
YjRjMjQ3ZDM3YTIxNWU5YTdlNC4uMzdmN2UwZDIwOTYxNWZkMjJmMTEzZmRmYzRjMzI1NzFlOWE4
YjY1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWFkYWJsZXN0cmVhbS1zdGFy
dC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWFkYWJsZXN0cmVhbS1z
dGFydC1leHBlY3RlZC50eHQKQEAgLTUsNCArNSw5IEBAIFBBU1MgUmVhZGFibGVTdHJlYW0gY29u
c3RydWN0b3Igc2hvdWxkIGdldCBhIGZ1bmN0aW9uIGFzIHN0YXJ0IGFyZ3VtZW50CiBQQVNTIFJl
YWRhYmxlU3RyZWFtIHN0YXJ0IHNob3VsZCBiZSBhYmxlIHRvIGNsb3NlIHRoZSBzdHJlYW0gCiBQ
QVNTIENhbGxpbmcgUmVhZGFibGVTdHJlYW0gY2xvc2UgZnVuY3Rpb24gc2hvdWxkIHRyYW5zaXRp
b24gc3luY2hyb25vdXNseSB0byBjbG9zZWQgc3RhdGUgCiBQQVNTIENhbGxpbmcgUmVhZGFibGVT
dHJlYW0gY2xvc2UgZnVuY3Rpb24gc2V2ZXJhbCB0aW1lcyBzaG91bGQgaGF2ZSBubyBlZmZlY3Qg
CitQQVNTIFJlYWRhYmxlU3RyZWFtIGNsb3NlIHNob3VsZCBmdWxmaWxsIHJlYWR5IHByb21pc2Ug
YW5kIHRoZW4gY2xvc2VkIHByb21pc2UgCitQQVNTIFJlYWRhYmxlU3RyZWFtIGNsb3NlIHNob3Vs
ZCBmdWxmaWxsIHJlYWR5IGFzeW5jaHJvbm91c2x5IAorUEFTUyBSZWFkYWJsZVN0cmVhbSBjbG9z
ZSBzaG91bGQgZnVsZmlsbCBjbG9zZWQgcHJvbWlzZSBhc3luY2hyb25vdXNseSAKK1BBU1MgQSBj
bG9zZWQgUmVhZGFibGVTdHJlYW0gc2hvdWxkIGZ1bGZpbGwgaW1tZWRpYXRseSByZWFkeSBhbmQg
Y2xvc2VkIHByb21pc2VzIAorUEFTUyBDYWxsaW5nIFJlYWRhYmxlU3RyZWFtIGNsb3NlIHNldmVy
YWwgdGltZXMgc2hvdWxkIG5vdCByZXNvbHZlIHNldmVyYWwgdGltZXMgY2xvc2VkIG9yIHJlYWR5
IHByb21pc2VzIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxlc3Ry
ZWFtLXN0YXJ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxlc3RyZWFtLXN0YXJ0
Lmh0bWwKaW5kZXggNzhiNTAwNGE4NjI4MGRhOTdiZDEwMmM1NWFkZTY2YmQ3MDJjMTA4OC4uOWM0
MzQzZjIyYjg4YjcwMWZlMzk0OGExMjFhYzI1ZTQzMDNhMWNmMCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3RyZWFtcy9yZWFkYWJsZXN0cmVhbS1zdGFydC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L3N0cmVhbXMvcmVhZGFibGVzdHJlYW0tc3RhcnQuaHRtbApAQCAtODEsNSArODEsMTI4IEBAIHRl
c3QoZnVuY3Rpb24oKQogICAgIGFzc2VydF9lcXVhbHMocnMuc3RhdGUsICdjbG9zZWQnKTsKIH0s
ICdDYWxsaW5nIFJlYWRhYmxlU3RyZWFtIGNsb3NlIGZ1bmN0aW9uIHNldmVyYWwgdGltZXMgc2hv
dWxkIGhhdmUgbm8gZWZmZWN0Jyk7CiAKK3Rlc3QxID0gYXN5bmNfdGVzdCgnUmVhZGFibGVTdHJl
YW0gY2xvc2Ugc2hvdWxkIGZ1bGZpbGwgcmVhZHkgcHJvbWlzZSBhbmQgdGhlbiBjbG9zZWQgcHJv
bWlzZScpOwordGVzdDEuc3RlcChmdW5jdGlvbigpCit7CisgICAgdmFyIHJzID0gbmV3IFJlYWRh
YmxlU3RyZWFtKAorICAgIHsgc3RhcnQ6CisgICAgICAgIGZ1bmN0aW9uKGVucXVldWUsIGNsb3Nl
LCBlcnJvcikgeworICAgICAgICAgICAgc2V0VGltZW91dChjbG9zZSwwKTsKKyAgICAgICAgfQor
ICAgIH0pOworICAgIGFzc2VydF9lcXVhbHMocnMuc3RhdGUsICd3YWl0aW5nJyk7CisKKyAgICB2
YXIgcmVhZHlEb25lID0gZmFsc2U7CisgICAgcnMucmVhZHkudGhlbih0ZXN0MS5zdGVwX2Z1bmMo
ZnVuY3Rpb24odikgeworICAgICAgICByZWFkeURvbmUgPSB0cnVlOworICAgICAgICBhc3NlcnRf
ZXF1YWxzKHR5cGVvZiB2LCAndW5kZWZpbmVkJyk7CisgICAgICAgIGFzc2VydF9lcXVhbHMocnMu
c3RhdGUsICdjbG9zZWQnKTsKKyAgICB9KSk7CisKKyAgICBycy5jbG9zZWQudGhlbih0ZXN0MS5z
dGVwX2Z1bmMoZnVuY3Rpb24odikgeworICAgICAgICBhc3NlcnRfZXF1YWxzKHJlYWR5RG9uZSwg
dHJ1ZSk7CisgICAgICAgIGFzc2VydF9lcXVhbHModHlwZW9mIHYsICd1bmRlZmluZWQnKTsKKyAg
ICAgICAgYXNzZXJ0X2VxdWFscyhycy5zdGF0ZSwgJ2Nsb3NlZCcpOworICAgICAgICB0ZXN0MS5k
b25lKCk7CisgICAgfSkpOworfSk7CisKK3Rlc3QyID0gYXN5bmNfdGVzdCgnUmVhZGFibGVTdHJl
YW0gY2xvc2Ugc2hvdWxkIGZ1bGZpbGwgcmVhZHkgYXN5bmNocm9ub3VzbHknKTsKK3Rlc3QyLnN0
ZXAoZnVuY3Rpb24oKQoreworICAgIHZhciBjbG9zZUZ1bmN0aW9uOworICAgIHZhciBycyA9IG5l
dyBSZWFkYWJsZVN0cmVhbSgKKyAgICB7IHN0YXJ0OgorICAgICAgICBmdW5jdGlvbihlbnF1ZXVl
LCBjbG9zZSwgZXJyb3IpIHsKKyAgICAgICAgICAgIGNsb3NlRnVuY3Rpb24gPSBjbG9zZTsKKyAg
ICAgICAgfQorICAgIH0pOworCisgICAgdmFyIHJlYWR5RG9uZUFzc2VydGVkID0gZmFsc2U7Cisg
ICAgdmFyIHJlYWR5RG9uZSA9IGZhbHNlOworICAgIGNsb3NlRnVuY3Rpb24oKTsKKyAgICBhc3Nl
cnRfZXF1YWxzKHJzLnN0YXRlLCAnY2xvc2VkJyk7CisgICAgcnMucmVhZHkudGhlbih0ZXN0Mi5z
dGVwX2Z1bmMoZnVuY3Rpb24oKSB7CisgICAgICAgIHJlYWR5RG9uZSA9IHRydWU7CisgICAgICAg
IGFzc2VydF90cnVlKHJlYWR5RG9uZUFzc2VydGVkKTsKKyAgICAgICAgdGVzdDIuZG9uZSgpOwor
ICAgIH0pKTsKKyAgICByZWFkeURvbmVBc3NlcnRlZCA9IHRydWU7CisgICAgYXNzZXJ0X2ZhbHNl
KHJlYWR5RG9uZSk7Cit9KTsKKwordGVzdDMgPSBhc3luY190ZXN0KCdSZWFkYWJsZVN0cmVhbSBj
bG9zZSBzaG91bGQgZnVsZmlsbCBjbG9zZWQgcHJvbWlzZSBhc3luY2hyb25vdXNseScpOwordGVz
dDMuc3RlcChmdW5jdGlvbigpCit7CisgICAgdmFyIGNsb3NlRnVuY3Rpb247CisgICAgdmFyIHJz
ID0gbmV3IFJlYWRhYmxlU3RyZWFtKAorICAgIHsgc3RhcnQ6CisgICAgICAgIGZ1bmN0aW9uKGVu
cXVldWUsIGNsb3NlLCBlcnJvcikgeworICAgICAgICAgICAgY2xvc2VGdW5jdGlvbiA9IGNsb3Nl
OworICAgICAgICB9CisgICAgfSk7CisKKyAgICB2YXIgY2xvc2VkRG9uZSA9IGZhbHNlOworICAg
IGNsb3NlRnVuY3Rpb24oKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJzLnN0YXRlLCAnY2xvc2VkJyk7
CisgICAgcnMuY2xvc2VkLnRoZW4odGVzdDMuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgeworICAgICAg
ICBjbG9zZWREb25lID0gdHJ1ZTsKKyAgICAgICAgYXNzZXJ0X3RydWUoY2xvc2VkRG9uZUFzc2Vy
dGVkKTsKKyAgICAgICAgdGVzdDMuZG9uZSgpOworICAgIH0pKTsKKyAgICBjbG9zZWREb25lQXNz
ZXJ0ZWQgPSB0cnVlOworICAgIGFzc2VydF9mYWxzZShjbG9zZWREb25lKTsKK30pOworCit0ZXN0
NCA9IGFzeW5jX3Rlc3QoJ0EgY2xvc2VkIFJlYWRhYmxlU3RyZWFtIHNob3VsZCBmdWxmaWxsIGlt
bWVkaWF0bHkgcmVhZHkgYW5kIGNsb3NlZCBwcm9taXNlcycpOwordGVzdDQuc3RlcChmdW5jdGlv
bigpCit7CisgICAgdmFyIHJzID0gbmV3IFJlYWRhYmxlU3RyZWFtKAorICAgIHsgc3RhcnQ6Cisg
ICAgICAgIGZ1bmN0aW9uKGVucXVldWUsIGNsb3NlLCBlcnJvcikgeworICAgICAgICAgICAgY2xv
c2UoKTsKKyAgICAgICAgfQorICAgIH0pOworCisgICAgdmFyIGNsb3NlZERvbmUgPSBmYWxzZTsK
KyAgICBycy5jbG9zZWQudGhlbih0ZXN0NC5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7CisgICAgICAg
IGNsb3NlZERvbmUgPSB0cnVlOworICAgIH0pKTsKKworICAgIHJzLnJlYWR5LnRoZW4odGVzdDQu
c3RlcF9mdW5jKGZ1bmN0aW9uKCkgeworICAgICAgICBhc3NlcnRfdHJ1ZShjbG9zZWREb25lKTsK
KyAgICAgICAgdGVzdDQuZG9uZSgpOworICAgIH0pKTsKKyAgICBhc3NlcnRfZmFsc2UoY2xvc2Vk
RG9uZSk7CisKK30pOworCit0ZXN0NSA9IGFzeW5jX3Rlc3QoJ0NhbGxpbmcgUmVhZGFibGVTdHJl
YW0gY2xvc2Ugc2V2ZXJhbCB0aW1lcyBzaG91bGQgbm90IHJlc29sdmUgc2V2ZXJhbCB0aW1lcyBj
bG9zZWQgb3IgcmVhZHkgcHJvbWlzZXMnKTsKK3Rlc3Q1LnN0ZXAoZnVuY3Rpb24oKQoreworICAg
IHZhciBjbG9zZUZ1bmN0aW9uOworICAgIHZhciBycyA9IG5ldyBSZWFkYWJsZVN0cmVhbSgKKyAg
ICB7IHN0YXJ0OgorICAgICAgICBmdW5jdGlvbihlbnF1ZXVlLCBjbG9zZSwgZXJyb3IpIHsKKyAg
ICAgICAgICAgIGNsb3NlRnVuY3Rpb24gPSBjbG9zZTsKKyAgICAgICAgfQorICAgIH0pOworCisg
ICAgdmFyIGNvdW50ZXIgPSAwOworICAgIHJzLmNsb3NlZC50aGVuKHRlc3Q1LnN0ZXBfZnVuYyhm
dW5jdGlvbigpIHsKKyAgICAgICAgY291bnRlcisrOworICAgIH0pKTsKKyAgICBycy5yZWFkeS50
aGVuKHRlc3Q1LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKKyAgICAgICAgY291bnRlcisrOworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGNvdW50ZXIsIDEpOworICAgIH0pKTsKKyAgICBjbG9zZUZ1bmN0
aW9uKCk7CisgICAgY2xvc2VGdW5jdGlvbigpOworCisgICAgc2V0VGltZW91dCh0ZXN0NS5zdGVw
X2Z1bmMoZnVuY3Rpb24oKSB7CisgICAgICAgIHRlc3Q1LmRvbmUoKTsKKyAgICB9KSwgNTApOwor
fSk7CisKIAogPC9zY3JpcHQ+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>