<?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>147256</bug_id>
          
          <creation_ts>2015-07-24 00:54:50 -0700</creation_ts>
          <short_desc>[CoordinatedGraphics] Rearrange uses of USE_COORDINATED_GRAPHICS_MULTIPROCESS</short_desc>
          <delta_ts>2015-08-03 18:17:16 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gyuyoung Kim">gyuyoung.kim</reporter>
          <assigned_to name="Gyuyoung Kim">gyuyoung.kim</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ossy</cc>
    
    <cc>yoon</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1111943</commentid>
    <comment_count>0</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-07-24 00:54:50 -0700</bug_when>
    <thetext>CoordinatedGraphics can work only when COORDINATED_GRAPHICS_MULTIPROCESS is enabled because the codes are already too coupled with whole WK2&apos;s coordinated graphics implementation. Even it is almost impossible to build WebKit EFL with disabling the COORDINATED_GRAPHICS_MULTIPROCESS guard. So I would recommend to remove this guard and let&apos;s only support COORDINATED_GRAPHICS_THREADED guard for EFL and GTK ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111945</commentid>
    <comment_count>1</comment_count>
      <attachid>257445</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-07-24 01:01:09 -0700</bug_when>
    <thetext>Created attachment 257445
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111950</commentid>
    <comment_count>2</comment_count>
      <attachid>257445</attachid>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2015-07-24 01:18:28 -0700</bug_when>
    <thetext>Comment on attachment 257445
Patch

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

&gt; Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp:42
&gt;  #include &quot;CoordinatedDrawingArea.h&quot;

If we remove COORDINATED_GRAPHICS_MULTIPROCESS, we cannot separate MULTIPROCESS specific part of codes from THREADED mode.
For instance, the threaded mode do not uses CoordinatedDrawingArea.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111951</commentid>
    <comment_count>3</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-07-24 01:40:17 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 257445 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=257445&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp:42
&gt; &gt;  #include &quot;CoordinatedDrawingArea.h&quot;
&gt; 
&gt; If we remove COORDINATED_GRAPHICS_MULTIPROCESS, we cannot separate
&gt; MULTIPROCESS specific part of codes from THREADED mode.
&gt; For instance, the threaded mode do not uses CoordinatedDrawingArea.

Can&apos;t we use COORDINATED_GRAPHICS_THREADED guard for the specific part ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111954</commentid>
    <comment_count>4</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-07-24 01:49:01 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; Comment on attachment 257445 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=257445&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp:42
&gt; &gt; &gt;  #include &quot;CoordinatedDrawingArea.h&quot;
&gt; &gt; 
&gt; &gt; If we remove COORDINATED_GRAPHICS_MULTIPROCESS, we cannot separate
&gt; &gt; MULTIPROCESS specific part of codes from THREADED mode.
&gt; &gt; For instance, the threaded mode do not uses CoordinatedDrawingArea.
&gt; 
&gt; Can&apos;t we use COORDINATED_GRAPHICS_THREADED guard for the specific part ?

