<?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>151846</bug_id>
          
          <creation_ts>2015-12-03 20:25:15 -0800</creation_ts>
          <short_desc>[EFL] test_ewk2_context failed after r192808</short_desc>
          <delta_ts>2015-12-21 21:51:29 -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>WebKit EFL</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Hunseop Jeong">hs85.jeong</reporter>
          <assigned_to name="Hunseop Jeong">hs85.jeong</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>ossy</cc>
    
    <cc>ryuan.choi</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1146183</commentid>
    <comment_count>0</comment_count>
    <who name="Hunseop Jeong">hs85.jeong</who>
    <bug_when>2015-12-03 20:25:15 -0800</bug_when>
    <thetext>https://build.webkit.org/builders/EFL%20Linux%2064-bit%20Release%20WK2/builds/25771/steps/API%20tests/logs/stdio

../../Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:178: Failure
Value of: ewk_context_process_model_get(context)
  Actual: 1
Expected: EWK_PROCESS_MODEL_SHARED_SECONDARY
Which is: 0

../../Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:216: Failure
Value of: ewk_context_process_model_get(context)
  Actual: 1
Expected: EWK_PROCESS_MODEL_SHARED_SECONDARY
Which is: 0

../../Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:209: Failure
Expected: (webView1WebProcessID) != (webView2WebProcessID), actual: 16158 vs 16158
[  FAILED  ] EWK2ContextTestMultipleProcesses.ewk_context_web_process_model (11 ms)

../../Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:257: Failure
Expected: (webView1WebProcessID) != (webView2WebProcessID), actual: 16162 vs 16162
[  FAILED  ] EWK2ContextTestMultipleProcesses.ewk_context_network_process_model (9 ms)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146186</commentid>
    <comment_count>1</comment_count>
    <who name="Hunseop Jeong">hs85.jeong</who>
    <bug_when>2015-12-03 20:39:32 -0800</bug_when>
    <thetext>As ProcessModel always be the MultipleSecondaryProcesses, EFL also need to deprecate the ewk_context_process_model_set/get apis and change the tests. Do I remove the it and add the some apis that set the process count limit?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146191</commentid>
    <comment_count>2</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-12-03 20:49:35 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; As ProcessModel always be the MultipleSecondaryProcesses, EFL also need to
&gt; deprecate the ewk_context_process_model_set/get apis and change the tests.
&gt; Do I remove the it and add the some apis that set the process count limit?

Because http://trac.webkit.org/changeset/192808 always made processmodel MultipleSecondaryProcesses, I agree to modify our test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146782</commentid>
    <comment_count>3</comment_count>
      <attachid>266756</attachid>
    <who name="Hunseop Jeong">hs85.jeong</who>
    <bug_when>2015-12-07 02:00:42 -0800</bug_when>
    <thetext>Created attachment 266756
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146785</commentid>
    <comment_count>4</comment_count>
    <who name="Hunseop Jeong">hs85.jeong</who>
    <bug_when>2015-12-07 02:08:44 -0800</bug_when>
    <thetext>I just fix the test_ewk2_context API, we have to add the APIs for setting the webprocess count like as GTK+ port. I will add the new APIs and tests in new bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146819</commentid>
    <comment_count>5</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2015-12-07 03:40:57 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; I just fix the test_ewk2_context API, we have to add the APIs for setting
&gt; the webprocess count like as GTK+ port. I will add the new APIs and tests in
&gt; new bug.

I agree that we should support the legacy behaviour although we add new API.
In addition, I think that we should deprecate test_ewk2_context_process_model_{get|set} with new API to set the count of web process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146824</commentid>
    <comment_count>6</comment_count>
      <attachid>266756</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-12-07 03:57:07 -0800</bug_when>
    <thetext>Comment on attachment 266756
Patch

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

&gt; Source/WebKit2/UIProcess/API/efl/ewk_context.cpp:86
&gt; +    setProcessModel(EWK_PROCESS_MODEL_SHARED_SECONDARY);

I don&apos;t understand yet why we need to keep this legacy option. I think we just need to remove this option in EWK APIs and API test, isn&apos;t it ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146837</commentid>
    <comment_count>7</comment_count>
      <attachid>266771</attachid>
    <who name="Hunseop Jeong">hs85.jeong</who>
    <bug_when>2015-12-07 05:50:41 -0800</bug_when>
    <thetext>Created attachment 266771
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146838</commentid>
    <comment_count>8</comment_count>
    <who name="Hunseop Jeong">hs85.jeong</who>
    <bug_when>2015-12-07 05:57:11 -0800</bug_when>
    <thetext>I removed the deprecated ewk_context_process_model_{set|get} apis and added the ewk_context_web_process_count_limit_{set|get} apis for setting the webprocess count. we can control the process behaviors by setting the webprocess count.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146841</commentid>
    <comment_count>9</comment_count>
      <attachid>266771</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-12-07 07:31:44 -0800</bug_when>
    <thetext>Comment on attachment 266771
Patch

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

&gt; Source/WebKit2/UIProcess/API/efl/ewk_context.cpp:264
&gt; +    m_processCountLimit = count;

Should we update the process count even when new count is same with m_processCountLimit ? Can&apos;t we just return when value is same ?

&gt; Source/WebKit2/UIProcess/API/efl/ewk_context.h:504
&gt; + * @return the maximum number of web processes, or 0 if there isn&apos;t a limit.

