<?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>118288</bug_id>
          
          <creation_ts>2013-07-02 02:41:44 -0700</creation_ts>
          <short_desc>vibrate function have to return boolean value.</short_desc>
          <delta_ts>2013-07-08 00:40:19 -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>WebKit 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/vibration/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kihong Kwon">kihong.kwon</reporter>
          <assigned_to name="Kihong Kwon">kihong.kwon</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eflews.bot</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>rakuco</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>905300</commentid>
    <comment_count>0</comment_count>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2013-07-02 02:41:44 -0700</bug_when>
    <thetext>Latest Vibration API spec is changed. It is LC now.
Therefore Vibration API need to align with the spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905307</commentid>
    <comment_count>1</comment_count>
      <attachid>205883</attachid>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2013-07-02 03:02:42 -0700</bug_when>
    <thetext>Created attachment 205883
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905308</commentid>
    <comment_count>2</comment_count>
      <attachid>205883</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-07-02 03:05:53 -0700</bug_when>
    <thetext>Comment on attachment 205883
Patch

Attachment 205883 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/1015379</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905309</commentid>
    <comment_count>3</comment_count>
      <attachid>205883</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-07-02 03:06:18 -0700</bug_when>
    <thetext>Comment on attachment 205883
Patch

Attachment 205883 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/1012584</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905311</commentid>
    <comment_count>4</comment_count>
      <attachid>205883</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-07-02 03:13:20 -0700</bug_when>
    <thetext>Comment on attachment 205883
Patch

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

r- because of build error and my comment.

&gt; Source/WebCore/ChangeLog:11
&gt; +        In addition, add maxVibrationDuration and maxVibrationPatternLength.

I think we need to handle this new variables on new bug because this patch is not trivial.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905312</commentid>
    <comment_count>5</comment_count>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2013-07-02 03:18:03 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 205883 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=205883&amp;action=review
&gt; 
&gt; r- because of build error and my comment.

I think efl doesn&apos;t do clean build in this case, It&apos;s same error with my local build.
After remove WebKitBuild direcory, there is no error.

&gt; 
&gt; &gt; Source/WebCore/ChangeLog:11
&gt; &gt; +        In addition, add maxVibrationDuration and maxVibrationPatternLength.
&gt; 
&gt; I think we need to handle this new variables on new bug because this patch is not trivial.