Many codes are related with COORDINATED_GRAPHICS_MULTIPROCESS guard though, it didn&apos;t use it. So now we can&apos;t build WebKit, and even if we succeed to build WebKit disabled COORDINATED_GRAPHICS_MULTIPROCESS, I guess it doesn&apos;t work. That&apos;s why I suggest to use COORDINATED_GRAPHICS_MULTIPROCESS by default.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111966</commentid>
    <comment_count>5</comment_count>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2015-07-24 05:09:24 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; (In reply to comment #2)
&gt; &gt; &gt; Comment on attachment 257445 [details]
&gt; &gt; &gt; Patch
&gt; &gt; &gt; 
&gt; &gt; &gt; View in context:
&gt; &gt; &gt; https://bugs.webkit.org/attachment.cgi?id=257445&amp;action=review
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp:42
&gt; &gt; &gt; &gt;  #include &quot;CoordinatedDrawingArea.h&quot;
&gt; &gt; &gt; 
&gt; &gt; &gt; If we remove COORDINATED_GRAPHICS_MULTIPROCESS, we cannot separate
&gt; &gt; &gt; MULTIPROCESS specific part of codes from THREADED mode.
&gt; &gt; &gt; For instance, the threaded mode do not uses CoordinatedDrawingArea.
&gt; &gt; 
&gt; &gt; Can&apos;t we use COORDINATED_GRAPHICS_THREADED guard for the specific part ?
&gt; 
&gt; Many codes are related with COORDINATED_GRAPHICS_MULTIPROCESS guard though,
&gt; it didn&apos;t use it. So now we can&apos;t build WebKit, and even if we succeed to
&gt; build WebKit disabled COORDINATED_GRAPHICS_MULTIPROCESS, I guess it doesn&apos;t
&gt; work. That&apos;s why I suggest to use COORDINATED_GRAPHICS_MULTIPROCESS by
&gt; default.

COORDINATED_GRAPHICS_MULTIPROCESS is stands for to distinguish codes which are specific to process mode.
If we remove COORDINATED_GRAPHICS_MULTIPROCESS, we need to use !USE(COORDINATED_GRAPHICS_THREADED). However, I don&apos;t like it: I&apos;ll interpret this as a single thread mode instead of process mode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112251</commentid>
    <comment_count>6</comment_count>
      <attachid>257524</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-07-25 18:18:59 -0700</bug_when>
    <thetext>Created attachment 257524
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112253</commentid>
    <comment_count>7</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-07-25 18:29:04 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; (In reply to comment #3)
&gt; &gt; &gt; (In reply to comment #2)
&gt; &gt; &gt; &gt; Comment on attachment 257445 [details]
&gt; &gt; &gt; &gt; Patch
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; View in context:
&gt; &gt; &gt; &gt; https://bugs.webkit.org/attachment.cgi?id=257445&amp;action=review
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp:42
&gt; &gt; &gt; &gt; &gt;  #include &quot;CoordinatedDrawingArea.h&quot;
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; If we remove COORDINATED_GRAPHICS_MULTIPROCESS, we cannot separate
&gt; &gt; &gt; &gt; MULTIPROCESS specific part of codes from THREADED mode.
&gt; &gt; &gt; &gt; For instance, the threaded mode do not uses CoordinatedDrawingArea.
&gt; &gt; &gt; 
&gt; &gt; &gt; Can&apos;t we use COORDINATED_GRAPHICS_THREADED guard for the specific part ?
&gt; &gt; 
&gt; &gt; Many codes are related with COORDINATED_GRAPHICS_MULTIPROCESS guard though,
&gt; &gt; it didn&apos;t use it. So now we can&apos;t build WebKit, and even if we succeed to
&gt; &gt; build WebKit disabled COORDINATED_GRAPHICS_MULTIPROCESS, I guess it doesn&apos;t
&gt; &gt; work. That&apos;s why I suggest to use COORDINATED_GRAPHICS_MULTIPROCESS by
&gt; &gt; default.
&gt; 
&gt; COORDINATED_GRAPHICS_MULTIPROCESS is stands for to distinguish codes which
&gt; are specific to process mode.
&gt; If we remove COORDINATED_GRAPHICS_MULTIPROCESS, we need to use
&gt; !USE(COORDINATED_GRAPHICS_THREADED). However, I don&apos;t like it: I&apos;ll
&gt; interpret this as a single thread mode instead of process mode.

I see. However I still think that we need to re-arrange use of COORDINATED_GRAPHICS_MULTIPROCESS and COORDINATED_GRAPHICS_THREADED because those things have not been maintained so far. (Even I fail to build latest WebKit GTK with &quot;--threaded-compositor&quot;.) This patch is probably first movement to maintain coordinated graphics from my side. 

Anyway I keep COORDINATED_GRAPHICS_MULTIPROCESS to distinguish between process model and threaded model. However I&apos;d like to remove COORDINATED_GRAPHICS_MULTIPROCESS and COORDINATED_GRAPHICS_THREADED in future, then we will use one of those features using a setting flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112371</commentid>
    <comment_count>8</comment_count>
      <attachid>257524</attachid>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2015-07-26 23:37:10 -0700</bug_when>
    <thetext>Comment on attachment 257524
Patch

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

I&apos;m agree to clean up multiprocess part of coordinated graphics, because it is too coupled with webview and webkit2 api, which makes complicated code structure.
However, I&apos;m not sure to switch threaded / process model in runtime. Because it looks too complicated.
Maybe clean up UI Process part first would be preferable.

&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:125
&gt;  #include &quot;CoordinatedLayerTreeHostProxyMessages.h&quot;

I&apos;m not sure whether we should include CoordinaedLayerTreeHostProxy in the threaded mode.

&gt; Source/WebKit2/WebProcess/WebPage/WebPage.h:1079
&gt;      void findZoomableAreaForPoint(const WebCore::IntPoint&amp;, const WebCore::IntSize&amp; area);

This message is specific to MULTIPROCESS, do you want to implement in the threaded compositor, too?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112386</commentid>
    <comment_count>9</comment_count>
      <attachid>257553</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-07-27 01:40:33 -0700</bug_when>
    <thetext>Created attachment 257553
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112387</commentid>
    <comment_count>10</comment_count>
      <attachid>257524</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-07-27 01:41:47 -0700</bug_when>
    <thetext>Comment on attachment 257524
Patch

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

&gt;&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:125
&gt;&gt;  #include &quot;CoordinatedLayerTreeHostProxyMessages.h&quot;
&gt; 
&gt; I&apos;m not sure whether we should include CoordinaedLayerTreeHostProxy in the threaded mode.

Done.

&gt;&gt; Source/WebKit2/WebProcess/WebPage/WebPage.h:1079
&gt;&gt;      void findZoomableAreaForPoint(const WebCore::IntPoint&amp;, const WebCore::IntSize&amp; area);
&gt; 
&gt; This message is specific to MULTIPROCESS, do you want to implement in the threaded compositor, too?

Ok. I continue to use COORDINATED_GRAPHICS_MULTIPROCESS for findZoomableAreaForPoint().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112403</commentid>
    <comment_count>11</comment_count>
      <attachid>257553</attachid>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2015-07-27 06:42:10 -0700</bug_when>
    <thetext>Comment on attachment 257553
Patch

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

&gt; Source/WebKit2/WebProcess/WebPage/DrawingArea.h:-115
&gt; -#if USE(COORDINATED_GRAPHICS_MULTIPROCESS)

In threaded mode, we are not using CoordinatedLayerTreeHostMessage, so it should not be added.

&gt; Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.h:77
&gt; +#if USE(COORDINATED_GRAPHICS)

Ditto.

&gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:-215
&gt; -#if USE(COORDINATED_GRAPHICS_MULTIPROCESS)

Because in threaded mode we are not using CoordinatedLayerTreeHostMessages, 
It would be remained as _MULTIPROCESS

&gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:-494
&gt; -#if USE(COORDINATED_GRAPHICS_MULTIPROCESS)

Ditto

&gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:-589
&gt; -#if USE(COORDINATED_GRAPHICS_MULTIPROCESS)

Ditto

&gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:-3615
&gt; -#if USE(COORDINATED_GRAPHICS_MULTIPROCESS)

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113058</commentid>
    <comment_count>12</comment_count>
      <attachid>257741</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-07-29 01:09:25 -0700</bug_when>
    <thetext>Created attachment 257741
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113075</commentid>
    <comment_count>13</comment_count>
      <attachid>257746</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-07-29 06:22:05 -0700</bug_when>
    <thetext>Created attachment 257746
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113076</commentid>
    <comment_count>14</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-07-29 06:24:08 -0700</bug_when>
    <thetext>Yoon, for your information I succeed to build WebKit GTK with --threaded-compositor option.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113320</commentid>
    <comment_count>15</comment_count>
      <attachid>257746</attachid>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2015-07-29 23:33:36 -0700</bug_when>
    <thetext>Comment on attachment 257746
Patch

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

except some nitpik, I like this first step.

&gt; Source/WebKit2/ChangeLog:9
&gt; +        breaks when USE_COORDINATED_GRAPHICS_MULTIPROCESS is off.

I think this patch is a first step to enable COORDINATED_GRAPHICS_MULTIPROCESS and COORDINATED_GRAPHICS_THREADED in EFL and GTK port.

&gt; Source/WebKit2/UIProcess/CoordinatedGraphics/WebPageProxyCoordinatedGraphics.cpp:53
&gt; +#endif

I like this approach to mark coordinated graphics specific part in UI Process.

&gt; Source/WebKit2/UIProcess/WebPageProxy.h:532
&gt;  #endif

WebPageProxy::didRenderFrame is only used in multiprocess mode,
As you guard it explicitly at above modification: CoordinatedLayerTreeHostProxy.cpp.

&gt; Source/WebKit2/UIProcess/WebPageProxy.h:615
&gt;  #endif

WebPageProxy::commitPageTransitionViewport is also used in multiprocess mode.
I think we don&apos;t have to handle this in WebPage in threaded mode, too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113326</commentid>
    <comment_count>16</comment_count>
      <attachid>257823</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-07-30 01:22:44 -0700</bug_when>
    <thetext>Created attachment 257823
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113327</commentid>
    <comment_count>17</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-07-30 01:23:47 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; Comment on attachment 257746 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=257746&amp;action=review
&gt; 
&gt; except some nitpik, I like this first step.

Thanks !

&gt; 
&gt; &gt; Source/WebKit2/ChangeLog:9
&gt; &gt; +        breaks when USE_COORDINATED_GRAPHICS_MULTIPROCESS is off.
&gt; 
&gt; I think this patch is a first step to enable
&gt; COORDINATED_GRAPHICS_MULTIPROCESS and COORDINATED_GRAPHICS_THREADED in EFL
&gt; and GTK port.
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/CoordinatedGraphics/WebPageProxyCoordinatedGraphics.cpp:53
&gt; &gt; +#endif
&gt; 
&gt; I like this approach to mark coordinated graphics specific part in UI
&gt; Process.
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/WebPageProxy.h:532
&gt; &gt;  #endif
&gt; 
&gt; WebPageProxy::didRenderFrame is only used in multiprocess mode,
&gt; As you guard it explicitly at above modification:
&gt; CoordinatedLayerTreeHostProxy.cpp.
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/WebPageProxy.h:615
&gt; &gt;  #endif
&gt; 
&gt; WebPageProxy::commitPageTransitionViewport is also used in multiprocess mode.
&gt; I think we don&apos;t have to handle this in WebPage in threaded mode, too.

Ok, all done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113387</commentid>
    <comment_count>18</comment_count>
      <attachid>257837</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-07-30 09:36:21 -0700</bug_when>
    <thetext>Created attachment 257837
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113661</commentid>
    <comment_count>19</comment_count>
      <attachid>257837</attachid>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2015-07-30 23:06:58 -0700</bug_when>
    <thetext>Comment on attachment 257837
Patch

Looks good to me!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114179</commentid>
    <comment_count>20</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-08-03 07:20:47 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; Comment on attachment 257837 [details]
&gt; Patch
&gt; 
&gt; Looks good to me!

Ossy, could you take a look this ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114412</commentid>
    <comment_count>21</comment_count>
      <attachid>257837</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-08-03 15:29:30 -0700</bug_when>
    <thetext>Comment on attachment 257837
Patch

rs=me.

I am not really familiar with that code but I don&apos;t see anything wrong with this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114475</commentid>
    <comment_count>22</comment_count>
      <attachid>257837</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-08-03 18:17:10 -0700</bug_when>
    <thetext>Comment on attachment 257837
Patch

Clearing flags on attachment: 257837

Committed r187795: &lt;http://trac.webkit.org/changeset/187795&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114476</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-08-03 18:17:16 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257445</attachid>
            <date>2015-07-24 01:01:09 -0700</date>
            <delta_ts>2015-07-25 18:18:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147256-20150724165952.patch</filename>
            <type>text/plain</type>
            <size>19255</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3MjgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZDI0YjQ3MjNkZjJkZjY0
YjBkYTNiNjEwMzI4YzNiOWMyMmFmNzA5NC4uZDkzOWUwNDQwYjQ5NDg3MjM3YzRlY2Q1ZjNkODY1
MmQ2ZjBmNjhlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE1LTA3LTI0ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBbQ29vcmRpbmF0
ZWRHcmFwaGljc10gUmVtb3ZlIFVTRV9DT09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzI1Ngor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENvb3JkaW5h
dGVkR3JhcGhpY3MncyBhYmxlIHRvIHdvcmsgb25seSB3aGVuIENPT1JESU5BVEVEX0dSQVBISUNT
X01VTFRJUFJPQ0VTUyBndWFyZCBpcyBlbmFibGVkIGJlY2F1c2UKKyAgICAgICAgdGhlIGNvZGVz
IGFyZSBhbHJlYWR5IHRvbyBjb3VwbGVkIHdpdGggY29vcmRpbmF0ZWQgZ3JhcGhpY3MgaW1wbGVt
ZW50YXRpb24uIFNvIHRoaXMgcGF0Y2ggcmVtb3ZlcyB0aGUgZ3VhcmRzCisgICAgICAgIGFuZCBr
ZWVwIENPT1JESU5BVEVEX0dSQVBISUNTX1RIUkVBREVEIGd1YXJkLiBUaHVzIGNvb3JkaW5hdGVk
IGdyYXBoaWNzIGJlZ2lucyB0byB3b3JrIHdpdGggbXVsdGlwbGUgcHJvY2VzcyBtb2RlCisgICAg
ICAgIGJ5IGRlZmF1bHQuIElmIHdlIGVuYWJsZSBVU0VfQ09PUkRJTkFURURfR1JBUEhJQ1NfVEhS
RUFERUQgZ3VhcmQsIGl0IHdpbGwgd29yayBhcyB0aHJlYWRlZCBtb2RlLgorCisgICAgICAgICog
U2hhcmVkL0RyYXdpbmdBcmVhSW5mby5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRl
ZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Lmg6CisgICAgICAgICogVUlQ
cm9jZXNzL1BhZ2VDbGllbnQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhLmNwcDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERy
YXdpbmdBcmVhLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWE6OmNyZWF0ZSk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL0xheWVyVHJlZUhvc3QuY3BwOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVIb3N0Ojpj
cmVhdGUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0Lmg6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0
OjptX3Nob3VsZERpc3BhdGNoRmFrZU1vdXNlTW92ZUV2ZW50cyk6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2U6On5XZWJQYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cGFnZURpZFJl
cXVlc3RTY3JvbGwpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpkaWRDb21wbGV0ZVBhZ2VU
cmFuc2l0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZGlkUmVjZWl2ZU1lc3NhZ2Up
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpzZW5kVmlld3BvcnRBdHRyaWJ1dGVzQ2hhbmdl
ZCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKwogMjAxNS0w
Ny0yMyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFJlbW92ZSBjb21waWxlIGFuZCBydW50aW1lIGZsYWdzIGZvciBwcm9taXNlcy4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9EcmF3aW5nQXJlYUluZm8uaCBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9EcmF3aW5nQXJlYUluZm8uaAppbmRleCAxYjZkYTUyZTRkNGJiMjU3Y2E1
MWYzZDU4NDcyM2E5NTkyMTlhYWVkLi43NmY0NDFlYTg5OGQxZGNiYjViY2UwYzkwODBlZWM4MjI3
NWMyNzUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRHJhd2luZ0FyZWFJbmZv
LmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0RyYXdpbmdBcmVhSW5mby5oCkBAIC0zNSwx
MCArMzUsMTAgQEAgZW51bSBEcmF3aW5nQXJlYVR5cGUgewogI2VuZGlmCiAgICAgRHJhd2luZ0Fy
ZWFUeXBlUmVtb3RlTGF5ZXJUcmVlLAogI2Vsc2UKLSNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJ
Q1NfTVVMVElQUk9DRVNTKQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKICAgICBEcmF3
aW5nQXJlYVR5cGVDb29yZGluYXRlZAogI2Vsc2UKLSAgICBEcmF3aW5nQXJlYVR5cGVJbXBsLAor
ICAgIERyYXdpbmdBcmVhVHlwZUltcGwKICNlbmRpZgogI2VuZGlmCiB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRM
YXllclRyZWVIb3N0UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRl
ZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmgKaW5kZXggMDQ2NWI2OWZm
OTQ1MWFiODFhOWRmNTUyODQ5OTQ2OWZjMTdiYTY4NC4uZDY5ZmExN2IxODRmNmRkZmEyYWRmZGQ4
OTZiN2EzYmFmYmY0MzIzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExh
eWVyVHJlZUhvc3RQcm94eS5oCkBAIC0yMSw3ICsyMSw3IEBACiAjaWZuZGVmIENvb3JkaW5hdGVk
TGF5ZXJUcmVlSG9zdFByb3h5X2gKICNkZWZpbmUgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJv
eHlfaAogCi0jaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUykKKyNpZiBV
U0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAKICNpbmNsdWRlICJDb29yZGluYXRlZEdyYXBoaWNz
QXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUuaCIK
QEAgLTY5LDYgKzY5LDYgQEAgcHJvdGVjdGVkOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAot
I2VuZGlmIC8vIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpCisjZW5kaWYg
Ly8gVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogCiAjZW5kaWYgLy8gQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0UHJveHlfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Bh
Z2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKaW5kZXgg
MTYzOGNjNDBhZTA5ODMyMGQwOWQ4OGZhZDNkOTkxMGY3OTliZDdhYS4uMzQ4ZTBiYjFkMmQzMzc2
ZGI2OWYyZDVlODY5ZTNjYmExNjYyODI2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNs
aWVudC5oCkBAIC0xMzgsNyArMTM4LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGRp
ZENvbW1pdExvYWRGb3JNYWluRnJhbWUoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgYm9vbCB1c2VD
dXN0b21Db250ZW50UHJvdmlkZXIpID0gMDsKIAotI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElD
U19NVUxUSVBST0NFU1MpCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogICAgIHZpcnR1
YWwgdm9pZCBwYWdlRGlkUmVxdWVzdFNjcm9sbChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpID0g
MDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVuZGVyRnJhbWUoY29uc3QgV2ViQ29yZTo6SW50U2l6
ZSYgY29udGVudHNTaXplLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBjb3ZlcmVkUmVjdCkgPSAw
OwogICAgIHZpcnR1YWwgdm9pZCBwYWdlVHJhbnNpdGlvblZpZXdwb3J0UmVhZHkoKSA9IDA7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IGQ3ZWJmYzgwNjk5
NjI4MTUyZDM1MDEyNzk3NTc3ZDllZjhjNjJmNTEuLjE4ZmI1YzYwNDRmODUxNmRiNDFlN2U5Y2I5
ZDFlZjZlOTVlNzE2ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwCkBAIC0xMjEsNyArMTIxLDcgQEAKICNpbmNsdWRlICJSZW1vdGVTY3JvbGxpbmdDb29yZGlu
YXRvclByb3h5LmgiCiAjZW5kaWYKIAotI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19NVUxU
SVBST0NFU1MpCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogI2luY2x1ZGUgIkNvb3Jk
aW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5TWVzc2FnZXMuaCIKICNlbmRpZgogCkBAIC0xNTc3LDcg
KzE1NzcsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ29tbWl0TGF5ZXJUcmVlKGNvbnN0IFJl
bW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uJikKIH0KICNlbmRpZgogCi0jaWYgVVNFKENPT1JESU5B
VEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUykKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1Mp
CiB2b2lkIFdlYlBhZ2VQcm94eTo6Y29tbWl0UGFnZVRyYW5zaXRpb25WaWV3cG9ydCgpCiB7CiAg
ICAgaWYgKCFpc1ZhbGlkKCkpCkBAIC0zNzgxLDcgKzM3ODEsNyBAQCB2b2lkIFdlYlBhZ2VQcm94
eTo6cnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdWlu
dDY0X3QgZgogICAgIHNob3VsZENsb3NlID0gbV91aUNsaWVudC0+cnVuQmVmb3JlVW5sb2FkQ29u
ZmlybVBhbmVsKHRoaXMsIG1lc3NhZ2UsIGZyYW1lKTsKIH0KIAotI2lmIFVTRShDT09SRElOQVRF
RF9HUkFQSElDU19NVUxUSVBST0NFU1MpCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQog
dm9pZCBXZWJQYWdlUHJveHk6OnBhZ2VEaWRSZXF1ZXN0U2Nyb2xsKGNvbnN0IEludFBvaW50JiBw
b2ludCkKIHsKICAgICBtX3BhZ2VDbGllbnQucGFnZURpZFJlcXVlc3RTY3JvbGwocG9pbnQpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDIxZDIyODgwMzM1NjY3
NzMzZWIwZjRlNjg4YTI3ODFmYmFhOWVjZmMuLjU0Y2NmYWM2ZDYzYjg4YzM0NDkxNDRlZjE0YzM2
Nzk0OTUwNDZmNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAg
LTUyNyw3ICs1MjcsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGRpZENvbW1pdExheWVyVHJlZShj
b25zdCBXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uJik7CiAKLSNpZiBVU0UoQ09P
UkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQ
SElDUykKICAgICB2b2lkIGRpZFJlbmRlckZyYW1lKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIGNv
bnRlbnRzU2l6ZSwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgY292ZXJlZFJlY3QpOwogI2VuZGlm
CiAjaWYgUExBVEZPUk0oRUZMKQpAQCAtNjEwLDcgKzYxMCw3IEBAIHB1YmxpYzoKICAgICB2b2lk
IHNldEJhY2tncm91bmRDb2xvcihjb25zdCBXZWJDb3JlOjpDb2xvciYgY29sb3IpIHsgbV9iYWNr
Z3JvdW5kQ29sb3IgPSBjb2xvcjsgfQogI2VuZGlmCiAKLSNpZiBVU0UoQ09PUkRJTkFURURfR1JB
UEhJQ1NfTVVMVElQUk9DRVNTKQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKICAgICB2
b2lkIGNvbW1pdFBhZ2VUcmFuc2l0aW9uVmlld3BvcnQoKTsKICNlbmRpZgogCkBAIC0xMjMyLDcg
KzEyMzIsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgY2xlYXJOb3RpZmljYXRpb25zKGNvbnN0IFZl
Y3Rvcjx1aW50NjRfdD4mIG5vdGlmaWNhdGlvbklEcyk7CiAgICAgdm9pZCBkaWREZXN0cm95Tm90
aWZpY2F0aW9uKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKTsKIAotI2lmIFVTRShDT09SRElOQVRF
RF9HUkFQSElDU19NVUxUSVBST0NFU1MpCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQog
ICAgIHZvaWQgcGFnZURpZFJlcXVlc3RTY3JvbGwoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmKTsK
ICAgICB2b2lkIHBhZ2VUcmFuc2l0aW9uVmlld3BvcnRSZWFkeSgpOwogICAgIHZvaWQgZGlkRmlu
ZFpvb21hYmxlQXJlYShjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYsIGNvbnN0IFdlYkNvcmU6Oklu
dFJlY3QmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluCmluZGV4IGYzMmJiN2FkNWRhM2FiY2NlMGMxNzc0MzQ0MTBhYTBlNzAwMjMwNDUu
LjNkNjA0NGMzZTFkMjEyYmM4MTAyZGQzOThiNjhlNjJhM2E3MThkMDkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtOTQsNyAr
OTQsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogICAgIEhhbmRsZUlucHV0TWV0aG9k
S2V5ZG93bigpIC0+IChib29sIGhhbmRsZWQpCiAjZW5kaWYKIAotI2lmIFVTRShDT09SRElOQVRF
RF9HUkFQSElDU19NVUxUSVBST0NFU1MpCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQog
ICAgIFBhZ2VEaWRSZXF1ZXN0U2Nyb2xsKFdlYkNvcmU6OkludFBvaW50IHBvaW50KQogICAgIFBh
Z2VUcmFuc2l0aW9uVmlld3BvcnRSZWFkeSgpCiAgICAgRGlkRmluZFpvb21hYmxlQXJlYShXZWJD
b3JlOjpJbnRQb2ludCB0YXJnZXQsIFdlYkNvcmU6OkludFJlY3QgYXJlYSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
b3JkaW5hdGVkRHJhd2luZ0FyZWEuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYS5jcHAKaW5kZXgg
YWQyNTc5ZGJkNzkwZDhlM2NiY2E2ZDMyZDUwOTg5YWUzZTdlOGRmMy4uNTFhODNhYWVmM2QzZjQ1
MzFiOGRiZjBjN2I2ZDAyNjk2MGY3ZWFiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJl
YS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYS5jcHAKQEAgLTYwMCw3ICs2MDAsNyBAQCB2
b2lkIENvb3JkaW5hdGVkRHJhd2luZ0FyZWE6OmRpc3BsYXkoVXBkYXRlSW5mbyYgdXBkYXRlSW5m
bykKICAgICBtX2Rpc3BsYXlUaW1lci5zdG9wKCk7CiB9CiAKLSNpZiBVU0UoQ09PUkRJTkFURURf
R1JBUEhJQ1NfTVVMVElQUk9DRVNTKQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKIHZv
aWQgQ29vcmRpbmF0ZWREcmF3aW5nQXJlYTo6ZGlkUmVjZWl2ZUNvb3JkaW5hdGVkTGF5ZXJUcmVl
SG9zdE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6Ok1lc3NhZ2VEZWNv
ZGVyJiBkZWNvZGVyKQogewogICAgIGlmIChtX2xheWVyVHJlZUhvc3QpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29y
ZGluYXRlZERyYXdpbmdBcmVhLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
Q29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhLmgKaW5kZXggZDcwNTM0
NjAyMzAxNGE1ZGEzNThmOWRhOTU4ZDljYWFjZDZkMzJiZi4uMTliMTI5YmZmMTQ2MTc2ZDRlNGY4
MTliODRmZDQ1NmRhM2MyNDQ1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNz
L0Nvb3JkaW5hdGVkRHJhd2luZ0FyZWEuaApAQCAtNjQsNyArNjQsNyBAQCBwcml2YXRlOgogICAg
IHZpcnR1YWwgdm9pZCBzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCgpIG92ZXJyaWRlOwog
ICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaEltbWVkaWF0ZWx5
KCkgb3ZlcnJpZGU7CiAKLSNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNT
KQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVj
ZWl2ZUNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBD
OjpNZXNzYWdlRGVjb2RlciYpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuY3BwCmluZGV4IGI5YjhiNmY5YjI0NzY2MTk2NjA5
OGNlM2MxZjg5ZjA1YmU0MzgyNmUuLjZiYmIxMTMwYTkxOGEwOThjOGM0YjY4NjEwMTg2OTQ4ZTk0
OGNhZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3
aW5nQXJlYS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdp
bmdBcmVhLmNwcApAQCAtMzgsNyArMzgsNyBAQAogI2luY2x1ZGUgIlJlbW90ZUxheWVyVHJlZURy
YXdpbmdBcmVhLmgiCiAjaW5jbHVkZSAiVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEuaCIK
ICNlbHNlCi0jaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUykKKyNpZiBV
U0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAjaW5jbHVkZSAiQ29vcmRpbmF0ZWREcmF3aW5nQXJl
YS5oIgogI2Vsc2UKICNpbmNsdWRlICJEcmF3aW5nQXJlYUltcGwuaCIKQEAgLTYwLDcgKzYwLDcg
QEAgc3RkOjp1bmlxdWVfcHRyPERyYXdpbmdBcmVhPiBEcmF3aW5nQXJlYTo6Y3JlYXRlKFdlYlBh
Z2UmIHdlYlBhZ2UsIGNvbnN0IFdlYlBhZ2UKICAgICBjYXNlIERyYXdpbmdBcmVhVHlwZVJlbW90
ZUxheWVyVHJlZToKICAgICAgICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8UmVtb3RlTGF5ZXJU
cmVlRHJhd2luZ0FyZWE+KHdlYlBhZ2UsIHBhcmFtZXRlcnMpOwogI2Vsc2UKLSNpZiBVU0UoQ09P
UkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQ
SElDUykKICAgICBjYXNlIERyYXdpbmdBcmVhVHlwZUNvb3JkaW5hdGVkOgogICAgICAgICByZXR1
cm4gc3RkOjptYWtlX3VuaXF1ZTxDb29yZGluYXRlZERyYXdpbmdBcmVhPih3ZWJQYWdlLCBwYXJh
bWV0ZXJzKTsKICNlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvRHJhd2luZ0FyZWEuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9E
cmF3aW5nQXJlYS5oCmluZGV4IDNhZDE5MTcwYzZlMDUxNjlmYzg1NjAyMmU4YmJmZDQ1MzcwMWRh
NzkuLjlhNDZlOGEyMjgwNzM2YmM5Mjc1NGFlMjI1OGM5ZDdmNjIyYTNmNDAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oCkBAIC0xMTIsNyAr
MTEyLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUmVmUHRyPFdlYkNvcmU6OkRpc3BsYXlSZWZy
ZXNoTW9uaXRvcj4gY3JlYXRlRGlzcGxheVJlZnJlc2hNb25pdG9yKFBsYXRmb3JtRGlzcGxheUlE
KTsKICNlbmRpZgogCi0jaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUykK
KyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2Vp
dmVDb29yZGluYXRlZExheWVyVHJlZUhvc3RNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6
TWVzc2FnZURlY29kZXImKSA9IDA7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuY3BwIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuY3BwCmluZGV4IDBmN2MyMmVjMDE5Nzkx
OTVmNjg1MjRlNzdmNzdhZGMzZTNiZDY3NmEuLjhhYzA5ZWVmOTAzYjJkYjQzZWVkZDYyMmI3YWFi
MDhlNmIyMGQwZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9MYXllclRyZWVIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvTGF5ZXJUcmVlSG9zdC5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJMYXllclRyZWVIb3N0LmgiCiAKLSNpZiBVU0UoQ09PUkRJTkFURURfR1JB
UEhJQ1NfTVVMVElQUk9DRVNTKQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKICNpbmNs
dWRlICJDb29yZGluYXRlZExheWVyVHJlZUhvc3QuaCIKICNlbGlmIFVTRShDT09SRElOQVRFRF9H
UkFQSElDU19USFJFQURFRCkKICNpbmNsdWRlICJUaHJlYWRlZENvb3JkaW5hdGVkTGF5ZXJUcmVl
SG9zdC5oIgpAQCAtNDAsMTAgKzQwLDEwIEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBQYXNzUmVm
UHRyPExheWVyVHJlZUhvc3Q+IExheWVyVHJlZUhvc3Q6OmNyZWF0ZShXZWJQYWdlKiB3ZWJQYWdl
KQogewotI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpCi0gICAgcmV0
dXJuIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6Y3JlYXRlKHdlYlBhZ2UpOwotI2VsaWYgVVNF
KENPT1JESU5BVEVEX0dSQVBISUNTX1RIUkVBREVEKQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQ
SElDU19USFJFQURFRCkKICAgICByZXR1cm4gVGhyZWFkZWRDb29yZGluYXRlZExheWVyVHJlZUhv
c3Q6OmNyZWF0ZSh3ZWJQYWdlKTsKKyNlbGlmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKKyAg
ICByZXR1cm4gQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpjcmVhdGUod2ViUGFnZSk7CiAjZWxp
ZiBQTEFURk9STShHVEspICYmIFVTRShURVhUVVJFX01BUFBFUl9HTCkKICAgICByZXR1cm4gTGF5
ZXJUcmVlSG9zdEd0azo6Y3JlYXRlKHdlYlBhZ2UpOwogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmggYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5oCmluZGV4IGU0YzhhMTkyODk5
NTA1ZDg4ZjQ4N2RkNDIzYjU2MTFmZmRmZmRhYWEuLmQ3NWJkYTMzMTczODAyOTAxNTk1ZDhhODEy
ZmIxYzkyM2E1MDZmYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9MYXllclRyZWVIb3N0LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0xheWVyVHJlZUhvc3QuaApAQCAtNzksNyArNzksNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0
dWFsIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJGYWN0b3J5KiBncmFwaGljc0xheWVyRmFjdG9yeSgp
IHsgcmV0dXJuIDA7IH0KIAotI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NF
U1MpCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogICAgIHZpcnR1YWwgdm9pZCBkaWRS
ZWNlaXZlQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0TWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJ
UEM6Ok1lc3NhZ2VEZWNvZGVyJikgPSAwOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCA5NDY4NGQ0ODZjYjgwNDgxNzFjOWYw
ZWJmNTg1NWNmNzY3MTFkMmU3Li4yNGJlOWQ5OTRhZjI2NTQyNTI3N2MxYjAyYTRkNzJiZTRhZmJi
ZTk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CkBAIC0yMTIsNyArMjEyLDcgQEAKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZExlYWtDb3VudGVy
Lmg+CiAjZW5kaWYKIAotI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1Mp
CisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogI2luY2x1ZGUgIkNvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdE1lc3NhZ2VzLmgiCiAjZW5kaWYKIApAQCAtNDg3LDcgKzQ4Nyw3IEBAIFdlYlBh
Z2U6OldlYlBhZ2UodWludDY0X3QgcGFnZUlELCBjb25zdCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0
ZXJzJiBwYXJhbWV0ZXJzKQogICAgIHdlYlByb2Nlc3MuYWRkTWVzc2FnZVJlY2VpdmVyKE1lc3Nh
Z2VzOjpXZWJQYWdlOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fcGFnZUlELCAqdGhpcyk7CiAK
ICAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgYmUgZG9uZSBpbiB0aGUgb2JqZWN0IGNvbnN0cnVj
dG9ycywgYW5kIHRoZSBvYmplY3RzIHRoZW1zZWx2ZXMgc2hvdWxkIGJlIG1lc3NhZ2UgcmVjZWl2
ZXJzLgotI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpCisjaWYgVVNF
KENPT1JESU5BVEVEX0dSQVBISUNTKQogICAgIHdlYlByb2Nlc3MuYWRkTWVzc2FnZVJlY2VpdmVy
KE1lc3NhZ2VzOjpDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6Om1lc3NhZ2VSZWNlaXZlck5hbWUo
KSwgbV9wYWdlSUQsICp0aGlzKTsKICNlbmRpZgogICAgIHdlYlByb2Nlc3MuYWRkTWVzc2FnZVJl
Y2VpdmVyKE1lc3NhZ2VzOjpXZWJJbnNwZWN0b3I6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9w
YWdlSUQsICp0aGlzKTsKQEAgLTU4Miw3ICs1ODIsNyBAQCBXZWJQYWdlOjp+V2ViUGFnZSgpCiAg
ICAgd2ViUHJvY2Vzcy5yZW1vdmVNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OldlYlBhZ2U6Om1l
c3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9wYWdlSUQpOwogCiAgICAgLy8gRklYTUU6IFRoaXMgc2hv
dWxkIGJlIGRvbmUgaW4gdGhlIG9iamVjdCBkZXN0cnVjdG9ycywgYW5kIHRoZSBvYmplY3RzIHRo
ZW1zZWx2ZXMgc2hvdWxkIGJlIG1lc3NhZ2UgcmVjZWl2ZXJzLgotI2lmIFVTRShDT09SRElOQVRF
RF9HUkFQSElDU19NVUxUSVBST0NFU1MpCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQog
ICAgIHdlYlByb2Nlc3MucmVtb3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpDb29yZGluYXRl
ZExheWVyVHJlZUhvc3Q6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9wYWdlSUQpOwogI2VuZGlm
CiAgICAgd2ViUHJvY2Vzcy5yZW1vdmVNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OldlYkluc3Bl
Y3Rvcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX3BhZ2VJRCk7CkBAIC0xMjg4LDExICsxMjg4
LDExIEBAIHZvaWQgV2ViUGFnZTo6c2VuZFZpZXdwb3J0QXR0cmlidXRlc0NoYW5nZWQoKQogICAg
IC8vIFRoaXMgYWxzbyB0YWtlcyBjYXJlIG9mIHRoZSByZWxheW91dC4KICAgICBzZXRGaXhlZExh
eW91dFNpemUocm91bmRlZEludFNpemUoYXR0ci5sYXlvdXRTaXplKSk7CiAKLSNpZiBVU0UoQ09P
UkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQotICAgIHNlbmQoTWVzc2FnZXM6OldlYlBh
Z2VQcm94eTo6RGlkQ2hhbmdlVmlld3BvcnRQcm9wZXJ0aWVzKGF0dHIpKTsKLSNlbHNlCisjaWYg
VVNFKENPT1JESU5BVEVEX0dSQVBISUNTX1RIUkVBREVEKQogICAgIGlmIChtX2RyYXdpbmdBcmVh
LT5sYXllclRyZWVIb3N0KCkpCiAgICAgICAgIG1fZHJhd2luZ0FyZWEtPmxheWVyVHJlZUhvc3Qo
KS0+ZGlkQ2hhbmdlVmlld3BvcnRQcm9wZXJ0aWVzKGF0dHIpOworI2Vsc2UKKyAgICBzZW5kKE1l
c3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZENoYW5nZVZpZXdwb3J0UHJvcGVydGllcyhhdHRyKSk7
CiAjZW5kaWYKIH0KICNlbmRpZgpAQCAtMTg0MCwxMCArMTg0MCwxMCBAQCB2b2lkIFdlYlBhZ2U6
OnBhZ2VTdG9wcGVkU2Nyb2xsaW5nKCkKICNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiB2
b2lkIFdlYlBhZ2U6OnBhZ2VEaWRSZXF1ZXN0U2Nyb2xsKGNvbnN0IEludFBvaW50JiBwb2ludCkK
IHsKLSNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQotICAgIHNlbmQo
TWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6UGFnZURpZFJlcXVlc3RTY3JvbGwocG9pbnQpKTsKLSNl
bGlmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19USFJFQURFRCkKKyNpZiBVU0UoQ09PUkRJTkFU
RURfR1JBUEhJQ1NfVEhSRUFERUQpCiAgICAgZHJhd2luZ0FyZWEoKS0+c2Nyb2xsKEludFJlY3Qo
cG9pbnQsIEludFNpemUoKSksIEludFNpemUoKSk7CisjZWxzZQorICAgIHNlbmQoTWVzc2FnZXM6
OldlYlBhZ2VQcm94eTo6UGFnZURpZFJlcXVlc3RTY3JvbGwocG9pbnQpKTsKICNlbmRpZgogfQog
I2VuZGlmCkBAIC0yNDMwLDcgKzI0MzAsNyBAQCB2b2lkIFdlYlBhZ2U6OmRpZFN0YXJ0UGFnZVRy
YW5zaXRpb24oKQogCiB2b2lkIFdlYlBhZ2U6OmRpZENvbXBsZXRlUGFnZVRyYW5zaXRpb24oKQog
ewotI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpCisjaWYgVVNFKENP
T1JESU5BVEVEX0dSQVBISUNTKQogICAgIC8vIG1fbWFpbkZyYW1lIGNhbiBiZSBudWxsIHNpbmNl
IHIxNzAxNjMuCiAgICAgaWYgKG1fbWFpbkZyYW1lICYmIG1fbWFpbkZyYW1lLT5jb3JlRnJhbWUo
KS0+dmlldygpLT5kZWxlZ2F0ZXNTY3JvbGxpbmcoKSkgewogICAgICAgICAvLyBXYWl0IHVudGls
IHRoZSBVSSBwcm9jZXNzIHNlbnQgdXMgdGhlIHZpc2libGUgcmVjdCBpdCB3YW50cyByZW5kZXJl
ZC4KQEAgLTM2MDEsNyArMzYwMSw3IEBAIGJvb2wgV2ViUGFnZTo6d2luZG93QW5kV2ViUGFnZUFy
ZUZvY3VzZWQoKSBjb25zdAogCiB2b2lkIFdlYlBhZ2U6OmRpZFJlY2VpdmVNZXNzYWdlKElQQzo6
Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOjpNZXNzYWdlRGVjb2RlciYgZGVjb2RlcikKIHsK
LSNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQorI2lmIFVTRShDT09S
RElOQVRFRF9HUkFQSElDUykKICAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkg
PT0gTWVzc2FnZXM6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6bWVzc2FnZVJlY2VpdmVyTmFt
ZSgpKSB7CiAgICAgICAgIGlmIChtX2RyYXdpbmdBcmVhKQogICAgICAgICAgICAgbV9kcmF3aW5n
QXJlYS0+ZGlkUmVjZWl2ZUNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdE1lc3NhZ2UoY29ubmVjdGlv
biwgZGVjb2Rlcik7CkBAIC00MDkzLDcgKzQwOTMsNyBAQCBib29sIFdlYlBhZ2U6OmNhbkhhbmRs
ZVJlcXVlc3QoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQogICAgIHJl
dHVybiBwbGF0Zm9ybUNhbkhhbmRsZVJlcXVlc3QocmVxdWVzdCk7CiB9CiAKLSNpZiBVU0UoQ09P
UkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQ
SElDUykKIHZvaWQgV2ViUGFnZTo6Y29tbWl0UGFnZVRyYW5zaXRpb25WaWV3cG9ydCgpCiB7CiAg
ICAgbV9kcmF3aW5nQXJlYS0+c2V0TGF5ZXJUcmVlU3RhdGVJc0Zyb3plbihmYWxzZSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCBmNDZmZGE2ODQ3
ZTQxNzkwMTEyOWI0N2NiMTRkYjNjZDM5ZDkwNzliLi44Zjg3MWMxY2NjYzVjOThjNmM5OTdhYTRj
YjQ4MDE3NmM2ODQxMjEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmgKQEAgLTU2Niw2ICs1NjYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBwYWdlRGlkUmVx
dWVzdFNjcm9sbChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpOwogICAgIHZvaWQgc2V0Rml4ZWRW
aXNpYmxlQ29udGVudFJlY3QoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpOwogICAgIHZvaWQgc2Vu
ZFZpZXdwb3J0QXR0cmlidXRlc0NoYW5nZWQoKTsKKyAgICB2b2lkIGNvbW1pdFBhZ2VUcmFuc2l0
aW9uVmlld3BvcnQoKTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCkBAIC02
MDYsMTAgKzYwNyw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFRoZW1lUGF0aChjb25zdCBTdHJp
bmcmKTsKICNlbmRpZgogCi0jaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VT
UykKLSAgICB2b2lkIGNvbW1pdFBhZ2VUcmFuc2l0aW9uVmlld3BvcnQoKTsKLSNlbmRpZgotCiAj
aWYgUExBVEZPUk0oR1RLKQogICAgIHZvaWQgc2V0Q29tcG9zaXRpb24oY29uc3QgU3RyaW5nJiB0
ZXh0LCBjb25zdCBWZWN0b3I8V2ViQ29yZTo6Q29tcG9zaXRpb25VbmRlcmxpbmU+JiB1bmRlcmxp
bmVzLCB1aW50NjRfdCBzZWxlY3Rpb25TdGFydCwgdWludDY0X3Qgc2VsZWN0aW9uRW5kLCB1aW50
NjRfdCByZXBsYWNlbWVudFJhbmdlU3RhcnQsIHVpbnQ2NF90IHJlcGxhY2VtZW50UmFuZ2VMZW5n
dGgpOwogICAgIHZvaWQgY29uZmlybUNvbXBvc2l0aW9uKGNvbnN0IFN0cmluZyYgdGV4dCwgaW50
NjRfdCBzZWxlY3Rpb25TdGFydCwgaW50NjRfdCBzZWxlY3Rpb25MZW5ndGgpOwpAQCAtMTA3MSw3
ICsxMDY4LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGhpZGVGaW5kVUkoKTsKICAgICB2b2lkIGNv
dW50U3RyaW5nTWF0Y2hlcyhjb25zdCBTdHJpbmcmLCB1aW50MzJfdCBmaW5kT3B0aW9ucywgdWlu
dDMyX3QgbWF4TWF0Y2hDb3VudCk7CiAKLSNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVM
VElQUk9DRVNTKQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKICAgICB2b2lkIGZpbmRa
b29tYWJsZUFyZWFGb3JQb2ludChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYsIGNvbnN0IFdlYkNv
cmU6OkludFNpemUmIGFyZWEpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5kZXggOTE4ZTdkZTM3YjE1
ODdkNWI5NmFmOTBmMDE0MTBjZTdjNjJmYTMwMi4uNmJhNmVkNTVkY2Y1NDk3MTk1MDc3OTIxNTE3
ZDA1ZDViYzczNWEzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KQEAgLTMyOSw3ICszMjksNyBAQCBtZXNzYWdlcyAt
PiBXZWJQYWdlIExlZ2FjeVJlY2VpdmVyIHsKICAgICBTZXRUaGVtZVBhdGgoU3RyaW5nIHRoZW1l
UGF0aCkKICNlbmRpZgogCi0jaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VT
UykKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAgICAgQ29tbWl0UGFnZVRyYW5zaXRp
b25WaWV3cG9ydCgpCiAjZW5kaWYKIApAQCAtMzk2LDcgKzM5Niw3IEBAIG1lc3NhZ2VzIC0+IFdl
YlBhZ2UgTGVnYWN5UmVjZWl2ZXIgewogICAgIFNldENvbXBvc2l0aW9uKFN0cmluZyBjb21wb3Np
dGlvblN0cmluZywgVmVjdG9yPFdlYkNvcmU6OkNvbXBvc2l0aW9uVW5kZXJsaW5lPiB1bmRlcmxp
bmVzLCB1aW50NjRfdCBjdXJzb3JQb3NpdGlvbikKICAgICBDYW5jZWxDb21wb3NpdGlvbigpCiAj
ZW5kaWYKLSNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQorI2lmIFVT
RShDT09SRElOQVRFRF9HUkFQSElDUykKICAgICBGaW5kWm9vbWFibGVBcmVhRm9yUG9pbnQoV2Vi
Q29yZTo6SW50UG9pbnQgcG9pbnQsIFdlYkNvcmU6OkludFNpemUgYXJlYSkKICNlbmRpZgogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZSBiL1NvdXJjZS9jbWFrZS9P
cHRpb25zRWZsLmNtYWtlCmluZGV4IGNmNjdkZjI2ZTRlM2RlYjlhMTJkOGMxM2M0OTdiOWM0ZmY2
ZTVjMWEuLjEyNTg3Yzc2NmNiZjI5N2QwMGFmZDA2NTE2ZGVhOWVjYzE3YjIxMGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRp
b25zRWZsLmNtYWtlCkBAIC0yMjksNyArMjI5LDYgQEAgZW5kaWYgKCkKIAogU0VUX0FORF9FWFBP
U0VfVE9fQlVJTEQoRU5BQkxFX0dSQVBISUNTX0NPTlRFWFRfM0QgVFJVRSkKIFNFVF9BTkRfRVhQ
T1NFX1RPX0JVSUxEKFVTRV9DT09SRElOQVRFRF9HUkFQSElDUyBUUlVFKQotU0VUX0FORF9FWFBP
U0VfVE9fQlVJTEQoVVNFX0NPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUyBUUlVFKQog
U0VUX0FORF9FWFBPU0VfVE9fQlVJTEQoVVNFX0dSQVBISUNTX1NVUkZBQ0UgVFJVRSkKIFNFVF9B
TkRfRVhQT1NFX1RPX0JVSUxEKFVTRV9URVhUVVJFX01BUFBFUiBUUlVFKQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257524</attachid>
            <date>2015-07-25 18:18:59 -0700</date>
            <delta_ts>2015-07-27 01:40:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147256-20150726101740.patch</filename>
            <type>text/plain</type>
            <size>22750</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3MzQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZDQzMzYyNzFlZWNhOTY5
MTU1ZTdiNTNjNDU2NzM3Yzg1ZDczY2IyNy4uZGE3OGJiYTUxMjQxNTgwZWExZDc5ZjBmMzdmYTkx
ZDZiYWJmNGIxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE1LTA3LTI0ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBbQ29vcmRpbmF0
ZWRHcmFwaGljc10gUmVhcnJhbmdlIHVzZXMgb2YgVVNFX0NPT1JESU5BVEVEX0dSQVBISUNTX01V
TFRJUFJPQ0VTUworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTQ3MjU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQ29vcmRpbmF0ZWRHcmFwaGljcydzIGFibGUgdG8gd29yayBvbmx5IHdoZW4gQ09PUkRJTkFU
RURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTCisgICAgICAgIGd1YXJkIGlzIGVuYWJsZWQgYmVjYXVz
ZSB0aGUgY29kZXMgYXJlIGFscmVhZHkgdG9vIGNvdXBsZWQgd2l0aCBjb29yZGluYXRlZCBncmFw
aGljcworICAgICAgICBpbXBsZW1lbnRhdGlvbi4gV2UgbmVlZCB0byByZS1hcnJhbmdlIGl0IHRv
IGJ1aWxkIFdlYktpdCB3aXRoL3dpdGhvdXQKKyAgICAgICAgQ09PUkRJTkFURURfR1JBUEhJQ1Nf
TVVMVElQUk9DRVNTIGd1YXJkLgorCisgICAgICAgICogU2hhcmVkL0RyYXdpbmdBcmVhSW5mby5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdFByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1BhZ2VDbGllbnQuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdl
cy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9D
b29yZGluYXRlZERyYXdpbmdBcmVhLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
Q29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhLmg6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJh
d2luZ0FyZWE6OmNyZWF0ZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdB
cmVhLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVIb3N0OjpjcmVhdGUpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjptX3Nob3VsZERpc3BhdGNoRmFrZU1v
dXNlTW92ZUV2ZW50cyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6On5XZWJQYWdlKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cGFnZURpZFJlcXVlc3RTY3JvbGwpOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlOjpkaWRDb21wbGV0ZVBhZ2VUcmFuc2l0aW9uKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZTo6ZGlkUmVjZWl2ZU1lc3NhZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlOjpzZW5kVmlld3BvcnRBdHRyaWJ1dGVzQ2hhbmdlZCk6IERlbGV0ZWQuCisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKwogMjAxNS0wNy0yNCAgQ2FybG9zIEdhcmNpYSBDYW1w
b3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dTdHJlYW1lcl0gQ3Jhc2hlcyBk
dXJpbmcgcGx1Z2luIGluc3RhbGxhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxh
dGZvcm1FZmwuY21ha2UgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCBh
ZGJiZjM0MDkyN2U5OWU2ZTFhNjQ3NjNjN2VmZGIwMDNiOTRmMDNmLi43NDQ5NWQ1MTI0MmZlNmE0
ZjI2OTU2YmNjMzllNWM5NmNmZTgyYmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybUVmbC5jbWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQpAQCAt
MjA5LDYgKzIwOSw4IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwogCiAgICAgV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9zb3VwL1dlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQuY3BwCiAK
KyAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcAorCiAgICAgV2ViUHJv
Y2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYS5j
cHAKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRl
ZExheWVyVHJlZUhvc3QuY3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvV2ViUGFnZUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvRHJhd2luZ0FyZWFJbmZvLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
RHJhd2luZ0FyZWFJbmZvLmgKaW5kZXggMWI2ZGE1MmU0ZDRiYjI1N2NhNTFmM2Q1ODQ3MjNhOTU5
MjE5YWFlZC4uMjI0ZDhkMmQ3NDJjZmRlYjgzZmE0ZjRjOTY0YjVlNTM0NDhmZTZjOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0RyYXdpbmdBcmVhSW5mby5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9EcmF3aW5nQXJlYUluZm8uaApAQCAtMzgsNyArMzgsNyBAQCBlbnVt
IERyYXdpbmdBcmVhVHlwZSB7CiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJP
Q0VTUykKICAgICBEcmF3aW5nQXJlYVR5cGVDb29yZGluYXRlZAogI2Vsc2UKLSAgICBEcmF3aW5n
QXJlYVR5cGVJbXBsLAorICAgIERyYXdpbmdBcmVhVHlwZUltcGwKICNlbmRpZgogI2VuZGlmCiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJhd2luZ0FyZWFQcm94eS5jcHAK
aW5kZXggYzMxZGUyYmU3Yzk3Y2FkZDdmOWI3YTNkZDRjZWVhMmExYjc1NzI0Ny4uYTQ2NTFmNGE4
OWVlZTU5OTliODQ2NjQyZDViZTQxMDU2MGUyZWRkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYVBy
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9Db29yZGluYXRlZERyYXdpbmdBcmVhUHJveHkuY3BwCkBAIC00NSw3ICs0NSwxMSBAQCB1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBDb29yZGluYXRlZERy
YXdpbmdBcmVhUHJveHk6OkNvb3JkaW5hdGVkRHJhd2luZ0FyZWFQcm94eShXZWJQYWdlUHJveHkm
IHdlYlBhZ2VQcm94eSkKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNT
KQogICAgIDogRHJhd2luZ0FyZWFQcm94eShEcmF3aW5nQXJlYVR5cGVDb29yZGluYXRlZCwgd2Vi
UGFnZVByb3h5KQorI2Vsc2UKKyAgICA6IERyYXdpbmdBcmVhUHJveHkoRHJhd2luZ0FyZWFUeXBl
SW1wbCwgd2ViUGFnZVByb3h5KQorI2VuZGlmCiAgICAgLCBtX2N1cnJlbnRCYWNraW5nU3RvcmVT
dGF0ZUlEKDApCiAgICAgLCBtX25leHRCYWNraW5nU3RvcmVTdGF0ZUlEKDApCiAgICAgLCBtX2lz
V2FpdGluZ0ZvckRpZFVwZGF0ZUJhY2tpbmdTdG9yZVN0YXRlKGZhbHNlKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRM
YXllclRyZWVIb3N0UHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuY3BwCmluZGV4IGNhNTFi
ZDNhZTMxOGJkMDJkYTNkNDI2Y2YyYzk5NzM4OGQ5MThmMzMuLmY3NmY2ZTU0ZjRiMTcxYzFkNmYw
NTk0MDFjNjUwMmZmMTQzZWFjNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGlu
YXRlZExheWVyVHJlZUhvc3RQcm94eS5jcHAKQEAgLTY1LDcgKzY1LDcgQEAgdm9pZCBDb29yZGlu
YXRlZExheWVyVHJlZUhvc3RQcm94eTo6Y29tbWl0Q29vcmRpbmF0ZWRHcmFwaGljc1N0YXRlKGNv
bnN0IENvb3JkaW4KICAgICB9KTsKIAogICAgIHVwZGF0ZVZpZXdwb3J0KCk7Ci0jaWYgVVNFKENP
T1JESU5BVEVEX0dSQVBISUNTKQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBS
T0NFU1MpCiAgICAgbV9kcmF3aW5nQXJlYVByb3h5LT5wYWdlKCkuZGlkUmVuZGVyRnJhbWUoZ3Jh
cGhpY3NTdGF0ZS5jb250ZW50c1NpemUsIGdyYXBoaWNzU3RhdGUuY292ZXJlZFJlY3QpOwogI2Vu
ZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJv
eHkuaAppbmRleCAwNDY1YjY5ZmY5NDUxYWI4MWE5ZGY1NTI4NDk5NDY5ZmMxN2JhNjg0Li5kNjlm
YTE3YjE4NGY2ZGRmYTJhZGZkZDg5NmI3YTNiYWZiZjQzMjNjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJl
ZUhvc3RQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdy
YXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmgKQEAgLTIxLDcgKzIxLDcgQEAK
ICNpZm5kZWYgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHlfaAogI2RlZmluZSBDb29yZGlu
YXRlZExheWVyVHJlZUhvc3RQcm94eV9oCiAKLSNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1Nf
TVVMVElQUk9DRVNTKQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKIAogI2luY2x1ZGUg
IkNvb3JkaW5hdGVkR3JhcGhpY3NBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIkNvb3JkaW5h
dGVkR3JhcGhpY3NTY2VuZS5oIgpAQCAtNjksNiArNjksNiBAQCBwcm90ZWN0ZWQ6CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdAogCi0jZW5kaWYgLy8gVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01V
TFRJUFJPQ0VTUykKKyNlbmRpZiAvLyBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAKICNlbmRp
ZiAvLyBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eV9oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJQYWdlUHJveHlDb29yZGlu
YXRlZEdyYXBoaWNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdy
YXBoaWNzL1dlYlBhZ2VQcm94eUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwCmluZGV4IDA3YjE2NzE5
MGU2MjZiZTFmOGIxMWVmNGRhZjQ3M2E0MTE3YjY4NmEuLmM1NGUwMDNjNWI0MDdjMzM1NzhhNmZi
YTQ5MTJkNjlkYmQ1MWViYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b29yZGluYXRlZEdyYXBoaWNzL1dlYlBhZ2VQcm94eUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlBhZ2VQ
cm94eUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwCkBAIC00NSwxMCArNDUsMTIgQEAgdm9pZCBXZWJQ
YWdlUHJveHk6OmZpbmRab29tYWJsZUFyZWFGb3JQb2ludChjb25zdCBJbnRQb2ludCYgcG9pbnQs
IGNvbnN0IEludFNpemUKICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkZp
bmRab29tYWJsZUFyZWFGb3JQb2ludChwb2ludCwgYXJlYSksIG1fcGFnZUlEKTsKIH0KIAorI2lm
IFVTRShDT09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpCiB2b2lkIFdlYlBhZ2VQcm94
eTo6ZGlkRmluZFpvb21hYmxlQXJlYShjb25zdCBJbnRQb2ludCYgdGFyZ2V0LCBjb25zdCBJbnRS
ZWN0JiBhcmVhKQogewogICAgIG1fcGFnZUNsaWVudC5kaWRGaW5kWm9vbWFibGVBcmVhKHRhcmdl
dCwgYXJlYSk7CiB9CisjZW5kaWYKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcu
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmll
dy5jcHAKaW5kZXggYjZlZjYzOTY1NGY3NzczMGJkMTEyYzU2MTUxNmExN2ZlODEzZTBiNy4uOWYx
MTlhNjk1MjZkY2Y0YWEzMDAxZGRmZDdhMWM1ZTExMWY1OTNkYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlldy5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlldy5jcHAK
QEAgLTUxOSw2ICs1MTksNyBAQCB2b2lkIFdlYlZpZXc6OmRpZENoYW5nZVZpZXdwb3J0UHJvcGVy
dGllcyhjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEF0dHJpYnV0ZXMmIGF0dAogICAgIG1fY2xpZW50
LmRpZENoYW5nZVZpZXdwb3J0QXR0cmlidXRlcyh0aGlzLCBhdHRyKTsKIH0KIAorI2lmIFVTRShD
T09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpCiB2b2lkIFdlYlZpZXc6OnBhZ2VEaWRS
ZXF1ZXN0U2Nyb2xsKGNvbnN0IEludFBvaW50JiBwb3NpdGlvbikKIHsKICAgICBGbG9hdFBvaW50
IHVpUG9zaXRpb24ocG9zaXRpb24pOwpAQCAtNTM2LDYgKzUzNyw3IEBAIHZvaWQgV2ViVmlldzo6
cGFnZVRyYW5zaXRpb25WaWV3cG9ydFJlYWR5KCkKIHsKICAgICBtX2NsaWVudC5kaWRDb21wbGV0
ZVBhZ2VUcmFuc2l0aW9uKHRoaXMpOwogfQorI2VuZGlmCiAKIHZvaWQgV2ViVmlldzo6ZmluZFpv
b21hYmxlQXJlYUZvclBvaW50KGNvbnN0IEludFBvaW50JiBwb2ludCwgY29uc3QgSW50U2l6ZSYg
c2l6ZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRl
ZEdyYXBoaWNzL1dlYlZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRl
ZEdyYXBoaWNzL1dlYlZpZXcuaAppbmRleCBkNDUzNzI0N2FiOTM3ZDFiNWY1ZjhjMmRmOGQ2NzBk
YTVjMGM5ZDFkLi5kYzY5MzM2ZGU5NTBhMWE1ZGYwNzkwZDI2YWY5ODc0ZTE4ZjFjYjMxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJW
aWV3LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
V2ViVmlldy5oCkBAIC0xNDcsOSArMTQ3LDExIEBAIHByb3RlY3RlZDoKIAogICAgIHZpcnR1YWwg
dm9pZCBkaWRDb21taXRMb2FkRm9yTWFpbkZyYW1lKGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGJv
b2wgdXNlQ3VzdG9tQ29udGVudFByb3ZpZGVyKSBvdmVycmlkZTsKIAorI2lmIFVTRShDT09SRElO
QVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpCiAgICAgdmlydHVhbCB2b2lkIHBhZ2VEaWRSZXF1
ZXN0U2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkludFBvaW50Jikgb3ZlcnJpZGU7CiAgICAgdmlydHVh
bCB2b2lkIGRpZFJlbmRlckZyYW1lKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIGNvbnRlbnRzU2l6
ZSwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgY292ZXJlZFJlY3QpIG92ZXJyaWRlOwogICAgIHZp
cnR1YWwgdm9pZCBwYWdlVHJhbnNpdGlvblZpZXdwb3J0UmVhZHkoKSBvdmVycmlkZTsKKyNlbmRp
ZgogCiAgICAgdmlydHVhbCB2b2lkIHNldEN1cnNvcihjb25zdCBXZWJDb3JlOjpDdXJzb3ImKSBv
dmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q3Vyc29ySGlkZGVuVW50aWxNb3VzZU1vdmVz
KGJvb2wpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cAppbmRleCBkN2ViZmM4MDY5OTYyODE1MmQzNTAxMjc5NzU3N2Q5ZWY4YzYyZjUxLi5hMWFlM2Ni
NWQ2YTU5OGUwM2RkN2Q1ZDFkNGU5NzE4MWUzY2NkMTY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMTIxLDcgKzEyMSw3IEBACiAjaW5jbHVkZSAiUmVt
b3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eS5oIgogI2VuZGlmCiAKLSNpZiBVU0UoQ09PUkRJ
TkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElD
UykKICNpbmNsdWRlICJDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eU1lc3NhZ2VzLmgiCiAj
ZW5kaWYKIApAQCAtMTU3Nyw3ICsxNTc3LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZENvbW1p
dExheWVyVHJlZShjb25zdCBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbiYpCiB9CiAjZW5kaWYK
IAotI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpCisjaWYgVVNFKENP
T1JESU5BVEVEX0dSQVBISUNTKQogdm9pZCBXZWJQYWdlUHJveHk6OmNvbW1pdFBhZ2VUcmFuc2l0
aW9uVmlld3BvcnQoKQogewogICAgIGlmICghaXNWYWxpZCgpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDM4ZDNjOGVlYTk0YmU1Y2JkZWJlZDRjNGIwOTJhYjlh
NWUxZDM1N2EuLjMyY2VlNjg5OTViMTY4ODQ5NzIyMTQyNzAyOTNlMzZjY2FjY2ZlMzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTUyNyw3ICs1MjcsNyBAQCBw
dWJsaWM6CiAKICAgICB2b2lkIGRpZENvbW1pdExheWVyVHJlZShjb25zdCBXZWJLaXQ6OlJlbW90
ZUxheWVyVHJlZVRyYW5zYWN0aW9uJik7CiAKLSNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1Nf
TVVMVElQUk9DRVNTKQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKICAgICB2b2lkIGRp
ZFJlbmRlckZyYW1lKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIGNvbnRlbnRzU2l6ZSwgY29uc3Qg
V2ViQ29yZTo6SW50UmVjdCYgY292ZXJlZFJlY3QpOwogI2VuZGlmCiAjaWYgUExBVEZPUk0oRUZM
KQpAQCAtNjEwLDcgKzYxMCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEJhY2tncm91bmRDb2xv
cihjb25zdCBXZWJDb3JlOjpDb2xvciYgY29sb3IpIHsgbV9iYWNrZ3JvdW5kQ29sb3IgPSBjb2xv
cjsgfQogI2VuZGlmCiAKLSNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNT
KQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKICAgICB2b2lkIGNvbW1pdFBhZ2VUcmFu
c2l0aW9uVmlld3BvcnQoKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdB
cmVhLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdy
YXBoaWNzL0Nvb3JkaW5hdGVkRHJhd2luZ0FyZWEuY3BwCmluZGV4IGFkMjU3OWRiZDc5MGQ4ZTNj
YmNhNmQzMmQ1MDk4OWFlM2U3ZThkZjMuLmY3NGU4MDAxYjE3ZjBmYjk0NzcyN2ExYzdlZjkwNGM4
MTEyMTE5NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9D
b29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJhd2luZ0FyZWEuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5h
dGVkRHJhd2luZ0FyZWEuY3BwCkBAIC01Niw3ICs1NiwxMSBAQCBDb29yZGluYXRlZERyYXdpbmdB
cmVhOjp+Q29vcmRpbmF0ZWREcmF3aW5nQXJlYSgpCiB9CiAKIENvb3JkaW5hdGVkRHJhd2luZ0Fy
ZWE6OkNvb3JkaW5hdGVkRHJhd2luZ0FyZWEoV2ViUGFnZSYgd2ViUGFnZSwgY29uc3QgV2ViUGFn
ZUNyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JB
UEhJQ1NfTVVMVElQUk9DRVNTKQogICAgIDogRHJhd2luZ0FyZWEoRHJhd2luZ0FyZWFUeXBlQ29v
cmRpbmF0ZWQsIHdlYlBhZ2UpCisjZWxzZQorICAgIDogRHJhd2luZ0FyZWEoRHJhd2luZ0FyZWFU
eXBlSW1wbCwgd2ViUGFnZSkKKyNlbmRpZgogICAgICwgbV9iYWNraW5nU3RvcmVTdGF0ZUlEKDAp
CiAgICAgLCBtX2lzUGFpbnRpbmdFbmFibGVkKHRydWUpCiAgICAgLCBtX2luVXBkYXRlQmFja2lu
Z1N0b3JlU3RhdGUoZmFsc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhLmggYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29y
ZGluYXRlZERyYXdpbmdBcmVhLmgKaW5kZXggZDcwNTM0NjAyMzAxNGE1ZGEzNThmOWRhOTU4ZDlj
YWFjZDZkMzJiZi4uNTQxMGM0MDVlODdiNzVlYWMyMDVhYTRlNTgzYjAwMTEzOThmODVkYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJhd2luZ0FyZWEu
aApAQCAtNjgsNiArNjgsMTAgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2
ZUNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpN
ZXNzYWdlRGVjb2RlciYpOwogI2VuZGlmCiAKKyNpZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpICYm
IFBMQVRGT1JNKEdUSykKKyAgICB2aXJ0dWFsIHZvaWQgc2V0TmF0aXZlU3VyZmFjZUhhbmRsZUZv
ckNvbXBvc2l0aW5nKHVpbnQ2NF90KSBvdmVycmlkZSB7IH07CisjZW5kaWYKKwogICAgIHZpcnR1
YWwgdm9pZCB2aWV3U3RhdGVEaWRDaGFuZ2UoV2ViQ29yZTo6Vmlld1N0YXRlOjpGbGFncywgYm9v
bCAvKiB3YW50c0RpZFVwZGF0ZVZpZXdTdGF0ZSAqLywgY29uc3QgVmVjdG9yPHVpbnQ2NF90PiYg
LyogY2FsbGJhY2tJRHMgKi8pIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBhdHRhY2hWaWV3
T3ZlcmxheUdyYXBoaWNzTGF5ZXIoV2ViQ29yZTo6RnJhbWUqLCBXZWJDb3JlOjpHcmFwaGljc0xh
eWVyKikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL1RocmVhZGVkQ29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFw
aGljcy9UaHJlYWRlZENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5oCmluZGV4IDJiZDk0NjEzMWM1
YmRiZDcxYWEwYjFiZGI4MzRhZDIwZDdjYmQyM2IuLjZhOGQ5NDk4YjAxYWI0MzUzM2VkYzBhZjA5
ZDQxZDI4OWZkMmUzM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL1RocmVhZGVkQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0
LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvVGhyZWFkZWRDb29yZGluYXRlZExheWVyVHJlZUhvc3QuaApAQCAtNjEsNyArNjEsNyBA
QCBjbGFzcyBXZWJQYWdlOwogY2xhc3MgVGhyZWFkZWRDb29yZGluYXRlZExheWVyVHJlZUhvc3Qg
OiBwdWJsaWMgTGF5ZXJUcmVlSG9zdCwgcHVibGljIFdlYkNvcmU6OkNvbXBvc2l0aW5nQ29vcmRp
bmF0b3I6OkNsaWVudCwgcHVibGljIFRocmVhZGVkQ29tcG9zaXRvcjo6Q2xpZW50IHsKICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRlZENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdCk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRo
cmVhZGVkQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0PiBjcmVhdGUoV2ViUGFnZSopOworICAgIHN0
YXRpYyBSZWY8VGhyZWFkZWRDb29yZGluYXRlZExheWVyVHJlZUhvc3Q+IGNyZWF0ZShXZWJQYWdl
Kik7CiAgICAgdmlydHVhbCB+VGhyZWFkZWRDb29yZGluYXRlZExheWVyVHJlZUhvc3QoKTsKIAog
ICAgIHZpcnR1YWwgY29uc3QgTGF5ZXJUcmVlQ29udGV4dCYgbGF5ZXJUcmVlQ29udGV4dCgpIG92
ZXJyaWRlIHsgcmV0dXJuIG1fbGF5ZXJUcmVlQ29udGV4dDsgfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlBhZ2VD
b29yZGluYXRlZEdyYXBoaWNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlBhZ2VDb29yZGluYXRlZEdyYXBoaWNzLmNwcAppbmRl
eCA2ZTM5NTY3ZTkwYTViMmZiMGE3MWU3MmUwZGEyOGQyMDZiNWRiNTM5Li40ZGE1Zjc1MDJiMjQ0
NzgwYjIwZTE0ZmY2M2Y0M2U2M2NjMjI1ODEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJQYWdlQ29vcmRpbmF0ZWRH
cmFwaGljcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvV2ViUGFnZUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwCkBAIC04Miw3ICs4
Miw5IEBAIHZvaWQgV2ViUGFnZTo6ZmluZFpvb21hYmxlQXJlYUZvclBvaW50KGNvbnN0IEludFBv
aW50JiBwb2ludCwgY29uc3QgSW50U2l6ZSYgYXJlCiAgICAgICAgIHpvb21hYmxlQXJlYSA9IHZp
ZXctPmNvbnRlbnRzVG9XaW5kb3coem9vbWFibGVBcmVhKTsKICAgICB9CiAKKyNpZiBVU0UoQ09P
UkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQogICAgIHNlbmQoTWVzc2FnZXM6OldlYlBh
Z2VQcm94eTo6RGlkRmluZFpvb21hYmxlQXJlYShwb2ludCwgem9vbWFibGVBcmVhKSk7CisjZW5k
aWYKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oCmluZGV4IDNhZDE5MTcwYzZlMDUxNjlmYzg1NjAy
MmU4YmJmZDQ1MzcwMWRhNzkuLjlhNDZlOGEyMjgwNzM2YmM5Mjc1NGFlMjI1OGM5ZDdmNjIyYTNm
NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5n
QXJlYS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJl
YS5oCkBAIC0xMTIsNyArMTEyLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUmVmUHRyPFdlYkNv
cmU6OkRpc3BsYXlSZWZyZXNoTW9uaXRvcj4gY3JlYXRlRGlzcGxheVJlZnJlc2hNb25pdG9yKFBs
YXRmb3JtRGlzcGxheUlEKTsKICNlbmRpZgogCi0jaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNT
X01VTFRJUFJPQ0VTUykKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAgICAgdmlydHVh
bCB2b2lkIGRpZFJlY2VpdmVDb29yZGluYXRlZExheWVyVHJlZUhvc3RNZXNzYWdlKElQQzo6Q29u
bmVjdGlvbiYsIElQQzo6TWVzc2FnZURlY29kZXImKSA9IDA7CiAjZW5kaWYKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcApp
bmRleCBhMjNkOGMyNDA2MjMyYTM4N2UwYmM1ODJiYmQ0YTM0MTFiNjI3MmRlLi41MTM5ZDlkYmMz
ZTQzZTk0NWYxNTA0M2Q4OTU0OTNkYmU2MjIxN2QwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcApAQCAtNTAsNyArNTAs
MTEgQEAgRHJhd2luZ0FyZWFJbXBsOjp+RHJhd2luZ0FyZWFJbXBsKCkKIH0KIAogRHJhd2luZ0Fy
ZWFJbXBsOjpEcmF3aW5nQXJlYUltcGwoV2ViUGFnZSYgd2ViUGFnZSwgY29uc3QgV2ViUGFnZUNy
ZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJ
Q1NfTVVMVElQUk9DRVNTKQorICAgIDogRHJhd2luZ0FyZWEoRHJhd2luZ0FyZWFUeXBlQ29vcmRp
bmF0ZWQsIHdlYlBhZ2UpCisjZWxzZQogICAgIDogRHJhd2luZ0FyZWEoRHJhd2luZ0FyZWFUeXBl
SW1wbCwgd2ViUGFnZSkKKyNlbmRpZgogICAgICwgbV9iYWNraW5nU3RvcmVTdGF0ZUlEKDApCiAg
ICAgLCBtX2lzUGFpbnRpbmdFbmFibGVkKHRydWUpCiAgICAgLCBtX2luVXBkYXRlQmFja2luZ1N0
b3JlU3RhdGUoZmFsc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvRHJhd2luZ0FyZWFJbXBsLmgKaW5kZXggOTVmMmE5OWQzN2Y1NDZkMTM5OTJiMzE2YTFmYTVm
MGUzN2U2NzM3MC4uODE2NzQ0MDgzMmM1NTk1YmFhNWU5MzBlNDE5MTlhODU3OWVmN2Q0MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1w
bC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUlt
cGwuaApAQCAtNzQsNiArNzQsMTAgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgc2V0TmF0
aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nKHVpbnQ2NF90KSBvdmVycmlkZTsKICNlbmRp
ZgogCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQorICAgIHZpcnR1YWwgdm9pZCBkaWRS
ZWNlaXZlQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0TWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJ
UEM6Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJpZGUgeyB9OworI2VuZGlmCisKICAgICAvLyBJUEMg
bWVzc2FnZSBoYW5kbGVycy4KICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQmFja2luZ1N0b3JlU3Rh
dGUodWludDY0X3QgYmFja2luZ1N0b3JlU3RhdGVJRCwgYm9vbCByZXNwb25kSW1tZWRpYXRlbHks
IGZsb2F0IGRldmljZVNjYWxlRmFjdG9yLCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiwgY29uc3Qg
V2ViQ29yZTo6SW50U2l6ZSYgc2Nyb2xsT2Zmc2V0KSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZv
aWQgZGlkVXBkYXRlKCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5jcHAKaW5kZXggMGY3YzIyZWMwMTk3OTE5NWY2ODUy
NGU3N2Y3N2FkYzNlM2JkNjc2YS4uZWM2NzE2MDk5NzZmZDYwNWIxZWNjNGI2MGU4ZGNlYmZmNTI3
YWE5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVy
VHJlZUhvc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXll
clRyZWVIb3N0LmNwcApAQCAtNDAsMTAgKzQwLDEwIEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBQ
YXNzUmVmUHRyPExheWVyVHJlZUhvc3Q+IExheWVyVHJlZUhvc3Q6OmNyZWF0ZShXZWJQYWdlKiB3
ZWJQYWdlKQogewotI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpCi0g
ICAgcmV0dXJuIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6Y3JlYXRlKHdlYlBhZ2UpOwotI2Vs
aWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX1RIUkVBREVEKQorI2lmIFVTRShDT09SRElOQVRF
RF9HUkFQSElDU19USFJFQURFRCkKICAgICByZXR1cm4gVGhyZWFkZWRDb29yZGluYXRlZExheWVy
VHJlZUhvc3Q6OmNyZWF0ZSh3ZWJQYWdlKTsKKyNlbGlmIFVTRShDT09SRElOQVRFRF9HUkFQSElD
U19NVUxUSVBST0NFU1MpCisgICAgcmV0dXJuIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6Y3Jl
YXRlKHdlYlBhZ2UpOwogI2VsaWYgUExBVEZPUk0oR1RLKSAmJiBVU0UoVEVYVFVSRV9NQVBQRVJf
R0wpCiAgICAgcmV0dXJuIExheWVyVHJlZUhvc3RHdGs6OmNyZWF0ZSh3ZWJQYWdlKTsKICNlbHNl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXgg
YWEyMGRjNGM3ZDg3NDQ4MDc5OWFhNzYwNGQwYTFlODU1YTE5MzQ2Ny4uMjk5OGRlZWFmZGQ5ZWI1
ZjZkZjYwNjBkMTk4MmE2MGViZDVjY2ZmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMjEyLDcgKzIxMiw3IEBACiAjaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWRMZWFrQ291bnRlci5oPgogI2VuZGlmCiAKLSNpZiBVU0UoQ09PUkRJTkFURURf
R1JBUEhJQ1NfTVVMVElQUk9DRVNTKQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKICNp
bmNsdWRlICJDb29yZGluYXRlZExheWVyVHJlZUhvc3RNZXNzYWdlcy5oIgogI2VuZGlmCiAKQEAg
LTQ5MSw3ICs0OTEsNyBAQCBXZWJQYWdlOjpXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgY29uc3Qg
V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKICAgICB3ZWJQcm9jZXNzLmFk
ZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViUGFnZTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgp
LCBtX3BhZ2VJRCwgKnRoaXMpOwogCiAgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIGJlIGRvbmUg
aW4gdGhlIG9iamVjdCBjb25zdHJ1Y3RvcnMsIGFuZCB0aGUgb2JqZWN0cyB0aGVtc2VsdmVzIHNo
b3VsZCBiZSBtZXNzYWdlIHJlY2VpdmVycy4KLSNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1Nf
TVVMVElQUk9DRVNTKQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKICAgICB3ZWJQcm9j
ZXNzLmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0
OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fcGFnZUlELCAqdGhpcyk7CiAjZW5kaWYKICAgICB3
ZWJQcm9jZXNzLmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViSW5zcGVjdG9yOjptZXNz
YWdlUmVjZWl2ZXJOYW1lKCksIG1fcGFnZUlELCAqdGhpcyk7CkBAIC01ODYsNyArNTg2LDcgQEAg
V2ViUGFnZTo6fldlYlBhZ2UoKQogICAgIHdlYlByb2Nlc3MucmVtb3ZlTWVzc2FnZVJlY2VpdmVy
KE1lc3NhZ2VzOjpXZWJQYWdlOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fcGFnZUlEKTsKIAog
ICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBiZSBkb25lIGluIHRoZSBvYmplY3QgZGVzdHJ1Y3Rv
cnMsIGFuZCB0aGUgb2JqZWN0cyB0aGVtc2VsdmVzIHNob3VsZCBiZSBtZXNzYWdlIHJlY2VpdmVy
cy4KLSNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQorI2lmIFVTRShD
T09SRElOQVRFRF9HUkFQSElDUykKICAgICB3ZWJQcm9jZXNzLnJlbW92ZU1lc3NhZ2VSZWNlaXZl
cihNZXNzYWdlczo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjptZXNzYWdlUmVjZWl2ZXJOYW1l
KCksIG1fcGFnZUlEKTsKICNlbmRpZgogICAgIHdlYlByb2Nlc3MucmVtb3ZlTWVzc2FnZVJlY2Vp
dmVyKE1lc3NhZ2VzOjpXZWJJbnNwZWN0b3I6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9wYWdl
SUQpOwpAQCAtMTI5OSwxMSArMTI5OSwxMSBAQCB2b2lkIFdlYlBhZ2U6OnNlbmRWaWV3cG9ydEF0
dHJpYnV0ZXNDaGFuZ2VkKCkKICAgICAvLyBUaGlzIGFsc28gdGFrZXMgY2FyZSBvZiB0aGUgcmVs
YXlvdXQuCiAgICAgc2V0Rml4ZWRMYXlvdXRTaXplKHJvdW5kZWRJbnRTaXplKGF0dHIubGF5b3V0
U2l6ZSkpOwogCi0jaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUykKLSAg
ICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZENoYW5nZVZpZXdwb3J0UHJvcGVydGll
cyhhdHRyKSk7Ci0jZWxzZQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19USFJFQURFRCkK
ICAgICBpZiAobV9kcmF3aW5nQXJlYS0+bGF5ZXJUcmVlSG9zdCgpKQogICAgICAgICBtX2RyYXdp
bmdBcmVhLT5sYXllclRyZWVIb3N0KCktPmRpZENoYW5nZVZpZXdwb3J0UHJvcGVydGllcyhhdHRy
KTsKKyNlbHNlCisgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRDaGFuZ2VWaWV3
cG9ydFByb3BlcnRpZXMoYXR0cikpOwogI2VuZGlmCiB9CiAjZW5kaWYKQEAgLTE4NTEsMTAgKzE4
NTEsMTAgQEAgdm9pZCBXZWJQYWdlOjpwYWdlU3RvcHBlZFNjcm9sbGluZygpCiAjaWYgVVNFKENP
T1JESU5BVEVEX0dSQVBISUNTKQogdm9pZCBXZWJQYWdlOjpwYWdlRGlkUmVxdWVzdFNjcm9sbChj
b25zdCBJbnRQb2ludCYgcG9pbnQpCiB7Ci0jaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01V
TFRJUFJPQ0VTUykKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlBhZ2VEaWRSZXF1
ZXN0U2Nyb2xsKHBvaW50KSk7Ci0jZWxpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfVEhSRUFE
RUQpCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX1RIUkVBREVEKQogICAgIGRyYXdpbmdB
cmVhKCktPnNjcm9sbChJbnRSZWN0KHBvaW50LCBJbnRTaXplKCkpLCBJbnRTaXplKCkpOworI2Vs
aWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUykgCisgICAgc2VuZChNZXNz
YWdlczo6V2ViUGFnZVByb3h5OjpQYWdlRGlkUmVxdWVzdFNjcm9sbChwb2ludCkpOwogI2VuZGlm
CiB9CiAjZW5kaWYKQEAgLTM2MTIsNyArMzYxMiw3IEBAIGJvb2wgV2ViUGFnZTo6d2luZG93QW5k
V2ViUGFnZUFyZUZvY3VzZWQoKSBjb25zdAogCiB2b2lkIFdlYlBhZ2U6OmRpZFJlY2VpdmVNZXNz
YWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOjpNZXNzYWdlRGVjb2RlciYgZGVj
b2RlcikKIHsKLSNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQorI2lm
IFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKICAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2
ZXJOYW1lKCkgPT0gTWVzc2FnZXM6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6bWVzc2FnZVJl
Y2VpdmVyTmFtZSgpKSB7CiAgICAgICAgIGlmIChtX2RyYXdpbmdBcmVhKQogICAgICAgICAgICAg
bV9kcmF3aW5nQXJlYS0+ZGlkUmVjZWl2ZUNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdE1lc3NhZ2Uo
Y29ubmVjdGlvbiwgZGVjb2Rlcik7CkBAIC00MTA0LDcgKzQxMDQsNyBAQCBib29sIFdlYlBhZ2U6
OmNhbkhhbmRsZVJlcXVlc3QoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0
KQogICAgIHJldHVybiBwbGF0Zm9ybUNhbkhhbmRsZVJlcXVlc3QocmVxdWVzdCk7CiB9CiAKLSNp
ZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQorI2lmIFVTRShDT09SRElO
QVRFRF9HUkFQSElDUykKIHZvaWQgV2ViUGFnZTo6Y29tbWl0UGFnZVRyYW5zaXRpb25WaWV3cG9y
dCgpCiB7CiAgICAgbV9kcmF3aW5nQXJlYS0+c2V0TGF5ZXJUcmVlU3RhdGVJc0Zyb3plbihmYWxz
ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCBi
Yzg3YzZhOWU5YzZiNTM1NWNhMDA5NTk1MWI0MjgyMWU0NDQ3MTI1Li4zNTliZmFmMzVmMDJmYTZk
ZWI5ODNjNDZkYzJkMDVmMjVjYzJhOTViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmgKQEAgLTU3MCw2ICs1NzAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBw
YWdlRGlkUmVxdWVzdFNjcm9sbChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpOwogICAgIHZvaWQg
c2V0Rml4ZWRWaXNpYmxlQ29udGVudFJlY3QoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpOwogICAg
IHZvaWQgc2VuZFZpZXdwb3J0QXR0cmlidXRlc0NoYW5nZWQoKTsKKyAgICB2b2lkIGNvbW1pdFBh
Z2VUcmFuc2l0aW9uVmlld3BvcnQoKTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKENPTlRFWFRfTUVO
VVMpCkBAIC02MTAsMTAgKzYxMSw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFRoZW1lUGF0aChj
b25zdCBTdHJpbmcmKTsKICNlbmRpZgogCi0jaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01V
TFRJUFJPQ0VTUykKLSAgICB2b2lkIGNvbW1pdFBhZ2VUcmFuc2l0aW9uVmlld3BvcnQoKTsKLSNl
bmRpZgotCiAjaWYgUExBVEZPUk0oR1RLKQogICAgIHZvaWQgc2V0Q29tcG9zaXRpb24oY29uc3Qg
U3RyaW5nJiB0ZXh0LCBjb25zdCBWZWN0b3I8V2ViQ29yZTo6Q29tcG9zaXRpb25VbmRlcmxpbmU+
JiB1bmRlcmxpbmVzLCB1aW50NjRfdCBzZWxlY3Rpb25TdGFydCwgdWludDY0X3Qgc2VsZWN0aW9u
RW5kLCB1aW50NjRfdCByZXBsYWNlbWVudFJhbmdlU3RhcnQsIHVpbnQ2NF90IHJlcGxhY2VtZW50
UmFuZ2VMZW5ndGgpOwogICAgIHZvaWQgY29uZmlybUNvbXBvc2l0aW9uKGNvbnN0IFN0cmluZyYg
dGV4dCwgaW50NjRfdCBzZWxlY3Rpb25TdGFydCwgaW50NjRfdCBzZWxlY3Rpb25MZW5ndGgpOwpA
QCAtMTA3OCw3ICsxMDc1LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGhpZGVGaW5kVUkoKTsKICAg
ICB2b2lkIGNvdW50U3RyaW5nTWF0Y2hlcyhjb25zdCBTdHJpbmcmLCB1aW50MzJfdCBmaW5kT3B0
aW9ucywgdWludDMyX3QgbWF4TWF0Y2hDb3VudCk7CiAKLSNpZiBVU0UoQ09PUkRJTkFURURfR1JB
UEhJQ1NfTVVMVElQUk9DRVNTKQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKICAgICB2
b2lkIGZpbmRab29tYWJsZUFyZWFGb3JQb2ludChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYsIGNv
bnN0IFdlYkNvcmU6OkludFNpemUmIGFyZWEpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5kZXggYzQy
MGNkMzkzM2FmYjM2M2Q5ZGY2YTk0NzlkZmI0ZjkzOGE0OGQxNi4uOWRhOTY2OGZmNGU0N2E5YjNi
ZTY5ZmMwNTY3YzlhYTNhMTM2ZGFjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KQEAgLTMyOSw3ICszMjksNyBAQCBt
ZXNzYWdlcyAtPiBXZWJQYWdlIExlZ2FjeVJlY2VpdmVyIHsKICAgICBTZXRUaGVtZVBhdGgoU3Ry
aW5nIHRoZW1lUGF0aCkKICNlbmRpZgogCi0jaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01V
TFRJUFJPQ0VTUykKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAgICAgQ29tbWl0UGFn
ZVRyYW5zaXRpb25WaWV3cG9ydCgpCiAjZW5kaWYKIApAQCAtMzk2LDcgKzM5Niw3IEBAIG1lc3Nh
Z2VzIC0+IFdlYlBhZ2UgTGVnYWN5UmVjZWl2ZXIgewogICAgIFNldENvbXBvc2l0aW9uKFN0cmlu
ZyBjb21wb3NpdGlvblN0cmluZywgVmVjdG9yPFdlYkNvcmU6OkNvbXBvc2l0aW9uVW5kZXJsaW5l
PiB1bmRlcmxpbmVzLCB1aW50NjRfdCBjdXJzb3JQb3NpdGlvbikKICAgICBDYW5jZWxDb21wb3Np
dGlvbigpCiAjZW5kaWYKLSNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNT
KQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKICAgICBGaW5kWm9vbWFibGVBcmVhRm9y
UG9pbnQoV2ViQ29yZTo6SW50UG9pbnQgcG9pbnQsIFdlYkNvcmU6OkludFNpemUgYXJlYSkKICNl
bmRpZgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257553</attachid>
            <date>2015-07-27 01:40:33 -0700</date>
            <delta_ts>2015-07-29 01:09:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147256-20150727173912.patch</filename>
            <type>text/plain</type>
            <size>22292</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3NDM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTk3MjRlYThiMjljZTc1
NzQwNjgxZjA5ZmNlMzA2YmUxYzFlOWY0NS4uZDUxZmExMDUyNzgxN2UzODA4OWQyMmE2MGQ3OTgw
ZjQ3OWI4NmJlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE1LTA3LTI3ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBbQ29vcmRpbmF0
ZWRHcmFwaGljc10gUmVhcnJhbmdlIHVzZXMgb2YgVVNFX0NPT1JESU5BVEVEX0dSQVBISUNTX01V
TFRJUFJPQ0VTUworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTQ3MjU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQ29vcmRpbmF0ZWRHcmFwaGljcydzIGFibGUgdG8gd29yayBvbmx5IHdoZW4gQ09PUkRJTkFU
RURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTCisgICAgICAgIGd1YXJkIGlzIGVuYWJsZWQgYmVjYXVz
ZSB0aGUgY29kZXMgYXJlIGFscmVhZHkgdG9vIGNvdXBsZWQgd2l0aCBjb29yZGluYXRlZCBncmFw
aGljcworICAgICAgICBpbXBsZW1lbnRhdGlvbi4gV2UgbmVlZCB0byByZS1hcnJhbmdlIGl0IHRv
IGJ1aWxkIFdlYktpdCB3aXRoL3dpdGhvdXQKKyAgICAgICAgQ09PUkRJTkFURURfR1JBUEhJQ1Nf
TVVMVElQUk9DRVNTIGd1YXJkLgorCisgICAgICAgICogU2hhcmVkL0RyYXdpbmdBcmVhSW5mby5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdFByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1BhZ2VDbGllbnQuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdl
cy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9D
b29yZGluYXRlZERyYXdpbmdBcmVhLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
Q29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhLmg6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJh
d2luZ0FyZWE6OmNyZWF0ZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdB
cmVhLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVIb3N0OjpjcmVhdGUpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjptX3Nob3VsZERpc3BhdGNoRmFrZU1v
dXNlTW92ZUV2ZW50cyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6On5XZWJQYWdlKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cGFnZURpZFJlcXVlc3RTY3JvbGwpOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlOjpkaWRDb21wbGV0ZVBhZ2VUcmFuc2l0aW9uKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZTo6ZGlkUmVjZWl2ZU1lc3NhZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlOjpzZW5kVmlld3BvcnRBdHRyaWJ1dGVzQ2hhbmdlZCk6IERlbGV0ZWQuCisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKwogMjAxNS0wNy0yNyAgQ2FybG9zIEdhcmNpYSBDYW1w
b3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gUGFzcyBhIEdzdEluc3Rh
bGxQbHVnaW5zQ29udGV4dCB0byBnc3RfaW5zdGFsbF9wbHVnaW5zX2FzeW5jCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtRWZsLmNtYWtlCmluZGV4IGFkYmJmMzQwOTI3ZTk5ZTZlMWE2NDc2M2M3ZWZkYjAwM2I5NGYw
M2YuLjc0NDk1ZDUxMjQyZmU2YTRmMjY5NTZiY2MzOWU1Yzk2Y2ZlODJiZTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtRWZsLmNtYWtlCkBAIC0yMDksNiArMjA5LDggQEAgbGlzdChBUFBFTkQgV2ViS2l0Ml9T
T1VSQ0VTCiAKICAgICBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L3NvdXAvV2ViRnJhbWVOZXR3
b3JraW5nQ29udGV4dC5jcHAKIAorICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUlt
cGwuY3BwCisKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29y
ZGluYXRlZERyYXdpbmdBcmVhLmNwcAogICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRl
ZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKICAgICBXZWJQcm9jZXNzL1dl
YlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJQYWdlQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9EcmF3aW5nQXJlYUluZm8uaCBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9EcmF3aW5nQXJlYUluZm8uaAppbmRleCAxYjZkYTUyZTRkNGJi
MjU3Y2E1MWYzZDU4NDcyM2E5NTkyMTlhYWVkLi4yMjRkOGQyZDc0MmNmZGViODNmYTRmNGM5NjRi
NWU1MzQ0OGZlNmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRHJhd2luZ0Fy
ZWFJbmZvLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0RyYXdpbmdBcmVhSW5mby5oCkBA
IC0zOCw3ICszOCw3IEBAIGVudW0gRHJhd2luZ0FyZWFUeXBlIHsKICNpZiBVU0UoQ09PUkRJTkFU
RURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQogICAgIERyYXdpbmdBcmVhVHlwZUNvb3JkaW5hdGVk
CiAjZWxzZQotICAgIERyYXdpbmdBcmVhVHlwZUltcGwsCisgICAgRHJhd2luZ0FyZWFUeXBlSW1w
bAogI2VuZGlmCiAjZW5kaWYKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XS1ZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV0tWaWV3LmNwcAppbmRleCA5YTIx
MTA0Zjg5YjhhYjJjM2ViNDI5OGM1OTUyOGZlZGNmMjNjNjJkLi5hNTg4NDgwNjNlODAwYjFlM2U5
MjY1NDBhMTE5MWE4OTc1ZDkwOTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XS1ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9Db29yZGluYXRlZEdyYXBoaWNzL1dLVmlldy5jcHAKQEAgLTE5
MSw4ICsxOTEsMTMgQEAgZG91YmxlIFdLVmlld09wYWNpdHkoV0tWaWV3UmVmIHZpZXcpCiAKIHZv
aWQgV0tWaWV3RmluZFpvb21hYmxlQXJlYUZvclJlY3QoV0tWaWV3UmVmIHZpZXdSZWYsIFdLUmVj
dCB3a1JlY3QpCiB7CisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUykK
ICAgICBJbnRSZWN0IHJlY3QgPSB0b0ludFJlY3Qod2tSZWN0KTsKICAgICB0b0ltcGwodmlld1Jl
ZiktPmZpbmRab29tYWJsZUFyZWFGb3JQb2ludChyZWN0LmNlbnRlcigpLCByZWN0LnNpemUoKSk7
CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTSh2aWV3UmVmKTsKKyAgICBVTlVTRURfUEFSQU0od2tS
ZWN0KTsKKyNlbmRpZgogfQogCiBXS1NpemUgV0tWaWV3R2V0Q29udGVudHNTaXplKFdLVmlld1Jl
ZiB2aWV3UmVmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYVByb3h5LmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJhd2luZ0FyZWFQ
cm94eS5jcHAKaW5kZXggYzMxZGUyYmU3Yzk3Y2FkZDdmOWI3YTNkZDRjZWVhMmExYjc1NzI0Ny4u
YTQ2NTFmNGE4OWVlZTU5OTliODQ2NjQyZDViZTQxMDU2MGUyZWRkOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWREcmF3
aW5nQXJlYVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0
ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhUHJveHkuY3BwCkBAIC00NSw3ICs0NSwx
MSBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBDb29y
ZGluYXRlZERyYXdpbmdBcmVhUHJveHk6OkNvb3JkaW5hdGVkRHJhd2luZ0FyZWFQcm94eShXZWJQ
YWdlUHJveHkmIHdlYlBhZ2VQcm94eSkKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVM
VElQUk9DRVNTKQogICAgIDogRHJhd2luZ0FyZWFQcm94eShEcmF3aW5nQXJlYVR5cGVDb29yZGlu
YXRlZCwgd2ViUGFnZVByb3h5KQorI2Vsc2UKKyAgICA6IERyYXdpbmdBcmVhUHJveHkoRHJhd2lu
Z0FyZWFUeXBlSW1wbCwgd2ViUGFnZVByb3h5KQorI2VuZGlmCiAgICAgLCBtX2N1cnJlbnRCYWNr
aW5nU3RvcmVTdGF0ZUlEKDApCiAgICAgLCBtX25leHRCYWNraW5nU3RvcmVTdGF0ZUlEKDApCiAg
ICAgLCBtX2lzV2FpdGluZ0ZvckRpZFVwZGF0ZUJhY2tpbmdTdG9yZVN0YXRlKGZhbHNlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29v
cmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuY3BwCmlu
ZGV4IGNhNTFiZDNhZTMxOGJkMDJkYTNkNDI2Y2YyYzk5NzM4OGQ5MThmMzMuLmY3NmY2ZTU0ZjRi
MTcxYzFkNmYwNTk0MDFjNjUwMmZmMTQzZWFjNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFBy
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5jcHAKQEAgLTY1LDcgKzY1LDcgQEAgdm9p
ZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6Y29tbWl0Q29vcmRpbmF0ZWRHcmFwaGlj
c1N0YXRlKGNvbnN0IENvb3JkaW4KICAgICB9KTsKIAogICAgIHVwZGF0ZVZpZXdwb3J0KCk7Ci0j
aWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElD
U19NVUxUSVBST0NFU1MpCiAgICAgbV9kcmF3aW5nQXJlYVByb3h5LT5wYWdlKCkuZGlkUmVuZGVy
RnJhbWUoZ3JhcGhpY3NTdGF0ZS5jb250ZW50c1NpemUsIGdyYXBoaWNzU3RhdGUuY292ZXJlZFJl
Y3QpOwogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29v
cmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0UHJveHkuaAppbmRleCAwNDY1YjY5ZmY5NDUxYWI4MWE5ZGY1NTI4NDk5NDY5ZmMxN2Jh
Njg0Li5kNjlmYTE3YjE4NGY2ZGRmYTJhZGZkZDg5NmI3YTNiYWZiZjQzMjNjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRl
ZExheWVyVHJlZUhvc3RQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmgKQEAgLTIxLDcg
KzIxLDcgQEAKICNpZm5kZWYgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHlfaAogI2RlZmlu
ZSBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eV9oCiAKLSNpZiBVU0UoQ09PUkRJTkFURURf
R1JBUEhJQ1NfTVVMVElQUk9DRVNTKQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKIAog
I2luY2x1ZGUgIkNvb3JkaW5hdGVkR3JhcGhpY3NBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUg
IkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5oIgpAQCAtNjksNiArNjksNiBAQCBwcm90ZWN0ZWQ6
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCi0jZW5kaWYgLy8gVVNFKENPT1JESU5BVEVEX0dS
QVBISUNTX01VTFRJUFJPQ0VTUykKKyNlbmRpZiAvLyBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1Mp
CiAKICNlbmRpZiAvLyBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eV9oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJQYWdlUHJv
eHlDb29yZGluYXRlZEdyYXBoaWNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL1dlYlBhZ2VQcm94eUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwCmluZGV4
IDA3YjE2NzE5MGU2MjZiZTFmOGIxMWVmNGRhZjQ3M2E0MTE3YjY4NmEuLmFkNzNkMzY5ZjE2ZTAz
OGM0ZWIxOTY2MGVjN2VjNjlkYWNlZGU0ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlBhZ2VQcm94eUNvb3JkaW5hdGVkR3JhcGhp
Y3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNz
L1dlYlBhZ2VQcm94eUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwCkBAIC0zNyw2ICszNyw3IEBAIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAorI2lmIFVTRShD
T09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpCiB2b2lkIFdlYlBhZ2VQcm94eTo6Zmlu
ZFpvb21hYmxlQXJlYUZvclBvaW50KGNvbnN0IEludFBvaW50JiBwb2ludCwgY29uc3QgSW50U2l6
ZSYgYXJlYSkKIHsKICAgICBpZiAoIWlzVmFsaWQoKSkKQEAgLTQ5LDYgKzUwLDcgQEAgdm9pZCBX
ZWJQYWdlUHJveHk6OmRpZEZpbmRab29tYWJsZUFyZWEoY29uc3QgSW50UG9pbnQmIHRhcmdldCwg
Y29uc3QgSW50UmVjdCYgYXIKIHsKICAgICBtX3BhZ2VDbGllbnQuZGlkRmluZFpvb21hYmxlQXJl
YSh0YXJnZXQsIGFyZWEpOwogfQorI2VuZGlmCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9X
ZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNz
L1dlYlZpZXcuY3BwCmluZGV4IGI2ZWY2Mzk2NTRmNzc3MzBiZDExMmM1NjE1MTZhMTdmZTgxM2Uw
YjcuLjM3NDdmYmJiNWQzYWUzNWZmNmE5ZjRlZGU5ZTc2MmI0YjFhOGYxM2EgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZp
ZXcuY3BwCkBAIC01MTksNiArNTE5LDcgQEAgdm9pZCBXZWJWaWV3OjpkaWRDaGFuZ2VWaWV3cG9y
dFByb3BlcnRpZXMoY29uc3QgV2ViQ29yZTo6Vmlld3BvcnRBdHRyaWJ1dGVzJiBhdHQKICAgICBt
X2NsaWVudC5kaWRDaGFuZ2VWaWV3cG9ydEF0dHJpYnV0ZXModGhpcywgYXR0cik7CiB9CiAKKyNp
ZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQogdm9pZCBXZWJWaWV3Ojpw
YWdlRGlkUmVxdWVzdFNjcm9sbChjb25zdCBJbnRQb2ludCYgcG9zaXRpb24pCiB7CiAgICAgRmxv
YXRQb2ludCB1aVBvc2l0aW9uKHBvc2l0aW9uKTsKQEAgLTU0MSw2ICs1NDIsNyBAQCB2b2lkIFdl
YlZpZXc6OmZpbmRab29tYWJsZUFyZWFGb3JQb2ludChjb25zdCBJbnRQb2ludCYgcG9pbnQsIGNv
bnN0IEludFNpemUmIHNpegogewogICAgIG1fcGFnZS0+ZmluZFpvb21hYmxlQXJlYUZvclBvaW50
KHRyYW5zZm9ybUZyb21TY2VuZSgpLm1hcFBvaW50KHBvaW50KSwgdHJhbnNmb3JtRnJvbVNjZW5l
KCkubWFwU2l6ZShzaXplKSk7CiB9CisjZW5kaWYKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNz
L1dlYlZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNz
L1dlYlZpZXcuaAppbmRleCBkNDUzNzI0N2FiOTM3ZDFiNWY1ZjhjMmRmOGQ2NzBkYTVjMGM5ZDFk
Li40ODExNGUwZDQ4ZGU5MzA3MDRlNTc2ZTM5YWZkNTgxZDVlNTgyNmQwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlldy5o
CkBAIC05NCw3ICs5NCw5IEBAIHB1YmxpYzoKICAgICBib29sIHJlcXVlc3RFeGl0RnVsbFNjcmVl
bigpOwogI2VuZGlmCiAKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNT
KQogICAgIHZvaWQgZmluZFpvb21hYmxlQXJlYUZvclBvaW50KGNvbnN0IFdlYkNvcmU6OkludFBv
aW50JiwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpOworI2VuZGlmCiAKICAgICAvLyBWaWV3IGNs
aWVudC4KICAgICB2b2lkIGluaXRpYWxpemVDbGllbnQoY29uc3QgV0tWaWV3Q2xpZW50QmFzZSop
OwpAQCAtMTQ3LDkgKzE0OSwxMSBAQCBwcm90ZWN0ZWQ6CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlk
Q29tbWl0TG9hZEZvck1haW5GcmFtZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBib29sIHVzZUN1
c3RvbUNvbnRlbnRQcm92aWRlcikgb3ZlcnJpZGU7CiAKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JB
UEhJQ1NfTVVMVElQUk9DRVNTKQogICAgIHZpcnR1YWwgdm9pZCBwYWdlRGlkUmVxdWVzdFNjcm9s
bChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBk
aWRSZW5kZXJGcmFtZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBjb250ZW50c1NpemUsIGNvbnN0
IFdlYkNvcmU6OkludFJlY3QmIGNvdmVyZWRSZWN0KSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZv
aWQgcGFnZVRyYW5zaXRpb25WaWV3cG9ydFJlYWR5KCkgb3ZlcnJpZGU7CisjZW5kaWYKIAogICAg
IHZpcnR1YWwgdm9pZCBzZXRDdXJzb3IoY29uc3QgV2ViQ29yZTo6Q3Vyc29yJikgb3ZlcnJpZGU7
CiAgICAgdmlydHVhbCB2b2lkIHNldEN1cnNvckhpZGRlblVudGlsTW91c2VNb3Zlcyhib29sKSBv
dmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXgg
ZDdlYmZjODA2OTk2MjgxNTJkMzUwMTI3OTc1NzdkOWVmOGM2MmY1MS4uMmUwMTgyZGYwMzAxYjlk
MmRjNDM1MDRhNDM3ZDMxNjk4YzUzNWIyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAKQEAgLTE1NzcsNyArMTU3Nyw3IEBAIHZvaWQgV2ViUGFnZVByb3h5Ojpk
aWRDb21taXRMYXllclRyZWUoY29uc3QgUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24mKQogfQog
I2VuZGlmCiAKLSNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQorI2lm
IFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKIHZvaWQgV2ViUGFnZVByb3h5Ojpjb21taXRQYWdl
VHJhbnNpdGlvblZpZXdwb3J0KCkKIHsKICAgICBpZiAoIWlzVmFsaWQoKSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCAzOGQzYzhlZWE5NGJlNWNiZGViZWQ0YzRi
MDkyYWI5YTVlMWQzNTdhLi5iNjk5MTlmMmY3MGE5NmI5NzAxYjUwZTA3ZWQ4MDU2NmM1NDdhOTU0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC01MjcsNyArNTI3
LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBkaWRDb21taXRMYXllclRyZWUoY29uc3QgV2ViS2l0
OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbiYpOwogCi0jaWYgVVNFKENPT1JESU5BVEVEX0dS
QVBISUNTX01VTFRJUFJPQ0VTUykKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAgICAg
dm9pZCBkaWRSZW5kZXJGcmFtZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBjb250ZW50c1NpemUs
IGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGNvdmVyZWRSZWN0KTsKICNlbmRpZgogI2lmIFBMQVRG
T1JNKEVGTCkKQEAgLTYxMCw3ICs2MTAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRCYWNrZ3Jv
dW5kQ29sb3IoY29uc3QgV2ViQ29yZTo6Q29sb3ImIGNvbG9yKSB7IG1fYmFja2dyb3VuZENvbG9y
ID0gY29sb3I7IH0KICNlbmRpZgogCi0jaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJ
UFJPQ0VTUykKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAgICAgdm9pZCBjb21taXRQ
YWdlVHJhbnNpdGlvblZpZXdwb3J0KCk7CiAjZW5kaWYKIApAQCAtODgwLDcgKzg4MCw3IEBAIHB1
YmxpYzoKIAogICAgIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMgY3JlYXRpb25QYXJhbWV0ZXJz
KCk7CiAKLSNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCisjaWYgVVNFKENPT1JESU5BVEVE
X0dSQVBISUNTX01VTFRJUFJPQ0VTUykKICAgICB2b2lkIGZpbmRab29tYWJsZUFyZWFGb3JQb2lu
dChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmKTsKICNl
bmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29v
cmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJh
d2luZ0FyZWEuY3BwCmluZGV4IGFkMjU3OWRiZDc5MGQ4ZTNjYmNhNmQzMmQ1MDk4OWFlM2U3ZThk
ZjMuLmY3NGU4MDAxYjE3ZjBmYjk0NzcyN2ExYzdlZjkwNGM4MTEyMTE5NmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
b3JkaW5hdGVkRHJhd2luZ0FyZWEuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJhd2luZ0FyZWEuY3BwCkBA
IC01Niw3ICs1NiwxMSBAQCBDb29yZGluYXRlZERyYXdpbmdBcmVhOjp+Q29vcmRpbmF0ZWREcmF3
aW5nQXJlYSgpCiB9CiAKIENvb3JkaW5hdGVkRHJhd2luZ0FyZWE6OkNvb3JkaW5hdGVkRHJhd2lu
Z0FyZWEoV2ViUGFnZSYgd2ViUGFnZSwgY29uc3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYg
cGFyYW1ldGVycykKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQog
ICAgIDogRHJhd2luZ0FyZWEoRHJhd2luZ0FyZWFUeXBlQ29vcmRpbmF0ZWQsIHdlYlBhZ2UpCisj
ZWxzZQorICAgIDogRHJhd2luZ0FyZWEoRHJhd2luZ0FyZWFUeXBlSW1wbCwgd2ViUGFnZSkKKyNl
bmRpZgogICAgICwgbV9iYWNraW5nU3RvcmVTdGF0ZUlEKDApCiAgICAgLCBtX2lzUGFpbnRpbmdF
bmFibGVkKHRydWUpCiAgICAgLCBtX2luVXBkYXRlQmFja2luZ1N0b3JlU3RhdGUoZmFsc2UpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhLmgK
aW5kZXggZDcwNTM0NjAyMzAxNGE1ZGEzNThmOWRhOTU4ZDljYWFjZDZkMzJiZi4uNTQxMGM0MDVl
ODdiNzVlYWMyMDVhYTRlNTgzYjAwMTEzOThmODVkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWREcmF3
aW5nQXJlYS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGlu
YXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJhd2luZ0FyZWEuaApAQCAtNjgsNiArNjgsMTAgQEAg
cHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUNvb3JkaW5hdGVkTGF5ZXJUcmVl
SG9zdE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogI2Vu
ZGlmCiAKKyNpZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpICYmIFBMQVRGT1JNKEdUSykKKyAgICB2
aXJ0dWFsIHZvaWQgc2V0TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nKHVpbnQ2NF90
KSBvdmVycmlkZSB7IH07CisjZW5kaWYKKwogICAgIHZpcnR1YWwgdm9pZCB2aWV3U3RhdGVEaWRD
aGFuZ2UoV2ViQ29yZTo6Vmlld1N0YXRlOjpGbGFncywgYm9vbCAvKiB3YW50c0RpZFVwZGF0ZVZp
ZXdTdGF0ZSAqLywgY29uc3QgVmVjdG9yPHVpbnQ2NF90PiYgLyogY2FsbGJhY2tJRHMgKi8pIG92
ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBhdHRhY2hWaWV3T3ZlcmxheUdyYXBoaWNzTGF5ZXIo
V2ViQ29yZTo6RnJhbWUqLCBXZWJDb3JlOjpHcmFwaGljc0xheWVyKikgb3ZlcnJpZGU7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdy
YXBoaWNzL1dlYlBhZ2VDb29yZGluYXRlZEdyYXBoaWNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlBhZ2VDb29yZGluYXRlZEdy
YXBoaWNzLmNwcAppbmRleCA2ZTM5NTY3ZTkwYTViMmZiMGE3MWU3MmUwZGEyOGQyMDZiNWRiNTM5
Li4zNDU2NDhiYWFkMjIwN2JhZWQ4ZWE1OGQ0NTYxOGI5ZWU0ZGRmMDcyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJQ
YWdlQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViUGFnZUNvb3JkaW5hdGVkR3JhcGhpY3Mu
Y3BwCkBAIC00NCw2ICs0NCw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1Mp
CiB2b2lkIFdlYlBhZ2U6OmZpbmRab29tYWJsZUFyZWFGb3JQb2ludChjb25zdCBJbnRQb2ludCYg
cG9pbnQsIGNvbnN0IEludFNpemUmIGFyZWEpCiB7CiAgICAgVU5VU0VEX1BBUkFNKGFyZWEpOwpA
QCAtODQsNiArODUsNyBAQCB2b2lkIFdlYlBhZ2U6OmZpbmRab29tYWJsZUFyZWFGb3JQb2ludChj
b25zdCBJbnRQb2ludCYgcG9pbnQsIGNvbnN0IEludFNpemUmIGFyZQogCiAgICAgc2VuZChNZXNz
YWdlczo6V2ViUGFnZVByb3h5OjpEaWRGaW5kWm9vbWFibGVBcmVhKHBvaW50LCB6b29tYWJsZUFy
ZWEpKTsKIH0KKyNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaAppbmRleCAzYWQxOTE3MGM2
ZTA1MTY5ZmM4NTYwMjJlOGJiZmQ0NTM3MDFkYTc5Li45YTQ2ZThhMjI4MDczNmJjOTI3NTRhZTIy
NThjOWQ3ZjYyMmEzZjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvRHJhd2luZ0FyZWEuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvRHJhd2luZ0FyZWEuaApAQCAtMTEyLDcgKzExMiw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IFJlZlB0cjxXZWJDb3JlOjpEaXNwbGF5UmVmcmVzaE1vbml0b3I+IGNyZWF0ZURpc3BsYXlSZWZy
ZXNoTW9uaXRvcihQbGF0Zm9ybURpc3BsYXlJRCk7CiAjZW5kaWYKIAotI2lmIFVTRShDT09SRElO
QVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNT
KQogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0TWVz
c2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgPSAwOwogI2VuZGlm
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5n
QXJlYUltcGwuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdB
cmVhSW1wbC5jcHAKaW5kZXggYTIzZDhjMjQwNjIzMmEzODdlMGJjNTgyYmJkNGEzNDExYjYyNzJk
ZS4uNTEzOWQ5ZGJjM2U0M2U5NDVmMTUwNDNkODk1NDkzZGJlNjIyMTdkMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAK
QEAgLTUwLDcgKzUwLDExIEBAIERyYXdpbmdBcmVhSW1wbDo6fkRyYXdpbmdBcmVhSW1wbCgpCiB9
CiAKIERyYXdpbmdBcmVhSW1wbDo6RHJhd2luZ0FyZWFJbXBsKFdlYlBhZ2UmIHdlYlBhZ2UsIGNv
bnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCisjaWYgVVNFKENPT1JE
SU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUykKKyAgICA6IERyYXdpbmdBcmVhKERyYXdpbmdB
cmVhVHlwZUNvb3JkaW5hdGVkLCB3ZWJQYWdlKQorI2Vsc2UKICAgICA6IERyYXdpbmdBcmVhKERy
YXdpbmdBcmVhVHlwZUltcGwsIHdlYlBhZ2UpCisjZW5kaWYKICAgICAsIG1fYmFja2luZ1N0b3Jl
U3RhdGVJRCgwKQogICAgICwgbV9pc1BhaW50aW5nRW5hYmxlZCh0cnVlKQogICAgICwgbV9pblVw
ZGF0ZUJhY2tpbmdTdG9yZVN0YXRlKGZhbHNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5oIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5oCmluZGV4IDk1ZjJhOTlkMzdmNTQ2ZDEz
OTkyYjMxNmExZmE1ZjBlMzdlNjczNzAuLjgxNjc0NDA4MzJjNTU5NWJhYTVlOTMwZTQxOTE5YTg1
NzllZjdkNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9E
cmF3aW5nQXJlYUltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
RHJhd2luZ0FyZWFJbXBsLmgKQEAgLTc0LDYgKzc0LDEwIEBAIHByaXZhdGU6CiAgICAgdmlydHVh
bCB2b2lkIHNldE5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZyh1aW50NjRfdCkgb3Zl
cnJpZGU7CiAjZW5kaWYKIAorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKKyAgICB2aXJ0
dWFsIHZvaWQgZGlkUmVjZWl2ZUNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdE1lc3NhZ2UoSVBDOjpD
b25uZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRlIHsgfTsKKyNlbmRpZgor
CiAgICAgLy8gSVBDIG1lc3NhZ2UgaGFuZGxlcnMuCiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUJh
Y2tpbmdTdG9yZVN0YXRlKHVpbnQ2NF90IGJhY2tpbmdTdG9yZVN0YXRlSUQsIGJvb2wgcmVzcG9u
ZEltbWVkaWF0ZWx5LCBmbG9hdCBkZXZpY2VTY2FsZUZhY3RvciwgY29uc3QgV2ViQ29yZTo6SW50
U2l6ZSYsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHNjcm9sbE9mZnNldCkgb3ZlcnJpZGU7CiAg
ICAgdmlydHVhbCB2b2lkIGRpZFVwZGF0ZSgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuY3BwIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuY3BwCmluZGV4IDBmN2MyMmVj
MDE5NzkxOTVmNjg1MjRlNzdmNzdhZGMzZTNiZDY3NmEuLmVjNjcxNjA5OTc2ZmQ2MDViMWVjYzRi
NjBlOGRjZWJmZjUyN2FhOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9MYXllclRyZWVIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5jcHAKQEAgLTQwLDEwICs0MCwxMCBAQCBuYW1lc3BhY2Ug
V2ViS2l0IHsKIAogUGFzc1JlZlB0cjxMYXllclRyZWVIb3N0PiBMYXllclRyZWVIb3N0OjpjcmVh
dGUoV2ViUGFnZSogd2ViUGFnZSkKIHsKLSNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVM
VElQUk9DRVNTKQotICAgIHJldHVybiBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmNyZWF0ZSh3
ZWJQYWdlKTsKLSNlbGlmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19USFJFQURFRCkKKyNpZiBV
U0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfVEhSRUFERUQpCiAgICAgcmV0dXJuIFRocmVhZGVkQ29v
cmRpbmF0ZWRMYXllclRyZWVIb3N0OjpjcmVhdGUod2ViUGFnZSk7CisjZWxpZiBVU0UoQ09PUkRJ
TkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQorICAgIHJldHVybiBDb29yZGluYXRlZExheWVy
VHJlZUhvc3Q6OmNyZWF0ZSh3ZWJQYWdlKTsKICNlbGlmIFBMQVRGT1JNKEdUSykgJiYgVVNFKFRF
WFRVUkVfTUFQUEVSX0dMKQogICAgIHJldHVybiBMYXllclRyZWVIb3N0R3RrOjpjcmVhdGUod2Vi
UGFnZSk7CiAjZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCmluZGV4IGFhMjBkYzRjN2Q4NzQ0ODA3OTlhYTc2MDRkMGExZTg1NWExOTM0NjcuLjI5
OThkZWVhZmRkOWViNWY2ZGY2MDYwZDE5ODJhNjBlYmQ1Y2NmZjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTIxMiw3ICsyMTIsNyBAQAog
I2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkTGVha0NvdW50ZXIuaD4KICNlbmRpZgogCi0jaWYgVVNF
KENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUykKKyNpZiBVU0UoQ09PUkRJTkFURURf
R1JBUEhJQ1MpCiAjaW5jbHVkZSAiQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0TWVzc2FnZXMuaCIK
ICNlbmRpZgogCkBAIC00OTEsNyArNDkxLDcgQEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50NjRfdCBw
YWdlSUQsIGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiAgICAg
d2ViUHJvY2Vzcy5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OldlYlBhZ2U6Om1lc3NhZ2VS
ZWNlaXZlck5hbWUoKSwgbV9wYWdlSUQsICp0aGlzKTsKIAogICAgIC8vIEZJWE1FOiBUaGlzIHNo
b3VsZCBiZSBkb25lIGluIHRoZSBvYmplY3QgY29uc3RydWN0b3JzLCBhbmQgdGhlIG9iamVjdHMg
dGhlbXNlbHZlcyBzaG91bGQgYmUgbWVzc2FnZSByZWNlaXZlcnMuCi0jaWYgVVNFKENPT1JESU5B
VEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUykKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1Mp
CiAgICAgd2ViUHJvY2Vzcy5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OkNvb3JkaW5hdGVk
TGF5ZXJUcmVlSG9zdDo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX3BhZ2VJRCwgKnRoaXMpOwog
I2VuZGlmCiAgICAgd2ViUHJvY2Vzcy5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OldlYklu
c3BlY3Rvcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX3BhZ2VJRCwgKnRoaXMpOwpAQCAtNTg2
LDcgKzU4Niw3IEBAIFdlYlBhZ2U6On5XZWJQYWdlKCkKICAgICB3ZWJQcm9jZXNzLnJlbW92ZU1l
c3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViUGFnZTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBt
X3BhZ2VJRCk7CiAKICAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgYmUgZG9uZSBpbiB0aGUgb2Jq
ZWN0IGRlc3RydWN0b3JzLCBhbmQgdGhlIG9iamVjdHMgdGhlbXNlbHZlcyBzaG91bGQgYmUgbWVz
c2FnZSByZWNlaXZlcnMuCi0jaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VT
UykKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAgICAgd2ViUHJvY2Vzcy5yZW1vdmVN
ZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6bWVzc2Fn
ZVJlY2VpdmVyTmFtZSgpLCBtX3BhZ2VJRCk7CiAjZW5kaWYKICAgICB3ZWJQcm9jZXNzLnJlbW92
ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViSW5zcGVjdG9yOjptZXNzYWdlUmVjZWl2ZXJO
YW1lKCksIG1fcGFnZUlEKTsKQEAgLTEyOTksMTEgKzEyOTksMTEgQEAgdm9pZCBXZWJQYWdlOjpz
ZW5kVmlld3BvcnRBdHRyaWJ1dGVzQ2hhbmdlZCgpCiAgICAgLy8gVGhpcyBhbHNvIHRha2VzIGNh
cmUgb2YgdGhlIHJlbGF5b3V0LgogICAgIHNldEZpeGVkTGF5b3V0U2l6ZShyb3VuZGVkSW50U2l6
ZShhdHRyLmxheW91dFNpemUpKTsKIAotI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19NVUxU
SVBST0NFU1MpCi0gICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRDaGFuZ2VWaWV3
cG9ydFByb3BlcnRpZXMoYXR0cikpOwotI2Vsc2UKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJ
Q1NfVEhSRUFERUQpCiAgICAgaWYgKG1fZHJhd2luZ0FyZWEtPmxheWVyVHJlZUhvc3QoKSkKICAg
ICAgICAgbV9kcmF3aW5nQXJlYS0+bGF5ZXJUcmVlSG9zdCgpLT5kaWRDaGFuZ2VWaWV3cG9ydFBy
b3BlcnRpZXMoYXR0cik7CisjZWxzZQorICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6
RGlkQ2hhbmdlVmlld3BvcnRQcm9wZXJ0aWVzKGF0dHIpKTsKICNlbmRpZgogfQogI2VuZGlmCkBA
IC0xODUxLDEwICsxODUxLDEwIEBAIHZvaWQgV2ViUGFnZTo6cGFnZVN0b3BwZWRTY3JvbGxpbmco
KQogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKIHZvaWQgV2ViUGFnZTo6cGFnZURpZFJl
cXVlc3RTY3JvbGwoY29uc3QgSW50UG9pbnQmIHBvaW50KQogewotI2lmIFVTRShDT09SRElOQVRF
RF9HUkFQSElDU19NVUxUSVBST0NFU1MpCi0gICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5
OjpQYWdlRGlkUmVxdWVzdFNjcm9sbChwb2ludCkpOwotI2VsaWYgVVNFKENPT1JESU5BVEVEX0dS
QVBISUNTX1RIUkVBREVEKQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19USFJFQURFRCkK
ICAgICBkcmF3aW5nQXJlYSgpLT5zY3JvbGwoSW50UmVjdChwb2ludCwgSW50U2l6ZSgpKSwgSW50
U2l6ZSgpKTsKKyNlbGlmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpIAor
ICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6UGFnZURpZFJlcXVlc3RTY3JvbGwocG9p
bnQpKTsKICNlbmRpZgogfQogI2VuZGlmCkBAIC0zNjEyLDcgKzM2MTIsNyBAQCBib29sIFdlYlBh
Z2U6OndpbmRvd0FuZFdlYlBhZ2VBcmVGb2N1c2VkKCkgY29uc3QKIAogdm9pZCBXZWJQYWdlOjpk
aWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIElQQzo6TWVzc2Fn
ZURlY29kZXImIGRlY29kZXIpCiB7Ci0jaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJ
UFJPQ0VTUykKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAgICAgaWYgKGRlY29kZXIu
bWVzc2FnZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpDb29yZGluYXRlZExheWVyVHJlZUhv
c3Q6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkgewogICAgICAgICBpZiAobV9kcmF3aW5nQXJlYSkK
ICAgICAgICAgICAgIG1fZHJhd2luZ0FyZWEtPmRpZFJlY2VpdmVDb29yZGluYXRlZExheWVyVHJl
ZUhvc3RNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOwpAQCAtNDEwNCw3ICs0MTA0LDcgQEAg
Ym9vbCBXZWJQYWdlOjpjYW5IYW5kbGVSZXF1ZXN0KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVx
dWVzdCYgcmVxdWVzdCkKICAgICByZXR1cm4gcGxhdGZvcm1DYW5IYW5kbGVSZXF1ZXN0KHJlcXVl
c3QpOwogfQogCi0jaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUykKKyNp
ZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiB2b2lkIFdlYlBhZ2U6OmNvbW1pdFBhZ2VUcmFu
c2l0aW9uVmlld3BvcnQoKQogewogICAgIG1fZHJhd2luZ0FyZWEtPnNldExheWVyVHJlZVN0YXRl
SXNGcm96ZW4oZmFsc2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmgKaW5kZXggYmM4N2M2YTllOWM2YjUzNTVjYTAwOTU5NTFiNDI4MjFlNDQ0NzEyNS4uN2Vh
NGNjZjc4NTdhNGJmMmEwYjQ5NzI5NjU2NzE1YzU4ZWE3MGRmMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC01NzAsNiArNTcwLDcgQEAgcHVibGlj
OgogICAgIHZvaWQgcGFnZURpZFJlcXVlc3RTY3JvbGwoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQm
KTsKICAgICB2b2lkIHNldEZpeGVkVmlzaWJsZUNvbnRlbnRSZWN0KGNvbnN0IFdlYkNvcmU6Oklu
dFJlY3QmKTsKICAgICB2b2lkIHNlbmRWaWV3cG9ydEF0dHJpYnV0ZXNDaGFuZ2VkKCk7CisgICAg
dm9pZCBjb21taXRQYWdlVHJhbnNpdGlvblZpZXdwb3J0KCk7CiAjZW5kaWYKIAogI2lmIEVOQUJM
RShDT05URVhUX01FTlVTKQpAQCAtNjEwLDEwICs2MTEsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBz
ZXRUaGVtZVBhdGgoY29uc3QgU3RyaW5nJik7CiAjZW5kaWYKIAotI2lmIFVTRShDT09SRElOQVRF
RF9HUkFQSElDU19NVUxUSVBST0NFU1MpCi0gICAgdm9pZCBjb21taXRQYWdlVHJhbnNpdGlvblZp
ZXdwb3J0KCk7Ci0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKEdUSykKICAgICB2b2lkIHNldENvbXBv
c2l0aW9uKGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3QgVmVjdG9yPFdlYkNvcmU6OkNvbXBvc2l0
aW9uVW5kZXJsaW5lPiYgdW5kZXJsaW5lcywgdWludDY0X3Qgc2VsZWN0aW9uU3RhcnQsIHVpbnQ2
NF90IHNlbGVjdGlvbkVuZCwgdWludDY0X3QgcmVwbGFjZW1lbnRSYW5nZVN0YXJ0LCB1aW50NjRf
dCByZXBsYWNlbWVudFJhbmdlTGVuZ3RoKTsKICAgICB2b2lkIGNvbmZpcm1Db21wb3NpdGlvbihj
b25zdCBTdHJpbmcmIHRleHQsIGludDY0X3Qgc2VsZWN0aW9uU3RhcnQsIGludDY0X3Qgc2VsZWN0
aW9uTGVuZ3RoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5kZXggYzQyMGNkMzkzM2FmYjM2M2Q5ZGY2YTk0NzlkZmI0
ZjkzOGE0OGQxNi4uYTRmYzZhOTFhNzljN2JjNmFhODkwMDQyZjgwNjFiMmY1NjhhNWU3YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2Fn
ZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVz
c2FnZXMuaW4KQEAgLTMyOSw3ICszMjksNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlIExlZ2FjeVJl
Y2VpdmVyIHsKICAgICBTZXRUaGVtZVBhdGgoU3RyaW5nIHRoZW1lUGF0aCkKICNlbmRpZgogCi0j
aWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUykKKyNpZiBVU0UoQ09PUkRJ
TkFURURfR1JBUEhJQ1MpCiAgICAgQ29tbWl0UGFnZVRyYW5zaXRpb25WaWV3cG9ydCgpCiAjZW5k
aWYKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257741</attachid>
            <date>2015-07-29 01:09:25 -0700</date>
            <delta_ts>2015-07-29 06:21:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147256-20150729170802.patch</filename>
            <type>text/plain</type>
            <size>20317</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3NTQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNWQ3NmUzMDFhYjMwOTAz
MjczMmNiY2QzMjY2NDc0YWFiYjZjODRlYS4uYWNhODgzYTRjMWU2MTRiYmRjOTRmM2JkZmNmNmE2
YmQxOTY4MmU1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDE1LTA3LTI5ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBbQ29vcmRpbmF0
ZWRHcmFwaGljc10gUmVhcnJhbmdlIHVzZXMgb2YgVVNFX0NPT1JESU5BVEVEX0dSQVBISUNTX01V
TFRJUFJPQ0VTUworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTQ3MjU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQ29vcmRpbmF0ZWRHcmFwaGljcydzIGFibGUgdG8gd29yayBvbmx5IHdoZW4gQ09PUkRJTkFU
RURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTCisgICAgICAgIGd1YXJkIGlzIGVuYWJsZWQgYmVjYXVz
ZSB0aGUgY29kZXMgYXJlIGFscmVhZHkgdG9vIGNvdXBsZWQgd2l0aCBjb29yZGluYXRlZCBncmFw
aGljcworICAgICAgICBpbXBsZW1lbnRhdGlvbi4gV2UgbmVlZCB0byByZS1hcnJhbmdlIGl0IHRv
IGJ1aWxkIFdlYktpdCB3aXRoL3dpdGhvdXQKKyAgICAgICAgQ09PUkRJTkFURURfR1JBUEhJQ1Nf
TVVMVElQUk9DRVNTIGd1YXJkLgorCisgICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6CisgICAg
ICAgICogU2hhcmVkL0RyYXdpbmdBcmVhSW5mby5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Qy9Db29yZGluYXRlZEdyYXBoaWNzL1dLVmlldy5jcHA6CisgICAgICAgIChXS1ZpZXdGaW5kWm9v
bWFibGVBcmVhRm9yUmVjdCk6CisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q29v
cmRpbmF0ZWREcmF3aW5nQXJlYVByb3h5OjpDb29yZGluYXRlZERyYXdpbmdBcmVhUHJveHkpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdFByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0UHJveHk6OmNvbW1pdENvb3JkaW5hdGVkR3JhcGhpY3NTdGF0ZSk6CisgICAgICAgICogVUlQ
cm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHku
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJQYWdlUHJveHlD
b29yZGluYXRlZEdyYXBoaWNzLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9XZWJWaWV3LmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFw
aGljcy9XZWJWaWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJhd2luZ0FyZWEuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZERyYXdpbmdBcmVhOjpDb29yZGluYXRlZERyYXdp
bmdBcmVhKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9Db29yZGluYXRlZERyYXdpbmdBcmVhLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViUGFnZUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwOgorICAgICAgICAo
V2ViS2l0OjpEcmF3aW5nQXJlYUltcGw6OkRyYXdpbmdBcmVhSW1wbCk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5oOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9MYXllclRyZWVIb3N0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9z
dDo6Y3JlYXRlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNlbmRWaWV3cG9ydEF0dHJpYnV0ZXNDaGFuZ2VkKToK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cGFnZURpZFJlcXVlc3RTY3JvbGwpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW46CisKIDIwMTUtMDctMjggIENhcmxvcyBHYXJjaWEg
Q2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIEFkZCBBUEkgdG8g
c2V0IHRoZSBtYXhpbXVtIG51bWJlciBvZiB3ZWIgcHJvY2Vzc2VzIHBlciBXZWJLaXRXZWJDb250
ZXh0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IGFkYmJmMzQwOTI3ZTk5ZTZlMWE2NDc2
M2M3ZWZkYjAwM2I5NGYwM2YuLjc0NDk1ZDUxMjQyZmU2YTRmMjY5NTZiY2MzOWU1Yzk2Y2ZlODJi
ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC0yMDksNiArMjA5LDggQEAgbGlzdChB
UFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCiAKICAgICBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L3Nv
dXAvV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dC5jcHAKIAorICAgIFdlYlByb2Nlc3MvV2ViUGFn
ZS9EcmF3aW5nQXJlYUltcGwuY3BwCisKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0
ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhLmNwcAogICAgIFdlYlByb2Nlc3MvV2Vi
UGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKICAg
ICBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJQYWdlQ29vcmRpbmF0
ZWRHcmFwaGljcy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9EcmF3aW5n
QXJlYUluZm8uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9EcmF3aW5nQXJlYUluZm8uaAppbmRl
eCAxYjZkYTUyZTRkNGJiMjU3Y2E1MWYzZDU4NDcyM2E5NTkyMTlhYWVkLi4yMjRkOGQyZDc0MmNm
ZGViODNmYTRmNGM5NjRiNWU1MzQ0OGZlNmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvRHJhd2luZ0FyZWFJbmZvLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0RyYXdp
bmdBcmVhSW5mby5oCkBAIC0zOCw3ICszOCw3IEBAIGVudW0gRHJhd2luZ0FyZWFUeXBlIHsKICNp
ZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQogICAgIERyYXdpbmdBcmVh
VHlwZUNvb3JkaW5hdGVkCiAjZWxzZQotICAgIERyYXdpbmdBcmVhVHlwZUltcGwsCisgICAgRHJh
d2luZ0FyZWFUeXBlSW1wbAogI2VuZGlmCiAjZW5kaWYKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XS1ZpZXcuY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV0tWaWV3
LmNwcAppbmRleCA5YTIxMTA0Zjg5YjhhYjJjM2ViNDI5OGM1OTUyOGZlZGNmMjNjNjJkLi5hNTg4
NDgwNjNlODAwYjFlM2U5MjY1NDBhMTE5MWE4OTc1ZDkwOTAyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XS1ZpZXcuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9Db29yZGluYXRlZEdyYXBoaWNzL1dL
Vmlldy5jcHAKQEAgLTE5MSw4ICsxOTEsMTMgQEAgZG91YmxlIFdLVmlld09wYWNpdHkoV0tWaWV3
UmVmIHZpZXcpCiAKIHZvaWQgV0tWaWV3RmluZFpvb21hYmxlQXJlYUZvclJlY3QoV0tWaWV3UmVm
IHZpZXdSZWYsIFdLUmVjdCB3a1JlY3QpCiB7CisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNT
X01VTFRJUFJPQ0VTUykKICAgICBJbnRSZWN0IHJlY3QgPSB0b0ludFJlY3Qod2tSZWN0KTsKICAg
ICB0b0ltcGwodmlld1JlZiktPmZpbmRab29tYWJsZUFyZWFGb3JQb2ludChyZWN0LmNlbnRlcigp
LCByZWN0LnNpemUoKSk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTSh2aWV3UmVmKTsKKyAgICBV
TlVTRURfUEFSQU0od2tSZWN0KTsKKyNlbmRpZgogfQogCiBXS1NpemUgV0tWaWV3R2V0Q29udGVu
dHNTaXplKFdLVmlld1JlZiB2aWV3UmVmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYVByb3h5LmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5h
dGVkRHJhd2luZ0FyZWFQcm94eS5jcHAKaW5kZXggYzMxZGUyYmU3Yzk3Y2FkZDdmOWI3YTNkZDRj
ZWVhMmExYjc1NzI0Ny4uYTQ2NTFmNGE4OWVlZTU5OTliODQ2NjQyZDViZTQxMDU2MGUyZWRkOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
Q29vcmRpbmF0ZWREcmF3aW5nQXJlYVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhUHJveHkuY3Bw
CkBAIC00NSw3ICs0NSwxMSBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCiBDb29yZGluYXRlZERyYXdpbmdBcmVhUHJveHk6OkNvb3JkaW5hdGVkRHJhd2lu
Z0FyZWFQcm94eShXZWJQYWdlUHJveHkmIHdlYlBhZ2VQcm94eSkKKyNpZiBVU0UoQ09PUkRJTkFU
RURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQogICAgIDogRHJhd2luZ0FyZWFQcm94eShEcmF3aW5n
QXJlYVR5cGVDb29yZGluYXRlZCwgd2ViUGFnZVByb3h5KQorI2Vsc2UKKyAgICA6IERyYXdpbmdB
cmVhUHJveHkoRHJhd2luZ0FyZWFUeXBlSW1wbCwgd2ViUGFnZVByb3h5KQorI2VuZGlmCiAgICAg
LCBtX2N1cnJlbnRCYWNraW5nU3RvcmVTdGF0ZUlEKDApCiAgICAgLCBtX25leHRCYWNraW5nU3Rv
cmVTdGF0ZUlEKDApCiAgICAgLCBtX2lzV2FpdGluZ0ZvckRpZFVwZGF0ZUJhY2tpbmdTdG9yZVN0
YXRlKGZhbHNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0UHJveHkuY3BwCmluZGV4IGNhNTFiZDNhZTMxOGJkMDJkYTNkNDI2Y2YyYzk5NzM4OGQ5MThm
MzMuLmY3NmY2ZTU0ZjRiMTcxYzFkNmYwNTk0MDFjNjUwMmZmMTQzZWFjNzcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVk
TGF5ZXJUcmVlSG9zdFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29v
cmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5jcHAKQEAgLTY1
LDcgKzY1LDcgQEAgdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6Y29tbWl0Q29v
cmRpbmF0ZWRHcmFwaGljc1N0YXRlKGNvbnN0IENvb3JkaW4KICAgICB9KTsKIAogICAgIHVwZGF0
ZVZpZXdwb3J0KCk7Ci0jaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQorI2lmIFVTRShDT09S
RElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpCiAgICAgbV9kcmF3aW5nQXJlYVByb3h5LT5w
YWdlKCkuZGlkUmVuZGVyRnJhbWUoZ3JhcGhpY3NTdGF0ZS5jb250ZW50c1NpemUsIGdyYXBoaWNz
U3RhdGUuY292ZXJlZFJlY3QpOwogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQ
cm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29v
cmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaAppbmRleCAwNDY1YjY5ZmY5NDUxYWI4MWE5ZGY1
NTI4NDk5NDY5ZmMxN2JhNjg0Li5kNjlmYTE3YjE4NGY2ZGRmYTJhZGZkZDg5NmI3YTNiYWZiZjQz
MjNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFw
aGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFBy
b3h5LmgKQEAgLTIxLDcgKzIxLDcgQEAKICNpZm5kZWYgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0
UHJveHlfaAogI2RlZmluZSBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eV9oCiAKLSNpZiBV
U0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQorI2lmIFVTRShDT09SRElOQVRF
RF9HUkFQSElDUykKIAogI2luY2x1ZGUgIkNvb3JkaW5hdGVkR3JhcGhpY3NBcmd1bWVudENvZGVy
cy5oIgogI2luY2x1ZGUgIkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5oIgpAQCAtNjksNiArNjks
NiBAQCBwcm90ZWN0ZWQ6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCi0jZW5kaWYgLy8gVVNF
KENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUykKKyNlbmRpZiAvLyBVU0UoQ09PUkRJ
TkFURURfR1JBUEhJQ1MpCiAKICNlbmRpZiAvLyBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94
eV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFw
aGljcy9XZWJQYWdlUHJveHlDb29yZGluYXRlZEdyYXBoaWNzLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlBhZ2VQcm94eUNvb3JkaW5hdGVkR3Jh
cGhpY3MuY3BwCmluZGV4IDA3YjE2NzE5MGU2MjZiZTFmOGIxMWVmNGRhZjQ3M2E0MTE3YjY4NmEu
LmFkNzNkMzY5ZjE2ZTAzOGM0ZWIxOTY2MGVjN2VjNjlkYWNlZGU0ZDIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlBhZ2VQcm94eUNv
b3JkaW5hdGVkR3JhcGhpY3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL1dlYlBhZ2VQcm94eUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwCkBAIC0z
Nyw2ICszNyw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKIAorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpCiB2b2lkIFdl
YlBhZ2VQcm94eTo6ZmluZFpvb21hYmxlQXJlYUZvclBvaW50KGNvbnN0IEludFBvaW50JiBwb2lu
dCwgY29uc3QgSW50U2l6ZSYgYXJlYSkKIHsKICAgICBpZiAoIWlzVmFsaWQoKSkKQEAgLTQ5LDYg
KzUwLDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZEZpbmRab29tYWJsZUFyZWEoY29uc3QgSW50
UG9pbnQmIHRhcmdldCwgY29uc3QgSW50UmVjdCYgYXIKIHsKICAgICBtX3BhZ2VDbGllbnQuZGlk
RmluZFpvb21hYmxlQXJlYSh0YXJnZXQsIGFyZWEpOwogfQorI2VuZGlmCiAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9XZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuY3BwCmluZGV4IGI2ZWY2Mzk2NTRmNzc3MzBiZDExMmM1
NjE1MTZhMTdmZTgxM2UwYjcuLjM3NDdmYmJiNWQzYWUzNWZmNmE5ZjRlZGU5ZTc2MmI0YjFhOGYx
M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBo
aWNzL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRl
ZEdyYXBoaWNzL1dlYlZpZXcuY3BwCkBAIC01MTksNiArNTE5LDcgQEAgdm9pZCBXZWJWaWV3Ojpk
aWRDaGFuZ2VWaWV3cG9ydFByb3BlcnRpZXMoY29uc3QgV2ViQ29yZTo6Vmlld3BvcnRBdHRyaWJ1
dGVzJiBhdHQKICAgICBtX2NsaWVudC5kaWRDaGFuZ2VWaWV3cG9ydEF0dHJpYnV0ZXModGhpcywg
YXR0cik7CiB9CiAKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQog
dm9pZCBXZWJWaWV3OjpwYWdlRGlkUmVxdWVzdFNjcm9sbChjb25zdCBJbnRQb2ludCYgcG9zaXRp
b24pCiB7CiAgICAgRmxvYXRQb2ludCB1aVBvc2l0aW9uKHBvc2l0aW9uKTsKQEAgLTU0MSw2ICs1
NDIsNyBAQCB2b2lkIFdlYlZpZXc6OmZpbmRab29tYWJsZUFyZWFGb3JQb2ludChjb25zdCBJbnRQ
b2ludCYgcG9pbnQsIGNvbnN0IEludFNpemUmIHNpegogewogICAgIG1fcGFnZS0+ZmluZFpvb21h
YmxlQXJlYUZvclBvaW50KHRyYW5zZm9ybUZyb21TY2VuZSgpLm1hcFBvaW50KHBvaW50KSwgdHJh
bnNmb3JtRnJvbVNjZW5lKCkubWFwU2l6ZShzaXplKSk7CiB9CisjZW5kaWYKIAogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuaAppbmRleCBkNDUzNzI0N2FiOTM3ZDFiNWY1ZjhjMmRm
OGQ2NzBkYTVjMGM5ZDFkLi40ODExNGUwZDQ4ZGU5MzA3MDRlNTc2ZTM5YWZkNTgxZDVlNTgyNmQw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9XZWJWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvV2ViVmlldy5oCkBAIC05NCw3ICs5NCw5IEBAIHB1YmxpYzoKICAgICBib29sIHJlcXVl
c3RFeGl0RnVsbFNjcmVlbigpOwogI2VuZGlmCiAKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJ
Q1NfTVVMVElQUk9DRVNTKQogICAgIHZvaWQgZmluZFpvb21hYmxlQXJlYUZvclBvaW50KGNvbnN0
IFdlYkNvcmU6OkludFBvaW50JiwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpOworI2VuZGlmCiAK
ICAgICAvLyBWaWV3IGNsaWVudC4KICAgICB2b2lkIGluaXRpYWxpemVDbGllbnQoY29uc3QgV0tW
aWV3Q2xpZW50QmFzZSopOwpAQCAtMTQ3LDkgKzE0OSwxMSBAQCBwcm90ZWN0ZWQ6CiAKICAgICB2
aXJ0dWFsIHZvaWQgZGlkQ29tbWl0TG9hZEZvck1haW5GcmFtZShjb25zdCBTdHJpbmcmIG1pbWVU
eXBlLCBib29sIHVzZUN1c3RvbUNvbnRlbnRQcm92aWRlcikgb3ZlcnJpZGU7CiAKKyNpZiBVU0Uo
Q09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQogICAgIHZpcnR1YWwgdm9pZCBwYWdl
RGlkUmVxdWVzdFNjcm9sbChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpIG92ZXJyaWRlOwogICAg
IHZpcnR1YWwgdm9pZCBkaWRSZW5kZXJGcmFtZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBjb250
ZW50c1NpemUsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGNvdmVyZWRSZWN0KSBvdmVycmlkZTsK
ICAgICB2aXJ0dWFsIHZvaWQgcGFnZVRyYW5zaXRpb25WaWV3cG9ydFJlYWR5KCkgb3ZlcnJpZGU7
CisjZW5kaWYKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRDdXJzb3IoY29uc3QgV2ViQ29yZTo6Q3Vy
c29yJikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHNldEN1cnNvckhpZGRlblVudGlsTW91
c2VNb3Zlcyhib29sKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAKaW5kZXggNTc3MDI3YTM1YmU2NzkyYjg2NTZkNTUwMGFhNWU2ZTBmYjQ2NWY3OS4u
MWNjOWY1MDNkYWE0ZWVmNTBlY2MxYzMyNmZiOTA1N2FmNGM3MDVlOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTE1NzcsNyArMTU3Nyw3IEBAIHZvaWQg
V2ViUGFnZVByb3h5OjpkaWRDb21taXRMYXllclRyZWUoY29uc3QgUmVtb3RlTGF5ZXJUcmVlVHJh
bnNhY3Rpb24mKQogfQogI2VuZGlmCiAKLSNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVM
VElQUk9DRVNTKQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKIHZvaWQgV2ViUGFnZVBy
b3h5Ojpjb21taXRQYWdlVHJhbnNpdGlvblZpZXdwb3J0KCkKIHsKICAgICBpZiAoIWlzVmFsaWQo
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCAzOGQzYzhlZWE5
NGJlNWNiZGViZWQ0YzRiMDkyYWI5YTVlMWQzNTdhLi5iNjk5MTlmMmY3MGE5NmI5NzAxYjUwZTA3
ZWQ4MDU2NmM1NDdhOTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
CkBAIC01MjcsNyArNTI3LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBkaWRDb21taXRMYXllclRy
ZWUoY29uc3QgV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbiYpOwogCi0jaWYgVVNF
KENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUykKKyNpZiBVU0UoQ09PUkRJTkFURURf
R1JBUEhJQ1MpCiAgICAgdm9pZCBkaWRSZW5kZXJGcmFtZShjb25zdCBXZWJDb3JlOjpJbnRTaXpl
JiBjb250ZW50c1NpemUsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGNvdmVyZWRSZWN0KTsKICNl
bmRpZgogI2lmIFBMQVRGT1JNKEVGTCkKQEAgLTYxMCw3ICs2MTAsNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzZXRCYWNrZ3JvdW5kQ29sb3IoY29uc3QgV2ViQ29yZTo6Q29sb3ImIGNvbG9yKSB7IG1f
YmFja2dyb3VuZENvbG9yID0gY29sb3I7IH0KICNlbmRpZgogCi0jaWYgVVNFKENPT1JESU5BVEVE
X0dSQVBISUNTX01VTFRJUFJPQ0VTUykKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAg
ICAgdm9pZCBjb21taXRQYWdlVHJhbnNpdGlvblZpZXdwb3J0KCk7CiAjZW5kaWYKIApAQCAtODgw
LDcgKzg4MCw3IEBAIHB1YmxpYzoKIAogICAgIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMgY3Jl
YXRpb25QYXJhbWV0ZXJzKCk7CiAKLSNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCisjaWYg
VVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUykKICAgICB2b2lkIGZpbmRab29t
YWJsZUFyZWFGb3JQb2ludChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYsIGNvbnN0IFdlYkNvcmU6
OkludFNpemUmKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNz
L0Nvb3JkaW5hdGVkRHJhd2luZ0FyZWEuY3BwCmluZGV4IGFkMjU3OWRiZDc5MGQ4ZTNjYmNhNmQz
MmQ1MDk4OWFlM2U3ZThkZjMuLmY3NGU4MDAxYjE3ZjBmYjk0NzcyN2ExYzdlZjkwNGM4MTEyMTE5
NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGlu
YXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJhd2luZ0FyZWEuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJh
d2luZ0FyZWEuY3BwCkBAIC01Niw3ICs1NiwxMSBAQCBDb29yZGluYXRlZERyYXdpbmdBcmVhOjp+
Q29vcmRpbmF0ZWREcmF3aW5nQXJlYSgpCiB9CiAKIENvb3JkaW5hdGVkRHJhd2luZ0FyZWE6OkNv
b3JkaW5hdGVkRHJhd2luZ0FyZWEoV2ViUGFnZSYgd2ViUGFnZSwgY29uc3QgV2ViUGFnZUNyZWF0
aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1Nf
TVVMVElQUk9DRVNTKQogICAgIDogRHJhd2luZ0FyZWEoRHJhd2luZ0FyZWFUeXBlQ29vcmRpbmF0
ZWQsIHdlYlBhZ2UpCisjZWxzZQorICAgIDogRHJhd2luZ0FyZWEoRHJhd2luZ0FyZWFUeXBlSW1w
bCwgd2ViUGFnZSkKKyNlbmRpZgogICAgICwgbV9iYWNraW5nU3RvcmVTdGF0ZUlEKDApCiAgICAg
LCBtX2lzUGFpbnRpbmdFbmFibGVkKHRydWUpCiAgICAgLCBtX2luVXBkYXRlQmFja2luZ1N0b3Jl
U3RhdGUoZmFsc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRl
ZERyYXdpbmdBcmVhLmgKaW5kZXggZDcwNTM0NjAyMzAxNGE1ZGEzNThmOWRhOTU4ZDljYWFjZDZk
MzJiZi4uNTQxMGM0MDVlODdiNzVlYWMyMDVhYTRlNTgzYjAwMTEzOThmODVkYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
Q29vcmRpbmF0ZWREcmF3aW5nQXJlYS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJhd2luZ0FyZWEuaApAQCAt
NjgsNiArNjgsMTAgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUNvb3Jk
aW5hdGVkTGF5ZXJUcmVlSG9zdE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpNZXNzYWdl
RGVjb2RlciYpOwogI2VuZGlmCiAKKyNpZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpICYmIFBMQVRG
T1JNKEdUSykKKyAgICB2aXJ0dWFsIHZvaWQgc2V0TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBv
c2l0aW5nKHVpbnQ2NF90KSBvdmVycmlkZSB7IH07CisjZW5kaWYKKwogICAgIHZpcnR1YWwgdm9p
ZCB2aWV3U3RhdGVEaWRDaGFuZ2UoV2ViQ29yZTo6Vmlld1N0YXRlOjpGbGFncywgYm9vbCAvKiB3
YW50c0RpZFVwZGF0ZVZpZXdTdGF0ZSAqLywgY29uc3QgVmVjdG9yPHVpbnQ2NF90PiYgLyogY2Fs
bGJhY2tJRHMgKi8pIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBhdHRhY2hWaWV3T3Zlcmxh
eUdyYXBoaWNzTGF5ZXIoV2ViQ29yZTo6RnJhbWUqLCBXZWJDb3JlOjpHcmFwaGljc0xheWVyKikg
b3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlBhZ2VDb29yZGluYXRlZEdyYXBoaWNzLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlBh
Z2VDb29yZGluYXRlZEdyYXBoaWNzLmNwcAppbmRleCA2ZTM5NTY3ZTkwYTViMmZiMGE3MWU3MmUw
ZGEyOGQyMDZiNWRiNTM5Li4zNDU2NDhiYWFkMjIwN2JhZWQ4ZWE1OGQ0NTYxOGI5ZWU0ZGRmMDcy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0
ZWRHcmFwaGljcy9XZWJQYWdlQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViUGFnZUNvb3Jk
aW5hdGVkR3JhcGhpY3MuY3BwCkBAIC00NCw2ICs0NCw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElD
U19NVUxUSVBST0NFU1MpCiB2b2lkIFdlYlBhZ2U6OmZpbmRab29tYWJsZUFyZWFGb3JQb2ludChj
b25zdCBJbnRQb2ludCYgcG9pbnQsIGNvbnN0IEludFNpemUmIGFyZWEpCiB7CiAgICAgVU5VU0VE
X1BBUkFNKGFyZWEpOwpAQCAtODQsNiArODUsNyBAQCB2b2lkIFdlYlBhZ2U6OmZpbmRab29tYWJs
ZUFyZWFGb3JQb2ludChjb25zdCBJbnRQb2ludCYgcG9pbnQsIGNvbnN0IEludFNpemUmIGFyZQog
CiAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRGaW5kWm9vbWFibGVBcmVhKHBv
aW50LCB6b29tYWJsZUFyZWEpKTsKIH0KKyNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdB
cmVhSW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0Fy
ZWFJbXBsLmNwcAppbmRleCBhMjNkOGMyNDA2MjMyYTM4N2UwYmM1ODJiYmQ0YTM0MTFiNjI3MmRl
Li41MTM5ZDlkYmMzZTQzZTk0NWYxNTA0M2Q4OTU0OTNkYmU2MjIxN2QwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcApA
QCAtNTAsNyArNTAsMTEgQEAgRHJhd2luZ0FyZWFJbXBsOjp+RHJhd2luZ0FyZWFJbXBsKCkKIH0K
IAogRHJhd2luZ0FyZWFJbXBsOjpEcmF3aW5nQXJlYUltcGwoV2ViUGFnZSYgd2ViUGFnZSwgY29u
c3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKKyNpZiBVU0UoQ09PUkRJ
TkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQorICAgIDogRHJhd2luZ0FyZWEoRHJhd2luZ0Fy
ZWFUeXBlQ29vcmRpbmF0ZWQsIHdlYlBhZ2UpCisjZWxzZQogICAgIDogRHJhd2luZ0FyZWEoRHJh
d2luZ0FyZWFUeXBlSW1wbCwgd2ViUGFnZSkKKyNlbmRpZgogICAgICwgbV9iYWNraW5nU3RvcmVT
dGF0ZUlEKDApCiAgICAgLCBtX2lzUGFpbnRpbmdFbmFibGVkKHRydWUpCiAgICAgLCBtX2luVXBk
YXRlQmFja2luZ1N0b3JlU3RhdGUoZmFsc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmgKaW5kZXggOTVmMmE5OWQzN2Y1NDZkMTM5
OTJiMzE2YTFmYTVmMGUzN2U2NzM3MC4uOTRkZjMxZmE2ZjgzNjUzMzAyYjRiMjBlODY3N2MzNzc5
MzdmNTM2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Ry
YXdpbmdBcmVhSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9E
cmF3aW5nQXJlYUltcGwuaApAQCAtNzQsNiArNzQsMTAgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFs
IHZvaWQgc2V0TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nKHVpbnQ2NF90KSBvdmVy
cmlkZTsKICNlbmRpZgogCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VT
UykKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdE1l
c3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRlIHsg
fTsKKyNlbmRpZgorCiAgICAgLy8gSVBDIG1lc3NhZ2UgaGFuZGxlcnMuCiAgICAgdmlydHVhbCB2
b2lkIHVwZGF0ZUJhY2tpbmdTdG9yZVN0YXRlKHVpbnQ2NF90IGJhY2tpbmdTdG9yZVN0YXRlSUQs
IGJvb2wgcmVzcG9uZEltbWVkaWF0ZWx5LCBmbG9hdCBkZXZpY2VTY2FsZUZhY3RvciwgY29uc3Qg
V2ViQ29yZTo6SW50U2l6ZSYsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHNjcm9sbE9mZnNldCkg
b3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGRpZFVwZGF0ZSgpIG92ZXJyaWRlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuY3Bw
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuY3BwCmlu
ZGV4IDBmN2MyMmVjMDE5NzkxOTVmNjg1MjRlNzdmNzdhZGMzZTNiZDY3NmEuLmVjNjcxNjA5OTc2
ZmQ2MDViMWVjYzRiNjBlOGRjZWJmZjUyN2FhOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5jcHAKQEAgLTQwLDEwICs0MCwxMCBA
QCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogUGFzc1JlZlB0cjxMYXllclRyZWVIb3N0PiBMYXllclRy
ZWVIb3N0OjpjcmVhdGUoV2ViUGFnZSogd2ViUGFnZSkKIHsKLSNpZiBVU0UoQ09PUkRJTkFURURf
R1JBUEhJQ1NfTVVMVElQUk9DRVNTKQotICAgIHJldHVybiBDb29yZGluYXRlZExheWVyVHJlZUhv
c3Q6OmNyZWF0ZSh3ZWJQYWdlKTsKLSNlbGlmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19USFJF
QURFRCkKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfVEhSRUFERUQpCiAgICAgcmV0dXJu
IFRocmVhZGVkQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpjcmVhdGUod2ViUGFnZSk7CisjZWxp
ZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQorICAgIHJldHVybiBDb29y
ZGluYXRlZExheWVyVHJlZUhvc3Q6OmNyZWF0ZSh3ZWJQYWdlKTsKICNlbGlmIFBMQVRGT1JNKEdU
SykgJiYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKQogICAgIHJldHVybiBMYXllclRyZWVIb3N0R3Rr
OjpjcmVhdGUod2ViUGFnZSk7CiAjZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGFhMjBkYzRjN2Q4NzQ0ODA3OTlhYTc2MDRkMGExZTg1
NWExOTM0NjcuLmIwMDcwYjU1YjEwYTRiOTVjZmFhNmJiMGU1Yzc1OTdjMzY4NTM3NWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTEyOTks
MTEgKzEyOTksMTEgQEAgdm9pZCBXZWJQYWdlOjpzZW5kVmlld3BvcnRBdHRyaWJ1dGVzQ2hhbmdl
ZCgpCiAgICAgLy8gVGhpcyBhbHNvIHRha2VzIGNhcmUgb2YgdGhlIHJlbGF5b3V0LgogICAgIHNl
dEZpeGVkTGF5b3V0U2l6ZShyb3VuZGVkSW50U2l6ZShhdHRyLmxheW91dFNpemUpKTsKIAotI2lm
IFVTRShDT09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpCi0gICAgc2VuZChNZXNzYWdl
czo6V2ViUGFnZVByb3h5OjpEaWRDaGFuZ2VWaWV3cG9ydFByb3BlcnRpZXMoYXR0cikpOwotI2Vs
c2UKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfVEhSRUFERUQpCiAgICAgaWYgKG1fZHJh
d2luZ0FyZWEtPmxheWVyVHJlZUhvc3QoKSkKICAgICAgICAgbV9kcmF3aW5nQXJlYS0+bGF5ZXJU
cmVlSG9zdCgpLT5kaWRDaGFuZ2VWaWV3cG9ydFByb3BlcnRpZXMoYXR0cik7CisjZWxzZQorICAg
IHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkQ2hhbmdlVmlld3BvcnRQcm9wZXJ0aWVz
KGF0dHIpKTsKICNlbmRpZgogfQogI2VuZGlmCkBAIC0xODUxLDEwICsxODUxLDEwIEBAIHZvaWQg
V2ViUGFnZTo6cGFnZVN0b3BwZWRTY3JvbGxpbmcoKQogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQ
SElDUykKIHZvaWQgV2ViUGFnZTo6cGFnZURpZFJlcXVlc3RTY3JvbGwoY29uc3QgSW50UG9pbnQm
IHBvaW50KQogewotI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpCi0g
ICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpQYWdlRGlkUmVxdWVzdFNjcm9sbChwb2lu
dCkpOwotI2VsaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX1RIUkVBREVEKQorI2lmIFVTRShD
T09SRElOQVRFRF9HUkFQSElDU19USFJFQURFRCkKICAgICBkcmF3aW5nQXJlYSgpLT5zY3JvbGwo
SW50UmVjdChwb2ludCwgSW50U2l6ZSgpKSwgSW50U2l6ZSgpKTsKKyNlbGlmIFVTRShDT09SRElO
QVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpIAorICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQ
cm94eTo6UGFnZURpZFJlcXVlc3RTY3JvbGwocG9pbnQpKTsKICNlbmRpZgogfQogI2VuZGlmCkBA
IC00MTA0LDcgKzQxMDQsNyBAQCBib29sIFdlYlBhZ2U6OmNhbkhhbmRsZVJlcXVlc3QoY29uc3Qg
V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQogICAgIHJldHVybiBwbGF0Zm9ybUNh
bkhhbmRsZVJlcXVlc3QocmVxdWVzdCk7CiB9CiAKLSNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJ
Q1NfTVVMVElQUk9DRVNTKQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKIHZvaWQgV2Vi
UGFnZTo6Y29tbWl0UGFnZVRyYW5zaXRpb25WaWV3cG9ydCgpCiB7CiAgICAgbV9kcmF3aW5nQXJl
YS0+c2V0TGF5ZXJUcmVlU3RhdGVJc0Zyb3plbihmYWxzZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCAzY2I2MjY2MzY3MGIwMzM0ZmQwNjQxNzEz
MzkxZDQ4ZGQ1NjI3ODZkLi5hNWQ0ZmE2ZDE4M2Q3NDcwMmI5ZDRjODc3YzIyMTViZDg2NmY3MDFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTU3
MCw2ICs1NzAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBwYWdlRGlkUmVxdWVzdFNjcm9sbChjb25z
dCBXZWJDb3JlOjpJbnRQb2ludCYpOwogICAgIHZvaWQgc2V0Rml4ZWRWaXNpYmxlQ29udGVudFJl
Y3QoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpOwogICAgIHZvaWQgc2VuZFZpZXdwb3J0QXR0cmli
dXRlc0NoYW5nZWQoKTsKKyAgICB2b2lkIGNvbW1pdFBhZ2VUcmFuc2l0aW9uVmlld3BvcnQoKTsK
ICNlbmRpZgogCiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCkBAIC02MTAsMTAgKzYxMSw2IEBA
IHB1YmxpYzoKICAgICB2b2lkIHNldFRoZW1lUGF0aChjb25zdCBTdHJpbmcmKTsKICNlbmRpZgog
Ci0jaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUykKLSAgICB2b2lkIGNv
bW1pdFBhZ2VUcmFuc2l0aW9uVmlld3BvcnQoKTsKLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oR1RL
KQogICAgIHZvaWQgc2V0Q29tcG9zaXRpb24oY29uc3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBWZWN0
b3I8V2ViQ29yZTo6Q29tcG9zaXRpb25VbmRlcmxpbmU+JiB1bmRlcmxpbmVzLCB1aW50NjRfdCBz
ZWxlY3Rpb25TdGFydCwgdWludDY0X3Qgc2VsZWN0aW9uRW5kLCB1aW50NjRfdCByZXBsYWNlbWVu
dFJhbmdlU3RhcnQsIHVpbnQ2NF90IHJlcGxhY2VtZW50UmFuZ2VMZW5ndGgpOwogICAgIHZvaWQg
Y29uZmlybUNvbXBvc2l0aW9uKGNvbnN0IFN0cmluZyYgdGV4dCwgaW50NjRfdCBzZWxlY3Rpb25T
dGFydCwgaW50NjRfdCBzZWxlY3Rpb25MZW5ndGgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgppbmRleCAwMGFiNGZkNWFj
M2EzZTNmNWM3ZDQ0YzU5OTZhZTIxNTNmYWJlNGQ1Li42MjIzOTVlZWRhMWMyZDllNDQ3ZGRiNGRj
ZGQ1OGNlMTYxOGU2YTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpAQCAtMzI5LDcgKzMyOSw3IEBAIG1lc3NhZ2Vz
IC0+IFdlYlBhZ2UgTGVnYWN5UmVjZWl2ZXIgewogICAgIFNldFRoZW1lUGF0aChTdHJpbmcgdGhl
bWVQYXRoKQogI2VuZGlmCiAKLSNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9D
RVNTKQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKICAgICBDb21taXRQYWdlVHJhbnNp
dGlvblZpZXdwb3J0KCkKICNlbmRpZgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257746</attachid>
            <date>2015-07-29 06:22:05 -0700</date>
            <delta_ts>2015-07-30 01:22:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147256-20150729222041.patch</filename>
            <type>text/plain</type>
            <size>20163</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3NTQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNWQ3NmUzMDFhYjMwOTAz
MjczMmNiY2QzMjY2NDc0YWFiYjZjODRlYS4uZTM2NjU0ZjU1N2EyZDQxNjZmNTQ5Yjg1Mzk3ZDJm
Y2QwOTZmMDA3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDE1LTA3LTI5ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBbQ29vcmRpbmF0
ZWRHcmFwaGljc10gUmVhcnJhbmdlIHVzZXMgb2YgVVNFX0NPT1JESU5BVEVEX0dSQVBISUNTX01V
TFRJUFJPQ0VTUworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTQ3MjU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUmVkdWNlIHVzZXMgb2YgVVNFX0NPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUyBn
dWFyZCBpbiBvcmRlciB0byBmaXggYnVpbGQKKyAgICAgICAgYnJlYWtzIHdoZW4gVVNFX0NPT1JE
SU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUyBpcyBvZmYuCisKKyAgICAgICAgKiBQbGF0Zm9y
bUVmbC5jbWFrZToKKyAgICAgICAgKiBTaGFyZWQvRHJhd2luZ0FyZWFJbmZvLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV0tWaWV3LmNwcDoKKyAgICAg
ICAgKFdLVmlld0ZpbmRab29tYWJsZUFyZWFGb3JSZWN0KToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
Q29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhUHJveHkuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpDb29yZGluYXRlZERyYXdpbmdBcmVhUHJveHk6OkNvb3JkaW5hdGVkRHJh
d2luZ0FyZWFQcm94eSk6CisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb29y
ZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6Y29tbWl0Q29vcmRpbmF0ZWRHcmFwaGljc1N0YXRl
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExh
eWVyVHJlZUhvc3RQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBo
aWNzL1dlYlBhZ2VQcm94eUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuY3BwOgorICAgICAgICAqIFVJUHJvY2Vz
cy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRE
cmF3aW5nQXJlYS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkRHJhd2luZ0FyZWE6
OkNvb3JkaW5hdGVkRHJhd2luZ0FyZWEpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9D
b29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJhd2luZ0FyZWEuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJQYWdlQ29vcmRpbmF0ZWRH
cmFwaGljcy5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1w
bC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhSW1wbDo6RHJhd2luZ0FyZWFJbXBs
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpMYXllclRyZWVIb3N0OjpjcmVhdGUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6c2VuZFZpZXdwb3J0QXR0
cmlidXRlc0NoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpwYWdlRGlkUmVxdWVz
dFNjcm9sbCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKwogMjAxNS0wNy0y
OCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAg
W0dUS10gQWRkIEFQSSB0byBzZXQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHdlYiBwcm9jZXNzZXMg
cGVyIFdlYktpdFdlYkNvbnRleHQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
RWZsLmNtYWtlIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggYWRiYmYz
NDA5MjdlOTllNmUxYTY0NzYzYzdlZmRiMDAzYjk0ZjAzZi4uNzQ0OTVkNTEyNDJmZTZhNGYyNjk1
NmJjYzM5ZTVjOTZjZmU4MmJlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1F
ZmwuY21ha2UKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTIwOSw2
ICsyMDksOCBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKIAogICAgIFdlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvc291cC9XZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0LmNwcAogCisgICAg
V2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKKwogICAgIFdlYlByb2Nlc3Mv
V2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJhd2luZ0FyZWEuY3BwCiAg
ICAgV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0LmNwcAogICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNz
L1dlYlBhZ2VDb29yZGluYXRlZEdyYXBoaWNzLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL0RyYXdpbmdBcmVhSW5mby5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0RyYXdp
bmdBcmVhSW5mby5oCmluZGV4IDFiNmRhNTJlNGQ0YmIyNTdjYTUxZjNkNTg0NzIzYTk1OTIxOWFh
ZWQuLjIyNGQ4ZDJkNzQyY2ZkZWI4M2ZhNGY0Yzk2NGI1ZTUzNDQ4ZmU2YzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9EcmF3aW5nQXJlYUluZm8uaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvRHJhd2luZ0FyZWFJbmZvLmgKQEAgLTM4LDcgKzM4LDcgQEAgZW51bSBEcmF3
aW5nQXJlYVR5cGUgewogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1Mp
CiAgICAgRHJhd2luZ0FyZWFUeXBlQ29vcmRpbmF0ZWQKICNlbHNlCi0gICAgRHJhd2luZ0FyZWFU
eXBlSW1wbCwKKyAgICBEcmF3aW5nQXJlYVR5cGVJbXBsCiAjZW5kaWYKICNlbmRpZgogfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9Db29yZGluYXRlZEdyYXBo
aWNzL1dLVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvQ29vcmRpbmF0
ZWRHcmFwaGljcy9XS1ZpZXcuY3BwCmluZGV4IDlhMjExMDRmODliOGFiMmMzZWI0Mjk4YzU5NTI4
ZmVkY2YyM2M2MmQuLmE1ODg0ODA2M2U4MDBiMWUzZTkyNjU0MGExMTkxYTg5NzVkOTA5MDIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9Db29yZGluYXRlZEdyYXBo
aWNzL1dLVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvV0tWaWV3LmNwcApAQCAtMTkxLDggKzE5MSwxMyBAQCBkb3VibGUgV0tW
aWV3T3BhY2l0eShXS1ZpZXdSZWYgdmlldykKIAogdm9pZCBXS1ZpZXdGaW5kWm9vbWFibGVBcmVh
Rm9yUmVjdChXS1ZpZXdSZWYgdmlld1JlZiwgV0tSZWN0IHdrUmVjdCkKIHsKKyNpZiBVU0UoQ09P
UkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQogICAgIEludFJlY3QgcmVjdCA9IHRvSW50
UmVjdCh3a1JlY3QpOwogICAgIHRvSW1wbCh2aWV3UmVmKS0+ZmluZFpvb21hYmxlQXJlYUZvclBv
aW50KHJlY3QuY2VudGVyKCksIHJlY3Quc2l6ZSgpKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFN
KHZpZXdSZWYpOworICAgIFVOVVNFRF9QQVJBTSh3a1JlY3QpOworI2VuZGlmCiB9CiAKIFdLU2l6
ZSBXS1ZpZXdHZXRDb250ZW50c1NpemUoV0tWaWV3UmVmIHZpZXdSZWYpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERy
YXdpbmdBcmVhUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYVByb3h5LmNwcAppbmRleCBjMzFkZTJiZTdj
OTdjYWRkN2Y5YjdhM2RkNGNlZWEyYTFiNzU3MjQ3Li5hNDY1MWY0YTg5ZWVlNTk5OWI4NDY2NDJk
NWJlNDEwNTYwZTJlZGQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29v
cmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhUHJveHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJh
d2luZ0FyZWFQcm94eS5jcHAKQEAgLTQ1LDcgKzQ1LDExIEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIENvb3JkaW5hdGVkRHJhd2luZ0FyZWFQcm94eTo6
Q29vcmRpbmF0ZWREcmF3aW5nQXJlYVByb3h5KFdlYlBhZ2VQcm94eSYgd2ViUGFnZVByb3h5KQor
I2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpCiAgICAgOiBEcmF3aW5n
QXJlYVByb3h5KERyYXdpbmdBcmVhVHlwZUNvb3JkaW5hdGVkLCB3ZWJQYWdlUHJveHkpCisjZWxz
ZQorICAgIDogRHJhd2luZ0FyZWFQcm94eShEcmF3aW5nQXJlYVR5cGVJbXBsLCB3ZWJQYWdlUHJv
eHkpCisjZW5kaWYKICAgICAsIG1fY3VycmVudEJhY2tpbmdTdG9yZVN0YXRlSUQoMCkKICAgICAs
IG1fbmV4dEJhY2tpbmdTdG9yZVN0YXRlSUQoMCkKICAgICAsIG1faXNXYWl0aW5nRm9yRGlkVXBk
YXRlQmFja2luZ1N0b3JlU3RhdGUoZmFsc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29y
ZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5jcHAKaW5kZXggY2E1MWJkM2FlMzE4YmQwMmRhM2Q0
MjZjZjJjOTk3Mzg4ZDkxOGYzMy4uZjc2ZjZlNTRmNGIxNzFjMWQ2ZjA1OTQwMWM2NTAyZmYxNDNl
YWM3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dFByb3h5LmNwcApAQCAtNjUsNyArNjUsNyBAQCB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dFByb3h5Ojpjb21taXRDb29yZGluYXRlZEdyYXBoaWNzU3RhdGUoY29uc3QgQ29vcmRpbgogICAg
IH0pOwogCiAgICAgdXBkYXRlVmlld3BvcnQoKTsKLSNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJ
Q1MpCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUykKICAgICBtX2Ry
YXdpbmdBcmVhUHJveHktPnBhZ2UoKS5kaWRSZW5kZXJGcmFtZShncmFwaGljc1N0YXRlLmNvbnRl
bnRzU2l6ZSwgZ3JhcGhpY3NTdGF0ZS5jb3ZlcmVkUmVjdCk7CiAjZW5kaWYKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5h
dGVkTGF5ZXJUcmVlSG9zdFByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oCmluZGV4IDA0NjVi
NjlmZjk0NTFhYjgxYTlkZjU1Mjg0OTk0NjlmYzE3YmE2ODQuLmQ2OWZhMTdiMTg0ZjZkZGZhMmFk
ZmRkODk2YjdhM2JhZmJmNDMyM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0
ZWRMYXllclRyZWVIb3N0UHJveHkuaApAQCAtMjEsNyArMjEsNyBAQAogI2lmbmRlZiBDb29yZGlu
YXRlZExheWVyVHJlZUhvc3RQcm94eV9oCiAjZGVmaW5lIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dFByb3h5X2gKIAotI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpCisj
aWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogCiAjaW5jbHVkZSAiQ29vcmRpbmF0ZWRHcmFw
aGljc0FyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5l
LmgiCkBAIC02OSw2ICs2OSw2IEBAIHByb3RlY3RlZDoKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CiAKLSNlbmRpZiAvLyBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQorI2Vu
ZGlmIC8vIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKIAogI2VuZGlmIC8vIENvb3JkaW5hdGVk
TGF5ZXJUcmVlSG9zdFByb3h5X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlBhZ2VQcm94eUNvb3JkaW5hdGVkR3JhcGhpY3MuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViUGFnZVBy
b3h5Q29vcmRpbmF0ZWRHcmFwaGljcy5jcHAKaW5kZXggMDdiMTY3MTkwZTYyNmJlMWY4YjExZWY0
ZGFmNDczYTQxMTdiNjg2YS4uYWQ3M2QzNjlmMTZlMDM4YzRlYjE5NjYwZWM3ZWM2OWRhY2VkZTRk
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvV2ViUGFnZVByb3h5Q29vcmRpbmF0ZWRHcmFwaGljcy5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViUGFnZVByb3h5Q29vcmRpbmF0ZWRH
cmFwaGljcy5jcHAKQEAgLTM3LDYgKzM3LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAK
IG5hbWVzcGFjZSBXZWJLaXQgewogCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJ
UFJPQ0VTUykKIHZvaWQgV2ViUGFnZVByb3h5OjpmaW5kWm9vbWFibGVBcmVhRm9yUG9pbnQoY29u
c3QgSW50UG9pbnQmIHBvaW50LCBjb25zdCBJbnRTaXplJiBhcmVhKQogewogICAgIGlmICghaXNW
YWxpZCgpKQpAQCAtNDksNiArNTAsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkRmluZFpvb21h
YmxlQXJlYShjb25zdCBJbnRQb2ludCYgdGFyZ2V0LCBjb25zdCBJbnRSZWN0JiBhcgogewogICAg
IG1fcGFnZUNsaWVudC5kaWRGaW5kWm9vbWFibGVBcmVhKHRhcmdldCwgYXJlYSk7CiB9CisjZW5k
aWYKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlldy5jcHAKaW5kZXggYjZlZjYz
OTY1NGY3NzczMGJkMTEyYzU2MTUxNmExN2ZlODEzZTBiNy4uMzc0N2ZiYmI1ZDNhZTM1ZmY2YTlm
NGVkZTllNzYyYjRiMWE4ZjEzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlldy5jcHAKQEAgLTUxOSw2ICs1MTksNyBA
QCB2b2lkIFdlYlZpZXc6OmRpZENoYW5nZVZpZXdwb3J0UHJvcGVydGllcyhjb25zdCBXZWJDb3Jl
OjpWaWV3cG9ydEF0dHJpYnV0ZXMmIGF0dAogICAgIG1fY2xpZW50LmRpZENoYW5nZVZpZXdwb3J0
QXR0cmlidXRlcyh0aGlzLCBhdHRyKTsKIH0KIAorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElD
U19NVUxUSVBST0NFU1MpCiB2b2lkIFdlYlZpZXc6OnBhZ2VEaWRSZXF1ZXN0U2Nyb2xsKGNvbnN0
IEludFBvaW50JiBwb3NpdGlvbikKIHsKICAgICBGbG9hdFBvaW50IHVpUG9zaXRpb24ocG9zaXRp
b24pOwpAQCAtNTQxLDYgKzU0Miw3IEBAIHZvaWQgV2ViVmlldzo6ZmluZFpvb21hYmxlQXJlYUZv
clBvaW50KGNvbnN0IEludFBvaW50JiBwb2ludCwgY29uc3QgSW50U2l6ZSYgc2l6CiB7CiAgICAg
bV9wYWdlLT5maW5kWm9vbWFibGVBcmVhRm9yUG9pbnQodHJhbnNmb3JtRnJvbVNjZW5lKCkubWFw
UG9pbnQocG9pbnQpLCB0cmFuc2Zvcm1Gcm9tU2NlbmUoKS5tYXBTaXplKHNpemUpKTsKIH0KKyNl
bmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlldy5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlldy5oCmluZGV4IGQ0NTM3MjQ3
YWI5MzdkMWI1ZjVmOGMyZGY4ZDY3MGRhNWMwYzlkMWQuLjQ4MTE0ZTBkNDhkZTkzMDcwNGU1NzZl
MzlhZmQ1ODFkNWU1ODI2ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmgKQEAgLTk0LDcgKzk0LDkgQEAgcHVibGlj
OgogICAgIGJvb2wgcmVxdWVzdEV4aXRGdWxsU2NyZWVuKCk7CiAjZW5kaWYKIAorI2lmIFVTRShD
T09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpCiAgICAgdm9pZCBmaW5kWm9vbWFibGVB
cmVhRm9yUG9pbnQoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCBjb25zdCBXZWJDb3JlOjpJbnRT
aXplJik7CisjZW5kaWYKIAogICAgIC8vIFZpZXcgY2xpZW50LgogICAgIHZvaWQgaW5pdGlhbGl6
ZUNsaWVudChjb25zdCBXS1ZpZXdDbGllbnRCYXNlKik7CkBAIC0xNDcsOSArMTQ5LDExIEBAIHBy
b3RlY3RlZDoKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRDb21taXRMb2FkRm9yTWFpbkZyYW1lKGNv
bnN0IFN0cmluZyYgbWltZVR5cGUsIGJvb2wgdXNlQ3VzdG9tQ29udGVudFByb3ZpZGVyKSBvdmVy
cmlkZTsKIAorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpCiAgICAg
dmlydHVhbCB2b2lkIHBhZ2VEaWRSZXF1ZXN0U2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkludFBvaW50
Jikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlbmRlckZyYW1lKGNvbnN0IFdlYkNv
cmU6OkludFNpemUmIGNvbnRlbnRzU2l6ZSwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgY292ZXJl
ZFJlY3QpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBwYWdlVHJhbnNpdGlvblZpZXdwb3J0
UmVhZHkoKSBvdmVycmlkZTsKKyNlbmRpZgogCiAgICAgdmlydHVhbCB2b2lkIHNldEN1cnNvcihj
b25zdCBXZWJDb3JlOjpDdXJzb3ImKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q3Vy
c29ySGlkZGVuVW50aWxNb3VzZU1vdmVzKGJvb2wpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCA1NzcwMjdhMzViZTY3OTJiODY1NmQ1NTAw
YWE1ZTZlMGZiNDY1Zjc5Li4xY2M5ZjUwM2RhYTRlZWY1MGVjYzFjMzI2ZmI5MDU3YWY0YzcwNWU4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMTU3Nyw3
ICsxNTc3LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZENvbW1pdExheWVyVHJlZShjb25zdCBS
ZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbiYpCiB9CiAjZW5kaWYKIAotI2lmIFVTRShDT09SRElO
QVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNT
KQogdm9pZCBXZWJQYWdlUHJveHk6OmNvbW1pdFBhZ2VUcmFuc2l0aW9uVmlld3BvcnQoKQogewog
ICAgIGlmICghaXNWYWxpZCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
CmluZGV4IDM4ZDNjOGVlYTk0YmU1Y2JkZWJlZDRjNGIwOTJhYjlhNWUxZDM1N2EuLmI2OTkxOWYy
ZjcwYTk2Yjk3MDFiNTBlMDdlZDgwNTY2YzU0N2E5NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgKQEAgLTUyNyw3ICs1MjcsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lk
IGRpZENvbW1pdExheWVyVHJlZShjb25zdCBXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZVRyYW5zYWN0
aW9uJik7CiAKLSNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQorI2lm
IFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKICAgICB2b2lkIGRpZFJlbmRlckZyYW1lKGNvbnN0
IFdlYkNvcmU6OkludFNpemUmIGNvbnRlbnRzU2l6ZSwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYg
Y292ZXJlZFJlY3QpOwogI2VuZGlmCiAjaWYgUExBVEZPUk0oRUZMKQpAQCAtNjEwLDcgKzYxMCw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEJhY2tncm91bmRDb2xvcihjb25zdCBXZWJDb3JlOjpD
b2xvciYgY29sb3IpIHsgbV9iYWNrZ3JvdW5kQ29sb3IgPSBjb2xvcjsgfQogI2VuZGlmCiAKLSNp
ZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQorI2lmIFVTRShDT09SRElO
QVRFRF9HUkFQSElDUykKICAgICB2b2lkIGNvbW1pdFBhZ2VUcmFuc2l0aW9uVmlld3BvcnQoKTsK
ICNlbmRpZgogCkBAIC04ODAsNyArODgwLDcgQEAgcHVibGljOgogCiAgICAgV2ViUGFnZUNyZWF0
aW9uUGFyYW1ldGVycyBjcmVhdGlvblBhcmFtZXRlcnMoKTsKIAotI2lmIFVTRShDT09SRElOQVRF
RF9HUkFQSElDUykKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQog
ICAgIHZvaWQgZmluZFpvb21hYmxlQXJlYUZvclBvaW50KGNvbnN0IFdlYkNvcmU6OkludFBvaW50
JiwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5h
dGVkRHJhd2luZ0FyZWEuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYS5jcHAKaW5kZXggYWQyNTc5
ZGJkNzkwZDhlM2NiY2E2ZDMyZDUwOTg5YWUzZTdlOGRmMy4uZjc0ZTgwMDFiMTdmMGZiOTQ3NzI3
YTFjN2VmOTA0YzgxMTIxMTk2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYS5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYS5jcHAKQEAgLTU2LDcgKzU2LDExIEBAIENvb3JkaW5h
dGVkRHJhd2luZ0FyZWE6On5Db29yZGluYXRlZERyYXdpbmdBcmVhKCkKIH0KIAogQ29vcmRpbmF0
ZWREcmF3aW5nQXJlYTo6Q29vcmRpbmF0ZWREcmF3aW5nQXJlYShXZWJQYWdlJiB3ZWJQYWdlLCBj
b25zdCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQorI2lmIFVTRShDT09S
RElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpCiAgICAgOiBEcmF3aW5nQXJlYShEcmF3aW5n
QXJlYVR5cGVDb29yZGluYXRlZCwgd2ViUGFnZSkKKyNlbHNlCisgICAgOiBEcmF3aW5nQXJlYShE
cmF3aW5nQXJlYVR5cGVJbXBsLCB3ZWJQYWdlKQorI2VuZGlmCiAgICAgLCBtX2JhY2tpbmdTdG9y
ZVN0YXRlSUQoMCkKICAgICAsIG1faXNQYWludGluZ0VuYWJsZWQodHJ1ZSkKICAgICAsIG1faW5V
cGRhdGVCYWNraW5nU3RvcmVTdGF0ZShmYWxzZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJhd2lu
Z0FyZWEuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdy
YXBoaWNzL0Nvb3JkaW5hdGVkRHJhd2luZ0FyZWEuaAppbmRleCBkNzA1MzQ2MDIzMDE0YTVkYTM1
OGY5ZGE5NThkOWNhYWNkNmQzMmJmLi41NDEwYzQwNWU4N2I3NWVhYzIwNWFhNGU1ODNiMDAxMTM5
OGY4NWRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29v
cmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhLmgKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRE
cmF3aW5nQXJlYS5oCkBAIC02OCw2ICs2OCwxMCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9p
ZCBkaWRSZWNlaXZlQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0TWVzc2FnZShJUEM6OkNvbm5lY3Rp
b24mLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAjZW5kaWYKIAorI2lmIFVTRShURVhUVVJFX01B
UFBFUl9HTCkgJiYgUExBVEZPUk0oR1RLKQorICAgIHZpcnR1YWwgdm9pZCBzZXROYXRpdmVTdXJm
YWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcodWludDY0X3QpIG92ZXJyaWRlIHsgfTsKKyNlbmRpZgor
CiAgICAgdmlydHVhbCB2b2lkIHZpZXdTdGF0ZURpZENoYW5nZShXZWJDb3JlOjpWaWV3U3RhdGU6
OkZsYWdzLCBib29sIC8qIHdhbnRzRGlkVXBkYXRlVmlld1N0YXRlICovLCBjb25zdCBWZWN0b3I8
dWludDY0X3Q+JiAvKiBjYWxsYmFja0lEcyAqLykgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lk
IGF0dGFjaFZpZXdPdmVybGF5R3JhcGhpY3NMYXllcihXZWJDb3JlOjpGcmFtZSosIFdlYkNvcmU6
OkdyYXBoaWNzTGF5ZXIqKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViUGFnZUNvb3JkaW5hdGVk
R3JhcGhpY3MuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvV2ViUGFnZUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwCmluZGV4IDZlMzk1Njdl
OTBhNWIyZmIwYTcxZTcyZTBkYTI4ZDIwNmI1ZGI1MzkuLjM0NTY0OGJhYWQyMjA3YmFlZDhlYTU4
ZDQ1NjE4YjllZTRkZGYwNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlBhZ2VDb29yZGluYXRlZEdyYXBoaWNzLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFw
aGljcy9XZWJQYWdlQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHAKQEAgLTQ0LDYgKzQ0LDcgQEAgdXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCisjaWYgVVNFKENP
T1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUykKIHZvaWQgV2ViUGFnZTo6ZmluZFpvb21h
YmxlQXJlYUZvclBvaW50KGNvbnN0IEludFBvaW50JiBwb2ludCwgY29uc3QgSW50U2l6ZSYgYXJl
YSkKIHsKICAgICBVTlVTRURfUEFSQU0oYXJlYSk7CkBAIC04NCw2ICs4NSw3IEBAIHZvaWQgV2Vi
UGFnZTo6ZmluZFpvb21hYmxlQXJlYUZvclBvaW50KGNvbnN0IEludFBvaW50JiBwb2ludCwgY29u
c3QgSW50U2l6ZSYgYXJlCiAKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZEZp
bmRab29tYWJsZUFyZWEocG9pbnQsIHpvb21hYmxlQXJlYSkpOwogfQorI2VuZGlmCiAKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCmluZGV4IGEyM2Q4YzI0MDYyMzJhMzg3ZTBiYzU4
MmJiZDRhMzQxMWI2MjcyZGUuLjUxMzlkOWRiYzNlNDNlOTQ1ZjE1MDQzZDg5NTQ5M2RiZTYyMjE3
ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5n
QXJlYUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3
aW5nQXJlYUltcGwuY3BwCkBAIC01MCw3ICs1MCwxMSBAQCBEcmF3aW5nQXJlYUltcGw6On5EcmF3
aW5nQXJlYUltcGwoKQogfQogCiBEcmF3aW5nQXJlYUltcGw6OkRyYXdpbmdBcmVhSW1wbChXZWJQ
YWdlJiB3ZWJQYWdlLCBjb25zdCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJz
KQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpCisgICAgOiBEcmF3
aW5nQXJlYShEcmF3aW5nQXJlYVR5cGVDb29yZGluYXRlZCwgd2ViUGFnZSkKKyNlbHNlCiAgICAg
OiBEcmF3aW5nQXJlYShEcmF3aW5nQXJlYVR5cGVJbXBsLCB3ZWJQYWdlKQorI2VuZGlmCiAgICAg
LCBtX2JhY2tpbmdTdG9yZVN0YXRlSUQoMCkKICAgICAsIG1faXNQYWludGluZ0VuYWJsZWQodHJ1
ZSkKICAgICAsIG1faW5VcGRhdGVCYWNraW5nU3RvcmVTdGF0ZShmYWxzZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuaCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuaAppbmRleCA5
NWYyYTk5ZDM3ZjU0NmQxMzk5MmIzMTZhMWZhNWYwZTM3ZTY3MzcwLi45NGRmMzFmYTZmODM2NTMz
MDJiNGIyMGU4Njc3YzM3NzkzN2Y1MzZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5oCkBAIC03NCw2ICs3NCwxMCBAQCBwcml2
YXRlOgogICAgIHZpcnR1YWwgdm9pZCBzZXROYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRp
bmcodWludDY0X3QpIG92ZXJyaWRlOwogI2VuZGlmCiAKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JB
UEhJQ1NfTVVMVElQUk9DRVNTKQorICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlQ29vcmRpbmF0
ZWRMYXllclRyZWVIb3N0TWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3NhZ2VEZWNv
ZGVyJikgb3ZlcnJpZGUgeyB9OworI2VuZGlmCisKICAgICAvLyBJUEMgbWVzc2FnZSBoYW5kbGVy
cy4KICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQmFja2luZ1N0b3JlU3RhdGUodWludDY0X3QgYmFj
a2luZ1N0b3JlU3RhdGVJRCwgYm9vbCByZXNwb25kSW1tZWRpYXRlbHksIGZsb2F0IGRldmljZVNj
YWxlRmFjdG9yLCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiwgY29uc3QgV2ViQ29yZTo6SW50U2l6
ZSYgc2Nyb2xsT2Zmc2V0KSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkVXBkYXRlKCkg
b3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
TGF5ZXJUcmVlSG9zdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5
ZXJUcmVlSG9zdC5jcHAKaW5kZXggMGY3YzIyZWMwMTk3OTE5NWY2ODUyNGU3N2Y3N2FkYzNlM2Jk
Njc2YS4uZWM2NzE2MDk5NzZmZDYwNWIxZWNjNGI2MGU4ZGNlYmZmNTI3YWE5NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmNwcApA
QCAtNDAsMTAgKzQwLDEwIEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBQYXNzUmVmUHRyPExheWVy
VHJlZUhvc3Q+IExheWVyVHJlZUhvc3Q6OmNyZWF0ZShXZWJQYWdlKiB3ZWJQYWdlKQogewotI2lm
IFVTRShDT09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpCi0gICAgcmV0dXJuIENvb3Jk
aW5hdGVkTGF5ZXJUcmVlSG9zdDo6Y3JlYXRlKHdlYlBhZ2UpOwotI2VsaWYgVVNFKENPT1JESU5B
VEVEX0dSQVBISUNTX1RIUkVBREVEKQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19USFJF
QURFRCkKICAgICByZXR1cm4gVGhyZWFkZWRDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmNyZWF0
ZSh3ZWJQYWdlKTsKKyNlbGlmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1Mp
CisgICAgcmV0dXJuIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6Y3JlYXRlKHdlYlBhZ2UpOwog
I2VsaWYgUExBVEZPUk0oR1RLKSAmJiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpCiAgICAgcmV0dXJu
IExheWVyVHJlZUhvc3RHdGs6OmNyZWF0ZSh3ZWJQYWdlKTsKICNlbHNlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggYWEyMGRjNGM3ZDg3NDQ4
MDc5OWFhNzYwNGQwYTFlODU1YTE5MzQ2Ny4uYjAwNzBiNTViMTBhNGI5NWNmYWE2YmIwZTVjNzU5
N2MzNjg1Mzc1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcApAQCAtMTI5OSwxMSArMTI5OSwxMSBAQCB2b2lkIFdlYlBhZ2U6OnNlbmRWaWV3cG9y
dEF0dHJpYnV0ZXNDaGFuZ2VkKCkKICAgICAvLyBUaGlzIGFsc28gdGFrZXMgY2FyZSBvZiB0aGUg
cmVsYXlvdXQuCiAgICAgc2V0Rml4ZWRMYXlvdXRTaXplKHJvdW5kZWRJbnRTaXplKGF0dHIubGF5
b3V0U2l6ZSkpOwogCi0jaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUykK
LSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZENoYW5nZVZpZXdwb3J0UHJvcGVy
dGllcyhhdHRyKSk7Ci0jZWxzZQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19USFJFQURF
RCkKICAgICBpZiAobV9kcmF3aW5nQXJlYS0+bGF5ZXJUcmVlSG9zdCgpKQogICAgICAgICBtX2Ry
YXdpbmdBcmVhLT5sYXllclRyZWVIb3N0KCktPmRpZENoYW5nZVZpZXdwb3J0UHJvcGVydGllcyhh
dHRyKTsKKyNlbHNlCisgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRDaGFuZ2VW
aWV3cG9ydFByb3BlcnRpZXMoYXR0cikpOwogI2VuZGlmCiB9CiAjZW5kaWYKQEAgLTE4NTEsMTAg
KzE4NTEsMTAgQEAgdm9pZCBXZWJQYWdlOjpwYWdlU3RvcHBlZFNjcm9sbGluZygpCiAjaWYgVVNF
KENPT1JESU5BVEVEX0dSQVBISUNTKQogdm9pZCBXZWJQYWdlOjpwYWdlRGlkUmVxdWVzdFNjcm9s
bChjb25zdCBJbnRQb2ludCYgcG9pbnQpCiB7Ci0jaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNT
X01VTFRJUFJPQ0VTUykKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlBhZ2VEaWRS
ZXF1ZXN0U2Nyb2xsKHBvaW50KSk7Ci0jZWxpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfVEhS
RUFERUQpCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX1RIUkVBREVEKQogICAgIGRyYXdp
bmdBcmVhKCktPnNjcm9sbChJbnRSZWN0KHBvaW50LCBJbnRTaXplKCkpLCBJbnRTaXplKCkpOwor
I2VsaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUykgCisgICAgc2VuZChN
ZXNzYWdlczo6V2ViUGFnZVByb3h5OjpQYWdlRGlkUmVxdWVzdFNjcm9sbChwb2ludCkpOwogI2Vu
ZGlmCiB9CiAjZW5kaWYKQEAgLTQxMDQsNyArNDEwNCw3IEBAIGJvb2wgV2ViUGFnZTo6Y2FuSGFu
ZGxlUmVxdWVzdChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCiAgICAg
cmV0dXJuIHBsYXRmb3JtQ2FuSGFuZGxlUmVxdWVzdChyZXF1ZXN0KTsKIH0KIAotI2lmIFVTRShD
T09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpCisjaWYgVVNFKENPT1JESU5BVEVEX0dS
QVBISUNTKQogdm9pZCBXZWJQYWdlOjpjb21taXRQYWdlVHJhbnNpdGlvblZpZXdwb3J0KCkKIHsK
ICAgICBtX2RyYXdpbmdBcmVhLT5zZXRMYXllclRyZWVTdGF0ZUlzRnJvemVuKGZhbHNlKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IDNjYjYyNjYz
NjcwYjAzMzRmZDA2NDE3MTMzOTFkNDhkZDU2Mjc4NmQuLmE1ZDRmYTZkMTgzZDc0NzAyYjlkNGM4
NzdjMjIxNWJkODY2ZjcwMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuaApAQCAtNTcwLDYgKzU3MCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHBhZ2VEaWRS
ZXF1ZXN0U2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkludFBvaW50Jik7CiAgICAgdm9pZCBzZXRGaXhl
ZFZpc2libGVDb250ZW50UmVjdChjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jik7CiAgICAgdm9pZCBz
ZW5kVmlld3BvcnRBdHRyaWJ1dGVzQ2hhbmdlZCgpOworICAgIHZvaWQgY29tbWl0UGFnZVRyYW5z
aXRpb25WaWV3cG9ydCgpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKQEAg
LTYxMCwxMCArNjExLDYgQEAgcHVibGljOgogICAgIHZvaWQgc2V0VGhlbWVQYXRoKGNvbnN0IFN0
cmluZyYpOwogI2VuZGlmCiAKLSNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9D
RVNTKQotICAgIHZvaWQgY29tbWl0UGFnZVRyYW5zaXRpb25WaWV3cG9ydCgpOwotI2VuZGlmCi0K
ICNpZiBQTEFURk9STShHVEspCiAgICAgdm9pZCBzZXRDb21wb3NpdGlvbihjb25zdCBTdHJpbmcm
IHRleHQsIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpDb21wb3NpdGlvblVuZGVybGluZT4mIHVuZGVy
bGluZXMsIHVpbnQ2NF90IHNlbGVjdGlvblN0YXJ0LCB1aW50NjRfdCBzZWxlY3Rpb25FbmQsIHVp
bnQ2NF90IHJlcGxhY2VtZW50UmFuZ2VTdGFydCwgdWludDY0X3QgcmVwbGFjZW1lbnRSYW5nZUxl
bmd0aCk7CiAgICAgdm9pZCBjb25maXJtQ29tcG9zaXRpb24oY29uc3QgU3RyaW5nJiB0ZXh0LCBp
bnQ2NF90IHNlbGVjdGlvblN0YXJ0LCBpbnQ2NF90IHNlbGVjdGlvbkxlbmd0aCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5p
biBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmlu
CmluZGV4IDAwYWI0ZmQ1YWMzYTNlM2Y1YzdkNDRjNTk5NmFlMjE1M2ZhYmU0ZDUuLjYyMjM5NWVl
ZGExYzJkOWU0NDdkZGI0ZGNkZDU4Y2UxNjE4ZTZhM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC0zMjksNyAr
MzI5LDcgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZSBMZWdhY3lSZWNlaXZlciB7CiAgICAgU2V0VGhl
bWVQYXRoKFN0cmluZyB0aGVtZVBhdGgpCiAjZW5kaWYKIAotI2lmIFVTRShDT09SRElOQVRFRF9H
UkFQSElDU19NVUxUSVBST0NFU1MpCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogICAg
IENvbW1pdFBhZ2VUcmFuc2l0aW9uVmlld3BvcnQoKQogI2VuZGlmCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257823</attachid>
            <date>2015-07-30 01:22:44 -0700</date>
            <delta_ts>2015-07-30 09:36:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147256-20150730172242.patch</filename>
            <type>text/plain</type>
            <size>22194</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3NTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNmZmYTcyZjU3ZDc3ZjVm
MjAxY2MwMWQyZGZhMDhjMzE5NmRlMTIxOC4uNzg3YTE0Nzc3OTZhYzkzNjg2M2JhMDYyNzQzYjZl
MjZmOWNmYTI3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE1LTA3LTMwICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBbQ29vcmRpbmF0
ZWRHcmFwaGljc10gUmVhcnJhbmdlIHVzZXMgb2YgVVNFX0NPT1JESU5BVEVEX0dSQVBISUNTX01V
TFRJUFJPQ0VTUworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTQ3MjU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUmVkdWNlIHVzZXMgb2YgVVNFX0NPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUyBn
dWFyZCBpbiBvcmRlciB0byBmaXggYnVpbGQKKyAgICAgICAgYnJlYWtzIHdoZW4gVVNFX0NPT1JE
SU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUyBpcyBvZmYuIFRoaXMgaXMgZmlyc3Qgc3RlcCB0
byBzd2l0Y2gKKyAgICAgICAgYmV0d2VlbiBtdWx0aXByb2Nlc3MgbW9kZWwgdG8gdGhyZWFkIG1v
ZGVsLgorCisgICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogU2hhcmVkL0Ry
YXdpbmdBcmVhSW5mby5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9Db29yZGluYXRlZEdy
YXBoaWNzL1dLVmlldy5jcHA6CisgICAgICAgIChXS1ZpZXdGaW5kWm9vbWFibGVBcmVhRm9yUmVj
dCk6CisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRE
cmF3aW5nQXJlYVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWREcmF3aW5n
QXJlYVByb3h5OjpDb29yZGluYXRlZERyYXdpbmdBcmVhUHJveHkpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNw
cDoKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OmNvbW1p
dENvb3JkaW5hdGVkR3JhcGhpY3NTdGF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6UGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6cGFnZVRyYW5zaXRpb25W
aWV3cG9ydFJlYWR5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9X
ZWJQYWdlUHJveHlDb29yZGluYXRlZEdyYXBoaWNzLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
Q29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29v
cmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y29tbWl0UGFnZVRyYW5z
aXRpb25WaWV3cG9ydCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVk
RHJhd2luZ0FyZWEuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZERyYXdpbmdBcmVh
OjpDb29yZGluYXRlZERyYXdpbmdBcmVhKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
Q29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhLmg6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViUGFnZUNvb3JkaW5hdGVk
R3JhcGhpY3MuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUlt
cGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYUltcGw6OkRyYXdpbmdBcmVhSW1w
bCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5oOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6TGF5ZXJUcmVlSG9zdDo6Y3JlYXRlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNlbmRWaWV3cG9ydEF0
dHJpYnV0ZXNDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cGFnZURpZFJlcXVl
c3RTY3JvbGwpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW46CisKIDIwMTUtMDct
MjkgIEFuZHkgVmFuV2Fnb25lciAgPHRoZXRhbGVjcmFmdGVyQGdtYWlsLmNvbT4KIAogICAgICAg
ICBJbXBsZW1lbnQgYmFzaWMgdHlwZXMgZm9yIEVDTUFTY3JpcHQgSW50ZXJuYXRpb25hbGl6YXRp
b24gQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1Nv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IGFkYmJmMzQwOTI3ZTk5ZTZlMWE2
NDc2M2M3ZWZkYjAwM2I5NGYwM2YuLjc0NDk1ZDUxMjQyZmU2YTRmMjY5NTZiY2MzOWU1Yzk2Y2Zl
ODJiZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC0yMDksNiArMjA5LDggQEAgbGlz
dChBUFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCiAKICAgICBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L3NvdXAvV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dC5jcHAKIAorICAgIFdlYlByb2Nlc3MvV2Vi
UGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCisKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRp
bmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhLmNwcAogICAgIFdlYlByb2Nlc3Mv
V2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAK
ICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJQYWdlQ29vcmRp
bmF0ZWRHcmFwaGljcy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9EcmF3
aW5nQXJlYUluZm8uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9EcmF3aW5nQXJlYUluZm8uaApp
bmRleCAxYjZkYTUyZTRkNGJiMjU3Y2E1MWYzZDU4NDcyM2E5NTkyMTlhYWVkLi4yMjRkOGQyZDc0
MmNmZGViODNmYTRmNGM5NjRiNWU1MzQ0OGZlNmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvRHJhd2luZ0FyZWFJbmZvLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0Ry
YXdpbmdBcmVhSW5mby5oCkBAIC0zOCw3ICszOCw3IEBAIGVudW0gRHJhd2luZ0FyZWFUeXBlIHsK
ICNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQogICAgIERyYXdpbmdB
cmVhVHlwZUNvb3JkaW5hdGVkCiAjZWxzZQotICAgIERyYXdpbmdBcmVhVHlwZUltcGwsCisgICAg
RHJhd2luZ0FyZWFUeXBlSW1wbAogI2VuZGlmCiAjZW5kaWYKIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XS1ZpZXcuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV0tW
aWV3LmNwcAppbmRleCA5YTIxMTA0Zjg5YjhhYjJjM2ViNDI5OGM1OTUyOGZlZGNmMjNjNjJkLi5h
NTg4NDgwNjNlODAwYjFlM2U5MjY1NDBhMTE5MWE4OTc1ZDkwOTAyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XS1ZpZXcuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9Db29yZGluYXRlZEdyYXBoaWNz
L1dLVmlldy5jcHAKQEAgLTE5MSw4ICsxOTEsMTMgQEAgZG91YmxlIFdLVmlld09wYWNpdHkoV0tW
aWV3UmVmIHZpZXcpCiAKIHZvaWQgV0tWaWV3RmluZFpvb21hYmxlQXJlYUZvclJlY3QoV0tWaWV3
UmVmIHZpZXdSZWYsIFdLUmVjdCB3a1JlY3QpCiB7CisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBI
SUNTX01VTFRJUFJPQ0VTUykKICAgICBJbnRSZWN0IHJlY3QgPSB0b0ludFJlY3Qod2tSZWN0KTsK
ICAgICB0b0ltcGwodmlld1JlZiktPmZpbmRab29tYWJsZUFyZWFGb3JQb2ludChyZWN0LmNlbnRl
cigpLCByZWN0LnNpemUoKSk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTSh2aWV3UmVmKTsKKyAg
ICBVTlVTRURfUEFSQU0od2tSZWN0KTsKKyNlbmRpZgogfQogCiBXS1NpemUgV0tWaWV3R2V0Q29u
dGVudHNTaXplKFdLVmlld1JlZiB2aWV3UmVmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYVByb3h5
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3Jk
aW5hdGVkRHJhd2luZ0FyZWFQcm94eS5jcHAKaW5kZXggYzMxZGUyYmU3Yzk3Y2FkZDdmOWI3YTNk
ZDRjZWVhMmExYjc1NzI0Ny4uYTQ2NTFmNGE4OWVlZTU5OTliODQ2NjQyZDViZTQxMDU2MGUyZWRk
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhUHJveHku
Y3BwCkBAIC00NSw3ICs0NSwxMSBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCiBDb29yZGluYXRlZERyYXdpbmdBcmVhUHJveHk6OkNvb3JkaW5hdGVkRHJh
d2luZ0FyZWFQcm94eShXZWJQYWdlUHJveHkmIHdlYlBhZ2VQcm94eSkKKyNpZiBVU0UoQ09PUkRJ
TkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQogICAgIDogRHJhd2luZ0FyZWFQcm94eShEcmF3
aW5nQXJlYVR5cGVDb29yZGluYXRlZCwgd2ViUGFnZVByb3h5KQorI2Vsc2UKKyAgICA6IERyYXdp
bmdBcmVhUHJveHkoRHJhd2luZ0FyZWFUeXBlSW1wbCwgd2ViUGFnZVByb3h5KQorI2VuZGlmCiAg
ICAgLCBtX2N1cnJlbnRCYWNraW5nU3RvcmVTdGF0ZUlEKDApCiAgICAgLCBtX25leHRCYWNraW5n
U3RvcmVTdGF0ZUlEKDApCiAgICAgLCBtX2lzV2FpdGluZ0ZvckRpZFVwZGF0ZUJhY2tpbmdTdG9y
ZVN0YXRlKGZhbHNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0UHJveHkuY3BwCmluZGV4IGNhNTFiZDNhZTMxOGJkMDJkYTNkNDI2Y2YyYzk5NzM4OGQ5
MThmMzMuLmY3NmY2ZTU0ZjRiMTcxYzFkNmYwNTk0MDFjNjUwMmZmMTQzZWFjNzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5h
dGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5jcHAKQEAg
LTY1LDcgKzY1LDcgQEAgdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6Y29tbWl0
Q29vcmRpbmF0ZWRHcmFwaGljc1N0YXRlKGNvbnN0IENvb3JkaW4KICAgICB9KTsKIAogICAgIHVw
ZGF0ZVZpZXdwb3J0KCk7Ci0jaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQorI2lmIFVTRShD
T09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpCiAgICAgbV9kcmF3aW5nQXJlYVByb3h5
LT5wYWdlKCkuZGlkUmVuZGVyRnJhbWUoZ3JhcGhpY3NTdGF0ZS5jb250ZW50c1NpemUsIGdyYXBo
aWNzU3RhdGUuY292ZXJlZFJlY3QpOwogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhv
c3RQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaAppbmRleCAwNDY1YjY5ZmY5NDUxYWI4MWE5
ZGY1NTI4NDk5NDY5ZmMxN2JhNjg0Li5kNjlmYTE3YjE4NGY2ZGRmYTJhZGZkZDg5NmI3YTNiYWZi
ZjQzMjNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dFByb3h5LmgKQEAgLTIxLDcgKzIxLDcgQEAKICNpZm5kZWYgQ29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0UHJveHlfaAogI2RlZmluZSBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eV9oCiAKLSNp
ZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQorI2lmIFVTRShDT09SRElO
QVRFRF9HUkFQSElDUykKIAogI2luY2x1ZGUgIkNvb3JkaW5hdGVkR3JhcGhpY3NBcmd1bWVudENv
ZGVycy5oIgogI2luY2x1ZGUgIkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5oIgpAQCAtNjksNiAr
NjksNiBAQCBwcm90ZWN0ZWQ6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCi0jZW5kaWYgLy8g
VVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUykKKyNlbmRpZiAvLyBVU0UoQ09P
UkRJTkFURURfR1JBUEhJQ1MpCiAKICNlbmRpZiAvLyBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQ
cm94eV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuY3BwCmluZGV4
IDIwYTI1ZjYxZDJlZjY5ZmY5ZTY0MzgxNWU3YzQ0ZWQ1MGZjNjc3YmEuLjE3MTU2NTdiODE0ZmMw
NDliY2IyYWVlOWQ5YTgxMzNhZWU4ODMzNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1BhZ2VWaWV3
cG9ydENvbnRyb2xsZXIuY3BwCkBAIC0yMTUsMTEgKzIxNSwxMyBAQCB2b2lkIFBhZ2VWaWV3cG9y
dENvbnRyb2xsZXI6OnBhZ2VUcmFuc2l0aW9uVmlld3BvcnRSZWFkeSgpCiAgICAgICAgIGFwcGx5
U2NhbGVBZnRlclJlbmRlcmluZ0NvbnRlbnRzKGlubmVyQm91bmRlZFZpZXdwb3J0U2NhbGUoaW5p
dGlhbFNjYWxlKSk7CiAgICAgfQogCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJ
UFJPQ0VTUykKICAgICAvLyBBdCB0aGlzIHBvaW50IHdlIHNob3VsZCBhbHJlYWR5IGhhdmUgcmVj
ZWl2ZWQgdGhlIGZpcnN0IHZpZXdwb3J0IGFyZ3VtZW50cyBhbmQgdGhlIHJlcXVlc3RlZCBzY3Jv
bGwKICAgICAvLyBwb3NpdGlvbiBmb3IgdGhlIG5ld2x5IGxvYWRlZCBwYWdlIGFuZCBzZW50IG91
ciByZWFjdGlvbnMgdG8gdGhlIHdlYiBwcm9jZXNzLiBJdCdzIG5vdyBzYWZlIHRvIHRlbGwKICAg
ICAvLyB0aGUgd2ViIHByb2Nlc3MgdG8gc3RhcnQgcmVuZGVyaW5nIHRoZSBuZXcgcGFnZSBjb250
ZW50cyBhbmQgcG9zc2libHkgcmUtdXNlIHRoZSBjdXJyZW50IHRpbGVzLgogICAgIC8vIFRoaXMg
YXNzdW1lcyB0aGF0IGFsbCBtZXNzYWdlcyBoYXZlIGJlZW4gaGFuZGxlZCBpbiBvcmRlciBhbmQg
dGhhdCBub3RoaW5nIGhhcyBiZWVuIHB1c2hlZCBiYWNrIG9uIHRoZSBldmVudCBsb29wLgogICAg
IG1fd2ViUGFnZVByb3h5LT5jb21taXRQYWdlVHJhbnNpdGlvblZpZXdwb3J0KCk7CisjZW5kaWYK
IH0KIAogdm9pZCBQYWdlVmlld3BvcnRDb250cm9sbGVyOjpwYWdlRGlkUmVxdWVzdFNjcm9sbChj
b25zdCBJbnRQb2ludCYgY3NzUG9zaXRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJQYWdlUHJveHlDb29yZGluYXRlZEdyYXBo
aWNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dl
YlBhZ2VQcm94eUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwCmluZGV4IDA3YjE2NzE5MGU2MjZiZTFm
OGIxMWVmNGRhZjQ3M2E0MTE3YjY4NmEuLmFkNzNkMzY5ZjE2ZTAzOGM0ZWIxOTY2MGVjN2VjNjlk
YWNlZGU0ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRl
ZEdyYXBoaWNzL1dlYlBhZ2VQcm94eUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlBhZ2VQcm94eUNvb3Jk
aW5hdGVkR3JhcGhpY3MuY3BwCkBAIC0zNyw2ICszNyw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElD
U19NVUxUSVBST0NFU1MpCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZmluZFpvb21hYmxlQXJlYUZvclBv
aW50KGNvbnN0IEludFBvaW50JiBwb2ludCwgY29uc3QgSW50U2l6ZSYgYXJlYSkKIHsKICAgICBp
ZiAoIWlzVmFsaWQoKSkKQEAgLTQ5LDYgKzUwLDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZEZp
bmRab29tYWJsZUFyZWEoY29uc3QgSW50UG9pbnQmIHRhcmdldCwgY29uc3QgSW50UmVjdCYgYXIK
IHsKICAgICBtX3BhZ2VDbGllbnQuZGlkRmluZFpvb21hYmxlQXJlYSh0YXJnZXQsIGFyZWEpOwog
fQorI2VuZGlmCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuY3BwCmluZGV4
IGI2ZWY2Mzk2NTRmNzc3MzBiZDExMmM1NjE1MTZhMTdmZTgxM2UwYjcuLjM3NDdmYmJiNWQzYWUz
NWZmNmE5ZjRlZGU5ZTc2MmI0YjFhOGYxM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuY3BwCkBAIC01MTksNiAr
NTE5LDcgQEAgdm9pZCBXZWJWaWV3OjpkaWRDaGFuZ2VWaWV3cG9ydFByb3BlcnRpZXMoY29uc3Qg
V2ViQ29yZTo6Vmlld3BvcnRBdHRyaWJ1dGVzJiBhdHQKICAgICBtX2NsaWVudC5kaWRDaGFuZ2VW
aWV3cG9ydEF0dHJpYnV0ZXModGhpcywgYXR0cik7CiB9CiAKKyNpZiBVU0UoQ09PUkRJTkFURURf
R1JBUEhJQ1NfTVVMVElQUk9DRVNTKQogdm9pZCBXZWJWaWV3OjpwYWdlRGlkUmVxdWVzdFNjcm9s
bChjb25zdCBJbnRQb2ludCYgcG9zaXRpb24pCiB7CiAgICAgRmxvYXRQb2ludCB1aVBvc2l0aW9u
KHBvc2l0aW9uKTsKQEAgLTU0MSw2ICs1NDIsNyBAQCB2b2lkIFdlYlZpZXc6OmZpbmRab29tYWJs
ZUFyZWFGb3JQb2ludChjb25zdCBJbnRQb2ludCYgcG9pbnQsIGNvbnN0IEludFNpemUmIHNpegog
ewogICAgIG1fcGFnZS0+ZmluZFpvb21hYmxlQXJlYUZvclBvaW50KHRyYW5zZm9ybUZyb21TY2Vu
ZSgpLm1hcFBvaW50KHBvaW50KSwgdHJhbnNmb3JtRnJvbVNjZW5lKCkubWFwU2l6ZShzaXplKSk7
CiB9CisjZW5kaWYKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuaCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuaAppbmRleCBk
NDUzNzI0N2FiOTM3ZDFiNWY1ZjhjMmRmOGQ2NzBkYTVjMGM5ZDFkLi40ODExNGUwZDQ4ZGU5MzA3
MDRlNTc2ZTM5YWZkNTgxZDVlNTgyNmQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlldy5oCkBAIC05NCw3ICs5NCw5IEBA
IHB1YmxpYzoKICAgICBib29sIHJlcXVlc3RFeGl0RnVsbFNjcmVlbigpOwogI2VuZGlmCiAKKyNp
ZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQogICAgIHZvaWQgZmluZFpv
b21hYmxlQXJlYUZvclBvaW50KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiwgY29uc3QgV2ViQ29y
ZTo6SW50U2l6ZSYpOworI2VuZGlmCiAKICAgICAvLyBWaWV3IGNsaWVudC4KICAgICB2b2lkIGlu
aXRpYWxpemVDbGllbnQoY29uc3QgV0tWaWV3Q2xpZW50QmFzZSopOwpAQCAtMTQ3LDkgKzE0OSwx
MSBAQCBwcm90ZWN0ZWQ6CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ29tbWl0TG9hZEZvck1haW5G
cmFtZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBib29sIHVzZUN1c3RvbUNvbnRlbnRQcm92aWRl
cikgb3ZlcnJpZGU7CiAKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNT
KQogICAgIHZpcnR1YWwgdm9pZCBwYWdlRGlkUmVxdWVzdFNjcm9sbChjb25zdCBXZWJDb3JlOjpJ
bnRQb2ludCYpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBkaWRSZW5kZXJGcmFtZShjb25z
dCBXZWJDb3JlOjpJbnRTaXplJiBjb250ZW50c1NpemUsIGNvbnN0IFdlYkNvcmU6OkludFJlY3Qm
IGNvdmVyZWRSZWN0KSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgcGFnZVRyYW5zaXRpb25W
aWV3cG9ydFJlYWR5KCkgb3ZlcnJpZGU7CisjZW5kaWYKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRD
dXJzb3IoY29uc3QgV2ViQ29yZTo6Q3Vyc29yJikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lk
IHNldEN1cnNvckhpZGRlblVudGlsTW91c2VNb3Zlcyhib29sKSBvdmVycmlkZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggNTc3MDI3YTM1YmU2NzkyYjg2
NTZkNTUwMGFhNWU2ZTBmYjQ2NWY3OS4uNDNiNDZjMDM2ZmJhMjEwYjBjYmM2ZDI2ZmNmOWI3NjQ5
NDRhNGJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAg
LTE1NzcsMTYgKzE1NzcsNiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ29tbWl0TGF5ZXJUcmVl
KGNvbnN0IFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uJikKIH0KICNlbmRpZgogCi0jaWYgVVNF
KENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUykKLXZvaWQgV2ViUGFnZVByb3h5Ojpj
b21taXRQYWdlVHJhbnNpdGlvblZpZXdwb3J0KCkKLXsKLSAgICBpZiAoIWlzVmFsaWQoKSkKLSAg
ICAgICAgcmV0dXJuOwotCi0gICAgcHJvY2VzcygpLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkNv
bW1pdFBhZ2VUcmFuc2l0aW9uVmlld3BvcnQoKSwgbV9wYWdlSUQpOwotfQotI2VuZGlmCi0KICNp
ZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogdm9pZCBXZWJQYWdlUHJveHk6OmRyYWdFbnRlcmVkKERy
YWdEYXRhJiBkcmFnRGF0YSwgY29uc3QgU3RyaW5nJiBkcmFnU3RvcmFnZU5hbWUpCiB7CkBAIC0z
Nzk3LDYgKzM3ODcsMTMgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZFJlbmRlckZyYW1lKGNvbnN0
IFdlYkNvcmU6OkludFNpemUmIGNvbnRlbnRzU2l6ZSwgY29uc3QgV2UKICAgICBtX3BhZ2VDbGll
bnQuZGlkUmVuZGVyRnJhbWUoY29udGVudHNTaXplLCBjb3ZlcmVkUmVjdCk7CiB9CiAKK3ZvaWQg
V2ViUGFnZVByb3h5Ojpjb21taXRQYWdlVHJhbnNpdGlvblZpZXdwb3J0KCkKK3sKKyAgICBpZiAo
IWlzVmFsaWQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgcHJvY2VzcygpLnNlbmQoTWVzc2Fn
ZXM6OldlYlBhZ2U6OkNvbW1pdFBhZ2VUcmFuc2l0aW9uVmlld3BvcnQoKSwgbV9wYWdlSUQpOwor
fQogI2VuZGlmCiAKIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRDaGFuZ2VWaWV3cG9ydFByb3BlcnRp
ZXMoY29uc3QgVmlld3BvcnRBdHRyaWJ1dGVzJiBhdHRyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oCmluZGV4IDM4ZDNjOGVlYTk0YmU1Y2JkZWJlZDRjNGIwOTJhYjlhNWUx
ZDM1N2EuLjM1ZTkyZDgwZmUyZTJlODU1NjM1NzhkNTgyMTM4ODFiNWVlOTdkYWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTUyOSw2ICs1MjksNyBAQCBwdWJs
aWM6CiAKICNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQogICAgIHZv
aWQgZGlkUmVuZGVyRnJhbWUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgY29udGVudHNTaXplLCBj
b25zdCBXZWJDb3JlOjpJbnRSZWN0JiBjb3ZlcmVkUmVjdCk7CisgICAgdm9pZCBjb21taXRQYWdl
VHJhbnNpdGlvblZpZXdwb3J0KCk7CiAjZW5kaWYKICNpZiBQTEFURk9STShFRkwpCiAgICAgdm9p
ZCBzZXRUaGVtZVBhdGgoY29uc3QgU3RyaW5nJik7CkBAIC02MTAsMTAgKzYxMSw2IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHNldEJhY2tncm91bmRDb2xvcihjb25zdCBXZWJDb3JlOjpDb2xvciYgY29s
b3IpIHsgbV9iYWNrZ3JvdW5kQ29sb3IgPSBjb2xvcjsgfQogI2VuZGlmCiAKLSNpZiBVU0UoQ09P
UkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQotICAgIHZvaWQgY29tbWl0UGFnZVRyYW5z
aXRpb25WaWV3cG9ydCgpOwotI2VuZGlmCi0KICAgICB2b2lkIGhhbmRsZU1vdXNlRXZlbnQoY29u
c3QgTmF0aXZlV2ViTW91c2VFdmVudCYpOwogICAgIHZvaWQgaGFuZGxlV2hlZWxFdmVudChjb25z
dCBOYXRpdmVXZWJXaGVlbEV2ZW50Jik7CiAgICAgdm9pZCBoYW5kbGVLZXlib2FyZEV2ZW50KGNv
bnN0IE5hdGl2ZVdlYktleWJvYXJkRXZlbnQmKTsKQEAgLTg4MCw3ICs4NzcsNyBAQCBwdWJsaWM6
CiAKICAgICBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzIGNyZWF0aW9uUGFyYW1ldGVycygpOwog
Ci0jaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQ
SElDU19NVUxUSVBST0NFU1MpCiAgICAgdm9pZCBmaW5kWm9vbWFibGVBcmVhRm9yUG9pbnQoY29u
c3QgV2ViQ29yZTo6SW50UG9pbnQmLCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJik7CiAjZW5kaWYK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdB
cmVhLmNwcAppbmRleCBhZDI1NzlkYmQ3OTBkOGUzY2JjYTZkMzJkNTA5ODlhZTNlN2U4ZGYzLi5m
NzRlODAwMWIxN2YwZmI5NDc3MjdhMWM3ZWY5MDRjODExMjExOTZiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGlu
YXRlZERyYXdpbmdBcmVhLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhLmNwcApAQCAtNTYs
NyArNTYsMTEgQEAgQ29vcmRpbmF0ZWREcmF3aW5nQXJlYTo6fkNvb3JkaW5hdGVkRHJhd2luZ0Fy
ZWEoKQogfQogCiBDb29yZGluYXRlZERyYXdpbmdBcmVhOjpDb29yZGluYXRlZERyYXdpbmdBcmVh
KFdlYlBhZ2UmIHdlYlBhZ2UsIGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFt
ZXRlcnMpCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUykKICAgICA6
IERyYXdpbmdBcmVhKERyYXdpbmdBcmVhVHlwZUNvb3JkaW5hdGVkLCB3ZWJQYWdlKQorI2Vsc2UK
KyAgICA6IERyYXdpbmdBcmVhKERyYXdpbmdBcmVhVHlwZUltcGwsIHdlYlBhZ2UpCisjZW5kaWYK
ICAgICAsIG1fYmFja2luZ1N0b3JlU3RhdGVJRCgwKQogICAgICwgbV9pc1BhaW50aW5nRW5hYmxl
ZCh0cnVlKQogICAgICwgbV9pblVwZGF0ZUJhY2tpbmdTdG9yZVN0YXRlKGZhbHNlKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYS5oCmluZGV4
IGQ3MDUzNDYwMjMwMTRhNWRhMzU4ZjlkYTk1OGQ5Y2FhY2Q2ZDMyYmYuLjU0MTBjNDA1ZTg3Yjc1
ZWFjMjA1YWE0ZTU4M2IwMDExMzk4Zjg1ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJhd2luZ0Fy
ZWEuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhLmgKQEAgLTY4LDYgKzY4LDEwIEBAIHByaXZh
dGU6CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVDb29yZGluYXRlZExheWVyVHJlZUhvc3RN
ZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6TWVzc2FnZURlY29kZXImKTsKICNlbmRpZgog
CisjaWYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKSAmJiBQTEFURk9STShHVEspCisgICAgdmlydHVh
bCB2b2lkIHNldE5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZyh1aW50NjRfdCkgb3Zl
cnJpZGUgeyB9OworI2VuZGlmCisKICAgICB2aXJ0dWFsIHZvaWQgdmlld1N0YXRlRGlkQ2hhbmdl
KFdlYkNvcmU6OlZpZXdTdGF0ZTo6RmxhZ3MsIGJvb2wgLyogd2FudHNEaWRVcGRhdGVWaWV3U3Rh
dGUgKi8sIGNvbnN0IFZlY3Rvcjx1aW50NjRfdD4mIC8qIGNhbGxiYWNrSURzICovKSBvdmVycmlk
ZTsKICAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoVmlld092ZXJsYXlHcmFwaGljc0xheWVyKFdlYkNv
cmU6OkZyYW1lKiwgV2ViQ29yZTo6R3JhcGhpY3NMYXllciopIG92ZXJyaWRlOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9XZWJQYWdlQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJQYWdlQ29vcmRpbmF0ZWRHcmFwaGlj
cy5jcHAKaW5kZXggNmUzOTU2N2U5MGE1YjJmYjBhNzFlNzJlMGRhMjhkMjA2YjVkYjUzOS4uMzQ1
NjQ4YmFhZDIyMDdiYWVkOGVhNThkNDU2MThiOWVlNGRkZjA3MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViUGFnZUNv
b3JkaW5hdGVkR3JhcGhpY3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlBhZ2VDb29yZGluYXRlZEdyYXBoaWNzLmNwcApA
QCAtNDQsNiArNDQsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdl
YktpdCB7CiAKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQogdm9p
ZCBXZWJQYWdlOjpmaW5kWm9vbWFibGVBcmVhRm9yUG9pbnQoY29uc3QgSW50UG9pbnQmIHBvaW50
LCBjb25zdCBJbnRTaXplJiBhcmVhKQogewogICAgIFVOVVNFRF9QQVJBTShhcmVhKTsKQEAgLTg0
LDYgKzg1LDcgQEAgdm9pZCBXZWJQYWdlOjpmaW5kWm9vbWFibGVBcmVhRm9yUG9pbnQoY29uc3Qg
SW50UG9pbnQmIHBvaW50LCBjb25zdCBJbnRTaXplJiBhcmUKIAogICAgIHNlbmQoTWVzc2FnZXM6
OldlYlBhZ2VQcm94eTo6RGlkRmluZFpvb21hYmxlQXJlYShwb2ludCwgem9vbWFibGVBcmVhKSk7
CiB9CisjZW5kaWYKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKaW5kZXggYTIz
ZDhjMjQwNjIzMmEzODdlMGJjNTgyYmJkNGEzNDExYjYyNzJkZS4uNTEzOWQ5ZGJjM2U0M2U5NDVm
MTUwNDNkODk1NDkzZGJlNjIyMTdkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKQEAgLTUwLDcgKzUwLDExIEBAIERy
YXdpbmdBcmVhSW1wbDo6fkRyYXdpbmdBcmVhSW1wbCgpCiB9CiAKIERyYXdpbmdBcmVhSW1wbDo6
RHJhd2luZ0FyZWFJbXBsKFdlYlBhZ2UmIHdlYlBhZ2UsIGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBh
cmFtZXRlcnMmIHBhcmFtZXRlcnMpCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJ
UFJPQ0VTUykKKyAgICA6IERyYXdpbmdBcmVhKERyYXdpbmdBcmVhVHlwZUNvb3JkaW5hdGVkLCB3
ZWJQYWdlKQorI2Vsc2UKICAgICA6IERyYXdpbmdBcmVhKERyYXdpbmdBcmVhVHlwZUltcGwsIHdl
YlBhZ2UpCisjZW5kaWYKICAgICAsIG1fYmFja2luZ1N0b3JlU3RhdGVJRCgwKQogICAgICwgbV9p
c1BhaW50aW5nRW5hYmxlZCh0cnVlKQogICAgICwgbV9pblVwZGF0ZUJhY2tpbmdTdG9yZVN0YXRl
KGZhbHNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Ry
YXdpbmdBcmVhSW1wbC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdp
bmdBcmVhSW1wbC5oCmluZGV4IDk1ZjJhOTlkMzdmNTQ2ZDEzOTkyYjMxNmExZmE1ZjBlMzdlNjcz
NzAuLjk0ZGYzMWZhNmY4MzY1MzMwMmI0YjIwZTg2NzdjMzc3OTM3ZjUzNmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmgKQEAg
LTc0LDYgKzc0LDEwIEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHNldE5hdGl2ZVN1cmZh
Y2VIYW5kbGVGb3JDb21wb3NpdGluZyh1aW50NjRfdCkgb3ZlcnJpZGU7CiAjZW5kaWYKIAorI2lm
IFVTRShDT09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpCisgICAgdmlydHVhbCB2b2lk
IGRpZFJlY2VpdmVDb29yZGluYXRlZExheWVyVHJlZUhvc3RNZXNzYWdlKElQQzo6Q29ubmVjdGlv
biYsIElQQzo6TWVzc2FnZURlY29kZXImKSBvdmVycmlkZSB7IH07CisjZW5kaWYKKwogICAgIC8v
IElQQyBtZXNzYWdlIGhhbmRsZXJzLgogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVCYWNraW5nU3Rv
cmVTdGF0ZSh1aW50NjRfdCBiYWNraW5nU3RvcmVTdGF0ZUlELCBib29sIHJlc3BvbmRJbW1lZGlh
dGVseSwgZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3IsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmLCBj
b25zdCBXZWJDb3JlOjpJbnRTaXplJiBzY3JvbGxPZmZzZXQpIG92ZXJyaWRlOwogICAgIHZpcnR1
YWwgdm9pZCBkaWRVcGRhdGUoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmNwcAppbmRleCAwZjdjMjJlYzAxOTc5MTk1
ZjY4NTI0ZTc3Zjc3YWRjM2UzYmQ2NzZhLi5lYzY3MTYwOTk3NmZkNjA1YjFlY2M0YjYwZThkY2Vi
ZmY1MjdhYTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
TGF5ZXJUcmVlSG9zdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L0xheWVyVHJlZUhvc3QuY3BwCkBAIC00MCwxMCArNDAsMTAgQEAgbmFtZXNwYWNlIFdlYktpdCB7
CiAKIFBhc3NSZWZQdHI8TGF5ZXJUcmVlSG9zdD4gTGF5ZXJUcmVlSG9zdDo6Y3JlYXRlKFdlYlBh
Z2UqIHdlYlBhZ2UpCiB7Ci0jaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VT
UykKLSAgICByZXR1cm4gQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpjcmVhdGUod2ViUGFnZSk7
Ci0jZWxpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfVEhSRUFERUQpCisjaWYgVVNFKENPT1JE
SU5BVEVEX0dSQVBISUNTX1RIUkVBREVEKQogICAgIHJldHVybiBUaHJlYWRlZENvb3JkaW5hdGVk
TGF5ZXJUcmVlSG9zdDo6Y3JlYXRlKHdlYlBhZ2UpOworI2VsaWYgVVNFKENPT1JESU5BVEVEX0dS
QVBISUNTX01VTFRJUFJPQ0VTUykKKyAgICByZXR1cm4gQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0
OjpjcmVhdGUod2ViUGFnZSk7CiAjZWxpZiBQTEFURk9STShHVEspICYmIFVTRShURVhUVVJFX01B
UFBFUl9HTCkKICAgICByZXR1cm4gTGF5ZXJUcmVlSG9zdEd0azo6Y3JlYXRlKHdlYlBhZ2UpOwog
I2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApp
bmRleCBhYTIwZGM0YzdkODc0NDgwNzk5YWE3NjA0ZDBhMWU4NTVhMTkzNDY3Li4zNjY2OGRiYTNh
YTAzMzk4ZWQ1NWVjODhhZjk1MmQ5NDYyMWJjZWQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0xMjk5LDExICsxMjk5LDExIEBAIHZvaWQg
V2ViUGFnZTo6c2VuZFZpZXdwb3J0QXR0cmlidXRlc0NoYW5nZWQoKQogICAgIC8vIFRoaXMgYWxz
byB0YWtlcyBjYXJlIG9mIHRoZSByZWxheW91dC4KICAgICBzZXRGaXhlZExheW91dFNpemUocm91
bmRlZEludFNpemUoYXR0ci5sYXlvdXRTaXplKSk7CiAKLSNpZiBVU0UoQ09PUkRJTkFURURfR1JB
UEhJQ1NfTVVMVElQUk9DRVNTKQotICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlk
Q2hhbmdlVmlld3BvcnRQcm9wZXJ0aWVzKGF0dHIpKTsKLSNlbHNlCisjaWYgVVNFKENPT1JESU5B
VEVEX0dSQVBISUNTX1RIUkVBREVEKQogICAgIGlmIChtX2RyYXdpbmdBcmVhLT5sYXllclRyZWVI
b3N0KCkpCiAgICAgICAgIG1fZHJhd2luZ0FyZWEtPmxheWVyVHJlZUhvc3QoKS0+ZGlkQ2hhbmdl
Vmlld3BvcnRQcm9wZXJ0aWVzKGF0dHIpOworI2Vsc2UKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQ
YWdlUHJveHk6OkRpZENoYW5nZVZpZXdwb3J0UHJvcGVydGllcyhhdHRyKSk7CiAjZW5kaWYKIH0K
ICNlbmRpZgpAQCAtMTg1MSwxMCArMTg1MSwxMCBAQCB2b2lkIFdlYlBhZ2U6OnBhZ2VTdG9wcGVk
U2Nyb2xsaW5nKCkKICNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiB2b2lkIFdlYlBhZ2U6
OnBhZ2VEaWRSZXF1ZXN0U2Nyb2xsKGNvbnN0IEludFBvaW50JiBwb2ludCkKIHsKLSNpZiBVU0Uo
Q09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQotICAgIHNlbmQoTWVzc2FnZXM6Oldl
YlBhZ2VQcm94eTo6UGFnZURpZFJlcXVlc3RTY3JvbGwocG9pbnQpKTsKLSNlbGlmIFVTRShDT09S
RElOQVRFRF9HUkFQSElDU19USFJFQURFRCkKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1Nf
VEhSRUFERUQpCiAgICAgZHJhd2luZ0FyZWEoKS0+c2Nyb2xsKEludFJlY3QocG9pbnQsIEludFNp
emUoKSksIEludFNpemUoKSk7CisjZWxpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQ
Uk9DRVNTKQorICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6UGFnZURpZFJlcXVlc3RT
Y3JvbGwocG9pbnQpKTsKICNlbmRpZgogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCAzY2I2MjY2MzY3MGIwMzM0ZmQwNjQxNzEzMzkx
ZDQ4ZGQ1NjI3ODZkLi41YzRjOGJlMmE3YWIwOTE3ZmRjNGRlMzk2ZDNjYmY0YjUwZDk3NTA2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTU3Miw2
ICs1NzIsMTAgQEAgcHVibGljOgogICAgIHZvaWQgc2VuZFZpZXdwb3J0QXR0cmlidXRlc0NoYW5n
ZWQoKTsKICNlbmRpZgogCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VT
UykKKyAgICB2b2lkIGNvbW1pdFBhZ2VUcmFuc2l0aW9uVmlld3BvcnQoKTsKKyNlbmRpZgorCiAj
aWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCiAgICAgV2ViQ29udGV4dE1lbnUqIGNvbnRleHRNZW51
KCk7CiAgICAgV2ViQ29udGV4dE1lbnUqIGNvbnRleHRNZW51QXRQb2ludEluV2luZG93KGNvbnN0
IFdlYkNvcmU6OkludFBvaW50Jik7CkBAIC02MTAsMTAgKzYxNCw2IEBAIHB1YmxpYzoKICAgICB2
b2lkIHNldFRoZW1lUGF0aChjb25zdCBTdHJpbmcmKTsKICNlbmRpZgogCi0jaWYgVVNFKENPT1JE
SU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUykKLSAgICB2b2lkIGNvbW1pdFBhZ2VUcmFuc2l0
aW9uVmlld3BvcnQoKTsKLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oR1RLKQogICAgIHZvaWQgc2V0
Q29tcG9zaXRpb24oY29uc3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBWZWN0b3I8V2ViQ29yZTo6Q29t
cG9zaXRpb25VbmRlcmxpbmU+JiB1bmRlcmxpbmVzLCB1aW50NjRfdCBzZWxlY3Rpb25TdGFydCwg
dWludDY0X3Qgc2VsZWN0aW9uRW5kLCB1aW50NjRfdCByZXBsYWNlbWVudFJhbmdlU3RhcnQsIHVp
bnQ2NF90IHJlcGxhY2VtZW50UmFuZ2VMZW5ndGgpOwogICAgIHZvaWQgY29uZmlybUNvbXBvc2l0
aW9uKGNvbnN0IFN0cmluZyYgdGV4dCwgaW50NjRfdCBzZWxlY3Rpb25TdGFydCwgaW50NjRfdCBz
ZWxlY3Rpb25MZW5ndGgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21h
a2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQppbmRleCA3ZTQ0OWJmYTlkYWM0MGM0
ZjIyMGI0OTZlZDJmZTRkM2IwOGZiNzk1Li5kODAyZjI5Yzk0YjdmYTczMGViNThhMWQ3YzQ3NDRj
ZmI5YTE3MDVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQorKysg
Yi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQpAQCAtMjI5LDcgKzIyOSw3IEBAIGVuZGlm
ICgpCiAKIFNFVF9BTkRfRVhQT1NFX1RPX0JVSUxEKEVOQUJMRV9HUkFQSElDU19DT05URVhUXzNE
IFRSVUUpCiBTRVRfQU5EX0VYUE9TRV9UT19CVUlMRChVU0VfQ09PUkRJTkFURURfR1JBUEhJQ1Mg
VFJVRSkKLVNFVF9BTkRfRVhQT1NFX1RPX0JVSUxEKFVTRV9DT09SRElOQVRFRF9HUkFQSElDU19N
VUxUSVBST0NFU1MgVFJVRSkKK1NFVF9BTkRfRVhQT1NFX1RPX0JVSUxEKFVTRV9DT09SRElOQVRF
RF9HUkFQSElDU19NVUxUSVBST0NFU1MgRkFMU0UpCiBTRVRfQU5EX0VYUE9TRV9UT19CVUlMRChV
U0VfR1JBUEhJQ1NfU1VSRkFDRSBUUlVFKQogU0VUX0FORF9FWFBPU0VfVE9fQlVJTEQoVVNFX1RF
WFRVUkVfTUFQUEVSIFRSVUUpCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257837</attachid>
            <date>2015-07-30 09:36:21 -0700</date>
            <delta_ts>2015-08-03 18:17:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147256-20150731013619.patch</filename>
            <type>text/plain</type>
            <size>21563</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3NTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNmZmYTcyZjU3ZDc3ZjVm
MjAxY2MwMWQyZGZhMDhjMzE5NmRlMTIxOC4uNzg3YTE0Nzc3OTZhYzkzNjg2M2JhMDYyNzQzYjZl
MjZmOWNmYTI3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE1LTA3LTMwICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBbQ29vcmRpbmF0
ZWRHcmFwaGljc10gUmVhcnJhbmdlIHVzZXMgb2YgVVNFX0NPT1JESU5BVEVEX0dSQVBISUNTX01V
TFRJUFJPQ0VTUworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTQ3MjU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUmVkdWNlIHVzZXMgb2YgVVNFX0NPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUyBn
dWFyZCBpbiBvcmRlciB0byBmaXggYnVpbGQKKyAgICAgICAgYnJlYWtzIHdoZW4gVVNFX0NPT1JE
SU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUyBpcyBvZmYuIFRoaXMgaXMgZmlyc3Qgc3RlcCB0
byBzd2l0Y2gKKyAgICAgICAgYmV0d2VlbiBtdWx0aXByb2Nlc3MgbW9kZWwgdG8gdGhyZWFkIG1v
ZGVsLgorCisgICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogU2hhcmVkL0Ry
YXdpbmdBcmVhSW5mby5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9Db29yZGluYXRlZEdy
YXBoaWNzL1dLVmlldy5jcHA6CisgICAgICAgIChXS1ZpZXdGaW5kWm9vbWFibGVBcmVhRm9yUmVj
dCk6CisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRE
cmF3aW5nQXJlYVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWREcmF3aW5n
QXJlYVByb3h5OjpDb29yZGluYXRlZERyYXdpbmdBcmVhUHJveHkpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNw
cDoKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OmNvbW1p
dENvb3JkaW5hdGVkR3JhcGhpY3NTdGF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6UGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6cGFnZVRyYW5zaXRpb25W
aWV3cG9ydFJlYWR5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9X
ZWJQYWdlUHJveHlDb29yZGluYXRlZEdyYXBoaWNzLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
Q29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29v
cmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y29tbWl0UGFnZVRyYW5z
aXRpb25WaWV3cG9ydCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVk
RHJhd2luZ0FyZWEuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZERyYXdpbmdBcmVh
OjpDb29yZGluYXRlZERyYXdpbmdBcmVhKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
Q29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhLmg6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViUGFnZUNvb3JkaW5hdGVk
R3JhcGhpY3MuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUlt
cGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYUltcGw6OkRyYXdpbmdBcmVhSW1w
bCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5oOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6TGF5ZXJUcmVlSG9zdDo6Y3JlYXRlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNlbmRWaWV3cG9ydEF0
dHJpYnV0ZXNDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cGFnZURpZFJlcXVl
c3RTY3JvbGwpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW46CisKIDIwMTUtMDct
MjkgIEFuZHkgVmFuV2Fnb25lciAgPHRoZXRhbGVjcmFmdGVyQGdtYWlsLmNvbT4KIAogICAgICAg
ICBJbXBsZW1lbnQgYmFzaWMgdHlwZXMgZm9yIEVDTUFTY3JpcHQgSW50ZXJuYXRpb25hbGl6YXRp
b24gQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1Nv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IGFkYmJmMzQwOTI3ZTk5ZTZlMWE2
NDc2M2M3ZWZkYjAwM2I5NGYwM2YuLjc0NDk1ZDUxMjQyZmU2YTRmMjY5NTZiY2MzOWU1Yzk2Y2Zl
ODJiZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC0yMDksNiArMjA5LDggQEAgbGlz
dChBUFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCiAKICAgICBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L3NvdXAvV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dC5jcHAKIAorICAgIFdlYlByb2Nlc3MvV2Vi
UGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCisKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRp
bmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhLmNwcAogICAgIFdlYlByb2Nlc3Mv
V2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAK
ICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJQYWdlQ29vcmRp
bmF0ZWRHcmFwaGljcy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9EcmF3
aW5nQXJlYUluZm8uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9EcmF3aW5nQXJlYUluZm8uaApp
bmRleCAxYjZkYTUyZTRkNGJiMjU3Y2E1MWYzZDU4NDcyM2E5NTkyMTlhYWVkLi4yMjRkOGQyZDc0
MmNmZGViODNmYTRmNGM5NjRiNWU1MzQ0OGZlNmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvRHJhd2luZ0FyZWFJbmZvLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0Ry
YXdpbmdBcmVhSW5mby5oCkBAIC0zOCw3ICszOCw3IEBAIGVudW0gRHJhd2luZ0FyZWFUeXBlIHsK
ICNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQogICAgIERyYXdpbmdB
cmVhVHlwZUNvb3JkaW5hdGVkCiAjZWxzZQotICAgIERyYXdpbmdBcmVhVHlwZUltcGwsCisgICAg
RHJhd2luZ0FyZWFUeXBlSW1wbAogI2VuZGlmCiAjZW5kaWYKIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XS1ZpZXcuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV0tW
aWV3LmNwcAppbmRleCA5YTIxMTA0Zjg5YjhhYjJjM2ViNDI5OGM1OTUyOGZlZGNmMjNjNjJkLi5h
NTg4NDgwNjNlODAwYjFlM2U5MjY1NDBhMTE5MWE4OTc1ZDkwOTAyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XS1ZpZXcuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9Db29yZGluYXRlZEdyYXBoaWNz
L1dLVmlldy5jcHAKQEAgLTE5MSw4ICsxOTEsMTMgQEAgZG91YmxlIFdLVmlld09wYWNpdHkoV0tW
aWV3UmVmIHZpZXcpCiAKIHZvaWQgV0tWaWV3RmluZFpvb21hYmxlQXJlYUZvclJlY3QoV0tWaWV3
UmVmIHZpZXdSZWYsIFdLUmVjdCB3a1JlY3QpCiB7CisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBI
SUNTX01VTFRJUFJPQ0VTUykKICAgICBJbnRSZWN0IHJlY3QgPSB0b0ludFJlY3Qod2tSZWN0KTsK
ICAgICB0b0ltcGwodmlld1JlZiktPmZpbmRab29tYWJsZUFyZWFGb3JQb2ludChyZWN0LmNlbnRl
cigpLCByZWN0LnNpemUoKSk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTSh2aWV3UmVmKTsKKyAg
ICBVTlVTRURfUEFSQU0od2tSZWN0KTsKKyNlbmRpZgogfQogCiBXS1NpemUgV0tWaWV3R2V0Q29u
dGVudHNTaXplKFdLVmlld1JlZiB2aWV3UmVmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYVByb3h5
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3Jk
aW5hdGVkRHJhd2luZ0FyZWFQcm94eS5jcHAKaW5kZXggYzMxZGUyYmU3Yzk3Y2FkZDdmOWI3YTNk
ZDRjZWVhMmExYjc1NzI0Ny4uYTQ2NTFmNGE4OWVlZTU5OTliODQ2NjQyZDViZTQxMDU2MGUyZWRk
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhUHJveHku
Y3BwCkBAIC00NSw3ICs0NSwxMSBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCiBDb29yZGluYXRlZERyYXdpbmdBcmVhUHJveHk6OkNvb3JkaW5hdGVkRHJh
d2luZ0FyZWFQcm94eShXZWJQYWdlUHJveHkmIHdlYlBhZ2VQcm94eSkKKyNpZiBVU0UoQ09PUkRJ
TkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQogICAgIDogRHJhd2luZ0FyZWFQcm94eShEcmF3
aW5nQXJlYVR5cGVDb29yZGluYXRlZCwgd2ViUGFnZVByb3h5KQorI2Vsc2UKKyAgICA6IERyYXdp
bmdBcmVhUHJveHkoRHJhd2luZ0FyZWFUeXBlSW1wbCwgd2ViUGFnZVByb3h5KQorI2VuZGlmCiAg
ICAgLCBtX2N1cnJlbnRCYWNraW5nU3RvcmVTdGF0ZUlEKDApCiAgICAgLCBtX25leHRCYWNraW5n
U3RvcmVTdGF0ZUlEKDApCiAgICAgLCBtX2lzV2FpdGluZ0ZvckRpZFVwZGF0ZUJhY2tpbmdTdG9y
ZVN0YXRlKGZhbHNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0UHJveHkuY3BwCmluZGV4IGNhNTFiZDNhZTMxOGJkMDJkYTNkNDI2Y2YyYzk5NzM4OGQ5
MThmMzMuLmY3NmY2ZTU0ZjRiMTcxYzFkNmYwNTk0MDFjNjUwMmZmMTQzZWFjNzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5h
dGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5jcHAKQEAg
LTY1LDcgKzY1LDcgQEAgdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6Y29tbWl0
Q29vcmRpbmF0ZWRHcmFwaGljc1N0YXRlKGNvbnN0IENvb3JkaW4KICAgICB9KTsKIAogICAgIHVw
ZGF0ZVZpZXdwb3J0KCk7Ci0jaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQorI2lmIFVTRShD
T09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpCiAgICAgbV9kcmF3aW5nQXJlYVByb3h5
LT5wYWdlKCkuZGlkUmVuZGVyRnJhbWUoZ3JhcGhpY3NTdGF0ZS5jb250ZW50c1NpemUsIGdyYXBo
aWNzU3RhdGUuY292ZXJlZFJlY3QpOwogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhv
c3RQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaAppbmRleCAwNDY1YjY5ZmY5NDUxYWI4MWE5
ZGY1NTI4NDk5NDY5ZmMxN2JhNjg0Li5kNjlmYTE3YjE4NGY2ZGRmYTJhZGZkZDg5NmI3YTNiYWZi
ZjQzMjNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dFByb3h5LmgKQEAgLTIxLDcgKzIxLDcgQEAKICNpZm5kZWYgQ29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0UHJveHlfaAogI2RlZmluZSBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eV9oCiAKLSNp
ZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQorI2lmIFVTRShDT09SRElO
QVRFRF9HUkFQSElDUykKIAogI2luY2x1ZGUgIkNvb3JkaW5hdGVkR3JhcGhpY3NBcmd1bWVudENv
ZGVycy5oIgogI2luY2x1ZGUgIkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5oIgpAQCAtNjksNiAr
NjksNiBAQCBwcm90ZWN0ZWQ6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCi0jZW5kaWYgLy8g
VVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUykKKyNlbmRpZiAvLyBVU0UoQ09P
UkRJTkFURURfR1JBUEhJQ1MpCiAKICNlbmRpZiAvLyBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQ
cm94eV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuY3BwCmluZGV4
IDIwYTI1ZjYxZDJlZjY5ZmY5ZTY0MzgxNWU3YzQ0ZWQ1MGZjNjc3YmEuLjE3MTU2NTdiODE0ZmMw
NDliY2IyYWVlOWQ5YTgxMzNhZWU4ODMzNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1BhZ2VWaWV3
cG9ydENvbnRyb2xsZXIuY3BwCkBAIC0yMTUsMTEgKzIxNSwxMyBAQCB2b2lkIFBhZ2VWaWV3cG9y
dENvbnRyb2xsZXI6OnBhZ2VUcmFuc2l0aW9uVmlld3BvcnRSZWFkeSgpCiAgICAgICAgIGFwcGx5
U2NhbGVBZnRlclJlbmRlcmluZ0NvbnRlbnRzKGlubmVyQm91bmRlZFZpZXdwb3J0U2NhbGUoaW5p
dGlhbFNjYWxlKSk7CiAgICAgfQogCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJ
UFJPQ0VTUykKICAgICAvLyBBdCB0aGlzIHBvaW50IHdlIHNob3VsZCBhbHJlYWR5IGhhdmUgcmVj
ZWl2ZWQgdGhlIGZpcnN0IHZpZXdwb3J0IGFyZ3VtZW50cyBhbmQgdGhlIHJlcXVlc3RlZCBzY3Jv
bGwKICAgICAvLyBwb3NpdGlvbiBmb3IgdGhlIG5ld2x5IGxvYWRlZCBwYWdlIGFuZCBzZW50IG91
ciByZWFjdGlvbnMgdG8gdGhlIHdlYiBwcm9jZXNzLiBJdCdzIG5vdyBzYWZlIHRvIHRlbGwKICAg
ICAvLyB0aGUgd2ViIHByb2Nlc3MgdG8gc3RhcnQgcmVuZGVyaW5nIHRoZSBuZXcgcGFnZSBjb250
ZW50cyBhbmQgcG9zc2libHkgcmUtdXNlIHRoZSBjdXJyZW50IHRpbGVzLgogICAgIC8vIFRoaXMg
YXNzdW1lcyB0aGF0IGFsbCBtZXNzYWdlcyBoYXZlIGJlZW4gaGFuZGxlZCBpbiBvcmRlciBhbmQg
dGhhdCBub3RoaW5nIGhhcyBiZWVuIHB1c2hlZCBiYWNrIG9uIHRoZSBldmVudCBsb29wLgogICAg
IG1fd2ViUGFnZVByb3h5LT5jb21taXRQYWdlVHJhbnNpdGlvblZpZXdwb3J0KCk7CisjZW5kaWYK
IH0KIAogdm9pZCBQYWdlVmlld3BvcnRDb250cm9sbGVyOjpwYWdlRGlkUmVxdWVzdFNjcm9sbChj
b25zdCBJbnRQb2ludCYgY3NzUG9zaXRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJQYWdlUHJveHlDb29yZGluYXRlZEdyYXBo
aWNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dl
YlBhZ2VQcm94eUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwCmluZGV4IDA3YjE2NzE5MGU2MjZiZTFm
OGIxMWVmNGRhZjQ3M2E0MTE3YjY4NmEuLmFkNzNkMzY5ZjE2ZTAzOGM0ZWIxOTY2MGVjN2VjNjlk
YWNlZGU0ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRl
ZEdyYXBoaWNzL1dlYlBhZ2VQcm94eUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlBhZ2VQcm94eUNvb3Jk
aW5hdGVkR3JhcGhpY3MuY3BwCkBAIC0zNyw2ICszNyw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElD
U19NVUxUSVBST0NFU1MpCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZmluZFpvb21hYmxlQXJlYUZvclBv
aW50KGNvbnN0IEludFBvaW50JiBwb2ludCwgY29uc3QgSW50U2l6ZSYgYXJlYSkKIHsKICAgICBp
ZiAoIWlzVmFsaWQoKSkKQEAgLTQ5LDYgKzUwLDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZEZp
bmRab29tYWJsZUFyZWEoY29uc3QgSW50UG9pbnQmIHRhcmdldCwgY29uc3QgSW50UmVjdCYgYXIK
IHsKICAgICBtX3BhZ2VDbGllbnQuZGlkRmluZFpvb21hYmxlQXJlYSh0YXJnZXQsIGFyZWEpOwog
fQorI2VuZGlmCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuY3BwCmluZGV4
IGI2ZWY2Mzk2NTRmNzc3MzBiZDExMmM1NjE1MTZhMTdmZTgxM2UwYjcuLjM3NDdmYmJiNWQzYWUz
NWZmNmE5ZjRlZGU5ZTc2MmI0YjFhOGYxM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuY3BwCkBAIC01MTksNiAr
NTE5LDcgQEAgdm9pZCBXZWJWaWV3OjpkaWRDaGFuZ2VWaWV3cG9ydFByb3BlcnRpZXMoY29uc3Qg
V2ViQ29yZTo6Vmlld3BvcnRBdHRyaWJ1dGVzJiBhdHQKICAgICBtX2NsaWVudC5kaWRDaGFuZ2VW
aWV3cG9ydEF0dHJpYnV0ZXModGhpcywgYXR0cik7CiB9CiAKKyNpZiBVU0UoQ09PUkRJTkFURURf
R1JBUEhJQ1NfTVVMVElQUk9DRVNTKQogdm9pZCBXZWJWaWV3OjpwYWdlRGlkUmVxdWVzdFNjcm9s
bChjb25zdCBJbnRQb2ludCYgcG9zaXRpb24pCiB7CiAgICAgRmxvYXRQb2ludCB1aVBvc2l0aW9u
KHBvc2l0aW9uKTsKQEAgLTU0MSw2ICs1NDIsNyBAQCB2b2lkIFdlYlZpZXc6OmZpbmRab29tYWJs
ZUFyZWFGb3JQb2ludChjb25zdCBJbnRQb2ludCYgcG9pbnQsIGNvbnN0IEludFNpemUmIHNpegog
ewogICAgIG1fcGFnZS0+ZmluZFpvb21hYmxlQXJlYUZvclBvaW50KHRyYW5zZm9ybUZyb21TY2Vu
ZSgpLm1hcFBvaW50KHBvaW50KSwgdHJhbnNmb3JtRnJvbVNjZW5lKCkubWFwU2l6ZShzaXplKSk7
CiB9CisjZW5kaWYKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuaCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuaAppbmRleCBk
NDUzNzI0N2FiOTM3ZDFiNWY1ZjhjMmRmOGQ2NzBkYTVjMGM5ZDFkLi40ODExNGUwZDQ4ZGU5MzA3
MDRlNTc2ZTM5YWZkNTgxZDVlNTgyNmQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlldy5oCkBAIC05NCw3ICs5NCw5IEBA
IHB1YmxpYzoKICAgICBib29sIHJlcXVlc3RFeGl0RnVsbFNjcmVlbigpOwogI2VuZGlmCiAKKyNp
ZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQogICAgIHZvaWQgZmluZFpv
b21hYmxlQXJlYUZvclBvaW50KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiwgY29uc3QgV2ViQ29y
ZTo6SW50U2l6ZSYpOworI2VuZGlmCiAKICAgICAvLyBWaWV3IGNsaWVudC4KICAgICB2b2lkIGlu
aXRpYWxpemVDbGllbnQoY29uc3QgV0tWaWV3Q2xpZW50QmFzZSopOwpAQCAtMTQ3LDkgKzE0OSwx
MSBAQCBwcm90ZWN0ZWQ6CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ29tbWl0TG9hZEZvck1haW5G
cmFtZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBib29sIHVzZUN1c3RvbUNvbnRlbnRQcm92aWRl
cikgb3ZlcnJpZGU7CiAKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNT
KQogICAgIHZpcnR1YWwgdm9pZCBwYWdlRGlkUmVxdWVzdFNjcm9sbChjb25zdCBXZWJDb3JlOjpJ
bnRQb2ludCYpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBkaWRSZW5kZXJGcmFtZShjb25z
dCBXZWJDb3JlOjpJbnRTaXplJiBjb250ZW50c1NpemUsIGNvbnN0IFdlYkNvcmU6OkludFJlY3Qm
IGNvdmVyZWRSZWN0KSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgcGFnZVRyYW5zaXRpb25W
aWV3cG9ydFJlYWR5KCkgb3ZlcnJpZGU7CisjZW5kaWYKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRD
dXJzb3IoY29uc3QgV2ViQ29yZTo6Q3Vyc29yJikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lk
IHNldEN1cnNvckhpZGRlblVudGlsTW91c2VNb3Zlcyhib29sKSBvdmVycmlkZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggNTc3MDI3YTM1YmU2NzkyYjg2
NTZkNTUwMGFhNWU2ZTBmYjQ2NWY3OS4uNDNiNDZjMDM2ZmJhMjEwYjBjYmM2ZDI2ZmNmOWI3NjQ5
NDRhNGJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAg
LTE1NzcsMTYgKzE1NzcsNiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ29tbWl0TGF5ZXJUcmVl
KGNvbnN0IFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uJikKIH0KICNlbmRpZgogCi0jaWYgVVNF
KENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUykKLXZvaWQgV2ViUGFnZVByb3h5Ojpj
b21taXRQYWdlVHJhbnNpdGlvblZpZXdwb3J0KCkKLXsKLSAgICBpZiAoIWlzVmFsaWQoKSkKLSAg
ICAgICAgcmV0dXJuOwotCi0gICAgcHJvY2VzcygpLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkNv
bW1pdFBhZ2VUcmFuc2l0aW9uVmlld3BvcnQoKSwgbV9wYWdlSUQpOwotfQotI2VuZGlmCi0KICNp
ZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogdm9pZCBXZWJQYWdlUHJveHk6OmRyYWdFbnRlcmVkKERy
YWdEYXRhJiBkcmFnRGF0YSwgY29uc3QgU3RyaW5nJiBkcmFnU3RvcmFnZU5hbWUpCiB7CkBAIC0z
Nzk3LDYgKzM3ODcsMTMgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZFJlbmRlckZyYW1lKGNvbnN0
IFdlYkNvcmU6OkludFNpemUmIGNvbnRlbnRzU2l6ZSwgY29uc3QgV2UKICAgICBtX3BhZ2VDbGll
bnQuZGlkUmVuZGVyRnJhbWUoY29udGVudHNTaXplLCBjb3ZlcmVkUmVjdCk7CiB9CiAKK3ZvaWQg
V2ViUGFnZVByb3h5Ojpjb21taXRQYWdlVHJhbnNpdGlvblZpZXdwb3J0KCkKK3sKKyAgICBpZiAo
IWlzVmFsaWQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgcHJvY2VzcygpLnNlbmQoTWVzc2Fn
ZXM6OldlYlBhZ2U6OkNvbW1pdFBhZ2VUcmFuc2l0aW9uVmlld3BvcnQoKSwgbV9wYWdlSUQpOwor
fQogI2VuZGlmCiAKIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRDaGFuZ2VWaWV3cG9ydFByb3BlcnRp
ZXMoY29uc3QgVmlld3BvcnRBdHRyaWJ1dGVzJiBhdHRyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oCmluZGV4IDM4ZDNjOGVlYTk0YmU1Y2JkZWJlZDRjNGIwOTJhYjlhNWUx
ZDM1N2EuLjM1ZTkyZDgwZmUyZTJlODU1NjM1NzhkNTgyMTM4ODFiNWVlOTdkYWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTUyOSw2ICs1MjksNyBAQCBwdWJs
aWM6CiAKICNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQogICAgIHZv
aWQgZGlkUmVuZGVyRnJhbWUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgY29udGVudHNTaXplLCBj
b25zdCBXZWJDb3JlOjpJbnRSZWN0JiBjb3ZlcmVkUmVjdCk7CisgICAgdm9pZCBjb21taXRQYWdl
VHJhbnNpdGlvblZpZXdwb3J0KCk7CiAjZW5kaWYKICNpZiBQTEFURk9STShFRkwpCiAgICAgdm9p
ZCBzZXRUaGVtZVBhdGgoY29uc3QgU3RyaW5nJik7CkBAIC02MTAsMTAgKzYxMSw2IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHNldEJhY2tncm91bmRDb2xvcihjb25zdCBXZWJDb3JlOjpDb2xvciYgY29s
b3IpIHsgbV9iYWNrZ3JvdW5kQ29sb3IgPSBjb2xvcjsgfQogI2VuZGlmCiAKLSNpZiBVU0UoQ09P
UkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQotICAgIHZvaWQgY29tbWl0UGFnZVRyYW5z
aXRpb25WaWV3cG9ydCgpOwotI2VuZGlmCi0KICAgICB2b2lkIGhhbmRsZU1vdXNlRXZlbnQoY29u
c3QgTmF0aXZlV2ViTW91c2VFdmVudCYpOwogICAgIHZvaWQgaGFuZGxlV2hlZWxFdmVudChjb25z
dCBOYXRpdmVXZWJXaGVlbEV2ZW50Jik7CiAgICAgdm9pZCBoYW5kbGVLZXlib2FyZEV2ZW50KGNv
bnN0IE5hdGl2ZVdlYktleWJvYXJkRXZlbnQmKTsKQEAgLTg4MCw3ICs4NzcsNyBAQCBwdWJsaWM6
CiAKICAgICBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzIGNyZWF0aW9uUGFyYW1ldGVycygpOwog
Ci0jaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQ
SElDU19NVUxUSVBST0NFU1MpCiAgICAgdm9pZCBmaW5kWm9vbWFibGVBcmVhRm9yUG9pbnQoY29u
c3QgV2ViQ29yZTo6SW50UG9pbnQmLCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJik7CiAjZW5kaWYK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdB
cmVhLmNwcAppbmRleCBhZDI1NzlkYmQ3OTBkOGUzY2JjYTZkMzJkNTA5ODlhZTNlN2U4ZGYzLi5m
NzRlODAwMWIxN2YwZmI5NDc3MjdhMWM3ZWY5MDRjODExMjExOTZiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGlu
YXRlZERyYXdpbmdBcmVhLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhLmNwcApAQCAtNTYs
NyArNTYsMTEgQEAgQ29vcmRpbmF0ZWREcmF3aW5nQXJlYTo6fkNvb3JkaW5hdGVkRHJhd2luZ0Fy
ZWEoKQogfQogCiBDb29yZGluYXRlZERyYXdpbmdBcmVhOjpDb29yZGluYXRlZERyYXdpbmdBcmVh
KFdlYlBhZ2UmIHdlYlBhZ2UsIGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFt
ZXRlcnMpCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUykKICAgICA6
IERyYXdpbmdBcmVhKERyYXdpbmdBcmVhVHlwZUNvb3JkaW5hdGVkLCB3ZWJQYWdlKQorI2Vsc2UK
KyAgICA6IERyYXdpbmdBcmVhKERyYXdpbmdBcmVhVHlwZUltcGwsIHdlYlBhZ2UpCisjZW5kaWYK
ICAgICAsIG1fYmFja2luZ1N0b3JlU3RhdGVJRCgwKQogICAgICwgbV9pc1BhaW50aW5nRW5hYmxl
ZCh0cnVlKQogICAgICwgbV9pblVwZGF0ZUJhY2tpbmdTdG9yZVN0YXRlKGZhbHNlKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYS5oCmluZGV4
IGQ3MDUzNDYwMjMwMTRhNWRhMzU4ZjlkYTk1OGQ5Y2FhY2Q2ZDMyYmYuLjU0MTBjNDA1ZTg3Yjc1
ZWFjMjA1YWE0ZTU4M2IwMDExMzk4Zjg1ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJhd2luZ0Fy
ZWEuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhLmgKQEAgLTY4LDYgKzY4LDEwIEBAIHByaXZh
dGU6CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVDb29yZGluYXRlZExheWVyVHJlZUhvc3RN
ZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6TWVzc2FnZURlY29kZXImKTsKICNlbmRpZgog
CisjaWYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKSAmJiBQTEFURk9STShHVEspCisgICAgdmlydHVh
bCB2b2lkIHNldE5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZyh1aW50NjRfdCkgb3Zl
cnJpZGUgeyB9OworI2VuZGlmCisKICAgICB2aXJ0dWFsIHZvaWQgdmlld1N0YXRlRGlkQ2hhbmdl
KFdlYkNvcmU6OlZpZXdTdGF0ZTo6RmxhZ3MsIGJvb2wgLyogd2FudHNEaWRVcGRhdGVWaWV3U3Rh
dGUgKi8sIGNvbnN0IFZlY3Rvcjx1aW50NjRfdD4mIC8qIGNhbGxiYWNrSURzICovKSBvdmVycmlk
ZTsKICAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoVmlld092ZXJsYXlHcmFwaGljc0xheWVyKFdlYkNv
cmU6OkZyYW1lKiwgV2ViQ29yZTo6R3JhcGhpY3NMYXllciopIG92ZXJyaWRlOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9XZWJQYWdlQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJQYWdlQ29vcmRpbmF0ZWRHcmFwaGlj
cy5jcHAKaW5kZXggNmUzOTU2N2U5MGE1YjJmYjBhNzFlNzJlMGRhMjhkMjA2YjVkYjUzOS4uMzQ1
NjQ4YmFhZDIyMDdiYWVkOGVhNThkNDU2MThiOWVlNGRkZjA3MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViUGFnZUNv
b3JkaW5hdGVkR3JhcGhpY3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlBhZ2VDb29yZGluYXRlZEdyYXBoaWNzLmNwcApA
QCAtNDQsNiArNDQsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdl
YktpdCB7CiAKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQogdm9p
ZCBXZWJQYWdlOjpmaW5kWm9vbWFibGVBcmVhRm9yUG9pbnQoY29uc3QgSW50UG9pbnQmIHBvaW50
LCBjb25zdCBJbnRTaXplJiBhcmVhKQogewogICAgIFVOVVNFRF9QQVJBTShhcmVhKTsKQEAgLTg0
LDYgKzg1LDcgQEAgdm9pZCBXZWJQYWdlOjpmaW5kWm9vbWFibGVBcmVhRm9yUG9pbnQoY29uc3Qg
SW50UG9pbnQmIHBvaW50LCBjb25zdCBJbnRTaXplJiBhcmUKIAogICAgIHNlbmQoTWVzc2FnZXM6
OldlYlBhZ2VQcm94eTo6RGlkRmluZFpvb21hYmxlQXJlYShwb2ludCwgem9vbWFibGVBcmVhKSk7
CiB9CisjZW5kaWYKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKaW5kZXggYTIz
ZDhjMjQwNjIzMmEzODdlMGJjNTgyYmJkNGEzNDExYjYyNzJkZS4uNTEzOWQ5ZGJjM2U0M2U5NDVm
MTUwNDNkODk1NDkzZGJlNjIyMTdkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKQEAgLTUwLDcgKzUwLDExIEBAIERy
YXdpbmdBcmVhSW1wbDo6fkRyYXdpbmdBcmVhSW1wbCgpCiB9CiAKIERyYXdpbmdBcmVhSW1wbDo6
RHJhd2luZ0FyZWFJbXBsKFdlYlBhZ2UmIHdlYlBhZ2UsIGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBh
cmFtZXRlcnMmIHBhcmFtZXRlcnMpCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJ
UFJPQ0VTUykKKyAgICA6IERyYXdpbmdBcmVhKERyYXdpbmdBcmVhVHlwZUNvb3JkaW5hdGVkLCB3
ZWJQYWdlKQorI2Vsc2UKICAgICA6IERyYXdpbmdBcmVhKERyYXdpbmdBcmVhVHlwZUltcGwsIHdl
YlBhZ2UpCisjZW5kaWYKICAgICAsIG1fYmFja2luZ1N0b3JlU3RhdGVJRCgwKQogICAgICwgbV9p
c1BhaW50aW5nRW5hYmxlZCh0cnVlKQogICAgICwgbV9pblVwZGF0ZUJhY2tpbmdTdG9yZVN0YXRl
KGZhbHNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Ry
YXdpbmdBcmVhSW1wbC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdp
bmdBcmVhSW1wbC5oCmluZGV4IDk1ZjJhOTlkMzdmNTQ2ZDEzOTkyYjMxNmExZmE1ZjBlMzdlNjcz
NzAuLjk0ZGYzMWZhNmY4MzY1MzMwMmI0YjIwZTg2NzdjMzc3OTM3ZjUzNmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmgKQEAg
LTc0LDYgKzc0LDEwIEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHNldE5hdGl2ZVN1cmZh
Y2VIYW5kbGVGb3JDb21wb3NpdGluZyh1aW50NjRfdCkgb3ZlcnJpZGU7CiAjZW5kaWYKIAorI2lm
IFVTRShDT09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpCisgICAgdmlydHVhbCB2b2lk
IGRpZFJlY2VpdmVDb29yZGluYXRlZExheWVyVHJlZUhvc3RNZXNzYWdlKElQQzo6Q29ubmVjdGlv
biYsIElQQzo6TWVzc2FnZURlY29kZXImKSBvdmVycmlkZSB7IH07CisjZW5kaWYKKwogICAgIC8v
IElQQyBtZXNzYWdlIGhhbmRsZXJzLgogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVCYWNraW5nU3Rv
cmVTdGF0ZSh1aW50NjRfdCBiYWNraW5nU3RvcmVTdGF0ZUlELCBib29sIHJlc3BvbmRJbW1lZGlh
dGVseSwgZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3IsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmLCBj
b25zdCBXZWJDb3JlOjpJbnRTaXplJiBzY3JvbGxPZmZzZXQpIG92ZXJyaWRlOwogICAgIHZpcnR1
YWwgdm9pZCBkaWRVcGRhdGUoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmNwcAppbmRleCAwZjdjMjJlYzAxOTc5MTk1
ZjY4NTI0ZTc3Zjc3YWRjM2UzYmQ2NzZhLi5lYzY3MTYwOTk3NmZkNjA1YjFlY2M0YjYwZThkY2Vi
ZmY1MjdhYTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
TGF5ZXJUcmVlSG9zdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L0xheWVyVHJlZUhvc3QuY3BwCkBAIC00MCwxMCArNDAsMTAgQEAgbmFtZXNwYWNlIFdlYktpdCB7
CiAKIFBhc3NSZWZQdHI8TGF5ZXJUcmVlSG9zdD4gTGF5ZXJUcmVlSG9zdDo6Y3JlYXRlKFdlYlBh
Z2UqIHdlYlBhZ2UpCiB7Ci0jaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VT
UykKLSAgICByZXR1cm4gQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpjcmVhdGUod2ViUGFnZSk7
Ci0jZWxpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfVEhSRUFERUQpCisjaWYgVVNFKENPT1JE
SU5BVEVEX0dSQVBISUNTX1RIUkVBREVEKQogICAgIHJldHVybiBUaHJlYWRlZENvb3JkaW5hdGVk
TGF5ZXJUcmVlSG9zdDo6Y3JlYXRlKHdlYlBhZ2UpOworI2VsaWYgVVNFKENPT1JESU5BVEVEX0dS
QVBISUNTX01VTFRJUFJPQ0VTUykKKyAgICByZXR1cm4gQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0
OjpjcmVhdGUod2ViUGFnZSk7CiAjZWxpZiBQTEFURk9STShHVEspICYmIFVTRShURVhUVVJFX01B
UFBFUl9HTCkKICAgICByZXR1cm4gTGF5ZXJUcmVlSG9zdEd0azo6Y3JlYXRlKHdlYlBhZ2UpOwog
I2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApp
bmRleCBhYTIwZGM0YzdkODc0NDgwNzk5YWE3NjA0ZDBhMWU4NTVhMTkzNDY3Li4zNjY2OGRiYTNh
YTAzMzk4ZWQ1NWVjODhhZjk1MmQ5NDYyMWJjZWQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0xMjk5LDExICsxMjk5LDExIEBAIHZvaWQg
V2ViUGFnZTo6c2VuZFZpZXdwb3J0QXR0cmlidXRlc0NoYW5nZWQoKQogICAgIC8vIFRoaXMgYWxz
byB0YWtlcyBjYXJlIG9mIHRoZSByZWxheW91dC4KICAgICBzZXRGaXhlZExheW91dFNpemUocm91
bmRlZEludFNpemUoYXR0ci5sYXlvdXRTaXplKSk7CiAKLSNpZiBVU0UoQ09PUkRJTkFURURfR1JB
UEhJQ1NfTVVMVElQUk9DRVNTKQotICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlk
Q2hhbmdlVmlld3BvcnRQcm9wZXJ0aWVzKGF0dHIpKTsKLSNlbHNlCisjaWYgVVNFKENPT1JESU5B
VEVEX0dSQVBISUNTX1RIUkVBREVEKQogICAgIGlmIChtX2RyYXdpbmdBcmVhLT5sYXllclRyZWVI
b3N0KCkpCiAgICAgICAgIG1fZHJhd2luZ0FyZWEtPmxheWVyVHJlZUhvc3QoKS0+ZGlkQ2hhbmdl
Vmlld3BvcnRQcm9wZXJ0aWVzKGF0dHIpOworI2Vsc2UKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQ
YWdlUHJveHk6OkRpZENoYW5nZVZpZXdwb3J0UHJvcGVydGllcyhhdHRyKSk7CiAjZW5kaWYKIH0K
ICNlbmRpZgpAQCAtMTg1MSwxMCArMTg1MSwxMCBAQCB2b2lkIFdlYlBhZ2U6OnBhZ2VTdG9wcGVk
U2Nyb2xsaW5nKCkKICNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiB2b2lkIFdlYlBhZ2U6
OnBhZ2VEaWRSZXF1ZXN0U2Nyb2xsKGNvbnN0IEludFBvaW50JiBwb2ludCkKIHsKLSNpZiBVU0Uo
Q09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQotICAgIHNlbmQoTWVzc2FnZXM6Oldl
YlBhZ2VQcm94eTo6UGFnZURpZFJlcXVlc3RTY3JvbGwocG9pbnQpKTsKLSNlbGlmIFVTRShDT09S
RElOQVRFRF9HUkFQSElDU19USFJFQURFRCkKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1Nf
VEhSRUFERUQpCiAgICAgZHJhd2luZ0FyZWEoKS0+c2Nyb2xsKEludFJlY3QocG9pbnQsIEludFNp
emUoKSksIEludFNpemUoKSk7CisjZWxpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQ
Uk9DRVNTKQorICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6UGFnZURpZFJlcXVlc3RT
Y3JvbGwocG9pbnQpKTsKICNlbmRpZgogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCAzY2I2MjY2MzY3MGIwMzM0ZmQwNjQxNzEzMzkx
ZDQ4ZGQ1NjI3ODZkLi41YzRjOGJlMmE3YWIwOTE3ZmRjNGRlMzk2ZDNjYmY0YjUwZDk3NTA2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTU3Miw2
ICs1NzIsMTAgQEAgcHVibGljOgogICAgIHZvaWQgc2VuZFZpZXdwb3J0QXR0cmlidXRlc0NoYW5n
ZWQoKTsKICNlbmRpZgogCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VT
UykKKyAgICB2b2lkIGNvbW1pdFBhZ2VUcmFuc2l0aW9uVmlld3BvcnQoKTsKKyNlbmRpZgorCiAj
aWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCiAgICAgV2ViQ29udGV4dE1lbnUqIGNvbnRleHRNZW51
KCk7CiAgICAgV2ViQ29udGV4dE1lbnUqIGNvbnRleHRNZW51QXRQb2ludEluV2luZG93KGNvbnN0
IFdlYkNvcmU6OkludFBvaW50Jik7CkBAIC02MTAsMTAgKzYxNCw2IEBAIHB1YmxpYzoKICAgICB2
b2lkIHNldFRoZW1lUGF0aChjb25zdCBTdHJpbmcmKTsKICNlbmRpZgogCi0jaWYgVVNFKENPT1JE
SU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUykKLSAgICB2b2lkIGNvbW1pdFBhZ2VUcmFuc2l0
aW9uVmlld3BvcnQoKTsKLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oR1RLKQogICAgIHZvaWQgc2V0
Q29tcG9zaXRpb24oY29uc3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBWZWN0b3I8V2ViQ29yZTo6Q29t
cG9zaXRpb25VbmRlcmxpbmU+JiB1bmRlcmxpbmVzLCB1aW50NjRfdCBzZWxlY3Rpb25TdGFydCwg
dWludDY0X3Qgc2VsZWN0aW9uRW5kLCB1aW50NjRfdCByZXBsYWNlbWVudFJhbmdlU3RhcnQsIHVp
bnQ2NF90IHJlcGxhY2VtZW50UmFuZ2VMZW5ndGgpOwogICAgIHZvaWQgY29uZmlybUNvbXBvc2l0
aW9uKGNvbnN0IFN0cmluZyYgdGV4dCwgaW50NjRfdCBzZWxlY3Rpb25TdGFydCwgaW50NjRfdCBz
ZWxlY3Rpb25MZW5ndGgpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>