<?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>110097</bug_id>
          
          <creation_ts>2013-02-18 01:58:13 -0800</creation_ts>
          <short_desc>[WK2] Port RemoteNetworkingContext for Soup</short_desc>
          <delta_ts>2013-10-10 14:33:20 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>108832</blocked>
    
    <blocked>118231</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Balazs Kelemen">kbalazs</reporter>
          <assigned_to name="Kwang Yul Seo">skyul</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>buildbot</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jesus</cc>
    
    <cc>kenneth</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>ossy</cc>
    
    <cc>rniwa</cc>
    
    <cc>skyul</cc>
    
    <cc>svillar</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>835244</commentid>
    <comment_count>0</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2013-02-18 01:58:13 -0800</bug_when>
    <thetext>Make this interface portable and add an implementation for the Soup network backend which is used by several ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>835316</commentid>
    <comment_count>1</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2013-02-18 04:06:33 -0800</bug_when>
    <thetext>Being one of the active maintainers of the WK soup backend I&apos;m interested in helping with this effort.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>835419</commentid>
    <comment_count>2</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2013-02-18 06:12:42 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; Being one of the active maintainers of the WK soup backend I&apos;m interested in helping with this effort.

Thanks. For now it will mostly be stubs and a bit of refactoring. Later we can implement private browsing sessions which probably requires more soup knowledge.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>835428</commentid>
    <comment_count>3</comment_count>
      <attachid>188871</attachid>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2013-02-18 06:21:27 -0800</bug_when>
    <thetext>Created attachment 188871
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904916</commentid>
    <comment_count>4</comment_count>
      <attachid>205782</attachid>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-06-30 19:46:22 -0700</bug_when>
    <thetext>Created attachment 205782
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904917</commentid>
    <comment_count>5</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-06-30 19:50:13 -0700</bug_when>
    <thetext>(In reply to comment #4)
Build fix as RemoteNetworkingContext::privateBrowsingSession is changed to return a pointer in r150537.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904920</commentid>
    <comment_count>6</comment_count>
      <attachid>205782</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-06-30 20:10:58 -0700</bug_when>
    <thetext>Comment on attachment 205782
Patch

Attachment 205782 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/1001366</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904921</commentid>
    <comment_count>7</comment_count>
      <attachid>205782</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-06-30 20:25:00 -0700</bug_when>
    <thetext>Comment on attachment 205782
Patch

Attachment 205782 did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/943930</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904973</commentid>
    <comment_count>8</comment_count>
      <attachid>205795</attachid>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-07-01 03:45:53 -0700</bug_when>
    <thetext>Created attachment 205795
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904974</commentid>
    <comment_count>9</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-07-01 03:47:07 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Created an attachment (id=205795) [details]
&gt; Patch

Mac build fix. RemoteNetworkingContext::storageSession() was mistakenly declared twice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906280</commentid>
    <comment_count>10</comment_count>
      <attachid>205795</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-07-04 18:27:05 -0700</bug_when>
    <thetext>Comment on attachment 205795
Patch

Seems fine.  I&apos;ll let a Soup guy review, then will sign off.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906326</commentid>
    <comment_count>11</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2013-07-05 01:29:44 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 205795 [details])
&gt; Seems fine.  I&apos;ll let a Soup guy review, then will sign off.

As this is mostly a refactoring and knowing that there is actually no specific soup code yet, I think you can safely sign off.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906975</commentid>
    <comment_count>12</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-07-08 18:27:53 -0700</bug_when>
    <thetext>CC&apos;ing Gustavo Noronha Silva</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>911543</commentid>
    <comment_count>13</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-07-25 02:17:23 -0700</bug_when>
    <thetext>gns, would you review the patch please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>921009</commentid>
    <comment_count>14</comment_count>
      <attachid>209650</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-08-26 06:59:35 -0700</bug_when>
    <thetext>Created attachment 209650
Patch

Updated to ToT: solved conflicts in project.pbxproj, removed the change in the non-existent SyncNetworkResourceLoader.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>933499</commentid>
    <comment_count>15</comment_count>
      <attachid>209650</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-09-26 07:57:53 -0700</bug_when>
    <thetext>Comment on attachment 209650
Patch

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

&gt; Source/WebKit2/ChangeLog:23
&gt; +        * NetworkProcess/SyncNetworkResourceLoader.cpp:
&gt; +        (WebKit::SyncNetworkResourceLoader::start):

It should be removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>933500</commentid>
    <comment_count>16</comment_count>
      <attachid>212710</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-09-26 07:59:44 -0700</bug_when>
    <thetext>Created attachment 212710
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>933501</commentid>
    <comment_count>17</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-09-26 08:01:00 -0700</bug_when>
    <thetext>Could you review this patch please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>933542</commentid>
    <comment_count>18</comment_count>
      <attachid>212710</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-09-26 09:28:56 -0700</bug_when>
    <thetext>Comment on attachment 212710
Patch

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