I agree with this. I will make a new bug for it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905313</commentid>
    <comment_count>6</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-07-02 03:19:06 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; (From update of attachment 205883 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=205883&amp;action=review
&gt; &gt; 
&gt; &gt; r- because of build error and my comment.
&gt; 
&gt; I think efl doesn&apos;t do clean build in this case, It&apos;s same error with my local build.
&gt; After remove WebKitBuild direcory, there is no error.

If so, I will check it soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905659</commentid>
    <comment_count>7</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-07-02 18:06:38 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; (From update of attachment 205883 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=205883&amp;action=review
&gt; &gt; 
&gt; &gt; r- because of build error and my comment.

Kihong, I also check there is no build error locally. Please submit patch corresponding with the title.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905667</commentid>
    <comment_count>8</comment_count>
      <attachid>205962</attachid>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2013-07-02 19:14:09 -0700</bug_when>
    <thetext>Created attachment 205962
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905668</commentid>
    <comment_count>9</comment_count>
      <attachid>205962</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-07-02 19:18:32 -0700</bug_when>
    <thetext>Comment on attachment 205962
Patch

Attachment 205962 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/1006921</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905669</commentid>
    <comment_count>10</comment_count>
      <attachid>205962</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-07-02 19:24:00 -0700</bug_when>
    <thetext>Comment on attachment 205962
Patch

Attachment 205962 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/938948</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905731</commentid>
    <comment_count>11</comment_count>
      <attachid>205962</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-07-03 01:13:32 -0700</bug_when>
    <thetext>Comment on attachment 205962
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        According to latest Vibration API which is LC, vibrate() need to be return

need -&gt; needs ? return -&gt; returned ?

&gt; Source/WebCore/Modules/vibration/NavigatorVibration.cpp:45
&gt; +    return NavigatorVibration::vibrate(navigator, pattern);

I don&apos;t prefer to use unneeded local variables. Why not we use NavigatorVibration::vibrate(navigator, VibrationPattern(time)); ?

&gt; Source/WebCore/Modules/vibration/Vibration.cpp:52
&gt; +    if (length &amp;&amp; !(length % 2))

Could you explain why this condition is needed ?

&gt; Source/WebCore/Modules/vibration/Vibration.cpp:55
&gt; +    if (m_isVibrating || (m_pattern.size() == 1 &amp;&amp; !m_pattern[0]))

I think we need to keep existing comment for this condition.

&gt; Source/WebCore/Modules/vibration/Vibration.cpp:56
&gt;          cancelVibration();

Why you don&apos;t return false ?

&gt; LayoutTests/ChangeLog:9
&gt; +        cancelVibration-after-pagevisibility-changed-to-hidden.html is not proper.

Why ? There is still definition in the spec.

&quot;When the visibilitychange event [PAGE-VISIBILITY] is dispatched at the Document in a browsing context, the user agent must cancel the pre-existing instance of the processing vibration patterns algorithm, if any.&quot;

&gt; LayoutTests/ChangeLog:10
&gt; +        And navigator-vibration.html need to be changed to align to the spec.

need -&gt; needs ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905751</commentid>
    <comment_count>12</comment_count>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2013-07-03 01:59:03 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 205962 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=205962&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/vibration/NavigatorVibration.cpp:45
&gt; &gt; +    return NavigatorVibration::vibrate(navigator, pattern);
&gt; 
&gt; I don&apos;t prefer to use unneeded local variables. Why not we use NavigatorVibration::vibrate(navigator, VibrationPattern(time)); ?

No problem.
&gt; 
&gt; &gt; Source/WebCore/Modules/vibration/Vibration.cpp:52
&gt; &gt; +    if (length &amp;&amp; !(length % 2))
&gt; 
&gt; Could you explain why this condition is needed ?

According to the spec
- If the length of pattern is even and is not zero, then remove the last entry in pattern.
&gt; 
&gt; &gt; Source/WebCore/Modules/vibration/Vibration.cpp:55
&gt; &gt; +    if (m_isVibrating || (m_pattern.size() == 1 &amp;&amp; !m_pattern[0]))
&gt; 
&gt; I think we need to keep existing comment for this condition.

OK.
&gt; 
&gt; &gt; Source/WebCore/Modules/vibration/Vibration.cpp:56
&gt; &gt;          cancelVibration();
&gt; 
&gt; Why you don&apos;t return false ?

According to the spec, vibraiton cancel is also return true.
&gt; 
&gt; &gt; LayoutTests/ChangeLog:9
&gt; &gt; +        cancelVibration-after-pagevisibility-changed-to-hidden.html is not proper.
&gt; 
&gt; Why ? There is still definition in the spec.
&gt; 
&gt; &quot;When the visibilitychange event [PAGE-VISIBILITY] is dispatched at the Document in a browsing context, the user agent must cancel the pre-existing instance of the processing vibration patterns algorithm, if any.&quot;
&gt; 

This test case is for checking that vibration can be canceled or not, even if visibility state is hidden. But according to the spec, when visibilitychange event is dispatched, pre-exsiting vibration have to be canceled automatically.

IMHO, we need to add new test case for page-visibility status when we add that part, but is&apos;s not included in this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905753</commentid>
    <comment_count>13</comment_count>
      <attachid>205981</attachid>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2013-07-03 02:08:11 -0700</bug_when>
    <thetext>Created attachment 205981
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905763</commentid>
    <comment_count>14</comment_count>
      <attachid>205981</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-07-03 02:31:58 -0700</bug_when>
    <thetext>Comment on attachment 205981
Patch

Attachment 205981 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/1012887</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905764</commentid>
    <comment_count>15</comment_count>
      <attachid>205981</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-07-03 02:37:53 -0700</bug_when>
    <thetext>Comment on attachment 205981
Patch

Attachment 205981 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/1025037</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905809</commentid>
    <comment_count>16</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-07-03 04:11:43 -0700</bug_when>
    <thetext>(In reply to comment #12)

&gt; This test case is for checking that vibration can be canceled or not, even if visibility state is hidden. But according to the spec, when visibilitychange event is dispatched, pre-exsiting vibration have to be canceled automatically.
&gt; 
&gt; IMHO, we need to add new test case for page-visibility status when we add that part, but is&apos;s not included in this patch.

This removal isn&apos;t related to this bug. I think you need to keep this until you&apos;re ready to add new test cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906040</commentid>
    <comment_count>17</comment_count>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2013-07-03 22:01:36 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; (In reply to comment #12)
&gt; 
&gt; &gt; This test case is for checking that vibration can be canceled or not, even if visibility state is hidden. But according to the spec, when visibilitychange event is dispatched, pre-exsiting vibration have to be canceled automatically.
&gt; &gt; 
&gt; &gt; IMHO, we need to add new test case for page-visibility status when we add that part, but is&apos;s not included in this patch.
&gt; 
&gt; This removal isn&apos;t related to this bug. I think you need to keep this until you&apos;re ready to add new test cases.

I think this test cases is related to this patch, because I align vibration api to the latest spec, and according to the spec, this TC is wrong.
- When page visibility is changed, vibration have to be canceled.
But this TC suppose to vibrating is not canceled when page visibility is changed to the hidden state.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906044</commentid>
    <comment_count>18</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-07-03 22:20:49 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (In reply to comment #16)
&gt; &gt; (In reply to comment #12)
&gt; &gt; 
&gt; &gt; &gt; This test case is for checking that vibration can be canceled or not, even if visibility state is hidden. But according to the spec, when visibilitychange event is dispatched, pre-exsiting vibration have to be canceled automatically.
&gt; &gt; &gt; 
&gt; &gt; &gt; IMHO, we need to add new test case for page-visibility status when we add that part, but is&apos;s not included in this patch.
&gt; &gt; 
&gt; &gt; This removal isn&apos;t related to this bug. I think you need to keep this until you&apos;re ready to add new test cases.
&gt; 
&gt; I think this test cases is related to this patch, because I align vibration api to the latest spec, and according to the spec, this TC is wrong.
&gt; - When page visibility is changed, vibration have to be canceled.
&gt; But this TC suppose to vibrating is not canceled when page visibility is changed to the hidden state.

If possible, IMHO, we need to land a patch corresponding with bug title. I feel the removal is away from this bug&apos;s aim. Of course, we sometimes have landed patches with trivial changes on previous bugs though, I would recommend to keep this test until you&apos;re ready to replace with new tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906049</commentid>
    <comment_count>19</comment_count>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2013-07-03 22:31:28 -0700</bug_when>
    <thetext>&gt; If possible, IMHO, we need to land a patch corresponding with bug title. I feel the removal is away from this bug&apos;s aim. Of course, we sometimes have landed patches with trivial changes on previous bugs though, I would recommend to keep this test until you&apos;re ready to replace with new tests.

I will this TC to the TestExpectations until I fix it.
Thanks :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906058</commentid>
    <comment_count>20</comment_count>
      <attachid>206054</attachid>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2013-07-03 23:49:07 -0700</bug_when>
    <thetext>Created attachment 206054
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906059</commentid>
    <comment_count>21</comment_count>
      <attachid>206054</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-07-03 23:54:04 -0700</bug_when>
    <thetext>Comment on attachment 206054
Patch

Attachment 206054 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/1029062</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906060</commentid>
    <comment_count>22</comment_count>
      <attachid>206054</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-07-03 23:57:06 -0700</bug_when>
    <thetext>Comment on attachment 206054
Patch

Attachment 206054 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/1027229</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906074</commentid>
    <comment_count>23</comment_count>
      <attachid>206054</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-07-04 00:48:46 -0700</bug_when>
    <thetext>Comment on attachment 206054
Patch

r=me as a step of adjusting latest vibration spec into WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906075</commentid>
    <comment_count>24</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-07-04 00:53:27 -0700</bug_when>
    <thetext>When patch is landed, I will restart efl buildbot. But, we need to file a bug regarding this ews problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906085</commentid>
    <comment_count>25</comment_count>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2013-07-04 01:26:20 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; When patch is landed, I will restart efl buildbot. But, we need to file a bug regarding this ews problem.

I will file a bug about this issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906149</commentid>
    <comment_count>26</comment_count>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2013-07-04 05:20:34 -0700</bug_when>
    <thetext>(In reply to comment #25)
&gt; (In reply to comment #24)
&gt; &gt; When patch is landed, I will restart efl buildbot. But, we need to file a bug regarding this ews problem.
&gt; 
&gt; I will file a bug about this issue.

Bug is filed for this issue.(Bug 118390)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906680</commentid>
    <comment_count>27</comment_count>
      <attachid>206054</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-08 00:40:15 -0700</bug_when>
    <thetext>Comment on attachment 206054
Patch

Clearing flags on attachment: 206054

Committed r152441: &lt;http://trac.webkit.org/changeset/152441&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906681</commentid>
    <comment_count>28</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-08 00:40:19 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205883</attachid>
            <date>2013-07-02 03:02:42 -0700</date>
            <delta_ts>2013-07-02 19:13:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118288-20130702190036.patch</filename>
            <type>text/plain</type>
            <size>13474</size>
            <attacher name="Kihong Kwon">kihong.kwon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyMjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2NiYTg4MDc5MTFiZDgy
N2IxZTFiMDYwYTI3YzVlNzJmZjNjNWUwNC4uZGQ0N2JjZjkyNTIzZjE5OTMzOGFiN2Y2MGUxYzY0
NTZhOGNiNjQzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEzLTA3LTAyICBLaWhv
bmcgS3dvbiAgPGtpaG9uZy5rd29uQHNhbXN1bmcuY29tPgorCisgICAgICAgIHZpYnJhdGUgZnVu
Y3Rpb24gaGF2ZSB0byByZXR1cm4gYm9vbGVhbiB2YWx1ZS4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExODI4OAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFjY29yZGluZyB0byBsYXRlc3QgVmlicmF0aW9u
IEFQSSB3aGljaCBpcyBMQywgdmlicmF0ZSgpIG5lZWQgdG8gYmUgcmV0dXJuCisgICAgICAgIGJv
b2xlYW4gdmFsdWUgYW5kIGV4Y2VwdGlvbiBjb2RlIGlzIHJlbW92ZWQuCisgICAgICAgIGh0dHA6
Ly93d3cudzMub3JnL1RSL3ZpYnJhdGlvbi8KKyAgICAgICAgSW4gYWRkaXRpb24sIGFkZCBtYXhW
aWJyYXRpb25EdXJhdGlvbiBhbmQgbWF4VmlicmF0aW9uUGF0dGVybkxlbmd0aC4KKworICAgICAg
ICBObyBuZXcgdGVzdHMuIHZpYnJhdGlvbi9uYXZpZ2F0b3ItdmlicmF0aW9uLmh0bWwgaXMgY2hh
bmdlZC4KKworICAgICAgICAqIE1vZHVsZXMvdmlicmF0aW9uL05hdmlnYXRvclZpYnJhdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JWaWJyYXRpb246OnZpYnJhdGUpOgorICAg
ICAgICAqIE1vZHVsZXMvdmlicmF0aW9uL05hdmlnYXRvclZpYnJhdGlvbi5oOgorICAgICAgICAq
IE1vZHVsZXMvdmlicmF0aW9uL05hdmlnYXRvclZpYnJhdGlvbi5pZGw6CisgICAgICAgICogTW9k
dWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZpYnJhdGlv
bjo6dmlicmF0ZSk6CisgICAgICAgICogTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmg6CisK
IDIwMTMtMDYtMjkgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAg
ICAgICAgQXZvaWQgY2FsbGluZyBpbnRvIE9iamVjdGl2ZS1DIGV2ZXJ5IHRpbWUgd2UgZ2V0IHRo
ZSBzY3JvbGxiYXIgd2lkdGgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmli
cmF0aW9uL05hdmlnYXRvclZpYnJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Zp
YnJhdGlvbi9OYXZpZ2F0b3JWaWJyYXRpb24uY3BwCmluZGV4IGUxNzA0NzAxZDllZDlhNDI4Y2Vj
MTFhY2NiZmU2ZWM4ZDQyYmRmYmEuLjk3ZjljMzJiZTc5OGI3NTA3Njg1MTc3ZjYxZTg5MWQxZjMw
YWM1NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL05hdmln
YXRvclZpYnJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24v
TmF2aWdhdG9yVmlicmF0aW9uLmNwcApAQCAtMjIsNyArMjIsNiBAQAogCiAjaWYgRU5BQkxFKFZJ
QlJBVElPTikKIAotI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJGcmFtZS5o
IgogI2luY2x1ZGUgIk5hdmlnYXRvci5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKQEAgLTM5LDQwICsz
OCwyNCBAQCBOYXZpZ2F0b3JWaWJyYXRpb246On5OYXZpZ2F0b3JWaWJyYXRpb24oKQogewogfQog
Ci12b2lkIE5hdmlnYXRvclZpYnJhdGlvbjo6dmlicmF0ZShOYXZpZ2F0b3IqIG5hdmlnYXRvciwg
dW5zaWduZWQgdGltZSwgRXhjZXB0aW9uQ29kZSYgZWMpCitib29sIE5hdmlnYXRvclZpYnJhdGlv
bjo6dmlicmF0ZShOYXZpZ2F0b3IqIG5hdmlnYXRvciwgdW5zaWduZWQgdGltZSkKIHsKLSAgICBp
ZiAoIW5hdmlnYXRvci0+ZnJhbWUoKS0+cGFnZSgpKQotICAgICAgICByZXR1cm47Ci0KLSNpZiBF
TkFCTEUoUEFHRV9WSVNJQklMSVRZX0FQSSkKLSAgICBpZiAobmF2aWdhdG9yLT5mcmFtZSgpLT5w
YWdlKCktPnZpc2liaWxpdHlTdGF0ZSgpID09IFBhZ2VWaXNpYmlsaXR5U3RhdGVIaWRkZW4gJiYg
dGltZSkKLSAgICAgICAgcmV0dXJuOwotI2VuZGlmCi0KLSAgICBpZiAoIVZpYnJhdGlvbjo6aXNB
Y3RpdmUobmF2aWdhdG9yLT5mcmFtZSgpLT5wYWdlKCkpKSB7Ci0gICAgICAgIGVjID0gTk9UX1NV
UFBPUlRFRF9FUlI7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBWaWJyYXRpb246OmZy
b20obmF2aWdhdG9yLT5mcmFtZSgpLT5wYWdlKCkpLT52aWJyYXRlKHRpbWUpOworICAgIFZpYnJh
dGlvblBhdHRlcm4gcGF0dGVybjsKKyAgICBwYXR0ZXJuLmFwcGVuZCh0aW1lKTsKKyAgICByZXR1
cm4gTmF2aWdhdG9yVmlicmF0aW9uOjp2aWJyYXRlKG5hdmlnYXRvciwgcGF0dGVybik7CiB9CiAK
LXZvaWQgTmF2aWdhdG9yVmlicmF0aW9uOjp2aWJyYXRlKE5hdmlnYXRvciogbmF2aWdhdG9yLCBj
b25zdCBWaWJyYXRpb25QYXR0ZXJuJiBwYXR0ZXJuLCBFeGNlcHRpb25Db2RlJiBlYykKK2Jvb2wg
TmF2aWdhdG9yVmlicmF0aW9uOjp2aWJyYXRlKE5hdmlnYXRvciogbmF2aWdhdG9yLCBjb25zdCBW
aWJyYXRpb25QYXR0ZXJuJiBwYXR0ZXJuKQogewogICAgIGlmICghbmF2aWdhdG9yLT5mcmFtZSgp
LT5wYWdlKCkpCi0gICAgICAgIHJldHVybjsKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAjaWYg
RU5BQkxFKFBBR0VfVklTSUJJTElUWV9BUEkpCiAgICAgaWYgKG5hdmlnYXRvci0+ZnJhbWUoKS0+
cGFnZSgpLT52aXNpYmlsaXR5U3RhdGUoKSA9PSBQYWdlVmlzaWJpbGl0eVN0YXRlSGlkZGVuKQot
ICAgICAgICByZXR1cm47CisgICAgICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgogCi0gICAgaWYg
KCFWaWJyYXRpb246OmlzQWN0aXZlKG5hdmlnYXRvci0+ZnJhbWUoKS0+cGFnZSgpKSkgewotICAg
ICAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0g
ICAgVmlicmF0aW9uOjpmcm9tKG5hdmlnYXRvci0+ZnJhbWUoKS0+cGFnZSgpKS0+dmlicmF0ZShw
YXR0ZXJuKTsKKyAgICByZXR1cm4gVmlicmF0aW9uOjpmcm9tKG5hdmlnYXRvci0+ZnJhbWUoKS0+
cGFnZSgpKS0+dmlicmF0ZShwYXR0ZXJuKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vTmF2aWdhdG9yVmli
cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9OYXZpZ2F0b3JWaWJy
YXRpb24uaAppbmRleCAxM2YwYjJiNTExZGUyNjdiYTg3NzRmOGVlMzQ2MmU0MzA5NGRkOTk3Li41
OTkzNDRjNjRjZDY1ZTZkMTEyNDZlNTEzZTk1M2JhNDRlMTQwY2JiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9OYXZpZ2F0b3JWaWJyYXRpb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9OYXZpZ2F0b3JWaWJyYXRpb24uaApAQCAt
MzQsMTIgKzM0LDEzIEBAIGNsYXNzIE5hdmlnYXRvclZpYnJhdGlvbiB7CiBwdWJsaWM6CiAgICAg
dHlwZWRlZiBWZWN0b3I8dW5zaWduZWQ+IFZpYnJhdGlvblBhdHRlcm47CiAKLSAgICBzdGF0aWMg
dm9pZCB2aWJyYXRlKE5hdmlnYXRvciosIHVuc2lnbmVkIHRpbWUsIEV4Y2VwdGlvbkNvZGUmKTsK
LSAgICBzdGF0aWMgdm9pZCB2aWJyYXRlKE5hdmlnYXRvciosIGNvbnN0IFZpYnJhdGlvblBhdHRl
cm4mLCBFeGNlcHRpb25Db2RlJik7CisgICAgfk5hdmlnYXRvclZpYnJhdGlvbigpOworCisgICAg
c3RhdGljIGJvb2wgdmlicmF0ZShOYXZpZ2F0b3IqLCB1bnNpZ25lZCB0aW1lKTsKKyAgICBzdGF0
aWMgYm9vbCB2aWJyYXRlKE5hdmlnYXRvciosIGNvbnN0IFZpYnJhdGlvblBhdHRlcm4mKTsKIAog
cHJpdmF0ZToKICAgICBOYXZpZ2F0b3JWaWJyYXRpb24oKTsKLSAgICB+TmF2aWdhdG9yVmlicmF0
aW9uKCk7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9OYXZpZ2F0b3JWaWJyYXRpb24uaWRsIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vTmF2aWdhdG9yVmlicmF0aW9uLmlkbAppbmRleCAw
OWVmMzhlYjU1YTQxMDc3MDdjMGMyZjU0NDVkNzk5ZDUzYmRlOGE3Li45MjE1MDE0OWZlOTFjNmJm
NDdkZDg0NTcxZTdmNDczNDVhNDA2MGFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3ZpYnJhdGlvbi9OYXZpZ2F0b3JWaWJyYXRpb24uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvdmlicmF0aW9uL05hdmlnYXRvclZpYnJhdGlvbi5pZGwKQEAgLTIwLDcgKzIwLDcg
QEAKIFsKICAgICBDb25kaXRpb25hbD1WSUJSQVRJT04sCiBdIHBhcnRpYWwgaW50ZXJmYWNlIE5h
dmlnYXRvciB7Ci0gICAgW1JhaXNlc0V4Y2VwdGlvbl0gdm9pZCB2aWJyYXRlKHNlcXVlbmNlPHVu
c2lnbmVkIGxvbmc+IHBhdHRlcm4pOwotICAgIFtSYWlzZXNFeGNlcHRpb25dIHZvaWQgdmlicmF0
ZSh1bnNpZ25lZCBsb25nIHRpbWUpOworICAgIGJvb2xlYW4gdmlicmF0ZShzZXF1ZW5jZTx1bnNp
Z25lZCBsb25nPiBwYXR0ZXJuKTsKKyAgICBib29sZWFuIHZpYnJhdGUodW5zaWduZWQgbG9uZyB0
aW1lKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9u
L1ZpYnJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRp
b24uY3BwCmluZGV4IGQ2NzUzNWVkZWRhMGIyOTY4NWQ5NWQ4YjU2MzIyYzkyYjRhOThkZjkuLjNk
OTJkZmY3ZDY4ZGQ3MjVhYjNkMzRkYzlkYWNlOTMwZjAwNGZjNTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmNwcApAQCAtMjYsNiArMjYsOSBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NvbnN0IHVuc2lnbmVkIG1heFZpYnJhdGlvblBhdHRl
cm5MZW5ndGggPSA5OTsKK2NvbnN0IHVuc2lnbmVkIG1heFZpYnJhdGlvbkR1cmF0aW9uID0gMzAw
MDA7CisKIFZpYnJhdGlvbjo6VmlicmF0aW9uKFZpYnJhdGlvbkNsaWVudCogY2xpZW50KQogICAg
IDogbV92aWJyYXRpb25DbGllbnQoY2xpZW50KQogICAgICwgbV90aW1lclN0YXJ0KHRoaXMsICZW
aWJyYXRpb246OnRpbWVyU3RhcnRGaXJlZCkKQEAgLTQ0LDM2ICs0NywzMCBAQCBQYXNzT3duUHRy
PFZpYnJhdGlvbj4gVmlicmF0aW9uOjpjcmVhdGUoVmlicmF0aW9uQ2xpZW50KiBjbGllbnQpCiAg
ICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBWaWJyYXRpb24oY2xpZW50KSk7CiB9CiAKLXZvaWQgVmli
cmF0aW9uOjp2aWJyYXRlKGNvbnN0IHVuc2lnbmVkJiB0aW1lKQorYm9vbCBWaWJyYXRpb246OnZp
YnJhdGUoY29uc3QgVmlicmF0aW9uUGF0dGVybiYgcGF0dGVybikKIHsKLSAgICBpZiAoIXRpbWUp
IHsKLSAgICAgICAgY2FuY2VsVmlicmF0aW9uKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0g
ICAgbV9wYXR0ZXJuLmFwcGVuZCh0aW1lKTsKLSAgICBtX3RpbWVyU3RhcnQuc3RhcnRPbmVTaG90
KDApOwotICAgIG1faXNWaWJyYXRpbmcgPSB0cnVlOwotfQorICAgIHNpemVfdCBsZW5ndGggPSBw
YXR0ZXJuLnNpemUoKTsKIAotdm9pZCBWaWJyYXRpb246OnZpYnJhdGUoY29uc3QgVmlicmF0aW9u
UGF0dGVybiYgcGF0dGVybikKLXsKLSAgICBpbnQgbGVuZ3RoID0gcGF0dGVybi5zaXplKCk7Cisg
ICAgaWYgKGxlbmd0aCA+IG1heFZpYnJhdGlvblBhdHRlcm5MZW5ndGgpCisgICAgICAgIHJldHVy
biBmYWxzZTsKIAotICAgIC8vIENhbmNlbCB0aGUgcHJlLWV4aXN0aW5nIGluc3RhbmNlIG9mIHZp
YnJhdGlvbiBwYXR0ZXJucywgaWYgdGhlIHBhdHRlcm4gaXMgMCBvciBhbiBlbXB0eSBsaXN0Lgot
ICAgIGlmICghbGVuZ3RoIHx8IChsZW5ndGggPT0gMSAmJiAhcGF0dGVyblswXSkpIHsKLSAgICAg
ICAgY2FuY2VsVmlicmF0aW9uKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CisgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkKKyAgICAgICAgaWYgKHBhdHRlcm5baV0gPiBt
YXhWaWJyYXRpb25EdXJhdGlvbikKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlm
IChtX2lzVmlicmF0aW5nKQorICAgIG1fcGF0dGVybiA9IHBhdHRlcm47CisgICAgaWYgKGxlbmd0
aCAmJiAhKGxlbmd0aCAlIDIpKQorICAgICAgICBtX3BhdHRlcm4ucmVtb3ZlTGFzdCgpOworCisg
ICAgaWYgKG1faXNWaWJyYXRpbmcgfHwgKG1fcGF0dGVybi5zaXplKCkgPT0gMSAmJiAhbV9wYXR0
ZXJuWzBdKSkKICAgICAgICAgY2FuY2VsVmlicmF0aW9uKCk7CiAKLSAgICBpZiAobV90aW1lclN0
YXJ0LmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGltZXJTdGFydC5zdG9wKCk7CisgICAgaWYgKCFt
X3BhdHRlcm4uc2l6ZSgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIG1fcGF0dGVybiA9
IHBhdHRlcm47CiAgICAgbV90aW1lclN0YXJ0LnN0YXJ0T25lU2hvdCgwKTsKICAgICBtX2lzVmli
cmF0aW5nID0gdHJ1ZTsKKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAogdm9pZCBWaWJyYXRpb246OmNh
bmNlbFZpYnJhdGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJh
dGlvbi9WaWJyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL1ZpYnJh
dGlvbi5oCmluZGV4IDU4ZmY0MjEwZWUzODIzNzI1MWNkMjMzMTBjOGU0YTNiNjBjNGZlZjYuLmMw
YmU1NzRiOWQ1YjIxMzk5MDlhZDk1OTQ3NTkwZTM1ZTMyYzZiZjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5oCkBAIC0zOSw4ICszOSw3IEBAIHB1Ymxp
YzoKIAogICAgIHN0YXRpYyBQYXNzT3duUHRyPFZpYnJhdGlvbj4gY3JlYXRlKFZpYnJhdGlvbkNs
aWVudCopOwogCi0gICAgdm9pZCB2aWJyYXRlKGNvbnN0IHVuc2lnbmVkJiB0aW1lKTsKLSAgICB2
b2lkIHZpYnJhdGUoY29uc3QgVmlicmF0aW9uUGF0dGVybiYpOworICAgIGJvb2wgdmlicmF0ZShj
b25zdCBWaWJyYXRpb25QYXR0ZXJuJik7CiAgICAgdm9pZCBjYW5jZWxWaWJyYXRpb24oKTsKIAog
ICAgIC8vIEZJWE1FIDogQWRkIHN1c3BlbmRWaWJyYXRpb24oKSBhbmQgcmVzdW1lVmlicmF0aW9u
KCkgdG8gdGhlIHBhZ2UgdmlzaWJpbGl0eSBmZWF0dXJlLCB3aGVuIHRoZSBkb2N1bWVudC5oaWRk
ZW4gYXR0cmlidXRlIGlzIGNoYW5nZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggODkwYzMzNmRjOGVhMTc5MWY1YmU0NGZh
MjdjMTBmYWFjM2QyZDdmYy4uYzU5YTRjMDlhZDk5ZDNmNWFhNjBjNWNlNDBkZmRhMDVhNjU4MTc4
MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEzLTA3LTAyICBLaWhvbmcgS3dvbiAgPGtpaG9u
Zy5rd29uQHNhbXN1bmcuY29tPgorCisgICAgICAgIHZpYnJhdGUgZnVuY3Rpb24gaGF2ZSB0byBy
ZXR1cm4gYm9vbGVhbiB2YWx1ZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTExODI4OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFjY29yZGluZyB0byBsYXRlc3QgVmlicmF0aW9uIEFQSSBzcGVjLgorICAg
ICAgICBjYW5jZWxWaWJyYXRpb24tYWZ0ZXItcGFnZXZpc2liaWxpdHktY2hhbmdlZC10by1oaWRk
ZW4uaHRtbCBpcyBub3QgcHJvcGVyLgorICAgICAgICBBbmQgbmF2aWdhdG9yLXZpYnJhdGlvbi5o
dG1sIG5lZWQgdG8gYmUgY2hhbmdlZCB0byBhbGlnbiB0byB0aGUgc3BlYy4KKworICAgICAgICAq
IHZpYnJhdGlvbi9jYW5jZWxWaWJyYXRpb24tYWZ0ZXItcGFnZXZpc2liaWxpdHktY2hhbmdlZC10
by1oaWRkZW4tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHZpYnJhdGlvbi9jYW5j
ZWxWaWJyYXRpb24tYWZ0ZXItcGFnZXZpc2liaWxpdHktY2hhbmdlZC10by1oaWRkZW4uaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiB2aWJyYXRpb24vbmF2aWdhdG9yLXZpYnJhdGlvbi1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogdmlicmF0aW9uL25hdmlnYXRvci12aWJyYXRpb24uaHRtbDoKKwog
MjAxMy0wNi0zMCAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgVW5yZXZpZXdlZCBHVEsgZ2FyZGVuaW5nLiBSZWJhc2VsaW5pbmcgd2hhdGV2ZXIgY2FuIGJl
IHJlYmFzZWxpbmVkIGFuZCBhZGRpbmcgZmFpbHVyZSBleHBlY3RhdGlvbnMgZm9yIG90aGVyIGN1
cnJlbnQgZmFpbHVyZXMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy92aWJyYXRpb24vY2FuY2Vs
VmlicmF0aW9uLWFmdGVyLXBhZ2V2aXNpYmlsaXR5LWNoYW5nZWQtdG8taGlkZGVuLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3ZpYnJhdGlvbi9jYW5jZWxWaWJyYXRpb24tYWZ0ZXItcGFnZXZp
c2liaWxpdHktY2hhbmdlZC10by1oaWRkZW4tZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAzZTk1NDQ1OTNhYTkzNzVjZjgzYTJiNzA5ZDJhZTVjZTNmZjBlZGE2Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L3ZpYnJhdGlvbi9jYW5jZWxWaWJyYXRpb24tYWZ0ZXItcGFnZXZpc2liaWxpdHktY2hhbmdlZC10
by1oaWRkZW4tZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotVGVz
dHMgdGhlIGNhbmNlbFZpYnJhdGlvbiBhZnRlciBjaGFuZ2luZyB0aGUgdmFsdWUgb2YgcGFnZVZp
c2liaWxpdHkgdG8gaGlkZGVuLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFT
UyBpbnRlcm5hbHMuaXNWaWJyYXRpbmcoKSBpcyBmYWxzZQotUEFTUyBpbnRlcm5hbHMuaXNWaWJy
YXRpbmcoKSBpcyB0cnVlCi1QQVNTIGludGVybmFscy5pc1ZpYnJhdGluZygpIGlzIGZhbHNlCi1Q
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvdmlicmF0aW9uL2NhbmNlbFZpYnJhdGlvbi1hZnRlci1wYWdldmlz
aWJpbGl0eS1jaGFuZ2VkLXRvLWhpZGRlbi5odG1sIGIvTGF5b3V0VGVzdHMvdmlicmF0aW9uL2Nh
bmNlbFZpYnJhdGlvbi1hZnRlci1wYWdldmlzaWJpbGl0eS1jaGFuZ2VkLXRvLWhpZGRlbi5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNWYyOTdlYzNlNTlhMTcyYWYyMDkwYzky
YTY4YzY1MDNjMzRjMjBmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL3ZpYnJhdGlvbi9jYW5jZWxWaWJyYXRpb24tYWZ0ZXItcGFnZXZp
c2liaWxpdHktY2hhbmdlZC10by1oaWRkZW4uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDMyICsw
LDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotZGVz
Y3JpcHRpb24oJ1Rlc3RzIHRoZSBjYW5jZWxWaWJyYXRpb24gYWZ0ZXIgY2hhbmdpbmcgdGhlIHZh
bHVlIG9mIHBhZ2VWaXNpYmlsaXR5IHRvIGhpZGRlbi4nKTsKLQotdmFyIHZpc2liaWxpdHlTdGF0
ZSA9IGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZTsKLQotZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5l
cigndmlzaWJpbGl0eWNoYW5nZScsIGZ1bmN0aW9uKGUpIHsKLSAgICBpZiAoZG9jdW1lbnQudmlz
aWJpbGl0eVN0YXRlID09ICdoaWRkZW4nKQotICAgICAgICBuYXZpZ2F0b3IudmlicmF0ZSgwKTsK
LSAgICAgICAgc2hvdWxkQmVGYWxzZSgnaW50ZXJuYWxzLmlzVmlicmF0aW5nKCknKTsKLSAgICAg
ICAgdGVzdFJ1bm5lci5zZXRQYWdlVmlzaWJpbGl0eSh2aXNpYmlsaXR5U3RhdGUpOwotICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKLSAgICB9KTsKLQotc2hvdWxkQmVGYWxzZSgnaW50ZXJuYWxzLmlz
VmlicmF0aW5nKCknKTsKLW5hdmlnYXRvci52aWJyYXRlKDEwMDAwKTsKLWlmICh3aW5kb3cudGVz
dFJ1bm5lcikgewotICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHNob3VsZEJl
VHJ1ZSgnaW50ZXJuYWxzLmlzVmlicmF0aW5nKCknKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRQ
YWdlVmlzaWJpbGl0eSgnaGlkZGVuJyk7Ci0gICAgICAgIH0sIDApOwotfSBlbHNlCi0gICAgZGVi
dWcoJ1RoaXMgdGVzdCBjYW4gbm90IGJlIHJ1biB3aXRob3V0IHRoZSBUZXN0UnVubmVyJyk7Ci13
aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvdmlicmF0aW9uL25hdmlnYXRvci12aWJyYXRp
b24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvdmlicmF0aW9uL25hdmlnYXRvci12aWJyYXRp
b24tZXhwZWN0ZWQudHh0CmluZGV4IDQ3NWJlNjlhY2Q4MWFlY2E4M2FiNzczYWY5YmRiODBiZmM5
NzA5N2QuLjcxMzA4MGFkZjI5YzU2NzBiYjUyMGVlMTRhMzMyNDM0ZDU0OGZjMDAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3ZpYnJhdGlvbi9uYXZpZ2F0b3ItdmlicmF0aW9uLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy92aWJyYXRpb24vbmF2aWdhdG9yLXZpYnJhdGlvbi1leHBlY3Rl
ZC50eHQKQEAgLTMsMTIgKzMsMTggQEAgVGVzdCBmb3IgdGhlIFZpYnJhdGlvbiBBUEkuCiBPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAotUEFTUyBuYXZpZ2F0b3IudmlicmF0ZSgwKTsgaXMg
dW5kZWZpbmVkCi1QQVNTIG5hdmlnYXRvci52aWJyYXRlKFtdKTsgaXMgdW5kZWZpbmVkCi1QQVNT
IG5hdmlnYXRvci52aWJyYXRlKDEwMDApOyBpcyB1bmRlZmluZWQKLVBBU1MgbmF2aWdhdG9yLnZp
YnJhdGUoWzEwMDAsIDMwMCwgNTAwXSk7IGlzIHVuZGVmaW5lZAotUEFTUyBuYXZpZ2F0b3Iudmli
cmF0ZSg0Mjk0OTY3Mjk1KTsgaXMgdW5kZWZpbmVkCitQQVNTIG5hdmlnYXRvci52aWJyYXRlKDAp
OyBpcyB0cnVlCitQQVNTIG5hdmlnYXRvci52aWJyYXRlKFtdKTsgaXMgdHJ1ZQorUEFTUyBuYXZp
Z2F0b3IudmlicmF0ZSgxKTsgaXMgdHJ1ZQorUEFTUyBuYXZpZ2F0b3IudmlicmF0ZShbMSwgMl0p
OyBpcyB0cnVlCitQQVNTIG5hdmlnYXRvci52aWJyYXRlKFsxLCAyLCAzXSk7IGlzIHRydWUKK1BB
U1MgbmF2aWdhdG9yLnZpYnJhdGUoMzAwMDApOyBpcyB0cnVlCitQQVNTIG5hdmlnYXRvci52aWJy
YXRlKDMwMDAxKTsgaXMgZmFsc2UKK1BBU1MgbmF2aWdhdG9yLnZpYnJhdGUoLTEpOyBpcyBmYWxz
ZQorUEFTUyB2YXIgcCA9IFtdOyBmb3IgKHZhciBpID0gMDsgaSA8IDk5OyBpKyspIHBbaV0gPSAx
OyBuYXZpZ2F0b3IudmlicmF0ZShwKTsgaXMgdHJ1ZQorUEFTUyB2YXIgcCA9IFtdOyBmb3IgKHZh
ciBpID0gMDsgaSA8IDEwMDsgaSsrKSBwW2ldID0gMTsgbmF2aWdhdG9yLnZpYnJhdGUocCk7IGlz
IGZhbHNlCiBQQVNTIG5hdmlnYXRvci52aWJyYXRlKCk7IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyBuYXZpZ2F0b3IudmlicmF0ZShbMV0sIFsy
XSk7IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCiBQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3ZpYnJhdGlvbi9uYXZpZ2F0b3ItdmlicmF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy92aWJy
YXRpb24vbmF2aWdhdG9yLXZpYnJhdGlvbi5odG1sCmluZGV4IDY1MTRkODdmMmNkMzcwNjdmZGRk
N2RlMTQ4YjFmNGNjMzBlMjg5MjEuLmNmM2ZiM2M3OWNmNzgxODM0MjQyNTRhOWI5MjlmZjg4MmM3
MWY4YTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3ZpYnJhdGlvbi9uYXZpZ2F0b3ItdmlicmF0
aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvdmlicmF0aW9uL25hdmlnYXRvci12aWJyYXRpb24u
aHRtbApAQCAtNiwxMiArNiwxOCBAQAogPHNjcmlwdD4KIGRlc2NyaXB0aW9uKCdUZXN0IGZvciB0
aGUgVmlicmF0aW9uIEFQSS4nKTsKIAotc2hvdWxkQmUoIm5hdmlnYXRvci52aWJyYXRlKDApOyIs
ICJ1bmRlZmluZWQiKTsKLXNob3VsZEJlKCJuYXZpZ2F0b3IudmlicmF0ZShbXSk7IiwgInVuZGVm
aW5lZCIpOwotc2hvdWxkQmUoIm5hdmlnYXRvci52aWJyYXRlKDEwMDApOyIsICJ1bmRlZmluZWQi
KTsKLXNob3VsZEJlKCJuYXZpZ2F0b3IudmlicmF0ZShbMTAwMCwgMzAwLCA1MDBdKTsiLCAidW5k
ZWZpbmVkIik7Ci1zaG91bGRCZSgibmF2aWdhdG9yLnZpYnJhdGUoNDI5NDk2NzI5NSk7IiwgInVu
ZGVmaW5lZCIpOworc2hvdWxkQmVUcnVlKCJuYXZpZ2F0b3IudmlicmF0ZSgwKTsiKTsKK3Nob3Vs
ZEJlVHJ1ZSgibmF2aWdhdG9yLnZpYnJhdGUoW10pOyIpOworc2hvdWxkQmVUcnVlKCJuYXZpZ2F0
b3IudmlicmF0ZSgxKTsiKTsKK3Nob3VsZEJlVHJ1ZSgibmF2aWdhdG9yLnZpYnJhdGUoWzEsIDJd
KTsiKTsKK3Nob3VsZEJlVHJ1ZSgibmF2aWdhdG9yLnZpYnJhdGUoWzEsIDIsIDNdKTsiKTsKK3No
b3VsZEJlVHJ1ZSgibmF2aWdhdG9yLnZpYnJhdGUoMzAwMDApOyIpOworc2hvdWxkQmVGYWxzZSgi
bmF2aWdhdG9yLnZpYnJhdGUoMzAwMDEpOyIpOworc2hvdWxkQmVGYWxzZSgibmF2aWdhdG9yLnZp
YnJhdGUoLTEpOyIpOworc2hvdWxkQmVUcnVlKCJ2YXIgcCA9IFtdOyBmb3IgKHZhciBpID0gMDsg
aSA8IDk5OyBpKyspIHBbaV0gPSAxOyBuYXZpZ2F0b3IudmlicmF0ZShwKTsiKTsKK3Nob3VsZEJl
RmFsc2UoInZhciBwID0gW107IGZvciAodmFyIGkgPSAwOyBpIDwgMTAwOyBpKyspIHBbaV0gPSAx
OyBuYXZpZ2F0b3IudmlicmF0ZShwKTsiKTsKIHNob3VsZFRocm93KCJuYXZpZ2F0b3IudmlicmF0
ZSgpOyIpOworc2hvdWxkVGhyb3coIm5hdmlnYXRvci52aWJyYXRlKFsxXSwgWzJdKTsiKTsKIDwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+CiA8L2JvZHk+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205962</attachid>
            <date>2013-07-02 19:14:09 -0700</date>
            <delta_ts>2013-07-03 02:08:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118288-20130703111203.patch</filename>
            <type>text/plain</type>
            <size>12200</size>
            <attacher name="Kihong Kwon">kihong.kwon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyMzMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWFjN2M1Njc5ZWJiMjEx
MjYxNTNiODY1NjcwY2QxMGMyZjczMWY0OS4uNjI1YWM1NGQyOGMxMjYyYjVlYWJiOWFlMjFjNzRh
N2I0N2YxNDUzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEzLTA3LTAyICBLaWhv
bmcgS3dvbiAgPGtpaG9uZy5rd29uQHNhbXN1bmcuY29tPgorCisgICAgICAgIHZpYnJhdGUgZnVu
Y3Rpb24gaGF2ZSB0byByZXR1cm4gYm9vbGVhbiB2YWx1ZS4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExODI4OAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFjY29yZGluZyB0byBsYXRlc3QgVmlicmF0aW9u
IEFQSSB3aGljaCBpcyBMQywgdmlicmF0ZSgpIG5lZWQgdG8gYmUgcmV0dXJuCisgICAgICAgIGJv
b2xlYW4gdmFsdWUgYW5kIGV4Y2VwdGlvbiBjb2RlIGlzIHJlbW92ZWQuCisgICAgICAgIGh0dHA6
Ly93d3cudzMub3JnL1RSL3ZpYnJhdGlvbi8KKworICAgICAgICBObyBuZXcgdGVzdHMuIHZpYnJh
dGlvbi9uYXZpZ2F0b3ItdmlicmF0aW9uLmh0bWwgaXMgY2hhbmdlZC4KKworICAgICAgICAqIE1v
ZHVsZXMvdmlicmF0aW9uL05hdmlnYXRvclZpYnJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpOYXZpZ2F0b3JWaWJyYXRpb246OnZpYnJhdGUpOgorICAgICAgICAqIE1vZHVsZXMvdmlicmF0
aW9uL05hdmlnYXRvclZpYnJhdGlvbi5oOgorICAgICAgICAqIE1vZHVsZXMvdmlicmF0aW9uL05h
dmlnYXRvclZpYnJhdGlvbi5pZGw6CisgICAgICAgICogTW9kdWxlcy92aWJyYXRpb24vVmlicmF0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZpYnJhdGlvbjo6dmlicmF0ZSk6CisgICAgICAg
ICogTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmg6CisKIDIwMTMtMDctMDIgIENvbW1pdCBR
dWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJv
bGxpbmcgb3V0IHIxNTIzMTguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Zp
YnJhdGlvbi9OYXZpZ2F0b3JWaWJyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92
aWJyYXRpb24vTmF2aWdhdG9yVmlicmF0aW9uLmNwcAppbmRleCBlMTcwNDcwMWQ5ZWQ5YTQyOGNl
YzExYWNjYmZlNmVjOGQ0MmJkZmJhLi45N2Y5YzMyYmU3OThiNzUwNzY4NTE3N2Y2MWU4OTFkMWYz
MGFjNTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9OYXZp
Z2F0b3JWaWJyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9u
L05hdmlnYXRvclZpYnJhdGlvbi5jcHAKQEAgLTIyLDcgKzIyLDYgQEAKIAogI2lmIEVOQUJMRShW
SUJSQVRJT04pCiAKLSNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiRnJhbWUu
aCIKICNpbmNsdWRlICJOYXZpZ2F0b3IuaCIKICNpbmNsdWRlICJQYWdlLmgiCkBAIC0zOSw0MCAr
MzgsMjQgQEAgTmF2aWdhdG9yVmlicmF0aW9uOjp+TmF2aWdhdG9yVmlicmF0aW9uKCkKIHsKIH0K
IAotdm9pZCBOYXZpZ2F0b3JWaWJyYXRpb246OnZpYnJhdGUoTmF2aWdhdG9yKiBuYXZpZ2F0b3Is
IHVuc2lnbmVkIHRpbWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQorYm9vbCBOYXZpZ2F0b3JWaWJyYXRp
b246OnZpYnJhdGUoTmF2aWdhdG9yKiBuYXZpZ2F0b3IsIHVuc2lnbmVkIHRpbWUpCiB7Ci0gICAg
aWYgKCFuYXZpZ2F0b3ItPmZyYW1lKCktPnBhZ2UoKSkKLSAgICAgICAgcmV0dXJuOwotCi0jaWYg
RU5BQkxFKFBBR0VfVklTSUJJTElUWV9BUEkpCi0gICAgaWYgKG5hdmlnYXRvci0+ZnJhbWUoKS0+
cGFnZSgpLT52aXNpYmlsaXR5U3RhdGUoKSA9PSBQYWdlVmlzaWJpbGl0eVN0YXRlSGlkZGVuICYm
IHRpbWUpCi0gICAgICAgIHJldHVybjsKLSNlbmRpZgotCi0gICAgaWYgKCFWaWJyYXRpb246Omlz
QWN0aXZlKG5hdmlnYXRvci0+ZnJhbWUoKS0+cGFnZSgpKSkgewotICAgICAgICBlYyA9IE5PVF9T
VVBQT1JURURfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgVmlicmF0aW9uOjpm
cm9tKG5hdmlnYXRvci0+ZnJhbWUoKS0+cGFnZSgpKS0+dmlicmF0ZSh0aW1lKTsKKyAgICBWaWJy
YXRpb25QYXR0ZXJuIHBhdHRlcm47CisgICAgcGF0dGVybi5hcHBlbmQodGltZSk7CisgICAgcmV0
dXJuIE5hdmlnYXRvclZpYnJhdGlvbjo6dmlicmF0ZShuYXZpZ2F0b3IsIHBhdHRlcm4pOwogfQog
Ci12b2lkIE5hdmlnYXRvclZpYnJhdGlvbjo6dmlicmF0ZShOYXZpZ2F0b3IqIG5hdmlnYXRvciwg
Y29uc3QgVmlicmF0aW9uUGF0dGVybiYgcGF0dGVybiwgRXhjZXB0aW9uQ29kZSYgZWMpCitib29s
IE5hdmlnYXRvclZpYnJhdGlvbjo6dmlicmF0ZShOYXZpZ2F0b3IqIG5hdmlnYXRvciwgY29uc3Qg
VmlicmF0aW9uUGF0dGVybiYgcGF0dGVybikKIHsKICAgICBpZiAoIW5hdmlnYXRvci0+ZnJhbWUo
KS0+cGFnZSgpKQotICAgICAgICByZXR1cm47CisgICAgICAgIHJldHVybiBmYWxzZTsKIAogI2lm
IEVOQUJMRShQQUdFX1ZJU0lCSUxJVFlfQVBJKQogICAgIGlmIChuYXZpZ2F0b3ItPmZyYW1lKCkt
PnBhZ2UoKS0+dmlzaWJpbGl0eVN0YXRlKCkgPT0gUGFnZVZpc2liaWxpdHlTdGF0ZUhpZGRlbikK
LSAgICAgICAgcmV0dXJuOworICAgICAgICByZXR1cm4gZmFsc2U7CiAjZW5kaWYKIAotICAgIGlm
ICghVmlicmF0aW9uOjppc0FjdGl2ZShuYXZpZ2F0b3ItPmZyYW1lKCktPnBhZ2UoKSkpIHsKLSAg
ICAgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQot
ICAgIFZpYnJhdGlvbjo6ZnJvbShuYXZpZ2F0b3ItPmZyYW1lKCktPnBhZ2UoKSktPnZpYnJhdGUo
cGF0dGVybik7CisgICAgcmV0dXJuIFZpYnJhdGlvbjo6ZnJvbShuYXZpZ2F0b3ItPmZyYW1lKCkt
PnBhZ2UoKSktPnZpYnJhdGUocGF0dGVybik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL05hdmlnYXRvclZp
YnJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vTmF2aWdhdG9yVmli
cmF0aW9uLmgKaW5kZXggMTNmMGIyYjUxMWRlMjY3YmE4Nzc0ZjhlZTM0NjJlNDMwOTRkZDk5Ny4u
NTk5MzQ0YzY0Y2Q2NWU2ZDExMjQ2ZTUxM2U5NTNiYTQ0ZTE0MGNiYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vTmF2aWdhdG9yVmlicmF0aW9uLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vTmF2aWdhdG9yVmlicmF0aW9uLmgKQEAg
LTM0LDEyICszNCwxMyBAQCBjbGFzcyBOYXZpZ2F0b3JWaWJyYXRpb24gewogcHVibGljOgogICAg
IHR5cGVkZWYgVmVjdG9yPHVuc2lnbmVkPiBWaWJyYXRpb25QYXR0ZXJuOwogCi0gICAgc3RhdGlj
IHZvaWQgdmlicmF0ZShOYXZpZ2F0b3IqLCB1bnNpZ25lZCB0aW1lLCBFeGNlcHRpb25Db2RlJik7
Ci0gICAgc3RhdGljIHZvaWQgdmlicmF0ZShOYXZpZ2F0b3IqLCBjb25zdCBWaWJyYXRpb25QYXR0
ZXJuJiwgRXhjZXB0aW9uQ29kZSYpOworICAgIH5OYXZpZ2F0b3JWaWJyYXRpb24oKTsKKworICAg
IHN0YXRpYyBib29sIHZpYnJhdGUoTmF2aWdhdG9yKiwgdW5zaWduZWQgdGltZSk7CisgICAgc3Rh
dGljIGJvb2wgdmlicmF0ZShOYXZpZ2F0b3IqLCBjb25zdCBWaWJyYXRpb25QYXR0ZXJuJik7CiAK
IHByaXZhdGU6CiAgICAgTmF2aWdhdG9yVmlicmF0aW9uKCk7Ci0gICAgfk5hdmlnYXRvclZpYnJh
dGlvbigpOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vTmF2aWdhdG9yVmlicmF0aW9uLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL05hdmlnYXRvclZpYnJhdGlvbi5pZGwKaW5kZXgg
MDllZjM4ZWI1NWE0MTA3NzA3YzBjMmY1NDQ1ZDc5OWQ1M2JkZThhNy4uOTIxNTAxNDlmZTkxYzZi
ZjQ3ZGQ4NDU3MWU3ZjQ3MzQ1YTQwNjBhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy92aWJyYXRpb24vTmF2aWdhdG9yVmlicmF0aW9uLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3ZpYnJhdGlvbi9OYXZpZ2F0b3JWaWJyYXRpb24uaWRsCkBAIC0yMCw3ICsyMCw3
IEBACiBbCiAgICAgQ29uZGl0aW9uYWw9VklCUkFUSU9OLAogXSBwYXJ0aWFsIGludGVyZmFjZSBO
YXZpZ2F0b3IgewotICAgIFtSYWlzZXNFeGNlcHRpb25dIHZvaWQgdmlicmF0ZShzZXF1ZW5jZTx1
bnNpZ25lZCBsb25nPiBwYXR0ZXJuKTsKLSAgICBbUmFpc2VzRXhjZXB0aW9uXSB2b2lkIHZpYnJh
dGUodW5zaWduZWQgbG9uZyB0aW1lKTsKKyAgICBib29sZWFuIHZpYnJhdGUoc2VxdWVuY2U8dW5z
aWduZWQgbG9uZz4gcGF0dGVybik7CisgICAgYm9vbGVhbiB2aWJyYXRlKHVuc2lnbmVkIGxvbmcg
dGltZSk7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlv
bi9WaWJyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0
aW9uLmNwcAppbmRleCBkNjc1MzVlZGVkYTBiMjk2ODVkOTVkOGI1NjMyMmM5MmI0YTk4ZGY5Li42
MTMxYmQ0NTQzMmQxYTE4ZWFjZjQ4MDM5ZjU5ODRhOTE0MjY2NTc4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAKQEAgLTQ0LDM2ICs0NCwyMyBA
QCBQYXNzT3duUHRyPFZpYnJhdGlvbj4gVmlicmF0aW9uOjpjcmVhdGUoVmlicmF0aW9uQ2xpZW50
KiBjbGllbnQpCiAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBWaWJyYXRpb24oY2xpZW50KSk7CiB9
CiAKLXZvaWQgVmlicmF0aW9uOjp2aWJyYXRlKGNvbnN0IHVuc2lnbmVkJiB0aW1lKQorYm9vbCBW
aWJyYXRpb246OnZpYnJhdGUoY29uc3QgVmlicmF0aW9uUGF0dGVybiYgcGF0dGVybikKIHsKLSAg
ICBpZiAoIXRpbWUpIHsKLSAgICAgICAgY2FuY2VsVmlicmF0aW9uKCk7Ci0gICAgICAgIHJldHVy
bjsKLSAgICB9Ci0gICAgbV9wYXR0ZXJuLmFwcGVuZCh0aW1lKTsKLSAgICBtX3RpbWVyU3RhcnQu
c3RhcnRPbmVTaG90KDApOwotICAgIG1faXNWaWJyYXRpbmcgPSB0cnVlOwotfQotCi12b2lkIFZp
YnJhdGlvbjo6dmlicmF0ZShjb25zdCBWaWJyYXRpb25QYXR0ZXJuJiBwYXR0ZXJuKQotewotICAg
IGludCBsZW5ndGggPSBwYXR0ZXJuLnNpemUoKTsKKyAgICBzaXplX3QgbGVuZ3RoID0gcGF0dGVy
bi5zaXplKCk7CiAKLSAgICAvLyBDYW5jZWwgdGhlIHByZS1leGlzdGluZyBpbnN0YW5jZSBvZiB2
aWJyYXRpb24gcGF0dGVybnMsIGlmIHRoZSBwYXR0ZXJuIGlzIDAgb3IgYW4gZW1wdHkgbGlzdC4K
LSAgICBpZiAoIWxlbmd0aCB8fCAobGVuZ3RoID09IDEgJiYgIXBhdHRlcm5bMF0pKSB7Ci0gICAg
ICAgIGNhbmNlbFZpYnJhdGlvbigpOwotICAgICAgICByZXR1cm47Ci0gICAgfQorICAgIG1fcGF0
dGVybiA9IHBhdHRlcm47CisgICAgaWYgKGxlbmd0aCAmJiAhKGxlbmd0aCAlIDIpKQorICAgICAg
ICBtX3BhdHRlcm4ucmVtb3ZlTGFzdCgpOwogCi0gICAgaWYgKG1faXNWaWJyYXRpbmcpCisgICAg
aWYgKG1faXNWaWJyYXRpbmcgfHwgKG1fcGF0dGVybi5zaXplKCkgPT0gMSAmJiAhbV9wYXR0ZXJu
WzBdKSkKICAgICAgICAgY2FuY2VsVmlicmF0aW9uKCk7CiAKLSAgICBpZiAobV90aW1lclN0YXJ0
LmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGltZXJTdGFydC5zdG9wKCk7CisgICAgaWYgKCFtX3Bh
dHRlcm4uc2l6ZSgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIG1fcGF0dGVybiA9IHBh
dHRlcm47CiAgICAgbV90aW1lclN0YXJ0LnN0YXJ0T25lU2hvdCgwKTsKICAgICBtX2lzVmlicmF0
aW5nID0gdHJ1ZTsKKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAogdm9pZCBWaWJyYXRpb246OmNhbmNl
bFZpYnJhdGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlv
bi9WaWJyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlv
bi5oCmluZGV4IDU4ZmY0MjEwZWUzODIzNzI1MWNkMjMzMTBjOGU0YTNiNjBjNGZlZjYuLmMwYmU1
NzRiOWQ1YjIxMzk5MDlhZDk1OTQ3NTkwZTM1ZTMyYzZiZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5oCkBAIC0zOSw4ICszOSw3IEBAIHB1YmxpYzoK
IAogICAgIHN0YXRpYyBQYXNzT3duUHRyPFZpYnJhdGlvbj4gY3JlYXRlKFZpYnJhdGlvbkNsaWVu
dCopOwogCi0gICAgdm9pZCB2aWJyYXRlKGNvbnN0IHVuc2lnbmVkJiB0aW1lKTsKLSAgICB2b2lk
IHZpYnJhdGUoY29uc3QgVmlicmF0aW9uUGF0dGVybiYpOworICAgIGJvb2wgdmlicmF0ZShjb25z
dCBWaWJyYXRpb25QYXR0ZXJuJik7CiAgICAgdm9pZCBjYW5jZWxWaWJyYXRpb24oKTsKIAogICAg
IC8vIEZJWE1FIDogQWRkIHN1c3BlbmRWaWJyYXRpb24oKSBhbmQgcmVzdW1lVmlicmF0aW9uKCkg
dG8gdGhlIHBhZ2UgdmlzaWJpbGl0eSBmZWF0dXJlLCB3aGVuIHRoZSBkb2N1bWVudC5oaWRkZW4g
YXR0cmlidXRlIGlzIGNoYW5nZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNGVkNWFkYmI1M2Q4OGNhMWFkNzI4N2VhMWI0
NDQzODMwM2Y0MGFmZS4uMDI1OWI1ZGFmOTNhNmEzNDcyZTU4OTc1MjBhODc5ZDg5NjYwZWQwZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEzLTA3LTAyICBLaWhvbmcgS3dvbiAgPGtpaG9uZy5r
d29uQHNhbXN1bmcuY29tPgorCisgICAgICAgIHZpYnJhdGUgZnVuY3Rpb24gaGF2ZSB0byByZXR1
cm4gYm9vbGVhbiB2YWx1ZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTExODI4OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFjY29yZGluZyB0byBsYXRlc3QgVmlicmF0aW9uIEFQSSBzcGVjLgorICAgICAg
ICBjYW5jZWxWaWJyYXRpb24tYWZ0ZXItcGFnZXZpc2liaWxpdHktY2hhbmdlZC10by1oaWRkZW4u
aHRtbCBpcyBub3QgcHJvcGVyLgorICAgICAgICBBbmQgbmF2aWdhdG9yLXZpYnJhdGlvbi5odG1s
IG5lZWQgdG8gYmUgY2hhbmdlZCB0byBhbGlnbiB0byB0aGUgc3BlYy4KKworICAgICAgICAqIHZp
YnJhdGlvbi9jYW5jZWxWaWJyYXRpb24tYWZ0ZXItcGFnZXZpc2liaWxpdHktY2hhbmdlZC10by1o
aWRkZW4tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHZpYnJhdGlvbi9jYW5jZWxW
aWJyYXRpb24tYWZ0ZXItcGFnZXZpc2liaWxpdHktY2hhbmdlZC10by1oaWRkZW4uaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiB2aWJyYXRpb24vbmF2aWdhdG9yLXZpYnJhdGlvbi1leHBlY3RlZC50
eHQ6CisgICAgICAgICogdmlicmF0aW9uL25hdmlnYXRvci12aWJyYXRpb24uaHRtbDoKKwogMjAx
My0wNy0wMiAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE1MjMxOC4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3ZpYnJhdGlvbi9jYW5jZWxWaWJyYXRpb24tYWZ0ZXItcGFnZXZpc2liaWxpdHktY2hhbmdl
ZC10by1oaWRkZW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvdmlicmF0aW9uL2NhbmNlbFZp
YnJhdGlvbi1hZnRlci1wYWdldmlzaWJpbGl0eS1jaGFuZ2VkLXRvLWhpZGRlbi1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNlOTU0NDU5M2FhOTM3NWNmODNhMmI3
MDlkMmFlNWNlM2ZmMGVkYTYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvdmlicmF0aW9uL2NhbmNlbFZpYnJhdGlvbi1hZnRlci1wYWdl
dmlzaWJpbGl0eS1jaGFuZ2VkLXRvLWhpZGRlbi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSwxMiArMCwwIEBACi1UZXN0cyB0aGUgY2FuY2VsVmlicmF0aW9uIGFmdGVyIGNoYW5naW5n
IHRoZSB2YWx1ZSBvZiBwYWdlVmlzaWJpbGl0eSB0byBoaWRkZW4uCi0KLU9uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KLQotCi1QQVNTIGludGVybmFscy5pc1ZpYnJhdGluZygpIGlzIGZhbHNlCi1Q
QVNTIGludGVybmFscy5pc1ZpYnJhdGluZygpIGlzIHRydWUKLVBBU1MgaW50ZXJuYWxzLmlzVmli
cmF0aW5nKCkgaXMgZmFsc2UKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVT
VCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy92aWJyYXRpb24vY2FuY2VsVmli
cmF0aW9uLWFmdGVyLXBhZ2V2aXNpYmlsaXR5LWNoYW5nZWQtdG8taGlkZGVuLmh0bWwgYi9MYXlv
dXRUZXN0cy92aWJyYXRpb24vY2FuY2VsVmlicmF0aW9uLWFmdGVyLXBhZ2V2aXNpYmlsaXR5LWNo
YW5nZWQtdG8taGlkZGVuLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI1ZjI5
N2VjM2U1OWExNzJhZjIwOTBjOTJhNjhjNjUwM2MzNGMyMGYuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvdmlicmF0aW9uL2NhbmNlbFZp
YnJhdGlvbi1hZnRlci1wYWdldmlzaWJpbGl0eS1jaGFuZ2VkLXRvLWhpZGRlbi5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsMzIgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIu
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keT4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbignVGVzdHMgdGhlIGNhbmNlbFZpYnJhdGlvbiBh
ZnRlciBjaGFuZ2luZyB0aGUgdmFsdWUgb2YgcGFnZVZpc2liaWxpdHkgdG8gaGlkZGVuLicpOwot
Ci12YXIgdmlzaWJpbGl0eVN0YXRlID0gZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlOwotCi1kb2N1
bWVudC5hZGRFdmVudExpc3RlbmVyKCd2aXNpYmlsaXR5Y2hhbmdlJywgZnVuY3Rpb24oZSkgewot
ICAgIGlmIChkb2N1bWVudC52aXNpYmlsaXR5U3RhdGUgPT0gJ2hpZGRlbicpCi0gICAgICAgIG5h
dmlnYXRvci52aWJyYXRlKDApOwotICAgICAgICBzaG91bGRCZUZhbHNlKCdpbnRlcm5hbHMuaXNW
aWJyYXRpbmcoKScpOwotICAgICAgICB0ZXN0UnVubmVyLnNldFBhZ2VWaXNpYmlsaXR5KHZpc2li
aWxpdHlTdGF0ZSk7Ci0gICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgIH0pOwotCi1zaG91bGRC
ZUZhbHNlKCdpbnRlcm5hbHMuaXNWaWJyYXRpbmcoKScpOwotbmF2aWdhdG9yLnZpYnJhdGUoMTAw
MDApOwotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgc2V0VGltZW91dChmdW5jdGlvbigp
IHsKLSAgICAgICAgc2hvdWxkQmVUcnVlKCdpbnRlcm5hbHMuaXNWaWJyYXRpbmcoKScpOwotICAg
ICAgICB0ZXN0UnVubmVyLnNldFBhZ2VWaXNpYmlsaXR5KCdoaWRkZW4nKTsKLSAgICAgICAgfSwg
MCk7Ci19IGVsc2UKLSAgICBkZWJ1ZygnVGhpcyB0ZXN0IGNhbiBub3QgYmUgcnVuIHdpdGhvdXQg
dGhlIFRlc3RSdW5uZXInKTsKLXdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLTwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy92aWJyYXRp
b24vbmF2aWdhdG9yLXZpYnJhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy92aWJyYXRp
b24vbmF2aWdhdG9yLXZpYnJhdGlvbi1leHBlY3RlZC50eHQKaW5kZXggNDc1YmU2OWFjZDgxYWVj
YTgzYWI3NzNhZjliZGI4MGJmYzk3MDk3ZC4uZTdmYzY0MzgyYzA2N2I4NzU3NmEyZGFmZDhhNDRm
YWZlMTc1NTdhNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvdmlicmF0aW9uL25hdmlnYXRvci12
aWJyYXRpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3ZpYnJhdGlvbi9uYXZpZ2F0
b3ItdmlicmF0aW9uLWV4cGVjdGVkLnR4dApAQCAtMywxMiArMywxMyBAQCBUZXN0IGZvciB0aGUg
VmlicmF0aW9uIEFQSS4KIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCi1QQVNTIG5hdmln
YXRvci52aWJyYXRlKDApOyBpcyB1bmRlZmluZWQKLVBBU1MgbmF2aWdhdG9yLnZpYnJhdGUoW10p
OyBpcyB1bmRlZmluZWQKLVBBU1MgbmF2aWdhdG9yLnZpYnJhdGUoMTAwMCk7IGlzIHVuZGVmaW5l
ZAotUEFTUyBuYXZpZ2F0b3IudmlicmF0ZShbMTAwMCwgMzAwLCA1MDBdKTsgaXMgdW5kZWZpbmVk
Ci1QQVNTIG5hdmlnYXRvci52aWJyYXRlKDQyOTQ5NjcyOTUpOyBpcyB1bmRlZmluZWQKK1BBU1Mg
bmF2aWdhdG9yLnZpYnJhdGUoMCk7IGlzIHRydWUKK1BBU1MgbmF2aWdhdG9yLnZpYnJhdGUoW10p
OyBpcyB0cnVlCitQQVNTIG5hdmlnYXRvci52aWJyYXRlKDEpOyBpcyB0cnVlCitQQVNTIG5hdmln
YXRvci52aWJyYXRlKFsxLCAyXSk7IGlzIHRydWUKK1BBU1MgbmF2aWdhdG9yLnZpYnJhdGUoWzEs
IDIsIDNdKTsgaXMgdHJ1ZQogUEFTUyBuYXZpZ2F0b3IudmlicmF0ZSgpOyB0aHJldyBleGNlcHRp
b24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgbmF2aWdhdG9yLnZpYnJh
dGUoWzFdLCBbMl0pOyB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgogUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy92aWJyYXRpb24vbmF2aWdhdG9yLXZpYnJhdGlvbi5odG1sIGIvTGF5b3V0
VGVzdHMvdmlicmF0aW9uL25hdmlnYXRvci12aWJyYXRpb24uaHRtbAppbmRleCA2NTE0ZDg3ZjJj
ZDM3MDY3ZmRkZDdkZTE0OGIxZjRjYzMwZTI4OTIxLi5iMmYxM2U3MTE3YTQyZmM1ODU5YjYyMWUw
ZGEwYTc1ZDAyZmQyOGVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy92aWJyYXRpb24vbmF2aWdh
dG9yLXZpYnJhdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL3ZpYnJhdGlvbi9uYXZpZ2F0b3It
dmlicmF0aW9uLmh0bWwKQEAgLTYsMTIgKzYsMTMgQEAKIDxzY3JpcHQ+CiBkZXNjcmlwdGlvbign
VGVzdCBmb3IgdGhlIFZpYnJhdGlvbiBBUEkuJyk7CiAKLXNob3VsZEJlKCJuYXZpZ2F0b3Iudmli
cmF0ZSgwKTsiLCAidW5kZWZpbmVkIik7Ci1zaG91bGRCZSgibmF2aWdhdG9yLnZpYnJhdGUoW10p
OyIsICJ1bmRlZmluZWQiKTsKLXNob3VsZEJlKCJuYXZpZ2F0b3IudmlicmF0ZSgxMDAwKTsiLCAi
dW5kZWZpbmVkIik7Ci1zaG91bGRCZSgibmF2aWdhdG9yLnZpYnJhdGUoWzEwMDAsIDMwMCwgNTAw
XSk7IiwgInVuZGVmaW5lZCIpOwotc2hvdWxkQmUoIm5hdmlnYXRvci52aWJyYXRlKDQyOTQ5Njcy
OTUpOyIsICJ1bmRlZmluZWQiKTsKK3Nob3VsZEJlVHJ1ZSgibmF2aWdhdG9yLnZpYnJhdGUoMCk7
Iik7CitzaG91bGRCZVRydWUoIm5hdmlnYXRvci52aWJyYXRlKFtdKTsiKTsKK3Nob3VsZEJlVHJ1
ZSgibmF2aWdhdG9yLnZpYnJhdGUoMSk7Iik7CitzaG91bGRCZVRydWUoIm5hdmlnYXRvci52aWJy
YXRlKFsxLCAyXSk7Iik7CitzaG91bGRCZVRydWUoIm5hdmlnYXRvci52aWJyYXRlKFsxLCAyLCAz
XSk7Iik7CiBzaG91bGRUaHJvdygibmF2aWdhdG9yLnZpYnJhdGUoKTsiKTsKK3Nob3VsZFRocm93
KCJuYXZpZ2F0b3IudmlicmF0ZShbMV0sIFsyXSk7Iik7CiA8L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5
Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205981</attachid>
            <date>2013-07-03 02:08:11 -0700</date>
            <delta_ts>2013-07-03 23:49:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118288-20130703180605.patch</filename>
            <type>text/plain</type>
            <size>12299</size>
            <attacher name="Kihong Kwon">kihong.kwon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyMzMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWFjN2M1Njc5ZWJiMjEx
MjYxNTNiODY1NjcwY2QxMGMyZjczMWY0OS4uNmEwZmNkYjY1YjcxODMzOTEyZjA3MDEwYWM0MzVk
OWNhY2YxYWUwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEzLTA3LTAyICBLaWhv
bmcgS3dvbiAgPGtpaG9uZy5rd29uQHNhbXN1bmcuY29tPgorCisgICAgICAgIHZpYnJhdGUgZnVu
Y3Rpb24gaGF2ZSB0byByZXR1cm4gYm9vbGVhbiB2YWx1ZS4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExODI4OAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFjY29yZGluZyB0byBsYXRlc3QgVmlicmF0aW9u
IEFQSSB3aGljaCBpcyBMQywgdmlicmF0ZSgpIG5lZWRzIHRvIHJldHVybgorICAgICAgICBib29s
ZWFuIHZhbHVlIGFuZCBleGNlcHRpb24gY29kZSBpcyByZW1vdmVkIGFsc28uCisgICAgICAgIGh0
dHA6Ly93d3cudzMub3JnL1RSL3ZpYnJhdGlvbi8KKworICAgICAgICBObyBuZXcgdGVzdHMuIHZp
YnJhdGlvbi9uYXZpZ2F0b3ItdmlicmF0aW9uLmh0bWwgaXMgY2hhbmdlZC4KKworICAgICAgICAq
IE1vZHVsZXMvdmlicmF0aW9uL05hdmlnYXRvclZpYnJhdGlvbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpOYXZpZ2F0b3JWaWJyYXRpb246OnZpYnJhdGUpOgorICAgICAgICAqIE1vZHVsZXMvdmli
cmF0aW9uL05hdmlnYXRvclZpYnJhdGlvbi5oOgorICAgICAgICAqIE1vZHVsZXMvdmlicmF0aW9u
L05hdmlnYXRvclZpYnJhdGlvbi5pZGw6CisgICAgICAgICogTW9kdWxlcy92aWJyYXRpb24vVmli
cmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZpYnJhdGlvbjo6dmlicmF0ZSk6CisgICAg
ICAgICogTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmg6CisKIDIwMTMtMDctMDIgIENvbW1p
dCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQs
IHJvbGxpbmcgb3V0IHIxNTIzMTguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3ZpYnJhdGlvbi9OYXZpZ2F0b3JWaWJyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy92aWJyYXRpb24vTmF2aWdhdG9yVmlicmF0aW9uLmNwcAppbmRleCBlMTcwNDcwMWQ5ZWQ5YTQy
OGNlYzExYWNjYmZlNmVjOGQ0MmJkZmJhLi45NmU5N2E5MTVmNTI3MTZhNjBjZWJjOTliMzY0ZTY4
MmZlNjAzMmY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9O
YXZpZ2F0b3JWaWJyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0
aW9uL05hdmlnYXRvclZpYnJhdGlvbi5jcHAKQEAgLTIyLDcgKzIyLDYgQEAKIAogI2lmIEVOQUJM
RShWSUJSQVRJT04pCiAKLSNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiRnJh
bWUuaCIKICNpbmNsdWRlICJOYXZpZ2F0b3IuaCIKICNpbmNsdWRlICJQYWdlLmgiCkBAIC0zOSw0
MCArMzgsMjIgQEAgTmF2aWdhdG9yVmlicmF0aW9uOjp+TmF2aWdhdG9yVmlicmF0aW9uKCkKIHsK
IH0KIAotdm9pZCBOYXZpZ2F0b3JWaWJyYXRpb246OnZpYnJhdGUoTmF2aWdhdG9yKiBuYXZpZ2F0
b3IsIHVuc2lnbmVkIHRpbWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQorYm9vbCBOYXZpZ2F0b3JWaWJy
YXRpb246OnZpYnJhdGUoTmF2aWdhdG9yKiBuYXZpZ2F0b3IsIHVuc2lnbmVkIHRpbWUpCiB7Ci0g
ICAgaWYgKCFuYXZpZ2F0b3ItPmZyYW1lKCktPnBhZ2UoKSkKLSAgICAgICAgcmV0dXJuOwotCi0j
aWYgRU5BQkxFKFBBR0VfVklTSUJJTElUWV9BUEkpCi0gICAgaWYgKG5hdmlnYXRvci0+ZnJhbWUo
KS0+cGFnZSgpLT52aXNpYmlsaXR5U3RhdGUoKSA9PSBQYWdlVmlzaWJpbGl0eVN0YXRlSGlkZGVu
ICYmIHRpbWUpCi0gICAgICAgIHJldHVybjsKLSNlbmRpZgotCi0gICAgaWYgKCFWaWJyYXRpb246
OmlzQWN0aXZlKG5hdmlnYXRvci0+ZnJhbWUoKS0+cGFnZSgpKSkgewotICAgICAgICBlYyA9IE5P
VF9TVVBQT1JURURfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgVmlicmF0aW9u
Ojpmcm9tKG5hdmlnYXRvci0+ZnJhbWUoKS0+cGFnZSgpKS0+dmlicmF0ZSh0aW1lKTsKKyAgICBy
ZXR1cm4gTmF2aWdhdG9yVmlicmF0aW9uOjp2aWJyYXRlKG5hdmlnYXRvciwgVmlicmF0aW9uUGF0
dGVybih0aW1lKSk7CiB9CiAKLXZvaWQgTmF2aWdhdG9yVmlicmF0aW9uOjp2aWJyYXRlKE5hdmln
YXRvciogbmF2aWdhdG9yLCBjb25zdCBWaWJyYXRpb25QYXR0ZXJuJiBwYXR0ZXJuLCBFeGNlcHRp
b25Db2RlJiBlYykKK2Jvb2wgTmF2aWdhdG9yVmlicmF0aW9uOjp2aWJyYXRlKE5hdmlnYXRvciog
bmF2aWdhdG9yLCBjb25zdCBWaWJyYXRpb25QYXR0ZXJuJiBwYXR0ZXJuKQogewogICAgIGlmICgh
bmF2aWdhdG9yLT5mcmFtZSgpLT5wYWdlKCkpCi0gICAgICAgIHJldHVybjsKKyAgICAgICAgcmV0
dXJuIGZhbHNlOwogCiAjaWYgRU5BQkxFKFBBR0VfVklTSUJJTElUWV9BUEkpCiAgICAgaWYgKG5h
dmlnYXRvci0+ZnJhbWUoKS0+cGFnZSgpLT52aXNpYmlsaXR5U3RhdGUoKSA9PSBQYWdlVmlzaWJp
bGl0eVN0YXRlSGlkZGVuKQotICAgICAgICByZXR1cm47CisgICAgICAgIHJldHVybiBmYWxzZTsK
ICNlbmRpZgogCi0gICAgaWYgKCFWaWJyYXRpb246OmlzQWN0aXZlKG5hdmlnYXRvci0+ZnJhbWUo
KS0+cGFnZSgpKSkgewotICAgICAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOwotICAgICAgICBy
ZXR1cm47Ci0gICAgfQotCi0gICAgVmlicmF0aW9uOjpmcm9tKG5hdmlnYXRvci0+ZnJhbWUoKS0+
cGFnZSgpKS0+dmlicmF0ZShwYXR0ZXJuKTsKKyAgICByZXR1cm4gVmlicmF0aW9uOjpmcm9tKG5h
dmlnYXRvci0+ZnJhbWUoKS0+cGFnZSgpKS0+dmlicmF0ZShwYXR0ZXJuKTsKIH0KIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJy
YXRpb24vTmF2aWdhdG9yVmlicmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJh
dGlvbi9OYXZpZ2F0b3JWaWJyYXRpb24uaAppbmRleCAxM2YwYjJiNTExZGUyNjdiYTg3NzRmOGVl
MzQ2MmU0MzA5NGRkOTk3Li41OTkzNDRjNjRjZDY1ZTZkMTEyNDZlNTEzZTk1M2JhNDRlMTQwY2Ji
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9OYXZpZ2F0b3JW
aWJyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9OYXZpZ2F0
b3JWaWJyYXRpb24uaApAQCAtMzQsMTIgKzM0LDEzIEBAIGNsYXNzIE5hdmlnYXRvclZpYnJhdGlv
biB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBWZWN0b3I8dW5zaWduZWQ+IFZpYnJhdGlvblBhdHRl
cm47CiAKLSAgICBzdGF0aWMgdm9pZCB2aWJyYXRlKE5hdmlnYXRvciosIHVuc2lnbmVkIHRpbWUs
IEV4Y2VwdGlvbkNvZGUmKTsKLSAgICBzdGF0aWMgdm9pZCB2aWJyYXRlKE5hdmlnYXRvciosIGNv
bnN0IFZpYnJhdGlvblBhdHRlcm4mLCBFeGNlcHRpb25Db2RlJik7CisgICAgfk5hdmlnYXRvclZp
YnJhdGlvbigpOworCisgICAgc3RhdGljIGJvb2wgdmlicmF0ZShOYXZpZ2F0b3IqLCB1bnNpZ25l
ZCB0aW1lKTsKKyAgICBzdGF0aWMgYm9vbCB2aWJyYXRlKE5hdmlnYXRvciosIGNvbnN0IFZpYnJh
dGlvblBhdHRlcm4mKTsKIAogcHJpdmF0ZToKICAgICBOYXZpZ2F0b3JWaWJyYXRpb24oKTsKLSAg
ICB+TmF2aWdhdG9yVmlicmF0aW9uKCk7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9OYXZpZ2F0b3JWaWJy
YXRpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vTmF2aWdhdG9yVmli
cmF0aW9uLmlkbAppbmRleCAwOWVmMzhlYjU1YTQxMDc3MDdjMGMyZjU0NDVkNzk5ZDUzYmRlOGE3
Li45MjE1MDE0OWZlOTFjNmJmNDdkZDg0NTcxZTdmNDczNDVhNDA2MGFiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9OYXZpZ2F0b3JWaWJyYXRpb24uaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL05hdmlnYXRvclZpYnJhdGlvbi5p
ZGwKQEAgLTIwLDcgKzIwLDcgQEAKIFsKICAgICBDb25kaXRpb25hbD1WSUJSQVRJT04sCiBdIHBh
cnRpYWwgaW50ZXJmYWNlIE5hdmlnYXRvciB7Ci0gICAgW1JhaXNlc0V4Y2VwdGlvbl0gdm9pZCB2
aWJyYXRlKHNlcXVlbmNlPHVuc2lnbmVkIGxvbmc+IHBhdHRlcm4pOwotICAgIFtSYWlzZXNFeGNl
cHRpb25dIHZvaWQgdmlicmF0ZSh1bnNpZ25lZCBsb25nIHRpbWUpOworICAgIGJvb2xlYW4gdmli
cmF0ZShzZXF1ZW5jZTx1bnNpZ25lZCBsb25nPiBwYXR0ZXJuKTsKKyAgICBib29sZWFuIHZpYnJh
dGUodW5zaWduZWQgbG9uZyB0aW1lKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3ZpYnJhdGlvbi9WaWJyYXRpb24uY3BwCmluZGV4IGQ2NzUzNWVkZWRhMGIyOTY4NWQ5NWQ4YjU2
MzIyYzkyYjRhOThkZjkuLmUwMzVmYjdlYzUyYjY1YWI0MmM3YmVmZTlmNGI5MzhjYTZhMzE2NGUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmNwcApA
QCAtNDQsMzYgKzQ0LDI1IEBAIFBhc3NPd25QdHI8VmlicmF0aW9uPiBWaWJyYXRpb246OmNyZWF0
ZShWaWJyYXRpb25DbGllbnQqIGNsaWVudCkKICAgICByZXR1cm4gYWRvcHRQdHIobmV3IFZpYnJh
dGlvbihjbGllbnQpKTsKIH0KIAotdm9pZCBWaWJyYXRpb246OnZpYnJhdGUoY29uc3QgdW5zaWdu
ZWQmIHRpbWUpCitib29sIFZpYnJhdGlvbjo6dmlicmF0ZShjb25zdCBWaWJyYXRpb25QYXR0ZXJu
JiBwYXR0ZXJuKQogewotICAgIGlmICghdGltZSkgewotICAgICAgICBjYW5jZWxWaWJyYXRpb24o
KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBtX3BhdHRlcm4uYXBwZW5kKHRpbWUpOwot
ICAgIG1fdGltZXJTdGFydC5zdGFydE9uZVNob3QoMCk7Ci0gICAgbV9pc1ZpYnJhdGluZyA9IHRy
dWU7Ci19Ci0KLXZvaWQgVmlicmF0aW9uOjp2aWJyYXRlKGNvbnN0IFZpYnJhdGlvblBhdHRlcm4m
IHBhdHRlcm4pCi17Ci0gICAgaW50IGxlbmd0aCA9IHBhdHRlcm4uc2l6ZSgpOworICAgIHNpemVf
dCBsZW5ndGggPSBwYXR0ZXJuLnNpemUoKTsKIAotICAgIC8vIENhbmNlbCB0aGUgcHJlLWV4aXN0
aW5nIGluc3RhbmNlIG9mIHZpYnJhdGlvbiBwYXR0ZXJucywgaWYgdGhlIHBhdHRlcm4gaXMgMCBv
ciBhbiBlbXB0eSBsaXN0LgotICAgIGlmICghbGVuZ3RoIHx8IChsZW5ndGggPT0gMSAmJiAhcGF0
dGVyblswXSkpIHsKLSAgICAgICAgY2FuY2VsVmlicmF0aW9uKCk7Ci0gICAgICAgIHJldHVybjsK
LSAgICB9CisgICAgbV9wYXR0ZXJuID0gcGF0dGVybjsKKyAgICBpZiAobGVuZ3RoICYmICEobGVu
Z3RoICUgMikpCisgICAgICAgIG1fcGF0dGVybi5yZW1vdmVMYXN0KCk7CiAKLSAgICBpZiAobV9p
c1ZpYnJhdGluZykKKyAgICAvLyBQcmUtZXhzaXRpbmcgaW5zdGFuY2UgbmVlZCB0byBiZSBjYW5j
ZWxlZCB3aGVuIHZpYnJhdGlvbiBpcyBjYWxsZWQuCisgICAgLy8gQW5kIGlmIHRpbWUgaXMgMCwg
dmlicmF0aW9uIGhhdmUgdG8gYmUgY2FuY2VsZWQgYWxzby4KKyAgICBpZiAobV9pc1ZpYnJhdGlu
ZyB8fCAobV9wYXR0ZXJuLnNpemUoKSA9PSAxICYmICFtX3BhdHRlcm5bMF0pKQogICAgICAgICBj
YW5jZWxWaWJyYXRpb24oKTsKIAotICAgIGlmIChtX3RpbWVyU3RhcnQuaXNBY3RpdmUoKSkKLSAg
ICAgICAgbV90aW1lclN0YXJ0LnN0b3AoKTsKKyAgICBpZiAoIW1fcGF0dGVybi5zaXplKCkpCisg
ICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgbV9wYXR0ZXJuID0gcGF0dGVybjsKICAgICBtX3Rp
bWVyU3RhcnQuc3RhcnRPbmVTaG90KDApOwogICAgIG1faXNWaWJyYXRpbmcgPSB0cnVlOworICAg
IHJldHVybiB0cnVlOwogfQogCiB2b2lkIFZpYnJhdGlvbjo6Y2FuY2VsVmlicmF0aW9uKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmgKaW5kZXggNThmZjQy
MTBlZTM4MjM3MjUxY2QyMzMxMGM4ZTRhM2I2MGM0ZmVmNi4uYzBiZTU3NGI5ZDViMjEzOTkwOWFk
OTU5NDc1OTBlMzVlMzJjNmJmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92
aWJyYXRpb24vVmlicmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRp
b24vVmlicmF0aW9uLmgKQEAgLTM5LDggKzM5LDcgQEAgcHVibGljOgogCiAgICAgc3RhdGljIFBh
c3NPd25QdHI8VmlicmF0aW9uPiBjcmVhdGUoVmlicmF0aW9uQ2xpZW50Kik7CiAKLSAgICB2b2lk
IHZpYnJhdGUoY29uc3QgdW5zaWduZWQmIHRpbWUpOwotICAgIHZvaWQgdmlicmF0ZShjb25zdCBW
aWJyYXRpb25QYXR0ZXJuJik7CisgICAgYm9vbCB2aWJyYXRlKGNvbnN0IFZpYnJhdGlvblBhdHRl
cm4mKTsKICAgICB2b2lkIGNhbmNlbFZpYnJhdGlvbigpOwogCiAgICAgLy8gRklYTUUgOiBBZGQg
c3VzcGVuZFZpYnJhdGlvbigpIGFuZCByZXN1bWVWaWJyYXRpb24oKSB0byB0aGUgcGFnZSB2aXNp
YmlsaXR5IGZlYXR1cmUsIHdoZW4gdGhlIGRvY3VtZW50LmhpZGRlbiBhdHRyaWJ1dGUgaXMgY2hh
bmdlZC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCA0ZWQ1YWRiYjUzZDg4Y2ExYWQ3Mjg3ZWExYjQ0NDM4MzAzZjQwYWZlLi5j
MDUyOTcwYzE4NTkxNzNiZGZmN2U0N2Q0ZGE2ZDhlZTJiYWZiOTVlIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTkgQEAKKzIwMTMtMDctMDIgIEtpaG9uZyBLd29uICA8a2lob25nLmt3b25Ac2Ftc3VuZy5jb20+
CisKKyAgICAgICAgdmlicmF0ZSBmdW5jdGlvbiBoYXZlIHRvIHJldHVybiBib29sZWFuIHZhbHVl
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4Mjg4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWNjb3Jk
aW5nIHRvIGxhdGVzdCBWaWJyYXRpb24gQVBJIHNwZWMuCisgICAgICAgIGNhbmNlbFZpYnJhdGlv
bi1hZnRlci1wYWdldmlzaWJpbGl0eS1jaGFuZ2VkLXRvLWhpZGRlbi5odG1sIGlzIG5vdCBwcm9w
ZXIuCisgICAgICAgIEFuZCBuYXZpZ2F0b3ItdmlicmF0aW9uLmh0bWwgbmVlZHMgdG8gYmUgY2hh
bmdlZCB0byBhbGlnbiB0byB0aGUgc3BlYy4KKworICAgICAgICAqIHZpYnJhdGlvbi9jYW5jZWxW
aWJyYXRpb24tYWZ0ZXItcGFnZXZpc2liaWxpdHktY2hhbmdlZC10by1oaWRkZW4tZXhwZWN0ZWQu
dHh0OiBSZW1vdmVkLgorICAgICAgICAqIHZpYnJhdGlvbi9jYW5jZWxWaWJyYXRpb24tYWZ0ZXIt
cGFnZXZpc2liaWxpdHktY2hhbmdlZC10by1oaWRkZW4uaHRtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiB2aWJyYXRpb24vbmF2aWdhdG9yLXZpYnJhdGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICog
dmlicmF0aW9uL25hdmlnYXRvci12aWJyYXRpb24uaHRtbDoKKwogMjAxMy0wNy0wMiAgQ29tbWl0
IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwg
cm9sbGluZyBvdXQgcjE1MjMxOC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3ZpYnJhdGlvbi9j
YW5jZWxWaWJyYXRpb24tYWZ0ZXItcGFnZXZpc2liaWxpdHktY2hhbmdlZC10by1oaWRkZW4tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvdmlicmF0aW9uL2NhbmNlbFZpYnJhdGlvbi1hZnRlci1w
YWdldmlzaWJpbGl0eS1jaGFuZ2VkLXRvLWhpZGRlbi1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDNlOTU0NDU5M2FhOTM3NWNmODNhMmI3MDlkMmFlNWNlM2ZmMGVk
YTYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvdmlicmF0aW9uL2NhbmNlbFZpYnJhdGlvbi1hZnRlci1wYWdldmlzaWJpbGl0eS1jaGFu
Z2VkLXRvLWhpZGRlbi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBA
Ci1UZXN0cyB0aGUgY2FuY2VsVmlicmF0aW9uIGFmdGVyIGNoYW5naW5nIHRoZSB2YWx1ZSBvZiBw
YWdlVmlzaWJpbGl0eSB0byBoaWRkZW4uCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQot
Ci1QQVNTIGludGVybmFscy5pc1ZpYnJhdGluZygpIGlzIGZhbHNlCi1QQVNTIGludGVybmFscy5p
c1ZpYnJhdGluZygpIGlzIHRydWUKLVBBU1MgaW50ZXJuYWxzLmlzVmlicmF0aW5nKCkgaXMgZmFs
c2UKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy92aWJyYXRpb24vY2FuY2VsVmlicmF0aW9uLWFmdGVyLXBh
Z2V2aXNpYmlsaXR5LWNoYW5nZWQtdG8taGlkZGVuLmh0bWwgYi9MYXlvdXRUZXN0cy92aWJyYXRp
b24vY2FuY2VsVmlicmF0aW9uLWFmdGVyLXBhZ2V2aXNpYmlsaXR5LWNoYW5nZWQtdG8taGlkZGVu
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI1ZjI5N2VjM2U1OWExNzJhZjIw
OTBjOTJhNjhjNjUwM2MzNGMyMGYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvdmlicmF0aW9uL2NhbmNlbFZpYnJhdGlvbi1hZnRlci1w
YWdldmlzaWJpbGl0eS1jaGFuZ2VkLXRvLWhpZGRlbi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
MzIgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+
Ci1kZXNjcmlwdGlvbignVGVzdHMgdGhlIGNhbmNlbFZpYnJhdGlvbiBhZnRlciBjaGFuZ2luZyB0
aGUgdmFsdWUgb2YgcGFnZVZpc2liaWxpdHkgdG8gaGlkZGVuLicpOwotCi12YXIgdmlzaWJpbGl0
eVN0YXRlID0gZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlOwotCi1kb2N1bWVudC5hZGRFdmVudExp
c3RlbmVyKCd2aXNpYmlsaXR5Y2hhbmdlJywgZnVuY3Rpb24oZSkgewotICAgIGlmIChkb2N1bWVu
dC52aXNpYmlsaXR5U3RhdGUgPT0gJ2hpZGRlbicpCi0gICAgICAgIG5hdmlnYXRvci52aWJyYXRl
KDApOwotICAgICAgICBzaG91bGRCZUZhbHNlKCdpbnRlcm5hbHMuaXNWaWJyYXRpbmcoKScpOwot
ICAgICAgICB0ZXN0UnVubmVyLnNldFBhZ2VWaXNpYmlsaXR5KHZpc2liaWxpdHlTdGF0ZSk7Ci0g
ICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgIH0pOwotCi1zaG91bGRCZUZhbHNlKCdpbnRlcm5h
bHMuaXNWaWJyYXRpbmcoKScpOwotbmF2aWdhdG9yLnZpYnJhdGUoMTAwMDApOwotaWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7Ci0gICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgICAgc2hv
dWxkQmVUcnVlKCdpbnRlcm5hbHMuaXNWaWJyYXRpbmcoKScpOwotICAgICAgICB0ZXN0UnVubmVy
LnNldFBhZ2VWaXNpYmlsaXR5KCdoaWRkZW4nKTsKLSAgICAgICAgfSwgMCk7Ci19IGVsc2UKLSAg
ICBkZWJ1ZygnVGhpcyB0ZXN0IGNhbiBub3QgYmUgcnVuIHdpdGhvdXQgdGhlIFRlc3RSdW5uZXIn
KTsKLXdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy92aWJyYXRpb24vbmF2aWdhdG9yLXZp
YnJhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy92aWJyYXRpb24vbmF2aWdhdG9yLXZp
YnJhdGlvbi1leHBlY3RlZC50eHQKaW5kZXggNDc1YmU2OWFjZDgxYWVjYTgzYWI3NzNhZjliZGI4
MGJmYzk3MDk3ZC4uZTdmYzY0MzgyYzA2N2I4NzU3NmEyZGFmZDhhNDRmYWZlMTc1NTdhNSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvdmlicmF0aW9uL25hdmlnYXRvci12aWJyYXRpb24tZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3ZpYnJhdGlvbi9uYXZpZ2F0b3ItdmlicmF0aW9uLWV4
cGVjdGVkLnR4dApAQCAtMywxMiArMywxMyBAQCBUZXN0IGZvciB0aGUgVmlicmF0aW9uIEFQSS4K
IE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCi1QQVNTIG5hdmlnYXRvci52aWJyYXRlKDAp
OyBpcyB1bmRlZmluZWQKLVBBU1MgbmF2aWdhdG9yLnZpYnJhdGUoW10pOyBpcyB1bmRlZmluZWQK
LVBBU1MgbmF2aWdhdG9yLnZpYnJhdGUoMTAwMCk7IGlzIHVuZGVmaW5lZAotUEFTUyBuYXZpZ2F0
b3IudmlicmF0ZShbMTAwMCwgMzAwLCA1MDBdKTsgaXMgdW5kZWZpbmVkCi1QQVNTIG5hdmlnYXRv
ci52aWJyYXRlKDQyOTQ5NjcyOTUpOyBpcyB1bmRlZmluZWQKK1BBU1MgbmF2aWdhdG9yLnZpYnJh
dGUoMCk7IGlzIHRydWUKK1BBU1MgbmF2aWdhdG9yLnZpYnJhdGUoW10pOyBpcyB0cnVlCitQQVNT
IG5hdmlnYXRvci52aWJyYXRlKDEpOyBpcyB0cnVlCitQQVNTIG5hdmlnYXRvci52aWJyYXRlKFsx
LCAyXSk7IGlzIHRydWUKK1BBU1MgbmF2aWdhdG9yLnZpYnJhdGUoWzEsIDIsIDNdKTsgaXMgdHJ1
ZQogUEFTUyBuYXZpZ2F0b3IudmlicmF0ZSgpOyB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBO
b3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgbmF2aWdhdG9yLnZpYnJhdGUoWzFdLCBbMl0pOyB0
aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgogUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy92
aWJyYXRpb24vbmF2aWdhdG9yLXZpYnJhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvdmlicmF0aW9u
L25hdmlnYXRvci12aWJyYXRpb24uaHRtbAppbmRleCA2NTE0ZDg3ZjJjZDM3MDY3ZmRkZDdkZTE0
OGIxZjRjYzMwZTI4OTIxLi5iMmYxM2U3MTE3YTQyZmM1ODU5YjYyMWUwZGEwYTc1ZDAyZmQyOGVk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy92aWJyYXRpb24vbmF2aWdhdG9yLXZpYnJhdGlvbi5o
dG1sCisrKyBiL0xheW91dFRlc3RzL3ZpYnJhdGlvbi9uYXZpZ2F0b3ItdmlicmF0aW9uLmh0bWwK
QEAgLTYsMTIgKzYsMTMgQEAKIDxzY3JpcHQ+CiBkZXNjcmlwdGlvbignVGVzdCBmb3IgdGhlIFZp
YnJhdGlvbiBBUEkuJyk7CiAKLXNob3VsZEJlKCJuYXZpZ2F0b3IudmlicmF0ZSgwKTsiLCAidW5k
ZWZpbmVkIik7Ci1zaG91bGRCZSgibmF2aWdhdG9yLnZpYnJhdGUoW10pOyIsICJ1bmRlZmluZWQi
KTsKLXNob3VsZEJlKCJuYXZpZ2F0b3IudmlicmF0ZSgxMDAwKTsiLCAidW5kZWZpbmVkIik7Ci1z
aG91bGRCZSgibmF2aWdhdG9yLnZpYnJhdGUoWzEwMDAsIDMwMCwgNTAwXSk7IiwgInVuZGVmaW5l
ZCIpOwotc2hvdWxkQmUoIm5hdmlnYXRvci52aWJyYXRlKDQyOTQ5NjcyOTUpOyIsICJ1bmRlZmlu
ZWQiKTsKK3Nob3VsZEJlVHJ1ZSgibmF2aWdhdG9yLnZpYnJhdGUoMCk7Iik7CitzaG91bGRCZVRy
dWUoIm5hdmlnYXRvci52aWJyYXRlKFtdKTsiKTsKK3Nob3VsZEJlVHJ1ZSgibmF2aWdhdG9yLnZp
YnJhdGUoMSk7Iik7CitzaG91bGRCZVRydWUoIm5hdmlnYXRvci52aWJyYXRlKFsxLCAyXSk7Iik7
CitzaG91bGRCZVRydWUoIm5hdmlnYXRvci52aWJyYXRlKFsxLCAyLCAzXSk7Iik7CiBzaG91bGRU
aHJvdygibmF2aWdhdG9yLnZpYnJhdGUoKTsiKTsKK3Nob3VsZFRocm93KCJuYXZpZ2F0b3Iudmli
cmF0ZShbMV0sIFsyXSk7Iik7CiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206054</attachid>
            <date>2013-07-03 23:49:07 -0700</date>
            <delta_ts>2013-07-08 00:40:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118288-20130704154700.patch</filename>
            <type>text/plain</type>
            <size>10853</size>
            <attacher name="Kihong Kwon">kihong.kwon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyMzg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGE2ZTBhY2UyMWVmZTFh
YzFlNWY4OTEwZTBmNjY5NjgzMGEwNDViMC4uZGZiZDVmZDM2NDJkNmVhMzcwNzRjYmFlYzg0MDQ5
YWM4ODM0MzdhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEzLTA3LTAzICBLaWhv
bmcgS3dvbiAgPGtpaG9uZy5rd29uQHNhbXN1bmcuY29tPgorCisgICAgICAgIHZpYnJhdGUgZnVu
Y3Rpb24gaGF2ZSB0byByZXR1cm4gYm9vbGVhbiB2YWx1ZS4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExODI4OAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFjY29yZGluZyB0byBsYXRlc3QgVmlicmF0aW9u
IEFQSSB3aGljaCBpcyBMQywgdmlicmF0ZSgpIG5lZWRzIHRvIHJldHVybiBib29sZWFuIHZhbHVl
CisgICAgICAgIGFuZCBleGNlcHRpb24gY29kZSBpcyByZW1vdmVkIGFsc28uIEluIGFkZGl0aW9u
LCByZW1vdmUgY29uZGl0aW9uIGZvciBjYW5jZWxpbmcgdmlicmF0aW9uCisgICAgICAgIGNhbiBi
ZSBjYWxsZWQgd2hlbiB2aXNpYmlsaXR5IHN0YXRlIGlzIGhpZGRlbi4KKyAgICAgICAgaHR0cDov
L3d3dy53My5vcmcvVFIvdmlicmF0aW9uLworCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gdmlicmF0
aW9uL25hdmlnYXRvci12aWJyYXRpb24uaHRtbCBpcyBjaGFuZ2VkLgorCisgICAgICAgICogTW9k
dWxlcy92aWJyYXRpb24vTmF2aWdhdG9yVmlicmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Ok5hdmlnYXRvclZpYnJhdGlvbjo6dmlicmF0ZSk6CisgICAgICAgICogTW9kdWxlcy92aWJyYXRp
b24vTmF2aWdhdG9yVmlicmF0aW9uLmg6CisgICAgICAgICogTW9kdWxlcy92aWJyYXRpb24vTmF2
aWdhdG9yVmlicmF0aW9uLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRp
b24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VmlicmF0aW9uOjp2aWJyYXRlKToKKyAgICAgICAg
KiBNb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRpb24uaDoKKwogMjAxMy0wNy0wMyAgQ2hyaXMgRmxl
aXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBJdGVtcyB0aGUgaW1n
IGFyaWEgcm9sZSBhcmVuJ3QgaW5zZXJ0aW5nIGFuIG9iamVjdCByZXBsYWNlbWVudCBjaGFyYWN0
ZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL05hdmlnYXRv
clZpYnJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9OYXZpZ2F0
b3JWaWJyYXRpb24uY3BwCmluZGV4IGUxNzA0NzAxZDllZDlhNDI4Y2VjMTFhY2NiZmU2ZWM4ZDQy
YmRmYmEuLjk2ZTk3YTkxNWY1MjcxNmE2MGNlYmM5OWIzNjRlNjgyZmU2MDMyZjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL05hdmlnYXRvclZpYnJhdGlvbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vTmF2aWdhdG9yVmlicmF0
aW9uLmNwcApAQCAtMjIsNyArMjIsNiBAQAogCiAjaWYgRU5BQkxFKFZJQlJBVElPTikKIAotI2lu
Y2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIk5h
dmlnYXRvci5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKQEAgLTM5LDQwICszOCwyMiBAQCBOYXZpZ2F0
b3JWaWJyYXRpb246On5OYXZpZ2F0b3JWaWJyYXRpb24oKQogewogfQogCi12b2lkIE5hdmlnYXRv
clZpYnJhdGlvbjo6dmlicmF0ZShOYXZpZ2F0b3IqIG5hdmlnYXRvciwgdW5zaWduZWQgdGltZSwg
RXhjZXB0aW9uQ29kZSYgZWMpCitib29sIE5hdmlnYXRvclZpYnJhdGlvbjo6dmlicmF0ZShOYXZp
Z2F0b3IqIG5hdmlnYXRvciwgdW5zaWduZWQgdGltZSkKIHsKLSAgICBpZiAoIW5hdmlnYXRvci0+
ZnJhbWUoKS0+cGFnZSgpKQotICAgICAgICByZXR1cm47Ci0KLSNpZiBFTkFCTEUoUEFHRV9WSVNJ
QklMSVRZX0FQSSkKLSAgICBpZiAobmF2aWdhdG9yLT5mcmFtZSgpLT5wYWdlKCktPnZpc2liaWxp
dHlTdGF0ZSgpID09IFBhZ2VWaXNpYmlsaXR5U3RhdGVIaWRkZW4gJiYgdGltZSkKLSAgICAgICAg
cmV0dXJuOwotI2VuZGlmCi0KLSAgICBpZiAoIVZpYnJhdGlvbjo6aXNBY3RpdmUobmF2aWdhdG9y
LT5mcmFtZSgpLT5wYWdlKCkpKSB7Ci0gICAgICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBWaWJyYXRpb246OmZyb20obmF2aWdhdG9yLT5m
cmFtZSgpLT5wYWdlKCkpLT52aWJyYXRlKHRpbWUpOworICAgIHJldHVybiBOYXZpZ2F0b3JWaWJy
YXRpb246OnZpYnJhdGUobmF2aWdhdG9yLCBWaWJyYXRpb25QYXR0ZXJuKHRpbWUpKTsKIH0KIAot
dm9pZCBOYXZpZ2F0b3JWaWJyYXRpb246OnZpYnJhdGUoTmF2aWdhdG9yKiBuYXZpZ2F0b3IsIGNv
bnN0IFZpYnJhdGlvblBhdHRlcm4mIHBhdHRlcm4sIEV4Y2VwdGlvbkNvZGUmIGVjKQorYm9vbCBO
YXZpZ2F0b3JWaWJyYXRpb246OnZpYnJhdGUoTmF2aWdhdG9yKiBuYXZpZ2F0b3IsIGNvbnN0IFZp
YnJhdGlvblBhdHRlcm4mIHBhdHRlcm4pCiB7CiAgICAgaWYgKCFuYXZpZ2F0b3ItPmZyYW1lKCkt
PnBhZ2UoKSkKLSAgICAgICAgcmV0dXJuOworICAgICAgICByZXR1cm4gZmFsc2U7CiAKICNpZiBF
TkFCTEUoUEFHRV9WSVNJQklMSVRZX0FQSSkKICAgICBpZiAobmF2aWdhdG9yLT5mcmFtZSgpLT5w
YWdlKCktPnZpc2liaWxpdHlTdGF0ZSgpID09IFBhZ2VWaXNpYmlsaXR5U3RhdGVIaWRkZW4pCi0g
ICAgICAgIHJldHVybjsKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCiAKLSAgICBpZiAo
IVZpYnJhdGlvbjo6aXNBY3RpdmUobmF2aWdhdG9yLT5mcmFtZSgpLT5wYWdlKCkpKSB7Ci0gICAg
ICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAg
ICBWaWJyYXRpb246OmZyb20obmF2aWdhdG9yLT5mcmFtZSgpLT5wYWdlKCkpLT52aWJyYXRlKHBh
dHRlcm4pOworICAgIHJldHVybiBWaWJyYXRpb246OmZyb20obmF2aWdhdG9yLT5mcmFtZSgpLT5w
YWdlKCkpLT52aWJyYXRlKHBhdHRlcm4pOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9OYXZpZ2F0b3JWaWJy
YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL05hdmlnYXRvclZpYnJh
dGlvbi5oCmluZGV4IDEzZjBiMmI1MTFkZTI2N2JhODc3NGY4ZWUzNDYyZTQzMDk0ZGQ5OTcuLjU5
OTM0NGM2NGNkNjVlNmQxMTI0NmU1MTNlOTUzYmE0NGUxNDBjYmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL05hdmlnYXRvclZpYnJhdGlvbi5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL05hdmlnYXRvclZpYnJhdGlvbi5oCkBAIC0z
NCwxMiArMzQsMTMgQEAgY2xhc3MgTmF2aWdhdG9yVmlicmF0aW9uIHsKIHB1YmxpYzoKICAgICB0
eXBlZGVmIFZlY3Rvcjx1bnNpZ25lZD4gVmlicmF0aW9uUGF0dGVybjsKIAotICAgIHN0YXRpYyB2
b2lkIHZpYnJhdGUoTmF2aWdhdG9yKiwgdW5zaWduZWQgdGltZSwgRXhjZXB0aW9uQ29kZSYpOwot
ICAgIHN0YXRpYyB2b2lkIHZpYnJhdGUoTmF2aWdhdG9yKiwgY29uc3QgVmlicmF0aW9uUGF0dGVy
biYsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB+TmF2aWdhdG9yVmlicmF0aW9uKCk7CisKKyAgICBz
dGF0aWMgYm9vbCB2aWJyYXRlKE5hdmlnYXRvciosIHVuc2lnbmVkIHRpbWUpOworICAgIHN0YXRp
YyBib29sIHZpYnJhdGUoTmF2aWdhdG9yKiwgY29uc3QgVmlicmF0aW9uUGF0dGVybiYpOwogCiBw
cml2YXRlOgogICAgIE5hdmlnYXRvclZpYnJhdGlvbigpOwotICAgIH5OYXZpZ2F0b3JWaWJyYXRp
b24oKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL05hdmlnYXRvclZpYnJhdGlvbi5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9OYXZpZ2F0b3JWaWJyYXRpb24uaWRsCmluZGV4IDA5
ZWYzOGViNTVhNDEwNzcwN2MwYzJmNTQ0NWQ3OTlkNTNiZGU4YTcuLjkyMTUwMTQ5ZmU5MWM2YmY0
N2RkODQ1NzFlN2Y0NzM0NWE0MDYwYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvdmlicmF0aW9uL05hdmlnYXRvclZpYnJhdGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy92aWJyYXRpb24vTmF2aWdhdG9yVmlicmF0aW9uLmlkbApAQCAtMjAsNyArMjAsNyBA
QAogWwogICAgIENvbmRpdGlvbmFsPVZJQlJBVElPTiwKIF0gcGFydGlhbCBpbnRlcmZhY2UgTmF2
aWdhdG9yIHsKLSAgICBbUmFpc2VzRXhjZXB0aW9uXSB2b2lkIHZpYnJhdGUoc2VxdWVuY2U8dW5z
aWduZWQgbG9uZz4gcGF0dGVybik7Ci0gICAgW1JhaXNlc0V4Y2VwdGlvbl0gdm9pZCB2aWJyYXRl
KHVuc2lnbmVkIGxvbmcgdGltZSk7CisgICAgYm9vbGVhbiB2aWJyYXRlKHNlcXVlbmNlPHVuc2ln
bmVkIGxvbmc+IHBhdHRlcm4pOworICAgIGJvb2xlYW4gdmlicmF0ZSh1bnNpZ25lZCBsb25nIHRp
bWUpOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24v
VmlicmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlv
bi5jcHAKaW5kZXggZDY3NTM1ZWRlZGEwYjI5Njg1ZDk1ZDhiNTYzMjJjOTJiNGE5OGRmOS4uZTAz
NWZiN2VjNTJiNjVhYjQyYzdiZWZlOWY0YjkzOGNhNmEzMTY0ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRpb24uY3BwCkBAIC00NCwzNiArNDQsMjUgQEAg
UGFzc093blB0cjxWaWJyYXRpb24+IFZpYnJhdGlvbjo6Y3JlYXRlKFZpYnJhdGlvbkNsaWVudCog
Y2xpZW50KQogICAgIHJldHVybiBhZG9wdFB0cihuZXcgVmlicmF0aW9uKGNsaWVudCkpOwogfQog
Ci12b2lkIFZpYnJhdGlvbjo6dmlicmF0ZShjb25zdCB1bnNpZ25lZCYgdGltZSkKK2Jvb2wgVmli
cmF0aW9uOjp2aWJyYXRlKGNvbnN0IFZpYnJhdGlvblBhdHRlcm4mIHBhdHRlcm4pCiB7Ci0gICAg
aWYgKCF0aW1lKSB7Ci0gICAgICAgIGNhbmNlbFZpYnJhdGlvbigpOwotICAgICAgICByZXR1cm47
Ci0gICAgfQotICAgIG1fcGF0dGVybi5hcHBlbmQodGltZSk7Ci0gICAgbV90aW1lclN0YXJ0LnN0
YXJ0T25lU2hvdCgwKTsKLSAgICBtX2lzVmlicmF0aW5nID0gdHJ1ZTsKLX0KLQotdm9pZCBWaWJy
YXRpb246OnZpYnJhdGUoY29uc3QgVmlicmF0aW9uUGF0dGVybiYgcGF0dGVybikKLXsKLSAgICBp
bnQgbGVuZ3RoID0gcGF0dGVybi5zaXplKCk7CisgICAgc2l6ZV90IGxlbmd0aCA9IHBhdHRlcm4u
c2l6ZSgpOwogCi0gICAgLy8gQ2FuY2VsIHRoZSBwcmUtZXhpc3RpbmcgaW5zdGFuY2Ugb2Ygdmli
cmF0aW9uIHBhdHRlcm5zLCBpZiB0aGUgcGF0dGVybiBpcyAwIG9yIGFuIGVtcHR5IGxpc3QuCi0g
ICAgaWYgKCFsZW5ndGggfHwgKGxlbmd0aCA9PSAxICYmICFwYXR0ZXJuWzBdKSkgewotICAgICAg
ICBjYW5jZWxWaWJyYXRpb24oKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICBtX3BhdHRl
cm4gPSBwYXR0ZXJuOworICAgIGlmIChsZW5ndGggJiYgIShsZW5ndGggJSAyKSkKKyAgICAgICAg
bV9wYXR0ZXJuLnJlbW92ZUxhc3QoKTsKIAotICAgIGlmIChtX2lzVmlicmF0aW5nKQorICAgIC8v
IFByZS1leHNpdGluZyBpbnN0YW5jZSBuZWVkIHRvIGJlIGNhbmNlbGVkIHdoZW4gdmlicmF0aW9u
IGlzIGNhbGxlZC4KKyAgICAvLyBBbmQgaWYgdGltZSBpcyAwLCB2aWJyYXRpb24gaGF2ZSB0byBi
ZSBjYW5jZWxlZCBhbHNvLgorICAgIGlmIChtX2lzVmlicmF0aW5nIHx8IChtX3BhdHRlcm4uc2l6
ZSgpID09IDEgJiYgIW1fcGF0dGVyblswXSkpCiAgICAgICAgIGNhbmNlbFZpYnJhdGlvbigpOwog
Ci0gICAgaWYgKG1fdGltZXJTdGFydC5pc0FjdGl2ZSgpKQotICAgICAgICBtX3RpbWVyU3RhcnQu
c3RvcCgpOworICAgIGlmICghbV9wYXR0ZXJuLnNpemUoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7
CiAKLSAgICBtX3BhdHRlcm4gPSBwYXR0ZXJuOwogICAgIG1fdGltZXJTdGFydC5zdGFydE9uZVNo
b3QoMCk7CiAgICAgbV9pc1ZpYnJhdGluZyA9IHRydWU7CisgICAgcmV0dXJuIHRydWU7CiB9CiAK
IHZvaWQgVmlicmF0aW9uOjpjYW5jZWxWaWJyYXRpb24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3ZpYnJhdGlvbi9WaWJyYXRpb24uaAppbmRleCA1OGZmNDIxMGVlMzgyMzcyNTFjZDIzMzEw
YzhlNGEzYjYwYzRmZWY2Li5jMGJlNTc0YjlkNWIyMTM5OTA5YWQ5NTk0NzU5MGUzNWUzMmM2YmY1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRpb24u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRpb24uaApAQCAt
MzksOCArMzksNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgUGFzc093blB0cjxWaWJyYXRpb24+
IGNyZWF0ZShWaWJyYXRpb25DbGllbnQqKTsKIAotICAgIHZvaWQgdmlicmF0ZShjb25zdCB1bnNp
Z25lZCYgdGltZSk7Ci0gICAgdm9pZCB2aWJyYXRlKGNvbnN0IFZpYnJhdGlvblBhdHRlcm4mKTsK
KyAgICBib29sIHZpYnJhdGUoY29uc3QgVmlicmF0aW9uUGF0dGVybiYpOwogICAgIHZvaWQgY2Fu
Y2VsVmlicmF0aW9uKCk7CiAKICAgICAvLyBGSVhNRSA6IEFkZCBzdXNwZW5kVmlicmF0aW9uKCkg
YW5kIHJlc3VtZVZpYnJhdGlvbigpIHRvIHRoZSBwYWdlIHZpc2liaWxpdHkgZmVhdHVyZSwgd2hl
biB0aGUgZG9jdW1lbnQuaGlkZGVuIGF0dHJpYnV0ZSBpcyBjaGFuZ2VkLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDg3ODRi
MmRiNTQ1MjdjODMyMzFmM2Q1YWY4NzYwNmQ1NGQyYTQ5OTYuLmVhZDNmMjQxOTI0NjNiZGEyNDA2
MjA5NmFmZmM1Y2RkNWY2MDk0NjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMy0wNy0wMyAg
S2lob25nIEt3b24gIDxraWhvbmcua3dvbkBzYW1zdW5nLmNvbT4KKworICAgICAgICB2aWJyYXRl
IGZ1bmN0aW9uIGhhdmUgdG8gcmV0dXJuIGJvb2xlYW4gdmFsdWUuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTgyODgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgbmF2aWdhdG9yLXZpYnJhdGlv
bi5odG1sIHRvIGFkanVzdCBsYXRlc3Qgc3BlYy4KKyAgICAgICAgQWRkIHZpYnJhdGlvbi9jYW5j
ZWxWaWJyYXRpb24tZHVyaW5nLXBhdHRlcm4tdmlicmF0aW5nLmh0bWwgdG8gVGVzdEV4cGFjdGF0
aW9ucworICAgICAgICB1bnRpbCBWaWJyYXRpb24gQVBJIHN1cHBvcnQgdmlzaWJpbGl0eWNoYW5l
IGV2ZW50LgorCisgICAgICAgICogcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAg
ICAgICogdmlicmF0aW9uL25hdmlnYXRvci12aWJyYXRpb24tZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHZpYnJhdGlvbi9uYXZpZ2F0b3ItdmlicmF0aW9uLmh0bWw6CisKIDIwMTMtMDctMDMgIENo
cmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBBWDogSXRlbXMg
dGhlIGltZyBhcmlhIHJvbGUgYXJlbid0IGluc2VydGluZyBhbiBvYmplY3QgcmVwbGFjZW1lbnQg
Y2hhcmFjdGVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVj
dGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCmluZGV4
IGY3NzQwNjYzMDgwMmE5NTc1MGI1ZGM5ZjM1ZTEzYTcxN2NlMTA5YTEuLmQwYTM3YTY5NTE5M2Ey
MzRjZWU3MDU1Mjk5ZGU1OTM2NGQ1M2M4MjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9U
ZXN0RXhwZWN0YXRpb25zCkBAIC0xNzYwLDMgKzE3NjAsNiBAQCB3ZWJraXQub3JnL2IvMTE2NTg3
IGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvcmVsb2FkLWNyYXNoLmh0bWwgWyBTa2lw
IF0KIAogIyBTeW50aGVzaXplZCBpdGFsaWNzIG5vdCBzdXBwb3J0ZWQKIGZhc3QvdGV4dC9pbnRl
cm5hdGlvbmFsL3N5bnRoZXNpemVkLWl0YWxpYy12ZXJ0aWNhbC1sYXRpbi5odG1sIFsgU2tpcCBd
CisKKyMgdmlicmF0aW9uIGFwaSBkb2Vzbid0IHN1cHBvcnQgdmlzaWJpbGl0eWNoYW5nZSBldmVu
dC4KK3dlYmtpdC5vcmcvYi8xMTgzNzggdmlicmF0aW9uL2NhbmNlbFZpYnJhdGlvbi1hZnRlci1w
YWdldmlzaWJpbGl0eS1jaGFuZ2VkLXRvLWhpZGRlbi5odG1sIFsgU2tpcCBdCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy92aWJyYXRpb24vbmF2aWdhdG9yLXZpYnJhdGlvbi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy92aWJyYXRpb24vbmF2aWdhdG9yLXZpYnJhdGlvbi1leHBlY3RlZC50eHQK
aW5kZXggNDc1YmU2OWFjZDgxYWVjYTgzYWI3NzNhZjliZGI4MGJmYzk3MDk3ZC4uZTdmYzY0Mzgy
YzA2N2I4NzU3NmEyZGFmZDhhNDRmYWZlMTc1NTdhNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
dmlicmF0aW9uL25hdmlnYXRvci12aWJyYXRpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL3ZpYnJhdGlvbi9uYXZpZ2F0b3ItdmlicmF0aW9uLWV4cGVjdGVkLnR4dApAQCAtMywxMiAr
MywxMyBAQCBUZXN0IGZvciB0aGUgVmlicmF0aW9uIEFQSS4KIE9uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KIAogCi1QQVNTIG5hdmlnYXRvci52aWJyYXRlKDApOyBpcyB1bmRlZmluZWQKLVBBU1Mg
bmF2aWdhdG9yLnZpYnJhdGUoW10pOyBpcyB1bmRlZmluZWQKLVBBU1MgbmF2aWdhdG9yLnZpYnJh
dGUoMTAwMCk7IGlzIHVuZGVmaW5lZAotUEFTUyBuYXZpZ2F0b3IudmlicmF0ZShbMTAwMCwgMzAw
LCA1MDBdKTsgaXMgdW5kZWZpbmVkCi1QQVNTIG5hdmlnYXRvci52aWJyYXRlKDQyOTQ5NjcyOTUp
OyBpcyB1bmRlZmluZWQKK1BBU1MgbmF2aWdhdG9yLnZpYnJhdGUoMCk7IGlzIHRydWUKK1BBU1Mg
bmF2aWdhdG9yLnZpYnJhdGUoW10pOyBpcyB0cnVlCitQQVNTIG5hdmlnYXRvci52aWJyYXRlKDEp
OyBpcyB0cnVlCitQQVNTIG5hdmlnYXRvci52aWJyYXRlKFsxLCAyXSk7IGlzIHRydWUKK1BBU1Mg
bmF2aWdhdG9yLnZpYnJhdGUoWzEsIDIsIDNdKTsgaXMgdHJ1ZQogUEFTUyBuYXZpZ2F0b3Iudmli
cmF0ZSgpOyB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4K
K1BBU1MgbmF2aWdhdG9yLnZpYnJhdGUoWzFdLCBbMl0pOyB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiBUeXBlIGVycm9yLgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNU
IENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy92aWJyYXRpb24vbmF2aWdhdG9yLXZp
YnJhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvdmlicmF0aW9uL25hdmlnYXRvci12aWJyYXRpb24u
aHRtbAppbmRleCA2NTE0ZDg3ZjJjZDM3MDY3ZmRkZDdkZTE0OGIxZjRjYzMwZTI4OTIxLi5iMmYx
M2U3MTE3YTQyZmM1ODU5YjYyMWUwZGEwYTc1ZDAyZmQyOGVkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy92aWJyYXRpb24vbmF2aWdhdG9yLXZpYnJhdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3Rz
L3ZpYnJhdGlvbi9uYXZpZ2F0b3ItdmlicmF0aW9uLmh0bWwKQEAgLTYsMTIgKzYsMTMgQEAKIDxz
Y3JpcHQ+CiBkZXNjcmlwdGlvbignVGVzdCBmb3IgdGhlIFZpYnJhdGlvbiBBUEkuJyk7CiAKLXNo
b3VsZEJlKCJuYXZpZ2F0b3IudmlicmF0ZSgwKTsiLCAidW5kZWZpbmVkIik7Ci1zaG91bGRCZSgi
bmF2aWdhdG9yLnZpYnJhdGUoW10pOyIsICJ1bmRlZmluZWQiKTsKLXNob3VsZEJlKCJuYXZpZ2F0
b3IudmlicmF0ZSgxMDAwKTsiLCAidW5kZWZpbmVkIik7Ci1zaG91bGRCZSgibmF2aWdhdG9yLnZp
YnJhdGUoWzEwMDAsIDMwMCwgNTAwXSk7IiwgInVuZGVmaW5lZCIpOwotc2hvdWxkQmUoIm5hdmln
YXRvci52aWJyYXRlKDQyOTQ5NjcyOTUpOyIsICJ1bmRlZmluZWQiKTsKK3Nob3VsZEJlVHJ1ZSgi
bmF2aWdhdG9yLnZpYnJhdGUoMCk7Iik7CitzaG91bGRCZVRydWUoIm5hdmlnYXRvci52aWJyYXRl
KFtdKTsiKTsKK3Nob3VsZEJlVHJ1ZSgibmF2aWdhdG9yLnZpYnJhdGUoMSk7Iik7CitzaG91bGRC
ZVRydWUoIm5hdmlnYXRvci52aWJyYXRlKFsxLCAyXSk7Iik7CitzaG91bGRCZVRydWUoIm5hdmln
YXRvci52aWJyYXRlKFsxLCAyLCAzXSk7Iik7CiBzaG91bGRUaHJvdygibmF2aWdhdG9yLnZpYnJh
dGUoKTsiKTsKK3Nob3VsZFRocm93KCJuYXZpZ2F0b3IudmlicmF0ZShbMV0sIFsyXSk7Iik7CiA8
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgogPC9ib2R5Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>