<?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>40514</bug_id>
          
          <creation_ts>2010-06-11 19:06:51 -0700</creation_ts>
          <short_desc>Rename m_parser, htmlParser() to m_treeBuilder, htmlTreeBuilder() in preparation for renaming HTMLParser</short_desc>
          <delta_ts>2010-06-13 21:48:58 -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>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Eric Seidel (no email)">eric</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>237221</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-06-11 19:06:51 -0700</bug_when>
    <thetext>Rename m_parser, htmlParser() to m_treeBuilder, htmlTreeBuilder() in preparation for renaming HTMLParser</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>237222</commentid>
    <comment_count>1</comment_count>
      <attachid>58539</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-06-11 19:11:45 -0700</bug_when>
    <thetext>Created attachment 58539
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>237302</commentid>
    <comment_count>2</comment_count>
      <attachid>58539</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-06-12 09:57:25 -0700</bug_when>
    <thetext>Comment on attachment 58539
Patch

&gt; -    , m_parser(0)
&gt; +    , m_treeBuilder(0)

This line of code could just be deleted instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>237315</commentid>
    <comment_count>3</comment_count>
      <attachid>58539</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-06-12 10:52:39 -0700</bug_when>
    <thetext>Comment on attachment 58539
Patch

Rejecting patch 58539 from commit-queue.

Failed to run &quot;[u&apos;/Users/eseidel/Projects/CommitQueue/WebKitTools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Darin Adler&apos;, u&apos;--force&apos;]&quot; exit_code: 1
Last 500 characters of output:
-------------------------
|Index: WebCore/html/HTMLDocumentParser.h
|index 0951c2a358d0d81416792931e1601a2941b2af1c..1d9ebf7117e50b96fba8d8b3f6d00b22073b0568 100644
|--- WebCore/html/HTMLDocumentParser.h
|+++ WebCore/html/HTMLDocumentParser.h
--------------------------
No file to patch.  Skipping patch.
2 out of 2 hunks ignored
patching file WebCore/html/HTMLFormControlElement.cpp
Hunk #1 FAILED at 178.
1 out of 1 hunk FAILED -- saving rejects to file WebCore/html/HTMLFormControlElement.cpp.rej

Full output: http://webkit-commit-queue.appspot.com/results/3216363</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>237517</commentid>
    <comment_count>4</comment_count>
      <attachid>58539</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-06-13 00:42:15 -0700</bug_when>
    <thetext>Comment on attachment 58539
Patch

Rejecting patch 58539 from commit-queue.

Failed to run &quot;[u&apos;/Users/eseidel/Projects/CommitQueue/WebKitTools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Darin Adler&apos;, u&apos;--force&apos;]&quot; exit_code: 1
Last 500 characters of output:
html/HTML5DocumentParser.h
patching file WebCore/html/HTML5TreeBuilder.cpp
patching file WebCore/html/HTML5TreeBuilder.h
patching file WebCore/html/HTMLDocumentParser.cpp
patching file WebCore/html/HTMLDocumentParser.h
Hunk #1 FAILED at 163.
1 out of 2 hunks FAILED -- saving rejects to file WebCore/html/HTMLDocumentParser.h.rej
patching file WebCore/html/HTMLFormControlElement.cpp
Hunk #1 FAILED at 178.
1 out of 1 hunk FAILED -- saving rejects to file WebCore/html/HTMLFormControlElement.cpp.rej

Full output: http://webkit-commit-queue.appspot.com/results/3272030</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>237647</commentid>
    <comment_count>5</comment_count>
      <attachid>58610</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-06-13 18:13:28 -0700</bug_when>
    <thetext>Created attachment 58610
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>237686</commentid>
    <comment_count>6</comment_count>
      <attachid>58618</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-06-13 21:01:19 -0700</bug_when>
    <thetext>Created attachment 58618
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>237705</commentid>
    <comment_count>7</comment_count>
      <attachid>58618</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-06-13 21:48:51 -0700</bug_when>
    <thetext>Comment on attachment 58618
Patch for landing

Clearing flags on attachment: 58618

Committed r61106: &lt;http://trac.webkit.org/changeset/61106&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>237706</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-06-13 21:48:58 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>58539</attachid>
            <date>2010-06-11 19:11:45 -0700</date>
            <delta_ts>2010-06-13 18:13:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-40514-20100611191142.patch</filename>
            <type>text/plain</type>
            <size>14809</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
