<?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>140857</bug_id>
          
          <creation_ts>2015-01-24 08:23:35 -0800</creation_ts>
          <short_desc>[Win] Add WebKit message loop interface.</short_desc>
          <delta_ts>2015-01-25 12:01:38 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>peavo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>alex.christensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1063910</commentid>
    <comment_count>0</comment_count>
    <who name="">peavo</who>
    <bug_when>2015-01-24 08:23:35 -0800</bug_when>
    <thetext>For applications embedding WebKit it&apos;s important that certain tasks are performed on each iteration of the message loop, like calling CFRunLoopRunInMode. This is not obvious, and easy to miss, so I think it would make sense to move this code into WebKit, and make it available through an interface.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1063920</commentid>
    <comment_count>1</comment_count>
      <attachid>245284</attachid>
    <who name="">peavo</who>
    <bug_when>2015-01-24 09:09:39 -0800</bug_when>
    <thetext>Created attachment 245284
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1063921</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-24 09:11:37 -0800</bug_when>
    <thetext>Attachment 245284 did not pass style-queue:


ERROR: Source/WebKit/win/WebKitMessageLoop.cpp:1:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 1 in 12 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1063947</commentid>
    <comment_count>3</comment_count>
      <attachid>245284</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-01-24 18:22:33 -0800</bug_when>
    <thetext>Comment on attachment 245284
Patch

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

r- to fix WebKitMessageLoop.cpp as noted below.  (I am not a good reviewer for this change, but these two things need to be fixed, and fixing them before the actual reviewer looks will speed things along.)

&gt; Source/WebKit/win/WebKitMessageLoop.cpp:1
&gt; +#include &quot;WebKitMessageLoop.h&quot;

Needs a license header and:

#include &quot;config.h&quot;

before #include &quot;WebKitMessageLoop.h&quot; (as noted by the stylebot).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1063968</commentid>
    <comment_count>4</comment_count>
      <attachid>245284</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-01-24 22:10:33 -0800</bug_when>
    <thetext>Comment on attachment 245284
Patch

In general, I think this patch is good. Please correct the (minor) style-bot complaint and I think we are ready to go!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1063977</commentid>
    <comment_count>5</comment_count>
      <attachid>245297</attachid>
    <who name="">peavo</who>
    <bug_when>2015-01-25 00:20:12 -0800</bug_when>
    <thetext>Created attachment 245297
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1063980</commentid>
    <comment_count>6</comment_count>
    <who name="">peavo</who>
    <bug_when>2015-01-25 00:22:10 -0800</bug_when>
    <thetext>Thanks for reviewing! Added license header, and fixed style issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1064002</commentid>
    <comment_count>7</comment_count>
      <attachid>245297</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-01-25 09:17:20 -0800</bug_when>
    <thetext>Comment on attachment 245297
Patch

Looks great!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1064006</commentid>
    <comment_count>8</comment_count>
      <attachid>245297</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-25 10:01:10 -0800</bug_when>
    <thetext>Comment on attachment 245297
Patch

Clearing flags on attachment: 245297

Committed r179088: &lt;http://trac.webkit.org/changeset/179088&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1064007</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-25 10:01:13 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1064021</commentid>
    <comment_count>10</comment_count>
    <who name="">peavo</who>
    <bug_when>2015-01-25 12:01:38 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; Comment on attachment 245297 [details]
&gt; Patch
&gt; 
&gt; Looks great!

Thanks for reviewing, Brent :)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245284</attachid>
            <date>2015-01-24 09:09:39 -0800</date>
            <delta_ts>2015-01-25 00:20:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140857-20150124180921.patch</filename>
            <type>text/plain</type>
            <size>15195</size>
            <attacher>peavo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNzkwNjEpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDE1LTAxLTI0ICBwZWF2b0BvdXRs
