<?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>94493</bug_id>
          
          <creation_ts>2012-08-20 09:59:23 -0700</creation_ts>
          <short_desc>[JSC] SerializedScriptValue::create() should throw a DataCloneError if input is an unsupported object</short_desc>
          <delta_ts>2012-08-24 10:17:59 -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>http://www.w3.org/TR/html5/common-dom-interfaces.html#structured-clone</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>94949</dependson>
          <blocked>65292</blocked>
    
    <blocked>94310</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>kenneth</cc>
    
    <cc>oliver</cc>
    
    <cc>ossy</cc>
    
    <cc>s.choi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>699620</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-08-20 09:59:23 -0700</bug_when>
    <thetext>As per the structured clone specification, the JSC implementation SerializedScriptValue::create() should throw a DataCloneError if input is an unsupported native object (Function and Error objects).
We currently don&apos;t throw for those input values.

The V8 implementation already handles this properly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699697</commentid>
    <comment_count>1</comment_count>
      <attachid>159476</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-08-20 11:09:27 -0700</bug_when>
    <thetext>Created attachment 159476
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699707</commentid>
    <comment_count>2</comment_count>
      <attachid>159476</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2012-08-20 11:14:10 -0700</bug_when>
    <thetext>Comment on attachment 159476
Patch

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

&gt; Source/WebCore/bindings/js/SerializedScriptValue.cpp:688
&gt;              if (getCallData(value, unusedData) == CallTypeNone)

This is the function check here -- if the call type is not CallTypeNone then whatever object we are dealing with is a functino of some kind.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699710</commentid>
    <comment_count>3</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2012-08-20 11:16:19 -0700</bug_when>
    <thetext>The better approach is just to do a classInfo check directly against JSFinalObject::s_info in objectStartState just before inputObjectStack.append(inObject)

That will also allow dumpIfTerminal to drop the stupid navigator check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699804</commentid>
    <comment_count>4</comment_count>
      <attachid>159492</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-08-20 12:46:29 -0700</bug_when>
    <thetext>Created attachment 159492
Patch

Take Oliver&apos;s feedback into consideration.

No regression here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699815</commentid>
    <comment_count>5</comment_count>
      <attachid>159492</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2012-08-20 12:53:01 -0700</bug_when>
    <thetext>Comment on attachment 159492
Patch

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

r+, but cq- as you need to add the new results file for message-port-multi-expected

&gt; LayoutTests/platform/chromium/fast/events/message-port-multi-expected.txt:-23
&gt; -This test checks the various use cases around sending multiple ports through MessagePort.postMessage
&gt; -
&gt; -On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
&gt; -
&gt; -
&gt; -PASS channel.port1.postMessage(&quot;same port&quot;, [channel.port1]) threw exception Error: DATA_CLONE_ERR: DOM Exception 25.
&gt; -PASS channel.port1.postMessage(&quot;entangled port&quot;, [channel.port2]) threw exception Error: DATA_CLONE_ERR: DOM Exception 25.
&gt; -PASS channel.port1.postMessage(&quot;null port&quot;, [channel3.port1, null, channel3.port2]) threw exception Error: DATA_CLONE_ERR: DOM Exception 25.
&gt; -PASS channel.port1.postMessage(&quot;notAPort&quot;, [channel3.port1, {}, channel3.port2]) threw exception TypeError: Type error.
&gt; -PASS channel.port1.postMessage(&quot;notAnArray&quot;, channel3.port1) threw exception TypeError: Type error.
&gt; -PASS channel.port1.postMessage(&quot;notASequence&quot;, [{length: 3}]) threw exception TypeError: Type error.
&gt; -PASS channel.port1.postMessage(&quot;largeSequence&quot;, largePortArray) threw exception Error: DATA_CLONE_ERR: DOM Exception 25.
&gt; -PASS event.ports is non-null and zero length when no port sent
&gt; -PASS event.ports is non-null and zero length when empty array sent
&gt; -PASS event.ports contains two ports when two ports sent
&gt; -PASS event.ports contains two ports when two ports re-sent after error
&gt; -PASS Sending host object has thrown Error: DATA_CLONE_ERR: DOM Exception 25
&gt; -PASS send-port: transferred one port
&gt; -PASS send-port-twice: transferred one port twice
&gt; -PASS send-two-ports: transferred two ports
&gt; -
&gt; -TEST COMPLETE
&gt; -

You&apos;ve removed this -- presumably as the results are now identical, but in that case you need to add the new results file in the right place :D</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699817</commentid>
    <comment_count>6</comment_count>
      <attachid>159494</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-08-20 12:53:16 -0700</bug_when>
    <thetext>Created attachment 159494
Patch

Fix typos in comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699821</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-08-20 12:57:33 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 159492 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=159492&amp;action=review
&gt; 
&gt; r+, but cq- as you need to add the new results file for message-port-multi-expected
&gt; 
&gt; &gt; LayoutTests/platform/chromium/fast/events/message-port-multi-expected.txt:-23
&gt; &gt; -This test checks the various use cases around sending multiple ports through MessagePort.postMessage
&gt; &gt; -
&gt; &gt; -On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
&gt; &gt; -
&gt; &gt; -
&gt; &gt; -PASS channel.port1.postMessage(&quot;same port&quot;, [channel.port1]) threw exception Error: DATA_CLONE_ERR: DOM Exception 25.
&gt; &gt; -PASS channel.port1.postMessage(&quot;entangled port&quot;, [channel.port2]) threw exception Error: DATA_CLONE_ERR: DOM Exception 25.
&gt; &gt; -PASS channel.port1.postMessage(&quot;null port&quot;, [channel3.port1, null, channel3.port2]) threw exception Error: DATA_CLONE_ERR: DOM Exception 25.
&gt; &gt; -PASS channel.port1.postMessage(&quot;notAPort&quot;, [channel3.port1, {}, channel3.port2]) threw exception TypeError: Type error.
&gt; &gt; -PASS channel.port1.postMessage(&quot;notAnArray&quot;, channel3.port1) threw exception TypeError: Type error.
&gt; &gt; -PASS channel.port1.postMessage(&quot;notASequence&quot;, [{length: 3}]) threw exception TypeError: Type error.
&gt; &gt; -PASS channel.port1.postMessage(&quot;largeSequence&quot;, largePortArray) threw exception Error: DATA_CLONE_ERR: DOM Exception 25.
&gt; &gt; -PASS event.ports is non-null and zero length when no port sent
&gt; &gt; -PASS event.ports is non-null and zero length when empty array sent
&gt; &gt; -PASS event.ports contains two ports when two ports sent
&gt; &gt; -PASS event.ports contains two ports when two ports re-sent after error
&gt; &gt; -PASS Sending host object has thrown Error: DATA_CLONE_ERR: DOM Exception 25
&gt; &gt; -PASS send-port: transferred one port
&gt; &gt; -PASS send-port-twice: transferred one port twice
&gt; &gt; -PASS send-two-ports: transferred two ports
&gt; &gt; -
&gt; &gt; -TEST COMPLETE
&gt; &gt; -
&gt; 
&gt; You&apos;ve removed this -- presumably as the results are now identical, but in that case you need to add the new results file in the right place :D

I have updated the expected result at LayoutTests/fast/events/message-port-multi-expected.txt. Isn&apos;t it enough?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699940</commentid>
    <comment_count>8</comment_count>
      <attachid>159494</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-20 14:13:10 -0700</bug_when>
    <thetext>Comment on attachment 159494
Patch

Clearing flags on attachment: 159494

Committed r126067: &lt;http://trac.webkit.org/changeset/126067&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699941</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-20 14:13:15 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704207</commentid>
    <comment_count>10</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-08-24 10:17:59 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 159494 [details])
&gt; Clearing flags on attachment: 159494
&gt; 
&gt; Committed r126067: &lt;http://trac.webkit.org/changeset/126067&gt;

It caused an assertion on Qt-WK2 platform. Could you check it, please?
Here is the new bug report for it: https://bugs.webkit.org/show_bug.cgi?id=94949</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159476</attachid>
            <date>2012-08-20 11:09:27 -0700</date>
            <delta_ts>2012-08-20 12:46:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>94493_error_function_serialize.patch</filename>
            <type>text/plain</type>
            <size>9363</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjODhjOTNhLi4yYzQxNjcxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTItMDgt
MjAgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KKworICAg
ICAgICBbSlNDXSBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZSgpIHNob3VsZCB0aHJvdyBh
IERhdGFDbG9uZUVycm9yIGlmIGlucHV0IGlzIGFuIHVuc3VwcG9ydGVkIG5hdGl2ZSBvYmplY3QK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0NDkzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGNoZWNr
cyBmb3IgRnVuY3Rpb24gYW5kIEVycm9yIG9iamVjdHMgYXJndW1lbnRzIHRvCisgICAgICAgIE1l
c3NhZ2VQb3J0LnBvc3RNZXNzYWdlKCkgaW4gZmFzdC9ldmVudHMvbWVzc2FnZS1wb3J0LW11bHRp
Lmh0bWwuCisKKyAgICAgICAgQWNjb3JkaW5nIHRvIHRoZSBzdHJ1Y3R1cmVkIGNsb25lIHNwZWNp
ZmljYXRpb24sIHdlIHNob3VsZCB0aHJvdworICAgICAgICBhIERhdGFDbG9uZUVycm9yIGZvciBz
dWNoIGlucHV0IHR5cGVzLgorCisgICAgICAgICogZmFzdC9kb20vV2luZG93L2Fub255bW91cy1z
bG90LXdpdGgtY2hhbmdlcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vV2luZG93
L2Fub255bW91cy1zbG90LXdpdGgtY2hhbmdlcy5odG1sOiBVcGRhdGUgdGVzdCB0byBleHBlY3QK
KyAgICAgICAgdGhhdCBhbiBleGNlcHRpb24gaXMgdGhyb3duIHdoZW4gcGFzc2luZyBhIGZ1bmN0
aW9uIHRvIHBvc3RNZXNzYWdlKCkuCisgICAgICAgICogZmFzdC9ldmVudHMvbWVzc2FnZS1wb3J0
LW11bHRpLWV4cGVjdGVkLnR4dDogVXBkYXRlIGV4cGVjdGVkIHJlc3VsdAorICAgICAgICBhY2Nv
cmRpbmdseS4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9yZXNvdXJjZXMvbWVzc2FnZS1wb3J0LW11
bHRpLmpzOgorICAgICAgICAodGVzdFRyYW5zZmVycy50cnkuZjEpOgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRzL21lc3NhZ2UtcG9ydC1tdWx0aS1leHBlY3RlZC50eHQ6
IFVwZGF0ZQorICAgICAgICBleHBlY3RlZCByZXN1bHQgYWNjb3JkaW5nbHkuCisKIDIwMTItMDgt
MjAgICdQYXZlbCBGZWxkbWFuJyAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBO
b3QgcmV2aWV3ZWQ6IGZpeGluZyBmbGFreSBpbnNwZWN0b3IgdGVzdC4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9hbm9ueW1vdXMtc2xvdC13aXRoLWNoYW5nZXMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L2Fub255bW91cy1zbG90LXdp
dGgtY2hhbmdlcy1leHBlY3RlZC50eHQKaW5kZXggNzI4NGQ1MC4uNWI2MmFiMiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L2Fub255bW91cy1zbG90LXdpdGgtY2hhbmdl
cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L2Fub255bW91
cy1zbG90LXdpdGgtY2hhbmdlcy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw1IEBACiBUZXN0cyB0
aGF0IHdlIGNsb25lIG9iamVjdCBoaWVyYXJjaGllcworUEFTUzogJ3Bvc3RNZXNzYWdlKChmdW5j
dGlvbigpe30pKScgdGhyZXcgRXJyb3I6IERBVEFfQ0xPTkVfRVJSOiBET00gRXhjZXB0aW9uIDI1
CiBQQVNTOiBldmVudERhdGEgaXMgbnVsbCBvZiB0eXBlIG9iamVjdAogUEFTUzogZXZlbnREYXRh
IGlzIG51bGwgb2YgdHlwZSBvYmplY3QKIFBBU1M6IGV2ZW50RGF0YSBpcyBudWxsIG9mIHR5cGUg
b2JqZWN0CkBAIC00OSwxMSArNTAsNiBAQCBQQVNTOiBldmVudERhdGEgaXMgLCwxIG9mIHR5cGUg
b2JqZWN0CiBQQVNTOiBldmVudERhdGEgaXMgLCwxIG9mIHR5cGUgb2JqZWN0CiBQQVNTOiBldmVu
dERhdGEgaXMgLCwxIG9mIHR5cGUgb2JqZWN0CiBQQVNTOiBldmVudERhdGEgaXMgLCwxIG9mIHR5
cGUgb2JqZWN0Ci1QQVNTOiBldmVudERhdGEgaXMgbnVsbCBvZiB0eXBlIG9iamVjdAotUEFTUzog
ZXZlbnREYXRhIGlzIG51bGwgb2YgdHlwZSBvYmplY3QKLVBBU1M6IGV2ZW50RGF0YSBpcyBudWxs
IG9mIHR5cGUgb2JqZWN0Ci1QQVNTOiBldmVudERhdGEgaXMgbnVsbCBvZiB0eXBlIG9iamVjdAot
UEFTUzogZXZlbnREYXRhIGlzIG51bGwgb2YgdHlwZSBvYmplY3QKIFBBU1M6IGV2ZW50RGF0YSBp
cyAyMDA5LTAyLTEzVDIzOjMxOjMwLjAwMFogb2YgdHlwZSBvYmplY3QKIFBBU1M6IGV2ZW50RGF0
YSBpcyAyMDA5LTAyLTEzVDIzOjMxOjMwLjAwMFogb2YgdHlwZSBvYmplY3QKIFBBU1M6IGV2ZW50
RGF0YSBpcyAyMDA5LTAyLTEzVDIzOjMxOjMwLjAwMFogb2YgdHlwZSBvYmplY3QKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9hbm9ueW1vdXMtc2xvdC13aXRoLWNoYW5n
ZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9hbm9ueW1vdXMtc2xvdC13aXRo
LWNoYW5nZXMuaHRtbAppbmRleCBjMzUzMTQ4Li4wZGI1OTVkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9XaW5kb3cvYW5vbnltb3VzLXNsb3Qtd2l0aC1jaGFuZ2VzLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L2Fub255bW91cy1zbG90LXdpdGgtY2hhbmdl
cy5odG1sCkBAIC0xMjMsNyArMTIzLDcgQEAgdHJ5UG9zdE1lc3NhZ2UoJyh7YToxfSknKTsKIHRy
eVBvc3RNZXNzYWdlKCdbXScpOwogdHJ5UG9zdE1lc3NhZ2UoJ1sxLDIsM10nKTsKIHRyeVBvc3RN
ZXNzYWdlKCdbLCwxXScpOwotdHJ5UG9zdE1lc3NhZ2UoJyhmdW5jdGlvbigpe30pJywgZmFsc2Us
ICdudWxsJyk7Cit0cnlQb3N0TWVzc2FnZSgnKGZ1bmN0aW9uKCl7fSknLCB0cnVlKTsKIHRyeVBv
c3RNZXNzYWdlKCduZXcgRGF0ZSgxMjM0NTY3ODkwMDAwKScpOwogdHJ5UG9zdE1lc3NhZ2UoJyJk
b25lIicpOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9t
ZXNzYWdlLXBvcnQtbXVsdGktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
bWVzc2FnZS1wb3J0LW11bHRpLWV4cGVjdGVkLnR4dAppbmRleCBjMDdjODhiLi5kYjkzY2ViIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tZXNzYWdlLXBvcnQtbXVsdGktZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21lc3NhZ2UtcG9ydC1tdWx0
aS1leHBlY3RlZC50eHQKQEAgLTE1LDYgKzE1LDggQEAgUEFTUyBldmVudC5wb3J0cyBpcyBub24t
bnVsbCBhbmQgemVybyBsZW5ndGggd2hlbiBlbXB0eSBhcnJheSBzZW50CiBQQVNTIGV2ZW50LnBv
cnRzIGNvbnRhaW5zIHR3byBwb3J0cyB3aGVuIHR3byBwb3J0cyBzZW50CiBQQVNTIGV2ZW50LnBv
cnRzIGNvbnRhaW5zIHR3byBwb3J0cyB3aGVuIHR3byBwb3J0cyByZS1zZW50IGFmdGVyIGVycm9y
CiBQQVNTIFNlbmRpbmcgaG9zdCBvYmplY3QgaGFzIHRocm93biBUeXBlRXJyb3I6IFVuYWJsZSB0
byBkZXNlcmlhbGl6ZSBkYXRhLgorUEFTUyBTZW5kaW5nIEZ1bmN0aW9uIG9iamVjdCBoYXMgdGhy
b3duIEVycm9yOiBEQVRBX0NMT05FX0VSUjogRE9NIEV4Y2VwdGlvbiAyNQorUEFTUyBTZW5kaW5n
IEVycm9yIG9iamVjdCBoYXMgdGhyb3duIEVycm9yOiBEQVRBX0NMT05FX0VSUjogRE9NIEV4Y2Vw
dGlvbiAyNQogUEFTUyBzZW5kLXBvcnQ6IHRyYW5zZmVycmVkIG9uZSBwb3J0CiBQQVNTIHNlbmQt
cG9ydC10d2ljZTogdHJhbnNmZXJyZWQgb25lIHBvcnQgdHdpY2UKIFBBU1Mgc2VuZC10d28tcG9y
dHM6IHRyYW5zZmVycmVkIHR3byBwb3J0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvcmVzb3VyY2VzL21lc3NhZ2UtcG9ydC1tdWx0aS5qcyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL3Jlc291cmNlcy9tZXNzYWdlLXBvcnQtbXVsdGkuanMKaW5kZXggNzYxODAxNi4uZTE0
NDFhMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL21lc3Nh
Z2UtcG9ydC1tdWx0aS5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZXNvdXJjZXMv
bWVzc2FnZS1wb3J0LW11bHRpLmpzCkBAIC00OSw2ICs0OSwyNiBAQCBmdW5jdGlvbiB0ZXN0VHJh
bnNmZXJzKCkgewogICAgIH0gY2F0Y2goZSkgewogICAgICAgICB0ZXN0UGFzc2VkKCJTZW5kaW5n
IGhvc3Qgb2JqZWN0IGhhcyB0aHJvd24gIiArIGUpOwogICAgIH0KKyAgICB0cnkgeworICAgICAg
ICB2YXIgZjEgPSBmdW5jdGlvbigpIHt9CisgICAgICAgIGNoYW5uZWwwLnBvcnQxLndlYmtpdFBv
c3RNZXNzYWdlKHtpZDoiZnVuY3Rpb24tb2JqZWN0IiwgZnVuY3Rpb246ZjEsIHBvcnQ6YzQucG9y
dDF9LCBbYzQucG9ydDFdKTsKKyAgICAgICAgdGVzdEZhaWxlZCgiU2VuZGluZyBGdW5jdGlvbiBv
YmplY3Qgc2hvdWxkIHRocm93Iik7CisgICAgfSBjYXRjaChlKSB7CisgICAgICAgIGlmIChlLmNv
ZGUgPT0gRE9NRXhjZXB0aW9uLkRBVEFfQ0xPTkVfRVJSKQorICAgICAgICAgIHRlc3RQYXNzZWQo
IlNlbmRpbmcgRnVuY3Rpb24gb2JqZWN0IGhhcyB0aHJvd24gIiArIGUpOworICAgICAgICBlbHNl
CisgICAgICAgICAgdGVzdEZhaWxlZCgiU2VuZGluZyBGdW5jdGlvbiBvYmplY3Qgc2hvdWxkIHRo
cm93IGEgRGF0YUNsb25lRXJyb3IsIGdvdDogIiArIGUpOworICAgIH0KKyAgICB0cnkgeworICAg
ICAgICB2YXIgZXJyID0gbmV3IEVycm9yKCk7CisgICAgICAgIGNoYW5uZWwwLnBvcnQxLndlYmtp
dFBvc3RNZXNzYWdlKHtpZDoiZXJyb3Itb2JqZWN0IiwgZXJyb3I6ZXJyLCBwb3J0OmM0LnBvcnQx
fSwgW2M0LnBvcnQxXSk7CisgICAgICAgIHRlc3RGYWlsZWQoIlNlbmRpbmcgRXJyb3Igb2JqZWN0
IHNob3VsZCB0aHJvdyIpOworICAgIH0gY2F0Y2goZSkgeworICAgICAgICBpZiAoZS5jb2RlID09
IERPTUV4Y2VwdGlvbi5EQVRBX0NMT05FX0VSUikKKyAgICAgICAgICB0ZXN0UGFzc2VkKCJTZW5k
aW5nIEVycm9yIG9iamVjdCBoYXMgdGhyb3duICIgKyBlKTsKKyAgICAgICAgZWxzZQorICAgICAg
ICAgIHRlc3RQYXNzZWQoIlNlbmRpbmcgRXJyb3Igb2JqZWN0IHNob3VsZCB0aHJvdyBhIERhdGFD
bG9uZUVycm9yLCBnb3Q6ICIgKyBlKTsKKyAgICB9CiAgICAgYzQucG9ydDEucG9zdE1lc3NhZ2Uo
IlNob3VsZCBzdWNjZWVkIik7CiAgICAgY2hhbm5lbDAucG9ydDEud2Via2l0UG9zdE1lc3NhZ2Uo
e2lkOiJkb25lIn0pOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9mYXN0L2V2ZW50cy9tZXNzYWdlLXBvcnQtbXVsdGktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9ldmVudHMvbWVzc2FnZS1wb3J0LW11bHRpLWV4cGVj
dGVkLnR4dAppbmRleCA1MGRiOWZmLi44OGEyMmFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2V2ZW50cy9tZXNzYWdlLXBvcnQtbXVsdGktZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRzL21lc3Nh
Z2UtcG9ydC1tdWx0aS1leHBlY3RlZC50eHQKQEAgLTE1LDYgKzE1LDggQEAgUEFTUyBldmVudC5w
b3J0cyBpcyBub24tbnVsbCBhbmQgemVybyBsZW5ndGggd2hlbiBlbXB0eSBhcnJheSBzZW50CiBQ
QVNTIGV2ZW50LnBvcnRzIGNvbnRhaW5zIHR3byBwb3J0cyB3aGVuIHR3byBwb3J0cyBzZW50CiBQ
QVNTIGV2ZW50LnBvcnRzIGNvbnRhaW5zIHR3byBwb3J0cyB3aGVuIHR3byBwb3J0cyByZS1zZW50
IGFmdGVyIGVycm9yCiBQQVNTIFNlbmRpbmcgaG9zdCBvYmplY3QgaGFzIHRocm93biBFcnJvcjog
REFUQV9DTE9ORV9FUlI6IERPTSBFeGNlcHRpb24gMjUKK1BBU1MgU2VuZGluZyBGdW5jdGlvbiBv
YmplY3QgaGFzIHRocm93biBFcnJvcjogREFUQV9DTE9ORV9FUlI6IERPTSBFeGNlcHRpb24gMjUK
K1BBU1MgU2VuZGluZyBFcnJvciBvYmplY3QgaGFzIHRocm93biBFcnJvcjogREFUQV9DTE9ORV9F
UlI6IERPTSBFeGNlcHRpb24gMjUKIFBBU1Mgc2VuZC1wb3J0OiB0cmFuc2ZlcnJlZCBvbmUgcG9y
dAogUEFTUyBzZW5kLXBvcnQtdHdpY2U6IHRyYW5zZmVycmVkIG9uZSBwb3J0IHR3aWNlCiBQQVNT
IHNlbmQtdHdvLXBvcnRzOiB0cmFuc2ZlcnJlZCB0d28gcG9ydHMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxNGY4
NzU5Li41MDgzMzU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTItMDgtMjAgIENo
cmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KKworICAgICAgICBb
SlNDXSBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZSgpIHNob3VsZCB0aHJvdyBhIERhdGFD
bG9uZUVycm9yIGlmIGlucHV0IGlzIGFuIHVuc3VwcG9ydGVkIG5hdGl2ZSBvYmplY3QKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0NDkzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIEpTQyBpbXBs
ZW1lbnRhdGlvbiBmb3IgU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUoKSBzbyB0aGF0Cisg
ICAgICAgIGEgRGF0YUNsb25lRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIGlucHV0IHZhbHVlIGlz
IGFuIHVuc3VwcG9ydGVkCisgICAgICAgIG5hdGl2ZSBvYmplY3QgKGEgRnVuY3Rpb24gb3IgYW4g
RXJyb3IpLiBUaGUgcHJldmlvdXMgaW1wbGVtZW50YXRpb24KKyAgICAgICAgd2FzIG5vdCB0aHJv
d2luZyBhbnkgZXJyb3IuCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgaXMgYWNjb3JkaW5nIHRvIHRo
ZSBzdHJ1Y3R1cmVkIGNsb25lIHNwZWNpZmljYXRpb24gYXQ6CisgICAgICAgIGh0dHA6Ly93d3cu
dzMub3JnL1RSL2h0bWw1L2NvbW1vbi1kb20taW50ZXJmYWNlcy5odG1sI3N0cnVjdHVyZWQtY2xv
bmUKKworICAgICAgICBUaGlzIGFsc28gbWF0Y2hlcyB0aGUgY29ycmVzcG9uZGluZyBWOCBpbXBs
ZW1lbnRhdGlvbi4KKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50cy9tZXNzYWdlLXBvcnQtbXVs
dGkuaHRtbC4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDbG9uZVNlcmlhbGl6ZXI6OmR1bXBJZlRlcm1pbmFsKToK
KyAgICAgICAgKFdlYkNvcmU6OlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6bWF5YmVUaHJvd0V4Y2Vw
dGlvbklmU2VyaWFsaXphdGlvbkZhaWxlZCk6CisgICAgICAgICogYmluZGluZ3MvanMvU2VyaWFs
aXplZFNjcmlwdFZhbHVlLmg6CisKIDIwMTItMDgtMjAgIFhhbiBMb3BleiAgPHhsb3BlekBpZ2Fs
aWEuY29tPgogCiAgICAgICAgIFtHVEtdIFByb3ZpZGUgYmFja3dhcmRzIGNvbXBhdGlibGUgbWV0
aG9kIGZvciBXZWJLaXRET01XZWJLaXROYW1lZEZsb3c6Om92ZXJmbG93CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcAppbmRleCAy
YjQ3ZDRiLi4yOTlkZThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
ZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKQEAgLTY3Niw2ICs2NzYsMTMgQEAgcHJpdmF0ZToK
ICAgICAgICAgICAgICAgICByZWNvcmRPYmplY3Qob2JqKTsKICAgICAgICAgICAgICAgICByZXR1
cm4gc3VjY2VzczsKICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChvYmotPmlzRXJyb3JJ
bnN0YW5jZSgpIHx8IG9iai0+aW5oZXJpdHMoJkpTRnVuY3Rpb246OnNfaW5mbykpIHsKKyAgICAg
ICAgICAgICAgICAvLyBBY2NvcmRpbmcgdG8gc3BlY2lmaWNhdGlvbiwgd2Ugc2hvdWxkIHRocm93
IGEgRGF0YUNsb25lRXJyb3IKKyAgICAgICAgICAgICAgICAvLyBpZiB0aGUgaW5wdXQgaXMgYW4g
dW5zdXBwb3J0ZWQgbmF0aXZlIG9iamVjdCAoYW4gRXJyb3Igb3IgYQorICAgICAgICAgICAgICAg
IC8vIEZ1bmN0aW9uKS4KKyAgICAgICAgICAgICAgICBjb2RlID0gRGF0YUNsb25lRXJyb3I7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICB9CiAKICAgICAgICAgICAg
IENhbGxEYXRhIHVudXNlZERhdGE7CiAgICAgICAgICAgICBpZiAoZ2V0Q2FsbERhdGEodmFsdWUs
IHVudXNlZERhdGEpID09IENhbGxUeXBlTm9uZSkKQEAgLTE5MjAsNiArMTkyNyw5IEBAIHZvaWQg
U2VyaWFsaXplZFNjcmlwdFZhbHVlOjptYXliZVRocm93RXhjZXB0aW9uSWZTZXJpYWxpemF0aW9u
RmFpbGVkKEV4ZWNTdGF0ZSoKICAgICBjYXNlIFZhbGlkYXRpb25FcnJvcjoKICAgICAgICAgdGhy
b3dFcnJvcihleGVjLCBjcmVhdGVUeXBlRXJyb3IoZXhlYywgIlVuYWJsZSB0byBkZXNlcmlhbGl6
ZSBkYXRhLiIpKTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBEYXRhQ2xvbmVFcnJvcjoKKyAg
ICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIERBVEFfQ0xPTkVfRVJSKTsKKyAgICAgICAgYnJl
YWs7CiAgICAgY2FzZSBFeGlzdGluZ0V4Y2VwdGlvbkVycm9yOgogICAgICAgICBicmVhazsKICAg
ICBjYXNlIFVuc3BlY2lmaWVkRXJyb3I6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oCmluZGV4IDk5YmExYzEuLmFiOTk4OTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5o
CkBAIC01MSw2ICs1MSw3IEBAIGVudW0gU2VyaWFsaXphdGlvblJldHVybkNvZGUgewogICAgIElu
dGVycnVwdGVkRXhlY3V0aW9uRXJyb3IsCiAgICAgVmFsaWRhdGlvbkVycm9yLAogICAgIEV4aXN0
aW5nRXhjZXB0aW9uRXJyb3IsCisgICAgRGF0YUNsb25lRXJyb3IsCiAgICAgVW5zcGVjaWZpZWRF
cnJvcgogfTsKICAgICAK
</data>
<flag name="review"
          id="169787"
          type_id="1"
          status="-"
          setter="oliver"
    />
    <flag name="commit-queue"
          id="169788"
          type_id="3"
          status="-"
          setter="oliver"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159492</attachid>
            <date>2012-08-20 12:46:29 -0700</date>
            <delta_ts>2012-08-20 12:53:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>94493_error_function_serialize.patch</filename>
            <type>text/plain</type>
            <size>12232</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjODhjOTNhLi42MzkzOTQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTItMDgt
MjAgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KKworICAg
ICAgICBbSlNDXSBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZSgpIHNob3VsZCB0aHJvdyBh
IERhdGFDbG9uZUVycm9yIGlmIGlucHV0IGlzIGFuIHVuc3VwcG9ydGVkIG9iamVjdAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ0OTMKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgY2hlY2tzIGZvciBG
dW5jdGlvbiwgRXJyb3IgYW5kIGhvc3Qgb2JqZWN0cyBhcmd1bWVudHMgdG8KKyAgICAgICAgTWVz
c2FnZVBvcnQucG9zdE1lc3NhZ2UoKSBpbiBmYXN0L2V2ZW50cy9tZXNzYWdlLXBvcnQtbXVsdGku
aHRtbC4KKworICAgICAgICBBY2NvcmRpbmcgdG8gdGhlIHN0cnVjdHVyZWQgY2xvbmUgc3BlY2lm
aWNhdGlvbiwgd2Ugc2hvdWxkIHRocm93CisgICAgICAgIGEgRGF0YUNsb25lRXJyb3IgZm9yIHN1
Y2ggaW5wdXQgdHlwZXMuCisKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvYW5vbnltb3VzLXNs
b3Qtd2l0aC1jaGFuZ2VzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cv
YW5vbnltb3VzLXNsb3Qtd2l0aC1jaGFuZ2VzLmh0bWw6IFVwZGF0ZSB0ZXN0IHRvIGV4cGVjdAor
ICAgICAgICBhbiBleGNlcHRpb24gd2hlbiBwYXNzaW5nIGEgZnVuY3Rpb24gdG8gcG9zdE1lc3Nh
Z2UoKS4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9tZXNzYWdlLXBvcnQtbXVsdGktZXhwZWN0ZWQu
dHh0OiBVcGRhdGUgZXhwZWN0ZWQgcmVzdWx0CisgICAgICAgIGFjY29yZGluZ2x5LgorICAgICAg
ICAqIGZhc3QvZXZlbnRzL3Jlc291cmNlcy9tZXNzYWdlLXBvcnQtbXVsdGkuanM6CisgICAgICAg
ICh0ZXN0VHJhbnNmZXJzLnRyeS5mMSk6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vZmFz
dC9ldmVudHMvbWVzc2FnZS1wb3J0LW11bHRpLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAg
ICAgTm93IGlkZW50aWNhbCB0byBnbG9iYWwgZXhwZWN0YXRpb24uCisKIDIwMTItMDgtMjAgICdQ
YXZlbCBGZWxkbWFuJyAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBOb3QgcmV2
aWV3ZWQ6IGZpeGluZyBmbGFreSBpbnNwZWN0b3IgdGVzdC4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL1dpbmRvdy9hbm9ueW1vdXMtc2xvdC13aXRoLWNoYW5nZXMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L2Fub255bW91cy1zbG90LXdpdGgtY2hh
bmdlcy1leHBlY3RlZC50eHQKaW5kZXggNzI4NGQ1MC4uNWI2MmFiMiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L2Fub255bW91cy1zbG90LXdpdGgtY2hhbmdlcy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L2Fub255bW91cy1zbG90
LXdpdGgtY2hhbmdlcy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw1IEBACiBUZXN0cyB0aGF0IHdl
IGNsb25lIG9iamVjdCBoaWVyYXJjaGllcworUEFTUzogJ3Bvc3RNZXNzYWdlKChmdW5jdGlvbigp
e30pKScgdGhyZXcgRXJyb3I6IERBVEFfQ0xPTkVfRVJSOiBET00gRXhjZXB0aW9uIDI1CiBQQVNT
OiBldmVudERhdGEgaXMgbnVsbCBvZiB0eXBlIG9iamVjdAogUEFTUzogZXZlbnREYXRhIGlzIG51
bGwgb2YgdHlwZSBvYmplY3QKIFBBU1M6IGV2ZW50RGF0YSBpcyBudWxsIG9mIHR5cGUgb2JqZWN0
CkBAIC00OSwxMSArNTAsNiBAQCBQQVNTOiBldmVudERhdGEgaXMgLCwxIG9mIHR5cGUgb2JqZWN0
CiBQQVNTOiBldmVudERhdGEgaXMgLCwxIG9mIHR5cGUgb2JqZWN0CiBQQVNTOiBldmVudERhdGEg
aXMgLCwxIG9mIHR5cGUgb2JqZWN0CiBQQVNTOiBldmVudERhdGEgaXMgLCwxIG9mIHR5cGUgb2Jq
ZWN0Ci1QQVNTOiBldmVudERhdGEgaXMgbnVsbCBvZiB0eXBlIG9iamVjdAotUEFTUzogZXZlbnRE
YXRhIGlzIG51bGwgb2YgdHlwZSBvYmplY3QKLVBBU1M6IGV2ZW50RGF0YSBpcyBudWxsIG9mIHR5
cGUgb2JqZWN0Ci1QQVNTOiBldmVudERhdGEgaXMgbnVsbCBvZiB0eXBlIG9iamVjdAotUEFTUzog
ZXZlbnREYXRhIGlzIG51bGwgb2YgdHlwZSBvYmplY3QKIFBBU1M6IGV2ZW50RGF0YSBpcyAyMDA5
LTAyLTEzVDIzOjMxOjMwLjAwMFogb2YgdHlwZSBvYmplY3QKIFBBU1M6IGV2ZW50RGF0YSBpcyAy
MDA5LTAyLTEzVDIzOjMxOjMwLjAwMFogb2YgdHlwZSBvYmplY3QKIFBBU1M6IGV2ZW50RGF0YSBp
cyAyMDA5LTAyLTEzVDIzOjMxOjMwLjAwMFogb2YgdHlwZSBvYmplY3QKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9hbm9ueW1vdXMtc2xvdC13aXRoLWNoYW5nZXMuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9hbm9ueW1vdXMtc2xvdC13aXRoLWNoYW5n
ZXMuaHRtbAppbmRleCBjMzUzMTQ4Li4wZGI1OTVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9XaW5kb3cvYW5vbnltb3VzLXNsb3Qtd2l0aC1jaGFuZ2VzLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L2Fub255bW91cy1zbG90LXdpdGgtY2hhbmdlcy5odG1s
CkBAIC0xMjMsNyArMTIzLDcgQEAgdHJ5UG9zdE1lc3NhZ2UoJyh7YToxfSknKTsKIHRyeVBvc3RN
ZXNzYWdlKCdbXScpOwogdHJ5UG9zdE1lc3NhZ2UoJ1sxLDIsM10nKTsKIHRyeVBvc3RNZXNzYWdl
KCdbLCwxXScpOwotdHJ5UG9zdE1lc3NhZ2UoJyhmdW5jdGlvbigpe30pJywgZmFsc2UsICdudWxs
Jyk7Cit0cnlQb3N0TWVzc2FnZSgnKGZ1bmN0aW9uKCl7fSknLCB0cnVlKTsKIHRyeVBvc3RNZXNz
YWdlKCduZXcgRGF0ZSgxMjM0NTY3ODkwMDAwKScpOwogdHJ5UG9zdE1lc3NhZ2UoJyJkb25lIicp
OwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tZXNzYWdl
LXBvcnQtbXVsdGktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbWVzc2Fn
ZS1wb3J0LW11bHRpLWV4cGVjdGVkLnR4dAppbmRleCBjMDdjODhiLi5jMzRlZmNhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tZXNzYWdlLXBvcnQtbXVsdGktZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21lc3NhZ2UtcG9ydC1tdWx0aS1leHBl
Y3RlZC50eHQKQEAgLTE0LDcgKzE0LDEwIEBAIFBBU1MgZXZlbnQucG9ydHMgaXMgbm9uLW51bGwg
YW5kIHplcm8gbGVuZ3RoIHdoZW4gbm8gcG9ydCBzZW50CiBQQVNTIGV2ZW50LnBvcnRzIGlzIG5v
bi1udWxsIGFuZCB6ZXJvIGxlbmd0aCB3aGVuIGVtcHR5IGFycmF5IHNlbnQKIFBBU1MgZXZlbnQu
cG9ydHMgY29udGFpbnMgdHdvIHBvcnRzIHdoZW4gdHdvIHBvcnRzIHNlbnQKIFBBU1MgZXZlbnQu
cG9ydHMgY29udGFpbnMgdHdvIHBvcnRzIHdoZW4gdHdvIHBvcnRzIHJlLXNlbnQgYWZ0ZXIgZXJy
b3IKLVBBU1MgU2VuZGluZyBob3N0IG9iamVjdCBoYXMgdGhyb3duIFR5cGVFcnJvcjogVW5hYmxl
IHRvIGRlc2VyaWFsaXplIGRhdGEuCitQQVNTIFNlbmRpbmcgaG9zdCBvYmplY3QgaGFzIHRocm93
biBFcnJvcjogREFUQV9DTE9ORV9FUlI6IERPTSBFeGNlcHRpb24gMjUKK1BBU1MgU2VuZGluZyBo
b3N0IG9iamVjdCBoYXMgdGhyb3duIEVycm9yOiBEQVRBX0NMT05FX0VSUjogRE9NIEV4Y2VwdGlv
biAyNQorUEFTUyBTZW5kaW5nIEZ1bmN0aW9uIG9iamVjdCBoYXMgdGhyb3duIEVycm9yOiBEQVRB
X0NMT05FX0VSUjogRE9NIEV4Y2VwdGlvbiAyNQorUEFTUyBTZW5kaW5nIEVycm9yIG9iamVjdCBo
YXMgdGhyb3duIEVycm9yOiBEQVRBX0NMT05FX0VSUjogRE9NIEV4Y2VwdGlvbiAyNQogUEFTUyBz
ZW5kLXBvcnQ6IHRyYW5zZmVycmVkIG9uZSBwb3J0CiBQQVNTIHNlbmQtcG9ydC10d2ljZTogdHJh
bnNmZXJyZWQgb25lIHBvcnQgdHdpY2UKIFBBU1Mgc2VuZC10d28tcG9ydHM6IHRyYW5zZmVycmVk
IHR3byBwb3J0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2Vz
L21lc3NhZ2UtcG9ydC1tdWx0aS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc291cmNl
cy9tZXNzYWdlLXBvcnQtbXVsdGkuanMKaW5kZXggNzYxODAxNi4uZjAyZWQ1OSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL21lc3NhZ2UtcG9ydC1tdWx0aS5q
cworKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZXNvdXJjZXMvbWVzc2FnZS1wb3J0LW11
bHRpLmpzCkBAIC00Nyw3ICs0NywzOSBAQCBmdW5jdGlvbiB0ZXN0VHJhbnNmZXJzKCkgewogICAg
ICAgICBjaGFubmVsMC5wb3J0MS53ZWJraXRQb3N0TWVzc2FnZSh7aWQ6Imhvc3Qtb2JqZWN0Iiwg
aG9zdE9iamVjdDpjMywgcG9ydDpjNC5wb3J0MX0sIFtjNC5wb3J0MV0pOwogICAgICAgICB0ZXN0
RmFpbGVkKCJTZW5kaW5nIGhvc3Qgb2JqZWN0IHNob3VsZCB0aHJvdyIpOwogICAgIH0gY2F0Y2go
ZSkgewotICAgICAgICB0ZXN0UGFzc2VkKCJTZW5kaW5nIGhvc3Qgb2JqZWN0IGhhcyB0aHJvd24g
IiArIGUpOworICAgICAgICBpZiAoZS5jb2RlID09IERPTUV4Y2VwdGlvbi5EQVRBX0NMT05FX0VS
UikKKyAgICAgICAgICB0ZXN0UGFzc2VkKCJTZW5kaW5nIGhvc3Qgb2JqZWN0IGhhcyB0aHJvd24g
IiArIGUpOworICAgICAgICBlbHNlCisgICAgICAgICAgdGVzdEZhaWxlZCgiU2VuZGluZyBob3N0
IG9iamVjdCBzaG91bGQgdGhyb3cgYSBEYXRhQ2xvbmVFcnJvciwgZ290OiAiICsgZSk7CisgICAg
fQorICAgIHRyeSB7CisgICAgICAgIGNoYW5uZWwwLnBvcnQxLndlYmtpdFBvc3RNZXNzYWdlKHtp
ZDoiaG9zdC1vYmplY3QyIiwgaG9zdE9iamVjdDpuYXZpZ2F0b3IsIHBvcnQ6YzQucG9ydDF9LCBb
YzQucG9ydDFdKTsKKyAgICAgICAgdGVzdEZhaWxlZCgiU2VuZGluZyBob3N0IG9iamVjdCBzaG91
bGQgdGhyb3ciKTsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgaWYgKGUuY29kZSA9PSBET01F
eGNlcHRpb24uREFUQV9DTE9ORV9FUlIpCisgICAgICAgICAgdGVzdFBhc3NlZCgiU2VuZGluZyBo
b3N0IG9iamVjdCBoYXMgdGhyb3duICIgKyBlKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgIHRl
c3RGYWlsZWQoIlNlbmRpbmcgaG9zdCBvYmplY3Qgc2hvdWxkIHRocm93IGEgRGF0YUNsb25lRXJy
b3IsIGdvdDogIiArIGUpOworICAgIH0KKyAgICB0cnkgeworICAgICAgICB2YXIgZjEgPSBmdW5j
dGlvbigpIHt9CisgICAgICAgIGNoYW5uZWwwLnBvcnQxLndlYmtpdFBvc3RNZXNzYWdlKHtpZDoi
ZnVuY3Rpb24tb2JqZWN0IiwgZnVuY3Rpb246ZjEsIHBvcnQ6YzQucG9ydDF9LCBbYzQucG9ydDFd
KTsKKyAgICAgICAgdGVzdEZhaWxlZCgiU2VuZGluZyBGdW5jdGlvbiBvYmplY3Qgc2hvdWxkIHRo
cm93Iik7CisgICAgfSBjYXRjaChlKSB7CisgICAgICAgIGlmIChlLmNvZGUgPT0gRE9NRXhjZXB0
aW9uLkRBVEFfQ0xPTkVfRVJSKQorICAgICAgICAgIHRlc3RQYXNzZWQoIlNlbmRpbmcgRnVuY3Rp
b24gb2JqZWN0IGhhcyB0aHJvd24gIiArIGUpOworICAgICAgICBlbHNlCisgICAgICAgICAgdGVz
dEZhaWxlZCgiU2VuZGluZyBGdW5jdGlvbiBvYmplY3Qgc2hvdWxkIHRocm93IGEgRGF0YUNsb25l
RXJyb3IsIGdvdDogIiArIGUpOworICAgIH0KKyAgICB0cnkgeworICAgICAgICB2YXIgZXJyID0g
bmV3IEVycm9yKCk7CisgICAgICAgIGNoYW5uZWwwLnBvcnQxLndlYmtpdFBvc3RNZXNzYWdlKHtp
ZDoiZXJyb3Itb2JqZWN0IiwgZXJyb3I6ZXJyLCBwb3J0OmM0LnBvcnQxfSwgW2M0LnBvcnQxXSk7
CisgICAgICAgIHRlc3RGYWlsZWQoIlNlbmRpbmcgRXJyb3Igb2JqZWN0IHNob3VsZCB0aHJvdyIp
OworICAgIH0gY2F0Y2goZSkgeworICAgICAgICBpZiAoZS5jb2RlID09IERPTUV4Y2VwdGlvbi5E
QVRBX0NMT05FX0VSUikKKyAgICAgICAgICB0ZXN0UGFzc2VkKCJTZW5kaW5nIEVycm9yIG9iamVj
dCBoYXMgdGhyb3duICIgKyBlKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgIHRlc3RQYXNzZWQo
IlNlbmRpbmcgRXJyb3Igb2JqZWN0IHNob3VsZCB0aHJvdyBhIERhdGFDbG9uZUVycm9yLCBnb3Q6
ICIgKyBlKTsKICAgICB9CiAgICAgYzQucG9ydDEucG9zdE1lc3NhZ2UoIlNob3VsZCBzdWNjZWVk
Iik7CiAgICAgY2hhbm5lbDAucG9ydDEud2Via2l0UG9zdE1lc3NhZ2Uoe2lkOiJkb25lIn0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9ldmVudHMvbWVz
c2FnZS1wb3J0LW11bHRpLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL2Zhc3QvZXZlbnRzL21lc3NhZ2UtcG9ydC1tdWx0aS1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUwZGI5ZmYuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vZmFzdC9ldmVudHMvbWVzc2FnZS1wb3J0LW11bHRpLWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIzICswLDAgQEAKLVRoaXMgdGVzdCBjaGVja3MgdGhl
IHZhcmlvdXMgdXNlIGNhc2VzIGFyb3VuZCBzZW5kaW5nIG11bHRpcGxlIHBvcnRzIHRocm91Z2gg
TWVzc2FnZVBvcnQucG9zdE1lc3NhZ2UKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0K
LVBBU1MgY2hhbm5lbC5wb3J0MS5wb3N0TWVzc2FnZSgic2FtZSBwb3J0IiwgW2NoYW5uZWwucG9y
dDFdKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfQ0xPTkVfRVJSOiBET00gRXhjZXB0aW9u
IDI1LgotUEFTUyBjaGFubmVsLnBvcnQxLnBvc3RNZXNzYWdlKCJlbnRhbmdsZWQgcG9ydCIsIFtj
aGFubmVsLnBvcnQyXSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0NMT05FX0VSUjogRE9N
IEV4Y2VwdGlvbiAyNS4KLVBBU1MgY2hhbm5lbC5wb3J0MS5wb3N0TWVzc2FnZSgibnVsbCBwb3J0
IiwgW2NoYW5uZWwzLnBvcnQxLCBudWxsLCBjaGFubmVsMy5wb3J0Ml0pIHRocmV3IGV4Y2VwdGlv
biBFcnJvcjogREFUQV9DTE9ORV9FUlI6IERPTSBFeGNlcHRpb24gMjUuCi1QQVNTIGNoYW5uZWwu
cG9ydDEucG9zdE1lc3NhZ2UoIm5vdEFQb3J0IiwgW2NoYW5uZWwzLnBvcnQxLCB7fSwgY2hhbm5l
bDMucG9ydDJdKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBj
aGFubmVsLnBvcnQxLnBvc3RNZXNzYWdlKCJub3RBbkFycmF5IiwgY2hhbm5lbDMucG9ydDEpIHRo
cmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIGNoYW5uZWwucG9ydDEu
cG9zdE1lc3NhZ2UoIm5vdEFTZXF1ZW5jZSIsIFt7bGVuZ3RoOiAzfV0pIHRocmV3IGV4Y2VwdGlv
biBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIGNoYW5uZWwucG9ydDEucG9zdE1lc3NhZ2Uo
ImxhcmdlU2VxdWVuY2UiLCBsYXJnZVBvcnRBcnJheSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBE
QVRBX0NMT05FX0VSUjogRE9NIEV4Y2VwdGlvbiAyNS4KLVBBU1MgZXZlbnQucG9ydHMgaXMgbm9u
LW51bGwgYW5kIHplcm8gbGVuZ3RoIHdoZW4gbm8gcG9ydCBzZW50Ci1QQVNTIGV2ZW50LnBvcnRz
IGlzIG5vbi1udWxsIGFuZCB6ZXJvIGxlbmd0aCB3aGVuIGVtcHR5IGFycmF5IHNlbnQKLVBBU1Mg
ZXZlbnQucG9ydHMgY29udGFpbnMgdHdvIHBvcnRzIHdoZW4gdHdvIHBvcnRzIHNlbnQKLVBBU1Mg
ZXZlbnQucG9ydHMgY29udGFpbnMgdHdvIHBvcnRzIHdoZW4gdHdvIHBvcnRzIHJlLXNlbnQgYWZ0
ZXIgZXJyb3IKLVBBU1MgU2VuZGluZyBob3N0IG9iamVjdCBoYXMgdGhyb3duIEVycm9yOiBEQVRB
X0NMT05FX0VSUjogRE9NIEV4Y2VwdGlvbiAyNQotUEFTUyBzZW5kLXBvcnQ6IHRyYW5zZmVycmVk
IG9uZSBwb3J0Ci1QQVNTIHNlbmQtcG9ydC10d2ljZTogdHJhbnNmZXJyZWQgb25lIHBvcnQgdHdp
Y2UKLVBBU1Mgc2VuZC10d28tcG9ydHM6IHRyYW5zZmVycmVkIHR3byBwb3J0cwotCi1URVNUIENP
TVBMRVRFCi0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxNGY4NzU5Li40MDc5MTUyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjcgQEAKKzIwMTItMDgtMjAgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1
bWV6QGludGVsLmNvbT4KKworICAgICAgICBbSlNDXSBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNy
ZWF0ZSgpIHNob3VsZCB0aHJvdyBhIERhdGFDbG9uZUVycm9yIGlmIGlucHV0IGlzIGFuIHVuc3Vw
cG9ydGVkIG9iamVjdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTQ0OTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBVcGRhdGUgSlNDIGltcGxlbWVudGF0aW9uIGZvciBTZXJpYWxpemVkU2NyaXB0VmFsdWU6
OmNyZWF0ZSgpIHNvIHRoYXQKKyAgICAgICAgYSBEYXRhQ2xvbmVFcnJvciBpcyB0aHJvd24gd2hl
biB0aGUgaW5wdXQgdmFsdWUgaXMgYW4gdW5zdXBwb3J0ZWQKKyAgICAgICAgb2JqZWN0LiBUaGUg
cHJldmlvdXMgaW1wbGVtZW50YXRpb24gd2FzIG5vdCB0aHJvd2luZyBhbnkgZXJyb3IuCisKKyAg
ICAgICAgVGhpcyBjaGFuZ2UgaXMgYWNjb3JkaW5nIHRvIHRoZSBzdHJ1Y3R1cmVkIGNsb25lIHNw
ZWNpZmljYXRpb24gYXQ6CisgICAgICAgIGh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw1L2NvbW1v
bi1kb20taW50ZXJmYWNlcy5odG1sI3N0cnVjdHVyZWQtY2xvbmUKKworICAgICAgICBUaGlzIGFs
c28gbWF0Y2hlcyB0aGUgY29ycmVzcG9uZGluZyBWOCBpbXBsZW1lbnRhdGlvbi4KKworICAgICAg
ICBUZXN0OiBmYXN0L2V2ZW50cy9tZXNzYWdlLXBvcnQtbXVsdGkuaHRtbC4KKworICAgICAgICAq
IGJpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDbG9uZVNlcmlhbGl6ZXI6OmR1bXBJZlRlcm1pbmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkNs
b25lU2VyaWFsaXplcjo6c2VyaWFsaXplKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZTo6bWF5YmVUaHJvd0V4Y2VwdGlvbklmU2VyaWFsaXphdGlvbkZhaWxlZCk6Cisg
ICAgICAgICogYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmg6CisKIDIwMTItMDgt
MjAgIFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIFByb3Zp
ZGUgYmFja3dhcmRzIGNvbXBhdGlibGUgbWV0aG9kIGZvciBXZWJLaXRET01XZWJLaXROYW1lZEZs
b3c6Om92ZXJmbG93CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJp
YWxpemVkU2NyaXB0VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFs
aXplZFNjcmlwdFZhbHVlLmNwcAppbmRleCAyYjQ3ZDRiLi4xYjRmYjUwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKQEAg
LTU4MiwxMyArNTgyLDYgQEAgcHJpdmF0ZToKIAogICAgICAgICBpZiAoaXNBcnJheSh2YWx1ZSkp
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgIAotICAgICAgICAvLyBPYmpl
Y3QgY2Fubm90IGJlIHNlcmlhbGl6ZWQgYmVjYXVzZSB0aGUgYWN0IG9mIHdhbGtpbmcgdGhlIG9i
amVjdCBjcmVhdGVzIG5ldyBvYmplY3RzCi0gICAgICAgIGlmICh2YWx1ZS5pc09iamVjdCgpICYm
IGFzT2JqZWN0KHZhbHVlKS0+aW5oZXJpdHMoJkpTTmF2aWdhdG9yOjpzX2luZm8pKSB7Ci0gICAg
ICAgICAgICBmYWlsKCk7Ci0gICAgICAgICAgICB3cml0ZShOdWxsVGFnKTsKLSAgICAgICAgICAg
IHJldHVybiB0cnVlOyAKLSAgICAgICAgfQogCiAgICAgICAgIGlmICh2YWx1ZS5pc09iamVjdCgp
KSB7CiAgICAgICAgICAgICBKU09iamVjdCogb2JqID0gYXNPYmplY3QodmFsdWUpOwpAQCAtNjc3
LDkgKzY3MCw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgcmV0dXJuIHN1Y2Nlc3M7CiAg
ICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIENhbGxEYXRhIHVudXNlZERhdGE7Ci0gICAgICAg
ICAgICBpZiAoZ2V0Q2FsbERhdGEodmFsdWUsIHVudXNlZERhdGEpID09IENhbGxUeXBlTm9uZSkK
LSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgICAgIH0KICAgICAgICAgLy8gQW55IG90aGVyIHR5cGVzIGFyZSBleHBlY3RlZCB0byBz
ZXJpYWxpemUgYXMgbnVsbC4KICAgICAgICAgd3JpdGUoTnVsbFRhZyk7CkBAIC04OTgsNiArODg5
LDEyIEBAIFNlcmlhbGl6YXRpb25SZXR1cm5Db2RlIENsb25lU2VyaWFsaXplcjo6c2VyaWFsaXpl
KEpTVmFsdWUgaW4pCiAgICAgICAgICAgICAgICAgSlNPYmplY3QqIGluT2JqZWN0ID0gYXNPYmpl
Y3QoaW5WYWx1ZSk7CiAgICAgICAgICAgICAgICAgaWYgKCFzdGFydE9iamVjdChpbk9iamVjdCkp
CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIC8vIEF0IHRoaXMg
cG9pbnQsIGFsbCBzdXBwb3J0ZWQgb2JqZWN0cyBvdGhlciB0aGFuIE9iamVjdAorICAgICAgICAg
ICAgICAgIC8vIG9iamVjdHMgaGF2ZSBiZWVuIGhhbmRsZWQuIElmIHRoZSByZWFjaCB0aGlzIHBv
aW50IGFuCisgICAgICAgICAgICAgICAgLy8gdGhlIGlucHV0IGlzIG5vdCBhbiBPYmplY3Qgb2Jq
ZWN0IHRoZW4gd2Ugc2hvdWxkIHRocm93CisgICAgICAgICAgICAgICAgLy8gYSBEYXRhQ2xvbmVF
cnJvci4KKyAgICAgICAgICAgICAgICBpZiAoaW5PYmplY3QtPmNsYXNzSW5mbygpICE9ICZKU0Zp
bmFsT2JqZWN0OjpzX2luZm8pCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBEYXRhQ2xvbmVF
cnJvcjsKICAgICAgICAgICAgICAgICBpbnB1dE9iamVjdFN0YWNrLmFwcGVuZChpbk9iamVjdCk7
CiAgICAgICAgICAgICAgICAgaW5kZXhTdGFjay5hcHBlbmQoMCk7CiAgICAgICAgICAgICAgICAg
cHJvcGVydHlTdGFjay5hcHBlbmQoUHJvcGVydHlOYW1lQXJyYXkobV9leGVjKSk7CkBAIC0xOTIw
LDYgKzE5MTcsOSBAQCB2b2lkIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6bWF5YmVUaHJvd0V4Y2Vw
dGlvbklmU2VyaWFsaXphdGlvbkZhaWxlZChFeGVjU3RhdGUqCiAgICAgY2FzZSBWYWxpZGF0aW9u
RXJyb3I6CiAgICAgICAgIHRocm93RXJyb3IoZXhlYywgY3JlYXRlVHlwZUVycm9yKGV4ZWMsICJV
bmFibGUgdG8gZGVzZXJpYWxpemUgZGF0YS4iKSk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2Ug
RGF0YUNsb25lRXJyb3I6CisgICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBEQVRBX0NMT05F
X0VSUik7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgRXhpc3RpbmdFeGNlcHRpb25FcnJvcjoK
ICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBVbnNwZWNpZmllZEVycm9yOgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuaAppbmRleCA5OWJh
MWMxLi5hYjk5ODk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJp
YWxpemVkU2NyaXB0VmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJp
YWxpemVkU2NyaXB0VmFsdWUuaApAQCAtNTEsNiArNTEsNyBAQCBlbnVtIFNlcmlhbGl6YXRpb25S
ZXR1cm5Db2RlIHsKICAgICBJbnRlcnJ1cHRlZEV4ZWN1dGlvbkVycm9yLAogICAgIFZhbGlkYXRp
b25FcnJvciwKICAgICBFeGlzdGluZ0V4Y2VwdGlvbkVycm9yLAorICAgIERhdGFDbG9uZUVycm9y
LAogICAgIFVuc3BlY2lmaWVkRXJyb3IKIH07CiAgICAgCg==
</data>
<flag name="review"
          id="169811"
          type_id="1"
          status="+"
          setter="oliver"
    />
    <flag name="commit-queue"
          id="169812"
          type_id="3"
          status="-"
          setter="oliver"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159494</attachid>
            <date>2012-08-20 12:53:16 -0700</date>
            <delta_ts>2012-08-20 14:13:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>94493_error_function_serialize.patch</filename>
            <type>text/plain</type>
            <size>12232</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjODhjOTNhLi42MzkzOTQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTItMDgt
MjAgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KKworICAg
ICAgICBbSlNDXSBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZSgpIHNob3VsZCB0aHJvdyBh
IERhdGFDbG9uZUVycm9yIGlmIGlucHV0IGlzIGFuIHVuc3VwcG9ydGVkIG9iamVjdAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ0OTMKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgY2hlY2tzIGZvciBG
dW5jdGlvbiwgRXJyb3IgYW5kIGhvc3Qgb2JqZWN0cyBhcmd1bWVudHMgdG8KKyAgICAgICAgTWVz
c2FnZVBvcnQucG9zdE1lc3NhZ2UoKSBpbiBmYXN0L2V2ZW50cy9tZXNzYWdlLXBvcnQtbXVsdGku
aHRtbC4KKworICAgICAgICBBY2NvcmRpbmcgdG8gdGhlIHN0cnVjdHVyZWQgY2xvbmUgc3BlY2lm
aWNhdGlvbiwgd2Ugc2hvdWxkIHRocm93CisgICAgICAgIGEgRGF0YUNsb25lRXJyb3IgZm9yIHN1
Y2ggaW5wdXQgdHlwZXMuCisKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvYW5vbnltb3VzLXNs
b3Qtd2l0aC1jaGFuZ2VzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cv
YW5vbnltb3VzLXNsb3Qtd2l0aC1jaGFuZ2VzLmh0bWw6IFVwZGF0ZSB0ZXN0IHRvIGV4cGVjdAor
ICAgICAgICBhbiBleGNlcHRpb24gd2hlbiBwYXNzaW5nIGEgZnVuY3Rpb24gdG8gcG9zdE1lc3Nh
Z2UoKS4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9tZXNzYWdlLXBvcnQtbXVsdGktZXhwZWN0ZWQu
dHh0OiBVcGRhdGUgZXhwZWN0ZWQgcmVzdWx0CisgICAgICAgIGFjY29yZGluZ2x5LgorICAgICAg
ICAqIGZhc3QvZXZlbnRzL3Jlc291cmNlcy9tZXNzYWdlLXBvcnQtbXVsdGkuanM6CisgICAgICAg
ICh0ZXN0VHJhbnNmZXJzLnRyeS5mMSk6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vZmFz
dC9ldmVudHMvbWVzc2FnZS1wb3J0LW11bHRpLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAg
ICAgTm93IGlkZW50aWNhbCB0byBnbG9iYWwgZXhwZWN0YXRpb24uCisKIDIwMTItMDgtMjAgICdQ
YXZlbCBGZWxkbWFuJyAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBOb3QgcmV2
aWV3ZWQ6IGZpeGluZyBmbGFreSBpbnNwZWN0b3IgdGVzdC4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL1dpbmRvdy9hbm9ueW1vdXMtc2xvdC13aXRoLWNoYW5nZXMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L2Fub255bW91cy1zbG90LXdpdGgtY2hh
bmdlcy1leHBlY3RlZC50eHQKaW5kZXggNzI4NGQ1MC4uNWI2MmFiMiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L2Fub255bW91cy1zbG90LXdpdGgtY2hhbmdlcy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L2Fub255bW91cy1zbG90
LXdpdGgtY2hhbmdlcy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw1IEBACiBUZXN0cyB0aGF0IHdl
IGNsb25lIG9iamVjdCBoaWVyYXJjaGllcworUEFTUzogJ3Bvc3RNZXNzYWdlKChmdW5jdGlvbigp
e30pKScgdGhyZXcgRXJyb3I6IERBVEFfQ0xPTkVfRVJSOiBET00gRXhjZXB0aW9uIDI1CiBQQVNT
OiBldmVudERhdGEgaXMgbnVsbCBvZiB0eXBlIG9iamVjdAogUEFTUzogZXZlbnREYXRhIGlzIG51
bGwgb2YgdHlwZSBvYmplY3QKIFBBU1M6IGV2ZW50RGF0YSBpcyBudWxsIG9mIHR5cGUgb2JqZWN0
CkBAIC00OSwxMSArNTAsNiBAQCBQQVNTOiBldmVudERhdGEgaXMgLCwxIG9mIHR5cGUgb2JqZWN0
CiBQQVNTOiBldmVudERhdGEgaXMgLCwxIG9mIHR5cGUgb2JqZWN0CiBQQVNTOiBldmVudERhdGEg
aXMgLCwxIG9mIHR5cGUgb2JqZWN0CiBQQVNTOiBldmVudERhdGEgaXMgLCwxIG9mIHR5cGUgb2Jq
ZWN0Ci1QQVNTOiBldmVudERhdGEgaXMgbnVsbCBvZiB0eXBlIG9iamVjdAotUEFTUzogZXZlbnRE
YXRhIGlzIG51bGwgb2YgdHlwZSBvYmplY3QKLVBBU1M6IGV2ZW50RGF0YSBpcyBudWxsIG9mIHR5
cGUgb2JqZWN0Ci1QQVNTOiBldmVudERhdGEgaXMgbnVsbCBvZiB0eXBlIG9iamVjdAotUEFTUzog
ZXZlbnREYXRhIGlzIG51bGwgb2YgdHlwZSBvYmplY3QKIFBBU1M6IGV2ZW50RGF0YSBpcyAyMDA5
LTAyLTEzVDIzOjMxOjMwLjAwMFogb2YgdHlwZSBvYmplY3QKIFBBU1M6IGV2ZW50RGF0YSBpcyAy
MDA5LTAyLTEzVDIzOjMxOjMwLjAwMFogb2YgdHlwZSBvYmplY3QKIFBBU1M6IGV2ZW50RGF0YSBp
cyAyMDA5LTAyLTEzVDIzOjMxOjMwLjAwMFogb2YgdHlwZSBvYmplY3QKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9hbm9ueW1vdXMtc2xvdC13aXRoLWNoYW5nZXMuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9hbm9ueW1vdXMtc2xvdC13aXRoLWNoYW5n
ZXMuaHRtbAppbmRleCBjMzUzMTQ4Li4wZGI1OTVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9XaW5kb3cvYW5vbnltb3VzLXNsb3Qtd2l0aC1jaGFuZ2VzLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L2Fub255bW91cy1zbG90LXdpdGgtY2hhbmdlcy5odG1s
CkBAIC0xMjMsNyArMTIzLDcgQEAgdHJ5UG9zdE1lc3NhZ2UoJyh7YToxfSknKTsKIHRyeVBvc3RN
ZXNzYWdlKCdbXScpOwogdHJ5UG9zdE1lc3NhZ2UoJ1sxLDIsM10nKTsKIHRyeVBvc3RNZXNzYWdl
KCdbLCwxXScpOwotdHJ5UG9zdE1lc3NhZ2UoJyhmdW5jdGlvbigpe30pJywgZmFsc2UsICdudWxs
Jyk7Cit0cnlQb3N0TWVzc2FnZSgnKGZ1bmN0aW9uKCl7fSknLCB0cnVlKTsKIHRyeVBvc3RNZXNz
YWdlKCduZXcgRGF0ZSgxMjM0NTY3ODkwMDAwKScpOwogdHJ5UG9zdE1lc3NhZ2UoJyJkb25lIicp
OwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tZXNzYWdl
LXBvcnQtbXVsdGktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbWVzc2Fn
ZS1wb3J0LW11bHRpLWV4cGVjdGVkLnR4dAppbmRleCBjMDdjODhiLi5jMzRlZmNhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tZXNzYWdlLXBvcnQtbXVsdGktZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21lc3NhZ2UtcG9ydC1tdWx0aS1leHBl
Y3RlZC50eHQKQEAgLTE0LDcgKzE0LDEwIEBAIFBBU1MgZXZlbnQucG9ydHMgaXMgbm9uLW51bGwg
YW5kIHplcm8gbGVuZ3RoIHdoZW4gbm8gcG9ydCBzZW50CiBQQVNTIGV2ZW50LnBvcnRzIGlzIG5v
bi1udWxsIGFuZCB6ZXJvIGxlbmd0aCB3aGVuIGVtcHR5IGFycmF5IHNlbnQKIFBBU1MgZXZlbnQu
cG9ydHMgY29udGFpbnMgdHdvIHBvcnRzIHdoZW4gdHdvIHBvcnRzIHNlbnQKIFBBU1MgZXZlbnQu
cG9ydHMgY29udGFpbnMgdHdvIHBvcnRzIHdoZW4gdHdvIHBvcnRzIHJlLXNlbnQgYWZ0ZXIgZXJy
b3IKLVBBU1MgU2VuZGluZyBob3N0IG9iamVjdCBoYXMgdGhyb3duIFR5cGVFcnJvcjogVW5hYmxl
IHRvIGRlc2VyaWFsaXplIGRhdGEuCitQQVNTIFNlbmRpbmcgaG9zdCBvYmplY3QgaGFzIHRocm93
biBFcnJvcjogREFUQV9DTE9ORV9FUlI6IERPTSBFeGNlcHRpb24gMjUKK1BBU1MgU2VuZGluZyBo
b3N0IG9iamVjdCBoYXMgdGhyb3duIEVycm9yOiBEQVRBX0NMT05FX0VSUjogRE9NIEV4Y2VwdGlv
biAyNQorUEFTUyBTZW5kaW5nIEZ1bmN0aW9uIG9iamVjdCBoYXMgdGhyb3duIEVycm9yOiBEQVRB
X0NMT05FX0VSUjogRE9NIEV4Y2VwdGlvbiAyNQorUEFTUyBTZW5kaW5nIEVycm9yIG9iamVjdCBo
YXMgdGhyb3duIEVycm9yOiBEQVRBX0NMT05FX0VSUjogRE9NIEV4Y2VwdGlvbiAyNQogUEFTUyBz
ZW5kLXBvcnQ6IHRyYW5zZmVycmVkIG9uZSBwb3J0CiBQQVNTIHNlbmQtcG9ydC10d2ljZTogdHJh
bnNmZXJyZWQgb25lIHBvcnQgdHdpY2UKIFBBU1Mgc2VuZC10d28tcG9ydHM6IHRyYW5zZmVycmVk
IHR3byBwb3J0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2Vz
L21lc3NhZ2UtcG9ydC1tdWx0aS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc291cmNl
cy9tZXNzYWdlLXBvcnQtbXVsdGkuanMKaW5kZXggNzYxODAxNi4uZjAyZWQ1OSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL21lc3NhZ2UtcG9ydC1tdWx0aS5q
cworKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZXNvdXJjZXMvbWVzc2FnZS1wb3J0LW11
bHRpLmpzCkBAIC00Nyw3ICs0NywzOSBAQCBmdW5jdGlvbiB0ZXN0VHJhbnNmZXJzKCkgewogICAg
ICAgICBjaGFubmVsMC5wb3J0MS53ZWJraXRQb3N0TWVzc2FnZSh7aWQ6Imhvc3Qtb2JqZWN0Iiwg
aG9zdE9iamVjdDpjMywgcG9ydDpjNC5wb3J0MX0sIFtjNC5wb3J0MV0pOwogICAgICAgICB0ZXN0
RmFpbGVkKCJTZW5kaW5nIGhvc3Qgb2JqZWN0IHNob3VsZCB0aHJvdyIpOwogICAgIH0gY2F0Y2go
ZSkgewotICAgICAgICB0ZXN0UGFzc2VkKCJTZW5kaW5nIGhvc3Qgb2JqZWN0IGhhcyB0aHJvd24g
IiArIGUpOworICAgICAgICBpZiAoZS5jb2RlID09IERPTUV4Y2VwdGlvbi5EQVRBX0NMT05FX0VS
UikKKyAgICAgICAgICB0ZXN0UGFzc2VkKCJTZW5kaW5nIGhvc3Qgb2JqZWN0IGhhcyB0aHJvd24g
IiArIGUpOworICAgICAgICBlbHNlCisgICAgICAgICAgdGVzdEZhaWxlZCgiU2VuZGluZyBob3N0
IG9iamVjdCBzaG91bGQgdGhyb3cgYSBEYXRhQ2xvbmVFcnJvciwgZ290OiAiICsgZSk7CisgICAg
fQorICAgIHRyeSB7CisgICAgICAgIGNoYW5uZWwwLnBvcnQxLndlYmtpdFBvc3RNZXNzYWdlKHtp
ZDoiaG9zdC1vYmplY3QyIiwgaG9zdE9iamVjdDpuYXZpZ2F0b3IsIHBvcnQ6YzQucG9ydDF9LCBb
YzQucG9ydDFdKTsKKyAgICAgICAgdGVzdEZhaWxlZCgiU2VuZGluZyBob3N0IG9iamVjdCBzaG91
bGQgdGhyb3ciKTsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgaWYgKGUuY29kZSA9PSBET01F
eGNlcHRpb24uREFUQV9DTE9ORV9FUlIpCisgICAgICAgICAgdGVzdFBhc3NlZCgiU2VuZGluZyBo
b3N0IG9iamVjdCBoYXMgdGhyb3duICIgKyBlKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgIHRl
c3RGYWlsZWQoIlNlbmRpbmcgaG9zdCBvYmplY3Qgc2hvdWxkIHRocm93IGEgRGF0YUNsb25lRXJy
b3IsIGdvdDogIiArIGUpOworICAgIH0KKyAgICB0cnkgeworICAgICAgICB2YXIgZjEgPSBmdW5j
dGlvbigpIHt9CisgICAgICAgIGNoYW5uZWwwLnBvcnQxLndlYmtpdFBvc3RNZXNzYWdlKHtpZDoi
ZnVuY3Rpb24tb2JqZWN0IiwgZnVuY3Rpb246ZjEsIHBvcnQ6YzQucG9ydDF9LCBbYzQucG9ydDFd
KTsKKyAgICAgICAgdGVzdEZhaWxlZCgiU2VuZGluZyBGdW5jdGlvbiBvYmplY3Qgc2hvdWxkIHRo
cm93Iik7CisgICAgfSBjYXRjaChlKSB7CisgICAgICAgIGlmIChlLmNvZGUgPT0gRE9NRXhjZXB0
aW9uLkRBVEFfQ0xPTkVfRVJSKQorICAgICAgICAgIHRlc3RQYXNzZWQoIlNlbmRpbmcgRnVuY3Rp
b24gb2JqZWN0IGhhcyB0aHJvd24gIiArIGUpOworICAgICAgICBlbHNlCisgICAgICAgICAgdGVz
dEZhaWxlZCgiU2VuZGluZyBGdW5jdGlvbiBvYmplY3Qgc2hvdWxkIHRocm93IGEgRGF0YUNsb25l
RXJyb3IsIGdvdDogIiArIGUpOworICAgIH0KKyAgICB0cnkgeworICAgICAgICB2YXIgZXJyID0g
bmV3IEVycm9yKCk7CisgICAgICAgIGNoYW5uZWwwLnBvcnQxLndlYmtpdFBvc3RNZXNzYWdlKHtp
ZDoiZXJyb3Itb2JqZWN0IiwgZXJyb3I6ZXJyLCBwb3J0OmM0LnBvcnQxfSwgW2M0LnBvcnQxXSk7
CisgICAgICAgIHRlc3RGYWlsZWQoIlNlbmRpbmcgRXJyb3Igb2JqZWN0IHNob3VsZCB0aHJvdyIp
OworICAgIH0gY2F0Y2goZSkgeworICAgICAgICBpZiAoZS5jb2RlID09IERPTUV4Y2VwdGlvbi5E
QVRBX0NMT05FX0VSUikKKyAgICAgICAgICB0ZXN0UGFzc2VkKCJTZW5kaW5nIEVycm9yIG9iamVj
dCBoYXMgdGhyb3duICIgKyBlKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgIHRlc3RQYXNzZWQo
IlNlbmRpbmcgRXJyb3Igb2JqZWN0IHNob3VsZCB0aHJvdyBhIERhdGFDbG9uZUVycm9yLCBnb3Q6
ICIgKyBlKTsKICAgICB9CiAgICAgYzQucG9ydDEucG9zdE1lc3NhZ2UoIlNob3VsZCBzdWNjZWVk
Iik7CiAgICAgY2hhbm5lbDAucG9ydDEud2Via2l0UG9zdE1lc3NhZ2Uoe2lkOiJkb25lIn0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9ldmVudHMvbWVz
c2FnZS1wb3J0LW11bHRpLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL2Zhc3QvZXZlbnRzL21lc3NhZ2UtcG9ydC1tdWx0aS1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUwZGI5ZmYuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vZmFzdC9ldmVudHMvbWVzc2FnZS1wb3J0LW11bHRpLWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIzICswLDAgQEAKLVRoaXMgdGVzdCBjaGVja3MgdGhl
IHZhcmlvdXMgdXNlIGNhc2VzIGFyb3VuZCBzZW5kaW5nIG11bHRpcGxlIHBvcnRzIHRocm91Z2gg
TWVzc2FnZVBvcnQucG9zdE1lc3NhZ2UKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0K
LVBBU1MgY2hhbm5lbC5wb3J0MS5wb3N0TWVzc2FnZSgic2FtZSBwb3J0IiwgW2NoYW5uZWwucG9y
dDFdKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfQ0xPTkVfRVJSOiBET00gRXhjZXB0aW9u
IDI1LgotUEFTUyBjaGFubmVsLnBvcnQxLnBvc3RNZXNzYWdlKCJlbnRhbmdsZWQgcG9ydCIsIFtj
aGFubmVsLnBvcnQyXSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0NMT05FX0VSUjogRE9N
IEV4Y2VwdGlvbiAyNS4KLVBBU1MgY2hhbm5lbC5wb3J0MS5wb3N0TWVzc2FnZSgibnVsbCBwb3J0
IiwgW2NoYW5uZWwzLnBvcnQxLCBudWxsLCBjaGFubmVsMy5wb3J0Ml0pIHRocmV3IGV4Y2VwdGlv
biBFcnJvcjogREFUQV9DTE9ORV9FUlI6IERPTSBFeGNlcHRpb24gMjUuCi1QQVNTIGNoYW5uZWwu
cG9ydDEucG9zdE1lc3NhZ2UoIm5vdEFQb3J0IiwgW2NoYW5uZWwzLnBvcnQxLCB7fSwgY2hhbm5l
bDMucG9ydDJdKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBj
aGFubmVsLnBvcnQxLnBvc3RNZXNzYWdlKCJub3RBbkFycmF5IiwgY2hhbm5lbDMucG9ydDEpIHRo
cmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIGNoYW5uZWwucG9ydDEu
cG9zdE1lc3NhZ2UoIm5vdEFTZXF1ZW5jZSIsIFt7bGVuZ3RoOiAzfV0pIHRocmV3IGV4Y2VwdGlv
biBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIGNoYW5uZWwucG9ydDEucG9zdE1lc3NhZ2Uo
ImxhcmdlU2VxdWVuY2UiLCBsYXJnZVBvcnRBcnJheSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBE
QVRBX0NMT05FX0VSUjogRE9NIEV4Y2VwdGlvbiAyNS4KLVBBU1MgZXZlbnQucG9ydHMgaXMgbm9u
LW51bGwgYW5kIHplcm8gbGVuZ3RoIHdoZW4gbm8gcG9ydCBzZW50Ci1QQVNTIGV2ZW50LnBvcnRz
IGlzIG5vbi1udWxsIGFuZCB6ZXJvIGxlbmd0aCB3aGVuIGVtcHR5IGFycmF5IHNlbnQKLVBBU1Mg
ZXZlbnQucG9ydHMgY29udGFpbnMgdHdvIHBvcnRzIHdoZW4gdHdvIHBvcnRzIHNlbnQKLVBBU1Mg
ZXZlbnQucG9ydHMgY29udGFpbnMgdHdvIHBvcnRzIHdoZW4gdHdvIHBvcnRzIHJlLXNlbnQgYWZ0
ZXIgZXJyb3IKLVBBU1MgU2VuZGluZyBob3N0IG9iamVjdCBoYXMgdGhyb3duIEVycm9yOiBEQVRB
X0NMT05FX0VSUjogRE9NIEV4Y2VwdGlvbiAyNQotUEFTUyBzZW5kLXBvcnQ6IHRyYW5zZmVycmVk
IG9uZSBwb3J0Ci1QQVNTIHNlbmQtcG9ydC10d2ljZTogdHJhbnNmZXJyZWQgb25lIHBvcnQgdHdp
Y2UKLVBBU1Mgc2VuZC10d28tcG9ydHM6IHRyYW5zZmVycmVkIHR3byBwb3J0cwotCi1URVNUIENP
TVBMRVRFCi0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxNGY4NzU5Li40MDc5MTUyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjcgQEAKKzIwMTItMDgtMjAgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1
bWV6QGludGVsLmNvbT4KKworICAgICAgICBbSlNDXSBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNy
ZWF0ZSgpIHNob3VsZCB0aHJvdyBhIERhdGFDbG9uZUVycm9yIGlmIGlucHV0IGlzIGFuIHVuc3Vw
cG9ydGVkIG9iamVjdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTQ0OTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBVcGRhdGUgSlNDIGltcGxlbWVudGF0aW9uIGZvciBTZXJpYWxpemVkU2NyaXB0VmFsdWU6
OmNyZWF0ZSgpIHNvIHRoYXQKKyAgICAgICAgYSBEYXRhQ2xvbmVFcnJvciBpcyB0aHJvd24gd2hl
biB0aGUgaW5wdXQgdmFsdWUgaXMgYW4gdW5zdXBwb3J0ZWQKKyAgICAgICAgb2JqZWN0LiBUaGUg
cHJldmlvdXMgaW1wbGVtZW50YXRpb24gd2FzIG5vdCB0aHJvd2luZyBhbnkgZXJyb3IuCisKKyAg
ICAgICAgVGhpcyBjaGFuZ2UgaXMgYWNjb3JkaW5nIHRvIHRoZSBzdHJ1Y3R1cmVkIGNsb25lIHNw
ZWNpZmljYXRpb24gYXQ6CisgICAgICAgIGh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw1L2NvbW1v
bi1kb20taW50ZXJmYWNlcy5odG1sI3N0cnVjdHVyZWQtY2xvbmUKKworICAgICAgICBUaGlzIGFs
c28gbWF0Y2hlcyB0aGUgY29ycmVzcG9uZGluZyBWOCBpbXBsZW1lbnRhdGlvbi4KKworICAgICAg
ICBUZXN0OiBmYXN0L2V2ZW50cy9tZXNzYWdlLXBvcnQtbXVsdGkuaHRtbC4KKworICAgICAgICAq
IGJpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDbG9uZVNlcmlhbGl6ZXI6OmR1bXBJZlRlcm1pbmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkNs
b25lU2VyaWFsaXplcjo6c2VyaWFsaXplKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZTo6bWF5YmVUaHJvd0V4Y2VwdGlvbklmU2VyaWFsaXphdGlvbkZhaWxlZCk6Cisg
ICAgICAgICogYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmg6CisKIDIwMTItMDgt
MjAgIFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIFByb3Zp
ZGUgYmFja3dhcmRzIGNvbXBhdGlibGUgbWV0aG9kIGZvciBXZWJLaXRET01XZWJLaXROYW1lZEZs
b3c6Om92ZXJmbG93CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJp
YWxpemVkU2NyaXB0VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFs
aXplZFNjcmlwdFZhbHVlLmNwcAppbmRleCAyYjQ3ZDRiLi45ZDVjYTY1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKQEAg
LTU4MiwxMyArNTgyLDYgQEAgcHJpdmF0ZToKIAogICAgICAgICBpZiAoaXNBcnJheSh2YWx1ZSkp
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgIAotICAgICAgICAvLyBPYmpl
Y3QgY2Fubm90IGJlIHNlcmlhbGl6ZWQgYmVjYXVzZSB0aGUgYWN0IG9mIHdhbGtpbmcgdGhlIG9i
amVjdCBjcmVhdGVzIG5ldyBvYmplY3RzCi0gICAgICAgIGlmICh2YWx1ZS5pc09iamVjdCgpICYm
IGFzT2JqZWN0KHZhbHVlKS0+aW5oZXJpdHMoJkpTTmF2aWdhdG9yOjpzX2luZm8pKSB7Ci0gICAg
ICAgICAgICBmYWlsKCk7Ci0gICAgICAgICAgICB3cml0ZShOdWxsVGFnKTsKLSAgICAgICAgICAg
IHJldHVybiB0cnVlOyAKLSAgICAgICAgfQogCiAgICAgICAgIGlmICh2YWx1ZS5pc09iamVjdCgp
KSB7CiAgICAgICAgICAgICBKU09iamVjdCogb2JqID0gYXNPYmplY3QodmFsdWUpOwpAQCAtNjc3
LDkgKzY3MCw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgcmV0dXJuIHN1Y2Nlc3M7CiAg
ICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIENhbGxEYXRhIHVudXNlZERhdGE7Ci0gICAgICAg
ICAgICBpZiAoZ2V0Q2FsbERhdGEodmFsdWUsIHVudXNlZERhdGEpID09IENhbGxUeXBlTm9uZSkK
LSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgICAgIH0KICAgICAgICAgLy8gQW55IG90aGVyIHR5cGVzIGFyZSBleHBlY3RlZCB0byBz
ZXJpYWxpemUgYXMgbnVsbC4KICAgICAgICAgd3JpdGUoTnVsbFRhZyk7CkBAIC04OTgsNiArODg5
LDEyIEBAIFNlcmlhbGl6YXRpb25SZXR1cm5Db2RlIENsb25lU2VyaWFsaXplcjo6c2VyaWFsaXpl
KEpTVmFsdWUgaW4pCiAgICAgICAgICAgICAgICAgSlNPYmplY3QqIGluT2JqZWN0ID0gYXNPYmpl
Y3QoaW5WYWx1ZSk7CiAgICAgICAgICAgICAgICAgaWYgKCFzdGFydE9iamVjdChpbk9iamVjdCkp
CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIC8vIEF0IHRoaXMg
cG9pbnQsIGFsbCBzdXBwb3J0ZWQgb2JqZWN0cyBvdGhlciB0aGFuIE9iamVjdAorICAgICAgICAg
ICAgICAgIC8vIG9iamVjdHMgaGF2ZSBiZWVuIGhhbmRsZWQuIElmIHdlIHJlYWNoIHRoaXMgcG9p
bnQgYW5kCisgICAgICAgICAgICAgICAgLy8gdGhlIGlucHV0IGlzIG5vdCBhbiBPYmplY3Qgb2Jq
ZWN0IHRoZW4gd2Ugc2hvdWxkIHRocm93CisgICAgICAgICAgICAgICAgLy8gYSBEYXRhQ2xvbmVF
cnJvci4KKyAgICAgICAgICAgICAgICBpZiAoaW5PYmplY3QtPmNsYXNzSW5mbygpICE9ICZKU0Zp
bmFsT2JqZWN0OjpzX2luZm8pCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBEYXRhQ2xvbmVF
cnJvcjsKICAgICAgICAgICAgICAgICBpbnB1dE9iamVjdFN0YWNrLmFwcGVuZChpbk9iamVjdCk7
CiAgICAgICAgICAgICAgICAgaW5kZXhTdGFjay5hcHBlbmQoMCk7CiAgICAgICAgICAgICAgICAg
cHJvcGVydHlTdGFjay5hcHBlbmQoUHJvcGVydHlOYW1lQXJyYXkobV9leGVjKSk7CkBAIC0xOTIw
LDYgKzE5MTcsOSBAQCB2b2lkIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6bWF5YmVUaHJvd0V4Y2Vw
dGlvbklmU2VyaWFsaXphdGlvbkZhaWxlZChFeGVjU3RhdGUqCiAgICAgY2FzZSBWYWxpZGF0aW9u
RXJyb3I6CiAgICAgICAgIHRocm93RXJyb3IoZXhlYywgY3JlYXRlVHlwZUVycm9yKGV4ZWMsICJV
bmFibGUgdG8gZGVzZXJpYWxpemUgZGF0YS4iKSk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2Ug
RGF0YUNsb25lRXJyb3I6CisgICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBEQVRBX0NMT05F
X0VSUik7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgRXhpc3RpbmdFeGNlcHRpb25FcnJvcjoK
ICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBVbnNwZWNpZmllZEVycm9yOgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuaAppbmRleCA5OWJh
MWMxLi5hYjk5ODk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJp
YWxpemVkU2NyaXB0VmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJp
YWxpemVkU2NyaXB0VmFsdWUuaApAQCAtNTEsNiArNTEsNyBAQCBlbnVtIFNlcmlhbGl6YXRpb25S
ZXR1cm5Db2RlIHsKICAgICBJbnRlcnJ1cHRlZEV4ZWN1dGlvbkVycm9yLAogICAgIFZhbGlkYXRp
b25FcnJvciwKICAgICBFeGlzdGluZ0V4Y2VwdGlvbkVycm9yLAorICAgIERhdGFDbG9uZUVycm9y
LAogICAgIFVuc3BlY2lmaWVkRXJyb3IKIH07CiAgICAgCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>