Yzc1ZGVlZTlkYmVkMGY5ODcyZWRhNzBhZTdkNDlkM2EzNzdiMWMwNy4uOGQ5Y2RkYTJhZWJlMWZj
OTU0ZDJhZjQwZjQyN2RkMzc1YTI4MjA2NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTIsNiArMiwzNyBAQAogCiAgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogCisgICAgICAgIFJlbmFtZSBtX3BhcnNlciwgaHRtbFBh
cnNlcigpIHRvIG1fdHJlZUJ1aWxkZXIsIGh0bWxUcmVlQnVpbGRlcigpIGluIHByZXBhcmF0aW9u
IGZvciByZW5hbWluZyBIVE1MUGFyc2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD00MDUxNAorCisgICAgICAgIFRoaXMgcmVuYW1lIHdhcyBkb25lIGJ5
IGhhbmQuICBJIHJlYWxpemUgbm93IEkgc2hvdWxkIGhhdmUKKyAgICAgICAgcmVuYW1lZCBIVE1M
UGFyc2VyIHRvIEhUTUxUcmVlQnVpbGRlciBiZWZvcmUgcmVuYW1pbmcgSFRNTFRva2VuaXplci4K
KworICAgICAgICBObyBmdW5jdGlvbmFsIGNoYW5nZXMsIHRodXMgbm8gdGVzdHMuCisKKyAgICAg
ICAgKiBkb20vRG9jdW1lbnRQYXJzZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50UGFy
c2VyOjpodG1sVHJlZUJ1aWxkZXIpOgorICAgICAgICAqIGh0bWwvSFRNTDVEb2N1bWVudFBhcnNl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MNURvY3VtZW50UGFyc2VyOjpodG1sVHJlZUJ1
aWxkZXIpOgorICAgICAgICAqIGh0bWwvSFRNTDVEb2N1bWVudFBhcnNlci5oOgorICAgICAgICAq
IGh0bWwvSFRNTDVUcmVlQnVpbGRlci5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTDVUcmVlQnVp
bGRlcjo6bGVnYWN5VHJlZUJ1aWxkZXIpOgorICAgICAgICAqIGh0bWwvSFRNTERvY3VtZW50UGFy
c2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6SFRNTERvY3Vt
ZW50UGFyc2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6c2NyaXB0
SGFuZGxlcik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRG9jdW1lbnRQYXJzZXI6OnBhcnNlVGFn
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6ZW5kKToKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6cHJvY2Vzc1Rva2VuKToKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6cHJvY2Vzc0RvY3R5cGVUb2tlbik6CisgICAgICAg
ICogaHRtbC9IVE1MRG9jdW1lbnRQYXJzZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEb2N1
bWVudFBhcnNlcjo6aHRtbFRyZWVCdWlsZGVyKToKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtQ29u
dHJvbEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZvcm1Db250cm9sRWxlbWVu
dDo6cmVtb3ZlZEZyb21UcmVlKToKKworMjAxMC0wNi0xMSAgRXJpYyBTZWlkZWwgIDxlcmljQHdl
YmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKICAgICAg
ICAgUmVuYW1lIHRvaywgYXNIVE1MVG9rZW5pemVyIHRvIHBhcnNlciwgYXNIVE1MRG9jdW1lbnRQ
YXJzZXIKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQw
NTEzCiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50UGFyc2VyLmggYi9XZWJDb3Jl
L2RvbS9Eb2N1bWVudFBhcnNlci5oCmluZGV4IDIzNGFlN2M1NDI3ZGM0ZDBhYzgyZTc4YmI0Yjk0
OTExM2UxN2Q1MjQuLjdlMGFlNjA1Nzg2N2U0NjRmYTg2NDNjMzVhZmIxOGJhZWZkMDAyN2IgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RvY3VtZW50UGFyc2VyLmgKKysrIGIvV2ViQ29yZS9kb20v
RG9jdW1lbnRQYXJzZXIuaApAQCAtNTgsNyArNTgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ICAgICAgICAgdmlydHVhbCB2b2lkIGV4ZWN1dGVTY3JpcHRzV2FpdGluZ0ZvclN0eWxlc2hlZXRz
KCkge30KIAotICAgICAgICB2aXJ0dWFsIEhUTUxQYXJzZXIqIGh0bWxQYXJzZXIoKSBjb25zdCB7
IHJldHVybiAwOyB9CisgICAgICAgIHZpcnR1YWwgSFRNTFBhcnNlciogaHRtbFRyZWVCdWlsZGVy
KCkgY29uc3QgeyByZXR1cm4gMDsgfQogICAgICAgICB2aXJ0dWFsIEhUTUxEb2N1bWVudFBhcnNl
ciogYXNIVE1MRG9jdW1lbnRQYXJzZXIoKSB7IHJldHVybiAwOyB9CiAKICAgICAgICAgWFNTQXVk
aXRvciogeHNzQXVkaXRvcigpIGNvbnN0IHsgcmV0dXJuIG1fWFNTQXVkaXRvcjsgfQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9odG1sL0hUTUw1RG9jdW1lbnRQYXJzZXIuY3BwIGIvV2ViQ29yZS9odG1s
L0hUTUw1RG9jdW1lbnRQYXJzZXIuY3BwCmluZGV4IDQxZTc5OTcyZWRiZWRjODdiMTY0YjgyMTFh
NjAwNjVkMGE1YjM5YzYuLjI5ZDk1NDFkOTI4MGY3NDJiNjI0ZmE1Mjk0NTMzMDIxOTRjZjc0ZDkg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MNURvY3VtZW50UGFyc2VyLmNwcAorKysgYi9X
ZWJDb3JlL2h0bWwvSFRNTDVEb2N1bWVudFBhcnNlci5jcHAKQEAgLTE5Miw5ICsxOTIsOSBAQCBp
bnQgSFRNTDVEb2N1bWVudFBhcnNlcjo6Y29sdW1uTnVtYmVyKCkgY29uc3QKICAgICByZXR1cm4g
bV9sZXhlci0+Y29sdW1uTnVtYmVyKCk7CiB9CiAKLUhUTUxQYXJzZXIqIEhUTUw1RG9jdW1lbnRQ
YXJzZXI6Omh0bWxQYXJzZXIoKSBjb25zdAorSFRNTFBhcnNlciogSFRNTDVEb2N1bWVudFBhcnNl
cjo6aHRtbFRyZWVCdWlsZGVyKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV90cmVlQnVpbGRlci0+
aHRtbFBhcnNlcigpOworICAgIHJldHVybiBtX3RyZWVCdWlsZGVyLT5sZWdhY3lUcmVlQnVpbGRl
cigpOwogfQogCiBib29sIEhUTUw1RG9jdW1lbnRQYXJzZXI6OmlzV2FpdGluZ0ZvclNjcmlwdHMo
KSBjb25zdApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUw1RG9jdW1lbnRQYXJzZXIuaCBi
L1dlYkNvcmUvaHRtbC9IVE1MNURvY3VtZW50UGFyc2VyLmgKaW5kZXggMzNlNWQ1ZTIyN2E5NzFl
NDMwNmQ2ZTdjYjVmZjhiY2I1ZjJmY2IwNi4uNzVhZjJlZDU5YmNmZWRlNmUwOGNiZGJjOWM3ZWJj
NzZmMDA4MTk4MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUw1RG9jdW1lbnRQYXJzZXIu
aAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTDVEb2N1bWVudFBhcnNlci5oCkBAIC02MCw3ICs2MCw3
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGludCBjb2x1bW5OdW1iZXIoKSBjb25zdDsKICAgICAv
LyBGSVhNRTogSFRNTEZvcm1Db250cm9sRWxlbWVudCBhY2Nlc3NlcyB0aGUgSFRNTFBhcnNlciB2
aWEgdGhpcyBtZXRob2QuCiAgICAgLy8gUmVtb3ZlIHRoaXMgd2hlbiB0aGUgSFRNTFBhcnNlciBp
cyBubyBsb25nZXIgdXNlZC4KLSAgICB2aXJ0dWFsIEhUTUxQYXJzZXIqIGh0bWxQYXJzZXIoKSBj
b25zdDsKKyAgICB2aXJ0dWFsIEhUTUxQYXJzZXIqIGh0bWxUcmVlQnVpbGRlcigpIGNvbnN0Owog
CiAgICAgLy8gSFRNTDVTY3JpcHRSdW5uZXJIb3N0CiAgICAgdmlydHVhbCB2b2lkIHdhdGNoRm9y
TG9hZChDYWNoZWRSZXNvdXJjZSopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUw1VHJl
ZUJ1aWxkZXIuY3BwIGIvV2ViQ29yZS9odG1sL0hUTUw1VHJlZUJ1aWxkZXIuY3BwCmluZGV4IGQ0
YjM0ZTJmMTBjZWVmZjhkZTlkODgyMmEzYjdhNWQ1YjExYjg3NzYuLjJiZWEzODI3Mzg0ZjNkNmY0
OTJiYzYyMWUzMGJhY2Q5ZDZhOGY2MzAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MNVRy
ZWVCdWlsZGVyLmNwcAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTDVUcmVlQnVpbGRlci5jcHAKQEAg
LTQ4LDcgKzQ4LDcgQEAgSFRNTDVUcmVlQnVpbGRlcjo6SFRNTDVUcmVlQnVpbGRlcihIVE1MNUxl
eGVyKiBsZXhlciwgSFRNTERvY3VtZW50KiBkb2N1bWVudCwgYm8KICAgICAsIG1faXNQYXVzZWQo
ZmFsc2UpCiAgICAgLCBtX2luc2VydGlvbk1vZGUoSW5pdGlhbCkKICAgICAsIG1fbGV4ZXIobGV4
ZXIpCi0gICAgLCBtX2xlZ2FjeUhUTUxQYXJzZXIobmV3IEhUTUxQYXJzZXIoZG9jdW1lbnQsIHJl
cG9ydEVycm9ycykpCisgICAgLCBtX2xlZ2FjeVRyZWVCdWlsZGVyKG5ldyBIVE1MUGFyc2VyKGRv
Y3VtZW50LCByZXBvcnRFcnJvcnMpKQogICAgICwgbV9sYXN0U2NyaXB0RWxlbWVudFN0YXJ0TGlu
ZSh1bmluaXRpYWxpemVkTGluZU51bWJlclZhbHVlKQogICAgICwgbV9zY3JpcHRUb1Byb2Nlc3NT
dGFydExpbmUodW5pbml0aWFsaXplZExpbmVOdW1iZXJWYWx1ZSkKIHsKQEAgLTE0MSw3ICsxNDEs
NyBAQCBQYXNzUmVmUHRyPE5vZGU+IEhUTUw1VHJlZUJ1aWxkZXI6OnBhc3NUb2tlblRvTGVnYWN5
UGFyc2VyKEhUTUw1VG9rZW4mIHRva2VuKQogICAgICAgICBkb2N0eXBlVG9rZW4ubV9zeXN0ZW1J
RCA9IHRva2VuLnN5c3RlbUlkZW50aWZpZXIoKTsKICAgICAgICAgZG9jdHlwZVRva2VuLm1fZm9y
Y2VRdWlya3MgPSB0b2tlbi5mb3JjZVF1aXJrcygpOwogCi0gICAgICAgIG1fbGVnYWN5SFRNTFBh
cnNlci0+cGFyc2VEb2N0eXBlVG9rZW4oJmRvY3R5cGVUb2tlbik7CisgICAgICAgIG1fbGVnYWN5
VHJlZUJ1aWxkZXItPnBhcnNlRG9jdHlwZVRva2VuKCZkb2N0eXBlVG9rZW4pOwogICAgICAgICBy
ZXR1cm4gMDsKICAgICB9CiAKQEAgLTE0OSw3ICsxNDksNyBAQCBQYXNzUmVmUHRyPE5vZGU+IEhU
TUw1VHJlZUJ1aWxkZXI6OnBhc3NUb2tlblRvTGVnYWN5UGFyc2VyKEhUTUw1VG9rZW4mIHRva2Vu
KQogICAgIFRva2VuIG9sZFN0eWxlVG9rZW47CiAgICAgY29udmVydFRvT2xkU3R5bGUodG9rZW4s
IG9sZFN0eWxlVG9rZW4pOwogCi0gICAgUmVmUHRyPE5vZGU+IHJlc3VsdCA9ICBtX2xlZ2FjeUhU
TUxQYXJzZXItPnBhcnNlVG9rZW4oJm9sZFN0eWxlVG9rZW4pOworICAgIFJlZlB0cjxOb2RlPiBy
ZXN1bHQgPSAgbV9sZWdhY3lUcmVlQnVpbGRlci0+cGFyc2VUb2tlbigmb2xkU3R5bGVUb2tlbik7
CiAgICAgaWYgKHRva2VuLnR5cGUoKSA9PSBIVE1MNVRva2VuOjpTdGFydFRhZykgewogICAgICAg
ICAvLyBUaGlzIHdvcmsgaXMgc3VwcG9zZWQgdG8gYmUgZG9uZSBieSB0aGUgcGFyc2VyLCBidXQK
ICAgICAgICAgLy8gd2hlbiB1c2luZyB0aGUgb2xkIHBhcnNlciBmb3Igd2UgaGF2ZSB0byBkbyB0
aGlzIG1hbnVhbGx5LgpAQCAtMjEzLDggKzIxMyw4IEBAIFBhc3NSZWZQdHI8Tm9kZT4gSFRNTDVU
cmVlQnVpbGRlcjo6cHJvY2Vzc1Rva2VuKEhUTUw1VG9rZW4mIHRva2VuLCBVQ2hhciBjdXJyZW50
CiB2b2lkIEhUTUw1VHJlZUJ1aWxkZXI6OmZpbmlzaGVkKCkKIHsKICAgICAvLyBXZSBzaG91bGQg
Y2FsbCBtX2RvY3VtZW50LT5maW5pc2hlZFBhcnNpbmcoKSBoZXJlLCBleGNlcHQKLSAgICAvLyBt
X2xlZ2FjeUhUTUxQYXJzZXItPmZpbmlzaGVkKCkgZG9lcyBpdCBmb3IgdXMuCi0gICAgbV9sZWdh
Y3lIVE1MUGFyc2VyLT5maW5pc2hlZCgpOworICAgIC8vIG1fbGVnYWN5VHJlZUJ1aWxkZXItPmZp
bmlzaGVkKCkgZG9lcyBpdCBmb3IgdXMuCisgICAgbV9sZWdhY3lUcmVlQnVpbGRlci0+ZmluaXNo
ZWQoKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUw1VHJlZUJ1aWxkZXIu
aCBiL1dlYkNvcmUvaHRtbC9IVE1MNVRyZWVCdWlsZGVyLmgKaW5kZXggMTczZDVlOWZlZGE1MWYy
ZGNmNzAxZTA3MTEwYjk3YjRmYzc1ZjljZC4uNmYwZGU2Yjk3Yzk4ODliNjc1NWExMmRkMTcyOWVh
NzdjNTVmOTQ3YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUw1VHJlZUJ1aWxkZXIuaAor
KysgYi9XZWJDb3JlL2h0bWwvSFRNTDVUcmVlQnVpbGRlci5oCkBAIC02MCw3ICs2MCw3IEBAIHB1
YmxpYzoKIAogICAgIC8vIEZJWE1FOiBUaGlzIGlzIGEgZGlydHksIHJvdHRlbiBoYWNrIHRvIGtl
ZXAgSFRNTEZvcm1Db250cm9sRWxlbWVudCBoYXBweQogICAgIC8vIHVudGlsIHdlIHN0b3AgdXNp
bmcgdGhlIGxlZ2FjeSBwYXJzZXIuIERPIE5PVCBDQUxMIFRISVMgTUVUSE9ELgotICAgIEhUTUxQ
YXJzZXIqIGh0bWxQYXJzZXIoKSBjb25zdCB7IHJldHVybiBtX2xlZ2FjeUhUTUxQYXJzZXIuZ2V0
KCk7IH0KKyAgICBIVE1MUGFyc2VyKiBsZWdhY3lUcmVlQnVpbGRlcigpIGNvbnN0IHsgcmV0dXJu
IG1fbGVnYWN5VHJlZUJ1aWxkZXIuZ2V0KCk7IH0KIAogcHJpdmF0ZToKICAgICAvLyBSZXByZXNl
bnRzIEhUTUw1ICJpbnNlcnRpb24gbW9kZSIKQEAgLTkxLDcgKzkxLDcgQEAgcHJpdmF0ZToKICAg
ICBIVE1MNUxleGVyKiBtX2xleGVyOwogCiAgICAgLy8gV2UncmUgcmUtdXNpbmcgbG9naWMgZnJv
bSB0aGUgb2xkIEhUTUxQYXJzZXIgd2hpbGUgdGhpcyBjbGFzcyBpcyBiZWluZyB3cml0dGVuLgot
ICAgIE93blB0cjxIVE1MUGFyc2VyPiBtX2xlZ2FjeUhUTUxQYXJzZXI7CisgICAgT3duUHRyPEhU
TUxQYXJzZXI+IG1fbGVnYWN5VHJlZUJ1aWxkZXI7CiAKICAgICAvLyBUaGVzZSBtZW1iZXJzIGFy
ZSBpbnRlbnRpb25hbGx5IGR1cGxpY2F0ZWQgYXMgdGhlIGZpcnN0IHNldCBpcyBhIGhhY2sKICAg
ICAvLyBvbiB0b3Agb2YgdGhlIGxlZ2FjeSBwYXJzZXIgd2hpY2ggd2lsbCBldmVudHVhbGx5IGJl
IHJlbW92ZWQuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50UGFyc2VyLmNw
cCBiL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwCmluZGV4IDY1YWY4YTA4ZmEx
ODlhOTdiMjZjYzY0NGJlY2VlZDc1M2ZmNzBjMjkuLjIxMmU1NGZlZjVjMmJkMmU5NThiN2ZiMDUw
NWZkZDI2ZTkzNDQyYTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnRQYXJz
ZXIuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwCkBAIC0xNjAs
NyArMTYwLDcgQEAgSFRNTERvY3VtZW50UGFyc2VyOjpIVE1MRG9jdW1lbnRQYXJzZXIoSFRNTERv
Y3VtZW50KiBkb2MsIGJvb2wgcmVwb3J0RXJyb3JzKQogICAgICwgbV90aW1lcih0aGlzLCAmSFRN
TERvY3VtZW50UGFyc2VyOjp0aW1lckZpcmVkKQogICAgICwgbV9leHRlcm5hbFNjcmlwdHNUaW1l
cih0aGlzLCAmSFRNTERvY3VtZW50UGFyc2VyOjpleGVjdXRlRXh0ZXJuYWxTY3JpcHRzVGltZXJG
aXJlZCkKICAgICAsIG1fZG9jKGRvYykKLSAgICAsIG1fcGFyc2VyKG5ldyBIVE1MUGFyc2VyKGRv
YywgcmVwb3J0RXJyb3JzKSkKKyAgICAsIG1fdHJlZUJ1aWxkZXIobmV3IEhUTUxQYXJzZXIoZG9j
LCByZXBvcnRFcnJvcnMpKQogICAgICwgbV9pbldyaXRlKGZhbHNlKQogICAgICwgbV9mcmFnbWVu
dChmYWxzZSkKICAgICAsIG1fc2NyaXB0aW5nUGVybWlzc2lvbihGcmFnbWVudFNjcmlwdGluZ0Fs
bG93ZWQpCkBAIC0xODEsNyArMTgxLDcgQEAgSFRNTERvY3VtZW50UGFyc2VyOjpIVE1MRG9jdW1l
bnRQYXJzZXIoSFRNTFZpZXdTb3VyY2VEb2N1bWVudCogZG9jKQogICAgICwgbV90aW1lcih0aGlz
LCAmSFRNTERvY3VtZW50UGFyc2VyOjp0aW1lckZpcmVkKQogICAgICwgbV9leHRlcm5hbFNjcmlw
dHNUaW1lcih0aGlzLCAmSFRNTERvY3VtZW50UGFyc2VyOjpleGVjdXRlRXh0ZXJuYWxTY3JpcHRz
VGltZXJGaXJlZCkKICAgICAsIG1fZG9jKGRvYykKLSAgICAsIG1fcGFyc2VyKDApCisgICAgLCBt
X3RyZWVCdWlsZGVyKDApCiAgICAgLCBtX2luV3JpdGUoZmFsc2UpCiAgICAgLCBtX2ZyYWdtZW50
KGZhbHNlKQogICAgICwgbV9zY3JpcHRpbmdQZXJtaXNzaW9uKEZyYWdtZW50U2NyaXB0aW5nQWxs
b3dlZCkKQEAgLTIwMSw3ICsyMDEsNyBAQCBIVE1MRG9jdW1lbnRQYXJzZXI6OkhUTUxEb2N1bWVu
dFBhcnNlcihEb2N1bWVudEZyYWdtZW50KiBmcmFnLCBGcmFnbWVudFNjcmlwdGluZwogICAgICwg
bV90aW1lcih0aGlzLCAmSFRNTERvY3VtZW50UGFyc2VyOjp0aW1lckZpcmVkKQogICAgICwgbV9l
eHRlcm5hbFNjcmlwdHNUaW1lcih0aGlzLCAmSFRNTERvY3VtZW50UGFyc2VyOjpleGVjdXRlRXh0
ZXJuYWxTY3JpcHRzVGltZXJGaXJlZCkKICAgICAsIG1fZG9jKGZyYWctPmRvY3VtZW50KCkpCi0g
ICAgLCBtX3BhcnNlcihuZXcgSFRNTFBhcnNlcihmcmFnLCBzY3JpcHRpbmdQZXJtaXNzaW9uKSkK
KyAgICAsIG1fdHJlZUJ1aWxkZXIobmV3IEhUTUxQYXJzZXIoZnJhZywgc2NyaXB0aW5nUGVybWlz
c2lvbikpCiAgICAgLCBtX2luV3JpdGUoZmFsc2UpCiAgICAgLCBtX2ZyYWdtZW50KHRydWUpCiAg
ICAgLCBtX3NjcmlwdGluZ1Blcm1pc3Npb24oc2NyaXB0aW5nUGVybWlzc2lvbikKQEAgLTQzMyw3
ICs0MzMsNyBAQCBIVE1MRG9jdW1lbnRQYXJzZXI6OlN0YXRlIEhUTUxEb2N1bWVudFBhcnNlcjo6
c2NyaXB0SGFuZGxlcihTdGF0ZSBzdGF0ZSkKICAgICBpZiAoIWluVmlld1NvdXJjZU1vZGUoKSkg
ewogICAgICAgICBpZiAoIW1fc2NyaXB0VGFnU3JjQXR0clZhbHVlLmlzRW1wdHkoKSAmJiBtX2Rv
Yy0+ZnJhbWUoKSkgewogICAgICAgICAgICAgLy8gZm9yZ2V0IHdoYXQgd2UganVzdCBnb3Q7IGxv
YWQgZnJvbSBzcmMgdXJsIGluc3RlYWQKLSAgICAgICAgICAgIGlmICghbV9wYXJzZXItPnNraXBN
b2RlKCkgJiYgIWZvbGxvd2luZ0ZyYW1lc2V0KSB7CisgICAgICAgICAgICBpZiAoIW1fdHJlZUJ1
aWxkZXItPnNraXBNb2RlKCkgJiYgIWZvbGxvd2luZ0ZyYW1lc2V0KSB7CiAgICAgICAgICAgICAg
ICAgLy8gVGhlIHBhcnNlciBtaWdodCBoYXZlIGJlZW4gc3RvcHBlZCBieSBmb3IgZXhhbXBsZSBh
IHdpbmRvdy5jbG9zZSBjYWxsIGluIGFuIGVhcmxpZXIgc2NyaXB0LgogICAgICAgICAgICAgICAg
IC8vIElmIHNvLCB3ZSBkb24ndCB3YW50IHRvIGxvYWQgc2NyaXB0cy4KICAgICAgICAgICAgICAg
ICBpZiAoIW1fcGFyc2VyU3RvcHBlZCAmJiBtX3NjcmlwdE5vZGUtPmRpc3BhdGNoQmVmb3JlTG9h
ZEV2ZW50KG1fc2NyaXB0VGFnU3JjQXR0clZhbHVlKSAmJgpAQCAtNDgwLDcgKzQ4MCw3IEBAIEhU
TUxEb2N1bWVudFBhcnNlcjo6U3RhdGUgSFRNTERvY3VtZW50UGFyc2VyOjpzY3JpcHRIYW5kbGVy
KFN0YXRlIHN0YXRlKQogICAgIFNlZ21lbnRlZFN0cmluZyBwcmVwZW5kaW5nU3JjOwogICAgIG1f
Y3VycmVudFByZXBlbmRpbmdTcmMgPSAmcHJlcGVuZGluZ1NyYzsKIAotICAgIGlmICghbV9wYXJz
ZXItPnNraXBNb2RlKCkgJiYgIWZvbGxvd2luZ0ZyYW1lc2V0KSB7CisgICAgaWYgKCFtX3RyZWVC
dWlsZGVyLT5za2lwTW9kZSgpICYmICFmb2xsb3dpbmdGcmFtZXNldCkgewogICAgICAgICBpZiAo
Y3MpIHsKICAgICAgICAgICAgIGlmIChzYXZlZFByZXBlbmRpbmdTcmMpCiAgICAgICAgICAgICAg
ICAgc2F2ZWRQcmVwZW5kaW5nU3JjLT5hcHBlbmQobV9zcmMpOwpAQCAtMTM5Myw3ICsxMzkzLDcg
QEAgSFRNTERvY3VtZW50UGFyc2VyOjpTdGF0ZSBIVE1MRG9jdW1lbnRQYXJzZXI6OnBhcnNlVGFn
KFNlZ21lbnRlZFN0cmluZyYgc3JjLCBTdGEKICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxz
ZSBpZiAoaW5WaWV3U291cmNlTW9kZSgpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1f
Y3VycmVudFRva2VuLmFkZFZpZXdTb3VyY2VDaGFyKCd2Jyk7CiAKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGlmIChtX2N1cnJlbnRUb2tlbi5iZWdpblRhZyAmJiBtX2N1cnJlbnRUb2tlbi50YWdO
YW1lID09IHNjcmlwdFRhZyAmJiAhaW5WaWV3U291cmNlTW9kZSgpICYmICFtX3BhcnNlci0+c2tp
cE1vZGUoKSAmJiBtX2F0dHJOYW1lID09IHNyY0F0dHIpIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGlmIChtX2N1cnJlbnRUb2tlbi5iZWdpblRhZyAmJiBtX2N1cnJlbnRUb2tlbi50YWdOYW1l
ID09IHNjcmlwdFRhZyAmJiAhaW5WaWV3U291cmNlTW9kZSgpICYmICFtX3RyZWVCdWlsZGVyLT5z
a2lwTW9kZSgpICYmIG1fYXR0ck5hbWUgPT0gc3JjQXR0cikgewogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFN0cmluZyBjb250ZXh0KG1fcmF3QXR0cmlidXRlQmVmb3JlVmFsdWUuZGF0YSgp
LCBtX3Jhd0F0dHJpYnV0ZUJlZm9yZVZhbHVlLnNpemUoKSk7CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKG1fWFNTQXVkaXRvciAmJiAhbV9YU1NBdWRpdG9yLT5jYW5Mb2FkRXh0ZXJu
YWxTY3JpcHRGcm9tU3JjKGF0dHJpYnV0ZVZhbHVlKSkKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYXR0cmlidXRlVmFsdWUgPSBibGFua1VSTCgpLnN0cmluZygpOwpAQCAtMTQzMCw3
ICsxNDMwLDcgQEAgSFRNTERvY3VtZW50UGFyc2VyOjpTdGF0ZSBIVE1MRG9jdW1lbnRQYXJzZXI6
OnBhcnNlVGFnKFNlZ21lbnRlZFN0cmluZyYgc3JjLCBTdGEKICAgICAgICAgICAgICAgICAgICAg
aWYgKGlzQVNDSUlTcGFjZShjdXJjaGFyKSB8fCBjdXJjaGFyID09ICc+JykgewogICAgICAgICAg
ICAgICAgICAgICAgICAgQXRvbWljU3RyaW5nIGF0dHJpYnV0ZVZhbHVlKG1fYnVmZmVyICsgMSwg
bV9kZXN0IC0gbV9idWZmZXIgLSAxKTsKIAotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1f
Y3VycmVudFRva2VuLmJlZ2luVGFnICYmIG1fY3VycmVudFRva2VuLnRhZ05hbWUgPT0gc2NyaXB0
VGFnICYmICFpblZpZXdTb3VyY2VNb2RlKCkgJiYgIW1fcGFyc2VyLT5za2lwTW9kZSgpICYmIG1f
YXR0ck5hbWUgPT0gc3JjQXR0cikgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1fY3Vy
cmVudFRva2VuLmJlZ2luVGFnICYmIG1fY3VycmVudFRva2VuLnRhZ05hbWUgPT0gc2NyaXB0VGFn
ICYmICFpblZpZXdTb3VyY2VNb2RlKCkgJiYgIW1fdHJlZUJ1aWxkZXItPnNraXBNb2RlKCkgJiYg
bV9hdHRyTmFtZSA9PSBzcmNBdHRyKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Ry
aW5nIGNvbnRleHQobV9yYXdBdHRyaWJ1dGVCZWZvcmVWYWx1ZS5kYXRhKCksIG1fcmF3QXR0cmli
dXRlQmVmb3JlVmFsdWUuc2l6ZSgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAo
bV9YU1NBdWRpdG9yICYmICFtX1hTU0F1ZGl0b3ItPmNhbkxvYWRFeHRlcm5hbFNjcmlwdEZyb21T
cmMoYXR0cmlidXRlVmFsdWUpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRy
aWJ1dGVWYWx1ZSA9IGJsYW5rVVJMKCkuc3RyaW5nKCk7CkBAIC0xNDgyLDcgKzE0ODIsNyBAQCBI
VE1MRG9jdW1lbnRQYXJzZXI6OlN0YXRlIEhUTUxEb2N1bWVudFBhcnNlcjo6cGFyc2VUYWcoU2Vn
bWVudGVkU3RyaW5nJiBzcmMsIFN0YQogICAgICAgICAgICAgLy8gY29tcGF0aWJpbGl0eS4KICAg
ICAgICAgICAgIGJvb2wgaXNTZWxmQ2xvc2luZ1NjcmlwdCA9IG1fY3VycmVudFRva2VuLnNlbGZD
bG9zaW5nVGFnICYmIG1fY3VycmVudFRva2VuLmJlZ2luVGFnICYmIG1fY3VycmVudFRva2VuLnRh
Z05hbWUgPT0gc2NyaXB0VGFnOwogICAgICAgICAgICAgYm9vbCBiZWdpblRhZyA9ICFtX2N1cnJl
bnRUb2tlbi5zZWxmQ2xvc2luZ1RhZyAmJiBtX2N1cnJlbnRUb2tlbi5iZWdpblRhZzsKLSAgICAg
ICAgICAgIGlmIChtX2N1cnJlbnRUb2tlbi5iZWdpblRhZyAmJiBtX2N1cnJlbnRUb2tlbi50YWdO
YW1lID09IHNjcmlwdFRhZyAmJiAhaW5WaWV3U291cmNlTW9kZSgpICYmICFtX3BhcnNlci0+c2tp
cE1vZGUoKSkgeworICAgICAgICAgICAgaWYgKG1fY3VycmVudFRva2VuLmJlZ2luVGFnICYmIG1f
Y3VycmVudFRva2VuLnRhZ05hbWUgPT0gc2NyaXB0VGFnICYmICFpblZpZXdTb3VyY2VNb2RlKCkg
JiYgIW1fdHJlZUJ1aWxkZXItPnNraXBNb2RlKCkpIHsKICAgICAgICAgICAgICAgICBBdHRyaWJ1
dGUqIGEgPSAwOwogICAgICAgICAgICAgICAgIG1fc2NyaXB0VGFnU3JjQXR0clZhbHVlID0gU3Ry
aW5nKCk7CiAgICAgICAgICAgICAgICAgbV9zY3JpcHRUYWdDaGFyc2V0QXR0clZhbHVlID0gU3Ry
aW5nKCk7CkBAIC0xODQ0LDcgKzE4NDQsNyBAQCB2b2lkIEhUTUxEb2N1bWVudFBhcnNlcjo6ZW5k
KCkKICAgICB9CiAKICAgICBpZiAoIWluVmlld1NvdXJjZU1vZGUoKSkKLSAgICAgICAgbV9wYXJz
ZXItPmZpbmlzaGVkKCk7CisgICAgICAgIG1fdHJlZUJ1aWxkZXItPmZpbmlzaGVkKCk7CiAgICAg
ZWxzZQogICAgICAgICBtX2RvYy0+ZmluaXNoZWRQYXJzaW5nKCk7CiB9CkBAIC0xOTE1LDcgKzE5
MTUsNyBAQCBQYXNzUmVmUHRyPE5vZGU+IEhUTUxEb2N1bWVudFBhcnNlcjo6cHJvY2Vzc1Rva2Vu
KCkKICAgICAgICAgICAgIHN0YXRpY19jYXN0PEhUTUxWaWV3U291cmNlRG9jdW1lbnQqPihtX2Rv
YyktPmFkZFZpZXdTb3VyY2VUb2tlbigmbV9jdXJyZW50VG9rZW4pOwogICAgICAgICBlbHNlCiAg
ICAgICAgICAgICAvLyBwYXNzIHRoZSB0b2tlbiBvdmVyIHRvIHRoZSBwYXJzZXIsIHRoZSBwYXJz
ZXIgRE9FUyBOT1QgZGVsZXRlIHRoZSB0b2tlbgotICAgICAgICAgICAgbiA9IG1fcGFyc2VyLT5w
YXJzZVRva2VuKCZtX2N1cnJlbnRUb2tlbik7CisgICAgICAgICAgICBuID0gbV90cmVlQnVpbGRl
ci0+cGFyc2VUb2tlbigmbV9jdXJyZW50VG9rZW4pOwogICAgIH0KICAgICBtX2N1cnJlbnRUb2tl
bi5yZXNldCgpOwogICAgIGlmIChzY3JpcHRDb250cm9sbGVyKQpAQCAtMTkyOSw3ICsxOTI5LDcg
QEAgdm9pZCBIVE1MRG9jdW1lbnRQYXJzZXI6OnByb2Nlc3NEb2N0eXBlVG9rZW4oKQogICAgIGlm
IChpblZpZXdTb3VyY2VNb2RlKCkpCiAgICAgICAgIHN0YXRpY19jYXN0PEhUTUxWaWV3U291cmNl
RG9jdW1lbnQqPihtX2RvYyktPmFkZFZpZXdTb3VyY2VEb2N0eXBlVG9rZW4oJm1fZG9jdHlwZVRv
a2VuKTsKICAgICBlbHNlCi0gICAgICAgIG1fcGFyc2VyLT5wYXJzZURvY3R5cGVUb2tlbigmbV9k
b2N0eXBlVG9rZW4pOworICAgICAgICBtX3RyZWVCdWlsZGVyLT5wYXJzZURvY3R5cGVUb2tlbigm
bV9kb2N0eXBlVG9rZW4pOwogfQogCiBIVE1MRG9jdW1lbnRQYXJzZXI6On5IVE1MRG9jdW1lbnRQ
YXJzZXIoKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxEb2N1bWVudFBhcnNlci5oIGIv
V2ViQ29yZS9odG1sL0hUTUxEb2N1bWVudFBhcnNlci5oCmluZGV4IDA5NTFjMmEzNThkMGQ4MTQx
Njc5MjkzMWUxNjAxYTI5NDFiMmFmMWMuLjFkOWViZjcxMTdlNTBiOTZmYmE4ZDhiM2Y2ZDAwYjIy
MDczYjA1NjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnRQYXJzZXIuaAor
KysgYi9XZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50UGFyc2VyLmgKQEAgLTE2Myw3ICsxNjMsNyBA
QCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgZXhlY3V0ZVNjcmlwdHNXYWl0aW5nRm9yU3R5
bGVzaGVldHMoKTsKIAotICAgIHZpcnR1YWwgSFRNTFBhcnNlciogaHRtbFBhcnNlcigpIGNvbnN0
IHsgcmV0dXJuIG1fcGFyc2VyLmdldCgpOyB9CisgICAgdmlydHVhbCBIVE1MUGFyc2VyKiBodG1s
VHJlZUJ1aWxkZXIoKSBjb25zdCB7IHJldHVybiBtX3RyZWVCdWlsZGVyLmdldCgpOyB9CiAgICAg
dmlydHVhbCBIVE1MRG9jdW1lbnRQYXJzZXIqIGFzSFRNTERvY3VtZW50UGFyc2VyKCkgeyByZXR1
cm4gdGhpczsgfQogCiBwcml2YXRlOgpAQCAtNDMxLDcgKzQzMSw3IEBAIHByaXZhdGU6CiAKICAg
ICBTZWdtZW50ZWRTdHJpbmcgbV9zcmM7CiAgICAgRG9jdW1lbnQqIG1fZG9jOwotICAgIE93blB0
cjxIVE1MUGFyc2VyPiBtX3BhcnNlcjsKKyAgICBPd25QdHI8SFRNTFBhcnNlcj4gbV90cmVlQnVp
bGRlcjsKICAgICBib29sIG1faW5Xcml0ZTsKICAgICBib29sIG1fZnJhZ21lbnQ7CiAgICAgRnJh
Z21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uIG1fc2NyaXB0aW5nUGVybWlzc2lvbjsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcCBiL1dlYkNvcmUvaHRt
bC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAppbmRleCAzZGVkMzVhNjliM2QxZDdkZjllZGY1
M2FiMTdmMjE2OGJlOGI4YTI1Li4yMDRiOTlhZmMyMjdjNzMwNzNmZWFmNWI3YTBkMTRiYjk5ZWMx
NGFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAK
KysrIGIvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCkBAIC0xNzgsMTEg
KzE3OCwxMSBAQCB2b2lkIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OnJlbW92ZWRGcm9tVHJlZShi
b29sIGRlZXApCiB7CiAgICAgLy8gSWYgdGhlIGZvcm0gYW5kIGVsZW1lbnQgYXJlIGJvdGggaW4g
dGhlIHNhbWUgdHJlZSwgcHJlc2VydmUgdGhlIGNvbm5lY3Rpb24gdG8gdGhlIGZvcm0uCiAgICAg
Ly8gT3RoZXJ3aXNlLCBudWxsIG91dCBvdXIgZm9ybSBhbmQgcmVtb3ZlIG91cnNlbHZlcyBmcm9t
IHRoZSBmb3JtJ3MgbGlzdCBvZiBlbGVtZW50cy4KLSAgICBIVE1MUGFyc2VyKiBwYXJzZXIgPSAw
OworICAgIEhUTUxQYXJzZXIqIHRyZWVCdWlsZGVyID0gMDsKICAgICBpZiAoRG9jdW1lbnRQYXJz
ZXIqIHBhcnNlciA9IGRvY3VtZW50KCktPnBhcnNlcigpKQotICAgICAgICBwYXJzZXIgPSBwYXJz
ZXItPmh0bWxQYXJzZXIoKTsKKyAgICAgICAgdHJlZUJ1aWxkZXIgPSBwYXJzZXItPmh0bWxUcmVl
QnVpbGRlcigpOwogCi0gICAgaWYgKG1fZm9ybSAmJiAhKHBhcnNlciAmJiBwYXJzZXItPmlzSGFu
ZGxpbmdSZXNpZHVhbFN0eWxlQWNyb3NzQmxvY2tzKCkpICYmIGZpbmRSb290KHRoaXMpICE9IGZp
bmRSb290KG1fZm9ybSkpIHsKKyAgICBpZiAobV9mb3JtICYmICEodHJlZUJ1aWxkZXIgJiYgdHJl
ZUJ1aWxkZXItPmlzSGFuZGxpbmdSZXNpZHVhbFN0eWxlQWNyb3NzQmxvY2tzKCkpICYmIGZpbmRS
b290KHRoaXMpICE9IGZpbmRSb290KG1fZm9ybSkpIHsKICAgICAgICAgbV9mb3JtLT5yZW1vdmVG
b3JtRWxlbWVudCh0aGlzKTsKICAgICAgICAgbV9mb3JtID0gMDsKICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>58610</attachid>
            <date>2010-06-13 18:13:28 -0700</date>
            <delta_ts>2010-06-13 21:01:07 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-40514-20100613181327.patch</filename>
            <type>text/plain</type>
            <size>14507</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MTIyMDk2MWZjNWI4ZmJiMTkzZTY2MmU3OGM2NDA4YmU4MmQ2NDVlZi4uNGUzZWJmYTE2NjQ5NWU1
