<?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>63062</bug_id>
          
          <creation_ts>2011-06-21 04:32:17 -0700</creation_ts>
          <short_desc>Add capture attribute for HTML Media Capture</short_desc>
          <delta_ts>2012-07-20 00:03:42 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>85958</dup_id>
          
          <bug_file_loc>http://www.w3.org/TR/2011/WD-html-media-capture-20110414/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Jongseok Yang">js45.yang</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>anssi.kostiainen</cc>
    
    <cc>apple.com</cc>
    
    <cc>benm</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dinu.jacob</cc>
    
    <cc>donggwan.kim</cc>
    
    <cc>dwim79</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>eric</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>kasthuri.n-s</cc>
    
    <cc>kennyluck</cc>
    
    <cc>kihong.kwon</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>mike</cc>
    
    <cc>myakura.web</cc>
    
    <cc>ojan</cc>
    
    <cc>rakuco</cc>
    
    <cc>rcombs</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>sangseok.lim</cc>
    
    <cc>s.choi</cc>
    
    <cc>sh9.choi</cc>
    
    <cc>tkent</cc>
    
    <cc>vestbo</cc>
    
    <cc>vimff0</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>wonsuk11.lee</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>yael</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>424383</commentid>
    <comment_count>0</comment_count>
    <who name="Jongseok Yang">js45.yang</who>
    <bug_when>2011-06-21 04:32:17 -0700</bug_when>
    <thetext>HTML Media Capture is the HTML Form Based specification that allows the user to take a picture, record a sound file, or record a video like  the file picker interface.
The &quot;capture&quot; attribute should be added for the feature. 
Webkit should check the attribute and execute the proper application or interface.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424400</commentid>
    <comment_count>1</comment_count>
      <attachid>97971</attachid>
    <who name="Jongseok Yang">js45.yang</who>
    <bug_when>2011-06-21 05:32:44 -0700</bug_when>
    <thetext>Created attachment 97971
add capture attribute and functions to get the attribute from FileChooser</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425002</commentid>
    <comment_count>2</comment_count>
    <who name="Wonsuk Lee">wonsuk11.lee</who>
    <bug_when>2011-06-21 21:21:59 -0700</bug_when>
    <thetext>I think this is duplicated with Bug 58184(Add support for HTML media capture). So it should be merged to one bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425005</commentid>
    <comment_count>3</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-06-21 21:28:30 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; I think this is duplicated with Bug 58184(Add support for HTML media capture). So it should be merged to one bug.

I add a comment regarding this issue. Let&apos;s wait for his response.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425007</commentid>
    <comment_count>4</comment_count>
      <attachid>97971</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-06-21 21:32:44 -0700</bug_when>
    <thetext>Comment on attachment 97971
add capture attribute and functions to get the attribute from FileChooser

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

I&apos;m wondering if media capture feature can work on this patch.

&gt; Source/WebCore/ChangeLog:16
&gt; +        No new tests.

If you don&apos;t have test cases, remove above line or add the reason why your patch doesn&apos;t have test case.

&gt; Source/WebCore/html/HTMLInputElement.cpp:1235
&gt; +#if ENABLE(MEDIA_CAPTURE)

IMO, you have to define disabled ENABLE_MEDIA_CAPTURE. And also, this feature can be adjusted to all ports. Thus, you SHOULD add the macro to configuration files of all ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425008</commentid>
    <comment_count>5</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-06-21 21:33:22 -0700</bug_when>
    <thetext>CC&apos;ing Rodger Combs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425020</commentid>
    <comment_count>6</comment_count>
      <attachid>97971</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-06-21 22:13:04 -0700</bug_when>
    <thetext>Comment on attachment 97971
add capture attribute and functions to get the attribute from FileChooser

I don&apos;t think it makes sense for this to go through the open panel interface.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425052</commentid>
    <comment_count>7</comment_count>
    <who name="Jongseok Yang">js45.yang</who>
    <bug_when>2011-06-21 23:54:02 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 97971 [details])
&gt; I don&apos;t think it makes sense for this to go through the open panel interface.

The capture attribute indicates which source the file picker interface should preferably present to the user by default. I think that it means the user can change the source from the open panel.
You check the use case from &quot;A. User Interface Examples&quot; in http://www.w3.org/TR/2011/WD-html-media-capture-20110414/

The operation for HTML Media Capture is same as open panel except that the capture attribute should be check in open panel operation.
So, I think that the patch is very simple implementation for HTML Media Capture.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425117</commentid>
    <comment_count>8</comment_count>
      <attachid>98147</attachid>
    <who name="Jongseok Yang">js45.yang</who>
    <bug_when>2011-06-22 03:18:36 -0700</bug_when>
    <thetext>Created attachment 98147
Patch v2 : fix &quot;no new tests&quot;, remove macro</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425939</commentid>
    <comment_count>9</comment_count>
      <attachid>98147</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-06-22 21:20:59 -0700</bug_when>
    <thetext>Comment on attachment 98147
Patch v2 : fix &quot;no new tests&quot;, remove macro

I think my old comment still holds. Even if the API for this feature is on &lt;input type=file&gt;, I see no reason for the implementation to go through the FileChooser.  I would much rather see a new dedicated &quot;capture&quot; chooser, and new chrome client calls.  It should also not use RenderFileUploadControl.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425971</commentid>
    <comment_count>10</comment_count>
    <who name="Jongseok Yang">js45.yang</who>
    <bug_when>2011-06-22 23:10:10 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 98147 [details])
&gt; I think my old comment still holds. Even if the API for this feature is on &lt;input type=file&gt;, I see no reason for the implementation to go through the FileChooser.  I would much rather see a new dedicated &quot;capture&quot; chooser, and new chrome client calls.  It should also not use RenderFileUploadControl.

Thanks for your feedback.

Could you explain the reason for your proposal?

I thought that using the original logic (FileChooser, RenderFileUploadControl) was the advantage because I thought that there was no notable difference except executing camera, camcorder or voice recorder.

I&apos;d like to know what the point overlooked.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>426147</commentid>
    <comment_count>11</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-06-23 07:14:38 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; (From update of attachment 98147 [details] [details])
&gt; &gt; I think my old comment still holds. Even if the API for this feature is on &lt;input type=file&gt;, I see no reason for the implementation to go through the FileChooser.  I would much rather see a new dedicated &quot;capture&quot; chooser, and new chrome client calls.  It should also not use RenderFileUploadControl.
&gt; 
&gt; Thanks for your feedback.
&gt; 
&gt; Could you explain the reason for your proposal?
&gt; 
&gt; I thought that using the original logic (FileChooser, RenderFileUploadControl) was the advantage because I thought that there was no notable difference except executing camera, camcorder or voice recorder.

My objection is that the difference between choosing a file and using a camera is a not a small one and the implementation should reflect that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>426201</commentid>
    <comment_count>12</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-06-23 08:28:13 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; 
&gt; &gt; Thanks for your feedback.
&gt; &gt; 
&gt; &gt; Could you explain the reason for your proposal?
&gt; &gt; 
&gt; &gt; I thought that using the original logic (FileChooser, RenderFileUploadControl) was the advantage because I thought that there was no notable difference except executing camera, camcorder or voice recorder.
&gt; 
&gt; My objection is that the difference between choosing a file and using a camera is a not a small one and the implementation should reflect that.

I agree with Sam. While some platforms may want to present a simplistic UI like the mockup shown in http://www.w3.org/TR/2011/WD-html-media-capture-20110414/, I suspect that many will require very different UI for file, camera, and microphone access. Lumping everything into the same classes will make this more difficult and messy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>426206</commentid>
    <comment_count>13</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-06-23 08:44:31 -0700</bug_when>
    <thetext>Listen to the Elders!

BTW, I completely reworked FileChooser stuff since you posted this patch, which should make it easier for you to add new type of a chooser.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>426616</commentid>
    <comment_count>14</comment_count>
    <who name="Ridley Combs">rcombs</who>
    <bug_when>2011-06-23 16:45:10 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; (In reply to comment #9)
&gt; &gt; &gt; (From update of attachment 98147 [details] [details] [details])
&gt; &gt; &gt; I think my old comment still holds. Even if the API for this feature is on &lt;input type=file&gt;, I see no reason for the implementation to go through the FileChooser.  I would much rather see a new dedicated &quot;capture&quot; chooser, and new chrome client calls.  It should also not use RenderFileUploadControl.
&gt; &gt; 
&gt; &gt; Thanks for your feedback.
&gt; &gt; 
&gt; &gt; Could you explain the reason for your proposal?
&gt; &gt; 
&gt; &gt; I thought that using the original logic (FileChooser, RenderFileUploadControl) was the advantage because I thought that there was no notable difference except executing camera, camcorder or voice recorder.
&gt; 
&gt; My objection is that the difference between choosing a file and using a camera is a not a small one and the implementation should reflect that.

I agree that the difference between using a camera and choosing a file is a large change that should be noticeable and easily usable, both should definitely be usable from the same element. I don&apos;t think &quot;File Upload&quot; is necessarily the correct text to display in the window; perhaps &quot;Media Upload&quot; or &quot;Audio|Video|Image Upload&quot; (depending on the media type requested). As for the UI to choose between use of a file and use of a capture device, I suggest that before displaying a file chooser, a dialog of some sort should appear that asks the user where they want to get the requested media from: the filesystem, or a capture device. I think this dialog should list all available options (the filesystem and EACH INDIVIDUAL CAPTURE DEVICE that can be used). This should be bypassed when no capture attribute is specified. The dialog text could be something along the lines of this: &quot;The page at www.example.com has requested that you upload a media file. Which source would you like to upload this file from? [Hard Disk], [Canon HD-AV470], [Sony Capture-Card-530] [Cancel]&quot; Any takers?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>426758</commentid>
    <comment_count>15</comment_count>
    <who name="Jongseok Yang">js45.yang</who>
    <bug_when>2011-06-24 00:03:47 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #11)
&gt; &gt; (In reply to comment #10)
&gt; &gt; &gt; 
&gt; &gt; &gt; Thanks for your feedback.
&gt; &gt; &gt; 
&gt; &gt; &gt; Could you explain the reason for your proposal?
&gt; &gt; &gt; 
&gt; &gt; &gt; I thought that using the original logic (FileChooser, RenderFileUploadControl) was the advantage because I thought that there was no notable difference except executing camera, camcorder or voice recorder.
&gt; &gt; 
&gt; &gt; My objection is that the difference between choosing a file and using a camera is a not a small one and the implementation should reflect that.
&gt; 
&gt; I agree with Sam. While some platforms may want to present a simplistic UI like the mockup shown in http://www.w3.org/TR/2011/WD-html-media-capture-20110414/, I suspect that many will require very different UI for file, camera, and microphone access. Lumping everything into the same classes will make this more difficult and messy.

Thanks for your interest in my patch.
Actually, I had no plan for more modification. of FileChooser, RenderFileUploadControl. The patch was just to get &quot;capture&quot; attribute.
I did not think that any more patch for &quot;WebCore&quot; were needed just to launch a camera interface. I thought that the next patch for it was just the implementation for each port. So, I could not detect that the patch was more difficult and messy.

I&apos;ll trying to find out new implementation to accept your proposal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>426761</commentid>
    <comment_count>16</comment_count>
    <who name="Jongseok Yang">js45.yang</who>
    <bug_when>2011-06-24 00:10:29 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (In reply to comment #11)
&gt; &gt; (In reply to comment #10)
&gt; &gt; &gt; (In reply to comment #9)
&gt; &gt; &gt; &gt; (From update of attachment 98147 [details] [details] [details] [details])
&gt; &gt; &gt; &gt; I think my old comment still holds. Even if the API for this feature is on &lt;input type=file&gt;, I see no reason for the implementation to go through the FileChooser.  I would much rather see a new dedicated &quot;capture&quot; chooser, and new chrome client calls.  It should also not use RenderFileUploadControl.
&gt; &gt; &gt; 
&gt; &gt; &gt; Thanks for your feedback.
&gt; &gt; &gt; 
&gt; &gt; &gt; Could you explain the reason for your proposal?
&gt; &gt; &gt; 
&gt; &gt; &gt; I thought that using the original logic (FileChooser, RenderFileUploadControl) was the advantage because I thought that there was no notable difference except executing camera, camcorder or voice recorder.
&gt; &gt; 
&gt; &gt; My objection is that the difference between choosing a file and using a camera is a not a small one and the implementation should reflect that.
&gt; 
&gt; I agree that the difference between using a camera and choosing a file is a large change that should be noticeable and easily usable, both should definitely be usable from the same element. I don&apos;t think &quot;File Upload&quot; is necessarily the correct text to display in the window; perhaps &quot;Media Upload&quot; or &quot;Audio|Video|Image Upload&quot; (depending on the media type requested). As for the UI to choose between use of a file and use of a capture device, I suggest that before displaying a file chooser, a dialog of some sort should appear that asks the user where they want to get the requested media from: the filesystem, or a capture device. I think this dialog should list all available options (the filesystem and EACH INDIVIDUAL CAPTURE DEVICE that can be used). This should be bypassed when no capture attribute is specified. The dialog text could be something along the lines of this: &quot;The page at www.example.com has requested that you upload a media file. Which source would you like to upload this file from? [Hard Disk], [Canon HD-AV470], [Sony Capture-Card-530] [Cancel]&quot; Any takers?

That good idea. 
I thought that your proposal could be implemented within each port and it&apos;s just the implementation choice of each port. Also the display text can be changed by the implementation of each port.

But, I&apos;ll trying to find out new implementation to accept reviewers&apos; proposal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>426788</commentid>
    <comment_count>17</comment_count>
    <who name="Wonsuk Lee">wonsuk11.lee</who>
    <bug_when>2011-06-24 01:35:42 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; (In reply to comment #12)
&gt; &gt; (In reply to comment #11)
&gt; &gt; &gt; (In reply to comment #10)
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Thanks for your feedback.
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Could you explain the reason for your proposal?
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; I thought that using the original logic (FileChooser, RenderFileUploadControl) was the advantage because I thought that there was no notable difference except executing camera, camcorder or voice recorder.
&gt; &gt; &gt; 
&gt; &gt; &gt; My objection is that the difference between choosing a file and using a camera is a not a small one and the implementation should reflect that.
&gt; &gt; 
&gt; &gt; I agree with Sam. While some platforms may want to present a simplistic UI like the mockup shown in http://www.w3.org/TR/2011/WD-html-media-capture-20110414/, I suspect that many will require very different UI for file, camera, and microphone access. Lumping everything into the same classes will make this more difficult and messy.
&gt; 
&gt; Thanks for your interest in my patch.
&gt; Actually, I had no plan for more modification. of FileChooser, RenderFileUploadControl. The patch was just to get &quot;capture&quot; attribute.
&gt; I did not think that any more patch for &quot;WebCore&quot; were needed just to launch a camera interface. I thought that the next patch for it was just the implementation for each port. So, I could not detect that the patch was more difficult and messy.
&gt; 
&gt; I&apos;ll trying to find out new implementation to accept your proposal.

For the clarification, Do you mean current version of WebCore is ready to support W3C HTML Media Capture spec ?? Only remaining stuff is related with the port layer. right?
(In reply to comment #15)
&gt; (In reply to comment #12)
&gt; &gt; (In reply to comment #11)
&gt; &gt; &gt; (In reply to comment #10)
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Thanks for your feedback.
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Could you explain the reason for your proposal?
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; I thought that using the original logic (FileChooser, RenderFileUploadControl) was the advantage because I thought that there was no notable difference except executing camera, camcorder or voice recorder.
&gt; &gt; &gt; 
&gt; &gt; &gt; My objection is that the difference between choosing a file and using a camera is a not a small one and the implementation should reflect that.
&gt; &gt; 
&gt; &gt; I agree with Sam. While some platforms may want to present a simplistic UI like the mockup shown in http://www.w3.org/TR/2011/WD-html-media-capture-20110414/, I suspect that many will require very different UI for file, camera, and microphone access. Lumping everything into the same classes will make this more difficult and messy.
&gt; 
&gt; Thanks for your interest in my patch.
&gt; Actually, I had no plan for more modification. of FileChooser, RenderFileUploadControl. The patch was just to get &quot;capture&quot; attribute.
&gt; I did not think that any more patch for &quot;WebCore&quot; were needed just to launch a camera interface. I thought that the next patch for it was just the implementation for each port. So, I could not detect that the patch was more difficult and messy.
&gt; 
&gt; I&apos;ll trying to find out new implementation to accept your proposal.

For the clarification, do you mean current version of WebCore is ready to support W3C HTML Media Capture spec ?? And only remaining stuff is related with the port layer. right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>426793</commentid>
    <comment_count>18</comment_count>
    <who name="Jongseok Yang">js45.yang</who>
    <bug_when>2011-06-24 01:57:51 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (In reply to comment #15)
&gt; &gt; (In reply to comment #12)
&gt; &gt; &gt; (In reply to comment #11)
&gt; &gt; &gt; &gt; (In reply to comment #10)
&gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; Thanks for your feedback.
&gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; Could you explain the reason for your proposal?
&gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; I thought that using the original logic (FileChooser, RenderFileUploadControl) was the advantage because I thought that there was no notable difference except executing camera, camcorder or voice recorder.
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; My objection is that the difference between choosing a file and using a camera is a not a small one and the implementation should reflect that.
&gt; &gt; &gt; 
&gt; &gt; &gt; I agree with Sam. While some platforms may want to present a simplistic UI like the mockup shown in http://www.w3.org/TR/2011/WD-html-media-capture-20110414/, I suspect that many will require very different UI for file, camera, and microphone access. Lumping everything into the same classes will make this more difficult and messy.
&gt; &gt; 
&gt; &gt; Thanks for your interest in my patch.
&gt; &gt; Actually, I had no plan for more modification. of FileChooser, RenderFileUploadControl. The patch was just to get &quot;capture&quot; attribute.
&gt; &gt; I did not think that any more patch for &quot;WebCore&quot; were needed just to launch a camera interface. I thought that the next patch for it was just the implementation for each port. So, I could not detect that the patch was more difficult and messy.
&gt; &gt; 
&gt; &gt; I&apos;ll trying to find out new implementation to accept your proposal.
&gt; 
&gt; For the clarification, Do you mean current version of WebCore is ready to support W3C HTML Media Capture spec ?? Only remaining stuff is related with the port layer. right?
&gt; (In reply to comment #15)
&gt; &gt; (In reply to comment #12)
&gt; &gt; &gt; (In reply to comment #11)
&gt; &gt; &gt; &gt; (In reply to comment #10)
&gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; Thanks for your feedback.
&gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; Could you explain the reason for your proposal?
&gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; I thought that using the original logic (FileChooser, RenderFileUploadControl) was the advantage because I thought that there was no notable difference except executing camera, camcorder or voice recorder.
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; My objection is that the difference between choosing a file and using a camera is a not a small one and the implementation should reflect that.
&gt; &gt; &gt; 
&gt; &gt; &gt; I agree with Sam. While some platforms may want to present a simplistic UI like the mockup shown in http://www.w3.org/TR/2011/WD-html-media-capture-20110414/, I suspect that many will require very different UI for file, camera, and microphone access. Lumping everything into the same classes will make this more difficult and messy.
&gt; &gt; 
&gt; &gt; Thanks for your interest in my patch.
&gt; &gt; Actually, I had no plan for more modification. of FileChooser, RenderFileUploadControl. The patch was just to get &quot;capture&quot; attribute.
&gt; &gt; I did not think that any more patch for &quot;WebCore&quot; were needed just to launch a camera interface. I thought that the next patch for it was just the implementation for each port. So, I could not detect that the patch was more difficult and messy.
&gt; &gt; 
&gt; &gt; I&apos;ll trying to find out new implementation to accept your proposal.
&gt; 
&gt; For the clarification, do you mean current version of WebCore is ready to support W3C HTML Media Capture spec ?? And only remaining stuff is related with the port layer. right?

I thought that it&apos;s right because I thought that it&apos;s just the implementation issue for each port and the &quot;capture&quot; attribute was optional from the below statement of HTML Media Capture spec. 
&quot;If an input element in the File Upload state [HTML5] contains accept attribute with values image/*, audio/*, or video/*, the user agent can invoke a file picker that allows respectively the user to take a picture, record a sound file, or record a video in addition to selecting an existing file from the file system.&quot;

But, it&apos;s just my idea and I should need new implementation to accept reviewers&apos; proposal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>426795</commentid>
    <comment_count>19</comment_count>
    <who name="Jongseok Yang">js45.yang</who>
    <bug_when>2011-06-24 02:07:24 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; (In reply to comment #17)
&gt; &gt; (In reply to comment #15)
&gt; &gt; &gt; (In reply to comment #12)
&gt; &gt; &gt; &gt; (In reply to comment #11)
&gt; &gt; &gt; &gt; &gt; (In reply to comment #10)
&gt; &gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; &gt; Thanks for your feedback.
&gt; &gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; &gt; Could you explain the reason for your proposal?
&gt; &gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; &gt; I thought that using the original logic (FileChooser, RenderFileUploadControl) was the advantage because I thought that there was no notable difference except executing camera, camcorder or voice recorder.
&gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; My objection is that the difference between choosing a file and using a camera is a not a small one and the implementation should reflect that.
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; I agree with Sam. While some platforms may want to present a simplistic UI like the mockup shown in http://www.w3.org/TR/2011/WD-html-media-capture-20110414/, I suspect that many will require very different UI for file, camera, and microphone access. Lumping everything into the same classes will make this more difficult and messy.
&gt; &gt; &gt; 
&gt; &gt; &gt; Thanks for your interest in my patch.
&gt; &gt; &gt; Actually, I had no plan for more modification. of FileChooser, RenderFileUploadControl. The patch was just to get &quot;capture&quot; attribute.
&gt; &gt; &gt; I did not think that any more patch for &quot;WebCore&quot; were needed just to launch a camera interface. I thought that the next patch for it was just the implementation for each port. So, I could not detect that the patch was more difficult and messy.
&gt; &gt; &gt; 
&gt; &gt; &gt; I&apos;ll trying to find out new implementation to accept your proposal.
&gt; &gt; 
&gt; &gt; For the clarification, Do you mean current version of WebCore is ready to support W3C HTML Media Capture spec ?? Only remaining stuff is related with the port layer. right?
&gt; &gt; (In reply to comment #15)
&gt; &gt; &gt; (In reply to comment #12)
&gt; &gt; &gt; &gt; (In reply to comment #11)
&gt; &gt; &gt; &gt; &gt; (In reply to comment #10)
&gt; &gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; &gt; Thanks for your feedback.
&gt; &gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; &gt; Could you explain the reason for your proposal?
&gt; &gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; &gt; I thought that using the original logic (FileChooser, RenderFileUploadControl) was the advantage because I thought that there was no notable difference except executing camera, camcorder or voice recorder.
&gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; My objection is that the difference between choosing a file and using a camera is a not a small one and the implementation should reflect that.
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; I agree with Sam. While some platforms may want to present a simplistic UI like the mockup shown in http://www.w3.org/TR/2011/WD-html-media-capture-20110414/, I suspect that many will require very different UI for file, camera, and microphone access. Lumping everything into the same classes will make this more difficult and messy.
&gt; &gt; &gt; 
&gt; &gt; &gt; Thanks for your interest in my patch.
&gt; &gt; &gt; Actually, I had no plan for more modification. of FileChooser, RenderFileUploadControl. The patch was just to get &quot;capture&quot; attribute.
&gt; &gt; &gt; I did not think that any more patch for &quot;WebCore&quot; were needed just to launch a camera interface. I thought that the next patch for it was just the implementation for each port. So, I could not detect that the patch was more difficult and messy.
&gt; &gt; &gt; 
&gt; &gt; &gt; I&apos;ll trying to find out new implementation to accept your proposal.
&gt; &gt; 
&gt; &gt; For the clarification, do you mean current version of WebCore is ready to support W3C HTML Media Capture spec ?? And only remaining stuff is related with the port layer. right?
&gt; 
&gt; I thought that it&apos;s right because I thought that it&apos;s just the implementation issue for each port and the &quot;capture&quot; attribute was optional from the below statement of HTML Media Capture spec. 
&gt; &quot;If an input element in the File Upload state [HTML5] contains accept attribute with values image/*, audio/*, or video/*, the user agent can invoke a file picker that allows respectively the user to take a picture, record a sound file, or record a video in addition to selecting an existing file from the file system.&quot;
&gt; 
&gt; But, it&apos;s just my idea and I should need new implementation to accept reviewers&apos; proposal.

For the clarification, it&apos;s just to launch camera.
MediaFileData should be implemented to support HTML Media Capture spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>535006</commentid>
    <comment_count>20</comment_count>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2012-01-12 11:33:45 -0800</bug_when>
    <thetext>Hey guys, I&apos;m interested in reviving this. As there hasn&apos;t been any update for six months are you happy if I grab the bug Jongseok Yang?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>535578</commentid>
    <comment_count>21</comment_count>
    <who name="Jongseok Yang">js45.yang</who>
    <bug_when>2012-01-13 04:05:18 -0800</bug_when>
    <thetext>(In reply to comment #20)
&gt; Hey guys, I&apos;m interested in reviving this. As there hasn&apos;t been any update for six months are you happy if I grab the bug Jongseok Yang?

I&apos;m sorry that I have not been updated this bug.
I&apos;ll upload new patch next week. Just when it never be acceptable, I&apos;ll be happy for you to grab this bug.

And I think that HTML Media Capture has two independent implementation.
One is just for &quot;capture&quot; attribute. The other is the WebIDL implementation for getFormatData.

My new patch will be just for &quot;capture&quot; attribute.
For WebIDL for getFormatData, I&apos;ll make new bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539211</commentid>
    <comment_count>22</comment_count>
      <attachid>123233</attachid>
    <who name="Jongseok Yang">js45.yang</who>
    <bug_when>2012-01-19 18:15:00 -0800</bug_when>
    <thetext>Created attachment 123233
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539256</commentid>
    <comment_count>23</comment_count>
      <attachid>123245</attachid>
    <who name="Jongseok Yang">js45.yang</who>
    <bug_when>2012-01-19 20:08:31 -0800</bug_when>
    <thetext>Created attachment 123245
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539268</commentid>
    <comment_count>24</comment_count>
      <attachid>123245</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-01-19 21:19:39 -0800</bug_when>
    <thetext>Comment on attachment 123245
Patch

Attachment 123245 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/11127328</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539281</commentid>
    <comment_count>25</comment_count>
      <attachid>123253</attachid>
    <who name="Jongseok Yang">js45.yang</who>
    <bug_when>2012-01-19 22:38:34 -0800</bug_when>
    <thetext>Created attachment 123253
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549870</commentid>
    <comment_count>26</comment_count>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2012-02-06 03:02:36 -0800</bug_when>
    <thetext>Thanks for the new patch Jongseok. I&apos;m not a reviewer, but FWIW I don&apos;t think the patch addresses the previous review comments.

I think it&apos;d be best to follow the previous review advice and create a new Capture chooser that inherits from FileChooser and adds the capture attribute value.

Then add a new method on Chrome[Client] to start a capture panel passing in the capture attribute - it can be called from FileInputType at the same place runOpenPanel is called - we determine which one to call based on whether a capture attribute is set or not. Then each port can handle the runCapturePanel as they see fit (which may be very similar to what they do in runOpenPanel, but might not too).

What do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553913</commentid>
    <comment_count>27</comment_count>
    <who name="Jongseok Yang">js45.yang</who>
    <bug_when>2012-02-10 00:32:17 -0800</bug_when>
    <thetext>(In reply to comment #26)
&gt; Thanks for the new patch Jongseok. I&apos;m not a reviewer, but FWIW I don&apos;t think the patch addresses the previous review comments.
&gt; 
&gt; I think it&apos;d be best to follow the previous review advice and create a new Capture chooser that inherits from FileChooser and adds the capture attribute value.
&gt; 
&gt; Then add a new method on Chrome[Client] to start a capture panel passing in the capture attribute - it can be called from FileInputType at the same place runOpenPanel is called - we determine which one to call based on whether a capture attribute is set or not. Then each port can handle the runCapturePanel as they see fit (which may be very similar to what they do in runOpenPanel, but might not too).
&gt; 
&gt; What do you think?


Thanks for your review. 
I have implemented it to accept you. I&apos;ll upload new patch next week after making up for the week points.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559052</commentid>
    <comment_count>28</comment_count>
      <attachid>127553</attachid>
    <who name="Jongseok Yang">js45.yang</who>
    <bug_when>2012-02-17 02:04:49 -0800</bug_when>
    <thetext>Created attachment 127553
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559114</commentid>
    <comment_count>29</comment_count>
    <who name="Jongseok Yang">js45.yang</who>
    <bug_when>2012-02-17 03:44:44 -0800</bug_when>
    <thetext>
I uploaded new patch. Could you please review that?

I tried to reflect Ben Murdoch&apos;s review. I created new chooser &quot;MediaCaptureChooser&quot; inheriting from FileChooser and add new method &quot;runCapturePanel&quot; to launch a capture panel.

However, I did not create new renderer because I think input element for Media Capture should use the same renderer as input element with file type. If it is not acceptable, I&apos;ll try to create new renderer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559134</commentid>
    <comment_count>30</comment_count>
      <attachid>127553</attachid>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2012-02-17 05:18:55 -0800</bug_when>
    <thetext>Comment on attachment 127553
Patch

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

Thanks for the latest patch Jongseok! This looks closer to me to what the original reviewers were looking for. I am not a reviewer so cannot formally review the patch, but I have a few comments and will defer back to the original reviewers for their thoughts. Sam, would you mind taking another look at this?

Cheers, Ben

&gt; Source/WebCore/platform/FileChooser.cpp:64
&gt; +    return static_cast&lt;MediaCaptureChooser*&gt;(m_chooser.get());

Don&apos;t think the static_cast is needed?

&gt; Source/WebCore/platform/FileChooser.cpp:73
&gt; +        for (Vector&lt;String&gt;::const_iterator iterator = input-&gt;acceptMIMETypes().begin(); iterator != input-&gt;acceptMIMETypes().end(); ++iterator)

Could this be replaced with something like:
if (MIMETypeRegistry::isSupportCaptureType(&quot;image/*&quot;) &amp;&amp; input-&gt;acceptMIMETypes().contains(&quot;image/*)) ?

&gt; Source/WebCore/platform/FileChooser.h:44
&gt; +#endif

Maybe merge these two #ifdef blocks?

&gt; Source/WebCore/platform/FileChooser.h:51
&gt; +    Microphone,

These should probably be in alphabetical order.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559151</commentid>
    <comment_count>31</comment_count>
    <who name="Jongseok Yang">js45.yang</who>
    <bug_when>2012-02-17 06:13:59 -0800</bug_when>
    <thetext>(In reply to comment #30)

Thank you for your review. It was a good help in my patch. 

I have some question about your comment. Could you please give me an answer?


&gt; (From update of attachment 127553 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=127553&amp;action=review
&gt; 
&gt; Thanks for the latest patch Jongseok! This looks closer to me to what the original reviewers were looking for. I am not a reviewer so cannot formally review the patch, but I have a few comments and will defer back to the original reviewers for their thoughts. Sam, would you mind taking another look at this?
&gt; 
&gt; Cheers, Ben
&gt; 
&gt; &gt; Source/WebCore/platform/FileChooser.cpp:64
&gt; &gt; +    return static_cast&lt;MediaCaptureChooser*&gt;(m_chooser.get());
&gt; 
&gt; Don&apos;t think the static_cast is needed?
&gt; 
I&apos;ll fix that.


&gt; &gt; Source/WebCore/platform/FileChooser.cpp:73
&gt; &gt; +        for (Vector&lt;String&gt;::const_iterator iterator = input-&gt;acceptMIMETypes().begin(); iterator != input-&gt;acceptMIMETypes().end(); ++iterator)
&gt; 
&gt; Could this be replaced with something like:
&gt; if (MIMETypeRegistry::isSupportCaptureType(&quot;image/*&quot;) &amp;&amp; input-&gt;acceptMIMETypes().contains(&quot;image/*)) ?
&gt; 
Could you please check the URL? 
(http://lists.w3.org/Archives/Public/public-device-apis/2011Apr/0013.html)
I&apos;d like to implement a good solution to meet the editor&apos;s idea.
Could you please give me your idea?


&gt; &gt; Source/WebCore/platform/FileChooser.h:44
&gt; &gt; +#endif
&gt; 
&gt; Maybe merge these two #ifdef blocks?
&gt; 
&gt; &gt; Source/WebCore/platform/FileChooser.h:51
&gt; &gt; +    Microphone,
&gt; 
&gt; These should probably be in alphabetical order.
&gt;
Do you mean that named types in enum should be sorted? I observed that there are many enum types that they don&apos;t meet the coding style. 
Could you please clarify the coding style?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559155</commentid>
    <comment_count>32</comment_count>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2012-02-17 06:28:20 -0800</bug_when>
    <thetext>&gt; &gt; &gt; Source/WebCore/platform/FileChooser.cpp:73
&gt; &gt; &gt; +        for (Vector&lt;String&gt;::const_iterator iterator = input-&gt;acceptMIMETypes().begin(); iterator != input-&gt;acceptMIMETypes().end(); ++iterator)
&gt; &gt; 
&gt; &gt; Could this be replaced with something like:
&gt; &gt; if (MIMETypeRegistry::isSupportCaptureType(&quot;image/*&quot;) &amp;&amp; input-&gt;acceptMIMETypes().contains(&quot;image/*)) ?
&gt; &gt; 
&gt; Could you please check the URL? 
&gt; (http://lists.w3.org/Archives/Public/public-device-apis/2011Apr/0013.html)
&gt; I&apos;d like to implement a good solution to meet the editor&apos;s idea.
&gt; Could you please give me your idea?

Oh, I see. It covers the case that the accept type was image/svg mentioned in that email.


&gt; &gt; &gt; Source/WebCore/platform/FileChooser.h:44
&gt; &gt; &gt; +#endif
&gt; &gt; 
&gt; &gt; Maybe merge these two #ifdef blocks?
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/platform/FileChooser.h:51
&gt; &gt; &gt; +    Microphone,
&gt; &gt; 
&gt; &gt; These should probably be in alphabetical order.
&gt; &gt;
&gt; Do you mean that named types in enum should be sorted? I observed that there are many enum types that they don&apos;t meet the coding style. 
&gt; Could you please clarify the coding style?

That&apos;s what I meant, but you&apos;re right, the style guide doesn&apos;t enforce it. IMO I think it looks neater, but whichever you prefer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559647</commentid>
    <comment_count>33</comment_count>
      <attachid>127553</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-02-17 16:40:34 -0800</bug_when>
    <thetext>Comment on attachment 127553
Patch

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

Please announce this feature to webkit-dev.
http://www.webkit.org/coding/adding-features.html

Does MedieaCaptureChooser set a file name to FileChooerClient?  If so, who removes the file? &lt;input type=file&gt; shows a file name for a captured data?

&gt; Source/WebCore/platform/FileChooser.cpp:72
&gt; +    if (equalIgnoringCase(input-&gt;capture(), MediaCaptureNames::camera())) {

input-&gt;capture() should be input-&gt;fastGetAttribute(captureAttr), and should remove HTMLInputElement::capture().
Anyway, this is a layering violation.

&gt; Source/WebCore/platform/FileChooser.h:74
&gt; +    MediaCaptureType determineCaptureType(HTMLInputElement*);

Layering violation.  We must not use WebCore/html/* classes in WebCore/platform/* files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559723</commentid>
    <comment_count>34</comment_count>
    <who name="Jongseok Yang">js45.yang</who>
    <bug_when>2012-02-17 22:31:16 -0800</bug_when>
    <thetext>(In reply to comment #32)
&gt; &gt; &gt; &gt; Source/WebCore/platform/FileChooser.cpp:73
&gt; &gt; &gt; &gt; +        for (Vector&lt;String&gt;::const_iterator iterator = input-&gt;acceptMIMETypes().begin(); iterator != input-&gt;acceptMIMETypes().end(); ++iterator)
&gt; &gt; &gt; 
&gt; &gt; &gt; Could this be replaced with something like:
&gt; &gt; &gt; if (MIMETypeRegistry::isSupportCaptureType(&quot;image/*&quot;) &amp;&amp; input-&gt;acceptMIMETypes().contains(&quot;image/*)) ?
&gt; &gt; &gt; 
&gt; &gt; Could you please check the URL? 
&gt; &gt; (http://lists.w3.org/Archives/Public/public-device-apis/2011Apr/0013.html)
&gt; &gt; I&apos;d like to implement a good solution to meet the editor&apos;s idea.
&gt; &gt; Could you please give me your idea?
&gt; 
&gt; Oh, I see. It covers the case that the accept type was image/svg mentioned in that email.
&gt; 

In the case of &quot;&lt;input type=file accept=&quot;image/jpeg&quot; capture=&quot;camera&quot;&gt;, A platform might want to support to run the capture panel. If so, it can be supported re-defining supportedCapturedMIMETypes in MIMETypeRegistery for the platform. My patch is for this concept.

What do you think?

&gt; 
&gt; &gt; &gt; &gt; Source/WebCore/platform/FileChooser.h:44
&gt; &gt; &gt; &gt; +#endif
&gt; &gt; &gt; 
&gt; &gt; &gt; Maybe merge these two #ifdef blocks?
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Source/WebCore/platform/FileChooser.h:51
&gt; &gt; &gt; &gt; +    Microphone,
&gt; &gt; &gt; 
&gt; &gt; &gt; These should probably be in alphabetical order.
&gt; &gt; &gt;
&gt; &gt; Do you mean that named types in enum should be sorted? I observed that there are many enum types that they don&apos;t meet the coding style. 
&gt; &gt; Could you please clarify the coding style?
&gt; 
&gt; That&apos;s what I meant, but you&apos;re right, the style guide doesn&apos;t enforce it. IMO I think it looks neater, but whichever you prefer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559724</commentid>
    <comment_count>35</comment_count>
    <who name="Jongseok Yang">js45.yang</who>
    <bug_when>2012-02-17 22:41:30 -0800</bug_when>
    <thetext>(In reply to comment #31)
&gt; (In reply to comment #30)
&gt; 
&gt; Thank you for your review. It was a good help in my patch. 
&gt; 
&gt; I have some question about your comment. Could you please give me an answer?
&gt; 
&gt; 
&gt; &gt; (From update of attachment 127553 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=127553&amp;action=review
&gt; &gt; 
&gt; &gt; Thanks for the latest patch Jongseok! This looks closer to me to what the original reviewers were looking for. I am not a reviewer so cannot formally review the patch, but I have a few comments and will defer back to the original reviewers for their thoughts. Sam, would you mind taking another look at this?
&gt; &gt; 
&gt; &gt; Cheers, Ben
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/platform/FileChooser.cpp:64
&gt; &gt; &gt; +    return static_cast&lt;MediaCaptureChooser*&gt;(m_chooser.get());
&gt; &gt; 
&gt; &gt; Don&apos;t think the static_cast is needed?
&gt; &gt; 
&gt; I&apos;ll fix that.
&gt; 

Well, I got the build break when removing static_cast. Please check it again.

&gt; 
&gt; &gt; &gt; Source/WebCore/platform/FileChooser.cpp:73
&gt; &gt; &gt; +        for (Vector&lt;String&gt;::const_iterator iterator = input-&gt;acceptMIMETypes().begin(); iterator != input-&gt;acceptMIMETypes().end(); ++iterator)
&gt; &gt; 
&gt; &gt; Could this be replaced with something like:
&gt; &gt; if (MIMETypeRegistry::isSupportCaptureType(&quot;image/*&quot;) &amp;&amp; input-&gt;acceptMIMETypes().contains(&quot;image/*)) ?
&gt; &gt; 
&gt; Could you please check the URL? 
&gt; (http://lists.w3.org/Archives/Public/public-device-apis/2011Apr/0013.html)
&gt; I&apos;d like to implement a good solution to meet the editor&apos;s idea.
&gt; Could you please give me your idea?
&gt; 
&gt; 
&gt; &gt; &gt; Source/WebCore/platform/FileChooser.h:44
&gt; &gt; &gt; +#endif
&gt; &gt; 
&gt; &gt; Maybe merge these two #ifdef blocks?
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/platform/FileChooser.h:51
&gt; &gt; &gt; +    Microphone,
&gt; &gt; 
&gt; &gt; These should probably be in alphabetical order.
&gt; &gt;
&gt; Do you mean that named types in enum should be sorted? I observed that there are many enum types that they don&apos;t meet the coding style. 
&gt; Could you please clarify the coding style?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559731</commentid>
    <comment_count>36</comment_count>
    <who name="Jongseok Yang">js45.yang</who>
    <bug_when>2012-02-17 23:20:15 -0800</bug_when>
    <thetext>(In reply to comment #33)

Thank you for your review. 
Could you please check my comment?


&gt; (From update of attachment 127553 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=127553&amp;action=review
&gt; 
&gt; Please announce this feature to webkit-dev.
&gt; http://www.webkit.org/coding/adding-features.html
&gt; 

I will that.

&gt; Does MedieaCaptureChooser set a file name to FileChooerClient?  If so, who removes the file? &lt;input type=file&gt; shows a file name for a captured data?
&gt; 

Yes. a file name is set using chooseFile() of MedieaCaptureChooser.
I think that WebKit need not consider who removes the file. WebKit supports download feature but does not manage the downloaded files. 
I think that the feature is similar to the function of &quot;photo&quot; menu in facebook mobile application. The application like facebook mobile application don&apos;t care to manage the taken picture. I think it is just the check point of the platform.

&gt; &gt; Source/WebCore/platform/FileChooser.cpp:72
&gt; &gt; +    if (equalIgnoringCase(input-&gt;capture(), MediaCaptureNames::camera())) {
&gt; 
&gt; input-&gt;capture() should be input-&gt;fastGetAttribute(captureAttr), and should remove HTMLInputElement::capture().
&gt; Anyway, this is a layering violation.

capture() is the wrapper function for fastGetAttribute(captureAttr). I observed the same logic from HTMLInputElement::accept(), HTMLInputElement::alt() and HTMLInputElement::multiple(). Do you mean that these functions are also layering violation?

&gt; 
&gt; &gt; Source/WebCore/platform/FileChooser.h:74
&gt; &gt; +    MediaCaptureType determineCaptureType(HTMLInputElement*);
&gt; 
&gt; Layering violation.  We must not use WebCore/html/* classes in WebCore/platform/* files.

I will fix that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560017</commentid>
    <comment_count>37</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-02-19 21:39:35 -0800</bug_when>
    <thetext>(In reply to comment #36)

I took a look at the draft.
 - The draft is old.  Is the WG working on it actively?
 - We should support media capture regardless of existence of &apos;capture&apos; attribute.
  http://www.w3.org/TR/2011/WD-html-media-capture-20110414/#formaccess
 - I don&apos;t think we need to use both of Chrome::runOpenPanel and Chrome::runCapturePanel. runCapturePanel should support file choosing, and we should always use Chrome::runCapturePanel if ENABLE_HTML_MEDIA_CAPTURE.
 - I don&apos;t think showing a captured file name makes sense. We had better show a captured media information such as:
   &quot;1280x768 still image (123KB)&quot; (with a thumbnail?)
   &quot;35 second audio (63KB)&quot;

&gt; &gt; &gt; Source/WebCore/platform/FileChooser.cpp:72
&gt; &gt; &gt; +    if (equalIgnoringCase(input-&gt;capture(), MediaCaptureNames::camera())) {
&gt; &gt; 
&gt; &gt; input-&gt;capture() should be input-&gt;fastGetAttribute(captureAttr), and should remove HTMLInputElement::capture().
&gt; &gt; Anyway, this is a layering violation.
&gt; 
&gt; capture() is the wrapper function for fastGetAttribute(captureAttr). I observed the same logic from HTMLInputElement::accept(), HTMLInputElement::alt() and HTMLInputElement::multiple(). Do you mean that these functions are also layering violation?

I meant using HTMLInputElement in platform/FileChooser.cpp was a layering violation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560030</commentid>
    <comment_count>38</comment_count>
    <who name="Jongseok Yang">js45.yang</who>
    <bug_when>2012-02-19 22:21:08 -0800</bug_when>
    <thetext>(In reply to comment #37)

Thank you for your review. Could you please check my comment?

&gt; (In reply to comment #36)
&gt; 
&gt; I took a look at the draft.
&gt;  - The draft is old.  Is the WG working on it actively?

 I&apos;ll check it.

&gt;  - We should support media capture regardless of existence of &apos;capture&apos; attribute.
&gt;   http://www.w3.org/TR/2011/WD-html-media-capture-20110414/#formaccess

 I agree with you.

&gt;  - I don&apos;t think we need to use both of Chrome::runOpenPanel and Chrome::runCapturePanel. runCapturePanel should support file choosing, and we should always use Chrome::runCapturePanel if ENABLE_HTML_MEDIA_CAPTURE.

 I agree with you. I&apos;ll fix that
 
&gt;  - I don&apos;t think showing a captured file name makes sense. We had better show a captured media information such as:
&gt;    &quot;1280x768 still image (123KB)&quot; (with a thumbnail?)
&gt;    &quot;35 second audio (63KB)&quot;

 I think that WebIDL interface in the spec is for the media information you mentioned. 
 Please check the example : http://www.w3.org/TR/2011/WD-html-media-capture-20110414/#jsexample
 So, I think we need not show the media information.

&gt; 
&gt; &gt; &gt; &gt; Source/WebCore/platform/FileChooser.cpp:72
&gt; &gt; &gt; &gt; +    if (equalIgnoringCase(input-&gt;capture(), MediaCaptureNames::camera())) {
&gt; &gt; &gt; 
&gt; &gt; &gt; input-&gt;capture() should be input-&gt;fastGetAttribute(captureAttr), and should remove HTMLInputElement::capture().
&gt; &gt; &gt; Anyway, this is a layering violation.
&gt; &gt; 
&gt; &gt; capture() is the wrapper function for fastGetAttribute(captureAttr). I observed the same logic from HTMLInputElement::accept(), HTMLInputElement::alt() and HTMLInputElement::multiple(). Do you mean that these functions are also layering violation?
&gt; 
&gt; I meant using HTMLInputElement in platform/FileChooser.cpp was a layering violation.

OK, I will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560124</commentid>
    <comment_count>39</comment_count>
    <who name="Masataka Yakura">myakura.web</who>
    <bug_when>2012-02-20 02:36:20 -0800</bug_when>
    <thetext>(In reply to comment #37)
&gt; (In reply to comment #36)
&gt; 
&gt; I took a look at the draft.
&gt;  - The draft is old.  Is the WG working on it actively?

I think the DAP WG was agreed to abondon the draft in favor of getUserMedia.
http://lists.w3.org/Archives/Public/public-device-apis/2011Nov/att-0177/minutes-2011-11-03.html#item05
http://lists.w3.org/Archives/Public/public-media-capture/2011Dec/0029.html

http://dev.w3.org/2009/dap/camera/Overview-API.html redirects to the gUM editor&apos;s draft.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560139</commentid>
    <comment_count>40</comment_count>
    <who name="Wonsuk Lee">wonsuk11.lee</who>
    <bug_when>2012-02-20 03:01:23 -0800</bug_when>
    <thetext>(In reply to comment #39)
&gt; (In reply to comment #37)
&gt; &gt; (In reply to comment #36)
&gt; &gt; 
&gt; &gt; I took a look at the draft.
&gt; &gt;  - The draft is old.  Is the WG working on it actively?
&gt; I think the DAP WG was agreed to abondon the draft in favor of getUserMedia.
&gt; http://lists.w3.org/Archives/Public/public-device-apis/2011Nov/att-0177/minutes-2011-11-03.html#item05
&gt; http://lists.w3.org/Archives/Public/public-media-capture/2011Dec/0029.html
&gt; http://dev.w3.org/2009/dap/camera/Overview-API.html redirects to the gUM editor&apos;s draft.

I think you were confused for the specs related with Media Capture in W3C DAP WG.

Before starting gUM draft, there were two different specs for media capture in W3C DAP WG.
First one is HTML Media Capture[1] and the Second is Media Capture API. Above all things you mentioned are exactly related with Media Capture API. and As you mentioned, it replaced with gUM draft. 

By the way, this bug is exactly related with HTML Media Capture.

[1] http://www.w3.org/TR/2011/WD-html-media-capture-20110414/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560144</commentid>
    <comment_count>41</comment_count>
    <who name="Jongseok Yang">js45.yang</who>
    <bug_when>2012-02-20 03:17:01 -0800</bug_when>
    <thetext>(In reply to comment #40)
&gt; (In reply to comment #39)
&gt; &gt; (In reply to comment #37)
&gt; &gt; &gt; (In reply to comment #36)
&gt; &gt; &gt; 
&gt; &gt; &gt; I took a look at the draft.
&gt; &gt; &gt;  - The draft is old.  Is the WG working on it actively?
&gt; &gt; I think the DAP WG was agreed to abondon the draft in favor of getUserMedia.
&gt; &gt; http://lists.w3.org/Archives/Public/public-device-apis/2011Nov/att-0177/minutes-2011-11-03.html#item05
&gt; &gt; http://lists.w3.org/Archives/Public/public-media-capture/2011Dec/0029.html
&gt; &gt; http://dev.w3.org/2009/dap/camera/Overview-API.html redirects to the gUM editor&apos;s draft.
&gt; 
&gt; I think you were confused for the specs related with Media Capture in W3C DAP WG.
&gt; 
&gt; Before starting gUM draft, there were two different specs for media capture in W3C DAP WG.
&gt; First one is HTML Media Capture[1] and the Second is Media Capture API. Above all things you mentioned are exactly related with Media Capture API. and As you mentioned, it replaced with gUM draft. 
&gt; 
&gt; By the way, this bug is exactly related with HTML Media Capture.
&gt; 
&gt; [1] http://www.w3.org/TR/2011/WD-html-media-capture-20110414/

Thank you for your comment.

This bug is just for HTML Media Capture as Wonsuk Lee mentioned. It&apos;s to invoke a capture panel with &lt;input type=file&gt;.
Media Capture API is the spec to launch camera, video or recorder application using APIs.

The first spec - HTML Media Capture is still available.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560639</commentid>
    <comment_count>42</comment_count>
      <attachid>127914</attachid>
    <who name="Jongseok Yang">js45.yang</who>
    <bug_when>2012-02-20 21:35:32 -0800</bug_when>
    <thetext>Created attachment 127914
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560643</commentid>
    <comment_count>43</comment_count>
    <who name="Jongseok Yang">js45.yang</who>
    <bug_when>2012-02-20 21:42:17 -0800</bug_when>
    <thetext>(In reply to comment #38)
&gt; (In reply to comment #37)
&gt; 
&gt; Thank you for your review. Could you please check my comment?
&gt; 
&gt; &gt; (In reply to comment #36)
&gt; &gt; 
&gt; &gt; I took a look at the draft.
&gt; &gt;  - The draft is old.  Is the WG working on it actively?
&gt; 
&gt;  I&apos;ll check it.
&gt; 
&gt; &gt;  - We should support media capture regardless of existence of &apos;capture&apos; attribute.
&gt; &gt;   http://www.w3.org/TR/2011/WD-html-media-capture-20110414/#formaccess
&gt; 
&gt;  I agree with you.
&gt; 
&gt; &gt;  - I don&apos;t think we need to use both of Chrome::runOpenPanel and Chrome::runCapturePanel. runCapturePanel should support file choosing, and we should always use Chrome::runCapturePanel if ENABLE_HTML_MEDIA_CAPTURE.
&gt; 
&gt;  I agree with you. I&apos;ll fix that

http://www.w3.org/TR/html-media-capture/#formaccess
I re-checked the spec. The panel for HTML Media Capture should be enabled only if the accept accept attribute with values image/*, audio/*, or video/*.

&gt; 
&gt; &gt;  - I don&apos;t think showing a captured file name makes sense. We had better show a captured media information such as:
&gt; &gt;    &quot;1280x768 still image (123KB)&quot; (with a thumbnail?)
&gt; &gt;    &quot;35 second audio (63KB)&quot;
&gt; 
&gt;  I think that WebIDL interface in the spec is for the media information you mentioned. 
&gt;  Please check the example : http://www.w3.org/TR/2011/WD-html-media-capture-20110414/#jsexample
&gt;  So, I think we need not show the media information.
&gt; 
&gt; &gt; 
&gt; &gt; &gt; &gt; &gt; Source/WebCore/platform/FileChooser.cpp:72
&gt; &gt; &gt; &gt; &gt; +    if (equalIgnoringCase(input-&gt;capture(), MediaCaptureNames::camera())) {
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; input-&gt;capture() should be input-&gt;fastGetAttribute(captureAttr), and should remove HTMLInputElement::capture().
&gt; &gt; &gt; &gt; Anyway, this is a layering violation.
&gt; &gt; &gt; 
&gt; &gt; &gt; capture() is the wrapper function for fastGetAttribute(captureAttr). I observed the same logic from HTMLInputElement::accept(), HTMLInputElement::alt() and HTMLInputElement::multiple(). Do you mean that these functions are also layering violation?
&gt; &gt; 
&gt; &gt; I meant using HTMLInputElement in platform/FileChooser.cpp was a layering violation.
&gt; 
&gt; OK, I will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565580</commentid>
    <comment_count>44</comment_count>
      <attachid>127914</attachid>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2012-02-27 04:53:18 -0800</bug_when>
    <thetext>Comment on attachment 127914
Patch

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

Thanks for the latest patch Jongseok!

&gt; Source/WebCore/html/FileInputType.cpp:163
&gt; +            chrome-&gt;runOpenPanel(input-&gt;document()-&gt;frame(), newFileChooser(settings));

As per Kent Tamura&apos;s comment, we should only use runCapturePanel #if ENABLE(MEDIA_CAPTURE). Each platform can implement runCapturePanel as it wants to, which may then call runOpenPanel if type == filesystem for example. That&apos;s up to the embedder.

&gt; Source/WebCore/platform/FileChooser.cpp:70
&gt; +        return NonCapture;

return FileSystem here as that is the default according to the spec?

&gt; Source/WebCore/platform/FileChooser.cpp:76
&gt; +            if ((capture.isEmpty() || equalIgnoringCase(capture, MediaCaptureNames::camera()))

Why if capture.isEmpty()? This means that if you specify accept=&quot;image/*&quot; then we&apos;ll always default to the camera? I can&apos;t see where the spec says to do that.

&gt; Source/WebCore/platform/FileChooser.cpp:77
&gt; +                &amp;&amp; (*iterator).startsWith(&quot;image/&quot;))

I think this might be a bit easier to read if you checked the mime type first, i.e.
if (*iterator.startsWith(&quot;image/*&quot;) &amp;&amp; equalsIgnoringCase(capture, MediaCaptureNames::camera()) ...

What do you think?

&gt; Source/WebCore/platform/FileChooser.cpp:86
&gt; +            if (type == NonCapture)

initialise type to FileSystem on line 72 and no need for this?

&gt; Source/WebCore/platform/FileChooser.h:46
&gt; +    NonCapture,

I don&apos;t think we need this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565593</commentid>
    <comment_count>45</comment_count>
      <attachid>129020</attachid>
    <who name="Jongseok Yang">js45.yang</who>
    <bug_when>2012-02-27 05:30:21 -0800</bug_when>
    <thetext>Created attachment 129020
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565594</commentid>
    <comment_count>46</comment_count>
    <who name="Jongseok Yang">js45.yang</who>
    <bug_when>2012-02-27 05:33:06 -0800</bug_when>
    <thetext>(In reply to comment #44)

Thank you for your review.

I uploaded new patch as your review. Could you please check it?


&gt; (From update of attachment 127914 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=127914&amp;action=review
&gt; 
&gt; Thanks for the latest patch Jongseok!
&gt; 
&gt; &gt; Source/WebCore/html/FileInputType.cpp:163
&gt; &gt; +            chrome-&gt;runOpenPanel(input-&gt;document()-&gt;frame(), newFileChooser(settings));
&gt; 
&gt; As per Kent Tamura&apos;s comment, we should only use runCapturePanel #if ENABLE(MEDIA_CAPTURE). Each platform can implement runCapturePanel as it wants to, which may then call runOpenPanel if type == filesystem for example. That&apos;s up to the embedder.
&gt; 
&gt; &gt; Source/WebCore/platform/FileChooser.cpp:70
&gt; &gt; +        return NonCapture;
&gt; 
&gt; return FileSystem here as that is the default according to the spec?
&gt; 
&gt; &gt; Source/WebCore/platform/FileChooser.cpp:76
&gt; &gt; +            if ((capture.isEmpty() || equalIgnoringCase(capture, MediaCaptureNames::camera()))
&gt; 
&gt; Why if capture.isEmpty()? This means that if you specify accept=&quot;image/*&quot; then we&apos;ll always default to the camera? I can&apos;t see where the spec says to do that.
&gt; 
&gt; &gt; Source/WebCore/platform/FileChooser.cpp:77
&gt; &gt; +                &amp;&amp; (*iterator).startsWith(&quot;image/&quot;))
&gt; 
&gt; I think this might be a bit easier to read if you checked the mime type first, i.e.
&gt; if (*iterator.startsWith(&quot;image/*&quot;) &amp;&amp; equalsIgnoringCase(capture, MediaCaptureNames::camera()) ...
&gt; 
&gt; What do you think?
&gt; 
&gt; &gt; Source/WebCore/platform/FileChooser.cpp:86
&gt; &gt; +            if (type == NonCapture)
&gt; 
&gt; initialise type to FileSystem on line 72 and no need for this?
&gt; 
&gt; &gt; Source/WebCore/platform/FileChooser.h:46
&gt; &gt; +    NonCapture,
&gt; 
&gt; I don&apos;t think we need this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565596</commentid>
    <comment_count>47</comment_count>
      <attachid>129021</attachid>
    <who name="Jongseok Yang">js45.yang</who>
    <bug_when>2012-02-27 05:38:28 -0800</bug_when>
    <thetext>Created attachment 129021
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>566718</commentid>
    <comment_count>48</comment_count>
      <attachid>129021</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-02-28 08:39:19 -0800</bug_when>
    <thetext>Comment on attachment 129021
Patch

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

Just some minor comment while skimming the patch

&gt; Source/WebCore/platform/FileChooser.cpp:59
&gt; +MediaCaptureChooser* FileChooserClient::newMediaCaptureChooser(const FileChooserSettings&amp; settings, MediaCaptureType device)

It almost looks like the name of the class doesn&apos;t fit anymore? ContentChooserClient?

&gt; Source/WebCore/platform/FileChooser.cpp:72
&gt; +    for (Vector&lt;String&gt;::const_iterator iterator = acceptMIMETypes.begin(); iterator != acceptMIMETypes.end(); ++iterator)

We normally call the iterator for &quot;it&quot; and put the end outside the look.

&gt; Source/WebCore/platform/FileChooser.h:71
&gt;      FileChooser* newFileChooser(const FileChooserSettings&amp;);
&gt;  
&gt; +#if ENABLE(HTML_MEDIA_CAPTURE)
&gt; +    MediaCaptureChooser* newMediaCaptureChooser(const FileChooserSettings&amp;, MediaCaptureType);

Could the newFileChooser and newMediaCaptureChooser be merged? Would it make sense?

&gt; Source/WebKit/chromium/src/ChromeClientImpl.cpp:730
&gt; +void ChromeClientImpl::runCapturePanel(Frame*, PassRefPtr&lt;MediaCaptureChooser&gt;)

im not sure this is always a panel, so maybe runCaptureChooser makes more sense? Though that would mean we would have to rename the runFilePanel as well</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580156</commentid>
    <comment_count>49</comment_count>
      <attachid>129021</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-03-15 22:51:03 -0700</bug_when>
    <thetext>Comment on attachment 129021
Patch

I don&apos;t want to have ENABLE ifdef anymore if possible.
And this is a typical module-able/supplement-able feature.
Please consider to:
- Adopt the supplment-style IDL
- Introducing Supplementable&lt;T&gt; for Chrome and attach the separate client objectas a supplement.
   Please don&apos;t let ChromeClient fat.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>674248</commentid>
    <comment_count>50</comment_count>
    <who name="Jongseok Yang">js45.yang</who>
    <bug_when>2012-07-20 00:03:42 -0700</bug_when>
    <thetext>HTML Media Capture was implemented by Adam Barth.
Please check the bug:
https://bugs.webkit.org/show_bug.cgi?id=85958

*** This bug has been marked as a duplicate of bug 85958 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>97971</attachid>
            <date>2011-06-21 05:32:44 -0700</date>
            <delta_ts>2011-06-22 03:18:36 -0700</delta_ts>
            <desc>add capture attribute and functions to get the attribute from FileChooser</desc>
            <filename>patch_file.patch</filename>
            <type>text/plain</type>
            <size>5894</size>
            <attacher name="Jongseok Yang">js45.yang</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg5MzQ2KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTEtMDYtMjEgIEpvbmdzZW9r
IFlhbmcgIDxqczQ1LnlhbmdAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGNhcHR1cmUgYXR0cmlidXRlIGZvciBIVE1MIE1l
ZGlhIENhcHR1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTYzMDYyCisKKyAgICAgICAgSXQncyB0aGUgZmlyc3QgcGF0Y2ggZm9yIHRoZSBmZWF0dXJl
LgorICAgICAgICAtIGFkZCBjYXB0dXJlIGF0dHJpYnV0ZQorICAgICAgICAtIGFkZCBmdW5jdGlv
bnMgdG8gZ2V0IHRoZSBhdHRyaWJ1dGUgZnJvbSBGaWxlQ2hvb3NlciAKKworICAgICAgICBUbyBz
dXBwb3J0IEhUTUwgTWVkaWEgQ2FwdHVyZSwgZWFjaCBwb3J0IHNob3VsZCBjaGVjayB0aGUgYXR0
cmlidXRlIGFuZCBleGVjdXRlIAorICAgICAgICB0aGUgYXBwbGljYXRpb24gb3IgdGhlIGludGVy
ZmFjZS4KKyAgICAgICAgSXQgc2hvdWxkIGJlIGltcGxlbWVudGVkIHdpdGhpbiAiQ2hyb21lQ2xp
ZW50OjpydW5PcGVuUGFuZWwoKSIgZm9yIGVhY2ggcG9ydC4KKworICAgICAgICBObyBuZXcgdGVz
dHMuCisgICAgICAgIEl0IHVzZXMgTUVESUFfQ0FQVFVSRSBmZWF0dXJlIGRlZmluZSwgd2hpY2gg
aXMgdHVybmVkIG9mZi4KKyAgICAgICAgSXQgZG9lcyBub3QgaW5jbHVkZSB0aGUgaW1wbGVtZW50
YXRpb24gZm9yIGVhY2ggcG9ydAorCisgICAgICAgICogaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMu
aW46CisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAorICAgICAgICAoV2ViQ29y
ZTo6SFRNTElucHV0RWxlbWVudDo6Y2FwdHVyZSkKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVs
ZW1lbnQuaWRsCisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwCisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6Y2FwdHVyZURldmljZSkKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaAorICAgICAgICAqIHBsYXRmb3JtL0ZpbGVDaG9v
c2VyLmgKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVDaG9vc2VyQ2xpZW50OjpjYXB0dXJlRGV2aWNl
KQorICAgICAgICAoV2ViQ29yZTo6RmlsZUNob29zZXI6OmNhcHR1cmVEZXZpY2UpOiBUaGUgZnVu
Y3Rpb24gd291bGQgYmUgdXNlZCB3aXRoaW4gdGhlIGZ1bmN0aW9uCisgICAgICAgICJDaHJvbWVD
bGllbnQ6OnJ1bk9wZW5QYW5lbCgpIiBmb3IgZWFjaCBwb3J0LgorCiAyMDExLTA2LTE3ICBQYXZl
bCBQb2Rpdmlsb3YgIDxwb2Rpdmlsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IFBhdmVsIEZlbGRtYW4uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1
dGVOYW1lcy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1
dGVOYW1lcy5pbgkocmV2aXNpb24gODkzMzkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxB
dHRyaWJ1dGVOYW1lcy5pbgkod29ya2luZyBjb3B5KQpAQCAtNTgsNiArNTgsNyBAQCBiZ2NvbG9y
CiBiZ3Byb3BlcnRpZXMKIGJvcmRlcgogYm9yZGVyY29sb3IKK2NhcHR1cmUKIGNlbGxwYWRkaW5n
CiBjZWxsc3BhY2luZwogY2hhcgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRF
bGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVs
ZW1lbnQuY3BwCShyZXZpc2lvbiA4OTMzOSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElu
cHV0RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMzIsNiArMTIzMiwxMyBAQCBTdHJp
bmcgSFRNTElucHV0RWxlbWVudDo6YWNjZXB0KCkgY29uc3QKICAgICByZXR1cm4gZmFzdEdldEF0
dHJpYnV0ZShhY2NlcHRBdHRyKTsKIH0KIAorI2lmIEVOQUJMRShNRURJQV9DQVBUVVJFKQorU3Ry
aW5nIEhUTUxJbnB1dEVsZW1lbnQ6OmNhcHR1cmUoKSBjb25zdAoreworICAgIHJldHVybiBmYXN0
R2V0QXR0cmlidXRlKGNhcHR1cmVBdHRyKTsKK30KKyNlbmRpZgorCiBTdHJpbmcgSFRNTElucHV0
RWxlbWVudDo6YWx0KCkgY29uc3QKIHsKICAgICByZXR1cm4gZmFzdEdldEF0dHJpYnV0ZShhbHRB
dHRyKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCShyZXZpc2lv
biA4OTMzOSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xOTMsNiArMTkzLDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0RGVmYXVs
dE5hbWUoY29uc3QgQXRvbWljU3RyaW5nJik7CiAKICAgICBTdHJpbmcgYWNjZXB0KCkgY29uc3Q7
CisjaWYgRU5BQkxFKE1FRElBX0NBUFRVUkUpCisgICAgU3RyaW5nIGNhcHR1cmUoKSBjb25zdDsK
KyNlbmRpZgogICAgIFN0cmluZyBhbHQoKSBjb25zdDsKIAogICAgIHZvaWQgc2V0U2l6ZSh1bnNp
Z25lZCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5pZGwJKHJl
dmlzaW9uIDg5MzM5KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50Lmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsOSBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAg
IGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIGZvcm1UYXJnZXQ7CiAgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBWYWxpZGl0eVN0YXRlIHZhbGlkaXR5OwogICAgICAgICBhdHRyaWJ1dGUg
W1JlZmxlY3RdIERPTVN0cmluZyBhY2NlcHQ7CisjaWYgZGVmaW5lZChNRURJQV9DQVBUVVJFKSAm
JiBNRURJQV9DQVBUVVJFCisgICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIGNh
cHR1cmU7CisjZW5kaWYKICAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgYWNj
ZXNzS2V5OwogICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBhbGlnbjsKICAg
ICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgYWx0OwpJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vRmlsZUNob29zZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9GaWxlQ2hvb3Nlci5oCShyZXZpc2lvbiA4OTMzOSkKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0ZpbGVDaG9vc2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDYgKzQ1LDkg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBhbGxvd3NEaXJlY3RvcnlVcGxvYWQoKSA9IDA7
CiAjZW5kaWYKICAgICB2aXJ0dWFsIFN0cmluZyBhY2NlcHRUeXBlcygpID0gMDsKKyNpZiBFTkFC
TEUoTUVESUFfQ0FQVFVSRSkKKyAgICB2aXJ0dWFsIFN0cmluZyBjYXB0dXJlRGV2aWNlKCkgPSAw
OworI2VuZGlmCiAgICAgdmlydHVhbCB+RmlsZUNob29zZXJDbGllbnQoKTsKIH07CiAKQEAgLTY5
LDYgKzcyLDEwIEBAIHB1YmxpYzoKICNlbmRpZgogICAgIC8vIEFjY2VwdGFibGUgTUlNRSB0eXBl
cy4gIEl0J3MgYW4gJ2FjY2VwdCcgYXR0cmlidXRlIHZhbHVlIG9mIHRoZSBjb3JyZXNwb25kaW5n
IElOUFVUIGVsZW1lbnQuCiAgICAgU3RyaW5nIGFjY2VwdFR5cGVzKCkgY29uc3QgeyByZXR1cm4g
bV9jbGllbnQgPyBtX2NsaWVudC0+YWNjZXB0VHlwZXMoKSA6IFN0cmluZygpOyB9CisjaWYgRU5B
QkxFKE1FRElBX0NBUFRVUkUpCisgICAgLy8gVGhlIHNvdXJjZSBmb3IgdGhlIGZpbGUgcGlja2Vy
IGludGVyZmFjZS4gSXQncyBhICdjYXB0dXJlJyBhdHRyaWJ1dGUgdmFsdWUgb2YgdGhlIGNvcnJz
cG9uZGluZyBJTlBVVCBlbGVtZW50LgorICAgIFN0cmluZyBjYXB0dXJlRGV2aWNlKCkgY29uc3Qg
eyByZXR1cm4gbV9jbGllbnQgPyBtX2NsaWVudC0+Y2FwdHVyZURldmljZSgpIDogU3RyaW5nKCk7
IH0KKyNlbmRpZgogCiBwcml2YXRlOgogICAgIEZpbGVDaG9vc2VyKEZpbGVDaG9vc2VyQ2xpZW50
KiwgY29uc3QgVmVjdG9yPFN0cmluZz4mIGluaXRpYWxGaWxlbmFtZXMpOwpJbmRleDogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3Bw
CShyZXZpc2lvbiA4OTMzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxl
VXBsb2FkQ29udHJvbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyNyw2ICsxMjcsMTMgQEAgU3Ry
aW5nIFJlbmRlckZpbGVVcGxvYWRDb250cm9sOjphY2NlcHRUeQogICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4obm9kZSgpKS0+YWNjZXB0KCk7CiB9CiAKKyNpZiBFTkFC
TEUoTUVESUFfQ0FQVFVSRSkKK1N0cmluZyBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6Y2FwdHVy
ZURldmljZSgpCit7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PEhUTUxJbnB1dEVsZW1lbnQqPihu
b2RlKCkpLT5jYXB0dXJlKCk7Cit9CisjZW5kaWYKKwogdm9pZCBSZW5kZXJGaWxlVXBsb2FkQ29u
dHJvbDo6dXBkYXRlUmVuZGVyaW5nKFBhc3NSZWZQdHI8SWNvbj4gaWNvbikKIHsKICAgICBpZiAo
bV9pY29uID09IGljb24pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmls
ZVVwbG9hZENvbnRyb2wuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaAkocmV2aXNpb24gODkzMzkpCisrKyBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaAkod29ya2luZyBjb3B5KQpA
QCAtNjUsNiArNjUsOSBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCByZWNlaXZlRHJvcEZv
ckRpcmVjdG9yeVVwbG9hZChjb25zdCBWZWN0b3I8U3RyaW5nPiYpOwogI2VuZGlmCiAgICAgdmly
dHVhbCBTdHJpbmcgYWNjZXB0VHlwZXMoKTsKKyNpZiBFTkFCTEUoTUVESUFfQ0FQVFVSRSkKKyAg
ICB2aXJ0dWFsIFN0cmluZyBjYXB0dXJlRGV2aWNlKCk7CisjZW5kaWYKIAogICAgIC8vIEZpbGVJ
Y29uTG9hZGVyQ2xpZW50IGZ1bmN0aW9ucy4KICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlUmVuZGVy
aW5nKFBhc3NSZWZQdHI8SWNvbj4pOwo=
</data>
<flag name="review"
          id="92075"
          type_id="1"
          status="-"
          setter="sam"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>98147</attachid>
            <date>2011-06-22 03:18:36 -0700</date>
            <delta_ts>2012-01-19 18:14:51 -0800</delta_ts>
            <desc>Patch v2 : fix &quot;no new tests&quot;, remove macro</desc>
            <filename>patch_file.patch</filename>
            <type>text/plain</type>
            <size>5738</size>
            <attacher name="Jongseok Yang">js45.yang</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg5MzQ2KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTEtMDYtMjEgIEpvbmdzZW9r
IFlhbmcgIDxqczQ1LnlhbmdAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGNhcHR1cmUgYXR0cmlidXRlIGZvciBIVE1MIE1l
ZGlhIENhcHR1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTYzMDYyCisKKyAgICAgICAgSXQncyB0aGUgZmlyc3QgcGF0Y2ggZm9yIHRoZSBmZWF0dXJl
LgorICAgICAgICAtIGFkZCBjYXB0dXJlIGF0dHJpYnV0ZQorICAgICAgICAtIGFkZCBmdW5jdGlv
bnMgdG8gZ2V0IHRoZSBhdHRyaWJ1dGUgZnJvbSBGaWxlQ2hvb3NlciAKKworICAgICAgICBUbyBz
dXBwb3J0IEhUTUwgTWVkaWEgQ2FwdHVyZSwgZWFjaCBwb3J0IHNob3VsZCBjaGVjayB0aGUgYXR0
cmlidXRlIGFuZCBleGVjdXRlIAorICAgICAgICB0aGUgYXBwbGljYXRpb24gb3IgdGhlIGludGVy
ZmFjZS4KKyAgICAgICAgSXQgc2hvdWxkIGJlIGltcGxlbWVudGVkIHdpdGhpbiAiQ2hyb21lQ2xp
ZW50OjpydW5PcGVuUGFuZWwoKSIgZm9yIGVhY2ggcG9ydC4KKworICAgICAgICBObyBuZXcgdGVz
dHM6CisgICAgICAgIC0gSXQgZGVwZW5kcyBvbiB0aGUgaW1wbGVtZW50YXRpb24gb2YgZWFjaCBw
b3J0IGZvciB0aGUgaW5kaWNhdGVkIHNvdXJjZS4KKyAgICAgICAgLSBUaGUgcHVycG9zZSBpcyB0
byBleGN1ZXRlIHRoZSBpbmRpY2F0ZWQgc291cmNlIGFuZCB0byBnZXQgdGhlIGZpbGUgbmFtZSBm
cm9tIGl0LgorICAgICAgICAtIFNvLCB0aGUgYXV0byB0ZXN0IGZvciB0aGlzIGNhbiBub3QgYmUg
Y2FycmllZCBvdXQuIAorCisgICAgICAgICogaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW46Cisg
ICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAorICAgICAgICAoV2ViQ29yZTo6SFRN
TElucHV0RWxlbWVudDo6Y2FwdHVyZSkKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQu
aWRsCisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJG
aWxlVXBsb2FkQ29udHJvbDo6Y2FwdHVyZURldmljZSkKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyRmlsZVVwbG9hZENvbnRyb2wuaAorICAgICAgICAqIHBsYXRmb3JtL0ZpbGVDaG9vc2VyLmgK
KyAgICAgICAgKFdlYkNvcmU6OkZpbGVDaG9vc2VyQ2xpZW50OjpjYXB0dXJlRGV2aWNlKQorICAg
ICAgICAoV2ViQ29yZTo6RmlsZUNob29zZXI6OmNhcHR1cmVEZXZpY2UpOiBUaGUgZnVuY3Rpb24g
d291bGQgYmUgdXNlZCB3aXRoaW4gdGhlIGZ1bmN0aW9uCisgICAgICAgICJDaHJvbWVDbGllbnQ6
OnJ1bk9wZW5QYW5lbCgpIiBmb3IgZWFjaCBwb3J0LgorCiAyMDExLTA2LTE3ICBQYXZlbCBQb2Rp
dmlsb3YgIDxwb2Rpdmlsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBh
dmVsIEZlbGRtYW4uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1l
cy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1l
cy5pbgkocmV2aXNpb24gODkzMzkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1
dGVOYW1lcy5pbgkod29ya2luZyBjb3B5KQpAQCAtNTgsNiArNTgsNyBAQCBiZ2NvbG9yCiBiZ3By
b3BlcnRpZXMKIGJvcmRlcgogYm9yZGVyY29sb3IKK2NhcHR1cmUKIGNlbGxwYWRkaW5nCiBjZWxs
c3BhY2luZwogY2hhcgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQu
Y3BwCShyZXZpc2lvbiA4OTMzOSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxl
bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMzIsNiArMTIzMiwxMSBAQCBTdHJpbmcgSFRN
TElucHV0RWxlbWVudDo6YWNjZXB0KCkgY29uc3QKICAgICByZXR1cm4gZmFzdEdldEF0dHJpYnV0
ZShhY2NlcHRBdHRyKTsKIH0KIAorU3RyaW5nIEhUTUxJbnB1dEVsZW1lbnQ6OmNhcHR1cmUoKSBj
b25zdAoreworICAgIHJldHVybiBmYXN0R2V0QXR0cmlidXRlKGNhcHR1cmVBdHRyKTsKK30KKwog
U3RyaW5nIEhUTUxJbnB1dEVsZW1lbnQ6OmFsdCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGZhc3RH
ZXRBdHRyaWJ1dGUoYWx0QXR0cik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1
dEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVs
ZW1lbnQuaAkocmV2aXNpb24gODkzMzkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1
dEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTkzLDYgKzE5Myw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNldERlZmF1bHROYW1lKGNvbnN0IEF0b21pY1N0cmluZyYpOwogCiAgICAgU3RyaW5n
IGFjY2VwdCgpIGNvbnN0OworICAgIFN0cmluZyBjYXB0dXJlKCkgY29uc3Q7CiAgICAgU3RyaW5n
IGFsdCgpIGNvbnN0OwogCiAgICAgdm9pZCBzZXRTaXplKHVuc2lnbmVkKTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbAkocmV2aXNpb24gODkzMzkpCisrKyBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0zMyw2ICszMyw3IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0
XSBET01TdHJpbmcgZm9ybVRhcmdldDsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFZhbGlk
aXR5U3RhdGUgdmFsaWRpdHk7CiAgICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5n
IGFjY2VwdDsKKyAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgY2FwdHVyZTsK
ICAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgYWNjZXNzS2V5OwogICAgICAg
ICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBhbGlnbjsKICAgICAgICAgYXR0cmlidXRl
IFtSZWZsZWN0XSBET01TdHJpbmcgYWx0OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
RmlsZUNob29zZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxl
Q2hvb3Nlci5oCShyZXZpc2lvbiA4OTMzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Zp
bGVDaG9vc2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDYgKzQ1LDcgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgYm9vbCBhbGxvd3NEaXJlY3RvcnlVcGxvYWQoKSA9IDA7CiAjZW5kaWYKICAgICB2
aXJ0dWFsIFN0cmluZyBhY2NlcHRUeXBlcygpID0gMDsKKyAgICB2aXJ0dWFsIFN0cmluZyBjYXB0
dXJlRGV2aWNlKCkgPSAwOwogICAgIHZpcnR1YWwgfkZpbGVDaG9vc2VyQ2xpZW50KCk7CiB9Owog
CkBAIC02OSw2ICs3MCw4IEBAIHB1YmxpYzoKICNlbmRpZgogICAgIC8vIEFjY2VwdGFibGUgTUlN
RSB0eXBlcy4gIEl0J3MgYW4gJ2FjY2VwdCcgYXR0cmlidXRlIHZhbHVlIG9mIHRoZSBjb3JyZXNw
b25kaW5nIElOUFVUIGVsZW1lbnQuCiAgICAgU3RyaW5nIGFjY2VwdFR5cGVzKCkgY29uc3QgeyBy
ZXR1cm4gbV9jbGllbnQgPyBtX2NsaWVudC0+YWNjZXB0VHlwZXMoKSA6IFN0cmluZygpOyB9Cisg
ICAgLy8gVGhlIHNvdXJjZSBmb3IgdGhlIGZpbGUgcGlja2VyIGludGVyZmFjZS4gSXQncyBhICdj
YXB0dXJlJyBhdHRyaWJ1dGUgdmFsdWUgb2YgdGhlIGNvcnJzcG9uZGluZyBJTlBVVCBlbGVtZW50
LgorICAgIFN0cmluZyBjYXB0dXJlRGV2aWNlKCkgY29uc3QgeyByZXR1cm4gbV9jbGllbnQgPyBt
X2NsaWVudC0+Y2FwdHVyZURldmljZSgpIDogU3RyaW5nKCk7IH0KIAogcHJpdmF0ZToKICAgICBG
aWxlQ2hvb3NlcihGaWxlQ2hvb3NlckNsaWVudCosIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBpbml0
aWFsRmlsZW5hbWVzKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxl
VXBsb2FkQ29udHJvbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmNwcAkocmV2aXNpb24gODkzMzkpCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMjcsNiArMTI3LDExIEBAIFN0cmluZyBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6
YWNjZXB0VHkKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTElucHV0RWxlbWVudCo+KG5vZGUo
KSktPmFjY2VwdCgpOwogfQogCitTdHJpbmcgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OmNhcHR1
cmVEZXZpY2UoKQoreworICAgIHJldHVybiBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4o
bm9kZSgpKS0+Y2FwdHVyZSgpOworfQorCiB2b2lkIFJlbmRlckZpbGVVcGxvYWRDb250cm9sOjp1
cGRhdGVSZW5kZXJpbmcoUGFzc1JlZlB0cjxJY29uPiBpY29uKQogewogICAgIGlmIChtX2ljb24g
PT0gaWNvbikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2Fk
Q29udHJvbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJG
aWxlVXBsb2FkQ29udHJvbC5oCShyZXZpc2lvbiA4OTMzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5oCSh3b3JraW5nIGNvcHkpCkBAIC02NSw2
ICs2NSw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHJlY2VpdmVEcm9wRm9yRGlyZWN0
b3J5VXBsb2FkKGNvbnN0IFZlY3RvcjxTdHJpbmc+Jik7CiAjZW5kaWYKICAgICB2aXJ0dWFsIFN0
cmluZyBhY2NlcHRUeXBlcygpOworICAgIHZpcnR1YWwgU3RyaW5nIGNhcHR1cmVEZXZpY2UoKTsK
IAogICAgIC8vIEZpbGVJY29uTG9hZGVyQ2xpZW50IGZ1bmN0aW9ucy4KICAgICB2aXJ0dWFsIHZv
aWQgdXBkYXRlUmVuZGVyaW5nKFBhc3NSZWZQdHI8SWNvbj4pOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123233</attachid>
            <date>2012-01-19 18:15:00 -0800</date>
            <delta_ts>2012-01-19 20:08:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-63062-20120120111457.patch</filename>
            <type>text/plain</type>
            <size>29777</size>
            <attacher name="Jongseok Yang">js45.yang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0OTE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
ZDdlMjY5MzY4MjczOTIxMDc1Y2JlN2M1Njk1MjIzNDE1MjIzMjVkLi5mODEzZGYzN2UxMDM5NDU2
NWU3MDc5MjRhOGFjMmQ3Njg5NTI1ZTllIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAxMi0wMS0xOSAgSm9uZ1Nlb2sgWWFuZyAgPGpzNDUueWFuZ0BzYW1zdW5n
LmNvbT4KKworICAgICAgICBBZGQgY2FwdHVyZSBhdHRyaWJ1dGUgZm9yIEhUTUwgTWVkaWEgQ2Fw
dHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMw
NjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQg
b3B0aW9uIGZvciBIVE1MIE1lZGlhIENhcHR1cmUuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxMi0wMS0xMyAgWXVxaWFuZyBYaWFuICA8
eXVxaWFuZy54aWFuQGludGVsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZpeCBh
ZnRlciByMTA0Nzg3IGlmIEpJVF9WRVJCT1NFX09TUiBpcyBkZWZpbmVkCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MzM3NzY2ZmI5OWIxZTNkZjAzZGUzMGFjOTVkZWVhOTBjMzIxNTFjYi4uYTY2ZjQ2NjRhY2YxNGNk
YTAzNmYwZTM0MGQ0OGQxYTc3NTMxZTZlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisy
MDEyLTAxLTE5ICBKb25nU2VvayBZYW5nICA8anM0NS55YW5nQHNhbXN1bmcuY29tPgorCisgICAg
ICAgIEFkZCBjYXB0dXJlIGF0dHJpYnV0ZSBmb3IgSFRNTCBNZWRpYSBDYXB0dXJlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MzA2MgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlZSBodHRwOi8vd3d3Lncz
Lm9yZy9UUi8yMDExL1dELWh0bWwtbWVkaWEtY2FwdHVyZS0yMDExMDQxNC8gZm9yIEhUTUwgTWVk
aWEgQ2FwdHVyZS4KKyAgICAgICAgVG8gc3VwcG9ydCB0aGUgc3BlYywgImNhcHR1cmUiIGF0dHJp
YnV0ZSBpcyByZXF1aXJlZCBhbmQgdGhlIGF0dHJpYnV0ZSBjYW4gYmUgdXNlZCBpbgorICAgICAg
ICBDaHJvbWVDbGllbnQ6OnJ1bk9wZW5QYW5lbCgpIGZvciBlYWNoIHBvcnQuCisKKyAgICAgICAg
T25lIHBvcnQgbWlnaHQgZXhlY3V0ZSB0aGUgZmlsZSBwaWNrIGxpa2UgdGhlIGV4YW1wbGVzIGlu
IHRoZSBzcGVjLgorICAgICAgICBBbm90aGVyIHBvcnQgbWlnaHQgZGlzcGxheSBhIGxpc3QgcG9w
dXAgdG8gcHJvdmlkZSB0aGUgaW50ZXJmYWNlIGZvciB0aGUgc2VsZWN0aW9uIGZyb20gdGhlIHVz
ZXIuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoK
KyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBodG1sL0ZpbGVJbnB1dFR5cGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RmlsZUlucHV0VHlwZTo6aGFuZGxlRE9NQWN0aXZhdGVF
dmVudCk6CisgICAgICAgICogaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW46CisgICAgICAgICog
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVs
ZW1lbnQ6OmNhcHR1cmUpOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5oOgorICAg
ICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5pZGw6CisgICAgICAgICogcGxhdGZvcm0vRmls
ZUNob29zZXIuaDoKKwogMjAxMi0wMS0xMyAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFtDaHJvbWl1bV0gSmF2YVNjcmlw
dE91dGxpbmVEaWFsb2cgZmFpbHMgdG8gb3BlbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9l
ZmwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCmluZGV4IDMyNzU5MWI1
ODZjMDJhZTljNGRjMjdmNWM4NjU1NzQxNmM0ZDkyNjIuLjVhOGI3ZTEyZjY3NDA0YjJhMzQ4MGQ4
MjUyZDI3YmFjODk5ODhkZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAx
Mi0wMS0xOSAgSm9uZ1Nlb2sgWWFuZyAgPGpzNDUueWFuZ0BzYW1zdW5nLmNvbT4KKworICAgICAg
ICBBZGQgY2FwdHVyZSBhdHRyaWJ1dGUgZm9yIEhUTUwgTWVkaWEgQ2FwdHVyZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMwNjIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgY2FwdHVyZSBhdHRyaWJ1
dGUgdG8gc3VwcG9ydCBIVE1MIE1lZGlhIENhcHR1cmUuCisgICAgICAgIGV3a192aWV3X3J1bl9v
cGVuX3BhbmVsIHVzZXMgV2ViQ29yZTo6RmlsZUNob29zZXJTZXR0aW5ncyBhcyB0aGUgcGFyYW1l
dGVyIHRvIHVzZSBjYXB0dXJlIGF0dHJpYnV0ZS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEVmbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRFZmw6
OnJ1bk9wZW5QYW5lbCk6CisgICAgICAgICogZXdrL2V3a19wcml2YXRlLmg6CisgICAgICAgICog
ZXdrL2V3a192aWV3LmNwcDoKKyAgICAgICAgKGV3a192aWV3X3J1bl9vcGVuX3BhbmVsKToKKyAg
ICAgICAgKiBld2svZXdrX3ZpZXcuaDoKKwogMjAxMi0wMS0xMyAgS3dhbmdIeXVrIEtpbSAgPGh5
dWtpLmtpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXSBVbnVzZWQgY29kZSBjbGVhbnVw
IG9uIGV3a190aWxlZF9tb2RlbC5jcHAuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggMmQzMmRjMDAxMDNi
OWE5NTI5ZjgzZDRlNGM3ODFjMmE1NGI0ODlmYS4uM2M2ZDdiYjU4YzU2ZDczMzE3YjM0ODJmZTVl
YjdjOGFhYmM4NzNmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEyLTAx
LTE5ICBKb25nU2VvayBZYW5nICA8anM0NS55YW5nQHNhbXN1bmcuY29tPgorCisgICAgICAgIEFk
ZCBjYXB0dXJlIGF0dHJpYnV0ZSBmb3IgSFRNTCBNZWRpYSBDYXB0dXJlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MzA2MgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBvcHRpb24gZm9yIEhUTUwgTWVk
aWEgQ2FwdHVyZS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnOgorCiAyMDEyLTAxLTExICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAog
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5MDQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBhYzM3NjE1ZTgxOWMxM2VkZTE1NDJhZTJiMGU1OWQ2
YjU1MjhjOTMxLi5lY2Q3NjYxZDkxNTlkYjUzMzFmMGE2OTY2Nzg0YmI0MzgyODQ0Y2JkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC04Myw2ICs4Myw3IEBAIEVOQUJMRV9GSUxFX1NZU1RF
TSA9IDsKIEVOQUJMRV9GVUxMU0NSRUVOX0FQSSA9IEVOQUJMRV9GVUxMU0NSRUVOX0FQSTsKIEVO
QUJMRV9HQU1FUEFEID0gOwogRU5BQkxFX0dFT0xPQ0FUSU9OID0gRU5BQkxFX0dFT0xPQ0FUSU9O
OworRU5BQkxFX0hUTUxfTUVESUFfQ0FQVFVSRSA9IDsKIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
ID0gOwogRU5BQkxFX0lOUFVUX0NPTE9SID0gOwogRU5BQkxFX0lOUFVUX1NQRUVDSCA9IDsKQEAg
LTEyMSw0ICsxMjIsNCBAQCBFTkFCTEVfV0VCX1RJTUlORyA9IDsKIEVOQUJMRV9XT1JLRVJTID0g
RU5BQkxFX1dPUktFUlM7CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RF
RklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NB
TlZBUykgJChFTkFCTEVfQU5JTUFUSU9OX0FQSSkgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0hB
Tk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikgJChFTkFC
TEVfQ1NTX0ZJTFRFUlMpICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX1NI
QURFUlMpICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAk
KEVOQUJMRV9ERVRBSUxTKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RJ
UkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVOQUJMRV9GSUxURVJTKSAk
KEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9D
QVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkg
JChFTkFCTEVfSU5QVVRfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxF
X0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9KQVZB
U0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwp
ICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFC
TEVfTUVURVJfVEFHKSAkKEVOQUJMRV9NVVRBVElPTl9PQlNFUlZFUlMpICQoRU5BQkxFX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BST0dSRVNT
X1RBRykgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIp
ICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9TSEFSRURfV09SS0VS
UykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9TVFlMRV9TQ09QRUQpICQoRU5BQkxF
X1NWRykgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMp
ICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJ
REVPX1RSQUNLKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9X
RUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV09SS0VSUykgJChFTkFC
TEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQU5JTUFUSU9OX0FQSSkgJChFTkFC
TEVfQkxPQikgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NMSUVOVF9CQVNF
RF9HRU9MT0NBVElPTikgJChFTkFCTEVfQ1NTX0ZJTFRFUlMpICQoRU5BQkxFX0NTU19HUklEX0xB
WU9VVCkgJChFTkFCTEVfQ1NTX1NIQURFUlMpICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVOQUJMRV9E
QVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTKSAkKEVOQUJMRV9ERVZJQ0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0ZJTEVfU1lTVEVN
KSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FN
RVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hUTUxfTUVESUFfQ0FQVFVSRSkg
JChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJM
RV9JTlBVVF9DT0xPUikgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0pBVkFTQ1JJUFRf
REVCVUdHRVIpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFC
TEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRF
Ul9UQUcpICQoRU5BQkxFX01VVEFUSU9OX09CU0VSVkVSUykgJChFTkFCTEVfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUFJPR1JFU1NfVEFHKSAk
KEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikgJChFTkFC
TEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVO
QUJMRV9TUUxfREFUQUJBU0UpICQoRU5BQkxFX1NUWUxFX1NDT1BFRCkgJChFTkFCTEVfU1ZHKSAk
KEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJB
Q0spICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NL
RVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YU0xU
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKaW5kZXggMGRiYzhiZDE1YzVhNjYxOThiM2UxMGM1NGM2ODI2NDViYTA4YTUx
NC4uNzMwNjViN2NlMGI2MzNkYWYxNTYxOTMyZGU5YTJiN2U5ZGNhMjZiMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysr
IGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
QEAgLTgzLDYgKzgzLDcgQEAgRU5BQkxFX0ZJTEVfU1lTVEVNID0gOwogRU5BQkxFX0ZVTExTQ1JF
RU5fQVBJID0gRU5BQkxFX0ZVTExTQ1JFRU5fQVBJOwogRU5BQkxFX0dBTUVQQUQgPSA7CiBFTkFC
TEVfR0VPTE9DQVRJT04gPSBFTkFCTEVfR0VPTE9DQVRJT047CitFTkFCTEVfSFRNTF9NRURJQV9D
QVBUVVJFID0gOwogRU5BQkxFX0lOREVYRURfREFUQUJBU0UgPSA7CiBFTkFCTEVfSU5QVVRfQ09M
T1IgPSA7CiBFTkFCTEVfSU5QVVRfU1BFRUNIID0gOwpAQCAtMTIxLDQgKzEyMiw0IEBAIEVOQUJM
RV9XRUJfVElNSU5HID0gOwogRU5BQkxFX1dPUktFUlMgPSBFTkFCTEVfV09SS0VSUzsKIEVOQUJM
RV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JF
TkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BTklNQVRJ
T05fQVBJKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFC
TEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9DU1NfRklMVEVSUykgJChFTkFC
TEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfU0hBREVSUykgJChFTkFCTEVfREFUQUxJ
U1QpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFMpICQoRU5B
QkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFC
TEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRB
VEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9DT0xPUikg
JChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICQoRU5B
QkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfU09VUkNF
KSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9UQUcpICQoRU5BQkxF
X01VVEFUSU9OX09CU0VSVkVSUykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFH
RV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUFJPR1JFU1NfVEFHKSAkKEVOQUJMRV9RVU9UQSkg
JChFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikgJChFTkFCTEVfUkVRVUVTVF9BTklN
QVRJT05fRlJBTUUpICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TUUxfREFUQUJB
U0UpICQoRU5BQkxFX1NUWUxFX1NDT1BFRCkgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfRE9N
X09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9M
T0FESU5HKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1dF
QkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9X
RUJfVElNSU5HKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVG
SU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FO
VkFTKSAkKEVOQUJMRV9BTklNQVRJT05fQVBJKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DSEFO
TkVMX01FU1NBR0lORykgJChFTkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9DU1NfRklMVEVSUykgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfU0hB
REVSUykgJChFTkFCTEVfREFUQUxJU1QpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQo
RU5BQkxFX0RFVEFJTFMpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElS
RUNUT1JZX1VQTE9BRCkgJChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQo
RU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NB
VElPTikgJChFTkFCTEVfSFRNTF9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9JQ09OREFUQUJBU0Up
ICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX0NPTE9SKSAkKEVOQUJM
RV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTElO
S19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5B
QkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX1RBRykgJChFTkFCTEVfTVVUQVRJ
T05fT0JTRVJWRVJTKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQUdFX1ZJU0lC
SUxJVFlfQVBJKSAkKEVOQUJMRV9QUk9HUkVTU19UQUcpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJM
RV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9G
UkFNRSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NRTF9EQVRBQkFTRSkgJChF
TkFCTEVfU1RZTEVfU0NPUEVEKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19ET01fT0JKQ19C
SU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcp
ICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfV0VCR0wpICQo
RU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1J
TkcpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpp
bmRleCAwOTQzZTcwN2E5OTY1ZmQ1M2U5M2VlOWYzNmVlZWI2ZDhhNTk5NGExLi4xYWUzNDFmZTg1
MjRjYmZmNWU4ZWU3ODJhZDQ1ZjllZjExYmQ1NjA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAt
NDM0LDYgKzQzNCwxMSBAQCBGRUFUVVJFX0RFRklORVMgKz0gRU5BQkxFX0dFT0xPQ0FUSU9OPTEg
RU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTj0xCiB3ZWJjb3JlX2NwcGZsYWdzICs9IC1E
RU5BQkxFX0dFT0xPQ0FUSU9OPTEgLURFTkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OPTEK
IGVuZGlmICMgRU5EIEVOQUJMRV9HRU9MT0NBVElPTgogCitpZiBFTkFCTEVfSFRNTF9NRURJQV9D
QVBUVVJFCitGRUFUVVJFX0RFRklORVMgKz0gRU5BQkxFX0hUTUxfTUVESUFfQ0FQVFVSRT0xCit3
ZWJjb3JlX2NwcGZsYWdzICs9IC1ERU5BQkxFX0hUTUxfTUVESUFfQ0FQVFVSRT0xCitlbmRpZiAj
IEVORCBFTkFCTEVfSFRNTF9NRURJQV9DQVBUVVJFCisKICMgLS0tLQogIyBNYXRoTUwgc3VwcG9y
dAogIyAtLS0tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZpbGVJbnB1dFR5cGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9GaWxlSW5wdXRUeXBlLmNwcAppbmRleCA2NTVlODFl
YWRiYzczMTE5YzUwMGI2ZDU1OTcwOTJiMDg1NGYyZTA3Li4xNTBlYjE1YWE2MTdmMDY2MDQ3OGE3
Nzc1ZjUzMDliNDA4MTA4YmM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZpbGVJ
bnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmlsZUlucHV0VHlwZS5jcHAK
QEAgLTE1NCw2ICsxNTQsOSBAQCB2b2lkIEZpbGVJbnB1dFR5cGU6OmhhbmRsZURPTUFjdGl2YXRl
RXZlbnQoRXZlbnQqIGV2ZW50KQogI2Vsc2UKICAgICAgICAgc2V0dGluZ3MuYWxsb3dzTXVsdGlw
bGVGaWxlcyA9IGlucHV0LT5mYXN0SGFzQXR0cmlidXRlKG11bHRpcGxlQXR0cik7CiAjZW5kaWYK
KyNpZiBFTkFCTEUoSFRNTF9NRURJQV9DQVBUVVJFKQorICAgICAgICBzZXR0aW5ncy5jYXB0dXJl
VHlwZSA9IGlucHV0LT5jYXB0dXJlKCk7CisjZW5kaWYKICAgICAgICAgc2V0dGluZ3MuYWNjZXB0
TUlNRVR5cGVzID0gaW5wdXQtPmFjY2VwdE1JTUVUeXBlcygpOwogICAgICAgICBzZXR0aW5ncy5z
ZWxlY3RlZEZpbGVzID0gbV9maWxlTGlzdC0+cGF0aHMoKTsKICAgICAgICAgY2hyb21lLT5ydW5P
cGVuUGFuZWwoaW5wdXQtPmRvY3VtZW50KCktPmZyYW1lKCksIG5ld0ZpbGVDaG9vc2VyKHNldHRp
bmdzKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1l
cy5pbiBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCmluZGV4IGE2
ZGRhOTRiOWM3YWMzNWZmMDhhNGNmNjNjMjkyYWY3YjRiNzQ5NDguLmQ4YTA3NmVjMjViNWMyMDNj
ZWM4NTRlNDBlNTE0M2M3ZmM5NDZiNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEF0dHJpYnV0ZU5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJp
YnV0ZU5hbWVzLmluCkBAIC01OCw2ICs1OCw3IEBAIGJnY29sb3IKIGJncHJvcGVydGllcwogYm9y
ZGVyCiBib3JkZXJjb2xvcgorY2FwdHVyZQogY2VsbHBhZGRpbmcKIGNlbGxzcGFjaW5nCiBjaGFy
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAppbmRleCA3NTAxYmM0MzY5
MDgzZTk4N2EzZWI4ZWViMGIzNTM4M2NmZTk5YjY3Li5kNmUxZmFmNDU5YWNiOWM2NDUyNzZjZjcz
NzQxNzgyMTViM2I2MWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1
dEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5j
cHAKQEAgLTEzNTksNiArMTM1OSwxMyBAQCBTdHJpbmcgSFRNTElucHV0RWxlbWVudDo6YWx0KCkg
Y29uc3QKICAgICByZXR1cm4gZmFzdEdldEF0dHJpYnV0ZShhbHRBdHRyKTsKIH0KIAorI2lmIEVO
QUJMRShIVE1MX01FRElBX0NBUFRVUkUpCitTdHJpbmcgSFRNTElucHV0RWxlbWVudDo6Y2FwdHVy
ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhc3RHZXRBdHRyaWJ1dGUoY2FwdHVyZUF0dHIpOwor
fQorI2VuZGlmCisKIGludCBIVE1MSW5wdXRFbGVtZW50OjptYXhMZW5ndGgoKSBjb25zdAogewog
ICAgIHJldHVybiBtX21heExlbmd0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTElucHV0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50
LmgKaW5kZXggZmM2ZjA2ODI4Zjk4N2JjOGUwZDc1OWM1MjljOTBiYjNlYzcxOTU1Yi4uNzRmOWQw
MDQ0ZjEzMDZhNzA2NTMwOWQwNWZkNzNlNDY5YWNlMzBjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MSW5wdXRFbGVtZW50LmgKQEAgLTE5Miw2ICsxOTIsMTAgQEAgcHVibGljOgogICAgIFN0cmlu
ZyBhY2NlcHQoKSBjb25zdDsKICAgICBTdHJpbmcgYWx0KCkgY29uc3Q7CiAKKyNpZiBFTkFCTEUo
SFRNTF9NRURJQV9DQVBUVVJFKQorICAgIFN0cmluZyBjYXB0dXJlKCkgY29uc3Q7CisjZW5kaWYK
KwogICAgIHZvaWQgc2V0U2l6ZSh1bnNpZ25lZCk7CiAKICAgICBLVVJMIHNyYygpIGNvbnN0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5pZGwKaW5kZXggNzQ2MzMzNGJiMWFm
YjM2ZDkzYzZhODc2NDFiNDJjNjUyOGI1YTVkNC4uNDc3NTFjZWE1NGNmNzM1OTc2OTc0MjA1N2U5
YTY4MDg3ODZlNGM3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRF
bGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRs
CkBAIC0zNCw2ICszNCw5IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgYXR0cmlidXRlIFtSZWZs
ZWN0XSBET01TdHJpbmcgYWNjZXB0OwogICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0
cmluZyBhbGlnbjsKICAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgYWx0Owor
I2lmIGRlZmluZWQoRU5BQkxFX0hUTUxfTUVESUFfQ0FQVFVSRSkgJiYgRU5BQkxFX0hUTUxfTUVE
SUFfQ0FQVFVSRQorICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBjYXB0dXJl
OworI2VuZGlmCiAgICAgICAgIGF0dHJpYnV0ZSBib29sZWFuIGNoZWNrZWQ7CiAgICAgICAgIGF0
dHJpYnV0ZSBbUmVmbGVjdF0gYm9vbGVhbiBkaXNhYmxlZDsKICAgICAgICAgYXR0cmlidXRlIFtS
ZWZsZWN0XSBib29sZWFuIGF1dG9mb2N1czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0ZpbGVDaG9vc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlQ2hvb3Nl
ci5oCmluZGV4IGNjMjBiZTI4MWI4NDI0Y2JlYmUwMTVhNzI3YTU0Zjg2YjBlM2VhMzEuLmMzNTYw
MjYyOTkyMjViZTlhOTgwZmEwZDk2NzA1YzlmOWIzZjU0OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0ZpbGVDaG9vc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vRmlsZUNob29zZXIuaApAQCAtNDMsNiArNDMsOSBAQCBzdHJ1Y3QgRmlsZUNob29zZXJTZXR0
aW5ncyB7CiAjaWYgRU5BQkxFKERJUkVDVE9SWV9VUExPQUQpCiAgICAgYm9vbCBhbGxvd3NEaXJl
Y3RvcnlVcGxvYWQ7CiAjZW5kaWYKKyNpZiBFTkFCTEUoSFRNTF9NRURJQV9DQVBUVVJFKQorICAg
IFN0cmluZyBjYXB0dXJlVHlwZTsKKyNlbmRpZgogICAgIFZlY3RvcjxTdHJpbmc+IGFjY2VwdE1J
TUVUeXBlczsKICAgICBWZWN0b3I8U3RyaW5nPiBzZWxlY3RlZEZpbGVzOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwCmlu
ZGV4IGEyNWY5ZDBlNDcwOGJiMGFhNTViNGJmNTcyMjgwZjk1OTI5OTIwY2MuLmQyMWJjZDRhZDY1
OTg4M2RhYWRlNjFmMzlhMmRjNGEyYzFhMzBmYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
ZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcApAQCAtNDMyLDggKzQzMiw3
IEBAIHZvaWQgQ2hyb21lQ2xpZW50RWZsOjpydW5PcGVuUGFuZWwoRnJhbWUqIGZyYW1lLCBQYXNz
UmVmUHRyPEZpbGVDaG9vc2VyPiBwcnBGaWxlCiAgICAgdm9pZCogZmlsZW5hbWU7CiAgICAgVmVj
dG9yPFN0cmluZz4gZmlsZW5hbWVzOwogCi0gICAgY29uc3QgRmlsZUNob29zZXJTZXR0aW5ncyYg
c2V0dGluZ3MgPSBjaG9vc2VyLT5zZXR0aW5ncygpOwotICAgIGJvb2wgY29uZmlybSA9IGV3a192
aWV3X3J1bl9vcGVuX3BhbmVsKG1fdmlldywga2l0KGZyYW1lKSwgc2V0dGluZ3MuYWxsb3dzTXVs
dGlwbGVGaWxlcywgc2V0dGluZ3MuYWNjZXB0TUlNRVR5cGVzLCAmc2VsZWN0ZWRGaWxlbmFtZXMp
OworICAgIGJvb2wgY29uZmlybSA9IGV3a192aWV3X3J1bl9vcGVuX3BhbmVsKG1fdmlldywga2l0
KGZyYW1lKSwgY2hvb3Nlci0+c2V0dGluZ3MoKSwgJnNlbGVjdGVkRmlsZW5hbWVzKTsKIAogICAg
IGlmICghY29uZmlybSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9lZmwvZXdrL2V3a19wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ByaXZh
dGUuaAppbmRleCAyMDI1OTQxYzliNDZiMDhhOTBmYWE1NTk0MzlmMjE4ZDI5ZGY5MTQwLi40N2Q3
NDY0MGRjNzk2ODMzY2E2NTIwNTA1YjgzNTM3YmU3NGZlZDAzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX3ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX3ByaXZhdGUuaApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiQVBJQ2FzdC5oIgog
I2luY2x1ZGUgIkJhY2tGb3J3YXJkTGlzdEltcGwuaCIKKyNpbmNsdWRlICJGaWxlQ2hvb3Nlci5o
IgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiTlBfanNvYmplY3QuaCIKICNpbmNsdWRl
ICJQYWdlLmgiCkBAIC0xMjksNyArMTMwLDcgQEAgYm9vbCBld2tfdmlld19ydW5famF2YXNjcmlw
dF9wcm9tcHQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIEV2YXNfT2JqZWN0KiBmcmFtZSwgY28KIGJv
b2wgZXdrX3ZpZXdfc2hvdWxkX2ludGVycnVwdF9qYXZhc2NyaXB0KEV2YXNfT2JqZWN0KiBld2tW
aWV3KTsKIHVpbnQ2NF90IGV3a192aWV3X2V4Y2VlZGVkX2RhdGFiYXNlX3F1b3RhKEV2YXNfT2Jq
ZWN0KiBld2tWaWV3LCBFdmFzX09iamVjdCogZnJhbWUsIGNvbnN0IGNoYXIqIGRhdGFiYXNlTmFt
ZSwgdWludDY0X3QgY3VycmVudFNpemUsIHVpbnQ2NF90IGV4cGVjdGVkU2l6ZSk7CiAKLWJvb2wg
ZXdrX3ZpZXdfcnVuX29wZW5fcGFuZWwoRXZhc19PYmplY3QqIGV3a1ZpZXcsIEV2YXNfT2JqZWN0
KiBmcmFtZSwgYm9vbCBhbGxvd3NNdWx0aXBsZUZpbGVzLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYg
YWNjZXB0TUlNRVR5cGVzLCBFaW5hX0xpc3QqKiBzZWxlY3RlZEZpbGVuYW1lcyk7Citib29sIGV3
a192aWV3X3J1bl9vcGVuX3BhbmVsKEV2YXNfT2JqZWN0KiBld2tWaWV3LCBFdmFzX09iamVjdCog
ZnJhbWUsIGNvbnN0IFdlYkNvcmU6OkZpbGVDaG9vc2VyU2V0dGluZ3MmIHNldHRpbmdzLCBFaW5h
X0xpc3QqKiBzZWxlY3RlZEZpbGVuYW1lcyk7CiAKIHZvaWQgZXdrX3ZpZXdfcmVwYWludChFdmFz
X09iamVjdCogZXdrVmlldywgRXZhc19Db29yZCB4LCBFdmFzX0Nvb3JkIHksIEV2YXNfQ29vcmQg
d2lkdGgsIEV2YXNfQ29vcmQgaGVpZ2h0KTsKIHZvaWQgZXdrX3ZpZXdfc2Nyb2xsKEV2YXNfT2Jq
ZWN0KiBld2tWaWV3LCBFdmFzX0Nvb3JkIGRlbHRhWCwgRXZhc19Db29yZCBkZWx0YVksIEV2YXNf
Q29vcmQgc2Nyb2xsWCwgRXZhc19Db29yZCBzY3JvbGxZLCBFdmFzX0Nvb3JkIHNjcm9sbFdpZHRo
LCBFdmFzX0Nvb3JkIHNjcm9sbEhlaWdodCwgRXZhc19Db29yZCBjZW50ZXJYLCBFdmFzX0Nvb3Jk
IGNlbnRlclksIEV2YXNfQ29vcmQgY2VudGVyVywgRXZhc19Db29yZCBjZW50ZXJIZWlnaHQpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcCBiL1NvdXJjZS9X
ZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAKaW5kZXggN2ZkYmMxMWFiOWQwNTIwNjdmMDBiOTBl
MjI5ZTE1MzU4YTliOWYwZC4uOWU1YjkwMjRlNmVhYmMxYjliYTM4YWU1N2U5ZmU0ZDI4MTQwYjlk
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCkBAIC0zMzI4LDkgKzMzMjgsOSBAQCB1
aW50NjRfdCBld2tfdmlld19leGNlZWRlZF9kYXRhYmFzZV9xdW90YShFdmFzX09iamVjdCogZXdr
VmlldywgRXZhc19PYmplY3QqIGZyYQogICoKICAqIEByZXR1cm4gQGZhbHNlIGlmIHVzZXIgY2Fu
Y2VsZWQgZmlsZSBzZWxlY3Rpb247IEB0cnVlIGlmIGNvbmZpcm1lZC4KICAqLwotYm9vbCBld2tf
dmlld19ydW5fb3Blbl9wYW5lbChFdmFzX09iamVjdCogZXdrVmlldywgRXZhc19PYmplY3QqIGZy
YW1lLCBib29sIGFsbG93c011bHRpcGxlRmlsZXMsIGNvbnN0IFdURjo6VmVjdG9yPFdURjo6U3Ry
aW5nPiYgYWNjZXB0TUlNRVR5cGVzLCBFaW5hX0xpc3QqKiBzZWxlY3RlZEZpbGVuYW1lcykKK2Jv
b2wgZXdrX3ZpZXdfcnVuX29wZW5fcGFuZWwoRXZhc19PYmplY3QqIGV3a1ZpZXcsIEV2YXNfT2Jq
ZWN0KiBmcmFtZSwgY29uc3QgV2ViQ29yZTo6RmlsZUNob29zZXJTZXR0aW5ncyYgc2V0dGluZ3Ms
IEVpbmFfTGlzdCoqIHNlbGVjdGVkRmlsZW5hbWVzKQogewotICAgIERCRygiZXdrVmlldz0lcCBm
cmFtZT0lcCBhbGxvd3NfbXVsdGlwbGVfZmlsZXM9JWQiLCBld2tWaWV3LCBmcmFtZSwgYWxsb3dz
TXVsdGlwbGVGaWxlcyk7CisgICAgREJHKCJld2tWaWV3PSVwIGZyYW1lPSVwIiwgZXdrVmlldywg
ZnJhbWUpOwogICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21hcnREYXRh
LCBmYWxzZSk7CiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKHNtYXJ0RGF0YS0+
YXBpLCBmYWxzZSk7CiAKQEAgLTMzMzksMTcgKzMzMzksMjMgQEAgYm9vbCBld2tfdmlld19ydW5f
b3Blbl9wYW5lbChFdmFzX09iamVjdCogZXdrVmlldywgRXZhc19PYmplY3QqIGZyYW1lLCBib29s
IGFsbG8KIAogICAgICpzZWxlY3RlZEZpbGVuYW1lcyA9IDA7CiAKLSAgICBFaW5hX0xpc3QqIGNB
Y2NlcHRNSU1FVHlwZXMgPSAwOwotICAgIGZvciAoV1RGOjpWZWN0b3I8V1RGOjpTdHJpbmc+Ojpj
b25zdF9pdGVyYXRvciBpdGVyYXRvciA9IGFjY2VwdE1JTUVUeXBlcy5iZWdpbigpOyBpdGVyYXRv
ciAhPSBhY2NlcHRNSU1FVHlwZXMuZW5kKCk7ICsraXRlcmF0b3IpCi0gICAgICAgIGNBY2NlcHRN
SU1FVHlwZXMgPSBlaW5hX2xpc3RfYXBwZW5kKGNBY2NlcHRNSU1FVHlwZXMsIHN0cmR1cCgoKml0
ZXJhdG9yKS51dGY4KCkuZGF0YSgpKSk7CisgICAgRXdrX0ZpbGVfQ2hvb3Nlcl9TZXR0aW5ncyBj
aG9vc2VyU2V0dGluZ3M7CisgICAgY2hvb3NlclNldHRpbmdzLmFsbG93c19tdWx0aXBsZSA9IHNl
dHRpbmdzLmFsbG93c011bHRpcGxlRmlsZXM7CisgICAgY2hvb3NlclNldHRpbmdzLmNhcHR1cmVf
dHlwZSA9IDA7CisjaWYgRU5BQkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkKKyAgICBpZiAoc2V0dGlu
Z3MuY2FwdHVyZVR5cGUubGVuZ3RoKCkpCisgICAgICAgIGNob29zZXJTZXR0aW5ncy5jYXB0dXJl
X3R5cGUgPSBjb25zdF9jYXN0PGNoYXIqPihzZXR0aW5ncy5jYXB0dXJlVHlwZS51dGY4KCkuZGF0
YSgpKTsKKyNlbmRpZgorCisgICAgY2hvb3NlclNldHRpbmdzLmFjY2VwdF90eXBlcyA9IDA7Cisg
ICAgZm9yIChXVEY6OlZlY3RvcjxXVEY6OlN0cmluZz46OmNvbnN0X2l0ZXJhdG9yIGl0ZXJhdG9y
ID0gc2V0dGluZ3MuYWNjZXB0TUlNRVR5cGVzLmJlZ2luKCk7IGl0ZXJhdG9yICE9IHNldHRpbmdz
LmFjY2VwdE1JTUVUeXBlcy5lbmQoKTsgKytpdGVyYXRvcikKKyAgICAgICAgY2hvb3NlclNldHRp
bmdzLmFjY2VwdF90eXBlcyA9IGVpbmFfbGlzdF9hcHBlbmQoY2hvb3NlclNldHRpbmdzLmFjY2Vw
dF90eXBlcywgKCppdGVyYXRvcikudXRmOCgpLmRhdGEoKSk7CiAKLSAgICBib29sIGNvbmZpcm0g
PSBzbWFydERhdGEtPmFwaS0+cnVuX29wZW5fcGFuZWwoc21hcnREYXRhLCBmcmFtZSwgYWxsb3dz
TXVsdGlwbGVGaWxlcywgY0FjY2VwdE1JTUVUeXBlcywgc2VsZWN0ZWRGaWxlbmFtZXMpOworICAg
IGJvb2wgY29uZmlybSA9IHNtYXJ0RGF0YS0+YXBpLT5ydW5fb3Blbl9wYW5lbChzbWFydERhdGEs
IGZyYW1lLCAmY2hvb3NlclNldHRpbmdzLCBzZWxlY3RlZEZpbGVuYW1lcyk7CiAgICAgaWYgKCFj
b25maXJtICYmICpzZWxlY3RlZEZpbGVuYW1lcykKICAgICAgICAgRVJSKCJDYW5jZWxlZCBmaWxl
IHNlbGVjdGlvbiwgYnV0IHNlbGVjdGVkIGZpbGVuYW1lcyAhPSAwLiBGcmVlIG5hbWVzIGJlZm9y
ZSByZXR1cm4uIik7CiAKLSAgICB2b2lkKiBpdGVtID0gMDsKLSAgICBFSU5BX0xJU1RfRlJFRShj
QWNjZXB0TUlNRVR5cGVzLCBpdGVtKQotICAgICAgICBmcmVlKGl0ZW0pOworICAgIGVpbmFfbGlz
dF9mcmVlKGNob29zZXJTZXR0aW5ncy5hY2NlcHRfdHlwZXMpOwogCiAgICAgcmV0dXJuIGNvbmZp
cm07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaCBiL1Nv
dXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCmluZGV4IGQwYmU2MWQ3NTI0OTA3OGMyZGNl
YjMzODYwOTUxNDg0ZmM2NzQ5ZmUuLmE4NjVhNzE1ODc2OTNlZGFlNzA3Njk2OTQ0ZDY4NTc2NWNj
ZmE5MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCkBAIC0xMDgsNiArMTA4LDE1IEBAIHR5
cGVkZWYgdm9pZCogKCpFd2tfVmlld19SZXNvdXJjZV9IYW5kbGVyX0NiKShjb25zdCBjaGFyICos
IHNpemVfdCAqLCBjaGFyICoqLCB2CiAvLy8gQ3JlYXRlcyBhIHR5cGUgbmFtZSBmb3IgQGEgX0V3
a19WaWV3X1NtYXJ0X0NsYXNzLgogdHlwZWRlZiBzdHJ1Y3QgX0V3a19WaWV3X1NtYXJ0X0NsYXNz
IEV3a19WaWV3X1NtYXJ0X0NsYXNzOwogCisvLy8gQ3JlYXRlcyBhIHR5cGUgbmFtZSBmb3IgQGEg
X0V3a19GaWxlX0Nob29zZXJfU2V0dGluZ3MuCit0eXBlZGVmIHN0cnVjdCBfRXdrX0ZpbGVfQ2hv
b3Nlcl9TZXR0aW5ncyBFd2tfRmlsZV9DaG9vc2VyX1NldHRpbmdzOworCitzdHJ1Y3QgX0V3a19G
aWxlX0Nob29zZXJfU2V0dGluZ3MgeworICAgIEVpbmFfQm9vbCBhbGxvd3NfbXVsdGlwbGU7Cisg
ICAgY2hhciogY2FwdHVyZV90eXBlOworICAgIEVpbmFfTGlzdCogYWNjZXB0X3R5cGVzOworfTsK
KwogLy8gRGVmaW5lcyB0aGUgZGlyZWN0aW9uIG9mIGZvY3VzIGNoYW5nZS4gS2VlcCBpbiBzeW5j
IHdpdGgKIC8vIFdlYkNvcmU6OkZvY3VzRGlyZWN0aW9uLgogZW51bSBfRXdrX0ZvY3VzX0RpcmVj
dGlvbiB7CkBAIC0xNTksNyArMTY4LDcgQEAgc3RydWN0IF9Fd2tfVmlld19TbWFydF9DbGFzcyB7
CiAgICAgRWluYV9Cb29sICgqc2hvdWxkX2ludGVycnVwdF9qYXZhc2NyaXB0KShFd2tfVmlld19T
bWFydF9EYXRhICpzZCk7CiAgICAgdWludDY0X3QgKCpleGNlZWRlZF9kYXRhYmFzZV9xdW90YSko
RXdrX1ZpZXdfU21hcnRfRGF0YSAqc2QsIEV2YXNfT2JqZWN0ICpmcmFtZSwgY29uc3QgY2hhciAq
ZGF0YWJhc2VOYW1lLCB1aW50NjRfdCBjdXJyZW50X3NpemUsIHVpbnQ2NF90IGV4cGVjdGVkX3Np
emUpOwogCi0gICAgRWluYV9Cb29sICgqcnVuX29wZW5fcGFuZWwpKEV3a19WaWV3X1NtYXJ0X0Rh
dGEgKnNkLCBFdmFzX09iamVjdCAqZnJhbWUsIEVpbmFfQm9vbCBhbGxvd3NfbXVsdGlwbGVfZmls
ZXMsIEVpbmFfTGlzdCAqYWNjZXB0X3R5cGVzLCBFaW5hX0xpc3QgKipzZWxlY3RlZF9maWxlbmFt
ZXMpOworICAgIEVpbmFfQm9vbCAoKnJ1bl9vcGVuX3BhbmVsKShFd2tfVmlld19TbWFydF9EYXRh
ICpzZCwgRXZhc19PYmplY3QgKmZyYW1lLCBjb25zdCBFd2tfRmlsZV9DaG9vc2VyX1NldHRpbmdz
ICpzZXR0aW5ncywgRWluYV9MaXN0ICoqc2VsZWN0ZWRfZmlsZW5hbWVzKTsKIAogICAgIEVpbmFf
Qm9vbCAoKm5hdmlnYXRpb25fcG9saWN5X2RlY2lzaW9uKShFd2tfVmlld19TbWFydF9EYXRhICpz
ZCwgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgKnJlcXVlc3QpOwogICAgIEVpbmFfQm9vbCAo
KmZvY3VzX2Nhbl9jeWNsZSkoRXdrX1ZpZXdfU21hcnRfRGF0YSAqc2QsIEV3a19Gb2N1c19EaXJl
Y3Rpb24gZGlyZWN0aW9uKTsKQEAgLTE2OSw3ICsxNzgsNyBAQCBzdHJ1Y3QgX0V3a19WaWV3X1Nt
YXJ0X0NsYXNzIHsKICAqIFRoZSB2ZXJzaW9uIHlvdSBoYXZlIHRvIHB1dCBpbnRvIHRoZSB2ZXJz
aW9uIGZpZWxkCiAgKiBpbiB0aGUgQGEgRXdrX1ZpZXdfU21hcnRfQ2xhc3Mgc3RydWN0dXJlLgog
ICovCi0jZGVmaW5lIEVXS19WSUVXX1NNQVJUX0NMQVNTX1ZFUlNJT04gNFVMCisjZGVmaW5lIEVX
S19WSUVXX1NNQVJUX0NMQVNTX1ZFUlNJT04gNVVMCiAKIC8qKgogICogSW5pdGlhbGl6ZXMgYSB3
aG9sZSBAYSBFd2tfVmlld19TbWFydF9DbGFzcyBzdHJ1Y3R1cmUuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmlu
ZGV4IDBkYmM4YmQxNWM1YTY2MTk4YjNlMTBjNTRjNjgyNjQ1YmEwOGE1MTQuLjczMDY1YjdjZTBi
NjMzZGFmMTU2MTkzMmRlOWEyYjdlOWRjYTI2YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC04Myw2
ICs4Myw3IEBAIEVOQUJMRV9GSUxFX1NZU1RFTSA9IDsKIEVOQUJMRV9GVUxMU0NSRUVOX0FQSSA9
IEVOQUJMRV9GVUxMU0NSRUVOX0FQSTsKIEVOQUJMRV9HQU1FUEFEID0gOwogRU5BQkxFX0dFT0xP
Q0FUSU9OID0gRU5BQkxFX0dFT0xPQ0FUSU9OOworRU5BQkxFX0hUTUxfTUVESUFfQ0FQVFVSRSA9
IDsKIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFID0gOwogRU5BQkxFX0lOUFVUX0NPTE9SID0gOwog
RU5BQkxFX0lOUFVUX1NQRUVDSCA9IDsKQEAgLTEyMSw0ICsxMjIsNCBAQCBFTkFCTEVfV0VCX1RJ
TUlORyA9IDsKIEVOQUJMRV9XT1JLRVJTID0gRU5BQkxFX1dPUktFUlM7CiBFTkFCTEVfWFNMVCA9
IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQU5JTUFUSU9OX0FQSSkg
JChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NMSUVO
VF9CQVNFRF9HRU9MT0NBVElPTikgJChFTkFCTEVfQ1NTX0ZJTFRFUlMpICQoRU5BQkxFX0NTU19H
UklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX1NIQURFUlMpICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVO
QUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTKSAkKEVOQUJMRV9ERVZJ
Q0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0ZJTEVf
U1lTVEVNKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFC
TEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfQ09MT1IpICQoRU5BQkxF
X0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxF
X0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9MSU5L
X1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFC
TEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfVEFHKSAkKEVOQUJMRV9NVVRBVElP
Tl9PQlNFUlZFUlMpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBR0VfVklTSUJJ
TElUWV9BUEkpICQoRU5BQkxFX1BST0dSRVNTX1RBRykgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxF
X1JFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZS
QU1FKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVO
QUJMRV9TVFlMRV9TQ09QRUQpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJ
TkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykg
JChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9XRUJHTCkgJChF
TkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlO
RykgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAk
KEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChF
TkFCTEVfQU5JTUFUSU9OX0FQSSkgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpICQoRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikgJChFTkFCTEVfQ1NTX0ZJ
TFRFUlMpICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX1NIQURFUlMpICQo
RU5BQkxFX0RBVEFMSVNUKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9E
RVRBSUxTKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RJUkVDVE9SWV9V
UExPQUQpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9G
VUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0hUTUxfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9DT0xPUikgJChFTkFCTEVfSU5QVVRf
U1BFRUNIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1dFRUspICQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX0xJTktfUFJFRkVU
Q0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJ
QV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9UQUcpICQoRU5BQkxFX01VVEFUSU9OX09CU0VS
VkVSUykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQ
SSkgJChFTkFCTEVfUFJPR1JFU1NfVEFHKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVHSVNU
RVJfUFJPVE9DT0xfSEFORExFUikgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQo
RU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TUUxfREFUQUJBU0UpICQoRU5BQkxFX1NU
WUxFX1NDT1BFRCkgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1Mp
ICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9X
RUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVO
QUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9P
cHRpb25zRWZsLmNtYWtlIGIvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UKaW5kZXggOTg1
Y2EyNzE1NjU2MjQzZWRmNzUxMWM4MGY5NzdhMzBkYjNkOTFkYi4uOTAzYjJjOGE4MTcwMGY4MGY0
OTE5OWFlYWYxMzBkOWFmMmI3ODkwYyAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL09wdGlvbnNF
ZmwuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UKQEAgLTczLDYgKzcz
LDcgQEAgV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX0ZUUERJUiAiRW5hYmxlIEZUUCBkaXJlY3Rvcnkg
c3VwcG9ydCIgREVGQVVMVCBPTikKIFdFQktJVF9GRUFUVVJFKEVOQUJMRV9GVUxMU0NSRUVOX0FQ
SSAiRW5hYmxlIEZ1bGxzY3JlZW4gQVBJIHN1cHBvcnQiIERFRkFVTFQgT0ZGKQogV0VCS0lUX0ZF
QVRVUkUoRU5BQkxFX0dFT0xPQ0FUSU9OICJFbmFibGUgZ2VvbG9jYXRpb24iIERFRkFVTFQgT0ZG
KQogV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX0dMSUJfU1VQUE9SVCAiRW5hYmxlIEdsaWIgc3VwcG9y
dCIgREVGQVVMVCBPTikKK1dFQktJVF9GRUFUVVJFKEVOQUJMRV9IVE1MX01FRElBX0NBUFRVUkUg
IkVuYWJsZSBIVE1MIE1lZGlhIENhcHR1cmUiIERFRkFVTFQgT04pCiBXRUJLSVRfRkVBVFVSRShF
TkFCTEVfSUNPTkRBVEFCQVNFICJFbmFibGUgaWNvbiBkYXRhYmFzZSIgREVGQVVMVCBPTikKIFdF
QktJVF9GRUFUVVJFKEVOQUJMRV9JTlNQRUNUT1IgIkVuYWJsZSBpbnNwZWN0b3IiIERFRkFVTFQg
T04pCiBXRUJLSVRfRkVBVFVSRShFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUiAiRW5hYmxlIEph
dmFTY3JpcHQgZGVidWdnZXIiIERFRkFVTFQgT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2Vj
b25maWcuaC5jbWFrZSBiL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCmluZGV4IDZkM2Y4Mzc5
NDcyOTNjMWQyNTMwZGRiNDE4ODhlOTRkNjVlMWI0YjguLjM3YmQ1NDQ0NTQwYWM1NDMwZTcwMzRk
YjcyNWM5Y2EwZjJlODg5ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtl
CisrKyBiL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCkBAIC0xOSw2ICsxOSw3IEBACiAjY21h
a2VkZWZpbmUwMSBFTkFCTEVfRlVMTFNDUkVFTl9BUEkKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9H
RU9MT0NBVElPTgogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0dMSUJfU1VQUE9SVAorI2NtYWtlZGVm
aW5lMDEgRU5BQkxFX0hUTUxfTUVESUFfQ0FQVFVSRQogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0lD
T05EQVRBQkFTRQogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0lOREVYRURfREFUQUJBU0UKICNjbWFr
ZWRlZmluZTAxIEVOQUJMRV9JTlNQRUNUT1IKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA4N2RjMGU1NDZkM2VlZWFiOTUxOTI4YTc2OGU5OGM5OTBi
NGQ0M2UyLi5iMDI4Mzc5NDI1MTA0NmMzYjU0YjU3OWI5MTYwNmJhNTgwM2UzZGE0IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMTItMDEtMTkgIEpvbmdTZW9rIFlhbmcgIDxqczQ1LnlhbmdAc2Ftc3VuZy5jb20+CisK
KyAgICAgICAgQWRkIGNhcHR1cmUgYXR0cmlidXRlIGZvciBIVE1MIE1lZGlhIENhcHR1cmUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYzMDYyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG9wdGlvbiBm
b3IgSFRNTCBNZWRpYSBDYXB0dXJlLgorCisgICAgICAgICogU2NyaXB0cy9idWlsZC13ZWJraXQ6
CisgICAgICAgICogcW1ha2UvbWtzcGVjcy9mZWF0dXJlcy9mZWF0dXJlcy5wcmY6CisKIDIwMTIt
MDEtMTMgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBb
UXRdW1dLMl1SRUdSRVNTSU9OKHIxMDQ4ODEpOkl0IGJyb2tlIGh1bmRyZWRzIG9mIHRlc3RzCmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdCBiL1Rvb2xzL1NjcmlwdHMvYnVp
bGQtd2Via2l0CmluZGV4IGM4MTgyMTQ4YmUxOGU0MDZlZDNiOTVmNzNmZWQ5ZDEzZDgzZDVmY2Mu
Ljk5Mjc3ZTgyMTZjMzEwNzYzMGUzNTQ0ZmYwN2EyZjc1MTg3MjhiZjMgMTAwNzU1Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0CisrKyBiL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0
CkBAIC04OSw2ICs4OSw3IEBAIG15ICgKICAgICAkZnVsbHNjcmVlbkFQSVN1cHBvcnQsCiAgICAg
JGdhbWVwYWRTdXBwb3J0LAogICAgICRnZW9sb2NhdGlvblN1cHBvcnQsCisgICAgJGh0bWxNZWRp
YUNhcHR1cmVTdXBwb3J0LAogICAgICRpY29uRGF0YWJhc2VTdXBwb3J0LAogICAgICRpbWFnZVJl
c2l6ZXJTdXBwb3J0LAogICAgICRpbmRleGVkRGF0YWJhc2VTdXBwb3J0LApAQCAtMjExLDYgKzIx
Miw5IEBAIG15IEBmZWF0dXJlcyA9ICgKICAgICB7IG9wdGlvbiA9PiAiZ2VvbG9jYXRpb24iLCBk
ZXNjID0+ICJUb2dnbGUgR2VvbG9jYXRpb24gc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVO
QUJMRV9HRU9MT0NBVElPTiIsIGRlZmF1bHQgPT4gKGlzQXBwbGVXZWJLaXQoKSB8fCBpc0d0aygp
IHx8IGlzQmxhY2tCZXJyeSgpKSwgdmFsdWUgPT4gXCRnZW9sb2NhdGlvblN1cHBvcnQgfSwKIAor
ICAgIHsgb3B0aW9uID0+ICJodG1sLW1lZGlhLWNhcHR1cmUiLCBkZXNjID0+ICJUb2dnbGUgSFRN
TCBNZWRpYSBDYXB0dXJlIHN1cHBvcnQiLAorICAgICAgZGVmaW5lID0+ICJFTkFCTEVfSFRNTF9N
RURJQV9DQVBUVVJFIiwgZGVmYXVsdCA9PiBpc0VmbCgpLCB2YWx1ZSA9PiBcJGh0bWxNZWRpYUNh
cHR1cmVTdXBwb3J0IH0sCisKICAgICB7IG9wdGlvbiA9PiAiaWNvbi1kYXRhYmFzZSIsIGRlc2Mg
PT4gIlRvZ2dsZSBJY29uIGRhdGFiYXNlIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFC
TEVfSUNPTkRBVEFCQVNFIiwgZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBcJGljb25EYXRhYmFzZVN1
cHBvcnQgfSwKIApkaWZmIC0tZ2l0IGEvVG9vbHMvcW1ha2UvbWtzcGVjcy9mZWF0dXJlcy9mZWF0
dXJlcy5wcmYgYi9Ub29scy9xbWFrZS9ta3NwZWNzL2ZlYXR1cmVzL2ZlYXR1cmVzLnByZgppbmRl
eCA3OWM5MDRjMTNiOTU2NzAwMmFhMWFhMTc3ODBjNzViZmE4MjJiNzA5Li5lOTM4NzM1YzM0MzFm
MTg5ZDI0NDZiZjVkMTVlYzZiYTZkNjY3Njg4IDEwMDY0NAotLS0gYS9Ub29scy9xbWFrZS9ta3Nw
ZWNzL2ZlYXR1cmVzL2ZlYXR1cmVzLnByZgorKysgYi9Ub29scy9xbWFrZS9ta3NwZWNzL2ZlYXR1
cmVzL2ZlYXR1cmVzLnByZgpAQCAtODQsNiArODQsNyBAQCBoYXZlUXQoNCk6dW5peDohbWFjOiFl
bWJlZGRlZCB7CiAhY29udGFpbnMoREVGSU5FUywgRU5BQkxFX01FRElBX1NUUkVBTT0uKTogREVG
SU5FUyArPSBFTkFCTEVfTUVESUFfU1RSRUFNPTAKICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVf
VklERU9fVFJBQ0s9Lik6IERFRklORVMgKz0gRU5BQkxFX1ZJREVPX1RSQUNLPTAKICFjb250YWlu
cyhERUZJTkVTLCBFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HPS4pOiBERUZJTkVTICs9IEVOQUJM
RV9UT1VDSF9JQ09OX0xPQURJTkc9MAorIWNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9IVE1MX01F
RElBX0NBUFRVUkU9Lik6IERFRklORVMgKz0gRU5BQkxFX0hUTUxfTUVESUFfQ0FQVFVSRT0wCiAh
Y29udGFpbnMoREVGSU5FUywgRU5BQkxFX0FOSU1BVElPTl9BUEk9Lik6IERFRklORVMgKz0gRU5B
QkxFX0FOSU1BVElPTl9BUEk9MAogCiAjIFNWRyBzdXBwb3J0CmRpZmYgLS1naXQgYS9DaGFuZ2VM
b2cgYi9DaGFuZ2VMb2cKaW5kZXggZGIyODM1ODNiOWRhY2E1NzU2MjVmYjc5MzhhYWIwMGM0Mzg2
YjllZS4uYzNkZjgyZDRhYjYzNDJkOTUyMzgyNzFlNWYyNjMwZGYzODNmYmJkMiAxMDA2NDQKLS0t
IGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTAxLTE5
ICBKb25nU2VvayBZYW5nICA8anM0NS55YW5nQHNhbXN1bmcuY29tPgorCisgICAgICAgIEFkZCBj
YXB0dXJlIGF0dHJpYnV0ZSBmb3IgSFRNTCBNZWRpYSBDYXB0dXJlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MzA2MgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBvcHRpb24gZm9yIEhUTUwgTWVkaWEg
Q2FwdHVyZS4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlOgorICAg
ICAgICAqIFNvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlOgorCiAyMDEyLTAxLTEyICBTaGVyaWZm
IEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMTA0ODA1Lgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123245</attachid>
            <date>2012-01-19 20:08:31 -0800</date>
            <delta_ts>2012-01-19 22:38:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-63062-20120120130828.patch</filename>
            <type>text/plain</type>
            <size>29982</size>
            <attacher name="Jongseok Yang">js45.yang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1NDc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
OTRlOTU4OTI4ZDMzZDJhYjgwNmU3YzE0MTM3NGViNjBjMzEyNjk3Li40MTcxZDc3OTM4Yzc4OGVk
YjMzNTE0NmU0OTJjZjliYjc3MGFhNTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAxMi0wMS0xOSAgSm9uZ1Nlb2sgWWFuZyAgPGpzNDUueWFuZ0BzYW1zdW5n
LmNvbT4KKworICAgICAgICBBZGQgY2FwdHVyZSBhdHRyaWJ1dGUgZm9yIEhUTUwgTWVkaWEgQ2Fw
dHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMw
NjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQg
b3B0aW9uIGZvciBIVE1MIE1lZGlhIENhcHR1cmUuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxMi0wMS0xOSAgVG9ueSBDaGFuZyAgPHRv
bnlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gUmVtb3ZlIGFuIG9ic29sZXRl
IGNvbW1lbnQgYWJvdXQgZmVhdHVyZXMuZ3lwaQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGRhN2NhN2UzYzU1YjIy
Mjc5NjU3ZmMzYmEyNTE2NWZiZGQ1ZDNlOTAuLmUwNGJlYzZmNTA0YWQ0NmQ1NzhlYmJkYjYxYzVk
ZjE4Mjg0NWY3N2EgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAxMi0wMS0xOSAgSm9u
Z1Nlb2sgWWFuZyAgPGpzNDUueWFuZ0BzYW1zdW5nLmNvbT4KKworICAgICAgICBBZGQgY2FwdHVy
ZSBhdHRyaWJ1dGUgZm9yIEhUTUwgTWVkaWEgQ2FwdHVyZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMwNjIKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTZWUgaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMS9X
RC1odG1sLW1lZGlhLWNhcHR1cmUtMjAxMTA0MTQvIGZvciBIVE1MIE1lZGlhIENhcHR1cmUuCisg
ICAgICAgIFRvIHN1cHBvcnQgdGhlIHNwZWMsICJjYXB0dXJlIiBhdHRyaWJ1dGUgaXMgcmVxdWly
ZWQgYW5kIHRoZSBhdHRyaWJ1dGUgY2FuIGJlIHVzZWQgaW4KKyAgICAgICAgQ2hyb21lQ2xpZW50
OjpydW5PcGVuUGFuZWwoKSBmb3IgZWFjaCBwb3J0LgorCisgICAgICAgIE9uZSBwb3J0IG1pZ2h0
IGV4ZWN1dGUgdGhlIGZpbGUgcGljayBsaWtlIHRoZSBleGFtcGxlcyBpbiB0aGUgc3BlYy4KKyAg
ICAgICAgQW5vdGhlciBwb3J0IG1pZ2h0IGRpc3BsYXkgYSBsaXN0IHBvcHVwIHRvIHByb3ZpZGUg
dGhlIGludGVyZmFjZSBmb3IgdGhlIHNlbGVjdGlvbiBmcm9tIHRoZSB1c2VyLgorCisgICAgICAg
ICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogR05V
bWFrZWZpbGUuYW06CisgICAgICAgICogaHRtbC9GaWxlSW5wdXRUeXBlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkZpbGVJbnB1dFR5cGU6OmhhbmRsZURPTUFjdGl2YXRlRXZlbnQpOgorICAgICAg
ICAqIGh0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpjYXB0dXJl
KToKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hU
TUxJbnB1dEVsZW1lbnQuaWRsOgorICAgICAgICAqIHBsYXRmb3JtL0ZpbGVDaG9vc2VyLmg6CisK
IDIwMTItMDEtMTggIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBNb3Zl
IFJ1bkxvb3AgdG8gV2ViQ29yZS9wbGF0Zm9ybQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9l
ZmwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCmluZGV4IGQ4N2UwNGMy
NzdkNDQ2NmFiODcyZGZiOGI1MTQ3OGJlNGM5Y2IzYTAuLmNhOWI1ZDAyYTg3ZjdjYjQ5YzYzZGM1
YzljMjdiNWNhNDkxZThjZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAx
Mi0wMS0xOSAgSm9uZ1Nlb2sgWWFuZyAgPGpzNDUueWFuZ0BzYW1zdW5nLmNvbT4KKworICAgICAg
ICBBZGQgY2FwdHVyZSBhdHRyaWJ1dGUgZm9yIEhUTUwgTWVkaWEgQ2FwdHVyZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMwNjIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgY2FwdHVyZSBhdHRyaWJ1
dGUgdG8gc3VwcG9ydCBIVE1MIE1lZGlhIENhcHR1cmUuCisgICAgICAgIGV3a192aWV3X3J1bl9v
cGVuX3BhbmVsIHVzZXMgV2ViQ29yZTo6RmlsZUNob29zZXJTZXR0aW5ncyBhcyB0aGUgcGFyYW1l
dGVyIHRvIHVzZSBjYXB0dXJlIGF0dHJpYnV0ZS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEVmbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRFZmw6
OnJ1bk9wZW5QYW5lbCk6CisgICAgICAgICogZXdrL2V3a19wcml2YXRlLmg6CisgICAgICAgICog
ZXdrL2V3a192aWV3LmNwcDoKKyAgICAgICAgKGV3a192aWV3X3J1bl9vcGVuX3BhbmVsKToKKyAg
ICAgICAgKiBld2svZXdrX3ZpZXcuaDoKKwogMjAxMi0wMS0xNyAgR3l1eW91bmcgS2ltICA8Z3l1
eW91bmcua2ltQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdIFVzZSBzdGF0aWMgY29uc3Qg
aW5zdGVkIG9mICNkZWZpbmUgbWFjcm8uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggMjJhOTk3ZTZmOWJk
MjQ1ZWI1MzZmODdjZGMyZTFmZTBmNzAyNTMyOS4uODM0MGFjODYwYjFlOWQ4ZWM5MWI5NGY3YmNk
NDNkODg2ODZmODU0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEyLTAx
LTE5ICBKb25nU2VvayBZYW5nICA8anM0NS55YW5nQHNhbXN1bmcuY29tPgorCisgICAgICAgIEFk
ZCBjYXB0dXJlIGF0dHJpYnV0ZSBmb3IgSFRNTCBNZWRpYSBDYXB0dXJlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MzA2MgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBvcHRpb24gZm9yIEhUTUwgTWVk
aWEgQ2FwdHVyZS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnOgorCiAyMDEyLTAxLTE3ICBFbnJpY2EgQ2FzdWNjaSAgPGVucmljYUBhcHBsZS5jb20+
CiAKICAgICAgICAgTWlzc2luZyBOU0ZvcmVncm91bmRDb2xvckF0dHJpYnV0ZU5hbWUgc2hvdWxk
IGJlIHRyZWF0ZWQgYXMgYmxhY2sgaW5zdGVhZCBvZiB0cmFuc3BhcmVudC4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwppbmRleCA5NTg5YmQyOTU1ZTdkMDcyMGQ4MWY2MTRkNDcxNDZmNDA2ZTc0MWFj
Li5iYWYzZDRjNmQxZjRmMTdhMTZhNmIwNzBjM2I0NDJjOWVlYTA2OGQ1IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCkBAIC04Myw2ICs4Myw3IEBAIEVOQUJMRV9GSUxFX1NZU1RFTSA9IDsKIEVO
QUJMRV9GVUxMU0NSRUVOX0FQSSA9IEVOQUJMRV9GVUxMU0NSRUVOX0FQSTsKIEVOQUJMRV9HQU1F
UEFEID0gOwogRU5BQkxFX0dFT0xPQ0FUSU9OID0gRU5BQkxFX0dFT0xPQ0FUSU9OOworRU5BQkxF
X0hUTUxfTUVESUFfQ0FQVFVSRSA9IDsKIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFID0gOwogRU5B
QkxFX0lOUFVUX0NPTE9SID0gOwogRU5BQkxFX0lOUFVUX1NQRUVDSCA9IDsKQEAgLTEyMiw0ICsx
MjMsNCBAQCBFTkFCTEVfV0VCX1RJTUlORyA9IDsKIEVOQUJMRV9XT1JLRVJTID0gRU5BQkxFX1dP
UktFUlM7CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAk
KEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChF
TkFCTEVfQU5JTUFUSU9OX0FQSSkgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpICQoRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikgJChFTkFCTEVfQ1NTX0ZJ
TFRFUlMpICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX1NIQURFUlMpICQo
RU5BQkxFX0RBVEFMSVNUKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9E
RVRBSUxTKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RJUkVDVE9SWV9V
UExPQUQpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9G
VUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVf
SU5QVVRfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RF
QlVHR0VSKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxF
X01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJf
VEFHKSAkKEVOQUJMRV9NVVRBVElPTl9PQlNFUlZFUlMpICQoRU5BQkxFX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BST0dSRVNTX1RBRykgJChF
TkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpICQoRU5BQkxF
X1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFC
TEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9TVFlMRV9TQ09QRUQpICQoRU5BQkxFX1NWRykgJChF
TkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxF
X1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQo
RU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfV0VCR0wpICQoRU5B
QkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcp
ICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChF
TkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5B
QkxFX0FOSU1BVElPTl9BUEkpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HKSAkKEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04pICQoRU5BQkxFX0NTU19GSUxU
RVJTKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19TSEFERVJTKSAkKEVO
QUJMRV9EQVRBTElTVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVU
QUlMUykgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBM
T0FEKSAkKEVOQUJMRV9GSUxFX1NZU1RFTSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRlVM
TFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVO
QUJMRV9IVE1MX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1NQ
RUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9X
RUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENI
KSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFf
U1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfVEFHKSAkKEVOQUJMRV9NVVRBVElPTl9PQlNFUlZF
UlMpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkp
ICQoRU5BQkxFX1BST0dSRVNTX1RBRykgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFR0lTVEVS
X1BST1RPQ09MX0hBTkRMRVIpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVO
QUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9TVFlM
RV9TQ09QRUQpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAk
KEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZKSAkKEVO
QUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19U
UkFDSykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NP
Q0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hT
TFQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwppbmRleCAxMDExYmY4ZDBjZjI2N2YzZDkxZjE2MTdhNzQ3ZTI3ZmQ2ZGZm
NTdiLi4zNjZlODNlOGIwZmI4ZDE5OTc3ZGYyNjI3MjkzY2NjZDZkNjBmODZkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZwpAQCAtODMsNiArODMsNyBAQCBFTkFCTEVfRklMRV9TWVNURU0gPSA7CiBFTkFCTEVfRlVMTFND
UkVFTl9BUEkgPSBFTkFCTEVfRlVMTFNDUkVFTl9BUEk7CiBFTkFCTEVfR0FNRVBBRCA9IDsKIEVO
QUJMRV9HRU9MT0NBVElPTiA9IEVOQUJMRV9HRU9MT0NBVElPTjsKK0VOQUJMRV9IVE1MX01FRElB
X0NBUFRVUkUgPSA7CiBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSA9IDsKIEVOQUJMRV9JTlBVVF9D
T0xPUiA9IDsKIEVOQUJMRV9JTlBVVF9TUEVFQ0ggPSA7CkBAIC0xMjIsNCArMTIzLDQgQEAgRU5B
QkxFX1dFQl9USU1JTkcgPSA7CiBFTkFCTEVfV09SS0VSUyA9IEVOQUJMRV9XT1JLRVJTOwogRU5B
QkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0Rf
UkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FOSU1B
VElPTl9BUEkpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVO
QUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04pICQoRU5BQkxFX0NTU19GSUxURVJTKSAkKEVO
QUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19TSEFERVJTKSAkKEVOQUJMRV9EQVRB
TElTVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMUykgJChF
TkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVO
QUJMRV9GSUxFX1NZU1RFTSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRlVMTFNDUkVFTl9B
UEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09O
REFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX0NPTE9S
KSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FM
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChF
TkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9TT1VS
Q0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX1RBRykgJChFTkFC
TEVfTVVUQVRJT05fT0JTRVJWRVJTKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
QUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QUk9HUkVTU19UQUcpICQoRU5BQkxFX1FVT1RB
KSAkKEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKSAkKEVOQUJMRV9SRVFVRVNUX0FO
SU1BVElPTl9GUkFNRSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NRTF9EQVRB
QkFTRSkgJChFTkFCTEVfU1RZTEVfU0NPUEVEKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19E
T01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URVhUX05PVElG
SUNBVElPTlNfT05MWSkgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9WSURF
TykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVE
SU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9X
T1JLRVJTKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JF
TkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BTklNQVRJ
T05fQVBJKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFC
TEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9DU1NfRklMVEVSUykgJChFTkFC
TEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfU0hBREVSUykgJChFTkFCTEVfREFUQUxJ
U1QpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFMpICQoRU5B
QkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFC
TEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSFRNTF9N
RURJQV9DQVBUVVJFKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpICQoRU5BQkxFX0lOUFVUX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFC
TEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVf
TUFUSE1MKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1Mp
ICQoRU5BQkxFX01FVEVSX1RBRykgJChFTkFCTEVfTVVUQVRJT05fT0JTRVJWRVJTKSAkKEVOQUJM
RV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9Q
Uk9HUkVTU19UQUcpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9I
QU5ETEVSKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfU0hBUkVE
X1dPUktFUlMpICQoRU5BQkxFX1NRTF9EQVRBQkFTRSkgJChFTkFCTEVfU1RZTEVfU0NPUEVEKSAk
KEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9URVhUX05PVElGSUNBVElPTlNfT05MWSkgJChFTkFCTEVfVE9VQ0hf
SUNPTl9MT0FESU5HKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5B
QkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVO
QUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUuYW0KaW5kZXggMDk0M2U3MDdhOTk2NWZkNTNlOTNlZTlmMzZlZWViNmQ4YTU5OTRh
MS4uMWFlMzQxZmU4NTI0Y2JmZjVlOGVlNzgyYWQ0NWY5ZWYxMWJkNTYwOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUuYW0KQEAgLTQzNCw2ICs0MzQsMTEgQEAgRkVBVFVSRV9ERUZJTkVTICs9IEVOQUJMRV9H
RU9MT0NBVElPTj0xIEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT049MQogd2ViY29yZV9j
cHBmbGFncyArPSAtREVOQUJMRV9HRU9MT0NBVElPTj0xIC1ERU5BQkxFX0NMSUVOVF9CQVNFRF9H
RU9MT0NBVElPTj0xCiBlbmRpZiAjIEVORCBFTkFCTEVfR0VPTE9DQVRJT04KIAoraWYgRU5BQkxF
X0hUTUxfTUVESUFfQ0FQVFVSRQorRkVBVFVSRV9ERUZJTkVTICs9IEVOQUJMRV9IVE1MX01FRElB
X0NBUFRVUkU9MQord2ViY29yZV9jcHBmbGFncyArPSAtREVOQUJMRV9IVE1MX01FRElBX0NBUFRV
UkU9MQorZW5kaWYgIyBFTkQgRU5BQkxFX0hUTUxfTUVESUFfQ0FQVFVSRQorCiAjIC0tLS0KICMg
TWF0aE1MIHN1cHBvcnQKICMgLS0tLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9G
aWxlSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmlsZUlucHV0VHlwZS5jcHAK
aW5kZXggNjU1ZTgxZWFkYmM3MzExOWM1MDBiNmQ1NTk3MDkyYjA4NTRmMmUwNy4uMTUwZWIxNWFh
NjE3ZjA2NjA0NzhhNzc3NWY1MzA5YjQwODEwOGJjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9GaWxlSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZpbGVJ
bnB1dFR5cGUuY3BwCkBAIC0xNTQsNiArMTU0LDkgQEAgdm9pZCBGaWxlSW5wdXRUeXBlOjpoYW5k
bGVET01BY3RpdmF0ZUV2ZW50KEV2ZW50KiBldmVudCkKICNlbHNlCiAgICAgICAgIHNldHRpbmdz
LmFsbG93c011bHRpcGxlRmlsZXMgPSBpbnB1dC0+ZmFzdEhhc0F0dHJpYnV0ZShtdWx0aXBsZUF0
dHIpOwogI2VuZGlmCisjaWYgRU5BQkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkKKyAgICAgICAgc2V0
dGluZ3MuY2FwdHVyZVR5cGUgPSBpbnB1dC0+Y2FwdHVyZSgpOworI2VuZGlmCiAgICAgICAgIHNl
dHRpbmdzLmFjY2VwdE1JTUVUeXBlcyA9IGlucHV0LT5hY2NlcHRNSU1FVHlwZXMoKTsKICAgICAg
ICAgc2V0dGluZ3Muc2VsZWN0ZWRGaWxlcyA9IG1fZmlsZUxpc3QtPnBhdGhzKCk7CiAgICAgICAg
IGNocm9tZS0+cnVuT3BlblBhbmVsKGlucHV0LT5kb2N1bWVudCgpLT5mcmFtZSgpLCBuZXdGaWxl
Q2hvb3NlcihzZXR0aW5ncykpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
QXR0cmlidXRlTmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1l
cy5pbgppbmRleCA2MGQ5NmQ1M2Q4MmJlODFhYTJiYjA1MWMzMThkYmU1YjY4OWIyMTIyLi5mMjQ1
NzQ0NjgwODNiYmQ2NWY1NGQ0ZjIwYmVlMzUyNzI5MWJjODllIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgpAQCAtNTgsNiArNTgsNyBAQCBiZ2NvbG9yCiBiZ3By
b3BlcnRpZXMKIGJvcmRlcgogYm9yZGVyY29sb3IKK2NhcHR1cmUKIGNlbGxwYWRkaW5nCiBjZWxs
c3BhY2luZwogY2hhcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRF
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKaW5k
ZXggNzUwMWJjNDM2OTA4M2U5ODdhM2ViOGVlYjBiMzUzODNjZmU5OWI2Ny4uZDZlMWZhZjQ1OWFj
YjljNjQ1Mjc2Y2Y3Mzc0MTc4MjE1YjNiNjFkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJ
bnB1dEVsZW1lbnQuY3BwCkBAIC0xMzU5LDYgKzEzNTksMTMgQEAgU3RyaW5nIEhUTUxJbnB1dEVs
ZW1lbnQ6OmFsdCgpIGNvbnN0CiAgICAgcmV0dXJuIGZhc3RHZXRBdHRyaWJ1dGUoYWx0QXR0cik7
CiB9CiAKKyNpZiBFTkFCTEUoSFRNTF9NRURJQV9DQVBUVVJFKQorU3RyaW5nIEhUTUxJbnB1dEVs
ZW1lbnQ6OmNhcHR1cmUoKSBjb25zdAoreworICAgIHJldHVybiBmYXN0R2V0QXR0cmlidXRlKGNh
cHR1cmVBdHRyKTsKK30KKyNlbmRpZgorCiBpbnQgSFRNTElucHV0RWxlbWVudDo6bWF4TGVuZ3Ro
KCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9tYXhMZW5ndGg7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TElucHV0RWxlbWVudC5oCmluZGV4IGZjNmYwNjgyOGY5ODdiYzhlMGQ3NTljNTI5YzkwYmIzZWM3
MTk1NWIuLjc0ZjlkMDA0NGYxMzA2YTcwNjUzMDlkMDVmZDczZTQ2OWFjZTMwY2UgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCkBAIC0xOTIsNiArMTkyLDEwIEBAIHB1Ymxp
YzoKICAgICBTdHJpbmcgYWNjZXB0KCkgY29uc3Q7CiAgICAgU3RyaW5nIGFsdCgpIGNvbnN0Owog
CisjaWYgRU5BQkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkKKyAgICBTdHJpbmcgY2FwdHVyZSgpIGNv
bnN0OworI2VuZGlmCisKICAgICB2b2lkIHNldFNpemUodW5zaWduZWQpOwogCiAgICAgS1VSTCBz
cmMoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxl
bWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCmluZGV4
IDc0NjMzMzRiYjFhZmIzNmQ5M2M2YTg3NjQxYjQyYzY1MjhiNWE1ZDQuLjQ3NzUxY2VhNTRjZjcz
NTk3Njk3NDIwNTdlOWE2ODA4Nzg2ZTRjN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTElucHV0RWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5w
dXRFbGVtZW50LmlkbApAQCAtMzQsNiArMzQsOSBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIGF0
dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIGFjY2VwdDsKICAgICAgICAgYXR0cmlidXRlIFtS
ZWZsZWN0XSBET01TdHJpbmcgYWxpZ247CiAgICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9N
U3RyaW5nIGFsdDsKKyNpZiBkZWZpbmVkKEVOQUJMRV9IVE1MX01FRElBX0NBUFRVUkUpICYmIEVO
QUJMRV9IVE1MX01FRElBX0NBUFRVUkUKKyAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01T
dHJpbmcgY2FwdHVyZTsKKyNlbmRpZgogICAgICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBjaGVja2Vk
OwogICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIGJvb2xlYW4gZGlzYWJsZWQ7CiAgICAgICAg
IGF0dHJpYnV0ZSBbUmVmbGVjdF0gYm9vbGVhbiBhdXRvZm9jdXM7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlQ2hvb3Nlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vRmlsZUNob29zZXIuaAppbmRleCBjYzIwYmUyODFiODQyNGNiZWJlMDE1YTcyN2E1NGY4NmIw
ZTNlYTMxLi5jMzU2MDI2Mjk5MjI1YmU5YTk4MGZhMGQ5NjcwNWM5ZjliM2Y1NDkyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlQ2hvb3Nlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0ZpbGVDaG9vc2VyLmgKQEAgLTQzLDYgKzQzLDkgQEAgc3RydWN0IEZp
bGVDaG9vc2VyU2V0dGluZ3MgewogI2lmIEVOQUJMRShESVJFQ1RPUllfVVBMT0FEKQogICAgIGJv
b2wgYWxsb3dzRGlyZWN0b3J5VXBsb2FkOwogI2VuZGlmCisjaWYgRU5BQkxFKEhUTUxfTUVESUFf
Q0FQVFVSRSkKKyAgICBTdHJpbmcgY2FwdHVyZVR5cGU7CisjZW5kaWYKICAgICBWZWN0b3I8U3Ry
aW5nPiBhY2NlcHRNSU1FVHlwZXM7CiAgICAgVmVjdG9yPFN0cmluZz4gc2VsZWN0ZWRGaWxlczsK
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRFZmwuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50RWZsLmNwcAppbmRleCBhMjVmOWQwZTQ3MDhiYjBhYTU1YjRiZjU3MjI4MGY5NTkyOTkyMGNj
Li5kMjFiY2Q0YWQ2NTk4ODNkYWFkZTYxZjM5YTJkYzRhMmMxYTMwZmMxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAKQEAg
LTQzMiw4ICs0MzIsNyBAQCB2b2lkIENocm9tZUNsaWVudEVmbDo6cnVuT3BlblBhbmVsKEZyYW1l
KiBmcmFtZSwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4gcHJwRmlsZQogICAgIHZvaWQqIGZpbGVu
YW1lOwogICAgIFZlY3RvcjxTdHJpbmc+IGZpbGVuYW1lczsKIAotICAgIGNvbnN0IEZpbGVDaG9v
c2VyU2V0dGluZ3MmIHNldHRpbmdzID0gY2hvb3Nlci0+c2V0dGluZ3MoKTsKLSAgICBib29sIGNv
bmZpcm0gPSBld2tfdmlld19ydW5fb3Blbl9wYW5lbChtX3ZpZXcsIGtpdChmcmFtZSksIHNldHRp
bmdzLmFsbG93c011bHRpcGxlRmlsZXMsIHNldHRpbmdzLmFjY2VwdE1JTUVUeXBlcywgJnNlbGVj
dGVkRmlsZW5hbWVzKTsKKyAgICBib29sIGNvbmZpcm0gPSBld2tfdmlld19ydW5fb3Blbl9wYW5l
bChtX3ZpZXcsIGtpdChmcmFtZSksIGNob29zZXItPnNldHRpbmdzKCksICZzZWxlY3RlZEZpbGVu
YW1lcyk7CiAKICAgICBpZiAoIWNvbmZpcm0pCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfcHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9lZmwv
ZXdrL2V3a19wcml2YXRlLmgKaW5kZXggYjFjNjAzMGFhYzU1MDQzYWYwODI1NjQxMTQwOWUxOGQw
MDFhOGUyNi4uOTE2Y2E5YjVlMDVkMjY3MzhjMzA5ZTI3MWQxOTQ4MzUzY2I1YWJmZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmgKKysrIGIvU291cmNlL1dl
YktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmgKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUg
IkFQSUNhc3QuaCIKICNpbmNsdWRlICJCYWNrRm9yd2FyZExpc3RJbXBsLmgiCisjaW5jbHVkZSAi
RmlsZUNob29zZXIuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIk5QX2pzb2JqZWN0
LmgiCiAjaW5jbHVkZSAiUGFnZS5oIgpAQCAtMTI1LDcgKzEyNiw3IEBAIGJvb2wgZXdrX3ZpZXdf
cnVuX2phdmFzY3JpcHRfcHJvbXB0KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBFdmFzX09iamVjdCog
ZnJhbWUsIGNvCiBib29sIGV3a192aWV3X3Nob3VsZF9pbnRlcnJ1cHRfamF2YXNjcmlwdChFdmFz
X09iamVjdCogZXdrVmlldyk7CiB1aW50NjRfdCBld2tfdmlld19leGNlZWRlZF9kYXRhYmFzZV9x
dW90YShFdmFzX09iamVjdCogZXdrVmlldywgRXZhc19PYmplY3QqIGZyYW1lLCBjb25zdCBjaGFy
KiBkYXRhYmFzZU5hbWUsIHVpbnQ2NF90IGN1cnJlbnRTaXplLCB1aW50NjRfdCBleHBlY3RlZFNp
emUpOwogCi1ib29sIGV3a192aWV3X3J1bl9vcGVuX3BhbmVsKEV2YXNfT2JqZWN0KiBld2tWaWV3
LCBFdmFzX09iamVjdCogZnJhbWUsIGJvb2wgYWxsb3dzTXVsdGlwbGVGaWxlcywgY29uc3QgVmVj
dG9yPFN0cmluZz4mIGFjY2VwdE1JTUVUeXBlcywgRWluYV9MaXN0Kiogc2VsZWN0ZWRGaWxlbmFt
ZXMpOworYm9vbCBld2tfdmlld19ydW5fb3Blbl9wYW5lbChFdmFzX09iamVjdCogZXdrVmlldywg
RXZhc19PYmplY3QqIGZyYW1lLCBjb25zdCBXZWJDb3JlOjpGaWxlQ2hvb3NlclNldHRpbmdzJiBz
ZXR0aW5ncywgRWluYV9MaXN0Kiogc2VsZWN0ZWRGaWxlbmFtZXMpOwogCiB2b2lkIGV3a192aWV3
X3JlcGFpbnQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIEV2YXNfQ29vcmQgeCwgRXZhc19Db29yZCB5
LCBFdmFzX0Nvb3JkIHdpZHRoLCBFdmFzX0Nvb3JkIGhlaWdodCk7CiB2b2lkIGV3a192aWV3X3Nj
cm9sbChFdmFzX09iamVjdCogZXdrVmlldywgRXZhc19Db29yZCBkZWx0YVgsIEV2YXNfQ29vcmQg
ZGVsdGFZLCBFdmFzX0Nvb3JkIHNjcm9sbFgsIEV2YXNfQ29vcmQgc2Nyb2xsWSwgRXZhc19Db29y
ZCBzY3JvbGxXaWR0aCwgRXZhc19Db29yZCBzY3JvbGxIZWlnaHQsIEV2YXNfQ29vcmQgY2VudGVy
WCwgRXZhc19Db29yZCBjZW50ZXJZLCBFdmFzX0Nvb3JkIGNlbnRlclcsIEV2YXNfQ29vcmQgY2Vu
dGVySGVpZ2h0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5j
cHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCmluZGV4IGYzMzg1YmQyMDdl
NDIwYzJiMGRkZDljMDQ4ZDVmYzg2NjEyY2EyMGMuLjRiZDRjZWU2NGE1YjU0NGYzYmE0MTRhNTZj
MzI4ZDY2NTU2Y2I4MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmll
dy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcApAQCAtMzMyOSw5
ICszMzI5LDkgQEAgdWludDY0X3QgZXdrX3ZpZXdfZXhjZWVkZWRfZGF0YWJhc2VfcXVvdGEoRXZh
c19PYmplY3QqIGV3a1ZpZXcsIEV2YXNfT2JqZWN0KiBmcmEKICAqCiAgKiBAcmV0dXJuIEBmYWxz
ZSBpZiB1c2VyIGNhbmNlbGVkIGZpbGUgc2VsZWN0aW9uOyBAdHJ1ZSBpZiBjb25maXJtZWQuCiAg
Ki8KLWJvb2wgZXdrX3ZpZXdfcnVuX29wZW5fcGFuZWwoRXZhc19PYmplY3QqIGV3a1ZpZXcsIEV2
YXNfT2JqZWN0KiBmcmFtZSwgYm9vbCBhbGxvd3NNdWx0aXBsZUZpbGVzLCBjb25zdCBXVEY6OlZl
Y3RvcjxXVEY6OlN0cmluZz4mIGFjY2VwdE1JTUVUeXBlcywgRWluYV9MaXN0Kiogc2VsZWN0ZWRG
aWxlbmFtZXMpCitib29sIGV3a192aWV3X3J1bl9vcGVuX3BhbmVsKEV2YXNfT2JqZWN0KiBld2tW
aWV3LCBFdmFzX09iamVjdCogZnJhbWUsIGNvbnN0IFdlYkNvcmU6OkZpbGVDaG9vc2VyU2V0dGlu
Z3MmIHNldHRpbmdzLCBFaW5hX0xpc3QqKiBzZWxlY3RlZEZpbGVuYW1lcykKIHsKLSAgICBEQkco
ImV3a1ZpZXc9JXAgZnJhbWU9JXAgYWxsb3dzX211bHRpcGxlX2ZpbGVzPSVkIiwgZXdrVmlldywg
ZnJhbWUsIGFsbG93c011bHRpcGxlRmlsZXMpOworICAgIERCRygiZXdrVmlldz0lcCBmcmFtZT0l
cCIsIGV3a1ZpZXcsIGZyYW1lKTsKICAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKGV3a1Zp
ZXcsIHNtYXJ0RGF0YSwgZmFsc2UpOwogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZB
TChzbWFydERhdGEtPmFwaSwgZmFsc2UpOwogCkBAIC0zMzQwLDE3ICszMzQwLDIzIEBAIGJvb2wg
ZXdrX3ZpZXdfcnVuX29wZW5fcGFuZWwoRXZhc19PYmplY3QqIGV3a1ZpZXcsIEV2YXNfT2JqZWN0
KiBmcmFtZSwgYm9vbCBhbGxvCiAKICAgICAqc2VsZWN0ZWRGaWxlbmFtZXMgPSAwOwogCi0gICAg
RWluYV9MaXN0KiBjQWNjZXB0TUlNRVR5cGVzID0gMDsKLSAgICBmb3IgKFdURjo6VmVjdG9yPFdU
Rjo6U3RyaW5nPjo6Y29uc3RfaXRlcmF0b3IgaXRlcmF0b3IgPSBhY2NlcHRNSU1FVHlwZXMuYmVn
aW4oKTsgaXRlcmF0b3IgIT0gYWNjZXB0TUlNRVR5cGVzLmVuZCgpOyArK2l0ZXJhdG9yKQotICAg
ICAgICBjQWNjZXB0TUlNRVR5cGVzID0gZWluYV9saXN0X2FwcGVuZChjQWNjZXB0TUlNRVR5cGVz
LCBzdHJkdXAoKCppdGVyYXRvcikudXRmOCgpLmRhdGEoKSkpOworICAgIEV3a19GaWxlX0Nob29z
ZXJfU2V0dGluZ3MgY2hvb3NlclNldHRpbmdzOworICAgIGNob29zZXJTZXR0aW5ncy5hbGxvd3Nf
bXVsdGlwbGUgPSBzZXR0aW5ncy5hbGxvd3NNdWx0aXBsZUZpbGVzOworICAgIGNob29zZXJTZXR0
aW5ncy5jYXB0dXJlX3R5cGUgPSAwOworI2lmIEVOQUJMRShIVE1MX01FRElBX0NBUFRVUkUpCisg
ICAgaWYgKHNldHRpbmdzLmNhcHR1cmVUeXBlLmxlbmd0aCgpKQorICAgICAgICBjaG9vc2VyU2V0
dGluZ3MuY2FwdHVyZV90eXBlID0gY29uc3RfY2FzdDxjaGFyKj4oc2V0dGluZ3MuY2FwdHVyZVR5
cGUudXRmOCgpLmRhdGEoKSk7CisjZW5kaWYKKworICAgIGNob29zZXJTZXR0aW5ncy5hY2NlcHRf
dHlwZXMgPSAwOworICAgIGZvciAoV1RGOjpWZWN0b3I8V1RGOjpTdHJpbmc+Ojpjb25zdF9pdGVy
YXRvciBpdGVyYXRvciA9IHNldHRpbmdzLmFjY2VwdE1JTUVUeXBlcy5iZWdpbigpOyBpdGVyYXRv
ciAhPSBzZXR0aW5ncy5hY2NlcHRNSU1FVHlwZXMuZW5kKCk7ICsraXRlcmF0b3IpCisgICAgICAg
IGNob29zZXJTZXR0aW5ncy5hY2NlcHRfdHlwZXMgPSBlaW5hX2xpc3RfYXBwZW5kKGNob29zZXJT
ZXR0aW5ncy5hY2NlcHRfdHlwZXMsICgqaXRlcmF0b3IpLnV0ZjgoKS5kYXRhKCkpOwogCi0gICAg
Ym9vbCBjb25maXJtID0gc21hcnREYXRhLT5hcGktPnJ1bl9vcGVuX3BhbmVsKHNtYXJ0RGF0YSwg
ZnJhbWUsIGFsbG93c011bHRpcGxlRmlsZXMsIGNBY2NlcHRNSU1FVHlwZXMsIHNlbGVjdGVkRmls
ZW5hbWVzKTsKKyAgICBib29sIGNvbmZpcm0gPSBzbWFydERhdGEtPmFwaS0+cnVuX29wZW5fcGFu
ZWwoc21hcnREYXRhLCBmcmFtZSwgJmNob29zZXJTZXR0aW5ncywgc2VsZWN0ZWRGaWxlbmFtZXMp
OwogICAgIGlmICghY29uZmlybSAmJiAqc2VsZWN0ZWRGaWxlbmFtZXMpCiAgICAgICAgIEVSUigi
Q2FuY2VsZWQgZmlsZSBzZWxlY3Rpb24sIGJ1dCBzZWxlY3RlZCBmaWxlbmFtZXMgIT0gMC4gRnJl
ZSBuYW1lcyBiZWZvcmUgcmV0dXJuLiIpOwogCi0gICAgdm9pZCogaXRlbSA9IDA7Ci0gICAgRUlO
QV9MSVNUX0ZSRUUoY0FjY2VwdE1JTUVUeXBlcywgaXRlbSkKLSAgICAgICAgZnJlZShpdGVtKTsK
KyAgICBlaW5hX2xpc3RfZnJlZShjaG9vc2VyU2V0dGluZ3MuYWNjZXB0X3R5cGVzKTsKIAogICAg
IHJldHVybiBjb25maXJtOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3
a192aWV3LmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaAppbmRleCBhNDMzNTM3
NGY0OGNkNWFlNjUzZmNmNGI5ODI4NTliNTc5NzdmZmVjLi5hM2Q1ZDAyZmFkYTljNWEzNGNkMzJl
NjIzODExMzJhZmE0ZGZiNTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X3ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaApAQCAtMTA5LDYg
KzEwOSwxNSBAQCB0eXBlZGVmIHZvaWQqICgqRXdrX1ZpZXdfUmVzb3VyY2VfSGFuZGxlcl9DYiko
Y29uc3QgY2hhciAqLCBzaXplX3QgKiwgY2hhciAqKiwgdgogLy8vIENyZWF0ZXMgYSB0eXBlIG5h
bWUgZm9yIEBhIF9Fd2tfVmlld19TbWFydF9DbGFzcy4KIHR5cGVkZWYgc3RydWN0IF9Fd2tfVmll
d19TbWFydF9DbGFzcyBFd2tfVmlld19TbWFydF9DbGFzczsKIAorLy8vIENyZWF0ZXMgYSB0eXBl
IG5hbWUgZm9yIEBhIF9Fd2tfRmlsZV9DaG9vc2VyX1NldHRpbmdzLgordHlwZWRlZiBzdHJ1Y3Qg
X0V3a19GaWxlX0Nob29zZXJfU2V0dGluZ3MgRXdrX0ZpbGVfQ2hvb3Nlcl9TZXR0aW5nczsKKwor
c3RydWN0IF9Fd2tfRmlsZV9DaG9vc2VyX1NldHRpbmdzIHsKKyAgICBFaW5hX0Jvb2wgYWxsb3dz
X211bHRpcGxlOworICAgIGNoYXIqIGNhcHR1cmVfdHlwZTsKKyAgICBFaW5hX0xpc3QqIGFjY2Vw
dF90eXBlczsKK307CisKIC8vIERlZmluZXMgdGhlIGRpcmVjdGlvbiBvZiBmb2N1cyBjaGFuZ2Uu
IEtlZXAgaW4gc3luYyB3aXRoCiAvLyBXZWJDb3JlOjpGb2N1c0RpcmVjdGlvbi4KIGVudW0gX0V3
a19Gb2N1c19EaXJlY3Rpb24gewpAQCAtMTYwLDcgKzE2OSw3IEBAIHN0cnVjdCBfRXdrX1ZpZXdf
U21hcnRfQ2xhc3MgewogICAgIEVpbmFfQm9vbCAoKnNob3VsZF9pbnRlcnJ1cHRfamF2YXNjcmlw
dCkoRXdrX1ZpZXdfU21hcnRfRGF0YSAqc2QpOwogICAgIHVpbnQ2NF90ICgqZXhjZWVkZWRfZGF0
YWJhc2VfcXVvdGEpKEV3a19WaWV3X1NtYXJ0X0RhdGEgKnNkLCBFdmFzX09iamVjdCAqZnJhbWUs
IGNvbnN0IGNoYXIgKmRhdGFiYXNlTmFtZSwgdWludDY0X3QgY3VycmVudF9zaXplLCB1aW50NjRf
dCBleHBlY3RlZF9zaXplKTsKIAotICAgIEVpbmFfQm9vbCAoKnJ1bl9vcGVuX3BhbmVsKShFd2tf
Vmlld19TbWFydF9EYXRhICpzZCwgRXZhc19PYmplY3QgKmZyYW1lLCBFaW5hX0Jvb2wgYWxsb3dz
X211bHRpcGxlX2ZpbGVzLCBFaW5hX0xpc3QgKmFjY2VwdF90eXBlcywgRWluYV9MaXN0ICoqc2Vs
ZWN0ZWRfZmlsZW5hbWVzKTsKKyAgICBFaW5hX0Jvb2wgKCpydW5fb3Blbl9wYW5lbCkoRXdrX1Zp
ZXdfU21hcnRfRGF0YSAqc2QsIEV2YXNfT2JqZWN0ICpmcmFtZSwgY29uc3QgRXdrX0ZpbGVfQ2hv
b3Nlcl9TZXR0aW5ncyAqc2V0dGluZ3MsIEVpbmFfTGlzdCAqKnNlbGVjdGVkX2ZpbGVuYW1lcyk7
CiAKICAgICBFaW5hX0Jvb2wgKCpuYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbikoRXdrX1ZpZXdf
U21hcnRfRGF0YSAqc2QsIEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0ICpyZXF1ZXN0KTsKICAg
ICBFaW5hX0Jvb2wgKCpmb2N1c19jYW5fY3ljbGUpKEV3a19WaWV3X1NtYXJ0X0RhdGEgKnNkLCBF
d2tfRm9jdXNfRGlyZWN0aW9uIGRpcmVjdGlvbik7CkBAIC0xNzAsNyArMTc5LDcgQEAgc3RydWN0
IF9Fd2tfVmlld19TbWFydF9DbGFzcyB7CiAgKiBUaGUgdmVyc2lvbiB5b3UgaGF2ZSB0byBwdXQg
aW50byB0aGUgdmVyc2lvbiBmaWVsZAogICogaW4gdGhlIEBhIEV3a19WaWV3X1NtYXJ0X0NsYXNz
IHN0cnVjdHVyZS4KICAqLwotI2RlZmluZSBFV0tfVklFV19TTUFSVF9DTEFTU19WRVJTSU9OIDRV
TAorI2RlZmluZSBFV0tfVklFV19TTUFSVF9DTEFTU19WRVJTSU9OIDVVTAogCiAvKioKICAqIElu
aXRpYWxpemVzIGEgd2hvbGUgQGEgRXdrX1ZpZXdfU21hcnRfQ2xhc3Mgc3RydWN0dXJlLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwppbmRleCAxMDExYmY4ZDBjZjI2N2YzZDkxZjE2MTdhNzQ3ZTI3ZmQ2ZGZmNTdi
Li4zNjZlODNlOGIwZmI4ZDE5OTc3ZGYyNjI3MjkzY2NjZDZkNjBmODZkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwor
KysgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwpAQCAtODMsNiArODMsNyBAQCBFTkFCTEVfRklMRV9TWVNURU0gPSA7CiBFTkFCTEVfRlVM
TFNDUkVFTl9BUEkgPSBFTkFCTEVfRlVMTFNDUkVFTl9BUEk7CiBFTkFCTEVfR0FNRVBBRCA9IDsK
IEVOQUJMRV9HRU9MT0NBVElPTiA9IEVOQUJMRV9HRU9MT0NBVElPTjsKK0VOQUJMRV9IVE1MX01F
RElBX0NBUFRVUkUgPSA7CiBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSA9IDsKIEVOQUJMRV9JTlBV
VF9DT0xPUiA9IDsKIEVOQUJMRV9JTlBVVF9TUEVFQ0ggPSA7CkBAIC0xMjIsNCArMTIzLDQgQEAg
RU5BQkxFX1dFQl9USU1JTkcgPSA7CiBFTkFCTEVfV09SS0VSUyA9IEVOQUJMRV9XT1JLRVJTOwog
RU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVf
M0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FO
SU1BVElPTl9BUEkpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAk
KEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04pICQoRU5BQkxFX0NTU19GSUxURVJTKSAk
KEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19TSEFERVJTKSAkKEVOQUJMRV9E
QVRBTElTVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMUykg
JChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAk
KEVOQUJMRV9GSUxFX1NZU1RFTSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9J
Q09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX0NP
TE9SKSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxP
Q0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikg
JChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9T
T1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX1RBRykgJChF
TkFCTEVfTVVUQVRJT05fT0JTRVJWRVJTKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJM
RV9QQUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QUk9HUkVTU19UQUcpICQoRU5BQkxFX1FV
T1RBKSAkKEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKSAkKEVOQUJMRV9SRVFVRVNU
X0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NRTF9E
QVRBQkFTRSkgJChFTkFCTEVfU1RZTEVfU0NPUEVEKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NW
R19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URVhUX05P
VElGSUNBVElPTlNfT05MWSkgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9W
SURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJf
QVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJM
RV9XT1JLRVJTKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNE
X1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BTklN
QVRJT05fQVBJKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChF
TkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9DU1NfRklMVEVSUykgJChF
TkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfU0hBREVSUykgJChFTkFCTEVfREFU
QUxJU1QpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFMpICQo
RU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJChF
TkFCTEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZVTExTQ1JFRU5f
QVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSFRN
TF9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRI
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChF
TkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFC
TEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX01FVEVSX1RBRykgJChFTkFCTEVfTVVUQVRJT05fT0JTRVJWRVJTKSAkKEVO
QUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJM
RV9QUk9HUkVTU19UQUcpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NP
TF9IQU5ETEVSKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfU0hB
UkVEX1dPUktFUlMpICQoRU5BQkxFX1NRTF9EQVRBQkFTRSkgJChFTkFCTEVfU1RZTEVfU0NPUEVE
KSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVf
U1ZHX0ZPTlRTKSAkKEVOQUJMRV9URVhUX05PVElGSUNBVElPTlNfT05MWSkgJChFTkFCTEVfVE9V
Q0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQo
RU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAk
KEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YU0xUKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlIGIvU291cmNlL2NtYWtlL09w
dGlvbnNFZmwuY21ha2UKaW5kZXggOTg1Y2EyNzE1NjU2MjQzZWRmNzUxMWM4MGY5NzdhMzBkYjNk
OTFkYi4uOTAzYjJjOGE4MTcwMGY4MGY0OTE5OWFlYWYxMzBkOWFmMmI3ODkwYyAxMDA2NDQKLS0t
IGEvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL09wdGlv
bnNFZmwuY21ha2UKQEAgLTczLDYgKzczLDcgQEAgV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX0ZUUERJ
UiAiRW5hYmxlIEZUUCBkaXJlY3Rvcnkgc3VwcG9ydCIgREVGQVVMVCBPTikKIFdFQktJVF9GRUFU
VVJFKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSAiRW5hYmxlIEZ1bGxzY3JlZW4gQVBJIHN1cHBvcnQi
IERFRkFVTFQgT0ZGKQogV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX0dFT0xPQ0FUSU9OICJFbmFibGUg
Z2VvbG9jYXRpb24iIERFRkFVTFQgT0ZGKQogV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX0dMSUJfU1VQ
UE9SVCAiRW5hYmxlIEdsaWIgc3VwcG9ydCIgREVGQVVMVCBPTikKK1dFQktJVF9GRUFUVVJFKEVO
QUJMRV9IVE1MX01FRElBX0NBUFRVUkUgIkVuYWJsZSBIVE1MIE1lZGlhIENhcHR1cmUiIERFRkFV
TFQgT04pCiBXRUJLSVRfRkVBVFVSRShFTkFCTEVfSUNPTkRBVEFCQVNFICJFbmFibGUgaWNvbiBk
YXRhYmFzZSIgREVGQVVMVCBPTikKIFdFQktJVF9GRUFUVVJFKEVOQUJMRV9JTlNQRUNUT1IgIkVu
YWJsZSBpbnNwZWN0b3IiIERFRkFVTFQgT04pCiBXRUJLSVRfRkVBVFVSRShFTkFCTEVfSkFWQVND
UklQVF9ERUJVR0dFUiAiRW5hYmxlIEphdmFTY3JpcHQgZGVidWdnZXIiIERFRkFVTFQgT04pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZSBiL1NvdXJjZS9jbWFrZWNvbmZp
Zy5oLmNtYWtlCmluZGV4IDZkM2Y4Mzc5NDcyOTNjMWQyNTMwZGRiNDE4ODhlOTRkNjVlMWI0Yjgu
LjM3YmQ1NDQ0NTQwYWM1NDMwZTcwMzRkYjcyNWM5Y2EwZjJlODg5ZGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtl
CkBAIC0xOSw2ICsxOSw3IEBACiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfRlVMTFNDUkVFTl9BUEkK
ICNjbWFrZWRlZmluZTAxIEVOQUJMRV9HRU9MT0NBVElPTgogI2NtYWtlZGVmaW5lMDEgRU5BQkxF
X0dMSUJfU1VQUE9SVAorI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0hUTUxfTUVESUFfQ0FQVFVSRQog
I2NtYWtlZGVmaW5lMDEgRU5BQkxFX0lDT05EQVRBQkFTRQogI2NtYWtlZGVmaW5lMDEgRU5BQkxF
X0lOREVYRURfREFUQUJBU0UKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9JTlNQRUNUT1IKZGlmZiAt
LWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3NTJmOWE2OWMx
NWU2MThmZmQ1YWU0NTY0YmUxOTY2Y2Y5MzUzMTg1Li5lNjQ0NWU0NWZkZTAzMzk4YmE4YjFjZjcx
NWM5NTBjYWZhMjllMzFjIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDEtMTkgIEpvbmdTZW9rIFlhbmcgIDxq
czQ1LnlhbmdAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgQWRkIGNhcHR1cmUgYXR0cmlidXRlIGZv
ciBIVE1MIE1lZGlhIENhcHR1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTYzMDYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIG9wdGlvbiBmb3IgSFRNTCBNZWRpYSBDYXB0dXJlLgorCisgICAgICAg
ICogU2NyaXB0cy9idWlsZC13ZWJraXQ6CisgICAgICAgICogcW1ha2UvbWtzcGVjcy9mZWF0dXJl
cy9mZWF0dXJlcy5wcmY6CisKIDIwMTItMDEtMTkgIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAgPGdu
c0Bnbm9tZS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCBidWlsZCBmaXguIFdyb25nIHZhcmlh
YmxlIGJlaW5nIHVzZWQgYXMgdGhlIGN3ZCBmb3IgZ2l0CmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL2J1aWxkLXdlYmtpdCBiL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0CmluZGV4IDJkOTYx
YWVlMThjOWI1ZGIyZWVhY2RiYmYxYWNkZTk3YzY2YTMzZDMuLjRjNjFhOGZhNGNlYzQ2NjFiM2Zl
YzdlZjVhN2FkYmUxZDUwODIyMWUgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Vi
a2l0CisrKyBiL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0CkBAIC04OSw2ICs4OSw3IEBAIG15
ICgKICAgICAkZnVsbHNjcmVlbkFQSVN1cHBvcnQsCiAgICAgJGdhbWVwYWRTdXBwb3J0LAogICAg
ICRnZW9sb2NhdGlvblN1cHBvcnQsCisgICAgJGh0bWxNZWRpYUNhcHR1cmVTdXBwb3J0LAogICAg
ICRpY29uRGF0YWJhc2VTdXBwb3J0LAogICAgICRpbWFnZVJlc2l6ZXJTdXBwb3J0LAogICAgICRp
bmRleGVkRGF0YWJhc2VTdXBwb3J0LApAQCAtMjEyLDYgKzIxMyw5IEBAIG15IEBmZWF0dXJlcyA9
ICgKICAgICB7IG9wdGlvbiA9PiAiZ2VvbG9jYXRpb24iLCBkZXNjID0+ICJUb2dnbGUgR2VvbG9j
YXRpb24gc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9HRU9MT0NBVElPTiIsIGRl
ZmF1bHQgPT4gKGlzQXBwbGVXZWJLaXQoKSB8fCBpc0d0aygpIHx8IGlzQmxhY2tCZXJyeSgpKSwg
dmFsdWUgPT4gXCRnZW9sb2NhdGlvblN1cHBvcnQgfSwKIAorICAgIHsgb3B0aW9uID0+ICJodG1s
LW1lZGlhLWNhcHR1cmUiLCBkZXNjID0+ICJUb2dnbGUgSFRNTCBNZWRpYSBDYXB0dXJlIHN1cHBv
cnQiLAorICAgICAgZGVmaW5lID0+ICJFTkFCTEVfSFRNTF9NRURJQV9DQVBUVVJFIiwgZGVmYXVs
dCA9PiBpc0VmbCgpLCB2YWx1ZSA9PiBcJGh0bWxNZWRpYUNhcHR1cmVTdXBwb3J0IH0sCisKICAg
ICB7IG9wdGlvbiA9PiAiaWNvbi1kYXRhYmFzZSIsIGRlc2MgPT4gIlRvZ2dsZSBJY29uIGRhdGFi
YXNlIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfSUNPTkRBVEFCQVNFIiwgZGVm
YXVsdCA9PiAxLCB2YWx1ZSA9PiBcJGljb25EYXRhYmFzZVN1cHBvcnQgfSwKIApkaWZmIC0tZ2l0
IGEvVG9vbHMvcW1ha2UvbWtzcGVjcy9mZWF0dXJlcy9mZWF0dXJlcy5wcmYgYi9Ub29scy9xbWFr
ZS9ta3NwZWNzL2ZlYXR1cmVzL2ZlYXR1cmVzLnByZgppbmRleCA3OWM5MDRjMTNiOTU2NzAwMmFh
MWFhMTc3ODBjNzViZmE4MjJiNzA5Li5lOTM4NzM1YzM0MzFmMTg5ZDI0NDZiZjVkMTVlYzZiYTZk
NjY3Njg4IDEwMDY0NAotLS0gYS9Ub29scy9xbWFrZS9ta3NwZWNzL2ZlYXR1cmVzL2ZlYXR1cmVz
LnByZgorKysgYi9Ub29scy9xbWFrZS9ta3NwZWNzL2ZlYXR1cmVzL2ZlYXR1cmVzLnByZgpAQCAt
ODQsNiArODQsNyBAQCBoYXZlUXQoNCk6dW5peDohbWFjOiFlbWJlZGRlZCB7CiAhY29udGFpbnMo
REVGSU5FUywgRU5BQkxFX01FRElBX1NUUkVBTT0uKTogREVGSU5FUyArPSBFTkFCTEVfTUVESUFf
U1RSRUFNPTAKICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVfVklERU9fVFJBQ0s9Lik6IERFRklO
RVMgKz0gRU5BQkxFX1ZJREVPX1RSQUNLPTAKICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVfVE9V
Q0hfSUNPTl9MT0FESU5HPS4pOiBERUZJTkVTICs9IEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkc9
MAorIWNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9IVE1MX01FRElBX0NBUFRVUkU9Lik6IERFRklO
RVMgKz0gRU5BQkxFX0hUTUxfTUVESUFfQ0FQVFVSRT0wCiAhY29udGFpbnMoREVGSU5FUywgRU5B
QkxFX0FOSU1BVElPTl9BUEk9Lik6IERFRklORVMgKz0gRU5BQkxFX0FOSU1BVElPTl9BUEk9MAog
CiAjIFNWRyBzdXBwb3J0CmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXgg
ZWQwZGQ3ZGE1NzMyM2JlYWQwZGI2YWU3NDBkOTE0NjA0ZjYwYmQxMy4uZjJmODYzZjg2OGYzYTVk
NDE1ZmI4MGQwMzZjOGVlNDgzNGQyNmFhYiAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTAxLTE5ICBKb25nU2VvayBZYW5nICA8anM0
NS55YW5nQHNhbXN1bmcuY29tPgorCisgICAgICAgIEFkZCBjYXB0dXJlIGF0dHJpYnV0ZSBmb3Ig
SFRNTCBNZWRpYSBDYXB0dXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02MzA2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZCBvcHRpb24gZm9yIEhUTUwgTWVkaWEgQ2FwdHVyZS4KKworICAgICAgICAq
IFNvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlOgorICAgICAgICAqIFNvdXJjZS9jbWFrZWNv
bmZpZy5oLmNtYWtlOgorCiAyMDEyLTAxLTE5ICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgIDxnbnNA
Z25vbWUub3JnPgogCiAgICAgICAgIFJ1YmJlci1zdGFtcGVkIGJ5IE1hcnRpbiBSb2JpbnNvbi4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123253</attachid>
            <date>2012-01-19 22:38:34 -0800</date>
            <delta_ts>2012-02-17 02:04:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-63062-20120120153831.patch</filename>
            <type>text/plain</type>
            <size>31917</size>
            <attacher name="Jongseok Yang">js45.yang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1NDc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
OTRlOTU4OTI4ZDMzZDJhYjgwNmU3YzE0MTM3NGViNjBjMzEyNjk3Li40MTcxZDc3OTM4Yzc4OGVk
YjMzNTE0NmU0OTJjZjliYjc3MGFhNTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAxMi0wMS0xOSAgSm9uZ1Nlb2sgWWFuZyAgPGpzNDUueWFuZ0BzYW1zdW5n
LmNvbT4KKworICAgICAgICBBZGQgY2FwdHVyZSBhdHRyaWJ1dGUgZm9yIEhUTUwgTWVkaWEgQ2Fw
dHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMw
NjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQg
b3B0aW9uIGZvciBIVE1MIE1lZGlhIENhcHR1cmUuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxMi0wMS0xOSAgVG9ueSBDaGFuZyAgPHRv
bnlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gUmVtb3ZlIGFuIG9ic29sZXRl
IGNvbW1lbnQgYWJvdXQgZmVhdHVyZXMuZ3lwaQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGRhN2NhN2UzYzU1YjIy
Mjc5NjU3ZmMzYmEyNTE2NWZiZGQ1ZDNlOTAuLmUwNGJlYzZmNTA0YWQ0NmQ1NzhlYmJkYjYxYzVk
ZjE4Mjg0NWY3N2EgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAxMi0wMS0xOSAgSm9u
Z1Nlb2sgWWFuZyAgPGpzNDUueWFuZ0BzYW1zdW5nLmNvbT4KKworICAgICAgICBBZGQgY2FwdHVy
ZSBhdHRyaWJ1dGUgZm9yIEhUTUwgTWVkaWEgQ2FwdHVyZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMwNjIKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTZWUgaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMS9X
RC1odG1sLW1lZGlhLWNhcHR1cmUtMjAxMTA0MTQvIGZvciBIVE1MIE1lZGlhIENhcHR1cmUuCisg
ICAgICAgIFRvIHN1cHBvcnQgdGhlIHNwZWMsICJjYXB0dXJlIiBhdHRyaWJ1dGUgaXMgcmVxdWly
ZWQgYW5kIHRoZSBhdHRyaWJ1dGUgY2FuIGJlIHVzZWQgaW4KKyAgICAgICAgQ2hyb21lQ2xpZW50
OjpydW5PcGVuUGFuZWwoKSBmb3IgZWFjaCBwb3J0LgorCisgICAgICAgIE9uZSBwb3J0IG1pZ2h0
IGV4ZWN1dGUgdGhlIGZpbGUgcGljayBsaWtlIHRoZSBleGFtcGxlcyBpbiB0aGUgc3BlYy4KKyAg
ICAgICAgQW5vdGhlciBwb3J0IG1pZ2h0IGRpc3BsYXkgYSBsaXN0IHBvcHVwIHRvIHByb3ZpZGUg
dGhlIGludGVyZmFjZSBmb3IgdGhlIHNlbGVjdGlvbiBmcm9tIHRoZSB1c2VyLgorCisgICAgICAg
ICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogR05V
bWFrZWZpbGUuYW06CisgICAgICAgICogaHRtbC9GaWxlSW5wdXRUeXBlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkZpbGVJbnB1dFR5cGU6OmhhbmRsZURPTUFjdGl2YXRlRXZlbnQpOgorICAgICAg
ICAqIGh0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpjYXB0dXJl
KToKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hU
TUxJbnB1dEVsZW1lbnQuaWRsOgorICAgICAgICAqIHBsYXRmb3JtL0ZpbGVDaG9vc2VyLmg6CisK
IDIwMTItMDEtMTggIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBNb3Zl
IFJ1bkxvb3AgdG8gV2ViQ29yZS9wbGF0Zm9ybQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9l
ZmwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCmluZGV4IGQ4N2UwNGMy
NzdkNDQ2NmFiODcyZGZiOGI1MTQ3OGJlNGM5Y2IzYTAuLmNhOWI1ZDAyYTg3ZjdjYjQ5YzYzZGM1
YzljMjdiNWNhNDkxZThjZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAx
Mi0wMS0xOSAgSm9uZ1Nlb2sgWWFuZyAgPGpzNDUueWFuZ0BzYW1zdW5nLmNvbT4KKworICAgICAg
ICBBZGQgY2FwdHVyZSBhdHRyaWJ1dGUgZm9yIEhUTUwgTWVkaWEgQ2FwdHVyZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMwNjIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgY2FwdHVyZSBhdHRyaWJ1
dGUgdG8gc3VwcG9ydCBIVE1MIE1lZGlhIENhcHR1cmUuCisgICAgICAgIGV3a192aWV3X3J1bl9v
cGVuX3BhbmVsIHVzZXMgV2ViQ29yZTo6RmlsZUNob29zZXJTZXR0aW5ncyBhcyB0aGUgcGFyYW1l
dGVyIHRvIHVzZSBjYXB0dXJlIGF0dHJpYnV0ZS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEVmbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRFZmw6
OnJ1bk9wZW5QYW5lbCk6CisgICAgICAgICogZXdrL2V3a19wcml2YXRlLmg6CisgICAgICAgICog
ZXdrL2V3a192aWV3LmNwcDoKKyAgICAgICAgKGV3a192aWV3X3J1bl9vcGVuX3BhbmVsKToKKyAg
ICAgICAgKiBld2svZXdrX3ZpZXcuaDoKKwogMjAxMi0wMS0xNyAgR3l1eW91bmcgS2ltICA8Z3l1
eW91bmcua2ltQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdIFVzZSBzdGF0aWMgY29uc3Qg
aW5zdGVkIG9mICNkZWZpbmUgbWFjcm8uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggMjJhOTk3ZTZmOWJk
MjQ1ZWI1MzZmODdjZGMyZTFmZTBmNzAyNTMyOS4uODM0MGFjODYwYjFlOWQ4ZWM5MWI5NGY3YmNk
NDNkODg2ODZmODU0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEyLTAx
LTE5ICBKb25nU2VvayBZYW5nICA8anM0NS55YW5nQHNhbXN1bmcuY29tPgorCisgICAgICAgIEFk
ZCBjYXB0dXJlIGF0dHJpYnV0ZSBmb3IgSFRNTCBNZWRpYSBDYXB0dXJlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MzA2MgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBvcHRpb24gZm9yIEhUTUwgTWVk
aWEgQ2FwdHVyZS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnOgorCiAyMDEyLTAxLTE3ICBFbnJpY2EgQ2FzdWNjaSAgPGVucmljYUBhcHBsZS5jb20+
CiAKICAgICAgICAgTWlzc2luZyBOU0ZvcmVncm91bmRDb2xvckF0dHJpYnV0ZU5hbWUgc2hvdWxk
IGJlIHRyZWF0ZWQgYXMgYmxhY2sgaW5zdGVhZCBvZiB0cmFuc3BhcmVudC4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwppbmRleCA5NTg5YmQyOTU1ZTdkMDcyMGQ4MWY2MTRkNDcxNDZmNDA2ZTc0MWFj
Li5iYWYzZDRjNmQxZjRmMTdhMTZhNmIwNzBjM2I0NDJjOWVlYTA2OGQ1IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCkBAIC04Myw2ICs4Myw3IEBAIEVOQUJMRV9GSUxFX1NZU1RFTSA9IDsKIEVO
QUJMRV9GVUxMU0NSRUVOX0FQSSA9IEVOQUJMRV9GVUxMU0NSRUVOX0FQSTsKIEVOQUJMRV9HQU1F
UEFEID0gOwogRU5BQkxFX0dFT0xPQ0FUSU9OID0gRU5BQkxFX0dFT0xPQ0FUSU9OOworRU5BQkxF
X0hUTUxfTUVESUFfQ0FQVFVSRSA9IDsKIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFID0gOwogRU5B
QkxFX0lOUFVUX0NPTE9SID0gOwogRU5BQkxFX0lOUFVUX1NQRUVDSCA9IDsKQEAgLTEyMiw0ICsx
MjMsNCBAQCBFTkFCTEVfV0VCX1RJTUlORyA9IDsKIEVOQUJMRV9XT1JLRVJTID0gRU5BQkxFX1dP
UktFUlM7CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAk
KEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChF
TkFCTEVfQU5JTUFUSU9OX0FQSSkgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpICQoRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikgJChFTkFCTEVfQ1NTX0ZJ
TFRFUlMpICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX1NIQURFUlMpICQo
RU5BQkxFX0RBVEFMSVNUKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9E
RVRBSUxTKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RJUkVDVE9SWV9V
UExPQUQpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9G
VUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVf
SU5QVVRfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RF
QlVHR0VSKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxF
X01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJf
VEFHKSAkKEVOQUJMRV9NVVRBVElPTl9PQlNFUlZFUlMpICQoRU5BQkxFX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BST0dSRVNTX1RBRykgJChF
TkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpICQoRU5BQkxF
X1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFC
TEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9TVFlMRV9TQ09QRUQpICQoRU5BQkxFX1NWRykgJChF
TkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxF
X1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQo
RU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfV0VCR0wpICQoRU5B
QkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcp
ICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChF
TkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5B
QkxFX0FOSU1BVElPTl9BUEkpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HKSAkKEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04pICQoRU5BQkxFX0NTU19GSUxU
RVJTKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19TSEFERVJTKSAkKEVO
QUJMRV9EQVRBTElTVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVU
QUlMUykgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBM
T0FEKSAkKEVOQUJMRV9GSUxFX1NZU1RFTSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRlVM
TFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVO
QUJMRV9IVE1MX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1NQ
RUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9X
RUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENI
KSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFf
U1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfVEFHKSAkKEVOQUJMRV9NVVRBVElPTl9PQlNFUlZF
UlMpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkp
ICQoRU5BQkxFX1BST0dSRVNTX1RBRykgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFR0lTVEVS
X1BST1RPQ09MX0hBTkRMRVIpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVO
QUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9TVFlM
RV9TQ09QRUQpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAk
KEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZKSAkKEVO
QUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19U
UkFDSykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NP
Q0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hT
TFQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwppbmRleCAxMDExYmY4ZDBjZjI2N2YzZDkxZjE2MTdhNzQ3ZTI3ZmQ2ZGZm
NTdiLi4zNjZlODNlOGIwZmI4ZDE5OTc3ZGYyNjI3MjkzY2NjZDZkNjBmODZkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZwpAQCAtODMsNiArODMsNyBAQCBFTkFCTEVfRklMRV9TWVNURU0gPSA7CiBFTkFCTEVfRlVMTFND
UkVFTl9BUEkgPSBFTkFCTEVfRlVMTFNDUkVFTl9BUEk7CiBFTkFCTEVfR0FNRVBBRCA9IDsKIEVO
QUJMRV9HRU9MT0NBVElPTiA9IEVOQUJMRV9HRU9MT0NBVElPTjsKK0VOQUJMRV9IVE1MX01FRElB
X0NBUFRVUkUgPSA7CiBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSA9IDsKIEVOQUJMRV9JTlBVVF9D
T0xPUiA9IDsKIEVOQUJMRV9JTlBVVF9TUEVFQ0ggPSA7CkBAIC0xMjIsNCArMTIzLDQgQEAgRU5B
QkxFX1dFQl9USU1JTkcgPSA7CiBFTkFCTEVfV09SS0VSUyA9IEVOQUJMRV9XT1JLRVJTOwogRU5B
QkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0Rf
UkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FOSU1B
VElPTl9BUEkpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVO
QUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04pICQoRU5BQkxFX0NTU19GSUxURVJTKSAkKEVO
QUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19TSEFERVJTKSAkKEVOQUJMRV9EQVRB
TElTVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMUykgJChF
TkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVO
QUJMRV9GSUxFX1NZU1RFTSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRlVMTFNDUkVFTl9B
UEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09O
REFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX0NPTE9S
KSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FM
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChF
TkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9TT1VS
Q0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX1RBRykgJChFTkFC
TEVfTVVUQVRJT05fT0JTRVJWRVJTKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
QUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QUk9HUkVTU19UQUcpICQoRU5BQkxFX1FVT1RB
KSAkKEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKSAkKEVOQUJMRV9SRVFVRVNUX0FO
SU1BVElPTl9GUkFNRSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NRTF9EQVRB
QkFTRSkgJChFTkFCTEVfU1RZTEVfU0NPUEVEKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19E
T01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URVhUX05PVElG
SUNBVElPTlNfT05MWSkgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9WSURF
TykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVE
SU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9X
T1JLRVJTKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JF
TkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BTklNQVRJ
T05fQVBJKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFC
TEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9DU1NfRklMVEVSUykgJChFTkFC
TEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfU0hBREVSUykgJChFTkFCTEVfREFUQUxJ
U1QpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFMpICQoRU5B
QkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFC
TEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSFRNTF9N
RURJQV9DQVBUVVJFKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpICQoRU5BQkxFX0lOUFVUX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFC
TEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVf
TUFUSE1MKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1Mp
ICQoRU5BQkxFX01FVEVSX1RBRykgJChFTkFCTEVfTVVUQVRJT05fT0JTRVJWRVJTKSAkKEVOQUJM
RV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9Q
Uk9HUkVTU19UQUcpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9I
QU5ETEVSKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfU0hBUkVE
X1dPUktFUlMpICQoRU5BQkxFX1NRTF9EQVRBQkFTRSkgJChFTkFCTEVfU1RZTEVfU0NPUEVEKSAk
KEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9URVhUX05PVElGSUNBVElPTlNfT05MWSkgJChFTkFCTEVfVE9VQ0hf
SUNPTl9MT0FESU5HKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5B
QkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVO
QUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUuYW0KaW5kZXggMDk0M2U3MDdhOTk2NWZkNTNlOTNlZTlmMzZlZWViNmQ4YTU5OTRh
MS4uNDg0MGUwOGM1ZDM2MzlhNmJlNTJiNmIyMWNiZWZmOGViMjAwM2RhNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUuYW0KQEAgLTQzNSw2ICs0MzUsMTQgQEAgd2ViY29yZV9jcHBmbGFncyArPSAtREVOQUJM
RV9HRU9MT0NBVElPTj0xIC1ERU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTj0xCiBlbmRp
ZiAjIEVORCBFTkFCTEVfR0VPTE9DQVRJT04KIAogIyAtLS0tCisjIEhUTUwgTWVkaWEgQ2FwdHVy
ZQorIyAtLS0tCitpZiBFTkFCTEVfSFRNTF9NRURJQV9DQVBUVVJFCitGRUFUVVJFX0RFRklORVMg
Kz0gRU5BQkxFX0hUTUxfTUVESUFfQ0FQVFVSRT0xCit3ZWJjb3JlX2NwcGZsYWdzICs9IC1ERU5B
QkxFX0hUTUxfTUVESUFfQ0FQVFVSRT0xCitlbmRpZiAjIEVORCBFTkFCTEVfSFRNTF9NRURJQV9D
QVBUVVJFCisKKyMgLS0tLQogIyBNYXRoTUwgc3VwcG9ydAogIyAtLS0tCiBpZiBFTkFCTEVfTUFU
SE1MCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZpbGVJbnB1dFR5cGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9GaWxlSW5wdXRUeXBlLmNwcAppbmRleCA2NTVlODFlYWRiYzcz
MTE5YzUwMGI2ZDU1OTcwOTJiMDg1NGYyZTA3Li4xNTBlYjE1YWE2MTdmMDY2MDQ3OGE3Nzc1ZjUz
MDliNDA4MTA4YmM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZpbGVJbnB1dFR5
cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmlsZUlucHV0VHlwZS5jcHAKQEAgLTE1
NCw2ICsxNTQsOSBAQCB2b2lkIEZpbGVJbnB1dFR5cGU6OmhhbmRsZURPTUFjdGl2YXRlRXZlbnQo
RXZlbnQqIGV2ZW50KQogI2Vsc2UKICAgICAgICAgc2V0dGluZ3MuYWxsb3dzTXVsdGlwbGVGaWxl
cyA9IGlucHV0LT5mYXN0SGFzQXR0cmlidXRlKG11bHRpcGxlQXR0cik7CiAjZW5kaWYKKyNpZiBF
TkFCTEUoSFRNTF9NRURJQV9DQVBUVVJFKQorICAgICAgICBzZXR0aW5ncy5jYXB0dXJlVHlwZSA9
IGlucHV0LT5jYXB0dXJlKCk7CisjZW5kaWYKICAgICAgICAgc2V0dGluZ3MuYWNjZXB0TUlNRVR5
cGVzID0gaW5wdXQtPmFjY2VwdE1JTUVUeXBlcygpOwogICAgICAgICBzZXR0aW5ncy5zZWxlY3Rl
ZEZpbGVzID0gbV9maWxlTGlzdC0+cGF0aHMoKTsKICAgICAgICAgY2hyb21lLT5ydW5PcGVuUGFu
ZWwoaW5wdXQtPmRvY3VtZW50KCktPmZyYW1lKCksIG5ld0ZpbGVDaG9vc2VyKHNldHRpbmdzKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbiBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCmluZGV4IDYwZDk2ZDUz
ZDgyYmU4MWFhMmJiMDUxYzMxOGRiZTViNjg5YjIxMjIuLmYyNDU3NDQ2ODA4M2JiZDY1ZjU0ZDRm
MjBiZWUzNTI3MjkxYmM4OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0
dHJpYnV0ZU5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5h
bWVzLmluCkBAIC01OCw2ICs1OCw3IEBAIGJnY29sb3IKIGJncHJvcGVydGllcwogYm9yZGVyCiBi
b3JkZXJjb2xvcgorY2FwdHVyZQogY2VsbHBhZGRpbmcKIGNlbGxzcGFjaW5nCiBjaGFyCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAppbmRleCA3NTAxYmM0MzY5MDgzZTk4
N2EzZWI4ZWViMGIzNTM4M2NmZTk5YjY3Li5kNmUxZmFmNDU5YWNiOWM2NDUyNzZjZjczNzQxNzgy
MTViM2I2MWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKQEAg
LTEzNTksNiArMTM1OSwxMyBAQCBTdHJpbmcgSFRNTElucHV0RWxlbWVudDo6YWx0KCkgY29uc3QK
ICAgICByZXR1cm4gZmFzdEdldEF0dHJpYnV0ZShhbHRBdHRyKTsKIH0KIAorI2lmIEVOQUJMRShI
VE1MX01FRElBX0NBUFRVUkUpCitTdHJpbmcgSFRNTElucHV0RWxlbWVudDo6Y2FwdHVyZSgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIGZhc3RHZXRBdHRyaWJ1dGUoY2FwdHVyZUF0dHIpOworfQorI2Vu
ZGlmCisKIGludCBIVE1MSW5wdXRFbGVtZW50OjptYXhMZW5ndGgoKSBjb25zdAogewogICAgIHJl
dHVybiBtX21heExlbmd0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElu
cHV0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKaW5k
ZXggZmM2ZjA2ODI4Zjk4N2JjOGUwZDc1OWM1MjljOTBiYjNlYzcxOTU1Yi4uNzRmOWQwMDQ0ZjEz
MDZhNzA2NTMwOWQwNWZkNzNlNDY5YWNlMzBjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5w
dXRFbGVtZW50LmgKQEAgLTE5Miw2ICsxOTIsMTAgQEAgcHVibGljOgogICAgIFN0cmluZyBhY2Nl
cHQoKSBjb25zdDsKICAgICBTdHJpbmcgYWx0KCkgY29uc3Q7CiAKKyNpZiBFTkFCTEUoSFRNTF9N
RURJQV9DQVBUVVJFKQorICAgIFN0cmluZyBjYXB0dXJlKCkgY29uc3Q7CisjZW5kaWYKKwogICAg
IHZvaWQgc2V0U2l6ZSh1bnNpZ25lZCk7CiAKICAgICBLVVJMIHNyYygpIGNvbnN0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5pZGwKaW5kZXggNzQ2MzMzNGJiMWFmYjM2ZDkz
YzZhODc2NDFiNDJjNjUyOGI1YTVkNC4uNDc3NTFjZWE1NGNmNzM1OTc2OTc0MjA1N2U5YTY4MDg3
ODZlNGM3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCkBAIC0z
NCw2ICszNCw5IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBE
T01TdHJpbmcgYWNjZXB0OwogICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBh
bGlnbjsKICAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgYWx0OworI2lmIGRl
ZmluZWQoRU5BQkxFX0hUTUxfTUVESUFfQ0FQVFVSRSkgJiYgRU5BQkxFX0hUTUxfTUVESUFfQ0FQ
VFVSRQorICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBjYXB0dXJlOworI2Vu
ZGlmCiAgICAgICAgIGF0dHJpYnV0ZSBib29sZWFuIGNoZWNrZWQ7CiAgICAgICAgIGF0dHJpYnV0
ZSBbUmVmbGVjdF0gYm9vbGVhbiBkaXNhYmxlZDsKICAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0
XSBib29sZWFuIGF1dG9mb2N1czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0ZpbGVDaG9vc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlQ2hvb3Nlci5oCmlu
ZGV4IGNjMjBiZTI4MWI4NDI0Y2JlYmUwMTVhNzI3YTU0Zjg2YjBlM2VhMzEuLmMzNTYwMjYyOTky
MjViZTlhOTgwZmEwZDk2NzA1YzlmOWIzZjU0OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0ZpbGVDaG9vc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmls
ZUNob29zZXIuaApAQCAtNDMsNiArNDMsOSBAQCBzdHJ1Y3QgRmlsZUNob29zZXJTZXR0aW5ncyB7
CiAjaWYgRU5BQkxFKERJUkVDVE9SWV9VUExPQUQpCiAgICAgYm9vbCBhbGxvd3NEaXJlY3RvcnlV
cGxvYWQ7CiAjZW5kaWYKKyNpZiBFTkFCTEUoSFRNTF9NRURJQV9DQVBUVVJFKQorICAgIFN0cmlu
ZyBjYXB0dXJlVHlwZTsKKyNlbmRpZgogICAgIFZlY3RvcjxTdHJpbmc+IGFjY2VwdE1JTUVUeXBl
czsKICAgICBWZWN0b3I8U3RyaW5nPiBzZWxlY3RlZEZpbGVzOwogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwCmluZGV4IGEy
NWY5ZDBlNDcwOGJiMGFhNTViNGJmNTcyMjgwZjk1OTI5OTIwY2MuLmQyMWJjZDRhZDY1OTg4M2Rh
YWRlNjFmMzlhMmRjNGEyYzFhMzBmYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcApAQCAtNDMyLDggKzQzMiw3IEBAIHZv
aWQgQ2hyb21lQ2xpZW50RWZsOjpydW5PcGVuUGFuZWwoRnJhbWUqIGZyYW1lLCBQYXNzUmVmUHRy
PEZpbGVDaG9vc2VyPiBwcnBGaWxlCiAgICAgdm9pZCogZmlsZW5hbWU7CiAgICAgVmVjdG9yPFN0
cmluZz4gZmlsZW5hbWVzOwogCi0gICAgY29uc3QgRmlsZUNob29zZXJTZXR0aW5ncyYgc2V0dGlu
Z3MgPSBjaG9vc2VyLT5zZXR0aW5ncygpOwotICAgIGJvb2wgY29uZmlybSA9IGV3a192aWV3X3J1
bl9vcGVuX3BhbmVsKG1fdmlldywga2l0KGZyYW1lKSwgc2V0dGluZ3MuYWxsb3dzTXVsdGlwbGVG
aWxlcywgc2V0dGluZ3MuYWNjZXB0TUlNRVR5cGVzLCAmc2VsZWN0ZWRGaWxlbmFtZXMpOworICAg
IGJvb2wgY29uZmlybSA9IGV3a192aWV3X3J1bl9vcGVuX3BhbmVsKG1fdmlldywga2l0KGZyYW1l
KSwgY2hvb3Nlci0+c2V0dGluZ3MoKSwgJnNlbGVjdGVkRmlsZW5hbWVzKTsKIAogICAgIGlmICgh
Y29uZmlybSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwv
ZXdrL2V3a19wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ByaXZhdGUuaApp
bmRleCBiMWM2MDMwYWFjNTUwNDNhZjA4MjU2NDExNDA5ZTE4ZDAwMWE4ZTI2Li45MTZjYTliNWUw
NWQyNjczOGMzMDllMjcxZDE5NDgzNTNjYjVhYmZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2VmbC9ld2svZXdrX3ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3By
aXZhdGUuaApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiQVBJQ2FzdC5oIgogI2luY2x1
ZGUgIkJhY2tGb3J3YXJkTGlzdEltcGwuaCIKKyNpbmNsdWRlICJGaWxlQ2hvb3Nlci5oIgogI2lu
Y2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiTlBfanNvYmplY3QuaCIKICNpbmNsdWRlICJQYWdl
LmgiCkBAIC0xMjUsNyArMTI2LDcgQEAgYm9vbCBld2tfdmlld19ydW5famF2YXNjcmlwdF9wcm9t
cHQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIEV2YXNfT2JqZWN0KiBmcmFtZSwgY28KIGJvb2wgZXdr
X3ZpZXdfc2hvdWxkX2ludGVycnVwdF9qYXZhc2NyaXB0KEV2YXNfT2JqZWN0KiBld2tWaWV3KTsK
IHVpbnQ2NF90IGV3a192aWV3X2V4Y2VlZGVkX2RhdGFiYXNlX3F1b3RhKEV2YXNfT2JqZWN0KiBl
d2tWaWV3LCBFdmFzX09iamVjdCogZnJhbWUsIGNvbnN0IGNoYXIqIGRhdGFiYXNlTmFtZSwgdWlu
dDY0X3QgY3VycmVudFNpemUsIHVpbnQ2NF90IGV4cGVjdGVkU2l6ZSk7CiAKLWJvb2wgZXdrX3Zp
ZXdfcnVuX29wZW5fcGFuZWwoRXZhc19PYmplY3QqIGV3a1ZpZXcsIEV2YXNfT2JqZWN0KiBmcmFt
ZSwgYm9vbCBhbGxvd3NNdWx0aXBsZUZpbGVzLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgYWNjZXB0
TUlNRVR5cGVzLCBFaW5hX0xpc3QqKiBzZWxlY3RlZEZpbGVuYW1lcyk7Citib29sIGV3a192aWV3
X3J1bl9vcGVuX3BhbmVsKEV2YXNfT2JqZWN0KiBld2tWaWV3LCBFdmFzX09iamVjdCogZnJhbWUs
IGNvbnN0IFdlYkNvcmU6OkZpbGVDaG9vc2VyU2V0dGluZ3MmIHNldHRpbmdzLCBFaW5hX0xpc3Qq
KiBzZWxlY3RlZEZpbGVuYW1lcyk7CiAKIHZvaWQgZXdrX3ZpZXdfcmVwYWludChFdmFzX09iamVj
dCogZXdrVmlldywgRXZhc19Db29yZCB4LCBFdmFzX0Nvb3JkIHksIEV2YXNfQ29vcmQgd2lkdGgs
IEV2YXNfQ29vcmQgaGVpZ2h0KTsKIHZvaWQgZXdrX3ZpZXdfc2Nyb2xsKEV2YXNfT2JqZWN0KiBl
d2tWaWV3LCBFdmFzX0Nvb3JkIGRlbHRhWCwgRXZhc19Db29yZCBkZWx0YVksIEV2YXNfQ29vcmQg
c2Nyb2xsWCwgRXZhc19Db29yZCBzY3JvbGxZLCBFdmFzX0Nvb3JkIHNjcm9sbFdpZHRoLCBFdmFz
X0Nvb3JkIHNjcm9sbEhlaWdodCwgRXZhc19Db29yZCBjZW50ZXJYLCBFdmFzX0Nvb3JkIGNlbnRl
clksIEV2YXNfQ29vcmQgY2VudGVyVywgRXZhc19Db29yZCBjZW50ZXJIZWlnaHQpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQv
ZWZsL2V3ay9ld2tfdmlldy5jcHAKaW5kZXggZjMzODViZDIwN2U0MjBjMmIwZGRkOWMwNDhkNWZj
ODY2MTJjYTIwYy4uNGJkNGNlZTY0YTViNTQ0ZjNiYTQxNGE1NmMzMjhkNjY1NTZjYjgyZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCkBAIC0zMzI5LDkgKzMzMjksOSBAQCB1aW50NjRf
dCBld2tfdmlld19leGNlZWRlZF9kYXRhYmFzZV9xdW90YShFdmFzX09iamVjdCogZXdrVmlldywg
RXZhc19PYmplY3QqIGZyYQogICoKICAqIEByZXR1cm4gQGZhbHNlIGlmIHVzZXIgY2FuY2VsZWQg
ZmlsZSBzZWxlY3Rpb247IEB0cnVlIGlmIGNvbmZpcm1lZC4KICAqLwotYm9vbCBld2tfdmlld19y
dW5fb3Blbl9wYW5lbChFdmFzX09iamVjdCogZXdrVmlldywgRXZhc19PYmplY3QqIGZyYW1lLCBi
b29sIGFsbG93c011bHRpcGxlRmlsZXMsIGNvbnN0IFdURjo6VmVjdG9yPFdURjo6U3RyaW5nPiYg
YWNjZXB0TUlNRVR5cGVzLCBFaW5hX0xpc3QqKiBzZWxlY3RlZEZpbGVuYW1lcykKK2Jvb2wgZXdr
X3ZpZXdfcnVuX29wZW5fcGFuZWwoRXZhc19PYmplY3QqIGV3a1ZpZXcsIEV2YXNfT2JqZWN0KiBm
cmFtZSwgY29uc3QgV2ViQ29yZTo6RmlsZUNob29zZXJTZXR0aW5ncyYgc2V0dGluZ3MsIEVpbmFf
TGlzdCoqIHNlbGVjdGVkRmlsZW5hbWVzKQogewotICAgIERCRygiZXdrVmlldz0lcCBmcmFtZT0l
cCBhbGxvd3NfbXVsdGlwbGVfZmlsZXM9JWQiLCBld2tWaWV3LCBmcmFtZSwgYWxsb3dzTXVsdGlw
bGVGaWxlcyk7CisgICAgREJHKCJld2tWaWV3PSVwIGZyYW1lPSVwIiwgZXdrVmlldywgZnJhbWUp
OwogICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21hcnREYXRhLCBmYWxz
ZSk7CiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKHNtYXJ0RGF0YS0+YXBpLCBm
YWxzZSk7CiAKQEAgLTMzNDAsMTcgKzMzNDAsMjMgQEAgYm9vbCBld2tfdmlld19ydW5fb3Blbl9w
YW5lbChFdmFzX09iamVjdCogZXdrVmlldywgRXZhc19PYmplY3QqIGZyYW1lLCBib29sIGFsbG8K
IAogICAgICpzZWxlY3RlZEZpbGVuYW1lcyA9IDA7CiAKLSAgICBFaW5hX0xpc3QqIGNBY2NlcHRN
SU1FVHlwZXMgPSAwOwotICAgIGZvciAoV1RGOjpWZWN0b3I8V1RGOjpTdHJpbmc+Ojpjb25zdF9p
dGVyYXRvciBpdGVyYXRvciA9IGFjY2VwdE1JTUVUeXBlcy5iZWdpbigpOyBpdGVyYXRvciAhPSBh
Y2NlcHRNSU1FVHlwZXMuZW5kKCk7ICsraXRlcmF0b3IpCi0gICAgICAgIGNBY2NlcHRNSU1FVHlw
ZXMgPSBlaW5hX2xpc3RfYXBwZW5kKGNBY2NlcHRNSU1FVHlwZXMsIHN0cmR1cCgoKml0ZXJhdG9y
KS51dGY4KCkuZGF0YSgpKSk7CisgICAgRXdrX0ZpbGVfQ2hvb3Nlcl9TZXR0aW5ncyBjaG9vc2Vy
U2V0dGluZ3M7CisgICAgY2hvb3NlclNldHRpbmdzLmFsbG93c19tdWx0aXBsZSA9IHNldHRpbmdz
LmFsbG93c011bHRpcGxlRmlsZXM7CisgICAgY2hvb3NlclNldHRpbmdzLmNhcHR1cmVfdHlwZSA9
IDA7CisjaWYgRU5BQkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkKKyAgICBpZiAoc2V0dGluZ3MuY2Fw
dHVyZVR5cGUubGVuZ3RoKCkpCisgICAgICAgIGNob29zZXJTZXR0aW5ncy5jYXB0dXJlX3R5cGUg
PSBjb25zdF9jYXN0PGNoYXIqPihzZXR0aW5ncy5jYXB0dXJlVHlwZS51dGY4KCkuZGF0YSgpKTsK
KyNlbmRpZgorCisgICAgY2hvb3NlclNldHRpbmdzLmFjY2VwdF90eXBlcyA9IDA7CisgICAgZm9y
IChXVEY6OlZlY3RvcjxXVEY6OlN0cmluZz46OmNvbnN0X2l0ZXJhdG9yIGl0ZXJhdG9yID0gc2V0
dGluZ3MuYWNjZXB0TUlNRVR5cGVzLmJlZ2luKCk7IGl0ZXJhdG9yICE9IHNldHRpbmdzLmFjY2Vw
dE1JTUVUeXBlcy5lbmQoKTsgKytpdGVyYXRvcikKKyAgICAgICAgY2hvb3NlclNldHRpbmdzLmFj
Y2VwdF90eXBlcyA9IGVpbmFfbGlzdF9hcHBlbmQoY2hvb3NlclNldHRpbmdzLmFjY2VwdF90eXBl
cywgKCppdGVyYXRvcikudXRmOCgpLmRhdGEoKSk7CiAKLSAgICBib29sIGNvbmZpcm0gPSBzbWFy
dERhdGEtPmFwaS0+cnVuX29wZW5fcGFuZWwoc21hcnREYXRhLCBmcmFtZSwgYWxsb3dzTXVsdGlw
bGVGaWxlcywgY0FjY2VwdE1JTUVUeXBlcywgc2VsZWN0ZWRGaWxlbmFtZXMpOworICAgIGJvb2wg
Y29uZmlybSA9IHNtYXJ0RGF0YS0+YXBpLT5ydW5fb3Blbl9wYW5lbChzbWFydERhdGEsIGZyYW1l
LCAmY2hvb3NlclNldHRpbmdzLCBzZWxlY3RlZEZpbGVuYW1lcyk7CiAgICAgaWYgKCFjb25maXJt
ICYmICpzZWxlY3RlZEZpbGVuYW1lcykKICAgICAgICAgRVJSKCJDYW5jZWxlZCBmaWxlIHNlbGVj
dGlvbiwgYnV0IHNlbGVjdGVkIGZpbGVuYW1lcyAhPSAwLiBGcmVlIG5hbWVzIGJlZm9yZSByZXR1
cm4uIik7CiAKLSAgICB2b2lkKiBpdGVtID0gMDsKLSAgICBFSU5BX0xJU1RfRlJFRShjQWNjZXB0
TUlNRVR5cGVzLCBpdGVtKQotICAgICAgICBmcmVlKGl0ZW0pOworICAgIGVpbmFfbGlzdF9mcmVl
KGNob29zZXJTZXR0aW5ncy5hY2NlcHRfdHlwZXMpOwogCiAgICAgcmV0dXJuIGNvbmZpcm07CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaCBiL1NvdXJjZS9X
ZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCmluZGV4IGE0MzM1Mzc0ZjQ4Y2Q1YWU2NTNmY2Y0Yjk4
Mjg1OWI1Nzk3N2ZmZWMuLmEzZDVkMDJmYWRhOWM1YTM0Y2QzMmU2MjM4MTEzMmFmYTRkZmI1MDcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCkBAIC0xMDksNiArMTA5LDE1IEBAIHR5cGVkZWYg
dm9pZCogKCpFd2tfVmlld19SZXNvdXJjZV9IYW5kbGVyX0NiKShjb25zdCBjaGFyICosIHNpemVf
dCAqLCBjaGFyICoqLCB2CiAvLy8gQ3JlYXRlcyBhIHR5cGUgbmFtZSBmb3IgQGEgX0V3a19WaWV3
X1NtYXJ0X0NsYXNzLgogdHlwZWRlZiBzdHJ1Y3QgX0V3a19WaWV3X1NtYXJ0X0NsYXNzIEV3a19W
aWV3X1NtYXJ0X0NsYXNzOwogCisvLy8gQ3JlYXRlcyBhIHR5cGUgbmFtZSBmb3IgQGEgX0V3a19G
aWxlX0Nob29zZXJfU2V0dGluZ3MuCit0eXBlZGVmIHN0cnVjdCBfRXdrX0ZpbGVfQ2hvb3Nlcl9T
ZXR0aW5ncyBFd2tfRmlsZV9DaG9vc2VyX1NldHRpbmdzOworCitzdHJ1Y3QgX0V3a19GaWxlX0No
b29zZXJfU2V0dGluZ3MgeworICAgIEVpbmFfQm9vbCBhbGxvd3NfbXVsdGlwbGU7CisgICAgY2hh
ciogY2FwdHVyZV90eXBlOworICAgIEVpbmFfTGlzdCogYWNjZXB0X3R5cGVzOworfTsKKwogLy8g
RGVmaW5lcyB0aGUgZGlyZWN0aW9uIG9mIGZvY3VzIGNoYW5nZS4gS2VlcCBpbiBzeW5jIHdpdGgK
IC8vIFdlYkNvcmU6OkZvY3VzRGlyZWN0aW9uLgogZW51bSBfRXdrX0ZvY3VzX0RpcmVjdGlvbiB7
CkBAIC0xNjAsNyArMTY5LDcgQEAgc3RydWN0IF9Fd2tfVmlld19TbWFydF9DbGFzcyB7CiAgICAg
RWluYV9Cb29sICgqc2hvdWxkX2ludGVycnVwdF9qYXZhc2NyaXB0KShFd2tfVmlld19TbWFydF9E
YXRhICpzZCk7CiAgICAgdWludDY0X3QgKCpleGNlZWRlZF9kYXRhYmFzZV9xdW90YSkoRXdrX1Zp
ZXdfU21hcnRfRGF0YSAqc2QsIEV2YXNfT2JqZWN0ICpmcmFtZSwgY29uc3QgY2hhciAqZGF0YWJh
c2VOYW1lLCB1aW50NjRfdCBjdXJyZW50X3NpemUsIHVpbnQ2NF90IGV4cGVjdGVkX3NpemUpOwog
Ci0gICAgRWluYV9Cb29sICgqcnVuX29wZW5fcGFuZWwpKEV3a19WaWV3X1NtYXJ0X0RhdGEgKnNk
LCBFdmFzX09iamVjdCAqZnJhbWUsIEVpbmFfQm9vbCBhbGxvd3NfbXVsdGlwbGVfZmlsZXMsIEVp
bmFfTGlzdCAqYWNjZXB0X3R5cGVzLCBFaW5hX0xpc3QgKipzZWxlY3RlZF9maWxlbmFtZXMpOwor
ICAgIEVpbmFfQm9vbCAoKnJ1bl9vcGVuX3BhbmVsKShFd2tfVmlld19TbWFydF9EYXRhICpzZCwg
RXZhc19PYmplY3QgKmZyYW1lLCBjb25zdCBFd2tfRmlsZV9DaG9vc2VyX1NldHRpbmdzICpzZXR0
aW5ncywgRWluYV9MaXN0ICoqc2VsZWN0ZWRfZmlsZW5hbWVzKTsKIAogICAgIEVpbmFfQm9vbCAo
Km5hdmlnYXRpb25fcG9saWN5X2RlY2lzaW9uKShFd2tfVmlld19TbWFydF9EYXRhICpzZCwgRXdr
X0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QgKnJlcXVlc3QpOwogICAgIEVpbmFfQm9vbCAoKmZvY3Vz
X2Nhbl9jeWNsZSkoRXdrX1ZpZXdfU21hcnRfRGF0YSAqc2QsIEV3a19Gb2N1c19EaXJlY3Rpb24g
ZGlyZWN0aW9uKTsKQEAgLTE3MCw3ICsxNzksNyBAQCBzdHJ1Y3QgX0V3a19WaWV3X1NtYXJ0X0Ns
YXNzIHsKICAqIFRoZSB2ZXJzaW9uIHlvdSBoYXZlIHRvIHB1dCBpbnRvIHRoZSB2ZXJzaW9uIGZp
ZWxkCiAgKiBpbiB0aGUgQGEgRXdrX1ZpZXdfU21hcnRfQ2xhc3Mgc3RydWN0dXJlLgogICovCi0j
ZGVmaW5lIEVXS19WSUVXX1NNQVJUX0NMQVNTX1ZFUlNJT04gNFVMCisjZGVmaW5lIEVXS19WSUVX
X1NNQVJUX0NMQVNTX1ZFUlNJT04gNVVMCiAKIC8qKgogICogSW5pdGlhbGl6ZXMgYSB3aG9sZSBA
YSBFd2tfVmlld19TbWFydF9DbGFzcyBzdHJ1Y3R1cmUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDEw
MTFiZjhkMGNmMjY3ZjNkOTFmMTYxN2E3NDdlMjdmZDZkZmY1N2IuLjM2NmU4M2U4YjBmYjhkMTk5
NzdkZjI2MjcyOTNjY2NkNmQ2MGY4NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQv
bWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC04Myw2ICs4Myw3
IEBAIEVOQUJMRV9GSUxFX1NZU1RFTSA9IDsKIEVOQUJMRV9GVUxMU0NSRUVOX0FQSSA9IEVOQUJM
RV9GVUxMU0NSRUVOX0FQSTsKIEVOQUJMRV9HQU1FUEFEID0gOwogRU5BQkxFX0dFT0xPQ0FUSU9O
ID0gRU5BQkxFX0dFT0xPQ0FUSU9OOworRU5BQkxFX0hUTUxfTUVESUFfQ0FQVFVSRSA9IDsKIEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFID0gOwogRU5BQkxFX0lOUFVUX0NPTE9SID0gOwogRU5BQkxF
X0lOUFVUX1NQRUVDSCA9IDsKQEAgLTEyMiw0ICsxMjMsNCBAQCBFTkFCTEVfV0VCX1RJTUlORyA9
IDsKIEVOQUJMRV9XT1JLRVJTID0gRU5BQkxFX1dPUktFUlM7CiBFTkFCTEVfWFNMVCA9IEVOQUJM
RV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQU5JTUFUSU9OX0FQSSkgJChFTkFC
TEVfQkxPQikgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NMSUVOVF9CQVNF
RF9HRU9MT0NBVElPTikgJChFTkFCTEVfQ1NTX0ZJTFRFUlMpICQoRU5BQkxFX0NTU19HUklEX0xB
WU9VVCkgJChFTkFCTEVfQ1NTX1NIQURFUlMpICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVOQUJMRV9E
QVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTKSAkKEVOQUJMRV9ERVZJQ0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0ZJTEVfU1lTVEVN
KSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FN
RVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfQ09MT1IpICQoRU5BQkxFX0lOUFVU
X1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVU
X1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9MSU5LX1BSRUZF
VENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVE
SUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfVEFHKSAkKEVOQUJMRV9NVVRBVElPTl9PQlNF
UlZFUlMpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9B
UEkpICQoRU5BQkxFX1BST0dSRVNTX1RBRykgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFR0lT
VEVSX1BST1RPQ09MX0hBTkRMRVIpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAk
KEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9T
VFlMRV9TQ09QRUQpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdT
KSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZKSAk
KEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURF
T19UUkFDSykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VC
X1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxF
X1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FOSU1BVElPTl9BUEkpICQoRU5BQkxF
X0JMT0IpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DTElFTlRfQkFTRURf
R0VPTE9DQVRJT04pICQoRU5BQkxFX0NTU19GSUxURVJTKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlP
VVQpICQoRU5BQkxFX0NTU19TSEFERVJTKSAkKEVOQUJMRV9EQVRBTElTVCkgJChFTkFCTEVfREFU
QV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMUykgJChFTkFCTEVfREVWSUNFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9GSUxFX1NZU1RFTSkg
JChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQ
QUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9IVE1MX01FRElBX0NBUFRVUkUpICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVf
SU5QVVRfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RF
QlVHR0VSKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxF
X01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJf
VEFHKSAkKEVOQUJMRV9NVVRBVElPTl9PQlNFUlZFUlMpICQoRU5BQkxFX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BST0dSRVNTX1RBRykgJChF
TkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpICQoRU5BQkxF
X1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFC
TEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9TVFlMRV9TQ09QRUQpICQoRU5BQkxFX1NWRykgJChF
TkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxF
X1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQo
RU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfV0VCR0wpICQoRU5B
QkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcp
ICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL2Nt
YWtlL09wdGlvbnNFZmwuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQppbmRl
eCA5ODVjYTI3MTU2NTYyNDNlZGY3NTExYzgwZjk3N2EzMGRiM2Q5MWRiLi45MDNiMmM4YTgxNzAw
ZjgwZjQ5MTk5YWVhZjEzMGQ5YWYyYjc4OTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0
aW9uc0VmbC5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQpAQCAtNzMs
NiArNzMsNyBAQCBXRUJLSVRfRkVBVFVSRShFTkFCTEVfRlRQRElSICJFbmFibGUgRlRQIGRpcmVj
dG9yeSBzdXBwb3J0IiBERUZBVUxUIE9OKQogV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX0ZVTExTQ1JF
RU5fQVBJICJFbmFibGUgRnVsbHNjcmVlbiBBUEkgc3VwcG9ydCIgREVGQVVMVCBPRkYpCiBXRUJL
SVRfRkVBVFVSRShFTkFCTEVfR0VPTE9DQVRJT04gIkVuYWJsZSBnZW9sb2NhdGlvbiIgREVGQVVM
VCBPRkYpCiBXRUJLSVRfRkVBVFVSRShFTkFCTEVfR0xJQl9TVVBQT1JUICJFbmFibGUgR2xpYiBz
dXBwb3J0IiBERUZBVUxUIE9OKQorV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX0hUTUxfTUVESUFfQ0FQ
VFVSRSAiRW5hYmxlIEhUTUwgTWVkaWEgQ2FwdHVyZSIgREVGQVVMVCBPTikKIFdFQktJVF9GRUFU
VVJFKEVOQUJMRV9JQ09OREFUQUJBU0UgIkVuYWJsZSBpY29uIGRhdGFiYXNlIiBERUZBVUxUIE9O
KQogV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX0lOU1BFQ1RPUiAiRW5hYmxlIGluc3BlY3RvciIgREVG
QVVMVCBPTikKIFdFQktJVF9GRUFUVVJFKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSICJFbmFi
bGUgSmF2YVNjcmlwdCBkZWJ1Z2dlciIgREVGQVVMVCBPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9j
bWFrZWNvbmZpZy5oLmNtYWtlIGIvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UKaW5kZXggNmQz
ZjgzNzk0NzI5M2MxZDI1MzBkZGI0MTg4OGU5NGQ2NWUxYjRiOC4uMzdiZDU0NDQ1NDBhYzU0MzBl
NzAzNGRiNzI1YzljYTBmMmU4ODlkYyAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlY29uZmlnLmgu
Y21ha2UKKysrIGIvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UKQEAgLTE5LDYgKzE5LDcgQEAK
ICNjbWFrZWRlZmluZTAxIEVOQUJMRV9GVUxMU0NSRUVOX0FQSQogI2NtYWtlZGVmaW5lMDEgRU5B
QkxFX0dFT0xPQ0FUSU9OCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfR0xJQl9TVVBQT1JUCisjY21h
a2VkZWZpbmUwMSBFTkFCTEVfSFRNTF9NRURJQV9DQVBUVVJFCiAjY21ha2VkZWZpbmUwMSBFTkFC
TEVfSUNPTkRBVEFCQVNFCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRQog
I2NtYWtlZGVmaW5lMDEgRU5BQkxFX0lOU1BFQ1RPUgpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdl
TG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDc1MmY5YTY5YzE1ZTYxOGZmZDVhZTQ1NjRiZTE5
NjZjZjkzNTMxODUuLmU2NDQ1ZTQ1ZmRlMDMzOThiYThiMWNmNzE1Yzk1MGNhZmEyOWUzMWMgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNSBAQAorMjAxMi0wMS0xOSAgSm9uZ1Nlb2sgWWFuZyAgPGpzNDUueWFuZ0BzYW1zdW5nLmNv
bT4KKworICAgICAgICBBZGQgY2FwdHVyZSBhdHRyaWJ1dGUgZm9yIEhUTUwgTWVkaWEgQ2FwdHVy
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMwNjIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgb3B0
aW9uIGZvciBIVE1MIE1lZGlhIENhcHR1cmUuCisKKyAgICAgICAgKiBTY3JpcHRzL2J1aWxkLXdl
YmtpdDoKKyAgICAgICAgKiBxbWFrZS9ta3NwZWNzL2ZlYXR1cmVzL2ZlYXR1cmVzLnByZjoKKwog
MjAxMi0wMS0xOSAgR3VzdGF2byBOb3JvbmhhIFNpbHZhICA8Z25zQGdub21lLm9yZz4KIAogICAg
ICAgICBVbnJldmlld2VkIGJ1aWxkIGZpeC4gV3JvbmcgdmFyaWFibGUgYmVpbmcgdXNlZCBhcyB0
aGUgY3dkIGZvciBnaXQKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0IGIv
VG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKaW5kZXggMmQ5NjFhZWUxOGM5YjVkYjJlZWFjZGJi
ZjFhY2RlOTdjNjZhMzNkMy4uNGM2MWE4ZmE0Y2VjNDY2MWIzZmVjN2VmNWE3YWRiZTFkNTA4MjIx
ZSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKKysrIGIvVG9vbHMvU2Ny
aXB0cy9idWlsZC13ZWJraXQKQEAgLTg5LDYgKzg5LDcgQEAgbXkgKAogICAgICRmdWxsc2NyZWVu
QVBJU3VwcG9ydCwKICAgICAkZ2FtZXBhZFN1cHBvcnQsCiAgICAgJGdlb2xvY2F0aW9uU3VwcG9y
dCwKKyAgICAkaHRtbE1lZGlhQ2FwdHVyZVN1cHBvcnQsCiAgICAgJGljb25EYXRhYmFzZVN1cHBv
cnQsCiAgICAgJGltYWdlUmVzaXplclN1cHBvcnQsCiAgICAgJGluZGV4ZWREYXRhYmFzZVN1cHBv
cnQsCkBAIC0yMTIsNiArMjEzLDkgQEAgbXkgQGZlYXR1cmVzID0gKAogICAgIHsgb3B0aW9uID0+
ICJnZW9sb2NhdGlvbiIsIGRlc2MgPT4gIlRvZ2dsZSBHZW9sb2NhdGlvbiBzdXBwb3J0IiwKICAg
ICAgIGRlZmluZSA9PiAiRU5BQkxFX0dFT0xPQ0FUSU9OIiwgZGVmYXVsdCA9PiAoaXNBcHBsZVdl
YktpdCgpIHx8IGlzR3RrKCkgfHwgaXNCbGFja0JlcnJ5KCkpLCB2YWx1ZSA9PiBcJGdlb2xvY2F0
aW9uU3VwcG9ydCB9LAogCisgICAgeyBvcHRpb24gPT4gImh0bWwtbWVkaWEtY2FwdHVyZSIsIGRl
c2MgPT4gIlRvZ2dsZSBIVE1MIE1lZGlhIENhcHR1cmUgc3VwcG9ydCIsCisgICAgICBkZWZpbmUg
PT4gIkVOQUJMRV9IVE1MX01FRElBX0NBUFRVUkUiLCBkZWZhdWx0ID0+IGlzRWZsKCksIHZhbHVl
ID0+IFwkaHRtbE1lZGlhQ2FwdHVyZVN1cHBvcnQgfSwKKwogICAgIHsgb3B0aW9uID0+ICJpY29u
LWRhdGFiYXNlIiwgZGVzYyA9PiAiVG9nZ2xlIEljb24gZGF0YWJhc2Ugc3VwcG9ydCIsCiAgICAg
ICBkZWZpbmUgPT4gIkVOQUJMRV9JQ09OREFUQUJBU0UiLCBkZWZhdWx0ID0+IDEsIHZhbHVlID0+
IFwkaWNvbkRhdGFiYXNlU3VwcG9ydCB9LAogCmRpZmYgLS1naXQgYS9Ub29scy9xbWFrZS9ta3Nw
ZWNzL2ZlYXR1cmVzL2ZlYXR1cmVzLnByZiBiL1Rvb2xzL3FtYWtlL21rc3BlY3MvZmVhdHVyZXMv
ZmVhdHVyZXMucHJmCmluZGV4IDc5YzkwNGMxM2I5NTY3MDAyYWExYWExNzc4MGM3NWJmYTgyMmI3
MDkuLmU5Mzg3MzVjMzQzMWYxODlkMjQ0NmJmNWQxNWVjNmJhNmQ2Njc2ODggMTAwNjQ0Ci0tLSBh
L1Rvb2xzL3FtYWtlL21rc3BlY3MvZmVhdHVyZXMvZmVhdHVyZXMucHJmCisrKyBiL1Rvb2xzL3Ft
YWtlL21rc3BlY3MvZmVhdHVyZXMvZmVhdHVyZXMucHJmCkBAIC04NCw2ICs4NCw3IEBAIGhhdmVR
dCg0KTp1bml4OiFtYWM6IWVtYmVkZGVkIHsKICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVfTUVE
SUFfU1RSRUFNPS4pOiBERUZJTkVTICs9IEVOQUJMRV9NRURJQV9TVFJFQU09MAogIWNvbnRhaW5z
KERFRklORVMsIEVOQUJMRV9WSURFT19UUkFDSz0uKTogREVGSU5FUyArPSBFTkFCTEVfVklERU9f
VFJBQ0s9MAogIWNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkc9Lik6
IERFRklORVMgKz0gRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORz0wCishY29udGFpbnMoREVGSU5F
UywgRU5BQkxFX0hUTUxfTUVESUFfQ0FQVFVSRT0uKTogREVGSU5FUyArPSBFTkFCTEVfSFRNTF9N
RURJQV9DQVBUVVJFPTAKICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVfQU5JTUFUSU9OX0FQST0u
KTogREVGSU5FUyArPSBFTkFCTEVfQU5JTUFUSU9OX0FQST0wCiAKICMgU1ZHIHN1cHBvcnQKZGlm
ZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBlZDBkZDdkYTU3MzIzYmVhZDBk
YjZhZTc0MGQ5MTQ2MDRmNjBiZDEzLi5mMmY4NjNmODY4ZjNhNWQ0MTVmYjgwZDAzNmM4ZWU0ODM0
ZDI2YWFiIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTUgQEAKKzIwMTItMDEtMTkgIEpvbmdTZW9rIFlhbmcgIDxqczQ1LnlhbmdAc2Ftc3VuZy5jb20+
CisKKyAgICAgICAgQWRkIGNhcHR1cmUgYXR0cmlidXRlIGZvciBIVE1MIE1lZGlhIENhcHR1cmUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYzMDYyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG9wdGlv
biBmb3IgSFRNTCBNZWRpYSBDYXB0dXJlLgorCisgICAgICAgICogU291cmNlL2NtYWtlL09wdGlv
bnNFZmwuY21ha2U6CisgICAgICAgICogU291cmNlL2NtYWtlY29uZmlnLmguY21ha2U6CisKIDIw
MTItMDEtMTkgIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAgPGduc0Bnbm9tZS5vcmc+CiAKICAgICAg
ICAgUnViYmVyLXN0YW1wZWQgYnkgTWFydGluIFJvYmluc29uLgpkaWZmIC0tZ2l0IGEvY29uZmln
dXJlLmFjIGIvY29uZmlndXJlLmFjCmluZGV4IGNmMzc3MDZiMmFiYjcwM2NjMDg5Y2JhZDM0M2Rm
ZGVkYzQ1MTYzYjQuLjMwOGQ3MzkzNWUyNmI5YjQzYjg5Mjk4ZGE1MDkzNmI1YjQzOWVmZTUgMTAw
NjQ0Ci0tLSBhL2NvbmZpZ3VyZS5hYworKysgYi9jb25maWd1cmUuYWMKQEAgLTkwMSw2ICs5MDEs
MTQgQEAgQUNfQVJHX0VOQUJMRShkZXZpY2Vfb3JpZW50YXRpb24sCiAgICAgICAgICAgICAgIFtd
LFtlbmFibGVfZGV2aWNlX29yaWVudGF0aW9uPSJubyJdKQogQUNfTVNHX1JFU1VMVChbJGVuYWJs
ZV9kZXZpY2Vfb3JpZW50YXRpb25dKQogCisjIGNoZWNrIHdoZXRoZXIgdG8gZW5hYmxlIEhUTUwg
TWVkaWEgQ2FwdHVyZQorQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIHRvIGVuYWJsZSBIVE1MIE1l
ZGlhIENhcHR1cmVdKQorQUNfQVJHX0VOQUJMRShodG1sX21lZGlhX2NhcHR1cmUsCisgICAgICAg
ICAgICAgIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1odG1sLW1lZGlhLWNhcHR1cmVdLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBbZW5hYmxlIHN1cHBvcnQgZm9yIEhUTUwgTWVkaWEg
Q2FwdHVyZSBbZGVmYXVsdD1ub11dKSwKKyAgICAgICAgICAgICAgW10sIFtlbmFibGVfaHRtbF9t
ZWRpYV9jYXB0dXJlPSJubyJdKQorQUNfTVNHX1JFU1VMVChbJGVuYWJsZV9odG1sX21lZGlhX2Nh
cHR1cmVdKQorCiBHX0lSX1NDQU5ORVI9CiBHX0lSX0NPTVBJTEVSPQogR19JUl9HRU5FUkFURT0K
QEAgLTExNTYsNiArMTE2NCw3IEBAIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfSU5QVVRfU1BFRUNI
XSxbdGVzdCAiJGVuYWJsZV9pbnB1dF9zcGVlY2giID0gInllcyJdKQogQU1fQ09ORElUSU9OQUwo
W0VOQUJMRV9YU0xUXSxbdGVzdCAiJGVuYWJsZV94c2x0IiA9ICJ5ZXMiXSkKIEFNX0NPTkRJVElP
TkFMKFtFTkFCTEVfRklMVEVSU10sW3Rlc3QgIiRlbmFibGVfZmlsdGVycyIgPSAieWVzIl0pCiBB
TV9DT05ESVRJT05BTChbRU5BQkxFX0dFT0xPQ0FUSU9OXSwgW3Rlc3QgIiRlbmFibGVfZ2VvbG9j
YXRpb24iID0gInllcyJdKQorQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9IVE1MX01FRElBX0NBUFRV
UkVdLCBbdGVzdCAiJGVuYWJsZV9odG1sX21lZGlhX2NhcHR1cmUiID0gInllcyJdKQogQU1fQ09O
RElUSU9OQUwoW0VOQUJMRV9NQVRITUxdLCBbdGVzdCAiJGVuYWJsZV9tYXRobWwiID0gInllcyJd
KQogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9NSFRNTF0sIFt0ZXN0ICIkZW5hYmxlX21odG1sIiA9
ICJ5ZXMiXSkKIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfVklERU9dLFt0ZXN0ICIkZW5hYmxlX3Zp
ZGVvIiA9ICJ5ZXMiXSkKQEAgLTEyNTAsNiArMTI1OSw3IEBAIEZlYXR1cmVzOgogIE1hdGhNTCBz
dXBwb3J0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGVuYWJs
ZV9tYXRobWwKICBNZWRpYSBzb3VyY2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA6ICRlbmFibGVfbWVkaWFfc291cmNlCiAgTWVkaWEgc3RhdGlzdGljcyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlX21lZGlhX3N0YXRp
c3RpY3MKKyBIVE1MIE1lZGlhIENhcHR1cmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA6ICRlbmFibGVfaHRtbF9tZWRpYV9jYXB0dXJlCiAgSFRNTDUgY2hhbm5lbCBtZXNz
YWdpbmcgc3VwcG9ydCAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlX2NoYW5uZWxf
bWVzc2FnaW5nCiAgSFRNTDUgbWV0ZXIgZWxlbWVudCBzdXBwb3J0ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgOiAkZW5hYmxlX21ldGVyX3RhZwogIEhUTUw1IG1pY3JvZGF0YSBzdXBwb3J0
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGVuYWJsZV9taWNyb2RhdGEK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127553</attachid>
            <date>2012-02-17 02:04:49 -0800</date>
            <delta_ts>2012-02-20 21:35:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-63062-20120217190445.patch</filename>
            <type>text/plain</type>
            <size>56752</size>
            <attacher name="Jongseok Yang">js45.yang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4MDQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
ZGYwZjNlNWIzMTg0ZmYyYmE4OGRlNGFiYjNlNDZkNDkyYjZhYTkyLi5hNTdkZGE5MjZkNDdmZTEw
MjRmOWEzNjUxN2M5OWEzMGY5MjJhNzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAxMi0wMi0xNiAgSm9uZ3Nlb2sgWWFuZyAgPGpzNDUueWFuZ0BzYW1zdW5n
LmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgdGhlIGludGVyZmFjZSBmb3IgbWVkaWEgY2FwdHVy
ZSBwYW5lbCB0byBzdXBwb3J0IEhUTUwgTWVkaWEgQ2FwdHVyZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMwNjIKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgb3B0aW9uIGZvciBIVE1MIE1lZGlhIENh
cHR1cmUuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAxMi0wMi0xNiAgWXVxaWFuZyBYaWFuICA8eXVxaWFuZy54aWFuQGludGVsLmNvbT4K
IAogICAgICAgICBBZGQgSlNDIGNvZGUgcHJvZmlsaW5nIHN1cHBvcnQgb24gTGludXggeDg2CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggM2RkYjBiMTRjMmVkMjVkOGU3OTYwNzMyOTkwNDMxYzk2ZDljMjJjMS4uYWVi
NjJmZDhmNTRiY2NkYzk5OTM1YWI5NzIwYWE3MTExNTk0MmIzNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDc2IEBACisyMDEyLTAyLTE2ICBKb25nc2VvayBZYW5nICA8anM0NS55YW5nQHNhbXN1bmcu
Y29tPgorCisgICAgICAgIEltcGxlbWVudCB0aGUgaW50ZXJmYWNlIGZvciBtZWRpYSBjYXB0dXJl
IHBhbmVsIHRvIHN1cHBvcnQgSFRNTCBNZWRpYSBDYXB0dXJlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MzA2MgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCAiY2FwdHVyZSIgYXR0cmlidXRlIGZvciBI
VE1MIE1lZGlhIENhcHR1cmUuCisKKyAgICAgICAgSW1wbGVtZW50IHRoZSBpbnRlcmZhY2UgInJ1
bkNhcHR1cmVQYW5lbCgpIiB0byBydW4gdGhlIHNwZWNpZmljIHBpY2tlciBmb3IgY2FtZXJhLCBj
YW1jb3JkZXIKKyAgICAgICAgYW5kIG1pY3JvcGhvbmUuIEVhY2ggcGxhdGZvcm0gY2FuIHJ1biB0
aGUgY2FwdHVyZSBwYW5lbCBpbXBsZW1lbnRpbmcgcnVuQ2FwdHVyZVBhbmVsKCkgaW4KKyAgICAg
ICAgQ2hyb21lQ2xpZW50LgorCisgICAgICAgIEltcGxlbWVudCBNZWRpYUNhcHR1cmVDaG9vc2Vy
IHRoYXQgaW5oZXJpdHMgZnJvbSBGaWxlQ2hvb3Nlci4gSXQgaXMgdXNlZCBmb3IgbWVkaWEgY2Fw
dHVyZQorICAgICAgICBpbnRlcmZhY2UgInJ1bkNhcHR1cmVQYW5lbCgpIi4gIEVhY2ggcGxhdGZv
cm0gd2lsbCBkZWNpZGUgd2hhdCB0byBsYXVuY2ggdXNpbmcgImNhcHR1cmVUeXBlKCkiCisgICAg
ICAgIGluIE1lZGlhQ2FwdHVyZUNob29zZXIgY2xhc3MuCisKKyAgICAgICAgRmlsZUNob29zZXJD
bGllbnQ6OmRldGVybWluZUNhcHR1cmVUeXBlIGlzIHVzZWQgdG8gZGVmaW5lIHRoZSBvcGVyYXRp
b24gZm9yIHRoZSBpbnRlcmFjdGlvbnMKKyAgICAgICAgYmV0d2VlbiB0aGUgY2FwdHVyZSBhdHRy
aWJ1dGUgYW5kIHRoZSBhY2NlcHQgYXR0cmlidXRlLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBi
ZWNhdXNlIGl0IGlzIGV4cGVjdGVkIGp1c3QgdG8gbGF1bmNoIHRoZSBzcGVjaWZpYyBjYXB0dXJl
IHBhbmVsIGFuZCBvdGhlciBiZWhhdmlvciBmb3IgaW5wdXQgZWxlbWVudCBpcyB1bmNoYW5nZWQu
CisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAg
ICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBodG1sL0ZpbGVJbnB1dFR5cGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RmlsZUlucHV0VHlwZTo6aGFuZGxlRE9NQWN0aXZhdGVFdmVu
dCk6CisgICAgICAgICogaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW46CisgICAgICAgICogaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTElucHV0RWxlbWVudDo6Y2FwdHVyZSk6CisgICAgICAgICogaHRtbC9IVE1MSW5w
dXRFbGVtZW50Lmg6CisgICAgICAgIChIVE1MSW5wdXRFbGVtZW50KToKKyAgICAgICAgKiBodG1s
L0hUTUxJbnB1dEVsZW1lbnQuaWRsOgorICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMuaDoK
KyAgICAgICAgKEVtcHR5Q2hyb21lQ2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkVtcHR5Q2hy
b21lQ2xpZW50OjpydW5DYXB0dXJlUGFuZWwpOgorICAgICAgICAqIHBhZ2UvQ2hyb21lLmNwcDoK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lOjpydW5DYXB0dXJl
UGFuZWwpOgorICAgICAgICAqIHBhZ2UvQ2hyb21lLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKENocm9tZSk6CisgICAgICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAoQ2hyb21lQ2xpZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9G
aWxlQ2hvb3Nlci5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkZp
bGVDaG9vc2VyQ2xpZW50OjpuZXdNZWRpYUNhcHR1cmVDaG9vc2VyKToKKyAgICAgICAgKFdlYkNv
cmU6OkZpbGVDaG9vc2VyQ2xpZW50OjpkZXRlcm1pbmVDYXB0dXJlVHlwZSk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYUNhcHR1cmVDaG9vc2VyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFDYXB0dXJlQ2hvb3Nlcjo6fk1lZGlhQ2FwdHVyZUNob29zZXIpOgorICAgICAgICAoTWVk
aWFDYXB0dXJlTmFtZXMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDYXB0dXJlTmFtZXM6OmNh
bWVyYSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNhcHR1cmVOYW1lczo6Y2FtY29yZGVyKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ2FwdHVyZU5hbWVzOjptaWNyb3Bob25lKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhQ2FwdHVyZU5hbWVzOjpmaWxlc3lzdGVtKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9GaWxlQ2hvb3Nlci5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChGaWxl
Q2hvb3NlckNsaWVudCk6CisgICAgICAgIChGaWxlQ2hvb3Nlcik6CisgICAgICAgIChXZWJDb3Jl
OjpGaWxlQ2hvb3Nlcjo6RmlsZUNob29zZXIpOgorICAgICAgICAoTWVkaWFDYXB0dXJlQ2hvb3Nl
cik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNhcHR1cmVDaG9vc2VyOjpjYXB0dXJlVHlwZSk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNhcHR1cmVDaG9vc2VyOjpNZWRpYUNhcHR1cmVDaG9v
c2VyKToKKyAgICAgICAgKE1lZGlhQ2FwdHVyZU5hbWVzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9N
SU1FVHlwZVJlZ2lzdHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmluaXRpYWxpemVTdXBwb3J0
ZWRJbWFnZU1JTUVUeXBlcyk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6
OmluaXRpYWxpemVTdXBwb3J0ZWRDYXB0dXJlTUlNRVR5cGVzKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkQ2FwdHVyZU1JTUVUeXBlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5Lmg6CisgICAgICAgIChNSU1FVHlwZVJlZ2lzdHJ5
KToKKwogMjAxMi0wMi0xNiAgQ3JpcyBOZWNrYXIgIDxjZG5AY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIENvcnJlY3QgYSBtaXNsZWFkaW5nIGNvbW1lbnQgcmVnYXJkaW5nIHN0cmluZyBkZWxpbWl0
ZXJzIGluIENTUyBwYXJzaW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAwMzZhMmJi
ZjkyZDQ5N2EzYzIyZjBjNWJlODU5NDUwZTE5YWViNzIyLi5kZDY3Yzg0MzkwMzA3Y2Y4YzdmNzM5
N2NmMjk4MzNhNjYyYTMzOTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE4IEBACisyMDEyLTAyLTE2ICBKb25nc2VvayBZYW5nICA8anM0NS55YW5nQHNhbXN1bmcuY29t
PgorCisgICAgICAgIEltcGxlbWVudCB0aGUgaW50ZXJmYWNlIGZvciBtZWRpYSBjYXB0dXJlIHBh
bmVsIHRvIHN1cHBvcnQgSFRNTCBNZWRpYSBDYXB0dXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MzA2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBydW5DYXB0dXJlUGFuZWwoKSB0byBydW4gdGhl
IGNhcHR1cmUgcGFuZWwgZm9yIEhUTUwgTWVkaWEgQ2FwdHVyZS4KKworICAgICAgICAqIHNyYy9D
aHJvbWVDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6
OkNocm9tZUNsaWVudEltcGw6OnJ1bkNhcHR1cmVQYW5lbCk6CisgICAgICAgICogc3JjL0Nocm9t
ZUNsaWVudEltcGwuaDoKKyAgICAgICAgKENocm9tZUNsaWVudEltcGwpOgorCiAyMDEyLTAyLTE2
ICBBbGV4YW5kcmUgRWxpYXMgIDxhZWxpYXNAZ29vZ2xlLmNvbT4KIAogICAgICAgICBbY2hyb21p
dW1dIEJ1bmRsZSBwYWdlIHNjYWxlIGZhY3RvciBhbmQgbGltaXRzIGluIENDTGF5ZXJUcmVlSG9z
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9lZmwvQ2hhbmdlTG9nCmluZGV4IGU1NzhkM2IwM2Y3MzkwMDc0ZDBhNGNjNGEyMjliNWY1Zjhi
OTJmZDYuLjExY2NhMTAyMjc4MDgxZjdjMjhjNmZmMjIyOTc0NjdiNWQ1NGFiNTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMi0wMi0xNiAgSm9uZ3Nlb2sgWWFuZyAgPGpz
NDUueWFuZ0BzYW1zdW5nLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgdGhlIGludGVyZmFjZSBm
b3IgbWVkaWEgY2FwdHVyZSBwYW5lbCB0byBzdXBwb3J0IEhUTUwgTWVkaWEgQ2FwdHVyZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMwNjIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgcnVuQ2FwdHVy
ZVBhbmVsKCkgdG8gcnVuIHRoZSBjYXB0dXJlIHBhbmVsIGZvciBIVE1MIE1lZGlhIENhcHR1cmUu
CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRFZmw6OnJ1bkNhcHR1
cmVQYW5lbCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmg6Cisg
ICAgICAgIChDaHJvbWVDbGllbnRFZmwpOgorCiAyMDEyLTAxLTMxICBSYXBoYWVsIEt1Ym8gZGEg
Q29zdGEgIDxrdWJvQHByb2Z1c2lvbi5tb2JpPgogCiAgICAgICAgIFtzb3VwXSBBZGQgc3VwcG9y
dCBmb3IgbXVsdGlwbGUgU291cFNlc3Npb25zLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9n
dGsvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IGMyOWJkYzZh
YTQ0Yjk3ZWYyNDkxNDFjOGM4ZjQ3OGIwM2UyOWZlNTYuLjIxODg2NmVlNmEyYmU0NjVhNzA5YmM1
NDAzN2EzMDgxZGE4YjJmODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAx
Mi0wMi0xNiAgSm9uZ3Nlb2sgWWFuZyAgPGpzNDUueWFuZ0BzYW1zdW5nLmNvbT4KKworICAgICAg
ICBJbXBsZW1lbnQgdGhlIGludGVyZmFjZSBmb3IgbWVkaWEgY2FwdHVyZSBwYW5lbCB0byBzdXBw
b3J0IEhUTUwgTWVkaWEgQ2FwdHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjMwNjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGQgcnVuQ2FwdHVyZVBhbmVsKCkgdG8gcnVuIHRoZSBjYXB0dXJlIHBh
bmVsIGZvciBIVE1MIE1lZGlhIENhcHR1cmUuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRHdGsuY3BwOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6
Q2hyb21lQ2xpZW50OjpydW5DYXB0dXJlUGFuZWwpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEd0ay5oOgorICAgICAgICAoQ2hyb21lQ2xpZW50KToKKwogMjAxMi0wMi0x
NiAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIEF0dGVtcHQgdG8g
Zml4IHRoZSBHVEsgYnVpbGQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggY2I1OTQzNjI4YjA4YzVjN2Vj
MDVmZWUxZDVjYjY2YTAxMGJkMGIxYi4uM2JhZDA4NzY2NTMzNGZhMzhjZWU5ZmZlYjQxZWEwY2Qz
NzViMWUyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTAyLTE2ICBK
b25nc2VvayBZYW5nICA8anM0NS55YW5nQHNhbXN1bmcuY29tPgorCisgICAgICAgIEltcGxlbWVu
dCB0aGUgaW50ZXJmYWNlIGZvciBtZWRpYSBjYXB0dXJlIHBhbmVsIHRvIHN1cHBvcnQgSFRNTCBN
ZWRpYSBDYXB0dXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02MzA2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBydW5DYXB0dXJlUGFuZWwoKSB0byBydW4gdGhlIGNhcHR1cmUgcGFuZWwgZm9yIEhU
TUwgTWVkaWEgQ2FwdHVyZS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5o
OgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbToKKyAgICAgICAg
KFdlYkNocm9tZUNsaWVudDo6cnVuQ2FwdHVyZVBhbmVsKToKKwogMjAxMi0wMi0xNiAgQnJhZHkg
RWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEw
NjE2MjgwPiBhbmQgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc4NzY3
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
cXQvQ2hhbmdlTG9nCmluZGV4IDQ2NzIxMzBkNmNjOTE0YWZhN2Q4ZjQxYzI1M2QyMTVjYTllNzlh
YTYuLjhhNjhiMWJjYmYwZmE3MDlhNjliMmQyY2MzZWRmNmQ3NjQzZTllMmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTItMDItMTYgIEpvbmdzZW9rIFlhbmcgIDxqczQ1Lnlh
bmdAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IHRoZSBpbnRlcmZhY2UgZm9yIG1l
ZGlhIGNhcHR1cmUgcGFuZWwgdG8gc3VwcG9ydCBIVE1MIE1lZGlhIENhcHR1cmUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYzMDYyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHJ1bkNhcHR1cmVQYW5l
bCgpIHRvIHJ1biB0aGUgY2FwdHVyZSBwYW5lbCBmb3IgSFRNTCBNZWRpYSBDYXB0dXJlLgorCisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRRdDo6cnVuQ2FwdHVyZVBhbmVs
KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oOgorICAgICAgICAo
Q2hyb21lQ2xpZW50UXQpOgorCiAyMDEyLTAyLTE2ICBTaW1vbiBIYXVzbWFubiAgPHNpbW9uLmhh
dXNtYW5uQG5va2lhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGJyb3duLXBhcGVyIGJhZyBi
dWlsZCBmaXguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggMTY5ZTk4YjcyNzVlMzFjODFiNDgzMDE1MjVl
OTY0YTQxZGNkYTI4MS4uZDZmZWNhNWRiMWVkNWMzNWFlNDg5OWY5ZjYwZmE4OTc4ZWZhM2VjOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTAyLTE2ICBKb25nc2VvayBZ
YW5nICA8anM0NS55YW5nQHNhbXN1bmcuY29tPgorCisgICAgICAgIEltcGxlbWVudCB0aGUgaW50
ZXJmYWNlIGZvciBtZWRpYSBjYXB0dXJlIHBhbmVsIHRvIHN1cHBvcnQgSFRNTCBNZWRpYSBDYXB0
dXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MzA2
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBy
dW5DYXB0dXJlUGFuZWwoKSB0byBydW4gdGhlIGNhcHR1cmUgcGFuZWwgZm9yIEhUTUwgTWVkaWEg
Q2FwdHVyZS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6
CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6OnJ1bkNhcHR1cmVQYW5lbCk6CisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDaHJvbWVDbGll
bnQpOgorCiAyMDEyLTAyLTE1ICBTYWRydWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBOb3RpZnkgQ2hyb21lQ2xpZW50IHdoZW4gdG91Y2gtZXZlbnQg
aGFuZGxlcnMgYXJlIGluc3RhbGxlZC9yZW1vdmVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC93aW5jZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwppbmRleCAx
YzhiMDE1MmE4MDVlM2YyYTBhOGE5NzgyMzlmZjJlMzUxOTdlMjNjLi4yYTgwOTg1YTI1MzdiOTIw
ZjYyM2U0NTA2ZDg1ODg0MDMzYWVjZmNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbmNl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE4IEBACisyMDEyLTAyLTE2ICBKb25nc2VvayBZYW5nICA8anM0NS55YW5nQHNhbXN1bmcuY29t
PgorCisgICAgICAgIEltcGxlbWVudCB0aGUgaW50ZXJmYWNlIGZvciBtZWRpYSBjYXB0dXJlIHBh
bmVsIHRvIHN1cHBvcnQgSFRNTCBNZWRpYSBDYXB0dXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MzA2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBydW5DYXB0dXJlUGFuZWwoKSB0byBydW4gdGhl
IGNhcHR1cmUgcGFuZWwgZm9yIEhUTUwgTWVkaWEgQ2FwdHVyZS4KKworICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmNwcDoKKyAgICAgICAgKFdlYktpdCk6CisgICAg
ICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudFdpbkNFOjpydW5DYXB0dXJlUGFuZWwpOgorICAgICAg
ICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmg6CisgICAgICAgIChDaHJvbWVD
bGllbnRXaW5DRSk6CisKIDIwMTItMDItMTUgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCBXaW5DRSBidWlsZCBmaXggYWZ0ZXIgcjEw
NzYwNi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC93eC9DaGFuZ2VMb2cKaW5kZXggMDViZTg0YjcxOGRmN2U0NzFlODFiYWE3MzVmMDVlNDMx
MDNjMDUzNy4uYTc4MjNhYzZkYzAwZGIzZTZmZGExNWMxMDBlZThiYmNkNjEyZWQ1NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93eC9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMi0wMi0xNiAgSm9uZ3Nlb2sgWWFuZyAgPGpz
NDUueWFuZ0BzYW1zdW5nLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgdGhlIGludGVyZmFjZSBm
b3IgbWVkaWEgY2FwdHVyZSBwYW5lbCB0byBzdXBwb3J0IEhUTUwgTWVkaWEgQ2FwdHVyZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMwNjIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgcnVuQ2FwdHVy
ZVBhbmVsKCkgdG8gcnVuIHRoZSBjYXB0dXJlIHBhbmVsIGZvciBIVE1MIE1lZGlhIENhcHR1cmUu
CisKKyAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmNwcDoKKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50V3g6OnJ1bkNhcHR1cmVQ
YW5lbCk6CisgICAgICAgICogV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oOgorICAgICAg
ICAoQ2hyb21lQ2xpZW50V3gpOgorCiAyMDEyLTAyLTE1ICBTYWRydWwgSGFiaWIgQ2hvd2RodXJ5
ICA8c2FkcnVsQGNocm9taXVtLm9yZz4KIAogICAgICAgICBOb3RpZnkgQ2hyb21lQ2xpZW50IHdo
ZW4gdG91Y2gtZXZlbnQgaGFuZGxlcnMgYXJlIGluc3RhbGxlZC9yZW1vdmVkLgpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCmluZGV4IDU3NmU3NDZhZDkyZDVkY2QzMmVjNTg1NzUzZWVhNzIzYjBmMmQ4
ZTIuLmY0OWNiZDBmMzg3NDA3NWFkZmM1MDIzZDBjN2NmMTNjYTViZTEzMWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKQEAgLTg2LDYgKzg2LDcgQEAgRU5BQkxFX0ZJTEVfU1lTVEVNID0gOwog
RU5BQkxFX0ZVTExTQ1JFRU5fQVBJID0gRU5BQkxFX0ZVTExTQ1JFRU5fQVBJOwogRU5BQkxFX0dB
TUVQQUQgPSA7CiBFTkFCTEVfR0VPTE9DQVRJT04gPSBFTkFCTEVfR0VPTE9DQVRJT047CitFTkFC
TEVfSFRNTF9NRURJQV9DQVBUVVJFID0gOwogRU5BQkxFX0lOREVYRURfREFUQUJBU0UgPSA7CiBF
TkFCTEVfSU5QVVRfQ09MT1IgPSA7CiBFTkFCTEVfSU5QVVRfU1BFRUNIID0gOwpAQCAtMTI2LDQg
KzEyNyw0IEBAIEVOQUJMRV9XRUJfVElNSU5HID0gOwogRU5BQkxFX1dPUktFUlMgPSBFTkFCTEVf
V09SS0VSUzsKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9
ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAk
KEVOQUJMRV9BTklNQVRJT05fQVBJKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DSEFOTkVMX01F
U1NBR0lORykgJChFTkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9DU1Nf
RklMVEVSUykgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfU0hBREVSUykg
JChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVOQUJMRV9E
QVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTKSAkKEVOQUJMRV9ERVZJQ0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0ZJTEVfU1lTVEVN
KSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FN
RVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfQ09MT1IpICQoRU5BQkxFX0lOUFVU
X1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVU
X1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9MSU5LX1BSRUZF
VENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVE
SUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfVEFHKSAkKEVOQUJMRV9NVVRBVElPTl9PQlNF
UlZFUlMpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9B
UEkpICQoRU5BQkxFX1BST0dSRVNTX1RBRykgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFR0lT
VEVSX1BST1RPQ09MX0hBTkRMRVIpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAk
KEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1FM
X0RBVEFCQVNFKSAkKEVOQUJMRV9TVFlMRV9TQ09QRUQpICQoRU5BQkxFX1NWRykgJChFTkFCTEVf
U1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFWFRf
Tk9USUZJQ0FUSU9OU19PTkxZKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxF
X1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dF
Ql9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5B
QkxFX1dPUktFUlMpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVf
M0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FO
SU1BVElPTl9BUEkpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAk
KEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04pICQoRU5BQkxFX0NTU19GSUxURVJTKSAk
KEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19TSEFERVJTKSAkKEVOQUJMRV9E
QVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1QpICQoRU5BQkxFX0RBVEFfVFJBTlNG
RVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFMpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikg
JChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5BQkxF
X0ZJTFRFUlMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVO
QUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSFRNTF9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9J
Q09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX0NP
TE9SKSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxP
Q0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikg
JChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9T
T1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX1RBRykgJChF
TkFCTEVfTVVUQVRJT05fT0JTRVJWRVJTKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJM
RV9QQUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QUk9HUkVTU19UQUcpICQoRU5BQkxFX1FV
T1RBKSAkKEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKSAkKEVOQUJMRV9SRVFVRVNU
X0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfU0hBRE9XX0RPTSkgJChFTkFCTEVfU0hBUkVEX1dP
UktFUlMpICQoRU5BQkxFX1NRTF9EQVRBQkFTRSkgJChFTkFCTEVfU1RZTEVfU0NPUEVEKSAkKEVO
QUJMRV9TVkcpICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZP
TlRTKSAkKEVOQUJMRV9URVhUX05PVElGSUNBVElPTlNfT05MWSkgJChFTkFCTEVfVE9VQ0hfSUNP
Tl9MT0FESU5HKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxF
X1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJM
RV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
IGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
aW5kZXggM2UyMDkwMzU1YzlhODBjMTVmOWUzZWUxNWE2NjQ4ZDg5ZDg3MjFiYy4uNWY0MGVkYWFk
ZDM0MGIzNGE4NWU1MWUzZDliNmQxNjlmZDAyZDIwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dl
YkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTg2LDYgKzg2
LDcgQEAgRU5BQkxFX0ZJTEVfU1lTVEVNID0gOwogRU5BQkxFX0ZVTExTQ1JFRU5fQVBJID0gRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJOwogRU5BQkxFX0dBTUVQQUQgPSA7CiBFTkFCTEVfR0VPTE9DQVRJ
T04gPSBFTkFCTEVfR0VPTE9DQVRJT047CitFTkFCTEVfSFRNTF9NRURJQV9DQVBUVVJFID0gOwog
RU5BQkxFX0lOREVYRURfREFUQUJBU0UgPSA7CiBFTkFCTEVfSU5QVVRfQ09MT1IgPSA7CiBFTkFC
TEVfSU5QVVRfU1BFRUNIID0gOwpAQCAtMTI2LDQgKzEyNyw0IEBAIEVOQUJMRV9XRUJfVElNSU5H
ID0gOwogRU5BQkxFX1dPUktFUlMgPSBFTkFCTEVfV09SS0VSUzsKIEVOQUJMRV9YU0xUID0gRU5B
QkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChF
TkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BTklNQVRJT05fQVBJKSAkKEVO
QUJMRV9CTE9CKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ0xJRU5UX0JB
U0VEX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9DU1NfRklMVEVSUykgJChFTkFCTEVfQ1NTX0dSSURf
TEFZT1VUKSAkKEVOQUJMRV9DU1NfU0hBREVSUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQp
ICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJM
RV9ERVRBSUxTKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RJUkVDVE9S
WV9VUExPQUQpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFC
TEVfSU5QVVRfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVU
X1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBU
X0RFQlVHR0VSKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5B
QkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVU
RVJfVEFHKSAkKEVOQUJMRV9NVVRBVElPTl9PQlNFUlZFUlMpICQoRU5BQkxFX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BST0dSRVNTX1RBRykg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpICQoRU5B
QkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJM
RV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9TVFlMRV9T
Q09QRUQpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVO
QUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZKSAkKEVOQUJM
RV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFD
SykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tF
VFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hTTFQp
OworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FOSU1BVElPTl9BUEkpICQoRU5BQkxFX0JMT0Ip
ICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9D
QVRJT04pICQoRU5BQkxFX0NTU19GSUxURVJTKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQo
RU5BQkxFX0NTU19TSEFERVJTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVf
REFUQUxJU1QpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFMp
ICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkg
JChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZVTExTQ1JF
RU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVf
SFRNTF9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01P
TlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykg
JChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChF
TkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX01FVEVSX1RBRykgJChFTkFCTEVfTVVUQVRJT05fT0JTRVJWRVJTKSAk
KEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVO
QUJMRV9QUk9HUkVTU19UQUcpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRUdJU1RFUl9QUk9U
T0NPTF9IQU5ETEVSKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVf
U0hBRE9XX0RPTSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NRTF9EQVRBQkFT
RSkgJChFTkFCTEVfU1RZTEVfU0NPUEVEKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19ET01f
T0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URVhUX05PVElGSUNB
VElPTlNfT05MWSkgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9WSURFTykg
JChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8p
ICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XT1JL
RVJTKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggMDk3NTVjOTE5NTgx
YTNhMWI5NDg1ZDU5ZmI5Mzk2YWZjM2E2NGNjOS4uMDQ2ODNiZTIxZDczOTJmNjVlZThmMTAyZTlj
Y2NhYmI2MzE3MTFhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0K
KysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTQ0NSw2ICs0NDUsMTQgQEAg
d2ViY29yZV9jcHBmbGFncyArPSAtREVOQUJMRV9HRU9MT0NBVElPTj0xIC1ERU5BQkxFX0NMSUVO
VF9CQVNFRF9HRU9MT0NBVElPTj0xCiBlbmRpZiAjIEVORCBFTkFCTEVfR0VPTE9DQVRJT04KIAog
IyAtLS0tCisjIEhUTUwgTWVkaWEgQ2FwdHVyZQorIyAtLS0tCitpZiBFTkFCTEVfSFRNTF9NRURJ
QV9DQVBUVVJFCitGRUFUVVJFX0RFRklORVMgKz0gRU5BQkxFX0hUTUxfTUVESUFfQ0FQVFVSRT0x
Cit3ZWJjb3JlX2NwcGZsYWdzICs9IC1ERU5BQkxFX0hUTUxfTUVESUFfQ0FQVFVSRT0xCitlbmRp
ZiAjIEVORCBFTkFCTEVfSFRNTF9NRURJQV9DQVBUVVJFCisKKyMgLS0tLQogIyBNYXRoTUwgc3Vw
cG9ydAogIyAtLS0tCiBpZiBFTkFCTEVfTUFUSE1MCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0ZpbGVJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9GaWxlSW5wdXRU
eXBlLmNwcAppbmRleCA1NzU5ZjY3NDE1Y2QzODJlNTAwZmJlNjU1OGQwYzM0MzU3ZDk3NzBiLi4w
ZjgzZGFkY2IxMGUxNjZmYWQ3OGVlYmE1YzAyYmFmYmI2N2VhZWViIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0ZpbGVJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvRmlsZUlucHV0VHlwZS5jcHAKQEAgLTE1Nyw3ICsxNTcsMTUgQEAgdm9pZCBGaWxlSW5wdXRU
eXBlOjpoYW5kbGVET01BY3RpdmF0ZUV2ZW50KEV2ZW50KiBldmVudCkKICNlbmRpZgogICAgICAg
ICBzZXR0aW5ncy5hY2NlcHRNSU1FVHlwZXMgPSBpbnB1dC0+YWNjZXB0TUlNRVR5cGVzKCk7CiAg
ICAgICAgIHNldHRpbmdzLnNlbGVjdGVkRmlsZXMgPSBtX2ZpbGVMaXN0LT5wYXRocygpOworI2lm
IEVOQUJMRShIVE1MX01FRElBX0NBUFRVUkUpCisgICAgICAgIE1lZGlhQ2FwdHVyZVR5cGUgdHlw
ZSA9IGRldGVybWluZUNhcHR1cmVUeXBlKGlucHV0KTsKKyAgICAgICAgaWYgKHR5cGUgPT0gRmls
ZVN5c3RlbSkKKyAgICAgICAgICAgIGNocm9tZS0+cnVuT3BlblBhbmVsKGlucHV0LT5kb2N1bWVu
dCgpLT5mcmFtZSgpLCBuZXdGaWxlQ2hvb3NlcihzZXR0aW5ncykpOworICAgICAgICBlbHNlCisg
ICAgICAgICAgICBjaHJvbWUtPnJ1bkNhcHR1cmVQYW5lbChpbnB1dC0+ZG9jdW1lbnQoKS0+ZnJh
bWUoKSwgbmV3TWVkaWFDYXB0dXJlQ2hvb3NlcihzZXR0aW5ncywgdHlwZSkpOworI2Vsc2UKICAg
ICAgICAgY2hyb21lLT5ydW5PcGVuUGFuZWwoaW5wdXQtPmRvY3VtZW50KCktPmZyYW1lKCksIG5l
d0ZpbGVDaG9vc2VyKHNldHRpbmdzKSk7CisjZW5kaWYKICAgICB9CiAgICAgZXZlbnQtPnNldERl
ZmF1bHRIYW5kbGVkKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxB
dHRyaWJ1dGVOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVz
LmluCmluZGV4IDE1MWRmN2YzOGE1YTUzODNmMjk1ODQ2ZTMyZTE2YmZmMWEyNGQxOGIuLjYwYjAw
YTFjNDIyODIzMmI0YTc0NzE3MWVhMTU4NzY1Mjg3NTA0YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCkBAIC01OCw2ICs1OCw3IEBAIGJnY29sb3IKIGJncHJv
cGVydGllcwogYm9yZGVyCiBib3JkZXJjb2xvcgorY2FwdHVyZQogY2VsbHBhZGRpbmcKIGNlbGxz
cGFjaW5nCiBjaGFyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAppbmRl
eCA5MWVlZDU1ZGFmYTM2Mjg1NTQ4MzY2ZWMzNWFlNTI5MTY3ZTIxNjIzLi40ZjU2ZTgyOTUxNDcy
MjY2OWRhNGFhNGNlMDI5ZjkzYjM1ZWViODZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElu
cHV0RWxlbWVudC5jcHAKQEAgLTEzMDEsNiArMTMwMSwxMyBAQCBTdHJpbmcgSFRNTElucHV0RWxl
bWVudDo6YWx0KCkgY29uc3QKICAgICByZXR1cm4gZmFzdEdldEF0dHJpYnV0ZShhbHRBdHRyKTsK
IH0KIAorI2lmIEVOQUJMRShIVE1MX01FRElBX0NBUFRVUkUpCitTdHJpbmcgSFRNTElucHV0RWxl
bWVudDo6Y2FwdHVyZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhc3RHZXRBdHRyaWJ1dGUoY2Fw
dHVyZUF0dHIpOworfQorI2VuZGlmCisKIGludCBIVE1MSW5wdXRFbGVtZW50OjptYXhMZW5ndGgo
KSBjb25zdAogewogICAgIHJldHVybiBtX21heExlbmd0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
SW5wdXRFbGVtZW50LmgKaW5kZXggMzljYjQ4YmE2YjgzNmMzMjU2YTMwZTgxYzQxN2I4Y2IwMTJi
ZWYyYS4uMTBmOTY0NDcyZTA2NDkwYTk1OTJmNTVlYzY2MDA0YTQwYzI4ODhmMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKQEAgLTE5Miw2ICsxOTIsMTAgQEAgcHVibGlj
OgogICAgIFN0cmluZyBhY2NlcHQoKSBjb25zdDsKICAgICBTdHJpbmcgYWx0KCkgY29uc3Q7CiAK
KyNpZiBFTkFCTEUoSFRNTF9NRURJQV9DQVBUVVJFKQorICAgIFN0cmluZyBjYXB0dXJlKCkgY29u
c3Q7CisjZW5kaWYKKwogICAgIHZvaWQgc2V0U2l6ZSh1bnNpZ25lZCk7CiAKICAgICBLVVJMIHNy
YygpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVt
ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5pZGwKaW5kZXgg
ODRiZWI4YWM1MTJmZGM0ZGI4OGQ4ZGY4MmY5YWQzZmViNjc2MjhkOS4uMTMzN2U4NzE2MjEyODY2
OGZmYWU1OTcwMTRmMWYyMDRiMGRiMGQxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1
dEVsZW1lbnQuaWRsCkBAIC0zNCw2ICszNCw5IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgYXR0
cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgYWNjZXB0OwogICAgICAgICBhdHRyaWJ1dGUgW1Jl
ZmxlY3RdIERPTVN0cmluZyBhbGlnbjsKICAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01T
dHJpbmcgYWx0OworI2lmIGRlZmluZWQoRU5BQkxFX0hUTUxfTUVESUFfQ0FQVFVSRSkgJiYgRU5B
QkxFX0hUTUxfTUVESUFfQ0FQVFVSRQorICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0
cmluZyBjYXB0dXJlOworI2VuZGlmCiAgICAgICAgIGF0dHJpYnV0ZSBib29sZWFuIGNoZWNrZWQ7
CiAgICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gYm9vbGVhbiBkaXNhYmxlZDsKICAgICAgICAg
YXR0cmlidXRlIFtSZWZsZWN0XSBib29sZWFuIGF1dG9mb2N1czsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9F
bXB0eUNsaWVudHMuaAppbmRleCBhMjY0MWY3NTE4OTc3MWY1MjMzNzE5ZGMxMTRmYWY1NWRlOGNi
OGU5Li4yZTk0MmRhNDgyYmNhZTIyYzQ3MjMyZTVhMTNhNmE0OGJiZWUxZjhhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCkBAIC0yMDUsNiArMjA1LDkgQEAgcHVibGljOgogI2Vu
ZGlmCiAKICAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxG
aWxlQ2hvb3Nlcj4pIHsgfQorI2lmIEVOQUJMRShIVE1MX01FRElBX0NBUFRVUkUpCisgICAgdmly
dHVhbCB2b2lkIHJ1bkNhcHR1cmVQYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8TWVkaWFDYXB0dXJl
Q2hvb3Nlcj4pIHsgfQorI2VuZGlmCiAgICAgdmlydHVhbCB2b2lkIGxvYWRJY29uRm9yRmlsZXMo
Y29uc3QgVmVjdG9yPFN0cmluZz4mLCBGaWxlSWNvbkxvYWRlciopIHsgfQogCiAgICAgdmlydHVh
bCB2b2lkIGZvcm1TdGF0ZURpZENoYW5nZShjb25zdCBOb2RlKikgeyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9t
ZS5jcHAKaW5kZXggNWUwMTIyZGRkZGM5ZmJhNjRhMGE5NjBmM2RmOWFkOTBjNzAzM2VmYy4uODhm
MmVlYWZkNGIzYmZmYTU1YmI1ZmNkZTY2NDg5ODBkMzVjYjY0OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21l
LmNwcApAQCAtNDY0LDYgKzQ2NCwxMyBAQCB2b2lkIENocm9tZTo6cnVuT3BlblBhbmVsKEZyYW1l
KiBmcmFtZSwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4gZmlsZUNob29zZXIpCiAgICAgbV9jbGll
bnQtPnJ1bk9wZW5QYW5lbChmcmFtZSwgZmlsZUNob29zZXIpOwogfQogCisjaWYgRU5BQkxFKEhU
TUxfTUVESUFfQ0FQVFVSRSkKK3ZvaWQgQ2hyb21lOjpydW5DYXB0dXJlUGFuZWwoRnJhbWUqIGZy
YW1lLCBQYXNzUmVmUHRyPE1lZGlhQ2FwdHVyZUNob29zZXI+IG1lZGlhRmlsZUNob29zZXIpCit7
CisgICAgbV9jbGllbnQtPnJ1bkNhcHR1cmVQYW5lbChmcmFtZSwgbWVkaWFGaWxlQ2hvb3Nlcik7
Cit9CisjZW5kaWYKKwogdm9pZCBDaHJvbWU6OmxvYWRJY29uRm9yRmlsZXMoY29uc3QgVmVjdG9y
PFN0cmluZz4mIGZpbGVuYW1lcywgRmlsZUljb25Mb2FkZXIqIGxvYWRlcikKIHsKICAgICBtX2Ns
aWVudC0+bG9hZEljb25Gb3JGaWxlcyhmaWxlbmFtZXMsIGxvYWRlcik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUu
aAppbmRleCBjNjcwNGM5N2E0NGRmNjI5YjUyOGZmYWFkZmFiZTIyMWExYTEzYzczLi42NjA0YTUz
NDBhYzk5MDEzMTA0ODBlZTEzMjg1NWVmMTIyMzM3MjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Nocm9tZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKQEAg
LTQ3LDYgKzQ3LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEdlb2xvY2F0aW9u
OwogICAgIGNsYXNzIEhpdFRlc3RSZXN1bHQ7CiAgICAgY2xhc3MgSW50UmVjdDsKKyNpZiBFTkFC
TEUoSFRNTF9NRURJQV9DQVBUVVJFKQorICAgIGNsYXNzIE1lZGlhQ2FwdHVyZUNob29zZXI7Cisj
ZW5kaWYKICAgICBjbGFzcyBOYXZpZ2F0aW9uQWN0aW9uOwogICAgIGNsYXNzIE5vZGU7CiAgICAg
Y2xhc3MgUGFnZTsKQEAgLTE1NCw2ICsxNTcsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjZW5k
aWYKIAogICAgICAgICB2b2lkIHJ1bk9wZW5QYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8RmlsZUNo
b29zZXI+KTsKKyNpZiBFTkFCTEUoSFRNTF9NRURJQV9DQVBUVVJFKQorICAgICAgICB2b2lkIHJ1
bkNhcHR1cmVQYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8TWVkaWFDYXB0dXJlQ2hvb3Nlcj4pOwor
I2VuZGlmCiAgICAgICAgIHZvaWQgbG9hZEljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5n
PiYsIEZpbGVJY29uTG9hZGVyKik7CiAjaWYgRU5BQkxFKERJUkVDVE9SWV9VUExPQUQpCiAgICAg
ICAgIHZvaWQgZW51bWVyYXRlQ2hvc2VuRGlyZWN0b3J5KEZpbGVDaG9vc2VyKik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9DaHJvbWVDbGllbnQuaAppbmRleCAzM2IxYzRiODcxNDkwODNiYzY4ZWE3OWI3OWZmMTQy
ZWNkZDU5ZTQzLi5kMGM4ZTcxNGQ2ZTRhYjJjZDdhY2ZhZDgzYmRhZjFmMmVjNmFlZjk5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKQEAgLTU1LDYgKzU1LDkgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIGNsYXNzIEdyYXBoaWNzTGF5ZXI7CiAgICAgY2xhc3MgSGl0VGVzdFJlc3Vs
dDsKICAgICBjbGFzcyBJbnRSZWN0OworI2lmIEVOQUJMRShIVE1MX01FRElBX0NBUFRVUkUpCisg
ICAgY2xhc3MgTWVkaWFDYXB0dXJlQ2hvb3NlcjsKKyNlbmRpZgogICAgIGNsYXNzIE5hdmlnYXRp
b25BY3Rpb247CiAgICAgY2xhc3MgTm9kZTsKICAgICBjbGFzcyBQYWdlOwpAQCAtMjI0LDYgKzIy
Nyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNlbmRpZgogCiAgICAgICAgIHZpcnR1YWwgdm9p
ZCBydW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPikgPSAwOworI2lm
IEVOQUJMRShIVE1MX01FRElBX0NBUFRVUkUpCisgICAgICAgIHZpcnR1YWwgdm9pZCBydW5DYXB0
dXJlUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPE1lZGlhQ2FwdHVyZUNob29zZXI+KSA9IDA7Cisj
ZW5kaWYKICAgICAgICAgLy8gQXN5bmNocm9ub3VzIHJlcXVlc3QgdG8gbG9hZCBhbiBpY29uIGZv
ciBzcGVjaWZpZWQgZmlsZW5hbWVzLgogICAgICAgICB2aXJ0dWFsIHZvaWQgbG9hZEljb25Gb3JG
aWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYsIEZpbGVJY29uTG9hZGVyKikgPSAwOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlQ2hvb3Nlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9GaWxlQ2hvb3Nlci5jcHAKaW5kZXggYTk3OTJhYTZhZjU3YjUyZmZm
ZWY1NjdiYjRjYmVlYzM2YzcxMWI5My4uODQ5NDE0MWRjNTY1ODM5ODk1MGMwYTVjOWNiYmJhYjc1
MDljNTM5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZUNob29zZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVDaG9vc2VyLmNwcApAQCAtMjks
OCArMjksMTMgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJGaWxlQ2hvb3Nlci5o
IgogCisjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSAiTUlNRVR5cGVSZWdpc3RyeS5o
IgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3VzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CisK
IEZpbGVDaG9vc2VyQ2xpZW50Ojp+RmlsZUNob29zZXJDbGllbnQoKQogewogICAgIGRpc2NhcmRD
aG9vc2VyKCk7CkBAIC01MCwxMSArNTUsMzYgQEAgdm9pZCBGaWxlQ2hvb3NlckNsaWVudDo6ZGlz
Y2FyZENob29zZXIoKQogICAgICAgICBtX2Nob29zZXItPmRpc2Nvbm5lY3RDbGllbnQoKTsKIH0K
IAotaW5saW5lIEZpbGVDaG9vc2VyOjpGaWxlQ2hvb3NlcihGaWxlQ2hvb3NlckNsaWVudCogY2xp
ZW50LCBjb25zdCBGaWxlQ2hvb3NlclNldHRpbmdzJiBzZXR0aW5ncykKLSAgICA6IG1fY2xpZW50
KGNsaWVudCkKLSAgICAsIG1fc2V0dGluZ3Moc2V0dGluZ3MpCisjaWYgRU5BQkxFKEhUTUxfTUVE
SUFfQ0FQVFVSRSkKK01lZGlhQ2FwdHVyZUNob29zZXIqIEZpbGVDaG9vc2VyQ2xpZW50OjpuZXdN
ZWRpYUNhcHR1cmVDaG9vc2VyKGNvbnN0IEZpbGVDaG9vc2VyU2V0dGluZ3MmIHNldHRpbmdzLCBN
ZWRpYUNhcHR1cmVUeXBlIGRldmljZSkKK3sKKyAgICBkaXNjYXJkQ2hvb3NlcigpOworCisgICAg
bV9jaG9vc2VyID0gTWVkaWFDYXB0dXJlQ2hvb3Nlcjo6Y3JlYXRlKHRoaXMsIHNldHRpbmdzLCBk
ZXZpY2UpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxNZWRpYUNhcHR1cmVDaG9vc2VyKj4obV9j
aG9vc2VyLmdldCgpKTsKK30KKworTWVkaWFDYXB0dXJlVHlwZSBGaWxlQ2hvb3NlckNsaWVudDo6
ZGV0ZXJtaW5lQ2FwdHVyZVR5cGUoSFRNTElucHV0RWxlbWVudCogaW5wdXQpCiB7CisgICAgaWYg
KCFpbnB1dCkKKyAgICAgICAgcmV0dXJuIEZpbGVTeXN0ZW07CisKKyAgICBpZiAoZXF1YWxJZ25v
cmluZ0Nhc2UoaW5wdXQtPmNhcHR1cmUoKSwgTWVkaWFDYXB0dXJlTmFtZXM6OmNhbWVyYSgpKSkg
eworICAgICAgICBmb3IgKFZlY3RvcjxTdHJpbmc+Ojpjb25zdF9pdGVyYXRvciBpdGVyYXRvciA9
IGlucHV0LT5hY2NlcHRNSU1FVHlwZXMoKS5iZWdpbigpOyBpdGVyYXRvciAhPSBpbnB1dC0+YWNj
ZXB0TUlNRVR5cGVzKCkuZW5kKCk7ICsraXRlcmF0b3IpCisgICAgICAgICAgICBpZiAoKCppdGVy
YXRvcikuc3RhcnRzV2l0aCgiaW1hZ2UvIikgJiYgTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0
ZWRDYXB0dXJlTUlNRVR5cGUoKml0ZXJhdG9yKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gQ2Ft
ZXJhOworICAgIH0gZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UoaW5wdXQtPmNhcHR1cmUoKSwg
TWVkaWFDYXB0dXJlTmFtZXM6OmNhbWNvcmRlcigpKSkgeworICAgICAgICBmb3IgKFZlY3RvcjxT
dHJpbmc+Ojpjb25zdF9pdGVyYXRvciBpdGVyYXRvciA9IGlucHV0LT5hY2NlcHRNSU1FVHlwZXMo
KS5iZWdpbigpOyBpdGVyYXRvciAhPSBpbnB1dC0+YWNjZXB0TUlNRVR5cGVzKCkuZW5kKCk7ICsr
aXRlcmF0b3IpCisgICAgICAgICAgICBpZiAoKCppdGVyYXRvcikuc3RhcnRzV2l0aCgidmlkZW8v
IikgJiYgTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRDYXB0dXJlTUlNRVR5cGUoKml0ZXJh
dG9yKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gQ2FtY29yZGVyOworICAgIH0gZWxzZSBpZiAo
ZXF1YWxJZ25vcmluZ0Nhc2UoaW5wdXQtPmNhcHR1cmUoKSwgTWVkaWFDYXB0dXJlTmFtZXM6Om1p
Y3JvcGhvbmUoKSkpIHsKKyAgICAgICAgZm9yIChWZWN0b3I8U3RyaW5nPjo6Y29uc3RfaXRlcmF0
b3IgaXRlcmF0b3IgPSBpbnB1dC0+YWNjZXB0TUlNRVR5cGVzKCkuYmVnaW4oKTsgaXRlcmF0b3Ig
IT0gaW5wdXQtPmFjY2VwdE1JTUVUeXBlcygpLmVuZCgpOyArK2l0ZXJhdG9yKQorICAgICAgICAg
ICAgaWYgKCgqaXRlcmF0b3IpLnN0YXJ0c1dpdGgoImF1ZGlvLyIpICYmIE1JTUVUeXBlUmVnaXN0
cnk6OmlzU3VwcG9ydGVkQ2FwdHVyZU1JTUVUeXBlKCppdGVyYXRvcikpCisgICAgICAgICAgICAg
ICAgcmV0dXJuIE1pY3JvcGhvbmU7CisgICAgfQorICAgIHJldHVybiBGaWxlU3lzdGVtOwogfQor
I2VuZGlmCiAKIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+IEZpbGVDaG9vc2VyOjpjcmVhdGUoRmls
ZUNob29zZXJDbGllbnQqIGNsaWVudCwgY29uc3QgRmlsZUNob29zZXJTZXR0aW5ncyYgc2V0dGlu
Z3MpCiB7CkBAIC04Miw0ICsxMTIsNDUgQEAgdm9pZCBGaWxlQ2hvb3Nlcjo6Y2hvb3NlRmlsZXMo
Y29uc3QgVmVjdG9yPFN0cmluZz4mIGZpbGVuYW1lcykKICAgICAgICAgbV9jbGllbnQtPmZpbGVz
Q2hvc2VuKGZpbGVuYW1lcyk7CiB9CiAKKyNpZiBFTkFCTEUoSFRNTF9NRURJQV9DQVBUVVJFKQor
CitQYXNzUmVmUHRyPE1lZGlhQ2FwdHVyZUNob29zZXI+IE1lZGlhQ2FwdHVyZUNob29zZXI6OmNy
ZWF0ZShGaWxlQ2hvb3NlckNsaWVudCogY2xpZW50LCBjb25zdCBGaWxlQ2hvb3NlclNldHRpbmdz
JiBzZXR0aW5ncywgTWVkaWFDYXB0dXJlVHlwZSB0eXBlKQoreworICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgTWVkaWFDYXB0dXJlQ2hvb3NlcihjbGllbnQsIHNldHRpbmdzLCB0eXBlKSk7Cit9CisK
K01lZGlhQ2FwdHVyZUNob29zZXI6On5NZWRpYUNhcHR1cmVDaG9vc2VyKCkKK3sKK30KKworbmFt
ZXNwYWNlIE1lZGlhQ2FwdHVyZU5hbWVzIHsKKworY29uc3QgQXRvbWljU3RyaW5nJiBjYW1lcmEo
KQoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBuYW1lLCAoImNhbWVy
YSIpKTsKKyAgICByZXR1cm4gbmFtZTsKK30KKworY29uc3QgQXRvbWljU3RyaW5nJiBjYW1jb3Jk
ZXIoKQoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBuYW1lLCAoImNh
bWNvcmRlciIpKTsKKyAgICByZXR1cm4gbmFtZTsKK30KKworY29uc3QgQXRvbWljU3RyaW5nJiBt
aWNyb3Bob25lKCkKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgbmFt
ZSwgKCJtaWNyb3Bob25lIikpOworICAgIHJldHVybiBuYW1lOworfQorCitjb25zdCBBdG9taWNT
dHJpbmcmIGZpbGVzeXN0ZW0oKQoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3Ry
aW5nLCBuYW1lLCAoImZpbGVzeXN0ZW0iKSk7CisgICAgcmV0dXJuIG5hbWU7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmU6Ok1lZGlhQ2FwdHVyZU5hbWVzCisKKyNlbmRpZgorCiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlQ2hvb3Nlci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vRmlsZUNob29zZXIuaAppbmRleCBjYzIwYmUyODFiODQyNGNiZWJlMDE1
YTcyN2E1NGY4NmIwZTNlYTMxLi5iYjI2ZTM5YzhmYzJiZDViYTAzMDQ0YTdjZGU1ODlkNjY2M2Rm
NTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlQ2hvb3Nlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVDaG9vc2VyLmgKQEAgLTMwLDYgKzMwLDcg
QEAKICNpZm5kZWYgRmlsZUNob29zZXJfaAogI2RlZmluZSBGaWxlQ2hvb3Nlcl9oCiAKKyNpbmNs
dWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNp
bmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTM3
LDYgKzM4LDE5IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZpbGVDaG9vc2VyOwor
Y2xhc3MgSFRNTElucHV0RWxlbWVudDsKKyNpZiBFTkFCTEUoSFRNTF9NRURJQV9DQVBUVVJFKQor
Y2xhc3MgTWVkaWFDYXB0dXJlQ2hvb3NlcjsKKyNlbmRpZgorCisjaWYgRU5BQkxFKEhUTUxfTUVE
SUFfQ0FQVFVSRSkKK2VudW0gTWVkaWFDYXB0dXJlVHlwZSB7CisgICAgRmlsZVN5c3RlbSwKKyAg
ICBDYW1lcmEsCisgICAgQ2FtY29yZGVyLAorICAgIE1pY3JvcGhvbmUsCit9OworI2VuZGlmCiAK
IHN0cnVjdCBGaWxlQ2hvb3NlclNldHRpbmdzIHsKICAgICBib29sIGFsbG93c011bHRpcGxlRmls
ZXM7CkBAIC01NSw2ICs2OSwxMSBAQCBwdWJsaWM6CiBwcm90ZWN0ZWQ6CiAgICAgRmlsZUNob29z
ZXIqIG5ld0ZpbGVDaG9vc2VyKGNvbnN0IEZpbGVDaG9vc2VyU2V0dGluZ3MmKTsKIAorI2lmIEVO
QUJMRShIVE1MX01FRElBX0NBUFRVUkUpCisgICAgTWVkaWFDYXB0dXJlQ2hvb3NlciogbmV3TWVk
aWFDYXB0dXJlQ2hvb3Nlcihjb25zdCBGaWxlQ2hvb3NlclNldHRpbmdzJiwgTWVkaWFDYXB0dXJl
VHlwZSk7CisgICAgTWVkaWFDYXB0dXJlVHlwZSBkZXRlcm1pbmVDYXB0dXJlVHlwZShIVE1MSW5w
dXRFbGVtZW50Kik7CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICB2b2lkIGRpc2NhcmRDaG9vc2Vy
KCk7CiAKQEAgLTczLDEzICs5Miw0OCBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBGaWxlQ2hvb3Nl
clNldHRpbmdzJiBzZXR0aW5ncygpIGNvbnN0IHsgcmV0dXJuIG1fc2V0dGluZ3M7IH0KIAotcHJp
dmF0ZToKLSAgICBGaWxlQ2hvb3NlcihGaWxlQ2hvb3NlckNsaWVudCosIGNvbnN0IEZpbGVDaG9v
c2VyU2V0dGluZ3MmKTsKK3Byb3RlY3RlZDoKKyAgICBGaWxlQ2hvb3NlcihGaWxlQ2hvb3NlckNs
aWVudCogY2xpZW50LCBjb25zdCBGaWxlQ2hvb3NlclNldHRpbmdzJiBzZXR0aW5ncykKKyAgICAg
ICAgOiBtX2NsaWVudChjbGllbnQpCisgICAgICAgICwgbV9zZXR0aW5ncyhzZXR0aW5ncykKKyAg
ICB7CisgICAgfQogCitwcml2YXRlOgogICAgIEZpbGVDaG9vc2VyQ2xpZW50KiBtX2NsaWVudDsK
ICAgICBGaWxlQ2hvb3NlclNldHRpbmdzIG1fc2V0dGluZ3M7CiB9OwogCisjaWYgRU5BQkxFKEhU
TUxfTUVESUFfQ0FQVFVSRSkKKworY2xhc3MgTWVkaWFDYXB0dXJlQ2hvb3NlciA6IHB1YmxpYyBG
aWxlQ2hvb3NlciB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8TWVkaWFDYXB0dXJl
Q2hvb3Nlcj4gY3JlYXRlKEZpbGVDaG9vc2VyQ2xpZW50KiwgY29uc3QgRmlsZUNob29zZXJTZXR0
aW5ncyYsIE1lZGlhQ2FwdHVyZVR5cGUpOworICAgIH5NZWRpYUNhcHR1cmVDaG9vc2VyKCk7CisK
KyAgICBNZWRpYUNhcHR1cmVUeXBlIGNhcHR1cmVUeXBlKCkgeyByZXR1cm4gbV9jYXB0dXJlVHlw
ZTsgfQorCitwcml2YXRlOgorICAgIE1lZGlhQ2FwdHVyZUNob29zZXIoRmlsZUNob29zZXJDbGll
bnQqIGNsaWVudCwgY29uc3QgRmlsZUNob29zZXJTZXR0aW5ncyYgc2V0dGluZ3MsIE1lZGlhQ2Fw
dHVyZVR5cGUgdHlwZSkKKyAgICAgICAgOiBGaWxlQ2hvb3NlcihjbGllbnQsIHNldHRpbmdzKQor
ICAgICAgICAsIG1fY2FwdHVyZVR5cGUodHlwZSkKKyAgICB7CisgICAgfQorCisgICAgTWVkaWFD
YXB0dXJlVHlwZSBtX2NhcHR1cmVUeXBlOworfTsKKworbmFtZXNwYWNlIE1lZGlhQ2FwdHVyZU5h
bWVzIHsKKworY29uc3QgQXRvbWljU3RyaW5nJiBjYW1lcmEoKTsKK2NvbnN0IEF0b21pY1N0cmlu
ZyYgY2FtY29yZGVyKCk7Citjb25zdCBBdG9taWNTdHJpbmcmIG1pY3JvcGhvbmUoKTsKK2NvbnN0
IEF0b21pY1N0cmluZyYgZmlsZXN5c3RlbSgpOworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlOjpN
ZWRpYUNhcHR1cmVOYW1lcworCisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAj
ZW5kaWYgLy8gRmlsZUNob29zZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vTUlNRVR5cGVSZWdpc3RyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlw
ZVJlZ2lzdHJ5LmNwcAppbmRleCBiNWYyZDQ1NTFmMmYyMDg0MGFlNDA5ODk0Y2VmOTM2NjIyMDI3
ZDhhLi4xNDFjNzA5OTEyYjdhYjg1OWFiMGZiZDI5Y2RlMDBlYjUyNDZlNWIwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcApAQCAtMTg5LDYgKzE4OSw5
IEBAIHN0YXRpYyBIYXNoU2V0PFN0cmluZz4qIHN1cHBvcnRlZEltYWdlTUlNRVR5cGVzRm9yRW5j
b2Rpbmc7CiBzdGF0aWMgSGFzaFNldDxTdHJpbmc+KiBzdXBwb3J0ZWRKYXZhU2NyaXB0TUlNRVR5
cGVzOwogc3RhdGljIEhhc2hTZXQ8U3RyaW5nPiogc3VwcG9ydGVkTm9uSW1hZ2VNSU1FVHlwZXM7
CiBzdGF0aWMgSGFzaFNldDxTdHJpbmc+KiBzdXBwb3J0ZWRNZWRpYU1JTUVUeXBlczsKKyNpZiBF
TkFCTEUoSFRNTF9NRURJQV9DQVBUVVJFKQorc3RhdGljIEhhc2hTZXQ8U3RyaW5nPiogc3VwcG9y
dGVkQ2FwdHVyZU1JTUVUeXBlczsKKyNlbmRpZgogc3RhdGljIEhhc2hTZXQ8U3RyaW5nPiogdW5z
dXBwb3J0ZWRUZXh0TUlNRVR5cGVzOwogCiB0eXBlZGVmIEhhc2hNYXA8U3RyaW5nLCBWZWN0b3I8
U3RyaW5nPiosIENhc2VGb2xkaW5nSGFzaD4gTWVkaWFNSU1FVHlwZU1hcDsKQEAgLTQzNyw2ICs0
NDAsMTYgQEAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZVN1cHBvcnRlZE1lZGlhTUlNRVR5cGVzKCkK
ICNlbmRpZgogfQogCisjaWYgRU5BQkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkKK3N0YXRpYyB2b2lk
IGluaXRpYWxpemVTdXBwb3J0ZWRDYXB0dXJlTUlNRVR5cGVzKCkKK3sKKyAgICBzdXBwb3J0ZWRD
YXB0dXJlTUlNRVR5cGVzID0gbmV3IEhhc2hTZXQ8U3RyaW5nPjsKKyAgICBzdXBwb3J0ZWRDYXB0
dXJlTUlNRVR5cGVzLT5hZGQoImltYWdlLyoiKTsKKyAgICBzdXBwb3J0ZWRDYXB0dXJlTUlNRVR5
cGVzLT5hZGQoImF1ZGlvLyoiKTsKKyAgICBzdXBwb3J0ZWRDYXB0dXJlTUlNRVR5cGVzLT5hZGQo
InZpZGVvLyoiKTsKK30KKyNlbmRpZgorCiBzdGF0aWMgdm9pZCBpbml0aWFsaXplVW5zdXBwb3J0
ZWRUZXh0TUlNRVR5cGVzKCkKIHsKICAgICBzdGF0aWMgY29uc3QgY2hhciogdHlwZXNbXSA9IHsK
QEAgLTU3Myw2ICs1ODYsMTcgQEAgYm9vbCBNSU1FVHlwZVJlZ2lzdHJ5Ojppc1Vuc3VwcG9ydGVk
VGV4dE1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCiAgICAgcmV0dXJuIHVuc3VwcG9y
dGVkVGV4dE1JTUVUeXBlcy0+Y29udGFpbnMobWltZVR5cGUpOwogfQogCisjaWYgRU5BQkxFKEhU
TUxfTUVESUFfQ0FQVFVSRSkKK2Jvb2wgTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRDYXB0
dXJlTUlNRVR5cGUoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSkKK3sKKyAgICBpZiAobWltZVR5cGUu
aXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFzdXBwb3J0ZWRDYXB0
dXJlTUlNRVR5cGVzKQorICAgICAgICBpbml0aWFsaXplU3VwcG9ydGVkQ2FwdHVyZU1JTUVUeXBl
cygpOworICAgIHJldHVybiBzdXBwb3J0ZWRDYXB0dXJlTUlNRVR5cGVzLT5jb250YWlucyhtaW1l
VHlwZSk7Cit9CisjZW5kaWYKKwogYm9vbCBNSU1FVHlwZVJlZ2lzdHJ5Ojppc0phdmFBcHBsZXRN
SU1FVHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKQogewogICAgIC8vIFNpbmNlIHRoaXMgc2V0
IGlzIHZlcnkgbGltaXRlZCBhbmQgaXMgbGlrZWx5IHRvIHJlbWFpbiBzbyB3ZSB3b24ndCBib3Ro
ZXIgd2l0aCB0aGUgb3ZlcmhlYWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L01JTUVUeXBlUmVnaXN0cnkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVn
aXN0cnkuaAppbmRleCBkMmMzNzUyMTRhMWE4NDAwNDFlMWM2ZDVkYjc0NzBmYjZhNTE0ZjJjLi4x
YjBhYTkyOTllMGE5MzBkOTFkODM5ZDg4MTZiYjYyNjcyNDIxMzNmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5oCkBAIC04MCw2ICs4MCwxMSBAQCBwdWJsaWM6
CiAgICAgLy8gYnJvd3NlciAoZS5nLiBhIFF0IFBsdWdpbikuCiAgICAgc3RhdGljIGJvb2wgaXNB
cHBsaWNhdGlvblBsdWdpbk1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpOwogCisjaWYg
RU5BQkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkKKyAgICAvLyBDaGVjayB0byBzZWUgaWYgYSBtaW1l
IHR5cGUgaXMgc3VpdGFibGUgZm9yIGJlaW5nIG9wZXJhdGVkIGFzIGh0bWwgbWVkaWEgY2FwdHVy
ZS4KKyAgICBzdGF0aWMgYm9vbCBpc1N1cHBvcnRlZENhcHR1cmVNSU1FVHlwZShjb25zdCBTdHJp
bmcmIG1pbWVUeXBlKTsKKyNlbmRpZgorCiAgICAgc3RhdGljIEhhc2hTZXQ8U3RyaW5nPiYgZ2V0
U3VwcG9ydGVkSW1hZ2VNSU1FVHlwZXMoKTsKICAgICBzdGF0aWMgSGFzaFNldDxTdHJpbmc+JiBn
ZXRTdXBwb3J0ZWRJbWFnZVJlc291cmNlTUlNRVR5cGVzKCk7CiAgICAgc3RhdGljIEhhc2hTZXQ8
U3RyaW5nPiYgZ2V0U3VwcG9ydGVkSW1hZ2VNSU1FVHlwZXNGb3JFbmNvZGluZygpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcAppbmRleCA0NWE4
MTM4NTk0NGNlOGFiZGJjN2JiOTk0YWViM2NjOWRmMjI0MGJmLi41MzQwOGUxZjAzZGM4MjBkNzM0
NGY0NGZmODI5M2VhZDNmOGEwNzhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9DaHJvbWVDbGllbnRJbXBsLmNwcApAQCAtNzI2LDYgKzcyNiwxMyBAQCB2b2lkIENocm9tZUNs
aWVudEltcGw6OnJ1bk9wZW5QYW5lbChGcmFtZSogZnJhbWUsIFBhc3NSZWZQdHI8RmlsZUNob29z
ZXI+IGZpbGVDaAogICAgIGNob29zZXJDb21wbGV0aW9uLT5kaWRDaG9vc2VGaWxlKFdlYlZlY3Rv
cjxXZWJTdHJpbmc+KCkpOwogfQogCisjaWYgRU5BQkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkKK3Zv
aWQgQ2hyb21lQ2xpZW50SW1wbDo6cnVuQ2FwdHVyZVBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxN
ZWRpYUNhcHR1cmVDaG9vc2VyPikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorI2VuZGlm
CisKIHZvaWQgQ2hyb21lQ2xpZW50SW1wbDo6bG9hZEljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8
U3RyaW5nPiYgZmlsZW5hbWVzLCBGaWxlSWNvbkxvYWRlciogbG9hZGVyKQogewogICAgIGlmICgh
bV93ZWJWaWV3LT5jbGllbnQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL0Nocm9tZUNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9t
ZUNsaWVudEltcGwuaAppbmRleCAyM2UwMmZmM2Q5OTUwNGZjMjk5ODJmMzcxMTYzNTZhMTAwNTQ5
NzZjLi41N2JmZGM5YzdhMzI3ZTRkYTQwY2VhZTQ2NDk2NGI1ZTdmZjc2NTc2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmgKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCkBAIC0xNDIsNiArMTQy
LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUGFzc093blB0cjxXZWJDb3JlOjpDb2xvckNob29z
ZXI+IGNyZWF0ZUNvbG9yQ2hvb3NlcihXZWJDb3JlOjpDb2xvckNob29zZXJDbGllbnQqLCBjb25z
dCBXZWJDb3JlOjpDb2xvciYpIE9WRVJSSURFOwogI2VuZGlmCiAgICAgdmlydHVhbCB2b2lkIHJ1
bk9wZW5QYW5lbChXZWJDb3JlOjpGcmFtZSosIFBhc3NSZWZQdHI8V2ViQ29yZTo6RmlsZUNob29z
ZXI+KTsKKyNpZiBFTkFCTEUoSFRNTF9NRURJQV9DQVBUVVJFKQorICAgIHZpcnR1YWwgdm9pZCBy
dW5DYXB0dXJlUGFuZWwoV2ViQ29yZTo6RnJhbWUqLCBQYXNzUmVmUHRyPFdlYkNvcmU6Ok1lZGlh
Q2FwdHVyZUNob29zZXI+KTsKKyNlbmRpZgogICAgIHZpcnR1YWwgdm9pZCBsb2FkSWNvbkZvckZp
bGVzKGNvbnN0IFZlY3RvcjxXVEY6OlN0cmluZz4mLCBXZWJDb3JlOjpGaWxlSWNvbkxvYWRlciop
OwogI2lmIEVOQUJMRShESVJFQ1RPUllfVVBMT0FEKQogICAgIHZpcnR1YWwgdm9pZCBlbnVtZXJh
dGVDaG9zZW5EaXJlY3RvcnkoV2ViQ29yZTo6RmlsZUNob29zZXIqKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwCmluZGV4IGEy
NWY5ZDBlNDcwOGJiMGFhNTViNGJmNTcyMjgwZjk1OTI5OTIwY2MuLjkxZDFiZTc2ODMxYzZjZWI4
MzJjMTIxNTdmMWIyYjVjZDE5OWMyYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcApAQCAtNDQ5LDYgKzQ0OSwxMyBAQCB2
b2lkIENocm9tZUNsaWVudEVmbDo6cnVuT3BlblBhbmVsKEZyYW1lKiBmcmFtZSwgUGFzc1JlZlB0
cjxGaWxlQ2hvb3Nlcj4gcHJwRmlsZQogICAgICAgICBjaG9vc2VyLT5jaG9vc2VGaWxlKGZpbGVu
YW1lc1swXSk7CiB9CiAKKyNpZiBFTkFCTEUoSFRNTF9NRURJQV9DQVBUVVJFKQordm9pZCBDaHJv
bWVDbGllbnRFZmw6OnJ1bkNhcHR1cmVQYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8TWVkaWFDYXB0
dXJlQ2hvb3Nlcj4pCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKyNlbmRpZgorCiB2b2lk
IENocm9tZUNsaWVudEVmbDo6Zm9ybVN0YXRlRGlkQ2hhbmdlKGNvbnN0IE5vZGUqKQogewogICAg
IG5vdEltcGxlbWVudGVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBw
b3J0L0Nocm9tZUNsaWVudEVmbC5oCmluZGV4IDgyNTEyMjUxZjZhNDQwZWE1OTMzMDEzZTExOGRm
M2MwMDI0Yzc5ZjMuLmJmMjcxZjg5MTdjM2Q3NTEwNmE3NTJkNGQzY2I0YTBlZWIwMzNiMjcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVm
bC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVm
bC5oCkBAIC0xNDMsNiArMTQzLDkgQEAgcHVibGljOgogI2VuZGlmCiAKICAgICB2aXJ0dWFsIHZv
aWQgcnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4pOworI2lmIEVO
QUJMRShIVE1MX01FRElBX0NBUFRVUkUpCisgICAgdmlydHVhbCB2b2lkIHJ1bkNhcHR1cmVQYW5l
bChGcmFtZSosIFBhc3NSZWZQdHI8TWVkaWFDYXB0dXJlQ2hvb3Nlcj4pOworI2VuZGlmCiAgICAg
dmlydHVhbCB2b2lkIGxvYWRJY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mLCBGaWxl
SWNvbkxvYWRlciopOwogICAgIHZpcnR1YWwgdm9pZCBmb3JtU3RhdGVEaWRDaGFuZ2UoY29uc3Qg
Tm9kZSopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRHdGsuY3BwIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hy
b21lQ2xpZW50R3RrLmNwcAppbmRleCA4OTQyN2FlYjJmYzFlOTcyMzA3NWZhMTlmNjc3YWI3OWNj
NTY3MDMwLi5jZGIzY2E2MDQ5MjViODQzNmE5M2YxYzM0NDYxMmE0MWNmYWU2MGFmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5j
cHAKQEAgLTg0Myw2ICs4NDMsMTMgQEAgdm9pZCBDaHJvbWVDbGllbnQ6OnJ1bk9wZW5QYW5lbChG
cmFtZSosIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+IHBycEZpbGVDaG9vc2VyKQogICAgIGd0a193
aWRnZXRfZGVzdHJveShkaWFsb2cpOwogfQogCisjaWYgRU5BQkxFKEhUTUxfTUVESUFfQ0FQVFVS
RSkKK3ZvaWQgQ2hyb21lQ2xpZW50OjpydW5DYXB0dXJlUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRy
PE1lZGlhQ2FwdHVyZUNob29zZXI+KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisjZW5k
aWYKKwogdm9pZCBDaHJvbWVDbGllbnQ6OmxvYWRJY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFdU
Rjo6U3RyaW5nPiYgZmlsZW5hbWVzLCBXZWJDb3JlOjpGaWxlSWNvbkxvYWRlciogbG9hZGVyKQog
ewogICAgIGxvYWRlci0+bm90aWZ5RmluaXNoZWQoSWNvbjo6Y3JlYXRlSWNvbkZvckZpbGVzKGZp
bGVuYW1lcykpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50R3RrLmggYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRHdGsuaAppbmRleCA5ZDIxMDVkNmRmN2ZjNDBkYmU5NzBjNTFjMTg3MGY1ZDkxMDlm
YWQ5Li40Y2NjMzE0ZTg2YTU2OTE0YzFhOWY4ZTEzMDZmMTM3NGE2MmQ0MTdlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaApAQCAt
MTI5LDYgKzEyOSw5IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogICAgICAgICB2aXJ0dWFsIHZvaWQg
c2hvd0NvbnRleHRNZW51KCkgeyB9CiAjZW5kaWYKICAgICAgICAgdmlydHVhbCB2b2lkIHJ1bk9w
ZW5QYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+KTsKKyNpZiBFTkFCTEUoSFRN
TF9NRURJQV9DQVBUVVJFKQorICAgICAgICB2aXJ0dWFsIHZvaWQgcnVuQ2FwdHVyZVBhbmVsKEZy
YW1lKiwgUGFzc1JlZlB0cjxNZWRpYUNhcHR1cmVDaG9vc2VyPik7CisjZW5kaWYKICAgICAgICAg
dmlydHVhbCB2b2lkIGxvYWRJY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFdURjo6U3RyaW5nPiYs
IEZpbGVJY29uTG9hZGVyKik7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGZvcm1TdGF0ZURpZENo
YW5nZShjb25zdCBOb2RlKikgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDNlMjA5MDM1NWM5YTgw
YzE1ZjllM2VlMTVhNjY0OGQ4OWQ4NzIxYmMuLjVmNDBlZGFhZGQzNDBiMzRhODVlNTFlM2Q5YjZk
MTY5ZmQwMmQyMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC04Niw2ICs4Niw3IEBAIEVOQUJMRV9G
SUxFX1NZU1RFTSA9IDsKIEVOQUJMRV9GVUxMU0NSRUVOX0FQSSA9IEVOQUJMRV9GVUxMU0NSRUVO
X0FQSTsKIEVOQUJMRV9HQU1FUEFEID0gOwogRU5BQkxFX0dFT0xPQ0FUSU9OID0gRU5BQkxFX0dF
T0xPQ0FUSU9OOworRU5BQkxFX0hUTUxfTUVESUFfQ0FQVFVSRSA9IDsKIEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFID0gOwogRU5BQkxFX0lOUFVUX0NPTE9SID0gOwogRU5BQkxFX0lOUFVUX1NQRUVD
SCA9IDsKQEAgLTEyNiw0ICsxMjcsNCBAQCBFTkFCTEVfV0VCX1RJTUlORyA9IDsKIEVOQUJMRV9X
T1JLRVJTID0gRU5BQkxFX1dPUktFUlM7CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1G
RUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQU5JTUFUSU9OX0FQSSkgJChFTkFCTEVfQkxPQikgJChF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElP
TikgJChFTkFCTEVfQ1NTX0ZJTFRFUlMpICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFC
TEVfQ1NTX1NIQURFUlMpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRB
TElTVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMUykgJChF
TkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVO
QUJMRV9GSUxFX1NZU1RFTSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRlVMTFNDUkVFTl9B
UEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09O
REFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX0NPTE9S
KSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FM
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChF
TkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9TT1VS
Q0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX1RBRykgJChFTkFC
TEVfTVVUQVRJT05fT0JTRVJWRVJTKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
QUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QUk9HUkVTU19UQUcpICQoRU5BQkxFX1FVT1RB
KSAkKEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKSAkKEVOQUJMRV9SRVFVRVNUX0FO
SU1BVElPTl9GUkFNRSkgJChFTkFCTEVfU0hBRE9XX0RPTSkgJChFTkFCTEVfU0hBUkVEX1dPUktF
UlMpICQoRU5BQkxFX1NRTF9EQVRBQkFTRSkgJChFTkFCTEVfU1RZTEVfU0NPUEVEKSAkKEVOQUJM
RV9TVkcpICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRT
KSAkKEVOQUJMRV9URVhUX05PVElGSUNBVElPTlNfT05MWSkgJChFTkFCTEVfVE9VQ0hfSUNPTl9M
T0FESU5HKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1dF
QkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9X
RUJfVElNSU5HKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVG
SU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FO
VkFTKSAkKEVOQUJMRV9BTklNQVRJT05fQVBJKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DSEFO
TkVMX01FU1NBR0lORykgJChFTkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9DU1NfRklMVEVSUykgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfU0hB
REVSUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVO
QUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTKSAkKEVOQUJMRV9ERVZJ
Q0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0ZJTEVf
U1lTVEVNKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFC
TEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hUTUxfTUVESUFfQ0FQ
VFVSRSkgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAk
KEVOQUJMRV9JTlBVVF9DT0xPUikgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0pBVkFT
Q1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9NRVRFUl9UQUcpICQoRU5BQkxFX01VVEFUSU9OX09CU0VSVkVSUykgJChFTkFCTEVfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUFJPR1JFU1Nf
VEFHKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikg
JChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1NIQURPV19ET00pICQo
RU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TUUxfREFUQUJBU0UpICQoRU5BQkxFX1NU
WUxFX1NDT1BFRCkgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1Mp
ICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVYVF9OT1RJRklDQVRJT05TX09OTFkpICQo
RU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVP
X1RSQUNLKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJf
U09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVf
WFNMVCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5oCmluZGV4IDY2ZmEwNjBiNWE1M2RiYzJmMzhlZWE2ZjU0NTJkNzZkYTZiYjFmOTIu
Ljg0NmZkMDk4YWYyNWU3MDA3YTA5ZWE4MjUxODdmNjdmMzI2NjMyNWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0xMjEs
NiArMTIxLDkgQEAgcHVibGljOgogI2VuZGlmCiAKICAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBh
bmVsKFdlYkNvcmU6OkZyYW1lKiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpGaWxlQ2hvb3Nlcj4pIE9W
RVJSSURFOworI2lmIEVOQUJMRShIVE1MX01FRElBX0NBUFRVUkUpCisgICAgdmlydHVhbCB2b2lk
IHJ1bkNhcHR1cmVQYW5lbChXZWJDb3JlOjpGcmFtZSosIFBhc3NSZWZQdHI8V2ViQ29yZTo6TWVk
aWFDYXB0dXJlQ2hvb3Nlcj4pIE9WRVJSSURFOworI2VuZGlmCiAgICAgdmlydHVhbCB2b2lkIGxv
YWRJY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFdURjo6U3RyaW5nPiYsIFdlYkNvcmU6OkZpbGVJ
Y29uTG9hZGVyKikgT1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q3Vyc29yKGNvbnN0
IFdlYkNvcmU6OkN1cnNvciYpIE9WRVJSSURFOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdC9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCmluZGV4IDNiYWM4N2I5YzY4YzExZDk5
YWI4OTMwMDAyZDQ1MzZjZmU4YzA3M2IuLmQwZWIwYTQzNjczYmU1ZmE5YTljNmZiNTY3NjhjOWIw
N2E0Y2Q1ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQubW0KQEAgLTc0Niw2ICs3NDYsMTMgQEAgdm9pZCBXZWJDaHJvbWVDbGll
bnQ6OnJ1bk9wZW5QYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+IGNob29zZXIp
CiAgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKIH0KIAorI2lmIEVOQUJMRShIVE1MX01F
RElBX0NBUFRVUkUpCit2b2lkIFdlYkNocm9tZUNsaWVudDo6cnVuQ2FwdHVyZVBhbmVsKEZyYW1l
KiwgUGFzc1JlZlB0cjxNZWRpYUNhcHR1cmVDaG9vc2VyPikKK3sKKyAgICBub3RJbXBsZW1lbnRl
ZCgpOworfQorI2VuZGlmCisKIHZvaWQgV2ViQ2hyb21lQ2xpZW50Ojpsb2FkSWNvbkZvckZpbGVz
KGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBmaWxlbmFtZXMsIEZpbGVJY29uTG9hZGVyKiBpY29uTG9h
ZGVyKQogewogICAgIGljb25Mb2FkZXItPm5vdGlmeUZpbmlzaGVkKEljb246OmNyZWF0ZUljb25G
b3JGaWxlcyhmaWxlbmFtZXMpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRRdC5jcHAKaW5kZXggZjEyOWI1ODcxNjFlODY5ODYzNWVlNDYxZDU4
NTg3ODI1NmQ2YTYxYy4uZGUzMTNkZDUzYWVkZDVlNDdmNmNlODk3MDE1YTIxOTBmOWU1NmMyZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRR
dC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRR
dC5jcHAKQEAgLTU4OCw2ICs1ODgsMTMgQEAgdm9pZCBDaHJvbWVDbGllbnRRdDo6cnVuT3BlblBh
bmVsKEZyYW1lKiBmcmFtZSwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4gcHJwRmlsZUMKICAgICB9
CiB9CiAKKyNpZiBFTkFCTEUoSFRNTF9NRURJQV9DQVBUVVJFKQordm9pZCBDaHJvbWVDbGllbnRR
dDo6cnVuQ2FwdHVyZVBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxNZWRpYUNhcHR1cmVDaG9vc2Vy
PikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorI2VuZGlmCisKIHZvaWQgQ2hyb21lQ2xp
ZW50UXQ6OmxvYWRJY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mIGZpbGVuYW1lcywg
RmlsZUljb25Mb2FkZXIqIGxvYWRlcikKIHsKICAgICBsb2FkZXItPm5vdGlmeUZpbmlzaGVkKElj
b246OmNyZWF0ZUljb25Gb3JGaWxlcyhmaWxlbmFtZXMpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaCBiL1NvdXJjZS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaAppbmRleCAzZDQ1YjdiNTFhMmUzMjAw
NDRlNjQwMWY3MDhiYjJjMDhmMzc1NWM0Li5hZjI1YTU5NTYyYTRlZTEzODI3YWUwNmMwZjg2MmM5
ZWVjMjlkMzgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0No
cm9tZUNsaWVudFF0LmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRRdC5oCkBAIC0xNjcsNiArMTY3LDkgQEAgcHVibGljOgogICAgIEZ1bGxTY3JlZW5W
aWRlb1F0KiBmdWxsU2NyZWVuVmlkZW8oKTsKICNlbmRpZgogICAgICB2aXJ0dWFsIHZvaWQgcnVu
T3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4pOworI2lmIEVOQUJMRShI
VE1MX01FRElBX0NBUFRVUkUpCisgICAgIHZpcnR1YWwgdm9pZCBydW5DYXB0dXJlUGFuZWwoRnJh
bWUqLCBQYXNzUmVmUHRyPE1lZGlhQ2FwdHVyZUNob29zZXI+KTsKKyNlbmRpZgogICAgICB2aXJ0
dWFsIHZvaWQgbG9hZEljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYsIEZpbGVJY29u
TG9hZGVyKik7CiAKICAgICB2aXJ0dWFsIHZvaWQgZm9ybVN0YXRlRGlkQ2hhbmdlKGNvbnN0IE5v
ZGUqKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuY3BwCmluZGV4IGNjYTllYzBlNzc4ZThkZjE5ZDQzZGI2MmNiZjI2OWVjOTQ2
NzM5MzcuLjBkY2EwZDY2ZjE3N2Y5OTI5Zjc4OGZjMTgwNDNiNzA2MDA5MTEzYzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAK
KysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNw
cApAQCAtNzAxLDYgKzcwMSwxMyBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6cnVuT3BlblBhbmVs
KEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4gcHJwRmlsZUNob29zZQogICAgIC8vIEZJ
WE1FOiBTaG93IHNvbWUgc29ydCBvZiBlcnJvciBpZiB0b28gbWFueSBmaWxlcyBhcmUgc2VsZWN0
ZWQgYW5kIHRoZSBidWZmZXIgaXMgdG9vIHNtYWxsLiAgRm9yIG5vdywgdGhpcyB3aWxsIGZhaWwg
c2lsZW50bHkuCiB9CiAKKyNpZiBFTkFCTEUoSFRNTF9NRURJQV9DQVBUVVJFKQordm9pZCBXZWJD
aHJvbWVDbGllbnQ6OnJ1bkNhcHR1cmVQYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8TWVkaWFDYXB0
dXJlQ2hvb3Nlcj4pCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKyNlbmRpZgorCiB2b2lk
IFdlYkNocm9tZUNsaWVudDo6bG9hZEljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8V1RGOjpTdHJp
bmc+JiBmaWxlbmFtZXMsIFdlYkNvcmU6OkZpbGVJY29uTG9hZGVyKiBsb2FkZXIpCiB7CiAgICAg
bG9hZGVyLT5ub3RpZnlGaW5pc2hlZChJY29uOjpjcmVhdGVJY29uRm9yRmlsZXMoZmlsZW5hbWVz
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5oCmluZGV4IDJhOWE4ZmU3ZjNkNGY0NTNmZTRhYjFmMGVkY2I5ZGQzOWZhYWJjOWIuLjg5
YzI3NDkwMzIyNDRkNWU4MDgxN2E1Y2Y3MTM3YTZlMjMzZmFjYTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0xMjcsNiAr
MTI3LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBwb3B1bGF0ZVZpc2l0ZWRMaW5rcygp
OwogCiAgICAgdmlydHVhbCB2b2lkIHJ1bk9wZW5QYW5lbChXZWJDb3JlOjpGcmFtZSosIFBhc3NS
ZWZQdHI8V2ViQ29yZTo6RmlsZUNob29zZXI+KTsKKyNpZiBFTkFCTEUoSFRNTF9NRURJQV9DQVBU
VVJFKQorICAgIHZpcnR1YWwgdm9pZCBydW5DYXB0dXJlUGFuZWwoV2ViQ29yZTo6RnJhbWUqLCBQ
YXNzUmVmUHRyPFdlYkNvcmU6Ok1lZGlhQ2FwdHVyZUNob29zZXI+KTsKKyNlbmRpZgogICAgIHZp
cnR1YWwgdm9pZCBsb2FkSWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxXVEY6OlN0cmluZz4mLCBX
ZWJDb3JlOjpGaWxlSWNvbkxvYWRlciopOwogCiAgICAgdmlydHVhbCB2b2lkIHNldEN1cnNvcihj
b25zdCBXZWJDb3JlOjpDdXJzb3ImKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luY2Uv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuY3BwIGIvU291cmNlL1dlYktpdC93aW5j
ZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5jcHAKaW5kZXggNmEwZTI1YTRkODAz
ZWU4YjQ5MzAwNzBiYTljMWFmMGFiYTJlZDkyNC4uMDY2NjBjOTBkYTMzOThjM2QxZjY0YWE5MGQ5
MGY1N2RhOTU3ZDg5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRXaW5DRS5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW5jZS9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5jcHAKQEAgLTM0NCw2ICszNDQsMTMgQEAgdm9p
ZCBDaHJvbWVDbGllbnRXaW5DRTo6cnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxl
Q2hvb3Nlcj4gcHJwRmlsZUNob28KICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCisjaWYgRU5B
QkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkKK3ZvaWQgQ2hyb21lQ2xpZW50V2luQ0U6OnJ1bkNhcHR1
cmVQYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8TWVkaWFDYXB0dXJlQ2hvb3Nlcj4pCit7CisgICAg
bm90SW1wbGVtZW50ZWQoKTsKK30KKyNlbmRpZgorCiB2b2lkIENocm9tZUNsaWVudFdpbkNFOjps
b2FkSWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBmaWxlbmFtZXMsIEZpbGVJY29u
TG9hZGVyKiBsb2FkZXIpCiB7CiAgICAgbG9hZGVyLT5ub3RpZnlGaW5pc2hlZChJY29uOjpjcmVh
dGVJY29uRm9yRmlsZXMoZmlsZW5hbWVzKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dp
bmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmggYi9Tb3VyY2UvV2ViS2l0L3dp
bmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmgKaW5kZXggNjEzNzgzYTAzM2U1
OWFjYTkxZDk4NDUzNjAwMDY0OTA1YzIwNjIxMy4uYzM4MjgwMDlmOGNjNDczZDQ4NzBkMmFlMzVi
ZGNlYTdlOTQwMTM1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaApAQCAtMTQ1LDYgKzE0NSw5IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdEZvckZy
YW1lKFdlYkNvcmU6OkZyYW1lKiwgV2ViQ29yZTo6R2VvbG9jYXRpb24qKTsKIAogICAgIHZpcnR1
YWwgdm9pZCBydW5PcGVuUGFuZWwoV2ViQ29yZTo6RnJhbWUqLCBQYXNzUmVmUHRyPFdlYkNvcmU6
OkZpbGVDaG9vc2VyPik7CisjaWYgRU5BQkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkKKyAgICB2aXJ0
dWFsIHZvaWQgcnVuQ2FwdHVyZVBhbmVsKFdlYkNvcmU6OkZyYW1lKiwgUGFzc1JlZlB0cjxXZWJD
b3JlOjpNZWRpYUNhcHR1cmVDaG9vc2VyPik7CisjZW5kaWYKICAgICAvLyBBc3luY2hyb25vdXMg
cmVxdWVzdCB0byBsb2FkIGFuIGljb24gZm9yIHNwZWNpZmllZCBmaWxlbmFtZXMuCiAgICAgdmly
dHVhbCB2b2lkIGxvYWRJY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFdURjo6U3RyaW5nPiYsIFdl
YkNvcmU6OkZpbGVJY29uTG9hZGVyKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd3gv
V2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3d4L1dlYktp
dFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guY3BwCmluZGV4IGJjOTg3MjQxNGQ0MzEzYmFjNDNkZmRj
MDk1YzdiZmU5MTc5NmEzZGIuLjk4YzU4NTc4NzA4NDJkYmM0MTBiOGEwYjA4NDczOGJhNzU1Yzhj
YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGll
bnRXeC5jcHAKKysrIGIvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVu
dFd4LmNwcApAQCAtNDU0LDYgKzQ1NCwxMyBAQCB2b2lkIENocm9tZUNsaWVudFd4OjpydW5PcGVu
UGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPikKICAgICBub3RJbXBsZW1lbnRl
ZCgpOwogfQogCisjaWYgRU5BQkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkKK3ZvaWQgQ2hyb21lQ2xp
ZW50V3g6OnJ1bkNhcHR1cmVQYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8TWVkaWFDYXB0dXJlQ2hv
b3Nlcj4pCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKyNlbmRpZgorCiB2b2lkIENocm9t
ZUNsaWVudFd4Ojpsb2FkSWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBmaWxlbmFt
ZXMsIEZpbGVJY29uTG9hZGVyKiBsb2FkZXIpCiB7CiAgICAgbG9hZGVyLT5ub3RpZnlGaW5pc2hl
ZChJY29uOjpjcmVhdGVJY29uRm9yRmlsZXMoZmlsZW5hbWVzKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaCBiL1NvdXJjZS9XZWJL
aXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oCmluZGV4IDJiNmNkZWY2MTJjYWZj
ZDRmMjUwMTM0NTE2OGRhM2NlNzA1ODg1NjkuLjZlNmJkMTQwZjFjOWMwYzE0YmM2ODcxNTU1MWM1
MDcxOTZlNzhmOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9D
aHJvbWVDbGllbnRXeC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJv
bWVDbGllbnRXeC5oCkBAIC0xMzIsNiArMTMyLDkgQEAgcHVibGljOgogI2VuZGlmCiAKICAgICB2
aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4p
OworI2lmIEVOQUJMRShIVE1MX01FRElBX0NBUFRVUkUpCisgICAgdmlydHVhbCB2b2lkIHJ1bkNh
cHR1cmVQYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8TWVkaWFDYXB0dXJlQ2hvb3Nlcj4pOworI2Vu
ZGlmCiAgICAgdmlydHVhbCB2b2lkIGxvYWRJY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0cmlu
Zz4mLCBGaWxlSWNvbkxvYWRlciopOwogCiAgICAgdmlydHVhbCB2b2lkIGZvcm1TdGF0ZURpZENo
YW5nZShjb25zdCBOb2RlKikgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0Vm
bC5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCmluZGV4IDdkZjQ0NDI5ODgy
MGNiMzRmN2VhYjI4MGVhY2Q2YzYxNTI3ZDAzZmMuLjIzZjMwMDI2OWRjYTgzZWM0MTdiZmM4MDhm
ZGU2OWNmNjAwZmJiMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtl
CisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCkBAIC03NSw2ICs3NSw3IEBAIFdF
QktJVF9GRUFUVVJFKEVOQUJMRV9GSUxURVJTICJFbmFibGUgU1ZHIGZpbHRlcnMiIERFRkFVTFQg
T04pCiBXRUJLSVRfRkVBVFVSRShFTkFCTEVfRlRQRElSICJFbmFibGUgRlRQIGRpcmVjdG9yeSBz
dXBwb3J0IiBERUZBVUxUIE9OKQogV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
ICJFbmFibGUgRnVsbHNjcmVlbiBBUEkgc3VwcG9ydCIgREVGQVVMVCBPRkYpCiBXRUJLSVRfRkVB
VFVSRShFTkFCTEVfR0VPTE9DQVRJT04gIkVuYWJsZSBnZW9sb2NhdGlvbiIgREVGQVVMVCBPRkYp
CitXRUJLSVRfRkVBVFVSRShFTkFCTEVfSFRNTF9NRURJQV9DQVBUVVJFICJFbmFibGUgSFRNTCBN
ZWRpYSBDYXB0dXJlIiBERUZBVUxUIE9OKQogV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX0lDT05EQVRB
QkFTRSAiRW5hYmxlIGljb24gZGF0YWJhc2UiIERFRkFVTFQgT04pCiBXRUJLSVRfRkVBVFVSRShF
TkFCTEVfSU5TUEVDVE9SICJFbmFibGUgaW5zcGVjdG9yIiBERUZBVUxUIE9OKQogV0VCS0lUX0ZF
QVRVUkUoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIgIkVuYWJsZSBKYXZhU2NyaXB0IGRlYnVn
Z2VyIiBERUZBVUxUIE9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2Ug
Yi9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQppbmRleCA2ZDNmODM3OTQ3MjkzYzFkMjUzMGRk
YjQxODg4ZTk0ZDY1ZTFiNGI4Li4zN2JkNTQ0NDU0MGFjNTQzMGU3MDM0ZGI3MjVjOWNhMGYyZTg4
OWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQorKysgYi9Tb3VyY2Uv
Y21ha2Vjb25maWcuaC5jbWFrZQpAQCAtMTksNiArMTksNyBAQAogI2NtYWtlZGVmaW5lMDEgRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfR0VPTE9DQVRJT04KICNj
bWFrZWRlZmluZTAxIEVOQUJMRV9HTElCX1NVUFBPUlQKKyNjbWFrZWRlZmluZTAxIEVOQUJMRV9I
VE1MX01FRElBX0NBUFRVUkUKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9JQ09OREFUQUJBU0UKICNj
bWFrZWRlZmluZTAxIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFCiAjY21ha2VkZWZpbmUwMSBFTkFC
TEVfSU5TUEVDVE9SCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VM
b2cKaW5kZXggZWExZDA3NGQ0MTBmNWEzMmRlMmJlNzU2NGNlZGFhNTk1NjEyYThmMy4uODdhM2Zh
MThlNDJlNGQ4ODMzYzU5YTViNzM5ZDZiMmFiZTdhYWQwOSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTAyLTE2
ICBKb25nc2VvayBZYW5nICA8anM0NS55YW5nQHNhbXN1bmcuY29tPgorCisgICAgICAgIEltcGxl
bWVudCB0aGUgaW50ZXJmYWNlIGZvciBtZWRpYSBjYXB0dXJlIHBhbmVsIHRvIHN1cHBvcnQgSFRN
TCBNZWRpYSBDYXB0dXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02MzA2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBvcHRpb24gZm9yIEhUTUwgTWVkaWEgQ2FwdHVyZS4KKworICAgICAgICAqIFNj
cmlwdHMvYnVpbGQtd2Via2l0OgorICAgICAgICAqIHFtYWtlL21rc3BlY3MvZmVhdHVyZXMvZmVh
dHVyZXMucHJmOgorCiAyMDEyLTAyLTE2ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFA
aWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBNYWtlIGluc3RhbGwgaXMgYnJva2VuIHdoZW4g
YnVpbGRpbmcgd2l0aG91dCAtLWVuYWJsZS1ndGstZG9jCmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL2J1aWxkLXdlYmtpdCBiL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0CmluZGV4IGNkZjYy
YTA3YWRkNzhlNDU3MTEyZWI3NDU3M2M1YTBhNjAyOGYwYzEuLjkxMDhiM2Y0YjMyODg2MzViN2Nj
M2Q3MDEyMTNjZWU0ODU5NTdjNGEgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Vi
a2l0CisrKyBiL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0CkBAIC05MCw2ICs5MCw3IEBAIG15
ICgKICAgICAkZnVsbHNjcmVlbkFQSVN1cHBvcnQsCiAgICAgJGdhbWVwYWRTdXBwb3J0LAogICAg
ICRnZW9sb2NhdGlvblN1cHBvcnQsCisgICAgJGh0bWxNZWRpYUNhcHR1cmVTdXBwb3J0LAogICAg
ICRpY29uRGF0YWJhc2VTdXBwb3J0LAogICAgICRpbWFnZVJlc2l6ZXJTdXBwb3J0LAogICAgICRp
bmRleGVkRGF0YWJhc2VTdXBwb3J0LApAQCAtMjE1LDYgKzIxNiw5IEBAIG15IEBmZWF0dXJlcyA9
ICgKICAgICB7IG9wdGlvbiA9PiAiZ2VvbG9jYXRpb24iLCBkZXNjID0+ICJUb2dnbGUgR2VvbG9j
YXRpb24gc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9HRU9MT0NBVElPTiIsIGRl
ZmF1bHQgPT4gKGlzQXBwbGVXZWJLaXQoKSB8fCBpc0d0aygpIHx8IGlzQmxhY2tCZXJyeSgpKSwg
dmFsdWUgPT4gXCRnZW9sb2NhdGlvblN1cHBvcnQgfSwKIAorICAgIHsgb3B0aW9uID0+ICJodG1s
LW1lZGlhLWNhcHR1cmUiLCBkZXNjID0+ICJUb2dnbGUgSFRNTCBNZWRpYSBDYXB0dXJlIHN1cHBv
cnQiLAorICAgICAgZGVmaW5lID0+ICJFTkFCTEVfSFRNTF9NRURJQV9DQVBUVVJFIiwgZGVmYXVs
dCA9PiBpc0VmbCgpLCB2YWx1ZSA9PiBcJGh0bWxNZWRpYUNhcHR1cmVTdXBwb3J0IH0sCisKICAg
ICB7IG9wdGlvbiA9PiAiaWNvbi1kYXRhYmFzZSIsIGRlc2MgPT4gIlRvZ2dsZSBJY29uIGRhdGFi
YXNlIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfSUNPTkRBVEFCQVNFIiwgZGVm
YXVsdCA9PiAxLCB2YWx1ZSA9PiBcJGljb25EYXRhYmFzZVN1cHBvcnQgfSwKIApkaWZmIC0tZ2l0
IGEvVG9vbHMvcW1ha2UvbWtzcGVjcy9mZWF0dXJlcy9mZWF0dXJlcy5wcmYgYi9Ub29scy9xbWFr
ZS9ta3NwZWNzL2ZlYXR1cmVzL2ZlYXR1cmVzLnByZgppbmRleCBlYTczMWU0OGU2MTk2NGZjOGJk
MDUwNzdhNzRjNDJkNmJmYjRmZjdjLi41ODRkYWJiY2I4ZTg1MDVjNTNlNzIyOTJlM2Y0NDkyNGVi
MmUxYTcxIDEwMDY0NAotLS0gYS9Ub29scy9xbWFrZS9ta3NwZWNzL2ZlYXR1cmVzL2ZlYXR1cmVz
LnByZgorKysgYi9Ub29scy9xbWFrZS9ta3NwZWNzL2ZlYXR1cmVzL2ZlYXR1cmVzLnByZgpAQCAt
ODUsNiArODUsNyBAQCBoYXZlUXQoNCk6dW5peDohbWFjOiFlbWJlZGRlZCB7CiAhY29udGFpbnMo
REVGSU5FUywgRU5BQkxFX01FRElBX1NUUkVBTT0uKTogREVGSU5FUyArPSBFTkFCTEVfTUVESUFf
U1RSRUFNPTAKICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVfVklERU9fVFJBQ0s9Lik6IERFRklO
RVMgKz0gRU5BQkxFX1ZJREVPX1RSQUNLPTAKICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVfVE9V
Q0hfSUNPTl9MT0FESU5HPS4pOiBERUZJTkVTICs9IEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkc9
MAorIWNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9IVE1MX01FRElBX0NBUFRVUkU9Lik6IERFRklO
RVMgKz0gRU5BQkxFX0hUTUxfTUVESUFfQ0FQVFVSRT0wCiAhY29udGFpbnMoREVGSU5FUywgRU5B
QkxFX0FOSU1BVElPTl9BUEk9Lik6IERFRklORVMgKz0gRU5BQkxFX0FOSU1BVElPTl9BUEk9MAog
CiAjIEVuYWJsZWQgaW4gU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oIGlmIG5v
dCBzZXQKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBjZDUxYTM5YTA2
MTM1NWM3ZmY2ZDAxZDVkOWJmMWZiNjkzZDc1ZDg3Li4zYWRhNGFhMGY2MzZlYjZhODQ2MzQwYzBk
NDY3OTM0NDQxYjc0NzJhIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTItMDItMTYgIEpvbmdzZW9rIFlhbmcgIDxqczQ1LnlhbmdAc2Ft
c3VuZy5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IHRoZSBpbnRlcmZhY2UgZm9yIG1lZGlhIGNh
cHR1cmUgcGFuZWwgdG8gc3VwcG9ydCBIVE1MIE1lZGlhIENhcHR1cmUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYzMDYyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG9wdGlvbiBmb3IgSFRNTCBNZWRp
YSBDYXB0dXJlLgorCisgICAgICAgICogU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2U6Cisg
ICAgICAgICogU291cmNlL2NtYWtlY29uZmlnLmguY21ha2U6CisgICAgICAgICogY29uZmlndXJl
LmFjOgorCiAyMDEyLTAyLTE2ICBTaW1vbiBIYXVzbWFubiAgPHNpbW9uLmhhdXNtYW5uQG5va2lh
LmNvbT4KIAogICAgICAgICBbUXRdIE1vdmUgZXZlbnQgY29udmVyc2lvbiBmdW5jdGlvbnMgZnJv
bSBXZWJDb3JlIHRvIFdlYktpdApkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJl
LmFjCmluZGV4IGJmODEyOTVhMmZlNjA4MzJjYjAyNDRmMTJhNjk2MTEzYzVkY2I2NjMuLjNkYzQ3
MzZiNDg3ZDg1MDNiZjY2NzcxMzU0YzEyMTM2MGY2MDYyZDIgMTAwNjQ0Ci0tLSBhL2NvbmZpZ3Vy
ZS5hYworKysgYi9jb25maWd1cmUuYWMKQEAgLTEwNjMsNiArMTA2MywxNCBAQCBBQ19BUkdfRU5B
QkxFKGRldmljZV9vcmllbnRhdGlvbiwKICAgICAgICAgICAgICAgW10sW2VuYWJsZV9kZXZpY2Vf
b3JpZW50YXRpb249Im5vIl0pCiBBQ19NU0dfUkVTVUxUKFskZW5hYmxlX2RldmljZV9vcmllbnRh
dGlvbl0pCiAKKyMgY2hlY2sgd2hldGhlciB0byBlbmFibGUgSFRNTCBNZWRpYSBDYXB0dXJlCitB
Q19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgdG8gZW5hYmxlIEhUTUwgTWVkaWEgQ2FwdHVyZV0pCitB
Q19BUkdfRU5BQkxFKGh0bWxfbWVkaWFfY2FwdHVyZSwKKyAgICAgICAgICAgICAgQUNfSEVMUF9T
VFJJTkcoWy0tZW5hYmxlLWh0bWwtbWVkaWEtY2FwdHVyZV0sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFtlbmFibGUgc3VwcG9ydCBmb3IgSFRNTCBNZWRpYSBDYXB0dXJlIFtkZWZhdWx0
PW5vXV0pLAorICAgICAgICAgICAgICBbXSwgW2VuYWJsZV9odG1sX21lZGlhX2NhcHR1cmU9Im5v
Il0pCitBQ19NU0dfUkVTVUxUKFskZW5hYmxlX2h0bWxfbWVkaWFfY2FwdHVyZV0pCisKIEdfSVJf
U0NBTk5FUj0KIEdfSVJfQ09NUElMRVI9CiBHX0lSX0dFTkVSQVRFPQpAQCAtMTM0MSw2ICsxMzQ5
LDcgQEAgQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9JTlBVVF9TUEVFQ0hdLFt0ZXN0ICIkZW5hYmxl
X2lucHV0X3NwZWVjaCIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX1hTTFRdLFt0
ZXN0ICIkZW5hYmxlX3hzbHQiID0gInllcyJdKQogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9GSUxU
RVJTXSxbdGVzdCAiJGVuYWJsZV9maWx0ZXJzIiA9ICJ5ZXMiXSkKIEFNX0NPTkRJVElPTkFMKFtF
TkFCTEVfR0VPTE9DQVRJT05dLCBbdGVzdCAiJGVuYWJsZV9nZW9sb2NhdGlvbiIgPSAieWVzIl0p
CitBTV9DT05ESVRJT05BTChbRU5BQkxFX0hUTUxfTUVESUFfQ0FQVFVSRV0sIFt0ZXN0ICIkZW5h
YmxlX2h0bWxfbWVkaWFfY2FwdHVyZSIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxF
X01BVEhNTF0sIFt0ZXN0ICIkZW5hYmxlX21hdGhtbCIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05B
TChbRU5BQkxFX01IVE1MXSwgW3Rlc3QgIiRlbmFibGVfbWh0bWwiID0gInllcyJdKQogQU1fQ09O
RElUSU9OQUwoW0VOQUJMRV9WSURFT10sW3Rlc3QgIiRlbmFibGVfdmlkZW8iID0gInllcyJdKQpA
QCAtMTQzNiw2ICsxNDQ1LDcgQEAgRmVhdHVyZXM6CiAgTWVkaWEgc291cmNlICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlX21lZGlhX3NvdXJjZQog
IE1lZGlhIHN0YXRpc3RpY3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDogJGVuYWJsZV9tZWRpYV9zdGF0aXN0aWNzCiAgTUhUTUwgc3VwcG9ydCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlX21odG1sCisgSFRNTCBNZWRp
YSBDYXB0dXJlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxl
X2h0bWxfbWVkaWFfY2FwdHVyZQogIEhUTUw1IGNoYW5uZWwgbWVzc2FnaW5nIHN1cHBvcnQgICAg
ICAgICAgICAgICAgICAgICAgICAgIDogJGVuYWJsZV9jaGFubmVsX21lc3NhZ2luZwogIEhUTUw1
IG1ldGVyIGVsZW1lbnQgc3VwcG9ydCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGVu
YWJsZV9tZXRlcl90YWcKICBIVE1MNSBtaWNyb2RhdGEgc3VwcG9ydCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA6ICRlbmFibGVfbWljcm9kYXRhCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127914</attachid>
            <date>2012-02-20 21:35:32 -0800</date>
            <delta_ts>2012-02-27 05:30:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-63062-20120221143525.patch</filename>
            <type>text/plain</type>
            <size>59354</size>
            <attacher name="Jongseok Yang">js45.yang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4MDQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
ZGYwZjNlNWIzMTg0ZmYyYmE4OGRlNGFiYjNlNDZkNDkyYjZhYTkyLi5hNTdkZGE5MjZkNDdmZTEw
MjRmOWEzNjUxN2M5OWEzMGY5MjJhNzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAxMi0wMi0xNiAgSm9uZ3Nlb2sgWWFuZyAgPGpzNDUueWFuZ0BzYW1zdW5n
LmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgdGhlIGludGVyZmFjZSBmb3IgbWVkaWEgY2FwdHVy
ZSBwYW5lbCB0byBzdXBwb3J0IEhUTUwgTWVkaWEgQ2FwdHVyZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMwNjIKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgb3B0aW9uIGZvciBIVE1MIE1lZGlhIENh
cHR1cmUuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAxMi0wMi0xNiAgWXVxaWFuZyBYaWFuICA8eXVxaWFuZy54aWFuQGludGVsLmNvbT4K
IAogICAgICAgICBBZGQgSlNDIGNvZGUgcHJvZmlsaW5nIHN1cHBvcnQgb24gTGludXggeDg2CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggM2RkYjBiMTRjMmVkMjVkOGU3OTYwNzMyOTkwNDMxYzk2ZDljMjJjMS4uNmYy
N2EzMTM5NThmMThlNGJhNGIxMjBiY2NkZDIwZjc4NjY0ZGJlNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDc2IEBACisyMDEyLTAyLTE2ICBKb25nc2VvayBZYW5nICA8anM0NS55YW5nQHNhbXN1bmcu
Y29tPgorCisgICAgICAgIEltcGxlbWVudCB0aGUgaW50ZXJmYWNlIGZvciBtZWRpYSBjYXB0dXJl
IHBhbmVsIHRvIHN1cHBvcnQgSFRNTCBNZWRpYSBDYXB0dXJlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MzA2MgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCAiY2FwdHVyZSIgYXR0cmlidXRlIGZvciBI
VE1MIE1lZGlhIENhcHR1cmUuCisKKyAgICAgICAgSW1wbGVtZW50IHRoZSBpbnRlcmZhY2UgInJ1
bkNhcHR1cmVQYW5lbCgpIiB0byBydW4gdGhlIHNwZWNpZmljIHBpY2tlciBmb3IgY2FtZXJhLCBj
YW1jb3JkZXIKKyAgICAgICAgYW5kIG1pY3JvcGhvbmUuIEVhY2ggcGxhdGZvcm0gY2FuIHJ1biB0
aGUgY2FwdHVyZSBwYW5lbCBpbXBsZW1lbnRpbmcgcnVuQ2FwdHVyZVBhbmVsKCkgaW4KKyAgICAg
ICAgQ2hyb21lQ2xpZW50LgorCisgICAgICAgIEltcGxlbWVudCBNZWRpYUNhcHR1cmVDaG9vc2Vy
IHRoYXQgaW5oZXJpdHMgZnJvbSBGaWxlQ2hvb3Nlci4gSXQgaXMgdXNlZCBmb3IgbWVkaWEgY2Fw
dHVyZQorICAgICAgICBpbnRlcmZhY2UgInJ1bkNhcHR1cmVQYW5lbCgpIi4gIEVhY2ggcGxhdGZv
cm0gd2lsbCBkZWNpZGUgd2hhdCB0byBsYXVuY2ggYnkgZGVmYXVsdCB1c2luZyAKKyAgICAgICAg
ImNhcHR1cmVUeXBlKCkiIGluIE1lZGlhQ2FwdHVyZUNob29zZXIgY2xhc3MuCisKKyAgICAgICAg
RmlsZUNob29zZXJDbGllbnQ6OmRldGVybWluZUNhcHR1cmVUeXBlIGlzIHVzZWQgdG8gZGVmaW5l
IHRoZSBvcGVyYXRpb24gZm9yIHRoZSBpbnRlcmFjdGlvbnMKKyAgICAgICAgYmV0d2VlbiB0aGUg
Y2FwdHVyZSBhdHRyaWJ1dGUgYW5kIHRoZSBhY2NlcHQgYXR0cmlidXRlLgorCisgICAgICAgIE5v
IG5ldyB0ZXN0cyBiZWNhdXNlIGl0IGlzIGV4cGVjdGVkIGp1c3QgdG8gbGF1bmNoIHRoZSBzcGVj
aWZpYyBjYXB0dXJlIHBhbmVsIGFuZCBvdGhlciBiZWhhdmlvciBmb3IgaW5wdXQgZWxlbWVudCBp
cyB1bmNoYW5nZWQuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZzoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBodG1sL0ZpbGVJ
bnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RmlsZUlucHV0VHlwZTo6aGFuZGxlRE9N
QWN0aXZhdGVFdmVudCk6CisgICAgICAgICogaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW46Cisg
ICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6Y2FwdHVyZSk6CisgICAgICAgICog
aHRtbC9IVE1MSW5wdXRFbGVtZW50Lmg6CisgICAgICAgIChIVE1MSW5wdXRFbGVtZW50KToKKyAg
ICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsOgorICAgICAgICAqIGxvYWRlci9FbXB0
eUNsaWVudHMuaDoKKyAgICAgICAgKEVtcHR5Q2hyb21lQ2xpZW50KToKKyAgICAgICAgKFdlYkNv
cmU6OkVtcHR5Q2hyb21lQ2xpZW50OjpydW5DYXB0dXJlUGFuZWwpOgorICAgICAgICAqIHBhZ2Uv
Q2hyb21lLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21l
OjpydW5DYXB0dXJlUGFuZWwpOgorICAgICAgICAqIHBhZ2UvQ2hyb21lLmg6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKENocm9tZSk6CisgICAgICAgICogcGFnZS9DaHJvbWVDbGllbnQu
aDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoQ2hyb21lQ2xpZW50KToKKyAgICAgICAg
KiBwbGF0Zm9ybS9GaWxlQ2hvb3Nlci5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OkZpbGVDaG9vc2VyQ2xpZW50OjpuZXdNZWRpYUNhcHR1cmVDaG9vc2VyKToKKyAg
ICAgICAgKFdlYkNvcmU6OkZpbGVDaG9vc2VyQ2xpZW50OjpkZXRlcm1pbmVDYXB0dXJlVHlwZSk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNhcHR1cmVDaG9vc2VyOjpjcmVhdGUpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFDYXB0dXJlQ2hvb3Nlcjo6fk1lZGlhQ2FwdHVyZUNob29zZXIpOgor
ICAgICAgICAoTWVkaWFDYXB0dXJlTmFtZXMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDYXB0
dXJlTmFtZXM6OmNhbWVyYSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNhcHR1cmVOYW1lczo6
Y2FtY29yZGVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ2FwdHVyZU5hbWVzOjptaWNyb3Bo
b25lKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ2FwdHVyZU5hbWVzOjpmaWxlc3lzdGVtKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9GaWxlQ2hvb3Nlci5oOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChGaWxlQ2hvb3NlckNsaWVudCk6CisgICAgICAgIChGaWxlQ2hvb3Nlcik6CisgICAg
ICAgIChXZWJDb3JlOjpGaWxlQ2hvb3Nlcjo6RmlsZUNob29zZXIpOgorICAgICAgICAoTWVkaWFD
YXB0dXJlQ2hvb3Nlcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNhcHR1cmVDaG9vc2VyOjpj
YXB0dXJlVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNhcHR1cmVDaG9vc2VyOjpNZWRp
YUNhcHR1cmVDaG9vc2VyKToKKyAgICAgICAgKE1lZGlhQ2FwdHVyZU5hbWVzKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmluaXRp
YWxpemVTdXBwb3J0ZWRJbWFnZU1JTUVUeXBlcyk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFdlYkNvcmU6OmluaXRpYWxpemVTdXBwb3J0ZWRDYXB0dXJlTUlNRVR5cGVzKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkQ2FwdHVyZU1JTUVUeXBl
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5Lmg6CisgICAgICAgIChNSU1F
VHlwZVJlZ2lzdHJ5KToKKwogMjAxMi0wMi0xNiAgQ3JpcyBOZWNrYXIgIDxjZG5AY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIENvcnJlY3QgYSBtaXNsZWFkaW5nIGNvbW1lbnQgcmVnYXJkaW5nIHN0
cmluZyBkZWxpbWl0ZXJzIGluIENTUyBwYXJzaW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpp
bmRleCAwMzZhMmJiZjkyZDQ5N2EzYzIyZjBjNWJlODU5NDUwZTE5YWViNzIyLi5kZDY3Yzg0Mzkw
MzA3Y2Y4YzdmNzM5N2NmMjk4MzNhNjYyYTMzOTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAyLTE2ICBKb25nc2VvayBZYW5nICA8anM0NS55YW5n
QHNhbXN1bmcuY29tPgorCisgICAgICAgIEltcGxlbWVudCB0aGUgaW50ZXJmYWNlIGZvciBtZWRp
YSBjYXB0dXJlIHBhbmVsIHRvIHN1cHBvcnQgSFRNTCBNZWRpYSBDYXB0dXJlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MzA2MgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBydW5DYXB0dXJlUGFuZWwo
KSB0byBydW4gdGhlIGNhcHR1cmUgcGFuZWwgZm9yIEhUTUwgTWVkaWEgQ2FwdHVyZS4KKworICAg
ICAgICAqIHNyYy9DaHJvbWVDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdCk6CisgICAg
ICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudEltcGw6OnJ1bkNhcHR1cmVQYW5lbCk6CisgICAgICAg
ICogc3JjL0Nocm9tZUNsaWVudEltcGwuaDoKKyAgICAgICAgKENocm9tZUNsaWVudEltcGwpOgor
CiAyMDEyLTAyLTE2ICBBbGV4YW5kcmUgRWxpYXMgIDxhZWxpYXNAZ29vZ2xlLmNvbT4KIAogICAg
ICAgICBbY2hyb21pdW1dIEJ1bmRsZSBwYWdlIHNjYWxlIGZhY3RvciBhbmQgbGltaXRzIGluIEND
TGF5ZXJUcmVlSG9zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCmluZGV4IGU1NzhkM2IwM2Y3MzkwMDc0ZDBhNGNj
NGEyMjliNWY1ZjhiOTJmZDYuLjExY2NhMTAyMjc4MDgxZjdjMjhjNmZmMjIyOTc0NjdiNWQ1NGFi
NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMi0wMi0xNiAgSm9uZ3Nl
b2sgWWFuZyAgPGpzNDUueWFuZ0BzYW1zdW5nLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgdGhl
IGludGVyZmFjZSBmb3IgbWVkaWEgY2FwdHVyZSBwYW5lbCB0byBzdXBwb3J0IEhUTUwgTWVkaWEg
Q2FwdHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NjMwNjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgcnVuQ2FwdHVyZVBhbmVsKCkgdG8gcnVuIHRoZSBjYXB0dXJlIHBhbmVsIGZvciBIVE1MIE1l
ZGlhIENhcHR1cmUuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwu
Y3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRF
Zmw6OnJ1bkNhcHR1cmVQYW5lbCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50RWZsLmg6CisgICAgICAgIChDaHJvbWVDbGllbnRFZmwpOgorCiAyMDEyLTAxLTMxICBSYXBo
YWVsIEt1Ym8gZGEgQ29zdGEgIDxrdWJvQHByb2Z1c2lvbi5tb2JpPgogCiAgICAgICAgIFtzb3Vw
XSBBZGQgc3VwcG9ydCBmb3IgbXVsdGlwbGUgU291cFNlc3Npb25zLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmlu
ZGV4IGMyOWJkYzZhYTQ0Yjk3ZWYyNDkxNDFjOGM4ZjQ3OGIwM2UyOWZlNTYuLjIxODg2NmVlNmEy
YmU0NjVhNzA5YmM1NDAzN2EzMDgxZGE4YjJmODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Z3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxOCBAQAorMjAxMi0wMi0xNiAgSm9uZ3Nlb2sgWWFuZyAgPGpzNDUueWFuZ0BzYW1zdW5nLmNv
bT4KKworICAgICAgICBJbXBsZW1lbnQgdGhlIGludGVyZmFjZSBmb3IgbWVkaWEgY2FwdHVyZSBw
YW5lbCB0byBzdXBwb3J0IEhUTUwgTWVkaWEgQ2FwdHVyZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMwNjIKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgcnVuQ2FwdHVyZVBhbmVsKCkgdG8gcnVuIHRo
ZSBjYXB0dXJlIHBhbmVsIGZvciBIVE1MIE1lZGlhIENhcHR1cmUuCisKKyAgICAgICAgKiBXZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwOgorICAgICAgICAoV2ViS2l0KToKKyAgICAg
ICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50OjpydW5DYXB0dXJlUGFuZWwpOgorICAgICAgICAqIFdl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oOgorICAgICAgICAoQ2hyb21lQ2xpZW50KToK
KwogMjAxMi0wMi0xNiAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAg
IEF0dGVtcHQgdG8gZml4IHRoZSBHVEsgYnVpbGQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggY2I1OTQz
NjI4YjA4YzVjN2VjMDVmZWUxZDVjYjY2YTAxMGJkMGIxYi4uM2JhZDA4NzY2NTMzNGZhMzhjZWU5
ZmZlYjQxZWEwY2QzNzViMWUyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisy
MDEyLTAyLTE2ICBKb25nc2VvayBZYW5nICA8anM0NS55YW5nQHNhbXN1bmcuY29tPgorCisgICAg
ICAgIEltcGxlbWVudCB0aGUgaW50ZXJmYWNlIGZvciBtZWRpYSBjYXB0dXJlIHBhbmVsIHRvIHN1
cHBvcnQgSFRNTCBNZWRpYSBDYXB0dXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02MzA2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCBydW5DYXB0dXJlUGFuZWwoKSB0byBydW4gdGhlIGNhcHR1cmUg
cGFuZWwgZm9yIEhUTUwgTWVkaWEgQ2FwdHVyZS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5t
bToKKyAgICAgICAgKFdlYkNocm9tZUNsaWVudDo6cnVuQ2FwdHVyZVBhbmVsKToKKwogMjAxMi0w
Mi0xNiAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzEwNjE2MjgwPiBhbmQgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTc4NzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDQ2NzIxMzBkNmNjOTE0YWZhN2Q4ZjQxYzI1
M2QyMTVjYTllNzlhYTYuLjhhNjhiMWJjYmYwZmE3MDlhNjliMmQyY2MzZWRmNmQ3NjQzZTllMmMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTItMDItMTYgIEpvbmdzZW9rIFlh
bmcgIDxqczQ1LnlhbmdAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IHRoZSBpbnRl
cmZhY2UgZm9yIG1lZGlhIGNhcHR1cmUgcGFuZWwgdG8gc3VwcG9ydCBIVE1MIE1lZGlhIENhcHR1
cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYzMDYy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHJ1
bkNhcHR1cmVQYW5lbCgpIHRvIHJ1biB0aGUgY2FwdHVyZSBwYW5lbCBmb3IgSFRNTCBNZWRpYSBD
YXB0dXJlLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRRdDo6cnVu
Q2FwdHVyZVBhbmVsKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5o
OgorICAgICAgICAoQ2hyb21lQ2xpZW50UXQpOgorCiAyMDEyLTAyLTE2ICBTaW1vbiBIYXVzbWFu
biAgPHNpbW9uLmhhdXNtYW5uQG5va2lhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGJyb3du
LXBhcGVyIGJhZyBidWlsZCBmaXguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggMTY5ZTk4YjcyNzVlMzFj
ODFiNDgzMDE1MjVlOTY0YTQxZGNkYTI4MS4uZDZmZWNhNWRiMWVkNWMzNWFlNDg5OWY5ZjYwZmE4
OTc4ZWZhM2VjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTAyLTE2
ICBKb25nc2VvayBZYW5nICA8anM0NS55YW5nQHNhbXN1bmcuY29tPgorCisgICAgICAgIEltcGxl
bWVudCB0aGUgaW50ZXJmYWNlIGZvciBtZWRpYSBjYXB0dXJlIHBhbmVsIHRvIHN1cHBvcnQgSFRN
TCBNZWRpYSBDYXB0dXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02MzA2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBydW5DYXB0dXJlUGFuZWwoKSB0byBydW4gdGhlIGNhcHR1cmUgcGFuZWwgZm9y
IEhUTUwgTWVkaWEgQ2FwdHVyZS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6OnJ1bkNhcHR1cmVQYW5lbCk6
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChX
ZWJDaHJvbWVDbGllbnQpOgorCiAyMDEyLTAyLTE1ICBTYWRydWwgSGFiaWIgQ2hvd2RodXJ5ICA8
c2FkcnVsQGNocm9taXVtLm9yZz4KIAogICAgICAgICBOb3RpZnkgQ2hyb21lQ2xpZW50IHdoZW4g
dG91Y2gtZXZlbnQgaGFuZGxlcnMgYXJlIGluc3RhbGxlZC9yZW1vdmVkLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC93aW5jZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5n
ZUxvZwppbmRleCAxYzhiMDE1MmE4MDVlM2YyYTBhOGE5NzgyMzlmZjJlMzUxOTdlMjNjLi4yYTgw
OTg1YTI1MzdiOTIwZjYyM2U0NTA2ZDg1ODg0MDMzYWVjZmNkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L3dpbmNlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAyLTE2ICBKb25nc2VvayBZYW5nICA8anM0NS55YW5n
QHNhbXN1bmcuY29tPgorCisgICAgICAgIEltcGxlbWVudCB0aGUgaW50ZXJmYWNlIGZvciBtZWRp
YSBjYXB0dXJlIHBhbmVsIHRvIHN1cHBvcnQgSFRNTCBNZWRpYSBDYXB0dXJlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MzA2MgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBydW5DYXB0dXJlUGFuZWwo
KSB0byBydW4gdGhlIGNhcHR1cmUgcGFuZWwgZm9yIEhUTUwgTWVkaWEgQ2FwdHVyZS4KKworICAg
ICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmNwcDoKKyAgICAgICAgKFdl
YktpdCk6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudFdpbkNFOjpydW5DYXB0dXJlUGFu
ZWwpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmg6CisgICAg
ICAgIChDaHJvbWVDbGllbnRXaW5DRSk6CisKIDIwMTItMDItMTUgIFBhdHJpY2sgR2Fuc3RlcmVy
ICA8cGFyb2dhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCBXaW5DRSBidWlsZCBm
aXggYWZ0ZXIgcjEwNzYwNi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cKaW5kZXggMDViZTg0YjcxOGRmN2U0NzFlODFi
YWE3MzVmMDVlNDMxMDNjMDUzNy4uYTc4MjNhYzZkYzAwZGIzZTZmZGExNWMxMDBlZThiYmNkNjEy
ZWQ1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC93eC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMi0wMi0xNiAgSm9uZ3Nl
b2sgWWFuZyAgPGpzNDUueWFuZ0BzYW1zdW5nLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgdGhl
IGludGVyZmFjZSBmb3IgbWVkaWEgY2FwdHVyZSBwYW5lbCB0byBzdXBwb3J0IEhUTUwgTWVkaWEg
Q2FwdHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NjMwNjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgcnVuQ2FwdHVyZVBhbmVsKCkgdG8gcnVuIHRoZSBjYXB0dXJlIHBhbmVsIGZvciBIVE1MIE1l
ZGlhIENhcHR1cmUuCisKKyAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmNw
cDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50V3g6
OnJ1bkNhcHR1cmVQYW5lbCk6CisgICAgICAgICogV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRX
eC5oOgorICAgICAgICAoQ2hyb21lQ2xpZW50V3gpOgorCiAyMDEyLTAyLTE1ICBTYWRydWwgSGFi
aWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVtLm9yZz4KIAogICAgICAgICBOb3RpZnkgQ2hy
b21lQ2xpZW50IHdoZW4gdG91Y2gtZXZlbnQgaGFuZGxlcnMgYXJlIGluc3RhbGxlZC9yZW1vdmVk
LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDU3NmU3NDZhZDkyZDVkY2QzMmVjNTg1NzUz
ZWVhNzIzYjBmMmQ4ZTIuLmY0OWNiZDBmMzg3NDA3NWFkZmM1MDIzZDBjN2NmMTNjYTViZTEzMWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTg2LDYgKzg2LDcgQEAgRU5BQkxFX0ZJTEVf
U1lTVEVNID0gOwogRU5BQkxFX0ZVTExTQ1JFRU5fQVBJID0gRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
OwogRU5BQkxFX0dBTUVQQUQgPSA7CiBFTkFCTEVfR0VPTE9DQVRJT04gPSBFTkFCTEVfR0VPTE9D
QVRJT047CitFTkFCTEVfSFRNTF9NRURJQV9DQVBUVVJFID0gOwogRU5BQkxFX0lOREVYRURfREFU
QUJBU0UgPSA7CiBFTkFCTEVfSU5QVVRfQ09MT1IgPSA7CiBFTkFCTEVfSU5QVVRfU1BFRUNIID0g
OwpAQCAtMTI2LDQgKzEyNyw0IEBAIEVOQUJMRV9XRUJfVElNSU5HID0gOwogRU5BQkxFX1dPUktF
UlMgPSBFTkFCTEVfV09SS0VSUzsKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRV
UkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURf
MkRfQ0FOVkFTKSAkKEVOQUJMRV9BTklNQVRJT05fQVBJKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKSAk
KEVOQUJMRV9DU1NfRklMVEVSUykgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9D
U1NfU0hBREVSUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNU
KSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTKSAkKEVOQUJM
RV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxF
X0ZJTEVfU1lTVEVNKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkg
JChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRB
QkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfQ09MT1IpICQo
RU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQo
RU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJM
RV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkg
JChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfVEFHKSAkKEVOQUJMRV9N
VVRBVElPTl9PQlNFUlZFUlMpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBR0Vf
VklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BST0dSRVNTX1RBRykgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFU
SU9OX0ZSQU1FKSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykg
JChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9TVFlMRV9TQ09QRUQpICQoRU5BQkxFX1NW
RykgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQo
RU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJ
TkcpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfV0VCR0wp
ICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9U
SU1JTkcpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVT
ID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMp
ICQoRU5BQkxFX0FOSU1BVElPTl9BUEkpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NIQU5ORUxf
TUVTU0FHSU5HKSAkKEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04pICQoRU5BQkxFX0NT
U19GSUxURVJTKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19TSEFERVJT
KSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1QpICQoRU5BQkxF
X0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFMpICQoRU5BQkxFX0RFVklDRV9P
UklFTlRBVElPTikgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFCTEVfRklMRV9TWVNU
RU0pICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9H
QU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSFRNTF9NRURJQV9DQVBUVVJF
KSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5B
QkxFX0lOUFVUX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVNDUklQ
VF9ERUJVR0dFUikgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVO
QUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01F
VEVSX1RBRykgJChFTkFCTEVfTVVUQVRJT05fT0JTRVJWRVJTKSAkKEVOQUJMRV9OT1RJRklDQVRJ
T05TKSAkKEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QUk9HUkVTU19UQUcp
ICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKSAkKEVO
QUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfU0hBRE9XX0RPTSkgJChFTkFC
TEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NRTF9EQVRBQkFTRSkgJChFTkFCTEVfU1RZTEVf
U0NPUEVEKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChF
TkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URVhUX05PVElGSUNBVElPTlNfT05MWSkgJChFTkFC
TEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJB
Q0spICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NL
RVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YU0xU
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKaW5kZXggM2UyMDkwMzU1YzlhODBjMTVmOWUzZWUxNWE2NjQ4ZDg5ZDg3MjFi
Yy4uNWY0MGVkYWFkZDM0MGIzNGE4NWU1MWUzZDliNmQxNjlmZDAyZDIwYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysr
IGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
QEAgLTg2LDYgKzg2LDcgQEAgRU5BQkxFX0ZJTEVfU1lTVEVNID0gOwogRU5BQkxFX0ZVTExTQ1JF
RU5fQVBJID0gRU5BQkxFX0ZVTExTQ1JFRU5fQVBJOwogRU5BQkxFX0dBTUVQQUQgPSA7CiBFTkFC
TEVfR0VPTE9DQVRJT04gPSBFTkFCTEVfR0VPTE9DQVRJT047CitFTkFCTEVfSFRNTF9NRURJQV9D
QVBUVVJFID0gOwogRU5BQkxFX0lOREVYRURfREFUQUJBU0UgPSA7CiBFTkFCTEVfSU5QVVRfQ09M
T1IgPSA7CiBFTkFCTEVfSU5QVVRfU1BFRUNIID0gOwpAQCAtMTI2LDQgKzEyNyw0IEBAIEVOQUJM
RV9XRUJfVElNSU5HID0gOwogRU5BQkxFX1dPUktFUlMgPSBFTkFCTEVfV09SS0VSUzsKIEVOQUJM
RV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JF
TkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BTklNQVRJ
T05fQVBJKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFC
TEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9DU1NfRklMVEVSUykgJChFTkFC
TEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfU0hBREVSUykgJChFTkFCTEVfREFTSEJP
QVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lU
RU1TKSAkKEVOQUJMRV9ERVRBSUxTKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5B
QkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVOQUJMRV9GSUxU
RVJTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVf
R0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRSkgJChFTkFCTEVfSU5QVVRfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQo
RU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJM
RV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9N
QVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykg
JChFTkFCTEVfTUVURVJfVEFHKSAkKEVOQUJMRV9NVVRBVElPTl9PQlNFUlZFUlMpICQoRU5BQkxF
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BS
T0dSRVNTX1RBRykgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hB
TkRMRVIpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9TSEFET1df
RE9NKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVO
QUJMRV9TVFlMRV9TQ09QRUQpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJ
TkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9OU19P
TkxZKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJM
RV9WSURFT19UUkFDSykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFC
TEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dPUktFUlMpICQo
RU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FOSU1BVElPTl9BUEkpICQo
RU5BQkxFX0JMT0IpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DTElFTlRf
QkFTRURfR0VPTE9DQVRJT04pICQoRU5BQkxFX0NTU19GSUxURVJTKSAkKEVOQUJMRV9DU1NfR1JJ
RF9MQVlPVVQpICQoRU5BQkxFX0NTU19TSEFERVJTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9S
VCkgJChFTkFCTEVfREFUQUxJU1QpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5B
QkxFX0RFVEFJTFMpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElSRUNU
T1JZX1VQTE9BRCkgJChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElP
TikgJChFTkFCTEVfSFRNTF9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX0NPTE9SKSAkKEVOQUJMRV9J
TlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTElOS19Q
UkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxF
X01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX1RBRykgJChFTkFCTEVfTVVUQVRJT05f
T0JTRVJWRVJTKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQUdFX1ZJU0lCSUxJ
VFlfQVBJKSAkKEVOQUJMRV9QUk9HUkVTU19UQUcpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9S
RUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFN
RSkgJChFTkFCTEVfU0hBRE9XX0RPTSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxF
X1NRTF9EQVRBQkFTRSkgJChFTkFCTEVfU1RZTEVfU0NPUEVEKSAkKEVOQUJMRV9TVkcpICQoRU5B
QkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9U
RVhUX05PVElGSUNBVElPTlNfT05MWSkgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVO
QUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJM
RV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAk
KEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXgg
MDk3NTVjOTE5NTgxYTNhMWI5NDg1ZDU5ZmI5Mzk2YWZjM2E2NGNjOS4uMDQ2ODNiZTIxZDczOTJm
NjVlZThmMTAyZTljY2NhYmI2MzE3MTFhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTQ0NSw2
ICs0NDUsMTQgQEAgd2ViY29yZV9jcHBmbGFncyArPSAtREVOQUJMRV9HRU9MT0NBVElPTj0xIC1E
RU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTj0xCiBlbmRpZiAjIEVORCBFTkFCTEVfR0VP
TE9DQVRJT04KIAogIyAtLS0tCisjIEhUTUwgTWVkaWEgQ2FwdHVyZQorIyAtLS0tCitpZiBFTkFC
TEVfSFRNTF9NRURJQV9DQVBUVVJFCitGRUFUVVJFX0RFRklORVMgKz0gRU5BQkxFX0hUTUxfTUVE
SUFfQ0FQVFVSRT0xCit3ZWJjb3JlX2NwcGZsYWdzICs9IC1ERU5BQkxFX0hUTUxfTUVESUFfQ0FQ
VFVSRT0xCitlbmRpZiAjIEVORCBFTkFCTEVfSFRNTF9NRURJQV9DQVBUVVJFCisKKyMgLS0tLQog
IyBNYXRoTUwgc3VwcG9ydAogIyAtLS0tCiBpZiBFTkFCTEVfTUFUSE1MCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0ZpbGVJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9GaWxlSW5wdXRUeXBlLmNwcAppbmRleCA1NzU5ZjY3NDE1Y2QzODJlNTAwZmJlNjU1OGQwYzM0
MzU3ZDk3NzBiLi5kZTExYzIzNWVkMDNjZmQ2YTlmOGMyMWY0ZjkzZmFkM2U2NTQ2N2MzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZpbGVJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvRmlsZUlucHV0VHlwZS5jcHAKQEAgLTE1Nyw3ICsxNTcsMTUgQEAgdm9p
ZCBGaWxlSW5wdXRUeXBlOjpoYW5kbGVET01BY3RpdmF0ZUV2ZW50KEV2ZW50KiBldmVudCkKICNl
bmRpZgogICAgICAgICBzZXR0aW5ncy5hY2NlcHRNSU1FVHlwZXMgPSBpbnB1dC0+YWNjZXB0TUlN
RVR5cGVzKCk7CiAgICAgICAgIHNldHRpbmdzLnNlbGVjdGVkRmlsZXMgPSBtX2ZpbGVMaXN0LT5w
YXRocygpOworI2lmIEVOQUJMRShIVE1MX01FRElBX0NBUFRVUkUpCisgICAgICAgIE1lZGlhQ2Fw
dHVyZVR5cGUgdHlwZSA9IGRldGVybWluZUNhcHR1cmVUeXBlKGlucHV0LT5jYXB0dXJlKCksIGlu
cHV0LT5hY2NlcHRNSU1FVHlwZXMoKSk7CisgICAgICAgIGlmICh0eXBlID09IE5vbkNhcHR1cmUp
CisgICAgICAgICAgICBjaHJvbWUtPnJ1bk9wZW5QYW5lbChpbnB1dC0+ZG9jdW1lbnQoKS0+ZnJh
bWUoKSwgbmV3RmlsZUNob29zZXIoc2V0dGluZ3MpKTsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgY2hyb21lLT5ydW5DYXB0dXJlUGFuZWwoaW5wdXQtPmRvY3VtZW50KCktPmZyYW1lKCksIG5l
d01lZGlhQ2FwdHVyZUNob29zZXIoc2V0dGluZ3MsIHR5cGUpKTsKKyNlbHNlCiAgICAgICAgIGNo
cm9tZS0+cnVuT3BlblBhbmVsKGlucHV0LT5kb2N1bWVudCgpLT5mcmFtZSgpLCBuZXdGaWxlQ2hv
b3NlcihzZXR0aW5ncykpOworI2VuZGlmCiAgICAgfQogICAgIGV2ZW50LT5zZXREZWZhdWx0SGFu
ZGxlZCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRl
TmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgppbmRl
eCAxNTFkZjdmMzhhNWE1MzgzZjI5NTg0NmUzMmUxNmJmZjFhMjRkMThiLi42MGIwMGExYzQyMjgy
MzJiNGE3NDcxNzFlYTE1ODc2NTI4NzUwNGFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxB
dHRyaWJ1dGVOYW1lcy5pbgpAQCAtNTgsNiArNTgsNyBAQCBiZ2NvbG9yCiBiZ3Byb3BlcnRpZXMK
IGJvcmRlcgogYm9yZGVyY29sb3IKK2NhcHR1cmUKIGNlbGxwYWRkaW5nCiBjZWxsc3BhY2luZwog
Y2hhcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKaW5kZXggOTFlZWQ1
NWRhZmEzNjI4NTU0ODM2NmVjMzVhZTUyOTE2N2UyMTYyMy4uNGY1NmU4Mjk1MTQ3MjI2NjlkYTRh
YTRjZTAyOWY5M2IzNWVlYjg2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
SW5wdXRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1l
bnQuY3BwCkBAIC0xMzAxLDYgKzEzMDEsMTMgQEAgU3RyaW5nIEhUTUxJbnB1dEVsZW1lbnQ6OmFs
dCgpIGNvbnN0CiAgICAgcmV0dXJuIGZhc3RHZXRBdHRyaWJ1dGUoYWx0QXR0cik7CiB9CiAKKyNp
ZiBFTkFCTEUoSFRNTF9NRURJQV9DQVBUVVJFKQorU3RyaW5nIEhUTUxJbnB1dEVsZW1lbnQ6OmNh
cHR1cmUoKSBjb25zdAoreworICAgIHJldHVybiBmYXN0R2V0QXR0cmlidXRlKGNhcHR1cmVBdHRy
KTsKK30KKyNlbmRpZgorCiBpbnQgSFRNTElucHV0RWxlbWVudDo6bWF4TGVuZ3RoKCkgY29uc3QK
IHsKICAgICByZXR1cm4gbV9tYXhMZW5ndGg7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxl
bWVudC5oCmluZGV4IDM5Y2I0OGJhNmI4MzZjMzI1NmEzMGU4MWM0MTdiOGNiMDEyYmVmMmEuLjEw
Zjk2NDQ3MmUwNjQ5MGE5NTkyZjU1ZWM2NjAwNGE0MGMyODg4ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTElucHV0RWxlbWVudC5oCkBAIC0xOTIsNiArMTkyLDEwIEBAIHB1YmxpYzoKICAgICBT
dHJpbmcgYWNjZXB0KCkgY29uc3Q7CiAgICAgU3RyaW5nIGFsdCgpIGNvbnN0OwogCisjaWYgRU5B
QkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkKKyAgICBTdHJpbmcgY2FwdHVyZSgpIGNvbnN0OworI2Vu
ZGlmCisKICAgICB2b2lkIHNldFNpemUodW5zaWduZWQpOwogCiAgICAgS1VSTCBzcmMoKSBjb25z
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCmluZGV4IDg0YmViOGFj
NTEyZmRjNGRiODhkOGRmODJmOWFkM2ZlYjY3NjI4ZDkuLjEzMzdlODcxNjIxMjg2NjhmZmFlNTk3
MDE0ZjFmMjA0YjBkYjBkMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElu
cHV0RWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50
LmlkbApAQCAtMzQsNiArMzQsOSBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIGF0dHJpYnV0ZSBb
UmVmbGVjdF0gRE9NU3RyaW5nIGFjY2VwdDsKICAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBE
T01TdHJpbmcgYWxpZ247CiAgICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIGFs
dDsKKyNpZiBkZWZpbmVkKEVOQUJMRV9IVE1MX01FRElBX0NBUFRVUkUpICYmIEVOQUJMRV9IVE1M
X01FRElBX0NBUFRVUkUKKyAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgY2Fw
dHVyZTsKKyNlbmRpZgogICAgICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBjaGVja2VkOwogICAgICAg
ICBhdHRyaWJ1dGUgW1JlZmxlY3RdIGJvb2xlYW4gZGlzYWJsZWQ7CiAgICAgICAgIGF0dHJpYnV0
ZSBbUmVmbGVjdF0gYm9vbGVhbiBhdXRvZm9jdXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGll
bnRzLmgKaW5kZXggYTI2NDFmNzUxODk3NzFmNTIzMzcxOWRjMTE0ZmFmNTVkZThjYjhlOS4uMmU5
NDJkYTQ4MmJjYWUyMmM0NzIzMmU1YTEzYTZhNDhiYmVlMWY4YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9FbXB0eUNsaWVudHMuaApAQCAtMjA1LDYgKzIwNSw5IEBAIHB1YmxpYzoKICNlbmRpZgogCiAg
ICAgdmlydHVhbCB2b2lkIHJ1bk9wZW5QYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8RmlsZUNob29z
ZXI+KSB7IH0KKyNpZiBFTkFCTEUoSFRNTF9NRURJQV9DQVBUVVJFKQorICAgIHZpcnR1YWwgdm9p
ZCBydW5DYXB0dXJlUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPE1lZGlhQ2FwdHVyZUNob29zZXI+
KSB7IH0KKyNlbmRpZgogICAgIHZpcnR1YWwgdm9pZCBsb2FkSWNvbkZvckZpbGVzKGNvbnN0IFZl
Y3RvcjxTdHJpbmc+JiwgRmlsZUljb25Mb2FkZXIqKSB7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBm
b3JtU3RhdGVEaWRDaGFuZ2UoY29uc3QgTm9kZSopIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9DaHJvbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCmlu
ZGV4IDVlMDEyMmRkZGRjOWZiYTY0YTBhOTYwZjNkZjlhZDkwYzcwMzNlZmMuLjg4ZjJlZWFmZDRi
M2JmZmE1NWJiNWZjZGU2NjQ4OTgwZDM1Y2I2NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ2hyb21lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKQEAg
LTQ2NCw2ICs0NjQsMTMgQEAgdm9pZCBDaHJvbWU6OnJ1bk9wZW5QYW5lbChGcmFtZSogZnJhbWUs
IFBhc3NSZWZQdHI8RmlsZUNob29zZXI+IGZpbGVDaG9vc2VyKQogICAgIG1fY2xpZW50LT5ydW5P
cGVuUGFuZWwoZnJhbWUsIGZpbGVDaG9vc2VyKTsKIH0KIAorI2lmIEVOQUJMRShIVE1MX01FRElB
X0NBUFRVUkUpCit2b2lkIENocm9tZTo6cnVuQ2FwdHVyZVBhbmVsKEZyYW1lKiBmcmFtZSwgUGFz
c1JlZlB0cjxNZWRpYUNhcHR1cmVDaG9vc2VyPiBtZWRpYUZpbGVDaG9vc2VyKQoreworICAgIG1f
Y2xpZW50LT5ydW5DYXB0dXJlUGFuZWwoZnJhbWUsIG1lZGlhRmlsZUNob29zZXIpOworfQorI2Vu
ZGlmCisKIHZvaWQgQ2hyb21lOjpsb2FkSWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+
JiBmaWxlbmFtZXMsIEZpbGVJY29uTG9hZGVyKiBsb2FkZXIpCiB7CiAgICAgbV9jbGllbnQtPmxv
YWRJY29uRm9yRmlsZXMoZmlsZW5hbWVzLCBsb2FkZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9DaHJvbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKaW5kZXgg
YzY3MDRjOTdhNDRkZjYyOWI1MjhmZmFhZGZhYmUyMjFhMWExM2M3My4uNjYwNGE1MzQwYWM5OTAx
MzEwNDgwZWUxMzI4NTVlZjEyMjMzNzIyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9DaHJvbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oCkBAIC00Nyw2ICs0
Nyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBHZW9sb2NhdGlvbjsKICAgICBj
bGFzcyBIaXRUZXN0UmVzdWx0OwogICAgIGNsYXNzIEludFJlY3Q7CisjaWYgRU5BQkxFKEhUTUxf
TUVESUFfQ0FQVFVSRSkKKyAgICBjbGFzcyBNZWRpYUNhcHR1cmVDaG9vc2VyOworI2VuZGlmCiAg
ICAgY2xhc3MgTmF2aWdhdGlvbkFjdGlvbjsKICAgICBjbGFzcyBOb2RlOwogICAgIGNsYXNzIFBh
Z2U7CkBAIC0xNTQsNiArMTU3LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2VuZGlmCiAKICAg
ICAgICAgdm9pZCBydW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPik7
CisjaWYgRU5BQkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkKKyAgICAgICAgdm9pZCBydW5DYXB0dXJl
UGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPE1lZGlhQ2FwdHVyZUNob29zZXI+KTsKKyNlbmRpZgog
ICAgICAgICB2b2lkIGxvYWRJY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mLCBGaWxl
SWNvbkxvYWRlciopOwogI2lmIEVOQUJMRShESVJFQ1RPUllfVVBMT0FEKQogICAgICAgICB2b2lk
IGVudW1lcmF0ZUNob3NlbkRpcmVjdG9yeShGaWxlQ2hvb3NlciopOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hy
b21lQ2xpZW50LmgKaW5kZXggMzNiMWM0Yjg3MTQ5MDgzYmM2OGVhNzliNzlmZjE0MmVjZGQ1OWU0
My4uZDBjOGU3MTRkNmU0YWIyY2Q3YWNmYWQ4M2JkYWYxZjJlYzZhZWY5OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0Nocm9tZUNsaWVudC5oCkBAIC01NSw2ICs1NSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICBjbGFzcyBHcmFwaGljc0xheWVyOwogICAgIGNsYXNzIEhpdFRlc3RSZXN1bHQ7CiAgICAg
Y2xhc3MgSW50UmVjdDsKKyNpZiBFTkFCTEUoSFRNTF9NRURJQV9DQVBUVVJFKQorICAgIGNsYXNz
IE1lZGlhQ2FwdHVyZUNob29zZXI7CisjZW5kaWYKICAgICBjbGFzcyBOYXZpZ2F0aW9uQWN0aW9u
OwogICAgIGNsYXNzIE5vZGU7CiAgICAgY2xhc3MgUGFnZTsKQEAgLTIyNCw2ICsyMjcsOSBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAjZW5kaWYKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgcnVuT3Bl
blBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4pID0gMDsKKyNpZiBFTkFCTEUo
SFRNTF9NRURJQV9DQVBUVVJFKQorICAgICAgICB2aXJ0dWFsIHZvaWQgcnVuQ2FwdHVyZVBhbmVs
KEZyYW1lKiwgUGFzc1JlZlB0cjxNZWRpYUNhcHR1cmVDaG9vc2VyPikgPSAwOworI2VuZGlmCiAg
ICAgICAgIC8vIEFzeW5jaHJvbm91cyByZXF1ZXN0IHRvIGxvYWQgYW4gaWNvbiBmb3Igc3BlY2lm
aWVkIGZpbGVuYW1lcy4KICAgICAgICAgdmlydHVhbCB2b2lkIGxvYWRJY29uRm9yRmlsZXMoY29u
c3QgVmVjdG9yPFN0cmluZz4mLCBGaWxlSWNvbkxvYWRlciopID0gMDsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZUNob29zZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vRmlsZUNob29zZXIuY3BwCmluZGV4IGE5NzkyYWE2YWY1N2I1MmZmZmVmNTY3YmI0
Y2JlZWMzNmM3MTFiOTMuLjhlYzk2YTdmMjdlZDVjMTM3MGE4NWE1MjVhOGRiYTEwNTBjMjYwMjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVDaG9vc2VyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlQ2hvb3Nlci5jcHAKQEAgLTI5LDggKzI5LDEz
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRmlsZUNob29zZXIuaCIKIAorI2lu
Y2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKKwogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCit1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOworCiBGaWxlQ2hv
b3NlckNsaWVudDo6fkZpbGVDaG9vc2VyQ2xpZW50KCkKIHsKICAgICBkaXNjYXJkQ2hvb3Nlcigp
OwpAQCAtNTAsMTIgKzU1LDQzIEBAIHZvaWQgRmlsZUNob29zZXJDbGllbnQ6OmRpc2NhcmRDaG9v
c2VyKCkKICAgICAgICAgbV9jaG9vc2VyLT5kaXNjb25uZWN0Q2xpZW50KCk7CiB9CiAKLWlubGlu
ZSBGaWxlQ2hvb3Nlcjo6RmlsZUNob29zZXIoRmlsZUNob29zZXJDbGllbnQqIGNsaWVudCwgY29u
c3QgRmlsZUNob29zZXJTZXR0aW5ncyYgc2V0dGluZ3MpCi0gICAgOiBtX2NsaWVudChjbGllbnQp
Ci0gICAgLCBtX3NldHRpbmdzKHNldHRpbmdzKQorI2lmIEVOQUJMRShIVE1MX01FRElBX0NBUFRV
UkUpCitNZWRpYUNhcHR1cmVDaG9vc2VyKiBGaWxlQ2hvb3NlckNsaWVudDo6bmV3TWVkaWFDYXB0
dXJlQ2hvb3Nlcihjb25zdCBGaWxlQ2hvb3NlclNldHRpbmdzJiBzZXR0aW5ncywgTWVkaWFDYXB0
dXJlVHlwZSBkZXZpY2UpCiB7CisgICAgZGlzY2FyZENob29zZXIoKTsKKworICAgIG1fY2hvb3Nl
ciA9IE1lZGlhQ2FwdHVyZUNob29zZXI6OmNyZWF0ZSh0aGlzLCBzZXR0aW5ncywgZGV2aWNlKTsK
KyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8TWVkaWFDYXB0dXJlQ2hvb3Nlcio+KG1fY2hvb3Nlci5n
ZXQoKSk7CiB9CiAKK01lZGlhQ2FwdHVyZVR5cGUgRmlsZUNob29zZXJDbGllbnQ6OmRldGVybWlu
ZUNhcHR1cmVUeXBlKGNvbnN0IFN0cmluZyYgY2FwdHVyZSwgY29uc3QgVmVjdG9yPFN0cmluZz4m
IGFjY2VwdE1JTUVUeXBlcykKK3sKKyAgICBpZiAoYWNjZXB0TUlNRVR5cGVzLmlzRW1wdHkoKSkK
KyAgICAgICAgcmV0dXJuIE5vbkNhcHR1cmU7CisKKyAgICBNZWRpYUNhcHR1cmVUeXBlIHR5cGUg
PSBOb25DYXB0dXJlOworCisgICAgZm9yIChWZWN0b3I8U3RyaW5nPjo6Y29uc3RfaXRlcmF0b3Ig
aXRlcmF0b3IgPSBhY2NlcHRNSU1FVHlwZXMuYmVnaW4oKTsgaXRlcmF0b3IgIT0gYWNjZXB0TUlN
RVR5cGVzLmVuZCgpOyArK2l0ZXJhdG9yKQorICAgICAgICBpZiAoTUlNRVR5cGVSZWdpc3RyeTo6
aXNTdXBwb3J0ZWRDYXB0dXJlTUlNRVR5cGUoKml0ZXJhdG9yKSkgeworICAgICAgICAgICAgaWYg
KChjYXB0dXJlLmlzRW1wdHkoKSB8fCBlcXVhbElnbm9yaW5nQ2FzZShjYXB0dXJlLCBNZWRpYUNh
cHR1cmVOYW1lczo6Y2FtZXJhKCkpKQorICAgICAgICAgICAgICAgICYmICgqaXRlcmF0b3IpLnN0
YXJ0c1dpdGgoImltYWdlLyIpKQorICAgICAgICAgICAgICAgIHJldHVybiBDYW1lcmE7CisgICAg
ICAgICAgICBpZiAoKGNhcHR1cmUuaXNFbXB0eSgpIHx8IGVxdWFsSWdub3JpbmdDYXNlKGNhcHR1
cmUsIE1lZGlhQ2FwdHVyZU5hbWVzOjpjYW1jb3JkZXIoKSkpCisgICAgICAgICAgICAgICAgJiYg
KCppdGVyYXRvcikuc3RhcnRzV2l0aCgidmlkZW8vIikpCisgICAgICAgICAgICAgICAgcmV0dXJu
IENhbWNvcmRlcjsKKyAgICAgICAgICAgIGlmICgoY2FwdHVyZS5pc0VtcHR5KCkgfHwgZXF1YWxJ
Z25vcmluZ0Nhc2UoY2FwdHVyZSwgTWVkaWFDYXB0dXJlTmFtZXM6Om1pY3JvcGhvbmUoKSkpCisg
ICAgICAgICAgICAgICAgJiYgKCppdGVyYXRvcikuc3RhcnRzV2l0aCgiYXVkaW8vIikpCisgICAg
ICAgICAgICAgICAgcmV0dXJuIE1pY3JvcGhvbmU7CisKKyAgICAgICAgICAgIGlmICh0eXBlID09
IE5vbkNhcHR1cmUpCisgICAgICAgICAgICAgICAgdHlwZSA9IEZpbGVTeXN0ZW07CisgICAgICAg
IH0KKworICAgIHJldHVybiB0eXBlOworCit9CisjZW5kaWYKKwogUGFzc1JlZlB0cjxGaWxlQ2hv
b3Nlcj4gRmlsZUNob29zZXI6OmNyZWF0ZShGaWxlQ2hvb3NlckNsaWVudCogY2xpZW50LCBjb25z
dCBGaWxlQ2hvb3NlclNldHRpbmdzJiBzZXR0aW5ncykKIHsKICAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IEZpbGVDaG9vc2VyKGNsaWVudCwgc2V0dGluZ3MpKTsKQEAgLTgyLDQgKzExOCw0NSBAQCB2
b2lkIEZpbGVDaG9vc2VyOjpjaG9vc2VGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgZmlsZW5h
bWVzKQogICAgICAgICBtX2NsaWVudC0+ZmlsZXNDaG9zZW4oZmlsZW5hbWVzKTsKIH0KIAorI2lm
IEVOQUJMRShIVE1MX01FRElBX0NBUFRVUkUpCisKK1Bhc3NSZWZQdHI8TWVkaWFDYXB0dXJlQ2hv
b3Nlcj4gTWVkaWFDYXB0dXJlQ2hvb3Nlcjo6Y3JlYXRlKEZpbGVDaG9vc2VyQ2xpZW50KiBjbGll
bnQsIGNvbnN0IEZpbGVDaG9vc2VyU2V0dGluZ3MmIHNldHRpbmdzLCBNZWRpYUNhcHR1cmVUeXBl
IHR5cGUpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBNZWRpYUNhcHR1cmVDaG9vc2VyKGNs
aWVudCwgc2V0dGluZ3MsIHR5cGUpKTsKK30KKworTWVkaWFDYXB0dXJlQ2hvb3Nlcjo6fk1lZGlh
Q2FwdHVyZUNob29zZXIoKQoreworfQorCituYW1lc3BhY2UgTWVkaWFDYXB0dXJlTmFtZXMgewor
Citjb25zdCBBdG9taWNTdHJpbmcmIGNhbWVyYSgpCit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NB
TChBdG9taWNTdHJpbmcsIG5hbWUsICgiY2FtZXJhIikpOworICAgIHJldHVybiBuYW1lOworfQor
Citjb25zdCBBdG9taWNTdHJpbmcmIGNhbWNvcmRlcigpCit7CisgICAgREVGSU5FX1NUQVRJQ19M
T0NBTChBdG9taWNTdHJpbmcsIG5hbWUsICgiY2FtY29yZGVyIikpOworICAgIHJldHVybiBuYW1l
OworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIG1pY3JvcGhvbmUoKQoreworICAgIERFRklORV9T
VEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBuYW1lLCAoIm1pY3JvcGhvbmUiKSk7CisgICAgcmV0
dXJuIG5hbWU7Cit9CisKK2NvbnN0IEF0b21pY1N0cmluZyYgZmlsZXN5c3RlbSgpCit7CisgICAg
REVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIG5hbWUsICgiZmlsZXN5c3RlbSIpKTsK
KyAgICByZXR1cm4gbmFtZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZTo6TWVkaWFDYXB0
dXJlTmFtZXMKKworI2VuZGlmCisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0ZpbGVDaG9vc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlQ2hvb3Nlci5o
CmluZGV4IGNjMjBiZTI4MWI4NDI0Y2JlYmUwMTVhNzI3YTU0Zjg2YjBlM2VhMzEuLjg2OGE4ZDYz
ZTA1M2NlY2MwOTkxNDlmYjc2ODkyMzczMWNiYThmMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0ZpbGVDaG9vc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
RmlsZUNob29zZXIuaApAQCAtMzcsNiArMzcsMTkgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgRmlsZUNob29zZXI7CisjaWYgRU5BQkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkKK2NsYXNz
IE1lZGlhQ2FwdHVyZUNob29zZXI7CisjZW5kaWYKKworI2lmIEVOQUJMRShIVE1MX01FRElBX0NB
UFRVUkUpCitlbnVtIE1lZGlhQ2FwdHVyZVR5cGUgeworICAgIE5vbkNhcHR1cmUsCisgICAgRmls
ZVN5c3RlbSwKKyAgICBDYW1lcmEsCisgICAgQ2FtY29yZGVyLAorICAgIE1pY3JvcGhvbmUsCit9
OworI2VuZGlmCiAKIHN0cnVjdCBGaWxlQ2hvb3NlclNldHRpbmdzIHsKICAgICBib29sIGFsbG93
c011bHRpcGxlRmlsZXM7CkBAIC01NSw2ICs2OCwxMSBAQCBwdWJsaWM6CiBwcm90ZWN0ZWQ6CiAg
ICAgRmlsZUNob29zZXIqIG5ld0ZpbGVDaG9vc2VyKGNvbnN0IEZpbGVDaG9vc2VyU2V0dGluZ3Mm
KTsKIAorI2lmIEVOQUJMRShIVE1MX01FRElBX0NBUFRVUkUpCisgICAgTWVkaWFDYXB0dXJlQ2hv
b3NlciogbmV3TWVkaWFDYXB0dXJlQ2hvb3Nlcihjb25zdCBGaWxlQ2hvb3NlclNldHRpbmdzJiwg
TWVkaWFDYXB0dXJlVHlwZSk7CisgICAgTWVkaWFDYXB0dXJlVHlwZSBkZXRlcm1pbmVDYXB0dXJl
VHlwZShjb25zdCBTdHJpbmcmIGNhcHR1cmUsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBhY2NlcHRN
SU1FVHlwZXMpOworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgdm9pZCBkaXNjYXJkQ2hvb3Nlcigp
OwogCkBAIC03MywxMyArOTEsNDggQEAgcHVibGljOgogCiAgICAgY29uc3QgRmlsZUNob29zZXJT
ZXR0aW5ncyYgc2V0dGluZ3MoKSBjb25zdCB7IHJldHVybiBtX3NldHRpbmdzOyB9CiAKLXByaXZh
dGU6Ci0gICAgRmlsZUNob29zZXIoRmlsZUNob29zZXJDbGllbnQqLCBjb25zdCBGaWxlQ2hvb3Nl
clNldHRpbmdzJik7Citwcm90ZWN0ZWQ6CisgICAgRmlsZUNob29zZXIoRmlsZUNob29zZXJDbGll
bnQqIGNsaWVudCwgY29uc3QgRmlsZUNob29zZXJTZXR0aW5ncyYgc2V0dGluZ3MpCisgICAgICAg
IDogbV9jbGllbnQoY2xpZW50KQorICAgICAgICAsIG1fc2V0dGluZ3Moc2V0dGluZ3MpCisgICAg
eworICAgIH0KIAorcHJpdmF0ZToKICAgICBGaWxlQ2hvb3NlckNsaWVudCogbV9jbGllbnQ7CiAg
ICAgRmlsZUNob29zZXJTZXR0aW5ncyBtX3NldHRpbmdzOwogfTsKIAorI2lmIEVOQUJMRShIVE1M
X01FRElBX0NBUFRVUkUpCisKK2NsYXNzIE1lZGlhQ2FwdHVyZUNob29zZXIgOiBwdWJsaWMgRmls
ZUNob29zZXIgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhQ2FwdHVyZUNo
b29zZXI+IGNyZWF0ZShGaWxlQ2hvb3NlckNsaWVudCosIGNvbnN0IEZpbGVDaG9vc2VyU2V0dGlu
Z3MmLCBNZWRpYUNhcHR1cmVUeXBlKTsKKyAgICB+TWVkaWFDYXB0dXJlQ2hvb3NlcigpOworCisg
ICAgTWVkaWFDYXB0dXJlVHlwZSBjYXB0dXJlVHlwZSgpIHsgcmV0dXJuIG1fY2FwdHVyZVR5cGU7
IH0KKworcHJpdmF0ZToKKyAgICBNZWRpYUNhcHR1cmVDaG9vc2VyKEZpbGVDaG9vc2VyQ2xpZW50
KiBjbGllbnQsIGNvbnN0IEZpbGVDaG9vc2VyU2V0dGluZ3MmIHNldHRpbmdzLCBNZWRpYUNhcHR1
cmVUeXBlIHR5cGUpCisgICAgICAgIDogRmlsZUNob29zZXIoY2xpZW50LCBzZXR0aW5ncykKKyAg
ICAgICAgLCBtX2NhcHR1cmVUeXBlKHR5cGUpCisgICAgeworICAgIH0KKworICAgIE1lZGlhQ2Fw
dHVyZVR5cGUgbV9jYXB0dXJlVHlwZTsKK307CisKK25hbWVzcGFjZSBNZWRpYUNhcHR1cmVOYW1l
cyB7CisKK2NvbnN0IEF0b21pY1N0cmluZyYgY2FtZXJhKCk7Citjb25zdCBBdG9taWNTdHJpbmcm
IGNhbWNvcmRlcigpOworY29uc3QgQXRvbWljU3RyaW5nJiBtaWNyb3Bob25lKCk7Citjb25zdCBB
dG9taWNTdHJpbmcmIGZpbGVzeXN0ZW0oKTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZTo6TWVk
aWFDYXB0dXJlTmFtZXMKKworI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2Vu
ZGlmIC8vIEZpbGVDaG9vc2VyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L01JTUVUeXBlUmVnaXN0cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVS
ZWdpc3RyeS5jcHAKaW5kZXggYjVmMmQ0NTUxZjJmMjA4NDBhZTQwOTg5NGNlZjkzNjYyMjAyN2Q4
YS4uMTQxYzcwOTkxMmI3YWI4NTlhYjBmYmQyOWNkZTAwZWI1MjQ2ZTViMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5jcHAKQEAgLTE4OSw2ICsxODksOSBA
QCBzdGF0aWMgSGFzaFNldDxTdHJpbmc+KiBzdXBwb3J0ZWRJbWFnZU1JTUVUeXBlc0ZvckVuY29k
aW5nOwogc3RhdGljIEhhc2hTZXQ8U3RyaW5nPiogc3VwcG9ydGVkSmF2YVNjcmlwdE1JTUVUeXBl
czsKIHN0YXRpYyBIYXNoU2V0PFN0cmluZz4qIHN1cHBvcnRlZE5vbkltYWdlTUlNRVR5cGVzOwog
c3RhdGljIEhhc2hTZXQ8U3RyaW5nPiogc3VwcG9ydGVkTWVkaWFNSU1FVHlwZXM7CisjaWYgRU5B
QkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkKK3N0YXRpYyBIYXNoU2V0PFN0cmluZz4qIHN1cHBvcnRl
ZENhcHR1cmVNSU1FVHlwZXM7CisjZW5kaWYKIHN0YXRpYyBIYXNoU2V0PFN0cmluZz4qIHVuc3Vw
cG9ydGVkVGV4dE1JTUVUeXBlczsKIAogdHlwZWRlZiBIYXNoTWFwPFN0cmluZywgVmVjdG9yPFN0
cmluZz4qLCBDYXNlRm9sZGluZ0hhc2g+IE1lZGlhTUlNRVR5cGVNYXA7CkBAIC00MzcsNiArNDQw
LDE2IEBAIHN0YXRpYyB2b2lkIGluaXRpYWxpemVTdXBwb3J0ZWRNZWRpYU1JTUVUeXBlcygpCiAj
ZW5kaWYKIH0KIAorI2lmIEVOQUJMRShIVE1MX01FRElBX0NBUFRVUkUpCitzdGF0aWMgdm9pZCBp
bml0aWFsaXplU3VwcG9ydGVkQ2FwdHVyZU1JTUVUeXBlcygpCit7CisgICAgc3VwcG9ydGVkQ2Fw
dHVyZU1JTUVUeXBlcyA9IG5ldyBIYXNoU2V0PFN0cmluZz47CisgICAgc3VwcG9ydGVkQ2FwdHVy
ZU1JTUVUeXBlcy0+YWRkKCJpbWFnZS8qIik7CisgICAgc3VwcG9ydGVkQ2FwdHVyZU1JTUVUeXBl
cy0+YWRkKCJhdWRpby8qIik7CisgICAgc3VwcG9ydGVkQ2FwdHVyZU1JTUVUeXBlcy0+YWRkKCJ2
aWRlby8qIik7Cit9CisjZW5kaWYKKwogc3RhdGljIHZvaWQgaW5pdGlhbGl6ZVVuc3VwcG9ydGVk
VGV4dE1JTUVUeXBlcygpCiB7CiAgICAgc3RhdGljIGNvbnN0IGNoYXIqIHR5cGVzW10gPSB7CkBA
IC01NzMsNiArNTg2LDE3IEBAIGJvb2wgTUlNRVR5cGVSZWdpc3RyeTo6aXNVbnN1cHBvcnRlZFRl
eHRNSU1FVHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKQogICAgIHJldHVybiB1bnN1cHBvcnRl
ZFRleHRNSU1FVHlwZXMtPmNvbnRhaW5zKG1pbWVUeXBlKTsKIH0KIAorI2lmIEVOQUJMRShIVE1M
X01FRElBX0NBUFRVUkUpCitib29sIE1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkQ2FwdHVy
ZU1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCit7CisgICAgaWYgKG1pbWVUeXBlLmlz
RW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghc3VwcG9ydGVkQ2FwdHVy
ZU1JTUVUeXBlcykKKyAgICAgICAgaW5pdGlhbGl6ZVN1cHBvcnRlZENhcHR1cmVNSU1FVHlwZXMo
KTsKKyAgICByZXR1cm4gc3VwcG9ydGVkQ2FwdHVyZU1JTUVUeXBlcy0+Y29udGFpbnMobWltZVR5
cGUpOworfQorI2VuZGlmCisKIGJvb2wgTUlNRVR5cGVSZWdpc3RyeTo6aXNKYXZhQXBwbGV0TUlN
RVR5cGUoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSkKIHsKICAgICAvLyBTaW5jZSB0aGlzIHNldCBp
cyB2ZXJ5IGxpbWl0ZWQgYW5kIGlzIGxpa2VseSB0byByZW1haW4gc28gd2Ugd29uJ3QgYm90aGVy
IHdpdGggdGhlIG92ZXJoZWFkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9N
SU1FVHlwZVJlZ2lzdHJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lz
dHJ5LmgKaW5kZXggZDJjMzc1MjE0YTFhODQwMDQxZTFjNmQ1ZGI3NDcwZmI2YTUxNGYyYy4uMWIw
YWE5Mjk5ZTBhOTMwZDkxZDgzOWQ4ODE2YmI2MjY3MjQyMTMzZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuaApAQCAtODAsNiArODAsMTEgQEAgcHVibGljOgog
ICAgIC8vIGJyb3dzZXIgKGUuZy4gYSBRdCBQbHVnaW4pLgogICAgIHN0YXRpYyBib29sIGlzQXBw
bGljYXRpb25QbHVnaW5NSU1FVHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKTsKIAorI2lmIEVO
QUJMRShIVE1MX01FRElBX0NBUFRVUkUpCisgICAgLy8gQ2hlY2sgdG8gc2VlIGlmIGEgbWltZSB0
eXBlIGlzIHN1aXRhYmxlIGZvciBiZWluZyBvcGVyYXRlZCBhcyBodG1sIG1lZGlhIGNhcHR1cmUu
CisgICAgc3RhdGljIGJvb2wgaXNTdXBwb3J0ZWRDYXB0dXJlTUlNRVR5cGUoY29uc3QgU3RyaW5n
JiBtaW1lVHlwZSk7CisjZW5kaWYKKwogICAgIHN0YXRpYyBIYXNoU2V0PFN0cmluZz4mIGdldFN1
cHBvcnRlZEltYWdlTUlNRVR5cGVzKCk7CiAgICAgc3RhdGljIEhhc2hTZXQ8U3RyaW5nPiYgZ2V0
U3VwcG9ydGVkSW1hZ2VSZXNvdXJjZU1JTUVUeXBlcygpOwogICAgIHN0YXRpYyBIYXNoU2V0PFN0
cmluZz4mIGdldFN1cHBvcnRlZEltYWdlTUlNRVR5cGVzRm9yRW5jb2RpbmcoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAKaW5kZXggNDVhODEz
ODU5NDRjZThhYmRiYzdiYjk5NGFlYjNjYzlkZjIyNDBiZi4uYTUxNzYwM2NiNjUyZWQzOWEzNWNj
MGJjZDVjNjk0YzcxOTY4N2E0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
Q2hyb21lQ2xpZW50SW1wbC5jcHAKQEAgLTcyNiw2ICs3MjYsMTggQEAgdm9pZCBDaHJvbWVDbGll
bnRJbXBsOjpydW5PcGVuUGFuZWwoRnJhbWUqIGZyYW1lLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2Vy
PiBmaWxlQ2gKICAgICBjaG9vc2VyQ29tcGxldGlvbi0+ZGlkQ2hvb3NlRmlsZShXZWJWZWN0b3I8
V2ViU3RyaW5nPigpKTsKIH0KIAorI2lmIEVOQUJMRShIVE1MX01FRElBX0NBUFRVUkUpCit2b2lk
IENocm9tZUNsaWVudEltcGw6OnJ1bkNhcHR1cmVQYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8TWVk
aWFDYXB0dXJlQ2hvb3Nlcj4pCit7CisgICAgLy8gTm90ZTogY2FwdHVyZVR5cGUoKSBpbiBNZWRp
YUNhcHR1cmVDaG9vc2VyIHdpbGwgcmV0dXJuIHRoZSBkZXRlcm1pbmVkIHZhbHVlIGZyb20KKyAg
ICAvLyB0aGUgaW50ZXJhY3Rpb25zIGJldHdlZW4gdGhlIGNhcHR1cmUgYXR0cmlidXRlIGFuZCB0
aGUgYWNjZXB0IGF0dHJpYnV0ZS4gSXQncworICAgIC8vIHRoZSB2YWx1ZSBmb3IgdGhlIHBhbmVs
IHR5cGUgdGhhdCBzaG91bGQgYmUgcHJlc2VudGVkIGJ5IGRlZmF1bHQuIFRoZSBhZGRpdGlvbmFs
CisgICAgLy8gY2FwdHVyZSB0eXBlIGNhbiBiZSBhbGxvd2VkIGZyb20gY2FwdHVyZWFjY2VwdE1J
TUVUeXBlcyBvZiBGaWxlQ2hvb3NlclNldHRpbmdzLgorCisgICAgbm90SW1wbGVtZW50ZWQoKTsK
K30KKyNlbmRpZgorCiB2b2lkIENocm9tZUNsaWVudEltcGw6OmxvYWRJY29uRm9yRmlsZXMoY29u
c3QgVmVjdG9yPFN0cmluZz4mIGZpbGVuYW1lcywgRmlsZUljb25Mb2FkZXIqIGxvYWRlcikKIHsK
ICAgICBpZiAoIW1fd2ViVmlldy0+Y2xpZW50KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9DaHJvbWVDbGllbnRJbXBsLmgKaW5kZXggMjNlMDJmZjNkOTk1MDRmYzI5OTgyZjM3MTE2
MzU2YTEwMDU0OTc2Yy4uNTdiZmRjOWM3YTMyN2U0ZGE0MGNlYWU0NjQ5NjRiNWU3ZmY3NjU3NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaApAQCAt
MTQyLDYgKzE0Miw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFBhc3NPd25QdHI8V2ViQ29yZTo6
Q29sb3JDaG9vc2VyPiBjcmVhdGVDb2xvckNob29zZXIoV2ViQ29yZTo6Q29sb3JDaG9vc2VyQ2xp
ZW50KiwgY29uc3QgV2ViQ29yZTo6Q29sb3ImKSBPVkVSUklERTsKICNlbmRpZgogICAgIHZpcnR1
YWwgdm9pZCBydW5PcGVuUGFuZWwoV2ViQ29yZTo6RnJhbWUqLCBQYXNzUmVmUHRyPFdlYkNvcmU6
OkZpbGVDaG9vc2VyPik7CisjaWYgRU5BQkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkKKyAgICB2aXJ0
dWFsIHZvaWQgcnVuQ2FwdHVyZVBhbmVsKFdlYkNvcmU6OkZyYW1lKiwgUGFzc1JlZlB0cjxXZWJD
b3JlOjpNZWRpYUNhcHR1cmVDaG9vc2VyPik7CisjZW5kaWYKICAgICB2aXJ0dWFsIHZvaWQgbG9h
ZEljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8V1RGOjpTdHJpbmc+JiwgV2ViQ29yZTo6RmlsZUlj
b25Mb2FkZXIqKTsKICNpZiBFTkFCTEUoRElSRUNUT1JZX1VQTE9BRCkKICAgICB2aXJ0dWFsIHZv
aWQgZW51bWVyYXRlQ2hvc2VuRGlyZWN0b3J5KFdlYkNvcmU6OkZpbGVDaG9vc2VyKik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwu
Y3BwIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNw
cAppbmRleCBhMjVmOWQwZTQ3MDhiYjBhYTU1YjRiZjU3MjI4MGY5NTkyOTkyMGNjLi41NjRkNTI3
N2EwNDIwNGE4ODdkNTI5OWZmMGZkMDJkYzQ2YjkwYTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAKQEAgLTQ0OSw2ICs0
NDksMTggQEAgdm9pZCBDaHJvbWVDbGllbnRFZmw6OnJ1bk9wZW5QYW5lbChGcmFtZSogZnJhbWUs
IFBhc3NSZWZQdHI8RmlsZUNob29zZXI+IHBycEZpbGUKICAgICAgICAgY2hvb3Nlci0+Y2hvb3Nl
RmlsZShmaWxlbmFtZXNbMF0pOwogfQogCisjaWYgRU5BQkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkK
K3ZvaWQgQ2hyb21lQ2xpZW50RWZsOjpydW5DYXB0dXJlUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRy
PE1lZGlhQ2FwdHVyZUNob29zZXI+KQoreworICAgIC8vIE5vdGU6IGNhcHR1cmVUeXBlKCkgaW4g
TWVkaWFDYXB0dXJlQ2hvb3NlciB3aWxsIHJldHVybiB0aGUgZGV0ZXJtaW5lZCB2YWx1ZSBmcm9t
CisgICAgLy8gdGhlIGludGVyYWN0aW9ucyBiZXR3ZWVuIHRoZSBjYXB0dXJlIGF0dHJpYnV0ZSBh
bmQgdGhlIGFjY2VwdCBhdHRyaWJ1dGUuIEl0J3MKKyAgICAvLyB0aGUgdmFsdWUgZm9yIHRoZSBw
YW5lbCB0eXBlIHRoYXQgc2hvdWxkIGJlIHByZXNlbnRlZCBieSBkZWZhdWx0LiBUaGUgYWRkaXRp
b25hbAorICAgIC8vIGNhcHR1cmUgdHlwZSBjYW4gYmUgYWxsb3dlZCBmcm9tIGNhcHR1cmVhY2Nl
cHRNSU1FVHlwZXMgb2YgRmlsZUNob29zZXJTZXR0aW5ncy4KKworICAgIG5vdEltcGxlbWVudGVk
KCk7Cit9CisjZW5kaWYKKwogdm9pZCBDaHJvbWVDbGllbnRFZmw6OmZvcm1TdGF0ZURpZENoYW5n
ZShjb25zdCBOb2RlKikKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmggYi9Tb3VyY2Uv
V2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaAppbmRleCA4MjUxMjI1
MWY2YTQ0MGVhNTkzMzAxM2UxMThkZjNjMDAyNGM3OWYzLi5iZjI3MWY4OTE3YzNkNzUxMDZhNzUy
ZDRkM2NiNGEwZWViMDMzYjI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaApAQCAtMTQzLDYgKzE0Myw5IEBAIHB1YmxpYzoKICNl
bmRpZgogCiAgICAgdmlydHVhbCB2b2lkIHJ1bk9wZW5QYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8
RmlsZUNob29zZXI+KTsKKyNpZiBFTkFCTEUoSFRNTF9NRURJQV9DQVBUVVJFKQorICAgIHZpcnR1
YWwgdm9pZCBydW5DYXB0dXJlUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPE1lZGlhQ2FwdHVyZUNo
b29zZXI+KTsKKyNlbmRpZgogICAgIHZpcnR1YWwgdm9pZCBsb2FkSWNvbkZvckZpbGVzKGNvbnN0
IFZlY3RvcjxTdHJpbmc+JiwgRmlsZUljb25Mb2FkZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgZm9y
bVN0YXRlRGlkQ2hhbmdlKGNvbnN0IE5vZGUqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQv
Z3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAKaW5kZXggODk0MjdhZWIyZmMx
ZTk3MjMwNzVmYTE5ZjY3N2FiNzljYzU2NzAzMC4uM2E2MTE5NmJiMmNmOWQwZmM1ZmNiZjgxMDM3
NjFlMDExNmQyZjU4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwCkBAIC04NDMsNiArODQzLDE4IEBAIHZvaWQgQ2hyb21l
Q2xpZW50OjpydW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPiBwcnBG
aWxlQ2hvb3NlcikKICAgICBndGtfd2lkZ2V0X2Rlc3Ryb3koZGlhbG9nKTsKIH0KIAorI2lmIEVO
QUJMRShIVE1MX01FRElBX0NBUFRVUkUpCit2b2lkIENocm9tZUNsaWVudDo6cnVuQ2FwdHVyZVBh
bmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxNZWRpYUNhcHR1cmVDaG9vc2VyPikKK3sKKyAgICAvLyBO
b3RlOiBjYXB0dXJlVHlwZSgpIGluIE1lZGlhQ2FwdHVyZUNob29zZXIgd2lsbCByZXR1cm4gdGhl
IGRldGVybWluZWQgdmFsdWUgZnJvbQorICAgIC8vIHRoZSBpbnRlcmFjdGlvbnMgYmV0d2VlbiB0
aGUgY2FwdHVyZSBhdHRyaWJ1dGUgYW5kIHRoZSBhY2NlcHQgYXR0cmlidXRlLiBJdCdzCisgICAg
Ly8gdGhlIHZhbHVlIGZvciB0aGUgcGFuZWwgdHlwZSB0aGF0IHNob3VsZCBiZSBwcmVzZW50ZWQg
YnkgZGVmYXVsdC4gVGhlIGFkZGl0aW9uYWwKKyAgICAvLyBjYXB0dXJlIHR5cGUgY2FuIGJlIGFs
bG93ZWQgZnJvbSBjYXB0dXJlYWNjZXB0TUlNRVR5cGVzIG9mIEZpbGVDaG9vc2VyU2V0dGluZ3Mu
CisKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorI2VuZGlmCisKIHZvaWQgQ2hyb21lQ2xpZW50
Ojpsb2FkSWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxXVEY6OlN0cmluZz4mIGZpbGVuYW1lcywg
V2ViQ29yZTo6RmlsZUljb25Mb2FkZXIqIGxvYWRlcikKIHsKICAgICBsb2FkZXItPm5vdGlmeUZp
bmlzaGVkKEljb246OmNyZWF0ZUljb25Gb3JGaWxlcyhmaWxlbmFtZXMpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oIGIvU291
cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmgKaW5kZXggOWQy
MTA1ZDZkZjdmYzQwZGJlOTcwYzUxYzE4NzBmNWQ5MTA5ZmFkOS4uNGNjYzMxNGU4NmE1NjkxNGMx
YTlmOGUxMzA2ZjEzNzRhNjJkNDE3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmgKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmgKQEAgLTEyOSw2ICsxMjksOSBAQCBuYW1lc3Bh
Y2UgV2ViS2l0IHsKICAgICAgICAgdmlydHVhbCB2b2lkIHNob3dDb250ZXh0TWVudSgpIHsgfQog
I2VuZGlmCiAgICAgICAgIHZpcnR1YWwgdm9pZCBydW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVm
UHRyPEZpbGVDaG9vc2VyPik7CisjaWYgRU5BQkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkKKyAgICAg
ICAgdmlydHVhbCB2b2lkIHJ1bkNhcHR1cmVQYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8TWVkaWFD
YXB0dXJlQ2hvb3Nlcj4pOworI2VuZGlmCiAgICAgICAgIHZpcnR1YWwgdm9pZCBsb2FkSWNvbkZv
ckZpbGVzKGNvbnN0IFZlY3RvcjxXVEY6OlN0cmluZz4mLCBGaWxlSWNvbkxvYWRlciopOwogCiAg
ICAgICAgIHZpcnR1YWwgdm9pZCBmb3JtU3RhdGVEaWRDaGFuZ2UoY29uc3QgTm9kZSopIHsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwppbmRleCAzZTIwOTAzNTVjOWE4MGMxNWY5ZTNlZTE1YTY2NDhkODlkODcy
MWJjLi41ZjQwZWRhYWRkMzQwYjM0YTg1ZTUxZTNkOWI2ZDE2OWZkMDJkMjBhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwpAQCAtODYsNiArODYsNyBAQCBFTkFCTEVfRklMRV9TWVNURU0gPSA7CiBFTkFCTEVf
RlVMTFNDUkVFTl9BUEkgPSBFTkFCTEVfRlVMTFNDUkVFTl9BUEk7CiBFTkFCTEVfR0FNRVBBRCA9
IDsKIEVOQUJMRV9HRU9MT0NBVElPTiA9IEVOQUJMRV9HRU9MT0NBVElPTjsKK0VOQUJMRV9IVE1M
X01FRElBX0NBUFRVUkUgPSA7CiBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSA9IDsKIEVOQUJMRV9J
TlBVVF9DT0xPUiA9IDsKIEVOQUJMRV9JTlBVVF9TUEVFQ0ggPSA7CkBAIC0xMjYsNCArMTI3LDQg
QEAgRU5BQkxFX1dFQl9USU1JTkcgPSA7CiBFTkFCTEVfV09SS0VSUyA9IEVOQUJMRV9XT1JLRVJT
OwogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFC
TEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxF
X0FOSU1BVElPTl9BUEkpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5H
KSAkKEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04pICQoRU5BQkxFX0NTU19GSUxURVJT
KSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19TSEFERVJTKSAkKEVOQUJM
RV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1QpICQoRU5BQkxFX0RBVEFfVFJB
TlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFMpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElP
TikgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5B
QkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAk
KEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9DT0xPUikgJChFTkFCTEVfSU5QVVRfU1BFRUNI
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9N
T05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUsp
ICQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQo
RU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFU
SVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9UQUcpICQoRU5BQkxFX01VVEFUSU9OX09CU0VSVkVSUykg
JChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChF
TkFCTEVfUFJPR1JFU1NfVEFHKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVHSVNURVJfUFJP
VE9DT0xfSEFORExFUikgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxF
X1NIQURPV19ET00pICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TUUxfREFUQUJB
U0UpICQoRU5BQkxFX1NUWUxFX1NDT1BFRCkgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfRE9N
X09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVYVF9OT1RJRklD
QVRJT05TX09OTFkpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVklERU8p
ICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElP
KSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV09S
S0VSUykgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5E
RVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQU5JTUFUSU9O
X0FQSSkgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxF
X0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikgJChFTkFCTEVfQ1NTX0ZJTFRFUlMpICQoRU5BQkxF
X0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX1NIQURFUlMpICQoRU5BQkxFX0RBU0hCT0FS
RF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVN
UykgJChFTkFCTEVfREVUQUlMUykgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9GSUxFX1NZU1RFTSkgJChFTkFCTEVfRklMVEVS
UykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dF
T0xPQ0FUSU9OKSAkKEVOQUJMRV9IVE1MX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX0lDT05EQVRB
QkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfQ09MT1IpICQo
RU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQo
RU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJM
RV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkg
JChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfVEFHKSAkKEVOQUJMRV9N
VVRBVElPTl9PQlNFUlZFUlMpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBR0Vf
VklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BST0dSRVNTX1RBRykgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFU
SU9OX0ZSQU1FKSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykg
JChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9TVFlMRV9TQ09QRUQpICQoRU5BQkxFX1NW
RykgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQo
RU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJ
TkcpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfV0VCR0wp
ICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9U
SU1JTkcpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCA2NmZhMDYw
YjVhNTNkYmMyZjM4ZWVhNmY1NDUyZDc2ZGE2YmIxZjkyLi44NDZmZDA5OGFmMjVlNzAwN2EwOWVh
ODI1MTg3ZjY3ZjMyNjYzMjVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMTIxLDYgKzEyMSw5IEBAIHB1YmxpYzoKICNl
bmRpZgogCiAgICAgdmlydHVhbCB2b2lkIHJ1bk9wZW5QYW5lbChXZWJDb3JlOjpGcmFtZSosIFBh
c3NSZWZQdHI8V2ViQ29yZTo6RmlsZUNob29zZXI+KSBPVkVSUklERTsKKyNpZiBFTkFCTEUoSFRN
TF9NRURJQV9DQVBUVVJFKQorICAgIHZpcnR1YWwgdm9pZCBydW5DYXB0dXJlUGFuZWwoV2ViQ29y
ZTo6RnJhbWUqLCBQYXNzUmVmUHRyPFdlYkNvcmU6Ok1lZGlhQ2FwdHVyZUNob29zZXI+KSBPVkVS
UklERTsKKyNlbmRpZgogICAgIHZpcnR1YWwgdm9pZCBsb2FkSWNvbkZvckZpbGVzKGNvbnN0IFZl
Y3RvcjxXVEY6OlN0cmluZz4mLCBXZWJDb3JlOjpGaWxlSWNvbkxvYWRlciopIE9WRVJSSURFOwog
CiAgICAgdmlydHVhbCB2b2lkIHNldEN1cnNvcihjb25zdCBXZWJDb3JlOjpDdXJzb3ImKSBPVkVS
UklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5tbQppbmRleCAzYmFjODdiOWM2OGMxMWQ5OWFiODkzMDAwMmQ0NTM2Y2ZlOGMwNzNi
Li44YmVlZDU3ODNjNDUyYzc1ZjM1YWRiZmExNjIxZTA4M2ViOTllOTRlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KKysrIGIv
U291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCkBAIC03
NDYsNiArNzQ2LDE4IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpydW5PcGVuUGFuZWwoRnJhbWUq
LCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPiBjaG9vc2VyKQogICAgIEVORF9CTE9DS19PQkpDX0VY
Q0VQVElPTlM7CiB9CiAKKyNpZiBFTkFCTEUoSFRNTF9NRURJQV9DQVBUVVJFKQordm9pZCBXZWJD
aHJvbWVDbGllbnQ6OnJ1bkNhcHR1cmVQYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8TWVkaWFDYXB0
dXJlQ2hvb3Nlcj4pCit7CisgICAgLy8gTm90ZTogY2FwdHVyZVR5cGUoKSBpbiBNZWRpYUNhcHR1
cmVDaG9vc2VyIHdpbGwgcmV0dXJuIHRoZSBkZXRlcm1pbmVkIHZhbHVlIGZyb20KKyAgICAvLyB0
aGUgaW50ZXJhY3Rpb25zIGJldHdlZW4gdGhlIGNhcHR1cmUgYXR0cmlidXRlIGFuZCB0aGUgYWNj
ZXB0IGF0dHJpYnV0ZS4gSXQncworICAgIC8vIHRoZSB2YWx1ZSBmb3IgdGhlIHBhbmVsIHR5cGUg
dGhhdCBzaG91bGQgYmUgcHJlc2VudGVkIGJ5IGRlZmF1bHQuIFRoZSBhZGRpdGlvbmFsCisgICAg
Ly8gY2FwdHVyZSB0eXBlIGNhbiBiZSBhbGxvd2VkIGZyb20gY2FwdHVyZWFjY2VwdE1JTUVUeXBl
cyBvZiBGaWxlQ2hvb3NlclNldHRpbmdzLgorCisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKyNl
bmRpZgorCiB2b2lkIFdlYkNocm9tZUNsaWVudDo6bG9hZEljb25Gb3JGaWxlcyhjb25zdCBWZWN0
b3I8U3RyaW5nPiYgZmlsZW5hbWVzLCBGaWxlSWNvbkxvYWRlciogaWNvbkxvYWRlcikKIHsKICAg
ICBpY29uTG9hZGVyLT5ub3RpZnlGaW5pc2hlZChJY29uOjpjcmVhdGVJY29uRm9yRmlsZXMoZmls
ZW5hbWVzKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0No
cm9tZUNsaWVudFF0LmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50UXQuY3BwCmluZGV4IGYxMjliNTg3MTYxZTg2OTg2MzVlZTQ2MWQ1ODU4NzgyNTZkNmE2
MWMuLjM3YTJmMGIwMTY5ZmVmYTBjMWMzNzViZGU0MGRiOGZiZWRmYjA4NmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwCkBAIC01
ODgsNiArNTg4LDE4IEBAIHZvaWQgQ2hyb21lQ2xpZW50UXQ6OnJ1bk9wZW5QYW5lbChGcmFtZSog
ZnJhbWUsIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+IHBycEZpbGVDCiAgICAgfQogfQogCisjaWYg
RU5BQkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkKK3ZvaWQgQ2hyb21lQ2xpZW50UXQ6OnJ1bkNhcHR1
cmVQYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8TWVkaWFDYXB0dXJlQ2hvb3Nlcj4pCit7CisgICAg
Ly8gTm90ZTogY2FwdHVyZVR5cGUoKSBpbiBNZWRpYUNhcHR1cmVDaG9vc2VyIHdpbGwgcmV0dXJu
IHRoZSBkZXRlcm1pbmVkIHZhbHVlIGZyb20KKyAgICAvLyB0aGUgaW50ZXJhY3Rpb25zIGJldHdl
ZW4gdGhlIGNhcHR1cmUgYXR0cmlidXRlIGFuZCB0aGUgYWNjZXB0IGF0dHJpYnV0ZS4gSXQncwor
ICAgIC8vIHRoZSB2YWx1ZSBmb3IgdGhlIHBhbmVsIHR5cGUgdGhhdCBzaG91bGQgYmUgcHJlc2Vu
dGVkIGJ5IGRlZmF1bHQuIFRoZSBhZGRpdGlvbmFsCisgICAgLy8gY2FwdHVyZSB0eXBlIGNhbiBi
ZSBhbGxvd2VkIGZyb20gY2FwdHVyZWFjY2VwdE1JTUVUeXBlcyBvZiBGaWxlQ2hvb3NlclNldHRp
bmdzLgorCisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKyNlbmRpZgorCiB2b2lkIENocm9tZUNs
aWVudFF0Ojpsb2FkSWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBmaWxlbmFtZXMs
IEZpbGVJY29uTG9hZGVyKiBsb2FkZXIpCiB7CiAgICAgbG9hZGVyLT5ub3RpZnlGaW5pc2hlZChJ
Y29uOjpjcmVhdGVJY29uRm9yRmlsZXMoZmlsZW5hbWVzKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmggYi9Tb3VyY2UvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmgKaW5kZXggM2Q0NWI3YjUxYTJlMzIw
MDQ0ZTY0MDFmNzA4YmIyYzA4ZjM3NTVjNC4uYWYyNWE1OTU2MmE0ZWUxMzgyN2FlMDZjMGY4NjJj
OWVlYzI5ZDM4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRRdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hy
b21lQ2xpZW50UXQuaApAQCAtMTY3LDYgKzE2Nyw5IEBAIHB1YmxpYzoKICAgICBGdWxsU2NyZWVu
VmlkZW9RdCogZnVsbFNjcmVlblZpZGVvKCk7CiAjZW5kaWYKICAgICAgdmlydHVhbCB2b2lkIHJ1
bk9wZW5QYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+KTsKKyNpZiBFTkFCTEUo
SFRNTF9NRURJQV9DQVBUVVJFKQorICAgICB2aXJ0dWFsIHZvaWQgcnVuQ2FwdHVyZVBhbmVsKEZy
YW1lKiwgUGFzc1JlZlB0cjxNZWRpYUNhcHR1cmVDaG9vc2VyPik7CisjZW5kaWYKICAgICAgdmly
dHVhbCB2b2lkIGxvYWRJY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mLCBGaWxlSWNv
bkxvYWRlciopOwogCiAgICAgdmlydHVhbCB2b2lkIGZvcm1TdGF0ZURpZENoYW5nZShjb25zdCBO
b2RlKikgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmNwcAppbmRleCBjY2E5ZWMwZTc3OGU4ZGYxOWQ0M2RiNjJjYmYyNjllYzk0
NjczOTM3Li41OTE1YjY1ZGFhYjAwOWViZmI3MGZlNGUzNWEwZGYyYTk0OTM5Y2VhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5j
cHAKQEAgLTcwMSw2ICs3MDEsMTggQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OnJ1bk9wZW5QYW5l
bChGcmFtZSosIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+IHBycEZpbGVDaG9vc2UKICAgICAvLyBG
SVhNRTogU2hvdyBzb21lIHNvcnQgb2YgZXJyb3IgaWYgdG9vIG1hbnkgZmlsZXMgYXJlIHNlbGVj
dGVkIGFuZCB0aGUgYnVmZmVyIGlzIHRvbyBzbWFsbC4gIEZvciBub3csIHRoaXMgd2lsbCBmYWls
IHNpbGVudGx5LgogfQogCisjaWYgRU5BQkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkKK3ZvaWQgV2Vi
Q2hyb21lQ2xpZW50OjpydW5DYXB0dXJlUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPE1lZGlhQ2Fw
dHVyZUNob29zZXI+KQoreworICAgIC8vIE5vdGU6IGNhcHR1cmVUeXBlKCkgaW4gTWVkaWFDYXB0
dXJlQ2hvb3NlciB3aWxsIHJldHVybiB0aGUgZGV0ZXJtaW5lZCB2YWx1ZSBmcm9tCisgICAgLy8g
dGhlIGludGVyYWN0aW9ucyBiZXR3ZWVuIHRoZSBjYXB0dXJlIGF0dHJpYnV0ZSBhbmQgdGhlIGFj
Y2VwdCBhdHRyaWJ1dGUuIEl0J3MKKyAgICAvLyB0aGUgdmFsdWUgZm9yIHRoZSBwYW5lbCB0eXBl
IHRoYXQgc2hvdWxkIGJlIHByZXNlbnRlZCBieSBkZWZhdWx0LiBUaGUgYWRkaXRpb25hbAorICAg
IC8vIGNhcHR1cmUgdHlwZSBjYW4gYmUgYWxsb3dlZCBmcm9tIGNhcHR1cmVhY2NlcHRNSU1FVHlw
ZXMgb2YgRmlsZUNob29zZXJTZXR0aW5ncy4KKworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9Cisj
ZW5kaWYKKwogdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmxvYWRJY29uRm9yRmlsZXMoY29uc3QgVmVj
dG9yPFdURjo6U3RyaW5nPiYgZmlsZW5hbWVzLCBXZWJDb3JlOjpGaWxlSWNvbkxvYWRlciogbG9h
ZGVyKQogewogICAgIGxvYWRlci0+bm90aWZ5RmluaXNoZWQoSWNvbjo6Y3JlYXRlSWNvbkZvckZp
bGVzKGZpbGVuYW1lcykpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCAyYTlhOGZlN2YzZDRmNDUzZmU0YWIxZjBlZGNiOWRk
MzlmYWFiYzliLi44OWMyNzQ5MDMyMjQ0ZDVlODA4MTdhNWNmNzEzN2E2ZTIzM2ZhY2EwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
aApAQCAtMTI3LDYgKzEyNyw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcG9wdWxhdGVW
aXNpdGVkTGlua3MoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBydW5PcGVuUGFuZWwoV2ViQ29yZTo6
RnJhbWUqLCBQYXNzUmVmUHRyPFdlYkNvcmU6OkZpbGVDaG9vc2VyPik7CisjaWYgRU5BQkxFKEhU
TUxfTUVESUFfQ0FQVFVSRSkKKyAgICB2aXJ0dWFsIHZvaWQgcnVuQ2FwdHVyZVBhbmVsKFdlYkNv
cmU6OkZyYW1lKiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpNZWRpYUNhcHR1cmVDaG9vc2VyPik7Cisj
ZW5kaWYKICAgICB2aXJ0dWFsIHZvaWQgbG9hZEljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8V1RG
OjpTdHJpbmc+JiwgV2ViQ29yZTo6RmlsZUljb25Mb2FkZXIqKTsKIAogICAgIHZpcnR1YWwgdm9p
ZCBzZXRDdXJzb3IoY29uc3QgV2ViQ29yZTo6Q3Vyc29yJik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuY3BwCmluZGV4
IDZhMGUyNWE0ZDgwM2VlOGI0OTMwMDcwYmE5YzFhZjBhYmEyZWQ5MjQuLmQ0YTVjOGEyZmMyOTBm
NjYzOTQ4ZGFhNWQ4YWVlMTJhMWNhNWMwMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2lu
Y2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuY3BwCkBAIC0zNDQsNiAr
MzQ0LDE4IEBAIHZvaWQgQ2hyb21lQ2xpZW50V2luQ0U6OnJ1bk9wZW5QYW5lbChGcmFtZSosIFBh
c3NSZWZQdHI8RmlsZUNob29zZXI+IHBycEZpbGVDaG9vCiAgICAgbm90SW1wbGVtZW50ZWQoKTsK
IH0KIAorI2lmIEVOQUJMRShIVE1MX01FRElBX0NBUFRVUkUpCit2b2lkIENocm9tZUNsaWVudFdp
bkNFOjpydW5DYXB0dXJlUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPE1lZGlhQ2FwdHVyZUNob29z
ZXI+KQoreworICAgIC8vIE5vdGU6IGNhcHR1cmVUeXBlKCkgaW4gTWVkaWFDYXB0dXJlQ2hvb3Nl
ciB3aWxsIHJldHVybiB0aGUgZGV0ZXJtaW5lZCB2YWx1ZSBmcm9tCisgICAgLy8gdGhlIGludGVy
YWN0aW9ucyBiZXR3ZWVuIHRoZSBjYXB0dXJlIGF0dHJpYnV0ZSBhbmQgdGhlIGFjY2VwdCBhdHRy
aWJ1dGUuIEl0J3MKKyAgICAvLyB0aGUgdmFsdWUgZm9yIHRoZSBwYW5lbCB0eXBlIHRoYXQgc2hv
dWxkIGJlIHByZXNlbnRlZCBieSBkZWZhdWx0LiBUaGUgYWRkaXRpb25hbAorICAgIC8vIGNhcHR1
cmUgdHlwZSBjYW4gYmUgYWxsb3dlZCBmcm9tIGNhcHR1cmVhY2NlcHRNSU1FVHlwZXMgb2YgRmls
ZUNob29zZXJTZXR0aW5ncy4KKworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisjZW5kaWYKKwog
dm9pZCBDaHJvbWVDbGllbnRXaW5DRTo6bG9hZEljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3Ry
aW5nPiYgZmlsZW5hbWVzLCBGaWxlSWNvbkxvYWRlciogbG9hZGVyKQogewogICAgIGxvYWRlci0+
bm90aWZ5RmluaXNoZWQoSWNvbjo6Y3JlYXRlSWNvbkZvckZpbGVzKGZpbGVuYW1lcykpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRX
aW5DRS5oIGIvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRX
aW5DRS5oCmluZGV4IDYxMzc4M2EwMzNlNTlhY2E5MWQ5ODQ1MzYwMDA2NDkwNWMyMDYyMTMuLmMz
ODI4MDA5ZjhjYzQ3M2Q0ODcwZDJhZTM1YmRjZWE3ZTk0MDEzNTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaAorKysgYi9T
b3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmgKQEAg
LTE0NSw2ICsxNDUsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGNhbmNlbEdlb2xvY2F0
aW9uUGVybWlzc2lvblJlcXVlc3RGb3JGcmFtZShXZWJDb3JlOjpGcmFtZSosIFdlYkNvcmU6Okdl
b2xvY2F0aW9uKik7CiAKICAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKFdlYkNvcmU6OkZy
YW1lKiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpGaWxlQ2hvb3Nlcj4pOworI2lmIEVOQUJMRShIVE1M
X01FRElBX0NBUFRVUkUpCisgICAgdmlydHVhbCB2b2lkIHJ1bkNhcHR1cmVQYW5lbChXZWJDb3Jl
OjpGcmFtZSosIFBhc3NSZWZQdHI8V2ViQ29yZTo6TWVkaWFDYXB0dXJlQ2hvb3Nlcj4pOworI2Vu
ZGlmCiAgICAgLy8gQXN5bmNocm9ub3VzIHJlcXVlc3QgdG8gbG9hZCBhbiBpY29uIGZvciBzcGVj
aWZpZWQgZmlsZW5hbWVzLgogICAgIHZpcnR1YWwgdm9pZCBsb2FkSWNvbkZvckZpbGVzKGNvbnN0
IFZlY3RvcjxXVEY6OlN0cmluZz4mLCBXZWJDb3JlOjpGaWxlSWNvbkxvYWRlciopOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guY3Bw
IGIvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmNwcAppbmRl
eCBiYzk4NzI0MTRkNDMxM2JhYzQzZGZkYzA5NWM3YmZlOTE3OTZhM2RiLi43MzViYTFiOTVjNmFi
ZTFkZmMyZjdlYTU0ODQyMjEwMDk5ZDAzZTg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3d4
L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd3gv
V2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5jcHAKQEAgLTQ1NCw2ICs0NTQsMTggQEAgdm9p
ZCBDaHJvbWVDbGllbnRXeDo6cnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxlQ2hv
b3Nlcj4pCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAorI2lmIEVOQUJMRShIVE1MX01FRElB
X0NBUFRVUkUpCit2b2lkIENocm9tZUNsaWVudFd4OjpydW5DYXB0dXJlUGFuZWwoRnJhbWUqLCBQ
YXNzUmVmUHRyPE1lZGlhQ2FwdHVyZUNob29zZXI+KQoreworICAgIC8vIE5vdGU6IGNhcHR1cmVU
eXBlKCkgaW4gTWVkaWFDYXB0dXJlQ2hvb3NlciB3aWxsIHJldHVybiB0aGUgZGV0ZXJtaW5lZCB2
YWx1ZSBmcm9tCisgICAgLy8gdGhlIGludGVyYWN0aW9ucyBiZXR3ZWVuIHRoZSBjYXB0dXJlIGF0
dHJpYnV0ZSBhbmQgdGhlIGFjY2VwdCBhdHRyaWJ1dGUuIEl0J3MKKyAgICAvLyB0aGUgdmFsdWUg
Zm9yIHRoZSBwYW5lbCB0eXBlIHRoYXQgc2hvdWxkIGJlIHByZXNlbnRlZCBieSBkZWZhdWx0LiBU
aGUgYWRkaXRpb25hbAorICAgIC8vIGNhcHR1cmUgdHlwZSBjYW4gYmUgYWxsb3dlZCBmcm9tIGNh
cHR1cmVhY2NlcHRNSU1FVHlwZXMgb2YgRmlsZUNob29zZXJTZXR0aW5ncy4KKworICAgIG5vdElt
cGxlbWVudGVkKCk7Cit9CisjZW5kaWYKKwogdm9pZCBDaHJvbWVDbGllbnRXeDo6bG9hZEljb25G
b3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgZmlsZW5hbWVzLCBGaWxlSWNvbkxvYWRlciog
bG9hZGVyKQogewogICAgIGxvYWRlci0+bm90aWZ5RmluaXNoZWQoSWNvbjo6Y3JlYXRlSWNvbkZv
ckZpbGVzKGZpbGVuYW1lcykpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93eC9XZWJLaXRT
dXBwb3J0L0Nocm9tZUNsaWVudFd4LmggYi9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQv
Q2hyb21lQ2xpZW50V3guaAppbmRleCAyYjZjZGVmNjEyY2FmY2Q0ZjI1MDEzNDUxNjhkYTNjZTcw
NTg4NTY5Li42ZTZiZDE0MGYxYzljMGMxNGJjNjg3MTU1NTFjNTA3MTk2ZTc4ZjhmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaApAQCAtMTMy
LDYgKzEzMiw5IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAgdmlydHVhbCB2b2lkIHJ1bk9wZW5Q
YW5lbChGcmFtZSosIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+KTsKKyNpZiBFTkFCTEUoSFRNTF9N
RURJQV9DQVBUVVJFKQorICAgIHZpcnR1YWwgdm9pZCBydW5DYXB0dXJlUGFuZWwoRnJhbWUqLCBQ
YXNzUmVmUHRyPE1lZGlhQ2FwdHVyZUNob29zZXI+KTsKKyNlbmRpZgogICAgIHZpcnR1YWwgdm9p
ZCBsb2FkSWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgRmlsZUljb25Mb2FkZXIq
KTsKIAogICAgIHZpcnR1YWwgdm9pZCBmb3JtU3RhdGVEaWRDaGFuZ2UoY29uc3QgTm9kZSopIHsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UgYi9Tb3VyY2UvY21h
a2UvT3B0aW9uc0VmbC5jbWFrZQppbmRleCA3ZGY0NDQyOTg4MjBjYjM0ZjdlYWIyODBlYWNkNmM2
MTUyN2QwM2ZjLi4yM2YzMDAyNjlkY2E4M2VjNDE3YmZjODA4ZmRlNjljZjYwMGZiYjE3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2Uv
T3B0aW9uc0VmbC5jbWFrZQpAQCAtNzUsNiArNzUsNyBAQCBXRUJLSVRfRkVBVFVSRShFTkFCTEVf
RklMVEVSUyAiRW5hYmxlIFNWRyBmaWx0ZXJzIiBERUZBVUxUIE9OKQogV0VCS0lUX0ZFQVRVUkUo
RU5BQkxFX0ZUUERJUiAiRW5hYmxlIEZUUCBkaXJlY3Rvcnkgc3VwcG9ydCIgREVGQVVMVCBPTikK
IFdFQktJVF9GRUFUVVJFKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSAiRW5hYmxlIEZ1bGxzY3JlZW4g
QVBJIHN1cHBvcnQiIERFRkFVTFQgT0ZGKQogV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX0dFT0xPQ0FU
SU9OICJFbmFibGUgZ2VvbG9jYXRpb24iIERFRkFVTFQgT0ZGKQorV0VCS0lUX0ZFQVRVUkUoRU5B
QkxFX0hUTUxfTUVESUFfQ0FQVFVSRSAiRW5hYmxlIEhUTUwgTWVkaWEgQ2FwdHVyZSIgREVGQVVM
VCBPTikKIFdFQktJVF9GRUFUVVJFKEVOQUJMRV9JQ09OREFUQUJBU0UgIkVuYWJsZSBpY29uIGRh
dGFiYXNlIiBERUZBVUxUIE9OKQogV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX0lOU1BFQ1RPUiAiRW5h
YmxlIGluc3BlY3RvciIgREVGQVVMVCBPTikKIFdFQktJVF9GRUFUVVJFKEVOQUJMRV9KQVZBU0NS
SVBUX0RFQlVHR0VSICJFbmFibGUgSmF2YVNjcmlwdCBkZWJ1Z2dlciIgREVGQVVMVCBPTikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlIGIvU291cmNlL2NtYWtlY29uZmln
LmguY21ha2UKaW5kZXggNmQzZjgzNzk0NzI5M2MxZDI1MzBkZGI0MTg4OGU5NGQ2NWUxYjRiOC4u
MzdiZDU0NDQ1NDBhYzU0MzBlNzAzNGRiNzI1YzljYTBmMmU4ODlkYyAxMDA2NDQKLS0tIGEvU291
cmNlL2NtYWtlY29uZmlnLmguY21ha2UKKysrIGIvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UK
QEAgLTE5LDYgKzE5LDcgQEAKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9GVUxMU0NSRUVOX0FQSQog
I2NtYWtlZGVmaW5lMDEgRU5BQkxFX0dFT0xPQ0FUSU9OCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVf
R0xJQl9TVVBQT1JUCisjY21ha2VkZWZpbmUwMSBFTkFCTEVfSFRNTF9NRURJQV9DQVBUVVJFCiAj
Y21ha2VkZWZpbmUwMSBFTkFCTEVfSUNPTkRBVEFCQVNFCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRQogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0lOU1BFQ1RPUgpkaWZmIC0t
Z2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGVhMWQwNzRkNDEw
ZjVhMzJkZTJiZTc1NjRjZWRhYTU5NTYxMmE4ZjMuLjg3YTNmYTE4ZTQyZTRkODgzM2M1OWE1Yjcz
OWQ2YjJhYmU3YWFkMDkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0wMi0xNiAgSm9uZ3Nlb2sgWWFuZyAgPGpz
NDUueWFuZ0BzYW1zdW5nLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgdGhlIGludGVyZmFjZSBm
b3IgbWVkaWEgY2FwdHVyZSBwYW5lbCB0byBzdXBwb3J0IEhUTUwgTWVkaWEgQ2FwdHVyZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMwNjIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgb3B0aW9uIGZv
ciBIVE1MIE1lZGlhIENhcHR1cmUuCisKKyAgICAgICAgKiBTY3JpcHRzL2J1aWxkLXdlYmtpdDoK
KyAgICAgICAgKiBxbWFrZS9ta3NwZWNzL2ZlYXR1cmVzL2ZlYXR1cmVzLnByZjoKKwogMjAxMi0w
Mi0xNiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgW0dUS10gTWFrZSBpbnN0YWxsIGlzIGJyb2tlbiB3aGVuIGJ1aWxkaW5nIHdpdGhvdXQgLS1l
bmFibGUtZ3RrLWRvYwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQgYi9U
b29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdAppbmRleCBjZGY2MmEwN2FkZDc4ZTQ1NzExMmViNzQ1
NzNjNWEwYTYwMjhmMGMxLi45MTA4YjNmNGIzMjg4NjM1YjdjYzNkNzAxMjEzY2VlNDg1OTU3YzRh
IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdAorKysgYi9Ub29scy9TY3Jp
cHRzL2J1aWxkLXdlYmtpdApAQCAtOTAsNiArOTAsNyBAQCBteSAoCiAgICAgJGZ1bGxzY3JlZW5B
UElTdXBwb3J0LAogICAgICRnYW1lcGFkU3VwcG9ydCwKICAgICAkZ2VvbG9jYXRpb25TdXBwb3J0
LAorICAgICRodG1sTWVkaWFDYXB0dXJlU3VwcG9ydCwKICAgICAkaWNvbkRhdGFiYXNlU3VwcG9y
dCwKICAgICAkaW1hZ2VSZXNpemVyU3VwcG9ydCwKICAgICAkaW5kZXhlZERhdGFiYXNlU3VwcG9y
dCwKQEAgLTIxNSw2ICsyMTYsOSBAQCBteSBAZmVhdHVyZXMgPSAoCiAgICAgeyBvcHRpb24gPT4g
Imdlb2xvY2F0aW9uIiwgZGVzYyA9PiAiVG9nZ2xlIEdlb2xvY2F0aW9uIHN1cHBvcnQiLAogICAg
ICAgZGVmaW5lID0+ICJFTkFCTEVfR0VPTE9DQVRJT04iLCBkZWZhdWx0ID0+IChpc0FwcGxlV2Vi
S2l0KCkgfHwgaXNHdGsoKSB8fCBpc0JsYWNrQmVycnkoKSksIHZhbHVlID0+IFwkZ2VvbG9jYXRp
b25TdXBwb3J0IH0sCiAKKyAgICB7IG9wdGlvbiA9PiAiaHRtbC1tZWRpYS1jYXB0dXJlIiwgZGVz
YyA9PiAiVG9nZ2xlIEhUTUwgTWVkaWEgQ2FwdHVyZSBzdXBwb3J0IiwKKyAgICAgIGRlZmluZSA9
PiAiRU5BQkxFX0hUTUxfTUVESUFfQ0FQVFVSRSIsIGRlZmF1bHQgPT4gaXNFZmwoKSwgdmFsdWUg
PT4gXCRodG1sTWVkaWFDYXB0dXJlU3VwcG9ydCB9LAorCiAgICAgeyBvcHRpb24gPT4gImljb24t
ZGF0YWJhc2UiLCBkZXNjID0+ICJUb2dnbGUgSWNvbiBkYXRhYmFzZSBzdXBwb3J0IiwKICAgICAg
IGRlZmluZSA9PiAiRU5BQkxFX0lDT05EQVRBQkFTRSIsIGRlZmF1bHQgPT4gMSwgdmFsdWUgPT4g
XCRpY29uRGF0YWJhc2VTdXBwb3J0IH0sCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL3FtYWtlL21rc3Bl
Y3MvZmVhdHVyZXMvZmVhdHVyZXMucHJmIGIvVG9vbHMvcW1ha2UvbWtzcGVjcy9mZWF0dXJlcy9m
ZWF0dXJlcy5wcmYKaW5kZXggZWE3MzFlNDhlNjE5NjRmYzhiZDA1MDc3YTc0YzQyZDZiZmI0ZmY3
Yy4uNTg0ZGFiYmNiOGU4NTA1YzUzZTcyMjkyZTNmNDQ5MjRlYjJlMWE3MSAxMDA2NDQKLS0tIGEv
VG9vbHMvcW1ha2UvbWtzcGVjcy9mZWF0dXJlcy9mZWF0dXJlcy5wcmYKKysrIGIvVG9vbHMvcW1h
a2UvbWtzcGVjcy9mZWF0dXJlcy9mZWF0dXJlcy5wcmYKQEAgLTg1LDYgKzg1LDcgQEAgaGF2ZVF0
KDQpOnVuaXg6IW1hYzohZW1iZWRkZWQgewogIWNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9NRURJ
QV9TVFJFQU09Lik6IERFRklORVMgKz0gRU5BQkxFX01FRElBX1NUUkVBTT0wCiAhY29udGFpbnMo
REVGSU5FUywgRU5BQkxFX1ZJREVPX1RSQUNLPS4pOiBERUZJTkVTICs9IEVOQUJMRV9WSURFT19U
UkFDSz0wCiAhY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORz0uKTog
REVGSU5FUyArPSBFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HPTAKKyFjb250YWlucyhERUZJTkVT
LCBFTkFCTEVfSFRNTF9NRURJQV9DQVBUVVJFPS4pOiBERUZJTkVTICs9IEVOQUJMRV9IVE1MX01F
RElBX0NBUFRVUkU9MAogIWNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9BTklNQVRJT05fQVBJPS4p
OiBERUZJTkVTICs9IEVOQUJMRV9BTklNQVRJT05fQVBJPTAKIAogIyBFbmFibGVkIGluIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCBpZiBub3Qgc2V0CmRpZmYgLS1naXQgYS9D
aGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggY2Q1MWEzOWEwNjEzNTVjN2ZmNmQwMWQ1ZDliZjFm
YjY5M2Q3NWQ4Ny4uM2FkYTRhYTBmNjM2ZWI2YTg0NjM0MGMwZDQ2NzkzNDQ0MWI3NDcyYSAxMDA2
NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEy
LTAyLTE2ICBKb25nc2VvayBZYW5nICA8anM0NS55YW5nQHNhbXN1bmcuY29tPgorCisgICAgICAg
IEltcGxlbWVudCB0aGUgaW50ZXJmYWNlIGZvciBtZWRpYSBjYXB0dXJlIHBhbmVsIHRvIHN1cHBv
cnQgSFRNTCBNZWRpYSBDYXB0dXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02MzA2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCBvcHRpb24gZm9yIEhUTUwgTWVkaWEgQ2FwdHVyZS4KKworICAgICAg
ICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlOgorICAgICAgICAqIFNvdXJjZS9jbWFr
ZWNvbmZpZy5oLmNtYWtlOgorICAgICAgICAqIGNvbmZpZ3VyZS5hYzoKKwogMjAxMi0wMi0xNiAg
U2ltb24gSGF1c21hbm4gIDxzaW1vbi5oYXVzbWFubkBub2tpYS5jb20+CiAKICAgICAgICAgW1F0
XSBNb3ZlIGV2ZW50IGNvbnZlcnNpb24gZnVuY3Rpb25zIGZyb20gV2ViQ29yZSB0byBXZWJLaXQK
ZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwppbmRleCBiZjgxMjk1YTJm
ZTYwODMyY2IwMjQ0ZjEyYTY5NjExM2M1ZGNiNjYzLi4zZGM0NzM2YjQ4N2Q4NTAzYmY2Njc3MTM1
NGMxMjEzNjBmNjA2MmQyIDEwMDY0NAotLS0gYS9jb25maWd1cmUuYWMKKysrIGIvY29uZmlndXJl
LmFjCkBAIC0xMDYzLDYgKzEwNjMsMTQgQEAgQUNfQVJHX0VOQUJMRShkZXZpY2Vfb3JpZW50YXRp
b24sCiAgICAgICAgICAgICAgIFtdLFtlbmFibGVfZGV2aWNlX29yaWVudGF0aW9uPSJubyJdKQog
QUNfTVNHX1JFU1VMVChbJGVuYWJsZV9kZXZpY2Vfb3JpZW50YXRpb25dKQogCisjIGNoZWNrIHdo
ZXRoZXIgdG8gZW5hYmxlIEhUTUwgTWVkaWEgQ2FwdHVyZQorQUNfTVNHX0NIRUNLSU5HKFt3aGV0
aGVyIHRvIGVuYWJsZSBIVE1MIE1lZGlhIENhcHR1cmVdKQorQUNfQVJHX0VOQUJMRShodG1sX21l
ZGlhX2NhcHR1cmUsCisgICAgICAgICAgICAgIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1odG1s
LW1lZGlhLWNhcHR1cmVdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZW5hYmxlIHN1
cHBvcnQgZm9yIEhUTUwgTWVkaWEgQ2FwdHVyZSBbZGVmYXVsdD1ub11dKSwKKyAgICAgICAgICAg
ICAgW10sIFtlbmFibGVfaHRtbF9tZWRpYV9jYXB0dXJlPSJubyJdKQorQUNfTVNHX1JFU1VMVChb
JGVuYWJsZV9odG1sX21lZGlhX2NhcHR1cmVdKQorCiBHX0lSX1NDQU5ORVI9CiBHX0lSX0NPTVBJ
TEVSPQogR19JUl9HRU5FUkFURT0KQEAgLTEzNDEsNiArMTM0OSw3IEBAIEFNX0NPTkRJVElPTkFM
KFtFTkFCTEVfSU5QVVRfU1BFRUNIXSxbdGVzdCAiJGVuYWJsZV9pbnB1dF9zcGVlY2giID0gInll
cyJdKQogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9YU0xUXSxbdGVzdCAiJGVuYWJsZV94c2x0IiA9
ICJ5ZXMiXSkKIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfRklMVEVSU10sW3Rlc3QgIiRlbmFibGVf
ZmlsdGVycyIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX0dFT0xPQ0FUSU9OXSwg
W3Rlc3QgIiRlbmFibGVfZ2VvbG9jYXRpb24iID0gInllcyJdKQorQU1fQ09ORElUSU9OQUwoW0VO
QUJMRV9IVE1MX01FRElBX0NBUFRVUkVdLCBbdGVzdCAiJGVuYWJsZV9odG1sX21lZGlhX2NhcHR1
cmUiID0gInllcyJdKQogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9NQVRITUxdLCBbdGVzdCAiJGVu
YWJsZV9tYXRobWwiID0gInllcyJdKQogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9NSFRNTF0sIFt0
ZXN0ICIkZW5hYmxlX21odG1sIiA9ICJ5ZXMiXSkKIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfVklE
RU9dLFt0ZXN0ICIkZW5hYmxlX3ZpZGVvIiA9ICJ5ZXMiXSkKQEAgLTE0MzYsNiArMTQ0NSw3IEBA
IEZlYXR1cmVzOgogIE1lZGlhIHNvdXJjZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDogJGVuYWJsZV9tZWRpYV9zb3VyY2UKICBNZWRpYSBzdGF0aXN0aWNzICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRlbmFibGVfbWVkaWFfc3Rh
dGlzdGljcwogIE1IVE1MIHN1cHBvcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDogJGVuYWJsZV9taHRtbAorIEhUTUwgTWVkaWEgQ2FwdHVyZSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGVuYWJsZV9odG1sX21lZGlhX2NhcHR1cmUK
ICBIVE1MNSBjaGFubmVsIG1lc3NhZ2luZyBzdXBwb3J0ICAgICAgICAgICAgICAgICAgICAgICAg
ICA6ICRlbmFibGVfY2hhbm5lbF9tZXNzYWdpbmcKICBIVE1MNSBtZXRlciBlbGVtZW50IHN1cHBv
cnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRlbmFibGVfbWV0ZXJfdGFnCiAgSFRN
TDUgbWljcm9kYXRhIHN1cHBvcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAk
ZW5hYmxlX21pY3JvZGF0YQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129020</attachid>
            <date>2012-02-27 05:30:21 -0800</date>
            <delta_ts>2012-02-27 05:38:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-63062-20120227223016.patch</filename>
            <type>text/plain</type>
            <size>58909</size>
            <attacher name="Jongseok Yang">js45.yang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4MDQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
ZGYwZjNlNWIzMTg0ZmYyYmE4OGRlNGFiYjNlNDZkNDkyYjZhYTkyLi5hNTdkZGE5MjZkNDdmZTEw
MjRmOWEzNjUxN2M5OWEzMGY5MjJhNzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAxMi0wMi0xNiAgSm9uZ3Nlb2sgWWFuZyAgPGpzNDUueWFuZ0BzYW1zdW5n
LmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgdGhlIGludGVyZmFjZSBmb3IgbWVkaWEgY2FwdHVy
ZSBwYW5lbCB0byBzdXBwb3J0IEhUTUwgTWVkaWEgQ2FwdHVyZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMwNjIKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgb3B0aW9uIGZvciBIVE1MIE1lZGlhIENh
cHR1cmUuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAxMi0wMi0xNiAgWXVxaWFuZyBYaWFuICA8eXVxaWFuZy54aWFuQGludGVsLmNvbT4K
IAogICAgICAgICBBZGQgSlNDIGNvZGUgcHJvZmlsaW5nIHN1cHBvcnQgb24gTGludXggeDg2CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggM2RkYjBiMTRjMmVkMjVkOGU3OTYwNzMyOTkwNDMxYzk2ZDljMjJjMS4uODY1
MDJmZWM4Njk1NTNkYmI4MDQyMzRjMTk3MDI0MjVjZjFjYTkzOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDc2IEBACisyMDEyLTAyLTE2ICBKb25nc2VvayBZYW5nICA8anM0NS55YW5nQHNhbXN1bmcu
Y29tPgorCisgICAgICAgIEltcGxlbWVudCB0aGUgaW50ZXJmYWNlIGZvciBtZWRpYSBjYXB0dXJl
IHBhbmVsIHRvIHN1cHBvcnQgSFRNTCBNZWRpYSBDYXB0dXJlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MzA2MgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCAiY2FwdHVyZSIgYXR0cmlidXRlIGZvciBI
VE1MIE1lZGlhIENhcHR1cmUuCisKKyAgICAgICAgSW1wbGVtZW50IHRoZSBpbnRlcmZhY2UgInJ1
bkNhcHR1cmVQYW5lbCgpIiB0byBydW4gdGhlIHNwZWNpZmljIHBpY2tlciBmb3IgY2FtZXJhLCBj
YW1jb3JkZXIKKyAgICAgICAgYW5kIG1pY3JvcGhvbmUuIEVhY2ggcGxhdGZvcm0gY2FuIHJ1biB0
aGUgY2FwdHVyZSBwYW5lbCBpbXBsZW1lbnRpbmcgcnVuQ2FwdHVyZVBhbmVsKCkgaW4KKyAgICAg
ICAgQ2hyb21lQ2xpZW50LgorCisgICAgICAgIEltcGxlbWVudCBNZWRpYUNhcHR1cmVDaG9vc2Vy
IHRoYXQgaW5oZXJpdHMgZnJvbSBGaWxlQ2hvb3Nlci4gSXQgaXMgdXNlZCBmb3IgbWVkaWEgY2Fw
dHVyZQorICAgICAgICBpbnRlcmZhY2UgInJ1bkNhcHR1cmVQYW5lbCgpIi4gIEVhY2ggcGxhdGZv
cm0gd2lsbCBkZWNpZGUgd2hhdCB0byBsYXVuY2ggYnkgZGVmYXVsdCB1c2luZworICAgICAgICAi
Y2FwdHVyZVR5cGUoKSIgaW4gTWVkaWFDYXB0dXJlQ2hvb3NlciBjbGFzcy4KKworICAgICAgICBG
aWxlQ2hvb3NlckNsaWVudDo6ZGV0ZXJtaW5lQ2FwdHVyZVR5cGUgaXMgdXNlZCB0byBkZWZpbmUg
dGhlIG9wZXJhdGlvbiBmb3IgdGhlIGludGVyYWN0aW9ucworICAgICAgICBiZXR3ZWVuIHRoZSBj
YXB0dXJlIGF0dHJpYnV0ZSBhbmQgdGhlIGFjY2VwdCBhdHRyaWJ1dGUuCisKKyAgICAgICAgTm8g
bmV3IHRlc3RzIGJlY2F1c2UgaXQgaXMgZXhwZWN0ZWQganVzdCB0byBsYXVuY2ggdGhlIHNwZWNp
ZmljIGNhcHR1cmUgcGFuZWwgYW5kIG90aGVyIGJlaGF2aW9yIGZvciBpbnB1dCBlbGVtZW50IGlz
IHVuY2hhbmdlZC4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIGh0bWwvRmlsZUlu
cHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGaWxlSW5wdXRUeXBlOjpoYW5kbGVET01B
Y3RpdmF0ZUV2ZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbjoKKyAg
ICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpjYXB0dXJlKToKKyAgICAgICAgKiBo
dG1sL0hUTUxJbnB1dEVsZW1lbnQuaDoKKyAgICAgICAgKEhUTUxJbnB1dEVsZW1lbnQpOgorICAg
ICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5pZGw6CisgICAgICAgICogbG9hZGVyL0VtcHR5
Q2xpZW50cy5oOgorICAgICAgICAoRW1wdHlDaHJvbWVDbGllbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6RW1wdHlDaHJvbWVDbGllbnQ6OnJ1bkNhcHR1cmVQYW5lbCk6CisgICAgICAgICogcGFnZS9D
aHJvbWUuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWU6
OnJ1bkNhcHR1cmVQYW5lbCk6CisgICAgICAgICogcGFnZS9DaHJvbWUuaDoKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoQ2hyb21lKToKKyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5o
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChDaHJvbWVDbGllbnQpOgorICAgICAgICAq
IHBsYXRmb3JtL0ZpbGVDaG9vc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6RmlsZUNob29zZXJDbGllbnQ6Om5ld01lZGlhQ2FwdHVyZUNob29zZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6RmlsZUNob29zZXJDbGllbnQ6OmRldGVybWluZUNhcHR1cmVUeXBlKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ2FwdHVyZUNob29zZXI6OmNyZWF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYUNhcHR1cmVDaG9vc2VyOjp+TWVkaWFDYXB0dXJlQ2hvb3Nlcik6Cisg
ICAgICAgIChNZWRpYUNhcHR1cmVOYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNhcHR1
cmVOYW1lczo6Y2FtZXJhKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ2FwdHVyZU5hbWVzOjpj
YW1jb3JkZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDYXB0dXJlTmFtZXM6Om1pY3JvcGhv
bmUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDYXB0dXJlTmFtZXM6OmZpbGVzeXN0ZW0pOgor
ICAgICAgICAqIHBsYXRmb3JtL0ZpbGVDaG9vc2VyLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKEZpbGVDaG9vc2VyQ2xpZW50KToKKyAgICAgICAgKEZpbGVDaG9vc2VyKToKKyAgICAg
ICAgKFdlYkNvcmU6OkZpbGVDaG9vc2VyOjpGaWxlQ2hvb3Nlcik6CisgICAgICAgIChNZWRpYUNh
cHR1cmVDaG9vc2VyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ2FwdHVyZUNob29zZXI6OmNh
cHR1cmVUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ2FwdHVyZUNob29zZXI6Ok1lZGlh
Q2FwdHVyZUNob29zZXIpOgorICAgICAgICAoTWVkaWFDYXB0dXJlTmFtZXMpOgorICAgICAgICAq
IHBsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aW5pdGlh
bGl6ZVN1cHBvcnRlZEltYWdlTUlNRVR5cGVzKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoV2ViQ29yZTo6aW5pdGlhbGl6ZVN1cHBvcnRlZENhcHR1cmVNSU1FVHlwZXMpOgorICAgICAg
ICAoV2ViQ29yZTo6TUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRDYXB0dXJlTUlNRVR5cGUp
OgorICAgICAgICAqIHBsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuaDoKKyAgICAgICAgKE1JTUVU
eXBlUmVnaXN0cnkpOgorCiAyMDEyLTAyLTE2ICBDcmlzIE5lY2thciAgPGNkbkBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgQ29ycmVjdCBhIG1pc2xlYWRpbmcgY29tbWVudCByZWdhcmRpbmcgc3Ry
aW5nIGRlbGltaXRlcnMgaW4gQ1NTIHBhcnNpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmlu
ZGV4IDAzNmEyYmJmOTJkNDk3YTNjMjJmMGM1YmU4NTk0NTBlMTlhZWI3MjIuLmRkNjdjODQzOTAz
MDdjZjhjN2Y3Mzk3Y2YyOTgzM2E2NjJhMzM5ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTggQEAKKzIwMTItMDItMTYgIEpvbmdzZW9rIFlhbmcgIDxqczQ1LnlhbmdA
c2Ftc3VuZy5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IHRoZSBpbnRlcmZhY2UgZm9yIG1lZGlh
IGNhcHR1cmUgcGFuZWwgdG8gc3VwcG9ydCBIVE1MIE1lZGlhIENhcHR1cmUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYzMDYyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHJ1bkNhcHR1cmVQYW5lbCgp
IHRvIHJ1biB0aGUgY2FwdHVyZSBwYW5lbCBmb3IgSFRNTCBNZWRpYSBDYXB0dXJlLgorCisgICAg
ICAgICogc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0KToKKyAgICAg
ICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50SW1wbDo6cnVuQ2FwdHVyZVBhbmVsKToKKyAgICAgICAg
KiBzcmMvQ2hyb21lQ2xpZW50SW1wbC5oOgorICAgICAgICAoQ2hyb21lQ2xpZW50SW1wbCk6CisK
IDIwMTItMDItMTYgIEFsZXhhbmRyZSBFbGlhcyAgPGFlbGlhc0Bnb29nbGUuY29tPgogCiAgICAg
ICAgIFtjaHJvbWl1bV0gQnVuZGxlIHBhZ2Ugc2NhbGUgZmFjdG9yIGFuZCBsaW1pdHMgaW4gQ0NM
YXllclRyZWVIb3N0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggZTU3OGQzYjAzZjczOTAwNzRkMGE0Y2M0
YTIyOWI1ZjVmOGI5MmZkNi4uMTFjY2ExMDIyNzgwODFmN2MyOGM2ZmYyMjI5NzQ2N2I1ZDU0YWI1
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAyLTE2ICBKb25nc2Vv
ayBZYW5nICA8anM0NS55YW5nQHNhbXN1bmcuY29tPgorCisgICAgICAgIEltcGxlbWVudCB0aGUg
aW50ZXJmYWNlIGZvciBtZWRpYSBjYXB0dXJlIHBhbmVsIHRvIHN1cHBvcnQgSFRNTCBNZWRpYSBD
YXB0dXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
MzA2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBydW5DYXB0dXJlUGFuZWwoKSB0byBydW4gdGhlIGNhcHR1cmUgcGFuZWwgZm9yIEhUTUwgTWVk
aWEgQ2FwdHVyZS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5j
cHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudEVm
bDo6cnVuQ2FwdHVyZVBhbmVsKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRFZmwuaDoKKyAgICAgICAgKENocm9tZUNsaWVudEVmbCk6CisKIDIwMTItMDEtMzEgIFJhcGhh
ZWwgS3VibyBkYSBDb3N0YSAgPGt1Ym9AcHJvZnVzaW9uLm1vYmk+CiAKICAgICAgICAgW3NvdXBd
IEFkZCBzdXBwb3J0IGZvciBtdWx0aXBsZSBTb3VwU2Vzc2lvbnMuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5k
ZXggYzI5YmRjNmFhNDRiOTdlZjI0OTE0MWM4YzhmNDc4YjAzZTI5ZmU1Ni4uMjE4ODY2ZWU2YTJi
ZTQ2NWE3MDliYzU0MDM3YTMwODFkYThiMmY4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9n
dGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE4IEBACisyMDEyLTAyLTE2ICBKb25nc2VvayBZYW5nICA8anM0NS55YW5nQHNhbXN1bmcuY29t
PgorCisgICAgICAgIEltcGxlbWVudCB0aGUgaW50ZXJmYWNlIGZvciBtZWRpYSBjYXB0dXJlIHBh
bmVsIHRvIHN1cHBvcnQgSFRNTCBNZWRpYSBDYXB0dXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MzA2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBydW5DYXB0dXJlUGFuZWwoKSB0byBydW4gdGhl
IGNhcHR1cmUgcGFuZWwgZm9yIEhUTUwgTWVkaWEgQ2FwdHVyZS4KKworICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHA6CisgICAgICAgIChXZWJLaXQpOgorICAgICAg
ICAoV2ViS2l0OjpDaHJvbWVDbGllbnQ6OnJ1bkNhcHR1cmVQYW5lbCk6CisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmg6CisgICAgICAgIChDaHJvbWVDbGllbnQpOgor
CiAyMDEyLTAyLTE2ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
QXR0ZW1wdCB0byBmaXggdGhlIEdUSyBidWlsZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCBjYjU5NDM2
MjhiMDhjNWM3ZWMwNWZlZTFkNWNiNjZhMDEwYmQwYjFiLi4zYmFkMDg3NjY1MzM0ZmEzOGNlZTlm
ZmViNDFlYTBjZDM3NWIxZTIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIw
MTItMDItMTYgIEpvbmdzZW9rIFlhbmcgIDxqczQ1LnlhbmdAc2Ftc3VuZy5jb20+CisKKyAgICAg
ICAgSW1wbGVtZW50IHRoZSBpbnRlcmZhY2UgZm9yIG1lZGlhIGNhcHR1cmUgcGFuZWwgdG8gc3Vw
cG9ydCBIVE1MIE1lZGlhIENhcHR1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTYzMDYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIHJ1bkNhcHR1cmVQYW5lbCgpIHRvIHJ1biB0aGUgY2FwdHVyZSBw
YW5lbCBmb3IgSFRNTCBNZWRpYSBDYXB0dXJlLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1t
OgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50OjpydW5DYXB0dXJlUGFuZWwpOgorCiAyMDEyLTAy
LTE2ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMTA2MTYyODA+IGFuZCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9Nzg3NjcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggNDY3MjEzMGQ2Y2M5MTRhZmE3ZDhmNDFjMjUz
ZDIxNWNhOWU3OWFhNi4uOGE2OGIxYmNiZjBmYTcwOWE2OWIyZDJjYzNlZGY2ZDc2NDNlOWUyYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMi0wMi0xNiAgSm9uZ3Nlb2sgWWFu
ZyAgPGpzNDUueWFuZ0BzYW1zdW5nLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgdGhlIGludGVy
ZmFjZSBmb3IgbWVkaWEgY2FwdHVyZSBwYW5lbCB0byBzdXBwb3J0IEhUTUwgTWVkaWEgQ2FwdHVy
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMwNjIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgcnVu
Q2FwdHVyZVBhbmVsKCkgdG8gcnVuIHRoZSBjYXB0dXJlIHBhbmVsIGZvciBIVE1MIE1lZGlhIENh
cHR1cmUuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudFF0OjpydW5D
YXB0dXJlUGFuZWwpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0Lmg6
CisgICAgICAgIChDaHJvbWVDbGllbnRRdCk6CisKIDIwMTItMDItMTYgIFNpbW9uIEhhdXNtYW5u
ICA8c2ltb24uaGF1c21hbm5Abm9raWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnJvd24t
cGFwZXIgYmFnIGJ1aWxkIGZpeC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCAxNjllOThiNzI3NWUzMWM4
MWI0ODMwMTUyNWU5NjRhNDFkY2RhMjgxLi5kNmZlY2E1ZGIxZWQ1YzM1YWU0ODk5ZjlmNjBmYTg5
NzhlZmEzZWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDItMTYg
IEpvbmdzZW9rIFlhbmcgIDxqczQ1LnlhbmdAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgSW1wbGVt
ZW50IHRoZSBpbnRlcmZhY2UgZm9yIG1lZGlhIGNhcHR1cmUgcGFuZWwgdG8gc3VwcG9ydCBIVE1M
IE1lZGlhIENhcHR1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTYzMDYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIHJ1bkNhcHR1cmVQYW5lbCgpIHRvIHJ1biB0aGUgY2FwdHVyZSBwYW5lbCBmb3Ig
SFRNTCBNZWRpYSBDYXB0dXJlLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmNwcDoKKyAgICAgICAgKFdlYkNocm9tZUNsaWVudDo6cnVuQ2FwdHVyZVBhbmVsKToK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKFdl
YkNocm9tZUNsaWVudCk6CisKIDIwMTItMDItMTUgIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxz
YWRydWxAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIE5vdGlmeSBDaHJvbWVDbGllbnQgd2hlbiB0
b3VjaC1ldmVudCBoYW5kbGVycyBhcmUgaW5zdGFsbGVkL3JlbW92ZWQuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdl
TG9nCmluZGV4IDFjOGIwMTUyYTgwNWUzZjJhMGE4YTk3ODIzOWZmMmUzNTE5N2UyM2MuLjJhODA5
ODVhMjUzN2I5MjBmNjIzZTQ1MDZkODU4ODQwMzNhZWNmY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvd2luY2UvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTggQEAKKzIwMTItMDItMTYgIEpvbmdzZW9rIFlhbmcgIDxqczQ1LnlhbmdA
c2Ftc3VuZy5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IHRoZSBpbnRlcmZhY2UgZm9yIG1lZGlh
IGNhcHR1cmUgcGFuZWwgdG8gc3VwcG9ydCBIVE1MIE1lZGlhIENhcHR1cmUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYzMDYyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHJ1bkNhcHR1cmVQYW5lbCgp
IHRvIHJ1biB0aGUgY2FwdHVyZSBwYW5lbCBmb3IgSFRNTCBNZWRpYSBDYXB0dXJlLgorCisgICAg
ICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuY3BwOgorICAgICAgICAoV2Vi
S2l0KToKKyAgICAgICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50V2luQ0U6OnJ1bkNhcHR1cmVQYW5l
bCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaDoKKyAgICAg
ICAgKENocm9tZUNsaWVudFdpbkNFKToKKwogMjAxMi0wMi0xNSAgUGF0cmljayBHYW5zdGVyZXIg
IDxwYXJvZ2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIFdpbkNFIGJ1aWxkIGZp
eCBhZnRlciByMTA3NjA2LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L3d4L0NoYW5nZUxvZwppbmRleCAwNWJlODRiNzE4ZGY3ZTQ3MWU4MWJh
YTczNWYwNWU0MzEwM2MwNTM3Li5hNzgyM2FjNmRjMDBkYjNlNmZkYTE1YzEwMGVlOGJiY2Q2MTJl
ZDU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3d4L0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L3d4L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAyLTE2ICBKb25nc2Vv
ayBZYW5nICA8anM0NS55YW5nQHNhbXN1bmcuY29tPgorCisgICAgICAgIEltcGxlbWVudCB0aGUg
aW50ZXJmYWNlIGZvciBtZWRpYSBjYXB0dXJlIHBhbmVsIHRvIHN1cHBvcnQgSFRNTCBNZWRpYSBD
YXB0dXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
MzA2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBydW5DYXB0dXJlUGFuZWwoKSB0byBydW4gdGhlIGNhcHR1cmUgcGFuZWwgZm9yIEhUTUwgTWVk
aWEgQ2FwdHVyZS4KKworICAgICAgICAqIFdlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guY3Bw
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRXeDo6
cnVuQ2FwdHVyZVBhbmVsKToKKyAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4
Lmg6CisgICAgICAgIChDaHJvbWVDbGllbnRXeCk6CisKIDIwMTItMDItMTUgIFNhZHJ1bCBIYWJp
YiBDaG93ZGh1cnkgIDxzYWRydWxAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIE5vdGlmeSBDaHJv
bWVDbGllbnQgd2hlbiB0b3VjaC1ldmVudCBoYW5kbGVycyBhcmUgaW5zdGFsbGVkL3JlbW92ZWQu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggNTc2ZTc0NmFkOTJkNWRjZDMyZWM1ODU3NTNl
ZWE3MjNiMGYyZDhlMi4uZjQ5Y2JkMGYzODc0MDc1YWRmYzUwMjNkMGM3Y2YxM2NhNWJlMTMxZiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtODYsNiArODYsNyBAQCBFTkFCTEVfRklMRV9T
WVNURU0gPSA7CiBFTkFCTEVfRlVMTFNDUkVFTl9BUEkgPSBFTkFCTEVfRlVMTFNDUkVFTl9BUEk7
CiBFTkFCTEVfR0FNRVBBRCA9IDsKIEVOQUJMRV9HRU9MT0NBVElPTiA9IEVOQUJMRV9HRU9MT0NB
VElPTjsKK0VOQUJMRV9IVE1MX01FRElBX0NBUFRVUkUgPSA7CiBFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRSA9IDsKIEVOQUJMRV9JTlBVVF9DT0xPUiA9IDsKIEVOQUJMRV9JTlBVVF9TUEVFQ0ggPSA7
CkBAIC0xMjYsNCArMTI3LDQgQEAgRU5BQkxFX1dFQl9USU1JTkcgPSA7CiBFTkFCTEVfV09SS0VS
UyA9IEVOQUJMRV9XT1JLRVJTOwogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVS
RV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8y
RF9DQU5WQVMpICQoRU5BQkxFX0FOSU1BVElPTl9BUEkpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxF
X0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0NTU19GSUxURVJTKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NT
U19TSEFERVJTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1Qp
ICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFMpICQoRU5BQkxF
X0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFCTEVf
RklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAk
KEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9DT0xPUikgJChF
TkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICQoRU5BQkxF
X0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAk
KEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9UQUcpICQoRU5BQkxFX01V
VEFUSU9OX09CU0VSVkVSUykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFHRV9W
SVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUFJPR1JFU1NfVEFHKSAkKEVOQUJMRV9RVU9UQSkgJChF
TkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJ
T05fRlJBTUUpICQoRU5BQkxFX1NIQURPV19ET00pICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAk
KEVOQUJMRV9TUUxfREFUQUJBU0UpICQoRU5BQkxFX1NUWUxFX1NDT1BFRCkgJChFTkFCTEVfU1ZH
KSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChF
TkFCTEVfVEVYVF9OT1RJRklDQVRJT05TX09OTFkpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElO
RykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9XRUJHTCkg
JChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJ
TUlORykgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMg
PSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykg
JChFTkFCTEVfQU5JTUFUSU9OX0FQSSkgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0hBTk5FTF9N
RVNTQUdJTkcpICQoRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikgJChFTkFCTEVfQ1NT
X0ZJTFRFUlMpICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX1NIQURFUlMp
ICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVCkgJChFTkFCTEVf
REFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMUykgJChFTkFCTEVfREVWSUNFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9GSUxFX1NZU1RF
TSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dB
TUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9IVE1MX01FRElBX0NBUFRVUkUp
ICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFC
TEVfSU5QVVRfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVU
X1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBU
X0RFQlVHR0VSKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5B
QkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVU
RVJfVEFHKSAkKEVOQUJMRV9NVVRBVElPTl9PQlNFUlZFUlMpICQoRU5BQkxFX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BST0dSRVNTX1RBRykg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpICQoRU5B
QkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJM
RV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9TVFlMRV9T
Q09QRUQpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVO
QUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZKSAkKEVOQUJM
RV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFD
SykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tF
VFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hTTFQp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwppbmRleCAzZTIwOTAzNTVjOWE4MGMxNWY5ZTNlZTE1YTY2NDhkODlkODcyMWJj
Li41ZjQwZWRhYWRkMzQwYjM0YTg1ZTUxZTNkOWI2ZDE2OWZkMDJkMjBhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpA
QCAtODYsNiArODYsNyBAQCBFTkFCTEVfRklMRV9TWVNURU0gPSA7CiBFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkgPSBFTkFCTEVfRlVMTFNDUkVFTl9BUEk7CiBFTkFCTEVfR0FNRVBBRCA9IDsKIEVOQUJM
RV9HRU9MT0NBVElPTiA9IEVOQUJMRV9HRU9MT0NBVElPTjsKK0VOQUJMRV9IVE1MX01FRElBX0NB
UFRVUkUgPSA7CiBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSA9IDsKIEVOQUJMRV9JTlBVVF9DT0xP
UiA9IDsKIEVOQUJMRV9JTlBVVF9TUEVFQ0ggPSA7CkBAIC0xMjYsNCArMTI3LDQgQEAgRU5BQkxF
X1dFQl9USU1JTkcgPSA7CiBFTkFCTEVfV09SS0VSUyA9IEVOQUJMRV9XT1JLRVJTOwogRU5BQkxF
X1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVO
REVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FOSU1BVElP
Tl9BUEkpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJM
RV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04pICQoRU5BQkxFX0NTU19GSUxURVJTKSAkKEVOQUJM
RV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19TSEFERVJTKSAkKEVOQUJMRV9EQVNIQk9B
UkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1QpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRF
TVMpICQoRU5BQkxFX0RFVEFJTFMpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFC
TEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRF
UlMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9H
RU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFKSAkKEVOQUJMRV9JTlBVVF9DT0xPUikgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxF
X0pBVkFTQ1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01B
VEhNTCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9NRVRFUl9UQUcpICQoRU5BQkxFX01VVEFUSU9OX09CU0VSVkVSUykgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUFJP
R1JFU1NfVEFHKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFO
RExFUikgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1NIQURPV19E
T00pICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TUUxfREFUQUJBU0UpICQoRU5B
QkxFX1NUWUxFX1NDT1BFRCkgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklO
RElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVYVF9OT1RJRklDQVRJT05TX09O
TFkpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVklERU8pICQoRU5BQkxF
X1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJM
RV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV09SS0VSUykgJChF
TkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQU5JTUFUSU9OX0FQSSkgJChF
TkFCTEVfQkxPQikgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NMSUVOVF9C
QVNFRF9HRU9MT0NBVElPTikgJChFTkFCTEVfQ1NTX0ZJTFRFUlMpICQoRU5BQkxFX0NTU19HUklE
X0xBWU9VVCkgJChFTkFCTEVfQ1NTX1NIQURFUlMpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JU
KSAkKEVOQUJMRV9EQVRBTElTVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFC
TEVfREVUQUlMUykgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESVJFQ1RP
UllfVVBMT0FEKSAkKEVOQUJMRV9GSUxFX1NZU1RFTSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFC
TEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9O
KSAkKEVOQUJMRV9IVE1MX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfQ09MT1IpICQoRU5BQkxFX0lO
UFVUX1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lO
UFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9MSU5LX1BS
RUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVf
TUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfVEFHKSAkKEVOQUJMRV9NVVRBVElPTl9P
QlNFUlZFUlMpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElU
WV9BUEkpICQoRU5BQkxFX1BST0dSRVNTX1RBRykgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JF
R0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1F
KSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVf
U1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9TVFlMRV9TQ09QRUQpICQoRU5BQkxFX1NWRykgJChFTkFC
TEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RF
WFRfTk9USUZJQ0FUSU9OU19PTkxZKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5B
QkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxF
X1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQo
RU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCAw
OTc1NWM5MTk1ODFhM2ExYjk0ODVkNTlmYjkzOTZhZmMzYTY0Y2M5Li4wNDY4M2JlMjFkNzM5MmY2
NWVlOGYxMDJlOWNjY2FiYjYzMTcxMWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtNDQ1LDYg
KzQ0NSwxNCBAQCB3ZWJjb3JlX2NwcGZsYWdzICs9IC1ERU5BQkxFX0dFT0xPQ0FUSU9OPTEgLURF
TkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OPTEKIGVuZGlmICMgRU5EIEVOQUJMRV9HRU9M
T0NBVElPTgogCiAjIC0tLS0KKyMgSFRNTCBNZWRpYSBDYXB0dXJlCisjIC0tLS0KK2lmIEVOQUJM
RV9IVE1MX01FRElBX0NBUFRVUkUKK0ZFQVRVUkVfREVGSU5FUyArPSBFTkFCTEVfSFRNTF9NRURJ
QV9DQVBUVVJFPTEKK3dlYmNvcmVfY3BwZmxhZ3MgKz0gLURFTkFCTEVfSFRNTF9NRURJQV9DQVBU
VVJFPTEKK2VuZGlmICMgRU5EIEVOQUJMRV9IVE1MX01FRElBX0NBUFRVUkUKKworIyAtLS0tCiAj
IE1hdGhNTCBzdXBwb3J0CiAjIC0tLS0KIGlmIEVOQUJMRV9NQVRITUwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvRmlsZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0ZpbGVJbnB1dFR5cGUuY3BwCmluZGV4IDU3NTlmNjc0MTVjZDM4MmU1MDBmYmU2NTU4ZDBjMzQz
NTdkOTc3MGIuLjJmMjU5NDExNTcyZGI2YWJjNDA4NTg5NTRhNGY1ZDk2ODRhNjhlZmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmlsZUlucHV0VHlwZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9GaWxlSW5wdXRUeXBlLmNwcApAQCAtMTU3LDcgKzE1NywxMiBAQCB2b2lk
IEZpbGVJbnB1dFR5cGU6OmhhbmRsZURPTUFjdGl2YXRlRXZlbnQoRXZlbnQqIGV2ZW50KQogI2Vu
ZGlmCiAgICAgICAgIHNldHRpbmdzLmFjY2VwdE1JTUVUeXBlcyA9IGlucHV0LT5hY2NlcHRNSU1F
VHlwZXMoKTsKICAgICAgICAgc2V0dGluZ3Muc2VsZWN0ZWRGaWxlcyA9IG1fZmlsZUxpc3QtPnBh
dGhzKCk7CisjaWYgRU5BQkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkKKyAgICAgICAgTWVkaWFDYXB0
dXJlVHlwZSB0eXBlID0gZGV0ZXJtaW5lQ2FwdHVyZVR5cGUoaW5wdXQtPmNhcHR1cmUoKSwgaW5w
dXQtPmFjY2VwdE1JTUVUeXBlcygpKTsKKyAgICAgICAgY2hyb21lLT5ydW5DYXB0dXJlUGFuZWwo
aW5wdXQtPmRvY3VtZW50KCktPmZyYW1lKCksIG5ld01lZGlhQ2FwdHVyZUNob29zZXIoc2V0dGlu
Z3MsIHR5cGUpKTsKKyNlbHNlCiAgICAgICAgIGNocm9tZS0+cnVuT3BlblBhbmVsKGlucHV0LT5k
b2N1bWVudCgpLT5mcmFtZSgpLCBuZXdGaWxlQ2hvb3NlcihzZXR0aW5ncykpOworI2VuZGlmCiAg
ICAgfQogICAgIGV2ZW50LT5zZXREZWZhdWx0SGFuZGxlZCgpOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgppbmRleCAxNTFkZjdmMzhhNWE1MzgzZjI5NTg0NmUz
MmUxNmJmZjFhMjRkMThiLi42MGIwMGExYzQyMjgyMzJiNGE3NDcxNzFlYTE1ODc2NTI4NzUwNGFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgpAQCAtNTgsNiAr
NTgsNyBAQCBiZ2NvbG9yCiBiZ3Byb3BlcnRpZXMKIGJvcmRlcgogYm9yZGVyY29sb3IKK2NhcHR1
cmUKIGNlbGxwYWRkaW5nCiBjZWxsc3BhY2luZwogY2hhcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TElucHV0RWxlbWVudC5jcHAKaW5kZXggOTFlZWQ1NWRhZmEzNjI4NTU0ODM2NmVjMzVhZTUyOTE2
N2UyMTYyMy4uNGY1NmU4Mjk1MTQ3MjI2NjlkYTRhYTRjZTAyOWY5M2IzNWVlYjg2YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBAIC0xMzAxLDYgKzEzMDEsMTMg
QEAgU3RyaW5nIEhUTUxJbnB1dEVsZW1lbnQ6OmFsdCgpIGNvbnN0CiAgICAgcmV0dXJuIGZhc3RH
ZXRBdHRyaWJ1dGUoYWx0QXR0cik7CiB9CiAKKyNpZiBFTkFCTEUoSFRNTF9NRURJQV9DQVBUVVJF
KQorU3RyaW5nIEhUTUxJbnB1dEVsZW1lbnQ6OmNhcHR1cmUoKSBjb25zdAoreworICAgIHJldHVy
biBmYXN0R2V0QXR0cmlidXRlKGNhcHR1cmVBdHRyKTsKK30KKyNlbmRpZgorCiBpbnQgSFRNTElu
cHV0RWxlbWVudDo6bWF4TGVuZ3RoKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9tYXhMZW5ndGg7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCmluZGV4IDM5Y2I0OGJhNmI4MzZj
MzI1NmEzMGU4MWM0MTdiOGNiMDEyYmVmMmEuLjEwZjk2NDQ3MmUwNjQ5MGE5NTkyZjU1ZWM2NjAw
NGE0MGMyODg4ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxl
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCkBAIC0x
OTIsNiArMTkyLDEwIEBAIHB1YmxpYzoKICAgICBTdHJpbmcgYWNjZXB0KCkgY29uc3Q7CiAgICAg
U3RyaW5nIGFsdCgpIGNvbnN0OwogCisjaWYgRU5BQkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkKKyAg
ICBTdHJpbmcgY2FwdHVyZSgpIGNvbnN0OworI2VuZGlmCisKICAgICB2b2lkIHNldFNpemUodW5z
aWduZWQpOwogCiAgICAgS1VSTCBzcmMoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJ
bnB1dEVsZW1lbnQuaWRsCmluZGV4IDg0YmViOGFjNTEyZmRjNGRiODhkOGRmODJmOWFkM2ZlYjY3
NjI4ZDkuLjEzMzdlODcxNjIxMjg2NjhmZmFlNTk3MDE0ZjFmMjA0YjBkYjBkMWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbApAQCAtMzQsNiArMzQsOSBAQCBtb2R1
bGUgaHRtbCB7CiAgICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIGFjY2VwdDsK
ICAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgYWxpZ247CiAgICAgICAgIGF0
dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIGFsdDsKKyNpZiBkZWZpbmVkKEVOQUJMRV9IVE1M
X01FRElBX0NBUFRVUkUpICYmIEVOQUJMRV9IVE1MX01FRElBX0NBUFRVUkUKKyAgICAgICAgYXR0
cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgY2FwdHVyZTsKKyNlbmRpZgogICAgICAgICBhdHRy
aWJ1dGUgYm9vbGVhbiBjaGVja2VkOwogICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIGJvb2xl
YW4gZGlzYWJsZWQ7CiAgICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gYm9vbGVhbiBhdXRvZm9j
dXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKaW5kZXggYTI2NDFmNzUxODk3NzFm
NTIzMzcxOWRjMTE0ZmFmNTVkZThjYjhlOS4uMmU5NDJkYTQ4MmJjYWUyMmM0NzIzMmU1YTEzYTZh
NDhiYmVlMWY4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaApAQCAtMjA1LDYg
KzIwNSw5IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAgdmlydHVhbCB2b2lkIHJ1bk9wZW5QYW5l
bChGcmFtZSosIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+KSB7IH0KKyNpZiBFTkFCTEUoSFRNTF9N
RURJQV9DQVBUVVJFKQorICAgIHZpcnR1YWwgdm9pZCBydW5DYXB0dXJlUGFuZWwoRnJhbWUqLCBQ
YXNzUmVmUHRyPE1lZGlhQ2FwdHVyZUNob29zZXI+KSB7IH0KKyNlbmRpZgogICAgIHZpcnR1YWwg
dm9pZCBsb2FkSWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgRmlsZUljb25Mb2Fk
ZXIqKSB7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBmb3JtU3RhdGVEaWRDaGFuZ2UoY29uc3QgTm9k
ZSopIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCmluZGV4IDVlMDEyMmRkZGRjOWZiYTY0YTBhOTYw
ZjNkZjlhZDkwYzcwMzNlZmMuLjg4ZjJlZWFmZDRiM2JmZmE1NWJiNWZjZGU2NjQ4OTgwZDM1Y2I2
NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKQEAgLTQ2NCw2ICs0NjQsMTMgQEAgdm9pZCBDaHJv
bWU6OnJ1bk9wZW5QYW5lbChGcmFtZSogZnJhbWUsIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+IGZp
bGVDaG9vc2VyKQogICAgIG1fY2xpZW50LT5ydW5PcGVuUGFuZWwoZnJhbWUsIGZpbGVDaG9vc2Vy
KTsKIH0KIAorI2lmIEVOQUJMRShIVE1MX01FRElBX0NBUFRVUkUpCit2b2lkIENocm9tZTo6cnVu
Q2FwdHVyZVBhbmVsKEZyYW1lKiBmcmFtZSwgUGFzc1JlZlB0cjxNZWRpYUNhcHR1cmVDaG9vc2Vy
PiBtZWRpYUZpbGVDaG9vc2VyKQoreworICAgIG1fY2xpZW50LT5ydW5DYXB0dXJlUGFuZWwoZnJh
bWUsIG1lZGlhRmlsZUNob29zZXIpOworfQorI2VuZGlmCisKIHZvaWQgQ2hyb21lOjpsb2FkSWNv
bkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBmaWxlbmFtZXMsIEZpbGVJY29uTG9hZGVy
KiBsb2FkZXIpCiB7CiAgICAgbV9jbGllbnQtPmxvYWRJY29uRm9yRmlsZXMoZmlsZW5hbWVzLCBs
b2FkZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKaW5kZXggYzY3MDRjOTdhNDRkZjYyOWI1MjhmZmFhZGZh
YmUyMjFhMWExM2M3My4uNjYwNGE1MzQwYWM5OTAxMzEwNDgwZWUxMzI4NTVlZjEyMjMzNzIyNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Nocm9tZS5oCkBAIC00Nyw2ICs0Nyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICBjbGFzcyBHZW9sb2NhdGlvbjsKICAgICBjbGFzcyBIaXRUZXN0UmVzdWx0OwogICAgIGNs
YXNzIEludFJlY3Q7CisjaWYgRU5BQkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkKKyAgICBjbGFzcyBN
ZWRpYUNhcHR1cmVDaG9vc2VyOworI2VuZGlmCiAgICAgY2xhc3MgTmF2aWdhdGlvbkFjdGlvbjsK
ICAgICBjbGFzcyBOb2RlOwogICAgIGNsYXNzIFBhZ2U7CkBAIC0xNTQsNiArMTU3LDkgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogI2VuZGlmCiAKICAgICAgICAgdm9pZCBydW5PcGVuUGFuZWwoRnJh
bWUqLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPik7CisjaWYgRU5BQkxFKEhUTUxfTUVESUFfQ0FQ
VFVSRSkKKyAgICAgICAgdm9pZCBydW5DYXB0dXJlUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPE1l
ZGlhQ2FwdHVyZUNob29zZXI+KTsKKyNlbmRpZgogICAgICAgICB2b2lkIGxvYWRJY29uRm9yRmls
ZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mLCBGaWxlSWNvbkxvYWRlciopOwogI2lmIEVOQUJMRShE
SVJFQ1RPUllfVVBMT0FEKQogICAgICAgICB2b2lkIGVudW1lcmF0ZUNob3NlbkRpcmVjdG9yeShG
aWxlQ2hvb3NlciopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGll
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXggMzNiMWM0Yjg3
MTQ5MDgzYmM2OGVhNzliNzlmZjE0MmVjZGQ1OWU0My4uZDBjOGU3MTRkNmU0YWIyY2Q3YWNmYWQ4
M2JkYWYxZjJlYzZhZWY5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVD
bGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCkBAIC01NSw2
ICs1NSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBHcmFwaGljc0xheWVyOwog
ICAgIGNsYXNzIEhpdFRlc3RSZXN1bHQ7CiAgICAgY2xhc3MgSW50UmVjdDsKKyNpZiBFTkFCTEUo
SFRNTF9NRURJQV9DQVBUVVJFKQorICAgIGNsYXNzIE1lZGlhQ2FwdHVyZUNob29zZXI7CisjZW5k
aWYKICAgICBjbGFzcyBOYXZpZ2F0aW9uQWN0aW9uOwogICAgIGNsYXNzIE5vZGU7CiAgICAgY2xh
c3MgUGFnZTsKQEAgLTIyNCw2ICsyMjcsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjZW5kaWYK
IAogICAgICAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxG
aWxlQ2hvb3Nlcj4pID0gMDsKKyNpZiBFTkFCTEUoSFRNTF9NRURJQV9DQVBUVVJFKQorICAgICAg
ICB2aXJ0dWFsIHZvaWQgcnVuQ2FwdHVyZVBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxNZWRpYUNh
cHR1cmVDaG9vc2VyPikgPSAwOworI2VuZGlmCiAgICAgICAgIC8vIEFzeW5jaHJvbm91cyByZXF1
ZXN0IHRvIGxvYWQgYW4gaWNvbiBmb3Igc3BlY2lmaWVkIGZpbGVuYW1lcy4KICAgICAgICAgdmly
dHVhbCB2b2lkIGxvYWRJY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mLCBGaWxlSWNv
bkxvYWRlciopID0gMDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmls
ZUNob29zZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZUNob29zZXIuY3BwCmlu
ZGV4IGE5NzkyYWE2YWY1N2I1MmZmZmVmNTY3YmI0Y2JlZWMzNmM3MTFiOTMuLjE1OTA5NjNmNjgx
ODI4ZmQ0NDY1OGM4ODBlMzQ0YmNmYmYwMWZhYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0ZpbGVDaG9vc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9G
aWxlQ2hvb3Nlci5jcHAKQEAgLTI5LDggKzI5LDEzIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAj
aW5jbHVkZSAiRmlsZUNob29zZXIuaCIKIAorI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1
ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCit1c2luZyBu
YW1lc3BhY2UgSFRNTE5hbWVzOworCiBGaWxlQ2hvb3NlckNsaWVudDo6fkZpbGVDaG9vc2VyQ2xp
ZW50KCkKIHsKICAgICBkaXNjYXJkQ2hvb3NlcigpOwpAQCAtNTAsMTEgKzU1LDMzIEBAIHZvaWQg
RmlsZUNob29zZXJDbGllbnQ6OmRpc2NhcmRDaG9vc2VyKCkKICAgICAgICAgbV9jaG9vc2VyLT5k
aXNjb25uZWN0Q2xpZW50KCk7CiB9CiAKLWlubGluZSBGaWxlQ2hvb3Nlcjo6RmlsZUNob29zZXIo
RmlsZUNob29zZXJDbGllbnQqIGNsaWVudCwgY29uc3QgRmlsZUNob29zZXJTZXR0aW5ncyYgc2V0
dGluZ3MpCi0gICAgOiBtX2NsaWVudChjbGllbnQpCi0gICAgLCBtX3NldHRpbmdzKHNldHRpbmdz
KQorI2lmIEVOQUJMRShIVE1MX01FRElBX0NBUFRVUkUpCitNZWRpYUNhcHR1cmVDaG9vc2VyKiBG
aWxlQ2hvb3NlckNsaWVudDo6bmV3TWVkaWFDYXB0dXJlQ2hvb3Nlcihjb25zdCBGaWxlQ2hvb3Nl
clNldHRpbmdzJiBzZXR0aW5ncywgTWVkaWFDYXB0dXJlVHlwZSBkZXZpY2UpCit7CisgICAgZGlz
Y2FyZENob29zZXIoKTsKKworICAgIG1fY2hvb3NlciA9IE1lZGlhQ2FwdHVyZUNob29zZXI6OmNy
ZWF0ZSh0aGlzLCBzZXR0aW5ncywgZGV2aWNlKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8TWVk
aWFDYXB0dXJlQ2hvb3Nlcio+KG1fY2hvb3Nlci5nZXQoKSk7Cit9CisKK01lZGlhQ2FwdHVyZVR5
cGUgRmlsZUNob29zZXJDbGllbnQ6OmRldGVybWluZUNhcHR1cmVUeXBlKGNvbnN0IFN0cmluZyYg
Y2FwdHVyZSwgY29uc3QgVmVjdG9yPFN0cmluZz4mIGFjY2VwdE1JTUVUeXBlcykKIHsKKyAgICBp
ZiAoYWNjZXB0TUlNRVR5cGVzLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIEZpbGVTeXN0ZW07
CisKKyAgICBmb3IgKFZlY3RvcjxTdHJpbmc+Ojpjb25zdF9pdGVyYXRvciBpdGVyYXRvciA9IGFj
Y2VwdE1JTUVUeXBlcy5iZWdpbigpOyBpdGVyYXRvciAhPSBhY2NlcHRNSU1FVHlwZXMuZW5kKCk7
ICsraXRlcmF0b3IpCisgICAgICAgIGlmIChNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZENh
cHR1cmVNSU1FVHlwZSgqaXRlcmF0b3IpKSB7CisgICAgICAgICAgICBpZiAoKCppdGVyYXRvciku
c3RhcnRzV2l0aCgiaW1hZ2UvKiIpICYmIGVxdWFsSWdub3JpbmdDYXNlKGNhcHR1cmUsIE1lZGlh
Q2FwdHVyZU5hbWVzOjpjYW1lcmEoKSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIENhbWVyYTsK
KyAgICAgICAgICAgIGlmICgoKml0ZXJhdG9yKS5zdGFydHNXaXRoKCJ2aWRlby8qIikgJiYgZXF1
YWxJZ25vcmluZ0Nhc2UoY2FwdHVyZSwgTWVkaWFDYXB0dXJlTmFtZXM6OmNhbWNvcmRlcigpKSkK
KyAgICAgICAgICAgICAgICByZXR1cm4gQ2FtY29yZGVyOworICAgICAgICAgICAgaWYgKCgoKml0
ZXJhdG9yKS5zdGFydHNXaXRoKCJhdWRpby8qIikgJiYgZXF1YWxJZ25vcmluZ0Nhc2UoY2FwdHVy
ZSwgTWVkaWFDYXB0dXJlTmFtZXM6Om1pY3JvcGhvbmUoKSkpCisgICAgICAgICAgICAgICAgcmV0
dXJuIE1pY3JvcGhvbmU7CisgICAgICAgIH0KKworICAgIHJldHVybiBGaWxlU3lzdGVtOwogfQor
I2VuZGlmCiAKIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+IEZpbGVDaG9vc2VyOjpjcmVhdGUoRmls
ZUNob29zZXJDbGllbnQqIGNsaWVudCwgY29uc3QgRmlsZUNob29zZXJTZXR0aW5ncyYgc2V0dGlu
Z3MpCiB7CkBAIC04Miw0ICsxMDksNDUgQEAgdm9pZCBGaWxlQ2hvb3Nlcjo6Y2hvb3NlRmlsZXMo
Y29uc3QgVmVjdG9yPFN0cmluZz4mIGZpbGVuYW1lcykKICAgICAgICAgbV9jbGllbnQtPmZpbGVz
Q2hvc2VuKGZpbGVuYW1lcyk7CiB9CiAKKyNpZiBFTkFCTEUoSFRNTF9NRURJQV9DQVBUVVJFKQor
CitQYXNzUmVmUHRyPE1lZGlhQ2FwdHVyZUNob29zZXI+IE1lZGlhQ2FwdHVyZUNob29zZXI6OmNy
ZWF0ZShGaWxlQ2hvb3NlckNsaWVudCogY2xpZW50LCBjb25zdCBGaWxlQ2hvb3NlclNldHRpbmdz
JiBzZXR0aW5ncywgTWVkaWFDYXB0dXJlVHlwZSB0eXBlKQoreworICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgTWVkaWFDYXB0dXJlQ2hvb3NlcihjbGllbnQsIHNldHRpbmdzLCB0eXBlKSk7Cit9CisK
K01lZGlhQ2FwdHVyZUNob29zZXI6On5NZWRpYUNhcHR1cmVDaG9vc2VyKCkKK3sKK30KKworbmFt
ZXNwYWNlIE1lZGlhQ2FwdHVyZU5hbWVzIHsKKworY29uc3QgQXRvbWljU3RyaW5nJiBjYW1lcmEo
KQoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBuYW1lLCAoImNhbWVy
YSIpKTsKKyAgICByZXR1cm4gbmFtZTsKK30KKworY29uc3QgQXRvbWljU3RyaW5nJiBjYW1jb3Jk
ZXIoKQoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBuYW1lLCAoImNh
bWNvcmRlciIpKTsKKyAgICByZXR1cm4gbmFtZTsKK30KKworY29uc3QgQXRvbWljU3RyaW5nJiBt
aWNyb3Bob25lKCkKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgbmFt
ZSwgKCJtaWNyb3Bob25lIikpOworICAgIHJldHVybiBuYW1lOworfQorCitjb25zdCBBdG9taWNT
dHJpbmcmIGZpbGVzeXN0ZW0oKQoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3Ry
aW5nLCBuYW1lLCAoImZpbGVzeXN0ZW0iKSk7CisgICAgcmV0dXJuIG5hbWU7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmU6Ok1lZGlhQ2FwdHVyZU5hbWVzCisKKyNlbmRpZgorCiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlQ2hvb3Nlci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vRmlsZUNob29zZXIuaAppbmRleCBjYzIwYmUyODFiODQyNGNiZWJlMDE1
YTcyN2E1NGY4NmIwZTNlYTMxLi43NjgzZjBkMjEyMjFlYTJkNmIwNjY2YjA2ZDk2OTM1NWYwM2Q5
N2MxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlQ2hvb3Nlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVDaG9vc2VyLmgKQEAgLTM3LDYgKzM3LDE4
IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZpbGVDaG9vc2VyOworI2lmIEVOQUJM
RShIVE1MX01FRElBX0NBUFRVUkUpCitjbGFzcyBNZWRpYUNhcHR1cmVDaG9vc2VyOworI2VuZGlm
CisKKyNpZiBFTkFCTEUoSFRNTF9NRURJQV9DQVBUVVJFKQorZW51bSBNZWRpYUNhcHR1cmVUeXBl
IHsKKyAgICBGaWxlU3lzdGVtLAorICAgIENhbWVyYSwKKyAgICBDYW1jb3JkZXIsCisgICAgTWlj
cm9waG9uZSwKK307CisjZW5kaWYKIAogc3RydWN0IEZpbGVDaG9vc2VyU2V0dGluZ3MgewogICAg
IGJvb2wgYWxsb3dzTXVsdGlwbGVGaWxlczsKQEAgLTU1LDYgKzY3LDExIEBAIHB1YmxpYzoKIHBy
b3RlY3RlZDoKICAgICBGaWxlQ2hvb3NlciogbmV3RmlsZUNob29zZXIoY29uc3QgRmlsZUNob29z
ZXJTZXR0aW5ncyYpOwogCisjaWYgRU5BQkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkKKyAgICBNZWRp
YUNhcHR1cmVDaG9vc2VyKiBuZXdNZWRpYUNhcHR1cmVDaG9vc2VyKGNvbnN0IEZpbGVDaG9vc2Vy
U2V0dGluZ3MmLCBNZWRpYUNhcHR1cmVUeXBlKTsKKyAgICBNZWRpYUNhcHR1cmVUeXBlIGRldGVy
bWluZUNhcHR1cmVUeXBlKGNvbnN0IFN0cmluZyYgY2FwdHVyZSwgY29uc3QgVmVjdG9yPFN0cmlu
Zz4mIGFjY2VwdE1JTUVUeXBlcyk7CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICB2b2lkIGRpc2Nh
cmRDaG9vc2VyKCk7CiAKQEAgLTczLDEzICs5MCw0OCBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBG
aWxlQ2hvb3NlclNldHRpbmdzJiBzZXR0aW5ncygpIGNvbnN0IHsgcmV0dXJuIG1fc2V0dGluZ3M7
IH0KIAotcHJpdmF0ZToKLSAgICBGaWxlQ2hvb3NlcihGaWxlQ2hvb3NlckNsaWVudCosIGNvbnN0
IEZpbGVDaG9vc2VyU2V0dGluZ3MmKTsKK3Byb3RlY3RlZDoKKyAgICBGaWxlQ2hvb3NlcihGaWxl
Q2hvb3NlckNsaWVudCogY2xpZW50LCBjb25zdCBGaWxlQ2hvb3NlclNldHRpbmdzJiBzZXR0aW5n
cykKKyAgICAgICAgOiBtX2NsaWVudChjbGllbnQpCisgICAgICAgICwgbV9zZXR0aW5ncyhzZXR0
aW5ncykKKyAgICB7CisgICAgfQogCitwcml2YXRlOgogICAgIEZpbGVDaG9vc2VyQ2xpZW50KiBt
X2NsaWVudDsKICAgICBGaWxlQ2hvb3NlclNldHRpbmdzIG1fc2V0dGluZ3M7CiB9OwogCisjaWYg
RU5BQkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkKKworY2xhc3MgTWVkaWFDYXB0dXJlQ2hvb3NlciA6
IHB1YmxpYyBGaWxlQ2hvb3NlciB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8TWVk
aWFDYXB0dXJlQ2hvb3Nlcj4gY3JlYXRlKEZpbGVDaG9vc2VyQ2xpZW50KiwgY29uc3QgRmlsZUNo
b29zZXJTZXR0aW5ncyYsIE1lZGlhQ2FwdHVyZVR5cGUpOworICAgIH5NZWRpYUNhcHR1cmVDaG9v
c2VyKCk7CisKKyAgICBNZWRpYUNhcHR1cmVUeXBlIGNhcHR1cmVUeXBlKCkgeyByZXR1cm4gbV9j
YXB0dXJlVHlwZTsgfQorCitwcml2YXRlOgorICAgIE1lZGlhQ2FwdHVyZUNob29zZXIoRmlsZUNo
b29zZXJDbGllbnQqIGNsaWVudCwgY29uc3QgRmlsZUNob29zZXJTZXR0aW5ncyYgc2V0dGluZ3Ms
IE1lZGlhQ2FwdHVyZVR5cGUgdHlwZSkKKyAgICAgICAgOiBGaWxlQ2hvb3NlcihjbGllbnQsIHNl
dHRpbmdzKQorICAgICAgICAsIG1fY2FwdHVyZVR5cGUodHlwZSkKKyAgICB7CisgICAgfQorCisg
ICAgTWVkaWFDYXB0dXJlVHlwZSBtX2NhcHR1cmVUeXBlOworfTsKKworbmFtZXNwYWNlIE1lZGlh
Q2FwdHVyZU5hbWVzIHsKKworY29uc3QgQXRvbWljU3RyaW5nJiBjYW1lcmEoKTsKK2NvbnN0IEF0
b21pY1N0cmluZyYgY2FtY29yZGVyKCk7Citjb25zdCBBdG9taWNTdHJpbmcmIG1pY3JvcGhvbmUo
KTsKK2NvbnN0IEF0b21pY1N0cmluZyYgZmlsZXN5c3RlbSgpOworCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlOjpNZWRpYUNhcHR1cmVOYW1lcworCisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCiAjZW5kaWYgLy8gRmlsZUNob29zZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcAppbmRleCBiNWYyZDQ1NTFmMmYyMDg0MGFlNDA5ODk0Y2Vm
OTM2NjIyMDI3ZDhhLi4xNDFjNzA5OTEyYjdhYjg1OWFiMGZiZDI5Y2RlMDBlYjUyNDZlNWIwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcApAQCAtMTg5
LDYgKzE4OSw5IEBAIHN0YXRpYyBIYXNoU2V0PFN0cmluZz4qIHN1cHBvcnRlZEltYWdlTUlNRVR5
cGVzRm9yRW5jb2Rpbmc7CiBzdGF0aWMgSGFzaFNldDxTdHJpbmc+KiBzdXBwb3J0ZWRKYXZhU2Ny
aXB0TUlNRVR5cGVzOwogc3RhdGljIEhhc2hTZXQ8U3RyaW5nPiogc3VwcG9ydGVkTm9uSW1hZ2VN
SU1FVHlwZXM7CiBzdGF0aWMgSGFzaFNldDxTdHJpbmc+KiBzdXBwb3J0ZWRNZWRpYU1JTUVUeXBl
czsKKyNpZiBFTkFCTEUoSFRNTF9NRURJQV9DQVBUVVJFKQorc3RhdGljIEhhc2hTZXQ8U3RyaW5n
Piogc3VwcG9ydGVkQ2FwdHVyZU1JTUVUeXBlczsKKyNlbmRpZgogc3RhdGljIEhhc2hTZXQ8U3Ry
aW5nPiogdW5zdXBwb3J0ZWRUZXh0TUlNRVR5cGVzOwogCiB0eXBlZGVmIEhhc2hNYXA8U3RyaW5n
LCBWZWN0b3I8U3RyaW5nPiosIENhc2VGb2xkaW5nSGFzaD4gTWVkaWFNSU1FVHlwZU1hcDsKQEAg
LTQzNyw2ICs0NDAsMTYgQEAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZVN1cHBvcnRlZE1lZGlhTUlN
RVR5cGVzKCkKICNlbmRpZgogfQogCisjaWYgRU5BQkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkKK3N0
YXRpYyB2b2lkIGluaXRpYWxpemVTdXBwb3J0ZWRDYXB0dXJlTUlNRVR5cGVzKCkKK3sKKyAgICBz
dXBwb3J0ZWRDYXB0dXJlTUlNRVR5cGVzID0gbmV3IEhhc2hTZXQ8U3RyaW5nPjsKKyAgICBzdXBw
b3J0ZWRDYXB0dXJlTUlNRVR5cGVzLT5hZGQoImltYWdlLyoiKTsKKyAgICBzdXBwb3J0ZWRDYXB0
dXJlTUlNRVR5cGVzLT5hZGQoImF1ZGlvLyoiKTsKKyAgICBzdXBwb3J0ZWRDYXB0dXJlTUlNRVR5
cGVzLT5hZGQoInZpZGVvLyoiKTsKK30KKyNlbmRpZgorCiBzdGF0aWMgdm9pZCBpbml0aWFsaXpl
VW5zdXBwb3J0ZWRUZXh0TUlNRVR5cGVzKCkKIHsKICAgICBzdGF0aWMgY29uc3QgY2hhciogdHlw
ZXNbXSA9IHsKQEAgLTU3Myw2ICs1ODYsMTcgQEAgYm9vbCBNSU1FVHlwZVJlZ2lzdHJ5Ojppc1Vu
c3VwcG9ydGVkVGV4dE1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCiAgICAgcmV0dXJu
IHVuc3VwcG9ydGVkVGV4dE1JTUVUeXBlcy0+Y29udGFpbnMobWltZVR5cGUpOwogfQogCisjaWYg
RU5BQkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkKK2Jvb2wgTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBw
b3J0ZWRDYXB0dXJlTUlNRVR5cGUoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSkKK3sKKyAgICBpZiAo
bWltZVR5cGUuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFzdXBw
b3J0ZWRDYXB0dXJlTUlNRVR5cGVzKQorICAgICAgICBpbml0aWFsaXplU3VwcG9ydGVkQ2FwdHVy
ZU1JTUVUeXBlcygpOworICAgIHJldHVybiBzdXBwb3J0ZWRDYXB0dXJlTUlNRVR5cGVzLT5jb250
YWlucyhtaW1lVHlwZSk7Cit9CisjZW5kaWYKKwogYm9vbCBNSU1FVHlwZVJlZ2lzdHJ5Ojppc0ph
dmFBcHBsZXRNSU1FVHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKQogewogICAgIC8vIFNpbmNl
IHRoaXMgc2V0IGlzIHZlcnkgbGltaXRlZCBhbmQgaXMgbGlrZWx5IHRvIHJlbWFpbiBzbyB3ZSB3
b24ndCBib3RoZXIgd2l0aCB0aGUgb3ZlcmhlYWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01J
TUVUeXBlUmVnaXN0cnkuaAppbmRleCBkMmMzNzUyMTRhMWE4NDAwNDFlMWM2ZDVkYjc0NzBmYjZh
NTE0ZjJjLi4xYjBhYTkyOTllMGE5MzBkOTFkODM5ZDg4MTZiYjYyNjcyNDIxMzNmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5oCkBAIC04MCw2ICs4MCwxMSBA
QCBwdWJsaWM6CiAgICAgLy8gYnJvd3NlciAoZS5nLiBhIFF0IFBsdWdpbikuCiAgICAgc3RhdGlj
IGJvb2wgaXNBcHBsaWNhdGlvblBsdWdpbk1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUp
OwogCisjaWYgRU5BQkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkKKyAgICAvLyBDaGVjayB0byBzZWUg
aWYgYSBtaW1lIHR5cGUgaXMgc3VpdGFibGUgZm9yIGJlaW5nIG9wZXJhdGVkIGFzIGh0bWwgbWVk
aWEgY2FwdHVyZS4KKyAgICBzdGF0aWMgYm9vbCBpc1N1cHBvcnRlZENhcHR1cmVNSU1FVHlwZShj
b25zdCBTdHJpbmcmIG1pbWVUeXBlKTsKKyNlbmRpZgorCiAgICAgc3RhdGljIEhhc2hTZXQ8U3Ry
aW5nPiYgZ2V0U3VwcG9ydGVkSW1hZ2VNSU1FVHlwZXMoKTsKICAgICBzdGF0aWMgSGFzaFNldDxT
dHJpbmc+JiBnZXRTdXBwb3J0ZWRJbWFnZVJlc291cmNlTUlNRVR5cGVzKCk7CiAgICAgc3RhdGlj
IEhhc2hTZXQ8U3RyaW5nPiYgZ2V0U3VwcG9ydGVkSW1hZ2VNSU1FVHlwZXNGb3JFbmNvZGluZygp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1w
bC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcApp
bmRleCA0NWE4MTM4NTk0NGNlOGFiZGJjN2JiOTk0YWViM2NjOWRmMjI0MGJmLi5hNTE3NjAzY2I2
NTJlZDM5YTM1Y2MwYmNkNWM2OTRjNzE5Njg3YTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcApAQCAtNzI2LDYgKzcyNiwxOCBAQCB2b2lk
IENocm9tZUNsaWVudEltcGw6OnJ1bk9wZW5QYW5lbChGcmFtZSogZnJhbWUsIFBhc3NSZWZQdHI8
RmlsZUNob29zZXI+IGZpbGVDaAogICAgIGNob29zZXJDb21wbGV0aW9uLT5kaWRDaG9vc2VGaWxl
KFdlYlZlY3RvcjxXZWJTdHJpbmc+KCkpOwogfQogCisjaWYgRU5BQkxFKEhUTUxfTUVESUFfQ0FQ
VFVSRSkKK3ZvaWQgQ2hyb21lQ2xpZW50SW1wbDo6cnVuQ2FwdHVyZVBhbmVsKEZyYW1lKiwgUGFz
c1JlZlB0cjxNZWRpYUNhcHR1cmVDaG9vc2VyPikKK3sKKyAgICAvLyBOb3RlOiBjYXB0dXJlVHlw
ZSgpIGluIE1lZGlhQ2FwdHVyZUNob29zZXIgd2lsbCByZXR1cm4gdGhlIGRldGVybWluZWQgdmFs
dWUgZnJvbQorICAgIC8vIHRoZSBpbnRlcmFjdGlvbnMgYmV0d2VlbiB0aGUgY2FwdHVyZSBhdHRy
aWJ1dGUgYW5kIHRoZSBhY2NlcHQgYXR0cmlidXRlLiBJdCdzCisgICAgLy8gdGhlIHZhbHVlIGZv
ciB0aGUgcGFuZWwgdHlwZSB0aGF0IHNob3VsZCBiZSBwcmVzZW50ZWQgYnkgZGVmYXVsdC4gVGhl
IGFkZGl0aW9uYWwKKyAgICAvLyBjYXB0dXJlIHR5cGUgY2FuIGJlIGFsbG93ZWQgZnJvbSBjYXB0
dXJlYWNjZXB0TUlNRVR5cGVzIG9mIEZpbGVDaG9vc2VyU2V0dGluZ3MuCisKKyAgICBub3RJbXBs
ZW1lbnRlZCgpOworfQorI2VuZGlmCisKIHZvaWQgQ2hyb21lQ2xpZW50SW1wbDo6bG9hZEljb25G
b3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgZmlsZW5hbWVzLCBGaWxlSWNvbkxvYWRlciog
bG9hZGVyKQogewogICAgIGlmICghbV93ZWJWaWV3LT5jbGllbnQoKSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaAppbmRleCAyM2UwMmZmM2Q5OTUwNGZj
Mjk5ODJmMzcxMTYzNTZhMTAwNTQ5NzZjLi41N2JmZGM5YzdhMzI3ZTRkYTQwY2VhZTQ2NDk2NGI1
ZTdmZjc2NTc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVD
bGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50
SW1wbC5oCkBAIC0xNDIsNiArMTQyLDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUGFzc093blB0
cjxXZWJDb3JlOjpDb2xvckNob29zZXI+IGNyZWF0ZUNvbG9yQ2hvb3NlcihXZWJDb3JlOjpDb2xv
ckNob29zZXJDbGllbnQqLCBjb25zdCBXZWJDb3JlOjpDb2xvciYpIE9WRVJSSURFOwogI2VuZGlm
CiAgICAgdmlydHVhbCB2b2lkIHJ1bk9wZW5QYW5lbChXZWJDb3JlOjpGcmFtZSosIFBhc3NSZWZQ
dHI8V2ViQ29yZTo6RmlsZUNob29zZXI+KTsKKyNpZiBFTkFCTEUoSFRNTF9NRURJQV9DQVBUVVJF
KQorICAgIHZpcnR1YWwgdm9pZCBydW5DYXB0dXJlUGFuZWwoV2ViQ29yZTo6RnJhbWUqLCBQYXNz
UmVmUHRyPFdlYkNvcmU6Ok1lZGlhQ2FwdHVyZUNob29zZXI+KTsKKyNlbmRpZgogICAgIHZpcnR1
YWwgdm9pZCBsb2FkSWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxXVEY6OlN0cmluZz4mLCBXZWJD
b3JlOjpGaWxlSWNvbkxvYWRlciopOwogI2lmIEVOQUJMRShESVJFQ1RPUllfVVBMT0FEKQogICAg
IHZpcnR1YWwgdm9pZCBlbnVtZXJhdGVDaG9zZW5EaXJlY3RvcnkoV2ViQ29yZTo6RmlsZUNob29z
ZXIqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRFZmwuY3BwCmluZGV4IGEyNWY5ZDBlNDcwOGJiMGFhNTViNGJmNTcyMjgwZjk1OTI5OTIw
Y2MuLjU2NGQ1Mjc3YTA0MjA0YTg4N2Q1Mjk5ZmYwZmQwMmRjNDZiOTBhNmEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcApA
QCAtNDQ5LDYgKzQ0OSwxOCBAQCB2b2lkIENocm9tZUNsaWVudEVmbDo6cnVuT3BlblBhbmVsKEZy
YW1lKiBmcmFtZSwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4gcHJwRmlsZQogICAgICAgICBjaG9v
c2VyLT5jaG9vc2VGaWxlKGZpbGVuYW1lc1swXSk7CiB9CiAKKyNpZiBFTkFCTEUoSFRNTF9NRURJ
QV9DQVBUVVJFKQordm9pZCBDaHJvbWVDbGllbnRFZmw6OnJ1bkNhcHR1cmVQYW5lbChGcmFtZSos
IFBhc3NSZWZQdHI8TWVkaWFDYXB0dXJlQ2hvb3Nlcj4pCit7CisgICAgLy8gTm90ZTogY2FwdHVy
ZVR5cGUoKSBpbiBNZWRpYUNhcHR1cmVDaG9vc2VyIHdpbGwgcmV0dXJuIHRoZSBkZXRlcm1pbmVk
IHZhbHVlIGZyb20KKyAgICAvLyB0aGUgaW50ZXJhY3Rpb25zIGJldHdlZW4gdGhlIGNhcHR1cmUg
YXR0cmlidXRlIGFuZCB0aGUgYWNjZXB0IGF0dHJpYnV0ZS4gSXQncworICAgIC8vIHRoZSB2YWx1
ZSBmb3IgdGhlIHBhbmVsIHR5cGUgdGhhdCBzaG91bGQgYmUgcHJlc2VudGVkIGJ5IGRlZmF1bHQu
IFRoZSBhZGRpdGlvbmFsCisgICAgLy8gY2FwdHVyZSB0eXBlIGNhbiBiZSBhbGxvd2VkIGZyb20g
Y2FwdHVyZWFjY2VwdE1JTUVUeXBlcyBvZiBGaWxlQ2hvb3NlclNldHRpbmdzLgorCisgICAgbm90
SW1wbGVtZW50ZWQoKTsKK30KKyNlbmRpZgorCiB2b2lkIENocm9tZUNsaWVudEVmbDo6Zm9ybVN0
YXRlRGlkQ2hhbmdlKGNvbnN0IE5vZGUqKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwu
aCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCmlu
ZGV4IDgyNTEyMjUxZjZhNDQwZWE1OTMzMDEzZTExOGRmM2MwMDI0Yzc5ZjMuLmJmMjcxZjg5MTdj
M2Q3NTEwNmE3NTJkNGQzY2I0YTBlZWIwMzNiMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
ZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCkBAIC0xNDMsNiArMTQzLDkgQEAg
cHVibGljOgogI2VuZGlmCiAKICAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lKiwg
UGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4pOworI2lmIEVOQUJMRShIVE1MX01FRElBX0NBUFRVUkUp
CisgICAgdmlydHVhbCB2b2lkIHJ1bkNhcHR1cmVQYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8TWVk
aWFDYXB0dXJlQ2hvb3Nlcj4pOworI2VuZGlmCiAgICAgdmlydHVhbCB2b2lkIGxvYWRJY29uRm9y
RmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mLCBGaWxlSWNvbkxvYWRlciopOwogICAgIHZpcnR1
YWwgdm9pZCBmb3JtU3RhdGVEaWRDaGFuZ2UoY29uc3QgTm9kZSopOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwIGIvU291
cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcAppbmRleCA4
OTQyN2FlYjJmYzFlOTcyMzA3NWZhMTlmNjc3YWI3OWNjNTY3MDMwLi4zYTYxMTk2YmIyY2Y5ZDBm
YzVmY2JmODEwMzc2MWUwMTE2ZDJmNTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9X
ZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3Rr
L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAKQEAgLTg0Myw2ICs4NDMsMTggQEAg
dm9pZCBDaHJvbWVDbGllbnQ6OnJ1bk9wZW5QYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8RmlsZUNo
b29zZXI+IHBycEZpbGVDaG9vc2VyKQogICAgIGd0a193aWRnZXRfZGVzdHJveShkaWFsb2cpOwog
fQogCisjaWYgRU5BQkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkKK3ZvaWQgQ2hyb21lQ2xpZW50Ojpy
dW5DYXB0dXJlUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPE1lZGlhQ2FwdHVyZUNob29zZXI+KQor
eworICAgIC8vIE5vdGU6IGNhcHR1cmVUeXBlKCkgaW4gTWVkaWFDYXB0dXJlQ2hvb3NlciB3aWxs
IHJldHVybiB0aGUgZGV0ZXJtaW5lZCB2YWx1ZSBmcm9tCisgICAgLy8gdGhlIGludGVyYWN0aW9u
cyBiZXR3ZWVuIHRoZSBjYXB0dXJlIGF0dHJpYnV0ZSBhbmQgdGhlIGFjY2VwdCBhdHRyaWJ1dGUu
IEl0J3MKKyAgICAvLyB0aGUgdmFsdWUgZm9yIHRoZSBwYW5lbCB0eXBlIHRoYXQgc2hvdWxkIGJl
IHByZXNlbnRlZCBieSBkZWZhdWx0LiBUaGUgYWRkaXRpb25hbAorICAgIC8vIGNhcHR1cmUgdHlw
ZSBjYW4gYmUgYWxsb3dlZCBmcm9tIGNhcHR1cmVhY2NlcHRNSU1FVHlwZXMgb2YgRmlsZUNob29z
ZXJTZXR0aW5ncy4KKworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisjZW5kaWYKKwogdm9pZCBD
aHJvbWVDbGllbnQ6OmxvYWRJY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFdURjo6U3RyaW5nPiYg
ZmlsZW5hbWVzLCBXZWJDb3JlOjpGaWxlSWNvbkxvYWRlciogbG9hZGVyKQogewogICAgIGxvYWRl
ci0+bm90aWZ5RmluaXNoZWQoSWNvbjo6Y3JlYXRlSWNvbkZvckZpbGVzKGZpbGVuYW1lcykpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
R3RrLmggYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsu
aAppbmRleCA5ZDIxMDVkNmRmN2ZjNDBkYmU5NzBjNTFjMTg3MGY1ZDkxMDlmYWQ5Li40Y2NjMzE0
ZTg2YTU2OTE0YzFhOWY4ZTEzMDZmMTM3NGE2MmQ0MTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaApAQCAtMTI5LDYgKzEyOSw5
IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogICAgICAgICB2aXJ0dWFsIHZvaWQgc2hvd0NvbnRleHRN
ZW51KCkgeyB9CiAjZW5kaWYKICAgICAgICAgdmlydHVhbCB2b2lkIHJ1bk9wZW5QYW5lbChGcmFt
ZSosIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+KTsKKyNpZiBFTkFCTEUoSFRNTF9NRURJQV9DQVBU
VVJFKQorICAgICAgICB2aXJ0dWFsIHZvaWQgcnVuQ2FwdHVyZVBhbmVsKEZyYW1lKiwgUGFzc1Jl
ZlB0cjxNZWRpYUNhcHR1cmVDaG9vc2VyPik7CisjZW5kaWYKICAgICAgICAgdmlydHVhbCB2b2lk
IGxvYWRJY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFdURjo6U3RyaW5nPiYsIEZpbGVJY29uTG9h
ZGVyKik7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGZvcm1TdGF0ZURpZENoYW5nZShjb25zdCBO
b2RlKikgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDNlMjA5MDM1NWM5YTgwYzE1ZjllM2VlMTVh
NjY0OGQ4OWQ4NzIxYmMuLjVmNDBlZGFhZGQzNDBiMzRhODVlNTFlM2Q5YjZkMTY5ZmQwMmQyMGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCkBAIC04Niw2ICs4Niw3IEBAIEVOQUJMRV9GSUxFX1NZU1RFTSA9
IDsKIEVOQUJMRV9GVUxMU0NSRUVOX0FQSSA9IEVOQUJMRV9GVUxMU0NSRUVOX0FQSTsKIEVOQUJM
RV9HQU1FUEFEID0gOwogRU5BQkxFX0dFT0xPQ0FUSU9OID0gRU5BQkxFX0dFT0xPQ0FUSU9OOwor
RU5BQkxFX0hUTUxfTUVESUFfQ0FQVFVSRSA9IDsKIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFID0g
OwogRU5BQkxFX0lOUFVUX0NPTE9SID0gOwogRU5BQkxFX0lOUFVUX1NQRUVDSCA9IDsKQEAgLTEy
Niw0ICsxMjcsNCBAQCBFTkFCTEVfV0VCX1RJTUlORyA9IDsKIEVOQUJMRV9XT1JLRVJTID0gRU5B
QkxFX1dPUktFUlM7CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklO
RVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZB
UykgJChFTkFCTEVfQU5JTUFUSU9OX0FQSSkgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkcpICQoRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikgJChFTkFCTEVf
Q1NTX0ZJTFRFUlMpICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX1NIQURF
UlMpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVCkgJChFTkFC
TEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMUykgJChFTkFCTEVfREVWSUNF
X09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9GSUxFX1NZ
U1RFTSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxF
X0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX0NPTE9SKSAkKEVOQUJMRV9J
TlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTElOS19Q
UkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxF
X01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX1RBRykgJChFTkFCTEVfTVVUQVRJT05f
T0JTRVJWRVJTKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQUdFX1ZJU0lCSUxJ
VFlfQVBJKSAkKEVOQUJMRV9QUk9HUkVTU19UQUcpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9S
RUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFN
RSkgJChFTkFCTEVfU0hBRE9XX0RPTSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxF
X1NRTF9EQVRBQkFTRSkgJChFTkFCTEVfU1RZTEVfU0NPUEVEKSAkKEVOQUJMRV9TVkcpICQoRU5B
QkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9U
RVhUX05PVElGSUNBVElPTlNfT05MWSkgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVO
QUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJM
RV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAk
KEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5B
QkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJM
RV9BTklNQVRJT05fQVBJKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RykgJChFTkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9DU1NfRklMVEVS
UykgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfU0hBREVSUykgJChFTkFC
TEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVOQUJMRV9EQVRBX1RS
QU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVO
QUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkg
JChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hUTUxfTUVESUFfQ0FQVFVSRSkgJChFTkFC
TEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBV
VF9DT0xPUikgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9U
SU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdH
RVIpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVE
SUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9UQUcp
ICQoRU5BQkxFX01VVEFUSU9OX09CU0VSVkVSUykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChF
TkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUFJPR1JFU1NfVEFHKSAkKEVOQUJM
RV9RVU9UQSkgJChFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikgJChFTkFCTEVfUkVR
VUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1NIQURPV19ET00pICQoRU5BQkxFX1NIQVJF
RF9XT1JLRVJTKSAkKEVOQUJMRV9TUUxfREFUQUJBU0UpICQoRU5BQkxFX1NUWUxFX1NDT1BFRCkg
JChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NW
R19GT05UUykgJChFTkFCTEVfVEVYVF9OT1RJRklDQVRJT05TX09OTFkpICQoRU5BQkxFX1RPVUNI
X0lDT05fTE9BRElORykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChF
TkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWFNMVCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
aCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmlu
ZGV4IDY2ZmEwNjBiNWE1M2RiYzJmMzhlZWE2ZjU0NTJkNzZkYTZiYjFmOTIuLjg0NmZkMDk4YWYy
NWU3MDA3YTA5ZWE4MjUxODdmNjdmMzI2NjMyNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0xMjEsNiArMTIxLDkgQEAg
cHVibGljOgogI2VuZGlmCiAKICAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKFdlYkNvcmU6
OkZyYW1lKiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpGaWxlQ2hvb3Nlcj4pIE9WRVJSSURFOworI2lm
IEVOQUJMRShIVE1MX01FRElBX0NBUFRVUkUpCisgICAgdmlydHVhbCB2b2lkIHJ1bkNhcHR1cmVQ
YW5lbChXZWJDb3JlOjpGcmFtZSosIFBhc3NSZWZQdHI8V2ViQ29yZTo6TWVkaWFDYXB0dXJlQ2hv
b3Nlcj4pIE9WRVJSSURFOworI2VuZGlmCiAgICAgdmlydHVhbCB2b2lkIGxvYWRJY29uRm9yRmls
ZXMoY29uc3QgVmVjdG9yPFdURjo6U3RyaW5nPiYsIFdlYkNvcmU6OkZpbGVJY29uTG9hZGVyKikg
T1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q3Vyc29yKGNvbnN0IFdlYkNvcmU6OkN1
cnNvciYpIE9WRVJSSURFOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50Lm1tCmluZGV4IDNiYWM4N2I5YzY4YzExZDk5YWI4OTMwMDAyZDQ1
MzZjZmU4YzA3M2IuLjhiZWVkNTc4M2M0NTJjNzVmMzVhZGJmYTE2MjFlMDgzZWI5OWU5NGUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQubW0KQEAgLTc0Niw2ICs3NDYsMTggQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OnJ1bk9wZW5Q
YW5lbChGcmFtZSosIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+IGNob29zZXIpCiAgICAgRU5EX0JM
T0NLX09CSkNfRVhDRVBUSU9OUzsKIH0KIAorI2lmIEVOQUJMRShIVE1MX01FRElBX0NBUFRVUkUp
Cit2b2lkIFdlYkNocm9tZUNsaWVudDo6cnVuQ2FwdHVyZVBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0
cjxNZWRpYUNhcHR1cmVDaG9vc2VyPikKK3sKKyAgICAvLyBOb3RlOiBjYXB0dXJlVHlwZSgpIGlu
IE1lZGlhQ2FwdHVyZUNob29zZXIgd2lsbCByZXR1cm4gdGhlIGRldGVybWluZWQgdmFsdWUgZnJv
bQorICAgIC8vIHRoZSBpbnRlcmFjdGlvbnMgYmV0d2VlbiB0aGUgY2FwdHVyZSBhdHRyaWJ1dGUg
YW5kIHRoZSBhY2NlcHQgYXR0cmlidXRlLiBJdCdzCisgICAgLy8gdGhlIHZhbHVlIGZvciB0aGUg
cGFuZWwgdHlwZSB0aGF0IHNob3VsZCBiZSBwcmVzZW50ZWQgYnkgZGVmYXVsdC4gVGhlIGFkZGl0
aW9uYWwKKyAgICAvLyBjYXB0dXJlIHR5cGUgY2FuIGJlIGFsbG93ZWQgZnJvbSBjYXB0dXJlYWNj
ZXB0TUlNRVR5cGVzIG9mIEZpbGVDaG9vc2VyU2V0dGluZ3MuCisKKyAgICBub3RJbXBsZW1lbnRl
ZCgpOworfQorI2VuZGlmCisKIHZvaWQgV2ViQ2hyb21lQ2xpZW50Ojpsb2FkSWNvbkZvckZpbGVz
KGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBmaWxlbmFtZXMsIEZpbGVJY29uTG9hZGVyKiBpY29uTG9h
ZGVyKQogewogICAgIGljb25Mb2FkZXItPm5vdGlmeUZpbmlzaGVkKEljb246OmNyZWF0ZUljb25G
b3JGaWxlcyhmaWxlbmFtZXMpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRRdC5jcHAKaW5kZXggZjEyOWI1ODcxNjFlODY5ODYzNWVlNDYxZDU4
NTg3ODI1NmQ2YTYxYy4uMzdhMmYwYjAxNjlmZWZhMGMxYzM3NWJkZTQwZGI4ZmJlZGZiMDg2YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRR
dC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRR
dC5jcHAKQEAgLTU4OCw2ICs1ODgsMTggQEAgdm9pZCBDaHJvbWVDbGllbnRRdDo6cnVuT3BlblBh
bmVsKEZyYW1lKiBmcmFtZSwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4gcHJwRmlsZUMKICAgICB9
CiB9CiAKKyNpZiBFTkFCTEUoSFRNTF9NRURJQV9DQVBUVVJFKQordm9pZCBDaHJvbWVDbGllbnRR
dDo6cnVuQ2FwdHVyZVBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxNZWRpYUNhcHR1cmVDaG9vc2Vy
PikKK3sKKyAgICAvLyBOb3RlOiBjYXB0dXJlVHlwZSgpIGluIE1lZGlhQ2FwdHVyZUNob29zZXIg
d2lsbCByZXR1cm4gdGhlIGRldGVybWluZWQgdmFsdWUgZnJvbQorICAgIC8vIHRoZSBpbnRlcmFj
dGlvbnMgYmV0d2VlbiB0aGUgY2FwdHVyZSBhdHRyaWJ1dGUgYW5kIHRoZSBhY2NlcHQgYXR0cmli
dXRlLiBJdCdzCisgICAgLy8gdGhlIHZhbHVlIGZvciB0aGUgcGFuZWwgdHlwZSB0aGF0IHNob3Vs
ZCBiZSBwcmVzZW50ZWQgYnkgZGVmYXVsdC4gVGhlIGFkZGl0aW9uYWwKKyAgICAvLyBjYXB0dXJl
IHR5cGUgY2FuIGJlIGFsbG93ZWQgZnJvbSBjYXB0dXJlYWNjZXB0TUlNRVR5cGVzIG9mIEZpbGVD
aG9vc2VyU2V0dGluZ3MuCisKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorI2VuZGlmCisKIHZv
aWQgQ2hyb21lQ2xpZW50UXQ6OmxvYWRJY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4m
IGZpbGVuYW1lcywgRmlsZUljb25Mb2FkZXIqIGxvYWRlcikKIHsKICAgICBsb2FkZXItPm5vdGlm
eUZpbmlzaGVkKEljb246OmNyZWF0ZUljb25Gb3JGaWxlcyhmaWxlbmFtZXMpKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaCBiL1Nv
dXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaAppbmRleCAzZDQ1
YjdiNTFhMmUzMjAwNDRlNjQwMWY3MDhiYjJjMDhmMzc1NWM0Li5hZjI1YTU5NTYyYTRlZTEzODI3
YWUwNmMwZjg2MmM5ZWVjMjlkMzgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oCkBAIC0xNjcsNiArMTY3LDkgQEAgcHVibGljOgogICAg
IEZ1bGxTY3JlZW5WaWRlb1F0KiBmdWxsU2NyZWVuVmlkZW8oKTsKICNlbmRpZgogICAgICB2aXJ0
dWFsIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4pOwor
I2lmIEVOQUJMRShIVE1MX01FRElBX0NBUFRVUkUpCisgICAgIHZpcnR1YWwgdm9pZCBydW5DYXB0
dXJlUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPE1lZGlhQ2FwdHVyZUNob29zZXI+KTsKKyNlbmRp
ZgogICAgICB2aXJ0dWFsIHZvaWQgbG9hZEljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5n
PiYsIEZpbGVJY29uTG9hZGVyKik7CiAKICAgICB2aXJ0dWFsIHZvaWQgZm9ybVN0YXRlRGlkQ2hh
bmdlKGNvbnN0IE5vZGUqKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IGNjYTllYzBlNzc4ZThkZjE5ZDQzZGI2
MmNiZjI2OWVjOTQ2NzM5MzcuLjU5MTViNjVkYWFiMDA5ZWJmYjcwZmU0ZTM1YTBkZjJhOTQ5Mzlj
ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmNwcApAQCAtNzAxLDYgKzcwMSwxOCBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6
cnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4gcHJwRmlsZUNob29z
ZQogICAgIC8vIEZJWE1FOiBTaG93IHNvbWUgc29ydCBvZiBlcnJvciBpZiB0b28gbWFueSBmaWxl
cyBhcmUgc2VsZWN0ZWQgYW5kIHRoZSBidWZmZXIgaXMgdG9vIHNtYWxsLiAgRm9yIG5vdywgdGhp
cyB3aWxsIGZhaWwgc2lsZW50bHkuCiB9CiAKKyNpZiBFTkFCTEUoSFRNTF9NRURJQV9DQVBUVVJF
KQordm9pZCBXZWJDaHJvbWVDbGllbnQ6OnJ1bkNhcHR1cmVQYW5lbChGcmFtZSosIFBhc3NSZWZQ
dHI8TWVkaWFDYXB0dXJlQ2hvb3Nlcj4pCit7CisgICAgLy8gTm90ZTogY2FwdHVyZVR5cGUoKSBp
biBNZWRpYUNhcHR1cmVDaG9vc2VyIHdpbGwgcmV0dXJuIHRoZSBkZXRlcm1pbmVkIHZhbHVlIGZy
b20KKyAgICAvLyB0aGUgaW50ZXJhY3Rpb25zIGJldHdlZW4gdGhlIGNhcHR1cmUgYXR0cmlidXRl
IGFuZCB0aGUgYWNjZXB0IGF0dHJpYnV0ZS4gSXQncworICAgIC8vIHRoZSB2YWx1ZSBmb3IgdGhl
IHBhbmVsIHR5cGUgdGhhdCBzaG91bGQgYmUgcHJlc2VudGVkIGJ5IGRlZmF1bHQuIFRoZSBhZGRp
dGlvbmFsCisgICAgLy8gY2FwdHVyZSB0eXBlIGNhbiBiZSBhbGxvd2VkIGZyb20gY2FwdHVyZWFj
Y2VwdE1JTUVUeXBlcyBvZiBGaWxlQ2hvb3NlclNldHRpbmdzLgorCisgICAgbm90SW1wbGVtZW50
ZWQoKTsKK30KKyNlbmRpZgorCiB2b2lkIFdlYkNocm9tZUNsaWVudDo6bG9hZEljb25Gb3JGaWxl
cyhjb25zdCBWZWN0b3I8V1RGOjpTdHJpbmc+JiBmaWxlbmFtZXMsIFdlYkNvcmU6OkZpbGVJY29u
TG9hZGVyKiBsb2FkZXIpCiB7CiAgICAgbG9hZGVyLT5ub3RpZnlGaW5pc2hlZChJY29uOjpjcmVh
dGVJY29uRm9yRmlsZXMoZmlsZW5hbWVzKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dp
bi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvd2luL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IDJhOWE4ZmU3ZjNkNGY0NTNmZTRh
YjFmMGVkY2I5ZGQzOWZhYWJjOWIuLjg5YzI3NDkwMzIyNDRkNWU4MDgxN2E1Y2Y3MTM3YTZlMjMz
ZmFjYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oCkBAIC0xMjcsNiArMTI3LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9p
ZCBwb3B1bGF0ZVZpc2l0ZWRMaW5rcygpOwogCiAgICAgdmlydHVhbCB2b2lkIHJ1bk9wZW5QYW5l
bChXZWJDb3JlOjpGcmFtZSosIFBhc3NSZWZQdHI8V2ViQ29yZTo6RmlsZUNob29zZXI+KTsKKyNp
ZiBFTkFCTEUoSFRNTF9NRURJQV9DQVBUVVJFKQorICAgIHZpcnR1YWwgdm9pZCBydW5DYXB0dXJl
UGFuZWwoV2ViQ29yZTo6RnJhbWUqLCBQYXNzUmVmUHRyPFdlYkNvcmU6Ok1lZGlhQ2FwdHVyZUNo
b29zZXI+KTsKKyNlbmRpZgogICAgIHZpcnR1YWwgdm9pZCBsb2FkSWNvbkZvckZpbGVzKGNvbnN0
IFZlY3RvcjxXVEY6OlN0cmluZz4mLCBXZWJDb3JlOjpGaWxlSWNvbkxvYWRlciopOwogCiAgICAg
dmlydHVhbCB2b2lkIHNldEN1cnNvcihjb25zdCBXZWJDb3JlOjpDdXJzb3ImKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0Uu
Y3BwIGIvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5D
RS5jcHAKaW5kZXggNmEwZTI1YTRkODAzZWU4YjQ5MzAwNzBiYTljMWFmMGFiYTJlZDkyNC4uZDRh
NWM4YTJmYzI5MGY2NjM5NDhkYWE1ZDhhZWUxMmExY2E1YzAwZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5jcHAK
QEAgLTM0NCw2ICszNDQsMTggQEAgdm9pZCBDaHJvbWVDbGllbnRXaW5DRTo6cnVuT3BlblBhbmVs
KEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4gcHJwRmlsZUNob28KICAgICBub3RJbXBs
ZW1lbnRlZCgpOwogfQogCisjaWYgRU5BQkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkKK3ZvaWQgQ2hy
b21lQ2xpZW50V2luQ0U6OnJ1bkNhcHR1cmVQYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8TWVkaWFD
YXB0dXJlQ2hvb3Nlcj4pCit7CisgICAgLy8gTm90ZTogY2FwdHVyZVR5cGUoKSBpbiBNZWRpYUNh
cHR1cmVDaG9vc2VyIHdpbGwgcmV0dXJuIHRoZSBkZXRlcm1pbmVkIHZhbHVlIGZyb20KKyAgICAv
LyB0aGUgaW50ZXJhY3Rpb25zIGJldHdlZW4gdGhlIGNhcHR1cmUgYXR0cmlidXRlIGFuZCB0aGUg
YWNjZXB0IGF0dHJpYnV0ZS4gSXQncworICAgIC8vIHRoZSB2YWx1ZSBmb3IgdGhlIHBhbmVsIHR5
cGUgdGhhdCBzaG91bGQgYmUgcHJlc2VudGVkIGJ5IGRlZmF1bHQuIFRoZSBhZGRpdGlvbmFsCisg
ICAgLy8gY2FwdHVyZSB0eXBlIGNhbiBiZSBhbGxvd2VkIGZyb20gY2FwdHVyZWFjY2VwdE1JTUVU
eXBlcyBvZiBGaWxlQ2hvb3NlclNldHRpbmdzLgorCisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30K
KyNlbmRpZgorCiB2b2lkIENocm9tZUNsaWVudFdpbkNFOjpsb2FkSWNvbkZvckZpbGVzKGNvbnN0
IFZlY3RvcjxTdHJpbmc+JiBmaWxlbmFtZXMsIEZpbGVJY29uTG9hZGVyKiBsb2FkZXIpCiB7CiAg
ICAgbG9hZGVyLT5ub3RpZnlGaW5pc2hlZChJY29uOjpjcmVhdGVJY29uRm9yRmlsZXMoZmlsZW5h
bWVzKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0No
cm9tZUNsaWVudFdpbkNFLmggYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0No
cm9tZUNsaWVudFdpbkNFLmgKaW5kZXggNjEzNzgzYTAzM2U1OWFjYTkxZDk4NDUzNjAwMDY0OTA1
YzIwNjIxMy4uYzM4MjgwMDlmOGNjNDczZDQ4NzBkMmFlMzViZGNlYTdlOTQwMTM1OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5D
RS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
V2luQ0UuaApAQCAtMTQ1LDYgKzE0NSw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgY2Fu
Y2VsR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdEZvckZyYW1lKFdlYkNvcmU6OkZyYW1lKiwg
V2ViQ29yZTo6R2VvbG9jYXRpb24qKTsKIAogICAgIHZpcnR1YWwgdm9pZCBydW5PcGVuUGFuZWwo
V2ViQ29yZTo6RnJhbWUqLCBQYXNzUmVmUHRyPFdlYkNvcmU6OkZpbGVDaG9vc2VyPik7CisjaWYg
RU5BQkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkKKyAgICB2aXJ0dWFsIHZvaWQgcnVuQ2FwdHVyZVBh
bmVsKFdlYkNvcmU6OkZyYW1lKiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpNZWRpYUNhcHR1cmVDaG9v
c2VyPik7CisjZW5kaWYKICAgICAvLyBBc3luY2hyb25vdXMgcmVxdWVzdCB0byBsb2FkIGFuIGlj
b24gZm9yIHNwZWNpZmllZCBmaWxlbmFtZXMuCiAgICAgdmlydHVhbCB2b2lkIGxvYWRJY29uRm9y
RmlsZXMoY29uc3QgVmVjdG9yPFdURjo6U3RyaW5nPiYsIFdlYkNvcmU6OkZpbGVJY29uTG9hZGVy
Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVD
bGllbnRXeC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50
V3guY3BwCmluZGV4IGJjOTg3MjQxNGQ0MzEzYmFjNDNkZmRjMDk1YzdiZmU5MTc5NmEzZGIuLjcz
NWJhMWI5NWM2YWJlMWRmYzJmN2VhNTQ4NDIyMTAwOTlkMDNlODUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmNwcApAQCAtNDU0LDYgKzQ1
NCwxOCBAQCB2b2lkIENocm9tZUNsaWVudFd4OjpydW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVm
UHRyPEZpbGVDaG9vc2VyPikKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCisjaWYgRU5BQkxF
KEhUTUxfTUVESUFfQ0FQVFVSRSkKK3ZvaWQgQ2hyb21lQ2xpZW50V3g6OnJ1bkNhcHR1cmVQYW5l
bChGcmFtZSosIFBhc3NSZWZQdHI8TWVkaWFDYXB0dXJlQ2hvb3Nlcj4pCit7CisgICAgLy8gTm90
ZTogY2FwdHVyZVR5cGUoKSBpbiBNZWRpYUNhcHR1cmVDaG9vc2VyIHdpbGwgcmV0dXJuIHRoZSBk
ZXRlcm1pbmVkIHZhbHVlIGZyb20KKyAgICAvLyB0aGUgaW50ZXJhY3Rpb25zIGJldHdlZW4gdGhl
IGNhcHR1cmUgYXR0cmlidXRlIGFuZCB0aGUgYWNjZXB0IGF0dHJpYnV0ZS4gSXQncworICAgIC8v
IHRoZSB2YWx1ZSBmb3IgdGhlIHBhbmVsIHR5cGUgdGhhdCBzaG91bGQgYmUgcHJlc2VudGVkIGJ5
IGRlZmF1bHQuIFRoZSBhZGRpdGlvbmFsCisgICAgLy8gY2FwdHVyZSB0eXBlIGNhbiBiZSBhbGxv
d2VkIGZyb20gY2FwdHVyZWFjY2VwdE1JTUVUeXBlcyBvZiBGaWxlQ2hvb3NlclNldHRpbmdzLgor
CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKyNlbmRpZgorCiB2b2lkIENocm9tZUNsaWVudFd4
Ojpsb2FkSWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBmaWxlbmFtZXMsIEZpbGVJ
Y29uTG9hZGVyKiBsb2FkZXIpCiB7CiAgICAgbG9hZGVyLT5ub3RpZnlGaW5pc2hlZChJY29uOjpj
cmVhdGVJY29uRm9yRmlsZXMoZmlsZW5hbWVzKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaCBiL1NvdXJjZS9XZWJLaXQvd3gvV2Vi
S2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oCmluZGV4IDJiNmNkZWY2MTJjYWZjZDRmMjUwMTM0
NTE2OGRhM2NlNzA1ODg1NjkuLjZlNmJkMTQwZjFjOWMwYzE0YmM2ODcxNTU1MWM1MDcxOTZlNzhm
OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGll
bnRXeC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRX
eC5oCkBAIC0xMzIsNiArMTMyLDkgQEAgcHVibGljOgogI2VuZGlmCiAKICAgICB2aXJ0dWFsIHZv
aWQgcnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4pOworI2lmIEVO
QUJMRShIVE1MX01FRElBX0NBUFRVUkUpCisgICAgdmlydHVhbCB2b2lkIHJ1bkNhcHR1cmVQYW5l
bChGcmFtZSosIFBhc3NSZWZQdHI8TWVkaWFDYXB0dXJlQ2hvb3Nlcj4pOworI2VuZGlmCiAgICAg
dmlydHVhbCB2b2lkIGxvYWRJY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mLCBGaWxl
SWNvbkxvYWRlciopOwogCiAgICAgdmlydHVhbCB2b2lkIGZvcm1TdGF0ZURpZENoYW5nZShjb25z
dCBOb2RlKikgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZSBi
L1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCmluZGV4IDdkZjQ0NDI5ODgyMGNiMzRmN2Vh
YjI4MGVhY2Q2YzYxNTI3ZDAzZmMuLjIzZjMwMDI2OWRjYTgzZWM0MTdiZmM4MDhmZGU2OWNmNjAw
ZmJiMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCisrKyBiL1Nv
dXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCkBAIC03NSw2ICs3NSw3IEBAIFdFQktJVF9GRUFU
VVJFKEVOQUJMRV9GSUxURVJTICJFbmFibGUgU1ZHIGZpbHRlcnMiIERFRkFVTFQgT04pCiBXRUJL
SVRfRkVBVFVSRShFTkFCTEVfRlRQRElSICJFbmFibGUgRlRQIGRpcmVjdG9yeSBzdXBwb3J0IiBE
RUZBVUxUIE9OKQogV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJICJFbmFibGUg
RnVsbHNjcmVlbiBBUEkgc3VwcG9ydCIgREVGQVVMVCBPRkYpCiBXRUJLSVRfRkVBVFVSRShFTkFC
TEVfR0VPTE9DQVRJT04gIkVuYWJsZSBnZW9sb2NhdGlvbiIgREVGQVVMVCBPRkYpCitXRUJLSVRf
RkVBVFVSRShFTkFCTEVfSFRNTF9NRURJQV9DQVBUVVJFICJFbmFibGUgSFRNTCBNZWRpYSBDYXB0
dXJlIiBERUZBVUxUIE9OKQogV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX0lDT05EQVRBQkFTRSAiRW5h
YmxlIGljb24gZGF0YWJhc2UiIERFRkFVTFQgT04pCiBXRUJLSVRfRkVBVFVSRShFTkFCTEVfSU5T
UEVDVE9SICJFbmFibGUgaW5zcGVjdG9yIiBERUZBVUxUIE9OKQogV0VCS0lUX0ZFQVRVUkUoRU5B
QkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIgIkVuYWJsZSBKYXZhU2NyaXB0IGRlYnVnZ2VyIiBERUZB
VUxUIE9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UgYi9Tb3VyY2Uv
Y21ha2Vjb25maWcuaC5jbWFrZQppbmRleCA2ZDNmODM3OTQ3MjkzYzFkMjUzMGRkYjQxODg4ZTk0
ZDY1ZTFiNGI4Li4zN2JkNTQ0NDU0MGFjNTQzMGU3MDM0ZGI3MjVjOWNhMGYyZTg4OWRjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2Vjb25m
aWcuaC5jbWFrZQpAQCAtMTksNiArMTksNyBAQAogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0ZVTExT
Q1JFRU5fQVBJCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfR0VPTE9DQVRJT04KICNjbWFrZWRlZmlu
ZTAxIEVOQUJMRV9HTElCX1NVUFBPUlQKKyNjbWFrZWRlZmluZTAxIEVOQUJMRV9IVE1MX01FRElB
X0NBUFRVUkUKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9JQ09OREFUQUJBU0UKICNjbWFrZWRlZmlu
ZTAxIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfSU5TUEVD
VE9SCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXgg
ZWExZDA3NGQ0MTBmNWEzMmRlMmJlNzU2NGNlZGFhNTk1NjEyYThmMy4uODdhM2ZhMThlNDJlNGQ4
ODMzYzU5YTViNzM5ZDZiMmFiZTdhYWQwOSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisr
KyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTAyLTE2ICBKb25nc2Vv
ayBZYW5nICA8anM0NS55YW5nQHNhbXN1bmcuY29tPgorCisgICAgICAgIEltcGxlbWVudCB0aGUg
aW50ZXJmYWNlIGZvciBtZWRpYSBjYXB0dXJlIHBhbmVsIHRvIHN1cHBvcnQgSFRNTCBNZWRpYSBD
YXB0dXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
MzA2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBvcHRpb24gZm9yIEhUTUwgTWVkaWEgQ2FwdHVyZS4KKworICAgICAgICAqIFNjcmlwdHMvYnVp
bGQtd2Via2l0OgorICAgICAgICAqIHFtYWtlL21rc3BlY3MvZmVhdHVyZXMvZmVhdHVyZXMucHJm
OgorCiAyMDEyLTAyLTE2ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNv
bT4KIAogICAgICAgICBbR1RLXSBNYWtlIGluc3RhbGwgaXMgYnJva2VuIHdoZW4gYnVpbGRpbmcg
d2l0aG91dCAtLWVuYWJsZS1ndGstZG9jCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2J1aWxk
LXdlYmtpdCBiL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0CmluZGV4IGNkZjYyYTA3YWRkNzhl
NDU3MTEyZWI3NDU3M2M1YTBhNjAyOGYwYzEuLjkxMDhiM2Y0YjMyODg2MzViN2NjM2Q3MDEyMTNj
ZWU0ODU5NTdjNGEgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0CisrKyBi
L1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0CkBAIC05MCw2ICs5MCw3IEBAIG15ICgKICAgICAk
ZnVsbHNjcmVlbkFQSVN1cHBvcnQsCiAgICAgJGdhbWVwYWRTdXBwb3J0LAogICAgICRnZW9sb2Nh
dGlvblN1cHBvcnQsCisgICAgJGh0bWxNZWRpYUNhcHR1cmVTdXBwb3J0LAogICAgICRpY29uRGF0
YWJhc2VTdXBwb3J0LAogICAgICRpbWFnZVJlc2l6ZXJTdXBwb3J0LAogICAgICRpbmRleGVkRGF0
YWJhc2VTdXBwb3J0LApAQCAtMjE1LDYgKzIxNiw5IEBAIG15IEBmZWF0dXJlcyA9ICgKICAgICB7
IG9wdGlvbiA9PiAiZ2VvbG9jYXRpb24iLCBkZXNjID0+ICJUb2dnbGUgR2VvbG9jYXRpb24gc3Vw
cG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9HRU9MT0NBVElPTiIsIGRlZmF1bHQgPT4g
KGlzQXBwbGVXZWJLaXQoKSB8fCBpc0d0aygpIHx8IGlzQmxhY2tCZXJyeSgpKSwgdmFsdWUgPT4g
XCRnZW9sb2NhdGlvblN1cHBvcnQgfSwKIAorICAgIHsgb3B0aW9uID0+ICJodG1sLW1lZGlhLWNh
cHR1cmUiLCBkZXNjID0+ICJUb2dnbGUgSFRNTCBNZWRpYSBDYXB0dXJlIHN1cHBvcnQiLAorICAg
ICAgZGVmaW5lID0+ICJFTkFCTEVfSFRNTF9NRURJQV9DQVBUVVJFIiwgZGVmYXVsdCA9PiBpc0Vm
bCgpLCB2YWx1ZSA9PiBcJGh0bWxNZWRpYUNhcHR1cmVTdXBwb3J0IH0sCisKICAgICB7IG9wdGlv
biA9PiAiaWNvbi1kYXRhYmFzZSIsIGRlc2MgPT4gIlRvZ2dsZSBJY29uIGRhdGFiYXNlIHN1cHBv
cnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfSUNPTkRBVEFCQVNFIiwgZGVmYXVsdCA9PiAx
LCB2YWx1ZSA9PiBcJGljb25EYXRhYmFzZVN1cHBvcnQgfSwKIApkaWZmIC0tZ2l0IGEvVG9vbHMv
cW1ha2UvbWtzcGVjcy9mZWF0dXJlcy9mZWF0dXJlcy5wcmYgYi9Ub29scy9xbWFrZS9ta3NwZWNz
L2ZlYXR1cmVzL2ZlYXR1cmVzLnByZgppbmRleCBlYTczMWU0OGU2MTk2NGZjOGJkMDUwNzdhNzRj
NDJkNmJmYjRmZjdjLi41ODRkYWJiY2I4ZTg1MDVjNTNlNzIyOTJlM2Y0NDkyNGViMmUxYTcxIDEw
MDY0NAotLS0gYS9Ub29scy9xbWFrZS9ta3NwZWNzL2ZlYXR1cmVzL2ZlYXR1cmVzLnByZgorKysg
Yi9Ub29scy9xbWFrZS9ta3NwZWNzL2ZlYXR1cmVzL2ZlYXR1cmVzLnByZgpAQCAtODUsNiArODUs
NyBAQCBoYXZlUXQoNCk6dW5peDohbWFjOiFlbWJlZGRlZCB7CiAhY29udGFpbnMoREVGSU5FUywg
RU5BQkxFX01FRElBX1NUUkVBTT0uKTogREVGSU5FUyArPSBFTkFCTEVfTUVESUFfU1RSRUFNPTAK
ICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVfVklERU9fVFJBQ0s9Lik6IERFRklORVMgKz0gRU5B
QkxFX1ZJREVPX1RSQUNLPTAKICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVfVE9VQ0hfSUNPTl9M
T0FESU5HPS4pOiBERUZJTkVTICs9IEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkc9MAorIWNvbnRh
aW5zKERFRklORVMsIEVOQUJMRV9IVE1MX01FRElBX0NBUFRVUkU9Lik6IERFRklORVMgKz0gRU5B
QkxFX0hUTUxfTUVESUFfQ0FQVFVSRT0wCiAhY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0FOSU1B
VElPTl9BUEk9Lik6IERFRklORVMgKz0gRU5BQkxFX0FOSU1BVElPTl9BUEk9MAogCiAjIEVuYWJs
ZWQgaW4gU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oIGlmIG5vdCBzZXQKZGlm
ZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBjZDUxYTM5YTA2MTM1NWM3ZmY2
ZDAxZDVkOWJmMWZiNjkzZDc1ZDg3Li4zYWRhNGFhMGY2MzZlYjZhODQ2MzQwYzBkNDY3OTM0NDQx
Yjc0NzJhIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMTItMDItMTYgIEpvbmdzZW9rIFlhbmcgIDxqczQ1LnlhbmdAc2Ftc3VuZy5jb20+
CisKKyAgICAgICAgSW1wbGVtZW50IHRoZSBpbnRlcmZhY2UgZm9yIG1lZGlhIGNhcHR1cmUgcGFu
ZWwgdG8gc3VwcG9ydCBIVE1MIE1lZGlhIENhcHR1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYzMDYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG9wdGlvbiBmb3IgSFRNTCBNZWRpYSBDYXB0dXJl
LgorCisgICAgICAgICogU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2U6CisgICAgICAgICog
U291cmNlL2NtYWtlY29uZmlnLmguY21ha2U6CisgICAgICAgICogY29uZmlndXJlLmFjOgorCiAy
MDEyLTAyLTE2ICBTaW1vbiBIYXVzbWFubiAgPHNpbW9uLmhhdXNtYW5uQG5va2lhLmNvbT4KIAog
ICAgICAgICBbUXRdIE1vdmUgZXZlbnQgY29udmVyc2lvbiBmdW5jdGlvbnMgZnJvbSBXZWJDb3Jl
IHRvIFdlYktpdApkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCmluZGV4
IGJmODEyOTVhMmZlNjA4MzJjYjAyNDRmMTJhNjk2MTEzYzVkY2I2NjMuLjNkYzQ3MzZiNDg3ZDg1
MDNiZjY2NzcxMzU0YzEyMTM2MGY2MDYyZDIgMTAwNjQ0Ci0tLSBhL2NvbmZpZ3VyZS5hYworKysg
Yi9jb25maWd1cmUuYWMKQEAgLTEwNjMsNiArMTA2MywxNCBAQCBBQ19BUkdfRU5BQkxFKGRldmlj
ZV9vcmllbnRhdGlvbiwKICAgICAgICAgICAgICAgW10sW2VuYWJsZV9kZXZpY2Vfb3JpZW50YXRp
b249Im5vIl0pCiBBQ19NU0dfUkVTVUxUKFskZW5hYmxlX2RldmljZV9vcmllbnRhdGlvbl0pCiAK
KyMgY2hlY2sgd2hldGhlciB0byBlbmFibGUgSFRNTCBNZWRpYSBDYXB0dXJlCitBQ19NU0dfQ0hF
Q0tJTkcoW3doZXRoZXIgdG8gZW5hYmxlIEhUTUwgTWVkaWEgQ2FwdHVyZV0pCitBQ19BUkdfRU5B
QkxFKGh0bWxfbWVkaWFfY2FwdHVyZSwKKyAgICAgICAgICAgICAgQUNfSEVMUF9TVFJJTkcoWy0t
ZW5hYmxlLWh0bWwtbWVkaWEtY2FwdHVyZV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFtlbmFibGUgc3VwcG9ydCBmb3IgSFRNTCBNZWRpYSBDYXB0dXJlIFtkZWZhdWx0PW5vXV0pLAor
ICAgICAgICAgICAgICBbXSwgW2VuYWJsZV9odG1sX21lZGlhX2NhcHR1cmU9Im5vIl0pCitBQ19N
U0dfUkVTVUxUKFskZW5hYmxlX2h0bWxfbWVkaWFfY2FwdHVyZV0pCisKIEdfSVJfU0NBTk5FUj0K
IEdfSVJfQ09NUElMRVI9CiBHX0lSX0dFTkVSQVRFPQpAQCAtMTM0MSw2ICsxMzQ5LDcgQEAgQU1f
Q09ORElUSU9OQUwoW0VOQUJMRV9JTlBVVF9TUEVFQ0hdLFt0ZXN0ICIkZW5hYmxlX2lucHV0X3Nw
ZWVjaCIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX1hTTFRdLFt0ZXN0ICIkZW5h
YmxlX3hzbHQiID0gInllcyJdKQogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9GSUxURVJTXSxbdGVz
dCAiJGVuYWJsZV9maWx0ZXJzIiA9ICJ5ZXMiXSkKIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfR0VP
TE9DQVRJT05dLCBbdGVzdCAiJGVuYWJsZV9nZW9sb2NhdGlvbiIgPSAieWVzIl0pCitBTV9DT05E
SVRJT05BTChbRU5BQkxFX0hUTUxfTUVESUFfQ0FQVFVSRV0sIFt0ZXN0ICIkZW5hYmxlX2h0bWxf
bWVkaWFfY2FwdHVyZSIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX01BVEhNTF0s
IFt0ZXN0ICIkZW5hYmxlX21hdGhtbCIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxF
X01IVE1MXSwgW3Rlc3QgIiRlbmFibGVfbWh0bWwiID0gInllcyJdKQogQU1fQ09ORElUSU9OQUwo
W0VOQUJMRV9WSURFT10sW3Rlc3QgIiRlbmFibGVfdmlkZW8iID0gInllcyJdKQpAQCAtMTQzNiw2
ICsxNDQ1LDcgQEAgRmVhdHVyZXM6CiAgTWVkaWEgc291cmNlICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlX21lZGlhX3NvdXJjZQogIE1lZGlhIHN0
YXRpc3RpY3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGVuYWJs
ZV9tZWRpYV9zdGF0aXN0aWNzCiAgTUhUTUwgc3VwcG9ydCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlX21odG1sCisgSFRNTCBNZWRpYSBDYXB0dXJl
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlX2h0bWxfbWVk
aWFfY2FwdHVyZQogIEhUTUw1IGNoYW5uZWwgbWVzc2FnaW5nIHN1cHBvcnQgICAgICAgICAgICAg
ICAgICAgICAgICAgIDogJGVuYWJsZV9jaGFubmVsX21lc3NhZ2luZwogIEhUTUw1IG1ldGVyIGVs
ZW1lbnQgc3VwcG9ydCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGVuYWJsZV9tZXRl
cl90YWcKICBIVE1MNSBtaWNyb2RhdGEgc3VwcG9ydCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA6ICRlbmFibGVfbWljcm9kYXRhCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129021</attachid>
            <date>2012-02-27 05:38:28 -0800</date>
            <delta_ts>2012-03-15 22:51:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-63062-20120227223824.patch</filename>
            <type>text/plain</type>
            <size>58908</size>
            <attacher name="Jongseok Yang">js45.yang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4MDQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
ZGYwZjNlNWIzMTg0ZmYyYmE4OGRlNGFiYjNlNDZkNDkyYjZhYTkyLi5hNTdkZGE5MjZkNDdmZTEw
MjRmOWEzNjUxN2M5OWEzMGY5MjJhNzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAxMi0wMi0xNiAgSm9uZ3Nlb2sgWWFuZyAgPGpzNDUueWFuZ0BzYW1zdW5n
LmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgdGhlIGludGVyZmFjZSBmb3IgbWVkaWEgY2FwdHVy
ZSBwYW5lbCB0byBzdXBwb3J0IEhUTUwgTWVkaWEgQ2FwdHVyZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMwNjIKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgb3B0aW9uIGZvciBIVE1MIE1lZGlhIENh
cHR1cmUuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAxMi0wMi0xNiAgWXVxaWFuZyBYaWFuICA8eXVxaWFuZy54aWFuQGludGVsLmNvbT4K
IAogICAgICAgICBBZGQgSlNDIGNvZGUgcHJvZmlsaW5nIHN1cHBvcnQgb24gTGludXggeDg2CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggM2RkYjBiMTRjMmVkMjVkOGU3OTYwNzMyOTkwNDMxYzk2ZDljMjJjMS4uODY1
MDJmZWM4Njk1NTNkYmI4MDQyMzRjMTk3MDI0MjVjZjFjYTkzOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDc2IEBACisyMDEyLTAyLTE2ICBKb25nc2VvayBZYW5nICA8anM0NS55YW5nQHNhbXN1bmcu
Y29tPgorCisgICAgICAgIEltcGxlbWVudCB0aGUgaW50ZXJmYWNlIGZvciBtZWRpYSBjYXB0dXJl
IHBhbmVsIHRvIHN1cHBvcnQgSFRNTCBNZWRpYSBDYXB0dXJlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MzA2MgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCAiY2FwdHVyZSIgYXR0cmlidXRlIGZvciBI
VE1MIE1lZGlhIENhcHR1cmUuCisKKyAgICAgICAgSW1wbGVtZW50IHRoZSBpbnRlcmZhY2UgInJ1
bkNhcHR1cmVQYW5lbCgpIiB0byBydW4gdGhlIHNwZWNpZmljIHBpY2tlciBmb3IgY2FtZXJhLCBj
YW1jb3JkZXIKKyAgICAgICAgYW5kIG1pY3JvcGhvbmUuIEVhY2ggcGxhdGZvcm0gY2FuIHJ1biB0
aGUgY2FwdHVyZSBwYW5lbCBpbXBsZW1lbnRpbmcgcnVuQ2FwdHVyZVBhbmVsKCkgaW4KKyAgICAg
ICAgQ2hyb21lQ2xpZW50LgorCisgICAgICAgIEltcGxlbWVudCBNZWRpYUNhcHR1cmVDaG9vc2Vy
IHRoYXQgaW5oZXJpdHMgZnJvbSBGaWxlQ2hvb3Nlci4gSXQgaXMgdXNlZCBmb3IgbWVkaWEgY2Fw
dHVyZQorICAgICAgICBpbnRlcmZhY2UgInJ1bkNhcHR1cmVQYW5lbCgpIi4gIEVhY2ggcGxhdGZv
cm0gd2lsbCBkZWNpZGUgd2hhdCB0byBsYXVuY2ggYnkgZGVmYXVsdCB1c2luZworICAgICAgICAi
Y2FwdHVyZVR5cGUoKSIgaW4gTWVkaWFDYXB0dXJlQ2hvb3NlciBjbGFzcy4KKworICAgICAgICBG
aWxlQ2hvb3NlckNsaWVudDo6ZGV0ZXJtaW5lQ2FwdHVyZVR5cGUgaXMgdXNlZCB0byBkZWZpbmUg
dGhlIG9wZXJhdGlvbiBmb3IgdGhlIGludGVyYWN0aW9ucworICAgICAgICBiZXR3ZWVuIHRoZSBj
YXB0dXJlIGF0dHJpYnV0ZSBhbmQgdGhlIGFjY2VwdCBhdHRyaWJ1dGUuCisKKyAgICAgICAgTm8g
bmV3IHRlc3RzIGJlY2F1c2UgaXQgaXMgZXhwZWN0ZWQganVzdCB0byBsYXVuY2ggdGhlIHNwZWNp
ZmljIGNhcHR1cmUgcGFuZWwgYW5kIG90aGVyIGJlaGF2aW9yIGZvciBpbnB1dCBlbGVtZW50IGlz
IHVuY2hhbmdlZC4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIGh0bWwvRmlsZUlu
cHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGaWxlSW5wdXRUeXBlOjpoYW5kbGVET01B
Y3RpdmF0ZUV2ZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbjoKKyAg
ICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpjYXB0dXJlKToKKyAgICAgICAgKiBo
dG1sL0hUTUxJbnB1dEVsZW1lbnQuaDoKKyAgICAgICAgKEhUTUxJbnB1dEVsZW1lbnQpOgorICAg
ICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5pZGw6CisgICAgICAgICogbG9hZGVyL0VtcHR5
Q2xpZW50cy5oOgorICAgICAgICAoRW1wdHlDaHJvbWVDbGllbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6RW1wdHlDaHJvbWVDbGllbnQ6OnJ1bkNhcHR1cmVQYW5lbCk6CisgICAgICAgICogcGFnZS9D
aHJvbWUuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWU6
OnJ1bkNhcHR1cmVQYW5lbCk6CisgICAgICAgICogcGFnZS9DaHJvbWUuaDoKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoQ2hyb21lKToKKyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5o
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChDaHJvbWVDbGllbnQpOgorICAgICAgICAq
IHBsYXRmb3JtL0ZpbGVDaG9vc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6RmlsZUNob29zZXJDbGllbnQ6Om5ld01lZGlhQ2FwdHVyZUNob29zZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6RmlsZUNob29zZXJDbGllbnQ6OmRldGVybWluZUNhcHR1cmVUeXBlKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ2FwdHVyZUNob29zZXI6OmNyZWF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYUNhcHR1cmVDaG9vc2VyOjp+TWVkaWFDYXB0dXJlQ2hvb3Nlcik6Cisg
ICAgICAgIChNZWRpYUNhcHR1cmVOYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNhcHR1
cmVOYW1lczo6Y2FtZXJhKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ2FwdHVyZU5hbWVzOjpj
YW1jb3JkZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDYXB0dXJlTmFtZXM6Om1pY3JvcGhv
bmUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDYXB0dXJlTmFtZXM6OmZpbGVzeXN0ZW0pOgor
ICAgICAgICAqIHBsYXRmb3JtL0ZpbGVDaG9vc2VyLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKEZpbGVDaG9vc2VyQ2xpZW50KToKKyAgICAgICAgKEZpbGVDaG9vc2VyKToKKyAgICAg
ICAgKFdlYkNvcmU6OkZpbGVDaG9vc2VyOjpGaWxlQ2hvb3Nlcik6CisgICAgICAgIChNZWRpYUNh
cHR1cmVDaG9vc2VyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ2FwdHVyZUNob29zZXI6OmNh
cHR1cmVUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ2FwdHVyZUNob29zZXI6Ok1lZGlh
Q2FwdHVyZUNob29zZXIpOgorICAgICAgICAoTWVkaWFDYXB0dXJlTmFtZXMpOgorICAgICAgICAq
IHBsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aW5pdGlh
bGl6ZVN1cHBvcnRlZEltYWdlTUlNRVR5cGVzKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoV2ViQ29yZTo6aW5pdGlhbGl6ZVN1cHBvcnRlZENhcHR1cmVNSU1FVHlwZXMpOgorICAgICAg
ICAoV2ViQ29yZTo6TUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRDYXB0dXJlTUlNRVR5cGUp
OgorICAgICAgICAqIHBsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuaDoKKyAgICAgICAgKE1JTUVU
eXBlUmVnaXN0cnkpOgorCiAyMDEyLTAyLTE2ICBDcmlzIE5lY2thciAgPGNkbkBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgQ29ycmVjdCBhIG1pc2xlYWRpbmcgY29tbWVudCByZWdhcmRpbmcgc3Ry
aW5nIGRlbGltaXRlcnMgaW4gQ1NTIHBhcnNpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmlu
ZGV4IDAzNmEyYmJmOTJkNDk3YTNjMjJmMGM1YmU4NTk0NTBlMTlhZWI3MjIuLmRkNjdjODQzOTAz
MDdjZjhjN2Y3Mzk3Y2YyOTgzM2E2NjJhMzM5ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTggQEAKKzIwMTItMDItMTYgIEpvbmdzZW9rIFlhbmcgIDxqczQ1LnlhbmdA
c2Ftc3VuZy5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IHRoZSBpbnRlcmZhY2UgZm9yIG1lZGlh
IGNhcHR1cmUgcGFuZWwgdG8gc3VwcG9ydCBIVE1MIE1lZGlhIENhcHR1cmUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYzMDYyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHJ1bkNhcHR1cmVQYW5lbCgp
IHRvIHJ1biB0aGUgY2FwdHVyZSBwYW5lbCBmb3IgSFRNTCBNZWRpYSBDYXB0dXJlLgorCisgICAg
ICAgICogc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0KToKKyAgICAg
ICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50SW1wbDo6cnVuQ2FwdHVyZVBhbmVsKToKKyAgICAgICAg
KiBzcmMvQ2hyb21lQ2xpZW50SW1wbC5oOgorICAgICAgICAoQ2hyb21lQ2xpZW50SW1wbCk6CisK
IDIwMTItMDItMTYgIEFsZXhhbmRyZSBFbGlhcyAgPGFlbGlhc0Bnb29nbGUuY29tPgogCiAgICAg
ICAgIFtjaHJvbWl1bV0gQnVuZGxlIHBhZ2Ugc2NhbGUgZmFjdG9yIGFuZCBsaW1pdHMgaW4gQ0NM
YXllclRyZWVIb3N0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggZTU3OGQzYjAzZjczOTAwNzRkMGE0Y2M0
YTIyOWI1ZjVmOGI5MmZkNi4uMTFjY2ExMDIyNzgwODFmN2MyOGM2ZmYyMjI5NzQ2N2I1ZDU0YWI1
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAyLTE2ICBKb25nc2Vv
ayBZYW5nICA8anM0NS55YW5nQHNhbXN1bmcuY29tPgorCisgICAgICAgIEltcGxlbWVudCB0aGUg
aW50ZXJmYWNlIGZvciBtZWRpYSBjYXB0dXJlIHBhbmVsIHRvIHN1cHBvcnQgSFRNTCBNZWRpYSBD
YXB0dXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
MzA2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBydW5DYXB0dXJlUGFuZWwoKSB0byBydW4gdGhlIGNhcHR1cmUgcGFuZWwgZm9yIEhUTUwgTWVk
aWEgQ2FwdHVyZS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5j
cHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudEVm
bDo6cnVuQ2FwdHVyZVBhbmVsKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRFZmwuaDoKKyAgICAgICAgKENocm9tZUNsaWVudEVmbCk6CisKIDIwMTItMDEtMzEgIFJhcGhh
ZWwgS3VibyBkYSBDb3N0YSAgPGt1Ym9AcHJvZnVzaW9uLm1vYmk+CiAKICAgICAgICAgW3NvdXBd
IEFkZCBzdXBwb3J0IGZvciBtdWx0aXBsZSBTb3VwU2Vzc2lvbnMuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5k
ZXggYzI5YmRjNmFhNDRiOTdlZjI0OTE0MWM4YzhmNDc4YjAzZTI5ZmU1Ni4uMjE4ODY2ZWU2YTJi
ZTQ2NWE3MDliYzU0MDM3YTMwODFkYThiMmY4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9n
dGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE4IEBACisyMDEyLTAyLTE2ICBKb25nc2VvayBZYW5nICA8anM0NS55YW5nQHNhbXN1bmcuY29t
PgorCisgICAgICAgIEltcGxlbWVudCB0aGUgaW50ZXJmYWNlIGZvciBtZWRpYSBjYXB0dXJlIHBh
bmVsIHRvIHN1cHBvcnQgSFRNTCBNZWRpYSBDYXB0dXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MzA2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBydW5DYXB0dXJlUGFuZWwoKSB0byBydW4gdGhl
IGNhcHR1cmUgcGFuZWwgZm9yIEhUTUwgTWVkaWEgQ2FwdHVyZS4KKworICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHA6CisgICAgICAgIChXZWJLaXQpOgorICAgICAg
ICAoV2ViS2l0OjpDaHJvbWVDbGllbnQ6OnJ1bkNhcHR1cmVQYW5lbCk6CisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmg6CisgICAgICAgIChDaHJvbWVDbGllbnQpOgor
CiAyMDEyLTAyLTE2ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
QXR0ZW1wdCB0byBmaXggdGhlIEdUSyBidWlsZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCBjYjU5NDM2
MjhiMDhjNWM3ZWMwNWZlZTFkNWNiNjZhMDEwYmQwYjFiLi4zYmFkMDg3NjY1MzM0ZmEzOGNlZTlm
ZmViNDFlYTBjZDM3NWIxZTIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIw
MTItMDItMTYgIEpvbmdzZW9rIFlhbmcgIDxqczQ1LnlhbmdAc2Ftc3VuZy5jb20+CisKKyAgICAg
ICAgSW1wbGVtZW50IHRoZSBpbnRlcmZhY2UgZm9yIG1lZGlhIGNhcHR1cmUgcGFuZWwgdG8gc3Vw
cG9ydCBIVE1MIE1lZGlhIENhcHR1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTYzMDYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIHJ1bkNhcHR1cmVQYW5lbCgpIHRvIHJ1biB0aGUgY2FwdHVyZSBw
YW5lbCBmb3IgSFRNTCBNZWRpYSBDYXB0dXJlLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1t
OgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50OjpydW5DYXB0dXJlUGFuZWwpOgorCiAyMDEyLTAy
LTE2ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMTA2MTYyODA+IGFuZCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9Nzg3NjcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggNDY3MjEzMGQ2Y2M5MTRhZmE3ZDhmNDFjMjUz
ZDIxNWNhOWU3OWFhNi4uOGE2OGIxYmNiZjBmYTcwOWE2OWIyZDJjYzNlZGY2ZDc2NDNlOWUyYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMi0wMi0xNiAgSm9uZ3Nlb2sgWWFu
ZyAgPGpzNDUueWFuZ0BzYW1zdW5nLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgdGhlIGludGVy
ZmFjZSBmb3IgbWVkaWEgY2FwdHVyZSBwYW5lbCB0byBzdXBwb3J0IEhUTUwgTWVkaWEgQ2FwdHVy
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMwNjIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgcnVu
Q2FwdHVyZVBhbmVsKCkgdG8gcnVuIHRoZSBjYXB0dXJlIHBhbmVsIGZvciBIVE1MIE1lZGlhIENh
cHR1cmUuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudFF0OjpydW5D
YXB0dXJlUGFuZWwpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0Lmg6
CisgICAgICAgIChDaHJvbWVDbGllbnRRdCk6CisKIDIwMTItMDItMTYgIFNpbW9uIEhhdXNtYW5u
ICA8c2ltb24uaGF1c21hbm5Abm9raWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnJvd24t
cGFwZXIgYmFnIGJ1aWxkIGZpeC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCAxNjllOThiNzI3NWUzMWM4
MWI0ODMwMTUyNWU5NjRhNDFkY2RhMjgxLi5kNmZlY2E1ZGIxZWQ1YzM1YWU0ODk5ZjlmNjBmYTg5
NzhlZmEzZWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDItMTYg
IEpvbmdzZW9rIFlhbmcgIDxqczQ1LnlhbmdAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgSW1wbGVt
ZW50IHRoZSBpbnRlcmZhY2UgZm9yIG1lZGlhIGNhcHR1cmUgcGFuZWwgdG8gc3VwcG9ydCBIVE1M
IE1lZGlhIENhcHR1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTYzMDYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIHJ1bkNhcHR1cmVQYW5lbCgpIHRvIHJ1biB0aGUgY2FwdHVyZSBwYW5lbCBmb3Ig
SFRNTCBNZWRpYSBDYXB0dXJlLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmNwcDoKKyAgICAgICAgKFdlYkNocm9tZUNsaWVudDo6cnVuQ2FwdHVyZVBhbmVsKToK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKFdl
YkNocm9tZUNsaWVudCk6CisKIDIwMTItMDItMTUgIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxz
YWRydWxAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIE5vdGlmeSBDaHJvbWVDbGllbnQgd2hlbiB0
b3VjaC1ldmVudCBoYW5kbGVycyBhcmUgaW5zdGFsbGVkL3JlbW92ZWQuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdl
TG9nCmluZGV4IDFjOGIwMTUyYTgwNWUzZjJhMGE4YTk3ODIzOWZmMmUzNTE5N2UyM2MuLjJhODA5
ODVhMjUzN2I5MjBmNjIzZTQ1MDZkODU4ODQwMzNhZWNmY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvd2luY2UvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTggQEAKKzIwMTItMDItMTYgIEpvbmdzZW9rIFlhbmcgIDxqczQ1LnlhbmdA
c2Ftc3VuZy5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IHRoZSBpbnRlcmZhY2UgZm9yIG1lZGlh
IGNhcHR1cmUgcGFuZWwgdG8gc3VwcG9ydCBIVE1MIE1lZGlhIENhcHR1cmUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYzMDYyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHJ1bkNhcHR1cmVQYW5lbCgp
IHRvIHJ1biB0aGUgY2FwdHVyZSBwYW5lbCBmb3IgSFRNTCBNZWRpYSBDYXB0dXJlLgorCisgICAg
ICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuY3BwOgorICAgICAgICAoV2Vi
S2l0KToKKyAgICAgICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50V2luQ0U6OnJ1bkNhcHR1cmVQYW5l
bCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaDoKKyAgICAg
ICAgKENocm9tZUNsaWVudFdpbkNFKToKKwogMjAxMi0wMi0xNSAgUGF0cmljayBHYW5zdGVyZXIg
IDxwYXJvZ2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIFdpbkNFIGJ1aWxkIGZp
eCBhZnRlciByMTA3NjA2LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L3d4L0NoYW5nZUxvZwppbmRleCAwNWJlODRiNzE4ZGY3ZTQ3MWU4MWJh
YTczNWYwNWU0MzEwM2MwNTM3Li5hNzgyM2FjNmRjMDBkYjNlNmZkYTE1YzEwMGVlOGJiY2Q2MTJl
ZDU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3d4L0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L3d4L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAyLTE2ICBKb25nc2Vv
ayBZYW5nICA8anM0NS55YW5nQHNhbXN1bmcuY29tPgorCisgICAgICAgIEltcGxlbWVudCB0aGUg
aW50ZXJmYWNlIGZvciBtZWRpYSBjYXB0dXJlIHBhbmVsIHRvIHN1cHBvcnQgSFRNTCBNZWRpYSBD
YXB0dXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
MzA2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBydW5DYXB0dXJlUGFuZWwoKSB0byBydW4gdGhlIGNhcHR1cmUgcGFuZWwgZm9yIEhUTUwgTWVk
aWEgQ2FwdHVyZS4KKworICAgICAgICAqIFdlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guY3Bw
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRXeDo6
cnVuQ2FwdHVyZVBhbmVsKToKKyAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4
Lmg6CisgICAgICAgIChDaHJvbWVDbGllbnRXeCk6CisKIDIwMTItMDItMTUgIFNhZHJ1bCBIYWJp
YiBDaG93ZGh1cnkgIDxzYWRydWxAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIE5vdGlmeSBDaHJv
bWVDbGllbnQgd2hlbiB0b3VjaC1ldmVudCBoYW5kbGVycyBhcmUgaW5zdGFsbGVkL3JlbW92ZWQu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggNTc2ZTc0NmFkOTJkNWRjZDMyZWM1ODU3NTNl
ZWE3MjNiMGYyZDhlMi4uZjQ5Y2JkMGYzODc0MDc1YWRmYzUwMjNkMGM3Y2YxM2NhNWJlMTMxZiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtODYsNiArODYsNyBAQCBFTkFCTEVfRklMRV9T
WVNURU0gPSA7CiBFTkFCTEVfRlVMTFNDUkVFTl9BUEkgPSBFTkFCTEVfRlVMTFNDUkVFTl9BUEk7
CiBFTkFCTEVfR0FNRVBBRCA9IDsKIEVOQUJMRV9HRU9MT0NBVElPTiA9IEVOQUJMRV9HRU9MT0NB
VElPTjsKK0VOQUJMRV9IVE1MX01FRElBX0NBUFRVUkUgPSA7CiBFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRSA9IDsKIEVOQUJMRV9JTlBVVF9DT0xPUiA9IDsKIEVOQUJMRV9JTlBVVF9TUEVFQ0ggPSA7
CkBAIC0xMjYsNCArMTI3LDQgQEAgRU5BQkxFX1dFQl9USU1JTkcgPSA7CiBFTkFCTEVfV09SS0VS
UyA9IEVOQUJMRV9XT1JLRVJTOwogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVS
RV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8y
RF9DQU5WQVMpICQoRU5BQkxFX0FOSU1BVElPTl9BUEkpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxF
X0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0NTU19GSUxURVJTKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NT
U19TSEFERVJTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1Qp
ICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFMpICQoRU5BQkxF
X0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFCTEVf
RklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAk
KEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9DT0xPUikgJChF
TkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICQoRU5BQkxF
X0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAk
KEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9UQUcpICQoRU5BQkxFX01V
VEFUSU9OX09CU0VSVkVSUykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFHRV9W
SVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUFJPR1JFU1NfVEFHKSAkKEVOQUJMRV9RVU9UQSkgJChF
TkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJ
T05fRlJBTUUpICQoRU5BQkxFX1NIQURPV19ET00pICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAk
KEVOQUJMRV9TUUxfREFUQUJBU0UpICQoRU5BQkxFX1NUWUxFX1NDT1BFRCkgJChFTkFCTEVfU1ZH
KSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChF
TkFCTEVfVEVYVF9OT1RJRklDQVRJT05TX09OTFkpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElO
RykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9XRUJHTCkg
JChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJ
TUlORykgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMg
PSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykg
JChFTkFCTEVfQU5JTUFUSU9OX0FQSSkgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0hBTk5FTF9N
RVNTQUdJTkcpICQoRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikgJChFTkFCTEVfQ1NT
X0ZJTFRFUlMpICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX1NIQURFUlMp
ICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVCkgJChFTkFCTEVf
REFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMUykgJChFTkFCTEVfREVWSUNFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9GSUxFX1NZU1RF
TSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dB
TUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9IVE1MX01FRElBX0NBUFRVUkUp
ICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFC
TEVfSU5QVVRfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVU
X1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBU
X0RFQlVHR0VSKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5B
QkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVU
RVJfVEFHKSAkKEVOQUJMRV9NVVRBVElPTl9PQlNFUlZFUlMpICQoRU5BQkxFX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BST0dSRVNTX1RBRykg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpICQoRU5B
QkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJM
RV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9TVFlMRV9T
Q09QRUQpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVO
QUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZKSAkKEVOQUJM
RV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFD
SykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tF
VFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hTTFQp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwppbmRleCAzZTIwOTAzNTVjOWE4MGMxNWY5ZTNlZTE1YTY2NDhkODlkODcyMWJj
Li41ZjQwZWRhYWRkMzQwYjM0YTg1ZTUxZTNkOWI2ZDE2OWZkMDJkMjBhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpA
QCAtODYsNiArODYsNyBAQCBFTkFCTEVfRklMRV9TWVNURU0gPSA7CiBFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkgPSBFTkFCTEVfRlVMTFNDUkVFTl9BUEk7CiBFTkFCTEVfR0FNRVBBRCA9IDsKIEVOQUJM
RV9HRU9MT0NBVElPTiA9IEVOQUJMRV9HRU9MT0NBVElPTjsKK0VOQUJMRV9IVE1MX01FRElBX0NB
UFRVUkUgPSA7CiBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSA9IDsKIEVOQUJMRV9JTlBVVF9DT0xP
UiA9IDsKIEVOQUJMRV9JTlBVVF9TUEVFQ0ggPSA7CkBAIC0xMjYsNCArMTI3LDQgQEAgRU5BQkxF
X1dFQl9USU1JTkcgPSA7CiBFTkFCTEVfV09SS0VSUyA9IEVOQUJMRV9XT1JLRVJTOwogRU5BQkxF
X1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVO
REVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FOSU1BVElP
Tl9BUEkpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJM
RV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04pICQoRU5BQkxFX0NTU19GSUxURVJTKSAkKEVOQUJM
RV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19TSEFERVJTKSAkKEVOQUJMRV9EQVNIQk9B
UkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1QpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRF
TVMpICQoRU5BQkxFX0RFVEFJTFMpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFC
TEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRF
UlMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9H
RU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFKSAkKEVOQUJMRV9JTlBVVF9DT0xPUikgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxF
X0pBVkFTQ1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01B
VEhNTCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9NRVRFUl9UQUcpICQoRU5BQkxFX01VVEFUSU9OX09CU0VSVkVSUykgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUFJP
R1JFU1NfVEFHKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFO
RExFUikgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1NIQURPV19E
T00pICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TUUxfREFUQUJBU0UpICQoRU5B
QkxFX1NUWUxFX1NDT1BFRCkgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklO
RElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVYVF9OT1RJRklDQVRJT05TX09O
TFkpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVklERU8pICQoRU5BQkxF
X1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJM
RV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV09SS0VSUykgJChF
TkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQU5JTUFUSU9OX0FQSSkgJChF
TkFCTEVfQkxPQikgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NMSUVOVF9C
QVNFRF9HRU9MT0NBVElPTikgJChFTkFCTEVfQ1NTX0ZJTFRFUlMpICQoRU5BQkxFX0NTU19HUklE
X0xBWU9VVCkgJChFTkFCTEVfQ1NTX1NIQURFUlMpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JU
KSAkKEVOQUJMRV9EQVRBTElTVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFC
TEVfREVUQUlMUykgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESVJFQ1RP
UllfVVBMT0FEKSAkKEVOQUJMRV9GSUxFX1NZU1RFTSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFC
TEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9O
KSAkKEVOQUJMRV9IVE1MX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfQ09MT1IpICQoRU5BQkxFX0lO
UFVUX1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lO
UFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9MSU5LX1BS
RUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVf
TUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfVEFHKSAkKEVOQUJMRV9NVVRBVElPTl9P
QlNFUlZFUlMpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElU
WV9BUEkpICQoRU5BQkxFX1BST0dSRVNTX1RBRykgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JF
R0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1F
KSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVf
U1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9TVFlMRV9TQ09QRUQpICQoRU5BQkxFX1NWRykgJChFTkFC
TEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RF
WFRfTk9USUZJQ0FUSU9OU19PTkxZKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5B
QkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxF
X1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQo
RU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCAw
OTc1NWM5MTk1ODFhM2ExYjk0ODVkNTlmYjkzOTZhZmMzYTY0Y2M5Li4wNDY4M2JlMjFkNzM5MmY2
NWVlOGYxMDJlOWNjY2FiYjYzMTcxMWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtNDQ1LDYg
KzQ0NSwxNCBAQCB3ZWJjb3JlX2NwcGZsYWdzICs9IC1ERU5BQkxFX0dFT0xPQ0FUSU9OPTEgLURF
TkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OPTEKIGVuZGlmICMgRU5EIEVOQUJMRV9HRU9M
T0NBVElPTgogCiAjIC0tLS0KKyMgSFRNTCBNZWRpYSBDYXB0dXJlCisjIC0tLS0KK2lmIEVOQUJM
RV9IVE1MX01FRElBX0NBUFRVUkUKK0ZFQVRVUkVfREVGSU5FUyArPSBFTkFCTEVfSFRNTF9NRURJ
QV9DQVBUVVJFPTEKK3dlYmNvcmVfY3BwZmxhZ3MgKz0gLURFTkFCTEVfSFRNTF9NRURJQV9DQVBU
VVJFPTEKK2VuZGlmICMgRU5EIEVOQUJMRV9IVE1MX01FRElBX0NBUFRVUkUKKworIyAtLS0tCiAj
IE1hdGhNTCBzdXBwb3J0CiAjIC0tLS0KIGlmIEVOQUJMRV9NQVRITUwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvRmlsZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0ZpbGVJbnB1dFR5cGUuY3BwCmluZGV4IDU3NTlmNjc0MTVjZDM4MmU1MDBmYmU2NTU4ZDBjMzQz
NTdkOTc3MGIuLjJmMjU5NDExNTcyZGI2YWJjNDA4NTg5NTRhNGY1ZDk2ODRhNjhlZmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmlsZUlucHV0VHlwZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9GaWxlSW5wdXRUeXBlLmNwcApAQCAtMTU3LDcgKzE1NywxMiBAQCB2b2lk
IEZpbGVJbnB1dFR5cGU6OmhhbmRsZURPTUFjdGl2YXRlRXZlbnQoRXZlbnQqIGV2ZW50KQogI2Vu
ZGlmCiAgICAgICAgIHNldHRpbmdzLmFjY2VwdE1JTUVUeXBlcyA9IGlucHV0LT5hY2NlcHRNSU1F
VHlwZXMoKTsKICAgICAgICAgc2V0dGluZ3Muc2VsZWN0ZWRGaWxlcyA9IG1fZmlsZUxpc3QtPnBh
dGhzKCk7CisjaWYgRU5BQkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkKKyAgICAgICAgTWVkaWFDYXB0
dXJlVHlwZSB0eXBlID0gZGV0ZXJtaW5lQ2FwdHVyZVR5cGUoaW5wdXQtPmNhcHR1cmUoKSwgaW5w
dXQtPmFjY2VwdE1JTUVUeXBlcygpKTsKKyAgICAgICAgY2hyb21lLT5ydW5DYXB0dXJlUGFuZWwo
aW5wdXQtPmRvY3VtZW50KCktPmZyYW1lKCksIG5ld01lZGlhQ2FwdHVyZUNob29zZXIoc2V0dGlu
Z3MsIHR5cGUpKTsKKyNlbHNlCiAgICAgICAgIGNocm9tZS0+cnVuT3BlblBhbmVsKGlucHV0LT5k
b2N1bWVudCgpLT5mcmFtZSgpLCBuZXdGaWxlQ2hvb3NlcihzZXR0aW5ncykpOworI2VuZGlmCiAg
ICAgfQogICAgIGV2ZW50LT5zZXREZWZhdWx0SGFuZGxlZCgpOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgppbmRleCAxNTFkZjdmMzhhNWE1MzgzZjI5NTg0NmUz
MmUxNmJmZjFhMjRkMThiLi42MGIwMGExYzQyMjgyMzJiNGE3NDcxNzFlYTE1ODc2NTI4NzUwNGFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgpAQCAtNTgsNiAr
NTgsNyBAQCBiZ2NvbG9yCiBiZ3Byb3BlcnRpZXMKIGJvcmRlcgogYm9yZGVyY29sb3IKK2NhcHR1
cmUKIGNlbGxwYWRkaW5nCiBjZWxsc3BhY2luZwogY2hhcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TElucHV0RWxlbWVudC5jcHAKaW5kZXggOTFlZWQ1NWRhZmEzNjI4NTU0ODM2NmVjMzVhZTUyOTE2
N2UyMTYyMy4uNGY1NmU4Mjk1MTQ3MjI2NjlkYTRhYTRjZTAyOWY5M2IzNWVlYjg2YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBAIC0xMzAxLDYgKzEzMDEsMTMg
QEAgU3RyaW5nIEhUTUxJbnB1dEVsZW1lbnQ6OmFsdCgpIGNvbnN0CiAgICAgcmV0dXJuIGZhc3RH
ZXRBdHRyaWJ1dGUoYWx0QXR0cik7CiB9CiAKKyNpZiBFTkFCTEUoSFRNTF9NRURJQV9DQVBUVVJF
KQorU3RyaW5nIEhUTUxJbnB1dEVsZW1lbnQ6OmNhcHR1cmUoKSBjb25zdAoreworICAgIHJldHVy
biBmYXN0R2V0QXR0cmlidXRlKGNhcHR1cmVBdHRyKTsKK30KKyNlbmRpZgorCiBpbnQgSFRNTElu
cHV0RWxlbWVudDo6bWF4TGVuZ3RoKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9tYXhMZW5ndGg7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCmluZGV4IDM5Y2I0OGJhNmI4MzZj
MzI1NmEzMGU4MWM0MTdiOGNiMDEyYmVmMmEuLjEwZjk2NDQ3MmUwNjQ5MGE5NTkyZjU1ZWM2NjAw
NGE0MGMyODg4ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxl
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCkBAIC0x
OTIsNiArMTkyLDEwIEBAIHB1YmxpYzoKICAgICBTdHJpbmcgYWNjZXB0KCkgY29uc3Q7CiAgICAg
U3RyaW5nIGFsdCgpIGNvbnN0OwogCisjaWYgRU5BQkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkKKyAg
ICBTdHJpbmcgY2FwdHVyZSgpIGNvbnN0OworI2VuZGlmCisKICAgICB2b2lkIHNldFNpemUodW5z
aWduZWQpOwogCiAgICAgS1VSTCBzcmMoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJ
bnB1dEVsZW1lbnQuaWRsCmluZGV4IDg0YmViOGFjNTEyZmRjNGRiODhkOGRmODJmOWFkM2ZlYjY3
NjI4ZDkuLjEzMzdlODcxNjIxMjg2NjhmZmFlNTk3MDE0ZjFmMjA0YjBkYjBkMWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbApAQCAtMzQsNiArMzQsOSBAQCBtb2R1
bGUgaHRtbCB7CiAgICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIGFjY2VwdDsK
ICAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgYWxpZ247CiAgICAgICAgIGF0
dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIGFsdDsKKyNpZiBkZWZpbmVkKEVOQUJMRV9IVE1M
X01FRElBX0NBUFRVUkUpICYmIEVOQUJMRV9IVE1MX01FRElBX0NBUFRVUkUKKyAgICAgICAgYXR0
cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgY2FwdHVyZTsKKyNlbmRpZgogICAgICAgICBhdHRy
aWJ1dGUgYm9vbGVhbiBjaGVja2VkOwogICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIGJvb2xl
YW4gZGlzYWJsZWQ7CiAgICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gYm9vbGVhbiBhdXRvZm9j
dXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKaW5kZXggYTI2NDFmNzUxODk3NzFm
NTIzMzcxOWRjMTE0ZmFmNTVkZThjYjhlOS4uMmU5NDJkYTQ4MmJjYWUyMmM0NzIzMmU1YTEzYTZh
NDhiYmVlMWY4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaApAQCAtMjA1LDYg
KzIwNSw5IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAgdmlydHVhbCB2b2lkIHJ1bk9wZW5QYW5l
bChGcmFtZSosIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+KSB7IH0KKyNpZiBFTkFCTEUoSFRNTF9N
RURJQV9DQVBUVVJFKQorICAgIHZpcnR1YWwgdm9pZCBydW5DYXB0dXJlUGFuZWwoRnJhbWUqLCBQ
YXNzUmVmUHRyPE1lZGlhQ2FwdHVyZUNob29zZXI+KSB7IH0KKyNlbmRpZgogICAgIHZpcnR1YWwg
dm9pZCBsb2FkSWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgRmlsZUljb25Mb2Fk
ZXIqKSB7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBmb3JtU3RhdGVEaWRDaGFuZ2UoY29uc3QgTm9k
ZSopIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCmluZGV4IDVlMDEyMmRkZGRjOWZiYTY0YTBhOTYw
ZjNkZjlhZDkwYzcwMzNlZmMuLjg4ZjJlZWFmZDRiM2JmZmE1NWJiNWZjZGU2NjQ4OTgwZDM1Y2I2
NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKQEAgLTQ2NCw2ICs0NjQsMTMgQEAgdm9pZCBDaHJv
bWU6OnJ1bk9wZW5QYW5lbChGcmFtZSogZnJhbWUsIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+IGZp
bGVDaG9vc2VyKQogICAgIG1fY2xpZW50LT5ydW5PcGVuUGFuZWwoZnJhbWUsIGZpbGVDaG9vc2Vy
KTsKIH0KIAorI2lmIEVOQUJMRShIVE1MX01FRElBX0NBUFRVUkUpCit2b2lkIENocm9tZTo6cnVu
Q2FwdHVyZVBhbmVsKEZyYW1lKiBmcmFtZSwgUGFzc1JlZlB0cjxNZWRpYUNhcHR1cmVDaG9vc2Vy
PiBtZWRpYUZpbGVDaG9vc2VyKQoreworICAgIG1fY2xpZW50LT5ydW5DYXB0dXJlUGFuZWwoZnJh
bWUsIG1lZGlhRmlsZUNob29zZXIpOworfQorI2VuZGlmCisKIHZvaWQgQ2hyb21lOjpsb2FkSWNv
bkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBmaWxlbmFtZXMsIEZpbGVJY29uTG9hZGVy
KiBsb2FkZXIpCiB7CiAgICAgbV9jbGllbnQtPmxvYWRJY29uRm9yRmlsZXMoZmlsZW5hbWVzLCBs
b2FkZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKaW5kZXggYzY3MDRjOTdhNDRkZjYyOWI1MjhmZmFhZGZh
YmUyMjFhMWExM2M3My4uNjYwNGE1MzQwYWM5OTAxMzEwNDgwZWUxMzI4NTVlZjEyMjMzNzIyNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Nocm9tZS5oCkBAIC00Nyw2ICs0Nyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICBjbGFzcyBHZW9sb2NhdGlvbjsKICAgICBjbGFzcyBIaXRUZXN0UmVzdWx0OwogICAgIGNs
YXNzIEludFJlY3Q7CisjaWYgRU5BQkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkKKyAgICBjbGFzcyBN
ZWRpYUNhcHR1cmVDaG9vc2VyOworI2VuZGlmCiAgICAgY2xhc3MgTmF2aWdhdGlvbkFjdGlvbjsK
ICAgICBjbGFzcyBOb2RlOwogICAgIGNsYXNzIFBhZ2U7CkBAIC0xNTQsNiArMTU3LDkgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogI2VuZGlmCiAKICAgICAgICAgdm9pZCBydW5PcGVuUGFuZWwoRnJh
bWUqLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPik7CisjaWYgRU5BQkxFKEhUTUxfTUVESUFfQ0FQ
VFVSRSkKKyAgICAgICAgdm9pZCBydW5DYXB0dXJlUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPE1l
ZGlhQ2FwdHVyZUNob29zZXI+KTsKKyNlbmRpZgogICAgICAgICB2b2lkIGxvYWRJY29uRm9yRmls
ZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mLCBGaWxlSWNvbkxvYWRlciopOwogI2lmIEVOQUJMRShE
SVJFQ1RPUllfVVBMT0FEKQogICAgICAgICB2b2lkIGVudW1lcmF0ZUNob3NlbkRpcmVjdG9yeShG
aWxlQ2hvb3NlciopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGll
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXggMzNiMWM0Yjg3
MTQ5MDgzYmM2OGVhNzliNzlmZjE0MmVjZGQ1OWU0My4uZDBjOGU3MTRkNmU0YWIyY2Q3YWNmYWQ4
M2JkYWYxZjJlYzZhZWY5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVD
bGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCkBAIC01NSw2
ICs1NSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBHcmFwaGljc0xheWVyOwog
ICAgIGNsYXNzIEhpdFRlc3RSZXN1bHQ7CiAgICAgY2xhc3MgSW50UmVjdDsKKyNpZiBFTkFCTEUo
SFRNTF9NRURJQV9DQVBUVVJFKQorICAgIGNsYXNzIE1lZGlhQ2FwdHVyZUNob29zZXI7CisjZW5k
aWYKICAgICBjbGFzcyBOYXZpZ2F0aW9uQWN0aW9uOwogICAgIGNsYXNzIE5vZGU7CiAgICAgY2xh
c3MgUGFnZTsKQEAgLTIyNCw2ICsyMjcsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjZW5kaWYK
IAogICAgICAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxG
aWxlQ2hvb3Nlcj4pID0gMDsKKyNpZiBFTkFCTEUoSFRNTF9NRURJQV9DQVBUVVJFKQorICAgICAg
ICB2aXJ0dWFsIHZvaWQgcnVuQ2FwdHVyZVBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxNZWRpYUNh
cHR1cmVDaG9vc2VyPikgPSAwOworI2VuZGlmCiAgICAgICAgIC8vIEFzeW5jaHJvbm91cyByZXF1
ZXN0IHRvIGxvYWQgYW4gaWNvbiBmb3Igc3BlY2lmaWVkIGZpbGVuYW1lcy4KICAgICAgICAgdmly
dHVhbCB2b2lkIGxvYWRJY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mLCBGaWxlSWNv
bkxvYWRlciopID0gMDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmls
ZUNob29zZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZUNob29zZXIuY3BwCmlu
ZGV4IGE5NzkyYWE2YWY1N2I1MmZmZmVmNTY3YmI0Y2JlZWMzNmM3MTFiOTMuLjU5MTE5Njk0OTcx
NGU0ZDQ4Zjg0OGVkMTc5Mjc4MGUxODUwMGVkMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0ZpbGVDaG9vc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9G
aWxlQ2hvb3Nlci5jcHAKQEAgLTI5LDggKzI5LDEzIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAj
aW5jbHVkZSAiRmlsZUNob29zZXIuaCIKIAorI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1
ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCit1c2luZyBu
YW1lc3BhY2UgSFRNTE5hbWVzOworCiBGaWxlQ2hvb3NlckNsaWVudDo6fkZpbGVDaG9vc2VyQ2xp
ZW50KCkKIHsKICAgICBkaXNjYXJkQ2hvb3NlcigpOwpAQCAtNTAsMTEgKzU1LDMzIEBAIHZvaWQg
RmlsZUNob29zZXJDbGllbnQ6OmRpc2NhcmRDaG9vc2VyKCkKICAgICAgICAgbV9jaG9vc2VyLT5k
aXNjb25uZWN0Q2xpZW50KCk7CiB9CiAKLWlubGluZSBGaWxlQ2hvb3Nlcjo6RmlsZUNob29zZXIo
RmlsZUNob29zZXJDbGllbnQqIGNsaWVudCwgY29uc3QgRmlsZUNob29zZXJTZXR0aW5ncyYgc2V0
dGluZ3MpCi0gICAgOiBtX2NsaWVudChjbGllbnQpCi0gICAgLCBtX3NldHRpbmdzKHNldHRpbmdz
KQorI2lmIEVOQUJMRShIVE1MX01FRElBX0NBUFRVUkUpCitNZWRpYUNhcHR1cmVDaG9vc2VyKiBG
aWxlQ2hvb3NlckNsaWVudDo6bmV3TWVkaWFDYXB0dXJlQ2hvb3Nlcihjb25zdCBGaWxlQ2hvb3Nl
clNldHRpbmdzJiBzZXR0aW5ncywgTWVkaWFDYXB0dXJlVHlwZSBkZXZpY2UpCit7CisgICAgZGlz
Y2FyZENob29zZXIoKTsKKworICAgIG1fY2hvb3NlciA9IE1lZGlhQ2FwdHVyZUNob29zZXI6OmNy
ZWF0ZSh0aGlzLCBzZXR0aW5ncywgZGV2aWNlKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8TWVk
aWFDYXB0dXJlQ2hvb3Nlcio+KG1fY2hvb3Nlci5nZXQoKSk7Cit9CisKK01lZGlhQ2FwdHVyZVR5
cGUgRmlsZUNob29zZXJDbGllbnQ6OmRldGVybWluZUNhcHR1cmVUeXBlKGNvbnN0IFN0cmluZyYg
Y2FwdHVyZSwgY29uc3QgVmVjdG9yPFN0cmluZz4mIGFjY2VwdE1JTUVUeXBlcykKIHsKKyAgICBp
ZiAoYWNjZXB0TUlNRVR5cGVzLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIEZpbGVTeXN0ZW07
CisKKyAgICBmb3IgKFZlY3RvcjxTdHJpbmc+Ojpjb25zdF9pdGVyYXRvciBpdGVyYXRvciA9IGFj
Y2VwdE1JTUVUeXBlcy5iZWdpbigpOyBpdGVyYXRvciAhPSBhY2NlcHRNSU1FVHlwZXMuZW5kKCk7
ICsraXRlcmF0b3IpCisgICAgICAgIGlmIChNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZENh
cHR1cmVNSU1FVHlwZSgqaXRlcmF0b3IpKSB7CisgICAgICAgICAgICBpZiAoKCppdGVyYXRvciku
c3RhcnRzV2l0aCgiaW1hZ2UvKiIpICYmIGVxdWFsSWdub3JpbmdDYXNlKGNhcHR1cmUsIE1lZGlh
Q2FwdHVyZU5hbWVzOjpjYW1lcmEoKSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIENhbWVyYTsK
KyAgICAgICAgICAgIGlmICgoKml0ZXJhdG9yKS5zdGFydHNXaXRoKCJ2aWRlby8qIikgJiYgZXF1
YWxJZ25vcmluZ0Nhc2UoY2FwdHVyZSwgTWVkaWFDYXB0dXJlTmFtZXM6OmNhbWNvcmRlcigpKSkK
KyAgICAgICAgICAgICAgICByZXR1cm4gQ2FtY29yZGVyOworICAgICAgICAgICAgaWYgKCgqaXRl
cmF0b3IpLnN0YXJ0c1dpdGgoImF1ZGlvLyoiKSAmJiBlcXVhbElnbm9yaW5nQ2FzZShjYXB0dXJl
LCBNZWRpYUNhcHR1cmVOYW1lczo6bWljcm9waG9uZSgpKSkKKyAgICAgICAgICAgICAgICByZXR1
cm4gTWljcm9waG9uZTsKKyAgICAgICAgfQorCisgICAgcmV0dXJuIEZpbGVTeXN0ZW07CiB9Cisj
ZW5kaWYKIAogUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4gRmlsZUNob29zZXI6OmNyZWF0ZShGaWxl
Q2hvb3NlckNsaWVudCogY2xpZW50LCBjb25zdCBGaWxlQ2hvb3NlclNldHRpbmdzJiBzZXR0aW5n
cykKIHsKQEAgLTgyLDQgKzEwOSw0NSBAQCB2b2lkIEZpbGVDaG9vc2VyOjpjaG9vc2VGaWxlcyhj
b25zdCBWZWN0b3I8U3RyaW5nPiYgZmlsZW5hbWVzKQogICAgICAgICBtX2NsaWVudC0+ZmlsZXND
aG9zZW4oZmlsZW5hbWVzKTsKIH0KIAorI2lmIEVOQUJMRShIVE1MX01FRElBX0NBUFRVUkUpCisK
K1Bhc3NSZWZQdHI8TWVkaWFDYXB0dXJlQ2hvb3Nlcj4gTWVkaWFDYXB0dXJlQ2hvb3Nlcjo6Y3Jl
YXRlKEZpbGVDaG9vc2VyQ2xpZW50KiBjbGllbnQsIGNvbnN0IEZpbGVDaG9vc2VyU2V0dGluZ3Mm
IHNldHRpbmdzLCBNZWRpYUNhcHR1cmVUeXBlIHR5cGUpCit7CisgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBNZWRpYUNhcHR1cmVDaG9vc2VyKGNsaWVudCwgc2V0dGluZ3MsIHR5cGUpKTsKK30KKwor
TWVkaWFDYXB0dXJlQ2hvb3Nlcjo6fk1lZGlhQ2FwdHVyZUNob29zZXIoKQoreworfQorCituYW1l
c3BhY2UgTWVkaWFDYXB0dXJlTmFtZXMgeworCitjb25zdCBBdG9taWNTdHJpbmcmIGNhbWVyYSgp
Cit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIG5hbWUsICgiY2FtZXJh
IikpOworICAgIHJldHVybiBuYW1lOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIGNhbWNvcmRl
cigpCit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIG5hbWUsICgiY2Ft
Y29yZGVyIikpOworICAgIHJldHVybiBuYW1lOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIG1p
Y3JvcGhvbmUoKQoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBuYW1l
LCAoIm1pY3JvcGhvbmUiKSk7CisgICAgcmV0dXJuIG5hbWU7Cit9CisKK2NvbnN0IEF0b21pY1N0
cmluZyYgZmlsZXN5c3RlbSgpCit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJp
bmcsIG5hbWUsICgiZmlsZXN5c3RlbSIpKTsKKyAgICByZXR1cm4gbmFtZTsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZTo6TWVkaWFDYXB0dXJlTmFtZXMKKworI2VuZGlmCisKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVDaG9vc2VyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9GaWxlQ2hvb3Nlci5oCmluZGV4IGNjMjBiZTI4MWI4NDI0Y2JlYmUwMTVh
NzI3YTU0Zjg2YjBlM2VhMzEuLjc2ODNmMGQyMTIyMWVhMmQ2YjA2NjZiMDZkOTY5MzU1ZjAzZDk3
YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVDaG9vc2VyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZUNob29zZXIuaApAQCAtMzcsNiArMzcsMTgg
QEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRmlsZUNob29zZXI7CisjaWYgRU5BQkxF
KEhUTUxfTUVESUFfQ0FQVFVSRSkKK2NsYXNzIE1lZGlhQ2FwdHVyZUNob29zZXI7CisjZW5kaWYK
KworI2lmIEVOQUJMRShIVE1MX01FRElBX0NBUFRVUkUpCitlbnVtIE1lZGlhQ2FwdHVyZVR5cGUg
eworICAgIEZpbGVTeXN0ZW0sCisgICAgQ2FtZXJhLAorICAgIENhbWNvcmRlciwKKyAgICBNaWNy
b3Bob25lLAorfTsKKyNlbmRpZgogCiBzdHJ1Y3QgRmlsZUNob29zZXJTZXR0aW5ncyB7CiAgICAg
Ym9vbCBhbGxvd3NNdWx0aXBsZUZpbGVzOwpAQCAtNTUsNiArNjcsMTEgQEAgcHVibGljOgogcHJv
dGVjdGVkOgogICAgIEZpbGVDaG9vc2VyKiBuZXdGaWxlQ2hvb3Nlcihjb25zdCBGaWxlQ2hvb3Nl
clNldHRpbmdzJik7CiAKKyNpZiBFTkFCTEUoSFRNTF9NRURJQV9DQVBUVVJFKQorICAgIE1lZGlh
Q2FwdHVyZUNob29zZXIqIG5ld01lZGlhQ2FwdHVyZUNob29zZXIoY29uc3QgRmlsZUNob29zZXJT
ZXR0aW5ncyYsIE1lZGlhQ2FwdHVyZVR5cGUpOworICAgIE1lZGlhQ2FwdHVyZVR5cGUgZGV0ZXJt
aW5lQ2FwdHVyZVR5cGUoY29uc3QgU3RyaW5nJiBjYXB0dXJlLCBjb25zdCBWZWN0b3I8U3RyaW5n
PiYgYWNjZXB0TUlNRVR5cGVzKTsKKyNlbmRpZgorCiBwcml2YXRlOgogICAgIHZvaWQgZGlzY2Fy
ZENob29zZXIoKTsKIApAQCAtNzMsMTMgKzkwLDQ4IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IEZp
bGVDaG9vc2VyU2V0dGluZ3MmIHNldHRpbmdzKCkgY29uc3QgeyByZXR1cm4gbV9zZXR0aW5nczsg
fQogCi1wcml2YXRlOgotICAgIEZpbGVDaG9vc2VyKEZpbGVDaG9vc2VyQ2xpZW50KiwgY29uc3Qg
RmlsZUNob29zZXJTZXR0aW5ncyYpOworcHJvdGVjdGVkOgorICAgIEZpbGVDaG9vc2VyKEZpbGVD
aG9vc2VyQ2xpZW50KiBjbGllbnQsIGNvbnN0IEZpbGVDaG9vc2VyU2V0dGluZ3MmIHNldHRpbmdz
KQorICAgICAgICA6IG1fY2xpZW50KGNsaWVudCkKKyAgICAgICAgLCBtX3NldHRpbmdzKHNldHRp
bmdzKQorICAgIHsKKyAgICB9CiAKK3ByaXZhdGU6CiAgICAgRmlsZUNob29zZXJDbGllbnQqIG1f
Y2xpZW50OwogICAgIEZpbGVDaG9vc2VyU2V0dGluZ3MgbV9zZXR0aW5nczsKIH07CiAKKyNpZiBF
TkFCTEUoSFRNTF9NRURJQV9DQVBUVVJFKQorCitjbGFzcyBNZWRpYUNhcHR1cmVDaG9vc2VyIDog
cHVibGljIEZpbGVDaG9vc2VyIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRp
YUNhcHR1cmVDaG9vc2VyPiBjcmVhdGUoRmlsZUNob29zZXJDbGllbnQqLCBjb25zdCBGaWxlQ2hv
b3NlclNldHRpbmdzJiwgTWVkaWFDYXB0dXJlVHlwZSk7CisgICAgfk1lZGlhQ2FwdHVyZUNob29z
ZXIoKTsKKworICAgIE1lZGlhQ2FwdHVyZVR5cGUgY2FwdHVyZVR5cGUoKSB7IHJldHVybiBtX2Nh
cHR1cmVUeXBlOyB9CisKK3ByaXZhdGU6CisgICAgTWVkaWFDYXB0dXJlQ2hvb3NlcihGaWxlQ2hv
b3NlckNsaWVudCogY2xpZW50LCBjb25zdCBGaWxlQ2hvb3NlclNldHRpbmdzJiBzZXR0aW5ncywg
TWVkaWFDYXB0dXJlVHlwZSB0eXBlKQorICAgICAgICA6IEZpbGVDaG9vc2VyKGNsaWVudCwgc2V0
dGluZ3MpCisgICAgICAgICwgbV9jYXB0dXJlVHlwZSh0eXBlKQorICAgIHsKKyAgICB9CisKKyAg
ICBNZWRpYUNhcHR1cmVUeXBlIG1fY2FwdHVyZVR5cGU7Cit9OworCituYW1lc3BhY2UgTWVkaWFD
YXB0dXJlTmFtZXMgeworCitjb25zdCBBdG9taWNTdHJpbmcmIGNhbWVyYSgpOworY29uc3QgQXRv
bWljU3RyaW5nJiBjYW1jb3JkZXIoKTsKK2NvbnN0IEF0b21pY1N0cmluZyYgbWljcm9waG9uZSgp
OworY29uc3QgQXRvbWljU3RyaW5nJiBmaWxlc3lzdGVtKCk7CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmU6Ok1lZGlhQ2FwdHVyZU5hbWVzCisKKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKICNlbmRpZiAvLyBGaWxlQ2hvb3Nlcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L01JTUVUeXBlUmVnaXN0cnkuY3BwCmluZGV4IGI1ZjJkNDU1MWYyZjIwODQwYWU0MDk4OTRjZWY5
MzY2MjIwMjdkOGEuLjE0MWM3MDk5MTJiN2FiODU5YWIwZmJkMjljZGUwMGViNTI0NmU1YjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuY3BwCkBAIC0xODks
NiArMTg5LDkgQEAgc3RhdGljIEhhc2hTZXQ8U3RyaW5nPiogc3VwcG9ydGVkSW1hZ2VNSU1FVHlw
ZXNGb3JFbmNvZGluZzsKIHN0YXRpYyBIYXNoU2V0PFN0cmluZz4qIHN1cHBvcnRlZEphdmFTY3Jp
cHRNSU1FVHlwZXM7CiBzdGF0aWMgSGFzaFNldDxTdHJpbmc+KiBzdXBwb3J0ZWROb25JbWFnZU1J
TUVUeXBlczsKIHN0YXRpYyBIYXNoU2V0PFN0cmluZz4qIHN1cHBvcnRlZE1lZGlhTUlNRVR5cGVz
OworI2lmIEVOQUJMRShIVE1MX01FRElBX0NBUFRVUkUpCitzdGF0aWMgSGFzaFNldDxTdHJpbmc+
KiBzdXBwb3J0ZWRDYXB0dXJlTUlNRVR5cGVzOworI2VuZGlmCiBzdGF0aWMgSGFzaFNldDxTdHJp
bmc+KiB1bnN1cHBvcnRlZFRleHRNSU1FVHlwZXM7CiAKIHR5cGVkZWYgSGFzaE1hcDxTdHJpbmcs
IFZlY3RvcjxTdHJpbmc+KiwgQ2FzZUZvbGRpbmdIYXNoPiBNZWRpYU1JTUVUeXBlTWFwOwpAQCAt
NDM3LDYgKzQ0MCwxNiBAQCBzdGF0aWMgdm9pZCBpbml0aWFsaXplU3VwcG9ydGVkTWVkaWFNSU1F
VHlwZXMoKQogI2VuZGlmCiB9CiAKKyNpZiBFTkFCTEUoSFRNTF9NRURJQV9DQVBUVVJFKQorc3Rh
dGljIHZvaWQgaW5pdGlhbGl6ZVN1cHBvcnRlZENhcHR1cmVNSU1FVHlwZXMoKQoreworICAgIHN1
cHBvcnRlZENhcHR1cmVNSU1FVHlwZXMgPSBuZXcgSGFzaFNldDxTdHJpbmc+OworICAgIHN1cHBv
cnRlZENhcHR1cmVNSU1FVHlwZXMtPmFkZCgiaW1hZ2UvKiIpOworICAgIHN1cHBvcnRlZENhcHR1
cmVNSU1FVHlwZXMtPmFkZCgiYXVkaW8vKiIpOworICAgIHN1cHBvcnRlZENhcHR1cmVNSU1FVHlw
ZXMtPmFkZCgidmlkZW8vKiIpOworfQorI2VuZGlmCisKIHN0YXRpYyB2b2lkIGluaXRpYWxpemVV
bnN1cHBvcnRlZFRleHRNSU1FVHlwZXMoKQogewogICAgIHN0YXRpYyBjb25zdCBjaGFyKiB0eXBl
c1tdID0gewpAQCAtNTczLDYgKzU4NiwxNyBAQCBib29sIE1JTUVUeXBlUmVnaXN0cnk6OmlzVW5z
dXBwb3J0ZWRUZXh0TUlNRVR5cGUoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSkKICAgICByZXR1cm4g
dW5zdXBwb3J0ZWRUZXh0TUlNRVR5cGVzLT5jb250YWlucyhtaW1lVHlwZSk7CiB9CiAKKyNpZiBF
TkFCTEUoSFRNTF9NRURJQV9DQVBUVVJFKQorYm9vbCBNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBv
cnRlZENhcHR1cmVNSU1FVHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKQoreworICAgIGlmICht
aW1lVHlwZS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIXN1cHBv
cnRlZENhcHR1cmVNSU1FVHlwZXMpCisgICAgICAgIGluaXRpYWxpemVTdXBwb3J0ZWRDYXB0dXJl
TUlNRVR5cGVzKCk7CisgICAgcmV0dXJuIHN1cHBvcnRlZENhcHR1cmVNSU1FVHlwZXMtPmNvbnRh
aW5zKG1pbWVUeXBlKTsKK30KKyNlbmRpZgorCiBib29sIE1JTUVUeXBlUmVnaXN0cnk6OmlzSmF2
YUFwcGxldE1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCiB7CiAgICAgLy8gU2luY2Ug
dGhpcyBzZXQgaXMgdmVyeSBsaW1pdGVkIGFuZCBpcyBsaWtlbHkgdG8gcmVtYWluIHNvIHdlIHdv
bid0IGJvdGhlciB3aXRoIHRoZSBvdmVyaGVhZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTUlN
RVR5cGVSZWdpc3RyeS5oCmluZGV4IGQyYzM3NTIxNGExYTg0MDA0MWUxYzZkNWRiNzQ3MGZiNmE1
MTRmMmMuLjFiMGFhOTI5OWUwYTkzMGQ5MWQ4MzlkODgxNmJiNjI2NzI0MjEzM2YgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmgKQEAgLTgwLDYgKzgwLDExIEBA
IHB1YmxpYzoKICAgICAvLyBicm93c2VyIChlLmcuIGEgUXQgUGx1Z2luKS4KICAgICBzdGF0aWMg
Ym9vbCBpc0FwcGxpY2F0aW9uUGx1Z2luTUlNRVR5cGUoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSk7
CiAKKyNpZiBFTkFCTEUoSFRNTF9NRURJQV9DQVBUVVJFKQorICAgIC8vIENoZWNrIHRvIHNlZSBp
ZiBhIG1pbWUgdHlwZSBpcyBzdWl0YWJsZSBmb3IgYmVpbmcgb3BlcmF0ZWQgYXMgaHRtbCBtZWRp
YSBjYXB0dXJlLgorICAgIHN0YXRpYyBib29sIGlzU3VwcG9ydGVkQ2FwdHVyZU1JTUVUeXBlKGNv
bnN0IFN0cmluZyYgbWltZVR5cGUpOworI2VuZGlmCisKICAgICBzdGF0aWMgSGFzaFNldDxTdHJp
bmc+JiBnZXRTdXBwb3J0ZWRJbWFnZU1JTUVUeXBlcygpOwogICAgIHN0YXRpYyBIYXNoU2V0PFN0
cmluZz4mIGdldFN1cHBvcnRlZEltYWdlUmVzb3VyY2VNSU1FVHlwZXMoKTsKICAgICBzdGF0aWMg
SGFzaFNldDxTdHJpbmc+JiBnZXRTdXBwb3J0ZWRJbWFnZU1JTUVUeXBlc0ZvckVuY29kaW5nKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBs
LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCmlu
ZGV4IDQ1YTgxMzg1OTQ0Y2U4YWJkYmM3YmI5OTRhZWIzY2M5ZGYyMjQwYmYuLmE1MTc2MDNjYjY1
MmVkMzlhMzVjYzBiY2Q1YzY5NGM3MTk2ODdhNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCkBAIC03MjYsNiArNzI2LDE4IEBAIHZvaWQg
Q2hyb21lQ2xpZW50SW1wbDo6cnVuT3BlblBhbmVsKEZyYW1lKiBmcmFtZSwgUGFzc1JlZlB0cjxG
aWxlQ2hvb3Nlcj4gZmlsZUNoCiAgICAgY2hvb3NlckNvbXBsZXRpb24tPmRpZENob29zZUZpbGUo
V2ViVmVjdG9yPFdlYlN0cmluZz4oKSk7CiB9CiAKKyNpZiBFTkFCTEUoSFRNTF9NRURJQV9DQVBU
VVJFKQordm9pZCBDaHJvbWVDbGllbnRJbXBsOjpydW5DYXB0dXJlUGFuZWwoRnJhbWUqLCBQYXNz
UmVmUHRyPE1lZGlhQ2FwdHVyZUNob29zZXI+KQoreworICAgIC8vIE5vdGU6IGNhcHR1cmVUeXBl
KCkgaW4gTWVkaWFDYXB0dXJlQ2hvb3NlciB3aWxsIHJldHVybiB0aGUgZGV0ZXJtaW5lZCB2YWx1
ZSBmcm9tCisgICAgLy8gdGhlIGludGVyYWN0aW9ucyBiZXR3ZWVuIHRoZSBjYXB0dXJlIGF0dHJp
YnV0ZSBhbmQgdGhlIGFjY2VwdCBhdHRyaWJ1dGUuIEl0J3MKKyAgICAvLyB0aGUgdmFsdWUgZm9y
IHRoZSBwYW5lbCB0eXBlIHRoYXQgc2hvdWxkIGJlIHByZXNlbnRlZCBieSBkZWZhdWx0LiBUaGUg
YWRkaXRpb25hbAorICAgIC8vIGNhcHR1cmUgdHlwZSBjYW4gYmUgYWxsb3dlZCBmcm9tIGNhcHR1
cmVhY2NlcHRNSU1FVHlwZXMgb2YgRmlsZUNob29zZXJTZXR0aW5ncy4KKworICAgIG5vdEltcGxl
bWVudGVkKCk7Cit9CisjZW5kaWYKKwogdm9pZCBDaHJvbWVDbGllbnRJbXBsOjpsb2FkSWNvbkZv
ckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBmaWxlbmFtZXMsIEZpbGVJY29uTG9hZGVyKiBs
b2FkZXIpCiB7CiAgICAgaWYgKCFtX3dlYlZpZXctPmNsaWVudCgpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCmluZGV4IDIzZTAyZmYzZDk5NTA0ZmMy
OTk4MmYzNzExNjM1NmExMDA1NDk3NmMuLjU3YmZkYzljN2EzMjdlNGRhNDBjZWFlNDY0OTY0YjVl
N2ZmNzY1NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNs
aWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJ
bXBsLmgKQEAgLTE0Miw2ICsxNDIsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBQYXNzT3duUHRy
PFdlYkNvcmU6OkNvbG9yQ2hvb3Nlcj4gY3JlYXRlQ29sb3JDaG9vc2VyKFdlYkNvcmU6OkNvbG9y
Q2hvb3NlckNsaWVudCosIGNvbnN0IFdlYkNvcmU6OkNvbG9yJikgT1ZFUlJJREU7CiAjZW5kaWYK
ICAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKFdlYkNvcmU6OkZyYW1lKiwgUGFzc1JlZlB0
cjxXZWJDb3JlOjpGaWxlQ2hvb3Nlcj4pOworI2lmIEVOQUJMRShIVE1MX01FRElBX0NBUFRVUkUp
CisgICAgdmlydHVhbCB2b2lkIHJ1bkNhcHR1cmVQYW5lbChXZWJDb3JlOjpGcmFtZSosIFBhc3NS
ZWZQdHI8V2ViQ29yZTo6TWVkaWFDYXB0dXJlQ2hvb3Nlcj4pOworI2VuZGlmCiAgICAgdmlydHVh
bCB2b2lkIGxvYWRJY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFdURjo6U3RyaW5nPiYsIFdlYkNv
cmU6OkZpbGVJY29uTG9hZGVyKik7CiAjaWYgRU5BQkxFKERJUkVDVE9SWV9VUExPQUQpCiAgICAg
dmlydHVhbCB2b2lkIGVudW1lcmF0ZUNob3NlbkRpcmVjdG9yeShXZWJDb3JlOjpGaWxlQ2hvb3Nl
ciopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudEVmbC5jcHAKaW5kZXggYTI1ZjlkMGU0NzA4YmIwYWE1NWI0YmY1NzIyODBmOTU5Mjk5MjBj
Yy4uNTY0ZDUyNzdhMDQyMDRhODg3ZDUyOTlmZjBmZDAyZGM0NmI5MGE2YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwCkBA
IC00NDksNiArNDQ5LDE4IEBAIHZvaWQgQ2hyb21lQ2xpZW50RWZsOjpydW5PcGVuUGFuZWwoRnJh
bWUqIGZyYW1lLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPiBwcnBGaWxlCiAgICAgICAgIGNob29z
ZXItPmNob29zZUZpbGUoZmlsZW5hbWVzWzBdKTsKIH0KIAorI2lmIEVOQUJMRShIVE1MX01FRElB
X0NBUFRVUkUpCit2b2lkIENocm9tZUNsaWVudEVmbDo6cnVuQ2FwdHVyZVBhbmVsKEZyYW1lKiwg
UGFzc1JlZlB0cjxNZWRpYUNhcHR1cmVDaG9vc2VyPikKK3sKKyAgICAvLyBOb3RlOiBjYXB0dXJl
VHlwZSgpIGluIE1lZGlhQ2FwdHVyZUNob29zZXIgd2lsbCByZXR1cm4gdGhlIGRldGVybWluZWQg
dmFsdWUgZnJvbQorICAgIC8vIHRoZSBpbnRlcmFjdGlvbnMgYmV0d2VlbiB0aGUgY2FwdHVyZSBh
dHRyaWJ1dGUgYW5kIHRoZSBhY2NlcHQgYXR0cmlidXRlLiBJdCdzCisgICAgLy8gdGhlIHZhbHVl
IGZvciB0aGUgcGFuZWwgdHlwZSB0aGF0IHNob3VsZCBiZSBwcmVzZW50ZWQgYnkgZGVmYXVsdC4g
VGhlIGFkZGl0aW9uYWwKKyAgICAvLyBjYXB0dXJlIHR5cGUgY2FuIGJlIGFsbG93ZWQgZnJvbSBj
YXB0dXJlYWNjZXB0TUlNRVR5cGVzIG9mIEZpbGVDaG9vc2VyU2V0dGluZ3MuCisKKyAgICBub3RJ
bXBsZW1lbnRlZCgpOworfQorI2VuZGlmCisKIHZvaWQgQ2hyb21lQ2xpZW50RWZsOjpmb3JtU3Rh
dGVEaWRDaGFuZ2UoY29uc3QgTm9kZSopCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5o
IGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgKaW5k
ZXggODI1MTIyNTFmNmE0NDBlYTU5MzMwMTNlMTE4ZGYzYzAwMjRjNzlmMy4uYmYyNzFmODkxN2Mz
ZDc1MTA2YTc1MmQ0ZDNjYjRhMGVlYjAzM2IyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9l
ZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgKKysrIGIvU291cmNlL1dlYktpdC9l
ZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgKQEAgLTE0Myw2ICsxNDMsOSBAQCBw
dWJsaWM6CiAjZW5kaWYKIAogICAgIHZpcnR1YWwgdm9pZCBydW5PcGVuUGFuZWwoRnJhbWUqLCBQ
YXNzUmVmUHRyPEZpbGVDaG9vc2VyPik7CisjaWYgRU5BQkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkK
KyAgICB2aXJ0dWFsIHZvaWQgcnVuQ2FwdHVyZVBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxNZWRp
YUNhcHR1cmVDaG9vc2VyPik7CisjZW5kaWYKICAgICB2aXJ0dWFsIHZvaWQgbG9hZEljb25Gb3JG
aWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYsIEZpbGVJY29uTG9hZGVyKik7CiAgICAgdmlydHVh
bCB2b2lkIGZvcm1TdGF0ZURpZENoYW5nZShjb25zdCBOb2RlKik7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwCmluZGV4IDg5
NDI3YWViMmZjMWU5NzIzMDc1ZmExOWY2NzdhYjc5Y2M1NjcwMzAuLjNhNjExOTZiYjJjZjlkMGZj
NWZjYmY4MTAzNzYxZTAxMTZkMmY1ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcApAQCAtODQzLDYgKzg0MywxOCBAQCB2
b2lkIENocm9tZUNsaWVudDo6cnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxlQ2hv
b3Nlcj4gcHJwRmlsZUNob29zZXIpCiAgICAgZ3RrX3dpZGdldF9kZXN0cm95KGRpYWxvZyk7CiB9
CiAKKyNpZiBFTkFCTEUoSFRNTF9NRURJQV9DQVBUVVJFKQordm9pZCBDaHJvbWVDbGllbnQ6OnJ1
bkNhcHR1cmVQYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8TWVkaWFDYXB0dXJlQ2hvb3Nlcj4pCit7
CisgICAgLy8gTm90ZTogY2FwdHVyZVR5cGUoKSBpbiBNZWRpYUNhcHR1cmVDaG9vc2VyIHdpbGwg
cmV0dXJuIHRoZSBkZXRlcm1pbmVkIHZhbHVlIGZyb20KKyAgICAvLyB0aGUgaW50ZXJhY3Rpb25z
IGJldHdlZW4gdGhlIGNhcHR1cmUgYXR0cmlidXRlIGFuZCB0aGUgYWNjZXB0IGF0dHJpYnV0ZS4g
SXQncworICAgIC8vIHRoZSB2YWx1ZSBmb3IgdGhlIHBhbmVsIHR5cGUgdGhhdCBzaG91bGQgYmUg
cHJlc2VudGVkIGJ5IGRlZmF1bHQuIFRoZSBhZGRpdGlvbmFsCisgICAgLy8gY2FwdHVyZSB0eXBl
IGNhbiBiZSBhbGxvd2VkIGZyb20gY2FwdHVyZWFjY2VwdE1JTUVUeXBlcyBvZiBGaWxlQ2hvb3Nl
clNldHRpbmdzLgorCisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKyNlbmRpZgorCiB2b2lkIENo
cm9tZUNsaWVudDo6bG9hZEljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8V1RGOjpTdHJpbmc+JiBm
aWxlbmFtZXMsIFdlYkNvcmU6OkZpbGVJY29uTG9hZGVyKiBsb2FkZXIpCiB7CiAgICAgbG9hZGVy
LT5ub3RpZnlGaW5pc2hlZChJY29uOjpjcmVhdGVJY29uRm9yRmlsZXMoZmlsZW5hbWVzKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRH
dGsuaCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5o
CmluZGV4IDlkMjEwNWQ2ZGY3ZmM0MGRiZTk3MGM1MWMxODcwZjVkOTEwOWZhZDkuLjRjY2MzMTRl
ODZhNTY5MTRjMWE5ZjhlMTMwNmYxMzc0YTYyZDQxN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oCkBAIC0xMjksNiArMTI5LDkg
QEAgbmFtZXNwYWNlIFdlYktpdCB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBzaG93Q29udGV4dE1l
bnUoKSB7IH0KICNlbmRpZgogICAgICAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1l
KiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4pOworI2lmIEVOQUJMRShIVE1MX01FRElBX0NBUFRV
UkUpCisgICAgICAgIHZpcnR1YWwgdm9pZCBydW5DYXB0dXJlUGFuZWwoRnJhbWUqLCBQYXNzUmVm
UHRyPE1lZGlhQ2FwdHVyZUNob29zZXI+KTsKKyNlbmRpZgogICAgICAgICB2aXJ0dWFsIHZvaWQg
bG9hZEljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8V1RGOjpTdHJpbmc+JiwgRmlsZUljb25Mb2Fk
ZXIqKTsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgZm9ybVN0YXRlRGlkQ2hhbmdlKGNvbnN0IE5v
ZGUqKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggM2UyMDkwMzU1YzlhODBjMTVmOWUzZWUxNWE2
NjQ4ZDg5ZDg3MjFiYy4uNWY0MGVkYWFkZDM0MGIzNGE4NWU1MWUzZDliNmQxNjlmZDAyZDIwYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcKQEAgLTg2LDYgKzg2LDcgQEAgRU5BQkxFX0ZJTEVfU1lTVEVNID0g
OwogRU5BQkxFX0ZVTExTQ1JFRU5fQVBJID0gRU5BQkxFX0ZVTExTQ1JFRU5fQVBJOwogRU5BQkxF
X0dBTUVQQUQgPSA7CiBFTkFCTEVfR0VPTE9DQVRJT04gPSBFTkFCTEVfR0VPTE9DQVRJT047CitF
TkFCTEVfSFRNTF9NRURJQV9DQVBUVVJFID0gOwogRU5BQkxFX0lOREVYRURfREFUQUJBU0UgPSA7
CiBFTkFCTEVfSU5QVVRfQ09MT1IgPSA7CiBFTkFCTEVfSU5QVVRfU1BFRUNIID0gOwpAQCAtMTI2
LDQgKzEyNyw0IEBAIEVOQUJMRV9XRUJfVElNSU5HID0gOwogRU5BQkxFX1dPUktFUlMgPSBFTkFC
TEVfV09SS0VSUzsKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5F
UyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFT
KSAkKEVOQUJMRV9BTklNQVRJT05fQVBJKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DSEFOTkVM
X01FU1NBR0lORykgJChFTkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9D
U1NfRklMVEVSUykgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfU0hBREVS
UykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVOQUJM
RV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTKSAkKEVOQUJMRV9ERVZJQ0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0ZJTEVfU1lT
VEVNKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVf
R0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfQ09MT1IpICQoRU5BQkxFX0lO
UFVUX1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lO
UFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9MSU5LX1BS
RUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVf
TUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfVEFHKSAkKEVOQUJMRV9NVVRBVElPTl9P
QlNFUlZFUlMpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElU
WV9BUEkpICQoRU5BQkxFX1BST0dSRVNTX1RBRykgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JF
R0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1F
KSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVf
U1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9TVFlMRV9TQ09QRUQpICQoRU5BQkxFX1NWRykgJChFTkFC
TEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RF
WFRfTk9USUZJQ0FUSU9OU19PTkxZKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5B
QkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxF
X1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQo
RU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFC
TEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxF
X0FOSU1BVElPTl9BUEkpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5H
KSAkKEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04pICQoRU5BQkxFX0NTU19GSUxURVJT
KSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19TSEFERVJTKSAkKEVOQUJM
RV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1QpICQoRU5BQkxFX0RBVEFfVFJB
TlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFMpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElP
TikgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5B
QkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAk
KEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSFRNTF9NRURJQV9DQVBUVVJFKSAkKEVOQUJM
RV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVU
X0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJ
TUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dF
UikgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJ
QV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX1RBRykg
JChFTkFCTEVfTVVUQVRJT05fT0JTRVJWRVJTKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QUk9HUkVTU19UQUcpICQoRU5BQkxF
X1FVT1RBKSAkKEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKSAkKEVOQUJMRV9SRVFV
RVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfU0hBRE9XX0RPTSkgJChFTkFCTEVfU0hBUkVE
X1dPUktFUlMpICQoRU5BQkxFX1NRTF9EQVRBQkFTRSkgJChFTkFCTEVfU1RZTEVfU0NPUEVEKSAk
KEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9URVhUX05PVElGSUNBVElPTlNfT05MWSkgJChFTkFCTEVfVE9VQ0hf
SUNPTl9MT0FESU5HKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5B
QkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVO
QUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5o
IGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5k
ZXggNjZmYTA2MGI1YTUzZGJjMmYzOGVlYTZmNTQ1MmQ3NmRhNmJiMWY5Mi4uODQ2ZmQwOThhZjI1
ZTcwMDdhMDllYTgyNTE4N2Y2N2YzMjY2MzI1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTEyMSw2ICsxMjEsOSBAQCBw
dWJsaWM6CiAjZW5kaWYKIAogICAgIHZpcnR1YWwgdm9pZCBydW5PcGVuUGFuZWwoV2ViQ29yZTo6
RnJhbWUqLCBQYXNzUmVmUHRyPFdlYkNvcmU6OkZpbGVDaG9vc2VyPikgT1ZFUlJJREU7CisjaWYg
RU5BQkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkKKyAgICB2aXJ0dWFsIHZvaWQgcnVuQ2FwdHVyZVBh
bmVsKFdlYkNvcmU6OkZyYW1lKiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpNZWRpYUNhcHR1cmVDaG9v
c2VyPikgT1ZFUlJJREU7CisjZW5kaWYKICAgICB2aXJ0dWFsIHZvaWQgbG9hZEljb25Gb3JGaWxl
cyhjb25zdCBWZWN0b3I8V1RGOjpTdHJpbmc+JiwgV2ViQ29yZTo6RmlsZUljb25Mb2FkZXIqKSBP
VkVSUklERTsKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRDdXJzb3IoY29uc3QgV2ViQ29yZTo6Q3Vy
c29yJikgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQubW0KaW5kZXggM2JhYzg3YjljNjhjMTFkOTlhYjg5MzAwMDJkNDUz
NmNmZThjMDczYi4uOGJlZWQ1NzgzYzQ1MmM3NWYzNWFkYmZhMTYyMWUwODNlYjk5ZTk0ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5tbQpAQCAtNzQ2LDYgKzc0NiwxOCBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6cnVuT3BlblBh
bmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4gY2hvb3NlcikKICAgICBFTkRfQkxP
Q0tfT0JKQ19FWENFUFRJT05TOwogfQogCisjaWYgRU5BQkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkK
K3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjpydW5DYXB0dXJlUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRy
PE1lZGlhQ2FwdHVyZUNob29zZXI+KQoreworICAgIC8vIE5vdGU6IGNhcHR1cmVUeXBlKCkgaW4g
TWVkaWFDYXB0dXJlQ2hvb3NlciB3aWxsIHJldHVybiB0aGUgZGV0ZXJtaW5lZCB2YWx1ZSBmcm9t
CisgICAgLy8gdGhlIGludGVyYWN0aW9ucyBiZXR3ZWVuIHRoZSBjYXB0dXJlIGF0dHJpYnV0ZSBh
bmQgdGhlIGFjY2VwdCBhdHRyaWJ1dGUuIEl0J3MKKyAgICAvLyB0aGUgdmFsdWUgZm9yIHRoZSBw
YW5lbCB0eXBlIHRoYXQgc2hvdWxkIGJlIHByZXNlbnRlZCBieSBkZWZhdWx0LiBUaGUgYWRkaXRp
b25hbAorICAgIC8vIGNhcHR1cmUgdHlwZSBjYW4gYmUgYWxsb3dlZCBmcm9tIGNhcHR1cmVhY2Nl
cHRNSU1FVHlwZXMgb2YgRmlsZUNob29zZXJTZXR0aW5ncy4KKworICAgIG5vdEltcGxlbWVudGVk
KCk7Cit9CisjZW5kaWYKKwogdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmxvYWRJY29uRm9yRmlsZXMo
Y29uc3QgVmVjdG9yPFN0cmluZz4mIGZpbGVuYW1lcywgRmlsZUljb25Mb2FkZXIqIGljb25Mb2Fk
ZXIpCiB7CiAgICAgaWNvbkxvYWRlci0+bm90aWZ5RmluaXNoZWQoSWNvbjo6Y3JlYXRlSWNvbkZv
ckZpbGVzKGZpbGVuYW1lcykpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBw
b3J0L0Nocm9tZUNsaWVudFF0LmNwcAppbmRleCBmMTI5YjU4NzE2MWU4Njk4NjM1ZWU0NjFkNTg1
ODc4MjU2ZDZhNjFjLi4zN2EyZjBiMDE2OWZlZmEwYzFjMzc1YmRlNDBkYjhmYmVkZmIwODZiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0
LmNwcApAQCAtNTg4LDYgKzU4OCwxOCBAQCB2b2lkIENocm9tZUNsaWVudFF0OjpydW5PcGVuUGFu
ZWwoRnJhbWUqIGZyYW1lLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPiBwcnBGaWxlQwogICAgIH0K
IH0KIAorI2lmIEVOQUJMRShIVE1MX01FRElBX0NBUFRVUkUpCit2b2lkIENocm9tZUNsaWVudFF0
OjpydW5DYXB0dXJlUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPE1lZGlhQ2FwdHVyZUNob29zZXI+
KQoreworICAgIC8vIE5vdGU6IGNhcHR1cmVUeXBlKCkgaW4gTWVkaWFDYXB0dXJlQ2hvb3NlciB3
aWxsIHJldHVybiB0aGUgZGV0ZXJtaW5lZCB2YWx1ZSBmcm9tCisgICAgLy8gdGhlIGludGVyYWN0
aW9ucyBiZXR3ZWVuIHRoZSBjYXB0dXJlIGF0dHJpYnV0ZSBhbmQgdGhlIGFjY2VwdCBhdHRyaWJ1
dGUuIEl0J3MKKyAgICAvLyB0aGUgdmFsdWUgZm9yIHRoZSBwYW5lbCB0eXBlIHRoYXQgc2hvdWxk
IGJlIHByZXNlbnRlZCBieSBkZWZhdWx0LiBUaGUgYWRkaXRpb25hbAorICAgIC8vIGNhcHR1cmUg
dHlwZSBjYW4gYmUgYWxsb3dlZCBmcm9tIGNhcHR1cmVhY2NlcHRNSU1FVHlwZXMgb2YgRmlsZUNo
b29zZXJTZXR0aW5ncy4KKworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisjZW5kaWYKKwogdm9p
ZCBDaHJvbWVDbGllbnRRdDo6bG9hZEljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYg
ZmlsZW5hbWVzLCBGaWxlSWNvbkxvYWRlciogbG9hZGVyKQogewogICAgIGxvYWRlci0+bm90aWZ5
RmluaXNoZWQoSWNvbjo6Y3JlYXRlSWNvbkZvckZpbGVzKGZpbGVuYW1lcykpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oIGIvU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oCmluZGV4IDNkNDVi
N2I1MWEyZTMyMDA0NGU2NDAxZjcwOGJiMmMwOGYzNzU1YzQuLmFmMjVhNTk1NjJhNGVlMTM4Mjdh
ZTA2YzBmODYyYzllZWMyOWQzODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudFF0LmgKQEAgLTE2Nyw2ICsxNjcsOSBAQCBwdWJsaWM6CiAgICAg
RnVsbFNjcmVlblZpZGVvUXQqIGZ1bGxTY3JlZW5WaWRlbygpOwogI2VuZGlmCiAgICAgIHZpcnR1
YWwgdm9pZCBydW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPik7Cisj
aWYgRU5BQkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkKKyAgICAgdmlydHVhbCB2b2lkIHJ1bkNhcHR1
cmVQYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8TWVkaWFDYXB0dXJlQ2hvb3Nlcj4pOworI2VuZGlm
CiAgICAgIHZpcnR1YWwgdm9pZCBsb2FkSWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+
JiwgRmlsZUljb25Mb2FkZXIqKTsKIAogICAgIHZpcnR1YWwgdm9pZCBmb3JtU3RhdGVEaWRDaGFu
Z2UoY29uc3QgTm9kZSopIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKaW5kZXggY2NhOWVjMGU3NzhlOGRmMTlkNDNkYjYy
Y2JmMjY5ZWM5NDY3MzkzNy4uNTkxNWI2NWRhYWIwMDllYmZiNzBmZTRlMzVhMGRmMmE5NDkzOWNl
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuY3BwCkBAIC03MDEsNiArNzAxLDE4IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50Ojpy
dW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPiBwcnBGaWxlQ2hvb3Nl
CiAgICAgLy8gRklYTUU6IFNob3cgc29tZSBzb3J0IG9mIGVycm9yIGlmIHRvbyBtYW55IGZpbGVz
IGFyZSBzZWxlY3RlZCBhbmQgdGhlIGJ1ZmZlciBpcyB0b28gc21hbGwuICBGb3Igbm93LCB0aGlz
IHdpbGwgZmFpbCBzaWxlbnRseS4KIH0KIAorI2lmIEVOQUJMRShIVE1MX01FRElBX0NBUFRVUkUp
Cit2b2lkIFdlYkNocm9tZUNsaWVudDo6cnVuQ2FwdHVyZVBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0
cjxNZWRpYUNhcHR1cmVDaG9vc2VyPikKK3sKKyAgICAvLyBOb3RlOiBjYXB0dXJlVHlwZSgpIGlu
IE1lZGlhQ2FwdHVyZUNob29zZXIgd2lsbCByZXR1cm4gdGhlIGRldGVybWluZWQgdmFsdWUgZnJv
bQorICAgIC8vIHRoZSBpbnRlcmFjdGlvbnMgYmV0d2VlbiB0aGUgY2FwdHVyZSBhdHRyaWJ1dGUg
YW5kIHRoZSBhY2NlcHQgYXR0cmlidXRlLiBJdCdzCisgICAgLy8gdGhlIHZhbHVlIGZvciB0aGUg
cGFuZWwgdHlwZSB0aGF0IHNob3VsZCBiZSBwcmVzZW50ZWQgYnkgZGVmYXVsdC4gVGhlIGFkZGl0
aW9uYWwKKyAgICAvLyBjYXB0dXJlIHR5cGUgY2FuIGJlIGFsbG93ZWQgZnJvbSBjYXB0dXJlYWNj
ZXB0TUlNRVR5cGVzIG9mIEZpbGVDaG9vc2VyU2V0dGluZ3MuCisKKyAgICBub3RJbXBsZW1lbnRl
ZCgpOworfQorI2VuZGlmCisKIHZvaWQgV2ViQ2hyb21lQ2xpZW50Ojpsb2FkSWNvbkZvckZpbGVz
KGNvbnN0IFZlY3RvcjxXVEY6OlN0cmluZz4mIGZpbGVuYW1lcywgV2ViQ29yZTo6RmlsZUljb25M
b2FkZXIqIGxvYWRlcikKIHsKICAgICBsb2FkZXItPm5vdGlmeUZpbmlzaGVkKEljb246OmNyZWF0
ZUljb25Gb3JGaWxlcyhmaWxlbmFtZXMpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2lu
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC93aW4vV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggMmE5YThmZTdmM2Q0ZjQ1M2ZlNGFi
MWYwZWRjYjlkZDM5ZmFhYmM5Yi4uODljMjc0OTAzMjI0NGQ1ZTgwODE3YTVjZjcxMzdhNmUyMzNm
YWNhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmgKQEAgLTEyNyw2ICsxMjcsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lk
IHBvcHVsYXRlVmlzaXRlZExpbmtzKCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVs
KFdlYkNvcmU6OkZyYW1lKiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpGaWxlQ2hvb3Nlcj4pOworI2lm
IEVOQUJMRShIVE1MX01FRElBX0NBUFRVUkUpCisgICAgdmlydHVhbCB2b2lkIHJ1bkNhcHR1cmVQ
YW5lbChXZWJDb3JlOjpGcmFtZSosIFBhc3NSZWZQdHI8V2ViQ29yZTo6TWVkaWFDYXB0dXJlQ2hv
b3Nlcj4pOworI2VuZGlmCiAgICAgdmlydHVhbCB2b2lkIGxvYWRJY29uRm9yRmlsZXMoY29uc3Qg
VmVjdG9yPFdURjo6U3RyaW5nPiYsIFdlYkNvcmU6OkZpbGVJY29uTG9hZGVyKik7CiAKICAgICB2
aXJ0dWFsIHZvaWQgc2V0Q3Vyc29yKGNvbnN0IFdlYkNvcmU6OkN1cnNvciYpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNF
LmNwcAppbmRleCA2YTBlMjVhNGQ4MDNlZThiNDkzMDA3MGJhOWMxYWYwYWJhMmVkOTI0Li5kNGE1
YzhhMmZjMjkwZjY2Mzk0OGRhYTVkOGFlZTEyYTFjYTVjMDBlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmNwcApA
QCAtMzQ0LDYgKzM0NCwxOCBAQCB2b2lkIENocm9tZUNsaWVudFdpbkNFOjpydW5PcGVuUGFuZWwo
RnJhbWUqLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPiBwcnBGaWxlQ2hvbwogICAgIG5vdEltcGxl
bWVudGVkKCk7CiB9CiAKKyNpZiBFTkFCTEUoSFRNTF9NRURJQV9DQVBUVVJFKQordm9pZCBDaHJv
bWVDbGllbnRXaW5DRTo6cnVuQ2FwdHVyZVBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxNZWRpYUNh
cHR1cmVDaG9vc2VyPikKK3sKKyAgICAvLyBOb3RlOiBjYXB0dXJlVHlwZSgpIGluIE1lZGlhQ2Fw
dHVyZUNob29zZXIgd2lsbCByZXR1cm4gdGhlIGRldGVybWluZWQgdmFsdWUgZnJvbQorICAgIC8v
IHRoZSBpbnRlcmFjdGlvbnMgYmV0d2VlbiB0aGUgY2FwdHVyZSBhdHRyaWJ1dGUgYW5kIHRoZSBh
Y2NlcHQgYXR0cmlidXRlLiBJdCdzCisgICAgLy8gdGhlIHZhbHVlIGZvciB0aGUgcGFuZWwgdHlw
ZSB0aGF0IHNob3VsZCBiZSBwcmVzZW50ZWQgYnkgZGVmYXVsdC4gVGhlIGFkZGl0aW9uYWwKKyAg
ICAvLyBjYXB0dXJlIHR5cGUgY2FuIGJlIGFsbG93ZWQgZnJvbSBjYXB0dXJlYWNjZXB0TUlNRVR5
cGVzIG9mIEZpbGVDaG9vc2VyU2V0dGluZ3MuCisKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQor
I2VuZGlmCisKIHZvaWQgQ2hyb21lQ2xpZW50V2luQ0U6OmxvYWRJY29uRm9yRmlsZXMoY29uc3Qg
VmVjdG9yPFN0cmluZz4mIGZpbGVuYW1lcywgRmlsZUljb25Mb2FkZXIqIGxvYWRlcikKIHsKICAg
ICBsb2FkZXItPm5vdGlmeUZpbmlzaGVkKEljb246OmNyZWF0ZUljb25Gb3JGaWxlcyhmaWxlbmFt
ZXMpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hy
b21lQ2xpZW50V2luQ0UuaCBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hy
b21lQ2xpZW50V2luQ0UuaAppbmRleCA2MTM3ODNhMDMzZTU5YWNhOTFkOTg0NTM2MDAwNjQ5MDVj
MjA2MjEzLi5jMzgyODAwOWY4Y2M0NzNkNDg3MGQyYWUzNWJkY2VhN2U5NDAxMzU4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNF
LmgKKysrIGIvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRX
aW5DRS5oCkBAIC0xNDUsNiArMTQ1LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBjYW5j
ZWxHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0Rm9yRnJhbWUoV2ViQ29yZTo6RnJhbWUqLCBX
ZWJDb3JlOjpHZW9sb2NhdGlvbiopOwogCiAgICAgdmlydHVhbCB2b2lkIHJ1bk9wZW5QYW5lbChX
ZWJDb3JlOjpGcmFtZSosIFBhc3NSZWZQdHI8V2ViQ29yZTo6RmlsZUNob29zZXI+KTsKKyNpZiBF
TkFCTEUoSFRNTF9NRURJQV9DQVBUVVJFKQorICAgIHZpcnR1YWwgdm9pZCBydW5DYXB0dXJlUGFu
ZWwoV2ViQ29yZTo6RnJhbWUqLCBQYXNzUmVmUHRyPFdlYkNvcmU6Ok1lZGlhQ2FwdHVyZUNob29z
ZXI+KTsKKyNlbmRpZgogICAgIC8vIEFzeW5jaHJvbm91cyByZXF1ZXN0IHRvIGxvYWQgYW4gaWNv
biBmb3Igc3BlY2lmaWVkIGZpbGVuYW1lcy4KICAgICB2aXJ0dWFsIHZvaWQgbG9hZEljb25Gb3JG
aWxlcyhjb25zdCBWZWN0b3I8V1RGOjpTdHJpbmc+JiwgV2ViQ29yZTo6RmlsZUljb25Mb2FkZXIq
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNs
aWVudFd4LmNwcCBiL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRX
eC5jcHAKaW5kZXggYmM5ODcyNDE0ZDQzMTNiYWM0M2RmZGMwOTVjN2JmZTkxNzk2YTNkYi4uNzM1
YmExYjk1YzZhYmUxZGZjMmY3ZWE1NDg0MjIxMDA5OWQwM2U4NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guY3BwCkBAIC00NTQsNiArNDU0
LDE4IEBAIHZvaWQgQ2hyb21lQ2xpZW50V3g6OnJ1bk9wZW5QYW5lbChGcmFtZSosIFBhc3NSZWZQ
dHI8RmlsZUNob29zZXI+KQogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKKyNpZiBFTkFCTEUo
SFRNTF9NRURJQV9DQVBUVVJFKQordm9pZCBDaHJvbWVDbGllbnRXeDo6cnVuQ2FwdHVyZVBhbmVs
KEZyYW1lKiwgUGFzc1JlZlB0cjxNZWRpYUNhcHR1cmVDaG9vc2VyPikKK3sKKyAgICAvLyBOb3Rl
OiBjYXB0dXJlVHlwZSgpIGluIE1lZGlhQ2FwdHVyZUNob29zZXIgd2lsbCByZXR1cm4gdGhlIGRl
dGVybWluZWQgdmFsdWUgZnJvbQorICAgIC8vIHRoZSBpbnRlcmFjdGlvbnMgYmV0d2VlbiB0aGUg
Y2FwdHVyZSBhdHRyaWJ1dGUgYW5kIHRoZSBhY2NlcHQgYXR0cmlidXRlLiBJdCdzCisgICAgLy8g
dGhlIHZhbHVlIGZvciB0aGUgcGFuZWwgdHlwZSB0aGF0IHNob3VsZCBiZSBwcmVzZW50ZWQgYnkg
ZGVmYXVsdC4gVGhlIGFkZGl0aW9uYWwKKyAgICAvLyBjYXB0dXJlIHR5cGUgY2FuIGJlIGFsbG93
ZWQgZnJvbSBjYXB0dXJlYWNjZXB0TUlNRVR5cGVzIG9mIEZpbGVDaG9vc2VyU2V0dGluZ3MuCisK
KyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorI2VuZGlmCisKIHZvaWQgQ2hyb21lQ2xpZW50V3g6
OmxvYWRJY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mIGZpbGVuYW1lcywgRmlsZUlj
b25Mb2FkZXIqIGxvYWRlcikKIHsKICAgICBsb2FkZXItPm5vdGlmeUZpbmlzaGVkKEljb246OmNy
ZWF0ZUljb25Gb3JGaWxlcyhmaWxlbmFtZXMpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
d3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oIGIvU291cmNlL1dlYktpdC93eC9XZWJL
aXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmgKaW5kZXggMmI2Y2RlZjYxMmNhZmNkNGYyNTAxMzQ1
MTY4ZGEzY2U3MDU4ODU2OS4uNmU2YmQxNDBmMWM5YzBjMTRiYzY4NzE1NTUxYzUwNzE5NmU3OGY4
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVu
dFd4LmgKKysrIGIvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4
LmgKQEAgLTEzMiw2ICsxMzIsOSBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAgIHZpcnR1YWwgdm9p
ZCBydW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPik7CisjaWYgRU5B
QkxFKEhUTUxfTUVESUFfQ0FQVFVSRSkKKyAgICB2aXJ0dWFsIHZvaWQgcnVuQ2FwdHVyZVBhbmVs
KEZyYW1lKiwgUGFzc1JlZlB0cjxNZWRpYUNhcHR1cmVDaG9vc2VyPik7CisjZW5kaWYKICAgICB2
aXJ0dWFsIHZvaWQgbG9hZEljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYsIEZpbGVJ
Y29uTG9hZGVyKik7CiAKICAgICB2aXJ0dWFsIHZvaWQgZm9ybVN0YXRlRGlkQ2hhbmdlKGNvbnN0
IE5vZGUqKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlIGIv
U291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UKaW5kZXggN2RmNDQ0Mjk4ODIwY2IzNGY3ZWFi
MjgwZWFjZDZjNjE1MjdkMDNmYy4uMjNmMzAwMjY5ZGNhODNlYzQxN2JmYzgwOGZkZTY5Y2Y2MDBm
YmIxNyAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UKKysrIGIvU291
cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UKQEAgLTc1LDYgKzc1LDcgQEAgV0VCS0lUX0ZFQVRV
UkUoRU5BQkxFX0ZJTFRFUlMgIkVuYWJsZSBTVkcgZmlsdGVycyIgREVGQVVMVCBPTikKIFdFQktJ
VF9GRUFUVVJFKEVOQUJMRV9GVFBESVIgIkVuYWJsZSBGVFAgZGlyZWN0b3J5IHN1cHBvcnQiIERF
RkFVTFQgT04pCiBXRUJLSVRfRkVBVFVSRShFTkFCTEVfRlVMTFNDUkVFTl9BUEkgIkVuYWJsZSBG
dWxsc2NyZWVuIEFQSSBzdXBwb3J0IiBERUZBVUxUIE9GRikKIFdFQktJVF9GRUFUVVJFKEVOQUJM
RV9HRU9MT0NBVElPTiAiRW5hYmxlIGdlb2xvY2F0aW9uIiBERUZBVUxUIE9GRikKK1dFQktJVF9G
RUFUVVJFKEVOQUJMRV9IVE1MX01FRElBX0NBUFRVUkUgIkVuYWJsZSBIVE1MIE1lZGlhIENhcHR1
cmUiIERFRkFVTFQgT04pCiBXRUJLSVRfRkVBVFVSRShFTkFCTEVfSUNPTkRBVEFCQVNFICJFbmFi
bGUgaWNvbiBkYXRhYmFzZSIgREVGQVVMVCBPTikKIFdFQktJVF9GRUFUVVJFKEVOQUJMRV9JTlNQ
RUNUT1IgIkVuYWJsZSBpbnNwZWN0b3IiIERFRkFVTFQgT04pCiBXRUJLSVRfRkVBVFVSRShFTkFC
TEVfSkFWQVNDUklQVF9ERUJVR0dFUiAiRW5hYmxlIEphdmFTY3JpcHQgZGVidWdnZXIiIERFRkFV
TFQgT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZSBiL1NvdXJjZS9j
bWFrZWNvbmZpZy5oLmNtYWtlCmluZGV4IDZkM2Y4Mzc5NDcyOTNjMWQyNTMwZGRiNDE4ODhlOTRk
NjVlMWI0YjguLjM3YmQ1NDQ0NTQwYWM1NDMwZTcwMzRkYjcyNWM5Y2EwZjJlODg5ZGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZWNvbmZp
Zy5oLmNtYWtlCkBAIC0xOSw2ICsxOSw3IEBACiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfRlVMTFND
UkVFTl9BUEkKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9HRU9MT0NBVElPTgogI2NtYWtlZGVmaW5l
MDEgRU5BQkxFX0dMSUJfU1VQUE9SVAorI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0hUTUxfTUVESUFf
Q0FQVFVSRQogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0lDT05EQVRBQkFTRQogI2NtYWtlZGVmaW5l
MDEgRU5BQkxFX0lOREVYRURfREFUQUJBU0UKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9JTlNQRUNU
T1IKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBl
YTFkMDc0ZDQxMGY1YTMyZGUyYmU3NTY0Y2VkYWE1OTU2MTJhOGYzLi44N2EzZmExOGU0MmU0ZDg4
MzNjNTlhNWI3MzlkNmIyYWJlN2FhZDA5IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysr
IGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDItMTYgIEpvbmdzZW9r
IFlhbmcgIDxqczQ1LnlhbmdAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IHRoZSBp
bnRlcmZhY2UgZm9yIG1lZGlhIGNhcHR1cmUgcGFuZWwgdG8gc3VwcG9ydCBIVE1MIE1lZGlhIENh
cHR1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYz
MDYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IG9wdGlvbiBmb3IgSFRNTCBNZWRpYSBDYXB0dXJlLgorCisgICAgICAgICogU2NyaXB0cy9idWls
ZC13ZWJraXQ6CisgICAgICAgICogcW1ha2UvbWtzcGVjcy9mZWF0dXJlcy9mZWF0dXJlcy5wcmY6
CisKIDIwMTItMDItMTYgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgogCiAgICAgICAgIFtHVEtdIE1ha2UgaW5zdGFsbCBpcyBicm9rZW4gd2hlbiBidWlsZGluZyB3
aXRob3V0IC0tZW5hYmxlLWd0ay1kb2MKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvYnVpbGQt
d2Via2l0IGIvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKaW5kZXggY2RmNjJhMDdhZGQ3OGU0
NTcxMTJlYjc0NTczYzVhMGE2MDI4ZjBjMS4uOTEwOGIzZjRiMzI4ODYzNWI3Y2MzZDcwMTIxM2Nl
ZTQ4NTk1N2M0YSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKKysrIGIv
VG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKQEAgLTkwLDYgKzkwLDcgQEAgbXkgKAogICAgICRm
dWxsc2NyZWVuQVBJU3VwcG9ydCwKICAgICAkZ2FtZXBhZFN1cHBvcnQsCiAgICAgJGdlb2xvY2F0
aW9uU3VwcG9ydCwKKyAgICAkaHRtbE1lZGlhQ2FwdHVyZVN1cHBvcnQsCiAgICAgJGljb25EYXRh
YmFzZVN1cHBvcnQsCiAgICAgJGltYWdlUmVzaXplclN1cHBvcnQsCiAgICAgJGluZGV4ZWREYXRh
YmFzZVN1cHBvcnQsCkBAIC0yMTUsNiArMjE2LDkgQEAgbXkgQGZlYXR1cmVzID0gKAogICAgIHsg
b3B0aW9uID0+ICJnZW9sb2NhdGlvbiIsIGRlc2MgPT4gIlRvZ2dsZSBHZW9sb2NhdGlvbiBzdXBw
b3J0IiwKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0dFT0xPQ0FUSU9OIiwgZGVmYXVsdCA9PiAo
aXNBcHBsZVdlYktpdCgpIHx8IGlzR3RrKCkgfHwgaXNCbGFja0JlcnJ5KCkpLCB2YWx1ZSA9PiBc
JGdlb2xvY2F0aW9uU3VwcG9ydCB9LAogCisgICAgeyBvcHRpb24gPT4gImh0bWwtbWVkaWEtY2Fw
dHVyZSIsIGRlc2MgPT4gIlRvZ2dsZSBIVE1MIE1lZGlhIENhcHR1cmUgc3VwcG9ydCIsCisgICAg
ICBkZWZpbmUgPT4gIkVOQUJMRV9IVE1MX01FRElBX0NBUFRVUkUiLCBkZWZhdWx0ID0+IGlzRWZs
KCksIHZhbHVlID0+IFwkaHRtbE1lZGlhQ2FwdHVyZVN1cHBvcnQgfSwKKwogICAgIHsgb3B0aW9u
ID0+ICJpY29uLWRhdGFiYXNlIiwgZGVzYyA9PiAiVG9nZ2xlIEljb24gZGF0YWJhc2Ugc3VwcG9y
dCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9JQ09OREFUQUJBU0UiLCBkZWZhdWx0ID0+IDEs
IHZhbHVlID0+IFwkaWNvbkRhdGFiYXNlU3VwcG9ydCB9LAogCmRpZmYgLS1naXQgYS9Ub29scy9x
bWFrZS9ta3NwZWNzL2ZlYXR1cmVzL2ZlYXR1cmVzLnByZiBiL1Rvb2xzL3FtYWtlL21rc3BlY3Mv
ZmVhdHVyZXMvZmVhdHVyZXMucHJmCmluZGV4IGVhNzMxZTQ4ZTYxOTY0ZmM4YmQwNTA3N2E3NGM0
MmQ2YmZiNGZmN2MuLjU4NGRhYmJjYjhlODUwNWM1M2U3MjI5MmUzZjQ0OTI0ZWIyZTFhNzEgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL3FtYWtlL21rc3BlY3MvZmVhdHVyZXMvZmVhdHVyZXMucHJmCisrKyBi
L1Rvb2xzL3FtYWtlL21rc3BlY3MvZmVhdHVyZXMvZmVhdHVyZXMucHJmCkBAIC04NSw2ICs4NSw3
IEBAIGhhdmVRdCg0KTp1bml4OiFtYWM6IWVtYmVkZGVkIHsKICFjb250YWlucyhERUZJTkVTLCBF
TkFCTEVfTUVESUFfU1RSRUFNPS4pOiBERUZJTkVTICs9IEVOQUJMRV9NRURJQV9TVFJFQU09MAog
IWNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9WSURFT19UUkFDSz0uKTogREVGSU5FUyArPSBFTkFC
TEVfVklERU9fVFJBQ0s9MAogIWNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9UT1VDSF9JQ09OX0xP
QURJTkc9Lik6IERFRklORVMgKz0gRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORz0wCishY29udGFp
bnMoREVGSU5FUywgRU5BQkxFX0hUTUxfTUVESUFfQ0FQVFVSRT0uKTogREVGSU5FUyArPSBFTkFC
TEVfSFRNTF9NRURJQV9DQVBUVVJFPTAKICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVfQU5JTUFU
SU9OX0FQST0uKTogREVGSU5FUyArPSBFTkFCTEVfQU5JTUFUSU9OX0FQST0wCiAKICMgRW5hYmxl
ZCBpbiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmggaWYgbm90IHNldApkaWZm
IC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IGNkNTFhMzlhMDYxMzU1YzdmZjZk
MDFkNWQ5YmYxZmI2OTNkNzVkODcuLjNhZGE0YWEwZjYzNmViNmE4NDYzNDBjMGQ0Njc5MzQ0NDFi
NzQ3MmEgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NiBAQAorMjAxMi0wMi0xNiAgSm9uZ3Nlb2sgWWFuZyAgPGpzNDUueWFuZ0BzYW1zdW5nLmNvbT4K
KworICAgICAgICBJbXBsZW1lbnQgdGhlIGludGVyZmFjZSBmb3IgbWVkaWEgY2FwdHVyZSBwYW5l
bCB0byBzdXBwb3J0IEhUTUwgTWVkaWEgQ2FwdHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMwNjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgb3B0aW9uIGZvciBIVE1MIE1lZGlhIENhcHR1cmUu
CisKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZToKKyAgICAgICAgKiBT
b3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZToKKyAgICAgICAgKiBjb25maWd1cmUuYWM6CisKIDIw
MTItMDItMTYgIFNpbW9uIEhhdXNtYW5uICA8c2ltb24uaGF1c21hbm5Abm9raWEuY29tPgogCiAg
ICAgICAgIFtRdF0gTW92ZSBldmVudCBjb252ZXJzaW9uIGZ1bmN0aW9ucyBmcm9tIFdlYkNvcmUg
dG8gV2ViS2l0CmRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKaW5kZXgg
YmY4MTI5NWEyZmU2MDgzMmNiMDI0NGYxMmE2OTYxMTNjNWRjYjY2My4uM2RjNDczNmI0ODdkODUw
M2JmNjY3NzEzNTRjMTIxMzYwZjYwNjJkMiAxMDA2NDQKLS0tIGEvY29uZmlndXJlLmFjCisrKyBi
L2NvbmZpZ3VyZS5hYwpAQCAtMTA2Myw2ICsxMDYzLDE0IEBAIEFDX0FSR19FTkFCTEUoZGV2aWNl
X29yaWVudGF0aW9uLAogICAgICAgICAgICAgICBbXSxbZW5hYmxlX2RldmljZV9vcmllbnRhdGlv
bj0ibm8iXSkKIEFDX01TR19SRVNVTFQoWyRlbmFibGVfZGV2aWNlX29yaWVudGF0aW9uXSkKIAor
IyBjaGVjayB3aGV0aGVyIHRvIGVuYWJsZSBIVE1MIE1lZGlhIENhcHR1cmUKK0FDX01TR19DSEVD
S0lORyhbd2hldGhlciB0byBlbmFibGUgSFRNTCBNZWRpYSBDYXB0dXJlXSkKK0FDX0FSR19FTkFC
TEUoaHRtbF9tZWRpYV9jYXB0dXJlLAorICAgICAgICAgICAgICBBQ19IRUxQX1NUUklORyhbLS1l
bmFibGUtaHRtbC1tZWRpYS1jYXB0dXJlXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
W2VuYWJsZSBzdXBwb3J0IGZvciBIVE1MIE1lZGlhIENhcHR1cmUgW2RlZmF1bHQ9bm9dXSksCisg
ICAgICAgICAgICAgIFtdLCBbZW5hYmxlX2h0bWxfbWVkaWFfY2FwdHVyZT0ibm8iXSkKK0FDX01T
R19SRVNVTFQoWyRlbmFibGVfaHRtbF9tZWRpYV9jYXB0dXJlXSkKKwogR19JUl9TQ0FOTkVSPQog
R19JUl9DT01QSUxFUj0KIEdfSVJfR0VORVJBVEU9CkBAIC0xMzQxLDYgKzEzNDksNyBAQCBBTV9D
T05ESVRJT05BTChbRU5BQkxFX0lOUFVUX1NQRUVDSF0sW3Rlc3QgIiRlbmFibGVfaW5wdXRfc3Bl
ZWNoIiA9ICJ5ZXMiXSkKIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfWFNMVF0sW3Rlc3QgIiRlbmFi
bGVfeHNsdCIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX0ZJTFRFUlNdLFt0ZXN0
ICIkZW5hYmxlX2ZpbHRlcnMiID0gInllcyJdKQogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9HRU9M
T0NBVElPTl0sIFt0ZXN0ICIkZW5hYmxlX2dlb2xvY2F0aW9uIiA9ICJ5ZXMiXSkKK0FNX0NPTkRJ
VElPTkFMKFtFTkFCTEVfSFRNTF9NRURJQV9DQVBUVVJFXSwgW3Rlc3QgIiRlbmFibGVfaHRtbF9t
ZWRpYV9jYXB0dXJlIiA9ICJ5ZXMiXSkKIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfTUFUSE1MXSwg
W3Rlc3QgIiRlbmFibGVfbWF0aG1sIiA9ICJ5ZXMiXSkKIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVf
TUhUTUxdLCBbdGVzdCAiJGVuYWJsZV9taHRtbCIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChb
RU5BQkxFX1ZJREVPXSxbdGVzdCAiJGVuYWJsZV92aWRlbyIgPSAieWVzIl0pCkBAIC0xNDM2LDYg
KzE0NDUsNyBAQCBGZWF0dXJlczoKICBNZWRpYSBzb3VyY2UgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA6ICRlbmFibGVfbWVkaWFfc291cmNlCiAgTWVkaWEgc3Rh
dGlzdGljcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxl
X21lZGlhX3N0YXRpc3RpY3MKICBNSFRNTCBzdXBwb3J0ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA6ICRlbmFibGVfbWh0bWwKKyBIVE1MIE1lZGlhIENhcHR1cmUg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRlbmFibGVfaHRtbF9tZWRp
YV9jYXB0dXJlCiAgSFRNTDUgY2hhbm5lbCBtZXNzYWdpbmcgc3VwcG9ydCAgICAgICAgICAgICAg
ICAgICAgICAgICAgOiAkZW5hYmxlX2NoYW5uZWxfbWVzc2FnaW5nCiAgSFRNTDUgbWV0ZXIgZWxl
bWVudCBzdXBwb3J0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlX21ldGVy
X3RhZwogIEhUTUw1IG1pY3JvZGF0YSBzdXBwb3J0ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDogJGVuYWJsZV9taWNyb2RhdGEK
</data>
<flag name="review"
          id="131559"
          type_id="1"
          status="-"
          setter="morrita"
    />
          </attachment>
      

    </bug>

</bugzilla>