b29rLmNvbSAgPHBlYXZvQG91dGxvb2suY29tPgorCisgICAgICAgIFtXaW5dIEFkZCBXZWJLaXQg
bWVzc2FnZSBsb29wIGludGVyZmFjZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE0MDg1NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZGVkIG1lc3NhZ2UgbG9vcCBpbnRlcmZhY2Ugd2hpY2ggd2lsbCBy
dW4gdGhlIG1lc3NhZ2UgbG9vcCwKKyAgICAgICAgYW5kIHBlcmZvcm0gcmVxdWlyZWQgdGFza3Mg
KGxpa2UgY2FsbGluZyBDRlJ1bkxvb3BSdW5Jbk1vZGUpCisgICAgICAgIG9uIGVhY2ggaXRlcmF0
aW9uIG9mIHRoZSBsb29wLgorCisgICAgICAgICogV2ViS2l0LnZjeHByb2ovV2ViS2l0L1dlYktp
dC52Y3hwcm9qOiBBZGRlZCBuZXcgZmlsZXMgdG8gcHJvamVjdC4KKyAgICAgICAgKiBXZWJLaXQu
dmN4cHJvai9XZWJLaXQvV2ViS2l0LnZjeHByb2ouZmlsdGVyczogRGl0dG8uCisKIDIwMTUtMDEt
MjIgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSB1
bnVzZWQgY2xhc3MgRW1vamlGYWxsYmFja0ZvbnRTZWxlY3Rvci4KSW5kZXg6IFNvdXJjZS9XZWJL
aXQvV2ViS2l0LnZjeHByb2ovV2ViS2l0L1dlYktpdC52Y3hwcm9qCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvV2ViS2l0LnZjeHByb2ovV2ViS2l0L1dlYktpdC52Y3hwcm9qCShyZXZpc2lv
biAxNzkwNjApCisrKyBTb3VyY2UvV2ViS2l0L1dlYktpdC52Y3hwcm9qL1dlYktpdC9XZWJLaXQu
dmN4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMzgzLDYgKzM4Myw3IEBACiAgICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdS
ZWxlYXNlX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xD
b21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cd2luXFdlYktpdExvZ2dpbmcu
Y3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cd2luXFdlYktpdE1lc3NhZ2VM
b29wLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHdpblxXZWJLaXRQcmVm
aXguY3BwIj4KICAgICAgIDxQcmVjb21waWxlZEhlYWRlciBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+Q3JlYXRlPC9QcmVjb21waWxlZEhl
YWRlcj4KICAgICAgIDxQcmVjb21waWxlZEhlYWRlciBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPkNyZWF0ZTwvUHJlY29tcGlsZWRIZWFkZXI+
CkBAIC01MTgsNiArNTE5LDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXHdpblxX
ZWJLaXRETEwuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXHdpblxXZWJLaXRH
cmFwaGljcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cd2luXFdlYktpdExv
Z2dpbmcuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXHdpblxXZWJLaXRNZXNz
YWdlTG9vcC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cd2luXFdlYktpdFBy
ZWZpeC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cd2luXFdlYktpdFN0YXRp
c3RpY3MuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXHdpblxXZWJLaXRTdGF0
aXN0aWNzUHJpdmF0ZS5oIiAvPgpJbmRleDogU291cmNlL1dlYktpdC9XZWJLaXQudmN4cHJvai9X
ZWJLaXQvV2ViS2l0LnZjeHByb2ouZmlsdGVycwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L1dlYktpdC52Y3hwcm9qL1dlYktpdC9XZWJLaXQudmN4cHJvai5maWx0ZXJzCShyZXZpc2lvbiAx
NzkwNjApCisrKyBTb3VyY2UvV2ViS2l0L1dlYktpdC52Y3hwcm9qL1dlYktpdC9XZWJLaXQudmN4
cHJvai5maWx0ZXJzCSh3b3JraW5nIGNvcHkpCkBAIC0zMzAsNiArMzMwLDkgQEAKICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXC4uXHdpblxQbHVnaW5zXG5wYXBpLmNwcCI+CiAgICAgICA8Rmls
dGVyPlNvdXJjZXNcUGx1Z2luczwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgorICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5cLi5cd2luXFdlYktpdE1lc3NhZ2VMb29wLmNwcCI+CisgICAgICA8
RmlsdGVyPlNvdXJjZXM8L0ZpbHRlcj4KKyAgICA8L0NsQ29tcGlsZT4KICAgPC9JdGVtR3JvdXA+
CiAgIDxJdGVtR3JvdXA+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlx3aW5cV2ViQ29y
ZVN1cHBvcnRcRW1iZWRkZWRXaWRnZXQuaCI+CkBAIC02NDgsNiArNjUxLDkgQEAKICAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXC4uXHdpblxQbHVnaW5zXFBsdWdpblN0cmF0ZWd5LmgiPgogICAg
ICAgPEZpbHRlcj5IZWFkZXIgRmlsZXM8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXHdpblxXZWJLaXRNZXNzYWdlTG9vcC5oIj4KKyAgICAg
IDxGaWx0ZXI+SGVhZGVyIEZpbGVzPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgIDwvSXRl
bUdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxOb25lIEluY2x1ZGU9IldlYktpdFBvc3RCdWls
ZC5jbWQiIC8+CkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCShyZXZpc2lvbiAxNzkwNjEpCisrKyBTb3Vy
Y2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyOSBAQAor
MjAxNS0wMS0yNCAgcGVhdm9Ab3V0bG9vay5jb20gIDxwZWF2b0BvdXRsb29rLmNvbT4KKworICAg
ICAgICBbV2luXSBBZGQgV2ViS2l0IG1lc3NhZ2UgbG9vcCBpbnRlcmZhY2UuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBtZXNzYWdlIGxvb3Ag
aW50ZXJmYWNlIHdoaWNoIHdpbGwgcnVuIHRoZSBtZXNzYWdlIGxvb3AsCisgICAgICAgIGFuZCBw
ZXJmb3JtIHJlcXVpcmVkIHRhc2tzIChsaWtlIGNhbGxpbmcgQ0ZSdW5Mb29wUnVuSW5Nb2RlKQor
ICAgICAgICBvbiBlYWNoIGl0ZXJhdGlvbiBvZiB0aGUgbG9vcC4KKworICAgICAgICAqIEZvckVh
Y2hDb0NsYXNzLmg6CisgICAgICAgICogSW50ZXJmYWNlcy9XZWJLaXQuaWRsOgorICAgICAgICAq
IEludGVyZmFjZXMvV2ViS2l0TWVzc2FnZUxvb3AuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBXZWJL
aXRDbGFzc0ZhY3RvcnkuY3BwOgorICAgICAgICAqIFdlYktpdE1lc3NhZ2VMb29wLmNwcDogQWRk
ZWQuCisgICAgICAgIChXZWJLaXRNZXNzYWdlTG9vcDo6V2ViS2l0TWVzc2FnZUxvb3ApOgorICAg
ICAgICAoV2ViS2l0TWVzc2FnZUxvb3A6On5XZWJLaXRNZXNzYWdlTG9vcCk6CisgICAgICAgIChX
ZWJLaXRNZXNzYWdlTG9vcDo6Y3JlYXRlSW5zdGFuY2UpOgorICAgICAgICAoV2ViS2l0TWVzc2Fn
ZUxvb3A6OlF1ZXJ5SW50ZXJmYWNlKToKKyAgICAgICAgKFdlYktpdE1lc3NhZ2VMb29wOjpBZGRS
ZWYpOgorICAgICAgICAoV2ViS2l0TWVzc2FnZUxvb3A6OlJlbGVhc2UpOgorICAgICAgICAoV2Vi
S2l0TWVzc2FnZUxvb3A6OnJ1bik6CisgICAgICAgIChXZWJLaXRNZXNzYWdlTG9vcDo6cGVyZm9y
bU1lc3NhZ2VMb29wVGFza3MpOgorICAgICAgICAqIFdlYktpdE1lc3NhZ2VMb29wLmg6IEFkZGVk
LgorCiAyMDE1LTAxLTIzICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAg
ICAgICAgIFtXaW5dIFRlYWNoIFdlYktpdCB0byBwcm92aWRlIElBY2Nlc3NpYmxlMiAnZ2V0X2xh
bmd1YWdlJwpJbmRleDogU291cmNlL1dlYktpdC93aW4vRm9yRWFjaENvQ2xhc3MuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9Gb3JFYWNoQ29DbGFzcy5oCShyZXZpc2lvbiAxNzkw
NjApCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9Gb3JFYWNoQ29DbGFzcy5oCSh3b3JraW5nIGNvcHkp
CkBAIC02MSw2ICs2MSw3IEBACiAgICAgbWFjcm8oV2ViR2VvbG9jYXRpb25Qb3NpdGlvbikgXAog
ICAgIG1hY3JvKFdlYlNlcmlhbGl6ZWRKU1ZhbHVlKSBcCiAgICAgbWFjcm8oV2ViVXNlckNvbnRl
bnRVUkxQYXR0ZXJuKSBcCisgICAgbWFjcm8oV2ViS2l0TWVzc2FnZUxvb3ApIFwKICAgICAvLyBl
bmQgb2YgbWFjcm8KIAogLy8gRXZlcnl0aGluZyBiZWxvdyB0aGlzIHBvaW50IGlzIGRlcHJlY2F0
ZWQuIFBsZWFzZSBkbyBub3QgdXNlLgpJbmRleDogU291cmNlL1dlYktpdC93aW4vV2ViS2l0Q2xh
c3NGYWN0b3J5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJLaXRDbGFz
c0ZhY3RvcnkuY3BwCShyZXZpc2lvbiAxNzkwNjApCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJL
aXRDbGFzc0ZhY3RvcnkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw3IEBACiAjaW5j
bHVkZSAiV2ViSWNvbkRhdGFiYXNlLmgiCiAjaW5jbHVkZSAiV2ViSmF2YVNjcmlwdENvbGxlY3Rv
ci5oIgogI2luY2x1ZGUgIldlYktpdC5oIgorI2luY2x1ZGUgIldlYktpdE1lc3NhZ2VMb29wLmgi
CiAjaW5jbHVkZSAiV2ViS2l0U3RhdGlzdGljcy5oIgogI2luY2x1ZGUgIldlYk11dGFibGVVUkxS
ZXF1ZXN0LmgiCiAjaW5jbHVkZSAiV2ViTm90aWZpY2F0aW9uQ2VudGVyLmgiCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJLaXRNZXNzYWdlTG9vcC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC93aW4vV2ViS2l0TWVzc2FnZUxvb3AuY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNl
L1dlYktpdC93aW4vV2ViS2l0TWVzc2FnZUxvb3AuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsODQgQEAKKyNpbmNsdWRlICJXZWJLaXRNZXNzYWdlTG9vcC5oIgorCisjaW5jbHVkZSAiV2Vi
S2l0RExMLmgiCisKKyNpZiBVU0UoR0xJQikKKyNpbmNsdWRlIDxnbGliLmg+CisjZW5kaWYKKwor
V2ViS2l0TWVzc2FnZUxvb3A6OldlYktpdE1lc3NhZ2VMb29wKCkKKyAgICA6IG1fcmVmQ291bnQo
MCkKK3sKKyAgICBnQ2xhc3NDb3VudCsrOworICAgIGdDbGFzc05hbWVDb3VudCgpLmFkZCgiV2Vi
S2l0TWVzc2FnZUxvb3AiKTsKK30KKworV2ViS2l0TWVzc2FnZUxvb3A6On5XZWJLaXRNZXNzYWdl
TG9vcCgpCit7CisgICAgZ0NsYXNzQ291bnQtLTsKKyAgICBnQ2xhc3NOYW1lQ291bnQoKS5yZW1v
dmUoIldlYktpdE1lc3NhZ2VMb29wIik7Cit9CisKK1dlYktpdE1lc3NhZ2VMb29wKiBXZWJLaXRN
ZXNzYWdlTG9vcDo6Y3JlYXRlSW5zdGFuY2UoKQoreworICAgIFdlYktpdE1lc3NhZ2VMb29wKiBp
bnN0YW5jZSA9IG5ldyBXZWJLaXRNZXNzYWdlTG9vcCgpOworICAgIGluc3RhbmNlLT5BZGRSZWYo
KTsKKyAgICByZXR1cm4gaW5zdGFuY2U7Cit9CisKK0hSRVNVTFQgV2ViS2l0TWVzc2FnZUxvb3A6
OlF1ZXJ5SW50ZXJmYWNlKFJFRklJRCByaWlkLCB2b2lkKiogcHB2T2JqZWN0KQoreworICAgICpw
cHZPYmplY3QgPSAwOworICAgIGlmIChJc0VxdWFsR1VJRChyaWlkLCBJSURfSVVua25vd24pKQor
ICAgICAgICAqcHB2T2JqZWN0ID0gc3RhdGljX2Nhc3Q8SVdlYktpdE1lc3NhZ2VMb29wKj4odGhp
cyk7CisgICAgZWxzZSBpZiAoSXNFcXVhbEdVSUQocmlpZCwgQ0xTSURfV2ViS2l0TWVzc2FnZUxv
b3ApKQorICAgICAgICAqcHB2T2JqZWN0ID0gc3RhdGljX2Nhc3Q8V2ViS2l0TWVzc2FnZUxvb3Aq
Pih0aGlzKTsKKyAgICBlbHNlIGlmIChJc0VxdWFsR1VJRChyaWlkLCBJSURfSVdlYktpdE1lc3Nh
Z2VMb29wKSkKKyAgICAgICAgKnBwdk9iamVjdCA9IHN0YXRpY19jYXN0PElXZWJLaXRNZXNzYWdl
TG9vcCo+KHRoaXMpOworICAgIGVsc2UKKyAgICAgICAgcmV0dXJuIEVfTk9JTlRFUkZBQ0U7CisK
KyAgICBBZGRSZWYoKTsKKyAgICByZXR1cm4gU19PSzsKK30KKworVUxPTkcgV2ViS2l0TWVzc2Fn
ZUxvb3A6OkFkZFJlZigpCit7CisgICAgcmV0dXJuICsrbV9yZWZDb3VudDsKK30KKworVUxPTkcg
V2ViS2l0TWVzc2FnZUxvb3A6OlJlbGVhc2UoKQoreworICAgIFVMT05HIG5ld1JlZiA9IC0tbV9y
ZWZDb3VudDsKKyAgICBpZiAoIW5ld1JlZikKKyAgICAgICAgZGVsZXRlKHRoaXMpOworCisgICAg
cmV0dXJuIG5ld1JlZjsKK30KKworSFJFU1VMVCBXZWJLaXRNZXNzYWdlTG9vcDo6cnVuKEhBQ0NF
TCBoQWNjZWxUYWJsZSkKK3sKKyAgICBNU0cgbXNnID0geyAwIH07CisKKyAgICB3aGlsZSAoR2V0
TWVzc2FnZSgmbXNnLCAwLCAwLCAwKSkgeworICAgICAgICBwZXJmb3JtTWVzc2FnZUxvb3BUYXNr
cygpOworCisgICAgICAgIGlmICghVHJhbnNsYXRlQWNjZWxlcmF0b3IobXNnLmh3bmQsIGhBY2Nl
bFRhYmxlLCAmbXNnKSkgeworICAgICAgICAgICAgVHJhbnNsYXRlTWVzc2FnZSgmbXNnKTsKKyAg
ICAgICAgICAgIERpc3BhdGNoTWVzc2FnZSgmbXNnKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBy
ZXR1cm4gU19PSzsKK30KKworSFJFU1VMVCBXZWJLaXRNZXNzYWdlTG9vcDo6cGVyZm9ybU1lc3Nh
Z2VMb29wVGFza3MoKQoreworI2lmIFVTRShDRikKKyAgICBDRlJ1bkxvb3BSdW5Jbk1vZGUoa0NG
UnVuTG9vcERlZmF1bHRNb2RlLCAwLCB0cnVlKTsKKyNlbmRpZgorI2lmIFVTRShHTElCKQorICAg
IGdfbWFpbl9jb250ZXh0X2l0ZXJhdGlvbigwLCBmYWxzZSk7CisjZW5kaWYKKyAgICByZXR1cm4g
U19PSzsKK30KKwpJbmRleDogU291cmNlL1dlYktpdC93aW4vV2ViS2l0TWVzc2FnZUxvb3AuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJLaXRNZXNzYWdlTG9vcC5oCShyZXZp
c2lvbiAwKQorKysgU291cmNlL1dlYktpdC93aW4vV2ViS2l0TWVzc2FnZUxvb3AuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxl
IEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKyAqLworCisjaWZuZGVmIFdlYktpdE1lc3NhZ2VMb29wX2gKKyNkZWZpbmUgV2Vi
S2l0TWVzc2FnZUxvb3BfaAorCisjaW5jbHVkZSAiV2ViS2l0LmgiCisKK2NsYXNzIFdlYktpdE1l
c3NhZ2VMb29wIDogcHVibGljIElXZWJLaXRNZXNzYWdlTG9vcCB7CitwdWJsaWM6CisgICAgV2Vi
S2l0TWVzc2FnZUxvb3AoKTsKKyAgICB+V2ViS2l0TWVzc2FnZUxvb3AoKTsKKworICAgIHN0YXRp
YyBXZWJLaXRNZXNzYWdlTG9vcCogY3JlYXRlSW5zdGFuY2UoKTsKKworICAgIC8vIElVbmtub3du
CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFF1ZXJ5SW50ZXJmYWNlKFJF
RklJRCByaWlkLCB2b2lkKiogcHB2T2JqZWN0KSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIFVMT05H
IFNURE1FVEhPRENBTExUWVBFIEFkZFJlZigpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgVUxPTkcg
U1RETUVUSE9EQ0FMTFRZUEUgUmVsZWFzZSgpIG92ZXJyaWRlOworCisgICAgLy8gSVdlYktpdE1l
c3NhZ2VMb29wCisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHJ1bihIQUND
RUwgaEFjY2VsVGFibGUpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSBwZXJmb3JtTWVzc2FnZUxvb3BUYXNrcygpIG92ZXJyaWRlOworCitwcml2YXRlOgor
ICAgIFVMT05HIG1fcmVmQ291bnQ7Cit9OworCisjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
d2luL0ludGVyZmFjZXMvV2ViS2l0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dp
bi9JbnRlcmZhY2VzL1dlYktpdC5pZGwJKHJldmlzaW9uIDE3OTA2MCkKKysrIFNvdXJjZS9XZWJL
aXQvd2luL0ludGVyZmFjZXMvV2ViS2l0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMTM5LDYgKzEz
OSw3IEBAIGltcG9ydCAiQWNjZXNzaWJsZUFwcGxpY2F0aW9uLmlkbCI7CiAjaW5jbHVkZSAiSVdl
YlZpZXcuaWRsIgogI2luY2x1ZGUgIklXZWJWaWV3UHJpdmF0ZS5pZGwiCiAjaW5jbHVkZSAiSVdl
YldvcmtlcnNQcml2YXRlLmlkbCIKKyNpbmNsdWRlICJXZWJLaXRNZXNzYWdlTG9vcC5pZGwiCiAK
ICNkZWZpbmUgX19UWVBFTElCX1ZFUlNJT05fXyBfX0JVSUxEX05VTUJFUl9NQUpPUl9fIyMuIyNf
X0JVSUxEX05VTUJFUl9NSU5PUl9fCiAKQEAgLTMwMCw0ICszMDEsOSBAQCBsaWJyYXJ5IFdlYktp
dAogICAgIGNvY2xhc3MgV2ViU2VjdXJpdHlPcmlnaW4gewogICAgICAgICBbZGVmYXVsdF0gaW50
ZXJmYWNlIElXZWJTZWN1cml0eU9yaWdpbjsKICAgICB9OworCisgICAgW3V1aWQoMjE3OTkyOTEt
MDA2Ny00NTkzLTk5M0UtNDY3ODc3RkRBNThCKV0KKyAgICBjb2NsYXNzIFdlYktpdE1lc3NhZ2VM
b29wIHsKKyAgICAgICAgW2RlZmF1bHRdIGludGVyZmFjZSBJV2ViS2l0TWVzc2FnZUxvb3A7Cisg
ICAgfTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL0ludGVyZmFjZXMvV2ViS2l0TWVzc2Fn
ZUxvb3AuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL0ludGVyZmFjZXMvV2Vi
S2l0TWVzc2FnZUxvb3AuaWRsCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYktpdC93aW4vSW50
ZXJmYWNlcy9XZWJLaXRNZXNzYWdlTG9vcC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1
NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lm
bmRlZiBET19OT19JTVBPUlRTCitpbXBvcnQgIm9haWRsLmlkbCI7CitpbXBvcnQgIm9jaWRsLmlk
bCI7CisjZW5kaWYKKworWworICAgIG9iamVjdCwKKyAgICBvbGVhdXRvbWF0aW9uLAorICAgIHV1
aWQoNzI0NTdFMjMtRjQ2NC00MzA4LTkzMUQtNTM5RTg0NERGOUM1KSwKKyAgICBwb2ludGVyX2Rl
ZmF1bHQodW5pcXVlKQorXQorCitpbnRlcmZhY2UgSVdlYktpdE1lc3NhZ2VMb29wIDogSVVua25v
d24KK3sKKyAgICAvKiEKKyAgICBAbWV0aG9kIHJ1bgorICAgIEBhYnN0cmFjdCBSdW5zIHRoZSBX
ZWJLaXQgbWVzc2FnZSBsb29wLCBhbmQgcGVyZm9ybXMgcmVxdWlyZWQgV2ViS2l0IHRhc2tzIGlu
IHRoZSBtZXNzYWdlIGxvb3AuCisgICAgVGhlIGhvc3QgY2FuIGltcGxlbWVudCBpdHMgb3duIG1l
c3NhZ2UgbG9vcCwgYnV0IHRoZW4gaXQgbmVlZHMgdG8gY2FsbCB0aGUgcGVyZm9ybU1lc3NhZ2VM
b29wVGFza3MoKSBtZXRob2QKKyAgICBmb3IgZWFjaCBpdGVyYXRpb24gaW4gaXRzIG1lc3NhZ2Ug
bG9vcC4KKyAgICBAcGFyYW0gaEFjY2VsVGFibGUgQSBoYW5kbGUgdG8gdGhlIGtleWJvYXJkIGFj
Y2VsZXJhdG9yIHRhYmxlIGZvciB0aGUgYXBwbGljYXRpb24uCisgICAgKi8KKworICAgIEhSRVNV
TFQgcnVuKEhBQ0NFTCBoQWNjZWxUYWJsZSk7CisKKyAgICAvKiEKKyAgICBAbWV0aG9kIHBlcmZv
cm1NZXNzYWdlTG9vcFRhc2tzCisgICAgQGFic3RyYWN0IFBlcmZvcm1zIHJlcXVpcmVkIG1lc3Nh
Z2UgbG9vcCBXZWJLaXQgdGFza3MuCisgICAgVGhpcyBtZXRob2QgbmVlZHMgdG8gYmUgY2FsbGVk
IGZyb20gdGhlIGhvc3QgbWVzc2FnZSBsb29wLCBpZiB0aGUgaG9zdCBkb2VzIG5vdCB1c2UgdGhl
IHJ1bigpIG1ldGhvZC4KKyAgICAqLworCisgICAgSFJFU1VMVCBwZXJmb3JtTWVzc2FnZUxvb3BU
YXNrcygpOworfQpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0No
YW5nZUxvZwkocmV2aXNpb24gMTc5MDYxKQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTUtMDEtMjQgIHBlYXZvQG91dGxvb2suY29tICA8cGVh
dm9Ab3V0bG9vay5jb20+CisKKyAgICAgICAgW1dpbl0gQWRkIFdlYktpdCBtZXNzYWdlIGxvb3Ag
aW50ZXJmYWNlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTQwODU3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkZWQgbWVzc2FnZSBsb29wIGludGVyZmFjZSB3aGljaCB3aWxsIHJ1biB0aGUgbWVzc2Fn
ZSBsb29wLAorICAgICAgICBhbmQgcGVyZm9ybSByZXF1aXJlZCB0YXNrcyAobGlrZSBjYWxsaW5n
IENGUnVuTG9vcFJ1bkluTW9kZSkKKyAgICAgICAgb24gZWFjaCBpdGVyYXRpb24gb2YgdGhlIGxv
b3AuCisKKyAgICAgICAgKiBXaW5MYXVuY2hlci9XaW5NYWluLmNwcDoKKyAgICAgICAgKHdXaW5N
YWluKTogVXNlIG5ldyBtZXNzYWdlIGxvb3AgaW50ZXJmYWNlLgorCiAyMDE1LTAxLTIzICBEYXZp
ZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAgICAgdGVzdC13ZWJraXRweTog
d2Via2l0cHkudG9vbC5jb21tYW5kcy5lYXJseXdhcm5pbmdzeXN0ZW1fdW5pdHRlc3QuRWFybHlX
YXJuaW5nU3lzdGVtVGVzdC50ZXN0X2V3c2VzIGZhaWxzIG9uIEVGTCwgR1RLLCBXaW4gcG9ydHMK
SW5kZXg6IFRvb2xzL1dpbkxhdW5jaGVyL1dpbk1haW4uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L1dpbkxhdW5jaGVyL1dpbk1haW4uY3BwCShyZXZpc2lvbiAxNzkwNjApCisrKyBUb29scy9XaW5M
YXVuY2hlci9XaW5NYWluLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsMTAgKzMxLDYgQEAKICNp
bmNsdWRlICJXaW5MYXVuY2hlcldlYkhvc3QuaCIKICNpbmNsdWRlICJDb21tb24uY3BwIgogCi0j
aWYgVVNFKEdMSUIpCi0jaW5jbHVkZSA8Z2xpYi5oPgotI2VuZGlmCi0KIGludCBXSU5BUEkgd1dp
bk1haW4oSElOU1RBTkNFLCBISU5TVEFOQ0UsIFBXU1RSLCBpbnQgbkNtZFNob3cpCiB7CiAjaWZk
ZWYgX0NSVERCR19NQVBfQUxMT0MKQEAgLTE2MSwxOCArMTU3LDE0IEBAIGludCBXSU5BUEkgd1dp
bk1haW4oSElOU1RBTkNFLCBISU5TVEFOQ0UKIAogICAgIC8vIE1haW4gbWVzc2FnZSBsb29wOgog
ICAgIF9fdHJ5IHsKLSAgICAgICAgd2hpbGUgKEdldE1lc3NhZ2UoJm1zZywgMCwgMCwgMCkpIHsK
LSNpZiBVU0UoQ0YpCi0gICAgICAgICAgICBDRlJ1bkxvb3BSdW5Jbk1vZGUoa0NGUnVuTG9vcERl
ZmF1bHRNb2RlLCAwLCB0cnVlKTsKLSNlbmRpZgotICAgICAgICAgICAgaWYgKCFUcmFuc2xhdGVB
Y2NlbGVyYXRvcihtc2cuaHduZCwgaEFjY2VsVGFibGUsICZtc2cpKSB7Ci0gICAgICAgICAgICAg
ICAgVHJhbnNsYXRlTWVzc2FnZSgmbXNnKTsKLSAgICAgICAgICAgICAgICBEaXNwYXRjaE1lc3Nh
Z2UoJm1zZyk7Ci0gICAgICAgICAgICB9Ci0jaWYgVVNFKEdMSUIpCi0gICAgICAgICAgICBnX21h
aW5fY29udGV4dF9pdGVyYXRpb24oMCwgZmFsc2UpOwotI2VuZGlmCi0gICAgICAgIH0KKyAgICAg
ICAgX2NvbV9wdHJfdDxfY29tX0lJSUQ8SVdlYktpdE1lc3NhZ2VMb29wLCAmX191dWlkb2YoSVdl
YktpdE1lc3NhZ2VMb29wKT4+IG1lc3NhZ2VMb29wOworCisgICAgICAgIGhyID0gV2ViS2l0Q3Jl
YXRlSW5zdGFuY2UoQ0xTSURfV2ViS2l0TWVzc2FnZUxvb3AsIDAsIElJRF9JV2ViS2l0TWVzc2Fn
ZUxvb3AsIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPigmbWVzc2FnZUxvb3AuR2V0SW50ZXJmYWNl
UHRyKCkpKTsKKyAgICAgICAgaWYgKEZBSUxFRChocikpCisgICAgICAgICAgICBnb3RvIGV4aXQ7
CisKKyAgICAgICAgbWVzc2FnZUxvb3AtPnJ1bihoQWNjZWxUYWJsZSk7CisKICAgICB9IF9fZXhj
ZXB0KGNyZWF0ZUNyYXNoUmVwb3J0KEdldEV4Y2VwdGlvbkluZm9ybWF0aW9uKCkpLCBFWENFUFRJ
T05fRVhFQ1VURV9IQU5ETEVSKSB7IH0KIAogZXhpdDoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245297</attachid>
            <date>2015-01-25 00:20:12 -0800</date>
            <delta_ts>2015-01-25 10:01:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140857-20150125091956.patch</filename>
            <type>text/plain</type>
            <size>16552</size>
            <attacher>peavo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNzkwNjEpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDE1LTAxLTI0ICBwZWF2b0BvdXRs
