<?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>62320</bug_id>
          
          <creation_ts>2011-06-08 14:08:28 -0700</creation_ts>
          <short_desc>Emit an error event when a request to enter full-screen is rejected.</short_desc>
          <delta_ts>2012-01-12 11:15:37 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>eric</cc>
    
    <cc>jeremya</cc>
    
    <cc>ojan</cc>
    
    <cc>pnormand</cc>
    
    <cc>scherkus</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>417495</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-06-08 14:08:28 -0700</bug_when>
    <thetext>Emit an error event when a request to enter full-screen is rejected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417497</commentid>
    <comment_count>1</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-06-08 14:08:48 -0700</bug_when>
    <thetext>&lt;rdar://problem/9574936&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417542</commentid>
    <comment_count>2</comment_count>
      <attachid>96482</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-06-08 14:35:38 -0700</bug_when>
    <thetext>Created attachment 96482
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>419953</commentid>
    <comment_count>3</comment_count>
      <attachid>96482</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-06-13 15:22:58 -0700</bug_when>
    <thetext>Comment on attachment 96482
Patch

Is there a spec which covers this?  I wonder why this would be a separate event and not just a change event emitted with the same previous state (and maybe some error information)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>419967</commentid>
    <comment_count>4</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-06-13 15:29:51 -0700</bug_when>
    <thetext>There is no spec update which covers this.  This is a result of page author feedback after using the new full-screen API.

There is currently no event information passed along with the simple event fired when full-screen changes state.  The listener is expected to ask the document what the current full-screen state is when they catch the change event.  I don&apos;t think it&apos;s ideal to ask the page authors to assume that, if they get a full-screen change event, and the state hasn&apos;t changed, they should treat that as an error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473235</commentid>
    <comment_count>5</comment_count>
      <attachid>108696</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-09-26 11:35:11 -0700</bug_when>
    <thetext>Created attachment 108696
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473237</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-26 11:37:44 -0700</bug_when>
    <thetext>Attachment 108696 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/full...&quot; exit_code: 1