Do not add a period to be sync with existing style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1147133</commentid>
    <comment_count>10</comment_count>
    <who name="Hunseop Jeong">hs85.jeong</who>
    <bug_when>2015-12-07 17:53:06 -0800</bug_when>
    <thetext>I just fix the test_ewk2_context API, we have to add the APIs for setting the webprocess count like as GTK+ port. I will add the new APIs and tests in new bug.(In reply to comment #9)
&gt; Comment on attachment 266771 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=266771&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/efl/ewk_context.cpp:264
&gt; &gt; +    m_processCountLimit = count;
&gt; 
&gt; Should we update the process count even when new count is same with
&gt; m_processCountLimit ? Can&apos;t we just return when value is same ?
Okay, I will add it.

&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/efl/ewk_context.h:504
&gt; &gt; + * @return the maximum number of web processes, or 0 if there isn&apos;t a limit.
&gt; 
&gt; Do not add a period to be sync with existing style.
I don&apos;t understand the &apos;period&apos; meaning,, could you tell me the meaning of &apos;period&apos;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1147625</commentid>
    <comment_count>11</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-12-09 01:19:52 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; &gt; &gt; Source/WebKit2/UIProcess/API/efl/ewk_context.h:504
&gt; &gt; &gt; + * @return the maximum number of web processes, or 0 if there isn&apos;t a limit.
&gt; &gt; 
&gt; &gt; Do not add a period to be sync with existing style.
&gt; I don&apos;t understand the &apos;period&apos; meaning,, could you tell me the meaning of
&gt; &apos;period&apos;?

&quot;.&quot;(a period) at the end of line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1150202</commentid>
    <comment_count>12</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-12-17 21:39:13 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; &gt; &gt; Source/WebKit2/UIProcess/API/efl/ewk_context.h:504
&gt; &gt; &gt; &gt; + * @return the maximum number of web processes, or 0 if there isn&apos;t a limit.
&gt; &gt; &gt; 
&gt; &gt; &gt; Do not add a period to be sync with existing style.
&gt; &gt; I don&apos;t understand the &apos;period&apos; meaning,, could you tell me the meaning of
&gt; &gt; &apos;period&apos;?
&gt; 
&gt; &quot;.&quot;(a period) at the end of line.

Any update ? I wish ewk_context API test is fine again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1150231</commentid>
    <comment_count>13</comment_count>
    <who name="Hunseop Jeong">hs85.jeong</who>
    <bug_when>2015-12-18 00:16:30 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #11)
&gt; &gt; (In reply to comment #10)
&gt; &gt; &gt; &gt; &gt; Source/WebKit2/UIProcess/API/efl/ewk_context.h:504
&gt; &gt; &gt; &gt; &gt; + * @return the maximum number of web processes, or 0 if there isn&apos;t a limit.
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Do not add a period to be sync with existing style.
&gt; &gt; &gt; I don&apos;t understand the &apos;period&apos; meaning,, could you tell me the meaning of
&gt; &gt; &gt; &apos;period&apos;?
&gt; &gt; 
&gt; &gt; &quot;.&quot;(a period) at the end of line.
&gt; 
&gt; Any update ? I wish ewk_context API test is fine again.
Oh,, Sorry,, I&apos;ll take care of it.
This patch has some problems to fix this issue.
So I need more time. I&apos;ll fix it ASAP.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1150837</commentid>
    <comment_count>14</comment_count>
      <attachid>267773</attachid>
    <who name="Hunseop Jeong">hs85.jeong</who>
    <bug_when>2015-12-21 17:51:52 -0800</bug_when>
    <thetext>Created attachment 267773
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1150839</commentid>
    <comment_count>15</comment_count>
      <attachid>267773</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-12-21 18:23:48 -0800</bug_when>
    <thetext>Comment on attachment 267773
Patch

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1150849</commentid>
    <comment_count>16</comment_count>
      <attachid>267773</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-21 20:49:26 -0800</bug_when>
    <thetext>Comment on attachment 267773
Patch

Rejecting attachment 267773 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 267773, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

/Volumes/Data/EWS/WebKit/Source/WebKit2/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).

Full output: http://webkit-queues.webkit.org/results/591796</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1150850</commentid>
    <comment_count>17</comment_count>
    <who name="Hunseop Jeong">hs85.jeong</who>
    <bug_when>2015-12-21 20:54:15 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; Comment on attachment 267773 [details]
&gt; Patch
&gt; 
&gt; LGTM.

Oops,, I missed the &apos;Reviewed by&apos; comment in ChangeLog.
I will upload new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1150852</commentid>
    <comment_count>18</comment_count>
      <attachid>267778</attachid>
    <who name="Hunseop Jeong">hs85.jeong</who>
    <bug_when>2015-12-21 21:02:11 -0800</bug_when>
    <thetext>Created attachment 267778
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1150855</commentid>
    <comment_count>19</comment_count>
      <attachid>267778</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-21 21:51:24 -0800</bug_when>
    <thetext>Comment on attachment 267778
Patch

Clearing flags on attachment: 267778

Committed r194359: &lt;http://trac.webkit.org/changeset/194359&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1150856</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-21 21:51:29 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>266756</attachid>
            <date>2015-12-07 02:00:42 -0800</date>
            <delta_ts>2015-12-07 05:50:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-151846-20151207190013.patch</filename>
            <type>text/plain</type>
            <size>4374</size>
            <attacher name="Hunseop Jeong">hs85.jeong</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5MzYxNykKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDE1LTEyLTA3ICBIdW5zZW9w
IEplb25nICA8aHM4NS5qZW9uZ0BzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXSB0ZXN0X2V3
azJfY29udGV4dCBmYWlsZWQgYWZ0ZXIgcjE5MjgwOAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxODQ2IAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFzIHdlIGNhbiBtYWtlIHRoZSBTaW5nbGUgV2ViUHJv
Y2VzcyBiZWhhdmlvciBieSBzZXR0aW5nIHRoZSBtaXhpbXVtIG51bWJlcgorICAgICAgICBvZiBX
ZWJQcm9jZXNzIHRvIDEgYWZ0ZXIgcjE5MjgwOCwgSSBjaGFuZ2UgdGhlIFdLQ29udGV4dFNldFBy
b2Nlc3NNb2RlbCB3aGljaAorICAgICAgICBpcyBkZXByZWNhdGVkIGluIHIxOTI4MDggdG8gV0tD
b250ZXh0U2V0TWF4aW11bU51bWJlck9mUHJvY2Vzc2VzIGZvciBmaXhpbmcKKyAgICAgICAgdGhl
IHRlc3RfZXdrMl9jb250ZXh0IGFwaSB0ZXN0LgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX2NvbnRleHQuY3BwOgorICAgICAgICAoRXdrQ29udGV4dDo6RXdrQ29udGV4dCk6Cisg
ICAgICAgIChFd2tDb250ZXh0OjpjYWNoZU1vZGVsKToKKyAgICAgICAgKEV3a0NvbnRleHQ6OnNl
dFByb2Nlc3NNb2RlbCk6CisgICAgICAgIChFd2tDb250ZXh0Ojpwcm9jZXNzTW9kZWwpOgorICAg
ICAgICAoZXdrX2NvbnRleHRfbWVzc2FnZV9mcm9tX2V4dGVuc2lvbnNfY2FsbGJhY2tfc2V0KToK
KyAgICAgICAgKGV3a19jb250ZXh0X3Byb2Nlc3NfbW9kZWxfc2V0KToKKyAgICAgICAgKGV3a19j
b250ZXh0X3Byb2Nlc3NfbW9kZWxfZ2V0KToKKyAgICAgICAgKGV3a19jb250ZXh0X3Rsc19lcnJv
cl9wb2xpY3lfZ2V0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9w
cml2YXRlLmg6CisKIDIwMTUtMTItMDcgIEphZWh1biBMaW0gIDxsamFlaHVuLmxpbUBzYW1zdW5n
LmNvbT4KIAogICAgICAgICBbRUZMXSBNb3ZpbmcgcHJlZmVyZW5jZSBzZXR0aW5ncyBmcm9tIEV3
a1ZpZXcgdG8gV2ViUHJlZmVyZW5jZXNFZmwKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a19jb250ZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dC5jcHAJKHJldmlzaW9uIDE5Mjk5NSkKKysrIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNzksNiArNzksMTEgQEAgRXdrQ29udGV4dDo6RXdrQ29udGV4dChXS0NvbnRleHRS
ZWYgY29udAogewogICAgIENvbnRleHRNYXA6OkFkZFJlc3VsdCByZXN1bHQgPSBjb250ZXh0TWFw
KCkuYWRkKGNvbnRleHQsIHRoaXMpOwogICAgIEFTU0VSVF9VTlVTRUQocmVzdWx0LCByZXN1bHQu
aXNOZXdFbnRyeSk7CisgICAgCisgICAgLy8gRklYTUU6IFdlIGhhdmUgdG8gdXNlIHRoZSBNdWx0
aXBsZVNlY29uZGFyeVByb2Nlc3NlcyBhZnRlciByMTkyODA4IGJ1dCBFRkwgdXNlIHRoZSBsZWdh
Y3kgb3B0aW9ucworICAgIC8vIGZvciBjcmVhdGluZyB0aGUgd2ViQ29udGV4dC4gQmVjYXVzZSBs
ZWdhY3kgb3B0aW9ucyBzZXQgdGhlIG1heGltdW1Qcm9jZXNzQ291bnQgdG8gMSwgd2UgZm9yY2Ug
CisgICAgLy8gUHJvY2Vzc01vZGVsIHRvIHNldCB0aGUgRVdLX1BST0NFU1NfTU9ERUxfU0hBUkVE
X1NFQ09OREFSWSBpbiBvcmRlciB0byBhbGlnbiB3aXRoIHRoZSBsZWdhY3kgb3B0aW9ucy4KKyAg
ICBzZXRQcm9jZXNzTW9kZWwoRVdLX1BST0NFU1NfTU9ERUxfU0hBUkVEX1NFQ09OREFSWSk7CiAK
ICNpZiBFTkFCTEUoTUVNT1JZX1NBTVBMRVIpCiAgICAgc3RhdGljIGJvb2wgaW5pdGlhbGl6ZU1l
bW9yeVNhbXBsZXIgPSBmYWxzZTsKQEAgLTI1NywxMyArMjYyLDIzIEBAIEV3a19DYWNoZV9Nb2Rl
bCBFd2tDb250ZXh0OjpjYWNoZU1vZGVsKCkKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8RXdrX0Nh
Y2hlX01vZGVsPihXS0NvbnRleHRHZXRDYWNoZU1vZGVsKG1fY29udGV4dC5nZXQoKSkpOwogfQog
Ci12b2lkIEV3a0NvbnRleHQ6OnNldFByb2Nlc3NNb2RlbChFd2tfUHJvY2Vzc19Nb2RlbCkKK3Zv
aWQgRXdrQ29udGV4dDo6c2V0UHJvY2Vzc01vZGVsKEV3a19Qcm9jZXNzX01vZGVsIHByb2Nlc3NN
b2RlbCkKIHsKKyAgICBtX3Byb2Nlc3NNb2RlbCA9IHByb2Nlc3NNb2RlbDsKKyAgICBzd2l0Y2gg
KG1fcHJvY2Vzc01vZGVsKSB7CisgICAgY2FzZSBFV0tfUFJPQ0VTU19NT0RFTF9TSEFSRURfU0VD
T05EQVJZOgorICAgICAgICBXS0NvbnRleHRTZXRNYXhpbXVtTnVtYmVyT2ZQcm9jZXNzZXMobV9j
b250ZXh0LmdldCgpLCAxKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBFV0tfUFJPQ0VTU19N
T0RFTF9NVUxUSVBMRV9TRUNPTkRBUlk6CisgICAgICAgIFdLQ29udGV4dFNldE1heGltdW1OdW1i
ZXJPZlByb2Nlc3NlcyhtX2NvbnRleHQuZ2V0KCksIDApOworICAgICAgICBicmVhazsKKyAgICB9
CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKIEV3a19Qcm9jZXNzX01vZGVsIEV3a0Nv
bnRleHQ6OnByb2Nlc3NNb2RlbCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIEVXS19QUk9DRVNTX01P
REVMX01VTFRJUExFX1NFQ09OREFSWTsKKyAgICByZXR1cm4gbV9wcm9jZXNzTW9kZWw7CiB9CiAK
ICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKQEAgLTUzNCwxNSArNTQ5LDIwIEBAIHZv
aWQgZXdrX2NvbnRleHRfbWVzc2FnZV9mcm9tX2V4dGVuc2lvbnMKICAgICBpbXBsLT5zZXRNZXNz
YWdlRnJvbUV4dGVuc2lvbkNhbGxiYWNrKGNhbGxiYWNrLCB1c2VyRGF0YSk7CiB9CiAKLUVpbmFf
Qm9vbCBld2tfY29udGV4dF9wcm9jZXNzX21vZGVsX3NldChFd2tfQ29udGV4dCogZXdrQ29udGV4
dCwgRXdrX1Byb2Nlc3NfTW9kZWwpCitFaW5hX0Jvb2wgZXdrX2NvbnRleHRfcHJvY2Vzc19tb2Rl
bF9zZXQoRXdrX0NvbnRleHQqIGV3a0NvbnRleHQsIEV3a19Qcm9jZXNzX01vZGVsIHByb2Nlc3NN
b2RlbCkKIHsKICAgICBFV0tfT0JKX0dFVF9JTVBMX09SX1JFVFVSTihFd2tDb250ZXh0LCBld2tD
b250ZXh0LCBpbXBsLCBmYWxzZSk7CisgICAgCisgICAgaW1wbC0+c2V0UHJvY2Vzc01vZGVsKHBy
b2Nlc3NNb2RlbCk7CisgICAgCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKIEV3a19Qcm9jZXNzX01v
ZGVsIGV3a19jb250ZXh0X3Byb2Nlc3NfbW9kZWxfZ2V0KGNvbnN0IEV3a19Db250ZXh0KiBld2tD
b250ZXh0KQogewotICAgIHJldHVybiBFV0tfUFJPQ0VTU19NT0RFTF9NVUxUSVBMRV9TRUNPTkRB
Ulk7CisgICAgRVdLX09CSl9HRVRfSU1QTF9PUl9SRVRVUk4oY29uc3QgRXdrQ29udGV4dCwgZXdr
Q29udGV4dCwgaW1wbCwgRVdLX1BST0NFU1NfTU9ERUxfTVVMVElQTEVfU0VDT05EQVJZKTsKKyAg
ICAKKyAgICByZXR1cm4gaW1wbC0+cHJvY2Vzc01vZGVsKCk7CiB9CiAKIEV3a19UTFNfRXJyb3Jf
UG9saWN5IGV3a19jb250ZXh0X3Rsc19lcnJvcl9wb2xpY3lfZ2V0KGNvbnN0IEV3a19Db250ZXh0
KiBjb250ZXh0KQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Nv
bnRleHRfcHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL2V3a19jb250ZXh0X3ByaXZhdGUuaAkocmV2aXNpb24gMTkyOTk1KQorKysgU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfcHJpdmF0ZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xMjYsNiArMTI2LDggQEAgcHJpdmF0ZToKICAgICBKU0dsb2JhbENvbnRleHRS
ZWYgbV9qc0dsb2JhbENvbnRleHQ7CiAKICAgICBTdHJpbmcgbV9leHRlbnNpb25zUGF0aDsKKyAg
ICAKKyAgICBFd2tfUHJvY2Vzc19Nb2RlbCBtX3Byb2Nlc3NNb2RlbCB7IEVXS19QUk9DRVNTX01P
REVMX01VTFRJUExFX1NFQ09OREFSWSB9OwogCiAgICAgc3RydWN0IHsKICAgICAgICAgRXdrX0Nv
bnRleHRfTWVzc2FnZV9Gcm9tX0V4dGVuc2lvbl9DYiBjYWxsYmFjazsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>266771</attachid>
            <date>2015-12-07 05:50:41 -0800</date>
            <delta_ts>2015-12-21 17:51:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-151846-20151208074537.patch</filename>
            <type>text/plain</type>
            <size>13452</size>
            <attacher name="Hunseop Jeong">hs85.jeong</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkzNjIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNTI0NmYyNzFkM2YxNTEw
YjI2Y2M3NDUwODFhMjA1M2E2ODc5OGMzYy4uZjAxZjMyMzc1YWYxMjkwYjMzNmYxNjI5MmRkYTkx
Y2M4YzdlYmRlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE1LTEyLTA3ICBIdW5z
ZW9wIEplb25nICA8aHM4NS5qZW9uZ0BzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXSB0ZXN0
X2V3azJfY29udGV4dCBmYWlsZWQgYWZ0ZXIgcjE5MjgwOAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxODQ2CisKKyAgICAgICAgQXMgd2UgY2FuIG1h
a2UgdGhlIHNpbmdsZSBXZWJQcm9jZXNzIGJlaGF2aW9yIGJ5IHNldHRpbmcgdGhlIG1peGltdW0g
bnVtYmVyCisgICAgICAgIG9mIFdlYlByb2Nlc3MgdG8gMSBhZnRlciByMTkyODA4LCBJIHJlbW92
ZSB0aGUgZXdrX2NvbnRleHRfcHJvY2Vzc19tb2RlbF97c2V0fGdldH0KKyAgICAgICAgYXBpcyBh
bmQgYWRkIHRoZSBld2tfY29udGV4dF93ZWJfcHJvY2Vzc19jb3VudF9saW1pdF97c2V0fGdldH0g
YXBpcyBhbmQgdGVzdHMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4
dC5jcHA6CisgICAgICAgIChFd2tDb250ZXh0OjpFd2tDb250ZXh0KToKKyAgICAgICAgKEV3a0Nv
bnRleHQ6OnNldFByb2Nlc3NDb3VudExpbWl0KToKKyAgICAgICAgKEV3a0NvbnRleHQ6OnByb2Nl
c3NDb3VudExpbWl0KToKKyAgICAgICAgKGV3a19jb250ZXh0X3dlYl9wcm9jZXNzX2NvdW50X2xp
bWl0X3NldCk6CisgICAgICAgIChld2tfY29udGV4dF93ZWJfcHJvY2Vzc19jb3VudF9saW1pdF9n
ZXQpOgorICAgICAgICAoRXdrQ29udGV4dDo6c2V0UHJvY2Vzc01vZGVsKTogRGVsZXRlZC4KKyAg
ICAgICAgKEV3a0NvbnRleHQ6OnByb2Nlc3NNb2RlbCk6IERlbGV0ZWQuCisgICAgICAgIChld2tf
Y29udGV4dF9wcm9jZXNzX21vZGVsX3NldCk6IERlbGV0ZWQuCisgICAgICAgIChld2tfY29udGV4
dF9wcm9jZXNzX21vZGVsX2dldCk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX2NvbnRleHQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4
dF9wcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RV
dGlscy9FV0syVW5pdFRlc3RCYXNlLmNwcDoKKyAgICAgICAgKEVXSzJVbml0VGVzdDo6RVdLMlVu
aXRUZXN0QmFzZTo6U2V0VXApOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rl
c3RfZXdrMl9jb250ZXh0LmNwcDoKKyAgICAgICAgKFRFU1RfRik6IENoYW5nZWQgdGhlIGV3a19j
b250ZXh0X3t3ZWJ8bmV0d29ya31fcHJvY2Vzc19tb2RlbCB0ZXN0cyB0bworICAgICAgICBld2tf
Y29udGV4dF97d2VifG5ldHdvcmt9X3Byb2Nlc3NfY291bnRfbGltaXQgdGVzdHMuCisKIDIwMTUt
MTItMDcgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFtHVEtdIEFkZCBXZWJLaXRXZWJQYWdlOjpjb25zb2xlLW1lc3NhZ2Utc2VudCBzaWduYWwg
dG8gV2ViIEV4dGVuc2lvbnMgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9ld2tfY29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfY29udGV4dC5jcHAKaW5kZXggYTUzMGVmNTNmMWQ2MGRmYTgyODUzNTNmNWY2MmQ2
ZjRkZjFiNTBlNS4uZTg2NTE0YjdmMjE3N2RiM2E4MTdiZTM1NDBjNDI0OWVlZDk4YTI2ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0LmNwcApA
QCAtODAsNiArODAsOCBAQCBFd2tDb250ZXh0OjpFd2tDb250ZXh0KFdLQ29udGV4dFJlZiBjb250
ZXh0LCBjb25zdCBTdHJpbmcmIGV4dGVuc2lvbnNQYXRoKQogICAgIENvbnRleHRNYXA6OkFkZFJl
c3VsdCByZXN1bHQgPSBjb250ZXh0TWFwKCkuYWRkKGNvbnRleHQsIHRoaXMpOwogICAgIEFTU0VS
VF9VTlVTRUQocmVzdWx0LCByZXN1bHQuaXNOZXdFbnRyeSk7CiAKKyAgICBzZXRQcm9jZXNzQ291
bnRMaW1pdCgxKTsKKwogI2lmIEVOQUJMRShNRU1PUllfU0FNUExFUikKICAgICBzdGF0aWMgYm9v
bCBpbml0aWFsaXplTWVtb3J5U2FtcGxlciA9IGZhbHNlOwogICAgIHN0YXRpYyBjb25zdCBjaGFy
IGVudmlyb25tZW50VmFyaWFibGVbXSA9ICJTQU1QTEVfTUVNT1JZIjsKQEAgLTI1NywxMyArMjU5
LDE1IEBAIEV3a19DYWNoZV9Nb2RlbCBFd2tDb250ZXh0OjpjYWNoZU1vZGVsKCkgY29uc3QKICAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8RXdrX0NhY2hlX01vZGVsPihXS0NvbnRleHRHZXRDYWNoZU1v
ZGVsKG1fY29udGV4dC5nZXQoKSkpOwogfQogCi12b2lkIEV3a0NvbnRleHQ6OnNldFByb2Nlc3NN
b2RlbChFd2tfUHJvY2Vzc19Nb2RlbCkKK3ZvaWQgRXdrQ29udGV4dDo6c2V0UHJvY2Vzc0NvdW50
TGltaXQodW5zaWduZWQgY291bnQpCiB7CisgICAgbV9wcm9jZXNzQ291bnRMaW1pdCA9IGNvdW50
OworICAgIFdLQ29udGV4dFNldE1heGltdW1OdW1iZXJPZlByb2Nlc3NlcyhtX2NvbnRleHQuZ2V0
KCksIG1fcHJvY2Vzc0NvdW50TGltaXQpOwogfQogCi1Fd2tfUHJvY2Vzc19Nb2RlbCBFd2tDb250
ZXh0Ojpwcm9jZXNzTW9kZWwoKSBjb25zdAordW5zaWduZWQgRXdrQ29udGV4dDo6cHJvY2Vzc0Nv
dW50TGltaXQoKSBjb25zdAogewotICAgIHJldHVybiBFV0tfUFJPQ0VTU19NT0RFTF9NVUxUSVBM
RV9TRUNPTkRBUlk7CisgICAgcmV0dXJuIG1fcHJvY2Vzc0NvdW50TGltaXQ7CiB9CiAKICNpZiBF
TkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKQEAgLTUzNCwxNyArNTM4LDYgQEAgdm9pZCBld2tf
Y29udGV4dF9tZXNzYWdlX2Zyb21fZXh0ZW5zaW9uc19jYWxsYmFja19zZXQoRXdrX0NvbnRleHQq
IGV3a0NvbnRleHQsIEUKICAgICBpbXBsLT5zZXRNZXNzYWdlRnJvbUV4dGVuc2lvbkNhbGxiYWNr
KGNhbGxiYWNrLCB1c2VyRGF0YSk7CiB9CiAKLUVpbmFfQm9vbCBld2tfY29udGV4dF9wcm9jZXNz
X21vZGVsX3NldChFd2tfQ29udGV4dCogZXdrQ29udGV4dCwgRXdrX1Byb2Nlc3NfTW9kZWwpCi17
Ci0gICAgRVdLX09CSl9HRVRfSU1QTF9PUl9SRVRVUk4oRXdrQ29udGV4dCwgZXdrQ29udGV4dCwg
aW1wbCwgZmFsc2UpOwotICAgIHJldHVybiB0cnVlOwotfQotCi1Fd2tfUHJvY2Vzc19Nb2RlbCBl
d2tfY29udGV4dF9wcm9jZXNzX21vZGVsX2dldChjb25zdCBFd2tfQ29udGV4dCogZXdrQ29udGV4
dCkKLXsKLSAgICByZXR1cm4gRVdLX1BST0NFU1NfTU9ERUxfTVVMVElQTEVfU0VDT05EQVJZOwot
fQotCiBFd2tfVExTX0Vycm9yX1BvbGljeSBld2tfY29udGV4dF90bHNfZXJyb3JfcG9saWN5X2dl
dChjb25zdCBFd2tfQ29udGV4dCogY29udGV4dCkKIHsKICAgICBFV0tfT0JKX0dFVF9JTVBMX09S
X1JFVFVSTihjb25zdCBFd2tDb250ZXh0LCBjb250ZXh0LCBpbXBsLCBFV0tfVExTX0VSUk9SX1BP
TElDWV9GQUlMKTsKQEAgLTU3OCwzICs1NzEsMTYgQEAgdm9pZCBld2tfY29udGV4dF90bHNfY2Vy
dGlmaWNhdGVfZm9yX2hvc3RfYWxsb3coRXdrX0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IGNoYXIK
IAogICAgIGltcGwtPmFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChwZW0sIGhv
c3QpOwogfQorCitFaW5hX0Jvb2wgZXdrX2NvbnRleHRfd2ViX3Byb2Nlc3NfY291bnRfbGltaXRf
c2V0KEV3a19Db250ZXh0KiBjb250ZXh0LCB1bnNpZ25lZCBjb3VudCkKK3sKKyAgICBFV0tfT0JK
X0dFVF9JTVBMX09SX1JFVFVSTihFd2tDb250ZXh0LCBjb250ZXh0LCBpbXBsLCBmYWxzZSk7Cisg
ICAgaW1wbC0+c2V0UHJvY2Vzc0NvdW50TGltaXQoY291bnQpOworICAgIHJldHVybiB0cnVlOwor
fQorCit1bnNpZ25lZCBld2tfY29udGV4dF93ZWJfcHJvY2Vzc19jb3VudF9saW1pdF9nZXQoY29u
c3QgRXdrX0NvbnRleHQqIGNvbnRleHQpCit7CisgICAgRVdLX09CSl9HRVRfSU1QTF9PUl9SRVRV
Uk4oY29uc3QgRXdrQ29udGV4dCwgY29udGV4dCwgaW1wbCwgMCk7CisgICAgcmV0dXJuIGltcGwt
PnByb2Nlc3NDb3VudExpbWl0KCk7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX2NvbnRleHQuaAppbmRleCBiNjczOTdmOWQ3MTk4NjgyOTcwYzVjYTFkOTdmYWZi
ZDRjMTU1MmEwLi5kMzM5MjcyYmI3MmUwYTQ5YjYyNDQ0YTcwMDZmOTBhZmY5YzczNDNkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0LmgKQEAgLTky
LDE5ICs5Miw2IEBAIGVudW0gRXdrX0NhY2hlX01vZGVsIHsKIHR5cGVkZWYgZW51bSBFd2tfQ2Fj
aGVfTW9kZWwgRXdrX0NhY2hlX01vZGVsOwogCiAvKioKLSAqIFxlbnVtICAgIEV3a19Qcm9jZXNz
X01vZGVsCi0gKgotICogQGJyaWVmICAgQ29udGFpbnMgb3B0aW9uIGZvciBwcm9jZXNzIG1vZGVs
Ci0gKi8KLWVudW0gRXdrX1Byb2Nlc3NfTW9kZWwgewotICAgIEVXS19QUk9DRVNTX01PREVMX1NI
QVJFRF9TRUNPTkRBUlksCi0gICAgRVdLX1BST0NFU1NfTU9ERUxfTVVMVElQTEVfU0VDT05EQVJZ
Ci19OwotCi0vLy8gQ3JlYXRlcyBhIHR5cGUgbmFtZSBmb3IgdGhlIEV3a19Qcm9jZXNzX01vZGVs
LgotdHlwZWRlZiBlbnVtIEV3a19Qcm9jZXNzX01vZGVsIEV3a19Qcm9jZXNzX01vZGVsOwotCi0v
KioKICAqIFxlbnVtICAgIEV3a19UTFNfRXJyb3JfUG9saWN5CiAgKgogICogQGJyaWVmICAgQ29u
dGFpbnMgb3B0aW9uIGZvciBUTFMgZXJyb3IgcG9saWN5CkBAIC00NTcsMzAgKzQ0NCw2IEBAIEVB
UEkgRWluYV9Cb29sIGV3a19jb250ZXh0X21lc3NhZ2VfcG9zdF90b19leHRlbnNpb25zKEV3a19D
b250ZXh0ICpjb250ZXh0LCBjb25zCiBFQVBJIHZvaWQgZXdrX2NvbnRleHRfbWVzc2FnZV9mcm9t
X2V4dGVuc2lvbnNfY2FsbGJhY2tfc2V0KEV3a19Db250ZXh0ICpjb250ZXh0LCBFd2tfQ29udGV4
dF9NZXNzYWdlX0Zyb21fRXh0ZW5zaW9uX0NiIGNhbGxiYWNrLCB2b2lkICp1c2VyX2RhdGEpOwog
CiAvKioKLSAqIFNldHMgYSBwcm9jZXNzIG1vZGVsIGZvciBAYSBjb250ZXh0LgotICoKLSAqIFNl
dHMgYSBwcm9jZXNzIG1vZGVsIGZvciB3ZWIgdmlld3MsIHdoaWNoIHdpbGwgYmUgdXNlZCB0byBk
ZWNpZGUgaG93Ci0gKiBwcm9jZXNzZXMgc2hvdWxkIGJlIGhhbmRsZWQuIERlZmF1bHQgdmFsdWUg
aXMKLSAqIEVXS19QUk9DRVNTX01PREVMX1NIQVJFRF9TRUNPTkRBUlkgd2hpY2ggbWVhbnMgdGhh
dCB0aGVyZSBpcyBvbmx5IG9uZQotICogd2ViIHByb2Nlc3MuIFdoZW4gRVdLX1BST0NFU1NfTU9E
RUxfTVVMVElQTEVfU0VDT05EQVJZIGlzIHNldCBhCi0gKiBuZXR3b3JrIHByb2Nlc3MgaXMgaW50
cm9kdWNlZCBhbmQgZXZlcnkgd2ViIHZpZXcgc3RhcnRzIG5ldyB3ZWIgcHJvY2Vzcy4KLSAqIFRo
aXMgZnVuY3Rpb24gc2hvdWxkIGJlIHVzZWQgYmVmb3JlIGZpcnN0IHdlYiBwcm9jZXNzIGlzIHNw
YXduZWQuCi0gKgotICogQHBhcmFtIGNvbnRleHQgY29udGV4dCBvYmplY3QgdG8gc2V0IHByb2Nl
c3MgbW9kZWwKLSAqIEBwYXJhbSBwcm9jZXNzX21vZGVsIGEgI0V3a19Qcm9jZXNzX01vZGVsCi0g
Ki8KLUVBUEkgRWluYV9Cb29sIGV3a19jb250ZXh0X3Byb2Nlc3NfbW9kZWxfc2V0KEV3a19Db250
ZXh0ICpjb250ZXh0LCBFd2tfUHJvY2Vzc19Nb2RlbCBwcm9jZXNzX21vZGVsKTsKLQotLyoqCi0g
KiBHZXRzIHRoZSBwcm9jZXNzIG1vZGVsIGZvciBAYSBjb250ZXh0LgotICoKLSAqIEBwYXJhbSBj
b250ZXh0IGNvbnRleHQgb2JqZWN0IHRvIHF1ZXJ5Ci0gKgotICogQHJldHVybiB0aGUgcHJvY2Vz
cyBtb2RlbCBmb3IgdGhlIEBhIGNvbnRleHQKLSAqLwotRUFQSSBFd2tfUHJvY2Vzc19Nb2RlbCBl
d2tfY29udGV4dF9wcm9jZXNzX21vZGVsX2dldChjb25zdCBFd2tfQ29udGV4dCAqY29udGV4dCk7
Ci0KLS8qKgogICogR2V0cyBUTFMgZXJyb3IgcG9saWN5IGZvciBAYSBjb250ZXh0LgogICoKICAq
IEBwYXJhbSBjb250ZXh0IGNvbnRleHQgb2JqZWN0IHRvIGdldCBUTFMgZXJyb3IgcG9saWN5CkBA
IC01MjIsNiArNDg1LDI2IEBAIEVBUEkgdm9pZCBld2tfY29udGV4dF9wcmVmZXJyZWRfbGFuZ3Vh
Z2VzX3NldChFaW5hX0xpc3QgKmxhbmd1YWdlcyk7CiAgKi8KIEVBUEkgdm9pZCBld2tfY29udGV4
dF90bHNfY2VydGlmaWNhdGVfZm9yX2hvc3RfYWxsb3coRXdrX0NvbnRleHQgKmNvbnRleHQsIGNv
bnN0IGNoYXIgKnBlbSwgY29uc3QgY2hhciAqaG9zdCk7CiAKKy8qKgorICogU2V0cyB0aGUgbWF4
aW11bSBudW1iZXIgb2Ygd2ViIHByb2Nlc3NlcyB0aGF0IGNhbiBiZSBjcmVhdGVkIGF0IHRoZSBz
YW1lIHRpbWUgZm9yIHRoZSBAYSBjb250ZXh0LgorICogVGhlIGRlZmF1bHQgdmFsdWUgaXMgMCBh
bmQgbWVhbnMgbm8gbGltaXQuCisgKgorICogQHBhcmFtIGNvbnRleHQgY29udGV4dCBvYmplY3Qg
dG8gc2V0IHdlYnByb2Nlc3MgY291bnQgbGltaXQKKyAqIEBwYXJhbSBjb3VudCB0aGUgbWF4aW11
bSBudW1iZXIgb2Ygd2ViIHByb2Nlc3NlcworICoKKyAqIEByZXR1cm4gQGMgRUlOQV9UUlVFIG9u
IHN1Y2Nlc3Mgb3IgQGMgRUlOQV9GQUxTRSBvbiBmYWlsdXJlCisgKi8KK0VBUEkgRWluYV9Cb29s
IGV3a19jb250ZXh0X3dlYl9wcm9jZXNzX2NvdW50X2xpbWl0X3NldChFd2tfQ29udGV4dCAqY29u
dGV4dCwgdW5zaWduZWQgY291bnQpOworCisvKioKKyAqIEdldHMgdGhlIG1heGltdW0gbnVtYmVy
IG9mIHdlYiBwcm9jZXNzZXMgdGhhdCBjYW4gYmUgY3JlYXRlZCBhdCB0aGUgc2FtZSB0aW1lIGZv
ciB0aGUgQGEgY29udGV4dC4KKyAqCisgKiBAcGFyYW0gY29udGV4dCBjb250ZXh0IG9iamVjdCB0
byBnZXQgd2VicHJvY2VzcyBjb3VudCBsaW1pdAorICoKKyAqIEByZXR1cm4gdGhlIG1heGltdW0g
bnVtYmVyIG9mIHdlYiBwcm9jZXNzZXMsIG9yIDAgaWYgdGhlcmUgaXNuJ3QgYSBsaW1pdC4KKyAq
LworRUFQSSB1bnNpZ25lZCBld2tfY29udGV4dF93ZWJfcHJvY2Vzc19jb3VudF9saW1pdF9nZXQo
Y29uc3QgRXdrX0NvbnRleHQgKmNvbnRleHQpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Nv
bnRleHRfcHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Nv
bnRleHRfcHJpdmF0ZS5oCmluZGV4IGU4MTJiMGUyYjQ0MmNiM2VhMjk5YmRjOWMwZmIxNDM4ZDQx
OWFiODUuLmQ4NDllZTVkYjVhNzQ5OWIzNzFiNzZlYzJmM2FmMDkzOGU3YzRlMGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X3ByaXZhdGUu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9wcml2
YXRlLmgKQEAgLTcxLDkgKzcxLDkgQEAgcHVibGljOgogCiAgICAgRXdrX0NhY2hlX01vZGVsIGNh
Y2hlTW9kZWwoKSBjb25zdDsKIAotICAgIHZvaWQgc2V0UHJvY2Vzc01vZGVsKEV3a19Qcm9jZXNz
X01vZGVsKTsKKyAgICB2b2lkIHNldFByb2Nlc3NDb3VudExpbWl0KHVuc2lnbmVkIGNvdW50KTsK
IAotICAgIEV3a19Qcm9jZXNzX01vZGVsIHByb2Nlc3NNb2RlbCgpIGNvbnN0OworICAgIHVuc2ln
bmVkIHByb2Nlc3NDb3VudExpbWl0KCkgY29uc3Q7CiAKICAgICBXS0NvbnRleHRSZWYgd2tDb250
ZXh0KCkgY29uc3QgeyByZXR1cm4gbV9jb250ZXh0LmdldCgpOyB9CiAKQEAgLTEyNiw2ICsxMjYs
NyBAQCBwcml2YXRlOgogICAgIEpTR2xvYmFsQ29udGV4dFJlZiBtX2pzR2xvYmFsQ29udGV4dDsK
IAogICAgIFN0cmluZyBtX2V4dGVuc2lvbnNQYXRoOworICAgIHVuc2lnbmVkIG1fcHJvY2Vzc0Nv
dW50TGltaXQgeyAwIH07CiAKICAgICBzdHJ1Y3QgewogICAgICAgICBFd2tfQ29udGV4dF9NZXNz
YWdlX0Zyb21fRXh0ZW5zaW9uX0NiIGNhbGxiYWNrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNl
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRp
bHMvRVdLMlVuaXRUZXN0QmFzZS5jcHAKaW5kZXggMDBiOWJjZmU4ZjU1YTI4NGViYTYyZWYxZmE5
MWU1YzY2NDhhNmQ3Ni4uMmRiMDRlOGU3MzE4YjA2ZTAwNzM2YzYzZTI3ZjkwMjBkZDYyM2Y0YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRl
c3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuY3BwCkBAIC02
OSw3ICs2OSw3IEBAIHZvaWQgRVdLMlVuaXRUZXN0QmFzZTo6U2V0VXAoKQogICAgICAgICBuZXdD
b250ZXh0ID0gZXdrX2NvbnRleHRfbmV3KCk7CiAKICAgICBpZiAobV9tdWx0aXBsZVByb2Nlc3Nl
cykKLSAgICAgICAgZXdrX2NvbnRleHRfcHJvY2Vzc19tb2RlbF9zZXQobmV3Q29udGV4dCwgRVdL
X1BST0NFU1NfTU9ERUxfTVVMVElQTEVfU0VDT05EQVJZKTsKKyAgICAgICAgZXdrX2NvbnRleHRf
d2ViX3Byb2Nlc3NfY291bnRfbGltaXRfc2V0KG5ld0NvbnRleHQsIDApOwogCiAgICAgRXdrX1Bh
Z2VfR3JvdXAqIG5ld1BhZ2VHcm91cCA9IGV3a19wYWdlX2dyb3VwX2NyZWF0ZSgiVW5pdFRlc3Qi
KTsKICAgICBtX3dlYlZpZXcgPSBld2tfdmlld19zbWFydF9hZGQoZXZhcywgc21hcnQsIG5ld0Nv
bnRleHQsIG5ld1BhZ2VHcm91cCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfY29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfY29udGV4dC5jcHAKaW5kZXggMWMzNzNj
N2Q1MmM1ZTNiZWNjMTE0YjQyMzVlNjRhYWQxMTIxYjc0OC4uMTNkNDM4NzQ2ZWIyMWNlZDFhODM3
MjMxM2YxZDA1MGY2N2NmNTFkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX2NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9jb250ZXh0LmNwcApAQCAtMTcxLDEx
ICsxNzEsMTEgQEAgVEVTVF9GKEVXSzJDb250ZXh0VGVzdCwgZXdrX2NvbnRleHRfY2FjaGVfbW9k
ZWwpCiAgICAgQVNTRVJUX0VRKEVXS19DQUNIRV9NT0RFTF9ET0NVTUVOVF9WSUVXRVIsIGV3a19j
b250ZXh0X2NhY2hlX21vZGVsX2dldChjb250ZXh0KSk7CiB9CiAKLVRFU1RfRihFV0syQ29udGV4
dFRlc3QsIGV3a19jb250ZXh0X3dlYl9wcm9jZXNzX21vZGVsKQorVEVTVF9GKEVXSzJDb250ZXh0
VGVzdCwgZXdrX2NvbnRleHRfd2ViX3Byb2Nlc3NfY291bnRfbGltaXQpCiB7CiAgICAgRXdrX0Nv
bnRleHQqIGNvbnRleHQgPSBld2tfdmlld19jb250ZXh0X2dldCh3ZWJWaWV3KCkpOwogCi0gICAg
QVNTRVJUX0VRKEVXS19QUk9DRVNTX01PREVMX1NIQVJFRF9TRUNPTkRBUlksIGV3a19jb250ZXh0
X3Byb2Nlc3NfbW9kZWxfZ2V0KGNvbnRleHQpKTsKKyAgICBBU1NFUlRfRVEoMSwgZXdrX2NvbnRl
eHRfd2ViX3Byb2Nlc3NfY291bnRfbGltaXRfZ2V0KGNvbnRleHQpKTsKIAogICAgIEV3a19QYWdl
X0dyb3VwKiBwYWdlR3JvdXAgPSBld2tfdmlld19wYWdlX2dyb3VwX2dldCh3ZWJWaWV3KCkpOwog
ICAgIEV2YXMqIGV2YXMgPSBlY29yZV9ldmFzX2dldChiYWNraW5nU3RvcmUoKSk7CkBAIC0xOTAs
MTEgKzE5MCwxMSBAQCBURVNUX0YoRVdLMkNvbnRleHRUZXN0LCBld2tfY29udGV4dF93ZWJfcHJv
Y2Vzc19tb2RlbCkKICAgICBBU1NFUlRfRVEod2ViVmlldzFXZWJQcm9jZXNzSUQsIHdlYlZpZXcy
V2ViUHJvY2Vzc0lEKTsKIH0KIAotVEVTVF9GKEVXSzJDb250ZXh0VGVzdE11bHRpcGxlUHJvY2Vz
c2VzLCBld2tfY29udGV4dF93ZWJfcHJvY2Vzc19tb2RlbCkKK1RFU1RfRihFV0syQ29udGV4dFRl
c3RNdWx0aXBsZVByb2Nlc3NlcywgZXdrX2NvbnRleHRfd2ViX3Byb2Nlc3NfY291bnRfbGltaXQp
CiB7CiAgICAgRXdrX0NvbnRleHQqIGNvbnRleHQgPSBld2tfdmlld19jb250ZXh0X2dldCh3ZWJW
aWV3KCkpOwogCi0gICAgQVNTRVJUX0VRKEVXS19QUk9DRVNTX01PREVMX01VTFRJUExFX1NFQ09O
REFSWSwgZXdrX2NvbnRleHRfcHJvY2Vzc19tb2RlbF9nZXQoY29udGV4dCkpOworICAgIEFTU0VS
VF9FUSgwLCBld2tfY29udGV4dF93ZWJfcHJvY2Vzc19jb3VudF9saW1pdF9nZXQoY29udGV4dCkp
OwogCiAgICAgRXdrX1BhZ2VfR3JvdXAqIHBhZ2VHcm91cCA9IGV3a192aWV3X3BhZ2VfZ3JvdXBf
Z2V0KHdlYlZpZXcoKSk7CiAgICAgRXZhcyogZXZhcyA9IGVjb3JlX2V2YXNfZ2V0KGJhY2tpbmdT
dG9yZSgpKTsKQEAgLTIwOSwxMSArMjA5LDExIEBAIFRFU1RfRihFV0syQ29udGV4dFRlc3RNdWx0
aXBsZVByb2Nlc3NlcywgZXdrX2NvbnRleHRfd2ViX3Byb2Nlc3NfbW9kZWwpCiAgICAgQVNTRVJU
X05FKHdlYlZpZXcxV2ViUHJvY2Vzc0lELCB3ZWJWaWV3MldlYlByb2Nlc3NJRCk7CiB9CiAKLVRF
U1RfRihFV0syQ29udGV4dFRlc3QsIGV3a19jb250ZXh0X25ldHdvcmtfcHJvY2Vzc19tb2RlbCkK
K1RFU1RfRihFV0syQ29udGV4dFRlc3QsIGV3a19jb250ZXh0X25ldHdvcmtfcHJvY2Vzc19jb3Vu
dF9saW1pdCkKIHsKICAgICBFd2tfQ29udGV4dCogY29udGV4dCA9IGV3a192aWV3X2NvbnRleHRf
Z2V0KHdlYlZpZXcoKSk7CiAKLSAgICBBU1NFUlRfRVEoRVdLX1BST0NFU1NfTU9ERUxfU0hBUkVE
X1NFQ09OREFSWSwgZXdrX2NvbnRleHRfcHJvY2Vzc19tb2RlbF9nZXQoY29udGV4dCkpOworICAg
IEFTU0VSVF9FUSgxLCBld2tfY29udGV4dF93ZWJfcHJvY2Vzc19jb3VudF9saW1pdF9nZXQoY29u
dGV4dCkpOwogCiAgICAgRXdrX1BhZ2VfR3JvdXAqIHBhZ2VHcm91cCA9IGV3a192aWV3X3BhZ2Vf
Z3JvdXBfZ2V0KHdlYlZpZXcoKSk7CiAgICAgRXZhcyogZXZhcyA9IGVjb3JlX2V2YXNfZ2V0KGJh
Y2tpbmdTdG9yZSgpKTsKQEAgLTIzMywxMSArMjMzLDExIEBAIFRFU1RfRihFV0syQ29udGV4dFRl
c3QsIGV3a19jb250ZXh0X25ldHdvcmtfcHJvY2Vzc19tb2RlbCkKICAgICBBU1NFUlRfRVEod2Vi
VmlldzFOZXR3b3JrUHJvY2Vzc0lELCB3ZWJWaWV3Mk5ldHdvcmtQcm9jZXNzSUQpOwogfQogCi1U
RVNUX0YoRVdLMkNvbnRleHRUZXN0TXVsdGlwbGVQcm9jZXNzZXMsIGV3a19jb250ZXh0X25ldHdv
cmtfcHJvY2Vzc19tb2RlbCkKK1RFU1RfRihFV0syQ29udGV4dFRlc3RNdWx0aXBsZVByb2Nlc3Nl
cywgZXdrX2NvbnRleHRfbmV0d29ya19jb3VudF9saW1pdCkKIHsKICAgICBFd2tfQ29udGV4dCog
Y29udGV4dCA9IGV3a192aWV3X2NvbnRleHRfZ2V0KHdlYlZpZXcoKSk7CiAKLSAgICBBU1NFUlRf
RVEoRVdLX1BST0NFU1NfTU9ERUxfTVVMVElQTEVfU0VDT05EQVJZLCBld2tfY29udGV4dF9wcm9j
ZXNzX21vZGVsX2dldChjb250ZXh0KSk7CisgICAgQVNTRVJUX0VRKDAsIGV3a19jb250ZXh0X3dl
Yl9wcm9jZXNzX2NvdW50X2xpbWl0X2dldChjb250ZXh0KSk7CiAKICAgICBFd2tfUGFnZV9Hcm91
cCogcGFnZUdyb3VwID0gZXdrX3ZpZXdfcGFnZV9ncm91cF9nZXQod2ViVmlldygpKTsKICAgICBF
dmFzKiBldmFzID0gZWNvcmVfZXZhc19nZXQoYmFja2luZ1N0b3JlKCkpOwpkaWZmIC0tZ2l0IGEv
VG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDRlNjVkMTYxYTc2NmUxNzkw
YzZlNzI2ZTA0MGI1NWZiODkwYmI2YzMuLmU1OWU5YzEyYTU3YTZjN2EyM2I0MjRiZWU0MTYyMjQ4
NjNmODNhMjcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNS0xMi0wNyAgSHVuc2VvcCBKZW9uZyAgPGhzODUuamVv
bmdAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0VGTF0gdGVzdF9ld2syX2NvbnRleHQgZmFpbGVk
IGFmdGVyIHIxOTI4MDgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE1MTg0NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFVzZWQgdGhlIGFkZGVkIGV3a19jb250ZXh0X3dlYl9wcm9jZXNzX2NvdW50X2xpbWl0
X3NldCBhcGkKKyAgICAgICAgaW5zdGVhZCBvZiB0aGUgZGVwcmVjYXRlZCBld2tfY29udGV4dF9w
cm9jZXNzX21vZGVsX3NldC4KKworICAgICAgICAqIE1pbmlCcm93c2VyL2VmbC9tYWluLmM6Cisg
ICAgICAgIChlbG1fbWFpbik6CisKIDIwMTUtMTItMDcgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8
Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIEFkZCBXZWJLaXRXZWJQYWdlOjpj
b25zb2xlLW1lc3NhZ2Utc2VudCBzaWduYWwgdG8gV2ViIEV4dGVuc2lvbnMgQVBJCmRpZmYgLS1n
aXQgYS9Ub29scy9NaW5pQnJvd3Nlci9lZmwvbWFpbi5jIGIvVG9vbHMvTWluaUJyb3dzZXIvZWZs
L21haW4uYwppbmRleCAxNjAzMWQ0NmZjNzczZTQ4ODExNThlOWQ0NDIwNGFhM2E0MmYyNmI3Li42
YmQ1NmM0YWU4MWViNWMxNzc5M2E2M2NjMDlmYWVlZTgxODA4MjBiIDEwMDY0NAotLS0gYS9Ub29s
cy9NaW5pQnJvd3Nlci9lZmwvbWFpbi5jCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9tYWlu
LmMKQEAgLTI0NDUsNyArMjQ0NSw3IEBAIGVsbV9tYWluKGludCBhcmdjLCBjaGFyICphcmd2W10p
CiAgICAgRXdrX0NvbnRleHQgKmNvbnRleHQgPSBld2tfY29udGV4dF9kZWZhdWx0X2dldCgpOwog
CiAgICAgaWYgKHNlcGFyYXRlZF9wcm9jZXNzX2VuYWJsZWQpCi0gICAgICAgIGV3a19jb250ZXh0
X3Byb2Nlc3NfbW9kZWxfc2V0KGNvbnRleHQsIEVXS19QUk9DRVNTX01PREVMX01VTFRJUExFX1NF
Q09OREFSWSk7CisgICAgICAgIGV3a19jb250ZXh0X3dlYl9wcm9jZXNzX2NvdW50X2xpbWl0X3Nl
dChjb250ZXh0LCAwKTsKIAogICAgIC8vIEVuYWJsZSBmYXZpY29uIGRhdGFiYXNlLgogICAgIGV3
a19jb250ZXh0X2Zhdmljb25fZGF0YWJhc2VfZGlyZWN0b3J5X3NldChjb250ZXh0LCBOVUxMKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>267773</attachid>
            <date>2015-12-21 17:51:52 -0800</date>
            <delta_ts>2015-12-21 21:02:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-151846-20151222105113.patch</filename>
            <type>text/plain</type>
            <size>12897</size>
            <attacher name="Hunseop Jeong">hs85.jeong</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5NDI5MykKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDE1LTEyLTIwICBIdW5zZW9w
IEplb25nICA8aHM4NS5qZW9uZ0BzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXSB0ZXN0X2V3
azJfY29udGV4dCBmYWlsZWQgYWZ0ZXIgcjE5MjgwOAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxODQ2CisKKyAgICAgICAgQXMgd2UgY2FuIG1ha2Ug
dGhlIHNpbmdsZSBXZWJQcm9jZXNzIGJlaGF2aW9yIGJ5IHNldHRpbmcgdGhlIG1peGltdW0gbnVt
YmVyCisgICAgICAgIG9mIFdlYlByb2Nlc3MgdG8gMSBhZnRlciByMTkyODA4LCBJIHJlbW92ZSB0
aGUgZXdrX2NvbnRleHRfcHJvY2Vzc19tb2RlbF97c2V0fGdldH0KKyAgICAgICAgYXBpcyBhbmQg
YWRkIHRoZSBld2tfY29udGV4dF93ZWJfcHJvY2Vzc19jb3VudF9saW1pdF97c2V0fGdldH0gYXBp
cyBhbmQgdGVzdHMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dC5j
cHA6CisgICAgICAgIChFd2tDb250ZXh0OjpFd2tDb250ZXh0KToKKyAgICAgICAgKEV3a0NvbnRl
eHQ6OnNldFByb2Nlc3NDb3VudExpbWl0KToKKyAgICAgICAgKEV3a0NvbnRleHQ6OnByb2Nlc3ND
b3VudExpbWl0KToKKyAgICAgICAgKGV3a19jb250ZXh0X3dlYl9wcm9jZXNzX2NvdW50X2xpbWl0
X3NldCk6CisgICAgICAgIChld2tfY29udGV4dF93ZWJfcHJvY2Vzc19jb3VudF9saW1pdF9nZXQp
OgorICAgICAgICAoRXdrQ29udGV4dDo6c2V0UHJvY2Vzc01vZGVsKTogRGVsZXRlZC4KKyAgICAg
ICAgKEV3a0NvbnRleHQ6OnByb2Nlc3NNb2RlbCk6IERlbGV0ZWQuCisgICAgICAgIChld2tfY29u
dGV4dF9wcm9jZXNzX21vZGVsX3NldCk6IERlbGV0ZWQuCisgICAgICAgIChld2tfY29udGV4dF9w
cm9jZXNzX21vZGVsX2dldCk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwv
ZXdrX2NvbnRleHQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9w
cml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGls
cy9FV0syVW5pdFRlc3RCYXNlLmNwcDoKKyAgICAgICAgKEVXSzJVbml0VGVzdDo6RVdLMlVuaXRU
ZXN0QmFzZTo6U2V0VXApOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3Rf
ZXdrMl9jb250ZXh0LmNwcDoKKyAgICAgICAgKFRFU1RfRik6IENoYW5nZWQgdGhlIGV3a19jb250
ZXh0X3t3ZWJ8bmV0d29ya31fcHJvY2Vzc19tb2RlbCB0ZXN0cyB0bworICAgICAgICBld2tfY29u
dGV4dF97d2VifG5ldHdvcmt9X3Byb2Nlc3NfY291bnRfbGltaXQgdGVzdHMuCisKIDIwMTUtMTIt
MTggIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgogCiAgICAgICAg
IFtHVEtdIFVucmV2aWV3ZWQsIGZpeCBHdGtEb2MgYWZ0ZXIgcjE5MzYyMApJbmRleDogU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0LmNwcAkocmV2aXNp
b24gMTk0MjkzKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRl
eHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03Nyw2ICs3NywxMCBAQCBFd2tDb250ZXh0OjpFd2tD
b250ZXh0KFdLQ29udGV4dFJlZiBjb250CiAgICAgLCBtX2pzR2xvYmFsQ29udGV4dChudWxscHRy
KQogICAgICwgbV9leHRlbnNpb25zUGF0aChleHRlbnNpb25zUGF0aCkKIHsKKyAgICAvLyBFd2tD
b250ZXh0IG1ha2UgdGhlIGNvbnRleHQgd2l0aCB0aGUgbGVnYWN5IG9wdGlvbnMsIGl0IHNldCB0
aGUgbWF4aW11bSBwcm9jZXNzIGNvdW50IHRvIDEuCisgICAgLy8gbV9wcm9jZXNzQ291bnQgYWxz
byBzZXQgdG8gMSB0byBhbGlnbiB3aXRoIHRoZSBQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uCisg
ICAgbV9wcm9jZXNzQ291bnRMaW1pdCA9IDE7CisgICAgCiAgICAgQ29udGV4dE1hcDo6QWRkUmVz
dWx0IHJlc3VsdCA9IGNvbnRleHRNYXAoKS5hZGQoY29udGV4dCwgdGhpcyk7CiAgICAgQVNTRVJU
X1VOVVNFRChyZXN1bHQsIHJlc3VsdC5pc05ld0VudHJ5KTsKIApAQCAtMjU3LDEzICsyNjEsMTgg
QEAgRXdrX0NhY2hlX01vZGVsIEV3a0NvbnRleHQ6OmNhY2hlTW9kZWwoKQogICAgIHJldHVybiBz
dGF0aWNfY2FzdDxFd2tfQ2FjaGVfTW9kZWw+KFdLQ29udGV4dEdldENhY2hlTW9kZWwobV9jb250
ZXh0LmdldCgpKSk7CiB9CiAKLXZvaWQgRXdrQ29udGV4dDo6c2V0UHJvY2Vzc01vZGVsKEV3a19Q
cm9jZXNzX01vZGVsKQordm9pZCBFd2tDb250ZXh0OjpzZXRQcm9jZXNzQ291bnRMaW1pdCh1bnNp
Z25lZCBjb3VudCkKIHsKKyAgICBpZiAobV9wcm9jZXNzQ291bnRMaW1pdCA9PSBjb3VudCkKKyAg
ICAgICAgcmV0dXJuOworICAgIAorICAgIG1fcHJvY2Vzc0NvdW50TGltaXQgPSBjb3VudDsKKyAg
ICBXS0NvbnRleHRTZXRNYXhpbXVtTnVtYmVyT2ZQcm9jZXNzZXMobV9jb250ZXh0LmdldCgpLCBt
X3Byb2Nlc3NDb3VudExpbWl0KTsKIH0KIAotRXdrX1Byb2Nlc3NfTW9kZWwgRXdrQ29udGV4dDo6
cHJvY2Vzc01vZGVsKCkgY29uc3QKK3Vuc2lnbmVkIEV3a0NvbnRleHQ6OnByb2Nlc3NDb3VudExp
bWl0KCkgY29uc3QKIHsKLSAgICByZXR1cm4gRVdLX1BST0NFU1NfTU9ERUxfTVVMVElQTEVfU0VD
T05EQVJZOworICAgIHJldHVybiBtX3Byb2Nlc3NDb3VudExpbWl0OwogfQogCiAjaWYgRU5BQkxF
KE5FVFNDQVBFX1BMVUdJTl9BUEkpCkBAIC01MzQsMTcgKzU0Myw2IEBAIHZvaWQgZXdrX2NvbnRl
eHRfbWVzc2FnZV9mcm9tX2V4dGVuc2lvbnMKICAgICBpbXBsLT5zZXRNZXNzYWdlRnJvbUV4dGVu
c2lvbkNhbGxiYWNrKGNhbGxiYWNrLCB1c2VyRGF0YSk7CiB9CiAKLUVpbmFfQm9vbCBld2tfY29u
dGV4dF9wcm9jZXNzX21vZGVsX3NldChFd2tfQ29udGV4dCogZXdrQ29udGV4dCwgRXdrX1Byb2Nl
c3NfTW9kZWwpCi17Ci0gICAgRVdLX09CSl9HRVRfSU1QTF9PUl9SRVRVUk4oRXdrQ29udGV4dCwg
ZXdrQ29udGV4dCwgaW1wbCwgZmFsc2UpOwotICAgIHJldHVybiB0cnVlOwotfQotCi1Fd2tfUHJv
Y2Vzc19Nb2RlbCBld2tfY29udGV4dF9wcm9jZXNzX21vZGVsX2dldChjb25zdCBFd2tfQ29udGV4
dCogZXdrQ29udGV4dCkKLXsKLSAgICByZXR1cm4gRVdLX1BST0NFU1NfTU9ERUxfTVVMVElQTEVf
U0VDT05EQVJZOwotfQotCiBFd2tfVExTX0Vycm9yX1BvbGljeSBld2tfY29udGV4dF90bHNfZXJy
b3JfcG9saWN5X2dldChjb25zdCBFd2tfQ29udGV4dCogY29udGV4dCkKIHsKICAgICBFV0tfT0JK
X0dFVF9JTVBMX09SX1JFVFVSTihjb25zdCBFd2tDb250ZXh0LCBjb250ZXh0LCBpbXBsLCBFV0tf
VExTX0VSUk9SX1BPTElDWV9GQUlMKTsKQEAgLTU3OCwzICs1NzYsMTggQEAgdm9pZCBld2tfY29u
dGV4dF90bHNfY2VydGlmaWNhdGVfZm9yX2hvcwogCiAgICAgaW1wbC0+YWxsb3dTcGVjaWZpY0hU
VFBTQ2VydGlmaWNhdGVGb3JIb3N0KHBlbSwgaG9zdCk7CiB9CisKK0VpbmFfQm9vbCBld2tfY29u
dGV4dF93ZWJfcHJvY2Vzc19jb3VudF9saW1pdF9zZXQoRXdrX0NvbnRleHQqIGNvbnRleHQsIHVu
c2lnbmVkIGNvdW50KQoreworICAgIEVXS19PQkpfR0VUX0lNUExfT1JfUkVUVVJOKEV3a0NvbnRl
eHQsIGNvbnRleHQsIGltcGwsIGZhbHNlKTsKKworICAgIGltcGwtPnNldFByb2Nlc3NDb3VudExp
bWl0KGNvdW50KTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordW5zaWduZWQgZXdrX2NvbnRleHRf
d2ViX3Byb2Nlc3NfY291bnRfbGltaXRfZ2V0KGNvbnN0IEV3a19Db250ZXh0KiBjb250ZXh0KQor
eworICAgIEVXS19PQkpfR0VUX0lNUExfT1JfUkVUVVJOKGNvbnN0IEV3a0NvbnRleHQsIGNvbnRl
eHQsIGltcGwsIDApOworICAgIAorICAgIHJldHVybiBpbXBsLT5wcm9jZXNzQ291bnRMaW1pdCgp
OworfQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29u
dGV4dC5oCShyZXZpc2lvbiAxOTQyOTMpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfY29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC05MiwxOSArOTIsNiBAQCBlbnVt
IEV3a19DYWNoZV9Nb2RlbCB7CiB0eXBlZGVmIGVudW0gRXdrX0NhY2hlX01vZGVsIEV3a19DYWNo
ZV9Nb2RlbDsKIAogLyoqCi0gKiBcZW51bSAgICBFd2tfUHJvY2Vzc19Nb2RlbAotICoKLSAqIEBi
cmllZiAgIENvbnRhaW5zIG9wdGlvbiBmb3IgcHJvY2VzcyBtb2RlbAotICovCi1lbnVtIEV3a19Q
cm9jZXNzX01vZGVsIHsKLSAgICBFV0tfUFJPQ0VTU19NT0RFTF9TSEFSRURfU0VDT05EQVJZLAot
ICAgIEVXS19QUk9DRVNTX01PREVMX01VTFRJUExFX1NFQ09OREFSWQotfTsKLQotLy8vIENyZWF0
ZXMgYSB0eXBlIG5hbWUgZm9yIHRoZSBFd2tfUHJvY2Vzc19Nb2RlbC4KLXR5cGVkZWYgZW51bSBF
d2tfUHJvY2Vzc19Nb2RlbCBFd2tfUHJvY2Vzc19Nb2RlbDsKLQotLyoqCiAgKiBcZW51bSAgICBF
d2tfVExTX0Vycm9yX1BvbGljeQogICoKICAqIEBicmllZiAgIENvbnRhaW5zIG9wdGlvbiBmb3Ig
VExTIGVycm9yIHBvbGljeQpAQCAtNDU3LDMwICs0NDQsNiBAQCBFQVBJIEVpbmFfQm9vbCBld2tf
Y29udGV4dF9tZXNzYWdlX3Bvc3RfCiBFQVBJIHZvaWQgZXdrX2NvbnRleHRfbWVzc2FnZV9mcm9t
X2V4dGVuc2lvbnNfY2FsbGJhY2tfc2V0KEV3a19Db250ZXh0ICpjb250ZXh0LCBFd2tfQ29udGV4
dF9NZXNzYWdlX0Zyb21fRXh0ZW5zaW9uX0NiIGNhbGxiYWNrLCB2b2lkICp1c2VyX2RhdGEpOwog
CiAvKioKLSAqIFNldHMgYSBwcm9jZXNzIG1vZGVsIGZvciBAYSBjb250ZXh0LgotICoKLSAqIFNl
dHMgYSBwcm9jZXNzIG1vZGVsIGZvciB3ZWIgdmlld3MsIHdoaWNoIHdpbGwgYmUgdXNlZCB0byBk
ZWNpZGUgaG93Ci0gKiBwcm9jZXNzZXMgc2hvdWxkIGJlIGhhbmRsZWQuIERlZmF1bHQgdmFsdWUg
aXMKLSAqIEVXS19QUk9DRVNTX01PREVMX1NIQVJFRF9TRUNPTkRBUlkgd2hpY2ggbWVhbnMgdGhh
dCB0aGVyZSBpcyBvbmx5IG9uZQotICogd2ViIHByb2Nlc3MuIFdoZW4gRVdLX1BST0NFU1NfTU9E
RUxfTVVMVElQTEVfU0VDT05EQVJZIGlzIHNldCBhCi0gKiBuZXR3b3JrIHByb2Nlc3MgaXMgaW50
cm9kdWNlZCBhbmQgZXZlcnkgd2ViIHZpZXcgc3RhcnRzIG5ldyB3ZWIgcHJvY2Vzcy4KLSAqIFRo
aXMgZnVuY3Rpb24gc2hvdWxkIGJlIHVzZWQgYmVmb3JlIGZpcnN0IHdlYiBwcm9jZXNzIGlzIHNw
YXduZWQuCi0gKgotICogQHBhcmFtIGNvbnRleHQgY29udGV4dCBvYmplY3QgdG8gc2V0IHByb2Nl
c3MgbW9kZWwKLSAqIEBwYXJhbSBwcm9jZXNzX21vZGVsIGEgI0V3a19Qcm9jZXNzX01vZGVsCi0g
Ki8KLUVBUEkgRWluYV9Cb29sIGV3a19jb250ZXh0X3Byb2Nlc3NfbW9kZWxfc2V0KEV3a19Db250
ZXh0ICpjb250ZXh0LCBFd2tfUHJvY2Vzc19Nb2RlbCBwcm9jZXNzX21vZGVsKTsKLQotLyoqCi0g
KiBHZXRzIHRoZSBwcm9jZXNzIG1vZGVsIGZvciBAYSBjb250ZXh0LgotICoKLSAqIEBwYXJhbSBj
b250ZXh0IGNvbnRleHQgb2JqZWN0IHRvIHF1ZXJ5Ci0gKgotICogQHJldHVybiB0aGUgcHJvY2Vz
cyBtb2RlbCBmb3IgdGhlIEBhIGNvbnRleHQKLSAqLwotRUFQSSBFd2tfUHJvY2Vzc19Nb2RlbCBl
d2tfY29udGV4dF9wcm9jZXNzX21vZGVsX2dldChjb25zdCBFd2tfQ29udGV4dCAqY29udGV4dCk7
Ci0KLS8qKgogICogR2V0cyBUTFMgZXJyb3IgcG9saWN5IGZvciBAYSBjb250ZXh0LgogICoKICAq
IEBwYXJhbSBjb250ZXh0IGNvbnRleHQgb2JqZWN0IHRvIGdldCBUTFMgZXJyb3IgcG9saWN5CkBA
IC01MjIsNiArNDg1LDI2IEBAIEVBUEkgdm9pZCBld2tfY29udGV4dF9wcmVmZXJyZWRfbGFuZ3Vh
Z2UKICAqLwogRUFQSSB2b2lkIGV3a19jb250ZXh0X3Rsc19jZXJ0aWZpY2F0ZV9mb3JfaG9zdF9h
bGxvdyhFd2tfQ29udGV4dCAqY29udGV4dCwgY29uc3QgY2hhciAqcGVtLCBjb25zdCBjaGFyICpo
b3N0KTsKIAorLyoqCisgKiBTZXRzIHRoZSBtYXhpbXVtIG51bWJlciBvZiB3ZWIgcHJvY2Vzc2Vz
IHRoYXQgY2FuIGJlIGNyZWF0ZWQgYXQgdGhlIHNhbWUgdGltZSBmb3IgdGhlIEBhIGNvbnRleHQu
CisgKiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyAwIGFuZCBtZWFucyBubyBsaW1pdC4KKyAqCisgKiBA
cGFyYW0gY29udGV4dCBjb250ZXh0IG9iamVjdCB0byBzZXQgd2VicHJvY2VzcyBjb3VudCBsaW1p
dAorICogQHBhcmFtIGNvdW50IHRoZSBtYXhpbXVtIG51bWJlciBvZiB3ZWIgcHJvY2Vzc2VzCisg
KgorICogQHJldHVybiBAYyBFSU5BX1RSVUUgb24gc3VjY2VzcyBvciBAYyBFSU5BX0ZBTFNFIG9u
IGZhaWx1cmUKKyAqLworRUFQSSBFaW5hX0Jvb2wgZXdrX2NvbnRleHRfd2ViX3Byb2Nlc3NfY291
bnRfbGltaXRfc2V0KEV3a19Db250ZXh0ICpjb250ZXh0LCB1bnNpZ25lZCBjb3VudCk7CisKKy8q
KgorICogR2V0cyB0aGUgbWF4aW11bSBudW1iZXIgb2Ygd2ViIHByb2Nlc3NlcyB0aGF0IGNhbiBi
ZSBjcmVhdGVkIGF0IHRoZSBzYW1lIHRpbWUgZm9yIHRoZSBAYSBjb250ZXh0LgorICoKKyAqIEBw
YXJhbSBjb250ZXh0IGNvbnRleHQgb2JqZWN0IHRvIGdldCB3ZWJwcm9jZXNzIGNvdW50IGxpbWl0
CisgKgorICogQHJldHVybiB0aGUgbWF4aW11bSBudW1iZXIgb2Ygd2ViIHByb2Nlc3Nlcywgb3Ig
MCBpZiB0aGVyZSBpc24ndCBhIGxpbWl0CisgKi8KK0VBUEkgdW5zaWduZWQgZXdrX2NvbnRleHRf
d2ViX3Byb2Nlc3NfY291bnRfbGltaXRfZ2V0KGNvbnN0IEV3a19Db250ZXh0ICpjb250ZXh0KTsK
KwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X3ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9wcml2YXRlLmgJKHJldmlz
aW9uIDE5NDI5MykKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250
ZXh0X3ByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtNzEsOSArNzEsOSBAQCBwdWJsaWM6CiAK
ICAgICBFd2tfQ2FjaGVfTW9kZWwgY2FjaGVNb2RlbCgpIGNvbnN0OwogCi0gICAgdm9pZCBzZXRQ
cm9jZXNzTW9kZWwoRXdrX1Byb2Nlc3NfTW9kZWwpOworICAgIHZvaWQgc2V0UHJvY2Vzc0NvdW50
TGltaXQodW5zaWduZWQgY291bnQpOwogCi0gICAgRXdrX1Byb2Nlc3NfTW9kZWwgcHJvY2Vzc01v
ZGVsKCkgY29uc3Q7CisgICAgdW5zaWduZWQgcHJvY2Vzc0NvdW50TGltaXQoKSBjb25zdDsKIAog
ICAgIFdLQ29udGV4dFJlZiB3a0NvbnRleHQoKSBjb25zdCB7IHJldHVybiBtX2NvbnRleHQuZ2V0
KCk7IH0KIApAQCAtMTI2LDYgKzEyNiw3IEBAIHByaXZhdGU6CiAgICAgSlNHbG9iYWxDb250ZXh0
UmVmIG1fanNHbG9iYWxDb250ZXh0OwogCiAgICAgU3RyaW5nIG1fZXh0ZW5zaW9uc1BhdGg7Cisg
ICAgdW5zaWduZWQgbV9wcm9jZXNzQ291bnRMaW1pdCB7IDAgfTsKIAogICAgIHN0cnVjdCB7CiAg
ICAgICAgIEV3a19Db250ZXh0X01lc3NhZ2VfRnJvbV9FeHRlbnNpb25fQ2IgY2FsbGJhY2s7Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfY29u
dGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
dGVzdHMvdGVzdF9ld2syX2NvbnRleHQuY3BwCShyZXZpc2lvbiAxOTQyOTMpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfY29udGV4dC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE3MSwxMSArMTcxLDExIEBAIFRFU1RfRihFV0syQ29udGV4dFRlc3Qs
IGV3a19jb250ZXh0X2NhY2gKICAgICBBU1NFUlRfRVEoRVdLX0NBQ0hFX01PREVMX0RPQ1VNRU5U
X1ZJRVdFUiwgZXdrX2NvbnRleHRfY2FjaGVfbW9kZWxfZ2V0KGNvbnRleHQpKTsKIH0KIAotVEVT
VF9GKEVXSzJDb250ZXh0VGVzdCwgZXdrX2NvbnRleHRfd2ViX3Byb2Nlc3NfbW9kZWwpCitURVNU
X0YoRVdLMkNvbnRleHRUZXN0LCBld2tfY29udGV4dF93ZWJfcHJvY2Vzc19jb3VudF9saW1pdCkK
IHsKICAgICBFd2tfQ29udGV4dCogY29udGV4dCA9IGV3a192aWV3X2NvbnRleHRfZ2V0KHdlYlZp
ZXcoKSk7CiAKLSAgICBBU1NFUlRfRVEoRVdLX1BST0NFU1NfTU9ERUxfU0hBUkVEX1NFQ09OREFS
WSwgZXdrX2NvbnRleHRfcHJvY2Vzc19tb2RlbF9nZXQoY29udGV4dCkpOworICAgIEFTU0VSVF9F
USgxLCBld2tfY29udGV4dF93ZWJfcHJvY2Vzc19jb3VudF9saW1pdF9nZXQoY29udGV4dCkpOwog
CiAgICAgRXdrX1BhZ2VfR3JvdXAqIHBhZ2VHcm91cCA9IGV3a192aWV3X3BhZ2VfZ3JvdXBfZ2V0
KHdlYlZpZXcoKSk7CiAgICAgRXZhcyogZXZhcyA9IGVjb3JlX2V2YXNfZ2V0KGJhY2tpbmdTdG9y
ZSgpKTsKQEAgLTE5MCwxMSArMTkwLDExIEBAIFRFU1RfRihFV0syQ29udGV4dFRlc3QsIGV3a19j
b250ZXh0X3dlYl8KICAgICBBU1NFUlRfRVEod2ViVmlldzFXZWJQcm9jZXNzSUQsIHdlYlZpZXcy
V2ViUHJvY2Vzc0lEKTsKIH0KIAotVEVTVF9GKEVXSzJDb250ZXh0VGVzdE11bHRpcGxlUHJvY2Vz
c2VzLCBld2tfY29udGV4dF93ZWJfcHJvY2Vzc19tb2RlbCkKK1RFU1RfRihFV0syQ29udGV4dFRl
c3RNdWx0aXBsZVByb2Nlc3NlcywgZXdrX2NvbnRleHRfd2ViX3Byb2Nlc3NfY291bnRfbGltaXQp
CiB7CiAgICAgRXdrX0NvbnRleHQqIGNvbnRleHQgPSBld2tfdmlld19jb250ZXh0X2dldCh3ZWJW
aWV3KCkpOwogCi0gICAgQVNTRVJUX0VRKEVXS19QUk9DRVNTX01PREVMX01VTFRJUExFX1NFQ09O
REFSWSwgZXdrX2NvbnRleHRfcHJvY2Vzc19tb2RlbF9nZXQoY29udGV4dCkpOworICAgIEFTU0VS
VF9FUSgwLCBld2tfY29udGV4dF93ZWJfcHJvY2Vzc19jb3VudF9saW1pdF9nZXQoY29udGV4dCkp
OwogCiAgICAgRXdrX1BhZ2VfR3JvdXAqIHBhZ2VHcm91cCA9IGV3a192aWV3X3BhZ2VfZ3JvdXBf
Z2V0KHdlYlZpZXcoKSk7CiAgICAgRXZhcyogZXZhcyA9IGVjb3JlX2V2YXNfZ2V0KGJhY2tpbmdT
dG9yZSgpKTsKQEAgLTIwOSwxMSArMjA5LDExIEBAIFRFU1RfRihFV0syQ29udGV4dFRlc3RNdWx0
aXBsZVByb2Nlc3NlcywKICAgICBBU1NFUlRfTkUod2ViVmlldzFXZWJQcm9jZXNzSUQsIHdlYlZp
ZXcyV2ViUHJvY2Vzc0lEKTsKIH0KIAotVEVTVF9GKEVXSzJDb250ZXh0VGVzdCwgZXdrX2NvbnRl
eHRfbmV0d29ya19wcm9jZXNzX21vZGVsKQorVEVTVF9GKEVXSzJDb250ZXh0VGVzdCwgZXdrX2Nv
bnRleHRfbmV0d29ya19wcm9jZXNzX2NvdW50X2xpbWl0KQogewogICAgIEV3a19Db250ZXh0KiBj
b250ZXh0ID0gZXdrX3ZpZXdfY29udGV4dF9nZXQod2ViVmlldygpKTsKIAotICAgIEFTU0VSVF9F
UShFV0tfUFJPQ0VTU19NT0RFTF9TSEFSRURfU0VDT05EQVJZLCBld2tfY29udGV4dF9wcm9jZXNz
X21vZGVsX2dldChjb250ZXh0KSk7CisgICAgQVNTRVJUX0VRKDEsIGV3a19jb250ZXh0X3dlYl9w
cm9jZXNzX2NvdW50X2xpbWl0X2dldChjb250ZXh0KSk7CiAKICAgICBFd2tfUGFnZV9Hcm91cCog
cGFnZUdyb3VwID0gZXdrX3ZpZXdfcGFnZV9ncm91cF9nZXQod2ViVmlldygpKTsKICAgICBFdmFz
KiBldmFzID0gZWNvcmVfZXZhc19nZXQoYmFja2luZ1N0b3JlKCkpOwpAQCAtMjMzLDExICsyMzMs
MTEgQEAgVEVTVF9GKEVXSzJDb250ZXh0VGVzdCwgZXdrX2NvbnRleHRfbmV0dwogICAgIEFTU0VS
VF9FUSh3ZWJWaWV3MU5ldHdvcmtQcm9jZXNzSUQsIHdlYlZpZXcyTmV0d29ya1Byb2Nlc3NJRCk7
CiB9CiAKLVRFU1RfRihFV0syQ29udGV4dFRlc3RNdWx0aXBsZVByb2Nlc3NlcywgZXdrX2NvbnRl
eHRfbmV0d29ya19wcm9jZXNzX21vZGVsKQorVEVTVF9GKEVXSzJDb250ZXh0VGVzdE11bHRpcGxl
UHJvY2Vzc2VzLCBld2tfY29udGV4dF9uZXR3b3JrX2NvdW50X2xpbWl0KQogewogICAgIEV3a19D
b250ZXh0KiBjb250ZXh0ID0gZXdrX3ZpZXdfY29udGV4dF9nZXQod2ViVmlldygpKTsKIAotICAg
IEFTU0VSVF9FUShFV0tfUFJPQ0VTU19NT0RFTF9NVUxUSVBMRV9TRUNPTkRBUlksIGV3a19jb250
ZXh0X3Byb2Nlc3NfbW9kZWxfZ2V0KGNvbnRleHQpKTsKKyAgICBBU1NFUlRfRVEoMCwgZXdrX2Nv
bnRleHRfd2ViX3Byb2Nlc3NfY291bnRfbGltaXRfZ2V0KGNvbnRleHQpKTsKIAogICAgIEV3a19Q
YWdlX0dyb3VwKiBwYWdlR3JvdXAgPSBld2tfdmlld19wYWdlX2dyb3VwX2dldCh3ZWJWaWV3KCkp
OwogICAgIEV2YXMqIGV2YXMgPSBlY29yZV9ldmFzX2dldChiYWNraW5nU3RvcmUoKSk7CkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VX
SzJVbml0VGVzdEJhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5jcHAJKHJldmlz
aW9uIDE5NDI5MykKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1Vu
aXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY5LDcg
KzY5LDcgQEAgdm9pZCBFV0syVW5pdFRlc3RCYXNlOjpTZXRVcCgpCiAgICAgICAgIG5ld0NvbnRl
eHQgPSBld2tfY29udGV4dF9uZXcoKTsKIAogICAgIGlmIChtX211bHRpcGxlUHJvY2Vzc2VzKQot
ICAgICAgICBld2tfY29udGV4dF9wcm9jZXNzX21vZGVsX3NldChuZXdDb250ZXh0LCBFV0tfUFJP
Q0VTU19NT0RFTF9NVUxUSVBMRV9TRUNPTkRBUlkpOworICAgICAgICBld2tfY29udGV4dF93ZWJf
cHJvY2Vzc19jb3VudF9saW1pdF9zZXQobmV3Q29udGV4dCwgMCk7CiAKICAgICBFd2tfUGFnZV9H
cm91cCogbmV3UGFnZUdyb3VwID0gZXdrX3BhZ2VfZ3JvdXBfY3JlYXRlKCJVbml0VGVzdCIpOwog
ICAgIG1fd2ViVmlldyA9IGV3a192aWV3X3NtYXJ0X2FkZChldmFzLCBzbWFydCwgbmV3Q29udGV4
dCwgbmV3UGFnZUdyb3VwKTsKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5NDI5MykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE1LTEyLTIwICBIdW5zZW9wIEplb25nICA8
aHM4NS5qZW9uZ0BzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXSB0ZXN0X2V3azJfY29udGV4
dCBmYWlsZWQgYWZ0ZXIgcjE5MjgwOAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTUxODQ2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVXNlZCB0aGUgYWRkZWQgZXdrX2NvbnRleHRfd2ViX3Byb2Nlc3NfY291
bnRfbGltaXRfc2V0IGFwaQorICAgICAgICBpbnN0ZWFkIG9mIHRoZSBkZXByZWNhdGVkIGV3a19j
b250ZXh0X3Byb2Nlc3NfbW9kZWxfc2V0LgorCisgICAgICAgICogTWluaUJyb3dzZXIvZWZsL21h
aW4uYzoKKyAgICAgICAgKGVsbV9tYWluKToKKwogMjAxNS0xMi0xOCAgTWljaGFlbCBDYXRhbnph
cm8gIDxtY2F0YW56YXJvQGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgYWRkIFdl
YktpdEdUSysgQnVnemlsbGEgZW1haWwgdG8gY29tbWl0dGVycyBsaXN0CkluZGV4OiBUb29scy9N
aW5pQnJvd3Nlci9lZmwvbWFpbi5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL01pbmlCcm93c2VyL2Vm
bC9tYWluLmMJKHJldmlzaW9uIDE5NDI5MykKKysrIFRvb2xzL01pbmlCcm93c2VyL2VmbC9tYWlu
LmMJKHdvcmtpbmcgY29weSkKQEAgLTI0NjQsNyArMjQ2NCw3IEBAIGVsbV9tYWluKGludCBhcmdj
LCBjaGFyICphcmd2W10pCiAgICAgRXdrX0NvbnRleHQgKmNvbnRleHQgPSBld2tfY29udGV4dF9k
ZWZhdWx0X2dldCgpOwogCiAgICAgaWYgKHNlcGFyYXRlZF9wcm9jZXNzX2VuYWJsZWQpCi0gICAg
ICAgIGV3a19jb250ZXh0X3Byb2Nlc3NfbW9kZWxfc2V0KGNvbnRleHQsIEVXS19QUk9DRVNTX01P
REVMX01VTFRJUExFX1NFQ09OREFSWSk7CisgICAgICAgIGV3a19jb250ZXh0X3dlYl9wcm9jZXNz
X2NvdW50X2xpbWl0X3NldChjb250ZXh0LCAwKTsKIAogICAgIC8vIEVuYWJsZSBmYXZpY29uIGRh
dGFiYXNlLgogICAgIGV3a19jb250ZXh0X2Zhdmljb25fZGF0YWJhc2VfZGlyZWN0b3J5X3NldChj
b250ZXh0LCBOVUxMKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>267778</attachid>
            <date>2015-12-21 21:02:11 -0800</date>
            <delta_ts>2015-12-21 21:51:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-151846-20151222140132.patch</filename>
            <type>text/plain</type>
            <size>12970</size>
            <attacher name="Hunseop Jeong">hs85.jeong</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5NDM1OCkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDE1LTEyLTIxICBIdW5zZW9w
IEplb25nICA8aHM4NS5qZW9uZ0BzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXSB0ZXN0X2V3
azJfY29udGV4dCBmYWlsZWQgYWZ0ZXIgcjE5MjgwOAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxODQ2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgR3l1
eW91bmcgS2ltLgorCisgICAgICAgIEFzIHdlIGNhbiBtYWtlIHRoZSBzaW5nbGUgV2ViUHJvY2Vz
cyBiZWhhdmlvciBieSBzZXR0aW5nIHRoZSBtaXhpbXVtIG51bWJlcgorICAgICAgICBvZiBXZWJQ
cm9jZXNzIHRvIDEgYWZ0ZXIgcjE5MjgwOCwgSSByZW1vdmUgdGhlIGV3a19jb250ZXh0X3Byb2Nl
c3NfbW9kZWxfe3NldHxnZXR9CisgICAgICAgIGFwaXMgYW5kIGFkZCB0aGUgZXdrX2NvbnRleHRf
d2ViX3Byb2Nlc3NfY291bnRfbGltaXRfe3NldHxnZXR9IGFwaXMgYW5kIHRlc3RzLgorCisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuY3BwOgorICAgICAgICAoRXdrQ29u
dGV4dDo6RXdrQ29udGV4dCk6CisgICAgICAgIChFd2tDb250ZXh0OjpzZXRQcm9jZXNzQ291bnRM
aW1pdCk6CisgICAgICAgIChFd2tDb250ZXh0Ojpwcm9jZXNzQ291bnRMaW1pdCk6CisgICAgICAg
IChld2tfY29udGV4dF93ZWJfcHJvY2Vzc19jb3VudF9saW1pdF9zZXQpOgorICAgICAgICAoZXdr
X2NvbnRleHRfd2ViX3Byb2Nlc3NfY291bnRfbGltaXRfZ2V0KToKKyAgICAgICAgKEV3a0NvbnRl
eHQ6OnNldFByb2Nlc3NNb2RlbCk6IERlbGV0ZWQuCisgICAgICAgIChFd2tDb250ZXh0Ojpwcm9j
ZXNzTW9kZWwpOiBEZWxldGVkLgorICAgICAgICAoZXdrX2NvbnRleHRfcHJvY2Vzc19tb2RlbF9z
ZXQpOiBEZWxldGVkLgorICAgICAgICAoZXdrX2NvbnRleHRfcHJvY2Vzc19tb2RlbF9nZXQpOiBE
ZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0Lmg6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfcHJpdmF0ZS5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5j
cHA6CisgICAgICAgIChFV0syVW5pdFRlc3Q6OkVXSzJVbml0VGVzdEJhc2U6OlNldFVwKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfY29udGV4dC5jcHA6Cisg
ICAgICAgIChURVNUX0YpOiBDaGFuZ2VkIHRoZSBld2tfY29udGV4dF97d2VifG5ldHdvcmt9X3By
b2Nlc3NfbW9kZWwgdGVzdHMgdG8KKyAgICAgICAgZXdrX2NvbnRleHRfe3dlYnxuZXR3b3JrfV9w
cm9jZXNzX2NvdW50X2xpbWl0IHRlc3RzLgorCiAyMDE1LTEyLTIxICBKb29uZ2h1biBQYXJrICA8
amg3MTgucGFya0BzYW1zdW5nLmNvbT4KIAogICAgICAgICBbV0syXVtFRkxdIFVzZSBjYWNoZURp
cmVjdG9yeUZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbiBhbmQgd2Vic2l0ZURhdGFEaXJlY3RvcnlG
aWxlU3lzdGVtUmVwcmVzZW50YXRpb24KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL2V3a19jb250ZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dC5jcHAJKHJldmlzaW9uIDE5NDM1OCkKKysrIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNzcsNiArNzcsMTAgQEAgRXdrQ29udGV4dDo6RXdrQ29udGV4dChXS0NvbnRleHRSZWYg
Y29udAogICAgICwgbV9qc0dsb2JhbENvbnRleHQobnVsbHB0cikKICAgICAsIG1fZXh0ZW5zaW9u
c1BhdGgoZXh0ZW5zaW9uc1BhdGgpCiB7CisgICAgLy8gRXdrQ29udGV4dCBtYWtlIHRoZSBjb250
ZXh0IHdpdGggdGhlIGxlZ2FjeSBvcHRpb25zLCBpdCBzZXQgdGhlIG1heGltdW0gcHJvY2VzcyBj
b3VudCB0byAxLgorICAgIC8vIG1fcHJvY2Vzc0NvdW50IGFsc28gc2V0IHRvIDEgdG8gYWxpZ24g
d2l0aCB0aGUgUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLgorICAgIG1fcHJvY2Vzc0NvdW50TGlt
aXQgPSAxOworICAgIAogICAgIENvbnRleHRNYXA6OkFkZFJlc3VsdCByZXN1bHQgPSBjb250ZXh0
TWFwKCkuYWRkKGNvbnRleHQsIHRoaXMpOwogICAgIEFTU0VSVF9VTlVTRUQocmVzdWx0LCByZXN1
bHQuaXNOZXdFbnRyeSk7CiAKQEAgLTI1NywxMyArMjYxLDE4IEBAIEV3a19DYWNoZV9Nb2RlbCBF
d2tDb250ZXh0OjpjYWNoZU1vZGVsKCkKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8RXdrX0NhY2hl
X01vZGVsPihXS0NvbnRleHRHZXRDYWNoZU1vZGVsKG1fY29udGV4dC5nZXQoKSkpOwogfQogCi12
b2lkIEV3a0NvbnRleHQ6OnNldFByb2Nlc3NNb2RlbChFd2tfUHJvY2Vzc19Nb2RlbCkKK3ZvaWQg
RXdrQ29udGV4dDo6c2V0UHJvY2Vzc0NvdW50TGltaXQodW5zaWduZWQgY291bnQpCiB7CisgICAg
aWYgKG1fcHJvY2Vzc0NvdW50TGltaXQgPT0gY291bnQpCisgICAgICAgIHJldHVybjsKKyAgICAK
KyAgICBtX3Byb2Nlc3NDb3VudExpbWl0ID0gY291bnQ7CisgICAgV0tDb250ZXh0U2V0TWF4aW11
bU51bWJlck9mUHJvY2Vzc2VzKG1fY29udGV4dC5nZXQoKSwgbV9wcm9jZXNzQ291bnRMaW1pdCk7
CiB9CiAKLUV3a19Qcm9jZXNzX01vZGVsIEV3a0NvbnRleHQ6OnByb2Nlc3NNb2RlbCgpIGNvbnN0
Cit1bnNpZ25lZCBFd2tDb250ZXh0Ojpwcm9jZXNzQ291bnRMaW1pdCgpIGNvbnN0CiB7Ci0gICAg
cmV0dXJuIEVXS19QUk9DRVNTX01PREVMX01VTFRJUExFX1NFQ09OREFSWTsKKyAgICByZXR1cm4g
bV9wcm9jZXNzQ291bnRMaW1pdDsKIH0KIAogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJ
KQpAQCAtNTM0LDE3ICs1NDMsNiBAQCB2b2lkIGV3a19jb250ZXh0X21lc3NhZ2VfZnJvbV9leHRl
bnNpb25zCiAgICAgaW1wbC0+c2V0TWVzc2FnZUZyb21FeHRlbnNpb25DYWxsYmFjayhjYWxsYmFj
aywgdXNlckRhdGEpOwogfQogCi1FaW5hX0Jvb2wgZXdrX2NvbnRleHRfcHJvY2Vzc19tb2RlbF9z
ZXQoRXdrX0NvbnRleHQqIGV3a0NvbnRleHQsIEV3a19Qcm9jZXNzX01vZGVsKQotewotICAgIEVX
S19PQkpfR0VUX0lNUExfT1JfUkVUVVJOKEV3a0NvbnRleHQsIGV3a0NvbnRleHQsIGltcGwsIGZh
bHNlKTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotRXdrX1Byb2Nlc3NfTW9kZWwgZXdrX2NvbnRl
eHRfcHJvY2Vzc19tb2RlbF9nZXQoY29uc3QgRXdrX0NvbnRleHQqIGV3a0NvbnRleHQpCi17Ci0g
ICAgcmV0dXJuIEVXS19QUk9DRVNTX01PREVMX01VTFRJUExFX1NFQ09OREFSWTsKLX0KLQogRXdr
X1RMU19FcnJvcl9Qb2xpY3kgZXdrX2NvbnRleHRfdGxzX2Vycm9yX3BvbGljeV9nZXQoY29uc3Qg
RXdrX0NvbnRleHQqIGNvbnRleHQpCiB7CiAgICAgRVdLX09CSl9HRVRfSU1QTF9PUl9SRVRVUk4o
Y29uc3QgRXdrQ29udGV4dCwgY29udGV4dCwgaW1wbCwgRVdLX1RMU19FUlJPUl9QT0xJQ1lfRkFJ
TCk7CkBAIC01NzgsMyArNTc2LDE4IEBAIHZvaWQgZXdrX2NvbnRleHRfdGxzX2NlcnRpZmljYXRl
X2Zvcl9ob3MKIAogICAgIGltcGwtPmFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9z
dChwZW0sIGhvc3QpOwogfQorCitFaW5hX0Jvb2wgZXdrX2NvbnRleHRfd2ViX3Byb2Nlc3NfY291
bnRfbGltaXRfc2V0KEV3a19Db250ZXh0KiBjb250ZXh0LCB1bnNpZ25lZCBjb3VudCkKK3sKKyAg
ICBFV0tfT0JKX0dFVF9JTVBMX09SX1JFVFVSTihFd2tDb250ZXh0LCBjb250ZXh0LCBpbXBsLCBm
YWxzZSk7CisKKyAgICBpbXBsLT5zZXRQcm9jZXNzQ291bnRMaW1pdChjb3VudCk7CisgICAgcmV0
dXJuIHRydWU7Cit9CisKK3Vuc2lnbmVkIGV3a19jb250ZXh0X3dlYl9wcm9jZXNzX2NvdW50X2xp
bWl0X2dldChjb25zdCBFd2tfQ29udGV4dCogY29udGV4dCkKK3sKKyAgICBFV0tfT0JKX0dFVF9J
TVBMX09SX1JFVFVSTihjb25zdCBFd2tDb250ZXh0LCBjb250ZXh0LCBpbXBsLCAwKTsKKyAgICAK
KyAgICByZXR1cm4gaW1wbC0+cHJvY2Vzc0NvdW50TGltaXQoKTsKK30KSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuaAkocmV2aXNpb24gMTk0
MzU4KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuaAko
d29ya2luZyBjb3B5KQpAQCAtOTIsMTkgKzkyLDYgQEAgZW51bSBFd2tfQ2FjaGVfTW9kZWwgewog
dHlwZWRlZiBlbnVtIEV3a19DYWNoZV9Nb2RlbCBFd2tfQ2FjaGVfTW9kZWw7CiAKIC8qKgotICog
XGVudW0gICAgRXdrX1Byb2Nlc3NfTW9kZWwKLSAqCi0gKiBAYnJpZWYgICBDb250YWlucyBvcHRp
b24gZm9yIHByb2Nlc3MgbW9kZWwKLSAqLwotZW51bSBFd2tfUHJvY2Vzc19Nb2RlbCB7Ci0gICAg
RVdLX1BST0NFU1NfTU9ERUxfU0hBUkVEX1NFQ09OREFSWSwKLSAgICBFV0tfUFJPQ0VTU19NT0RF
TF9NVUxUSVBMRV9TRUNPTkRBUlkKLX07Ci0KLS8vLyBDcmVhdGVzIGEgdHlwZSBuYW1lIGZvciB0
aGUgRXdrX1Byb2Nlc3NfTW9kZWwuCi10eXBlZGVmIGVudW0gRXdrX1Byb2Nlc3NfTW9kZWwgRXdr
X1Byb2Nlc3NfTW9kZWw7Ci0KLS8qKgogICogXGVudW0gICAgRXdrX1RMU19FcnJvcl9Qb2xpY3kK
ICAqCiAgKiBAYnJpZWYgICBDb250YWlucyBvcHRpb24gZm9yIFRMUyBlcnJvciBwb2xpY3kKQEAg
LTQ1NywzMCArNDQ0LDYgQEAgRUFQSSBFaW5hX0Jvb2wgZXdrX2NvbnRleHRfbWVzc2FnZV9wb3N0
XwogRUFQSSB2b2lkIGV3a19jb250ZXh0X21lc3NhZ2VfZnJvbV9leHRlbnNpb25zX2NhbGxiYWNr
X3NldChFd2tfQ29udGV4dCAqY29udGV4dCwgRXdrX0NvbnRleHRfTWVzc2FnZV9Gcm9tX0V4dGVu
c2lvbl9DYiBjYWxsYmFjaywgdm9pZCAqdXNlcl9kYXRhKTsKIAogLyoqCi0gKiBTZXRzIGEgcHJv
Y2VzcyBtb2RlbCBmb3IgQGEgY29udGV4dC4KLSAqCi0gKiBTZXRzIGEgcHJvY2VzcyBtb2RlbCBm
b3Igd2ViIHZpZXdzLCB3aGljaCB3aWxsIGJlIHVzZWQgdG8gZGVjaWRlIGhvdwotICogcHJvY2Vz
c2VzIHNob3VsZCBiZSBoYW5kbGVkLiBEZWZhdWx0IHZhbHVlIGlzCi0gKiBFV0tfUFJPQ0VTU19N
T0RFTF9TSEFSRURfU0VDT05EQVJZIHdoaWNoIG1lYW5zIHRoYXQgdGhlcmUgaXMgb25seSBvbmUK
LSAqIHdlYiBwcm9jZXNzLiBXaGVuIEVXS19QUk9DRVNTX01PREVMX01VTFRJUExFX1NFQ09OREFS
WSBpcyBzZXQgYQotICogbmV0d29yayBwcm9jZXNzIGlzIGludHJvZHVjZWQgYW5kIGV2ZXJ5IHdl
YiB2aWV3IHN0YXJ0cyBuZXcgd2ViIHByb2Nlc3MuCi0gKiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBi
ZSB1c2VkIGJlZm9yZSBmaXJzdCB3ZWIgcHJvY2VzcyBpcyBzcGF3bmVkLgotICoKLSAqIEBwYXJh
bSBjb250ZXh0IGNvbnRleHQgb2JqZWN0IHRvIHNldCBwcm9jZXNzIG1vZGVsCi0gKiBAcGFyYW0g
cHJvY2Vzc19tb2RlbCBhICNFd2tfUHJvY2Vzc19Nb2RlbAotICovCi1FQVBJIEVpbmFfQm9vbCBl
d2tfY29udGV4dF9wcm9jZXNzX21vZGVsX3NldChFd2tfQ29udGV4dCAqY29udGV4dCwgRXdrX1By
b2Nlc3NfTW9kZWwgcHJvY2Vzc19tb2RlbCk7Ci0KLS8qKgotICogR2V0cyB0aGUgcHJvY2VzcyBt
b2RlbCBmb3IgQGEgY29udGV4dC4KLSAqCi0gKiBAcGFyYW0gY29udGV4dCBjb250ZXh0IG9iamVj
dCB0byBxdWVyeQotICoKLSAqIEByZXR1cm4gdGhlIHByb2Nlc3MgbW9kZWwgZm9yIHRoZSBAYSBj
b250ZXh0Ci0gKi8KLUVBUEkgRXdrX1Byb2Nlc3NfTW9kZWwgZXdrX2NvbnRleHRfcHJvY2Vzc19t
b2RlbF9nZXQoY29uc3QgRXdrX0NvbnRleHQgKmNvbnRleHQpOwotCi0vKioKICAqIEdldHMgVExT
IGVycm9yIHBvbGljeSBmb3IgQGEgY29udGV4dC4KICAqCiAgKiBAcGFyYW0gY29udGV4dCBjb250
ZXh0IG9iamVjdCB0byBnZXQgVExTIGVycm9yIHBvbGljeQpAQCAtNTIyLDYgKzQ4NSwyNiBAQCBF
QVBJIHZvaWQgZXdrX2NvbnRleHRfcHJlZmVycmVkX2xhbmd1YWdlCiAgKi8KIEVBUEkgdm9pZCBl
d2tfY29udGV4dF90bHNfY2VydGlmaWNhdGVfZm9yX2hvc3RfYWxsb3coRXdrX0NvbnRleHQgKmNv
bnRleHQsIGNvbnN0IGNoYXIgKnBlbSwgY29uc3QgY2hhciAqaG9zdCk7CiAKKy8qKgorICogU2V0
cyB0aGUgbWF4aW11bSBudW1iZXIgb2Ygd2ViIHByb2Nlc3NlcyB0aGF0IGNhbiBiZSBjcmVhdGVk
IGF0IHRoZSBzYW1lIHRpbWUgZm9yIHRoZSBAYSBjb250ZXh0LgorICogVGhlIGRlZmF1bHQgdmFs
dWUgaXMgMCBhbmQgbWVhbnMgbm8gbGltaXQuCisgKgorICogQHBhcmFtIGNvbnRleHQgY29udGV4
dCBvYmplY3QgdG8gc2V0IHdlYnByb2Nlc3MgY291bnQgbGltaXQKKyAqIEBwYXJhbSBjb3VudCB0
aGUgbWF4aW11bSBudW1iZXIgb2Ygd2ViIHByb2Nlc3NlcworICoKKyAqIEByZXR1cm4gQGMgRUlO
QV9UUlVFIG9uIHN1Y2Nlc3Mgb3IgQGMgRUlOQV9GQUxTRSBvbiBmYWlsdXJlCisgKi8KK0VBUEkg
RWluYV9Cb29sIGV3a19jb250ZXh0X3dlYl9wcm9jZXNzX2NvdW50X2xpbWl0X3NldChFd2tfQ29u
dGV4dCAqY29udGV4dCwgdW5zaWduZWQgY291bnQpOworCisvKioKKyAqIEdldHMgdGhlIG1heGlt
dW0gbnVtYmVyIG9mIHdlYiBwcm9jZXNzZXMgdGhhdCBjYW4gYmUgY3JlYXRlZCBhdCB0aGUgc2Ft
ZSB0aW1lIGZvciB0aGUgQGEgY29udGV4dC4KKyAqCisgKiBAcGFyYW0gY29udGV4dCBjb250ZXh0
IG9iamVjdCB0byBnZXQgd2VicHJvY2VzcyBjb3VudCBsaW1pdAorICoKKyAqIEByZXR1cm4gdGhl
IG1heGltdW0gbnVtYmVyIG9mIHdlYiBwcm9jZXNzZXMsIG9yIDAgaWYgdGhlcmUgaXNuJ3QgYSBs
aW1pdAorICovCitFQVBJIHVuc2lnbmVkIGV3a19jb250ZXh0X3dlYl9wcm9jZXNzX2NvdW50X2xp
bWl0X2dldChjb25zdCBFd2tfQ29udGV4dCAqY29udGV4dCk7CisKICNpZmRlZiBfX2NwbHVzcGx1
cwogfQogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tf
Y29udGV4dF9wcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvZXdrX2NvbnRleHRfcHJpdmF0ZS5oCShyZXZpc2lvbiAxOTQzNTgpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9wcml2YXRlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTcxLDkgKzcxLDkgQEAgcHVibGljOgogCiAgICAgRXdrX0NhY2hlX01vZGVs
IGNhY2hlTW9kZWwoKSBjb25zdDsKIAotICAgIHZvaWQgc2V0UHJvY2Vzc01vZGVsKEV3a19Qcm9j
ZXNzX01vZGVsKTsKKyAgICB2b2lkIHNldFByb2Nlc3NDb3VudExpbWl0KHVuc2lnbmVkIGNvdW50
KTsKIAotICAgIEV3a19Qcm9jZXNzX01vZGVsIHByb2Nlc3NNb2RlbCgpIGNvbnN0OworICAgIHVu
c2lnbmVkIHByb2Nlc3NDb3VudExpbWl0KCkgY29uc3Q7CiAKICAgICBXS0NvbnRleHRSZWYgd2tD
b250ZXh0KCkgY29uc3QgeyByZXR1cm4gbV9jb250ZXh0LmdldCgpOyB9CiAKQEAgLTEyNiw2ICsx
MjYsNyBAQCBwcml2YXRlOgogICAgIEpTR2xvYmFsQ29udGV4dFJlZiBtX2pzR2xvYmFsQ29udGV4
dDsKIAogICAgIFN0cmluZyBtX2V4dGVuc2lvbnNQYXRoOworICAgIHVuc2lnbmVkIG1fcHJvY2Vz
c0NvdW50TGltaXQgeyAwIH07CiAKICAgICBzdHJ1Y3QgewogICAgICAgICBFd2tfQ29udGV4dF9N
ZXNzYWdlX0Zyb21fRXh0ZW5zaW9uX0NiIGNhbGxiYWNrOwpJbmRleDogU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX2NvbnRleHQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9jb250
ZXh0LmNwcAkocmV2aXNpb24gMTk0MzU4KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvdGVzdHMvdGVzdF9ld2syX2NvbnRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzEs
MTEgKzE3MSwxMSBAQCBURVNUX0YoRVdLMkNvbnRleHRUZXN0LCBld2tfY29udGV4dF9jYWNoCiAg
ICAgQVNTRVJUX0VRKEVXS19DQUNIRV9NT0RFTF9ET0NVTUVOVF9WSUVXRVIsIGV3a19jb250ZXh0
X2NhY2hlX21vZGVsX2dldChjb250ZXh0KSk7CiB9CiAKLVRFU1RfRihFV0syQ29udGV4dFRlc3Qs
IGV3a19jb250ZXh0X3dlYl9wcm9jZXNzX21vZGVsKQorVEVTVF9GKEVXSzJDb250ZXh0VGVzdCwg
ZXdrX2NvbnRleHRfd2ViX3Byb2Nlc3NfY291bnRfbGltaXQpCiB7CiAgICAgRXdrX0NvbnRleHQq
IGNvbnRleHQgPSBld2tfdmlld19jb250ZXh0X2dldCh3ZWJWaWV3KCkpOwogCi0gICAgQVNTRVJU
X0VRKEVXS19QUk9DRVNTX01PREVMX1NIQVJFRF9TRUNPTkRBUlksIGV3a19jb250ZXh0X3Byb2Nl
c3NfbW9kZWxfZ2V0KGNvbnRleHQpKTsKKyAgICBBU1NFUlRfRVEoMSwgZXdrX2NvbnRleHRfd2Vi
X3Byb2Nlc3NfY291bnRfbGltaXRfZ2V0KGNvbnRleHQpKTsKIAogICAgIEV3a19QYWdlX0dyb3Vw
KiBwYWdlR3JvdXAgPSBld2tfdmlld19wYWdlX2dyb3VwX2dldCh3ZWJWaWV3KCkpOwogICAgIEV2
YXMqIGV2YXMgPSBlY29yZV9ldmFzX2dldChiYWNraW5nU3RvcmUoKSk7CkBAIC0xOTAsMTEgKzE5
MCwxMSBAQCBURVNUX0YoRVdLMkNvbnRleHRUZXN0LCBld2tfY29udGV4dF93ZWJfCiAgICAgQVNT
RVJUX0VRKHdlYlZpZXcxV2ViUHJvY2Vzc0lELCB3ZWJWaWV3MldlYlByb2Nlc3NJRCk7CiB9CiAK
LVRFU1RfRihFV0syQ29udGV4dFRlc3RNdWx0aXBsZVByb2Nlc3NlcywgZXdrX2NvbnRleHRfd2Vi
X3Byb2Nlc3NfbW9kZWwpCitURVNUX0YoRVdLMkNvbnRleHRUZXN0TXVsdGlwbGVQcm9jZXNzZXMs
IGV3a19jb250ZXh0X3dlYl9wcm9jZXNzX2NvdW50X2xpbWl0KQogewogICAgIEV3a19Db250ZXh0
KiBjb250ZXh0ID0gZXdrX3ZpZXdfY29udGV4dF9nZXQod2ViVmlldygpKTsKIAotICAgIEFTU0VS
VF9FUShFV0tfUFJPQ0VTU19NT0RFTF9NVUxUSVBMRV9TRUNPTkRBUlksIGV3a19jb250ZXh0X3By
b2Nlc3NfbW9kZWxfZ2V0KGNvbnRleHQpKTsKKyAgICBBU1NFUlRfRVEoMCwgZXdrX2NvbnRleHRf
d2ViX3Byb2Nlc3NfY291bnRfbGltaXRfZ2V0KGNvbnRleHQpKTsKIAogICAgIEV3a19QYWdlX0dy
b3VwKiBwYWdlR3JvdXAgPSBld2tfdmlld19wYWdlX2dyb3VwX2dldCh3ZWJWaWV3KCkpOwogICAg
IEV2YXMqIGV2YXMgPSBlY29yZV9ldmFzX2dldChiYWNraW5nU3RvcmUoKSk7CkBAIC0yMDksMTEg
KzIwOSwxMSBAQCBURVNUX0YoRVdLMkNvbnRleHRUZXN0TXVsdGlwbGVQcm9jZXNzZXMsCiAgICAg
QVNTRVJUX05FKHdlYlZpZXcxV2ViUHJvY2Vzc0lELCB3ZWJWaWV3MldlYlByb2Nlc3NJRCk7CiB9
CiAKLVRFU1RfRihFV0syQ29udGV4dFRlc3QsIGV3a19jb250ZXh0X25ldHdvcmtfcHJvY2Vzc19t
b2RlbCkKK1RFU1RfRihFV0syQ29udGV4dFRlc3QsIGV3a19jb250ZXh0X25ldHdvcmtfcHJvY2Vz
c19jb3VudF9saW1pdCkKIHsKICAgICBFd2tfQ29udGV4dCogY29udGV4dCA9IGV3a192aWV3X2Nv
bnRleHRfZ2V0KHdlYlZpZXcoKSk7CiAKLSAgICBBU1NFUlRfRVEoRVdLX1BST0NFU1NfTU9ERUxf
U0hBUkVEX1NFQ09OREFSWSwgZXdrX2NvbnRleHRfcHJvY2Vzc19tb2RlbF9nZXQoY29udGV4dCkp
OworICAgIEFTU0VSVF9FUSgxLCBld2tfY29udGV4dF93ZWJfcHJvY2Vzc19jb3VudF9saW1pdF9n
ZXQoY29udGV4dCkpOwogCiAgICAgRXdrX1BhZ2VfR3JvdXAqIHBhZ2VHcm91cCA9IGV3a192aWV3
X3BhZ2VfZ3JvdXBfZ2V0KHdlYlZpZXcoKSk7CiAgICAgRXZhcyogZXZhcyA9IGVjb3JlX2V2YXNf
Z2V0KGJhY2tpbmdTdG9yZSgpKTsKQEAgLTIzMywxMSArMjMzLDExIEBAIFRFU1RfRihFV0syQ29u
dGV4dFRlc3QsIGV3a19jb250ZXh0X25ldHcKICAgICBBU1NFUlRfRVEod2ViVmlldzFOZXR3b3Jr
UHJvY2Vzc0lELCB3ZWJWaWV3Mk5ldHdvcmtQcm9jZXNzSUQpOwogfQogCi1URVNUX0YoRVdLMkNv
bnRleHRUZXN0TXVsdGlwbGVQcm9jZXNzZXMsIGV3a19jb250ZXh0X25ldHdvcmtfcHJvY2Vzc19t
b2RlbCkKK1RFU1RfRihFV0syQ29udGV4dFRlc3RNdWx0aXBsZVByb2Nlc3NlcywgZXdrX2NvbnRl
eHRfbmV0d29ya19jb3VudF9saW1pdCkKIHsKICAgICBFd2tfQ29udGV4dCogY29udGV4dCA9IGV3
a192aWV3X2NvbnRleHRfZ2V0KHdlYlZpZXcoKSk7CiAKLSAgICBBU1NFUlRfRVEoRVdLX1BST0NF
U1NfTU9ERUxfTVVMVElQTEVfU0VDT05EQVJZLCBld2tfY29udGV4dF9wcm9jZXNzX21vZGVsX2dl
dChjb250ZXh0KSk7CisgICAgQVNTRVJUX0VRKDAsIGV3a19jb250ZXh0X3dlYl9wcm9jZXNzX2Nv
dW50X2xpbWl0X2dldChjb250ZXh0KSk7CiAKICAgICBFd2tfUGFnZV9Hcm91cCogcGFnZUdyb3Vw
ID0gZXdrX3ZpZXdfcGFnZV9ncm91cF9nZXQod2ViVmlldygpKTsKICAgICBFdmFzKiBldmFzID0g
ZWNvcmVfZXZhc19nZXQoYmFja2luZ1N0b3JlKCkpOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0
VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuY3BwCShyZXZpc2lvbiAxOTQzNTgpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0
VGVzdEJhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02OSw3ICs2OSw3IEBAIHZvaWQgRVdLMlVu
aXRUZXN0QmFzZTo6U2V0VXAoKQogICAgICAgICBuZXdDb250ZXh0ID0gZXdrX2NvbnRleHRfbmV3
KCk7CiAKICAgICBpZiAobV9tdWx0aXBsZVByb2Nlc3NlcykKLSAgICAgICAgZXdrX2NvbnRleHRf
cHJvY2Vzc19tb2RlbF9zZXQobmV3Q29udGV4dCwgRVdLX1BST0NFU1NfTU9ERUxfTVVMVElQTEVf
U0VDT05EQVJZKTsKKyAgICAgICAgZXdrX2NvbnRleHRfd2ViX3Byb2Nlc3NfY291bnRfbGltaXRf
c2V0KG5ld0NvbnRleHQsIDApOwogCiAgICAgRXdrX1BhZ2VfR3JvdXAqIG5ld1BhZ2VHcm91cCA9
IGV3a19wYWdlX2dyb3VwX2NyZWF0ZSgiVW5pdFRlc3QiKTsKICAgICBtX3dlYlZpZXcgPSBld2tf
dmlld19zbWFydF9hZGQoZXZhcywgc21hcnQsIG5ld0NvbnRleHQsIG5ld1BhZ2VHcm91cCk7Cklu
ZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZp
c2lvbiAxOTQzNTgpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwxNiBAQAorMjAxNS0xMi0yMSAgSHVuc2VvcCBKZW9uZyAgPGhzODUuamVvbmdAc2Ftc3VuZy5j
b20+CisKKyAgICAgICAgW0VGTF0gdGVzdF9ld2syX2NvbnRleHQgZmFpbGVkIGFmdGVyIHIxOTI4
MDgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MTg0
NgorCisgICAgICAgIFJldmlld2VkIGJ5IEd5dXlvdW5nIEtpbS4KKworICAgICAgICBVc2VkIHRo
ZSBhZGRlZCBld2tfY29udGV4dF93ZWJfcHJvY2Vzc19jb3VudF9saW1pdF9zZXQgYXBpCisgICAg
ICAgIGluc3RlYWQgb2YgdGhlIGRlcHJlY2F0ZWQgZXdrX2NvbnRleHRfcHJvY2Vzc19tb2RlbF9z
ZXQuCisKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9lZmwvbWFpbi5jOgorICAgICAgICAoZWxtX21h
aW4pOgorCiAyMDE1LTEyLTIxICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlh
LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBtb3ZlIG15c2VsZiB0byByZXZpZXdlciBsaXN0
LgpJbmRleDogVG9vbHMvTWluaUJyb3dzZXIvZWZsL21haW4uYwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9NaW5pQnJvd3Nlci9lZmwvbWFpbi5jCShyZXZpc2lvbiAxOTQzNTgpCisrKyBUb29scy9NaW5p
QnJvd3Nlci9lZmwvbWFpbi5jCSh3b3JraW5nIGNvcHkpCkBAIC0yNDY0LDcgKzI0NjQsNyBAQCBl
bG1fbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAgIEV3a19Db250ZXh0ICpjb250ZXh0
ID0gZXdrX2NvbnRleHRfZGVmYXVsdF9nZXQoKTsKIAogICAgIGlmIChzZXBhcmF0ZWRfcHJvY2Vz
c19lbmFibGVkKQotICAgICAgICBld2tfY29udGV4dF9wcm9jZXNzX21vZGVsX3NldChjb250ZXh0
LCBFV0tfUFJPQ0VTU19NT0RFTF9NVUxUSVBMRV9TRUNPTkRBUlkpOworICAgICAgICBld2tfY29u
dGV4dF93ZWJfcHJvY2Vzc19jb3VudF9saW1pdF9zZXQoY29udGV4dCwgMCk7CiAKICAgICAvLyBF
bmFibGUgZmF2aWNvbiBkYXRhYmFzZS4KICAgICBld2tfY29udGV4dF9mYXZpY29uX2RhdGFiYXNl
X2RpcmVjdG9yeV9zZXQoY29udGV4dCwgTlVMTCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>