ODYxOWEwNzk3MjU4MzVmOWYwY2UwMWM1OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTIsNiArMiwzNyBAQAogCiAgICAgICAgIFJldmll
d2VkIGJ5IERhcmluIEFkbGVyLgogCisgICAgICAgIFJlbmFtZSBtX3BhcnNlciwgaHRtbFBhcnNl
cigpIHRvIG1fdHJlZUJ1aWxkZXIsIGh0bWxUcmVlQnVpbGRlcigpIGluIHByZXBhcmF0aW9uIGZv
ciByZW5hbWluZyBIVE1MUGFyc2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD00MDUxNAorCisgICAgICAgIFRoaXMgcmVuYW1lIHdhcyBkb25lIGJ5IGhh
bmQuICBJIHJlYWxpemUgbm93IEkgc2hvdWxkIGhhdmUKKyAgICAgICAgcmVuYW1lZCBIVE1MUGFy
c2VyIHRvIEhUTUxUcmVlQnVpbGRlciBiZWZvcmUgcmVuYW1pbmcgSFRNTFRva2VuaXplci4KKwor
ICAgICAgICBObyBmdW5jdGlvbmFsIGNoYW5nZXMsIHRodXMgbm8gdGVzdHMuCisKKyAgICAgICAg
KiBkb20vRG9jdW1lbnRQYXJzZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50UGFyc2Vy
OjpodG1sVHJlZUJ1aWxkZXIpOgorICAgICAgICAqIGh0bWwvSFRNTDVEb2N1bWVudFBhcnNlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MNURvY3VtZW50UGFyc2VyOjpodG1sVHJlZUJ1aWxk
ZXIpOgorICAgICAgICAqIGh0bWwvSFRNTDVEb2N1bWVudFBhcnNlci5oOgorICAgICAgICAqIGh0
bWwvSFRNTDVUcmVlQnVpbGRlci5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTDVUcmVlQnVpbGRl
cjo6bGVnYWN5VHJlZUJ1aWxkZXIpOgorICAgICAgICAqIGh0bWwvSFRNTERvY3VtZW50UGFyc2Vy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6SFRNTERvY3VtZW50
UGFyc2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6c2NyaXB0SGFu
ZGxlcik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRG9jdW1lbnRQYXJzZXI6OnBhcnNlVGFnKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6ZW5kKToKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6cHJvY2Vzc1Rva2VuKToKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6cHJvY2Vzc0RvY3R5cGVUb2tlbik6CisgICAgICAgICog
aHRtbC9IVE1MRG9jdW1lbnRQYXJzZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEb2N1bWVu
dFBhcnNlcjo6aHRtbFRyZWVCdWlsZGVyKToKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtQ29udHJv
bEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZvcm1Db250cm9sRWxlbWVudDo6
cmVtb3ZlZEZyb21UcmVlKToKKworMjAxMC0wNi0xMSAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKICAgICAgICAgUmVu
YW1lIHRvaywgYXNIVE1MVG9rZW5pemVyIHRvIHBhcnNlciwgYXNIVE1MRG9jdW1lbnRQYXJzZXIK
ICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwNTEzCiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50UGFyc2VyLmggYi9XZWJDb3JlL2RvbS9E
b2N1bWVudFBhcnNlci5oCmluZGV4IDIzNGFlN2M1NDI3ZGM0ZDBhYzgyZTc4YmI0Yjk0OTExM2Ux
N2Q1MjQuLjdlMGFlNjA1Nzg2N2U0NjRmYTg2NDNjMzVhZmIxOGJhZWZkMDAyN2IgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvZG9tL0RvY3VtZW50UGFyc2VyLmgKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1l
bnRQYXJzZXIuaApAQCAtNTgsNyArNTgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAg
ICAgdmlydHVhbCB2b2lkIGV4ZWN1dGVTY3JpcHRzV2FpdGluZ0ZvclN0eWxlc2hlZXRzKCkge30K
IAotICAgICAgICB2aXJ0dWFsIEhUTUxQYXJzZXIqIGh0bWxQYXJzZXIoKSBjb25zdCB7IHJldHVy
biAwOyB9CisgICAgICAgIHZpcnR1YWwgSFRNTFBhcnNlciogaHRtbFRyZWVCdWlsZGVyKCkgY29u
c3QgeyByZXR1cm4gMDsgfQogICAgICAgICB2aXJ0dWFsIEhUTUxEb2N1bWVudFBhcnNlciogYXNI
VE1MRG9jdW1lbnRQYXJzZXIoKSB7IHJldHVybiAwOyB9CiAKICAgICAgICAgWFNTQXVkaXRvciog
eHNzQXVkaXRvcigpIGNvbnN0IHsgcmV0dXJuIG1fWFNTQXVkaXRvcjsgfQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9odG1sL0hUTUw1RG9jdW1lbnRQYXJzZXIuY3BwIGIvV2ViQ29yZS9odG1sL0hUTUw1
RG9jdW1lbnRQYXJzZXIuY3BwCmluZGV4IGExNDZhNTc3MzhiNzU2YjkyMmI1MmZjYjNmNTlkMTRm
Y2VjMzE2MGYuLmFkNGI0ZGZlOWEwMjE3Yjg1MWI2YjY4ZDM1YTYyNzA3ODFhY2I5NWQgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MNURvY3VtZW50UGFyc2VyLmNwcAorKysgYi9XZWJDb3Jl
L2h0bWwvSFRNTDVEb2N1bWVudFBhcnNlci5jcHAKQEAgLTIyMSw5ICsyMjEsOSBAQCBpbnQgSFRN
TDVEb2N1bWVudFBhcnNlcjo6Y29sdW1uTnVtYmVyKCkgY29uc3QKICAgICByZXR1cm4gbV9sZXhl
ci0+Y29sdW1uTnVtYmVyKCk7CiB9CiAKLUhUTUxQYXJzZXIqIEhUTUw1RG9jdW1lbnRQYXJzZXI6
Omh0bWxQYXJzZXIoKSBjb25zdAorSFRNTFBhcnNlciogSFRNTDVEb2N1bWVudFBhcnNlcjo6aHRt
bFRyZWVCdWlsZGVyKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV90cmVlQnVpbGRlci0+aHRtbFBh
cnNlcigpOworICAgIHJldHVybiBtX3RyZWVCdWlsZGVyLT5sZWdhY3lUcmVlQnVpbGRlcigpOwog
fQogCiBib29sIEhUTUw1RG9jdW1lbnRQYXJzZXI6OmlzV2FpdGluZ0ZvclNjcmlwdHMoKSBjb25z
dApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUw1RG9jdW1lbnRQYXJzZXIuaCBiL1dlYkNv
cmUvaHRtbC9IVE1MNURvY3VtZW50UGFyc2VyLmgKaW5kZXggMTdlNTgxNzU5ZTI3MDFjMTAzZWZh
MjNlYTFjNTViZWIxODlmYTAwNC4uNDYzZDc3NjljZGVlMjY4MTBhYWQyYjM0YzUxN2ZkZDE2YmJm
YzI1ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUw1RG9jdW1lbnRQYXJzZXIuaAorKysg
Yi9XZWJDb3JlL2h0bWwvSFRNTDVEb2N1bWVudFBhcnNlci5oCkBAIC02MCw3ICs2MCw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIGludCBjb2x1bW5OdW1iZXIoKSBjb25zdDsKICAgICAvLyBGSVhN
RTogSFRNTEZvcm1Db250cm9sRWxlbWVudCBhY2Nlc3NlcyB0aGUgSFRNTFBhcnNlciB2aWEgdGhp
cyBtZXRob2QuCiAgICAgLy8gUmVtb3ZlIHRoaXMgd2hlbiB0aGUgSFRNTFBhcnNlciBpcyBubyBs
b25nZXIgdXNlZC4KLSAgICB2aXJ0dWFsIEhUTUxQYXJzZXIqIGh0bWxQYXJzZXIoKSBjb25zdDsK
KyAgICB2aXJ0dWFsIEhUTUxQYXJzZXIqIGh0bWxUcmVlQnVpbGRlcigpIGNvbnN0OwogCiAgICAg
Ly8gSFRNTDVTY3JpcHRSdW5uZXJIb3N0CiAgICAgdmlydHVhbCB2b2lkIHdhdGNoRm9yTG9hZChD
YWNoZWRSZXNvdXJjZSopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUw1VHJlZUJ1aWxk
ZXIuY3BwIGIvV2ViQ29yZS9odG1sL0hUTUw1VHJlZUJ1aWxkZXIuY3BwCmluZGV4IGQ0YjM0ZTJm
MTBjZWVmZjhkZTlkODgyMmEzYjdhNWQ1YjExYjg3NzYuLjJiZWEzODI3Mzg0ZjNkNmY0OTJiYzYy
MWUzMGJhY2Q5ZDZhOGY2MzAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MNVRyZWVCdWls
ZGVyLmNwcAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTDVUcmVlQnVpbGRlci5jcHAKQEAgLTQ4LDcg
KzQ4LDcgQEAgSFRNTDVUcmVlQnVpbGRlcjo6SFRNTDVUcmVlQnVpbGRlcihIVE1MNUxleGVyKiBs
ZXhlciwgSFRNTERvY3VtZW50KiBkb2N1bWVudCwgYm8KICAgICAsIG1faXNQYXVzZWQoZmFsc2Up
CiAgICAgLCBtX2luc2VydGlvbk1vZGUoSW5pdGlhbCkKICAgICAsIG1fbGV4ZXIobGV4ZXIpCi0g
ICAgLCBtX2xlZ2FjeUhUTUxQYXJzZXIobmV3IEhUTUxQYXJzZXIoZG9jdW1lbnQsIHJlcG9ydEVy
cm9ycykpCisgICAgLCBtX2xlZ2FjeVRyZWVCdWlsZGVyKG5ldyBIVE1MUGFyc2VyKGRvY3VtZW50
LCByZXBvcnRFcnJvcnMpKQogICAgICwgbV9sYXN0U2NyaXB0RWxlbWVudFN0YXJ0TGluZSh1bmlu
aXRpYWxpemVkTGluZU51bWJlclZhbHVlKQogICAgICwgbV9zY3JpcHRUb1Byb2Nlc3NTdGFydExp
bmUodW5pbml0aWFsaXplZExpbmVOdW1iZXJWYWx1ZSkKIHsKQEAgLTE0MSw3ICsxNDEsNyBAQCBQ
YXNzUmVmUHRyPE5vZGU+IEhUTUw1VHJlZUJ1aWxkZXI6OnBhc3NUb2tlblRvTGVnYWN5UGFyc2Vy
KEhUTUw1VG9rZW4mIHRva2VuKQogICAgICAgICBkb2N0eXBlVG9rZW4ubV9zeXN0ZW1JRCA9IHRv
a2VuLnN5c3RlbUlkZW50aWZpZXIoKTsKICAgICAgICAgZG9jdHlwZVRva2VuLm1fZm9yY2VRdWly
a3MgPSB0b2tlbi5mb3JjZVF1aXJrcygpOwogCi0gICAgICAgIG1fbGVnYWN5SFRNTFBhcnNlci0+
cGFyc2VEb2N0eXBlVG9rZW4oJmRvY3R5cGVUb2tlbik7CisgICAgICAgIG1fbGVnYWN5VHJlZUJ1
aWxkZXItPnBhcnNlRG9jdHlwZVRva2VuKCZkb2N0eXBlVG9rZW4pOwogICAgICAgICByZXR1cm4g
MDsKICAgICB9CiAKQEAgLTE0OSw3ICsxNDksNyBAQCBQYXNzUmVmUHRyPE5vZGU+IEhUTUw1VHJl
ZUJ1aWxkZXI6OnBhc3NUb2tlblRvTGVnYWN5UGFyc2VyKEhUTUw1VG9rZW4mIHRva2VuKQogICAg
IFRva2VuIG9sZFN0eWxlVG9rZW47CiAgICAgY29udmVydFRvT2xkU3R5bGUodG9rZW4sIG9sZFN0
eWxlVG9rZW4pOwogCi0gICAgUmVmUHRyPE5vZGU+IHJlc3VsdCA9ICBtX2xlZ2FjeUhUTUxQYXJz
ZXItPnBhcnNlVG9rZW4oJm9sZFN0eWxlVG9rZW4pOworICAgIFJlZlB0cjxOb2RlPiByZXN1bHQg
PSAgbV9sZWdhY3lUcmVlQnVpbGRlci0+cGFyc2VUb2tlbigmb2xkU3R5bGVUb2tlbik7CiAgICAg
aWYgKHRva2VuLnR5cGUoKSA9PSBIVE1MNVRva2VuOjpTdGFydFRhZykgewogICAgICAgICAvLyBU
aGlzIHdvcmsgaXMgc3VwcG9zZWQgdG8gYmUgZG9uZSBieSB0aGUgcGFyc2VyLCBidXQKICAgICAg
ICAgLy8gd2hlbiB1c2luZyB0aGUgb2xkIHBhcnNlciBmb3Igd2UgaGF2ZSB0byBkbyB0aGlzIG1h
bnVhbGx5LgpAQCAtMjEzLDggKzIxMyw4IEBAIFBhc3NSZWZQdHI8Tm9kZT4gSFRNTDVUcmVlQnVp
bGRlcjo6cHJvY2Vzc1Rva2VuKEhUTUw1VG9rZW4mIHRva2VuLCBVQ2hhciBjdXJyZW50CiB2b2lk
IEhUTUw1VHJlZUJ1aWxkZXI6OmZpbmlzaGVkKCkKIHsKICAgICAvLyBXZSBzaG91bGQgY2FsbCBt
X2RvY3VtZW50LT5maW5pc2hlZFBhcnNpbmcoKSBoZXJlLCBleGNlcHQKLSAgICAvLyBtX2xlZ2Fj
eUhUTUxQYXJzZXItPmZpbmlzaGVkKCkgZG9lcyBpdCBmb3IgdXMuCi0gICAgbV9sZWdhY3lIVE1M
UGFyc2VyLT5maW5pc2hlZCgpOworICAgIC8vIG1fbGVnYWN5VHJlZUJ1aWxkZXItPmZpbmlzaGVk
KCkgZG9lcyBpdCBmb3IgdXMuCisgICAgbV9sZWdhY3lUcmVlQnVpbGRlci0+ZmluaXNoZWQoKTsK
IH0KIAogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUw1VHJlZUJ1aWxkZXIuaCBiL1dl
YkNvcmUvaHRtbC9IVE1MNVRyZWVCdWlsZGVyLmgKaW5kZXggMTczZDVlOWZlZGE1MWYyZGNmNzAx
ZTA3MTEwYjk3YjRmYzc1ZjljZC4uNmYwZGU2Yjk3Yzk4ODliNjc1NWExMmRkMTcyOWVhNzdjNTVm
OTQ3YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUw1VHJlZUJ1aWxkZXIuaAorKysgYi9X
ZWJDb3JlL2h0bWwvSFRNTDVUcmVlQnVpbGRlci5oCkBAIC02MCw3ICs2MCw3IEBAIHB1YmxpYzoK
IAogICAgIC8vIEZJWE1FOiBUaGlzIGlzIGEgZGlydHksIHJvdHRlbiBoYWNrIHRvIGtlZXAgSFRN
TEZvcm1Db250cm9sRWxlbWVudCBoYXBweQogICAgIC8vIHVudGlsIHdlIHN0b3AgdXNpbmcgdGhl
IGxlZ2FjeSBwYXJzZXIuIERPIE5PVCBDQUxMIFRISVMgTUVUSE9ELgotICAgIEhUTUxQYXJzZXIq
IGh0bWxQYXJzZXIoKSBjb25zdCB7IHJldHVybiBtX2xlZ2FjeUhUTUxQYXJzZXIuZ2V0KCk7IH0K
KyAgICBIVE1MUGFyc2VyKiBsZWdhY3lUcmVlQnVpbGRlcigpIGNvbnN0IHsgcmV0dXJuIG1fbGVn
YWN5VHJlZUJ1aWxkZXIuZ2V0KCk7IH0KIAogcHJpdmF0ZToKICAgICAvLyBSZXByZXNlbnRzIEhU
TUw1ICJpbnNlcnRpb24gbW9kZSIKQEAgLTkxLDcgKzkxLDcgQEAgcHJpdmF0ZToKICAgICBIVE1M
NUxleGVyKiBtX2xleGVyOwogCiAgICAgLy8gV2UncmUgcmUtdXNpbmcgbG9naWMgZnJvbSB0aGUg
b2xkIEhUTUxQYXJzZXIgd2hpbGUgdGhpcyBjbGFzcyBpcyBiZWluZyB3cml0dGVuLgotICAgIE93
blB0cjxIVE1MUGFyc2VyPiBtX2xlZ2FjeUhUTUxQYXJzZXI7CisgICAgT3duUHRyPEhUTUxQYXJz
ZXI+IG1fbGVnYWN5VHJlZUJ1aWxkZXI7CiAKICAgICAvLyBUaGVzZSBtZW1iZXJzIGFyZSBpbnRl
bnRpb25hbGx5IGR1cGxpY2F0ZWQgYXMgdGhlIGZpcnN0IHNldCBpcyBhIGhhY2sKICAgICAvLyBv
biB0b3Agb2YgdGhlIGxlZ2FjeSBwYXJzZXIgd2hpY2ggd2lsbCBldmVudHVhbGx5IGJlIHJlbW92
ZWQuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50UGFyc2VyLmNwcCBiL1dl
YkNvcmUvaHRtbC9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwCmluZGV4IGIxZWQ2NDllMWNlMTQ5Nzlm
ZTY0Y2Q3YWZhZDg4NWY0Mzc0MmRhNmEuLjk1MTY3Y2YzYWM1NDIwNjAyNTZkNWMxZTYyMzQyNTEw
YjdkYWQ0NGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnRQYXJzZXIuY3Bw
CisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwCkBAIC0xNjAsNyArMTYw
LDcgQEAgSFRNTERvY3VtZW50UGFyc2VyOjpIVE1MRG9jdW1lbnRQYXJzZXIoSFRNTERvY3VtZW50
KiBkb2MsIGJvb2wgcmVwb3J0RXJyb3JzKQogICAgICwgbV90aW1lcih0aGlzLCAmSFRNTERvY3Vt
ZW50UGFyc2VyOjp0aW1lckZpcmVkKQogICAgICwgbV9leHRlcm5hbFNjcmlwdHNUaW1lcih0aGlz
LCAmSFRNTERvY3VtZW50UGFyc2VyOjpleGVjdXRlRXh0ZXJuYWxTY3JpcHRzVGltZXJGaXJlZCkK
ICAgICAsIG1fZG9jKGRvYykKLSAgICAsIG1fcGFyc2VyKG5ldyBIVE1MUGFyc2VyKGRvYywgcmVw
b3J0RXJyb3JzKSkKKyAgICAsIG1fdHJlZUJ1aWxkZXIobmV3IEhUTUxQYXJzZXIoZG9jLCByZXBv
cnRFcnJvcnMpKQogICAgICwgbV9pbldyaXRlKGZhbHNlKQogICAgICwgbV9mcmFnbWVudChmYWxz
ZSkKICAgICAsIG1fc2NyaXB0aW5nUGVybWlzc2lvbihGcmFnbWVudFNjcmlwdGluZ0FsbG93ZWQp
CkBAIC0xODEsNyArMTgxLDYgQEAgSFRNTERvY3VtZW50UGFyc2VyOjpIVE1MRG9jdW1lbnRQYXJz
ZXIoSFRNTFZpZXdTb3VyY2VEb2N1bWVudCogZG9jKQogICAgICwgbV90aW1lcih0aGlzLCAmSFRN
TERvY3VtZW50UGFyc2VyOjp0aW1lckZpcmVkKQogICAgICwgbV9leHRlcm5hbFNjcmlwdHNUaW1l
cih0aGlzLCAmSFRNTERvY3VtZW50UGFyc2VyOjpleGVjdXRlRXh0ZXJuYWxTY3JpcHRzVGltZXJG
aXJlZCkKICAgICAsIG1fZG9jKGRvYykKLSAgICAsIG1fcGFyc2VyKDApCiAgICAgLCBtX2luV3Jp
dGUoZmFsc2UpCiAgICAgLCBtX2ZyYWdtZW50KGZhbHNlKQogICAgICwgbV9zY3JpcHRpbmdQZXJt
aXNzaW9uKEZyYWdtZW50U2NyaXB0aW5nQWxsb3dlZCkKQEAgLTIwMSw3ICsyMDAsNyBAQCBIVE1M
RG9jdW1lbnRQYXJzZXI6OkhUTUxEb2N1bWVudFBhcnNlcihEb2N1bWVudEZyYWdtZW50KiBmcmFn
LCBGcmFnbWVudFNjcmlwdGluZwogICAgICwgbV90aW1lcih0aGlzLCAmSFRNTERvY3VtZW50UGFy
c2VyOjp0aW1lckZpcmVkKQogICAgICwgbV9leHRlcm5hbFNjcmlwdHNUaW1lcih0aGlzLCAmSFRN
TERvY3VtZW50UGFyc2VyOjpleGVjdXRlRXh0ZXJuYWxTY3JpcHRzVGltZXJGaXJlZCkKICAgICAs
IG1fZG9jKGZyYWctPmRvY3VtZW50KCkpCi0gICAgLCBtX3BhcnNlcihuZXcgSFRNTFBhcnNlcihm
cmFnLCBzY3JpcHRpbmdQZXJtaXNzaW9uKSkKKyAgICAsIG1fdHJlZUJ1aWxkZXIobmV3IEhUTUxQ
YXJzZXIoZnJhZywgc2NyaXB0aW5nUGVybWlzc2lvbikpCiAgICAgLCBtX2luV3JpdGUoZmFsc2Up
CiAgICAgLCBtX2ZyYWdtZW50KHRydWUpCiAgICAgLCBtX3NjcmlwdGluZ1Blcm1pc3Npb24oc2Ny
aXB0aW5nUGVybWlzc2lvbikKQEAgLTQzMyw3ICs0MzIsNyBAQCBIVE1MRG9jdW1lbnRQYXJzZXI6
OlN0YXRlIEhUTUxEb2N1bWVudFBhcnNlcjo6c2NyaXB0SGFuZGxlcihTdGF0ZSBzdGF0ZSkKICAg
ICBpZiAoIWluVmlld1NvdXJjZU1vZGUoKSkgewogICAgICAgICBpZiAoIW1fc2NyaXB0VGFnU3Jj
QXR0clZhbHVlLmlzRW1wdHkoKSAmJiBtX2RvYy0+ZnJhbWUoKSkgewogICAgICAgICAgICAgLy8g
Zm9yZ2V0IHdoYXQgd2UganVzdCBnb3Q7IGxvYWQgZnJvbSBzcmMgdXJsIGluc3RlYWQKLSAgICAg
ICAgICAgIGlmICghbV9wYXJzZXItPnNraXBNb2RlKCkgJiYgIWZvbGxvd2luZ0ZyYW1lc2V0KSB7
CisgICAgICAgICAgICBpZiAoIW1fdHJlZUJ1aWxkZXItPnNraXBNb2RlKCkgJiYgIWZvbGxvd2lu
Z0ZyYW1lc2V0KSB7CiAgICAgICAgICAgICAgICAgLy8gVGhlIHBhcnNlciBtaWdodCBoYXZlIGJl
ZW4gc3RvcHBlZCBieSBmb3IgZXhhbXBsZSBhIHdpbmRvdy5jbG9zZSBjYWxsIGluIGFuIGVhcmxp
ZXIgc2NyaXB0LgogICAgICAgICAgICAgICAgIC8vIElmIHNvLCB3ZSBkb24ndCB3YW50IHRvIGxv
YWQgc2NyaXB0cy4KICAgICAgICAgICAgICAgICBpZiAoIW1fcGFyc2VyU3RvcHBlZCAmJiBtX3Nj
cmlwdE5vZGUtPmRpc3BhdGNoQmVmb3JlTG9hZEV2ZW50KG1fc2NyaXB0VGFnU3JjQXR0clZhbHVl
KSAmJgpAQCAtNDgwLDcgKzQ3OSw3IEBAIEhUTUxEb2N1bWVudFBhcnNlcjo6U3RhdGUgSFRNTERv
Y3VtZW50UGFyc2VyOjpzY3JpcHRIYW5kbGVyKFN0YXRlIHN0YXRlKQogICAgIFNlZ21lbnRlZFN0
cmluZyBwcmVwZW5kaW5nU3JjOwogICAgIG1fY3VycmVudFByZXBlbmRpbmdTcmMgPSAmcHJlcGVu
ZGluZ1NyYzsKIAotICAgIGlmICghbV9wYXJzZXItPnNraXBNb2RlKCkgJiYgIWZvbGxvd2luZ0Zy
YW1lc2V0KSB7CisgICAgaWYgKCFtX3RyZWVCdWlsZGVyLT5za2lwTW9kZSgpICYmICFmb2xsb3dp
bmdGcmFtZXNldCkgewogICAgICAgICBpZiAoY3MpIHsKICAgICAgICAgICAgIGlmIChzYXZlZFBy
ZXBlbmRpbmdTcmMpCiAgICAgICAgICAgICAgICAgc2F2ZWRQcmVwZW5kaW5nU3JjLT5hcHBlbmQo
bV9zcmMpOwpAQCAtMTM5Myw3ICsxMzkyLDcgQEAgSFRNTERvY3VtZW50UGFyc2VyOjpTdGF0ZSBI
VE1MRG9jdW1lbnRQYXJzZXI6OnBhcnNlVGFnKFNlZ21lbnRlZFN0cmluZyYgc3JjLCBTdGEKICAg
ICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5WaWV3U291cmNlTW9kZSgpKQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG1fY3VycmVudFRva2VuLmFkZFZpZXdTb3VyY2VDaGFy
KCd2Jyk7CiAKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtX2N1cnJlbnRUb2tlbi5iZWdp
blRhZyAmJiBtX2N1cnJlbnRUb2tlbi50YWdOYW1lID09IHNjcmlwdFRhZyAmJiAhaW5WaWV3U291
cmNlTW9kZSgpICYmICFtX3BhcnNlci0+c2tpcE1vZGUoKSAmJiBtX2F0dHJOYW1lID09IHNyY0F0
dHIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtX2N1cnJlbnRUb2tlbi5iZWdpblRh
ZyAmJiBtX2N1cnJlbnRUb2tlbi50YWdOYW1lID09IHNjcmlwdFRhZyAmJiAhaW5WaWV3U291cmNl
TW9kZSgpICYmICFtX3RyZWVCdWlsZGVyLT5za2lwTW9kZSgpICYmIG1fYXR0ck5hbWUgPT0gc3Jj
QXR0cikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cmluZyBjb250ZXh0KG1fcmF3
QXR0cmlidXRlQmVmb3JlVmFsdWUuZGF0YSgpLCBtX3Jhd0F0dHJpYnV0ZUJlZm9yZVZhbHVlLnNp
emUoKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1fWFNTQXVkaXRvciAmJiAh
bV9YU1NBdWRpdG9yLT5jYW5Mb2FkRXh0ZXJuYWxTY3JpcHRGcm9tU3JjKGF0dHJpYnV0ZVZhbHVl
KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlVmFsdWUgPSBibGFu
a1VSTCgpLnN0cmluZygpOwpAQCAtMTQzMCw3ICsxNDI5LDcgQEAgSFRNTERvY3VtZW50UGFyc2Vy
OjpTdGF0ZSBIVE1MRG9jdW1lbnRQYXJzZXI6OnBhcnNlVGFnKFNlZ21lbnRlZFN0cmluZyYgc3Jj
LCBTdGEKICAgICAgICAgICAgICAgICAgICAgaWYgKGlzQVNDSUlTcGFjZShjdXJjaGFyKSB8fCBj
dXJjaGFyID09ICc+JykgewogICAgICAgICAgICAgICAgICAgICAgICAgQXRvbWljU3RyaW5nIGF0
dHJpYnV0ZVZhbHVlKG1fYnVmZmVyICsgMSwgbV9kZXN0IC0gbV9idWZmZXIgLSAxKTsKIAotICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKG1fY3VycmVudFRva2VuLmJlZ2luVGFnICYmIG1fY3Vy
cmVudFRva2VuLnRhZ05hbWUgPT0gc2NyaXB0VGFnICYmICFpblZpZXdTb3VyY2VNb2RlKCkgJiYg
IW1fcGFyc2VyLT5za2lwTW9kZSgpICYmIG1fYXR0ck5hbWUgPT0gc3JjQXR0cikgeworICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKG1fY3VycmVudFRva2VuLmJlZ2luVGFnICYmIG1fY3VycmVu
dFRva2VuLnRhZ05hbWUgPT0gc2NyaXB0VGFnICYmICFpblZpZXdTb3VyY2VNb2RlKCkgJiYgIW1f
dHJlZUJ1aWxkZXItPnNraXBNb2RlKCkgJiYgbV9hdHRyTmFtZSA9PSBzcmNBdHRyKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgU3RyaW5nIGNvbnRleHQobV9yYXdBdHRyaWJ1dGVCZWZv
cmVWYWx1ZS5kYXRhKCksIG1fcmF3QXR0cmlidXRlQmVmb3JlVmFsdWUuc2l6ZSgpKTsKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAobV9YU1NBdWRpdG9yICYmICFtX1hTU0F1ZGl0b3It
PmNhbkxvYWRFeHRlcm5hbFNjcmlwdEZyb21TcmMoYXR0cmlidXRlVmFsdWUpKQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZSA9IGJsYW5rVVJMKCkuc3RyaW5n
KCk7CkBAIC0xNDgyLDcgKzE0ODEsNyBAQCBIVE1MRG9jdW1lbnRQYXJzZXI6OlN0YXRlIEhUTUxE
b2N1bWVudFBhcnNlcjo6cGFyc2VUYWcoU2VnbWVudGVkU3RyaW5nJiBzcmMsIFN0YQogICAgICAg
ICAgICAgLy8gY29tcGF0aWJpbGl0eS4KICAgICAgICAgICAgIGJvb2wgaXNTZWxmQ2xvc2luZ1Nj
cmlwdCA9IG1fY3VycmVudFRva2VuLnNlbGZDbG9zaW5nVGFnICYmIG1fY3VycmVudFRva2VuLmJl
Z2luVGFnICYmIG1fY3VycmVudFRva2VuLnRhZ05hbWUgPT0gc2NyaXB0VGFnOwogICAgICAgICAg
ICAgYm9vbCBiZWdpblRhZyA9ICFtX2N1cnJlbnRUb2tlbi5zZWxmQ2xvc2luZ1RhZyAmJiBtX2N1
cnJlbnRUb2tlbi5iZWdpblRhZzsKLSAgICAgICAgICAgIGlmIChtX2N1cnJlbnRUb2tlbi5iZWdp
blRhZyAmJiBtX2N1cnJlbnRUb2tlbi50YWdOYW1lID09IHNjcmlwdFRhZyAmJiAhaW5WaWV3U291
cmNlTW9kZSgpICYmICFtX3BhcnNlci0+c2tpcE1vZGUoKSkgeworICAgICAgICAgICAgaWYgKG1f
Y3VycmVudFRva2VuLmJlZ2luVGFnICYmIG1fY3VycmVudFRva2VuLnRhZ05hbWUgPT0gc2NyaXB0
VGFnICYmICFpblZpZXdTb3VyY2VNb2RlKCkgJiYgIW1fdHJlZUJ1aWxkZXItPnNraXBNb2RlKCkp
IHsKICAgICAgICAgICAgICAgICBBdHRyaWJ1dGUqIGEgPSAwOwogICAgICAgICAgICAgICAgIG1f
c2NyaXB0VGFnU3JjQXR0clZhbHVlID0gU3RyaW5nKCk7CiAgICAgICAgICAgICAgICAgbV9zY3Jp
cHRUYWdDaGFyc2V0QXR0clZhbHVlID0gU3RyaW5nKCk7CkBAIC0xODQ0LDcgKzE4NDMsNyBAQCB2
b2lkIEhUTUxEb2N1bWVudFBhcnNlcjo6ZW5kKCkKICAgICB9CiAKICAgICBpZiAoIWluVmlld1Nv
dXJjZU1vZGUoKSkKLSAgICAgICAgbV9wYXJzZXItPmZpbmlzaGVkKCk7CisgICAgICAgIG1fdHJl
ZUJ1aWxkZXItPmZpbmlzaGVkKCk7CiAgICAgZWxzZQogICAgICAgICBtX2RvYy0+ZmluaXNoZWRQ
YXJzaW5nKCk7CiB9CkBAIC0xOTE1LDcgKzE5MTQsNyBAQCBQYXNzUmVmUHRyPE5vZGU+IEhUTUxE
b2N1bWVudFBhcnNlcjo6cHJvY2Vzc1Rva2VuKCkKICAgICAgICAgICAgIHN0YXRpY19jYXN0PEhU
TUxWaWV3U291cmNlRG9jdW1lbnQqPihtX2RvYyktPmFkZFZpZXdTb3VyY2VUb2tlbigmbV9jdXJy
ZW50VG9rZW4pOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICAvLyBwYXNzIHRoZSB0b2tlbiBv
dmVyIHRvIHRoZSBwYXJzZXIsIHRoZSBwYXJzZXIgRE9FUyBOT1QgZGVsZXRlIHRoZSB0b2tlbgot
ICAgICAgICAgICAgbiA9IG1fcGFyc2VyLT5wYXJzZVRva2VuKCZtX2N1cnJlbnRUb2tlbik7Cisg
ICAgICAgICAgICBuID0gbV90cmVlQnVpbGRlci0+cGFyc2VUb2tlbigmbV9jdXJyZW50VG9rZW4p
OwogICAgIH0KICAgICBtX2N1cnJlbnRUb2tlbi5yZXNldCgpOwogICAgIGlmIChzY3JpcHRDb250
cm9sbGVyKQpAQCAtMTkyOSw3ICsxOTI4LDcgQEAgdm9pZCBIVE1MRG9jdW1lbnRQYXJzZXI6OnBy
b2Nlc3NEb2N0eXBlVG9rZW4oKQogICAgIGlmIChpblZpZXdTb3VyY2VNb2RlKCkpCiAgICAgICAg
IHN0YXRpY19jYXN0PEhUTUxWaWV3U291cmNlRG9jdW1lbnQqPihtX2RvYyktPmFkZFZpZXdTb3Vy
Y2VEb2N0eXBlVG9rZW4oJm1fZG9jdHlwZVRva2VuKTsKICAgICBlbHNlCi0gICAgICAgIG1fcGFy
c2VyLT5wYXJzZURvY3R5cGVUb2tlbigmbV9kb2N0eXBlVG9rZW4pOworICAgICAgICBtX3RyZWVC
dWlsZGVyLT5wYXJzZURvY3R5cGVUb2tlbigmbV9kb2N0eXBlVG9rZW4pOwogfQogCiBIVE1MRG9j
dW1lbnRQYXJzZXI6On5IVE1MRG9jdW1lbnRQYXJzZXIoKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9o
dG1sL0hUTUxEb2N1bWVudFBhcnNlci5oIGIvV2ViQ29yZS9odG1sL0hUTUxEb2N1bWVudFBhcnNl
ci5oCmluZGV4IDA5NTFjMmEzNThkMGQ4MTQxNjc5MjkzMWUxNjAxYTI5NDFiMmFmMWMuLjFkOWVi
ZjcxMTdlNTBiOTZmYmE4ZDhiM2Y2ZDAwYjIyMDczYjA1NjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
aHRtbC9IVE1MRG9jdW1lbnRQYXJzZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50
UGFyc2VyLmgKQEAgLTE2Myw3ICsxNjMsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQg
ZXhlY3V0ZVNjcmlwdHNXYWl0aW5nRm9yU3R5bGVzaGVldHMoKTsKIAotICAgIHZpcnR1YWwgSFRN
TFBhcnNlciogaHRtbFBhcnNlcigpIGNvbnN0IHsgcmV0dXJuIG1fcGFyc2VyLmdldCgpOyB9Cisg
ICAgdmlydHVhbCBIVE1MUGFyc2VyKiBodG1sVHJlZUJ1aWxkZXIoKSBjb25zdCB7IHJldHVybiBt
X3RyZWVCdWlsZGVyLmdldCgpOyB9CiAgICAgdmlydHVhbCBIVE1MRG9jdW1lbnRQYXJzZXIqIGFz
SFRNTERvY3VtZW50UGFyc2VyKCkgeyByZXR1cm4gdGhpczsgfQogCiBwcml2YXRlOgpAQCAtNDMx
LDcgKzQzMSw3IEBAIHByaXZhdGU6CiAKICAgICBTZWdtZW50ZWRTdHJpbmcgbV9zcmM7CiAgICAg
RG9jdW1lbnQqIG1fZG9jOwotICAgIE93blB0cjxIVE1MUGFyc2VyPiBtX3BhcnNlcjsKKyAgICBP
d25QdHI8SFRNTFBhcnNlcj4gbV90cmVlQnVpbGRlcjsKICAgICBib29sIG1faW5Xcml0ZTsKICAg
ICBib29sIG1fZnJhZ21lbnQ7CiAgICAgRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uIG1fc2Ny
aXB0aW5nUGVybWlzc2lvbjsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRy
b2xFbGVtZW50LmNwcCBiL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcApp
bmRleCBkM2UxZjJlNzAwNWUyNjI4ZTk4YTc1YTlkNjY4MjVjNWI1NzM0NGMyLi4yMDRiOTlhZmMy
MjdjNzMwNzNmZWFmNWI3YTBkMTRiYjk5ZWMxNGFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwv
SFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29u
dHJvbEVsZW1lbnQuY3BwCkBAIC0xODAsNyArMTgwLDcgQEAgdm9pZCBIVE1MRm9ybUNvbnRyb2xF
bGVtZW50OjpyZW1vdmVkRnJvbVRyZWUoYm9vbCBkZWVwKQogICAgIC8vIE90aGVyd2lzZSwgbnVs
bCBvdXQgb3VyIGZvcm0gYW5kIHJlbW92ZSBvdXJzZWx2ZXMgZnJvbSB0aGUgZm9ybSdzIGxpc3Qg
b2YgZWxlbWVudHMuCiAgICAgSFRNTFBhcnNlciogdHJlZUJ1aWxkZXIgPSAwOwogICAgIGlmIChE
b2N1bWVudFBhcnNlciogcGFyc2VyID0gZG9jdW1lbnQoKS0+cGFyc2VyKCkpCi0gICAgICAgIHRy
ZWVCdWlsZGVyID0gcGFyc2VyLT5odG1sUGFyc2VyKCk7CisgICAgICAgIHRyZWVCdWlsZGVyID0g
cGFyc2VyLT5odG1sVHJlZUJ1aWxkZXIoKTsKIAogICAgIGlmIChtX2Zvcm0gJiYgISh0cmVlQnVp
bGRlciAmJiB0cmVlQnVpbGRlci0+aXNIYW5kbGluZ1Jlc2lkdWFsU3R5bGVBY3Jvc3NCbG9ja3Mo
KSkgJiYgZmluZFJvb3QodGhpcykgIT0gZmluZFJvb3QobV9mb3JtKSkgewogICAgICAgICBtX2Zv
cm0tPnJlbW92ZUZvcm1FbGVtZW50KHRoaXMpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>58618</attachid>
            <date>2010-06-13 21:01:19 -0700</date>
            <delta_ts>2010-06-13 21:48:51 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-40514-20100613210117.patch</filename>
            <type>text/plain</type>
            <size>20492</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MTIyMDk2MWZjNWI4ZmJiMTkzZTY2MmU3OGM2NDA4YmU4MmQ2NDVlZi4uMjE5MWEzNDA2Njk3Yzc3