b29rLmNvbSAgPHBlYXZvQG91dGxvb2suY29tPgorCisgICAgICAgIFtXaW5dIEFkZCBXZWJLaXQg
bWVzc2FnZSBsb29wIGludGVyZmFjZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE0MDg1NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZGVkIG1lc3NhZ2UgbG9vcCBpbnRlcmZhY2Ugd2hpY2ggd2lsbCBy
dW4gdGhlIG1lc3NhZ2UgbG9vcCwKKyAgICAgICAgYW5kIHBlcmZvcm0gcmVxdWlyZWQgdGFza3Mg
KGxpa2UgY2FsbGluZyBDRlJ1bkxvb3BSdW5Jbk1vZGUpCisgICAgICAgIG9uIGVhY2ggaXRlcmF0
aW9uIG9mIHRoZSBsb29wLgorCisgICAgICAgICogV2ViS2l0LnZjeHByb2ovV2ViS2l0L1dlYktp
dC52Y3hwcm9qOiBBZGRlZCBuZXcgZmlsZXMgdG8gcHJvamVjdC4KKyAgICAgICAgKiBXZWJLaXQu
dmN4cHJvai9XZWJLaXQvV2ViS2l0LnZjeHByb2ouZmlsdGVyczogRGl0dG8uCisKIDIwMTUtMDEt
MjIgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSB1
bnVzZWQgY2xhc3MgRW1vamlGYWxsYmFja0ZvbnRTZWxlY3Rvci4KSW5kZXg6IFNvdXJjZS9XZWJL
aXQvV2ViS2l0LnZjeHByb2ovV2ViS2l0L1dlYktpdC52Y3hwcm9qCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvV2ViS2l0LnZjeHByb2ovV2ViS2l0L1dlYktpdC52Y3hwcm9qCShyZXZpc2lv
biAxNzkwNjApCisrKyBTb3VyY2UvV2ViS2l0L1dlYktpdC52Y3hwcm9qL1dlYktpdC9XZWJLaXQu
dmN4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMzgzLDYgKzM4Myw3IEBACiAgICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdS
ZWxlYXNlX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xD
b21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cd2luXFdlYktpdExvZ2dpbmcu
Y3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cd2luXFdlYktpdE1lc3NhZ2VM
b29wLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHdpblxXZWJLaXRQcmVm
aXguY3BwIj4KICAgICAgIDxQcmVjb21waWxlZEhlYWRlciBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+Q3JlYXRlPC9QcmVjb21waWxlZEhl
YWRlcj4KICAgICAgIDxQcmVjb21waWxlZEhlYWRlciBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPkNyZWF0ZTwvUHJlY29tcGlsZWRIZWFkZXI+
CkBAIC01MTgsNiArNTE5LDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXHdpblxX
ZWJLaXRETEwuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXHdpblxXZWJLaXRH
cmFwaGljcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cd2luXFdlYktpdExv
Z2dpbmcuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXHdpblxXZWJLaXRNZXNz
YWdlTG9vcC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cd2luXFdlYktpdFBy
ZWZpeC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cd2luXFdlYktpdFN0YXRp
c3RpY3MuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXHdpblxXZWJLaXRTdGF0
aXN0aWNzUHJpdmF0ZS5oIiAvPgpJbmRleDogU291cmNlL1dlYktpdC9XZWJLaXQudmN4cHJvai9X
ZWJLaXQvV2ViS2l0LnZjeHByb2ouZmlsdGVycwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L1dlYktpdC52Y3hwcm9qL1dlYktpdC9XZWJLaXQudmN4cHJvai5maWx0ZXJzCShyZXZpc2lvbiAx
NzkwNjApCisrKyBTb3VyY2UvV2ViS2l0L1dlYktpdC52Y3hwcm9qL1dlYktpdC9XZWJLaXQudmN4
cHJvai5maWx0ZXJzCSh3b3JraW5nIGNvcHkpCkBAIC0zMzAsNiArMzMwLDkgQEAKICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXC4uXHdpblxQbHVnaW5zXG5wYXBpLmNwcCI+CiAgICAgICA8Rmls
dGVyPlNvdXJjZXNcUGx1Z2luczwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgorICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5cLi5cd2luXFdlYktpdE1lc3NhZ2VMb29wLmNwcCI+CisgICAgICA8
RmlsdGVyPlNvdXJjZXM8L0ZpbHRlcj4KKyAgICA8L0NsQ29tcGlsZT4KICAgPC9JdGVtR3JvdXA+
CiAgIDxJdGVtR3JvdXA+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlx3aW5cV2ViQ29y
ZVN1cHBvcnRcRW1iZWRkZWRXaWRnZXQuaCI+CkBAIC02NDgsNiArNjUxLDkgQEAKICAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXC4uXHdpblxQbHVnaW5zXFBsdWdpblN0cmF0ZWd5LmgiPgogICAg
ICAgPEZpbHRlcj5IZWFkZXIgRmlsZXM8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXHdpblxXZWJLaXRNZXNzYWdlTG9vcC5oIj4KKyAgICAg
IDxGaWx0ZXI+SGVhZGVyIEZpbGVzPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgIDwvSXRl
bUdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxOb25lIEluY2x1ZGU9IldlYktpdFBvc3RCdWls
ZC5jbWQiIC8+CkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCShyZXZpc2lvbiAxNzkwNjEpCisrKyBTb3Vy
Y2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyOSBAQAor
MjAxNS0wMS0yNCAgcGVhdm9Ab3V0bG9vay5jb20gIDxwZWF2b0BvdXRsb29rLmNvbT4KKworICAg
ICAgICBbV2luXSBBZGQgV2ViS2l0IG1lc3NhZ2UgbG9vcCBpbnRlcmZhY2UuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBtZXNzYWdlIGxvb3Ag
aW50ZXJmYWNlIHdoaWNoIHdpbGwgcnVuIHRoZSBtZXNzYWdlIGxvb3AsCisgICAgICAgIGFuZCBw
ZXJmb3JtIHJlcXVpcmVkIHRhc2tzIChsaWtlIGNhbGxpbmcgQ0ZSdW5Mb29wUnVuSW5Nb2RlKQor
ICAgICAgICBvbiBlYWNoIGl0ZXJhdGlvbiBvZiB0aGUgbG9vcC4KKworICAgICAgICAqIEZvckVh
Y2hDb0NsYXNzLmg6CisgICAgICAgICogSW50ZXJmYWNlcy9XZWJLaXQuaWRsOgorICAgICAgICAq
IEludGVyZmFjZXMvV2ViS2l0TWVzc2FnZUxvb3AuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBXZWJL
aXRDbGFzc0ZhY3RvcnkuY3BwOgorICAgICAgICAqIFdlYktpdE1lc3NhZ2VMb29wLmNwcDogQWRk
ZWQuCisgICAgICAgIChXZWJLaXRNZXNzYWdlTG9vcDo6V2ViS2l0TWVzc2FnZUxvb3ApOgorICAg
ICAgICAoV2ViS2l0TWVzc2FnZUxvb3A6On5XZWJLaXRNZXNzYWdlTG9vcCk6CisgICAgICAgIChX
ZWJLaXRNZXNzYWdlTG9vcDo6Y3JlYXRlSW5zdGFuY2UpOgorICAgICAgICAoV2ViS2l0TWVzc2Fn
ZUxvb3A6OlF1ZXJ5SW50ZXJmYWNlKToKKyAgICAgICAgKFdlYktpdE1lc3NhZ2VMb29wOjpBZGRS
ZWYpOgorICAgICAgICAoV2ViS2l0TWVzc2FnZUxvb3A6OlJlbGVhc2UpOgorICAgICAgICAoV2Vi
S2l0TWVzc2FnZUxvb3A6OnJ1bik6CisgICAgICAgIChXZWJLaXRNZXNzYWdlTG9vcDo6cGVyZm9y
bU1lc3NhZ2VMb29wVGFza3MpOgorICAgICAgICAqIFdlYktpdE1lc3NhZ2VMb29wLmg6IEFkZGVk
LgorCiAyMDE1LTAxLTIzICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAg
ICAgICAgIFtXaW5dIFRlYWNoIFdlYktpdCB0byBwcm92aWRlIElBY2Nlc3NpYmxlMiAnZ2V0X2xh
bmd1YWdlJwpJbmRleDogU291cmNlL1dlYktpdC93aW4vRm9yRWFjaENvQ2xhc3MuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9Gb3JFYWNoQ29DbGFzcy5oCShyZXZpc2lvbiAxNzkw
NjApCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9Gb3JFYWNoQ29DbGFzcy5oCSh3b3JraW5nIGNvcHkp
CkBAIC02MSw2ICs2MSw3IEBACiAgICAgbWFjcm8oV2ViR2VvbG9jYXRpb25Qb3NpdGlvbikgXAog
ICAgIG1hY3JvKFdlYlNlcmlhbGl6ZWRKU1ZhbHVlKSBcCiAgICAgbWFjcm8oV2ViVXNlckNvbnRl
bnRVUkxQYXR0ZXJuKSBcCisgICAgbWFjcm8oV2ViS2l0TWVzc2FnZUxvb3ApIFwKICAgICAvLyBl
bmQgb2YgbWFjcm8KIAogLy8gRXZlcnl0aGluZyBiZWxvdyB0aGlzIHBvaW50IGlzIGRlcHJlY2F0
ZWQuIFBsZWFzZSBkbyBub3QgdXNlLgpJbmRleDogU291cmNlL1dlYktpdC93aW4vV2ViS2l0Q2xh
c3NGYWN0b3J5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJLaXRDbGFz
c0ZhY3RvcnkuY3BwCShyZXZpc2lvbiAxNzkwNjApCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJL
aXRDbGFzc0ZhY3RvcnkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw3IEBACiAjaW5j
bHVkZSAiV2ViSWNvbkRhdGFiYXNlLmgiCiAjaW5jbHVkZSAiV2ViSmF2YVNjcmlwdENvbGxlY3Rv
ci5oIgogI2luY2x1ZGUgIldlYktpdC5oIgorI2luY2x1ZGUgIldlYktpdE1lc3NhZ2VMb29wLmgi
CiAjaW5jbHVkZSAiV2ViS2l0U3RhdGlzdGljcy5oIgogI2luY2x1ZGUgIldlYk11dGFibGVVUkxS
ZXF1ZXN0LmgiCiAjaW5jbHVkZSAiV2ViTm90aWZpY2F0aW9uQ2VudGVyLmgiCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJLaXRNZXNzYWdlTG9vcC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC93aW4vV2ViS2l0TWVzc2FnZUxvb3AuY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNl
L1dlYktpdC93aW4vV2ViS2l0TWVzc2FnZUxvb3AuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMTEwIEBACisvKgorKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyoKKyogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworKiBhcmUgbWV0OgorKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyoKKyogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCisqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiV2ViS2l0TWVzc2FnZUxvb3AuaCIKKworI2luY2x1ZGUgIldlYktpdERMTC5oIgor
CisjaWYgVVNFKEdMSUIpCisjaW5jbHVkZSA8Z2xpYi5oPgorI2VuZGlmCisKK1dlYktpdE1lc3Nh
Z2VMb29wOjpXZWJLaXRNZXNzYWdlTG9vcCgpCisgICAgOiBtX3JlZkNvdW50KDApCit7CisgICAg
Z0NsYXNzQ291bnQrKzsKKyAgICBnQ2xhc3NOYW1lQ291bnQoKS5hZGQoIldlYktpdE1lc3NhZ2VM
b29wIik7Cit9CisKK1dlYktpdE1lc3NhZ2VMb29wOjp+V2ViS2l0TWVzc2FnZUxvb3AoKQorewor
ICAgIGdDbGFzc0NvdW50LS07CisgICAgZ0NsYXNzTmFtZUNvdW50KCkucmVtb3ZlKCJXZWJLaXRN
ZXNzYWdlTG9vcCIpOworfQorCitXZWJLaXRNZXNzYWdlTG9vcCogV2ViS2l0TWVzc2FnZUxvb3A6
OmNyZWF0ZUluc3RhbmNlKCkKK3sKKyAgICBXZWJLaXRNZXNzYWdlTG9vcCogaW5zdGFuY2UgPSBu
ZXcgV2ViS2l0TWVzc2FnZUxvb3AoKTsKKyAgICBpbnN0YW5jZS0+QWRkUmVmKCk7CisgICAgcmV0
dXJuIGluc3RhbmNlOworfQorCitIUkVTVUxUIFdlYktpdE1lc3NhZ2VMb29wOjpRdWVyeUludGVy
ZmFjZShSRUZJSUQgcmlpZCwgdm9pZCoqIHBwdk9iamVjdCkKK3sKKyAgICAqcHB2T2JqZWN0ID0g
MDsKKyAgICBpZiAoSXNFcXVhbEdVSUQocmlpZCwgSUlEX0lVbmtub3duKSkKKyAgICAgICAgKnBw
dk9iamVjdCA9IHN0YXRpY19jYXN0PElXZWJLaXRNZXNzYWdlTG9vcCo+KHRoaXMpOworICAgIGVs
c2UgaWYgKElzRXF1YWxHVUlEKHJpaWQsIENMU0lEX1dlYktpdE1lc3NhZ2VMb29wKSkKKyAgICAg
ICAgKnBwdk9iamVjdCA9IHN0YXRpY19jYXN0PFdlYktpdE1lc3NhZ2VMb29wKj4odGhpcyk7Cisg
ICAgZWxzZSBpZiAoSXNFcXVhbEdVSUQocmlpZCwgSUlEX0lXZWJLaXRNZXNzYWdlTG9vcCkpCisg
ICAgICAgICpwcHZPYmplY3QgPSBzdGF0aWNfY2FzdDxJV2ViS2l0TWVzc2FnZUxvb3AqPih0aGlz
KTsKKyAgICBlbHNlCisgICAgICAgIHJldHVybiBFX05PSU5URVJGQUNFOworCisgICAgQWRkUmVm
KCk7CisgICAgcmV0dXJuIFNfT0s7Cit9CisKK1VMT05HIFdlYktpdE1lc3NhZ2VMb29wOjpBZGRS
ZWYoKQoreworICAgIHJldHVybiArK21fcmVmQ291bnQ7Cit9CisKK1VMT05HIFdlYktpdE1lc3Nh
Z2VMb29wOjpSZWxlYXNlKCkKK3sKKyAgICBVTE9ORyBuZXdSZWYgPSAtLW1fcmVmQ291bnQ7Cisg
ICAgaWYgKCFuZXdSZWYpCisgICAgICAgIGRlbGV0ZSh0aGlzKTsKKworICAgIHJldHVybiBuZXdS
ZWY7Cit9CisKK0hSRVNVTFQgV2ViS2l0TWVzc2FnZUxvb3A6OnJ1bihIQUNDRUwgaEFjY2VsVGFi
bGUpCit7CisgICAgTVNHIG1zZyA9IHsgMCB9OworCisgICAgd2hpbGUgKEdldE1lc3NhZ2UoJm1z
ZywgMCwgMCwgMCkpIHsKKyAgICAgICAgcGVyZm9ybU1lc3NhZ2VMb29wVGFza3MoKTsKKworICAg
ICAgICBpZiAoIVRyYW5zbGF0ZUFjY2VsZXJhdG9yKG1zZy5od25kLCBoQWNjZWxUYWJsZSwgJm1z
ZykpIHsKKyAgICAgICAgICAgIFRyYW5zbGF0ZU1lc3NhZ2UoJm1zZyk7CisgICAgICAgICAgICBE
aXNwYXRjaE1lc3NhZ2UoJm1zZyk7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIFNfT0s7
Cit9CisKK0hSRVNVTFQgV2ViS2l0TWVzc2FnZUxvb3A6OnBlcmZvcm1NZXNzYWdlTG9vcFRhc2tz
KCkKK3sKKyNpZiBVU0UoQ0YpCisgICAgQ0ZSdW5Mb29wUnVuSW5Nb2RlKGtDRlJ1bkxvb3BEZWZh
dWx0TW9kZSwgMCwgdHJ1ZSk7CisjZW5kaWYKKyNpZiBVU0UoR0xJQikKKyAgICBnX21haW5fY29u
dGV4dF9pdGVyYXRpb24oMCwgZmFsc2UpOworI2VuZGlmCisgICAgcmV0dXJuIFNfT0s7Cit9CisK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYktpdE1lc3NhZ2VMb29wLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC93aW4vV2ViS2l0TWVzc2FnZUxvb3AuaAkocmV2aXNpb24gMCkKKysr
IFNvdXJjZS9XZWJLaXQvd2luL1dlYktpdE1lc3NhZ2VMb29wLmgJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuICBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisg
Ki8KKworI2lmbmRlZiBXZWJLaXRNZXNzYWdlTG9vcF9oCisjZGVmaW5lIFdlYktpdE1lc3NhZ2VM
b29wX2gKKworI2luY2x1ZGUgIldlYktpdC5oIgorCitjbGFzcyBXZWJLaXRNZXNzYWdlTG9vcCA6
IHB1YmxpYyBJV2ViS2l0TWVzc2FnZUxvb3AgeworcHVibGljOgorICAgIFdlYktpdE1lc3NhZ2VM
b29wKCk7CisgICAgfldlYktpdE1lc3NhZ2VMb29wKCk7CisKKyAgICBzdGF0aWMgV2ViS2l0TWVz
c2FnZUxvb3AqIGNyZWF0ZUluc3RhbmNlKCk7CisKKyAgICAvLyBJVW5rbm93bgorICAgIHZpcnR1
YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBRdWVyeUludGVyZmFjZShSRUZJSUQgcmlpZCwg
dm9pZCoqIHBwdk9iamVjdCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBVTE9ORyBTVERNRVRIT0RD
QUxMVFlQRSBBZGRSZWYoKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIFVMT05HIFNURE1FVEhPRENB
TExUWVBFIFJlbGVhc2UoKSBvdmVycmlkZTsKKworICAgIC8vIElXZWJLaXRNZXNzYWdlTG9vcAor
ICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBydW4oSEFDQ0VMIGhBY2NlbFRh
YmxlKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgcGVy
Zm9ybU1lc3NhZ2VMb29wVGFza3MoKSBvdmVycmlkZTsKKworcHJpdmF0ZToKKyAgICBVTE9ORyBt
X3JlZkNvdW50OworfTsKKworI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZh
Y2VzL1dlYktpdC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vSW50ZXJmYWNl
cy9XZWJLaXQuaWRsCShyZXZpc2lvbiAxNzkwNjApCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9JbnRl
cmZhY2VzL1dlYktpdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTEzOSw2ICsxMzksNyBAQCBpbXBv
cnQgIkFjY2Vzc2libGVBcHBsaWNhdGlvbi5pZGwiOwogI2luY2x1ZGUgIklXZWJWaWV3LmlkbCIK
ICNpbmNsdWRlICJJV2ViVmlld1ByaXZhdGUuaWRsIgogI2luY2x1ZGUgIklXZWJXb3JrZXJzUHJp
dmF0ZS5pZGwiCisjaW5jbHVkZSAiV2ViS2l0TWVzc2FnZUxvb3AuaWRsIgogCiAjZGVmaW5lIF9f
VFlQRUxJQl9WRVJTSU9OX18gX19CVUlMRF9OVU1CRVJfTUFKT1JfXyMjLiMjX19CVUlMRF9OVU1C
RVJfTUlOT1JfXwogCkBAIC0zMDAsNCArMzAxLDkgQEAgbGlicmFyeSBXZWJLaXQKICAgICBjb2Ns
YXNzIFdlYlNlY3VyaXR5T3JpZ2luIHsKICAgICAgICAgW2RlZmF1bHRdIGludGVyZmFjZSBJV2Vi
U2VjdXJpdHlPcmlnaW47CiAgICAgfTsKKworICAgIFt1dWlkKDIxNzk5MjkxLTAwNjctNDU5My05
OTNFLTQ2Nzg3N0ZEQTU4QildCisgICAgY29jbGFzcyBXZWJLaXRNZXNzYWdlTG9vcCB7CisgICAg
ICAgIFtkZWZhdWx0XSBpbnRlcmZhY2UgSVdlYktpdE1lc3NhZ2VMb29wOworICAgIH07CiB9Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL1dlYktpdE1lc3NhZ2VMb29wLmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL1dlYktpdE1lc3NhZ2VM
b29wLmlkbAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJLaXQvd2luL0ludGVyZmFjZXMvV2Vi
S2l0TWVzc2FnZUxvb3AuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTcgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgRE9fTk9f
SU1QT1JUUworaW1wb3J0ICJvYWlkbC5pZGwiOworaW1wb3J0ICJvY2lkbC5pZGwiOworI2VuZGlm
CisKK1sKKyAgICBvYmplY3QsCisgICAgb2xlYXV0b21hdGlvbiwKKyAgICB1dWlkKDcyNDU3RTIz
LUY0NjQtNDMwOC05MzFELTUzOUU4NDRERjlDNSksCisgICAgcG9pbnRlcl9kZWZhdWx0KHVuaXF1
ZSkKK10KKworaW50ZXJmYWNlIElXZWJLaXRNZXNzYWdlTG9vcCA6IElVbmtub3duCit7CisgICAg
LyohCisgICAgQG1ldGhvZCBydW4KKyAgICBAYWJzdHJhY3QgUnVucyB0aGUgV2ViS2l0IG1lc3Nh
Z2UgbG9vcCwgYW5kIHBlcmZvcm1zIHJlcXVpcmVkIFdlYktpdCB0YXNrcyBpbiB0aGUgbWVzc2Fn
ZSBsb29wLgorICAgIFRoZSBob3N0IGNhbiBpbXBsZW1lbnQgaXRzIG93biBtZXNzYWdlIGxvb3As
IGJ1dCB0aGVuIGl0IG5lZWRzIHRvIGNhbGwgdGhlIHBlcmZvcm1NZXNzYWdlTG9vcFRhc2tzKCkg
bWV0aG9kCisgICAgZm9yIGVhY2ggaXRlcmF0aW9uIGluIGl0cyBtZXNzYWdlIGxvb3AuCisgICAg
QHBhcmFtIGhBY2NlbFRhYmxlIEEgaGFuZGxlIHRvIHRoZSBrZXlib2FyZCBhY2NlbGVyYXRvciB0
YWJsZSBmb3IgdGhlIGFwcGxpY2F0aW9uLgorICAgICovCisKKyAgICBIUkVTVUxUIHJ1bihIQUND
RUwgaEFjY2VsVGFibGUpOworCisgICAgLyohCisgICAgQG1ldGhvZCBwZXJmb3JtTWVzc2FnZUxv
b3BUYXNrcworICAgIEBhYnN0cmFjdCBQZXJmb3JtcyByZXF1aXJlZCBtZXNzYWdlIGxvb3AgV2Vi
S2l0IHRhc2tzLgorICAgIFRoaXMgbWV0aG9kIG5lZWRzIHRvIGJlIGNhbGxlZCBmcm9tIHRoZSBo
b3N0IG1lc3NhZ2UgbG9vcCwgaWYgdGhlIGhvc3QgZG9lcyBub3QgdXNlIHRoZSBydW4oKSBtZXRo
b2QuCisgICAgKi8KKworICAgIEhSRVNVTFQgcGVyZm9ybU1lc3NhZ2VMb29wVGFza3MoKTsKK30K
SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE3OTA2MSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE3IEBACisyMDE1LTAxLTI0ICBwZWF2b0BvdXRsb29rLmNvbSAgPHBlYXZvQG91dGxvb2su
Y29tPgorCisgICAgICAgIFtXaW5dIEFkZCBXZWJLaXQgbWVzc2FnZSBsb29wIGludGVyZmFjZS4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1Nwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIG1l
c3NhZ2UgbG9vcCBpbnRlcmZhY2Ugd2hpY2ggd2lsbCBydW4gdGhlIG1lc3NhZ2UgbG9vcCwKKyAg
ICAgICAgYW5kIHBlcmZvcm0gcmVxdWlyZWQgdGFza3MgKGxpa2UgY2FsbGluZyBDRlJ1bkxvb3BS
dW5Jbk1vZGUpCisgICAgICAgIG9uIGVhY2ggaXRlcmF0aW9uIG9mIHRoZSBsb29wLgorCisgICAg
ICAgICogV2luTGF1bmNoZXIvV2luTWFpbi5jcHA6CisgICAgICAgICh3V2luTWFpbik6IFVzZSBu
ZXcgbWVzc2FnZSBsb29wIGludGVyZmFjZS4KKwogMjAxNS0wMS0yMyAgRGF2aWQgS2lsemVyICA8
ZGRraWx6ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIHRlc3Qtd2Via2l0cHk6IHdlYmtpdHB5LnRv
b2wuY29tbWFuZHMuZWFybHl3YXJuaW5nc3lzdGVtX3VuaXR0ZXN0LkVhcmx5V2FybmluZ1N5c3Rl
bVRlc3QudGVzdF9ld3NlcyBmYWlscyBvbiBFRkwsIEdUSywgV2luIHBvcnRzCkluZGV4OiBUb29s
cy9XaW5MYXVuY2hlci9XaW5NYWluLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XaW5MYXVuY2hl
ci9XaW5NYWluLmNwcAkocmV2aXNpb24gMTc5MDYwKQorKysgVG9vbHMvV2luTGF1bmNoZXIvV2lu
TWFpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDEwICszMSw2IEBACiAjaW5jbHVkZSAiV2lu
TGF1bmNoZXJXZWJIb3N0LmgiCiAjaW5jbHVkZSAiQ29tbW9uLmNwcCIKIAotI2lmIFVTRShHTElC
KQotI2luY2x1ZGUgPGdsaWIuaD4KLSNlbmRpZgotCiBpbnQgV0lOQVBJIHdXaW5NYWluKEhJTlNU
QU5DRSwgSElOU1RBTkNFLCBQV1NUUiwgaW50IG5DbWRTaG93KQogewogI2lmZGVmIF9DUlREQkdf
TUFQX0FMTE9DCkBAIC0xNjEsMTggKzE1NywxNCBAQCBpbnQgV0lOQVBJIHdXaW5NYWluKEhJTlNU
QU5DRSwgSElOU1RBTkNFCiAKICAgICAvLyBNYWluIG1lc3NhZ2UgbG9vcDoKICAgICBfX3RyeSB7
Ci0gICAgICAgIHdoaWxlIChHZXRNZXNzYWdlKCZtc2csIDAsIDAsIDApKSB7Ci0jaWYgVVNFKENG
KQotICAgICAgICAgICAgQ0ZSdW5Mb29wUnVuSW5Nb2RlKGtDRlJ1bkxvb3BEZWZhdWx0TW9kZSwg
MCwgdHJ1ZSk7Ci0jZW5kaWYKLSAgICAgICAgICAgIGlmICghVHJhbnNsYXRlQWNjZWxlcmF0b3Io
bXNnLmh3bmQsIGhBY2NlbFRhYmxlLCAmbXNnKSkgewotICAgICAgICAgICAgICAgIFRyYW5zbGF0
ZU1lc3NhZ2UoJm1zZyk7Ci0gICAgICAgICAgICAgICAgRGlzcGF0Y2hNZXNzYWdlKCZtc2cpOwot
ICAgICAgICAgICAgfQotI2lmIFVTRShHTElCKQotICAgICAgICAgICAgZ19tYWluX2NvbnRleHRf
aXRlcmF0aW9uKDAsIGZhbHNlKTsKLSNlbmRpZgotICAgICAgICB9CisgICAgICAgIF9jb21fcHRy
X3Q8X2NvbV9JSUlEPElXZWJLaXRNZXNzYWdlTG9vcCwgJl9fdXVpZG9mKElXZWJLaXRNZXNzYWdl
TG9vcCk+PiBtZXNzYWdlTG9vcDsKKworICAgICAgICBociA9IFdlYktpdENyZWF0ZUluc3RhbmNl
KENMU0lEX1dlYktpdE1lc3NhZ2VMb29wLCAwLCBJSURfSVdlYktpdE1lc3NhZ2VMb29wLCByZWlu
dGVycHJldF9jYXN0PHZvaWQqKj4oJm1lc3NhZ2VMb29wLkdldEludGVyZmFjZVB0cigpKSk7Cisg
ICAgICAgIGlmIChGQUlMRUQoaHIpKQorICAgICAgICAgICAgZ290byBleGl0OworCisgICAgICAg
IG1lc3NhZ2VMb29wLT5ydW4oaEFjY2VsVGFibGUpOworCiAgICAgfSBfX2V4Y2VwdChjcmVhdGVD
cmFzaFJlcG9ydChHZXRFeGNlcHRpb25JbmZvcm1hdGlvbigpKSwgRVhDRVBUSU9OX0VYRUNVVEVf
SEFORExFUikgeyB9CiAKIGV4aXQ6Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>