Source/WebCore/dom/Document.cpp:4872:  Missing space before ( in while(  [whitespace/parens] [5]
Total errors found: 1 in 14 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473258</commentid>
    <comment_count>7</comment_count>
      <attachid>108701</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-09-26 11:50:57 -0700</bug_when>
    <thetext>Created attachment 108701
Patch

Fixed style error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481149</commentid>
    <comment_count>8</comment_count>
      <attachid>108701</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-10-10 14:14:28 -0700</bug_when>
    <thetext>Comment on attachment 108701
Patch

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

&gt; LayoutTests/ChangeLog:11
&gt; +        * fullscreen/full-screen-iframe-not-allowed-expected.txt:
&gt; +        * fullscreen/full-screen-iframe-not-allowed.html:
&gt; +        * fullscreen/full-screen-request-rejected-expected.txt: Added.
&gt; +        * fullscreen/full-screen-request-rejected.html: Added.

You should also verify that the &quot;If the element was removed from our tree, also message the documentElement&quot; code is run (for both events).

&gt; Source/WebCore/dom/Document.cpp:444
&gt;      , m_fullScreenChangeDelayTimer(this, &amp;Document::fullScreenChangeDelayTimerFired)
&gt; +    , m_fullScreenDeniedDelayTimer(this, &amp;Document::fullScreenDeniedDelayTimerFired)

Do you really need another timer for this, couldn&apos;t you service both queues with a single timer?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534234</commentid>
    <comment_count>9</comment_count>
      <attachid>122090</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-01-11 13:58:20 -0800</bug_when>
    <thetext>Created attachment 122090
Patch

Addressed Eric&apos;s comments, and renamed the event &apos;fullscreenerror&apos; to match the W3C spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534269</commentid>
    <comment_count>10</comment_count>
      <attachid>122090</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-01-11 14:31:59 -0800</bug_when>
    <thetext>Comment on attachment 122090
Patch

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

&gt; Source/WebCore/ChangeLog:12
&gt; +        (webkitfullscreenrequesterror) in response.  But emit the event during the next

Don&apos;t you mean webkitfullscreenerror?

&gt; Source/WebCore/ChangeLog:17
&gt; +        (WebCore::Document::Document): Add initializers for new timer.

Didn&apos;t you remove the new timer?

&gt; Source/WebCore/ChangeLog:21
&gt; +        * dom/Document.idl: Add support for setting an onfullscreenerror attribute.

Isn&apos;t it onwebkitfullscreenerror?

&gt; Source/WebCore/dom/Document.cpp:5209
&gt; +    while (!m_fullScreenErrorEventTargetQueue.isEmpty()) {
&gt; +        RefPtr&lt;Element&gt; element = m_fullScreenErrorEventTargetQueue.takeFirst();
&gt; +        if (!element)
&gt; +            element = documentElement();

Can takeFirst() return 0 when the queue is not empty?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534283</commentid>
    <comment_count>11</comment_count>
      <attachid>122090</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-01-11 14:47:13 -0800</bug_when>
    <thetext>Comment on attachment 122090
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:12
&gt;&gt; +        (webkitfullscreenrequesterror) in response.  But emit the event during the next
&gt; 
&gt; Don&apos;t you mean webkitfullscreenerror?

Whoops.  Will fix.

&gt;&gt; Source/WebCore/ChangeLog:17
&gt;&gt; +        (WebCore::Document::Document): Add initializers for new timer.
&gt; 
&gt; Didn&apos;t you remove the new timer?

I did.  I&apos;ll fix this comment.

&gt;&gt; Source/WebCore/ChangeLog:21
&gt;&gt; +        * dom/Document.idl: Add support for setting an onfullscreenerror attribute.
&gt; 
&gt; Isn&apos;t it onwebkitfullscreenerror?

Yep.

&gt;&gt; Source/WebCore/dom/Document.cpp:5209
&gt;&gt; +            element = documentElement();
&gt; 
&gt; Can takeFirst() return 0 when the queue is not empty?

If a null value was pushed into the queue, then yes.  documentElement() does not guarantee a non-null return value, so it&apos;s possible (though unlikely) that a null value could be stuffed into the queue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534993</commentid>
    <comment_count>12</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-01-12 11:15:37 -0800</bug_when>
    <thetext>Committed r104838: &lt;http://trac.webkit.org/changeset/104838&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96482</attachid>
            <date>2011-06-08 14:35:38 -0700</date>
            <delta_ts>2011-09-26 11:35:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62320-20110608143537.patch</filename>
            <type>text/plain</type>
            <size>12583</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODgzNTMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyZTJmOTcwMDM5YzAzMGE0YjZhM2Ni
Njk4Yzc4NTEwN2Y2NzJjNTY2Li5mOGNmMzVlY2E5ZWFjMGY5OTBhZTFkNDExNzNhNTA2MjFmNzkw
MWNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDYtMDggIEplciBOb2JsZSAgPGplci5u
b2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRW1pdCBhbiBlcnJvciBldmVudCB3aGVuIGEgcmVxdWVzdCB0byBlbnRlciBmdWxs
LXNjcmVlbiBpcyByZWplY3RlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTYyMzIwCisKKyAgICAgICAgKiBmdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLWlm
cmFtZS1ub3QtYWxsb3dlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZnVsbHNjcmVlbi9mdWxs
LXNjcmVlbi1pZnJhbWUtbm90LWFsbG93ZWQuaHRtbDoKKyAgICAgICAgKiBmdWxsc2NyZWVuL2Z1
bGwtc2NyZWVuLXJlcXVlc3QtcmVqZWN0ZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLXJlcXVlc3QtcmVqZWN0ZWQuaHRtbDogQWRkZWQuCisK
IDIwMTEtMDYtMDIgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mdWxs
c2NyZWVuL2Z1bGwtc2NyZWVuLWlmcmFtZS1ub3QtYWxsb3dlZC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLWlmcmFtZS1ub3QtYWxsb3dlZC1leHBlY3Rl
ZC50eHQKaW5kZXggODg2NDk0MTlmNTY5NTU3NTBmYTgwOWY2YTQ2OGE1MTliZDhkYzg2Yi4uZDM4
NmIxZGI5MGY2OTZiOGQ1OTllMjQyYmVhZGI4OGM5MjM4ODZhYiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1pZnJhbWUtbm90LWFsbG93ZWQtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2Z1bGxzY3JlZW4vZnVsbC1zY3JlZW4taWZyYW1lLW5vdC1h
bGxvd2VkLWV4cGVjdGVkLnR4dApAQCAtMiw2ICsyLDcgQEAgVGVzdCBmb3IgYnVnIDU2MjY0OiBI
YW5kbGUgZW50ZXJpbmcgZnVsbCBzY3JlZW4gc2VjdXJpdHkgcmVzdHJpY3Rpb25zCiAKIFRvIHRl
c3QgbWFudWFsbHksIGNsaWNrIHRoZSAiR28gZnVsbCBzY3JlZW4iIGJ1dHRvbiAtIHRoZSBwYWdl
IHNob3VsZCBub3QgZW50ZXIgZnVsbCBzY3JlZW4gbW9kZS4KIAorRVZFTlQod2Via2l0ZnVsbHNj
cmVlbnJlcXVlc3RkZW5pZWQpCiBTVUNDRUVEIC0gZGlkIG5vdCBlbnRlciBmdWxsIHNjcmVlbiEK
IEVORCBPRiBURVNUCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Z1bGxzY3JlZW4vZnVsbC1z
Y3JlZW4taWZyYW1lLW5vdC1hbGxvd2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9mdWxsc2NyZWVuL2Z1
bGwtc2NyZWVuLWlmcmFtZS1ub3QtYWxsb3dlZC5odG1sCmluZGV4IGEwMzc2YjQ3ZmJhN2JmNGVi
Y2FjZmI5NzQ0ZmZlZWM1MzYyYmM5NWIuLjFjYzc5M2MyNWU4M2VlMjM3NDE5YWI2NjRjNDcxYWFm
NTU4OTc2ZTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Z1bGxzY3JlZW4vZnVsbC1zY3JlZW4t
aWZyYW1lLW5vdC1hbGxvd2VkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi9mdWxs
LXNjcmVlbi1pZnJhbWUtbm90LWFsbG93ZWQuaHRtbApAQCAtMTEsMTMgKzExLDExIEBAIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CiAgICAgICAgICAgICBlbmRUZXN0KCk7CiAgICAgfSk7CiAKLSAgICBy
dW5XaXRoS2V5RG93bihmdW5jdGlvbigpIHsKLQotICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9u
KCkgeyAKLSAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiU1VDQ0VFRCAtIGRpZCBub3QgZW50ZXIg
ZnVsbCBzY3JlZW4hIik7IAotICAgICAgICAgICAgZW5kVGVzdCgpOyAKLSAgICAgICAgfSwgNTAp
OworICAgIHdhaXRGb3JFdmVudEFuZEVuZChmcmFtZS5jb250ZW50RG9jdW1lbnQsICd3ZWJraXRm
dWxsc2NyZWVucmVxdWVzdGRlbmllZCcsIGZ1bmN0aW9uKCkgeworICAgICAgICBjb25zb2xlV3Jp
dGUoIlNVQ0NFRUQgLSBkaWQgbm90IGVudGVyIGZ1bGwgc2NyZWVuISIpOworICAgIH0pOwogCisg
ICAgcnVuV2l0aEtleURvd24oZnVuY3Rpb24oKSB7CiAgICAgICAgIGZyYW1lLmNvbnRlbnREb2N1
bWVudC5kb2N1bWVudEVsZW1lbnQud2Via2l0UmVxdWVzdEZ1bGxTY3JlZW4oKTsKICAgICB9KTsK
IH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Z1bGxzY3JlZW4vZnVsbC1zY3JlZW4tcmVxdWVz
dC1yZWplY3RlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mdWxsc2NyZWVuL2Z1bGwtc2Ny
ZWVuLXJlcXVlc3QtcmVqZWN0ZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUzNTk4N2E2ODhj
M2I2ZGUzZDJkYmMxOWRiYzgzMjg5ZDFlNDZmMzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLXJlcXVlc3QtcmVqZWN0ZWQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMyBAQAorRVZFTlQod2Via2l0ZnVsbHNjcmVlbnJlcXVlc3RkZW5pZWQpCitF
TkQgT0YgVEVTVAorVGhpcyB0ZXN0cyB0aGF0IGEgZnVsbC1zY3JlZW4gcmVxdWVzdCB3aGljaCBp
cyBub3QgdXNlci1pbml0aWF0ZWQgd2lsbCBiZSByZWplY3RlZC4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Z1bGxzY3JlZW4vZnVsbC1zY3JlZW4tcmVxdWVzdC1yZWplY3RlZC5odG1sIGIvTGF5
b3V0VGVzdHMvZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1yZXF1ZXN0LXJlamVjdGVkLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYTMwYmEzNjhlYjY3NDFkZmRiNDlhYmIwYjc2MmRmMWExN2ZmY2YzOQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Z1bGxzY3JlZW4vZnVsbC1zY3JlZW4tcmVxdWVzdC1y
ZWplY3RlZC5odG1sCkBAIC0wLDAgKzEsMTYgQEAKKzxib2R5PgorPHNjcmlwdCBzcmM9ImZ1bGwt
c2NyZWVuLXRlc3QuanMiPjwvc2NyaXB0PgorPGRpdj5UaGlzIHRlc3RzIHRoYXQgYSBmdWxsLXNj
cmVlbiByZXF1ZXN0IHdoaWNoIGlzIG5vdCB1c2VyLWluaXRpYXRlZCB3aWxsIGJlIHJlamVjdGVk
LgorPHNjcmlwdD4KKyAgICAvLyBCYWlsIG91dCBlYXJseSBpZiB0aGUgZnVsbCBzY3JlZW4gQVBJ
IGlzIG5vdCBlbmFibGVkIG9yIGlzIG1pc3Npbmc6CisgICAgaWYgKEVsZW1lbnQucHJvdG90eXBl
LndlYmtpdFJlcXVlc3RGdWxsU2NyZWVuID09IHVuZGVmaW5lZCkgeworICAgICAgICBsb2dSZXN1
bHQoZmFsc2UsICJFbGVtZW50LnByb3RvdHlwZS53ZWJraXRSZXF1ZXN0RnVsbFNjcmVlbiA9PSB1
bmRlZmluZWQiKTsKKyAgICAgICAgZW5kVGVzdCgpOworICAgIH0gZWxzZSB7CisgICAgICAgIHdh
aXRGb3JFdmVudChkb2N1bWVudCwgJ3dlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UnLCBmdW5jdGlvbigp
IHsKKyAgICAgICAgICAgbG9nUmVzdWx0KCJFbnRlcmVkIGZ1bGwgc2NyZWVuLiIsIGZhbHNlKTsg
CisgICAgICAgIH0pOworICAgICAgICB3YWl0Rm9yRXZlbnRBbmRFbmQoZG9jdW1lbnQsICd3ZWJr
aXRmdWxsc2NyZWVucmVxdWVzdGRlbmllZCcpOworICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVs
ZW1lbnQud2Via2l0UmVxdWVzdEZ1bGxTY3JlZW4oKTsKKyAgICB9Cis8L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwppbmRleCA1YzkyMjNiZmVjY2UwMWY3Y2MzZGI5Njg1NjRiZTcyOTlmY2FkOTA4Li5hMGFiYzA4
ODJlMWJkMjQ0YzI1ZGEwMWRiYzNkNzlmZjNlNGI3MDAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjggQEAKKzIwMTEtMDYtMDggIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW1pdCBhbiBlcnJv
ciBldmVudCB3aGVuIGEgcmVxdWVzdCB0byBlbnRlciBmdWxsLXNjcmVlbiBpcyByZWplY3RlZC4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYyMzIwCisK
KyAgICAgICAgVGVzdDogZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1yZXF1ZXN0LXJlamVjdGVkLmh0
bWwKKworICAgICAgICBXaGVuIGEgcmVxdWVzdCB0byBlbnRlciBmdWxsLXNjcmVlbiBpcyByZWpl
Y3RlZCwgZW1pdCBhbiBldmVudCAKKyAgICAgICAgKHdlYmtpdGZ1bGxzY3JlZW5yZXF1ZXN0ZGVu
aWVkKSBpbiByZXNwb25zZS4gIEJ1dCBlbWl0IHRoZSBldmVudCBkdXJpbmcgdGhlIG5leHQKKyAg
ICAgICAgdHJpcCB0aHJvdWdoIHRoZSBydW4tbG9vcCwgbGlrZSB0aGUgd2Via2l0ZnVsbHNjcmVl
bmNoYW5nZSBldmVudCwgYW5kIHNvIGEgbmV3CisgICAgICAgIHRpbWVyIGFuZCBxdWV1ZSBhcmUg
bmVjZXNzYXJ5LgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50OjpEb2N1bWVudCk6IEFkZCBpbml0aWFsaXplcnMgZm9yIG5ldyB0aW1lci4K
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZXF1ZXN0RnVsbFNjcmVlbkZvckVsZW1lbnQp
OiBFbWl0IHRoZSBkZW5pZWQgZXZlbnQKKyAgICAgICAgICAgIGlmIHRoZSByZXF1ZXN0IGRvZXMg
bm90IHBhc3MgYWxsIG91ciByZXF1aXJlbWVudHMuCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dDo6ZnVsbFNjcmVlblJlcXVlc3REZW5pZWREZWxheVRpbWVyRmlyZWQpOiBBZGRlZC4KKyAgICAg
ICAgKiBkb20vRG9jdW1lbnQuaDogQWRkIG5ldyBpdmFycy4KKyAgICAgICAgKiBkb20vRG9jdW1l
bnQuaWRsOiBBZGQgc3VwcG9ydCBmb3Igc2V0dGluZyBhbiBvbmZ1bGxzY3JlZW5yZXF1ZXN0ZGVu
aWVkIGF0dHJpYnV0ZS4KKyAgICAgICAgKiBkb20vRWxlbWVudC5oOiBEaXR0by4KKyAgICAgICAg
KiBkb20vRWxlbWVudC5pZGw6IERpdHRvLgorICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmg6IEFk
ZCB0aGUgbmFtZSBmb3IgdGhlIGRlbmllZCBldmVudC4KKwogMjAxMS0wNi0wMiAgSmVyIE5vYmxl
ICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGNlYTVkNTc1M2MxOTYzZGM3MjEyMDA3
Njk3MzI2ZWIxMDNjM2M2YjkuLmZmZWRmNjNlYjRjNjU1Zjc4ZmQ2NDZmMzFhMzk1Y2Q5MGU2MWVi
OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNDE1LDYgKzQxNSw3IEBAIERvY3VtZW50
OjpEb2N1bWVudChGcmFtZSogZnJhbWUsIGNvbnN0IEtVUkwmIHVybCwgYm9vbCBpc1hIVE1MLCBi
b29sIGlzSFRNTCkKICAgICAsIG1fYXJlS2V5c0VuYWJsZWRJbkZ1bGxTY3JlZW4oMCkKICAgICAs
IG1fZnVsbFNjcmVlblJlbmRlcmVyKDApCiAgICAgLCBtX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRp
bWVyKHRoaXMsICZEb2N1bWVudDo6ZnVsbFNjcmVlbkNoYW5nZURlbGF5VGltZXJGaXJlZCkKKyAg
ICAsIG1fZnVsbFNjcmVlblJlcXVlc3REZW5pZWREZWxheVRpbWVyKHRoaXMsICZEb2N1bWVudDo6
ZnVsbFNjcmVlblJlcXVlc3REZW5pZWREZWxheVRpbWVyRmlyZWQpCiAgICAgLCBtX2lzQW5pbWF0
aW5nRnVsbFNjcmVlbihmYWxzZSkKICNlbmRpZgogICAgICwgbV9sb2FkRXZlbnREZWxheUNvdW50
KDApCkBAIC00NzM1LDIzICs0NzM2LDI5IEBAIGJvb2wgRG9jdW1lbnQ6OmZ1bGxTY3JlZW5Jc0Fs
bG93ZWRGb3JFbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQpIGNvbnN0CiAKIHZvaWQgRG9jdW1lbnQ6
OnJlcXVlc3RGdWxsU2NyZWVuRm9yRWxlbWVudChFbGVtZW50KiBlbGVtZW50LCB1bnNpZ25lZCBz
aG9ydCBmbGFncywgRnVsbFNjcmVlbkNoZWNrVHlwZSBjaGVja1R5cGUpCiB7Ci0gICAgaWYgKCFw
YWdlKCkgfHwgIXBhZ2UoKS0+c2V0dGluZ3MoKS0+ZnVsbFNjcmVlbkVuYWJsZWQoKSkKLSAgICAg
ICAgcmV0dXJuOworICAgIGRvIHsKKyAgICAgICAgaWYgKCFwYWdlKCkgfHwgIXBhZ2UoKS0+c2V0
dGluZ3MoKS0+ZnVsbFNjcmVlbkVuYWJsZWQoKSkKKyAgICAgICAgICAgIGJyZWFrOwogCi0gICAg
aWYgKCFlbGVtZW50KQotICAgICAgICBlbGVtZW50ID0gZG9jdW1lbnRFbGVtZW50KCk7Ci0gICAg
Ci0gICAgaWYgKGNoZWNrVHlwZSA9PSBFbmZvcmNlSUZyYW1lQWxsb3dGdWxTY3JlZW5SZXF1aXJl
bWVudCAmJiAhZnVsbFNjcmVlbklzQWxsb3dlZEZvckVsZW1lbnQoZWxlbWVudCkpCi0gICAgICAg
IHJldHVybjsKLSAgICAKLSAgICBpZiAoIVNjcmlwdENvbnRyb2xsZXI6OnByb2Nlc3NpbmdVc2Vy
R2VzdHVyZSgpKQotICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgaWYgKCFwYWdlKCktPmNocm9t
ZSgpLT5jbGllbnQoKS0+c3VwcG9ydHNGdWxsU2NyZWVuRm9yRWxlbWVudChlbGVtZW50LCBmbGFn
cyAmIEVsZW1lbnQ6OkFMTE9XX0tFWUJPQVJEX0lOUFVUKSkKKyAgICAgICAgaWYgKCFlbGVtZW50
KQorICAgICAgICAgICAgZWxlbWVudCA9IGRvY3VtZW50RWxlbWVudCgpOworICAgICAgICAKKyAg
ICAgICAgaWYgKGNoZWNrVHlwZSA9PSBFbmZvcmNlSUZyYW1lQWxsb3dGdWxTY3JlZW5SZXF1aXJl
bWVudCAmJiAhZnVsbFNjcmVlbklzQWxsb3dlZEZvckVsZW1lbnQoZWxlbWVudCkpCisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgCisgICAgICAgIGlmICghU2NyaXB0Q29udHJvbGxlcjo6cHJv
Y2Vzc2luZ1VzZXJHZXN0dXJlKCkpCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgCisgICAg
ICAgIGlmICghcGFnZSgpLT5jaHJvbWUoKS0+Y2xpZW50KCktPnN1cHBvcnRzRnVsbFNjcmVlbkZv
ckVsZW1lbnQoZWxlbWVudCwgZmxhZ3MgJiBFbGVtZW50OjpBTExPV19LRVlCT0FSRF9JTlBVVCkp
CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBtX2FyZUtleXNFbmFibGVkSW5GdWxsU2Ny
ZWVuID0gZmxhZ3MgJiBFbGVtZW50OjpBTExPV19LRVlCT0FSRF9JTlBVVDsKKyAgICAgICAgcGFn
ZSgpLT5jaHJvbWUoKS0+Y2xpZW50KCktPmVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQoZWxlbWVu
dCk7CiAgICAgICAgIHJldHVybjsKKyAgICB9IHdoaWxlICgwKTsKICAgICAKLSAgICBtX2FyZUtl
eXNFbmFibGVkSW5GdWxsU2NyZWVuID0gZmxhZ3MgJiBFbGVtZW50OjpBTExPV19LRVlCT0FSRF9J
TlBVVDsKLSAgICBwYWdlKCktPmNocm9tZSgpLT5jbGllbnQoKS0+ZW50ZXJGdWxsU2NyZWVuRm9y
RWxlbWVudChlbGVtZW50KTsKKyAgICBtX2Z1bGxTY3JlZW5SZXF1ZXN0RGVuaWVkRXZlbnRUYXJn
ZXRRdWV1ZS5hcHBlbmQoZWxlbWVudCk7CisgICAgbV9mdWxsU2NyZWVuUmVxdWVzdERlbmllZERl
bGF5VGltZXIuc3RhcnRPbmVTaG90KDApOwogfQogCiB2b2lkIERvY3VtZW50Ojp3ZWJraXRDYW5j
ZWxGdWxsU2NyZWVuKCkKQEAgLTQ5MzIsNiArNDkzOSwyMSBAQCB2b2lkIERvY3VtZW50OjpmdWxs
U2NyZWVuQ2hhbmdlRGVsYXlUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiopCiAgICAgfQogfQog
Cit2b2lkIERvY3VtZW50OjpmdWxsU2NyZWVuUmVxdWVzdERlbmllZERlbGF5VGltZXJGaXJlZChU
aW1lcjxEb2N1bWVudD4qKQoreworICAgIHdoaWxlICghbV9mdWxsU2NyZWVuUmVxdWVzdERlbmll
ZEV2ZW50VGFyZ2V0UXVldWUuaXNFbXB0eSgpKSB7CisgICAgICAgIFJlZlB0cjxFbGVtZW50PiBl
bGVtZW50ID0gbV9mdWxsU2NyZWVuUmVxdWVzdERlbmllZEV2ZW50VGFyZ2V0UXVldWUudGFrZUZp
cnN0KCk7CisgICAgICAgIGlmICghZWxlbWVudCkKKyAgICAgICAgICAgIGVsZW1lbnQgPSBkb2N1
bWVudEVsZW1lbnQoKTsKKyAgICAgICAgCisgICAgICAgIC8vIElmIHRoZSBlbGVtZW50IHdhcyBy
ZW1vdmVkIGZyb20gb3VyIHRyZWUsIGFsc28gbWVzc2FnZSB0aGUgZG9jdW1lbnRFbGVtZW50Lgor
ICAgICAgICBpZiAoIWNvbnRhaW5zKGVsZW1lbnQuZ2V0KCkpKQorICAgICAgICAgICAgbV9mdWxs
U2NyZWVuUmVxdWVzdERlbmllZEV2ZW50VGFyZ2V0UXVldWUuYXBwZW5kKGRvY3VtZW50RWxlbWVu
dCgpKTsKKyAgICAgICAgCisgICAgICAgIGVsZW1lbnQtPmRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNy
ZWF0ZShldmVudE5hbWVzKCkud2Via2l0ZnVsbHNjcmVlbnJlcXVlc3RkZW5pZWRFdmVudCwgdHJ1
ZSwgZmFsc2UpKTsKKyAgICB9Cit9CisKIHZvaWQgRG9jdW1lbnQ6OmZ1bGxTY3JlZW5FbGVtZW50
UmVtb3ZlZCgpCiB7CiAgICAgd2Via2l0Q2FuY2VsRnVsbFNjcmVlbigpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuaAppbmRleCA5MjdiNDY1Yjk2MzU5MmNkNWU5OGE4NjA5ZjE2ZjhiZTExNmE2Njg0Li40OTg1
YWNlODM5YjQ2ZTFlYzhjMzc2M2Q0YzYwZWY2YWYwMjBjNTBiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aApAQCAtMzA4LDYgKzMwOCw3IEBAIHB1YmxpYzoKICNlbmRpZgogI2lmIEVOQUJMRShGVUxMU0NS
RUVOX0FQSSkKICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdGZ1bGxz
Y3JlZW5jaGFuZ2UpOworICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0
ZnVsbHNjcmVlbnJlcXVlc3RkZW5pZWQpOwogI2VuZGlmCiAjaWYgRU5BQkxFKFBBR0VfVklTSUJJ
TElUWV9BUEkpCiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXR2aXNp
YmlsaXR5Y2hhbmdlKTsKQEAgLTEwNTEsNiArMTA1Miw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNl
dEZ1bGxTY3JlZW5SZW5kZXJlckJhY2tncm91bmRDb2xvcihDb2xvcik7CiAgICAgCiAgICAgdm9p
ZCBmdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiopOworICAg
IHZvaWQgZnVsbFNjcmVlblJlcXVlc3REZW5pZWREZWxheVRpbWVyRmlyZWQoVGltZXI8RG9jdW1l
bnQ+Kik7CiAgICAgYm9vbCBmdWxsU2NyZWVuSXNBbGxvd2VkRm9yRWxlbWVudChFbGVtZW50Kikg
Y29uc3Q7CiAgICAgdm9pZCBmdWxsU2NyZWVuRWxlbWVudFJlbW92ZWQoKTsKICAgICB2b2lkIHJl
bW92ZUZ1bGxTY3JlZW5FbGVtZW50T2ZTdWJ0cmVlKE5vZGUqLCBib29sIGFtb25nQ2hpbGRyZW5P
bmx5ID0gZmFsc2UpOwpAQCAtMTM3MCw3ICsxMzcyLDkgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8
RWxlbWVudD4gbV9mdWxsU2NyZWVuRWxlbWVudDsKICAgICBSZW5kZXJGdWxsU2NyZWVuKiBtX2Z1
bGxTY3JlZW5SZW5kZXJlcjsKICAgICBUaW1lcjxEb2N1bWVudD4gbV9mdWxsU2NyZWVuQ2hhbmdl
RGVsYXlUaW1lcjsKKyAgICBUaW1lcjxEb2N1bWVudD4gbV9mdWxsU2NyZWVuUmVxdWVzdERlbmll
ZERlbGF5VGltZXI7CiAgICAgRGVxdWU8UmVmUHRyPEVsZW1lbnQ+ID4gbV9mdWxsU2NyZWVuQ2hh
bmdlRXZlbnRUYXJnZXRRdWV1ZTsKKyAgICBEZXF1ZTxSZWZQdHI8RWxlbWVudD4gPiBtX2Z1bGxT
Y3JlZW5SZXF1ZXN0RGVuaWVkRXZlbnRUYXJnZXRRdWV1ZTsKICAgICBib29sIG1faXNBbmltYXRp
bmdGdWxsU2NyZWVuOwogICAgIEludFJlY3QgbV9zYXZlZFBsYWNlaG9sZGVyRnJhbWVSZWN0Owog
ICAgIFJlZlB0cjxSZW5kZXJTdHlsZT4gbV9zYXZlZFBsYWNlaG9sZGVyUmVuZGVyU3R5bGU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmlkbAppbmRleCBlMWUyMmMxYzA2YjVjNjk1NWFmM2I5NTMwOGYxZGZh
NDliN2QzOGYxLi5lMWIyNWRiN2Y2NWQxOWI0MzNkZDljMGZmYzNiMjk5NmQ5NWU2MmViIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5pZGwKQEAgLTMxNCw2ICszMTQsNyBAQCBtb2R1bGUgY29yZSB7CiAg
ICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW0sQ29uZGl0aW9uYWw9VE9VQ0hfRVZFTlRTLEVuYWJs
ZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIgb250b3VjaGVuZDsKICAgICAgICAgYXR0cmlidXRl
IFtEb250RW51bSxDb25kaXRpb25hbD1UT1VDSF9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0gRXZl
bnRMaXN0ZW5lciBvbnRvdWNoY2FuY2VsOwogICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtLCBD
b25kaXRpb25hbD1GVUxMU0NSRUVOX0FQSV0gRXZlbnRMaXN0ZW5lciBvbndlYmtpdGZ1bGxzY3Jl
ZW5jaGFuZ2U7CisgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW0sIENvbmRpdGlvbmFsPUZVTExT
Q1JFRU5fQVBJXSBFdmVudExpc3RlbmVyIG9ud2Via2l0ZnVsbHNjcmVlbnJlcXVlc3RkZW5pZWQ7
CiAjZW5kaWYKIAogI2lmIGRlZmluZWQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJiYgRU5BQkxFX1RP
VUNIX0VWRU5UUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggNDdmZWFkYzU0MDY1M2U5ZDhlN2FjNDRk
NTI5OWEzOWRkYzY0YmZjYS4uMzI3ZGEwYTYxNmNlMDExYWY1MjhmZWJmZjg1YzZmYWNlZmQwM2Yy
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5oCkBAIC0xMDUsNiArMTA1LDcgQEAgcHVibGljOgogI2VuZGlm
CiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQogICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRf
TElTVEVORVIod2Via2l0ZnVsbHNjcmVlbmNoYW5nZSk7CisgICAgREVGSU5FX0FUVFJJQlVURV9F
VkVOVF9MSVNURU5FUih3ZWJraXRmdWxsc2NyZWVucmVxdWVzdGRlbmllZCk7CiAjZW5kaWYKIAog
ICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBkZXByZWNhdGVkQ3JlYXRl
Q29udGV4dHVhbEZyYWdtZW50KGNvbnN0IFN0cmluZyYsIEZyYWdtZW50U2NyaXB0aW5nUGVybWlz
c2lvbiA9IEZyYWdtZW50U2NyaXB0aW5nQWxsb3dlZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5pZGwKaW5k
ZXggYTc3MWZmZWQwMGQ1ZjE1NzRjYzIwMzY4OTkxMTExOGY5M2ZjMjE4ZS4uMWU4NzRiNmY5MWE2
NmVhYTBkODcwYjkxMTMyM2Q0YjUwN2Y3OWU5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbApAQCAt
MjEwLDYgKzIxMCw3IEBAIG1vZHVsZSBjb3JlIHsKICAgICAgICAgYXR0cmlidXRlIFtEb250RW51
bSxDb25kaXRpb25hbD1UT1VDSF9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5l
ciBvbnRvdWNoZW5kOwogICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtLENvbmRpdGlvbmFsPVRP
VUNIX0VWRU5UUyxFbmFibGVkQXRSdW50aW1lXSBFdmVudExpc3RlbmVyIG9udG91Y2hjYW5jZWw7
CiAgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW0sIENvbmRpdGlvbmFsPUZVTExTQ1JFRU5fQVBJ
XSBFdmVudExpc3RlbmVyIG9ud2Via2l0ZnVsbHNjcmVlbmNoYW5nZTsKKyAgICAgICAgYXR0cmli
dXRlIFtEb250RW51bSwgQ29uZGl0aW9uYWw9RlVMTFNDUkVFTl9BUEldIEV2ZW50TGlzdGVuZXIg
b253ZWJraXRmdWxsc2NyZWVucmVxdWVzdGRlbmllZDsKICNlbmRpZgogICAgIH07CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRXZlbnROYW1lcy5oCmluZGV4IDlkZDE4MzcwYTRkZDcxZjllM2M0ZDNiZjcyNDM4ZmJmYWM1
MDgyZmUuLjAwMzBiOTQxYzcwZmUzOWU5NGNiYjM3NGMxZDM0NDhlYjY1M2YyNzYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50TmFtZXMuaApAQCAtMTcxLDYgKzE3MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICBtYWNybyhsb2FkZW5kKSBcCiAgICAgXAogICAgIG1hY3JvKHdlYmtpdGZ1bGxzY3JlZW5j
aGFuZ2UpIFwKKyAgICBtYWNybyh3ZWJraXRmdWxsc2NyZWVucmVxdWVzdGRlbmllZCkgXAogICAg
IFwKICAgICBtYWNybyh3ZWJraXRzcGVlY2hjaGFuZ2UpIFwKICAgICBcCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108696</attachid>
            <date>2011-09-26 11:35:11 -0700</date>
            <delta_ts>2011-09-26 11:50:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62320-20110926113510.patch</filename>
            <type>text/plain</type>
            <size>14028</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU3NDEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzMzZiZmZiNjRkOTc2M2ZhNDQxMTA2
MjcyZGFiOTU1YzdkZmU5MTI1Li4xYzI3NWU2NjAyNDU5MjViY2E4MDY2NDA3YWNlMmM1MzRkNWI0
YTM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDktMjYgIEplciBOb2JsZSAgPGplci5u
b2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRW1pdCBhbiBlcnJvciBldmVudCB3aGVuIGEgcmVxdWVzdCB0byBlbnRlciBmdWxs
LXNjcmVlbiBpcyByZWplY3RlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTYyMzIwCisKKyAgICAgICAgKiBmdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLWlm
cmFtZS1ub3QtYWxsb3dlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZnVsbHNjcmVlbi9mdWxs
LXNjcmVlbi1pZnJhbWUtbm90LWFsbG93ZWQuaHRtbDoKKyAgICAgICAgKiBmdWxsc2NyZWVuL2Z1
bGwtc2NyZWVuLXJlcXVlc3QtcmVqZWN0ZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLXJlcXVlc3QtcmVqZWN0ZWQuaHRtbDogQWRkZWQuCisK
IDIwMTEtMDktMjIgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgogCiAgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY0NQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1pZnJhbWUtbm90LWFsbG93ZWQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1pZnJhbWUtbm90
LWFsbG93ZWQtZXhwZWN0ZWQudHh0CmluZGV4IDg4NjQ5NDE5ZjU2OTU1NzUwZmE4MDlmNmE0Njhh
NTE5YmQ4ZGM4NmIuLmQzOGFkN2IwYzFjNDlkMzQ5YmY0Y2Q2NzE1MGYxNWU3ZjBkNWVmNGEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Z1bGxzY3JlZW4vZnVsbC1zY3JlZW4taWZyYW1lLW5vdC1h
bGxvd2VkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mdWxsc2NyZWVuL2Z1bGwtc2Ny
ZWVuLWlmcmFtZS1ub3QtYWxsb3dlZC1leHBlY3RlZC50eHQKQEAgLTIsNiArMiw3IEBAIFRlc3Qg
Zm9yIGJ1ZyA1NjI2NDogSGFuZGxlIGVudGVyaW5nIGZ1bGwgc2NyZWVuIHNlY3VyaXR5IHJlc3Ry
aWN0aW9ucwogCiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgIkdvIGZ1bGwgc2NyZWVuIiBi
dXR0b24gLSB0aGUgcGFnZSBzaG91bGQgbm90IGVudGVyIGZ1bGwgc2NyZWVuIG1vZGUuCiAKK0VW
RU5UKHdlYmtpdGZ1bGxzY3JlZW5kZW5pZWQpCiBTVUNDRUVEIC0gZGlkIG5vdCBlbnRlciBmdWxs
IHNjcmVlbiEKIEVORCBPRiBURVNUCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Z1bGxzY3Jl
ZW4vZnVsbC1zY3JlZW4taWZyYW1lLW5vdC1hbGxvd2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9mdWxs
c2NyZWVuL2Z1bGwtc2NyZWVuLWlmcmFtZS1ub3QtYWxsb3dlZC5odG1sCmluZGV4IGEwMzc2YjQ3
ZmJhN2JmNGViY2FjZmI5NzQ0ZmZlZWM1MzYyYmM5NWIuLmNjM2YxZjMwNjRhOTViNWU1ZjE1YmE4
YzNjOWQ3MzNkMmM3MzIzYTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Z1bGxzY3JlZW4vZnVs
bC1zY3JlZW4taWZyYW1lLW5vdC1hbGxvd2VkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZnVsbHNj
cmVlbi9mdWxsLXNjcmVlbi1pZnJhbWUtbm90LWFsbG93ZWQuaHRtbApAQCAtMTEsMTMgKzExLDEx
IEBAIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAgICAgICAgICBlbmRUZXN0KCk7CiAgICAgfSk7
CiAKLSAgICBydW5XaXRoS2V5RG93bihmdW5jdGlvbigpIHsKLQotICAgICAgICBzZXRUaW1lb3V0
KGZ1bmN0aW9uKCkgeyAKLSAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiU1VDQ0VFRCAtIGRpZCBu
b3QgZW50ZXIgZnVsbCBzY3JlZW4hIik7IAotICAgICAgICAgICAgZW5kVGVzdCgpOyAKLSAgICAg
ICAgfSwgNTApOworICAgIHdhaXRGb3JFdmVudEFuZEVuZChmcmFtZS5jb250ZW50RG9jdW1lbnQs
ICd3ZWJraXRmdWxsc2NyZWVuZGVuaWVkJywgZnVuY3Rpb24oKSB7CisgICAgICAgIGNvbnNvbGVX
cml0ZSgiU1VDQ0VFRCAtIGRpZCBub3QgZW50ZXIgZnVsbCBzY3JlZW4hIik7CisgICAgfSk7CiAK
KyAgICBydW5XaXRoS2V5RG93bihmdW5jdGlvbigpIHsKICAgICAgICAgZnJhbWUuY29udGVudERv
Y3VtZW50LmRvY3VtZW50RWxlbWVudC53ZWJraXRSZXF1ZXN0RnVsbFNjcmVlbigpOwogICAgIH0p
OwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1yZXF1
ZXN0LXJlamVjdGVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Z1bGxzY3JlZW4vZnVsbC1z
Y3JlZW4tcmVxdWVzdC1yZWplY3RlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODJjY2ZhZmM3
YzNjOTI5NjI3NzI5YWYyZmYwZDA1YWRhMmMwYmVkYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Z1bGxzY3JlZW4vZnVsbC1zY3JlZW4tcmVxdWVzdC1yZWplY3RlZC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzIEBACitFVkVOVCh3ZWJraXRmdWxsc2NyZWVuZGVuaWVkKQorRU5EIE9G
IFRFU1QKK1RoaXMgdGVzdHMgdGhhdCBhIGZ1bGwtc2NyZWVuIHJlcXVlc3Qgd2hpY2ggaXMgbm90
IHVzZXItaW5pdGlhdGVkIHdpbGwgYmUgcmVqZWN0ZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLXJlcXVlc3QtcmVqZWN0ZWQuaHRtbCBiL0xheW91dFRl
c3RzL2Z1bGxzY3JlZW4vZnVsbC1zY3JlZW4tcmVxdWVzdC1yZWplY3RlZC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjliNDZkYzJlNTcyYzJhMTExMzkzOGRmNTVmZTJlMTg3NjgxMmQ5ODMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLXJlcXVlc3QtcmVqZWN0
ZWQuaHRtbApAQCAtMCwwICsxLDE2IEBACis8Ym9keT4KKzxzY3JpcHQgc3JjPSJmdWxsLXNjcmVl
bi10ZXN0LmpzIj48L3NjcmlwdD4KKzxkaXY+VGhpcyB0ZXN0cyB0aGF0IGEgZnVsbC1zY3JlZW4g
cmVxdWVzdCB3aGljaCBpcyBub3QgdXNlci1pbml0aWF0ZWQgd2lsbCBiZSByZWplY3RlZC4KKzxz
Y3JpcHQ+CisgICAgLy8gQmFpbCBvdXQgZWFybHkgaWYgdGhlIGZ1bGwgc2NyZWVuIEFQSSBpcyBu
b3QgZW5hYmxlZCBvciBpcyBtaXNzaW5nOgorICAgIGlmIChFbGVtZW50LnByb3RvdHlwZS53ZWJr
aXRSZXF1ZXN0RnVsbFNjcmVlbiA9PSB1bmRlZmluZWQpIHsKKyAgICAgICAgbG9nUmVzdWx0KGZh
bHNlLCAiRWxlbWVudC5wcm90b3R5cGUud2Via2l0UmVxdWVzdEZ1bGxTY3JlZW4gPT0gdW5kZWZp
bmVkIik7CisgICAgICAgIGVuZFRlc3QoKTsKKyAgICB9IGVsc2UgeworICAgICAgICB3YWl0Rm9y
RXZlbnQoZG9jdW1lbnQsICd3ZWJraXRmdWxsc2NyZWVuY2hhbmdlJywgZnVuY3Rpb24oKSB7Cisg
ICAgICAgICAgIGxvZ1Jlc3VsdCgiRW50ZXJlZCBmdWxsIHNjcmVlbi4iLCBmYWxzZSk7IAorICAg
ICAgICB9KTsKKyAgICAgICAgd2FpdEZvckV2ZW50QW5kRW5kKGRvY3VtZW50LCAnd2Via2l0ZnVs
bHNjcmVlbmRlbmllZCcpOworICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQud2Via2l0
UmVxdWVzdEZ1bGxTY3JlZW4oKTsKKyAgICB9Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5Mjlh
MTY3NTFjNzMyMTM0YTA4Yjg5MzM1NjcwMjMzMjI0ZTZhMjgzLi43NzM3NmU3MGQyYzlmMTE0NGE3
NGZhNjI1N2IwMGFiYzBjYTE5ZDQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzAgQEAKIDIwMTEt
MDktMjYgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW1pdCBhbiBlcnJvciBldmVudCB3aGVu
IGEgcmVxdWVzdCB0byBlbnRlciBmdWxsLXNjcmVlbiBpcyByZWplY3RlZC4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYyMzIwCisKKyAgICAgICAgVGVz
dDogZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1yZXF1ZXN0LXJlamVjdGVkLmh0bWwKKworICAgICAg
ICBXaGVuIGEgcmVxdWVzdCB0byBlbnRlciBmdWxsLXNjcmVlbiBpcyByZWplY3RlZCwgZW1pdCBh
biBldmVudCAKKyAgICAgICAgKHdlYmtpdGZ1bGxzY3JlZW5yZXF1ZXN0ZGVuaWVkKSBpbiByZXNw
b25zZS4gIEJ1dCBlbWl0IHRoZSBldmVudCBkdXJpbmcgdGhlIG5leHQKKyAgICAgICAgdHJpcCB0
aHJvdWdoIHRoZSBydW4tbG9vcCwgbGlrZSB0aGUgd2Via2l0ZnVsbHNjcmVlbmNoYW5nZSBldmVu
dCwgYW5kIHNvIGEgbmV3CisgICAgICAgIHRpbWVyIGFuZCBxdWV1ZSBhcmUgbmVjZXNzYXJ5Lgor
CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
OjpEb2N1bWVudCk6IEFkZCBpbml0aWFsaXplcnMgZm9yIG5ldyB0aW1lci4KKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50OjpyZXF1ZXN0RnVsbFNjcmVlbkZvckVsZW1lbnQpOiBFbWl0IHRoZSBk
ZW5pZWQgZXZlbnQKKyAgICAgICAgICAgIGlmIHRoZSByZXF1ZXN0IGRvZXMgbm90IHBhc3MgYWxs
IG91ciByZXF1aXJlbWVudHMuCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZnVsbFNjcmVl
bkRlbmllZERlbGF5VGltZXJGaXJlZCk6IEFkZGVkLgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5o
OiBBZGQgbmV3IGl2YXJzLgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5pZGw6IEFkZCBzdXBwb3J0
IGZvciBzZXR0aW5nIGFuIG9uZnVsbHNjcmVlbmRlbmllZCBhdHRyaWJ1dGUuCisgICAgICAgICog
ZG9tL0VsZW1lbnQuaDogRGl0dG8uCisgICAgICAgICogZG9tL0VsZW1lbnQuaWRsOiBEaXR0by4K
KyAgICAgICAgKiBkb20vRXZlbnROYW1lcy5oOiBBZGQgdGhlIG5hbWUgZm9yIHRoZSBkZW5pZWQg
ZXZlbnQuCisKKzIwMTEtMDktMjYgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisK
ICAgICAgICAgV2hpdGUgZmxhc2ggd2hlbiBlbnRlcmluZyBmdWxsLXNjcmVlbiB1c2luZyBlbGVt
ZW50LndlYmtpdFJlcXVlc3RGdWxsU2NyZWVuKCkKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDgxCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4
IGQ2YTI1MmMwMTk5OTAxN2ZjZmJhMWUzNWM0MTBjMDk0YjA0Y2U2Y2IuLmJiYzFlYjA2YWQ5ZTg5
YjMwMjFjMmI3ZDE0OWVhMzllMmU2ZWMyZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAt
NDQxLDYgKzQ0MSw3IEBAIERvY3VtZW50OjpEb2N1bWVudChGcmFtZSogZnJhbWUsIGNvbnN0IEtV
UkwmIHVybCwgYm9vbCBpc1hIVE1MLCBib29sIGlzSFRNTCkKICAgICAsIG1fYXJlS2V5c0VuYWJs
ZWRJbkZ1bGxTY3JlZW4oMCkKICAgICAsIG1fZnVsbFNjcmVlblJlbmRlcmVyKDApCiAgICAgLCBt
X2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyKHRoaXMsICZEb2N1bWVudDo6ZnVsbFNjcmVlbkNo
YW5nZURlbGF5VGltZXJGaXJlZCkKKyAgICAsIG1fZnVsbFNjcmVlbkRlbmllZERlbGF5VGltZXIo
dGhpcywgJkRvY3VtZW50OjpmdWxsU2NyZWVuRGVuaWVkRGVsYXlUaW1lckZpcmVkKQogICAgICwg
bV9pc0FuaW1hdGluZ0Z1bGxTY3JlZW4oZmFsc2UpCiAjZW5kaWYKICAgICAsIG1fbG9hZEV2ZW50
RGVsYXlDb3VudCgwKQpAQCAtMTgyNiw2ICsxODI3LDcgQEAgdm9pZCBEb2N1bWVudDo6ZGV0YWNo
KCkKICAgICBtX2V2ZW50UXVldWUtPmNsb3NlKCk7CiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJ
KQogICAgIG1fZnVsbFNjcmVlbkNoYW5nZUV2ZW50VGFyZ2V0UXVldWUuY2xlYXIoKTsKKyAgICBt
X2Z1bGxTY3JlZW5EZW5pZWRFdmVudFRhcmdldFF1ZXVlLmNsZWFyKCk7CiAjZW5kaWYKIAogI2lm
IEVOQUJMRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkKQEAgLTQ4NDIsMjMgKzQ4NDQsMjkgQEAg
Ym9vbCBEb2N1bWVudDo6ZnVsbFNjcmVlbklzQWxsb3dlZEZvckVsZW1lbnQoRWxlbWVudCogZWxl
bWVudCkgY29uc3QKIAogdm9pZCBEb2N1bWVudDo6cmVxdWVzdEZ1bGxTY3JlZW5Gb3JFbGVtZW50
KEVsZW1lbnQqIGVsZW1lbnQsIHVuc2lnbmVkIHNob3J0IGZsYWdzLCBGdWxsU2NyZWVuQ2hlY2tU
eXBlIGNoZWNrVHlwZSkKIHsKLSAgICBpZiAoIXBhZ2UoKSB8fCAhcGFnZSgpLT5zZXR0aW5ncygp
LT5mdWxsU2NyZWVuRW5hYmxlZCgpKQotICAgICAgICByZXR1cm47CisgICAgZG8geworICAgICAg
ICBpZiAoIXBhZ2UoKSB8fCAhcGFnZSgpLT5zZXR0aW5ncygpLT5mdWxsU2NyZWVuRW5hYmxlZCgp
KQorICAgICAgICAgICAgYnJlYWs7CiAKLSAgICBpZiAoIWVsZW1lbnQpCi0gICAgICAgIGVsZW1l
bnQgPSBkb2N1bWVudEVsZW1lbnQoKTsKLSAgICAKLSAgICBpZiAoY2hlY2tUeXBlID09IEVuZm9y
Y2VJRnJhbWVBbGxvd0Z1bFNjcmVlblJlcXVpcmVtZW50ICYmICFmdWxsU2NyZWVuSXNBbGxvd2Vk
Rm9yRWxlbWVudChlbGVtZW50KSkKLSAgICAgICAgcmV0dXJuOwotICAgIAotICAgIGlmICghU2Ny
aXB0Q29udHJvbGxlcjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkpCi0gICAgICAgIHJldHVybjsK
LSAgICAKLSAgICBpZiAoIXBhZ2UoKS0+Y2hyb21lKCktPmNsaWVudCgpLT5zdXBwb3J0c0Z1bGxT
Y3JlZW5Gb3JFbGVtZW50KGVsZW1lbnQsIGZsYWdzICYgRWxlbWVudDo6QUxMT1dfS0VZQk9BUkRf
SU5QVVQpKQorICAgICAgICBpZiAoIWVsZW1lbnQpCisgICAgICAgICAgICBlbGVtZW50ID0gZG9j
dW1lbnRFbGVtZW50KCk7CisgICAgICAgIAorICAgICAgICBpZiAoY2hlY2tUeXBlID09IEVuZm9y
Y2VJRnJhbWVBbGxvd0Z1bFNjcmVlblJlcXVpcmVtZW50ICYmICFmdWxsU2NyZWVuSXNBbGxvd2Vk
Rm9yRWxlbWVudChlbGVtZW50KSkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAKKyAgICAg
ICAgaWYgKCFTY3JpcHRDb250cm9sbGVyOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUoKSkKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAKKyAgICAgICAgaWYgKCFwYWdlKCktPmNocm9tZSgpLT5j
bGllbnQoKS0+c3VwcG9ydHNGdWxsU2NyZWVuRm9yRWxlbWVudChlbGVtZW50LCBmbGFncyAmIEVs
ZW1lbnQ6OkFMTE9XX0tFWUJPQVJEX0lOUFVUKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAKKyAgICAgICAgbV9hcmVLZXlzRW5hYmxlZEluRnVsbFNjcmVlbiA9IGZsYWdzICYgRWxlbWVu
dDo6QUxMT1dfS0VZQk9BUkRfSU5QVVQ7CisgICAgICAgIHBhZ2UoKS0+Y2hyb21lKCktPmNsaWVu
dCgpLT5lbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KGVsZW1lbnQpOwogICAgICAgICByZXR1cm47
CisgICAgfSB3aGlsZSgwKTsKICAgICAKLSAgICBtX2FyZUtleXNFbmFibGVkSW5GdWxsU2NyZWVu
ID0gZmxhZ3MgJiBFbGVtZW50OjpBTExPV19LRVlCT0FSRF9JTlBVVDsKLSAgICBwYWdlKCktPmNo
cm9tZSgpLT5jbGllbnQoKS0+ZW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudChlbGVtZW50KTsKKyAg
ICBtX2Z1bGxTY3JlZW5EZW5pZWRFdmVudFRhcmdldFF1ZXVlLmFwcGVuZChlbGVtZW50ID8gZWxl
bWVudCA6IGRvY3VtZW50RWxlbWVudCgpKTsKKyAgICBtX2Z1bGxTY3JlZW5EZW5pZWREZWxheVRp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6d2Via2l0Q2FuY2VsRnVs
bFNjcmVlbigpCkBAIC01MDI4LDYgKzUwMzYsMjEgQEAgdm9pZCBEb2N1bWVudDo6ZnVsbFNjcmVl
bkNoYW5nZURlbGF5VGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4qKQogICAgIH0KIH0KIAordm9p
ZCBEb2N1bWVudDo6ZnVsbFNjcmVlbkRlbmllZERlbGF5VGltZXJGaXJlZChUaW1lcjxEb2N1bWVu
dD4qKQoreworICAgIHdoaWxlICghbV9mdWxsU2NyZWVuRGVuaWVkRXZlbnRUYXJnZXRRdWV1ZS5p
c0VtcHR5KCkpIHsKKyAgICAgICAgUmVmUHRyPEVsZW1lbnQ+IGVsZW1lbnQgPSBtX2Z1bGxTY3Jl
ZW5EZW5pZWRFdmVudFRhcmdldFF1ZXVlLnRha2VGaXJzdCgpOworICAgICAgICBpZiAoIWVsZW1l
bnQpCisgICAgICAgICAgICBlbGVtZW50ID0gZG9jdW1lbnRFbGVtZW50KCk7CisgICAgICAgIAor
ICAgICAgICAvLyBJZiB0aGUgZWxlbWVudCB3YXMgcmVtb3ZlZCBmcm9tIG91ciB0cmVlLCBhbHNv
IG1lc3NhZ2UgdGhlIGRvY3VtZW50RWxlbWVudC4KKyAgICAgICAgaWYgKCFjb250YWlucyhlbGVt
ZW50LmdldCgpKSkKKyAgICAgICAgICAgIG1fZnVsbFNjcmVlbkRlbmllZEV2ZW50VGFyZ2V0UXVl
dWUuYXBwZW5kKGRvY3VtZW50RWxlbWVudCgpKTsKKyAgICAgICAgCisgICAgICAgIGVsZW1lbnQt
PmRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkud2Via2l0ZnVsbHNjcmVl
bmRlbmllZEV2ZW50LCB0cnVlLCBmYWxzZSkpOworICAgIH0KK30KKwogdm9pZCBEb2N1bWVudDo6
ZnVsbFNjcmVlbkVsZW1lbnRSZW1vdmVkKCkKIHsKICAgICBtX2Z1bGxTY3JlZW5FbGVtZW50LT5z
ZXRDb250YWluc0Z1bGxTY3JlZW5FbGVtZW50T25BbmNlc3RvcnNDcm9zc2luZ0ZyYW1lQm91bmRh
cmllcyhmYWxzZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDg1ZmEzYTExMTk5YTY1N2M3Mzk3
ODAxZTVlM2FlODE3OGJhMjcwMTYuLjU0M2U4YjA4OWIwMWEzNDFlOTQxODhiZjEzNzUzZjI4YjJh
MDgyYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0zMTQsNiArMzE0LDcgQEAgcHVibGljOgog
I2VuZGlmCiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQogICAgIERFRklORV9BVFRSSUJVVEVf
RVZFTlRfTElTVEVORVIod2Via2l0ZnVsbHNjcmVlbmNoYW5nZSk7CisgICAgREVGSU5FX0FUVFJJ
QlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXRmdWxsc2NyZWVuZGVuaWVkKTsKICNlbmRpZgogI2lm
IEVOQUJMRShQQUdFX1ZJU0lCSUxJVFlfQVBJKQogICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRf
TElTVEVORVIod2Via2l0dmlzaWJpbGl0eWNoYW5nZSk7CkBAIC0xMDYxLDYgKzEwNjIsNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCBzZXRGdWxsU2NyZWVuUmVuZGVyZXJCYWNrZ3JvdW5kQ29sb3IoQ29s
b3IpOwogICAgIAogICAgIHZvaWQgZnVsbFNjcmVlbkNoYW5nZURlbGF5VGltZXJGaXJlZChUaW1l
cjxEb2N1bWVudD4qKTsKKyAgICB2b2lkIGZ1bGxTY3JlZW5EZW5pZWREZWxheVRpbWVyRmlyZWQo
VGltZXI8RG9jdW1lbnQ+Kik7CiAgICAgYm9vbCBmdWxsU2NyZWVuSXNBbGxvd2VkRm9yRWxlbWVu
dChFbGVtZW50KikgY29uc3Q7CiAgICAgdm9pZCBmdWxsU2NyZWVuRWxlbWVudFJlbW92ZWQoKTsK
ICAgICB2b2lkIHJlbW92ZUZ1bGxTY3JlZW5FbGVtZW50T2ZTdWJ0cmVlKE5vZGUqLCBib29sIGFt
b25nQ2hpbGRyZW5Pbmx5ID0gZmFsc2UpOwpAQCAtMTM4MSw3ICsxMzgzLDkgQEAgcHJpdmF0ZToK
ICAgICBSZWZQdHI8RWxlbWVudD4gbV9mdWxsU2NyZWVuRWxlbWVudDsKICAgICBSZW5kZXJGdWxs
U2NyZWVuKiBtX2Z1bGxTY3JlZW5SZW5kZXJlcjsKICAgICBUaW1lcjxEb2N1bWVudD4gbV9mdWxs
U2NyZWVuQ2hhbmdlRGVsYXlUaW1lcjsKKyAgICBUaW1lcjxEb2N1bWVudD4gbV9mdWxsU2NyZWVu
RGVuaWVkRGVsYXlUaW1lcjsKICAgICBEZXF1ZTxSZWZQdHI8RWxlbWVudD4gPiBtX2Z1bGxTY3Jl
ZW5DaGFuZ2VFdmVudFRhcmdldFF1ZXVlOworICAgIERlcXVlPFJlZlB0cjxFbGVtZW50PiA+IG1f
ZnVsbFNjcmVlbkRlbmllZEV2ZW50VGFyZ2V0UXVldWU7CiAgICAgYm9vbCBtX2lzQW5pbWF0aW5n
RnVsbFNjcmVlbjsKICAgICBMYXlvdXRSZWN0IG1fc2F2ZWRQbGFjZWhvbGRlckZyYW1lUmVjdDsK
ICAgICBSZWZQdHI8UmVuZGVyU3R5bGU+IG1fc2F2ZWRQbGFjZWhvbGRlclJlbmRlclN0eWxlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5pZGwKaW5kZXggNWM2ODM4ZWM1ZjVmMDQzNTExOGE4NWY2ZDE0ZjJl
YTMwOTAxZDAzNi4uMDVlOTA5MTQ1MmYxNDkxYWY0MzBkOTNmMDliNGUwYjZhY2RmZWFlOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaWRsCkBAIC0zMTYsNiArMzE2LDcgQEAgbW9kdWxlIGNvcmUgewog
ICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtLENvbmRpdGlvbmFsPVRPVUNIX0VWRU5UUyxFbmFi
bGVkQXRSdW50aW1lXSBFdmVudExpc3RlbmVyIG9udG91Y2hlbmQ7CiAgICAgICAgIGF0dHJpYnV0
ZSBbRG9udEVudW0sQ29uZGl0aW9uYWw9VE9VQ0hfRVZFTlRTLEVuYWJsZWRBdFJ1bnRpbWVdIEV2
ZW50TGlzdGVuZXIgb250b3VjaGNhbmNlbDsKICAgICAgICAgYXR0cmlidXRlIFtEb250RW51bSwg
Q29uZGl0aW9uYWw9RlVMTFNDUkVFTl9BUEldIEV2ZW50TGlzdGVuZXIgb253ZWJraXRmdWxsc2Ny
ZWVuY2hhbmdlOworICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtLCBDb25kaXRpb25hbD1GVUxM
U0NSRUVOX0FQSV0gRXZlbnRMaXN0ZW5lciBvbndlYmtpdGZ1bGxzY3JlZW5kZW5pZWQ7CiAjZW5k
aWYKIAogI2lmIGRlZmluZWQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJiYgRU5BQkxFX1RPVUNIX0VW
RU5UUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggZDJhODc2ZmNjNzQxYzc3ZDcwYTQyZmIxNDY4NTFh
NjNhNjk4OTdiYi4uYzgxNWZiYjNkYzlkMmQ3YTRkYTA5OTVjN2ZkZDJlMDYyOWFhNGQ1MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5oCkBAIC0xMDYsNiArMTA2LDcgQEAgcHVibGljOgogI2VuZGlmCiAjaWYg
RU5BQkxFKEZVTExTQ1JFRU5fQVBJKQogICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVO
RVIod2Via2l0ZnVsbHNjcmVlbmNoYW5nZSk7CisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9M
SVNURU5FUih3ZWJraXRmdWxsc2NyZWVuZGVuaWVkKTsKICNlbmRpZgogCiAgICAgYm9vbCBoYXNB
dHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaWRs
CmluZGV4IDgxMDMyZTY2YTQyMGMyYTczOTJiM2MzZWRhZDM3YmUxMjFkMjVhNDguLjVmNDFmMjUy
ZTIzOTQ0Y2RjOWYwOWMxNzU1NGE3ZWU2MjQ1MTcxN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5pZGwK
QEAgLTIwNiw2ICsyMDYsNyBAQCBtb2R1bGUgY29yZSB7CiAgICAgICAgIGF0dHJpYnV0ZSBbRG9u
dEVudW0sQ29uZGl0aW9uYWw9VE9VQ0hfRVZFTlRTLEVuYWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlz
dGVuZXIgb250b3VjaGVuZDsKICAgICAgICAgYXR0cmlidXRlIFtEb250RW51bSxDb25kaXRpb25h
bD1UT1VDSF9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbnRvdWNoY2Fu
Y2VsOwogICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtLCBDb25kaXRpb25hbD1GVUxMU0NSRUVO
X0FQSV0gRXZlbnRMaXN0ZW5lciBvbndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2U7CisgICAgICAgIGF0
dHJpYnV0ZSBbRG9udEVudW0sIENvbmRpdGlvbmFsPUZVTExTQ1JFRU5fQVBJXSBFdmVudExpc3Rl
bmVyIG9ud2Via2l0ZnVsbHNjcmVlbmRlbmllZDsKICNlbmRpZgogICAgIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnROYW1lcy5oCmluZGV4IGEyY2ExNDIzYjFhNzIwNWIwYTA0YzExMmFjYTlhMWVjMDE3YmVk
NmEuLjY3MjdiNGM5YzU4YTZkNzAyMjgxMTc4Y2FkODZmMzlhOGY2ODVlN2QgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50TmFtZXMuaApAQCAtMTc0LDYgKzE3NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICBtYWNybyhsb2FkZW5kKSBcCiAgICAgXAogICAgIG1hY3JvKHdlYmtpdGZ1bGxzY3JlZW5jaGFu
Z2UpIFwKKyAgICBtYWNybyh3ZWJraXRmdWxsc2NyZWVuZGVuaWVkKSBcCiAgICAgXAogICAgIG1h
Y3JvKHdlYmtpdHNwZWVjaGNoYW5nZSkgXAogICAgIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
QXR0cmlidXRlTmFtZXMuaW4KaW5kZXggNzk5MTYzYzJmYWZkMDNkYTA3ZmFmZDU2YTYyMjYwZTBm
NDE5MzBjZS4uMDE2ZDhkYTEzMjAzYzgxOWZhYjcwZjk5MDhmMTM4ZDE2MzlhNTc4YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KQEAgLTIzOSw2ICsyMzksNyBA
QCBvbndlYmtpdGFuaW1hdGlvbmVuZAogb253ZWJraXRiZWdpbmZ1bGxzY3JlZW4KIG9ud2Via2l0
ZW5kZnVsbHNjcmVlbgogb253ZWJraXRmdWxsc2NyZWVuY2hhbmdlCitvbndlYmtpdGZ1bGxzY3Jl
ZW5kZW5pZWQKIG9ud2Via2l0dHJhbnNpdGlvbmVuZAogb3Blbgogb3B0aW11bQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxFbGVtZW50LmNwcAppbmRleCBiNzY3ZWJjZDQyNmQ3YzljMDExMTAxYWVhOGYxYWRl
MmQ3MjNiY2Y5Li41NGE0MTM4NzliYWI4MTkzMDFhMWI0ZGZmZTA3OTg1ZTM4MGJlYTI4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcApAQCAtMjg2LDYgKzI4Niw4IEBAIHZvaWQgSFRN
TEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSogYXR0cikKICNpZiBFTkFC
TEUoRlVMTFNDUkVFTl9BUEkpCiAgICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gb253ZWJr
aXRmdWxsc2NyZWVuY2hhbmdlQXR0cikgewogICAgICAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3Rl
bmVyKGV2ZW50TmFtZXMoKS53ZWJraXRmdWxsc2NyZWVuY2hhbmdlRXZlbnQsIGNyZWF0ZUF0dHJp
YnV0ZUV2ZW50TGlzdGVuZXIodGhpcywgYXR0cikpOworICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFt
ZSgpID09IG9ud2Via2l0ZnVsbHNjcmVlbmRlbmllZEF0dHIpIHsKKyAgICAgICAgc2V0QXR0cmli
dXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkud2Via2l0ZnVsbHNjcmVlbmRlbmllZEV2ZW50
LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKHRoaXMsIGF0dHIpKTsKICNlbmRpZgogICAg
IH0KIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108701</attachid>
            <date>2011-09-26 11:50:57 -0700</date>
            <delta_ts>2012-01-11 13:58:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62320-20110926115055.patch</filename>
            <type>text/plain</type>
            <size>14029</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU3NDEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzMzZiZmZiNjRkOTc2M2ZhNDQxMTA2
MjcyZGFiOTU1YzdkZmU5MTI1Li42NTg2ZTcyNDQ5MWIwYmM2ZmI4YmFhNWRhNjIzYjAyODdlNTQy
NjY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDktMjYgIEplciBOb2JsZSAgPGplci5u
b2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgRW1pdCBhbiBlcnJvciBldmVudCB3aGVuIGEgcmVx
dWVzdCB0byBlbnRlciBmdWxsLXNjcmVlbiBpcyByZWplY3RlZC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYyMzIwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLWlm
cmFtZS1ub3QtYWxsb3dlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZnVsbHNjcmVlbi9mdWxs
LXNjcmVlbi1pZnJhbWUtbm90LWFsbG93ZWQuaHRtbDoKKyAgICAgICAgKiBmdWxsc2NyZWVuL2Z1
bGwtc2NyZWVuLXJlcXVlc3QtcmVqZWN0ZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLXJlcXVlc3QtcmVqZWN0ZWQuaHRtbDogQWRkZWQuCisK
IDIwMTEtMDktMjIgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgogCiAgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY0NQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1pZnJhbWUtbm90LWFsbG93ZWQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1pZnJhbWUtbm90
LWFsbG93ZWQtZXhwZWN0ZWQudHh0CmluZGV4IDg4NjQ5NDE5ZjU2OTU1NzUwZmE4MDlmNmE0Njhh
NTE5YmQ4ZGM4NmIuLmQzOGFkN2IwYzFjNDlkMzQ5YmY0Y2Q2NzE1MGYxNWU3ZjBkNWVmNGEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Z1bGxzY3JlZW4vZnVsbC1zY3JlZW4taWZyYW1lLW5vdC1h
bGxvd2VkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mdWxsc2NyZWVuL2Z1bGwtc2Ny
ZWVuLWlmcmFtZS1ub3QtYWxsb3dlZC1leHBlY3RlZC50eHQKQEAgLTIsNiArMiw3IEBAIFRlc3Qg
Zm9yIGJ1ZyA1NjI2NDogSGFuZGxlIGVudGVyaW5nIGZ1bGwgc2NyZWVuIHNlY3VyaXR5IHJlc3Ry
aWN0aW9ucwogCiBUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayB0aGUgIkdvIGZ1bGwgc2NyZWVuIiBi
dXR0b24gLSB0aGUgcGFnZSBzaG91bGQgbm90IGVudGVyIGZ1bGwgc2NyZWVuIG1vZGUuCiAKK0VW
RU5UKHdlYmtpdGZ1bGxzY3JlZW5kZW5pZWQpCiBTVUNDRUVEIC0gZGlkIG5vdCBlbnRlciBmdWxs
IHNjcmVlbiEKIEVORCBPRiBURVNUCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Z1bGxzY3Jl
ZW4vZnVsbC1zY3JlZW4taWZyYW1lLW5vdC1hbGxvd2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9mdWxs
c2NyZWVuL2Z1bGwtc2NyZWVuLWlmcmFtZS1ub3QtYWxsb3dlZC5odG1sCmluZGV4IGEwMzc2YjQ3
ZmJhN2JmNGViY2FjZmI5NzQ0ZmZlZWM1MzYyYmM5NWIuLmNjM2YxZjMwNjRhOTViNWU1ZjE1YmE4
YzNjOWQ3MzNkMmM3MzIzYTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Z1bGxzY3JlZW4vZnVs
bC1zY3JlZW4taWZyYW1lLW5vdC1hbGxvd2VkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZnVsbHNj
cmVlbi9mdWxsLXNjcmVlbi1pZnJhbWUtbm90LWFsbG93ZWQuaHRtbApAQCAtMTEsMTMgKzExLDEx
IEBAIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAgICAgICAgICBlbmRUZXN0KCk7CiAgICAgfSk7
CiAKLSAgICBydW5XaXRoS2V5RG93bihmdW5jdGlvbigpIHsKLQotICAgICAgICBzZXRUaW1lb3V0
KGZ1bmN0aW9uKCkgeyAKLSAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiU1VDQ0VFRCAtIGRpZCBu
b3QgZW50ZXIgZnVsbCBzY3JlZW4hIik7IAotICAgICAgICAgICAgZW5kVGVzdCgpOyAKLSAgICAg
ICAgfSwgNTApOworICAgIHdhaXRGb3JFdmVudEFuZEVuZChmcmFtZS5jb250ZW50RG9jdW1lbnQs
ICd3ZWJraXRmdWxsc2NyZWVuZGVuaWVkJywgZnVuY3Rpb24oKSB7CisgICAgICAgIGNvbnNvbGVX
cml0ZSgiU1VDQ0VFRCAtIGRpZCBub3QgZW50ZXIgZnVsbCBzY3JlZW4hIik7CisgICAgfSk7CiAK
KyAgICBydW5XaXRoS2V5RG93bihmdW5jdGlvbigpIHsKICAgICAgICAgZnJhbWUuY29udGVudERv
Y3VtZW50LmRvY3VtZW50RWxlbWVudC53ZWJraXRSZXF1ZXN0RnVsbFNjcmVlbigpOwogICAgIH0p
OwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1yZXF1
ZXN0LXJlamVjdGVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Z1bGxzY3JlZW4vZnVsbC1z
Y3JlZW4tcmVxdWVzdC1yZWplY3RlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODJjY2ZhZmM3
YzNjOTI5NjI3NzI5YWYyZmYwZDA1YWRhMmMwYmVkYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Z1bGxzY3JlZW4vZnVsbC1zY3JlZW4tcmVxdWVzdC1yZWplY3RlZC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzIEBACitFVkVOVCh3ZWJraXRmdWxsc2NyZWVuZGVuaWVkKQorRU5EIE9G
IFRFU1QKK1RoaXMgdGVzdHMgdGhhdCBhIGZ1bGwtc2NyZWVuIHJlcXVlc3Qgd2hpY2ggaXMgbm90
IHVzZXItaW5pdGlhdGVkIHdpbGwgYmUgcmVqZWN0ZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLXJlcXVlc3QtcmVqZWN0ZWQuaHRtbCBiL0xheW91dFRl
c3RzL2Z1bGxzY3JlZW4vZnVsbC1zY3JlZW4tcmVxdWVzdC1yZWplY3RlZC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjliNDZkYzJlNTcyYzJhMTExMzkzOGRmNTVmZTJlMTg3NjgxMmQ5ODMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLXJlcXVlc3QtcmVqZWN0
ZWQuaHRtbApAQCAtMCwwICsxLDE2IEBACis8Ym9keT4KKzxzY3JpcHQgc3JjPSJmdWxsLXNjcmVl
bi10ZXN0LmpzIj48L3NjcmlwdD4KKzxkaXY+VGhpcyB0ZXN0cyB0aGF0IGEgZnVsbC1zY3JlZW4g
cmVxdWVzdCB3aGljaCBpcyBub3QgdXNlci1pbml0aWF0ZWQgd2lsbCBiZSByZWplY3RlZC4KKzxz
Y3JpcHQ+CisgICAgLy8gQmFpbCBvdXQgZWFybHkgaWYgdGhlIGZ1bGwgc2NyZWVuIEFQSSBpcyBu
b3QgZW5hYmxlZCBvciBpcyBtaXNzaW5nOgorICAgIGlmIChFbGVtZW50LnByb3RvdHlwZS53ZWJr
aXRSZXF1ZXN0RnVsbFNjcmVlbiA9PSB1bmRlZmluZWQpIHsKKyAgICAgICAgbG9nUmVzdWx0KGZh
bHNlLCAiRWxlbWVudC5wcm90b3R5cGUud2Via2l0UmVxdWVzdEZ1bGxTY3JlZW4gPT0gdW5kZWZp
bmVkIik7CisgICAgICAgIGVuZFRlc3QoKTsKKyAgICB9IGVsc2UgeworICAgICAgICB3YWl0Rm9y
RXZlbnQoZG9jdW1lbnQsICd3ZWJraXRmdWxsc2NyZWVuY2hhbmdlJywgZnVuY3Rpb24oKSB7Cisg
ICAgICAgICAgIGxvZ1Jlc3VsdCgiRW50ZXJlZCBmdWxsIHNjcmVlbi4iLCBmYWxzZSk7IAorICAg
ICAgICB9KTsKKyAgICAgICAgd2FpdEZvckV2ZW50QW5kRW5kKGRvY3VtZW50LCAnd2Via2l0ZnVs
bHNjcmVlbmRlbmllZCcpOworICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQud2Via2l0
UmVxdWVzdEZ1bGxTY3JlZW4oKTsKKyAgICB9Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5Mjlh
MTY3NTFjNzMyMTM0YTA4Yjg5MzM1NjcwMjMzMjI0ZTZhMjgzLi40Mjk2NzdjZjUxODM0OGRhYzQw
Nzc1MmFhYTExNDY5ZjI1NTE3ODIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzAgQEAKIDIwMTEt
MDktMjYgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKKyAgICAgICAgRW1pdCBh
biBlcnJvciBldmVudCB3aGVuIGEgcmVxdWVzdCB0byBlbnRlciBmdWxsLXNjcmVlbiBpcyByZWpl
Y3RlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYy
MzIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVz
dDogZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1yZXF1ZXN0LXJlamVjdGVkLmh0bWwKKworICAgICAg
ICBXaGVuIGEgcmVxdWVzdCB0byBlbnRlciBmdWxsLXNjcmVlbiBpcyByZWplY3RlZCwgZW1pdCBh
biBldmVudCAKKyAgICAgICAgKHdlYmtpdGZ1bGxzY3JlZW5yZXF1ZXN0ZGVuaWVkKSBpbiByZXNw
b25zZS4gIEJ1dCBlbWl0IHRoZSBldmVudCBkdXJpbmcgdGhlIG5leHQKKyAgICAgICAgdHJpcCB0
aHJvdWdoIHRoZSBydW4tbG9vcCwgbGlrZSB0aGUgd2Via2l0ZnVsbHNjcmVlbmNoYW5nZSBldmVu
dCwgYW5kIHNvIGEgbmV3CisgICAgICAgIHRpbWVyIGFuZCBxdWV1ZSBhcmUgbmVjZXNzYXJ5Lgor
CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
OjpEb2N1bWVudCk6IEFkZCBpbml0aWFsaXplcnMgZm9yIG5ldyB0aW1lci4KKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50OjpyZXF1ZXN0RnVsbFNjcmVlbkZvckVsZW1lbnQpOiBFbWl0IHRoZSBk
ZW5pZWQgZXZlbnQKKyAgICAgICAgICAgIGlmIHRoZSByZXF1ZXN0IGRvZXMgbm90IHBhc3MgYWxs
IG91ciByZXF1aXJlbWVudHMuCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZnVsbFNjcmVl
bkRlbmllZERlbGF5VGltZXJGaXJlZCk6IEFkZGVkLgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5o
OiBBZGQgbmV3IGl2YXJzLgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5pZGw6IEFkZCBzdXBwb3J0
IGZvciBzZXR0aW5nIGFuIG9uZnVsbHNjcmVlbmRlbmllZCBhdHRyaWJ1dGUuCisgICAgICAgICog
ZG9tL0VsZW1lbnQuaDogRGl0dG8uCisgICAgICAgICogZG9tL0VsZW1lbnQuaWRsOiBEaXR0by4K
KyAgICAgICAgKiBkb20vRXZlbnROYW1lcy5oOiBBZGQgdGhlIG5hbWUgZm9yIHRoZSBkZW5pZWQg
ZXZlbnQuCisKKzIwMTEtMDktMjYgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisK
ICAgICAgICAgV2hpdGUgZmxhc2ggd2hlbiBlbnRlcmluZyBmdWxsLXNjcmVlbiB1c2luZyBlbGVt
ZW50LndlYmtpdFJlcXVlc3RGdWxsU2NyZWVuKCkKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDgxCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4
IGQ2YTI1MmMwMTk5OTAxN2ZjZmJhMWUzNWM0MTBjMDk0YjA0Y2U2Y2IuLjE4M2EwZDUxMjAyOGNl
NjEzYWVmYmJhZWZlMGEzMzFhNGU4MTFkZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAt
NDQxLDYgKzQ0MSw3IEBAIERvY3VtZW50OjpEb2N1bWVudChGcmFtZSogZnJhbWUsIGNvbnN0IEtV
UkwmIHVybCwgYm9vbCBpc1hIVE1MLCBib29sIGlzSFRNTCkKICAgICAsIG1fYXJlS2V5c0VuYWJs
ZWRJbkZ1bGxTY3JlZW4oMCkKICAgICAsIG1fZnVsbFNjcmVlblJlbmRlcmVyKDApCiAgICAgLCBt
X2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyKHRoaXMsICZEb2N1bWVudDo6ZnVsbFNjcmVlbkNo
YW5nZURlbGF5VGltZXJGaXJlZCkKKyAgICAsIG1fZnVsbFNjcmVlbkRlbmllZERlbGF5VGltZXIo
dGhpcywgJkRvY3VtZW50OjpmdWxsU2NyZWVuRGVuaWVkRGVsYXlUaW1lckZpcmVkKQogICAgICwg
bV9pc0FuaW1hdGluZ0Z1bGxTY3JlZW4oZmFsc2UpCiAjZW5kaWYKICAgICAsIG1fbG9hZEV2ZW50
RGVsYXlDb3VudCgwKQpAQCAtMTgyNiw2ICsxODI3LDcgQEAgdm9pZCBEb2N1bWVudDo6ZGV0YWNo
KCkKICAgICBtX2V2ZW50UXVldWUtPmNsb3NlKCk7CiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJ
KQogICAgIG1fZnVsbFNjcmVlbkNoYW5nZUV2ZW50VGFyZ2V0UXVldWUuY2xlYXIoKTsKKyAgICBt
X2Z1bGxTY3JlZW5EZW5pZWRFdmVudFRhcmdldFF1ZXVlLmNsZWFyKCk7CiAjZW5kaWYKIAogI2lm
IEVOQUJMRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkKQEAgLTQ4NDIsMjMgKzQ4NDQsMjkgQEAg
Ym9vbCBEb2N1bWVudDo6ZnVsbFNjcmVlbklzQWxsb3dlZEZvckVsZW1lbnQoRWxlbWVudCogZWxl
bWVudCkgY29uc3QKIAogdm9pZCBEb2N1bWVudDo6cmVxdWVzdEZ1bGxTY3JlZW5Gb3JFbGVtZW50
KEVsZW1lbnQqIGVsZW1lbnQsIHVuc2lnbmVkIHNob3J0IGZsYWdzLCBGdWxsU2NyZWVuQ2hlY2tU
eXBlIGNoZWNrVHlwZSkKIHsKLSAgICBpZiAoIXBhZ2UoKSB8fCAhcGFnZSgpLT5zZXR0aW5ncygp
LT5mdWxsU2NyZWVuRW5hYmxlZCgpKQotICAgICAgICByZXR1cm47CisgICAgZG8geworICAgICAg
ICBpZiAoIXBhZ2UoKSB8fCAhcGFnZSgpLT5zZXR0aW5ncygpLT5mdWxsU2NyZWVuRW5hYmxlZCgp
KQorICAgICAgICAgICAgYnJlYWs7CiAKLSAgICBpZiAoIWVsZW1lbnQpCi0gICAgICAgIGVsZW1l
bnQgPSBkb2N1bWVudEVsZW1lbnQoKTsKLSAgICAKLSAgICBpZiAoY2hlY2tUeXBlID09IEVuZm9y
Y2VJRnJhbWVBbGxvd0Z1bFNjcmVlblJlcXVpcmVtZW50ICYmICFmdWxsU2NyZWVuSXNBbGxvd2Vk
Rm9yRWxlbWVudChlbGVtZW50KSkKLSAgICAgICAgcmV0dXJuOwotICAgIAotICAgIGlmICghU2Ny
aXB0Q29udHJvbGxlcjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkpCi0gICAgICAgIHJldHVybjsK
LSAgICAKLSAgICBpZiAoIXBhZ2UoKS0+Y2hyb21lKCktPmNsaWVudCgpLT5zdXBwb3J0c0Z1bGxT
Y3JlZW5Gb3JFbGVtZW50KGVsZW1lbnQsIGZsYWdzICYgRWxlbWVudDo6QUxMT1dfS0VZQk9BUkRf
SU5QVVQpKQorICAgICAgICBpZiAoIWVsZW1lbnQpCisgICAgICAgICAgICBlbGVtZW50ID0gZG9j
dW1lbnRFbGVtZW50KCk7CisgICAgICAgIAorICAgICAgICBpZiAoY2hlY2tUeXBlID09IEVuZm9y
Y2VJRnJhbWVBbGxvd0Z1bFNjcmVlblJlcXVpcmVtZW50ICYmICFmdWxsU2NyZWVuSXNBbGxvd2Vk
Rm9yRWxlbWVudChlbGVtZW50KSkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAKKyAgICAg
ICAgaWYgKCFTY3JpcHRDb250cm9sbGVyOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUoKSkKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAKKyAgICAgICAgaWYgKCFwYWdlKCktPmNocm9tZSgpLT5j
bGllbnQoKS0+c3VwcG9ydHNGdWxsU2NyZWVuRm9yRWxlbWVudChlbGVtZW50LCBmbGFncyAmIEVs
ZW1lbnQ6OkFMTE9XX0tFWUJPQVJEX0lOUFVUKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAKKyAgICAgICAgbV9hcmVLZXlzRW5hYmxlZEluRnVsbFNjcmVlbiA9IGZsYWdzICYgRWxlbWVu
dDo6QUxMT1dfS0VZQk9BUkRfSU5QVVQ7CisgICAgICAgIHBhZ2UoKS0+Y2hyb21lKCktPmNsaWVu
dCgpLT5lbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KGVsZW1lbnQpOwogICAgICAgICByZXR1cm47
CisgICAgfSB3aGlsZSAoMCk7CiAgICAgCi0gICAgbV9hcmVLZXlzRW5hYmxlZEluRnVsbFNjcmVl
biA9IGZsYWdzICYgRWxlbWVudDo6QUxMT1dfS0VZQk9BUkRfSU5QVVQ7Ci0gICAgcGFnZSgpLT5j
aHJvbWUoKS0+Y2xpZW50KCktPmVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQoZWxlbWVudCk7Cisg
ICAgbV9mdWxsU2NyZWVuRGVuaWVkRXZlbnRUYXJnZXRRdWV1ZS5hcHBlbmQoZWxlbWVudCA/IGVs
ZW1lbnQgOiBkb2N1bWVudEVsZW1lbnQoKSk7CisgICAgbV9mdWxsU2NyZWVuRGVuaWVkRGVsYXlU
aW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OndlYmtpdENhbmNlbEZ1
bGxTY3JlZW4oKQpAQCAtNTAyOCw2ICs1MDM2LDIxIEBAIHZvaWQgRG9jdW1lbnQ6OmZ1bGxTY3Jl
ZW5DaGFuZ2VEZWxheVRpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+KikKICAgICB9CiB9CiAKK3Zv
aWQgRG9jdW1lbnQ6OmZ1bGxTY3JlZW5EZW5pZWREZWxheVRpbWVyRmlyZWQoVGltZXI8RG9jdW1l
bnQ+KikKK3sKKyAgICB3aGlsZSAoIW1fZnVsbFNjcmVlbkRlbmllZEV2ZW50VGFyZ2V0UXVldWUu
aXNFbXB0eSgpKSB7CisgICAgICAgIFJlZlB0cjxFbGVtZW50PiBlbGVtZW50ID0gbV9mdWxsU2Ny
ZWVuRGVuaWVkRXZlbnRUYXJnZXRRdWV1ZS50YWtlRmlyc3QoKTsKKyAgICAgICAgaWYgKCFlbGVt
ZW50KQorICAgICAgICAgICAgZWxlbWVudCA9IGRvY3VtZW50RWxlbWVudCgpOworICAgICAgICAK
KyAgICAgICAgLy8gSWYgdGhlIGVsZW1lbnQgd2FzIHJlbW92ZWQgZnJvbSBvdXIgdHJlZSwgYWxz
byBtZXNzYWdlIHRoZSBkb2N1bWVudEVsZW1lbnQuCisgICAgICAgIGlmICghY29udGFpbnMoZWxl
bWVudC5nZXQoKSkpCisgICAgICAgICAgICBtX2Z1bGxTY3JlZW5EZW5pZWRFdmVudFRhcmdldFF1
ZXVlLmFwcGVuZChkb2N1bWVudEVsZW1lbnQoKSk7CisgICAgICAgIAorICAgICAgICBlbGVtZW50
LT5kaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLndlYmtpdGZ1bGxzY3Jl
ZW5kZW5pZWRFdmVudCwgdHJ1ZSwgZmFsc2UpKTsKKyAgICB9Cit9CisKIHZvaWQgRG9jdW1lbnQ6
OmZ1bGxTY3JlZW5FbGVtZW50UmVtb3ZlZCgpCiB7CiAgICAgbV9mdWxsU2NyZWVuRWxlbWVudC0+
c2V0Q29udGFpbnNGdWxsU2NyZWVuRWxlbWVudE9uQW5jZXN0b3JzQ3Jvc3NpbmdGcmFtZUJvdW5k
YXJpZXMoZmFsc2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCA4NWZhM2ExMTE5OWE2NTdjNzM5
NzgwMWU1ZTNhZTgxNzhiYTI3MDE2Li41NDNlOGIwODliMDFhMzQxZTk0MTg4YmYxMzc1M2YyOGIy
YTA4MmM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMzE0LDYgKzMxNCw3IEBAIHB1YmxpYzoK
ICNlbmRpZgogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKICAgICBERUZJTkVfQVRUUklCVVRF
X0VWRU5UX0xJU1RFTkVSKHdlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UpOworICAgIERFRklORV9BVFRS
SUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0ZnVsbHNjcmVlbmRlbmllZCk7CiAjZW5kaWYKICNp
ZiBFTkFCTEUoUEFHRV9WSVNJQklMSVRZX0FQSSkKICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5U
X0xJU1RFTkVSKHdlYmtpdHZpc2liaWxpdHljaGFuZ2UpOwpAQCAtMTA2MSw2ICsxMDYyLDcgQEAg
cHVibGljOgogICAgIHZvaWQgc2V0RnVsbFNjcmVlblJlbmRlcmVyQmFja2dyb3VuZENvbG9yKENv
bG9yKTsKICAgICAKICAgICB2b2lkIGZ1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyRmlyZWQoVGlt
ZXI8RG9jdW1lbnQ+Kik7CisgICAgdm9pZCBmdWxsU2NyZWVuRGVuaWVkRGVsYXlUaW1lckZpcmVk
KFRpbWVyPERvY3VtZW50PiopOwogICAgIGJvb2wgZnVsbFNjcmVlbklzQWxsb3dlZEZvckVsZW1l
bnQoRWxlbWVudCopIGNvbnN0OwogICAgIHZvaWQgZnVsbFNjcmVlbkVsZW1lbnRSZW1vdmVkKCk7
CiAgICAgdm9pZCByZW1vdmVGdWxsU2NyZWVuRWxlbWVudE9mU3VidHJlZShOb2RlKiwgYm9vbCBh
bW9uZ0NoaWxkcmVuT25seSA9IGZhbHNlKTsKQEAgLTEzODEsNyArMTM4Myw5IEBAIHByaXZhdGU6
CiAgICAgUmVmUHRyPEVsZW1lbnQ+IG1fZnVsbFNjcmVlbkVsZW1lbnQ7CiAgICAgUmVuZGVyRnVs
bFNjcmVlbiogbV9mdWxsU2NyZWVuUmVuZGVyZXI7CiAgICAgVGltZXI8RG9jdW1lbnQ+IG1fZnVs
bFNjcmVlbkNoYW5nZURlbGF5VGltZXI7CisgICAgVGltZXI8RG9jdW1lbnQ+IG1fZnVsbFNjcmVl
bkRlbmllZERlbGF5VGltZXI7CiAgICAgRGVxdWU8UmVmUHRyPEVsZW1lbnQ+ID4gbV9mdWxsU2Ny
ZWVuQ2hhbmdlRXZlbnRUYXJnZXRRdWV1ZTsKKyAgICBEZXF1ZTxSZWZQdHI8RWxlbWVudD4gPiBt
X2Z1bGxTY3JlZW5EZW5pZWRFdmVudFRhcmdldFF1ZXVlOwogICAgIGJvb2wgbV9pc0FuaW1hdGlu
Z0Z1bGxTY3JlZW47CiAgICAgTGF5b3V0UmVjdCBtX3NhdmVkUGxhY2Vob2xkZXJGcmFtZVJlY3Q7
CiAgICAgUmVmUHRyPFJlbmRlclN0eWxlPiBtX3NhdmVkUGxhY2Vob2xkZXJSZW5kZXJTdHlsZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaWRsCmluZGV4IDVjNjgzOGVjNWY1ZjA0MzUxMThhODVmNmQxNGYy
ZWEzMDkwMWQwMzYuLjA1ZTkwOTE0NTJmMTQ5MWFmNDMwZDkzZjA5YjRlMGI2YWNkZmVhZTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmlkbApAQCAtMzE2LDYgKzMxNiw3IEBAIG1vZHVsZSBjb3JlIHsK
ICAgICAgICAgYXR0cmlidXRlIFtEb250RW51bSxDb25kaXRpb25hbD1UT1VDSF9FVkVOVFMsRW5h
YmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbnRvdWNoZW5kOwogICAgICAgICBhdHRyaWJ1
dGUgW0RvbnRFbnVtLENvbmRpdGlvbmFsPVRPVUNIX0VWRU5UUyxFbmFibGVkQXRSdW50aW1lXSBF
dmVudExpc3RlbmVyIG9udG91Y2hjYW5jZWw7CiAgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW0s
IENvbmRpdGlvbmFsPUZVTExTQ1JFRU5fQVBJXSBFdmVudExpc3RlbmVyIG9ud2Via2l0ZnVsbHNj
cmVlbmNoYW5nZTsKKyAgICAgICAgYXR0cmlidXRlIFtEb250RW51bSwgQ29uZGl0aW9uYWw9RlVM
TFNDUkVFTl9BUEldIEV2ZW50TGlzdGVuZXIgb253ZWJraXRmdWxsc2NyZWVuZGVuaWVkOwogI2Vu
ZGlmCiAKICNpZiBkZWZpbmVkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICYmIEVOQUJMRV9UT1VDSF9F
VkVOVFMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4IGQyYTg3NmZjYzc0MWM3N2Q3MGE0MmZiMTQ2ODUx
YTYzYTY5ODk3YmIuLmM4MTVmYmIzZGM5ZDJkN2E0ZGEwOTk1YzdmZGQyZTA2MjlhYTRkNTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuaApAQCAtMTA2LDYgKzEwNiw3IEBAIHB1YmxpYzoKICNlbmRpZgogI2lm
IEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RF
TkVSKHdlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UpOworICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRf
TElTVEVORVIod2Via2l0ZnVsbHNjcmVlbmRlbmllZCk7CiAjZW5kaWYKIAogICAgIGJvb2wgaGFz
QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50Lmlk
bAppbmRleCA4MTAzMmU2NmE0MjBjMmE3MzkyYjNjM2VkYWQzN2JlMTIxZDI1YTQ4Li41ZjQxZjI1
MmUyMzk0NGNkYzlmMDljMTc1NTRhN2VlNjI0NTE3MTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaWRs
CkBAIC0yMDYsNiArMjA2LDcgQEAgbW9kdWxlIGNvcmUgewogICAgICAgICBhdHRyaWJ1dGUgW0Rv
bnRFbnVtLENvbmRpdGlvbmFsPVRPVUNIX0VWRU5UUyxFbmFibGVkQXRSdW50aW1lXSBFdmVudExp
c3RlbmVyIG9udG91Y2hlbmQ7CiAgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW0sQ29uZGl0aW9u
YWw9VE9VQ0hfRVZFTlRTLEVuYWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIgb250b3VjaGNh
bmNlbDsKICAgICAgICAgYXR0cmlidXRlIFtEb250RW51bSwgQ29uZGl0aW9uYWw9RlVMTFNDUkVF
Tl9BUEldIEV2ZW50TGlzdGVuZXIgb253ZWJraXRmdWxsc2NyZWVuY2hhbmdlOworICAgICAgICBh
dHRyaWJ1dGUgW0RvbnRFbnVtLCBDb25kaXRpb25hbD1GVUxMU0NSRUVOX0FQSV0gRXZlbnRMaXN0
ZW5lciBvbndlYmtpdGZ1bGxzY3JlZW5kZW5pZWQ7CiAjZW5kaWYKICAgICB9OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50TmFtZXMuaAppbmRleCBhMmNhMTQyM2IxYTcyMDViMGEwNGMxMTJhY2E5YTFlYzAxN2Jl
ZDZhLi42NzI3YjRjOWM1OGE2ZDcwMjI4MTE3OGNhZDg2ZjM5YThmNjg1ZTdkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudE5hbWVzLmgKQEAgLTE3NCw2ICsxNzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgbWFjcm8obG9hZGVuZCkgXAogICAgIFwKICAgICBtYWNybyh3ZWJraXRmdWxsc2NyZWVuY2hh
bmdlKSBcCisgICAgbWFjcm8od2Via2l0ZnVsbHNjcmVlbmRlbmllZCkgXAogICAgIFwKICAgICBt
YWNybyh3ZWJraXRzcGVlY2hjaGFuZ2UpIFwKICAgICBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEF0dHJpYnV0ZU5hbWVzLmluCmluZGV4IDc5OTE2M2MyZmFmZDAzZGEwN2ZhZmQ1NmE2MjI2MGUw
ZjQxOTMwY2UuLjAxNmQ4ZGExMzIwM2M4MTlmYWI3MGY5OTA4ZjEzOGQxNjM5YTU3OGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCkBAIC0yMzksNiArMjM5LDcg
QEAgb253ZWJraXRhbmltYXRpb25lbmQKIG9ud2Via2l0YmVnaW5mdWxsc2NyZWVuCiBvbndlYmtp
dGVuZGZ1bGxzY3JlZW4KIG9ud2Via2l0ZnVsbHNjcmVlbmNoYW5nZQorb253ZWJraXRmdWxsc2Ny
ZWVuZGVuaWVkCiBvbndlYmtpdHRyYW5zaXRpb25lbmQKIG9wZW4KIG9wdGltdW0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MRWxlbWVudC5jcHAKaW5kZXggYjc2N2ViY2Q0MjZkN2M5YzAxMTEwMWFlYThmMWFk
ZTJkNzIzYmNmOS4uNTRhNDEzODc5YmFiODE5MzAxYTFiNGRmZmUwNzk4NWUzODBiZWEyOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKQEAgLTI4Niw2ICsyODYsOCBAQCB2b2lkIEhU
TUxFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqIGF0dHIpCiAjaWYgRU5B
QkxFKEZVTExTQ1JFRU5fQVBJKQogICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IG9ud2Vi
a2l0ZnVsbHNjcmVlbmNoYW5nZUF0dHIpIHsKICAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0
ZW5lcihldmVudE5hbWVzKCkud2Via2l0ZnVsbHNjcmVlbmNoYW5nZUV2ZW50LCBjcmVhdGVBdHRy
aWJ1dGVFdmVudExpc3RlbmVyKHRoaXMsIGF0dHIpKTsKKyAgICB9IGVsc2UgaWYgKGF0dHItPm5h
bWUoKSA9PSBvbndlYmtpdGZ1bGxzY3JlZW5kZW5pZWRBdHRyKSB7CisgICAgICAgIHNldEF0dHJp
YnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLndlYmtpdGZ1bGxzY3JlZW5kZW5pZWRFdmVu
dCwgY3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5lcih0aGlzLCBhdHRyKSk7CiAjZW5kaWYKICAg
ICB9CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>122090</attachid>
            <date>2012-01-11 13:58:20 -0800</date>
            <delta_ts>2012-01-11 14:47:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62320-20120111135819.patch</filename>
            <type>text/plain</type>
            <size>15103</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0NzIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmNlZTJkNzM1YzZmZDQy
ZWI1MzZkMzdlMzNhOWYwZDgwMWJlOWI0Zi4uMzMxMWRkZmFjMjhkMDkxZjVjMzdiNDMxZDA0ZGZi
ODhjOGQyNDRmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDExLTA5LTI2ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEVtaXQgYW4gZXJyb3IgZXZl
bnQgd2hlbiBhIHJlcXVlc3QgdG8gZW50ZXIgZnVsbC1zY3JlZW4gaXMgcmVqZWN0ZWQuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MjMyMAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RzOiBmdWxsc2Ny
ZWVuL2Z1bGwtc2NyZWVuLXJlcXVlc3QtcmVqZWN0ZWQuaHRtbAorICAgICAgICAgICAgICAgZnVs
bHNjcmVlbi9mdWxsLXNjcmVlbi1yZXF1ZXN0LXJlbW92ZWQuaHRtbAorCisgICAgICAgIFdoZW4g
YSByZXF1ZXN0IHRvIGVudGVyIGZ1bGwtc2NyZWVuIGlzIHJlamVjdGVkLCBlbWl0IGFuIGV2ZW50
IAorICAgICAgICAod2Via2l0ZnVsbHNjcmVlbnJlcXVlc3RlcnJvcikgaW4gcmVzcG9uc2UuICBC
dXQgZW1pdCB0aGUgZXZlbnQgZHVyaW5nIHRoZSBuZXh0CisgICAgICAgIHRyaXAgdGhyb3VnaCB0
aGUgcnVuLWxvb3AsIGxpa2UgdGhlIHdlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UgZXZlbnQsIGFuZCBz
byBhIG5ldworICAgICAgICB0aW1lciBhbmQgcXVldWUgYXJlIG5lY2Vzc2FyeS4KKworICAgICAg
ICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6RG9jdW1l
bnQpOiBBZGQgaW5pdGlhbGl6ZXJzIGZvciBuZXcgdGltZXIuCisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6cmVxdWVzdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KTogRW1pdCB0aGUgZXJyb3IgZXZl
bnQKKyAgICAgICAgICAgIGlmIHRoZSByZXF1ZXN0IGRvZXMgbm90IHBhc3MgYWxsIG91ciByZXF1
aXJlbWVudHMuCisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6IEFkZCBuZXcgaXZhcnMuCisgICAg
ICAgICogZG9tL0RvY3VtZW50LmlkbDogQWRkIHN1cHBvcnQgZm9yIHNldHRpbmcgYW4gb25mdWxs
c2NyZWVuZXJyb3IgYXR0cmlidXRlLgorICAgICAgICAqIGRvbS9FbGVtZW50Lmg6IERpdHRvLgor
ICAgICAgICAqIGRvbS9FbGVtZW50LmlkbDogRGl0dG8uCisgICAgICAgICogZG9tL0V2ZW50TmFt
ZXMuaDogQWRkIHRoZSBuYW1lIGZvciB0aGUgZXJyb3IgZXZlbnQuCisKIDIwMTItMDEtMTEgIEFs
ZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
RGFyaW4gQWRsZXIuIFByZXBhcmVkIGJ5IFNoZXJpZmYgQm90LiBSb2xsaW5nIG91dCByOTQ5MDIu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBkMmEwMmM5NGY3OTFkNTRlYWU3MjYzNmQ2OTdk
NDk5ZTFkNzU2YTg5Li4zYmNhNjU5YTllYWQyODFkNzBjYTc1MDRmMWE3NzFlMWRlZWU0MmQ1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTE4NDYsNiArMTg0Niw3IEBAIHZvaWQgRG9jdW1l
bnQ6OmRldGFjaCgpCiAgICAgbV9ldmVudFF1ZXVlLT5jbG9zZSgpOwogI2lmIEVOQUJMRShGVUxM
U0NSRUVOX0FQSSkKICAgICBtX2Z1bGxTY3JlZW5DaGFuZ2VFdmVudFRhcmdldFF1ZXVlLmNsZWFy
KCk7CisgICAgbV9mdWxsU2NyZWVuRXJyb3JFdmVudFRhcmdldFF1ZXVlLmNsZWFyKCk7CiAjZW5k
aWYKIAogI2lmIEVOQUJMRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkKQEAgLTUwMTEsMjMgKzUw
MTIsMjkgQEAgYm9vbCBEb2N1bWVudDo6ZnVsbFNjcmVlbklzQWxsb3dlZEZvckVsZW1lbnQoRWxl
bWVudCogZWxlbWVudCkgY29uc3QKIAogdm9pZCBEb2N1bWVudDo6cmVxdWVzdEZ1bGxTY3JlZW5G
b3JFbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQsIHVuc2lnbmVkIHNob3J0IGZsYWdzLCBGdWxsU2Ny
ZWVuQ2hlY2tUeXBlIGNoZWNrVHlwZSkKIHsKLSAgICBpZiAoIXBhZ2UoKSB8fCAhcGFnZSgpLT5z
ZXR0aW5ncygpLT5mdWxsU2NyZWVuRW5hYmxlZCgpKQotICAgICAgICByZXR1cm47CisgICAgZG8g
eworICAgICAgICBpZiAoIXBhZ2UoKSB8fCAhcGFnZSgpLT5zZXR0aW5ncygpLT5mdWxsU2NyZWVu
RW5hYmxlZCgpKQorICAgICAgICAgICAgYnJlYWs7CiAKLSAgICBpZiAoIWVsZW1lbnQpCi0gICAg
ICAgIGVsZW1lbnQgPSBkb2N1bWVudEVsZW1lbnQoKTsKLSAgICAKLSAgICBpZiAoY2hlY2tUeXBl
ID09IEVuZm9yY2VJRnJhbWVBbGxvd0Z1bFNjcmVlblJlcXVpcmVtZW50ICYmICFmdWxsU2NyZWVu
SXNBbGxvd2VkRm9yRWxlbWVudChlbGVtZW50KSkKLSAgICAgICAgcmV0dXJuOwotICAgIAotICAg
IGlmICghU2NyaXB0Q29udHJvbGxlcjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkpCi0gICAgICAg
IHJldHVybjsKLSAgICAKLSAgICBpZiAoIXBhZ2UoKS0+Y2hyb21lKCktPmNsaWVudCgpLT5zdXBw
b3J0c0Z1bGxTY3JlZW5Gb3JFbGVtZW50KGVsZW1lbnQsIGZsYWdzICYgRWxlbWVudDo6QUxMT1df
S0VZQk9BUkRfSU5QVVQpKQorICAgICAgICBpZiAoIWVsZW1lbnQpCisgICAgICAgICAgICBlbGVt
ZW50ID0gZG9jdW1lbnRFbGVtZW50KCk7CisgICAgICAgIAorICAgICAgICBpZiAoY2hlY2tUeXBl
ID09IEVuZm9yY2VJRnJhbWVBbGxvd0Z1bFNjcmVlblJlcXVpcmVtZW50ICYmICFmdWxsU2NyZWVu
SXNBbGxvd2VkRm9yRWxlbWVudChlbGVtZW50KSkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAKKyAgICAgICAgaWYgKCFTY3JpcHRDb250cm9sbGVyOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUo
KSkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAKKyAgICAgICAgaWYgKCFwYWdlKCktPmNo
cm9tZSgpLT5jbGllbnQoKS0+c3VwcG9ydHNGdWxsU2NyZWVuRm9yRWxlbWVudChlbGVtZW50LCBm
bGFncyAmIEVsZW1lbnQ6OkFMTE9XX0tFWUJPQVJEX0lOUFVUKSkKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICAKKyAgICAgICAgbV9hcmVLZXlzRW5hYmxlZEluRnVsbFNjcmVlbiA9IGZsYWdz
ICYgRWxlbWVudDo6QUxMT1dfS0VZQk9BUkRfSU5QVVQ7CisgICAgICAgIHBhZ2UoKS0+Y2hyb21l
KCktPmNsaWVudCgpLT5lbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KGVsZW1lbnQpOwogICAgICAg
ICByZXR1cm47CisgICAgfSB3aGlsZSAoMCk7CiAgICAgCi0gICAgbV9hcmVLZXlzRW5hYmxlZElu
RnVsbFNjcmVlbiA9IGZsYWdzICYgRWxlbWVudDo6QUxMT1dfS0VZQk9BUkRfSU5QVVQ7Ci0gICAg
cGFnZSgpLT5jaHJvbWUoKS0+Y2xpZW50KCktPmVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQoZWxl
bWVudCk7CisgICAgbV9mdWxsU2NyZWVuRXJyb3JFdmVudFRhcmdldFF1ZXVlLmFwcGVuZChlbGVt
ZW50ID8gZWxlbWVudCA6IGRvY3VtZW50RWxlbWVudCgpKTsKKyAgICBtX2Z1bGxTY3JlZW5DaGFu
Z2VEZWxheVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6d2Via2l0
Q2FuY2VsRnVsbFNjcmVlbigpCkBAIC01MTk1LDYgKzUyMDIsMTggQEAgdm9pZCBEb2N1bWVudDo6
ZnVsbFNjcmVlbkNoYW5nZURlbGF5VGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4qKQogICAgICAg
ICAKICAgICAgICAgZWxlbWVudC0+ZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFt
ZXMoKS53ZWJraXRmdWxsc2NyZWVuY2hhbmdlRXZlbnQsIHRydWUsIGZhbHNlKSk7CiAgICAgfQor
CisgICAgd2hpbGUgKCFtX2Z1bGxTY3JlZW5FcnJvckV2ZW50VGFyZ2V0UXVldWUuaXNFbXB0eSgp
KSB7CisgICAgICAgIFJlZlB0cjxFbGVtZW50PiBlbGVtZW50ID0gbV9mdWxsU2NyZWVuRXJyb3JF
dmVudFRhcmdldFF1ZXVlLnRha2VGaXJzdCgpOworICAgICAgICBpZiAoIWVsZW1lbnQpCisgICAg
ICAgICAgICBlbGVtZW50ID0gZG9jdW1lbnRFbGVtZW50KCk7CisgICAgICAgIAorICAgICAgICAv
LyBJZiB0aGUgZWxlbWVudCB3YXMgcmVtb3ZlZCBmcm9tIG91ciB0cmVlLCBhbHNvIG1lc3NhZ2Ug
dGhlIGRvY3VtZW50RWxlbWVudC4KKyAgICAgICAgaWYgKCFjb250YWlucyhlbGVtZW50LmdldCgp
KSkKKyAgICAgICAgICAgIG1fZnVsbFNjcmVlbkVycm9yRXZlbnRUYXJnZXRRdWV1ZS5hcHBlbmQo
ZG9jdW1lbnRFbGVtZW50KCkpOworICAgICAgICAKKyAgICAgICAgZWxlbWVudC0+ZGlzcGF0Y2hF
dmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS53ZWJraXRmdWxsc2NyZWVuZXJyb3JFdmVu
dCwgdHJ1ZSwgZmFsc2UpKTsKKyAgICB9CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OmZ1bGxTY3JlZW5F
bGVtZW50UmVtb3ZlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDQ1MDkyZDNmYmVjYTJlMTVh
M2Q4ZjQwNjYyMTg1MDk5MTVhMjAxNmQuLmJkMTViNzU5NzljNGY2OWY3YzI2NjNhNTVmY2M2YmRh
ZmEwMjEyY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0zMTYsNiArMzE2LDcgQEAgcHVibGlj
OgogI2VuZGlmCiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQogICAgIERFRklORV9BVFRSSUJV
VEVfRVZFTlRfTElTVEVORVIod2Via2l0ZnVsbHNjcmVlbmNoYW5nZSk7CisgICAgREVGSU5FX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXRmdWxsc2NyZWVuZXJyb3IpOwogI2VuZGlmCiAj
aWYgRU5BQkxFKFBBR0VfVklTSUJJTElUWV9BUEkpCiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVO
VF9MSVNURU5FUih3ZWJraXR2aXNpYmlsaXR5Y2hhbmdlKTsKQEAgLTE0MTgsNiArMTQxOSw3IEBA
IHByaXZhdGU6CiAgICAgUmVuZGVyRnVsbFNjcmVlbiogbV9mdWxsU2NyZWVuUmVuZGVyZXI7CiAg
ICAgVGltZXI8RG9jdW1lbnQ+IG1fZnVsbFNjcmVlbkNoYW5nZURlbGF5VGltZXI7CiAgICAgRGVx
dWU8UmVmUHRyPEVsZW1lbnQ+ID4gbV9mdWxsU2NyZWVuQ2hhbmdlRXZlbnRUYXJnZXRRdWV1ZTsK
KyAgICBEZXF1ZTxSZWZQdHI8RWxlbWVudD4gPiBtX2Z1bGxTY3JlZW5FcnJvckV2ZW50VGFyZ2V0
UXVldWU7CiAgICAgYm9vbCBtX2lzQW5pbWF0aW5nRnVsbFNjcmVlbjsKICAgICBMYXlvdXRSZWN0
IG1fc2F2ZWRQbGFjZWhvbGRlckZyYW1lUmVjdDsKICAgICBSZWZQdHI8UmVuZGVyU3R5bGU+IG1f
c2F2ZWRQbGFjZWhvbGRlclJlbmRlclN0eWxlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKaW5kZXgg
OWJiOGEyYzMxNTU3OTZhY2VhZWY4OWFlMjY5Y2QwMTgyNDBmMTZmOC4uYjIwOWNiY2FhZmY1Y2Fj
ZmEwOTEwNzdkZWQwMGUwNDIzNGQzZjQ4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCkBAIC0z
MjEsNiArMzIxLDcgQEAgbW9kdWxlIGNvcmUgewogICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVt
LENvbmRpdGlvbmFsPVRPVUNIX0VWRU5UUyxFbmFibGVkQXRSdW50aW1lXSBFdmVudExpc3RlbmVy
IG9udG91Y2hlbmQ7CiAgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW0sQ29uZGl0aW9uYWw9VE9V
Q0hfRVZFTlRTLEVuYWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIgb250b3VjaGNhbmNlbDsK
ICAgICAgICAgYXR0cmlidXRlIFtEb250RW51bSwgQ29uZGl0aW9uYWw9RlVMTFNDUkVFTl9BUEld
IEV2ZW50TGlzdGVuZXIgb253ZWJraXRmdWxsc2NyZWVuY2hhbmdlOworICAgICAgICBhdHRyaWJ1
dGUgW0RvbnRFbnVtLCBDb25kaXRpb25hbD1GVUxMU0NSRUVOX0FQSV0gRXZlbnRMaXN0ZW5lciBv
bndlYmtpdGZ1bGxzY3JlZW5lcnJvcjsKICNlbmRpZgogCiAjaWYgZGVmaW5lZChFTkFCTEVfVE9V
Q0hfRVZFTlRTKSAmJiBFTkFCTEVfVE9VQ0hfRVZFTlRTCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCA3
ZDA4YTk0YTc4MjAzYTMxMTgwMDNlNWRjM2FkZjZmYzQxMzI1ZjU1Li4wYmU4NWQwMzQxYTE2YWRl
YzY2OTdmNTA4Y2VmOTdjNjVhNDQ5Y2ZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKQEAgLTEwNyw2ICsx
MDcsNyBAQCBwdWJsaWM6CiAjZW5kaWYKICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCiAgICAg
REVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXRmdWxsc2NyZWVuY2hhbmdlKTsK
KyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdGZ1bGxzY3JlZW5lcnJv
cik7CiAjZW5kaWYKIAogICAgIGJvb2wgaGFzQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUm
KSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbAppbmRleCA4MWZiMjYwMzUxZTQzNTJmMTA1ZjQ3
NGMyZDVjMzM4M2E5YmE5ZGZjLi5hMGY0MTg4NDkyOGY5OGMwZTQ1NTJjZDJiM2FkNzY2YzA2MzMy
Nzc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaWRsCkBAIC0yMDQsNiArMjA0LDcgQEAgbW9kdWxlIGNv
cmUgewogICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtLENvbmRpdGlvbmFsPVRPVUNIX0VWRU5U
UyxFbmFibGVkQXRSdW50aW1lXSBFdmVudExpc3RlbmVyIG9udG91Y2hlbmQ7CiAgICAgICAgIGF0
dHJpYnV0ZSBbRG9udEVudW0sQ29uZGl0aW9uYWw9VE9VQ0hfRVZFTlRTLEVuYWJsZWRBdFJ1bnRp
bWVdIEV2ZW50TGlzdGVuZXIgb250b3VjaGNhbmNlbDsKICAgICAgICAgYXR0cmlidXRlIFtEb250
RW51bSwgQ29uZGl0aW9uYWw9RlVMTFNDUkVFTl9BUEldIEV2ZW50TGlzdGVuZXIgb253ZWJraXRm
dWxsc2NyZWVuY2hhbmdlOworICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtLCBDb25kaXRpb25h
bD1GVUxMU0NSRUVOX0FQSV0gRXZlbnRMaXN0ZW5lciBvbndlYmtpdGZ1bGxzY3JlZW5lcnJvcjsK
ICNlbmRpZgogICAgIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5h
bWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCmluZGV4IGQzY2YzZmRjOWQ2
Yjc5MGMxYzY5NTEwOGFhOTdmOWI1N2U2MTA4MjcuLmRhMThiMjk1MWJhN2Q0OTM1NGQ0ZWE3Mjk4
M2ZmNGI5NmMxM2M5OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaApAQCAtMTgxLDYgKzE4MSw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhsb2FkZW5kKSBcCiAgICAgXAogICAg
IG1hY3JvKHdlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UpIFwKKyAgICBtYWNybyh3ZWJraXRmdWxsc2Ny
ZWVuZXJyb3IpIFwKICAgICBcCiAgICAgbWFjcm8od2Via2l0c3BlZWNoY2hhbmdlKSBcCiAgICAg
XApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4g
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgppbmRleCA3NzZjNWU5
ZDkxMmFhZWU0Nzg4N2U3YjIwMDIzMDk2Y2NmMTdmNmRjLi5hNmRkYTk0YjljN2FjMzVmZjA4YTRj
ZjYzYzI5MmFmN2I0Yjc0OTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxB
dHRyaWJ1dGVOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVO
YW1lcy5pbgpAQCAtMjQ2LDYgKzI0Niw3IEBAIG9ud2Via2l0YW5pbWF0aW9uZW5kCiBvbndlYmtp
dGJlZ2luZnVsbHNjcmVlbgogb253ZWJraXRlbmRmdWxsc2NyZWVuCiBvbndlYmtpdGZ1bGxzY3Jl
ZW5jaGFuZ2UKK29ud2Via2l0ZnVsbHNjcmVlbmVycm9yCiBvbndlYmtpdHRyYW5zaXRpb25lbmQK
IG9wZW4KIG9wdGltdW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKaW5kZXggYTc4ZjRk
MDU3MjhjOGRmZDUzZTMwNDAxNGQxN2ZkMDJlZTUzZTIyNC4uNjgwYzIzYjVkZjliNTJmMzIwNGZh
MzM4ODg2NzViNTQ4NjFjY2QyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKQEAg
LTMzMCw2ICszMzAsOCBAQCB2b2lkIEhUTUxFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShB
dHRyaWJ1dGUqIGF0dHIpCiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQogICAgIH0gZWxzZSBp
ZiAoYXR0ci0+bmFtZSgpID09IG9ud2Via2l0ZnVsbHNjcmVlbmNoYW5nZUF0dHIpIHsKICAgICAg
ICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkud2Via2l0ZnVsbHNjcmVl
bmNoYW5nZUV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKHRoaXMsIGF0dHIpKTsK
KyAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBvbndlYmtpdGZ1bGxzY3JlZW5lcnJvckF0
dHIpIHsKKyAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkud2Vi
a2l0ZnVsbHNjcmVlbmVycm9yRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIodGhp
cywgYXR0cikpOwogI2VuZGlmCiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDU5MTk2YTk3NWRlM2JhYzNlZThl
ZDFjYzA2MjU1ZTY4ODA3MzJhNTcuLmM4Y2EzNmZmM2QyMjdjMTNkOWNjMTM2ZjEwYTI5NjZmM2Ux
Y2ZiZDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMS0wOS0yNiAgSmVyIE5vYmxlICA8amVy
Lm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAgICBFbWl0IGFuIGVycm9yIGV2ZW50IHdoZW4gYSBy
ZXF1ZXN0IHRvIGVudGVyIGZ1bGwtc2NyZWVuIGlzIHJlamVjdGVkLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzMjAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZ1bGxzY3JlZW4vZnVsbC1zY3JlZW4t
aWZyYW1lLW5vdC1hbGxvd2VkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmdWxsc2NyZWVuL2Z1
bGwtc2NyZWVuLWlmcmFtZS1ub3QtYWxsb3dlZC5odG1sOgorICAgICAgICAqIGZ1bGxzY3JlZW4v
ZnVsbC1zY3JlZW4tcmVxdWVzdC1yZWplY3RlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZ1bGxzY3JlZW4vZnVsbC1zY3JlZW4tcmVxdWVzdC1yZWplY3RlZC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBmdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLXJlcXVlc3QtcmVtb3ZlZC1leHBlY3Rl
ZDogQWRkZWQuCisgICAgICAgICogZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1yZXF1ZXN0LXJlbW92
ZWQuaHRtbDogQWRkZWQuCisKIDIwMTItMDEtMTEgIEpvZWwgV2ViYmVyICA8amd3QGdvb2dsZS5j
b20+CiAKICAgICAgICAgSW1wbGVtZW50IHNldEN1cnJlbnRUaW1lKCkgYW5kIHBhdXNlQW5pbWF0
aW9ucygpIG9uIFNWR1NWR0VsZW1lbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Z1bGxzY3Jl
ZW4vZnVsbC1zY3JlZW4taWZyYW1lLW5vdC1hbGxvd2VkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Z1bGxzY3JlZW4vZnVsbC1zY3JlZW4taWZyYW1lLW5vdC1hbGxvd2VkLWV4cGVjdGVkLnR4
dAppbmRleCA4ODY0OTQxOWY1Njk1NTc1MGZhODA5ZjZhNDY4YTUxOWJkOGRjODZiLi40MDI2MTU1
NWJjMjUzZjFhN2FkYTZlMWY0ZDdlNTc3ODg5OGY3MjMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLWlmcmFtZS1ub3QtYWxsb3dlZC1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1pZnJhbWUtbm90LWFsbG93
ZWQtZXhwZWN0ZWQudHh0CkBAIC0yLDYgKzIsNyBAQCBUZXN0IGZvciBidWcgNTYyNjQ6IEhhbmRs
ZSBlbnRlcmluZyBmdWxsIHNjcmVlbiBzZWN1cml0eSByZXN0cmljdGlvbnMKIAogVG8gdGVzdCBt
YW51YWxseSwgY2xpY2sgdGhlICJHbyBmdWxsIHNjcmVlbiIgYnV0dG9uIC0gdGhlIHBhZ2Ugc2hv
dWxkIG5vdCBlbnRlciBmdWxsIHNjcmVlbiBtb2RlLgogCitFVkVOVCh3ZWJraXRmdWxsc2NyZWVu
ZXJyb3IpCiBTVUNDRUVEIC0gZGlkIG5vdCBlbnRlciBmdWxsIHNjcmVlbiEKIEVORCBPRiBURVNU
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Z1bGxzY3JlZW4vZnVsbC1zY3JlZW4taWZyYW1l
LW5vdC1hbGxvd2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9mdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLWlm
cmFtZS1ub3QtYWxsb3dlZC5odG1sCmluZGV4IGEwMzc2YjQ3ZmJhN2JmNGViY2FjZmI5NzQ0ZmZl
ZWM1MzYyYmM5NWIuLmE4ODMzZGVkYmY3ODg5NGRiODJmMzY1MDQ1OTUxODNhYmJlNmMyNzUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Z1bGxzY3JlZW4vZnVsbC1zY3JlZW4taWZyYW1lLW5vdC1h
bGxvd2VkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1pZnJh
bWUtbm90LWFsbG93ZWQuaHRtbApAQCAtMTEsMTMgKzExLDExIEBAIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CiAgICAgICAgICAgICBlbmRUZXN0KCk7CiAgICAgfSk7CiAKLSAgICBydW5XaXRoS2V5RG93
bihmdW5jdGlvbigpIHsKLQotICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyAKLSAgICAg
ICAgICAgIGNvbnNvbGVXcml0ZSgiU1VDQ0VFRCAtIGRpZCBub3QgZW50ZXIgZnVsbCBzY3JlZW4h
Iik7IAotICAgICAgICAgICAgZW5kVGVzdCgpOyAKLSAgICAgICAgfSwgNTApOworICAgIHdhaXRG
b3JFdmVudEFuZEVuZChmcmFtZS5jb250ZW50RG9jdW1lbnQsICd3ZWJraXRmdWxsc2NyZWVuZXJy
b3InLCBmdW5jdGlvbigpIHsKKyAgICAgICAgY29uc29sZVdyaXRlKCJTVUNDRUVEIC0gZGlkIG5v
dCBlbnRlciBmdWxsIHNjcmVlbiEiKTsKKyAgICB9KTsKIAorICAgIHJ1bldpdGhLZXlEb3duKGZ1
bmN0aW9uKCkgewogICAgICAgICBmcmFtZS5jb250ZW50RG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50
LndlYmtpdFJlcXVlc3RGdWxsU2NyZWVuKCk7CiAgICAgfSk7CiB9CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLXJlcXVlc3QtcmVqZWN0ZWQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1yZXF1ZXN0LXJlamVjdGVk
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYzA1NmQ3MjI2NWZlZTVhZDA5ODdhZjAwMTY3Yzcz
NWM5NjM1ZDM1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi9mdWxs
LXNjcmVlbi1yZXF1ZXN0LXJlamVjdGVkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK0VW
RU5UKHdlYmtpdGZ1bGxzY3JlZW5lcnJvcikKK0VORCBPRiBURVNUCitUaGlzIHRlc3RzIHRoYXQg
YSBmdWxsLXNjcmVlbiByZXF1ZXN0IHdoaWNoIGlzIG5vdCB1c2VyLWluaXRpYXRlZCB3aWxsIGJl
IHJlamVjdGVkLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi9mdWxsLXNjcmVl
bi1yZXF1ZXN0LXJlamVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mdWxsc2NyZWVuL2Z1bGwtc2Ny
ZWVuLXJlcXVlc3QtcmVqZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43Nzk4MzJhN2YyMzhiZjNlNmM0
MWQyNzAwN2JlNDIzY2VjOTZkYzE0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZnVs
bHNjcmVlbi9mdWxsLXNjcmVlbi1yZXF1ZXN0LXJlamVjdGVkLmh0bWwKQEAgLTAsMCArMSwxNiBA
QAorPGJvZHk+Cis8c2NyaXB0IHNyYz0iZnVsbC1zY3JlZW4tdGVzdC5qcyI+PC9zY3JpcHQ+Cis8
ZGl2PlRoaXMgdGVzdHMgdGhhdCBhIGZ1bGwtc2NyZWVuIHJlcXVlc3Qgd2hpY2ggaXMgbm90IHVz
ZXItaW5pdGlhdGVkIHdpbGwgYmUgcmVqZWN0ZWQuCis8c2NyaXB0PgorICAgIC8vIEJhaWwgb3V0
IGVhcmx5IGlmIHRoZSBmdWxsIHNjcmVlbiBBUEkgaXMgbm90IGVuYWJsZWQgb3IgaXMgbWlzc2lu
ZzoKKyAgICBpZiAoRWxlbWVudC5wcm90b3R5cGUud2Via2l0UmVxdWVzdEZ1bGxTY3JlZW4gPT0g
dW5kZWZpbmVkKSB7CisgICAgICAgIGxvZ1Jlc3VsdChmYWxzZSwgIkVsZW1lbnQucHJvdG90eXBl
LndlYmtpdFJlcXVlc3RGdWxsU2NyZWVuID09IHVuZGVmaW5lZCIpOworICAgICAgICBlbmRUZXN0
KCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgd2FpdEZvckV2ZW50KGRvY3VtZW50LCAnd2Via2l0
ZnVsbHNjcmVlbmNoYW5nZScsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICBsb2dSZXN1bHQoIkVu
dGVyZWQgZnVsbCBzY3JlZW4uIiwgZmFsc2UpOyAKKyAgICAgICAgfSk7CisgICAgICAgIHdhaXRG
b3JFdmVudEFuZEVuZChkb2N1bWVudCwgJ3dlYmtpdGZ1bGxzY3JlZW5lcnJvcicpOworICAgICAg
ICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQud2Via2l0UmVxdWVzdEZ1bGxTY3JlZW4oKTsKKyAg
ICB9Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Z1bGxzY3JlZW4vZnVsbC1z
Y3JlZW4tcmVxdWVzdC1yZW1vdmVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Z1bGxzY3Jl
ZW4vZnVsbC1zY3JlZW4tcmVxdWVzdC1yZW1vdmVkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
ODc3ZGZmZmQ3NzZhNzA4NzNiZDI0MWRlZGZjODI5MDk1M2EyMjBhCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1yZXF1ZXN0LXJlbW92ZWQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3QgZm9yIGJ1ZyA2MjMyMDogRW1pdCBhbiBl
cnJvciBldmVudCB3aGVuIGEgcmVxdWVzdCB0byBlbnRlciBmdWxsLXNjcmVlbiBpcyByZWplY3Rl
ZC4KKworVGVzdHMgdGhhdCB0aGUgZG9jdW1lbnQgaXMgc3RpbGwgbWVzc2FnZWQgaWYgdGhlIGVs
ZW1lbnQgcmVxdWVzdGluZyBmdWxsIHNjcmVlbiBpcyByZW1vdmVkIGJlZm9yZSB0aGUgZXZlbnQg
aXMgZ2VuZXJhdGVkLgorCitBZGRlZCBjaGlsZCBlbGVtZW50LgorUmVtb3ZlZCBjaGlsZCBlbGVt
ZW50LgorRVZFTlQod2Via2l0ZnVsbHNjcmVlbmVycm9yKQorU1VDQ0VFRCAtIGRpZCBub3QgZW50
ZXIgZnVsbCBzY3JlZW4hCitFTkQgT0YgVEVTVAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
dWxsc2NyZWVuL2Z1bGwtc2NyZWVuLXJlcXVlc3QtcmVtb3ZlZC5odG1sIGIvTGF5b3V0VGVzdHMv
ZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1yZXF1ZXN0LXJlbW92ZWQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45
MjY0MjE5YzI0NmI2ZmE4YmZmM2FjYTAwNmI2NTc3OWEyNjVjZThiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1yZXF1ZXN0LXJlbW92ZWQuaHRt
bApAQCAtMCwwICsxLDI0IEBACis8cD5UZXN0IGZvciA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzMjAiPmJ1ZyA2MjMyMDwvYT46IAorRW1pdCBhbiBl
cnJvciBldmVudCB3aGVuIGEgcmVxdWVzdCB0byBlbnRlciBmdWxsLXNjcmVlbiBpcyByZWplY3Rl
ZC48L3A+Cis8cD5UZXN0cyB0aGF0IHRoZSBkb2N1bWVudCBpcyBzdGlsbCBtZXNzYWdlZCBpZiB0
aGUgZWxlbWVudCByZXF1ZXN0aW5nIGZ1bGwgc2NyZWVuIGlzIHJlbW92ZWQgYmVmb3JlIHRoZSBl
dmVudCBpcyBnZW5lcmF0ZWQuPC9wPgorPHNjcmlwdCBzcmM9ImZ1bGwtc2NyZWVuLXRlc3QuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgd2FpdEZvckV2
ZW50QW5kRW5kKGRvY3VtZW50LCAnd2Via2l0ZnVsbHNjcmVlbmNoYW5nZScsIGZ1bmN0aW9uKCkg
eyAKKyAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiRkFJTCAtIGVudGVyZWQgZnVsbCBzY3JlZW4h
Iik7IAorICAgIH0pOworCisgICAgd2FpdEZvckV2ZW50QW5kRW5kKGRvY3VtZW50LCAnd2Via2l0
ZnVsbHNjcmVlbmVycm9yJywgZnVuY3Rpb24oKSB7CisgICAgICAgIGNvbnNvbGVXcml0ZSgiU1VD
Q0VFRCAtIGRpZCBub3QgZW50ZXIgZnVsbCBzY3JlZW4hIik7CisgICAgfSk7CisKKyAgICB2YXIg
ZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgZG9jdW1lbnQuZG9jdW1l
bnRFbGVtZW50LmFwcGVuZENoaWxkKGRpdik7CisgICAgY29uc29sZVdyaXRlKCJBZGRlZCBjaGls
ZCBlbGVtZW50LiIpCisgICAgZGl2LndlYmtpdFJlcXVlc3RGdWxsU2NyZWVuKCk7CisgICAgZG9j
dW1lbnQuZG9jdW1lbnRFbGVtZW50LnJlbW92ZUNoaWxkKGRpdik7CisgICAgY29uc29sZVdyaXRl
KCJSZW1vdmVkIGNoaWxkIGVsZW1lbnQuIikKK30KKworcnVuVGVzdCgpOworPC9zY3JpcHQ+Cg==
</data>
<flag name="review"
          id="122790"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
      

    </bug>

</bugzilla>