<?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>66152</bug_id>
          
          <creation_ts>2011-08-12 12:13:28 -0700</creation_ts>
          <short_desc>Use __builtin_trap() for CRASH when building with clang</short_desc>
          <delta_ts>2011-08-13 10:53:18 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>66190</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>ddkilzer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>450547</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-08-12 12:13:28 -0700</bug_when>
    <thetext>Use __builtin_trap() for CRASH when building with clang</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450550</commentid>
    <comment_count>1</comment_count>
      <attachid>103789</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-08-12 12:19:11 -0700</bug_when>
    <thetext>Created attachment 103789
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450552</commentid>
    <comment_count>2</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-08-12 12:19:49 -0700</bug_when>
    <thetext>As a note, I am not happy with the name ASSERT_NO_RETURN.  But, while I think of a better name, I want the bots to run on this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450553</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-08-12 12:20:17 -0700</bug_when>
    <thetext>Second note, this is to make the clang static analyzer be able to reason about ASSERT and CRASH in WebCore!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450567</commentid>
    <comment_count>4</comment_count>
      <attachid>103789</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-08-12 12:32:47 -0700</bug_when>
    <thetext>Comment on attachment 103789
Patch

Attachment 103789 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/9351695</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450600</commentid>
    <comment_count>5</comment_count>
      <attachid>103802</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-08-12 13:08:15 -0700</bug_when>
    <thetext>Created attachment 103802
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450703</commentid>
    <comment_count>6</comment_count>
      <attachid>103827</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-08-12 15:26:31 -0700</bug_when>
    <thetext>Created attachment 103827
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450704</commentid>
    <comment_count>7</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-08-12 15:27:25 -0700</bug_when>
    <thetext>I have changed the macro to NO_RETURN_DUE_TO_ASSERT (and added NO_RETURN_DUE_TO_CRASH) which I like better as names.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450790</commentid>
    <comment_count>8</comment_count>
      <attachid>103827</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-08-12 19:32:20 -0700</bug_when>
    <thetext>Comment on attachment 103827
Patch

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

&gt; Source/WebCore/bindings/objc/WebScriptObject.mm:610
&gt; +
&gt; +- (void)dealloc NO_RETURN_DUE_TO_ASSERT;
&gt; +

Please remove the whitespace here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450791</commentid>
    <comment_count>9</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-08-12 19:40:57 -0700</bug_when>
    <thetext>Committed r93012: &lt;http://trac.webkit.org/changeset/93012&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450852</commentid>
    <comment_count>10</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-08-13 10:41:08 -0700</bug_when>
    <thetext>*** Bug 26630 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103789</attachid>
            <date>2011-08-12 12:19:11 -0700</date>
            <delta_ts>2011-08-12 13:08:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66152-20110812121909.patch</filename>
            <type>text/plain</type>
            <size>12823</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTI5NzkpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzEgQEAK
KzIwMTEtMDgtMTIgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBVc2Ug
X19idWlsdGluX3RyYXAoKSBmb3IgQ1JBU0ggd2hlbiBidWlsZGluZyB3aXRoIGNsYW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjE1MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd3RmL0Fzc2VydGlv
bnMuaDoKKyAgICAgICAgQWRkIENsYW5nIHNwZWNpZmljIENSQVNIIG1hY3JvIHRoYXQgY2FsbHMg
X19idWlsdGluX3RyYXAoKSBpbnN0ZWFkCisgICAgICAgIG9mIHNpbGx5IHRlY2huaXF1ZXMgdG8g
Y3Jhc2guIFRoaXMgYWxsb3dzIHRoZSBzdGF0aWMgYW5hbHl6ZXIgdG8gdW5kZXJzdGFuZAorICAg
ICAgICB0aGF0IHdlIGFyZSBpbnRlbnRpb25hbGx5IGNyYXNoaW5nLiBBcyBhIHJlc3VsdCwgd2Ug
bmVlZCB0byBtYXJrIHNvbWUgZnVuY3Rpb25zCisgICAgICAgIGFzIG5vdCByZXR1cm5pbmcuCisg
ICAgICAgIAorICAgICAgICBBbHNvIGFkZHMgYSBtYWNybyB0aGF0IGFubm90YXRlcyBhIGZ1bmN0
aW9uIGFzIG5ldmVyIHJldHVybmluZyB3aGVuIGFzc2VydGlvbnMgYXJlCisgICAgICAgIGVuYWJs
ZWQuCisKKyAgICAgICAgKiB3dGYvQ29tcGlsZXIuaDoKKyAgICAgICAgQWRkIENPTVBJTElFUihD
TEFORykgYW5kIGZpeCBzb21lIGZvcm1hdHRpbmcgYW5kIHNwZWxsaW5nIG1pc3Rha2VzLgorCisg
ICAgICAgICogd3RmL0Zhc3RNYWxsb2MuY3BwOgorICAgICAgICAoV1RGOjpJbnRlcm5hbDo6ZmFz
dE1hbGxvY01hdGNoRmFpbGVkKToKKyAgICAgICAgQWRkIE5PX1JFVFVSTi4KKworICAgICAgICAq
IHlhcnIvWWFyclBhcnNlci5oOgorICAgICAgICAoSlNDOjpZYXJyOjpQYXJzZXI6OkNoYXJhY3Rl
ckNsYXNzUGFyc2VyRGVsZWdhdGU6OmFzc2VydGlvbldvcmRCb3VuZGFyeSk6CisgICAgICAgIChK
U0M6OllhcnI6OlBhcnNlcjo6Q2hhcmFjdGVyQ2xhc3NQYXJzZXJEZWxlZ2F0ZTo6YXRvbUJhY2tS
ZWZlcmVuY2UpOgorICAgICAgICBBZGQgQVNTRVJUX05PX1JFVFVSTi4KKwogMjAxMS0wOC0xMiAg
U2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIE1vdmUgY29tcGlsZXIgc3Bl
Y2lmaWMgbWFjcm9zIHRvIHRoZWlyIG93biBoZWFkZXIKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvQXNzZXJ0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvQXNzZXJ0aW9ucy5oCShyZXZpc2lvbiA5Mjk3MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvQXNzZXJ0aW9ucy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzIsMTkgKzE3MiwyNCBA
QCBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZMb2dWZXJib3NlKGNvCiAjZGVmaW5lIENSQVNI
KCkgZG8geyBcCiAgICAgX19ERUJVR0dFUigpOyBcCiAgICAgVXNlcjo6UGFuaWMoX0woIldlYmtp
dCBDUkFTSCIpLDApOyBcCi0gICAgfSB3aGlsZShmYWxzZSkKK30gd2hpbGUgKGZhbHNlKQogI2Vs
aWYgUExBVEZPUk0oQlJFV01QKQogI2RlZmluZSBDUkFTSCgpIGRvIHsgXAogICAgIGRiZ19NZXNz
YWdlKCJXZWJLaXQgQ1JBU0giLCBEQkdfTVNHX0xFVkVMX0ZBVEFMLCBfX0ZJTEVfXywgX19MSU5F
X18pOyBcCiAgICAgKihpbnQgKikodWludHB0cl90KTB4YmJhZGJlZWYgPSAwOyBcCiAgICAgKCh2
b2lkKCopKCkpMCkoKTsgLyogTW9yZSByZWxpYWJsZSwgYnV0IGRvZXNuJ3Qgc2F5IEJCQURCRUVG
ICovIFwKLX0gd2hpbGUoZmFsc2UpCit9IHdoaWxlIChmYWxzZSkKKyNlbGlmIENPTVBJTEVSKENM
QU5HKQorI2RlZmluZSBDUkFTSCgpIGRvIHsgXAorICAgIFdURlJlcG9ydEJhY2t0cmFjZSgpOyBc
CisgICAgX19idWlsdGluX3RyYXAoKTsgXAorfSB3aGlsZSAoZmFsc2UpCiAjZWxzZQogI2RlZmlu
ZSBDUkFTSCgpIGRvIHsgXAogICAgIFdURlJlcG9ydEJhY2t0cmFjZSgpOyBcCiAgICAgKihpbnQg
KikodWludHB0cl90KTB4YmJhZGJlZWYgPSAwOyBcCiAgICAgKCh2b2lkKCopKCkpMCkoKTsgLyog
TW9yZSByZWxpYWJsZSwgYnV0IGRvZXNuJ3Qgc2F5IEJCQURCRUVGICovIFwKLX0gd2hpbGUoZmFs
c2UpCit9IHdoaWxlIChmYWxzZSkKICNlbmRpZgogI2VuZGlmCiAKQEAgLTIzNyw2ICsyNDIsNyBA
QCBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZMb2dWZXJib3NlKGNvCiAjZGVmaW5lIEFTU0VS
VChhc3NlcnRpb24pICgodm9pZCkwKQogI2RlZmluZSBBU1NFUlRfQVQoYXNzZXJ0aW9uLCBmaWxl
LCBsaW5lLCBmdW5jdGlvbikgKCh2b2lkKTApCiAjZGVmaW5lIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
ICgodm9pZCkwKQorI2RlZmluZSBBU1NFUlRfTk9fUkVUVVJOCiAKICNpZiBDT01QSUxFUihJTlRF
TCkgJiYgIU9TKFdJTkRPV1MpIHx8IENPTVBJTEVSKFJWQ1QpCiB0ZW1wbGF0ZTx0eXBlbmFtZSBU
PgpAQCAtMjY5LDYgKzI3NSw4IEBAIHdoaWxlICgwKQogCiAjZGVmaW5lIEFTU0VSVF9VTlVTRUQo
dmFyaWFibGUsIGFzc2VydGlvbikgQVNTRVJUKGFzc2VydGlvbikKIAorI2RlZmluZSBBU1NFUlRf
Tk9fUkVUVVJOIE5PX1JFVFVSTgorCiAjZW5kaWYKIAogLyogQVNTRVJUX1dJVEhfTUVTU0FHRSAq
LwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Db21waWxlci5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQ29tcGlsZXIuaAkocmV2aXNpb24gOTI5NzQp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0NvbXBpbGVyLmgJKHdvcmtpbmcgY29weSkK
QEAgLTMxLDkgKzMxLDE0IEBACiAKIC8qID09PT0gQ09NUElMRVIoKSAtIHRoZSBjb21waWxlciBi
ZWluZyB1c2VkIHRvIGJ1aWxkIHRoZSBwcm9qZWN0ID09PT0gKi8KIAotLyogQ09NUElMRVIoTVNW
QykgTWljcm9zb2Z0IFZpc3VhbCBDKysgKi8KLS8qIENPTVBJTEVSKE1TVkM3X09SX0xPV0VSKSBN
aWNyb3NvZnQgVmlzdWFsIEMrKyAyMDAzIG9yIGxvd2VyKi8KLS8qIENPTVBJTEVSKE1TVkM5X09S
X0xPV0VSKSBNaWNyb3NvZnQgVmlzdWFsIEMrKyAyMDA4IG9yIGxvd2VyKi8KKy8qIENPTVBJTEVS
KENMQU5HKSAtIENsYW5nICAqLworI2lmIGRlZmluZWQoX19jbGFuZ19fKQorI2RlZmluZSBXVEZf
Q09NUElMRVJfQ0xBTkcgMQorI2VuZGlmCisKKy8qIENPTVBJTEVSKE1TVkMpIC0gTWljcm9zb2Z0
IFZpc3VhbCBDKysgKi8KKy8qIENPTVBJTEVSKE1TVkM3X09SX0xPV0VSKSAtIE1pY3Jvc29mdCBW
aXN1YWwgQysrIDIwMDMgb3IgbG93ZXIqLworLyogQ09NUElMRVIoTVNWQzlfT1JfTE9XRVIpIC0g
TWljcm9zb2Z0IFZpc3VhbCBDKysgMjAwOCBvciBsb3dlciovCiAjaWYgZGVmaW5lZChfTVNDX1ZF
UikKICNkZWZpbmUgV1RGX0NPTVBJTEVSX01TVkMgMQogI2lmIF9NU0NfVkVSIDwgMTQwMApAQCAt
NDMsNyArNDgsNyBAQAogI2VuZGlmCiAjZW5kaWYKIAotLyogQ09NUElMRVIoUlZDVCkgIC0gQVJN
IFJlYWxWaWV3IENvbXBpbGF0aW9uIFRvb2xzICovCisvKiBDT01QSUxFUihSVkNUKSAtIEFSTSBS
ZWFsVmlldyBDb21waWxhdGlvbiBUb29scyAqLwogLyogQ09NUElMRVIoUlZDVDRfT1JfR1JFQVRF
UikgLSBBUk0gUmVhbFZpZXcgQ29tcGlsYXRpb24gVG9vbHMgNC4wIG9yIGdyZWF0ZXIgKi8KICNp
ZiBkZWZpbmVkKF9fQ0NfQVJNKSB8fCBkZWZpbmVkKF9fQVJNQ0NfXykKICNkZWZpbmUgV1RGX0NP
TVBJTEVSX1JWQ1QgMQpAQCAtMTAwLDcgKzEwNSw3IEBACiAjZW5kaWYKIAogCi0vKiA9PT09IENv
bWlsZXIgZmVhdHVyZXMgPT09PSAqLworLyogPT09PSBDb21waWxlciBmZWF0dXJlcyA9PT09ICov
CiAKIAogLyogQUxXQVlTX0lOTElORSAqLwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9GYXN0TWFsbG9jLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L0Zhc3RNYWxsb2MuY3BwCShyZXZpc2lvbiA5Mjk3MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvRmFzdE1hbGxvYy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5OSw3ICsxOTksOCBAQCB2
b2lkIGZhc3RNYWxsb2NNYXRjaEZhaWxlZCh2b2lkKik7CiAjZWxzZQogQ09NUElMRV9BU1NFUlQo
KChzaXplb2YoVmFsaWRhdGlvbkhlYWRlcikgJSBzaXplb2YoQWxsb2NBbGlnbm1lbnRJbnRlZ2Vy
KSkgPT0gMCksIFZhbGlkYXRpb25IZWFkZXJfbXVzdF9wcm9kdWNlX2NvcnJlY3RfYWxpZ25tZW50
KTsKICNlbmRpZgotdm9pZCBmYXN0TWFsbG9jTWF0Y2hGYWlsZWQodm9pZCopCisKK05PX1JFVFVS
TiB2b2lkIGZhc3RNYWxsb2NNYXRjaEZhaWxlZCh2b2lkKikKIHsKICAgICBDUkFTSCgpOwogfQpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyclBhcnNlci5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJQYXJzZXIuaAkocmV2aXNpb24gOTI5
NzMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJyUGFyc2VyLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTIxMSw4ICsyMTEsOCBAQCBwcml2YXRlOgogCiAgICAgICAgIC8vIHBhcnNlRXNj
YXBlKCkgc2hvdWxkIG5ldmVyIGNhbGwgdGhlc2UgZGVsZWdhdGUgbWV0aG9kcyB3aGVuCiAgICAg
ICAgIC8vIGludm9rZWQgd2l0aCBpbkNoYXJhY3RlckNsYXNzIHNldC4KLSAgICAgICAgdm9pZCBh
c3NlcnRpb25Xb3JkQm91bmRhcnkoYm9vbCkgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQotICAg
ICAgICB2b2lkIGF0b21CYWNrUmVmZXJlbmNlKHVuc2lnbmVkKSB7IEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOyB9CisgICAgICAgIEFTU0VSVF9OT19SRVRVUk4gdm9pZCBhc3NlcnRpb25Xb3JkQm91bmRh
cnkoYm9vbCkgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQorICAgICAgICBBU1NFUlRfTk9fUkVU
VVJOIHZvaWQgYXRvbUJhY2tSZWZlcmVuY2UodW5zaWduZWQpIHsgQVNTRVJUX05PVF9SRUFDSEVE
KCk7IH0KIAogICAgIHByaXZhdGU6CiAgICAgICAgIERlbGVnYXRlJiBtX2RlbGVnYXRlOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwkocmV2aXNpb24gOTI5NzkpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAxMS0wOC0xMiAgU2FtIFdlaW5pZyAg
PHNhbUB3ZWJraXQub3JnPgorCisgICAgICAgIFVzZSBfX2J1aWx0aW5fdHJhcCgpIGZvciBDUkFT
SCB3aGVuIGJ1aWxkaW5nIHdpdGggY2xhbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY2MTUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q2xvbmVCYXNlOjpmYWlsKToKKyAgICAgICAgKiBiaW5kaW5n
cy9vYmpjL1dlYlNjcmlwdE9iamVjdC5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvQmxvY2tF
eGNlcHRpb25zLmg6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9jZi9TdHJpbmdJbXBsQ0YuY3Bw
OgorICAgICAgICBBZGQgQVNTRVJUX05PX1JFVFVSTi4KKworICAgICAgICAqIGJyaWRnZS9JZGVu
dGlmaWVyUmVwLmg6CisgICAgICAgIERvbid0IGRlZmluZSB0aGUgZGVzdHJ1Y3RvciBzaW5jZSBp
dCBpcyBuZXZlciBjYWxsZWQsCisKIDIwMTEtMDgtMTIgIENocmlzIFJvZ2VycyAgPGNyb2dlcnNA
Z29vZ2xlLmNvbT4KIAogICAgICAgICBGaXggbWFjIGJ1aWxkIHdoZW4gd2ViIGF1ZGlvIGlzIGVu
YWJsZWQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRW
YWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFs
aXplZFNjcmlwdFZhbHVlLmNwcAkocmV2aXNpb24gOTI5NzMpCisrKyBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
OTcsNyArMTk3LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICB0aHJvd0Vycm9yKG1fZXhlYywgY3Jl
YXRlSW50ZXJydXB0ZWRFeGVjdXRpb25FeGNlcHRpb24oJm1fZXhlYy0+Z2xvYmFsRGF0YSgpKSk7
CiAgICAgfQogCi0gICAgdm9pZCBmYWlsKCkKKyAgICBBU1NFUlRfTk9fUkVUVVJOIHZvaWQgZmFp
bCgpCiAgICAgewogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgbV9mYWls
ZWQgPSB0cnVlOwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9XZWJTY3JpcHRP
YmplY3QubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9XZWJT
Y3JpcHRPYmplY3QubW0JKHJldmlzaW9uIDkyOTczKQorKysgU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvb2JqYy9XZWJTY3JpcHRPYmplY3QubW0JKHdvcmtpbmcgY29weSkKQEAgLTYwMyw2ICs2MDMs
MTMgQEAgLSAoaWQpb2JqZWN0QXRJbmRleDoodW5zaWduZWQpaW5kZXgKIAogQGVuZAogCisKK0Bp
bnRlcmZhY2UgV2ViVW5kZWZpbmVkIChPdmVycmlkZXMpIAorCistICh2b2lkKWRlYWxsb2MgQVNT
RVJUX05PX1JFVFVSTjsKKworQGVuZAorCiBAaW1wbGVtZW50YXRpb24gV2ViVW5kZWZpbmVkCiAK
ICsgKGlkKWFsbG9jV2l0aFpvbmU6KE5TWm9uZSAqKXVudXNlZFpvbmUKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvYnJpZGdlL0lkZW50aWZpZXJSZXAuaAkocmV2aXNpb24gOTI5NzMpCisrKyBTb3VyY2UvV2Vi
Q29yZS9icmlkZ2UvSWRlbnRpZmllclJlcC5oCSh3b3JraW5nIGNvcHkpCkBAIC01OSwxMSArNTks
NyBAQCBwcml2YXRlOgogICAgICAgICBtX3ZhbHVlLm1fc3RyaW5nID0gZmFzdFN0ckR1cChuYW1l
KTsKICAgICB9CiAgICAgCi0gICAgfklkZW50aWZpZXJSZXAoKQotICAgIHsKLSAgICAgICAgLy8g
SWRlbnRpZmllclJlcHMgc2hvdWxkIG5ldmVyIGJlIGRlbGV0ZWQuCi0gICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwotICAgIH0KKyAgICB+SWRlbnRpZmllclJlcCgpOyAvLyBOb3QgaW1wbGVt
ZW50ZWQKICAgICAKICAgICB1bmlvbiB7CiAgICAgICAgIGNvbnN0IGNoYXIqIG1fc3RyaW5nOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0Jsb2NrRXhjZXB0aW9ucy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9CbG9ja0V4Y2VwdGlvbnMuaAko
cmV2aXNpb24gOTI5NzMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvQmxvY2tFeGNl
cHRpb25zLmgJKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDcgQEAKIAogI2ltcG9ydCA8Rm91
bmRhdGlvbi9OU0V4Y2VwdGlvbi5oPgogCi12b2lkIFJlcG9ydEJsb2NrZWRPYmpDRXhjZXB0aW9u
KE5TRXhjZXB0aW9uICopOworQVNTRVJUX05PX1JFVFVSTiB2b2lkIFJlcG9ydEJsb2NrZWRPYmpD
RXhjZXB0aW9uKE5TRXhjZXB0aW9uICopOwogCiAjZGVmaW5lIEJFR0lOX0JMT0NLX09CSkNfRVhD
RVBUSU9OUyBAdHJ5IHsKICNkZWZpbmUgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9OUyB9IEBjYXRj
aChOU0V4Y2VwdGlvbiAqbG9jYWxFeGNlcHRpb24pIHsgUmVwb3J0QmxvY2tlZE9iakNFeGNlcHRp
b24obG9jYWxFeGNlcHRpb24pOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L2NmL1N0cmluZ0ltcGxDRi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9jZi9TdHJpbmdJbXBsQ0YuY3BwCShyZXZpc2lvbiA5Mjk3MykKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvY2YvU3RyaW5nSW1wbENGLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDMsNiArNDMsNyBAQCBuYW1lc3BhY2UgU3RyaW5nV3JhcHBlckNGQWxsb2NhdG9yIHsKICAg
ICAgICAgcmV0dXJuIGluZm87CiAgICAgfQogCisgICAgQVNTRVJUX05PX1JFVFVSTgogICAgIHN0
YXRpYyB2b2lkIHJlbGVhc2UoY29uc3Qgdm9pZCopCiAgICAgewogICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDkyOTc5KQorKysgU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjkgQEAK
KzIwMTEtMDgtMTIgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBVc2Ug
X19idWlsdGluX3RyYXAoKSBmb3IgQ1JBU0ggd2hlbiBidWlsZGluZyB3aXRoIGNsYW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjE1MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogUGx1Z2lucy9XZWJC
YXNlTmV0c2NhcGVQbHVnaW5WaWV3Lm1tOgorICAgICAgICAoLVtXZWJCYXNlTmV0c2NhcGVQbHVn
aW5WaWV3IHNldEF0dHJpYnV0ZUtleXM6YW5kVmFsdWVzOl0pOgorICAgICAgICAoLVtXZWJCYXNl
TmV0c2NhcGVQbHVnaW5WaWV3IGhhbmRsZU1vdXNlTW92ZWQ6XSk6CisgICAgICAgICgtW1dlYkJh
c2VOZXRzY2FwZVBsdWdpblZpZXcgaGFuZGxlTW91c2VFbnRlcmVkOl0pOgorICAgICAgICAoLVtX
ZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3IGhhbmRsZU1vdXNlRXhpdGVkOl0pOgorICAgICAgICAo
LVtXZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3IGZvY3VzQ2hhbmdlZF0pOgorICAgICAgICAoLVtX
ZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3IHdpbmRvd0ZvY3VzQ2hhbmdlZDpdKToKKyAgICAgICAg
KC1bV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldyBjcmVhdGVQbHVnaW5dKToKKyAgICAgICAgKC1b
V2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldyBsb2FkU3RyZWFtXSk6CisgICAgICAgICgtW1dlYkJh
c2VOZXRzY2FwZVBsdWdpblZpZXcgc2hvdWxkU3RvcF0pOgorICAgICAgICAoLVtXZWJCYXNlTmV0
c2NhcGVQbHVnaW5WaWV3IGRlc3Ryb3lQbHVnaW5dKToKKyAgICAgICAgKC1bV2ViQmFzZU5ldHNj
YXBlUGx1Z2luVmlldyB1cGRhdGVBbmRTZXRXaW5kb3ddKToKKyAgICAgICAgKC1bV2ViQmFzZU5l
dHNjYXBlUGx1Z2luVmlldyBzZW5kTW9kaWZpZXJFdmVudFdpdGhLZXlDb2RlOmNoYXJhY3Rlcjpd
KToKKyAgICAgICAgKC1bV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldyBwbHVnaW5MYXllcl0pOgor
ICAgICAgICAoLVtXZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3IGdldEZvcm1WYWx1ZTpdKToKKyAg
ICAgICAgUmVtb3ZlIHRoZSBBU1NFUlRfTk9UX1JFQUNIRUQgZnJvbSB0aGUgYmFzZSBjbGFzcyBt
ZXRob2RzLiBUaGV5IHdlcmUgbm90CisgICAgICAgIGFkZGluZyBtdWNoIHZhbHVlIGFuZCB3ZXJl
IGdldHRpbmcgaW4gdGhlIHdheSBvZiBtYWtpbmcgdGhlIHN0YXRpYyBhbmFseXplcgorICAgICAg
ICB3b3JrLiBBIGJldHRlciB3YXkgdG8gZG8gdGhpcyB3b3VsZCBiZSB0byB1c2UgYSBmb3JtYWwg
cHJvdG9jb2wuCisKIDIwMTEtMDgtMTAgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgog
CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjAwNApJ
bmRleDogU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViQmFzZU5ldHNj
YXBlUGx1Z2luVmlldy5tbQkocmV2aXNpb24gOTI5NzMpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9Q
bHVnaW5zL1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTE4
Miw2NCArMTgyLDY0IEBAIC0gKE5TTXV0YWJsZVVSTFJlcXVlc3QgKilyZXF1ZXN0V2l0aFVSTEMK
IC8vIE1ldGhvZHMgdGhhdCBzdWJjbGFzc2VzIG11c3Qgb3ZlcnJpZGUKIC0gKHZvaWQpc2V0QXR0
cmlidXRlS2V5czooTlNBcnJheSAqKWtleXMgYW5kVmFsdWVzOihOU0FycmF5ICopdmFsdWVzCiB7
Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgLy8gVGhpcyBuZWVkcyB0byBiZSBvdmVy
cmlkZGVuIGJ5IHN1YmNsYXNzZXMuCiB9CiAKIC0gKHZvaWQpaGFuZGxlTW91c2VNb3ZlZDooTlNF
dmVudCAqKWV2ZW50CiB7Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgLy8gVGhpcyBu
ZWVkcyB0byBiZSBvdmVycmlkZW4gYnkgc3ViY2xhc3Nlcy4KIH0KIAogLSAodm9pZCloYW5kbGVN
b3VzZUVudGVyZWQ6KE5TRXZlbnQgKilldmVudAogewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OworICAgIC8vIFRoaXMgbmVlZHMgdG8gYmUgb3ZlcnJpZGRlbiBieSBzdWJjbGFzc2VzLgogfQog
CiAtICh2b2lkKWhhbmRsZU1vdXNlRXhpdGVkOihOU0V2ZW50ICopZXZlbnQKIHsKLSAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKKyAgICAvLyBUaGlzIG5lZWRzIHRvIGJlIG92ZXJyaWRkZW4gYnkg
c3ViY2xhc3Nlcy4KIH0KIAogLSAodm9pZClmb2N1c0NoYW5nZWQKIHsKLSAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKKyAgICAvLyBUaGlzIG5lZWRzIHRvIGJlIG92ZXJyaWRkZW4gYnkgc3ViY2xh
c3Nlcy4KIH0KIAogLSAodm9pZCl3aW5kb3dGb2N1c0NoYW5nZWQ6KEJPT0wpaGFzRm9jdXMKIHsK
LSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAvLyBUaGlzIG5lZWRzIHRvIGJlIG92ZXJy
aWRkZW4gYnkgc3ViY2xhc3Nlcy4KIH0KIAogLSAoQk9PTCljcmVhdGVQbHVnaW4KIHsKLSAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAvLyBUaGlzIG5lZWRzIHRvIGJlIG92ZXJyaWRkZW4g
Ynkgc3ViY2xhc3Nlcy4KICAgICByZXR1cm4gTk87CiB9CiAKIC0gKHZvaWQpbG9hZFN0cmVhbQog
ewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIC8vIFRoaXMgbmVlZHMgdG8gYmUgb3Zl
cnJpZGRlbiBieSBzdWJjbGFzc2VzLgogfQogCiAtIChCT09MKXNob3VsZFN0b3AKIHsKLSAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAvLyBUaGlzIG5lZWRzIHRvIGJlIG92ZXJyaWRkZW4g
Ynkgc3ViY2xhc3Nlcy4KICAgICByZXR1cm4gWUVTOwogfQogCiAtICh2b2lkKWRlc3Ryb3lQbHVn
aW4KIHsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAvLyBUaGlzIG5lZWRzIHRvIGJl
IG92ZXJyaWRkZW4gYnkgc3ViY2xhc3Nlcy4KIH0KIAogLSAodm9pZCl1cGRhdGVBbmRTZXRXaW5k
b3cKIHsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAvLyBUaGlzIG5lZWRzIHRvIGJl
IG92ZXJyaWRkZW4gYnkgc3ViY2xhc3Nlcy4KIH0KIAogLSAodm9pZClzZW5kTW9kaWZpZXJFdmVu
dFdpdGhLZXlDb2RlOihpbnQpa2V5Q29kZSBjaGFyYWN0ZXI6KGNoYXIpY2hhcmFjdGVyCiB7Ci0g
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgLy8gVGhpcyBuZWVkcyB0byBiZSBvdmVycmlk
ZGVuIGJ5IHN1YmNsYXNzZXMuCiB9CiAKIC0gKHZvaWQpcHJpdmF0ZUJyb3dzaW5nTW9kZURpZENo
YW5nZQpAQCAtODc1LDEzICs4NzUsMTMgQEAgLSAoTlNSZWN0KWFjdHVhbFZpc2libGVSZWN0SW5X
aW5kb3cKIAogLSAoQ0FMYXllciAqKXBsdWdpbkxheWVyCiB7Ci0gICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CisgICAgLy8gVGhpcyBuZWVkcyB0byBiZSBvdmVycmlkZGVuIGJ5IHN1YmNsYXNzZXMu
CiAgICAgcmV0dXJuIG5pbDsKIH0KIAogLSAoQk9PTClnZXRGb3JtVmFsdWU6KE5TU3RyaW5nICoq
KXZhbHVlCiB7Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgLy8gVGhpcyBuZWVkcyB0
byBiZSBvdmVycmlkZGVuIGJ5IHN1YmNsYXNzZXMuCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103802</attachid>
            <date>2011-08-12 13:08:15 -0700</date>
            <delta_ts>2011-08-12 15:26:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66152-20110812130813.patch</filename>
            <type>text/plain</type>
            <size>13079</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTI5NzkpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzEgQEAK
KzIwMTEtMDgtMTIgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBVc2Ug
X19idWlsdGluX3RyYXAoKSBmb3IgQ1JBU0ggd2hlbiBidWlsZGluZyB3aXRoIGNsYW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjE1MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd3RmL0Fzc2VydGlv
bnMuaDoKKyAgICAgICAgQWRkIENsYW5nIHNwZWNpZmljIENSQVNIIG1hY3JvIHRoYXQgY2FsbHMg
X19idWlsdGluX3RyYXAoKSBpbnN0ZWFkCisgICAgICAgIG9mIHNpbGx5IHRlY2huaXF1ZXMgdG8g
Y3Jhc2guIFRoaXMgYWxsb3dzIHRoZSBzdGF0aWMgYW5hbHl6ZXIgdG8gdW5kZXJzdGFuZAorICAg
ICAgICB0aGF0IHdlIGFyZSBpbnRlbnRpb25hbGx5IGNyYXNoaW5nLiBBcyBhIHJlc3VsdCwgd2Ug
bmVlZCB0byBtYXJrIHNvbWUgZnVuY3Rpb25zCisgICAgICAgIGFzIG5vdCByZXR1cm5pbmcuCisg
ICAgICAgIAorICAgICAgICBBbHNvIGFkZHMgYSBtYWNybyB0aGF0IGFubm90YXRlcyBhIGZ1bmN0
aW9uIGFzIG5ldmVyIHJldHVybmluZyB3aGVuIGFzc2VydGlvbnMgYXJlCisgICAgICAgIGVuYWJs
ZWQuCisKKyAgICAgICAgKiB3dGYvQ29tcGlsZXIuaDoKKyAgICAgICAgQWRkIENPTVBJTElFUihD
TEFORykgYW5kIGZpeCBzb21lIGZvcm1hdHRpbmcgYW5kIHNwZWxsaW5nIG1pc3Rha2VzLgorCisg
ICAgICAgICogd3RmL0Zhc3RNYWxsb2MuY3BwOgorICAgICAgICAoV1RGOjpJbnRlcm5hbDo6ZmFz
dE1hbGxvY01hdGNoRmFpbGVkKToKKyAgICAgICAgQWRkIE5PX1JFVFVSTi4KKworICAgICAgICAq
IHlhcnIvWWFyclBhcnNlci5oOgorICAgICAgICAoSlNDOjpZYXJyOjpQYXJzZXI6OkNoYXJhY3Rl
ckNsYXNzUGFyc2VyRGVsZWdhdGU6OmFzc2VydGlvbldvcmRCb3VuZGFyeSk6CisgICAgICAgIChK
U0M6OllhcnI6OlBhcnNlcjo6Q2hhcmFjdGVyQ2xhc3NQYXJzZXJEZWxlZ2F0ZTo6YXRvbUJhY2tS
ZWZlcmVuY2UpOgorICAgICAgICBBZGQgQVNTRVJUX05PX1JFVFVSTi4KKwogMjAxMS0wOC0xMiAg
U2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIE1vdmUgY29tcGlsZXIgc3Bl
Y2lmaWMgbWFjcm9zIHRvIHRoZWlyIG93biBoZWFkZXIKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvQXNzZXJ0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvQXNzZXJ0aW9ucy5oCShyZXZpc2lvbiA5Mjk3MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvQXNzZXJ0aW9ucy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzIsMjIgKzE3MiwzNiBA
QCBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZMb2dWZXJib3NlKGNvCiAjZGVmaW5lIENSQVNI
KCkgZG8geyBcCiAgICAgX19ERUJVR0dFUigpOyBcCiAgICAgVXNlcjo6UGFuaWMoX0woIldlYmtp
dCBDUkFTSCIpLDApOyBcCi0gICAgfSB3aGlsZShmYWxzZSkKK30gd2hpbGUgKGZhbHNlKQogI2Vs
aWYgUExBVEZPUk0oQlJFV01QKQogI2RlZmluZSBDUkFTSCgpIGRvIHsgXAogICAgIGRiZ19NZXNz
YWdlKCJXZWJLaXQgQ1JBU0giLCBEQkdfTVNHX0xFVkVMX0ZBVEFMLCBfX0ZJTEVfXywgX19MSU5F
X18pOyBcCiAgICAgKihpbnQgKikodWludHB0cl90KTB4YmJhZGJlZWYgPSAwOyBcCiAgICAgKCh2
b2lkKCopKCkpMCkoKTsgLyogTW9yZSByZWxpYWJsZSwgYnV0IGRvZXNuJ3Qgc2F5IEJCQURCRUVG
ICovIFwKLX0gd2hpbGUoZmFsc2UpCit9IHdoaWxlIChmYWxzZSkKKyNlbGlmIENPTVBJTEVSKENM
QU5HKQorI2RlZmluZSBDUkFTSCgpIGRvIHsgXAorICAgIFdURlJlcG9ydEJhY2t0cmFjZSgpOyBc
CisgICAgX19idWlsdGluX3RyYXAoKTsgXAorfSB3aGlsZSAoZmFsc2UpCiAjZWxzZQogI2RlZmlu
ZSBDUkFTSCgpIGRvIHsgXAogICAgIFdURlJlcG9ydEJhY2t0cmFjZSgpOyBcCiAgICAgKihpbnQg
KikodWludHB0cl90KTB4YmJhZGJlZWYgPSAwOyBcCiAgICAgKCh2b2lkKCopKCkpMCkoKTsgLyog
TW9yZSByZWxpYWJsZSwgYnV0IGRvZXNuJ3Qgc2F5IEJCQURCRUVGICovIFwKLX0gd2hpbGUoZmFs
c2UpCit9IHdoaWxlIChmYWxzZSkKICNlbmRpZgogI2VuZGlmCiAKKyNpZiBDT01QSUxFUihDTEFO
RykKKyNkZWZpbmUgQ1JBU0hfRE9FU19OT1RfUkVUVVJOIDEKKyNkZWZpbmUgQ1JBU0hfTk9fUkVU
VVJOIE5PX1JFVFVSTgorI2Vsc2UKKyNkZWZpbmUgQ1JBU0hfRE9FU19OT1RfUkVUVVJOIDAKKyNk
ZWZpbmUgQ1JBU0hfTk9fUkVUVVJOCisjZW5kaWYKKworCiAvKiBCQUNLVFJBQ0UKIAogICBQcmlu
dCBhIGJhY2t0cmFjZSB0byB0aGUgc2FtZSBsb2NhdGlvbiBhcyBBU1NFUlQgbWVzc2FnZXMuCkBA
IC0yMzcsNiArMjUxLDcgQEAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgV1RGTG9nVmVyYm9zZShj
bwogI2RlZmluZSBBU1NFUlQoYXNzZXJ0aW9uKSAoKHZvaWQpMCkKICNkZWZpbmUgQVNTRVJUX0FU
KGFzc2VydGlvbiwgZmlsZSwgbGluZSwgZnVuY3Rpb24pICgodm9pZCkwKQogI2RlZmluZSBBU1NF
UlRfTk9UX1JFQUNIRUQoKSAoKHZvaWQpMCkKKyNkZWZpbmUgQVNTRVJUX05PX1JFVFVSTgogCiAj
aWYgQ09NUElMRVIoSU5URUwpICYmICFPUyhXSU5ET1dTKSB8fCBDT01QSUxFUihSVkNUKQogdGVt
cGxhdGU8dHlwZW5hbWUgVD4KQEAgLTI2OSw2ICsyODQsOCBAQCB3aGlsZSAoMCkKIAogI2RlZmlu
ZSBBU1NFUlRfVU5VU0VEKHZhcmlhYmxlLCBhc3NlcnRpb24pIEFTU0VSVChhc3NlcnRpb24pCiAK
KyNkZWZpbmUgQVNTRVJUX05PX1JFVFVSTiBDUkFTSF9OT19SRVRVUk4KKwogI2VuZGlmCiAKIC8q
IEFTU0VSVF9XSVRIX01FU1NBR0UgKi8KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
Q29tcGlsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0NvbXBp
bGVyLmgJKHJldmlzaW9uIDkyOTc0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Db21w
aWxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw5ICszMSwxNCBAQAogCiAvKiA9PT09IENPTVBJ
TEVSKCkgLSB0aGUgY29tcGlsZXIgYmVpbmcgdXNlZCB0byBidWlsZCB0aGUgcHJvamVjdCA9PT09
ICovCiAKLS8qIENPTVBJTEVSKE1TVkMpIE1pY3Jvc29mdCBWaXN1YWwgQysrICovCi0vKiBDT01Q
SUxFUihNU1ZDN19PUl9MT1dFUikgTWljcm9zb2Z0IFZpc3VhbCBDKysgMjAwMyBvciBsb3dlciov
Ci0vKiBDT01QSUxFUihNU1ZDOV9PUl9MT1dFUikgTWljcm9zb2Z0IFZpc3VhbCBDKysgMjAwOCBv
ciBsb3dlciovCisvKiBDT01QSUxFUihDTEFORykgLSBDbGFuZyAgKi8KKyNpZiBkZWZpbmVkKF9f
Y2xhbmdfXykKKyNkZWZpbmUgV1RGX0NPTVBJTEVSX0NMQU5HIDEKKyNlbmRpZgorCisvKiBDT01Q
SUxFUihNU1ZDKSAtIE1pY3Jvc29mdCBWaXN1YWwgQysrICovCisvKiBDT01QSUxFUihNU1ZDN19P
Ul9MT1dFUikgLSBNaWNyb3NvZnQgVmlzdWFsIEMrKyAyMDAzIG9yIGxvd2VyKi8KKy8qIENPTVBJ
TEVSKE1TVkM5X09SX0xPV0VSKSAtIE1pY3Jvc29mdCBWaXN1YWwgQysrIDIwMDggb3IgbG93ZXIq
LwogI2lmIGRlZmluZWQoX01TQ19WRVIpCiAjZGVmaW5lIFdURl9DT01QSUxFUl9NU1ZDIDEKICNp
ZiBfTVNDX1ZFUiA8IDE0MDAKQEAgLTQzLDcgKzQ4LDcgQEAKICNlbmRpZgogI2VuZGlmCiAKLS8q
IENPTVBJTEVSKFJWQ1QpICAtIEFSTSBSZWFsVmlldyBDb21waWxhdGlvbiBUb29scyAqLworLyog
Q09NUElMRVIoUlZDVCkgLSBBUk0gUmVhbFZpZXcgQ29tcGlsYXRpb24gVG9vbHMgKi8KIC8qIENP
TVBJTEVSKFJWQ1Q0X09SX0dSRUFURVIpIC0gQVJNIFJlYWxWaWV3IENvbXBpbGF0aW9uIFRvb2xz
IDQuMCBvciBncmVhdGVyICovCiAjaWYgZGVmaW5lZChfX0NDX0FSTSkgfHwgZGVmaW5lZChfX0FS
TUNDX18pCiAjZGVmaW5lIFdURl9DT01QSUxFUl9SVkNUIDEKQEAgLTEwMCw3ICsxMDUsNyBAQAog
I2VuZGlmCiAKIAotLyogPT09PSBDb21pbGVyIGZlYXR1cmVzID09PT0gKi8KKy8qID09PT0gQ29t
cGlsZXIgZmVhdHVyZXMgPT09PSAqLwogCiAKIC8qIEFMV0FZU19JTkxJTkUgKi8KSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdE1hbGxvYy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0TWFsbG9jLmNwcAkocmV2aXNpb24gOTI5NzMpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RNYWxsb2MuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xOTksNyArMTk5LDggQEAgdm9pZCBmYXN0TWFsbG9jTWF0Y2hGYWlsZWQodm9pZCopOwog
I2Vsc2UKIENPTVBJTEVfQVNTRVJUKCgoc2l6ZW9mKFZhbGlkYXRpb25IZWFkZXIpICUgc2l6ZW9m
KEFsbG9jQWxpZ25tZW50SW50ZWdlcikpID09IDApLCBWYWxpZGF0aW9uSGVhZGVyX211c3RfcHJv
ZHVjZV9jb3JyZWN0X2FsaWdubWVudCk7CiAjZW5kaWYKLXZvaWQgZmFzdE1hbGxvY01hdGNoRmFp
bGVkKHZvaWQqKQorCitDUkFTSF9OT19SRVRVUk4gdm9pZCBmYXN0TWFsbG9jTWF0Y2hGYWlsZWQo
dm9pZCopCiB7CiAgICAgQ1JBU0goKTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS95
YXJyL1lhcnJQYXJzZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUveWFy
ci9ZYXJyUGFyc2VyLmgJKHJldmlzaW9uIDkyOTczKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3lhcnIvWWFyclBhcnNlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMTEsOCArMjExLDggQEAgcHJp
dmF0ZToKIAogICAgICAgICAvLyBwYXJzZUVzY2FwZSgpIHNob3VsZCBuZXZlciBjYWxsIHRoZXNl
IGRlbGVnYXRlIG1ldGhvZHMgd2hlbgogICAgICAgICAvLyBpbnZva2VkIHdpdGggaW5DaGFyYWN0
ZXJDbGFzcyBzZXQuCi0gICAgICAgIHZvaWQgYXNzZXJ0aW9uV29yZEJvdW5kYXJ5KGJvb2wpIHsg
QVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KLSAgICAgICAgdm9pZCBhdG9tQmFja1JlZmVyZW5jZSh1
bnNpZ25lZCkgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQorICAgICAgICBBU1NFUlRfTk9fUkVU
VVJOIHZvaWQgYXNzZXJ0aW9uV29yZEJvdW5kYXJ5KGJvb2wpIHsgQVNTRVJUX05PVF9SRUFDSEVE
KCk7IH0KKyAgICAgICAgQVNTRVJUX05PX1JFVFVSTiB2b2lkIGF0b21CYWNrUmVmZXJlbmNlKHVu
c2lnbmVkKSB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9CiAKICAgICBwcml2YXRlOgogICAgICAg
ICBEZWxlZ2F0ZSYgbV9kZWxlZ2F0ZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkyOTc5KQor
KysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAg
QEAKKzIwMTEtMDgtMTIgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBV
c2UgX19idWlsdGluX3RyYXAoKSBmb3IgQ1JBU0ggd2hlbiBidWlsZGluZyB3aXRoIGNsYW5nCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjE1MgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYmluZGluZ3Mv
anMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNsb25lQmFz
ZTo6ZmFpbCk6CisgICAgICAgICogYmluZGluZ3Mvb2JqYy9XZWJTY3JpcHRPYmplY3QubW06Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjL0Jsb2NrRXhjZXB0aW9ucy5oOgorICAgICAgICAqIHBsYXRm
b3JtL3RleHQvY2YvU3RyaW5nSW1wbENGLmNwcDoKKyAgICAgICAgQWRkIEFTU0VSVF9OT19SRVRV
Uk4uCisKKyAgICAgICAgKiBicmlkZ2UvSWRlbnRpZmllclJlcC5oOgorICAgICAgICBEb24ndCBk
ZWZpbmUgdGhlIGRlc3RydWN0b3Igc2luY2UgaXQgaXMgbmV2ZXIgY2FsbGVkLAorCiAyMDExLTA4
LTEyICBDaHJpcyBSb2dlcnMgIDxjcm9nZXJzQGdvb2dsZS5jb20+CiAKICAgICAgICAgRml4IG1h
YyBidWlsZCB3aGVuIHdlYiBhdWRpbyBpcyBlbmFibGVkCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAJKHJldmlzaW9u
IDkyOTczKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZh
bHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTk3LDcgKzE5Nyw3IEBAIHByb3RlY3RlZDoKICAg
ICAgICAgdGhyb3dFcnJvcihtX2V4ZWMsIGNyZWF0ZUludGVycnVwdGVkRXhlY3V0aW9uRXhjZXB0
aW9uKCZtX2V4ZWMtPmdsb2JhbERhdGEoKSkpOwogICAgIH0KIAotICAgIHZvaWQgZmFpbCgpCisg
ICAgQVNTRVJUX05PX1JFVFVSTiB2b2lkIGZhaWwoKQogICAgIHsKICAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CiAgICAgICAgIG1fZmFpbGVkID0gdHJ1ZTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL29iamMvV2ViU2NyaXB0T2JqZWN0Lm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvV2ViU2NyaXB0T2JqZWN0Lm1tCShyZXZpc2lvbiA5Mjk3
MykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvV2ViU2NyaXB0T2JqZWN0Lm1tCSh3
b3JraW5nIGNvcHkpCkBAIC02MDMsNiArNjAzLDEzIEBAIC0gKGlkKW9iamVjdEF0SW5kZXg6KHVu
c2lnbmVkKWluZGV4CiAKIEBlbmQKIAorCitAaW50ZXJmYWNlIFdlYlVuZGVmaW5lZCAoT3ZlcnJp
ZGVzKSAKKworLSAodm9pZClkZWFsbG9jIEFTU0VSVF9OT19SRVRVUk47CisKK0BlbmQKKwogQGlt
cGxlbWVudGF0aW9uIFdlYlVuZGVmaW5lZAogCiArIChpZClhbGxvY1dpdGhab25lOihOU1pvbmUg
Kil1bnVzZWRab25lCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9icmlkZ2UvSWRlbnRpZmllclJlcC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmgJKHJl
dmlzaW9uIDkyOTczKQorKysgU291cmNlL1dlYkNvcmUvYnJpZGdlL0lkZW50aWZpZXJSZXAuaAko
d29ya2luZyBjb3B5KQpAQCAtNTksMTEgKzU5LDcgQEAgcHJpdmF0ZToKICAgICAgICAgbV92YWx1
ZS5tX3N0cmluZyA9IGZhc3RTdHJEdXAobmFtZSk7CiAgICAgfQogICAgIAotICAgIH5JZGVudGlm
aWVyUmVwKCkKLSAgICB7Ci0gICAgICAgIC8vIElkZW50aWZpZXJSZXBzIHNob3VsZCBuZXZlciBi
ZSBkZWxldGVkLgotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICB9CisgICAgfklk
ZW50aWZpZXJSZXAoKTsgLy8gTm90IGltcGxlbWVudGVkCiAgICAgCiAgICAgdW5pb24gewogICAg
ICAgICBjb25zdCBjaGFyKiBtX3N0cmluZzsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21hYy9CbG9ja0V4Y2VwdGlvbnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tYWMvQmxvY2tFeGNlcHRpb25zLmgJKHJldmlzaW9uIDkyOTczKQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL0Jsb2NrRXhjZXB0aW9ucy5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
NSw3ICsyNSw3IEBACiAKICNpbXBvcnQgPEZvdW5kYXRpb24vTlNFeGNlcHRpb24uaD4KIAotdm9p
ZCBSZXBvcnRCbG9ja2VkT2JqQ0V4Y2VwdGlvbihOU0V4Y2VwdGlvbiAqKTsKK0FTU0VSVF9OT19S
RVRVUk4gdm9pZCBSZXBvcnRCbG9ja2VkT2JqQ0V4Y2VwdGlvbihOU0V4Y2VwdGlvbiAqKTsKIAog
I2RlZmluZSBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElPTlMgQHRyeSB7CiAjZGVmaW5lIEVORF9C
TE9DS19PQkpDX0VYQ0VQVElPTlMgfSBAY2F0Y2goTlNFeGNlcHRpb24gKmxvY2FsRXhjZXB0aW9u
KSB7IFJlcG9ydEJsb2NrZWRPYmpDRXhjZXB0aW9uKGxvY2FsRXhjZXB0aW9uKTsgfQpJbmRleDog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9jZi9TdHJpbmdJbXBsQ0YuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvY2YvU3RyaW5nSW1wbENGLmNwcAko
cmV2aXNpb24gOTI5NzMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2NmL1N0cmlu
Z0ltcGxDRi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzLDYgKzQzLDcgQEAgbmFtZXNwYWNlIFN0
cmluZ1dyYXBwZXJDRkFsbG9jYXRvciB7CiAgICAgICAgIHJldHVybiBpbmZvOwogICAgIH0KIAor
ICAgIEFTU0VSVF9OT19SRVRVUk4KICAgICBzdGF0aWMgdm9pZCByZWxlYXNlKGNvbnN0IHZvaWQq
KQogICAgIHsKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvQ2hhbmdl
TG9nCShyZXZpc2lvbiA5Mjk3OSkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDExLTA4LTEyICBTYW0gV2VpbmlnICA8c2Ft
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgVXNlIF9fYnVpbHRpbl90cmFwKCkgZm9yIENSQVNIIHdo
ZW4gYnVpbGRpbmcgd2l0aCBjbGFuZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjYxNTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFBsdWdpbnMvV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldy5tbToKKyAg
ICAgICAgKC1bV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldyBzZXRBdHRyaWJ1dGVLZXlzOmFuZFZh
bHVlczpdKToKKyAgICAgICAgKC1bV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldyBoYW5kbGVNb3Vz
ZU1vdmVkOl0pOgorICAgICAgICAoLVtXZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3IGhhbmRsZU1v
dXNlRW50ZXJlZDpdKToKKyAgICAgICAgKC1bV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldyBoYW5k
bGVNb3VzZUV4aXRlZDpdKToKKyAgICAgICAgKC1bV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldyBm
b2N1c0NoYW5nZWRdKToKKyAgICAgICAgKC1bV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldyB3aW5k
b3dGb2N1c0NoYW5nZWQ6XSk6CisgICAgICAgICgtW1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcg
Y3JlYXRlUGx1Z2luXSk6CisgICAgICAgICgtW1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcgbG9h
ZFN0cmVhbV0pOgorICAgICAgICAoLVtXZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3IHNob3VsZFN0
b3BdKToKKyAgICAgICAgKC1bV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldyBkZXN0cm95UGx1Z2lu
XSk6CisgICAgICAgICgtW1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcgdXBkYXRlQW5kU2V0V2lu
ZG93XSk6CisgICAgICAgICgtW1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcgc2VuZE1vZGlmaWVy
RXZlbnRXaXRoS2V5Q29kZTpjaGFyYWN0ZXI6XSk6CisgICAgICAgICgtW1dlYkJhc2VOZXRzY2Fw
ZVBsdWdpblZpZXcgcGx1Z2luTGF5ZXJdKToKKyAgICAgICAgKC1bV2ViQmFzZU5ldHNjYXBlUGx1
Z2luVmlldyBnZXRGb3JtVmFsdWU6XSk6CisgICAgICAgIFJlbW92ZSB0aGUgQVNTRVJUX05PVF9S
RUFDSEVEIGZyb20gdGhlIGJhc2UgY2xhc3MgbWV0aG9kcy4gVGhleSB3ZXJlIG5vdAorICAgICAg
ICBhZGRpbmcgbXVjaCB2YWx1ZSBhbmQgd2VyZSBnZXR0aW5nIGluIHRoZSB3YXkgb2YgbWFraW5n
IHRoZSBzdGF0aWMgYW5hbHl6ZXIKKyAgICAgICAgd29yay4gQSBiZXR0ZXIgd2F5IHRvIGRvIHRo
aXMgd291bGQgYmUgdG8gdXNlIGEgZm9ybWFsIHByb3RvY29sLgorCiAyMDExLTA4LTEwICBEYXZp
ZCBIeWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KIAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwMDQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1BsdWdp
bnMvV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L21hYy9QbHVnaW5zL1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcubW0JKHJldmlzaW9uIDky
OTczKQorKysgU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5W
aWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xODIsNjQgKzE4Miw2NCBAQCAtIChOU011dGFibGVV
UkxSZXF1ZXN0ICopcmVxdWVzdFdpdGhVUkxDCiAvLyBNZXRob2RzIHRoYXQgc3ViY2xhc3NlcyBt
dXN0IG92ZXJyaWRlCiAtICh2b2lkKXNldEF0dHJpYnV0ZUtleXM6KE5TQXJyYXkgKilrZXlzIGFu
ZFZhbHVlczooTlNBcnJheSAqKXZhbHVlcwogewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgIC8vIFRoaXMgbmVlZHMgdG8gYmUgb3ZlcnJpZGRlbiBieSBzdWJjbGFzc2VzLgogfQogCiAt
ICh2b2lkKWhhbmRsZU1vdXNlTW92ZWQ6KE5TRXZlbnQgKilldmVudAogewotICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgIC8vIFRoaXMgbmVlZHMgdG8gYmUgb3ZlcnJpZGVuIGJ5IHN1YmNs
YXNzZXMuCiB9CiAKIC0gKHZvaWQpaGFuZGxlTW91c2VFbnRlcmVkOihOU0V2ZW50ICopZXZlbnQK
IHsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAvLyBUaGlzIG5lZWRzIHRvIGJlIG92
ZXJyaWRkZW4gYnkgc3ViY2xhc3Nlcy4KIH0KIAogLSAodm9pZCloYW5kbGVNb3VzZUV4aXRlZDoo
TlNFdmVudCAqKWV2ZW50CiB7Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgLy8gVGhp
cyBuZWVkcyB0byBiZSBvdmVycmlkZGVuIGJ5IHN1YmNsYXNzZXMuCiB9CiAKIC0gKHZvaWQpZm9j
dXNDaGFuZ2VkCiB7Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgLy8gVGhpcyBuZWVk
cyB0byBiZSBvdmVycmlkZGVuIGJ5IHN1YmNsYXNzZXMuCiB9CiAKIC0gKHZvaWQpd2luZG93Rm9j
dXNDaGFuZ2VkOihCT09MKWhhc0ZvY3VzCiB7Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cisg
ICAgLy8gVGhpcyBuZWVkcyB0byBiZSBvdmVycmlkZGVuIGJ5IHN1YmNsYXNzZXMuCiB9CiAKIC0g
KEJPT0wpY3JlYXRlUGx1Z2luCiB7Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgLy8g
VGhpcyBuZWVkcyB0byBiZSBvdmVycmlkZGVuIGJ5IHN1YmNsYXNzZXMuCiAgICAgcmV0dXJuIE5P
OwogfQogCiAtICh2b2lkKWxvYWRTdHJlYW0KIHsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
KyAgICAvLyBUaGlzIG5lZWRzIHRvIGJlIG92ZXJyaWRkZW4gYnkgc3ViY2xhc3Nlcy4KIH0KIAog
LSAoQk9PTClzaG91bGRTdG9wCiB7Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgLy8g
VGhpcyBuZWVkcyB0byBiZSBvdmVycmlkZGVuIGJ5IHN1YmNsYXNzZXMuCiAgICAgcmV0dXJuIFlF
UzsKIH0KIAogLSAodm9pZClkZXN0cm95UGx1Z2luCiB7Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisgICAgLy8gVGhpcyBuZWVkcyB0byBiZSBvdmVycmlkZGVuIGJ5IHN1YmNsYXNzZXMuCiB9
CiAKIC0gKHZvaWQpdXBkYXRlQW5kU2V0V2luZG93CiB7Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisgICAgLy8gVGhpcyBuZWVkcyB0byBiZSBvdmVycmlkZGVuIGJ5IHN1YmNsYXNzZXMuCiB9
CiAKIC0gKHZvaWQpc2VuZE1vZGlmaWVyRXZlbnRXaXRoS2V5Q29kZTooaW50KWtleUNvZGUgY2hh
cmFjdGVyOihjaGFyKWNoYXJhY3RlcgogewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
IC8vIFRoaXMgbmVlZHMgdG8gYmUgb3ZlcnJpZGRlbiBieSBzdWJjbGFzc2VzLgogfQogCiAtICh2
b2lkKXByaXZhdGVCcm93c2luZ01vZGVEaWRDaGFuZ2UKQEAgLTg3NSwxMyArODc1LDEzIEBAIC0g
KE5TUmVjdClhY3R1YWxWaXNpYmxlUmVjdEluV2luZG93CiAKIC0gKENBTGF5ZXIgKilwbHVnaW5M
YXllcgogewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIC8vIFRoaXMgbmVlZHMgdG8g
YmUgb3ZlcnJpZGRlbiBieSBzdWJjbGFzc2VzLgogICAgIHJldHVybiBuaWw7CiB9CiAKIC0gKEJP
T0wpZ2V0Rm9ybVZhbHVlOihOU1N0cmluZyAqKil2YWx1ZQogewotICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOworICAgIC8vIFRoaXMgbmVlZHMgdG8gYmUgb3ZlcnJpZGRlbiBieSBzdWJjbGFzc2Vz
LgogICAgIHJldHVybiBmYWxzZTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103827</attachid>
            <date>2011-08-12 15:26:31 -0700</date>
            <delta_ts>2011-08-12 19:32:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66152-20110812152630.patch</filename>
            <type>text/plain</type>
            <size>13240</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTI5NzkpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzAgQEAK
KzIwMTEtMDgtMTIgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBVc2Ug
X19idWlsdGluX3RyYXAoKSBmb3IgQ1JBU0ggd2hlbiBidWlsZGluZyB3aXRoIGNsYW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjE1MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd3RmL0Fzc2VydGlv
bnMuaDoKKyAgICAgICAgQWRkIENsYW5nIHNwZWNpZmljIENSQVNIIG1hY3JvIHRoYXQgY2FsbHMg
X19idWlsdGluX3RyYXAoKSBpbnN0ZWFkCisgICAgICAgIG9mIHNpbGx5IHRlY2huaXF1ZXMgdG8g
Y3Jhc2guIFRoaXMgYWxsb3dzIHRoZSBzdGF0aWMgYW5hbHl6ZXIgdG8gdW5kZXJzdGFuZAorICAg
ICAgICB0aGF0IHdlIGFyZSBpbnRlbnRpb25hbGx5IGNyYXNoaW5nLiBBcyBhIHJlc3VsdCwgd2Ug
bmVlZCB0byBtYXJrIHNvbWUgZnVuY3Rpb25zCisgICAgICAgIGFzIG5vdCByZXR1cm5pbmcuCisK
KyAgICAgICAgQWxzbyBhZGRzIGEgbWFjcm9zIHRoYXQgYW5ub3RhdGVzIGEgZnVuY3Rpb24gYXMg
bmV2ZXIgcmV0dXJuaW5nIGR1ZSB0byBBU1NFUlQgb3IgQ1JBU0guCisKKyAgICAgICAgKiB3dGYv
Q29tcGlsZXIuaDoKKyAgICAgICAgQWRkIENPTVBJTElFUihDTEFORykgYW5kIGZpeCBzb21lIGZv
cm1hdHRpbmcgYW5kIHNwZWxsaW5nIG1pc3Rha2VzLgorCisgICAgICAgICogd3RmL0Zhc3RNYWxs
b2MuY3BwOgorICAgICAgICAoV1RGOjpJbnRlcm5hbDo6ZmFzdE1hbGxvY01hdGNoRmFpbGVkKToK
KyAgICAgICAgQWRkIE5PX1JFVFVSTl9EVUVfVE9fQ1JBU0guCisKKyAgICAgICAgKiB5YXJyL1lh
cnJQYXJzZXIuaDoKKyAgICAgICAgKEpTQzo6WWFycjo6UGFyc2VyOjpDaGFyYWN0ZXJDbGFzc1Bh
cnNlckRlbGVnYXRlOjphc3NlcnRpb25Xb3JkQm91bmRhcnkpOgorICAgICAgICAoSlNDOjpZYXJy
OjpQYXJzZXI6OkNoYXJhY3RlckNsYXNzUGFyc2VyRGVsZWdhdGU6OmF0b21CYWNrUmVmZXJlbmNl
KToKKyAgICAgICAgQWRkIE5PX1JFVFVSTl9EVUVfVE9fQVNTRVJULgorCiAyMDExLTA4LTEyICBT
YW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgTW92ZSBjb21waWxlciBzcGVj
aWZpYyBtYWNyb3MgdG8gdGhlaXIgb3duIGhlYWRlcgpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9Bc3NlcnRpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi9Bc3NlcnRpb25zLmgJKHJldmlzaW9uIDkyOTczKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9Bc3NlcnRpb25zLmgJKHdvcmtpbmcgY29weSkKQEAgLTE3MiwyMiArMTcyLDM0IEBA
IFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURkxvZ1ZlcmJvc2UoY28KICNkZWZpbmUgQ1JBU0go
KSBkbyB7IFwKICAgICBfX0RFQlVHR0VSKCk7IFwKICAgICBVc2VyOjpQYW5pYyhfTCgiV2Via2l0
IENSQVNIIiksMCk7IFwKLSAgICB9IHdoaWxlKGZhbHNlKQorfSB3aGlsZSAoZmFsc2UpCiAjZWxp
ZiBQTEFURk9STShCUkVXTVApCiAjZGVmaW5lIENSQVNIKCkgZG8geyBcCiAgICAgZGJnX01lc3Nh
Z2UoIldlYktpdCBDUkFTSCIsIERCR19NU0dfTEVWRUxfRkFUQUwsIF9fRklMRV9fLCBfX0xJTkVf
Xyk7IFwKICAgICAqKGludCAqKSh1aW50cHRyX3QpMHhiYmFkYmVlZiA9IDA7IFwKICAgICAoKHZv
aWQoKikoKSkwKSgpOyAvKiBNb3JlIHJlbGlhYmxlLCBidXQgZG9lc24ndCBzYXkgQkJBREJFRUYg
Ki8gXAotfSB3aGlsZShmYWxzZSkKK30gd2hpbGUgKGZhbHNlKQorI2VsaWYgQ09NUElMRVIoQ0xB
TkcpCisjZGVmaW5lIENSQVNIKCkgZG8geyBcCisgICAgV1RGUmVwb3J0QmFja3RyYWNlKCk7IFwK
KyAgICBfX2J1aWx0aW5fdHJhcCgpOyBcCit9IHdoaWxlIChmYWxzZSkKICNlbHNlCiAjZGVmaW5l
IENSQVNIKCkgZG8geyBcCiAgICAgV1RGUmVwb3J0QmFja3RyYWNlKCk7IFwKICAgICAqKGludCAq
KSh1aW50cHRyX3QpMHhiYmFkYmVlZiA9IDA7IFwKICAgICAoKHZvaWQoKikoKSkwKSgpOyAvKiBN
b3JlIHJlbGlhYmxlLCBidXQgZG9lc24ndCBzYXkgQkJBREJFRUYgKi8gXAotfSB3aGlsZShmYWxz
ZSkKK30gd2hpbGUgKGZhbHNlKQogI2VuZGlmCiAjZW5kaWYKIAorI2lmIENPTVBJTEVSKENMQU5H
KQorI2RlZmluZSBOT19SRVRVUk5fRFVFX1RPX0NSQVNIIE5PX1JFVFVSTgorI2Vsc2UKKyNkZWZp
bmUgTk9fUkVUVVJOX0RVRV9UT19DUkFTSAorI2VuZGlmCisKKwogLyogQkFDS1RSQUNFCiAKICAg
UHJpbnQgYSBiYWNrdHJhY2UgdG8gdGhlIHNhbWUgbG9jYXRpb24gYXMgQVNTRVJUIG1lc3NhZ2Vz
LgpAQCAtMjM3LDYgKzI0OSw3IEBAIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURkxvZ1ZlcmJv
c2UoY28KICNkZWZpbmUgQVNTRVJUKGFzc2VydGlvbikgKCh2b2lkKTApCiAjZGVmaW5lIEFTU0VS
VF9BVChhc3NlcnRpb24sIGZpbGUsIGxpbmUsIGZ1bmN0aW9uKSAoKHZvaWQpMCkKICNkZWZpbmUg
QVNTRVJUX05PVF9SRUFDSEVEKCkgKCh2b2lkKTApCisjZGVmaW5lIE5PX1JFVFVSTl9EVUVfVE9f
QVNTRVJUCiAKICNpZiBDT01QSUxFUihJTlRFTCkgJiYgIU9TKFdJTkRPV1MpIHx8IENPTVBJTEVS
KFJWQ1QpCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgpAQCAtMjY5LDYgKzI4Miw4IEBAIHdoaWxlICgw
KQogCiAjZGVmaW5lIEFTU0VSVF9VTlVTRUQodmFyaWFibGUsIGFzc2VydGlvbikgQVNTRVJUKGFz
c2VydGlvbikKIAorI2RlZmluZSBOT19SRVRVUk5fRFVFX1RPX0FTU0VSVCBOT19SRVRVUk5fRFVF
X1RPX0NSQVNICisKICNlbmRpZgogCiAvKiBBU1NFUlRfV0lUSF9NRVNTQUdFICovCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0NvbXBpbGVyLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9Db21waWxlci5oCShyZXZpc2lvbiA5Mjk3NCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvQ29tcGlsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsOSAr
MzEsMTQgQEAKIAogLyogPT09PSBDT01QSUxFUigpIC0gdGhlIGNvbXBpbGVyIGJlaW5nIHVzZWQg
dG8gYnVpbGQgdGhlIHByb2plY3QgPT09PSAqLwogCi0vKiBDT01QSUxFUihNU1ZDKSBNaWNyb3Nv
ZnQgVmlzdWFsIEMrKyAqLwotLyogQ09NUElMRVIoTVNWQzdfT1JfTE9XRVIpIE1pY3Jvc29mdCBW
aXN1YWwgQysrIDIwMDMgb3IgbG93ZXIqLwotLyogQ09NUElMRVIoTVNWQzlfT1JfTE9XRVIpIE1p
Y3Jvc29mdCBWaXN1YWwgQysrIDIwMDggb3IgbG93ZXIqLworLyogQ09NUElMRVIoQ0xBTkcpIC0g
Q2xhbmcgICovCisjaWYgZGVmaW5lZChfX2NsYW5nX18pCisjZGVmaW5lIFdURl9DT01QSUxFUl9D
TEFORyAxCisjZW5kaWYKKworLyogQ09NUElMRVIoTVNWQykgLSBNaWNyb3NvZnQgVmlzdWFsIEMr
KyAqLworLyogQ09NUElMRVIoTVNWQzdfT1JfTE9XRVIpIC0gTWljcm9zb2Z0IFZpc3VhbCBDKysg
MjAwMyBvciBsb3dlciovCisvKiBDT01QSUxFUihNU1ZDOV9PUl9MT1dFUikgLSBNaWNyb3NvZnQg
VmlzdWFsIEMrKyAyMDA4IG9yIGxvd2VyKi8KICNpZiBkZWZpbmVkKF9NU0NfVkVSKQogI2RlZmlu
ZSBXVEZfQ09NUElMRVJfTVNWQyAxCiAjaWYgX01TQ19WRVIgPCAxNDAwCkBAIC00Myw3ICs0OCw3
IEBACiAjZW5kaWYKICNlbmRpZgogCi0vKiBDT01QSUxFUihSVkNUKSAgLSBBUk0gUmVhbFZpZXcg
Q29tcGlsYXRpb24gVG9vbHMgKi8KKy8qIENPTVBJTEVSKFJWQ1QpIC0gQVJNIFJlYWxWaWV3IENv
bXBpbGF0aW9uIFRvb2xzICovCiAvKiBDT01QSUxFUihSVkNUNF9PUl9HUkVBVEVSKSAtIEFSTSBS
ZWFsVmlldyBDb21waWxhdGlvbiBUb29scyA0LjAgb3IgZ3JlYXRlciAqLwogI2lmIGRlZmluZWQo
X19DQ19BUk0pIHx8IGRlZmluZWQoX19BUk1DQ19fKQogI2RlZmluZSBXVEZfQ09NUElMRVJfUlZD
VCAxCkBAIC0xMDAsNyArMTA1LDcgQEAKICNlbmRpZgogCiAKLS8qID09PT0gQ29taWxlciBmZWF0
dXJlcyA9PT09ICovCisvKiA9PT09IENvbXBpbGVyIGZlYXR1cmVzID09PT0gKi8KIAogCiAvKiBB
TFdBWVNfSU5MSU5FICovCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RNYWxs
b2MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdE1hbGxv
Yy5jcHAJKHJldmlzaW9uIDkyOTczKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0
TWFsbG9jLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTk5LDcgKzE5OSw4IEBAIHZvaWQgZmFzdE1h
bGxvY01hdGNoRmFpbGVkKHZvaWQqKTsKICNlbHNlCiBDT01QSUxFX0FTU0VSVCgoKHNpemVvZihW
YWxpZGF0aW9uSGVhZGVyKSAlIHNpemVvZihBbGxvY0FsaWdubWVudEludGVnZXIpKSA9PSAwKSwg
VmFsaWRhdGlvbkhlYWRlcl9tdXN0X3Byb2R1Y2VfY29ycmVjdF9hbGlnbm1lbnQpOwogI2VuZGlm
Ci12b2lkIGZhc3RNYWxsb2NNYXRjaEZhaWxlZCh2b2lkKikKKworTk9fUkVUVVJOX0RVRV9UT19D
UkFTSCB2b2lkIGZhc3RNYWxsb2NNYXRjaEZhaWxlZCh2b2lkKikKIHsKICAgICBDUkFTSCgpOwog
fQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyclBhcnNlci5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJQYXJzZXIuaAkocmV2aXNpb24g
OTI5NzMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJyUGFyc2VyLmgJKHdvcmtp
bmcgY29weSkKQEAgLTIxMSw4ICsyMTEsOCBAQCBwcml2YXRlOgogCiAgICAgICAgIC8vIHBhcnNl
RXNjYXBlKCkgc2hvdWxkIG5ldmVyIGNhbGwgdGhlc2UgZGVsZWdhdGUgbWV0aG9kcyB3aGVuCiAg
ICAgICAgIC8vIGludm9rZWQgd2l0aCBpbkNoYXJhY3RlckNsYXNzIHNldC4KLSAgICAgICAgdm9p
ZCBhc3NlcnRpb25Xb3JkQm91bmRhcnkoYm9vbCkgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQot
ICAgICAgICB2b2lkIGF0b21CYWNrUmVmZXJlbmNlKHVuc2lnbmVkKSB7IEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOyB9CisgICAgICAgIE5PX1JFVFVSTl9EVUVfVE9fQVNTRVJUIHZvaWQgYXNzZXJ0aW9u
V29yZEJvdW5kYXJ5KGJvb2wpIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KKyAgICAgICAgTk9f
UkVUVVJOX0RVRV9UT19BU1NFUlQgdm9pZCBhdG9tQmFja1JlZmVyZW5jZSh1bnNpZ25lZCkgeyBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsgfQogCiAgICAgcHJpdmF0ZToKICAgICAgICAgRGVsZWdhdGUm
IG1fZGVsZWdhdGU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiA5Mjk3OSkKKysrIFNvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDExLTA4
LTEyICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVXNlIF9fYnVpbHRp
bl90cmFwKCkgZm9yIENSQVNIIHdoZW4gYnVpbGRpbmcgd2l0aCBjbGFuZworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYxNTIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL1NlcmlhbGl6
ZWRTY3JpcHRWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDbG9uZUJhc2U6OmZhaWwpOgor
ICAgICAgICAqIGJpbmRpbmdzL29iamMvV2ViU2NyaXB0T2JqZWN0Lm1tOgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9CbG9ja0V4Y2VwdGlvbnMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L2Nm
L1N0cmluZ0ltcGxDRi5jcHA6CisgICAgICAgIEFkZCBOT19SRVRVUk5fRFVFX1RPX0FTU0VSVC4K
KworICAgICAgICAqIGJyaWRnZS9JZGVudGlmaWVyUmVwLmg6CisgICAgICAgIERvbid0IGRlZmlu
ZSB0aGUgZGVzdHJ1Y3RvciBzaW5jZSBpdCBpcyBuZXZlciBjYWxsZWQsCisKIDIwMTEtMDgtMTIg
IENocmlzIFJvZ2VycyAgPGNyb2dlcnNAZ29vZ2xlLmNvbT4KIAogICAgICAgICBGaXggbWFjIGJ1
aWxkIHdoZW4gd2ViIGF1ZGlvIGlzIGVuYWJsZWQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcAkocmV2aXNpb24gOTI5
NzMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTcsNiArMTk3LDcgQEAgcHJvdGVjdGVkOgogICAgICAg
ICB0aHJvd0Vycm9yKG1fZXhlYywgY3JlYXRlSW50ZXJydXB0ZWRFeGVjdXRpb25FeGNlcHRpb24o
Jm1fZXhlYy0+Z2xvYmFsRGF0YSgpKSk7CiAgICAgfQogCisgICAgTk9fUkVUVVJOX0RVRV9UT19B
U1NFUlQKICAgICB2b2lkIGZhaWwoKQogICAgIHsKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL1dlYlNjcmlwdE9iamVjdC5t
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL1dlYlNjcmlwdE9i
amVjdC5tbQkocmV2aXNpb24gOTI5NzMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpj
L1dlYlNjcmlwdE9iamVjdC5tbQkod29ya2luZyBjb3B5KQpAQCAtNjAzLDYgKzYwMywxMyBAQCAt
IChpZClvYmplY3RBdEluZGV4Oih1bnNpZ25lZClpbmRleAogCiBAZW5kCiAKKworQGludGVyZmFj
ZSBXZWJVbmRlZmluZWQgKE92ZXJyaWRlcykgCisKKy0gKHZvaWQpZGVhbGxvYyBOT19SRVRVUk5f
RFVFX1RPX0FTU0VSVDsKKworQGVuZAorCiBAaW1wbGVtZW50YXRpb24gV2ViVW5kZWZpbmVkCiAK
ICsgKGlkKWFsbG9jV2l0aFpvbmU6KE5TWm9uZSAqKXVudXNlZFpvbmUKQEAgLTY2MCw3ICs2Njcs
NyBAQCAtIChpZClhdXRvcmVsZWFzZQogCiAtICh2b2lkKWRlYWxsb2MKIHsKLSAgICBBU1NFUlQo
ZmFsc2UpOworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybjsKICAgICBbc3Vw
ZXIgZGVhbGxvY107IC8vIG1ha2UgLVdkZWFsbG9jLWNoZWNrIGhhcHB5CiB9CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9icmlkZ2UvSWRlbnRpZmllclJlcC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmgJKHJldmlzaW9uIDkyOTczKQorKysgU291cmNl
L1dlYkNvcmUvYnJpZGdlL0lkZW50aWZpZXJSZXAuaAkod29ya2luZyBjb3B5KQpAQCAtNTksMTEg
KzU5LDcgQEAgcHJpdmF0ZToKICAgICAgICAgbV92YWx1ZS5tX3N0cmluZyA9IGZhc3RTdHJEdXAo
bmFtZSk7CiAgICAgfQogICAgIAotICAgIH5JZGVudGlmaWVyUmVwKCkKLSAgICB7Ci0gICAgICAg
IC8vIElkZW50aWZpZXJSZXBzIHNob3VsZCBuZXZlciBiZSBkZWxldGVkLgotICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKLSAgICB9CisgICAgfklkZW50aWZpZXJSZXAoKTsgLy8gTm90IGlt
cGxlbWVudGVkCiAgICAgCiAgICAgdW5pb24gewogICAgICAgICBjb25zdCBjaGFyKiBtX3N0cmlu
ZzsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9CbG9ja0V4Y2VwdGlvbnMuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvQmxvY2tFeGNlcHRpb25z
LmgJKHJldmlzaW9uIDkyOTczKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0Jsb2Nr
RXhjZXB0aW9ucy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKICNpbXBvcnQg
PEZvdW5kYXRpb24vTlNFeGNlcHRpb24uaD4KIAotdm9pZCBSZXBvcnRCbG9ja2VkT2JqQ0V4Y2Vw
dGlvbihOU0V4Y2VwdGlvbiAqKTsKK05PX1JFVFVSTl9EVUVfVE9fQVNTRVJUIHZvaWQgUmVwb3J0
QmxvY2tlZE9iakNFeGNlcHRpb24oTlNFeGNlcHRpb24gKik7CiAKICNkZWZpbmUgQkVHSU5fQkxP
Q0tfT0JKQ19FWENFUFRJT05TIEB0cnkgewogI2RlZmluZSBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJ
T05TIH0gQGNhdGNoKE5TRXhjZXB0aW9uICpsb2NhbEV4Y2VwdGlvbikgeyBSZXBvcnRCbG9ja2Vk
T2JqQ0V4Y2VwdGlvbihsb2NhbEV4Y2VwdGlvbik7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvY2YvU3RyaW5nSW1wbENGLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS90ZXh0L2NmL1N0cmluZ0ltcGxDRi5jcHAJKHJldmlzaW9uIDkyOTczKQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9jZi9TdHJpbmdJbXBsQ0YuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00Myw2ICs0Myw3IEBAIG5hbWVzcGFjZSBTdHJpbmdXcmFwcGVyQ0ZBbGxv
Y2F0b3IgewogICAgICAgICByZXR1cm4gaW5mbzsKICAgICB9CiAKKyAgICBOT19SRVRVUk5fRFVF
X1RPX0FTU0VSVAogICAgIHN0YXRpYyB2b2lkIHJlbGVhc2UoY29uc3Qgdm9pZCopCiAgICAgewog
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHJldmlz
aW9uIDkyOTc5KQorKysgU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMjkgQEAKKzIwMTEtMDgtMTIgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9y
Zz4KKworICAgICAgICBVc2UgX19idWlsdGluX3RyYXAoKSBmb3IgQ1JBU0ggd2hlbiBidWlsZGlu
ZyB3aXRoIGNsYW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02NjE1MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3Lm1tOgorICAgICAgICAoLVtX
ZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3IHNldEF0dHJpYnV0ZUtleXM6YW5kVmFsdWVzOl0pOgor
ICAgICAgICAoLVtXZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3IGhhbmRsZU1vdXNlTW92ZWQ6XSk6
CisgICAgICAgICgtW1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcgaGFuZGxlTW91c2VFbnRlcmVk
Ol0pOgorICAgICAgICAoLVtXZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3IGhhbmRsZU1vdXNlRXhp
dGVkOl0pOgorICAgICAgICAoLVtXZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3IGZvY3VzQ2hhbmdl
ZF0pOgorICAgICAgICAoLVtXZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3IHdpbmRvd0ZvY3VzQ2hh
bmdlZDpdKToKKyAgICAgICAgKC1bV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldyBjcmVhdGVQbHVn
aW5dKToKKyAgICAgICAgKC1bV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldyBsb2FkU3RyZWFtXSk6
CisgICAgICAgICgtW1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcgc2hvdWxkU3RvcF0pOgorICAg
ICAgICAoLVtXZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3IGRlc3Ryb3lQbHVnaW5dKToKKyAgICAg
ICAgKC1bV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldyB1cGRhdGVBbmRTZXRXaW5kb3ddKToKKyAg
ICAgICAgKC1bV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldyBzZW5kTW9kaWZpZXJFdmVudFdpdGhL
ZXlDb2RlOmNoYXJhY3RlcjpdKToKKyAgICAgICAgKC1bV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmll
dyBwbHVnaW5MYXllcl0pOgorICAgICAgICAoLVtXZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3IGdl
dEZvcm1WYWx1ZTpdKToKKyAgICAgICAgUmVtb3ZlIHRoZSBBU1NFUlRfTk9UX1JFQUNIRUQgZnJv
bSB0aGUgYmFzZSBjbGFzcyBtZXRob2RzLiBUaGV5IHdlcmUgbm90CisgICAgICAgIGFkZGluZyBt
dWNoIHZhbHVlIGFuZCB3ZXJlIGdldHRpbmcgaW4gdGhlIHdheSBvZiBtYWtpbmcgdGhlIHN0YXRp
YyBhbmFseXplcgorICAgICAgICB3b3JrLiBBIGJldHRlciB3YXkgdG8gZG8gdGhpcyB3b3VsZCBi
ZSB0byB1c2UgYSBmb3JtYWwgcHJvdG9jb2wuCisKIDIwMTEtMDgtMTAgIERhdmlkIEh5YXR0ICA8
aHlhdHRAYXBwbGUuY29tPgogCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02NjAwNApJbmRleDogU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJCYXNl
TmV0c2NhcGVQbHVnaW5WaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1Bs
dWdpbnMvV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldy5tbQkocmV2aXNpb24gOTI5NzMpCisrKyBT
b3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcubW0JKHdv
cmtpbmcgY29weSkKQEAgLTE4Miw2NCArMTgyLDY0IEBAIC0gKE5TTXV0YWJsZVVSTFJlcXVlc3Qg
KilyZXF1ZXN0V2l0aFVSTEMKIC8vIE1ldGhvZHMgdGhhdCBzdWJjbGFzc2VzIG11c3Qgb3ZlcnJp
ZGUKIC0gKHZvaWQpc2V0QXR0cmlidXRlS2V5czooTlNBcnJheSAqKWtleXMgYW5kVmFsdWVzOihO
U0FycmF5ICopdmFsdWVzCiB7Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgLy8gVGhp
cyBuZWVkcyB0byBiZSBvdmVycmlkZGVuIGJ5IHN1YmNsYXNzZXMuCiB9CiAKIC0gKHZvaWQpaGFu
ZGxlTW91c2VNb3ZlZDooTlNFdmVudCAqKWV2ZW50CiB7Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisgICAgLy8gVGhpcyBuZWVkcyB0byBiZSBvdmVycmlkZW4gYnkgc3ViY2xhc3Nlcy4KIH0K
IAogLSAodm9pZCloYW5kbGVNb3VzZUVudGVyZWQ6KE5TRXZlbnQgKilldmVudAogewotICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIC8vIFRoaXMgbmVlZHMgdG8gYmUgb3ZlcnJpZGRlbiBi
eSBzdWJjbGFzc2VzLgogfQogCiAtICh2b2lkKWhhbmRsZU1vdXNlRXhpdGVkOihOU0V2ZW50ICop
ZXZlbnQKIHsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAvLyBUaGlzIG5lZWRzIHRv
IGJlIG92ZXJyaWRkZW4gYnkgc3ViY2xhc3Nlcy4KIH0KIAogLSAodm9pZClmb2N1c0NoYW5nZWQK
IHsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAvLyBUaGlzIG5lZWRzIHRvIGJlIG92
ZXJyaWRkZW4gYnkgc3ViY2xhc3Nlcy4KIH0KIAogLSAodm9pZCl3aW5kb3dGb2N1c0NoYW5nZWQ6
KEJPT0wpaGFzRm9jdXMKIHsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAvLyBUaGlz
IG5lZWRzIHRvIGJlIG92ZXJyaWRkZW4gYnkgc3ViY2xhc3Nlcy4KIH0KIAogLSAoQk9PTCljcmVh
dGVQbHVnaW4KIHsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAvLyBUaGlzIG5lZWRz
IHRvIGJlIG92ZXJyaWRkZW4gYnkgc3ViY2xhc3Nlcy4KICAgICByZXR1cm4gTk87CiB9CiAKIC0g
KHZvaWQpbG9hZFN0cmVhbQogewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIC8vIFRo
aXMgbmVlZHMgdG8gYmUgb3ZlcnJpZGRlbiBieSBzdWJjbGFzc2VzLgogfQogCiAtIChCT09MKXNo
b3VsZFN0b3AKIHsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAvLyBUaGlzIG5lZWRz
IHRvIGJlIG92ZXJyaWRkZW4gYnkgc3ViY2xhc3Nlcy4KICAgICByZXR1cm4gWUVTOwogfQogCiAt
ICh2b2lkKWRlc3Ryb3lQbHVnaW4KIHsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAv
LyBUaGlzIG5lZWRzIHRvIGJlIG92ZXJyaWRkZW4gYnkgc3ViY2xhc3Nlcy4KIH0KIAogLSAodm9p
ZCl1cGRhdGVBbmRTZXRXaW5kb3cKIHsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAv
LyBUaGlzIG5lZWRzIHRvIGJlIG92ZXJyaWRkZW4gYnkgc3ViY2xhc3Nlcy4KIH0KIAogLSAodm9p
ZClzZW5kTW9kaWZpZXJFdmVudFdpdGhLZXlDb2RlOihpbnQpa2V5Q29kZSBjaGFyYWN0ZXI6KGNo
YXIpY2hhcmFjdGVyCiB7Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgLy8gVGhpcyBu
ZWVkcyB0byBiZSBvdmVycmlkZGVuIGJ5IHN1YmNsYXNzZXMuCiB9CiAKIC0gKHZvaWQpcHJpdmF0
ZUJyb3dzaW5nTW9kZURpZENoYW5nZQpAQCAtODc1LDEzICs4NzUsMTMgQEAgLSAoTlNSZWN0KWFj
dHVhbFZpc2libGVSZWN0SW5XaW5kb3cKIAogLSAoQ0FMYXllciAqKXBsdWdpbkxheWVyCiB7Ci0g
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgLy8gVGhpcyBuZWVkcyB0byBiZSBvdmVycmlk
ZGVuIGJ5IHN1YmNsYXNzZXMuCiAgICAgcmV0dXJuIG5pbDsKIH0KIAogLSAoQk9PTClnZXRGb3Jt
VmFsdWU6KE5TU3RyaW5nICoqKXZhbHVlCiB7Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cisg
ICAgLy8gVGhpcyBuZWVkcyB0byBiZSBvdmVycmlkZGVuIGJ5IHN1YmNsYXNzZXMuCiAgICAgcmV0
dXJuIGZhbHNlOwogfQogCg==
</data>
<flag name="review"
          id="99542"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>