YzA0MzFkYTE2YjA4NmY2Y2U3NzY3NDk5NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTIsNiArMiw0OSBAQAogCiAgICAgICAgIFJldmll
d2VkIGJ5IERhcmluIEFkbGVyLgogCisgICAgICAgIFJlbmFtZSBtX3BhcnNlciwgaHRtbFBhcnNl
cigpIHRvIG1fdHJlZUNvbnN0cnVjdG9yLCBodG1sVHJlZUNvbnN0cnVjdG9yKCkgaW4gcHJlcGFy
YXRpb24gZm9yIHJlbmFtaW5nIEhUTUxQYXJzZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTQwNTE0CisKKyAgICAgICAgVGhpcyByZW5hbWUgd2FzIGRv
bmUgYnkgaGFuZC4gIEkgcmVhbGl6ZSBub3cgSSBzaG91bGQgaGF2ZQorICAgICAgICByZW5hbWVk
IEhUTUxQYXJzZXIgdG8gSFRNTFRyZWVDb25zdHJ1Y3RvciBiZWZvcmUgcmVuYW1pbmcgSFRNTFRv
a2VuaXplci4KKworICAgICAgICBObyBmdW5jdGlvbmFsIGNoYW5nZXMsIHRodXMgbm8gdGVzdHMu
CisKKyAgICAgICAgKiBkb20vRG9jdW1lbnRQYXJzZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRv
Y3VtZW50UGFyc2VyOjpodG1sVHJlZUNvbnN0cnVjdG9yKToKKyAgICAgICAgKiBodG1sL0hUTUw1
RG9jdW1lbnRQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTDVEb2N1bWVudFBhcnNl
cjo6SFRNTDVEb2N1bWVudFBhcnNlcik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MNURvY3VtZW50
UGFyc2VyOjpwdW1wTGV4ZXJJZlBvc3NpYmxlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUw1RG9j
dW1lbnRQYXJzZXI6OnB1bXBMZXhlcik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MNURvY3VtZW50
UGFyc2VyOjplbmQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTDVEb2N1bWVudFBhcnNlcjo6aHRt
bFRyZWVDb25zdHJ1Y3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MNURvY3VtZW50UGFyc2Vy
Ojppc1dhaXRpbmdGb3JTY3JpcHRzKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUw1RG9jdW1lbnRQ
YXJzZXI6OnJlc3VtZVBhcnNpbmdBZnRlclNjcmlwdEV4ZWN1dGlvbik6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MNURvY3VtZW50UGFyc2VyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MNURvY3VtZW50UGFyc2VyOjpleGVjdXRlU2NyaXB0c1dhaXRpbmdGb3JTdHlsZXNo
ZWV0cyk6CisgICAgICAgICogaHRtbC9IVE1MNURvY3VtZW50UGFyc2VyLmg6CisgICAgICAgICog
aHRtbC9IVE1MNVRyZWVCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUw1VHJlZUJ1
aWxkZXI6OkhUTUw1VHJlZUJ1aWxkZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTDVUcmVlQnVp
bGRlcjo6cGFzc1Rva2VuVG9MZWdhY3lQYXJzZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTDVU
cmVlQnVpbGRlcjo6ZmluaXNoZWQpOgorICAgICAgICAqIGh0bWwvSFRNTDVUcmVlQnVpbGRlci5o
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTDVUcmVlQnVpbGRlcjo6bGVnYWN5VHJlZUNvbnN0cnVj
dG9yKToKKyAgICAgICAgKiBodG1sL0hUTUxEb2N1bWVudFBhcnNlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MRG9jdW1lbnRQYXJzZXI6OkhUTUxEb2N1bWVudFBhcnNlcik6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MRG9jdW1lbnRQYXJzZXI6OnNjcmlwdEhhbmRsZXIpOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTERvY3VtZW50UGFyc2VyOjpwYXJzZVRhZyk6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MRG9jdW1lbnRQYXJzZXI6OmVuZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRG9jdW1l
bnRQYXJzZXI6OnByb2Nlc3NUb2tlbik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRG9jdW1lbnRQ
YXJzZXI6OnByb2Nlc3NEb2N0eXBlVG9rZW4pOgorICAgICAgICAqIGh0bWwvSFRNTERvY3VtZW50
UGFyc2VyLmg6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRG9jdW1lbnRQYXJzZXI6Omh0bWxUcmVl
Q29uc3RydWN0b3IpOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpyZW1vdmVkRnJvbVRy
ZWUpOgorCisyMDEwLTA2LTExICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKwogICAgICAgICBSZW5hbWUgdG9rLCBhc0hU
TUxUb2tlbml6ZXIgdG8gcGFyc2VyLCBhc0hUTUxEb2N1bWVudFBhcnNlcgogICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA1MTMKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9kb20vRG9jdW1lbnRQYXJzZXIuaCBiL1dlYkNvcmUvZG9tL0RvY3VtZW50UGFyc2Vy
LmgKaW5kZXggMjM0YWU3YzU0MjdkYzRkMGFjODJlNzhiYjRiOTQ5MTEzZTE3ZDUyNC4uYzFhZmFj
Y2FiOTJjYmQ2YTUwNmYzMTRmMGQwNmFkMWExN2E4MDc2NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9k
b20vRG9jdW1lbnRQYXJzZXIuaAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudFBhcnNlci5oCkBA
IC01OCw3ICs1OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICB2aXJ0dWFsIHZv
aWQgZXhlY3V0ZVNjcmlwdHNXYWl0aW5nRm9yU3R5bGVzaGVldHMoKSB7fQogCi0gICAgICAgIHZp
cnR1YWwgSFRNTFBhcnNlciogaHRtbFBhcnNlcigpIGNvbnN0IHsgcmV0dXJuIDA7IH0KKyAgICAg
ICAgdmlydHVhbCBIVE1MUGFyc2VyKiBodG1sVHJlZUNvbnN0cnVjdG9yKCkgY29uc3QgeyByZXR1
cm4gMDsgfQogICAgICAgICB2aXJ0dWFsIEhUTUxEb2N1bWVudFBhcnNlciogYXNIVE1MRG9jdW1l
bnRQYXJzZXIoKSB7IHJldHVybiAwOyB9CiAKICAgICAgICAgWFNTQXVkaXRvciogeHNzQXVkaXRv
cigpIGNvbnN0IHsgcmV0dXJuIG1fWFNTQXVkaXRvcjsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9o
dG1sL0hUTUw1RG9jdW1lbnRQYXJzZXIuY3BwIGIvV2ViQ29yZS9odG1sL0hUTUw1RG9jdW1lbnRQ
YXJzZXIuY3BwCmluZGV4IGExNDZhNTc3MzhiNzU2YjkyMmI1MmZjYjNmNTlkMTRmY2VjMzE2MGYu
LjFjNjNkOGQwOGYxMGE5YzM1Njg1NDk0NDllYjU0NmY0N2RkNmRlOTIgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvaHRtbC9IVE1MNURvY3VtZW50UGFyc2VyLmNwcAorKysgYi9XZWJDb3JlL2h0bWwvSFRN
TDVEb2N1bWVudFBhcnNlci5jcHAKQEAgLTY4LDcgKzY4LDcgQEAgSFRNTDVEb2N1bWVudFBhcnNl
cjo6SFRNTDVEb2N1bWVudFBhcnNlcihIVE1MRG9jdW1lbnQqIGRvY3VtZW50LCBib29sIHJlcG9y
dEVycm8KICAgICAsIG1fZG9jdW1lbnQoZG9jdW1lbnQpCiAgICAgLCBtX2xleGVyKG5ldyBIVE1M
NUxleGVyKQogICAgICwgbV9zY3JpcHRSdW5uZXIobmV3IEhUTUw1U2NyaXB0UnVubmVyKGRvY3Vt
ZW50LCB0aGlzKSkKLSAgICAsIG1fdHJlZUJ1aWxkZXIobmV3IEhUTUw1VHJlZUJ1aWxkZXIobV9s
ZXhlci5nZXQoKSwgZG9jdW1lbnQsIHJlcG9ydEVycm9ycykpCisgICAgLCBtX3RyZWVDb25zdHJ1
Y3RvcihuZXcgSFRNTDVUcmVlQnVpbGRlcihtX2xleGVyLmdldCgpLCBkb2N1bWVudCwgcmVwb3J0
RXJyb3JzKSkKICAgICAsIG1fZW5kV2FzRGVsYXllZChmYWxzZSkKICAgICAsIG1fd3JpdGVOZXN0
aW5nTGV2ZWwoMCkKIHsKQEAgLTkwLDcgKzkwLDcgQEAgdm9pZCBIVE1MNURvY3VtZW50UGFyc2Vy
OjpiZWdpbigpCiAKIHZvaWQgSFRNTDVEb2N1bWVudFBhcnNlcjo6cHVtcExleGVySWZQb3NzaWJs
ZSgpCiB7Ci0gICAgaWYgKG1fcGFyc2VyU3RvcHBlZCB8fCBtX3RyZWVCdWlsZGVyLT5pc1BhdXNl
ZCgpKQorICAgIGlmIChtX3BhcnNlclN0b3BwZWQgfHwgbV90cmVlQ29uc3RydWN0b3ItPmlzUGF1
c2VkKCkpCiAgICAgICAgIHJldHVybjsKICAgICBwdW1wTGV4ZXIoKTsKIH0KQEAgLTEwMiwyNiAr
MTAyLDI2IEBAIHZvaWQgSFRNTDVEb2N1bWVudFBhcnNlcjo6cHVtcExleGVyKCkKICAgICB3aWxs
UHVtcExleGVyKCk7CiAKICAgICBBU1NFUlQoIW1fcGFyc2VyU3RvcHBlZCk7Ci0gICAgQVNTRVJU
KCFtX3RyZWVCdWlsZGVyLT5pc1BhdXNlZCgpKTsKKyAgICBBU1NFUlQoIW1fdHJlZUNvbnN0cnVj
dG9yLT5pc1BhdXNlZCgpKTsKICAgICB3aGlsZSAoIW1fcGFyc2VyU3RvcHBlZCAmJiBtX2xleGVy
LT5uZXh0VG9rZW4obV9pbnB1dC5jdXJyZW50KCksIG1fdG9rZW4pKSB7CiAgICAgICAgIGlmIChT
Y3JpcHRDb250cm9sbGVyKiBzY3JpcHRDb250cm9sbGVyID0gc2NyaXB0KCkpCiAgICAgICAgICAg
ICBzY3JpcHRDb250cm9sbGVyLT5zZXRFdmVudEhhbmRsZXJMaW5lTnVtYmVyKGxpbmVOdW1iZXIo
KSArIDEpOwogCi0gICAgICAgIG1fdHJlZUJ1aWxkZXItPmNvbnN0cnVjdFRyZWVGcm9tVG9rZW4o
bV90b2tlbik7CisgICAgICAgIG1fdHJlZUNvbnN0cnVjdG9yLT5jb25zdHJ1Y3RUcmVlRnJvbVRv
a2VuKG1fdG9rZW4pOwogICAgICAgICBtX3Rva2VuLmNsZWFyKCk7CiAKICAgICAgICAgaWYgKFNj
cmlwdENvbnRyb2xsZXIqIHNjcmlwdENvbnRyb2xsZXIgPSBzY3JpcHQoKSkKICAgICAgICAgICAg
IHNjcmlwdENvbnRyb2xsZXItPnNldEV2ZW50SGFuZGxlckxpbmVOdW1iZXIoMCk7CiAKLSAgICAg
ICAgaWYgKCFtX3RyZWVCdWlsZGVyLT5pc1BhdXNlZCgpKQorICAgICAgICBpZiAoIW1fdHJlZUNv
bnN0cnVjdG9yLT5pc1BhdXNlZCgpKQogICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAg
Ly8gVGhlIHBhcnNlciB3aWxsIHBhdXNlIGl0c2VsZiB3aGVuIHdhaXRpbmcgb24gYSBzY3JpcHQg
dG8gbG9hZCBvciBydW4uCiAgICAgICAgIC8vIFNjcmlwdFJ1bm5lciBleGVjdXRlcyBzY3JpcHRz
IGF0IHRoZSByaWdodCB0aW1lcyBhbmQgaGFuZGxlcyByZWVudHJhbmN5LgogICAgICAgICBpbnQg
c2NyaXB0U3RhcnRMaW5lID0gMDsKLSAgICAgICAgUmVmUHRyPEVsZW1lbnQ+IHNjcmlwdEVsZW1l
bnQgPSBtX3RyZWVCdWlsZGVyLT50YWtlU2NyaXB0VG9Qcm9jZXNzKHNjcmlwdFN0YXJ0TGluZSk7
CisgICAgICAgIFJlZlB0cjxFbGVtZW50PiBzY3JpcHRFbGVtZW50ID0gbV90cmVlQ29uc3RydWN0
b3ItPnRha2VTY3JpcHRUb1Byb2Nlc3Moc2NyaXB0U3RhcnRMaW5lKTsKICAgICAgICAgYm9vbCBz
aG91bGRDb250aW51ZVBhcnNpbmcgPSBtX3NjcmlwdFJ1bm5lci0+ZXhlY3V0ZShzY3JpcHRFbGVt
ZW50LnJlbGVhc2UoKSwgc2NyaXB0U3RhcnRMaW5lKTsKLSAgICAgICAgbV90cmVlQnVpbGRlci0+
c2V0UGF1c2VkKCFzaG91bGRDb250aW51ZVBhcnNpbmcpOworICAgICAgICBtX3RyZWVDb25zdHJ1
Y3Rvci0+c2V0UGF1c2VkKCFzaG91bGRDb250aW51ZVBhcnNpbmcpOwogICAgICAgICBpZiAoIXNo
b3VsZENvbnRpbnVlUGFyc2luZykKICAgICAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0xNzQs
NyArMTc0LDcgQEAgdm9pZCBIVE1MNURvY3VtZW50UGFyc2VyOjplbmQoKQogewogICAgIHB1bXBM
ZXhlcklmUG9zc2libGUoKTsKICAgICAvLyBJbmZvcm1zIHRoZSB0aGUgcmVzdCBvZiBXZWJDb3Jl
IHRoYXQgcGFyc2luZyBpcyByZWFsbHkgZmluaXNoZWQuCi0gICAgbV90cmVlQnVpbGRlci0+Zmlu
aXNoZWQoKTsKKyAgICBtX3RyZWVDb25zdHJ1Y3Rvci0+ZmluaXNoZWQoKTsKIH0KIAogdm9pZCBI
VE1MNURvY3VtZW50UGFyc2VyOjphdHRlbXB0VG9FbmQoKQpAQCAtMjIxLDIwICsyMjEsMjAgQEAg
aW50IEhUTUw1RG9jdW1lbnRQYXJzZXI6OmNvbHVtbk51bWJlcigpIGNvbnN0CiAgICAgcmV0dXJu
IG1fbGV4ZXItPmNvbHVtbk51bWJlcigpOwogfQogCi1IVE1MUGFyc2VyKiBIVE1MNURvY3VtZW50
UGFyc2VyOjpodG1sUGFyc2VyKCkgY29uc3QKK0hUTUxQYXJzZXIqIEhUTUw1RG9jdW1lbnRQYXJz
ZXI6Omh0bWxUcmVlQ29uc3RydWN0b3IoKSBjb25zdAogewotICAgIHJldHVybiBtX3RyZWVCdWls
ZGVyLT5odG1sUGFyc2VyKCk7CisgICAgcmV0dXJuIG1fdHJlZUNvbnN0cnVjdG9yLT5sZWdhY3lU
cmVlQ29uc3RydWN0b3IoKTsKIH0KIAogYm9vbCBIVE1MNURvY3VtZW50UGFyc2VyOjppc1dhaXRp
bmdGb3JTY3JpcHRzKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV90cmVlQnVpbGRlci0+aXNQYXVz
ZWQoKTsKKyAgICByZXR1cm4gbV90cmVlQ29uc3RydWN0b3ItPmlzUGF1c2VkKCk7CiB9CiAKIHZv
aWQgSFRNTDVEb2N1bWVudFBhcnNlcjo6cmVzdW1lUGFyc2luZ0FmdGVyU2NyaXB0RXhlY3V0aW9u
KCkKIHsKICAgICBBU1NFUlQoIW1fc2NyaXB0UnVubmVyLT5pblNjcmlwdEV4ZWN1dGlvbigpKTsK
LSAgICBBU1NFUlQoIW1fdHJlZUJ1aWxkZXItPmlzUGF1c2VkKCkpOworICAgIEFTU0VSVCghbV90
cmVlQ29uc3RydWN0b3ItPmlzUGF1c2VkKCkpOwogICAgIHB1bXBMZXhlcklmUG9zc2libGUoKTsK
IAogICAgIC8vIFRoZSBkb2N1bWVudCBhbHJlYWR5IGZpbmlzaGVkIHBhcnNpbmcgd2Ugd2VyZSBq
dXN0IHdhaXRpbmcgb24gc2NyaXB0cyB3aGVuIGZpbmlzaGVkKCkgd2FzIGNhbGxlZC4KQEAgLTI3
NCwxMiArMjc0LDEyIEBAIHZvaWQgSFRNTDVEb2N1bWVudFBhcnNlcjo6ZXhlY3V0ZVNjcmlwdChj
b25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VDb2RlKQogdm9pZCBIVE1MNURvY3VtZW50UGFy
c2VyOjpub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSogY2FjaGVkUmVzb3VyY2UpCiB7CiAg
ICAgQVNTRVJUKCFtX3NjcmlwdFJ1bm5lci0+aW5TY3JpcHRFeGVjdXRpb24oKSk7Ci0gICAgQVNT
RVJUKG1fdHJlZUJ1aWxkZXItPmlzUGF1c2VkKCkpOworICAgIEFTU0VSVChtX3RyZWVDb25zdHJ1
Y3Rvci0+aXNQYXVzZWQoKSk7CiAgICAgLy8gTm90ZTogV2Ugb25seSBldmVyIHdhaXQgb24gb25l
IHNjcmlwdCBhdCBhIHRpbWUsIHNvIHdlIGFsd2F5cyBrbm93IHRoaXMKICAgICAvLyBpcyB0aGUg
b25lIHdlIHdlcmUgd2FpdGluZyBvbiBhbmQgY2FuIHVuLXBhdXNlIHRoZSB0cmVlIGJ1aWxkZXIu
Ci0gICAgbV90cmVlQnVpbGRlci0+c2V0UGF1c2VkKGZhbHNlKTsKKyAgICBtX3RyZWVDb25zdHJ1
Y3Rvci0+c2V0UGF1c2VkKGZhbHNlKTsKICAgICBib29sIHNob3VsZENvbnRpbnVlUGFyc2luZyA9
IG1fc2NyaXB0UnVubmVyLT5leGVjdXRlU2NyaXB0c1dhaXRpbmdGb3JMb2FkKGNhY2hlZFJlc291
cmNlKTsKLSAgICBtX3RyZWVCdWlsZGVyLT5zZXRQYXVzZWQoIXNob3VsZENvbnRpbnVlUGFyc2lu
Zyk7CisgICAgbV90cmVlQ29uc3RydWN0b3ItPnNldFBhdXNlZCghc2hvdWxkQ29udGludWVQYXJz
aW5nKTsKICAgICBpZiAoc2hvdWxkQ29udGludWVQYXJzaW5nKQogICAgICAgICByZXN1bWVQYXJz
aW5nQWZ0ZXJTY3JpcHRFeGVjdXRpb24oKTsKIH0KQEAgLTI5MiwxMiArMjkyLDEyIEBAIHZvaWQg
SFRNTDVEb2N1bWVudFBhcnNlcjo6ZXhlY3V0ZVNjcmlwdHNXYWl0aW5nRm9yU3R5bGVzaGVldHMo
KQogICAgIGlmICghbV9zY3JpcHRSdW5uZXItPmhhc1NjcmlwdHNXYWl0aW5nRm9yU3R5bGVzaGVl
dHMoKSkKICAgICAgICAgcmV0dXJuOwogICAgIEFTU0VSVCghbV9zY3JpcHRSdW5uZXItPmluU2Ny
aXB0RXhlY3V0aW9uKCkpOwotICAgIEFTU0VSVChtX3RyZWVCdWlsZGVyLT5pc1BhdXNlZCgpKTsK
KyAgICBBU1NFUlQobV90cmVlQ29uc3RydWN0b3ItPmlzUGF1c2VkKCkpOwogICAgIC8vIE5vdGU6
IFdlIG9ubHkgZXZlciB3YWl0IG9uIG9uZSBzY3JpcHQgYXQgYSB0aW1lLCBzbyB3ZSBhbHdheXMg
a25vdyB0aGlzCiAgICAgLy8gaXMgdGhlIG9uZSB3ZSB3ZXJlIHdhaXRpbmcgb24gYW5kIGNhbiB1
bi1wYXVzZSB0aGUgdHJlZSBidWlsZGVyLgotICAgIG1fdHJlZUJ1aWxkZXItPnNldFBhdXNlZChm
YWxzZSk7CisgICAgbV90cmVlQ29uc3RydWN0b3ItPnNldFBhdXNlZChmYWxzZSk7CiAgICAgYm9v
bCBzaG91bGRDb250aW51ZVBhcnNpbmcgPSBtX3NjcmlwdFJ1bm5lci0+ZXhlY3V0ZVNjcmlwdHNX
YWl0aW5nRm9yU3R5bGVzaGVldHMoKTsKLSAgICBtX3RyZWVCdWlsZGVyLT5zZXRQYXVzZWQoIXNo
b3VsZENvbnRpbnVlUGFyc2luZyk7CisgICAgbV90cmVlQ29uc3RydWN0b3ItPnNldFBhdXNlZCgh
c2hvdWxkQ29udGludWVQYXJzaW5nKTsKICAgICBpZiAoc2hvdWxkQ29udGludWVQYXJzaW5nKQog
ICAgICAgICByZXN1bWVQYXJzaW5nQWZ0ZXJTY3JpcHRFeGVjdXRpb24oKTsKIH0KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaHRtbC9IVE1MNURvY3VtZW50UGFyc2VyLmggYi9XZWJDb3JlL2h0bWwvSFRN
TDVEb2N1bWVudFBhcnNlci5oCmluZGV4IDE3ZTU4MTc1OWUyNzAxYzEwM2VmYTIzZWExYzU1YmVi
MTg5ZmEwMDQuLmYzOWY2NGEyOWRmYmFmMTViYjQ4NmZiMGY2NTBiZTFkNDhlNjY3Y2EgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MNURvY3VtZW50UGFyc2VyLmgKKysrIGIvV2ViQ29yZS9o
dG1sL0hUTUw1RG9jdW1lbnRQYXJzZXIuaApAQCAtNjAsNyArNjAsNyBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCBpbnQgY29sdW1uTnVtYmVyKCkgY29uc3Q7CiAgICAgLy8gRklYTUU6IEhUTUxGb3Jt
Q29udHJvbEVsZW1lbnQgYWNjZXNzZXMgdGhlIEhUTUxQYXJzZXIgdmlhIHRoaXMgbWV0aG9kLgog
ICAgIC8vIFJlbW92ZSB0aGlzIHdoZW4gdGhlIEhUTUxQYXJzZXIgaXMgbm8gbG9uZ2VyIHVzZWQu
Ci0gICAgdmlydHVhbCBIVE1MUGFyc2VyKiBodG1sUGFyc2VyKCkgY29uc3Q7CisgICAgdmlydHVh
bCBIVE1MUGFyc2VyKiBodG1sVHJlZUNvbnN0cnVjdG9yKCkgY29uc3Q7CiAKICAgICAvLyBIVE1M
NVNjcmlwdFJ1bm5lckhvc3QKICAgICB2aXJ0dWFsIHZvaWQgd2F0Y2hGb3JMb2FkKENhY2hlZFJl
c291cmNlKik7CkBAIC0xODIsNyArMTgyLDcgQEAgcHJpdmF0ZToKICAgICBIVE1MRG9jdW1lbnQq
IG1fZG9jdW1lbnQ7CiAgICAgT3duUHRyPEhUTUw1TGV4ZXI+IG1fbGV4ZXI7CiAgICAgT3duUHRy
PEhUTUw1U2NyaXB0UnVubmVyPiBtX3NjcmlwdFJ1bm5lcjsKLSAgICBPd25QdHI8SFRNTDVUcmVl
QnVpbGRlcj4gbV90cmVlQnVpbGRlcjsKKyAgICBPd25QdHI8SFRNTDVUcmVlQnVpbGRlcj4gbV90
cmVlQ29uc3RydWN0b3I7CiAgICAgYm9vbCBtX2VuZFdhc0RlbGF5ZWQ7CiAgICAgaW50IG1fd3Jp
dGVOZXN0aW5nTGV2ZWw7CiB9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUw1VHJlZUJ1
aWxkZXIuY3BwIGIvV2ViQ29yZS9odG1sL0hUTUw1VHJlZUJ1aWxkZXIuY3BwCmluZGV4IGQ0YjM0
ZTJmMTBjZWVmZjhkZTlkODgyMmEzYjdhNWQ1YjExYjg3NzYuLmYxMDVhNzYxNjVjOTBiNTFjOTRl
MmQ2NTI2MGRmZmY4MWRmNWQwNDggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MNVRyZWVC
dWlsZGVyLmNwcAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTDVUcmVlQnVpbGRlci5jcHAKQEAgLTQ4
LDcgKzQ4LDcgQEAgSFRNTDVUcmVlQnVpbGRlcjo6SFRNTDVUcmVlQnVpbGRlcihIVE1MNUxleGVy
KiBsZXhlciwgSFRNTERvY3VtZW50KiBkb2N1bWVudCwgYm8KICAgICAsIG1faXNQYXVzZWQoZmFs
c2UpCiAgICAgLCBtX2luc2VydGlvbk1vZGUoSW5pdGlhbCkKICAgICAsIG1fbGV4ZXIobGV4ZXIp
Ci0gICAgLCBtX2xlZ2FjeUhUTUxQYXJzZXIobmV3IEhUTUxQYXJzZXIoZG9jdW1lbnQsIHJlcG9y
dEVycm9ycykpCisgICAgLCBtX2xlZ2FjeVRyZWVDb25zdHJ1Y3RvcihuZXcgSFRNTFBhcnNlcihk
b2N1bWVudCwgcmVwb3J0RXJyb3JzKSkKICAgICAsIG1fbGFzdFNjcmlwdEVsZW1lbnRTdGFydExp
bmUodW5pbml0aWFsaXplZExpbmVOdW1iZXJWYWx1ZSkKICAgICAsIG1fc2NyaXB0VG9Qcm9jZXNz
U3RhcnRMaW5lKHVuaW5pdGlhbGl6ZWRMaW5lTnVtYmVyVmFsdWUpCiB7CkBAIC0xNDEsNyArMTQx
LDcgQEAgUGFzc1JlZlB0cjxOb2RlPiBIVE1MNVRyZWVCdWlsZGVyOjpwYXNzVG9rZW5Ub0xlZ2Fj
eVBhcnNlcihIVE1MNVRva2VuJiB0b2tlbikKICAgICAgICAgZG9jdHlwZVRva2VuLm1fc3lzdGVt
SUQgPSB0b2tlbi5zeXN0ZW1JZGVudGlmaWVyKCk7CiAgICAgICAgIGRvY3R5cGVUb2tlbi5tX2Zv
cmNlUXVpcmtzID0gdG9rZW4uZm9yY2VRdWlya3MoKTsKIAotICAgICAgICBtX2xlZ2FjeUhUTUxQ
YXJzZXItPnBhcnNlRG9jdHlwZVRva2VuKCZkb2N0eXBlVG9rZW4pOworICAgICAgICBtX2xlZ2Fj
eVRyZWVDb25zdHJ1Y3Rvci0+cGFyc2VEb2N0eXBlVG9rZW4oJmRvY3R5cGVUb2tlbik7CiAgICAg
ICAgIHJldHVybiAwOwogICAgIH0KIApAQCAtMTQ5LDcgKzE0OSw3IEBAIFBhc3NSZWZQdHI8Tm9k
ZT4gSFRNTDVUcmVlQnVpbGRlcjo6cGFzc1Rva2VuVG9MZWdhY3lQYXJzZXIoSFRNTDVUb2tlbiYg
dG9rZW4pCiAgICAgVG9rZW4gb2xkU3R5bGVUb2tlbjsKICAgICBjb252ZXJ0VG9PbGRTdHlsZSh0
b2tlbiwgb2xkU3R5bGVUb2tlbik7CiAKLSAgICBSZWZQdHI8Tm9kZT4gcmVzdWx0ID0gIG1fbGVn
YWN5SFRNTFBhcnNlci0+cGFyc2VUb2tlbigmb2xkU3R5bGVUb2tlbik7CisgICAgUmVmUHRyPE5v
ZGU+IHJlc3VsdCA9ICBtX2xlZ2FjeVRyZWVDb25zdHJ1Y3Rvci0+cGFyc2VUb2tlbigmb2xkU3R5
bGVUb2tlbik7CiAgICAgaWYgKHRva2VuLnR5cGUoKSA9PSBIVE1MNVRva2VuOjpTdGFydFRhZykg
ewogICAgICAgICAvLyBUaGlzIHdvcmsgaXMgc3VwcG9zZWQgdG8gYmUgZG9uZSBieSB0aGUgcGFy
c2VyLCBidXQKICAgICAgICAgLy8gd2hlbiB1c2luZyB0aGUgb2xkIHBhcnNlciBmb3Igd2UgaGF2
ZSB0byBkbyB0aGlzIG1hbnVhbGx5LgpAQCAtMjEzLDggKzIxMyw4IEBAIFBhc3NSZWZQdHI8Tm9k
ZT4gSFRNTDVUcmVlQnVpbGRlcjo6cHJvY2Vzc1Rva2VuKEhUTUw1VG9rZW4mIHRva2VuLCBVQ2hh
ciBjdXJyZW50CiB2b2lkIEhUTUw1VHJlZUJ1aWxkZXI6OmZpbmlzaGVkKCkKIHsKICAgICAvLyBX
ZSBzaG91bGQgY2FsbCBtX2RvY3VtZW50LT5maW5pc2hlZFBhcnNpbmcoKSBoZXJlLCBleGNlcHQK
LSAgICAvLyBtX2xlZ2FjeUhUTUxQYXJzZXItPmZpbmlzaGVkKCkgZG9lcyBpdCBmb3IgdXMuCi0g
ICAgbV9sZWdhY3lIVE1MUGFyc2VyLT5maW5pc2hlZCgpOworICAgIC8vIG1fbGVnYWN5VHJlZUNv
bnN0cnVjdG9yLT5maW5pc2hlZCgpIGRvZXMgaXQgZm9yIHVzLgorICAgIG1fbGVnYWN5VHJlZUNv
bnN0cnVjdG9yLT5maW5pc2hlZCgpOwogfQogCiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
SFRNTDVUcmVlQnVpbGRlci5oIGIvV2ViQ29yZS9odG1sL0hUTUw1VHJlZUJ1aWxkZXIuaAppbmRl
eCAxNzNkNWU5ZmVkYTUxZjJkY2Y3MDFlMDcxMTBiOTdiNGZjNzVmOWNkLi42N2MwMjIxOWUwNjFh
ZmMzZjFkMTg3ZGYwMGM3ZWMwY2NlNjQzNDRkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRN
TDVUcmVlQnVpbGRlci5oCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MNVRyZWVCdWlsZGVyLmgKQEAg
LTYwLDcgKzYwLDcgQEAgcHVibGljOgogCiAgICAgLy8gRklYTUU6IFRoaXMgaXMgYSBkaXJ0eSwg
cm90dGVuIGhhY2sgdG8ga2VlcCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50IGhhcHB5CiAgICAgLy8g
dW50aWwgd2Ugc3RvcCB1c2luZyB0aGUgbGVnYWN5IHBhcnNlci4gRE8gTk9UIENBTEwgVEhJUyBN
RVRIT0QuCi0gICAgSFRNTFBhcnNlciogaHRtbFBhcnNlcigpIGNvbnN0IHsgcmV0dXJuIG1fbGVn
YWN5SFRNTFBhcnNlci5nZXQoKTsgfQorICAgIEhUTUxQYXJzZXIqIGxlZ2FjeVRyZWVDb25zdHJ1
Y3RvcigpIGNvbnN0IHsgcmV0dXJuIG1fbGVnYWN5VHJlZUNvbnN0cnVjdG9yLmdldCgpOyB9CiAK
IHByaXZhdGU6CiAgICAgLy8gUmVwcmVzZW50cyBIVE1MNSAiaW5zZXJ0aW9uIG1vZGUiCkBAIC05
MSw3ICs5MSw3IEBAIHByaXZhdGU6CiAgICAgSFRNTDVMZXhlciogbV9sZXhlcjsKIAogICAgIC8v
IFdlJ3JlIHJlLXVzaW5nIGxvZ2ljIGZyb20gdGhlIG9sZCBIVE1MUGFyc2VyIHdoaWxlIHRoaXMg
Y2xhc3MgaXMgYmVpbmcgd3JpdHRlbi4KLSAgICBPd25QdHI8SFRNTFBhcnNlcj4gbV9sZWdhY3lI
VE1MUGFyc2VyOworICAgIE93blB0cjxIVE1MUGFyc2VyPiBtX2xlZ2FjeVRyZWVDb25zdHJ1Y3Rv
cjsKIAogICAgIC8vIFRoZXNlIG1lbWJlcnMgYXJlIGludGVudGlvbmFsbHkgZHVwbGljYXRlZCBh
cyB0aGUgZmlyc3Qgc2V0IGlzIGEgaGFjawogICAgIC8vIG9uIHRvcCBvZiB0aGUgbGVnYWN5IHBh
cnNlciB3aGljaCB3aWxsIGV2ZW50dWFsbHkgYmUgcmVtb3ZlZC4KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaHRtbC9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwIGIvV2ViQ29yZS9odG1sL0hUTUxEb2N1bWVu
dFBhcnNlci5jcHAKaW5kZXggYjFlZDY0OWUxY2UxNDk3OWZlNjRjZDdhZmFkODg1ZjQzNzQyZGE2
YS4uOWM5M2Q5ODY3YWQyMDllZjA2OTFmMTUxMDIzNDg5YmFlYjU3MGE2OSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9odG1sL0hUTUxEb2N1bWVudFBhcnNlci5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0hU
TUxEb2N1bWVudFBhcnNlci5jcHAKQEAgLTE2MCw3ICsxNjAsNyBAQCBIVE1MRG9jdW1lbnRQYXJz
ZXI6OkhUTUxEb2N1bWVudFBhcnNlcihIVE1MRG9jdW1lbnQqIGRvYywgYm9vbCByZXBvcnRFcnJv
cnMpCiAgICAgLCBtX3RpbWVyKHRoaXMsICZIVE1MRG9jdW1lbnRQYXJzZXI6OnRpbWVyRmlyZWQp
CiAgICAgLCBtX2V4dGVybmFsU2NyaXB0c1RpbWVyKHRoaXMsICZIVE1MRG9jdW1lbnRQYXJzZXI6
OmV4ZWN1dGVFeHRlcm5hbFNjcmlwdHNUaW1lckZpcmVkKQogICAgICwgbV9kb2MoZG9jKQotICAg
ICwgbV9wYXJzZXIobmV3IEhUTUxQYXJzZXIoZG9jLCByZXBvcnRFcnJvcnMpKQorICAgICwgbV90
cmVlQ29uc3RydWN0b3IobmV3IEhUTUxQYXJzZXIoZG9jLCByZXBvcnRFcnJvcnMpKQogICAgICwg
bV9pbldyaXRlKGZhbHNlKQogICAgICwgbV9mcmFnbWVudChmYWxzZSkKICAgICAsIG1fc2NyaXB0
aW5nUGVybWlzc2lvbihGcmFnbWVudFNjcmlwdGluZ0FsbG93ZWQpCkBAIC0xODEsNyArMTgxLDYg
QEAgSFRNTERvY3VtZW50UGFyc2VyOjpIVE1MRG9jdW1lbnRQYXJzZXIoSFRNTFZpZXdTb3VyY2VE
b2N1bWVudCogZG9jKQogICAgICwgbV90aW1lcih0aGlzLCAmSFRNTERvY3VtZW50UGFyc2VyOjp0
aW1lckZpcmVkKQogICAgICwgbV9leHRlcm5hbFNjcmlwdHNUaW1lcih0aGlzLCAmSFRNTERvY3Vt
ZW50UGFyc2VyOjpleGVjdXRlRXh0ZXJuYWxTY3JpcHRzVGltZXJGaXJlZCkKICAgICAsIG1fZG9j
KGRvYykKLSAgICAsIG1fcGFyc2VyKDApCiAgICAgLCBtX2luV3JpdGUoZmFsc2UpCiAgICAgLCBt
X2ZyYWdtZW50KGZhbHNlKQogICAgICwgbV9zY3JpcHRpbmdQZXJtaXNzaW9uKEZyYWdtZW50U2Ny
aXB0aW5nQWxsb3dlZCkKQEAgLTIwMSw3ICsyMDAsNyBAQCBIVE1MRG9jdW1lbnRQYXJzZXI6OkhU
TUxEb2N1bWVudFBhcnNlcihEb2N1bWVudEZyYWdtZW50KiBmcmFnLCBGcmFnbWVudFNjcmlwdGlu
ZwogICAgICwgbV90aW1lcih0aGlzLCAmSFRNTERvY3VtZW50UGFyc2VyOjp0aW1lckZpcmVkKQog
ICAgICwgbV9leHRlcm5hbFNjcmlwdHNUaW1lcih0aGlzLCAmSFRNTERvY3VtZW50UGFyc2VyOjpl
eGVjdXRlRXh0ZXJuYWxTY3JpcHRzVGltZXJGaXJlZCkKICAgICAsIG1fZG9jKGZyYWctPmRvY3Vt
ZW50KCkpCi0gICAgLCBtX3BhcnNlcihuZXcgSFRNTFBhcnNlcihmcmFnLCBzY3JpcHRpbmdQZXJt
aXNzaW9uKSkKKyAgICAsIG1fdHJlZUNvbnN0cnVjdG9yKG5ldyBIVE1MUGFyc2VyKGZyYWcsIHNj
cmlwdGluZ1Blcm1pc3Npb24pKQogICAgICwgbV9pbldyaXRlKGZhbHNlKQogICAgICwgbV9mcmFn
bWVudCh0cnVlKQogICAgICwgbV9zY3JpcHRpbmdQZXJtaXNzaW9uKHNjcmlwdGluZ1Blcm1pc3Np
b24pCkBAIC00MzMsNyArNDMyLDcgQEAgSFRNTERvY3VtZW50UGFyc2VyOjpTdGF0ZSBIVE1MRG9j
dW1lbnRQYXJzZXI6OnNjcmlwdEhhbmRsZXIoU3RhdGUgc3RhdGUpCiAgICAgaWYgKCFpblZpZXdT
b3VyY2VNb2RlKCkpIHsKICAgICAgICAgaWYgKCFtX3NjcmlwdFRhZ1NyY0F0dHJWYWx1ZS5pc0Vt
cHR5KCkgJiYgbV9kb2MtPmZyYW1lKCkpIHsKICAgICAgICAgICAgIC8vIGZvcmdldCB3aGF0IHdl
IGp1c3QgZ290OyBsb2FkIGZyb20gc3JjIHVybCBpbnN0ZWFkCi0gICAgICAgICAgICBpZiAoIW1f
cGFyc2VyLT5za2lwTW9kZSgpICYmICFmb2xsb3dpbmdGcmFtZXNldCkgeworICAgICAgICAgICAg
aWYgKCFtX3RyZWVDb25zdHJ1Y3Rvci0+c2tpcE1vZGUoKSAmJiAhZm9sbG93aW5nRnJhbWVzZXQp
IHsKICAgICAgICAgICAgICAgICAvLyBUaGUgcGFyc2VyIG1pZ2h0IGhhdmUgYmVlbiBzdG9wcGVk
IGJ5IGZvciBleGFtcGxlIGEgd2luZG93LmNsb3NlIGNhbGwgaW4gYW4gZWFybGllciBzY3JpcHQu
CiAgICAgICAgICAgICAgICAgLy8gSWYgc28sIHdlIGRvbid0IHdhbnQgdG8gbG9hZCBzY3JpcHRz
LgogICAgICAgICAgICAgICAgIGlmICghbV9wYXJzZXJTdG9wcGVkICYmIG1fc2NyaXB0Tm9kZS0+
ZGlzcGF0Y2hCZWZvcmVMb2FkRXZlbnQobV9zY3JpcHRUYWdTcmNBdHRyVmFsdWUpICYmCkBAIC00
ODAsNyArNDc5LDcgQEAgSFRNTERvY3VtZW50UGFyc2VyOjpTdGF0ZSBIVE1MRG9jdW1lbnRQYXJz
ZXI6OnNjcmlwdEhhbmRsZXIoU3RhdGUgc3RhdGUpCiAgICAgU2VnbWVudGVkU3RyaW5nIHByZXBl
bmRpbmdTcmM7CiAgICAgbV9jdXJyZW50UHJlcGVuZGluZ1NyYyA9ICZwcmVwZW5kaW5nU3JjOwog
Ci0gICAgaWYgKCFtX3BhcnNlci0+c2tpcE1vZGUoKSAmJiAhZm9sbG93aW5nRnJhbWVzZXQpIHsK
KyAgICBpZiAoIW1fdHJlZUNvbnN0cnVjdG9yLT5za2lwTW9kZSgpICYmICFmb2xsb3dpbmdGcmFt
ZXNldCkgewogICAgICAgICBpZiAoY3MpIHsKICAgICAgICAgICAgIGlmIChzYXZlZFByZXBlbmRp
bmdTcmMpCiAgICAgICAgICAgICAgICAgc2F2ZWRQcmVwZW5kaW5nU3JjLT5hcHBlbmQobV9zcmMp
OwpAQCAtMTM5Myw3ICsxMzkyLDcgQEAgSFRNTERvY3VtZW50UGFyc2VyOjpTdGF0ZSBIVE1MRG9j
dW1lbnRQYXJzZXI6OnBhcnNlVGFnKFNlZ21lbnRlZFN0cmluZyYgc3JjLCBTdGEKICAgICAgICAg
ICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5WaWV3U291cmNlTW9kZSgpKQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG1fY3VycmVudFRva2VuLmFkZFZpZXdTb3VyY2VDaGFyKCd2Jyk7
CiAKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtX2N1cnJlbnRUb2tlbi5iZWdpblRhZyAm
JiBtX2N1cnJlbnRUb2tlbi50YWdOYW1lID09IHNjcmlwdFRhZyAmJiAhaW5WaWV3U291cmNlTW9k
ZSgpICYmICFtX3BhcnNlci0+c2tpcE1vZGUoKSAmJiBtX2F0dHJOYW1lID09IHNyY0F0dHIpIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtX2N1cnJlbnRUb2tlbi5iZWdpblRhZyAmJiBt
X2N1cnJlbnRUb2tlbi50YWdOYW1lID09IHNjcmlwdFRhZyAmJiAhaW5WaWV3U291cmNlTW9kZSgp
ICYmICFtX3RyZWVDb25zdHJ1Y3Rvci0+c2tpcE1vZGUoKSAmJiBtX2F0dHJOYW1lID09IHNyY0F0
dHIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdHJpbmcgY29udGV4dChtX3Jhd0F0
dHJpYnV0ZUJlZm9yZVZhbHVlLmRhdGEoKSwgbV9yYXdBdHRyaWJ1dGVCZWZvcmVWYWx1ZS5zaXpl
KCkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtX1hTU0F1ZGl0b3IgJiYgIW1f
WFNTQXVkaXRvci0+Y2FuTG9hZEV4dGVybmFsU2NyaXB0RnJvbVNyYyhhdHRyaWJ1dGVWYWx1ZSkp
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVZhbHVlID0gYmxhbmtV
UkwoKS5zdHJpbmcoKTsKQEAgLTE0MzAsNyArMTQyOSw3IEBAIEhUTUxEb2N1bWVudFBhcnNlcjo6
U3RhdGUgSFRNTERvY3VtZW50UGFyc2VyOjpwYXJzZVRhZyhTZWdtZW50ZWRTdHJpbmcmIHNyYywg
U3RhCiAgICAgICAgICAgICAgICAgICAgIGlmIChpc0FTQ0lJU3BhY2UoY3VyY2hhcikgfHwgY3Vy
Y2hhciA9PSAnPicpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIEF0b21pY1N0cmluZyBhdHRy
aWJ1dGVWYWx1ZShtX2J1ZmZlciArIDEsIG1fZGVzdCAtIG1fYnVmZmVyIC0gMSk7CiAKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGlmIChtX2N1cnJlbnRUb2tlbi5iZWdpblRhZyAmJiBtX2N1cnJl
bnRUb2tlbi50YWdOYW1lID09IHNjcmlwdFRhZyAmJiAhaW5WaWV3U291cmNlTW9kZSgpICYmICFt
X3BhcnNlci0+c2tpcE1vZGUoKSAmJiBtX2F0dHJOYW1lID09IHNyY0F0dHIpIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGlmIChtX2N1cnJlbnRUb2tlbi5iZWdpblRhZyAmJiBtX2N1cnJlbnRU
b2tlbi50YWdOYW1lID09IHNjcmlwdFRhZyAmJiAhaW5WaWV3U291cmNlTW9kZSgpICYmICFtX3Ry
ZWVDb25zdHJ1Y3Rvci0+c2tpcE1vZGUoKSAmJiBtX2F0dHJOYW1lID09IHNyY0F0dHIpIHsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBTdHJpbmcgY29udGV4dChtX3Jhd0F0dHJpYnV0ZUJl
Zm9yZVZhbHVlLmRhdGEoKSwgbV9yYXdBdHRyaWJ1dGVCZWZvcmVWYWx1ZS5zaXplKCkpOwogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtX1hTU0F1ZGl0b3IgJiYgIW1fWFNTQXVkaXRv
ci0+Y2FuTG9hZEV4dGVybmFsU2NyaXB0RnJvbVNyYyhhdHRyaWJ1dGVWYWx1ZSkpCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVZhbHVlID0gYmxhbmtVUkwoKS5zdHJp
bmcoKTsKQEAgLTE0ODIsNyArMTQ4MSw3IEBAIEhUTUxEb2N1bWVudFBhcnNlcjo6U3RhdGUgSFRN
TERvY3VtZW50UGFyc2VyOjpwYXJzZVRhZyhTZWdtZW50ZWRTdHJpbmcmIHNyYywgU3RhCiAgICAg
ICAgICAgICAvLyBjb21wYXRpYmlsaXR5LgogICAgICAgICAgICAgYm9vbCBpc1NlbGZDbG9zaW5n
U2NyaXB0ID0gbV9jdXJyZW50VG9rZW4uc2VsZkNsb3NpbmdUYWcgJiYgbV9jdXJyZW50VG9rZW4u
YmVnaW5UYWcgJiYgbV9jdXJyZW50VG9rZW4udGFnTmFtZSA9PSBzY3JpcHRUYWc7CiAgICAgICAg
ICAgICBib29sIGJlZ2luVGFnID0gIW1fY3VycmVudFRva2VuLnNlbGZDbG9zaW5nVGFnICYmIG1f
Y3VycmVudFRva2VuLmJlZ2luVGFnOwotICAgICAgICAgICAgaWYgKG1fY3VycmVudFRva2VuLmJl
Z2luVGFnICYmIG1fY3VycmVudFRva2VuLnRhZ05hbWUgPT0gc2NyaXB0VGFnICYmICFpblZpZXdT
b3VyY2VNb2RlKCkgJiYgIW1fcGFyc2VyLT5za2lwTW9kZSgpKSB7CisgICAgICAgICAgICBpZiAo
bV9jdXJyZW50VG9rZW4uYmVnaW5UYWcgJiYgbV9jdXJyZW50VG9rZW4udGFnTmFtZSA9PSBzY3Jp
cHRUYWcgJiYgIWluVmlld1NvdXJjZU1vZGUoKSAmJiAhbV90cmVlQ29uc3RydWN0b3ItPnNraXBN
b2RlKCkpIHsKICAgICAgICAgICAgICAgICBBdHRyaWJ1dGUqIGEgPSAwOwogICAgICAgICAgICAg
ICAgIG1fc2NyaXB0VGFnU3JjQXR0clZhbHVlID0gU3RyaW5nKCk7CiAgICAgICAgICAgICAgICAg
bV9zY3JpcHRUYWdDaGFyc2V0QXR0clZhbHVlID0gU3RyaW5nKCk7CkBAIC0xODQ0LDcgKzE4NDMs
NyBAQCB2b2lkIEhUTUxEb2N1bWVudFBhcnNlcjo6ZW5kKCkKICAgICB9CiAKICAgICBpZiAoIWlu
Vmlld1NvdXJjZU1vZGUoKSkKLSAgICAgICAgbV9wYXJzZXItPmZpbmlzaGVkKCk7CisgICAgICAg
IG1fdHJlZUNvbnN0cnVjdG9yLT5maW5pc2hlZCgpOwogICAgIGVsc2UKICAgICAgICAgbV9kb2Mt
PmZpbmlzaGVkUGFyc2luZygpOwogfQpAQCAtMTkxNSw3ICsxOTE0LDcgQEAgUGFzc1JlZlB0cjxO
b2RlPiBIVE1MRG9jdW1lbnRQYXJzZXI6OnByb2Nlc3NUb2tlbigpCiAgICAgICAgICAgICBzdGF0
aWNfY2FzdDxIVE1MVmlld1NvdXJjZURvY3VtZW50Kj4obV9kb2MpLT5hZGRWaWV3U291cmNlVG9r
ZW4oJm1fY3VycmVudFRva2VuKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgLy8gcGFzcyB0
aGUgdG9rZW4gb3ZlciB0byB0aGUgcGFyc2VyLCB0aGUgcGFyc2VyIERPRVMgTk9UIGRlbGV0ZSB0
aGUgdG9rZW4KLSAgICAgICAgICAgIG4gPSBtX3BhcnNlci0+cGFyc2VUb2tlbigmbV9jdXJyZW50
VG9rZW4pOworICAgICAgICAgICAgbiA9IG1fdHJlZUNvbnN0cnVjdG9yLT5wYXJzZVRva2VuKCZt
X2N1cnJlbnRUb2tlbik7CiAgICAgfQogICAgIG1fY3VycmVudFRva2VuLnJlc2V0KCk7CiAgICAg
aWYgKHNjcmlwdENvbnRyb2xsZXIpCkBAIC0xOTI5LDcgKzE5MjgsNyBAQCB2b2lkIEhUTUxEb2N1
bWVudFBhcnNlcjo6cHJvY2Vzc0RvY3R5cGVUb2tlbigpCiAgICAgaWYgKGluVmlld1NvdXJjZU1v
ZGUoKSkKICAgICAgICAgc3RhdGljX2Nhc3Q8SFRNTFZpZXdTb3VyY2VEb2N1bWVudCo+KG1fZG9j
KS0+YWRkVmlld1NvdXJjZURvY3R5cGVUb2tlbigmbV9kb2N0eXBlVG9rZW4pOwogICAgIGVsc2UK
LSAgICAgICAgbV9wYXJzZXItPnBhcnNlRG9jdHlwZVRva2VuKCZtX2RvY3R5cGVUb2tlbik7Cisg
ICAgICAgIG1fdHJlZUNvbnN0cnVjdG9yLT5wYXJzZURvY3R5cGVUb2tlbigmbV9kb2N0eXBlVG9r
ZW4pOwogfQogCiBIVE1MRG9jdW1lbnRQYXJzZXI6On5IVE1MRG9jdW1lbnRQYXJzZXIoKQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxEb2N1bWVudFBhcnNlci5oIGIvV2ViQ29yZS9odG1s
L0hUTUxEb2N1bWVudFBhcnNlci5oCmluZGV4IDA5NTFjMmEzNThkMGQ4MTQxNjc5MjkzMWUxNjAx
YTI5NDFiMmFmMWMuLmNkZmM4OGEyM2ViNjZmNDU1MTUxOTJhZTY5Mzg1NjQyYjkxZGRkZDIgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnRQYXJzZXIuaAorKysgYi9XZWJDb3Jl
L2h0bWwvSFRNTERvY3VtZW50UGFyc2VyLmgKQEAgLTE2Myw3ICsxNjMsNyBAQCBwdWJsaWM6CiAK
ICAgICB2aXJ0dWFsIHZvaWQgZXhlY3V0ZVNjcmlwdHNXYWl0aW5nRm9yU3R5bGVzaGVldHMoKTsK
IAotICAgIHZpcnR1YWwgSFRNTFBhcnNlciogaHRtbFBhcnNlcigpIGNvbnN0IHsgcmV0dXJuIG1f
cGFyc2VyLmdldCgpOyB9CisgICAgdmlydHVhbCBIVE1MUGFyc2VyKiBodG1sVHJlZUNvbnN0cnVj
dG9yKCkgY29uc3QgeyByZXR1cm4gbV90cmVlQ29uc3RydWN0b3IuZ2V0KCk7IH0KICAgICB2aXJ0
dWFsIEhUTUxEb2N1bWVudFBhcnNlciogYXNIVE1MRG9jdW1lbnRQYXJzZXIoKSB7IHJldHVybiB0
aGlzOyB9CiAKIHByaXZhdGU6CkBAIC00MzEsNyArNDMxLDcgQEAgcHJpdmF0ZToKIAogICAgIFNl
Z21lbnRlZFN0cmluZyBtX3NyYzsKICAgICBEb2N1bWVudCogbV9kb2M7Ci0gICAgT3duUHRyPEhU
TUxQYXJzZXI+IG1fcGFyc2VyOworICAgIE93blB0cjxIVE1MUGFyc2VyPiBtX3RyZWVDb25zdHJ1
Y3RvcjsKICAgICBib29sIG1faW5Xcml0ZTsKICAgICBib29sIG1fZnJhZ21lbnQ7CiAgICAgRnJh
Z21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uIG1fc2NyaXB0aW5nUGVybWlzc2lvbjsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcCBiL1dlYkNvcmUvaHRt
bC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAppbmRleCBkM2UxZjJlNzAwNWUyNjI4ZTk4YTc1
YTlkNjY4MjVjNWI1NzM0NGMyLi42ZTIxZGRlYjBkZjUwYmYzNWM1NzRkMGE0NjU4MDFkMjFlYmYy
OTFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAK
KysrIGIvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCkBAIC0xNzgsMTEg
KzE3OCwxMSBAQCB2b2lkIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OnJlbW92ZWRGcm9tVHJlZShi
b29sIGRlZXApCiB7CiAgICAgLy8gSWYgdGhlIGZvcm0gYW5kIGVsZW1lbnQgYXJlIGJvdGggaW4g
dGhlIHNhbWUgdHJlZSwgcHJlc2VydmUgdGhlIGNvbm5lY3Rpb24gdG8gdGhlIGZvcm0uCiAgICAg
Ly8gT3RoZXJ3aXNlLCBudWxsIG91dCBvdXIgZm9ybSBhbmQgcmVtb3ZlIG91cnNlbHZlcyBmcm9t
IHRoZSBmb3JtJ3MgbGlzdCBvZiBlbGVtZW50cy4KLSAgICBIVE1MUGFyc2VyKiB0cmVlQnVpbGRl
ciA9IDA7CisgICAgSFRNTFBhcnNlciogdHJlZUNvbnN0cnVjdG9yID0gMDsKICAgICBpZiAoRG9j
dW1lbnRQYXJzZXIqIHBhcnNlciA9IGRvY3VtZW50KCktPnBhcnNlcigpKQotICAgICAgICB0cmVl
QnVpbGRlciA9IHBhcnNlci0+aHRtbFBhcnNlcigpOworICAgICAgICB0cmVlQ29uc3RydWN0b3Ig
PSBwYXJzZXItPmh0bWxUcmVlQ29uc3RydWN0b3IoKTsKIAotICAgIGlmIChtX2Zvcm0gJiYgISh0
cmVlQnVpbGRlciAmJiB0cmVlQnVpbGRlci0+aXNIYW5kbGluZ1Jlc2lkdWFsU3R5bGVBY3Jvc3NC
bG9ja3MoKSkgJiYgZmluZFJvb3QodGhpcykgIT0gZmluZFJvb3QobV9mb3JtKSkgeworICAgIGlm
IChtX2Zvcm0gJiYgISh0cmVlQ29uc3RydWN0b3IgJiYgdHJlZUNvbnN0cnVjdG9yLT5pc0hhbmRs
aW5nUmVzaWR1YWxTdHlsZUFjcm9zc0Jsb2NrcygpKSAmJiBmaW5kUm9vdCh0aGlzKSAhPSBmaW5k
Um9vdChtX2Zvcm0pKSB7CiAgICAgICAgIG1fZm9ybS0+cmVtb3ZlRm9ybUVsZW1lbnQodGhpcyk7
CiAgICAgICAgIG1fZm9ybSA9IDA7CiAgICAgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>