&gt; Source/WebKit2/NetworkProcess/RemoteNetworkingContext.h:34
&gt; +class RemoteNetworkingContext : public WebCore::NetworkingContext {

As long as you are touching this, should mark this class FINAL.

&gt; Source/WebKit2/NetworkProcess/RemoteNetworkingContext.h:54
&gt; +    RemoteNetworkingContext(bool privateBrowsingEnabled, bool shouldClearReferrerOnHTTPSToHTTPRedirect)
&gt; +        : m_privateBrowsingEnabled(privateBrowsingEnabled)
&gt; +        , m_shouldClearReferrerOnHTTPSToHTTPRedirect(shouldClearReferrerOnHTTPSToHTTPRedirect)
&gt; +    { }

This will leave m_needsSiteSpecificQuirks and m_localFileContentSniffingEnabled uninitialized on PLATFORM(MAC), which is not what we want.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>933884</commentid>
    <comment_count>19</comment_count>
      <attachid>212794</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-09-27 03:56:00 -0700</bug_when>
    <thetext>Created attachment 212794
Patch

Thanks for the review, I added the FINAL and fixed the initialization.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>933889</commentid>
    <comment_count>20</comment_count>
      <attachid>212794</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-09-27 04:22:05 -0700</bug_when>
    <thetext>Comment on attachment 212794
Patch

Attachment 212794 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/2659113</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>933891</commentid>
    <comment_count>21</comment_count>
      <attachid>212796</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-09-27 04:31:40 -0700</bug_when>
    <thetext>Created attachment 212796
Patch

typo fixed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937086</commentid>
    <comment_count>22</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-07 09:12:14 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; Created an attachment (id=212794) [details]
&gt; Patch
&gt; 
&gt; Thanks for the review, I added the FINAL and fixed the initialization.

Darin, could you review the updated patch please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938307</commentid>
    <comment_count>23</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-10 06:06:21 -0700</bug_when>
    <thetext>Could you review the fixed patch, please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938547</commentid>
    <comment_count>24</comment_count>
      <attachid>212796</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-10 14:33:14 -0700</bug_when>
    <thetext>Comment on attachment 212796
Patch

Clearing flags on attachment: 212796

Committed r157251: &lt;http://trac.webkit.org/changeset/157251&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938548</commentid>
    <comment_count>25</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-10 14:33:20 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188871</attachid>
            <date>2013-02-18 06:21:27 -0800</date>
            <delta_ts>2013-06-30 19:46:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-WK2-Port-RemoteNetworkingContext-for-Soup.patch</filename>
            <type>text/plain</type>
            <size>16804</size>
            <attacher name="Balazs Kelemen">kbalazs</attacher>
            
              <data encoding="base64">RnJvbSA3MGQ3M2UzMDllYzRkNDY1NWU0ZTRhODUyMTFjZWYwZTA4MTczMTNjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBCYWxhenMgS2VsZW1lbiA8a2JhbGF6c0B3ZWJraXQub3JnPgpE
YXRlOiBNb24sIDE4IEZlYiAyMDEzIDE1OjE1OjE4ICswMTAwClN1YmplY3Q6IFtQQVRDSF0gW1dL
Ml0gUG9ydCBSZW1vdGVOZXR3b3JraW5nQ29udGV4dCBmb3IgU291cAogaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDA5NwoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCgpUaGlzIHNob3VsZCBiZSBhIGNyb3NzLXBsYXRmb3JtIGludGVyZmFjZSBzbyBJIGxpZnRl
ZCB0aGUgaGVhZGVyIGZyb20gdGhlIG1hYyBkaXJlY3RvcnkuClJlbW92ZWQgbWFjIHNwZWNpZmlj
IGFyZ3VtZW50cyBmcm9tIGNvbnN0cnVjdG9yLCBhZGRlZCBzZXR0ZXJzIGluc3RlYWQuIE1vdmVk
IHBsYXRmb3JtCnRoaW5ncyBiZWhpbmQgaWZkZWZzIGFuZCBhZGRlZCBTb3VwIHNwZWNpZmljIGJp
dHMuCgoqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHA6CihXZWJLaXQ6
Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6c3RhcnQpOgoqIE5ldHdvcmtQcm9jZXNzL1JlbW90ZU5l
dHdvcmtpbmdDb250ZXh0Lmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9tYWMvUmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaC4KKFdlYktpdCk6CihSZW1vdGVOZXR3
b3JraW5nQ29udGV4dCk6CihXZWJLaXQ6OlJlbW90ZU5ldHdvcmtpbmdDb250ZXh0OjpjcmVhdGUp
OgooV2ViS2l0OjpSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6UmVtb3RlTmV0d29ya2luZ0NvbnRl
eHQpOgooV2ViS2l0OjpSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6c2V0TmVlZHNTaXRlU3BlY2lm
aWNRdWlya3MpOgooV2ViS2l0OjpSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6c2V0TG9jYWxGaWxl
Q29udGVudFNuaWZmaW5nRW5hYmxlZCk6CiogTmV0d29ya1Byb2Nlc3MvU3luY05ldHdvcmtSZXNv
dXJjZUxvYWRlci5jcHA6CihXZWJLaXQ6OlN5bmNOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnN0YXJ0
KToKKiBOZXR3b3JrUHJvY2Vzcy9tYWMvUmVtb3RlTmV0d29ya2luZ0NvbnRleHQubW06CiogTmV0
d29ya1Byb2Nlc3Mvc291cC9SZW1vdGVOZXR3b3JraW5nQ29udGV4dFNvdXAuY3BwOiBBZGRlZC4K
KFdlYktpdCk6CihXZWJLaXQ6OlJlbW90ZU5ldHdvcmtpbmdDb250ZXh0Ojp+UmVtb3RlTmV0d29y
a2luZ0NvbnRleHQpOgooV2ViS2l0OjpSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6aXNWYWxpZCk6
CihXZWJLaXQ6OlJlbW90ZU5ldHdvcmtpbmdDb250ZXh0Ojppbml0aWF0aW5nUGFnZUlEKToKKFdl
YktpdDo6UmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OnNldFByaXZhdGVCcm93c2luZ1N0b3JhZ2VT
ZXNzaW9uSWRlbnRpZmllckJhc2UpOgooV2ViS2l0OjpSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6
ZW5zdXJlUHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbik6CihXZWJLaXQ6OlJlbW90ZU5ldHdvcmtpbmdD
b250ZXh0OjpkZXN0cm95UHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbik6CihXZWJLaXQ6OlJlbW90ZU5l
dHdvcmtpbmdDb250ZXh0OjpzdG9yYWdlU2Vzc2lvbik6CihXZWJLaXQ6OlJlbW90ZU5ldHdvcmtp
bmdDb250ZXh0Ojpwcml2YXRlQnJvd3NpbmdTZXNzaW9uKToKUmVtb3RlTmV0d29ya2luZ0NvbnRl
eHQgZm9yIHNvdXAsIHdpdGhvdXQgcHJpdmF0ZSBicm93c2luZyBzdXBwb3J0IHlldC4KKiBXZWJL
aXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Ci0tLQogU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDM2ICsrKysrKysrKwogLi4uL05ldHdv
cmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgICAgICAgfCAgICA2ICstCiAuLi4v
e21hYyA9PiB9L1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0LmggICAgICAgICAgICB8ICAgMjUgKysr
Ky0tCiAuLi4vTmV0d29ya1Byb2Nlc3MvU3luY05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgICB8
ICAgIDYgKy0KIC4uLi9OZXR3b3JrUHJvY2Vzcy9tYWMvUmVtb3RlTmV0d29ya2luZ0NvbnRleHQu
bW0gIHwgICAxMyAtLS0tCiAuLi4vc291cC9SZW1vdGVOZXR3b3JraW5nQ29udGV4dFNvdXAuY3Bw
ICAgICAgICAgICB8ICAgODEgKysrKysrKysrKysrKysrKysrKysKIFNvdXJjZS9XZWJLaXQyL1dl
YktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiAgIHwgICAgNCArLQogNyBmaWxlcyBjaGFu
Z2VkLCAxNDUgaW5zZXJ0aW9ucygrKSwgMjYgZGVsZXRpb25zKC0pCiByZW5hbWUgU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3Mve21hYyA9PiB9L1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0Lmgg
KDczJSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9z
b3VwL1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0U291cC5jcHAKCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYjZkOGMy
OC4uMTc1N2ZmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQxIEBACiAyMDEzLTAyLTE4ICBCYWxh
enMgS2VsZW1lbiAgPGtiYWxhenNAd2Via2l0Lm9yZz4KIAorICAgICAgICBbV0syXSBQb3J0IFJl
bW90ZU5ldHdvcmtpbmdDb250ZXh0IGZvciBTb3VwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTAwOTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHNob3VsZCBiZSBhIGNyb3NzLXBsYXRmb3JtIGlu
dGVyZmFjZSBzbyBJIGxpZnRlZCB0aGUgaGVhZGVyIGZyb20gdGhlIG1hYyBkaXJlY3RvcnkuCisg
ICAgICAgIFJlbW92ZWQgbWFjIHNwZWNpZmljIGFyZ3VtZW50cyBmcm9tIGNvbnN0cnVjdG9yLCBh
ZGRlZCBzZXR0ZXJzIGluc3RlYWQuIE1vdmVkIHBsYXRmb3JtCisgICAgICAgIHRoaW5ncyBiZWhp
bmQgaWZkZWZzIGFuZCBhZGRlZCBTb3VwIHNwZWNpZmljIGJpdHMuCisKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnN0YXJ0KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9S
ZW1vdGVOZXR3b3JraW5nQ29udGV4dC5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvbWFjL1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0LmguCisgICAgICAgIChXZWJL
aXQpOgorICAgICAgICAoUmVtb3RlTmV0d29ya2luZ0NvbnRleHQpOgorICAgICAgICAoV2ViS2l0
OjpSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6UmVt
b3RlTmV0d29ya2luZ0NvbnRleHQ6OlJlbW90ZU5ldHdvcmtpbmdDb250ZXh0KToKKyAgICAgICAg
KFdlYktpdDo6UmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OnNldE5lZWRzU2l0ZVNwZWNpZmljUXVp
cmtzKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OnNldExvY2Fs
RmlsZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWQpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1N5
bmNOZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpTeW5jTmV0d29y
a1Jlc291cmNlTG9hZGVyOjpzdGFydCk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvbWFjL1Jl
bW90ZU5ldHdvcmtpbmdDb250ZXh0Lm1tOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3NvdXAv
UmVtb3RlTmV0d29ya2luZ0NvbnRleHRTb3VwLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQp
OgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6flJlbW90ZU5ldHdv
cmtpbmdDb250ZXh0KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6
OmlzVmFsaWQpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6aW5p
dGlhdGluZ1BhZ2VJRCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU5ldHdvcmtpbmdDb250ZXh0
OjpzZXRQcml2YXRlQnJvd3NpbmdTdG9yYWdlU2Vzc2lvbklkZW50aWZpZXJCYXNlKToKKyAgICAg
ICAgKFdlYktpdDo6UmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OmVuc3VyZVByaXZhdGVCcm93c2lu
Z1Nlc3Npb24pOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6ZGVz
dHJveVByaXZhdGVCcm93c2luZ1Nlc3Npb24pOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVOZXR3
b3JraW5nQ29udGV4dDo6c3RvcmFnZVNlc3Npb24pOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVO
ZXR3b3JraW5nQ29udGV4dDo6cHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbik6CisgICAgICAgIFJlbW90
ZU5ldHdvcmtpbmdDb250ZXh0IGZvciBzb3VwLCB3aXRob3V0IHByaXZhdGUgYnJvd3Npbmcgc3Vw
cG9ydCB5ZXQuCisgICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgor
CisyMDEzLTAyLTE4ICBCYWxhenMgS2VsZW1lbiAgPGtiYWxhenNAd2Via2l0Lm9yZz4KKwogICAg
ICAgICBbV0syXSBBZGQgVU5JWF9ET01BSU5fU09DS0VUUyBzcGVjaWZpYyBiaXRzIGZvciBzdXBw
b3J0aW5nIE5ldHdvcmtQcm9jZXNzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMTAwOTMKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggN2Y0YmJkZC4uOGEyYWVl
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291
cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UmVzb3VyY2VMb2FkZXIuY3BwCkBAIC03Niw5ICs3Niw5IEBAIHZvaWQgTmV0d29ya1Jlc291cmNl
TG9hZGVyOjpzdGFydCgpCiAKICAgICAvLyBFeHBsaWNpdCByZWYoKSBiYWxhbmNlZCBieSBhIGRl
cmVmKCkgaW4gTmV0d29ya1Jlc291cmNlTG9hZGVyOjpyZXNvdXJjZUhhbmRsZVN0b3BwZWQoKQog
ICAgIHJlZigpOwotICAgIAotICAgIC8vIEZJWE1FIChOZXR3b3JrUHJvY2Vzcyk6IENyZWF0ZSBS
ZW1vdGVOZXR3b3JraW5nQ29udGV4dCB3aXRoIGFjdHVhbCBzZXR0aW5ncy4KLSAgICBtX25ldHdv
cmtpbmdDb250ZXh0ID0gUmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OmNyZWF0ZShmYWxzZSwgZmFs
c2UsIGluUHJpdmF0ZUJyb3dzaW5nTW9kZSgpLCBzaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1Rv
SFRUUFJlZGlyZWN0KCkpOworCisgICAgLy8gRklYTUUgKE5ldHdvcmtQcm9jZXNzKTogU2V0IHBs
YXRmb3JtIHNwZWNpZmljIHNldHRpbmdzLgorICAgIG1fbmV0d29ya2luZ0NvbnRleHQgPSBSZW1v
dGVOZXR3b3JraW5nQ29udGV4dDo6Y3JlYXRlKGluUHJpdmF0ZUJyb3dzaW5nTW9kZSgpLCBzaG91
bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0KCkpOwogCiAgICAgY29uc3VtZVNh
bmRib3hFeHRlbnNpb25zKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL21hYy9SZW1vdGVOZXR3b3JraW5nQ29udGV4dC5oIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvUmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaApzaW1pbGFyaXR5IGluZGV4IDcz
JQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvUmVtb3RlTmV0
d29ya2luZ0NvbnRleHQuaApyZW5hbWUgdG8gU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
UmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaAppbmRleCAyOTYwZDA0Li4wMTA5MjY1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvUmVtb3RlTmV0d29ya2luZ0Nv
bnRleHQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9SZW1vdGVOZXR3b3Jr
aW5nQ29udGV4dC5oCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMiBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgVW5p
dmVyc2l0eSBvZiBTemVnZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKQEAgLTMyLDkgKzMzLDkgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNs
YXNzIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0IDogcHVibGljIFdlYkNvcmU6Ok5ldHdvcmtpbmdD
b250ZXh0IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxSZW1vdGVOZXR3b3JraW5n
Q29udGV4dD4gY3JlYXRlKGJvb2wgbmVlZHNTaXRlU3BlY2lmaWNRdWlya3MsIGJvb2wgbG9jYWxG
aWxlQ29udGVudFNuaWZmaW5nRW5hYmxlZCwgYm9vbCBwcml2YXRlQnJvd3NpbmdFbmFibGVkLCBi
b29sIHNob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3QpCisgICAgc3RhdGlj
IFBhc3NSZWZQdHI8UmVtb3RlTmV0d29ya2luZ0NvbnRleHQ+IGNyZWF0ZShib29sIHByaXZhdGVC
cm93c2luZ0VuYWJsZWQsIGJvb2wgc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRp
cmVjdCkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgUmVtb3RlTmV0d29ya2lu
Z0NvbnRleHQobmVlZHNTaXRlU3BlY2lmaWNRdWlya3MsIGxvY2FsRmlsZUNvbnRlbnRTbmlmZmlu
Z0VuYWJsZWQsIHByaXZhdGVCcm93c2luZ0VuYWJsZWQsIHNob3VsZENsZWFyUmVmZXJyZXJPbkhU
VFBTVG9IVFRQUmVkaXJlY3QpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBSZW1vdGVO
ZXR3b3JraW5nQ29udGV4dChwcml2YXRlQnJvd3NpbmdFbmFibGVkLCBzaG91bGRDbGVhclJlZmVy
cmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0KSk7CiAgICAgfQogICAgIHZpcnR1YWwgflJlbW90ZU5l
dHdvcmtpbmdDb250ZXh0KCk7CiAKQEAgLTQ0LDIxICs0NSwzNSBAQCBwdWJsaWM6CiAKICAgICBz
dGF0aWMgV2ViQ29yZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uJiBwcml2YXRlQnJvd3NpbmdTZXNz
aW9uKCk7IC8vIENhbiBvbmx5IGJlIGNhbGxlZCB3aGVuIHRoZSBzZXNzaW9uIGV4aXN0cy4KIAot
ICAgIHZpcnR1YWwgYm9vbCBzaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0
KCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBib29sIHNob3VsZENsZWFyUmVmZXJyZXJP
bkhUVFBTVG9IVFRQUmVkaXJlY3QoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBtX3Nob3VsZENs
ZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3Q7IH0KIAogcHJpdmF0ZToKLSAgICBSZW1v
dGVOZXR3b3JraW5nQ29udGV4dChib29sIG5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzLCBib29sIGxv
Y2FsRmlsZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWQsIGJvb2wgcHJpdmF0ZUJyb3dzaW5nRW5hYmxl
ZCwgYm9vbCBtX3Nob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3QpOworICAg
IFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0KGJvb2wgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCwgYm9v
bCBzaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0KQorICAgICAgICA6IG1f
cHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChwcml2YXRlQnJvd3NpbmdFbmFibGVkKQorICAgICAgICAs
IG1fc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdChzaG91bGRDbGVhclJl
ZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0KQorICAgIHsgfQogCiAgICAgdmlydHVhbCBib29s
IGlzVmFsaWQoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6Ok5ldHdvcmtT
dG9yYWdlU2Vzc2lvbiYgc3RvcmFnZVNlc3Npb24oKSBjb25zdCBPVkVSUklERTsKIAorI2lmIFBM
QVRGT1JNKE1BQykKKyAgICB2b2lkIHNldE5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzKGJvb2wgdmFs
dWUpIHsgbV9uZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyA9IHZhbHVlOyB9CiAgICAgdmlydHVhbCBi
b29sIG5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdm9pZCBz
ZXRMb2NhbEZpbGVDb250ZW50U25pZmZpbmdFbmFibGVkKGJvb2wgdmFsdWUpIHsgbV9sb2NhbEZp
bGVDb250ZW50U25pZmZpbmdFbmFibGVkID0gdmFsdWU7IH0KICAgICB2aXJ0dWFsIGJvb2wgbG9j
YWxGaWxlQ29udGVudFNuaWZmaW5nRW5hYmxlZCgpIGNvbnN0IE9WRVJSSURFOwotICAgIHZpcnR1
YWwgV2ViQ29yZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uJiBzdG9yYWdlU2Vzc2lvbigpIGNvbnN0
IE9WRVJSSURFOwogICAgIHZpcnR1YWwgTlNPcGVyYXRpb25RdWV1ZSAqc2NoZWR1bGVkT3BlcmF0
aW9uUXVldWUoKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIFdlYkNvcmU6OlJlc291cmNl
RXJyb3IgYmxvY2tlZEVycm9yKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpIGNvbnN0
IE9WRVJSSURFOworI2VuZGlmCiAKKyNpZiBVU0UoU09VUCkKKyAgICB2aXJ0dWFsIHVpbnQ2NF90
IGluaXRpYXRpbmdQYWdlSUQoKSBjb25zdDsKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKQog
ICAgIGJvb2wgbV9uZWVkc1NpdGVTcGVjaWZpY1F1aXJrczsKICAgICBib29sIG1fbG9jYWxGaWxl
Q29udGVudFNuaWZmaW5nRW5hYmxlZDsKKyNlbmRpZgorCiAgICAgYm9vbCBtX3ByaXZhdGVCcm93
c2luZ0VuYWJsZWQ7CiAgICAgYm9vbCBtX3Nob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQ
UmVkaXJlY3Q7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
U3luY05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9TeW5jTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCAxZjgyZDE0Li4wODM4NzJj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9TeW5jTmV0d29ya1Jl
c291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9TeW5j
TmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApAQCAtNTcsOSArNTcsOSBAQCB2b2lkIFN5bmNOZXR3
b3JrUmVzb3VyY2VMb2FkZXI6OnN0YXJ0KCkKICAgICBSZXNvdXJjZUVycm9yIGVycm9yOwogICAg
IFJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2U7CiAgICAgVmVjdG9yPGNoYXI+IGRhdGE7Ci0gICAg
Ci0gICAgLy8gRklYTUUgKE5ldHdvcmtQcm9jZXNzKTogQ3JlYXRlIFJlbW90ZU5ldHdvcmtpbmdD
b250ZXh0IHdpdGggYWN0dWFsIHNldHRpbmdzLgotICAgIFJlZlB0cjxSZW1vdGVOZXR3b3JraW5n
Q29udGV4dD4gbmV0d29ya2luZ0NvbnRleHQgPSBSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6Y3Jl
YXRlKGZhbHNlLCBmYWxzZSwgaW5Qcml2YXRlQnJvd3NpbmdNb2RlKCksIHNob3VsZENsZWFyUmVm
ZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3QoKSk7CisKKyAgICAvLyBGSVhNRSAoTmV0d29ya1By
b2Nlc3MpOiBTZXQgcGxhdGZvcm0gc3BlY2lmaWMgc2V0dGluZ3MuCisgICAgUmVmUHRyPFJlbW90
ZU5ldHdvcmtpbmdDb250ZXh0PiBuZXR3b3JraW5nQ29udGV4dCA9IFJlbW90ZU5ldHdvcmtpbmdD
b250ZXh0OjpjcmVhdGUoaW5Qcml2YXRlQnJvd3NpbmdNb2RlKCksIHNob3VsZENsZWFyUmVmZXJy
ZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3QoKSk7CiAKICAgICBjb25zdW1lU2FuZGJveEV4dGVuc2lv
bnMoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL1Jl
bW90ZU5ldHdvcmtpbmdDb250ZXh0Lm1tIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
bWFjL1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0Lm1tCmluZGV4IDc4MTk1MzMuLjBlZTU2OGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9SZW1vdGVOZXR3b3Jr
aW5nQ29udGV4dC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvUmVt
b3RlTmV0d29ya2luZ0NvbnRleHQubW0KQEAgLTQyLDE5ICs0Miw2IEBAIHN0YXRpYyBPd25QdHI8
TmV0d29ya1N0b3JhZ2VTZXNzaW9uPiYgcHJpdmF0ZUJyb3dzaW5nU3RvcmFnZVNlc3Npb24oKQog
ICAgIHJldHVybiBzZXNzaW9uOwogfQogCi1ib29sIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0Ojpz
aG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0KCkgY29uc3QKLXsKLSAgICBy
ZXR1cm4gbV9zaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0OwotfQotCi1S
ZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6UmVtb3RlTmV0d29ya2luZ0NvbnRleHQoYm9vbCBuZWVk
c1NpdGVTcGVjaWZpY1F1aXJrcywgYm9vbCBsb2NhbEZpbGVDb250ZW50U25pZmZpbmdFbmFibGVk
LCBib29sIHByaXZhdGVCcm93c2luZ0VuYWJsZWQsIGJvb2wgc2hvdWxkQ2xlYXJSZWZlcnJlck9u
SFRUUFNUb0hUVFBSZWRpcmVjdCkKLSAgICA6IG1fbmVlZHNTaXRlU3BlY2lmaWNRdWlya3MobmVl
ZHNTaXRlU3BlY2lmaWNRdWlya3MpCi0gICAgLCBtX2xvY2FsRmlsZUNvbnRlbnRTbmlmZmluZ0Vu
YWJsZWQobG9jYWxGaWxlQ29udGVudFNuaWZmaW5nRW5hYmxlZCkKLSAgICAsIG1fcHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZChwcml2YXRlQnJvd3NpbmdFbmFibGVkKQotICAgICwgbV9zaG91bGRDbGVh
clJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0KHNob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBT
VG9IVFRQUmVkaXJlY3QpCi17Ci19Ci0KIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0Ojp+UmVtb3Rl
TmV0d29ya2luZ0NvbnRleHQoKQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3Mvc291cC9SZW1vdGVOZXR3b3JraW5nQ29udGV4dFNvdXAuY3BwIGIvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvc291cC9SZW1vdGVOZXR3b3JraW5nQ29udGV4dFNvdXAu
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3MjRlOTIKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL1JlbW90ZU5ldHdv
cmtpbmdDb250ZXh0U291cC5jcHAKQEAgLTAsMCArMSw4MSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTMgVW5pdmVyc2l0eSBvZiBTemVnZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQorI2lu
Y2x1ZGUgIlJlbW90ZU5ldHdvcmtpbmdDb250ZXh0LmgiCisKKyNpbmNsdWRlIDxXZWJDb3JlL05l
dHdvcmtTdG9yYWdlU2Vzc2lvbi5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQu
aD4KKyNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlSGFuZGxlLmg+CisKK3VzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKworUmVtb3RlTmV0d29ya2luZ0NvbnRl
eHQ6On5SZW1vdGVOZXR3b3JraW5nQ29udGV4dCgpCit7Cit9CisKK2Jvb2wgUmVtb3RlTmV0d29y
a2luZ0NvbnRleHQ6OmlzVmFsaWQoKSBjb25zdAoreworICAgIHJldHVybiB0cnVlOworfQorCit1
aW50NjRfdCBSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6aW5pdGlhdGluZ1BhZ2VJRCgpIGNvbnN0
Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gMDsKK30KKwordm9pZCBSZW1v
dGVOZXR3b3JraW5nQ29udGV4dDo6c2V0UHJpdmF0ZUJyb3dzaW5nU3RvcmFnZVNlc3Npb25JZGVu
dGlmaWVyQmFzZShjb25zdCBTdHJpbmcmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisK
K3ZvaWQgUmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OmVuc3VyZVByaXZhdGVCcm93c2luZ1Nlc3Np
b24oKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgUmVtb3RlTmV0d29ya2lu
Z0NvbnRleHQ6OmRlc3Ryb3lQcml2YXRlQnJvd3NpbmdTZXNzaW9uKCkKK3sKK30KKworTmV0d29y
a1N0b3JhZ2VTZXNzaW9uJiBSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6c3RvcmFnZVNlc3Npb24o
KSBjb25zdAoreworICAgIHJldHVybiBOZXR3b3JrU3RvcmFnZVNlc3Npb246OmRlZmF1bHRTdG9y
YWdlU2Vzc2lvbigpOworfQorCitOZXR3b3JrU3RvcmFnZVNlc3Npb24mIFJlbW90ZU5ldHdvcmtp
bmdDb250ZXh0Ojpwcml2YXRlQnJvd3NpbmdTZXNzaW9uKCkKK3sKKyAgICBub3RJbXBsZW1lbnRl
ZCgpOworICAgIHJldHVybiBOZXR3b3JrU3RvcmFnZVNlc3Npb246OmRlZmF1bHRTdG9yYWdlU2Vz
c2lvbigpOworfQorCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IGEwOWM3ODAuLjk5N2VkZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI1NTMsNyArMjU1Myw3IEBACiAJCUUxQTMxNzM0MTM0
Q0VBODAwMDdDOUE0RiAvKiBBdHRyaWJ1dGVkU3RyaW5nLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gQXR0cmlidXRlZFN0cmluZy5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRTFBRUEyMkQxNDY4N0JEQjAwODA0NTY5IC8qIFdLRnVsbEtleWJvYXJk
QWNjZXNzV2F0Y2hlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0Z1bGxL
ZXlib2FyZEFjY2Vzc1dhdGNoZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTFB
RUEyMkUxNDY4N0JEQjAwODA0NTY5IC8qIFdLRnVsbEtleWJvYXJkQWNjZXNzV2F0Y2hlci5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLRnVsbEtleWJvYXJkQWNj
ZXNzV2F0Y2hlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTFCNzg0NzAxNjNG
MjQ2OTAwMDdCNjkyIC8qIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUUxQjc4NDcwMTYzRjI0NjkwMDA3QjY5MiAvKiBSZW1vdGVOZXR3
b3JraW5nQ29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBSZW1vdGVO
ZXR3b3JraW5nQ29udGV4dC5oOyBwYXRoID0gTmV0d29ya1Byb2Nlc3MvUmVtb3RlTmV0d29ya2lu
Z0NvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTFCNzg0NzIxNjNGMjUz
RTAwMDdCNjkyIC8qIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0Lm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gUmVtb3RlTmV0d29ya2luZ0NvbnRleHQubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxQ0MxQjhFMTJEN0VBREYwMDYyNTgzOCAvKiBQcmlu
dEluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJpbnRJbmZvLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxQ0MxQjhGMTJEN0VBREYwMDYyNTgzOCAvKiBQ
cmludEluZm9NYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQ
cmludEluZm9NYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zNDY5LDYgKzM0
NjksNyBAQAogCQkJCTUxRkQxOEI0MTY1MUZCQUQwMERCRTFDRSAvKiBOZXR3b3JrUmVzb3VyY2VM
b2FkZXIuaCAqLywKIAkJCQk1MTgyOURBMzE2MzdDNzBDMDAwOTUzRDYgLyogTmV0d29ya1Jlc291
cmNlTG9hZFNjaGVkdWxlci5jcHAgKi8sCiAJCQkJNTE4MjlEQTQxNjM3QzcwQzAwMDk1M0Q2IC8q
IE5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXIuaCAqLywKKwkJCQlFMUI3ODQ3MDE2M0YyNDY5
MDAwN0I2OTIgLyogUmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaCAqLywKIAkJCQk1MTlCNEZGMjE2
QTlFQTk3MDA2Njg3NEQgLyogU2NoZWR1bGFibGVMb2FkZXIuY3BwICovLAogCQkJCTUxOUI0RkYz
MTZBOUVBOTcwMDY2ODc0RCAvKiBTY2hlZHVsYWJsZUxvYWRlci5oICovLAogCQkJCTUxODE1QjlE
MTZBNjIyMjEwMDU0NTAxRiAvKiBTeW5jTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcCAqLywKQEAg
LTM0ODMsNyArMzQ4NCw2IEBACiAJCQkJRTE3QUUyQzExNkI5QzEzOTAwMUM0MkYxIC8qIGNvbS5h
cHBsZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Muc2IuaW4gKi8sCiAJCQkJNTFBOEE2MTUxNjI3RjNG
OTAwMEQ5MEU5IC8qIE5ldHdvcmtQcm9jZXNzTWFjLm1tICovLAogCQkJCTUxMkMwNjhGMTYzOTBF
NjkwMEFCQjkxMSAvKiBOZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyTWFjLm1tICovLAotCQkJ
CUUxQjc4NDcwMTYzRjI0NjkwMDA3QjY5MiAvKiBSZW1vdGVOZXR3b3JraW5nQ29udGV4dC5oICov
LAogCQkJCUUxQjc4NDcyMTYzRjI1M0UwMDA3QjY5MiAvKiBSZW1vdGVOZXR3b3JraW5nQ29udGV4
dC5tbSAqLywKIAkJCSk7CiAJCQluYW1lID0gbWFjOwotLSAKMS43LjEwLjQKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205782</attachid>
            <date>2013-06-30 19:46:22 -0700</date>
            <delta_ts>2013-07-01 03:45:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110097-20130701114401.patch</filename>
            <type>text/plain</type>
            <size>18845</size>
            <attacher name="Kwang Yul Seo">skyul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyMTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNWI2YTY3OTQwNzRjMzZh
NmNiMzk0NjNiNWNjYjA1N2Q3MTk0YmVhZS4uNzI5NjcwZWVjODg0MWEzYTFjZWNmYjRjOTVjNjlj
ZmM0MjI3Y2U5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEzLTA2LTMwICBLd2Fu
ZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgW1dLMl0gUG9ydCBS
ZW1vdGVOZXR3b3JraW5nQ29udGV4dCBmb3IgU291cAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwMDk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgT3JpZ2luYWwgcGF0Y2ggYnkgQmFsYXpzIEtlbGVtZW4g
PGtiYWxhenNAd2Via2l0Lm9yZz4uCisKKyAgICAgICAgVGhpcyBzaG91bGQgYmUgYSBjcm9zcy1w
bGF0Zm9ybSBpbnRlcmZhY2Ugc28gSSBsaWZ0ZWQgdGhlIGhlYWRlciBmcm9tCisgICAgICAgIHRo
ZSBtYWMgZGlyZWN0b3J5LiBSZW1vdmVkIG1hYyBzcGVjaWZpYyBhcmd1bWVudHMgZnJvbSBjb25z
dHJ1Y3RvciwKKyAgICAgICAgYWRkZWQgc2V0dGVycyBpbnN0ZWFkLiBNb3ZlZCBwbGF0Zm9ybSB0
aGluZ3MgYmVoaW5kIGlmZGVmcyBhbmQgYWRkZWQKKyAgICAgICAgU291cCBzcGVjaWZpYyBiaXRz
LgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpzdGFydCk6CisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvUmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaDogUmVuYW1lZCBmcm9t
IFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9SZW1vdGVOZXR3b3JraW5nQ29udGV4
dC5oLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYktpdDo6UmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OlJlbW90ZU5ldHdvcmtp
bmdDb250ZXh0KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OnNl
dE5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTmV0d29y
a2luZ0NvbnRleHQ6OnNldExvY2FsRmlsZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWQpOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL1N5bmNOZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpTeW5jTmV0d29ya1Jlc291cmNlTG9hZGVyOjpzdGFydCk6CisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvbWFjL1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0Lm1tOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL3NvdXAvUmVtb3RlTmV0d29ya2luZ0NvbnRleHRTb3VwLmNwcDogQWRk
ZWQuCisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU5ldHdvcmtpbmdDb250ZXh0Ojp+UmVtb3RlTmV0
d29ya2luZ0NvbnRleHQpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVOZXR3b3JraW5nQ29udGV4
dDo6aXNWYWxpZCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU5ldHdvcmtpbmdDb250ZXh0Ojpp
bml0aWF0aW5nUGFnZUlEKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTmV0d29ya2luZ0NvbnRl
eHQ6OnNldFByaXZhdGVCcm93c2luZ1N0b3JhZ2VTZXNzaW9uSWRlbnRpZmllckJhc2UpOgorICAg
ICAgICAoV2ViS2l0OjpSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6ZW5zdXJlUHJpdmF0ZUJyb3dz
aW5nU2Vzc2lvbik6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU5ldHdvcmtpbmdDb250ZXh0Ojpk
ZXN0cm95UHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbik6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU5l
dHdvcmtpbmdDb250ZXh0OjpzdG9yYWdlU2Vzc2lvbik6CisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZU5ldHdvcmtpbmdDb250ZXh0Ojpwcml2YXRlQnJvd3NpbmdTZXNzaW9uKToKKyAgICAgICAgKiBX
ZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTMtMDYtMjggIEFuZHJlcyBH
b21leiAgPGFnb21lekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIE1pbmlCcm93c2VyIGRv
ZXNuJ3Qgc29sdmUgdGhlIHNhdmluZyBsb2NhdGlvbiB3aGVuIHRoZXJlIGFyZSBubyBYREcgc2V0
dGluZ3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtS
ZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDRjMzdlNDc3MGFkN2Q3YjMwMjg4M2ZkZDI2MjZlYTVm
ODY1NWRmOTMuLmFjMzAwOGI2OTExZDY4NDAxMjJiMmM2NGI0ZDEyMmY2NzkxZDBhYTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRl
ci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNl
TG9hZGVyLmNwcApAQCAtNzEsOSArNzEsOSBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6
c3RhcnQoKQogCiAgICAgLy8gRXhwbGljaXQgcmVmKCkgYmFsYW5jZWQgYnkgYSBkZXJlZigpIGlu
IE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6cmVzb3VyY2VIYW5kbGVTdG9wcGVkKCkKICAgICByZWYo
KTsKLSAgICAKLSAgICAvLyBGSVhNRSAoTmV0d29ya1Byb2Nlc3MpOiBDcmVhdGUgUmVtb3RlTmV0
d29ya2luZ0NvbnRleHQgd2l0aCBhY3R1YWwgc2V0dGluZ3MuCi0gICAgbV9uZXR3b3JraW5nQ29u
dGV4dCA9IFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0OjpjcmVhdGUoZmFsc2UsIGZhbHNlLCBpblBy
aXZhdGVCcm93c2luZ01vZGUoKSwgc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRp
cmVjdCgpKTsKKworICAgIC8vIEZJWE1FIChOZXR3b3JrUHJvY2Vzcyk6IFNldCBwbGF0Zm9ybSBz
cGVjaWZpYyBzZXR0aW5ncy4KKyAgICBtX25ldHdvcmtpbmdDb250ZXh0ID0gUmVtb3RlTmV0d29y
a2luZ0NvbnRleHQ6OmNyZWF0ZShpblByaXZhdGVCcm93c2luZ01vZGUoKSwgc2hvdWxkQ2xlYXJS
ZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCgpKTsKIAogICAgIGNvbnN1bWVTYW5kYm94RXh0
ZW5zaW9ucygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9S
ZW1vdGVOZXR3b3JraW5nQ29udGV4dC5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
UmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOGJiZGI0NWI3MDBjZTNkZWU4
MWY2MzZmY2RiOGEyNmNlYTQ0YzFmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvUmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaApAQCAtMCwwICsxLDg0IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBVbml2ZXJzaXR5IG9mIFN6ZWdlZC4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBSZW1vdGVOZXR3b3JraW5nQ29udGV4dF9o
CisjZGVmaW5lIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0X2gKKworI2luY2x1ZGUgPFdlYkNvcmUv
TmV0d29ya2luZ0NvbnRleHQuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFJlbW90
ZU5ldHdvcmtpbmdDb250ZXh0IDogcHVibGljIFdlYkNvcmU6Ok5ldHdvcmtpbmdDb250ZXh0IHsK
K3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxSZW1vdGVOZXR3b3JraW5nQ29udGV4dD4g
Y3JlYXRlKGJvb2wgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCwgYm9vbCBzaG91bGRDbGVhclJlZmVy
cmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBSZW1vdGVOZXR3b3JraW5nQ29udGV4dChwcml2YXRlQnJvd3NpbmdFbmFibGVkLCBzaG91
bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0KSk7CisgICAgfQorICAgIHZpcnR1
YWwgflJlbW90ZU5ldHdvcmtpbmdDb250ZXh0KCk7CisKKyAgICBzdGF0aWMgdm9pZCBzZXRQcml2
YXRlQnJvd3NpbmdTdG9yYWdlU2Vzc2lvbklkZW50aWZpZXJCYXNlKGNvbnN0IFN0cmluZyYpOwor
ICAgIHN0YXRpYyB2b2lkIGVuc3VyZVByaXZhdGVCcm93c2luZ1Nlc3Npb24oKTsKKyAgICBzdGF0
aWMgdm9pZCBkZXN0cm95UHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbigpOworCisgICAgc3RhdGljIFdl
YkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbiogcHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbigpOwor
CisgICAgdmlydHVhbCBib29sIHNob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJl
Y3QoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBtX3Nob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBT
VG9IVFRQUmVkaXJlY3Q7IH0KKworcHJpdmF0ZToKKyAgICBSZW1vdGVOZXR3b3JraW5nQ29udGV4
dChib29sIHByaXZhdGVCcm93c2luZ0VuYWJsZWQsIGJvb2wgc2hvdWxkQ2xlYXJSZWZlcnJlck9u
SFRUUFNUb0hUVFBSZWRpcmVjdCkKKyAgICAgICAgOiBtX3ByaXZhdGVCcm93c2luZ0VuYWJsZWQo
cHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCkKKyAgICAgICAgLCBtX3Nob3VsZENsZWFyUmVmZXJyZXJP
bkhUVFBTVG9IVFRQUmVkaXJlY3Qoc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRp
cmVjdCkKKyAgICB7IH0KKworICAgIHZpcnR1YWwgYm9vbCBpc1ZhbGlkKCkgY29uc3QgT1ZFUlJJ
REU7CisgICAgdmlydHVhbCBXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Npb24mIHN0b3JhZ2VT
ZXNzaW9uKCkgY29uc3QgT1ZFUlJJREU7CisKKyNpZiBQTEFURk9STShNQUMpCisgICAgdm9pZCBz
ZXROZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyhib29sIHZhbHVlKSB7IG1fbmVlZHNTaXRlU3BlY2lm
aWNRdWlya3MgPSB2YWx1ZTsgfQorICAgIHZpcnR1YWwgYm9vbCBuZWVkc1NpdGVTcGVjaWZpY1F1
aXJrcygpIGNvbnN0IE9WRVJSSURFOworICAgIHZvaWQgc2V0TG9jYWxGaWxlQ29udGVudFNuaWZm
aW5nRW5hYmxlZChib29sIHZhbHVlKSB7IG1fbG9jYWxGaWxlQ29udGVudFNuaWZmaW5nRW5hYmxl
ZCA9IHZhbHVlOyB9CisgICAgdmlydHVhbCBib29sIGxvY2FsRmlsZUNvbnRlbnRTbmlmZmluZ0Vu
YWJsZWQoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6Ok5ldHdvcmtTdG9y
YWdlU2Vzc2lvbiYgc3RvcmFnZVNlc3Npb24oKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFs
IFJldGFpblB0cjxDRkRhdGFSZWY+IHNvdXJjZUFwcGxpY2F0aW9uQXVkaXREYXRhKCkgY29uc3Qg
T1ZFUlJJREU7CisgICAgdmlydHVhbCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGJsb2NrZWRFcnJv
cihjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmKSBjb25zdCBPVkVSUklERTsKKyNlbmRp
ZgorCisjaWYgVVNFKFNPVVApCisgICAgdmlydHVhbCB1aW50NjRfdCBpbml0aWF0aW5nUGFnZUlE
KCkgY29uc3Q7CisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykKKyAgICBib29sIG1fbmVlZHNT
aXRlU3BlY2lmaWNRdWlya3M7CisgICAgYm9vbCBtX2xvY2FsRmlsZUNvbnRlbnRTbmlmZmluZ0Vu
YWJsZWQ7CisjZW5kaWYKKworICAgIGJvb2wgbV9wcml2YXRlQnJvd3NpbmdFbmFibGVkOworICAg
IGJvb2wgbV9zaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0OworfTsKKwor
fQorCisjZW5kaWYgLy8gUmVtb3RlTmV0d29ya2luZ0NvbnRleHRfaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvU3luY05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9TeW5jTmV0d29ya1Jlc291cmNlTG9hZGVy
LmNwcAppbmRleCAwMmIwNWVkN2Q1ZjhlYTM1ODM2NWM4OGI1MmE2M2YxNDE5ODRmNDVjLi40ZDRm
M2IzMTM5YjY4YjNkYWYwMzkyMmRkNmMwMjViYjNhODc1M2ZlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9TeW5jTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9TeW5jTmV0d29ya1Jlc291cmNlTG9hZGVy
LmNwcApAQCAtNTgsOSArNTgsOSBAQCB2b2lkIFN5bmNOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnN0
YXJ0KCkKICAgICBSZXNvdXJjZUVycm9yIGVycm9yOwogICAgIFJlc291cmNlUmVzcG9uc2UgcmVz
cG9uc2U7CiAgICAgVmVjdG9yPGNoYXI+IGRhdGE7Ci0gICAgCi0gICAgLy8gRklYTUUgKE5ldHdv
cmtQcm9jZXNzKTogQ3JlYXRlIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0IHdpdGggYWN0dWFsIHNl
dHRpbmdzLgotICAgIFJlZlB0cjxSZW1vdGVOZXR3b3JraW5nQ29udGV4dD4gbmV0d29ya2luZ0Nv
bnRleHQgPSBSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6Y3JlYXRlKGZhbHNlLCBmYWxzZSwgaW5Q
cml2YXRlQnJvd3NpbmdNb2RlKCksIHNob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVk
aXJlY3QoKSk7CisKKyAgICAvLyBGSVhNRSAoTmV0d29ya1Byb2Nlc3MpOiBTZXQgcGxhdGZvcm0g
c3BlY2lmaWMgc2V0dGluZ3MuCisgICAgUmVmUHRyPFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0PiBu
ZXR3b3JraW5nQ29udGV4dCA9IFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0OjpjcmVhdGUoaW5Qcml2
YXRlQnJvd3NpbmdNb2RlKCksIHNob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJl
Y3QoKSk7CiAKICAgICBjb25zdW1lU2FuZGJveEV4dGVuc2lvbnMoKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0
LmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvUmVtb3RlTmV0d29ya2luZ0Nv
bnRleHQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDA0MDIyNDZiNmM1MGU2ZjQ1
YjBjYTE1ZDMzZmM3ZDQ4YmY2NjgzMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvUmVtb3RlTmV0
d29ya2luZ0NvbnRleHQuaAorKysgL2Rldi9udWxsCkBAIC0xLDY4ICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgot
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
LSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotCi0jaWZuZGVmIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0X2gKLSNkZWZpbmUgUmVtb3RlTmV0
d29ya2luZ0NvbnRleHRfaAotCi0jaW5jbHVkZSA8V2ViQ29yZS9OZXR3b3JraW5nQ29udGV4dC5o
PgotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotY2xhc3MgUmVtb3RlTmV0d29ya2luZ0NvbnRleHQg
OiBwdWJsaWMgV2ViQ29yZTo6TmV0d29ya2luZ0NvbnRleHQgewotcHVibGljOgotICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0PiBjcmVhdGUoYm9vbCBuZWVkc1Np
dGVTcGVjaWZpY1F1aXJrcywgYm9vbCBsb2NhbEZpbGVDb250ZW50U25pZmZpbmdFbmFibGVkLCBi
b29sIHByaXZhdGVCcm93c2luZ0VuYWJsZWQsIGJvb2wgc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRU
UFNUb0hUVFBSZWRpcmVjdCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgUmVt
b3RlTmV0d29ya2luZ0NvbnRleHQobmVlZHNTaXRlU3BlY2lmaWNRdWlya3MsIGxvY2FsRmlsZUNv
bnRlbnRTbmlmZmluZ0VuYWJsZWQsIHByaXZhdGVCcm93c2luZ0VuYWJsZWQsIHNob3VsZENsZWFy
UmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3QpKTsKLSAgICB9Ci0gICAgdmlydHVhbCB+UmVt
b3RlTmV0d29ya2luZ0NvbnRleHQoKTsKLQotICAgIHN0YXRpYyB2b2lkIHNldFByaXZhdGVCcm93
c2luZ1N0b3JhZ2VTZXNzaW9uSWRlbnRpZmllckJhc2UoY29uc3QgU3RyaW5nJik7Ci0gICAgc3Rh
dGljIHZvaWQgZW5zdXJlUHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbigpOwotICAgIHN0YXRpYyB2b2lk
IGRlc3Ryb3lQcml2YXRlQnJvd3NpbmdTZXNzaW9uKCk7Ci0KLSAgICBzdGF0aWMgV2ViQ29yZTo6
TmV0d29ya1N0b3JhZ2VTZXNzaW9uKiBwcml2YXRlQnJvd3NpbmdTZXNzaW9uKCk7Ci0KLSAgICB2
aXJ0dWFsIGJvb2wgc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCgpIGNv
bnN0IE9WRVJSSURFOwotCi1wcml2YXRlOgotICAgIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0KGJv
b2wgbmVlZHNTaXRlU3BlY2lmaWNRdWlya3MsIGJvb2wgbG9jYWxGaWxlQ29udGVudFNuaWZmaW5n
RW5hYmxlZCwgYm9vbCBwcml2YXRlQnJvd3NpbmdFbmFibGVkLCBib29sIG1fc2hvdWxkQ2xlYXJS
ZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCk7Ci0KLSAgICB2aXJ0dWFsIGJvb2wgaXNWYWxp
ZCgpIGNvbnN0IE9WRVJSSURFOwotCi0gICAgdmlydHVhbCBib29sIG5lZWRzU2l0ZVNwZWNpZmlj
UXVpcmtzKCkgY29uc3QgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBib29sIGxvY2FsRmlsZUNvbnRl
bnRTbmlmZmluZ0VuYWJsZWQoKSBjb25zdCBPVkVSUklERTsKLSAgICB2aXJ0dWFsIFdlYkNvcmU6
Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbiYgc3RvcmFnZVNlc3Npb24oKSBjb25zdCBPVkVSUklERTsK
LSAgICB2aXJ0dWFsIFJldGFpblB0cjxDRkRhdGFSZWY+IHNvdXJjZUFwcGxpY2F0aW9uQXVkaXRE
YXRhKCkgY29uc3QgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBXZWJDb3JlOjpSZXNvdXJjZUVycm9y
IGJsb2NrZWRFcnJvcihjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmKSBjb25zdCBPVkVS
UklERTsKLQotICAgIGJvb2wgbV9uZWVkc1NpdGVTcGVjaWZpY1F1aXJrczsKLSAgICBib29sIG1f
bG9jYWxGaWxlQ29udGVudFNuaWZmaW5nRW5hYmxlZDsKLSAgICBib29sIG1fcHJpdmF0ZUJyb3dz
aW5nRW5hYmxlZDsKLSAgICBib29sIG1fc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBS
ZWRpcmVjdDsKLX07Ci0KLX0KLQotI2VuZGlmIC8vIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0X2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9SZW1vdGVOZXR3
b3JraW5nQ29udGV4dC5tbSBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9SZW1v
dGVOZXR3b3JraW5nQ29udGV4dC5tbQppbmRleCA1M2VjOTFjNWRkNDUyNWU0MTBiZWRkOWY3YzJk
ZjkxMGZjNmQwZmFlLi41ZDM0MmExMzViNTJhYzNmMDFmODZkN2E5N2IzODU0MzEwYzI1Y2ExIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvUmVtb3RlTmV0d29y
a2luZ0NvbnRleHQubW0KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL1Jl
bW90ZU5ldHdvcmtpbmdDb250ZXh0Lm1tCkBAIC00MywxOSArNDMsNiBAQCBzdGF0aWMgT3duUHRy
PE5ldHdvcmtTdG9yYWdlU2Vzc2lvbj4mIHByaXZhdGVCcm93c2luZ1N0b3JhZ2VTZXNzaW9uKCkK
ICAgICByZXR1cm4gc2Vzc2lvbjsKIH0KIAotYm9vbCBSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6
c2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCgpIGNvbnN0Ci17Ci0gICAg
cmV0dXJuIG1fc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdDsKLX0KLQot
UmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OlJlbW90ZU5ldHdvcmtpbmdDb250ZXh0KGJvb2wgbmVl
ZHNTaXRlU3BlY2lmaWNRdWlya3MsIGJvb2wgbG9jYWxGaWxlQ29udGVudFNuaWZmaW5nRW5hYmxl
ZCwgYm9vbCBwcml2YXRlQnJvd3NpbmdFbmFibGVkLCBib29sIHNob3VsZENsZWFyUmVmZXJyZXJP
bkhUVFBTVG9IVFRQUmVkaXJlY3QpCi0gICAgOiBtX25lZWRzU2l0ZVNwZWNpZmljUXVpcmtzKG5l
ZWRzU2l0ZVNwZWNpZmljUXVpcmtzKQotICAgICwgbV9sb2NhbEZpbGVDb250ZW50U25pZmZpbmdF
bmFibGVkKGxvY2FsRmlsZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWQpCi0gICAgLCBtX3ByaXZhdGVC
cm93c2luZ0VuYWJsZWQocHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCkKLSAgICAsIG1fc2hvdWxkQ2xl
YXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdChzaG91bGRDbGVhclJlZmVycmVyT25IVFRQ
U1RvSFRUUFJlZGlyZWN0KQotewotfQotCiBSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6flJlbW90
ZU5ldHdvcmtpbmdDb250ZXh0KCkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL3NvdXAvUmVtb3RlTmV0d29ya2luZ0NvbnRleHRTb3VwLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3NvdXAvUmVtb3RlTmV0d29ya2luZ0NvbnRleHRTb3Vw
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zYmVmNTY0YmVlZTJlYTRiMmRkZTNmMDNjY2UwMzNmYTZjNjNkNTBl
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvc291cC9S
ZW1vdGVOZXR3b3JraW5nQ29udGV4dFNvdXAuY3BwCkBAIC0wLDAgKzEsODIgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDEzIFVuaXZlcnNpdHkgb2YgU3plZ2VkLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCisjaW5jbHVkZSAi
UmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaCIKKworI2luY2x1ZGUgPFdlYkNvcmUvTmV0d29ya1N0
b3JhZ2VTZXNzaW9uLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgorI2lu
Y2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VIYW5kbGUuaD4KKwordXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6flJl
bW90ZU5ldHdvcmtpbmdDb250ZXh0KCkKK3sKK30KKworYm9vbCBSZW1vdGVOZXR3b3JraW5nQ29u
dGV4dDo6aXNWYWxpZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK3VpbnQ2NF90
IFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0Ojppbml0aWF0aW5nUGFnZUlEKCkgY29uc3QKK3sKKyAg
ICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiAwOworfQorCit2b2lkIFJlbW90ZU5ldHdv
cmtpbmdDb250ZXh0OjpzZXRQcml2YXRlQnJvd3NpbmdTdG9yYWdlU2Vzc2lvbklkZW50aWZpZXJC
YXNlKGNvbnN0IFN0cmluZyYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwordm9pZCBS
ZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6ZW5zdXJlUHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbigpCit7
CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwordm9pZCBSZW1vdGVOZXR3b3JraW5nQ29udGV4
dDo6ZGVzdHJveVByaXZhdGVCcm93c2luZ1Nlc3Npb24oKQoreworfQorCitOZXR3b3JrU3RvcmFn
ZVNlc3Npb24mIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0OjpzdG9yYWdlU2Vzc2lvbigpIGNvbnN0
Cit7CisgICAgcmV0dXJuIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6ZGVmYXVsdFN0b3JhZ2VTZXNz
aW9uKCk7Cit9CisKK05ldHdvcmtTdG9yYWdlU2Vzc2lvbiogUmVtb3RlTmV0d29ya2luZ0NvbnRl
eHQ6OnByaXZhdGVCcm93c2luZ1Nlc3Npb24oKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cisg
ICAgcmV0dXJuICZOZXR3b3JrU3RvcmFnZVNlc3Npb246OmRlZmF1bHRTdG9yYWdlU2Vzc2lvbigp
OworfQorCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDNmNzM5
NzAwOTdmYzc4OGZlMGUzYmM5ZDk5Mzg5MzNjNWJmODU0MzYuLjVlYjUyY2NmNDdmMGFiY2I2MjQ5
ZjNmMmVkOTkyODkzMzg2MWY0YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI3MDEsNyArMjcwMSw3IEBACiAJCUUxQTMxNzM0
MTM0Q0VBODAwMDdDOUE0RiAvKiBBdHRyaWJ1dGVkU3RyaW5nLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gQXR0cmlidXRlZFN0cmluZy5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRTFBRUEyMkQxNDY4N0JEQjAwODA0NTY5IC8qIFdLRnVsbEtleWJv
YXJkQWNjZXNzV2F0Y2hlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0Z1
bGxLZXlib2FyZEFjY2Vzc1dhdGNoZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RTFBRUEyMkUxNDY4N0JEQjAwODA0NTY5IC8qIFdLRnVsbEtleWJvYXJkQWNjZXNzV2F0Y2hlci5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLRnVsbEtleWJvYXJk
QWNjZXNzV2F0Y2hlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTFCNzg0NzAx
NjNGMjQ2OTAwMDdCNjkyIC8qIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUUxQjc4NDcwMTYzRjI0NjkwMDA3QjY5MiAvKiBSZW1vdGVO
ZXR3b3JraW5nQ29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBSZW1v
dGVOZXR3b3JraW5nQ29udGV4dC5oOyBwYXRoID0gTmV0d29ya1Byb2Nlc3MvUmVtb3RlTmV0d29y
a2luZ0NvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTFCNzg0NzIxNjNG
MjUzRTAwMDdCNjkyIC8qIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0Lm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUmVtb3RlTmV0d29ya2luZ0NvbnRleHQubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxQ0MxQjhFMTJEN0VBREYwMDYyNTgzOCAvKiBQ
cmludEluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJpbnRJbmZvLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxQ0MxQjhGMTJEN0VBREYwMDYyNTgzOCAv
KiBQcmludEluZm9NYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBQcmludEluZm9NYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zNjU2LDYg
KzM2NTYsNyBAQAogCQkJCUUxNTI1NTE3MTcwMTA5RkIwMDNEN0FEQiAvKiBOZXR3b3JrUmVzb3Vy
Y2VMb2FkZXIubWVzc2FnZXMuaW4gKi8sCiAJCQkJNTE4MjlEQTMxNjM3QzcwQzAwMDk1M0Q2IC8q
IE5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwICovLAogCQkJCTUxODI5REE0MTYzN0M3
MEMwMDA5NTNENiAvKiBOZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmggKi8sCisJCQkJRTFC
Nzg0NzAxNjNGMjQ2OTAwMDdCNjkyIC8qIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0LmggKi8sCiAJ
CQkJNTE5QjRGRjIxNkE5RUE5NzAwNjY4NzREIC8qIFNjaGVkdWxhYmxlTG9hZGVyLmNwcCAqLywK
IAkJCQk1MTlCNEZGMzE2QTlFQTk3MDA2Njg3NEQgLyogU2NoZWR1bGFibGVMb2FkZXIuaCAqLywK
IAkJCQk1MTgxNUI5RDE2QTYyMjIxMDA1NDUwMUYgLyogU3luY05ldHdvcmtSZXNvdXJjZUxvYWRl
ci5jcHAgKi8sCkBAIC0zNjczLDcgKzM2NzQsNiBAQAogCQkJCTUxQThBNjE1MTYyN0YzRjkwMDBE
OTBFOSAvKiBOZXR3b3JrUHJvY2Vzc01hYy5tbSAqLywKIAkJCQk1MUUzQjY3RTE2RjI2NkIzMDA5
OTY4REMgLyogTmV0d29ya1Jlc291cmNlTG9hZGVyTWFjLm1tICovLAogCQkJCTUxMkMwNjhGMTYz
OTBFNjkwMEFCQjkxMSAvKiBOZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyTWFjLm1tICovLAot
CQkJCUUxQjc4NDcwMTYzRjI0NjkwMDA3QjY5MiAvKiBSZW1vdGVOZXR3b3JraW5nQ29udGV4dC5o
ICovLAogCQkJCUUxQjc4NDcyMTYzRjI1M0UwMDA3QjY5MiAvKiBSZW1vdGVOZXR3b3JraW5nQ29u
dGV4dC5tbSAqLywKIAkJCSk7CiAJCQluYW1lID0gbWFjOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205795</attachid>
            <date>2013-07-01 03:45:53 -0700</date>
            <delta_ts>2013-08-26 06:59:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110097-20130701194331.patch</filename>
            <type>text/plain</type>
            <size>18820</size>
            <attacher name="Kwang Yul Seo">skyul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyMTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMTc3OGY4ODk0ZmZhMjcx
MDg0NTUwZWY0Yzk4ODI5ZmYyZTNjY2RiNi4uOWI5MjljZDM0YTIwOGQ2MmM2NzEzNmNkMDU4MTg4
MWQzYzcxYjhjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQwIEBACiAyMDEzLTA2LTMwICBLd2Fu
ZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CiAKKyAgICAgICAgW1dLMl0gUG9ydCBS
ZW1vdGVOZXR3b3JraW5nQ29udGV4dCBmb3IgU291cAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwMDk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgT3JpZ2luYWwgcGF0Y2ggYnkgQmFsYXpzIEtlbGVtZW4g
PGtiYWxhenNAd2Via2l0Lm9yZz4uCisKKyAgICAgICAgVGhpcyBzaG91bGQgYmUgYSBjcm9zcy1w
bGF0Zm9ybSBpbnRlcmZhY2Ugc28gSSBsaWZ0ZWQgdGhlIGhlYWRlciBmcm9tCisgICAgICAgIHRo
ZSBtYWMgZGlyZWN0b3J5LiBSZW1vdmVkIG1hYyBzcGVjaWZpYyBhcmd1bWVudHMgZnJvbSBjb25z
dHJ1Y3RvciwKKyAgICAgICAgYWRkZWQgc2V0dGVycyBpbnN0ZWFkLiBNb3ZlZCBwbGF0Zm9ybSB0
aGluZ3MgYmVoaW5kIGlmZGVmcyBhbmQgYWRkZWQKKyAgICAgICAgU291cCBzcGVjaWZpYyBiaXRz
LgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpzdGFydCk6CisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvUmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaDogUmVuYW1lZCBmcm9t
IFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9SZW1vdGVOZXR3b3JraW5nQ29udGV4
dC5oLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYktpdDo6UmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OlJlbW90ZU5ldHdvcmtp
bmdDb250ZXh0KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OnNl
dE5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTmV0d29y
a2luZ0NvbnRleHQ6OnNldExvY2FsRmlsZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWQpOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL1N5bmNOZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpTeW5jTmV0d29ya1Jlc291cmNlTG9hZGVyOjpzdGFydCk6CisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvbWFjL1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0Lm1tOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL3NvdXAvUmVtb3RlTmV0d29ya2luZ0NvbnRleHRTb3VwLmNwcDogQWRk
ZWQuCisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU5ldHdvcmtpbmdDb250ZXh0Ojp+UmVtb3RlTmV0
d29ya2luZ0NvbnRleHQpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVOZXR3b3JraW5nQ29udGV4
dDo6aXNWYWxpZCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU5ldHdvcmtpbmdDb250ZXh0Ojpp
bml0aWF0aW5nUGFnZUlEKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTmV0d29ya2luZ0NvbnRl
eHQ6OnNldFByaXZhdGVCcm93c2luZ1N0b3JhZ2VTZXNzaW9uSWRlbnRpZmllckJhc2UpOgorICAg
ICAgICAoV2ViS2l0OjpSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6ZW5zdXJlUHJpdmF0ZUJyb3dz
aW5nU2Vzc2lvbik6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU5ldHdvcmtpbmdDb250ZXh0Ojpk
ZXN0cm95UHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbik6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU5l
dHdvcmtpbmdDb250ZXh0OjpzdG9yYWdlU2Vzc2lvbik6CisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZU5ldHdvcmtpbmdDb250ZXh0Ojpwcml2YXRlQnJvd3NpbmdTZXNzaW9uKToKKyAgICAgICAgKiBX
ZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKKzIwMTMtMDYtMzAgIEt3YW5nIFl1
bCBTZW8gIDxza3l1bEBjb21wYW55MTAwLm5ldD4KKwogICAgICAgICBbV0syXSBBZGQgVU5JWF9E
T01BSU5fU09DS0VUUyBzcGVjaWZpYyBiaXRzIGZvciBzdXBwb3J0aW5nIE5ldHdvcmtQcm9jZXNz
CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTAwOTMK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291
cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNv
dXJjZUxvYWRlci5jcHAKaW5kZXggNGMzN2U0NzcwYWQ3ZDdiMzAyODgzZmRkMjYyNmVhNWY4NjU1
ZGY5My4uYWMzMDA4YjY5MTFkNjg0MDEyMmIyYzY0YjRkMTIyZjY3OTFkMGFhMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2Fk
ZXIuY3BwCkBAIC03MSw5ICs3MSw5IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpzdGFy
dCgpCiAKICAgICAvLyBFeHBsaWNpdCByZWYoKSBiYWxhbmNlZCBieSBhIGRlcmVmKCkgaW4gTmV0
d29ya1Jlc291cmNlTG9hZGVyOjpyZXNvdXJjZUhhbmRsZVN0b3BwZWQoKQogICAgIHJlZigpOwot
ICAgIAotICAgIC8vIEZJWE1FIChOZXR3b3JrUHJvY2Vzcyk6IENyZWF0ZSBSZW1vdGVOZXR3b3Jr
aW5nQ29udGV4dCB3aXRoIGFjdHVhbCBzZXR0aW5ncy4KLSAgICBtX25ldHdvcmtpbmdDb250ZXh0
ID0gUmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OmNyZWF0ZShmYWxzZSwgZmFsc2UsIGluUHJpdmF0
ZUJyb3dzaW5nTW9kZSgpLCBzaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0
KCkpOworCisgICAgLy8gRklYTUUgKE5ldHdvcmtQcm9jZXNzKTogU2V0IHBsYXRmb3JtIHNwZWNp
ZmljIHNldHRpbmdzLgorICAgIG1fbmV0d29ya2luZ0NvbnRleHQgPSBSZW1vdGVOZXR3b3JraW5n
Q29udGV4dDo6Y3JlYXRlKGluUHJpdmF0ZUJyb3dzaW5nTW9kZSgpLCBzaG91bGRDbGVhclJlZmVy
cmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0KCkpOwogCiAgICAgY29uc3VtZVNhbmRib3hFeHRlbnNp
b25zKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL1JlbW90
ZU5ldHdvcmtpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9SZW1v
dGVOZXR3b3JraW5nQ29udGV4dC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJhOGNhOWU4MjExMjI0NTg5NGY2MmFh
YWZjMmVmZjFhMWUxNTg4MDQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9SZW1vdGVOZXR3b3JraW5nQ29udGV4dC5oCkBAIC0wLDAgKzEsODMgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDEzIFVuaXZlcnNpdHkgb2YgU3plZ2VkLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0X2gKKyNk
ZWZpbmUgUmVtb3RlTmV0d29ya2luZ0NvbnRleHRfaAorCisjaW5jbHVkZSA8V2ViQ29yZS9OZXR3
b3JraW5nQ29udGV4dC5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgUmVtb3RlTmV0
d29ya2luZ0NvbnRleHQgOiBwdWJsaWMgV2ViQ29yZTo6TmV0d29ya2luZ0NvbnRleHQgeworcHVi
bGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0PiBjcmVh
dGUoYm9vbCBwcml2YXRlQnJvd3NpbmdFbmFibGVkLCBib29sIHNob3VsZENsZWFyUmVmZXJyZXJP
bkhUVFBTVG9IVFRQUmVkaXJlY3QpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3
IFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0KHByaXZhdGVCcm93c2luZ0VuYWJsZWQsIHNob3VsZENs
ZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3QpKTsKKyAgICB9CisgICAgdmlydHVhbCB+
UmVtb3RlTmV0d29ya2luZ0NvbnRleHQoKTsKKworICAgIHN0YXRpYyB2b2lkIHNldFByaXZhdGVC
cm93c2luZ1N0b3JhZ2VTZXNzaW9uSWRlbnRpZmllckJhc2UoY29uc3QgU3RyaW5nJik7CisgICAg
c3RhdGljIHZvaWQgZW5zdXJlUHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbigpOworICAgIHN0YXRpYyB2
b2lkIGRlc3Ryb3lQcml2YXRlQnJvd3NpbmdTZXNzaW9uKCk7CisKKyAgICBzdGF0aWMgV2ViQ29y
ZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uKiBwcml2YXRlQnJvd3NpbmdTZXNzaW9uKCk7CisKKyAg
ICB2aXJ0dWFsIGJvb2wgc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCgp
IGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIG1fc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hU
VFBSZWRpcmVjdDsgfQorCitwcml2YXRlOgorICAgIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0KGJv
b2wgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCwgYm9vbCBzaG91bGRDbGVhclJlZmVycmVyT25IVFRQ
U1RvSFRUUFJlZGlyZWN0KQorICAgICAgICA6IG1fcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChwcml2
YXRlQnJvd3NpbmdFbmFibGVkKQorICAgICAgICAsIG1fc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRU
UFNUb0hUVFBSZWRpcmVjdChzaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0
KQorICAgIHsgfQorCisgICAgdmlydHVhbCBib29sIGlzVmFsaWQoKSBjb25zdCBPVkVSUklERTsK
KyAgICB2aXJ0dWFsIFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbiYgc3RvcmFnZVNlc3Np
b24oKSBjb25zdCBPVkVSUklERTsKKworI2lmIFBMQVRGT1JNKE1BQykKKyAgICB2b2lkIHNldE5l
ZWRzU2l0ZVNwZWNpZmljUXVpcmtzKGJvb2wgdmFsdWUpIHsgbV9uZWVkc1NpdGVTcGVjaWZpY1F1
aXJrcyA9IHZhbHVlOyB9CisgICAgdmlydHVhbCBib29sIG5lZWRzU2l0ZVNwZWNpZmljUXVpcmtz
KCkgY29uc3QgT1ZFUlJJREU7CisgICAgdm9pZCBzZXRMb2NhbEZpbGVDb250ZW50U25pZmZpbmdF
bmFibGVkKGJvb2wgdmFsdWUpIHsgbV9sb2NhbEZpbGVDb250ZW50U25pZmZpbmdFbmFibGVkID0g
dmFsdWU7IH0KKyAgICB2aXJ0dWFsIGJvb2wgbG9jYWxGaWxlQ29udGVudFNuaWZmaW5nRW5hYmxl
ZCgpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgUmV0YWluUHRyPENGRGF0YVJlZj4gc291
cmNlQXBwbGljYXRpb25BdWRpdERhdGEoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFdl
YkNvcmU6OlJlc291cmNlRXJyb3IgYmxvY2tlZEVycm9yKGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCYpIGNvbnN0IE9WRVJSSURFOworI2VuZGlmCisKKyNpZiBVU0UoU09VUCkKKyAgICB2
aXJ0dWFsIHVpbnQ2NF90IGluaXRpYXRpbmdQYWdlSUQoKSBjb25zdDsKKyNlbmRpZgorCisjaWYg
UExBVEZPUk0oTUFDKQorICAgIGJvb2wgbV9uZWVkc1NpdGVTcGVjaWZpY1F1aXJrczsKKyAgICBi
b29sIG1fbG9jYWxGaWxlQ29udGVudFNuaWZmaW5nRW5hYmxlZDsKKyNlbmRpZgorCisgICAgYm9v
bCBtX3ByaXZhdGVCcm93c2luZ0VuYWJsZWQ7CisgICAgYm9vbCBtX3Nob3VsZENsZWFyUmVmZXJy
ZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3Q7Cit9OworCit9CisKKyNlbmRpZiAvLyBSZW1vdGVOZXR3
b3JraW5nQ29udGV4dF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9TeW5jTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL1N5bmNOZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDAyYjA1ZWQ3ZDVmOGVh
MzU4MzY1Yzg4YjUyYTYzZjE0MTk4NGY0NWMuLjRkNGYzYjMxMzliNjhiM2RhZjAzOTIyZGQ2YzAy
NWJiM2E4NzUzZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL1N5
bmNOZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL1N5bmNOZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC01OCw5ICs1OCw5IEBAIHZv
aWQgU3luY05ldHdvcmtSZXNvdXJjZUxvYWRlcjo6c3RhcnQoKQogICAgIFJlc291cmNlRXJyb3Ig
ZXJyb3I7CiAgICAgUmVzb3VyY2VSZXNwb25zZSByZXNwb25zZTsKICAgICBWZWN0b3I8Y2hhcj4g
ZGF0YTsKLSAgICAKLSAgICAvLyBGSVhNRSAoTmV0d29ya1Byb2Nlc3MpOiBDcmVhdGUgUmVtb3Rl
TmV0d29ya2luZ0NvbnRleHQgd2l0aCBhY3R1YWwgc2V0dGluZ3MuCi0gICAgUmVmUHRyPFJlbW90
ZU5ldHdvcmtpbmdDb250ZXh0PiBuZXR3b3JraW5nQ29udGV4dCA9IFJlbW90ZU5ldHdvcmtpbmdD
b250ZXh0OjpjcmVhdGUoZmFsc2UsIGZhbHNlLCBpblByaXZhdGVCcm93c2luZ01vZGUoKSwgc2hv
dWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCgpKTsKKworICAgIC8vIEZJWE1F
IChOZXR3b3JrUHJvY2Vzcyk6IFNldCBwbGF0Zm9ybSBzcGVjaWZpYyBzZXR0aW5ncy4KKyAgICBS
ZWZQdHI8UmVtb3RlTmV0d29ya2luZ0NvbnRleHQ+IG5ldHdvcmtpbmdDb250ZXh0ID0gUmVtb3Rl
TmV0d29ya2luZ0NvbnRleHQ6OmNyZWF0ZShpblByaXZhdGVCcm93c2luZ01vZGUoKSwgc2hvdWxk
Q2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCgpKTsKIAogICAgIGNvbnN1bWVTYW5k
Ym94RXh0ZW5zaW9ucygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9tYWMvUmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL21hYy9SZW1vdGVOZXR3b3JraW5nQ29udGV4dC5oCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBkMDQwMjI0NmI2YzUwZTZmNDViMGNhMTVkMzNmYzdkNDhiZjY2ODMxLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL21hYy9SZW1vdGVOZXR3b3JraW5nQ29udGV4dC5oCisrKyAvZGV2
L251bGwKQEAgLTEsNjggKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwot
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgUmVtb3RlTmV0d29y
a2luZ0NvbnRleHRfaAotI2RlZmluZSBSZW1vdGVOZXR3b3JraW5nQ29udGV4dF9oCi0KLSNpbmNs
dWRlIDxXZWJDb3JlL05ldHdvcmtpbmdDb250ZXh0Lmg+Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewot
Ci1jbGFzcyBSZW1vdGVOZXR3b3JraW5nQ29udGV4dCA6IHB1YmxpYyBXZWJDb3JlOjpOZXR3b3Jr
aW5nQ29udGV4dCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8UmVtb3RlTmV0d29y
a2luZ0NvbnRleHQ+IGNyZWF0ZShib29sIG5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzLCBib29sIGxv
Y2FsRmlsZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWQsIGJvb2wgcHJpdmF0ZUJyb3dzaW5nRW5hYmxl
ZCwgYm9vbCBzaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0KQotICAgIHsK
LSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBSZW1vdGVOZXR3b3JraW5nQ29udGV4dChuZWVk
c1NpdGVTcGVjaWZpY1F1aXJrcywgbG9jYWxGaWxlQ29udGVudFNuaWZmaW5nRW5hYmxlZCwgcHJp
dmF0ZUJyb3dzaW5nRW5hYmxlZCwgc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRp
cmVjdCkpOwotICAgIH0KLSAgICB2aXJ0dWFsIH5SZW1vdGVOZXR3b3JraW5nQ29udGV4dCgpOwot
Ci0gICAgc3RhdGljIHZvaWQgc2V0UHJpdmF0ZUJyb3dzaW5nU3RvcmFnZVNlc3Npb25JZGVudGlm
aWVyQmFzZShjb25zdCBTdHJpbmcmKTsKLSAgICBzdGF0aWMgdm9pZCBlbnN1cmVQcml2YXRlQnJv
d3NpbmdTZXNzaW9uKCk7Ci0gICAgc3RhdGljIHZvaWQgZGVzdHJveVByaXZhdGVCcm93c2luZ1Nl
c3Npb24oKTsKLQotICAgIHN0YXRpYyBXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Npb24qIHBy
aXZhdGVCcm93c2luZ1Nlc3Npb24oKTsKLQotICAgIHZpcnR1YWwgYm9vbCBzaG91bGRDbGVhclJl
ZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0KCkgY29uc3QgT1ZFUlJJREU7Ci0KLXByaXZhdGU6
Ci0gICAgUmVtb3RlTmV0d29ya2luZ0NvbnRleHQoYm9vbCBuZWVkc1NpdGVTcGVjaWZpY1F1aXJr
cywgYm9vbCBsb2NhbEZpbGVDb250ZW50U25pZmZpbmdFbmFibGVkLCBib29sIHByaXZhdGVCcm93
c2luZ0VuYWJsZWQsIGJvb2wgbV9zaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGly
ZWN0KTsKLQotICAgIHZpcnR1YWwgYm9vbCBpc1ZhbGlkKCkgY29uc3QgT1ZFUlJJREU7Ci0KLSAg
ICB2aXJ0dWFsIGJvb2wgbmVlZHNTaXRlU3BlY2lmaWNRdWlya3MoKSBjb25zdCBPVkVSUklERTsK
LSAgICB2aXJ0dWFsIGJvb2wgbG9jYWxGaWxlQ29udGVudFNuaWZmaW5nRW5hYmxlZCgpIGNvbnN0
IE9WRVJSSURFOwotICAgIHZpcnR1YWwgV2ViQ29yZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uJiBz
dG9yYWdlU2Vzc2lvbigpIGNvbnN0IE9WRVJSSURFOwotICAgIHZpcnR1YWwgUmV0YWluUHRyPENG
RGF0YVJlZj4gc291cmNlQXBwbGljYXRpb25BdWRpdERhdGEoKSBjb25zdCBPVkVSUklERTsKLSAg
ICB2aXJ0dWFsIFdlYkNvcmU6OlJlc291cmNlRXJyb3IgYmxvY2tlZEVycm9yKGNvbnN0IFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdCYpIGNvbnN0IE9WRVJSSURFOwotCi0gICAgYm9vbCBtX25lZWRz
U2l0ZVNwZWNpZmljUXVpcmtzOwotICAgIGJvb2wgbV9sb2NhbEZpbGVDb250ZW50U25pZmZpbmdF
bmFibGVkOwotICAgIGJvb2wgbV9wcml2YXRlQnJvd3NpbmdFbmFibGVkOwotICAgIGJvb2wgbV9z
aG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0OwotfTsKLQotfQotCi0jZW5k
aWYgLy8gUmVtb3RlTmV0d29ya2luZ0NvbnRleHRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvbWFjL1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0Lm1tIGIvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0Lm1tCmlu
ZGV4IDUzZWM5MWM1ZGQ0NTI1ZTQxMGJlZGQ5ZjdjMmRmOTEwZmM2ZDBmYWUuLjVkMzQyYTEzNWI1
MmFjM2YwMWY4NmQ3YTk3YjM4NTQzMTBjMjVjYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL21hYy9SZW1vdGVOZXR3b3JraW5nQ29udGV4dC5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvUmVtb3RlTmV0d29ya2luZ0NvbnRleHQubW0K
QEAgLTQzLDE5ICs0Myw2IEBAIHN0YXRpYyBPd25QdHI8TmV0d29ya1N0b3JhZ2VTZXNzaW9uPiYg
cHJpdmF0ZUJyb3dzaW5nU3RvcmFnZVNlc3Npb24oKQogICAgIHJldHVybiBzZXNzaW9uOwogfQog
Ci1ib29sIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0OjpzaG91bGRDbGVhclJlZmVycmVyT25IVFRQ
U1RvSFRUUFJlZGlyZWN0KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9zaG91bGRDbGVhclJlZmVy
cmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0OwotfQotCi1SZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6
UmVtb3RlTmV0d29ya2luZ0NvbnRleHQoYm9vbCBuZWVkc1NpdGVTcGVjaWZpY1F1aXJrcywgYm9v
bCBsb2NhbEZpbGVDb250ZW50U25pZmZpbmdFbmFibGVkLCBib29sIHByaXZhdGVCcm93c2luZ0Vu
YWJsZWQsIGJvb2wgc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCkKLSAg
ICA6IG1fbmVlZHNTaXRlU3BlY2lmaWNRdWlya3MobmVlZHNTaXRlU3BlY2lmaWNRdWlya3MpCi0g
ICAgLCBtX2xvY2FsRmlsZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWQobG9jYWxGaWxlQ29udGVudFNu
aWZmaW5nRW5hYmxlZCkKLSAgICAsIG1fcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChwcml2YXRlQnJv
d3NpbmdFbmFibGVkKQotICAgICwgbV9zaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJl
ZGlyZWN0KHNob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3QpCi17Ci19Ci0K
IFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0Ojp+UmVtb3RlTmV0d29ya2luZ0NvbnRleHQoKQogewog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvc291cC9SZW1vdGVO
ZXR3b3JraW5nQ29udGV4dFNvdXAuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
c291cC9SZW1vdGVOZXR3b3JraW5nQ29udGV4dFNvdXAuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNiZWY1NjRi
ZWVlMmVhNGIyZGRlM2YwM2NjZTAzM2ZhNmM2M2Q1MGUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0U291
cC5jcHAKQEAgLTAsMCArMSw4MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgVW5pdmVyc2l0
eSBvZiBTemVnZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMg
Q29tcGFueSAxMDAgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaWYgRU5B
QkxFKE5FVFdPUktfUFJPQ0VTUykKKyNpbmNsdWRlICJSZW1vdGVOZXR3b3JraW5nQ29udGV4dC5o
IgorCisjaW5jbHVkZSA8V2ViQ29yZS9OZXR3b3JrU3RvcmFnZVNlc3Npb24uaD4KKyNpbmNsdWRl
IDxXZWJDb3JlL05vdEltcGxlbWVudGVkLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUhh
bmRsZS5oPgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0Ojp+UmVtb3RlTmV0d29ya2luZ0NvbnRleHQoKQor
eworfQorCitib29sIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0Ojppc1ZhbGlkKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gdHJ1ZTsKK30KKwordWludDY0X3QgUmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6
OmluaXRpYXRpbmdQYWdlSUQoKSBjb25zdAoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAg
cmV0dXJuIDA7Cit9CisKK3ZvaWQgUmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OnNldFByaXZhdGVC
cm93c2luZ1N0b3JhZ2VTZXNzaW9uSWRlbnRpZmllckJhc2UoY29uc3QgU3RyaW5nJikKK3sKKyAg
ICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lkIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0Ojpl
bnN1cmVQcml2YXRlQnJvd3NpbmdTZXNzaW9uKCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOwor
fQorCit2b2lkIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0OjpkZXN0cm95UHJpdmF0ZUJyb3dzaW5n
U2Vzc2lvbigpCit7Cit9CisKK05ldHdvcmtTdG9yYWdlU2Vzc2lvbiYgUmVtb3RlTmV0d29ya2lu
Z0NvbnRleHQ6OnN0b3JhZ2VTZXNzaW9uKCkgY29uc3QKK3sKKyAgICByZXR1cm4gTmV0d29ya1N0
b3JhZ2VTZXNzaW9uOjpkZWZhdWx0U3RvcmFnZVNlc3Npb24oKTsKK30KKworTmV0d29ya1N0b3Jh
Z2VTZXNzaW9uKiBSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6cHJpdmF0ZUJyb3dzaW5nU2Vzc2lv
bigpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gJk5ldHdvcmtTdG9yYWdl
U2Vzc2lvbjo6ZGVmYXVsdFN0b3JhZ2VTZXNzaW9uKCk7Cit9CisKK30KKworI2VuZGlmIC8vIEVO
QUJMRShORVRXT1JLX1BST0NFU1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQy
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggM2Y3Mzk3MDA5N2ZjNzg4ZmUwZTNiYzlkOTkzODkz
M2M1YmY4NTQzNi4uNWViNTJjY2Y0N2YwYWJjYjYyNDlmM2YyZWQ5OTI4OTMzODYxZjRhYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtMjcwMSw3ICsyNzAxLDcgQEAKIAkJRTFBMzE3MzQxMzRDRUE4MDAwN0M5QTRGIC8qIEF0dHJp
YnV0ZWRTdHJpbmcubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBB
dHRyaWJ1dGVkU3RyaW5nLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUFFQTIy
RDE0Njg3QkRCMDA4MDQ1NjkgLyogV0tGdWxsS2V5Ym9hcmRBY2Nlc3NXYXRjaGVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLRnVsbEtleWJvYXJkQWNjZXNzV2F0Y2hlci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUFFQTIyRTE0Njg3QkRCMDA4MDQ1Njkg
LyogV0tGdWxsS2V5Ym9hcmRBY2Nlc3NXYXRjaGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gV0tGdWxsS2V5Ym9hcmRBY2Nlc3NXYXRjaGVyLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQlFMUI3ODQ3MDE2M0YyNDY5MDAwN0I2OTIgLyogUmVtb3Rl
TmV0d29ya2luZ0NvbnRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVt
b3RlTmV0d29ya2luZ0NvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTFC
Nzg0NzAxNjNGMjQ2OTAwMDdCNjkyIC8qIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0Lmg7IHBh
dGggPSBOZXR3b3JrUHJvY2Vzcy9SZW1vdGVOZXR3b3JraW5nQ29udGV4dC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlFMUI3ODQ3MjE2M0YyNTNFMDAwN0I2OTIgLyogUmVtb3RlTmV0
d29ya2luZ0NvbnRleHQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBSZW1vdGVOZXR3b3JraW5nQ29udGV4dC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRTFDQzFCOEUxMkQ3RUFERjAwNjI1ODM4IC8qIFByaW50SW5mby5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBQcmludEluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRTFDQzFCOEYxMkQ3RUFERjAwNjI1ODM4IC8qIFByaW50SW5mb01hYy5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFByaW50SW5mb01hYy5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTM2NTYsNiArMzY1Niw3IEBACiAJCQkJRTE1MjU1MTcx
NzAxMDlGQjAwM0Q3QURCIC8qIE5ldHdvcmtSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbiAqLywK
IAkJCQk1MTgyOURBMzE2MzdDNzBDMDAwOTUzRDYgLyogTmV0d29ya1Jlc291cmNlTG9hZFNjaGVk
dWxlci5jcHAgKi8sCiAJCQkJNTE4MjlEQTQxNjM3QzcwQzAwMDk1M0Q2IC8qIE5ldHdvcmtSZXNv
dXJjZUxvYWRTY2hlZHVsZXIuaCAqLywKKwkJCQlFMUI3ODQ3MDE2M0YyNDY5MDAwN0I2OTIgLyog
UmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaCAqLywKIAkJCQk1MTlCNEZGMjE2QTlFQTk3MDA2Njg3
NEQgLyogU2NoZWR1bGFibGVMb2FkZXIuY3BwICovLAogCQkJCTUxOUI0RkYzMTZBOUVBOTcwMDY2
ODc0RCAvKiBTY2hlZHVsYWJsZUxvYWRlci5oICovLAogCQkJCTUxODE1QjlEMTZBNjIyMjEwMDU0
NTAxRiAvKiBTeW5jTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcCAqLywKQEAgLTM2NzMsNyArMzY3
NCw2IEBACiAJCQkJNTFBOEE2MTUxNjI3RjNGOTAwMEQ5MEU5IC8qIE5ldHdvcmtQcm9jZXNzTWFj
Lm1tICovLAogCQkJCTUxRTNCNjdFMTZGMjY2QjMwMDk5NjhEQyAvKiBOZXR3b3JrUmVzb3VyY2VM
b2FkZXJNYWMubW0gKi8sCiAJCQkJNTEyQzA2OEYxNjM5MEU2OTAwQUJCOTExIC8qIE5ldHdvcmtS
ZXNvdXJjZUxvYWRTY2hlZHVsZXJNYWMubW0gKi8sCi0JCQkJRTFCNzg0NzAxNjNGMjQ2OTAwMDdC
NjkyIC8qIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0LmggKi8sCiAJCQkJRTFCNzg0NzIxNjNGMjUz
RTAwMDdCNjkyIC8qIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0Lm1tICovLAogCQkJKTsKIAkJCW5h
bWUgPSBtYWM7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209650</attachid>
            <date>2013-08-26 06:59:35 -0700</date>
            <delta_ts>2013-09-26 07:59:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110097-20130826155933.patch</filename>
            <type>text/plain</type>
            <size>17705</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0NjAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMjEyNmUxZTNmZmVhYzUy
YTFmMTU0N2UzOTA3ZmQ5NzcyYTI0OTkzMy4uMzhjZGM4MGM0MDg2ODIwNDdlMWJkNTk1MjdlNTQ5
NWM0NzJkY2RiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEzLTA4LTI2ICBLd2Fu
ZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgW1dLMl0gUG9ydCBS
ZW1vdGVOZXR3b3JraW5nQ29udGV4dCBmb3IgU291cAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwMDk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgT3JpZ2luYWwgcGF0Y2ggYnkgQmFsYXpzIEtlbGVtZW4g
PGtiYWxhenNAd2Via2l0Lm9yZz4uCisKKyAgICAgICAgVGhpcyBzaG91bGQgYmUgYSBjcm9zcy1w
bGF0Zm9ybSBpbnRlcmZhY2Ugc28gSSBsaWZ0ZWQgdGhlIGhlYWRlciBmcm9tCisgICAgICAgIHRo
ZSBtYWMgZGlyZWN0b3J5LiBSZW1vdmVkIG1hYyBzcGVjaWZpYyBhcmd1bWVudHMgZnJvbSBjb25z
dHJ1Y3RvciwKKyAgICAgICAgYWRkZWQgc2V0dGVycyBpbnN0ZWFkLiBNb3ZlZCBwbGF0Zm9ybSB0
aGluZ3MgYmVoaW5kIGlmZGVmcyBhbmQgYWRkZWQKKyAgICAgICAgU291cCBzcGVjaWZpYyBiaXRz
LgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpzdGFydCk6CisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvUmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaDogUmVuYW1lZCBmcm9t
IFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9SZW1vdGVOZXR3b3JraW5nQ29udGV4
dC5oLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYktpdDo6UmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OlJlbW90ZU5ldHdvcmtp
bmdDb250ZXh0KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OnNl
dE5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTmV0d29y
a2luZ0NvbnRleHQ6OnNldExvY2FsRmlsZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWQpOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL1N5bmNOZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpTeW5jTmV0d29ya1Jlc291cmNlTG9hZGVyOjpzdGFydCk6CisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvbWFjL1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0Lm1tOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL3NvdXAvUmVtb3RlTmV0d29ya2luZ0NvbnRleHRTb3VwLmNwcDogQWRk
ZWQuCisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU5ldHdvcmtpbmdDb250ZXh0Ojp+UmVtb3RlTmV0
d29ya2luZ0NvbnRleHQpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVOZXR3b3JraW5nQ29udGV4
dDo6aXNWYWxpZCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU5ldHdvcmtpbmdDb250ZXh0Ojpp
bml0aWF0aW5nUGFnZUlEKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTmV0d29ya2luZ0NvbnRl
eHQ6OnNldFByaXZhdGVCcm93c2luZ1N0b3JhZ2VTZXNzaW9uSWRlbnRpZmllckJhc2UpOgorICAg
ICAgICAoV2ViS2l0OjpSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6ZW5zdXJlUHJpdmF0ZUJyb3dz
aW5nU2Vzc2lvbik6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU5ldHdvcmtpbmdDb250ZXh0Ojpk
ZXN0cm95UHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbik6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU5l
dHdvcmtpbmdDb250ZXh0OjpzdG9yYWdlU2Vzc2lvbik6CisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZU5ldHdvcmtpbmdDb250ZXh0Ojpwcml2YXRlQnJvd3NpbmdTZXNzaW9uKToKKyAgICAgICAgKiBX
ZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTMtMDgtMjYgIENhcmxvcyBH
YXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIEFkZCBt
aXNzaW5nIGluaXRpYWxpemVyIGZvciBwbHVnaW5Mb2FkUG9saWN5IGluIFdLUGFnZUxvYWRlckNs
aWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jl
c291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtS
ZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggOTFlNDRkZmQ0OGEzZDA1OTk2Yjg1ZWI2NjVkNzY4ZTE5
MGIwZWIwOS4uODExMDQyZTk0MDc5MzAxNTM3MWMzODM0NTZhNTk5ZjgzMmQ0Y2RlYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VM
b2FkZXIuY3BwCkBAIC0xMjYsOSArMTI2LDkgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6
OnN0YXJ0KCkKIAogICAgIC8vIEV4cGxpY2l0IHJlZigpIGJhbGFuY2VkIGJ5IGEgZGVyZWYoKSBp
biBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnJlc291cmNlSGFuZGxlU3RvcHBlZCgpCiAgICAgcmVm
KCk7Ci0gICAgCi0gICAgLy8gRklYTUUgKE5ldHdvcmtQcm9jZXNzKTogQ3JlYXRlIFJlbW90ZU5l
dHdvcmtpbmdDb250ZXh0IHdpdGggYWN0dWFsIHNldHRpbmdzLgotICAgIG1fbmV0d29ya2luZ0Nv
bnRleHQgPSBSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6Y3JlYXRlKGZhbHNlLCBmYWxzZSwgbV9p
blByaXZhdGVCcm93c2luZ01vZGUsIG1fc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBS
ZWRpcmVjdCk7CisKKyAgICAvLyBGSVhNRSAoTmV0d29ya1Byb2Nlc3MpOiBTZXQgcGxhdGZvcm0g
c3BlY2lmaWMgc2V0dGluZ3MuCisgICAgbV9uZXR3b3JraW5nQ29udGV4dCA9IFJlbW90ZU5ldHdv
cmtpbmdDb250ZXh0OjpjcmVhdGUobV9pblByaXZhdGVCcm93c2luZ01vZGUsIG1fc2hvdWxkQ2xl
YXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCk7CiAKICAgICBjb25zdW1lU2FuZGJveEV4
dGVuc2lvbnMoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
UmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmE4Y2E5ZTgyMTEyMjQ1ODk0
ZjYyYWFhZmMyZWZmMWExZTE1ODgwNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0LmgKQEAgLTAsMCArMSw4MyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgVW5pdmVyc2l0eSBvZiBTemVnZWQuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgUmVtb3RlTmV0d29ya2luZ0NvbnRleHRf
aAorI2RlZmluZSBSZW1vdGVOZXR3b3JraW5nQ29udGV4dF9oCisKKyNpbmNsdWRlIDxXZWJDb3Jl
L05ldHdvcmtpbmdDb250ZXh0Lmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBSZW1v
dGVOZXR3b3JraW5nQ29udGV4dCA6IHB1YmxpYyBXZWJDb3JlOjpOZXR3b3JraW5nQ29udGV4dCB7
CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8UmVtb3RlTmV0d29ya2luZ0NvbnRleHQ+
IGNyZWF0ZShib29sIHByaXZhdGVCcm93c2luZ0VuYWJsZWQsIGJvb2wgc2hvdWxkQ2xlYXJSZWZl
cnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgUmVtb3RlTmV0d29ya2luZ0NvbnRleHQocHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCwgc2hv
dWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCkpOworICAgIH0KKyAgICB2aXJ0
dWFsIH5SZW1vdGVOZXR3b3JraW5nQ29udGV4dCgpOworCisgICAgc3RhdGljIHZvaWQgc2V0UHJp
dmF0ZUJyb3dzaW5nU3RvcmFnZVNlc3Npb25JZGVudGlmaWVyQmFzZShjb25zdCBTdHJpbmcmKTsK
KyAgICBzdGF0aWMgdm9pZCBlbnN1cmVQcml2YXRlQnJvd3NpbmdTZXNzaW9uKCk7CisgICAgc3Rh
dGljIHZvaWQgZGVzdHJveVByaXZhdGVCcm93c2luZ1Nlc3Npb24oKTsKKworICAgIHN0YXRpYyBX
ZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Npb24qIHByaXZhdGVCcm93c2luZ1Nlc3Npb24oKTsK
KworICAgIHZpcnR1YWwgYm9vbCBzaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGly
ZWN0KCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gbV9zaG91bGRDbGVhclJlZmVycmVyT25IVFRQ
U1RvSFRUUFJlZGlyZWN0OyB9CisKK3ByaXZhdGU6CisgICAgUmVtb3RlTmV0d29ya2luZ0NvbnRl
eHQoYm9vbCBwcml2YXRlQnJvd3NpbmdFbmFibGVkLCBib29sIHNob3VsZENsZWFyUmVmZXJyZXJP
bkhUVFBTVG9IVFRQUmVkaXJlY3QpCisgICAgICAgIDogbV9wcml2YXRlQnJvd3NpbmdFbmFibGVk
KHByaXZhdGVCcm93c2luZ0VuYWJsZWQpCisgICAgICAgICwgbV9zaG91bGRDbGVhclJlZmVycmVy
T25IVFRQU1RvSFRUUFJlZGlyZWN0KHNob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVk
aXJlY3QpCisgICAgeyB9CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNWYWxpZCgpIGNvbnN0IE9WRVJS
SURFOworICAgIHZpcnR1YWwgV2ViQ29yZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uJiBzdG9yYWdl
U2Vzc2lvbigpIGNvbnN0IE9WRVJSSURFOworCisjaWYgUExBVEZPUk0oTUFDKQorICAgIHZvaWQg
c2V0TmVlZHNTaXRlU3BlY2lmaWNRdWlya3MoYm9vbCB2YWx1ZSkgeyBtX25lZWRzU2l0ZVNwZWNp
ZmljUXVpcmtzID0gdmFsdWU7IH0KKyAgICB2aXJ0dWFsIGJvb2wgbmVlZHNTaXRlU3BlY2lmaWNR
dWlya3MoKSBjb25zdCBPVkVSUklERTsKKyAgICB2b2lkIHNldExvY2FsRmlsZUNvbnRlbnRTbmlm
ZmluZ0VuYWJsZWQoYm9vbCB2YWx1ZSkgeyBtX2xvY2FsRmlsZUNvbnRlbnRTbmlmZmluZ0VuYWJs
ZWQgPSB2YWx1ZTsgfQorICAgIHZpcnR1YWwgYm9vbCBsb2NhbEZpbGVDb250ZW50U25pZmZpbmdF
bmFibGVkKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBSZXRhaW5QdHI8Q0ZEYXRhUmVm
PiBzb3VyY2VBcHBsaWNhdGlvbkF1ZGl0RGF0YSgpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1
YWwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBibG9ja2VkRXJyb3IoY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0JikgY29uc3QgT1ZFUlJJREU7CisjZW5kaWYKKworI2lmIFVTRShTT1VQKQor
ICAgIHZpcnR1YWwgdWludDY0X3QgaW5pdGlhdGluZ1BhZ2VJRCgpIGNvbnN0OworI2VuZGlmCisK
KyNpZiBQTEFURk9STShNQUMpCisgICAgYm9vbCBtX25lZWRzU2l0ZVNwZWNpZmljUXVpcmtzOwor
ICAgIGJvb2wgbV9sb2NhbEZpbGVDb250ZW50U25pZmZpbmdFbmFibGVkOworI2VuZGlmCisKKyAg
ICBib29sIG1fcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZDsKKyAgICBib29sIG1fc2hvdWxkQ2xlYXJS
ZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdDsKK307CisKK30KKworI2VuZGlmIC8vIFJlbW90
ZU5ldHdvcmtpbmdDb250ZXh0X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL21hYy9SZW1vdGVOZXR3b3JraW5nQ29udGV4dC5oIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvbWFjL1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0LmgKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGQwNDAyMjQ2YjZjNTBlNmY0NWIwY2ExNWQzM2ZjN2Q0OGJmNjY4MzEu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0LmgKKysrIC9k
ZXYvbnVsbApAQCAtMSw2OCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
Ci0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwot
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBSZW1vdGVOZXR3
b3JraW5nQ29udGV4dF9oCi0jZGVmaW5lIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0X2gKLQotI2lu
Y2x1ZGUgPFdlYkNvcmUvTmV0d29ya2luZ0NvbnRleHQuaD4KLQotbmFtZXNwYWNlIFdlYktpdCB7
Ci0KLWNsYXNzIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0IDogcHVibGljIFdlYkNvcmU6Ok5ldHdv
cmtpbmdDb250ZXh0IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxSZW1vdGVOZXR3
b3JraW5nQ29udGV4dD4gY3JlYXRlKGJvb2wgbmVlZHNTaXRlU3BlY2lmaWNRdWlya3MsIGJvb2wg
bG9jYWxGaWxlQ29udGVudFNuaWZmaW5nRW5hYmxlZCwgYm9vbCBwcml2YXRlQnJvd3NpbmdFbmFi
bGVkLCBib29sIHNob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3QpCi0gICAg
ewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0KG5l
ZWRzU2l0ZVNwZWNpZmljUXVpcmtzLCBsb2NhbEZpbGVDb250ZW50U25pZmZpbmdFbmFibGVkLCBw
cml2YXRlQnJvd3NpbmdFbmFibGVkLCBzaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJl
ZGlyZWN0KSk7Ci0gICAgfQotICAgIHZpcnR1YWwgflJlbW90ZU5ldHdvcmtpbmdDb250ZXh0KCk7
Ci0KLSAgICBzdGF0aWMgdm9pZCBzZXRQcml2YXRlQnJvd3NpbmdTdG9yYWdlU2Vzc2lvbklkZW50
aWZpZXJCYXNlKGNvbnN0IFN0cmluZyYpOwotICAgIHN0YXRpYyB2b2lkIGVuc3VyZVByaXZhdGVC
cm93c2luZ1Nlc3Npb24oKTsKLSAgICBzdGF0aWMgdm9pZCBkZXN0cm95UHJpdmF0ZUJyb3dzaW5n
U2Vzc2lvbigpOwotCi0gICAgc3RhdGljIFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbiog
cHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbigpOwotCi0gICAgdmlydHVhbCBib29sIHNob3VsZENsZWFy
UmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3QoKSBjb25zdCBPVkVSUklERTsKLQotcHJpdmF0
ZToKLSAgICBSZW1vdGVOZXR3b3JraW5nQ29udGV4dChib29sIG5lZWRzU2l0ZVNwZWNpZmljUXVp
cmtzLCBib29sIGxvY2FsRmlsZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWQsIGJvb2wgcHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZCwgYm9vbCBtX3Nob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVk
aXJlY3QpOwotCi0gICAgdmlydHVhbCBib29sIGlzVmFsaWQoKSBjb25zdCBPVkVSUklERTsKLQot
ICAgIHZpcnR1YWwgYm9vbCBuZWVkc1NpdGVTcGVjaWZpY1F1aXJrcygpIGNvbnN0IE9WRVJSSURF
OwotICAgIHZpcnR1YWwgYm9vbCBsb2NhbEZpbGVDb250ZW50U25pZmZpbmdFbmFibGVkKCkgY29u
c3QgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Npb24m
IHN0b3JhZ2VTZXNzaW9uKCkgY29uc3QgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBSZXRhaW5QdHI8
Q0ZEYXRhUmVmPiBzb3VyY2VBcHBsaWNhdGlvbkF1ZGl0RGF0YSgpIGNvbnN0IE9WRVJSSURFOwot
ICAgIHZpcnR1YWwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBibG9ja2VkRXJyb3IoY29uc3QgV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0JikgY29uc3QgT1ZFUlJJREU7Ci0KLSAgICBib29sIG1fbmVl
ZHNTaXRlU3BlY2lmaWNRdWlya3M7Ci0gICAgYm9vbCBtX2xvY2FsRmlsZUNvbnRlbnRTbmlmZmlu
Z0VuYWJsZWQ7Ci0gICAgYm9vbCBtX3ByaXZhdGVCcm93c2luZ0VuYWJsZWQ7Ci0gICAgYm9vbCBt
X3Nob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3Q7Ci19OwotCi19Ci0KLSNl
bmRpZiAvLyBSZW1vdGVOZXR3b3JraW5nQ29udGV4dF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvUmVtb3RlTmV0d29ya2luZ0NvbnRleHQubW0gYi9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvUmVtb3RlTmV0d29ya2luZ0NvbnRleHQubW0K
aW5kZXggNTNlYzkxYzVkZDQ1MjVlNDEwYmVkZDlmN2MyZGY5MTBmYzZkMGZhZS4uNWQzNDJhMTM1
YjUyYWMzZjAxZjg2ZDdhOTdiMzg1NDMxMGMyNWNhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvbWFjL1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0Lm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9SZW1vdGVOZXR3b3JraW5nQ29udGV4dC5t
bQpAQCAtNDMsMTkgKzQzLDYgQEAgc3RhdGljIE93blB0cjxOZXR3b3JrU3RvcmFnZVNlc3Npb24+
JiBwcml2YXRlQnJvd3NpbmdTdG9yYWdlU2Vzc2lvbigpCiAgICAgcmV0dXJuIHNlc3Npb247CiB9
CiAKLWJvb2wgUmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OnNob3VsZENsZWFyUmVmZXJyZXJPbkhU
VFBTVG9IVFRQUmVkaXJlY3QoKSBjb25zdAotewotICAgIHJldHVybiBtX3Nob3VsZENsZWFyUmVm
ZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3Q7Ci19Ci0KLVJlbW90ZU5ldHdvcmtpbmdDb250ZXh0
OjpSZW1vdGVOZXR3b3JraW5nQ29udGV4dChib29sIG5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzLCBi
b29sIGxvY2FsRmlsZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWQsIGJvb2wgcHJpdmF0ZUJyb3dzaW5n
RW5hYmxlZCwgYm9vbCBzaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0KQot
ICAgIDogbV9uZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyhuZWVkc1NpdGVTcGVjaWZpY1F1aXJrcykK
LSAgICAsIG1fbG9jYWxGaWxlQ29udGVudFNuaWZmaW5nRW5hYmxlZChsb2NhbEZpbGVDb250ZW50
U25pZmZpbmdFbmFibGVkKQotICAgICwgbV9wcml2YXRlQnJvd3NpbmdFbmFibGVkKHByaXZhdGVC
cm93c2luZ0VuYWJsZWQpCi0gICAgLCBtX3Nob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQ
UmVkaXJlY3Qoc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCkKLXsKLX0K
LQogUmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6On5SZW1vdGVOZXR3b3JraW5nQ29udGV4dCgpCiB7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL1JlbW90
ZU5ldHdvcmtpbmdDb250ZXh0U291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9zb3VwL1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0U291cC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2JlZjU2
NGJlZWUyZWE0YjJkZGUzZjAzY2NlMDMzZmE2YzYzZDUwZQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3NvdXAvUmVtb3RlTmV0d29ya2luZ0NvbnRleHRT
b3VwLmNwcApAQCAtMCwwICsxLDgyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBVbml2ZXJz
aXR5IG9mIFN6ZWdlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
MyBDb21wYW55IDEwMCBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpZiBF
TkFCTEUoTkVUV09SS19QUk9DRVNTKQorI2luY2x1ZGUgIlJlbW90ZU5ldHdvcmtpbmdDb250ZXh0
LmgiCisKKyNpbmNsdWRlIDxXZWJDb3JlL05ldHdvcmtTdG9yYWdlU2Vzc2lvbi5oPgorI2luY2x1
ZGUgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNl
SGFuZGxlLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0
IHsKKworUmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6On5SZW1vdGVOZXR3b3JraW5nQ29udGV4dCgp
Cit7Cit9CisKK2Jvb2wgUmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OmlzVmFsaWQoKSBjb25zdAor
eworICAgIHJldHVybiB0cnVlOworfQorCit1aW50NjRfdCBSZW1vdGVOZXR3b3JraW5nQ29udGV4
dDo6aW5pdGlhdGluZ1BhZ2VJRCgpIGNvbnN0Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAg
ICByZXR1cm4gMDsKK30KKwordm9pZCBSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6c2V0UHJpdmF0
ZUJyb3dzaW5nU3RvcmFnZVNlc3Npb25JZGVudGlmaWVyQmFzZShjb25zdCBTdHJpbmcmKQorewor
ICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgUmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6
OmVuc3VyZVByaXZhdGVCcm93c2luZ1Nlc3Npb24oKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7
Cit9CisKK3ZvaWQgUmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OmRlc3Ryb3lQcml2YXRlQnJvd3Np
bmdTZXNzaW9uKCkKK3sKK30KKworTmV0d29ya1N0b3JhZ2VTZXNzaW9uJiBSZW1vdGVOZXR3b3Jr
aW5nQ29udGV4dDo6c3RvcmFnZVNlc3Npb24oKSBjb25zdAoreworICAgIHJldHVybiBOZXR3b3Jr
U3RvcmFnZVNlc3Npb246OmRlZmF1bHRTdG9yYWdlU2Vzc2lvbigpOworfQorCitOZXR3b3JrU3Rv
cmFnZVNlc3Npb24qIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0Ojpwcml2YXRlQnJvd3NpbmdTZXNz
aW9uKCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiAmTmV0d29ya1N0b3Jh
Z2VTZXNzaW9uOjpkZWZhdWx0U3RvcmFnZVNlc3Npb24oKTsKK30KKworfQorCisjZW5kaWYgLy8g
RU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA2MTU3ZTk5ZThiNTNjN2FlYTQ4NmYzNmJhNDNl
Y2UwMWI5ZGU0MTlmLi5kZWIxMDVkZjVhMjMxMjYyOTgyOTEyODQ0MzBmY2ExODIzZWM4NDFhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKKysrIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC0yNjI4LDcgKzI2MjgsNyBAQAogCQlFMUEzMTczNDEzNENFQTgwMDA3QzlBNEYgLyogQXR0
cmlidXRlZFN0cmluZy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IEF0dHJpYnV0ZWRTdHJpbmcubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxQUVB
MjJEMTQ2ODdCREIwMDgwNDU2OSAvKiBXS0Z1bGxLZXlib2FyZEFjY2Vzc1dhdGNoZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tGdWxsS2V5Ym9hcmRBY2Nlc3NXYXRjaGVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxQUVBMjJFMTQ2ODdCREIwMDgwNDU2
OSAvKiBXS0Z1bGxLZXlib2FyZEFjY2Vzc1dhdGNoZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBXS0Z1bGxLZXlib2FyZEFjY2Vzc1dhdGNoZXIubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUUxQjc4NDcwMTYzRjI0NjkwMDA3QjY5MiAvKiBSZW1v
dGVOZXR3b3JraW5nQ29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBS
ZW1vdGVOZXR3b3JraW5nQ29udGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlF
MUI3ODQ3MDE2M0YyNDY5MDAwN0I2OTIgLyogUmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaDsg
cGF0aCA9IE5ldHdvcmtQcm9jZXNzL1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxQjc4NDcyMTYzRjI1M0UwMDA3QjY5MiAvKiBSZW1vdGVO
ZXR3b3JraW5nQ29udGV4dC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlFMUNDMUI4RTEyRDdFQURGMDA2MjU4MzggLyogUHJpbnRJbmZvLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByaW50SW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlFMUNDMUI4RjEyRDdFQURGMDA2MjU4MzggLyogUHJpbnRJbmZvTWFjLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUHJpbnRJbmZvTWFjLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzU1Myw2ICszNTUzLDcgQEAKIAkJCQlFMTUyNTUx
NzE3MDEwOUZCMDAzRDdBREIgLyogTmV0d29ya1Jlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluICov
LAogCQkJCTUxODI5REEzMTYzN0M3MEMwMDA5NTNENiAvKiBOZXR3b3JrUmVzb3VyY2VMb2FkU2No
ZWR1bGVyLmNwcCAqLywKIAkJCQk1MTgyOURBNDE2MzdDNzBDMDAwOTUzRDYgLyogTmV0d29ya1Jl
c291cmNlTG9hZFNjaGVkdWxlci5oICovLAorCQkJCUUxQjc4NDcwMTYzRjI0NjkwMDA3QjY5MiAv
KiBSZW1vdGVOZXR3b3JraW5nQ29udGV4dC5oICovLAogCQkJCTUxRkNCMTgzMTdCQkZFMDMwMDM5
NENEOCAvKiBTeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwICovLAogCQkJCTUxRkNC
MTg0MTdCQkZFMDMwMDM5NENEOCAvKiBTeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuaCAq
LywKIAkJCSk7CkBAIC0zNTY4LDcgKzM1NjksNiBAQAogCQkJCTUxQThBNjE1MTYyN0YzRjkwMDBE
OTBFOSAvKiBOZXR3b3JrUHJvY2Vzc01hYy5tbSAqLywKIAkJCQk1MUUzQjY3RTE2RjI2NkIzMDA5
OTY4REMgLyogTmV0d29ya1Jlc291cmNlTG9hZGVyTWFjLm1tICovLAogCQkJCTUxMkMwNjhGMTYz
OTBFNjkwMEFCQjkxMSAvKiBOZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyTWFjLm1tICovLAot
CQkJCUUxQjc4NDcwMTYzRjI0NjkwMDA3QjY5MiAvKiBSZW1vdGVOZXR3b3JraW5nQ29udGV4dC5o
ICovLAogCQkJCUUxQjc4NDcyMTYzRjI1M0UwMDA3QjY5MiAvKiBSZW1vdGVOZXR3b3JraW5nQ29u
dGV4dC5tbSAqLywKIAkJCSk7CiAJCQluYW1lID0gbWFjOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212710</attachid>
            <date>2013-09-26 07:59:44 -0700</date>
            <delta_ts>2013-09-27 03:55:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110097-20130926165942.patch</filename>
            <type>text/plain</type>
            <size>17775</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU2NDU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOWQ3YWUyNmUyNGI3NDZl
ODg0NTU3MDNhNWMyZDg0NDA0ZjViM2Y2MC4uZGFjNmI2YTVlMjM4NzY2YWFiYmQ4YWNlZGUxYTU0
YzM3MDQ2OWMzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEzLTA5LTI2ICBLd2Fu
ZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgW1dLMl0gUG9ydCBS
ZW1vdGVOZXR3b3JraW5nQ29udGV4dCBmb3IgU291cAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwMDk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgT3JpZ2luYWwgcGF0Y2ggYnkgQmFsYXpzIEtlbGVtZW4g
PGtiYWxhenNAd2Via2l0Lm9yZz4uCisKKyAgICAgICAgVGhpcyBzaG91bGQgYmUgYSBjcm9zcy1w
bGF0Zm9ybSBpbnRlcmZhY2Ugc28gSSBsaWZ0ZWQgdGhlIGhlYWRlciBmcm9tCisgICAgICAgIHRo
ZSBtYWMgZGlyZWN0b3J5LiBSZW1vdmVkIG1hYyBzcGVjaWZpYyBhcmd1bWVudHMgZnJvbSBjb25z
dHJ1Y3RvciwKKyAgICAgICAgYWRkZWQgc2V0dGVycyBpbnN0ZWFkLiBNb3ZlZCBwbGF0Zm9ybSB0
aGluZ3MgYmVoaW5kIGlmZGVmcyBhbmQgYWRkZWQKKyAgICAgICAgU291cCBzcGVjaWZpYyBiaXRz
LgorCisgICAgICAgIFRoZSBmb2xsb3dpbmcgdGhpbmdzIHdlcmUgZml4ZWQgYnkgQ3NhYmEgT3N6
dHJvZ29uw6FjOgorICAgICAgICAtIHNvbHZlZCBjb25mbGljdHMgaW4gcHJvamVjdC5wYnhwcm9q
CisgICAgICAgIC0gcmVtb3ZlZCB0aGUgY2hhbmdlIGluIHRoZSBub24tZXhpc3RlbnQgU3luY05l
dHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdv
cmtSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxv
YWRlcjo6c3RhcnQpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1JlbW90ZU5ldHdvcmtpbmdD
b250ZXh0Lmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMv
UmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaC4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTmV0d29y
a2luZ0NvbnRleHQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU5ldHdvcmtpbmdD
b250ZXh0OjpSZW1vdGVOZXR3b3JraW5nQ29udGV4dCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZU5ldHdvcmtpbmdDb250ZXh0OjpzZXROZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyk6CisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZU5ldHdvcmtpbmdDb250ZXh0OjpzZXRMb2NhbEZpbGVDb250ZW50U25p
ZmZpbmdFbmFibGVkKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9tYWMvUmVtb3RlTmV0d29y
a2luZ0NvbnRleHQubW06CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mvc291cC9SZW1vdGVOZXR3
b3JraW5nQ29udGV4dFNvdXAuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTmV0
d29ya2luZ0NvbnRleHQ6On5SZW1vdGVOZXR3b3JraW5nQ29udGV4dCk6CisgICAgICAgIChXZWJL
aXQ6OlJlbW90ZU5ldHdvcmtpbmdDb250ZXh0Ojppc1ZhbGlkKToKKyAgICAgICAgKFdlYktpdDo6
UmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OmluaXRpYXRpbmdQYWdlSUQpOgorICAgICAgICAoV2Vi
S2l0OjpSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6c2V0UHJpdmF0ZUJyb3dzaW5nU3RvcmFnZVNl
c3Npb25JZGVudGlmaWVyQmFzZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU5ldHdvcmtpbmdD
b250ZXh0OjplbnN1cmVQcml2YXRlQnJvd3NpbmdTZXNzaW9uKToKKyAgICAgICAgKFdlYktpdDo6
UmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OmRlc3Ryb3lQcml2YXRlQnJvd3NpbmdTZXNzaW9uKToK
KyAgICAgICAgKFdlYktpdDo6UmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OnN0b3JhZ2VTZXNzaW9u
KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OnByaXZhdGVCcm93
c2luZ1Nlc3Npb24pOgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKwogMjAxMy0wOS0yNSAgTWluanUgS2ltICA8cG11YXJ0ZW9AZ21haWwuY29tPgogCiAgICAg
ICAgIDggYnl0ZXMgbWVtb3J5IGxlYWtzIGluIFdlYlByb2Nlc3NNYWluUXQuY3BwIHdoZW4gcHJv
eHkgaXMgaW5pdGlhbGl6ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDkxZTQ0ZGZkNDhhM2QwNTk5NmI4
NWViNjY1ZDc2OGUxOTBiMGViMDkuLjgxMTA0MmU5NDA3OTMwMTUzNzFjMzgzNDU2YTU5OWY4MzJk
NGNkZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtS
ZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Jlc291cmNlTG9hZGVyLmNwcApAQCAtMTI2LDkgKzEyNiw5IEBAIHZvaWQgTmV0d29ya1Jl
c291cmNlTG9hZGVyOjpzdGFydCgpCiAKICAgICAvLyBFeHBsaWNpdCByZWYoKSBiYWxhbmNlZCBi
eSBhIGRlcmVmKCkgaW4gTmV0d29ya1Jlc291cmNlTG9hZGVyOjpyZXNvdXJjZUhhbmRsZVN0b3Bw
ZWQoKQogICAgIHJlZigpOwotICAgIAotICAgIC8vIEZJWE1FIChOZXR3b3JrUHJvY2Vzcyk6IENy
ZWF0ZSBSZW1vdGVOZXR3b3JraW5nQ29udGV4dCB3aXRoIGFjdHVhbCBzZXR0aW5ncy4KLSAgICBt
X25ldHdvcmtpbmdDb250ZXh0ID0gUmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OmNyZWF0ZShmYWxz
ZSwgZmFsc2UsIG1faW5Qcml2YXRlQnJvd3NpbmdNb2RlLCBtX3Nob3VsZENsZWFyUmVmZXJyZXJP
bkhUVFBTVG9IVFRQUmVkaXJlY3QpOworCisgICAgLy8gRklYTUUgKE5ldHdvcmtQcm9jZXNzKTog
U2V0IHBsYXRmb3JtIHNwZWNpZmljIHNldHRpbmdzLgorICAgIG1fbmV0d29ya2luZ0NvbnRleHQg
PSBSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6Y3JlYXRlKG1faW5Qcml2YXRlQnJvd3NpbmdNb2Rl
LCBtX3Nob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3QpOwogCiAgICAgY29u
c3VtZVNhbmRib3hFeHRlbnNpb25zKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9SZW1vdGVOZXR3b3JraW5nQ29udGV4dC5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJhOGNh
OWU4MjExMjI0NTg5NGY2MmFhYWZjMmVmZjFhMWUxNTg4MDQKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9SZW1vdGVOZXR3b3JraW5nQ29udGV4dC5oCkBA
IC0wLDAgKzEsODMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzIFVuaXZlcnNpdHkgb2YgU3pl
Z2VkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFJlbW90ZU5ldHdv
cmtpbmdDb250ZXh0X2gKKyNkZWZpbmUgUmVtb3RlTmV0d29ya2luZ0NvbnRleHRfaAorCisjaW5j
bHVkZSA8V2ViQ29yZS9OZXR3b3JraW5nQ29udGV4dC5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsK
KworY2xhc3MgUmVtb3RlTmV0d29ya2luZ0NvbnRleHQgOiBwdWJsaWMgV2ViQ29yZTo6TmV0d29y
a2luZ0NvbnRleHQgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFJlbW90ZU5ldHdv
cmtpbmdDb250ZXh0PiBjcmVhdGUoYm9vbCBwcml2YXRlQnJvd3NpbmdFbmFibGVkLCBib29sIHNo
b3VsZENsZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3QpCisgICAgeworICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0KHByaXZhdGVCcm93c2lu
Z0VuYWJsZWQsIHNob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3QpKTsKKyAg
ICB9CisgICAgdmlydHVhbCB+UmVtb3RlTmV0d29ya2luZ0NvbnRleHQoKTsKKworICAgIHN0YXRp
YyB2b2lkIHNldFByaXZhdGVCcm93c2luZ1N0b3JhZ2VTZXNzaW9uSWRlbnRpZmllckJhc2UoY29u
c3QgU3RyaW5nJik7CisgICAgc3RhdGljIHZvaWQgZW5zdXJlUHJpdmF0ZUJyb3dzaW5nU2Vzc2lv
bigpOworICAgIHN0YXRpYyB2b2lkIGRlc3Ryb3lQcml2YXRlQnJvd3NpbmdTZXNzaW9uKCk7CisK
KyAgICBzdGF0aWMgV2ViQ29yZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uKiBwcml2YXRlQnJvd3Np
bmdTZXNzaW9uKCk7CisKKyAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRU
UFNUb0hUVFBSZWRpcmVjdCgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIG1fc2hvdWxkQ2xlYXJS
ZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdDsgfQorCitwcml2YXRlOgorICAgIFJlbW90ZU5l
dHdvcmtpbmdDb250ZXh0KGJvb2wgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCwgYm9vbCBzaG91bGRD
bGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0KQorICAgICAgICA6IG1fcHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZChwcml2YXRlQnJvd3NpbmdFbmFibGVkKQorICAgICAgICAsIG1fc2hvdWxk
Q2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdChzaG91bGRDbGVhclJlZmVycmVyT25I
VFRQU1RvSFRUUFJlZGlyZWN0KQorICAgIHsgfQorCisgICAgdmlydHVhbCBib29sIGlzVmFsaWQo
KSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vz
c2lvbiYgc3RvcmFnZVNlc3Npb24oKSBjb25zdCBPVkVSUklERTsKKworI2lmIFBMQVRGT1JNKE1B
QykKKyAgICB2b2lkIHNldE5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzKGJvb2wgdmFsdWUpIHsgbV9u
ZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyA9IHZhbHVlOyB9CisgICAgdmlydHVhbCBib29sIG5lZWRz
U2l0ZVNwZWNpZmljUXVpcmtzKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdm9pZCBzZXRMb2NhbEZp
bGVDb250ZW50U25pZmZpbmdFbmFibGVkKGJvb2wgdmFsdWUpIHsgbV9sb2NhbEZpbGVDb250ZW50
U25pZmZpbmdFbmFibGVkID0gdmFsdWU7IH0KKyAgICB2aXJ0dWFsIGJvb2wgbG9jYWxGaWxlQ29u
dGVudFNuaWZmaW5nRW5hYmxlZCgpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgUmV0YWlu
UHRyPENGRGF0YVJlZj4gc291cmNlQXBwbGljYXRpb25BdWRpdERhdGEoKSBjb25zdCBPVkVSUklE
RTsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OlJlc291cmNlRXJyb3IgYmxvY2tlZEVycm9yKGNvbnN0
IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpIGNvbnN0IE9WRVJSSURFOworI2VuZGlmCisKKyNp
ZiBVU0UoU09VUCkKKyAgICB2aXJ0dWFsIHVpbnQ2NF90IGluaXRpYXRpbmdQYWdlSUQoKSBjb25z
dDsKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKQorICAgIGJvb2wgbV9uZWVkc1NpdGVTcGVj
aWZpY1F1aXJrczsKKyAgICBib29sIG1fbG9jYWxGaWxlQ29udGVudFNuaWZmaW5nRW5hYmxlZDsK
KyNlbmRpZgorCisgICAgYm9vbCBtX3ByaXZhdGVCcm93c2luZ0VuYWJsZWQ7CisgICAgYm9vbCBt
X3Nob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3Q7Cit9OworCit9CisKKyNl
bmRpZiAvLyBSZW1vdGVOZXR3b3JraW5nQ29udGV4dF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvUmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaCBiL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9SZW1vdGVOZXR3b3JraW5nQ29udGV4dC5oCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMDQwMjI0NmI2YzUwZTZmNDViMGNhMTVkMzNm
YzdkNDhiZjY2ODMxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9SZW1vdGVOZXR3b3JraW5nQ29u
dGV4dC5oCisrKyAvZGV2L251bGwKQEAgLTEsNjggKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5k
ZWYgUmVtb3RlTmV0d29ya2luZ0NvbnRleHRfaAotI2RlZmluZSBSZW1vdGVOZXR3b3JraW5nQ29u
dGV4dF9oCi0KLSNpbmNsdWRlIDxXZWJDb3JlL05ldHdvcmtpbmdDb250ZXh0Lmg+Ci0KLW5hbWVz
cGFjZSBXZWJLaXQgewotCi1jbGFzcyBSZW1vdGVOZXR3b3JraW5nQ29udGV4dCA6IHB1YmxpYyBX
ZWJDb3JlOjpOZXR3b3JraW5nQ29udGV4dCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQ
dHI8UmVtb3RlTmV0d29ya2luZ0NvbnRleHQ+IGNyZWF0ZShib29sIG5lZWRzU2l0ZVNwZWNpZmlj
UXVpcmtzLCBib29sIGxvY2FsRmlsZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWQsIGJvb2wgcHJpdmF0
ZUJyb3dzaW5nRW5hYmxlZCwgYm9vbCBzaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJl
ZGlyZWN0KQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBSZW1vdGVOZXR3b3Jr
aW5nQ29udGV4dChuZWVkc1NpdGVTcGVjaWZpY1F1aXJrcywgbG9jYWxGaWxlQ29udGVudFNuaWZm
aW5nRW5hYmxlZCwgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCwgc2hvdWxkQ2xlYXJSZWZlcnJlck9u
SFRUUFNUb0hUVFBSZWRpcmVjdCkpOwotICAgIH0KLSAgICB2aXJ0dWFsIH5SZW1vdGVOZXR3b3Jr
aW5nQ29udGV4dCgpOwotCi0gICAgc3RhdGljIHZvaWQgc2V0UHJpdmF0ZUJyb3dzaW5nU3RvcmFn
ZVNlc3Npb25JZGVudGlmaWVyQmFzZShjb25zdCBTdHJpbmcmKTsKLSAgICBzdGF0aWMgdm9pZCBl
bnN1cmVQcml2YXRlQnJvd3NpbmdTZXNzaW9uKCk7Ci0gICAgc3RhdGljIHZvaWQgZGVzdHJveVBy
aXZhdGVCcm93c2luZ1Nlc3Npb24oKTsKLQotICAgIHN0YXRpYyBXZWJDb3JlOjpOZXR3b3JrU3Rv
cmFnZVNlc3Npb24qIHByaXZhdGVCcm93c2luZ1Nlc3Npb24oKTsKLQotICAgIHZpcnR1YWwgYm9v
bCBzaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0KCkgY29uc3QgT1ZFUlJJ
REU7Ci0KLXByaXZhdGU6Ci0gICAgUmVtb3RlTmV0d29ya2luZ0NvbnRleHQoYm9vbCBuZWVkc1Np
dGVTcGVjaWZpY1F1aXJrcywgYm9vbCBsb2NhbEZpbGVDb250ZW50U25pZmZpbmdFbmFibGVkLCBi
b29sIHByaXZhdGVCcm93c2luZ0VuYWJsZWQsIGJvb2wgbV9zaG91bGRDbGVhclJlZmVycmVyT25I
VFRQU1RvSFRUUFJlZGlyZWN0KTsKLQotICAgIHZpcnR1YWwgYm9vbCBpc1ZhbGlkKCkgY29uc3Qg
T1ZFUlJJREU7Ci0KLSAgICB2aXJ0dWFsIGJvb2wgbmVlZHNTaXRlU3BlY2lmaWNRdWlya3MoKSBj
b25zdCBPVkVSUklERTsKLSAgICB2aXJ0dWFsIGJvb2wgbG9jYWxGaWxlQ29udGVudFNuaWZmaW5n
RW5hYmxlZCgpIGNvbnN0IE9WRVJSSURFOwotICAgIHZpcnR1YWwgV2ViQ29yZTo6TmV0d29ya1N0
b3JhZ2VTZXNzaW9uJiBzdG9yYWdlU2Vzc2lvbigpIGNvbnN0IE9WRVJSSURFOwotICAgIHZpcnR1
YWwgUmV0YWluUHRyPENGRGF0YVJlZj4gc291cmNlQXBwbGljYXRpb25BdWRpdERhdGEoKSBjb25z
dCBPVkVSUklERTsKLSAgICB2aXJ0dWFsIFdlYkNvcmU6OlJlc291cmNlRXJyb3IgYmxvY2tlZEVy
cm9yKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpIGNvbnN0IE9WRVJSSURFOwotCi0g
ICAgYm9vbCBtX25lZWRzU2l0ZVNwZWNpZmljUXVpcmtzOwotICAgIGJvb2wgbV9sb2NhbEZpbGVD
b250ZW50U25pZmZpbmdFbmFibGVkOwotICAgIGJvb2wgbV9wcml2YXRlQnJvd3NpbmdFbmFibGVk
OwotICAgIGJvb2wgbV9zaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0Owot
fTsKLQotfQotCi0jZW5kaWYgLy8gUmVtb3RlTmV0d29ya2luZ0NvbnRleHRfaApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL1JlbW90ZU5ldHdvcmtpbmdDb250
ZXh0Lm1tIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL1JlbW90ZU5ldHdvcmtp
bmdDb250ZXh0Lm1tCmluZGV4IDUzZWM5MWM1ZGQ0NTI1ZTQxMGJlZGQ5ZjdjMmRmOTEwZmM2ZDBm
YWUuLjVkMzQyYTEzNWI1MmFjM2YwMWY4NmQ3YTk3YjM4NTQzMTBjMjVjYTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9SZW1vdGVOZXR3b3JraW5nQ29udGV4
dC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvUmVtb3RlTmV0d29y
a2luZ0NvbnRleHQubW0KQEAgLTQzLDE5ICs0Myw2IEBAIHN0YXRpYyBPd25QdHI8TmV0d29ya1N0
b3JhZ2VTZXNzaW9uPiYgcHJpdmF0ZUJyb3dzaW5nU3RvcmFnZVNlc3Npb24oKQogICAgIHJldHVy
biBzZXNzaW9uOwogfQogCi1ib29sIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0OjpzaG91bGRDbGVh
clJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9z
aG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0OwotfQotCi1SZW1vdGVOZXR3
b3JraW5nQ29udGV4dDo6UmVtb3RlTmV0d29ya2luZ0NvbnRleHQoYm9vbCBuZWVkc1NpdGVTcGVj
aWZpY1F1aXJrcywgYm9vbCBsb2NhbEZpbGVDb250ZW50U25pZmZpbmdFbmFibGVkLCBib29sIHBy
aXZhdGVCcm93c2luZ0VuYWJsZWQsIGJvb2wgc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hU
VFBSZWRpcmVjdCkKLSAgICA6IG1fbmVlZHNTaXRlU3BlY2lmaWNRdWlya3MobmVlZHNTaXRlU3Bl
Y2lmaWNRdWlya3MpCi0gICAgLCBtX2xvY2FsRmlsZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWQobG9j
YWxGaWxlQ29udGVudFNuaWZmaW5nRW5hYmxlZCkKLSAgICAsIG1fcHJpdmF0ZUJyb3dzaW5nRW5h
YmxlZChwcml2YXRlQnJvd3NpbmdFbmFibGVkKQotICAgICwgbV9zaG91bGRDbGVhclJlZmVycmVy
T25IVFRQU1RvSFRUUFJlZGlyZWN0KHNob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVk
aXJlY3QpCi17Ci19Ci0KIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0Ojp+UmVtb3RlTmV0d29ya2lu
Z0NvbnRleHQoKQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3Mvc291cC9SZW1vdGVOZXR3b3JraW5nQ29udGV4dFNvdXAuY3BwIGIvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3Mvc291cC9SZW1vdGVOZXR3b3JraW5nQ29udGV4dFNvdXAuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjNiZWY1NjRiZWVlMmVhNGIyZGRlM2YwM2NjZTAzM2ZhNmM2M2Q1MGUKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL1JlbW90ZU5ldHdv
cmtpbmdDb250ZXh0U291cC5jcHAKQEAgLTAsMCArMSw4MiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTMgVW5pdmVyc2l0eSBvZiBTemVnZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKKyNpbmNsdWRlICJSZW1vdGVOZXR3
b3JraW5nQ29udGV4dC5oIgorCisjaW5jbHVkZSA8V2ViQ29yZS9OZXR3b3JrU3RvcmFnZVNlc3Np
b24uaD4KKyNpbmNsdWRlIDxXZWJDb3JlL05vdEltcGxlbWVudGVkLmg+CisjaW5jbHVkZSA8V2Vi
Q29yZS9SZXNvdXJjZUhhbmRsZS5oPgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworbmFt
ZXNwYWNlIFdlYktpdCB7CisKK1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0Ojp+UmVtb3RlTmV0d29y
a2luZ0NvbnRleHQoKQoreworfQorCitib29sIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0Ojppc1Zh
bGlkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordWludDY0X3QgUmVtb3RlTmV0
d29ya2luZ0NvbnRleHQ6OmluaXRpYXRpbmdQYWdlSUQoKSBjb25zdAoreworICAgIG5vdEltcGxl
bWVudGVkKCk7CisgICAgcmV0dXJuIDA7Cit9CisKK3ZvaWQgUmVtb3RlTmV0d29ya2luZ0NvbnRl
eHQ6OnNldFByaXZhdGVCcm93c2luZ1N0b3JhZ2VTZXNzaW9uSWRlbnRpZmllckJhc2UoY29uc3Qg
U3RyaW5nJikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lkIFJlbW90ZU5ldHdv
cmtpbmdDb250ZXh0OjplbnN1cmVQcml2YXRlQnJvd3NpbmdTZXNzaW9uKCkKK3sKKyAgICBub3RJ
bXBsZW1lbnRlZCgpOworfQorCit2b2lkIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0OjpkZXN0cm95
UHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbigpCit7Cit9CisKK05ldHdvcmtTdG9yYWdlU2Vzc2lvbiYg
UmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OnN0b3JhZ2VTZXNzaW9uKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpkZWZhdWx0U3RvcmFnZVNlc3Npb24oKTsKK30K
KworTmV0d29ya1N0b3JhZ2VTZXNzaW9uKiBSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6cHJpdmF0
ZUJyb3dzaW5nU2Vzc2lvbigpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4g
Jk5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6ZGVmYXVsdFN0b3JhZ2VTZXNzaW9uKCk7Cit9CisKK30K
KworI2VuZGlmIC8vIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMTUwNjJkZTk0ODYyYTdh
YWE0YjBkM2ZmYjYyY2NlNWNjZDRlNDRiNy4uYWRkNGVkNTQxNDk0ZTUyMzk5NTcyYTRhMjgyNzFj
NjdmNmM4MzY5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtMjU5Myw3ICsyNTkzLDcgQEAKIAkJRTFBMzE3MzQxMzRDRUE4MDAw
N0M5QTRGIC8qIEF0dHJpYnV0ZWRTdHJpbmcubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBBdHRyaWJ1dGVkU3RyaW5nLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlFMUFFQTIyRDE0Njg3QkRCMDA4MDQ1NjkgLyogV0tGdWxsS2V5Ym9hcmRBY2Nlc3NX
YXRjaGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLRnVsbEtleWJvYXJk
QWNjZXNzV2F0Y2hlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUFFQTIyRTE0
Njg3QkRCMDA4MDQ1NjkgLyogV0tGdWxsS2V5Ym9hcmRBY2Nlc3NXYXRjaGVyLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV0tGdWxsS2V5Ym9hcmRBY2Nlc3NXYXRj
aGVyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFMUI3ODQ3MDE2M0YyNDY5MDAw
N0I2OTIgLyogUmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJRTFCNzg0NzAxNjNGMjQ2OTAwMDdCNjkyIC8qIFJlbW90ZU5ldHdvcmtpbmdD
b250ZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFJlbW90ZU5ldHdvcmtp
bmdDb250ZXh0Lmg7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy9SZW1vdGVOZXR3b3JraW5nQ29udGV4
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUI3ODQ3MjE2M0YyNTNFMDAwN0I2
OTIgLyogUmVtb3RlTmV0d29ya2luZ0NvbnRleHQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBSZW1vdGVOZXR3b3JraW5nQ29udGV4dC5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRTFDQzFCOEUxMkQ3RUFERjAwNjI1ODM4IC8qIFByaW50SW5mby5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcmludEluZm8uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTFDQzFCOEYxMkQ3RUFERjAwNjI1ODM4IC8qIFByaW50SW5m
b01hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFByaW50SW5m
b01hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTM0ODgsNiArMzQ4OCw3IEBA
CiAJCQkJRTE1MjU1MTcxNzAxMDlGQjAwM0Q3QURCIC8qIE5ldHdvcmtSZXNvdXJjZUxvYWRlci5t
ZXNzYWdlcy5pbiAqLywKIAkJCQk1MTgyOURBMzE2MzdDNzBDMDAwOTUzRDYgLyogTmV0d29ya1Jl
c291cmNlTG9hZFNjaGVkdWxlci5jcHAgKi8sCiAJCQkJNTE4MjlEQTQxNjM3QzcwQzAwMDk1M0Q2
IC8qIE5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXIuaCAqLywKKwkJCQlFMUI3ODQ3MDE2M0Yy
NDY5MDAwN0I2OTIgLyogUmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaCAqLywKIAkJCQk1MUZDQjE4
MzE3QkJGRTAzMDAzOTRDRDggLyogU3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcCAq
LywKIAkJCQk1MUZDQjE4NDE3QkJGRTAzMDAzOTRDRDggLyogU3luY2hyb25vdXNOZXR3b3JrTG9h
ZGVyQ2xpZW50LmggKi8sCiAJCQkpOwpAQCAtMzUwMyw3ICszNTA0LDYgQEAKIAkJCQk1MUE4QTYx
NTE2MjdGM0Y5MDAwRDkwRTkgLyogTmV0d29ya1Byb2Nlc3NNYWMubW0gKi8sCiAJCQkJNTFFM0I2
N0UxNkYyNjZCMzAwOTk2OERDIC8qIE5ldHdvcmtSZXNvdXJjZUxvYWRlck1hYy5tbSAqLywKIAkJ
CQk1MTJDMDY4RjE2MzkwRTY5MDBBQkI5MTEgLyogTmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxl
ck1hYy5tbSAqLywKLQkJCQlFMUI3ODQ3MDE2M0YyNDY5MDAwN0I2OTIgLyogUmVtb3RlTmV0d29y
a2luZ0NvbnRleHQuaCAqLywKIAkJCQlFMUI3ODQ3MjE2M0YyNTNFMDAwN0I2OTIgLyogUmVtb3Rl
TmV0d29ya2luZ0NvbnRleHQubW0gKi8sCiAJCQkpOwogCQkJbmFtZSA9IG1hYzsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212794</attachid>
            <date>2013-09-27 03:56:00 -0700</date>
            <delta_ts>2013-09-27 04:31:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110097-20130927035607.patch</filename>
            <type>text/plain</type>
            <size>18130</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU2NTMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggODE2ZDJjOWEyYTVmYzE2
ZTFjYzUzODRmYjg0YmFiM2U0NmZhMzYwYS4uNTM1YzYwNjY0ZTgwMGEzMDIyYWU0OThhNDZmODI2
ODg2OGQzNjgwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEzLTA5LTI3ICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgW1dLMl0gUG9ydCBS
ZW1vdGVOZXR3b3JraW5nQ29udGV4dCBmb3IgU291cAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwMDk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgT3JpZ2luYWwgcGF0Y2ggYnkgQmFsYXpzIEtlbGVtZW4g
PGtiYWxhenNAd2Via2l0Lm9yZz4gYW5kIEt3YW5nIFl1bCBTZW8gPHNreXVsQGNvbXBhbnkxMDAu
bmV0Pi4KKworICAgICAgICBUaGlzIHNob3VsZCBiZSBhIGNyb3NzLXBsYXRmb3JtIGludGVyZmFj
ZSBzbyBJIGxpZnRlZCB0aGUgaGVhZGVyIGZyb20KKyAgICAgICAgdGhlIG1hYyBkaXJlY3Rvcnku
IFJlbW92ZWQgbWFjIHNwZWNpZmljIGFyZ3VtZW50cyBmcm9tIGNvbnN0cnVjdG9yLAorICAgICAg
ICBhZGRlZCBzZXR0ZXJzIGluc3RlYWQuIE1vdmVkIHBsYXRmb3JtIHRoaW5ncyBiZWhpbmQgaWZk
ZWZzIGFuZCBhZGRlZAorICAgICAgICBTb3VwIHNwZWNpZmljIGJpdHMuCisKKyAgICAgICAgVGhl
IGZvbGxvd2luZyB0aGluZ3Mgd2VyZSBmaXhlZCBieSBDc2FiYSBPc3p0cm9nb27DoWM6CisgICAg
ICAgIC0gc29sdmVkIGNvbmZsaWN0cyBpbiBwcm9qZWN0LnBieHByb2oKKyAgICAgICAgLSByZW1v
dmVkIHRoZSBjaGFuZ2UgaW4gdGhlIG5vbi1leGlzdGVudCBTeW5jTmV0d29ya1Jlc291cmNlTG9h
ZGVyLmNwcAorICAgICAgICAtIG1hcmtlZCBSZW1vdGVOZXR3b3JraW5nQ29udGV4dCBjbGFzcyBh
cyBGSU5BTAorICAgICAgICAtIHJlb3JkZXJlZCB0aGUgbWVtYmVycyBmb3IgcGxhdGZvcm0gc3Bl
Y2lmaWMgaW5pdGlhbGl6YXRpb24KKyAgICAgICAgLSBhZGRlZCBpbml0aWFsaXplcnMgdG8gbV9u
ZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyBhbmQgbV9sb2NhbEZpbGVDb250ZW50U25pZmZpbmdFbmFi
bGVkIG1lbWJlcnMgb24gUExBVEZPUk0oTUFDKQorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291
cmNlTG9hZGVyOjpzdGFydCk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvUmVtb3RlTmV0d29y
a2luZ0NvbnRleHQuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L21hYy9SZW1vdGVOZXR3b3JraW5nQ29udGV4dC5oLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVO
ZXR3b3JraW5nQ29udGV4dDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTmV0d29y
a2luZ0NvbnRleHQ6OlJlbW90ZU5ldHdvcmtpbmdDb250ZXh0KToKKyAgICAgICAgKFdlYktpdDo6
UmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OnNldE5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzKToKKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OnNldExvY2FsRmlsZUNvbnRl
bnRTbmlmZmluZ0VuYWJsZWQpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL21hYy9SZW1vdGVO
ZXR3b3JraW5nQ29udGV4dC5tbToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9zb3VwL1JlbW90
ZU5ldHdvcmtpbmdDb250ZXh0U291cC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1v
dGVOZXR3b3JraW5nQ29udGV4dDo6flJlbW90ZU5ldHdvcmtpbmdDb250ZXh0KToKKyAgICAgICAg
KFdlYktpdDo6UmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OmlzVmFsaWQpOgorICAgICAgICAoV2Vi
S2l0OjpSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6aW5pdGlhdGluZ1BhZ2VJRCk6CisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZU5ldHdvcmtpbmdDb250ZXh0OjpzZXRQcml2YXRlQnJvd3NpbmdTdG9y
YWdlU2Vzc2lvbklkZW50aWZpZXJCYXNlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTmV0d29y
a2luZ0NvbnRleHQ6OmVuc3VyZVByaXZhdGVCcm93c2luZ1Nlc3Npb24pOgorICAgICAgICAoV2Vi
S2l0OjpSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6ZGVzdHJveVByaXZhdGVCcm93c2luZ1Nlc3Np
b24pOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6c3RvcmFnZVNl
c3Npb24pOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6cHJpdmF0
ZUJyb3dzaW5nU2Vzc2lvbik6CisgICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorCiAyMDEzLTA5LTI2ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5j
b20+CiAKICAgICAgICAgUmVtb3ZlIFdpbmRvd3MgY29kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggOTFl
NDRkZmQ0OGEzZDA1OTk2Yjg1ZWI2NjVkNzY4ZTE5MGIwZWIwOS4uODExMDQyZTk0MDc5MzAxNTM3
MWMzODM0NTZhNTk5ZjgzMmQ0Y2RlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0xMjYsOSArMTI2LDkg
QEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnN0YXJ0KCkKIAogICAgIC8vIEV4cGxpY2l0
IHJlZigpIGJhbGFuY2VkIGJ5IGEgZGVyZWYoKSBpbiBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnJl
c291cmNlSGFuZGxlU3RvcHBlZCgpCiAgICAgcmVmKCk7Ci0gICAgCi0gICAgLy8gRklYTUUgKE5l
dHdvcmtQcm9jZXNzKTogQ3JlYXRlIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0IHdpdGggYWN0dWFs
IHNldHRpbmdzLgotICAgIG1fbmV0d29ya2luZ0NvbnRleHQgPSBSZW1vdGVOZXR3b3JraW5nQ29u
dGV4dDo6Y3JlYXRlKGZhbHNlLCBmYWxzZSwgbV9pblByaXZhdGVCcm93c2luZ01vZGUsIG1fc2hv
dWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCk7CisKKyAgICAvLyBGSVhNRSAo
TmV0d29ya1Byb2Nlc3MpOiBTZXQgcGxhdGZvcm0gc3BlY2lmaWMgc2V0dGluZ3MuCisgICAgbV9u
ZXR3b3JraW5nQ29udGV4dCA9IFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0OjpjcmVhdGUobV9pblBy
aXZhdGVCcm93c2luZ01vZGUsIG1fc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRp
cmVjdCk7CiAKICAgICBjb25zdW1lU2FuZGJveEV4dGVuc2lvbnMoKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvUmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaCBi
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0LmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjgyNmIxOTA2NzQ1NTk1NmVkYTQ5NTczMTY1NjlhNDVlMjJiZTg0MQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL1JlbW90ZU5ldHdv
cmtpbmdDb250ZXh0LmgKQEAgLTAsMCArMSw4NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMg
VW5pdmVyc2l0eSBvZiBTemVnZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
Zm5kZWYgUmVtb3RlTmV0d29ya2luZ0NvbnRleHRfaAorI2RlZmluZSBSZW1vdGVOZXR3b3JraW5n
Q29udGV4dF9oCisKKyNpbmNsdWRlIDxXZWJDb3JlL05ldHdvcmtpbmdDb250ZXh0Lmg+CisKK25h
bWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBSZW1vdGVOZXR3b3JraW5nQ29udGV4dCBGSU5BTCA6
IHB1YmxpYyBXZWJDb3JlOjpOZXR3b3JraW5nQ29udGV4dCB7CitwdWJsaWM6CisgICAgc3RhdGlj
IFBhc3NSZWZQdHI8UmVtb3RlTmV0d29ya2luZ0NvbnRleHQ+IGNyZWF0ZShib29sIHByaXZhdGVC
cm93c2luZ0VuYWJsZWQsIGJvb2wgc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRp
cmVjdCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgUmVtb3RlTmV0d29ya2lu
Z0NvbnRleHQocHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCwgc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRU
UFNUb0hUVFBSZWRpcmVjdCkpOworICAgIH0KKyAgICB2aXJ0dWFsIH5SZW1vdGVOZXR3b3JraW5n
Q29udGV4dCgpOworCisgICAgc3RhdGljIHZvaWQgc2V0UHJpdmF0ZUJyb3dzaW5nU3RvcmFnZVNl
c3Npb25JZGVudGlmaWVyQmFzZShjb25zdCBTdHJpbmcmKTsKKyAgICBzdGF0aWMgdm9pZCBlbnN1
cmVQcml2YXRlQnJvd3NpbmdTZXNzaW9uKCk7CisgICAgc3RhdGljIHZvaWQgZGVzdHJveVByaXZh
dGVCcm93c2luZ1Nlc3Npb24oKTsKKworICAgIHN0YXRpYyBXZWJDb3JlOjpOZXR3b3JrU3RvcmFn
ZVNlc3Npb24qIHByaXZhdGVCcm93c2luZ1Nlc3Npb24oKTsKKworICAgIHZpcnR1YWwgYm9vbCBz
aG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0KCkgY29uc3QgT1ZFUlJJREUg
eyByZXR1cm4gbV9zaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0OyB9CisK
K3ByaXZhdGU6CisgICAgUmVtb3RlTmV0d29ya2luZ0NvbnRleHQoYm9vbCBwcml2YXRlQnJvd3Np
bmdFbmFibGVkLCBib29sIHNob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3Qp
CisgICAgICAgIDogbV9wcml2YXRlQnJvd3NpbmdFbmFibGVkKHByaXZhdGVCcm93c2luZ0VuYWJs
ZWQpCisgICAgICAgICwgbV9zaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0
KHNob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3QpCisjaWYgUExBVEZPUk0o
TUFDKQorICAgICAgICAsIG1fbmVlZHNTaXRlU3BlY2lmaWNRdWlya3MoZmFsc2UpCisgICAgICAg
ICwgbV9sb2NhbEZpbGVDb250ZW50U25pZmZpbmdFbmFibGVkKGZhbHNlKQorI2VuZGlmCisgICAg
eyB9CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNWYWxpZCgpIGNvbnN0IE9WRVJSSURFOworICAgIHZp
cnR1YWwgV2ViQ29yZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uJiBzdG9yYWdlU2Vzc2lvbigpIGNv
bnN0IE9WRVJSSURFOworCisgICAgdm9pZCBzZXROZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyhib29s
IHZhbHVlKSB7IG1fbmVlZHNTaXRlU3BlY2lmaWNRdWlya3MgPSB2YWx1ZTsgfQorICAgIHZpcnR1
YWwgYm9vbCBuZWVkc1NpdGVTcGVjaWZpY1F1aXJrcygpIGNvbnN0IE9WRVJSSURFOworICAgIHZv
aWQgc2V0TG9jYWxGaWxlQ29udGVudFNuaWZmaW5nRW5hYmxlZChib29sIHZhbHVlKSB7IG1fbG9j
YWxGaWxlQ29udGVudFNuaWZmaW5nRW5hYmxlZCA9IHZhbHVlOyB9CisgICAgdmlydHVhbCBib29s
IGxvY2FsRmlsZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWQoKSBjb25zdCBPVkVSUklERTsKKyAgICB2
aXJ0dWFsIFJldGFpblB0cjxDRkRhdGFSZWY+IHNvdXJjZUFwcGxpY2F0aW9uQXVkaXREYXRhKCkg
Y29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGJsb2Nr
ZWRFcnJvcihjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmKSBjb25zdCBPVkVSUklERTsK
KyNlbmRpZgorCisjaWYgVVNFKFNPVVApCisgICAgdmlydHVhbCB1aW50NjRfdCBpbml0aWF0aW5n
UGFnZUlEKCkgY29uc3Q7CisjZW5kaWYKKworICAgIGJvb2wgbV9wcml2YXRlQnJvd3NpbmdFbmFi
bGVkOworICAgIGJvb2wgbV9zaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0
OworCisjaWYgUExBVEZPUk0oTUFDKQorICAgIGJvb2wgbV9uZWVkc1NpdGVTcGVjaWZpY1F1aXJr
czsKKyAgICBib29sIG1fbG9jYWxGaWxlQ29udGVudFNuaWZmaW5nRW5hYmxlZDsKKyNlbmRpZgor
fTsKKworfQorCisjZW5kaWYgLy8gUmVtb3RlTmV0d29ya2luZ0NvbnRleHRfaApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL1JlbW90ZU5ldHdvcmtpbmdDb250
ZXh0LmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvUmVtb3RlTmV0d29ya2lu
Z0NvbnRleHQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDA0MDIyNDZiNmM1MGU2
ZjQ1YjBjYTE1ZDMzZmM3ZDQ4YmY2NjgzMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvUmVtb3Rl
TmV0d29ya2luZ0NvbnRleHQuaAorKysgL2Rldi9udWxsCkBAIC0xLDY4ICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
LSAqLwotCi0jaWZuZGVmIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0X2gKLSNkZWZpbmUgUmVtb3Rl
TmV0d29ya2luZ0NvbnRleHRfaAotCi0jaW5jbHVkZSA8V2ViQ29yZS9OZXR3b3JraW5nQ29udGV4
dC5oPgotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotY2xhc3MgUmVtb3RlTmV0d29ya2luZ0NvbnRl
eHQgOiBwdWJsaWMgV2ViQ29yZTo6TmV0d29ya2luZ0NvbnRleHQgewotcHVibGljOgotICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0PiBjcmVhdGUoYm9vbCBuZWVk
c1NpdGVTcGVjaWZpY1F1aXJrcywgYm9vbCBsb2NhbEZpbGVDb250ZW50U25pZmZpbmdFbmFibGVk
LCBib29sIHByaXZhdGVCcm93c2luZ0VuYWJsZWQsIGJvb2wgc2hvdWxkQ2xlYXJSZWZlcnJlck9u
SFRUUFNUb0hUVFBSZWRpcmVjdCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcg
UmVtb3RlTmV0d29ya2luZ0NvbnRleHQobmVlZHNTaXRlU3BlY2lmaWNRdWlya3MsIGxvY2FsRmls
ZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWQsIHByaXZhdGVCcm93c2luZ0VuYWJsZWQsIHNob3VsZENs
ZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3QpKTsKLSAgICB9Ci0gICAgdmlydHVhbCB+
UmVtb3RlTmV0d29ya2luZ0NvbnRleHQoKTsKLQotICAgIHN0YXRpYyB2b2lkIHNldFByaXZhdGVC
cm93c2luZ1N0b3JhZ2VTZXNzaW9uSWRlbnRpZmllckJhc2UoY29uc3QgU3RyaW5nJik7Ci0gICAg
c3RhdGljIHZvaWQgZW5zdXJlUHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbigpOwotICAgIHN0YXRpYyB2
b2lkIGRlc3Ryb3lQcml2YXRlQnJvd3NpbmdTZXNzaW9uKCk7Ci0KLSAgICBzdGF0aWMgV2ViQ29y
ZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uKiBwcml2YXRlQnJvd3NpbmdTZXNzaW9uKCk7Ci0KLSAg
ICB2aXJ0dWFsIGJvb2wgc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCgp
IGNvbnN0IE9WRVJSSURFOwotCi1wcml2YXRlOgotICAgIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0
KGJvb2wgbmVlZHNTaXRlU3BlY2lmaWNRdWlya3MsIGJvb2wgbG9jYWxGaWxlQ29udGVudFNuaWZm
aW5nRW5hYmxlZCwgYm9vbCBwcml2YXRlQnJvd3NpbmdFbmFibGVkLCBib29sIG1fc2hvdWxkQ2xl
YXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCk7Ci0KLSAgICB2aXJ0dWFsIGJvb2wgaXNW
YWxpZCgpIGNvbnN0IE9WRVJSSURFOwotCi0gICAgdmlydHVhbCBib29sIG5lZWRzU2l0ZVNwZWNp
ZmljUXVpcmtzKCkgY29uc3QgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBib29sIGxvY2FsRmlsZUNv
bnRlbnRTbmlmZmluZ0VuYWJsZWQoKSBjb25zdCBPVkVSUklERTsKLSAgICB2aXJ0dWFsIFdlYkNv
cmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbiYgc3RvcmFnZVNlc3Npb24oKSBjb25zdCBPVkVSUklE
RTsKLSAgICB2aXJ0dWFsIFJldGFpblB0cjxDRkRhdGFSZWY+IHNvdXJjZUFwcGxpY2F0aW9uQXVk
aXREYXRhKCkgY29uc3QgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBXZWJDb3JlOjpSZXNvdXJjZUVy
cm9yIGJsb2NrZWRFcnJvcihjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmKSBjb25zdCBP
VkVSUklERTsKLQotICAgIGJvb2wgbV9uZWVkc1NpdGVTcGVjaWZpY1F1aXJrczsKLSAgICBib29s
IG1fbG9jYWxGaWxlQ29udGVudFNuaWZmaW5nRW5hYmxlZDsKLSAgICBib29sIG1fcHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZDsKLSAgICBib29sIG1fc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hU
VFBSZWRpcmVjdDsKLX07Ci0KLX0KLQotI2VuZGlmIC8vIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9SZW1vdGVO
ZXR3b3JraW5nQ29udGV4dC5tbSBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9S
ZW1vdGVOZXR3b3JraW5nQ29udGV4dC5tbQppbmRleCA1M2VjOTFjNWRkNDUyNWU0MTBiZWRkOWY3
YzJkZjkxMGZjNmQwZmFlLi41ZDM0MmExMzViNTJhYzNmMDFmODZkN2E5N2IzODU0MzEwYzI1Y2Ex
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvUmVtb3RlTmV0
d29ya2luZ0NvbnRleHQubW0KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFj
L1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0Lm1tCkBAIC00MywxOSArNDMsNiBAQCBzdGF0aWMgT3du
UHRyPE5ldHdvcmtTdG9yYWdlU2Vzc2lvbj4mIHByaXZhdGVCcm93c2luZ1N0b3JhZ2VTZXNzaW9u
KCkKICAgICByZXR1cm4gc2Vzc2lvbjsKIH0KIAotYm9vbCBSZW1vdGVOZXR3b3JraW5nQ29udGV4
dDo6c2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCgpIGNvbnN0Ci17Ci0g
ICAgcmV0dXJuIG1fc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdDsKLX0K
LQotUmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OlJlbW90ZU5ldHdvcmtpbmdDb250ZXh0KGJvb2wg
bmVlZHNTaXRlU3BlY2lmaWNRdWlya3MsIGJvb2wgbG9jYWxGaWxlQ29udGVudFNuaWZmaW5nRW5h
YmxlZCwgYm9vbCBwcml2YXRlQnJvd3NpbmdFbmFibGVkLCBib29sIHNob3VsZENsZWFyUmVmZXJy
ZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3QpCi0gICAgOiBtX25lZWRzU2l0ZVNwZWNpZmljUXVpcmtz
KG5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzKQotICAgICwgbV9sb2NhbEZpbGVDb250ZW50U25pZmZp
bmdFbmFibGVkKGxvY2FsRmlsZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWQpCi0gICAgLCBtX3ByaXZh
dGVCcm93c2luZ0VuYWJsZWQocHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCkKLSAgICAsIG1fc2hvdWxk
Q2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdChzaG91bGRDbGVhclJlZmVycmVyT25I
VFRQU1RvSFRUUFJlZGlyZWN0KQotewotfQotCiBSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6flJl
bW90ZU5ldHdvcmtpbmdDb250ZXh0KCkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL3NvdXAvUmVtb3RlTmV0d29ya2luZ0NvbnRleHRTb3VwLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3NvdXAvUmVtb3RlTmV0d29ya2luZ0NvbnRleHRT
b3VwLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4zYmVmNTY0YmVlZTJlYTRiMmRkZTNmMDNjY2UwMzNmYTZjNjNk
NTBlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvc291
cC9SZW1vdGVOZXR3b3JraW5nQ29udGV4dFNvdXAuY3BwCkBAIC0wLDAgKzEsODIgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDEzIFVuaXZlcnNpdHkgb2YgU3plZ2VkLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCisjaW5jbHVk
ZSAiUmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaCIKKworI2luY2x1ZGUgPFdlYkNvcmUvTmV0d29y
a1N0b3JhZ2VTZXNzaW9uLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgor
I2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VIYW5kbGUuaD4KKwordXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6
flJlbW90ZU5ldHdvcmtpbmdDb250ZXh0KCkKK3sKK30KKworYm9vbCBSZW1vdGVOZXR3b3JraW5n
Q29udGV4dDo6aXNWYWxpZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK3VpbnQ2
NF90IFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0Ojppbml0aWF0aW5nUGFnZUlEKCkgY29uc3QKK3sK
KyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiAwOworfQorCit2b2lkIFJlbW90ZU5l
dHdvcmtpbmdDb250ZXh0OjpzZXRQcml2YXRlQnJvd3NpbmdTdG9yYWdlU2Vzc2lvbklkZW50aWZp
ZXJCYXNlKGNvbnN0IFN0cmluZyYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwordm9p
ZCBSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6ZW5zdXJlUHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbigp
Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwordm9pZCBSZW1vdGVOZXR3b3JraW5nQ29u
dGV4dDo6ZGVzdHJveVByaXZhdGVCcm93c2luZ1Nlc3Npb24oKQoreworfQorCitOZXR3b3JrU3Rv
cmFnZVNlc3Npb24mIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0OjpzdG9yYWdlU2Vzc2lvbigpIGNv
bnN0Cit7CisgICAgcmV0dXJuIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6ZGVmYXVsdFN0b3JhZ2VT
ZXNzaW9uKCk7Cit9CisKK05ldHdvcmtTdG9yYWdlU2Vzc2lvbiogUmVtb3RlTmV0d29ya2luZ0Nv
bnRleHQ6OnByaXZhdGVCcm93c2luZ1Nlc3Npb24oKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7
CisgICAgcmV0dXJuICZOZXR3b3JrU3RvcmFnZVNlc3Npb246OmRlZmF1bHRTdG9yYWdlU2Vzc2lv
bigpOworfQorCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDE1
MDYyZGU5NDg2MmE3YWFhNGIwZDNmZmI2MmNjZTVjY2Q0ZTQ0YjcuLmFkZDRlZDU0MTQ5NGU1MjM5
OTU3MmE0YTI4MjcxYzY3ZjZjODM2OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQy
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI1OTMsNyArMjU5Myw3IEBACiAJCUUxQTMx
NzM0MTM0Q0VBODAwMDdDOUE0RiAvKiBBdHRyaWJ1dGVkU3RyaW5nLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQXR0cmlidXRlZFN0cmluZy5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTFBRUEyMkQxNDY4N0JEQjAwODA0NTY5IC8qIFdLRnVsbEtl
eWJvYXJkQWNjZXNzV2F0Y2hlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
S0Z1bGxLZXlib2FyZEFjY2Vzc1dhdGNoZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRTFBRUEyMkUxNDY4N0JEQjAwODA0NTY5IC8qIFdLRnVsbEtleWJvYXJkQWNjZXNzV2F0Y2hl
ci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLRnVsbEtleWJv
YXJkQWNjZXNzV2F0Y2hlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTFCNzg0
NzAxNjNGMjQ2OTAwMDdCNjkyIC8qIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUxQjc4NDcwMTYzRjI0NjkwMDA3QjY5MiAvKiBSZW1v
dGVOZXR3b3JraW5nQ29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBS
ZW1vdGVOZXR3b3JraW5nQ29udGV4dC5oOyBwYXRoID0gTmV0d29ya1Byb2Nlc3MvUmVtb3RlTmV0
d29ya2luZ0NvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTFCNzg0NzIx
NjNGMjUzRTAwMDdCNjkyIC8qIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0Lm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUmVtb3RlTmV0d29ya2luZ0NvbnRleHQubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxQ0MxQjhFMTJEN0VBREYwMDYyNTgzOCAv
KiBQcmludEluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJpbnRJbmZv
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxQ0MxQjhGMTJEN0VBREYwMDYyNTgz
OCAvKiBQcmludEluZm9NYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBQcmludEluZm9NYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zNDg4
LDYgKzM0ODgsNyBAQAogCQkJCUUxNTI1NTE3MTcwMTA5RkIwMDNEN0FEQiAvKiBOZXR3b3JrUmVz
b3VyY2VMb2FkZXIubWVzc2FnZXMuaW4gKi8sCiAJCQkJNTE4MjlEQTMxNjM3QzcwQzAwMDk1M0Q2
IC8qIE5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwICovLAogCQkJCTUxODI5REE0MTYz
N0M3MEMwMDA5NTNENiAvKiBOZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmggKi8sCisJCQkJ
RTFCNzg0NzAxNjNGMjQ2OTAwMDdCNjkyIC8qIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0LmggKi8s
CiAJCQkJNTFGQ0IxODMxN0JCRkUwMzAwMzk0Q0Q4IC8qIFN5bmNocm9ub3VzTmV0d29ya0xvYWRl
ckNsaWVudC5jcHAgKi8sCiAJCQkJNTFGQ0IxODQxN0JCRkUwMzAwMzk0Q0Q4IC8qIFN5bmNocm9u
b3VzTmV0d29ya0xvYWRlckNsaWVudC5oICovLAogCQkJKTsKQEAgLTM1MDMsNyArMzUwNCw2IEBA
CiAJCQkJNTFBOEE2MTUxNjI3RjNGOTAwMEQ5MEU5IC8qIE5ldHdvcmtQcm9jZXNzTWFjLm1tICov
LAogCQkJCTUxRTNCNjdFMTZGMjY2QjMwMDk5NjhEQyAvKiBOZXR3b3JrUmVzb3VyY2VMb2FkZXJN
YWMubW0gKi8sCiAJCQkJNTEyQzA2OEYxNjM5MEU2OTAwQUJCOTExIC8qIE5ldHdvcmtSZXNvdXJj
ZUxvYWRTY2hlZHVsZXJNYWMubW0gKi8sCi0JCQkJRTFCNzg0NzAxNjNGMjQ2OTAwMDdCNjkyIC8q
IFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0LmggKi8sCiAJCQkJRTFCNzg0NzIxNjNGMjUzRTAwMDdC
NjkyIC8qIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0Lm1tICovLAogCQkJKTsKIAkJCW5hbWUgPSBt
YWM7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212796</attachid>
            <date>2013-09-27 04:31:40 -0700</date>
            <delta_ts>2013-10-10 14:33:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110097-20130927043147.patch</filename>
            <type>text/plain</type>
            <size>18149</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU2NTMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggODE2ZDJjOWEyYTVmYzE2
ZTFjYzUzODRmYjg0YmFiM2U0NmZhMzYwYS4uNTM1YzYwNjY0ZTgwMGEzMDIyYWU0OThhNDZmODI2
ODg2OGQzNjgwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEzLTA5LTI3ICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgW1dLMl0gUG9ydCBS
ZW1vdGVOZXR3b3JraW5nQ29udGV4dCBmb3IgU291cAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwMDk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgT3JpZ2luYWwgcGF0Y2ggYnkgQmFsYXpzIEtlbGVtZW4g
PGtiYWxhenNAd2Via2l0Lm9yZz4gYW5kIEt3YW5nIFl1bCBTZW8gPHNreXVsQGNvbXBhbnkxMDAu
bmV0Pi4KKworICAgICAgICBUaGlzIHNob3VsZCBiZSBhIGNyb3NzLXBsYXRmb3JtIGludGVyZmFj
ZSBzbyBJIGxpZnRlZCB0aGUgaGVhZGVyIGZyb20KKyAgICAgICAgdGhlIG1hYyBkaXJlY3Rvcnku
IFJlbW92ZWQgbWFjIHNwZWNpZmljIGFyZ3VtZW50cyBmcm9tIGNvbnN0cnVjdG9yLAorICAgICAg
ICBhZGRlZCBzZXR0ZXJzIGluc3RlYWQuIE1vdmVkIHBsYXRmb3JtIHRoaW5ncyBiZWhpbmQgaWZk
ZWZzIGFuZCBhZGRlZAorICAgICAgICBTb3VwIHNwZWNpZmljIGJpdHMuCisKKyAgICAgICAgVGhl
IGZvbGxvd2luZyB0aGluZ3Mgd2VyZSBmaXhlZCBieSBDc2FiYSBPc3p0cm9nb27DoWM6CisgICAg
ICAgIC0gc29sdmVkIGNvbmZsaWN0cyBpbiBwcm9qZWN0LnBieHByb2oKKyAgICAgICAgLSByZW1v
dmVkIHRoZSBjaGFuZ2UgaW4gdGhlIG5vbi1leGlzdGVudCBTeW5jTmV0d29ya1Jlc291cmNlTG9h
ZGVyLmNwcAorICAgICAgICAtIG1hcmtlZCBSZW1vdGVOZXR3b3JraW5nQ29udGV4dCBjbGFzcyBh
cyBGSU5BTAorICAgICAgICAtIHJlb3JkZXJlZCB0aGUgbWVtYmVycyBmb3IgcGxhdGZvcm0gc3Bl
Y2lmaWMgaW5pdGlhbGl6YXRpb24KKyAgICAgICAgLSBhZGRlZCBpbml0aWFsaXplcnMgdG8gbV9u
ZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyBhbmQgbV9sb2NhbEZpbGVDb250ZW50U25pZmZpbmdFbmFi
bGVkIG1lbWJlcnMgb24gUExBVEZPUk0oTUFDKQorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291
cmNlTG9hZGVyOjpzdGFydCk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvUmVtb3RlTmV0d29y
a2luZ0NvbnRleHQuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L21hYy9SZW1vdGVOZXR3b3JraW5nQ29udGV4dC5oLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVO
ZXR3b3JraW5nQ29udGV4dDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTmV0d29y
a2luZ0NvbnRleHQ6OlJlbW90ZU5ldHdvcmtpbmdDb250ZXh0KToKKyAgICAgICAgKFdlYktpdDo6
UmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OnNldE5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzKToKKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OnNldExvY2FsRmlsZUNvbnRl
bnRTbmlmZmluZ0VuYWJsZWQpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL21hYy9SZW1vdGVO
ZXR3b3JraW5nQ29udGV4dC5tbToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9zb3VwL1JlbW90
ZU5ldHdvcmtpbmdDb250ZXh0U291cC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1v
dGVOZXR3b3JraW5nQ29udGV4dDo6flJlbW90ZU5ldHdvcmtpbmdDb250ZXh0KToKKyAgICAgICAg
KFdlYktpdDo6UmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OmlzVmFsaWQpOgorICAgICAgICAoV2Vi
S2l0OjpSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6aW5pdGlhdGluZ1BhZ2VJRCk6CisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZU5ldHdvcmtpbmdDb250ZXh0OjpzZXRQcml2YXRlQnJvd3NpbmdTdG9y
YWdlU2Vzc2lvbklkZW50aWZpZXJCYXNlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTmV0d29y
a2luZ0NvbnRleHQ6OmVuc3VyZVByaXZhdGVCcm93c2luZ1Nlc3Npb24pOgorICAgICAgICAoV2Vi
S2l0OjpSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6ZGVzdHJveVByaXZhdGVCcm93c2luZ1Nlc3Np
b24pOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6c3RvcmFnZVNl
c3Npb24pOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6cHJpdmF0
ZUJyb3dzaW5nU2Vzc2lvbik6CisgICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorCiAyMDEzLTA5LTI2ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5j
b20+CiAKICAgICAgICAgUmVtb3ZlIFdpbmRvd3MgY29kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggOTFl
NDRkZmQ0OGEzZDA1OTk2Yjg1ZWI2NjVkNzY4ZTE5MGIwZWIwOS4uODExMDQyZTk0MDc5MzAxNTM3
MWMzODM0NTZhNTk5ZjgzMmQ0Y2RlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0xMjYsOSArMTI2LDkg
QEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnN0YXJ0KCkKIAogICAgIC8vIEV4cGxpY2l0
IHJlZigpIGJhbGFuY2VkIGJ5IGEgZGVyZWYoKSBpbiBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnJl
c291cmNlSGFuZGxlU3RvcHBlZCgpCiAgICAgcmVmKCk7Ci0gICAgCi0gICAgLy8gRklYTUUgKE5l
dHdvcmtQcm9jZXNzKTogQ3JlYXRlIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0IHdpdGggYWN0dWFs
IHNldHRpbmdzLgotICAgIG1fbmV0d29ya2luZ0NvbnRleHQgPSBSZW1vdGVOZXR3b3JraW5nQ29u
dGV4dDo6Y3JlYXRlKGZhbHNlLCBmYWxzZSwgbV9pblByaXZhdGVCcm93c2luZ01vZGUsIG1fc2hv
dWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCk7CisKKyAgICAvLyBGSVhNRSAo
TmV0d29ya1Byb2Nlc3MpOiBTZXQgcGxhdGZvcm0gc3BlY2lmaWMgc2V0dGluZ3MuCisgICAgbV9u
ZXR3b3JraW5nQ29udGV4dCA9IFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0OjpjcmVhdGUobV9pblBy
aXZhdGVCcm93c2luZ01vZGUsIG1fc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRp
cmVjdCk7CiAKICAgICBjb25zdW1lU2FuZGJveEV4dGVuc2lvbnMoKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvUmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaCBi
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0LmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uM2I3NDEzNTJhYjgxMzY2MzVjZGEyNTBhNWRmODQ1ZjljMTQ2ZTlmOQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL1JlbW90ZU5ldHdv
cmtpbmdDb250ZXh0LmgKQEAgLTAsMCArMSw4NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMg
VW5pdmVyc2l0eSBvZiBTemVnZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
Zm5kZWYgUmVtb3RlTmV0d29ya2luZ0NvbnRleHRfaAorI2RlZmluZSBSZW1vdGVOZXR3b3JraW5n
Q29udGV4dF9oCisKKyNpbmNsdWRlIDxXZWJDb3JlL05ldHdvcmtpbmdDb250ZXh0Lmg+CisKK25h
bWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBSZW1vdGVOZXR3b3JraW5nQ29udGV4dCBGSU5BTCA6
IHB1YmxpYyBXZWJDb3JlOjpOZXR3b3JraW5nQ29udGV4dCB7CitwdWJsaWM6CisgICAgc3RhdGlj
IFBhc3NSZWZQdHI8UmVtb3RlTmV0d29ya2luZ0NvbnRleHQ+IGNyZWF0ZShib29sIHByaXZhdGVC
cm93c2luZ0VuYWJsZWQsIGJvb2wgc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRp
cmVjdCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgUmVtb3RlTmV0d29ya2lu
Z0NvbnRleHQocHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCwgc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRU
UFNUb0hUVFBSZWRpcmVjdCkpOworICAgIH0KKyAgICB2aXJ0dWFsIH5SZW1vdGVOZXR3b3JraW5n
Q29udGV4dCgpOworCisgICAgc3RhdGljIHZvaWQgc2V0UHJpdmF0ZUJyb3dzaW5nU3RvcmFnZVNl
c3Npb25JZGVudGlmaWVyQmFzZShjb25zdCBTdHJpbmcmKTsKKyAgICBzdGF0aWMgdm9pZCBlbnN1
cmVQcml2YXRlQnJvd3NpbmdTZXNzaW9uKCk7CisgICAgc3RhdGljIHZvaWQgZGVzdHJveVByaXZh
dGVCcm93c2luZ1Nlc3Npb24oKTsKKworICAgIHN0YXRpYyBXZWJDb3JlOjpOZXR3b3JrU3RvcmFn
ZVNlc3Npb24qIHByaXZhdGVCcm93c2luZ1Nlc3Npb24oKTsKKworICAgIHZpcnR1YWwgYm9vbCBz
aG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0KCkgY29uc3QgT1ZFUlJJREUg
eyByZXR1cm4gbV9zaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0OyB9CisK
K3ByaXZhdGU6CisgICAgUmVtb3RlTmV0d29ya2luZ0NvbnRleHQoYm9vbCBwcml2YXRlQnJvd3Np
bmdFbmFibGVkLCBib29sIHNob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3Qp
CisgICAgICAgIDogbV9wcml2YXRlQnJvd3NpbmdFbmFibGVkKHByaXZhdGVCcm93c2luZ0VuYWJs
ZWQpCisgICAgICAgICwgbV9zaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0
KHNob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3QpCisjaWYgUExBVEZPUk0o
TUFDKQorICAgICAgICAsIG1fbmVlZHNTaXRlU3BlY2lmaWNRdWlya3MoZmFsc2UpCisgICAgICAg
ICwgbV9sb2NhbEZpbGVDb250ZW50U25pZmZpbmdFbmFibGVkKGZhbHNlKQorI2VuZGlmCisgICAg
eyB9CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNWYWxpZCgpIGNvbnN0IE9WRVJSSURFOworICAgIHZp
cnR1YWwgV2ViQ29yZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uJiBzdG9yYWdlU2Vzc2lvbigpIGNv
bnN0IE9WRVJSSURFOworCisjaWYgUExBVEZPUk0oTUFDKQorICAgIHZvaWQgc2V0TmVlZHNTaXRl
U3BlY2lmaWNRdWlya3MoYm9vbCB2YWx1ZSkgeyBtX25lZWRzU2l0ZVNwZWNpZmljUXVpcmtzID0g
dmFsdWU7IH0KKyAgICB2aXJ0dWFsIGJvb2wgbmVlZHNTaXRlU3BlY2lmaWNRdWlya3MoKSBjb25z
dCBPVkVSUklERTsKKyAgICB2b2lkIHNldExvY2FsRmlsZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWQo
Ym9vbCB2YWx1ZSkgeyBtX2xvY2FsRmlsZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWQgPSB2YWx1ZTsg
fQorICAgIHZpcnR1YWwgYm9vbCBsb2NhbEZpbGVDb250ZW50U25pZmZpbmdFbmFibGVkKCkgY29u
c3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBzb3VyY2VBcHBs
aWNhdGlvbkF1ZGl0RGF0YSgpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgV2ViQ29yZTo6
UmVzb3VyY2VFcnJvciBibG9ja2VkRXJyb3IoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0
JikgY29uc3QgT1ZFUlJJREU7CisjZW5kaWYKKworI2lmIFVTRShTT1VQKQorICAgIHZpcnR1YWwg
dWludDY0X3QgaW5pdGlhdGluZ1BhZ2VJRCgpIGNvbnN0OworI2VuZGlmCisKKyAgICBib29sIG1f
cHJpdmF0ZUJyb3dzaW5nRW5hYmxlZDsKKyAgICBib29sIG1fc2hvdWxkQ2xlYXJSZWZlcnJlck9u
SFRUUFNUb0hUVFBSZWRpcmVjdDsKKworI2lmIFBMQVRGT1JNKE1BQykKKyAgICBib29sIG1fbmVl
ZHNTaXRlU3BlY2lmaWNRdWlya3M7CisgICAgYm9vbCBtX2xvY2FsRmlsZUNvbnRlbnRTbmlmZmlu
Z0VuYWJsZWQ7CisjZW5kaWYKK307CisKK30KKworI2VuZGlmIC8vIFJlbW90ZU5ldHdvcmtpbmdD
b250ZXh0X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9S
ZW1vdGVOZXR3b3JraW5nQ29udGV4dC5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
bWFjL1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGQwNDAyMjQ2YjZjNTBlNmY0NWIwY2ExNWQzM2ZjN2Q0OGJmNjY4MzEuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvbWFjL1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0LmgKKysrIC9kZXYvbnVsbApAQCAt
MSw2OCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBSZW1vdGVOZXR3b3JraW5nQ29udGV4
dF9oCi0jZGVmaW5lIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0X2gKLQotI2luY2x1ZGUgPFdlYkNv
cmUvTmV0d29ya2luZ0NvbnRleHQuaD4KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNsYXNzIFJl
bW90ZU5ldHdvcmtpbmdDb250ZXh0IDogcHVibGljIFdlYkNvcmU6Ok5ldHdvcmtpbmdDb250ZXh0
IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxSZW1vdGVOZXR3b3JraW5nQ29udGV4
dD4gY3JlYXRlKGJvb2wgbmVlZHNTaXRlU3BlY2lmaWNRdWlya3MsIGJvb2wgbG9jYWxGaWxlQ29u
dGVudFNuaWZmaW5nRW5hYmxlZCwgYm9vbCBwcml2YXRlQnJvd3NpbmdFbmFibGVkLCBib29sIHNo
b3VsZENsZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3QpCi0gICAgewotICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0KG5lZWRzU2l0ZVNwZWNp
ZmljUXVpcmtzLCBsb2NhbEZpbGVDb250ZW50U25pZmZpbmdFbmFibGVkLCBwcml2YXRlQnJvd3Np
bmdFbmFibGVkLCBzaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0KSk7Ci0g
ICAgfQotICAgIHZpcnR1YWwgflJlbW90ZU5ldHdvcmtpbmdDb250ZXh0KCk7Ci0KLSAgICBzdGF0
aWMgdm9pZCBzZXRQcml2YXRlQnJvd3NpbmdTdG9yYWdlU2Vzc2lvbklkZW50aWZpZXJCYXNlKGNv
bnN0IFN0cmluZyYpOwotICAgIHN0YXRpYyB2b2lkIGVuc3VyZVByaXZhdGVCcm93c2luZ1Nlc3Np
b24oKTsKLSAgICBzdGF0aWMgdm9pZCBkZXN0cm95UHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbigpOwot
Ci0gICAgc3RhdGljIFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbiogcHJpdmF0ZUJyb3dz
aW5nU2Vzc2lvbigpOwotCi0gICAgdmlydHVhbCBib29sIHNob3VsZENsZWFyUmVmZXJyZXJPbkhU
VFBTVG9IVFRQUmVkaXJlY3QoKSBjb25zdCBPVkVSUklERTsKLQotcHJpdmF0ZToKLSAgICBSZW1v
dGVOZXR3b3JraW5nQ29udGV4dChib29sIG5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzLCBib29sIGxv
Y2FsRmlsZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWQsIGJvb2wgcHJpdmF0ZUJyb3dzaW5nRW5hYmxl
ZCwgYm9vbCBtX3Nob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3QpOwotCi0g
ICAgdmlydHVhbCBib29sIGlzVmFsaWQoKSBjb25zdCBPVkVSUklERTsKLQotICAgIHZpcnR1YWwg
Ym9vbCBuZWVkc1NpdGVTcGVjaWZpY1F1aXJrcygpIGNvbnN0IE9WRVJSSURFOwotICAgIHZpcnR1
YWwgYm9vbCBsb2NhbEZpbGVDb250ZW50U25pZmZpbmdFbmFibGVkKCkgY29uc3QgT1ZFUlJJREU7
Ci0gICAgdmlydHVhbCBXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Npb24mIHN0b3JhZ2VTZXNz
aW9uKCkgY29uc3QgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBz
b3VyY2VBcHBsaWNhdGlvbkF1ZGl0RGF0YSgpIGNvbnN0IE9WRVJSSURFOwotICAgIHZpcnR1YWwg
V2ViQ29yZTo6UmVzb3VyY2VFcnJvciBibG9ja2VkRXJyb3IoY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXF1ZXN0JikgY29uc3QgT1ZFUlJJREU7Ci0KLSAgICBib29sIG1fbmVlZHNTaXRlU3BlY2lm
aWNRdWlya3M7Ci0gICAgYm9vbCBtX2xvY2FsRmlsZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWQ7Ci0g
ICAgYm9vbCBtX3ByaXZhdGVCcm93c2luZ0VuYWJsZWQ7Ci0gICAgYm9vbCBtX3Nob3VsZENsZWFy
UmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3Q7Ci19OwotCi19Ci0KLSNlbmRpZiAvLyBSZW1v
dGVOZXR3b3JraW5nQ29udGV4dF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9tYWMvUmVtb3RlTmV0d29ya2luZ0NvbnRleHQubW0gYi9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9tYWMvUmVtb3RlTmV0d29ya2luZ0NvbnRleHQubW0KaW5kZXggNTNlYzkx
YzVkZDQ1MjVlNDEwYmVkZDlmN2MyZGY5MTBmYzZkMGZhZS4uNWQzNDJhMTM1YjUyYWMzZjAxZjg2
ZDdhOTdiMzg1NDMxMGMyNWNhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvbWFjL1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL21hYy9SZW1vdGVOZXR3b3JraW5nQ29udGV4dC5tbQpAQCAtNDMsMTkg
KzQzLDYgQEAgc3RhdGljIE93blB0cjxOZXR3b3JrU3RvcmFnZVNlc3Npb24+JiBwcml2YXRlQnJv
d3NpbmdTdG9yYWdlU2Vzc2lvbigpCiAgICAgcmV0dXJuIHNlc3Npb247CiB9CiAKLWJvb2wgUmVt
b3RlTmV0d29ya2luZ0NvbnRleHQ6OnNob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVk
aXJlY3QoKSBjb25zdAotewotICAgIHJldHVybiBtX3Nob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBT
VG9IVFRQUmVkaXJlY3Q7Ci19Ci0KLVJlbW90ZU5ldHdvcmtpbmdDb250ZXh0OjpSZW1vdGVOZXR3
b3JraW5nQ29udGV4dChib29sIG5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzLCBib29sIGxvY2FsRmls
ZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWQsIGJvb2wgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCwgYm9v
bCBzaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0KQotICAgIDogbV9uZWVk
c1NpdGVTcGVjaWZpY1F1aXJrcyhuZWVkc1NpdGVTcGVjaWZpY1F1aXJrcykKLSAgICAsIG1fbG9j
YWxGaWxlQ29udGVudFNuaWZmaW5nRW5hYmxlZChsb2NhbEZpbGVDb250ZW50U25pZmZpbmdFbmFi
bGVkKQotICAgICwgbV9wcml2YXRlQnJvd3NpbmdFbmFibGVkKHByaXZhdGVCcm93c2luZ0VuYWJs
ZWQpCi0gICAgLCBtX3Nob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3Qoc2hv
dWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCkKLXsKLX0KLQogUmVtb3RlTmV0
d29ya2luZ0NvbnRleHQ6On5SZW1vdGVOZXR3b3JraW5nQ29udGV4dCgpCiB7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL1JlbW90ZU5ldHdvcmtpbmdD
b250ZXh0U291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL1JlbW90
ZU5ldHdvcmtpbmdDb250ZXh0U291cC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2JlZjU2NGJlZWUyZWE0YjJk
ZGUzZjAzY2NlMDMzZmE2YzYzZDUwZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL3NvdXAvUmVtb3RlTmV0d29ya2luZ0NvbnRleHRTb3VwLmNwcApAQCAt
MCwwICsxLDgyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBVbml2ZXJzaXR5IG9mIFN6ZWdl
ZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBDb21wYW55IDEw
MCBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpZiBFTkFCTEUoTkVUV09S
S19QUk9DRVNTKQorI2luY2x1ZGUgIlJlbW90ZU5ldHdvcmtpbmdDb250ZXh0LmgiCisKKyNpbmNs
dWRlIDxXZWJDb3JlL05ldHdvcmtTdG9yYWdlU2Vzc2lvbi5oPgorI2luY2x1ZGUgPFdlYkNvcmUv
Tm90SW1wbGVtZW50ZWQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlSGFuZGxlLmg+CisK
K3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKworUmVtb3Rl
TmV0d29ya2luZ0NvbnRleHQ6On5SZW1vdGVOZXR3b3JraW5nQ29udGV4dCgpCit7Cit9CisKK2Jv
b2wgUmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OmlzVmFsaWQoKSBjb25zdAoreworICAgIHJldHVy
biB0cnVlOworfQorCit1aW50NjRfdCBSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6aW5pdGlhdGlu
Z1BhZ2VJRCgpIGNvbnN0Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gMDsK
K30KKwordm9pZCBSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6c2V0UHJpdmF0ZUJyb3dzaW5nU3Rv
cmFnZVNlc3Npb25JZGVudGlmaWVyQmFzZShjb25zdCBTdHJpbmcmKQoreworICAgIG5vdEltcGxl
bWVudGVkKCk7Cit9CisKK3ZvaWQgUmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OmVuc3VyZVByaXZh
dGVCcm93c2luZ1Nlc3Npb24oKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQg
UmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OmRlc3Ryb3lQcml2YXRlQnJvd3NpbmdTZXNzaW9uKCkK
K3sKK30KKworTmV0d29ya1N0b3JhZ2VTZXNzaW9uJiBSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6
c3RvcmFnZVNlc3Npb24oKSBjb25zdAoreworICAgIHJldHVybiBOZXR3b3JrU3RvcmFnZVNlc3Np
b246OmRlZmF1bHRTdG9yYWdlU2Vzc2lvbigpOworfQorCitOZXR3b3JrU3RvcmFnZVNlc3Npb24q
IFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0Ojpwcml2YXRlQnJvd3NpbmdTZXNzaW9uKCkKK3sKKyAg
ICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiAmTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpk
ZWZhdWx0U3RvcmFnZVNlc3Npb24oKTsKK30KKworfQorCisjZW5kaWYgLy8gRU5BQkxFKE5FVFdP
UktfUFJPQ0VTUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCAxNTA2MmRlOTQ4NjJhN2FhYTRiMGQzZmZiNjJjY2U1Y2NkNGU0NGI3
Li5hZGQ0ZWQ1NDE0OTRlNTIzOTk1NzJhNGEyODI3MWM2N2Y2YzgzNjk4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yNTkzLDcg
KzI1OTMsNyBAQAogCQlFMUEzMTczNDEzNENFQTgwMDA3QzlBNEYgLyogQXR0cmlidXRlZFN0cmlu
Zy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEF0dHJpYnV0ZWRT
dHJpbmcubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxQUVBMjJEMTQ2ODdCREIw
MDgwNDU2OSAvKiBXS0Z1bGxLZXlib2FyZEFjY2Vzc1dhdGNoZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gV0tGdWxsS2V5Ym9hcmRBY2Nlc3NXYXRjaGVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxQUVBMjJFMTQ2ODdCREIwMDgwNDU2OSAvKiBXS0Z1bGxL
ZXlib2FyZEFjY2Vzc1dhdGNoZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBXS0Z1bGxLZXlib2FyZEFjY2Vzc1dhdGNoZXIubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCUUxQjc4NDcwMTYzRjI0NjkwMDA3QjY5MiAvKiBSZW1vdGVOZXR3b3JraW5n
Q29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVOZXR3b3Jr
aW5nQ29udGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMUI3ODQ3MDE2M0Yy
NDY5MDAwN0I2OTIgLyogUmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gUmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaDsgcGF0aCA9IE5ldHdv
cmtQcm9jZXNzL1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUUxQjc4NDcyMTYzRjI1M0UwMDA3QjY5MiAvKiBSZW1vdGVOZXR3b3JraW5nQ29u
dGV4dC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFJlbW90ZU5l
dHdvcmtpbmdDb250ZXh0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUNDMUI4
RTEyRDdFQURGMDA2MjU4MzggLyogUHJpbnRJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFByaW50SW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUND
MUI4RjEyRDdFQURGMDA2MjU4MzggLyogUHJpbnRJbmZvTWFjLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gUHJpbnRJbmZvTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtMzQ4OCw2ICszNDg4LDcgQEAKIAkJCQlFMTUyNTUxNzE3MDEwOUZCMDAz
RDdBREIgLyogTmV0d29ya1Jlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluICovLAogCQkJCTUxODI5
REEzMTYzN0M3MEMwMDA5NTNENiAvKiBOZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcCAq
LywKIAkJCQk1MTgyOURBNDE2MzdDNzBDMDAwOTUzRDYgLyogTmV0d29ya1Jlc291cmNlTG9hZFNj
aGVkdWxlci5oICovLAorCQkJCUUxQjc4NDcwMTYzRjI0NjkwMDA3QjY5MiAvKiBSZW1vdGVOZXR3
b3JraW5nQ29udGV4dC5oICovLAogCQkJCTUxRkNCMTgzMTdCQkZFMDMwMDM5NENEOCAvKiBTeW5j
aHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwICovLAogCQkJCTUxRkNCMTg0MTdCQkZFMDMw
MDM5NENEOCAvKiBTeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuaCAqLywKIAkJCSk7CkBA
IC0zNTAzLDcgKzM1MDQsNiBAQAogCQkJCTUxQThBNjE1MTYyN0YzRjkwMDBEOTBFOSAvKiBOZXR3
b3JrUHJvY2Vzc01hYy5tbSAqLywKIAkJCQk1MUUzQjY3RTE2RjI2NkIzMDA5OTY4REMgLyogTmV0
d29ya1Jlc291cmNlTG9hZGVyTWFjLm1tICovLAogCQkJCTUxMkMwNjhGMTYzOTBFNjkwMEFCQjkx
MSAvKiBOZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyTWFjLm1tICovLAotCQkJCUUxQjc4NDcw
MTYzRjI0NjkwMDA3QjY5MiAvKiBSZW1vdGVOZXR3b3JraW5nQ29udGV4dC5oICovLAogCQkJCUUx
Qjc4NDcyMTYzRjI1M0UwMDA3QjY5MiAvKiBSZW1vdGVOZXR3b3JraW5nQ29udGV4dC5tbSAqLywK
IAkJCSk7CiAJCQluYW1lID0gbWFjOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>