<?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>96034</bug_id>
          
          <creation_ts>2012-09-06 15:57:30 -0700</creation_ts>
          <short_desc>Add new JSDependentRetained that allows keeping a JSObject alive as long as another is alive</short_desc>
          <delta_ts>2012-09-11 17:40:47 -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>93661</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Elliott Sprehn">esprehn</reporter>
          <assigned_to name="Elliott Sprehn">esprehn</assigned_to>
          <cc>abarth</cc>
    
    <cc>adamk</cc>
    
    <cc>barraclough</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>713788</commentid>
    <comment_count>0</comment_count>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-09-06 15:57:30 -0700</bug_when>
    <thetext>Add new JSDependentRetained that allows keeping a JSObject alive as long as another is alive</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>713791</commentid>
    <comment_count>1</comment_count>
      <attachid>162609</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-09-06 16:00:43 -0700</bug_when>
    <thetext>Created attachment 162609
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>713798</commentid>
    <comment_count>2</comment_count>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-09-06 16:06:26 -0700</bug_when>
    <thetext>This is the JSC side of https://bugs.webkit.org/show_bug.cgi?id=95519</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>713843</commentid>
    <comment_count>3</comment_count>
      <attachid>162609</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-09-06 16:40:41 -0700</bug_when>
    <thetext>Comment on attachment 162609
Patch

Adding and deleting a property will have the negative side-effect of making the node wrappers uncollectable until the nodes are removed from the document, and of allocating extra structures, one per node wrapper.

If this is common, another possible solution is for JSDependentRetained to implement the WeakHandleOwner interface, save &quot;owner&quot; as its context, and implement &quot;isReachableFromOpaqueRoots&quot; to test whether &quot;owner&quot; has been marked. This will achieve the same lifetime semantics without the other costs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>713845</commentid>
    <comment_count>4</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-09-06 16:41:24 -0700</bug_when>
    <thetext>I believe the preferred license for new files is http://trac.webkit.org/browser/trunk/Source/WebKit/LICENSE. Please use that, unless you have a specific reason not to.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>713872</commentid>
    <comment_count>5</comment_count>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-09-06 17:08:40 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 162609 [details])
&gt; Adding and deleting a property will have the negative side-effect of making the node wrappers uncollectable until the nodes are removed from the document, and of allocating extra structures, one per node wrapper.
&gt; 
&gt; If this is common, another possible solution is for JSDependentRetained to implement the WeakHandleOwner interface, save &quot;owner&quot; as its context, and implement &quot;isReachableFromOpaqueRoots&quot; to test whether &quot;owner&quot; has been marked. This will achieve the same lifetime semantics without the other costs.

Okay. This is for rare things like MutationObservers and UndoManager. If we decide to use it in the future for common things I&apos;ll make that change (as we&apos;ll also need to update V8DependentRetained to use v8::AddImplicitReference instead of hidden props).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>713874</commentid>
    <comment_count>6</comment_count>
      <attachid>162621</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-09-06 17:09:24 -0700</bug_when>
    <thetext>Created attachment 162621
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>713886</commentid>
    <comment_count>7</comment_count>
      <attachid>162624</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-09-06 17:20:35 -0700</bug_when>
    <thetext>Created attachment 162624
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>713888</commentid>
    <comment_count>8</comment_count>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-09-06 17:21:16 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Created an attachment (id=162624) [details]
&gt; Patch for landing

Sorry, I realized the boolean cast of Handle was wrong, you need to do IsEmpty() on it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>713891</commentid>
    <comment_count>9</comment_count>
      <attachid>162625</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-09-06 17:25:38 -0700</bug_when>
    <thetext>Created attachment 162625
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714085</commentid>
    <comment_count>10</comment_count>
      <attachid>162625</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-06 21:49:17 -0700</bug_when>
    <thetext>Comment on attachment 162625
Patch for landing

Rejecting attachment 162625 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
547 (offset 2 lines).
Hunk #2 succeeded at 13976 (offset 4 lines).
Hunk #3 succeeded at 20169 (offset 6 lines).
Hunk #4 FAILED at 25503.
1 out of 4 hunks FAILED -- saving rejects to file Source/WebCore/WebCore.xcodeproj/project.pbxproj.rej
patching file Source/WebCore/bindings/js/JSDependentRetained.h
patching file Source/WebCore/bindings/v8/V8DependentRetained.h

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;]&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue

Full output: http://queues.webkit.org/results/13765884</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714090</commentid>
    <comment_count>11</comment_count>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-09-06 21:55:16 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 162625 [details])
&gt; ...
&gt; Last 500 characters of output:
&gt; 547 (offset 2 lines).
&gt; Hunk #2 succeeded at 13976 (offset 4 lines).
&gt; Hunk #3 succeeded at 20169 (offset 6 lines).
&gt; Hunk #4 FAILED at 25503.
&gt; 1 out of 4 hunks FAILED -- saving rejects to file Source/WebCore/WebCore.xcodeproj/project.pbxproj.rej

I don&apos;t understand what happened here. Is this a merge conflict on the project file? Do I sync and upload again?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714672</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-09-07 10:18:02 -0700</bug_when>
    <thetext>&gt; I don&apos;t understand what happened here. Is this a merge conflict on the project file? Do I sync and upload again?

Yes. Please also wait for EWS to check non-chromium builds, as almost all of the bubbles are purple.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714678</commentid>
    <comment_count>13</comment_count>
      <attachid>162625</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-09-07 10:22:01 -0700</bug_when>
    <thetext>Comment on attachment 162625
Patch for landing

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

&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:25506
&gt; +				FFD86E7815F9583600047233 /* JSDependentRetained.h in Headers */,

The problem is that Xcode is dumb and puts new stuff at the end of these sorts of blocks, which means there are always conflicts.  I usually edit the xcodeproj by hand and move new lines to where they go alphabetically.  If you&apos;re feeling ambitious, you can run sort-xcodeproj to sort the entire file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717561</commentid>
    <comment_count>14</comment_count>
      <attachid>163441</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-09-11 14:37:22 -0700</bug_when>
    <thetext>Created attachment 163441
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717607</commentid>
    <comment_count>15</comment_count>
      <attachid>163441</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-09-11 15:22:13 -0700</bug_when>
    <thetext>Comment on attachment 163441
Patch for landing

Attachment 163441 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/13821483</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717642</commentid>
    <comment_count>16</comment_count>
      <attachid>163463</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-09-11 15:46:45 -0700</bug_when>
    <thetext>Created attachment 163463
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717765</commentid>
    <comment_count>17</comment_count>
      <attachid>163463</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-11 17:40:43 -0700</bug_when>
    <thetext>Comment on attachment 163463
Patch for landing

Clearing flags on attachment: 163463

Committed r128249: &lt;http://trac.webkit.org/changeset/128249&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717766</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-11 17:40:47 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162609</attachid>
            <date>2012-09-06 16:00:43 -0700</date>
            <delta_ts>2012-09-06 17:09:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96034-20120906160024.patch</filename>
            <type>text/plain</type>
            <size>10719</size>
            <attacher name="Elliott Sprehn">esprehn</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3NzY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzlhNmEzYTEzYWIzYWJh
NWY3MTFhMzkwNTdkMTYwMjkwMTMwODIwZS4uNmVlODkwZjQ0ZWVhZTg2MmUxZmRlMTI0NTI3N2Nh
NTgxMThkZDljYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTA5LTA2ICBFbGxp
b3R0IFNwcmVobiAgPGVzcHJlaG5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBuZXcgSlNE
ZXBlbmRlbnRSZXRhaW5lZCB0aGF0IGFsbG93cyBrZWVwaW5nIGEgSlNPYmplY3QgYWxpdmUgYXMg
bG9uZyBhcyBhbm90aGVyIGlzIGFsaXZlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05NjAzNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCBuZXcgSlNEZXBlbmRlbnRSZXRhaW5lZCAod2l0aCB0aGUgc2Ft
ZSBBUEkgYXMgVjhEZXBlbmRlbnRSZXRhaW5lZCkgdGhhdCBhbGxvd3Mga2VlcGluZworICAgICAg
ICBhIEpTT2JqZWN0IGFsaXZlIGFzIGxvbmcgYXMgYW5vdGhlciBpcyBhbGl2ZS4gVGhpcyBpcyB1
c2VmdWwgZm9yIGtlZXBpbmcgY2FsbGJhY2tzIG9uCisgICAgICAgIHdyYXBwZXJzIHdpdGhvdXQg
a2VlcGluZyBzdHJvbmcgcmVmZXJlbmNlcyBpbnRvIHRoZSBKUyBoZWFwIGluIEMrKyB3aGljaCBj
YW4gcmVzdWx0IGluCisgICAgICAgIGN5Y2xlcyB0aGF0IGNyZWF0ZSBtZW1vcnkgbGVha3MuCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzIG5lZWRlZCwgdGhpcyB3aWxsIGJlIHVzZWQgdG8gZml4IE11
dGF0aW9uT2JzZXJ2ZXJzIGFuZCBVbmRvTWFuYWdlciB3aGljaCB3aWxsIGhhdmUgdGVzdHMuCisK
KyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RlcGVuZGVudFJldGFpbmVkLmg6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChKU0RlcGVuZGVudFJldGFpbmVkKToKKyAg
ICAgICAgKFdlYkNvcmU6OkpTRGVwZW5kZW50UmV0YWluZWQ6OkpTRGVwZW5kZW50UmV0YWluZWQp
OgorICAgICAgICAoV2ViQ29yZTo6SlNEZXBlbmRlbnRSZXRhaW5lZDo6fkpTRGVwZW5kZW50UmV0
YWluZWQpOgorICAgICAgICAoV2ViQ29yZTo6SlNEZXBlbmRlbnRSZXRhaW5lZDo6Z2V0KTogR2V0
IHRoZSBKU09iamVjdCB2YWx1ZS4KKyAgICAgICAgKFdlYkNvcmU6OkpTRGVwZW5kZW50UmV0YWlu
ZWQ6OmlzRW1wdHkpOiBDaGVjayBpZiB0aGUgdmFsdWUgaXMgc3RpbGwgYWxpdmUuCisgICAgICAg
IChXZWJDb3JlOjpKU0RlcGVuZGVudFJldGFpbmVkOjpyZXRhaW4pOiBTZXRzIHRoZSBvd25lciBv
ZiB0aGUgb2JqZWN0LCBzaG91bGQgb25seSBiZSB1c2VkIG9uY2UuCisgICAgICAgIChXZWJDb3Jl
OjpKU0RlcGVuZGVudFJldGFpbmVkOjpyZWxlYXNlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9W
OERlcGVuZGVudFJldGFpbmVkLmg6CisgICAgICAgIChXZWJDb3JlOjpWOERlcGVuZGVudFJldGFp
bmVkOjpWOERlcGVuZGVudFJldGFpbmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlY4RGVwZW5kZW50
UmV0YWluZWQ6OnJldGFpbik6IEFkZGVkIHRoaXMgbWV0aG9kIHNvIHRoZSBBUEkgZm9yIEpTQyBh
bmQgVjggYXJlIGlkZW50aWNhbC4KKwogMjAxMi0wOS0wNiAgWmFuIERvYmVyc2VrICA8emFuZG9i
ZXJzZWtAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgR1RLIGJ1aWxkIGZpeC4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDFlNTQxMGY1YWU4NzQ1NjI1Y2VkYzdhNmFl
MGI4YWI4NDIxYTMzNDkuLjg2ZmY1ZTJmNjhiY2NkN2NlODMwM2M2M2MwNzc3ZDk2ZDllNTg4MzAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMjIzNSw2ICsyMjM1LDcgQEAgd2Vi
Y29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVNR
TFN0YXRlbWVudEVycm9yQ2FsbGJhY2suY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0N1c3RvbVhQYXRoTlNSZXNvbHZlci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyLmggXAorCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRGVwZW5kZW50UmV0YWluZWQuaCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNEaWN0aW9uYXJ5LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEaWN0aW9u
YXJ5LmggXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAgXApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCAxZmY3
YzI3YjgyMzg2NDU5NmVkMzBhMTY0MDU3NDY0NmY5NWIwZDNiLi5iMDAyN2JmNzNkZDViYjI3MjA2
N2I5YjUzNjZjY2VhYjg2Y2Q2MzkzIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvagpAQCAtNjU4NzgsNiArNjU4NzgsMTAgQEAKIAkJCQkJPgogCQkJCTwv
RmlsZT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTRGVw
ZW5kZW50UmV0YWluZWQuaCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQogCQkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTRGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3Rv
bS5jcHAiCiAJCQkJCT4KIAkJCQkJPEZpbGVDb25maWd1cmF0aW9uCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNTNlYzM0ODQ3ZDE2
MjFmYWNhZmU0ZDE0NmJiODlmNmQzNzBhNzQ2MC4uYzQ0NzEzMDM2YTY5YmQzZjEwODY1ZDhlOTc4
ZGYyODA5YTY2NDI2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtNjU0NSw2ICs2NTQ1LDcgQEAKIAkJRkU4MERBNzIwRTlDNDcy
RjAwMEQ2Rjc1IC8qIEpTUG9zaXRpb25FcnJvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRkU4MERBNkUwRTlDNDcyRjAwMEQ2Rjc1IC8qIEpTUG9zaXRp
b25FcnJvci5oICovOyB9OwogCQlGRkQ1Qjk3QTEzNUNDOTc4MDBENUU5MkEgLyogUGFnZVZpc2li
aWxpdHlTdGF0ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGRkQ1Qjk3NzEzNUNDOTc4MDBENUU5MkEgLyogUGFnZVZpc2liaWxpdHlTdGF0ZS5jcHAg
Ki87IH07CiAJCUZGRDVCOTdCMTM1Q0M5NzgwMEQ1RTkyQSAvKiBQYWdlVmlzaWJpbGl0eVN0YXRl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRkQ1Qjk3
ODEzNUNDOTc4MDBENUU5MkEgLyogUGFnZVZpc2liaWxpdHlTdGF0ZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUZGRDg2RTc4MTVGOTU4MzYwMDA0
NzIzMyAvKiBKU0RlcGVuZGVudFJldGFpbmVkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGRkQ4NkU3NzE1Rjk1ODM2MDAwNDcyMzMgLyogSlNEZXBlbmRl
bnRSZXRhaW5lZC5oICovOyB9OwogLyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCiAKIC8q
IEJlZ2luIFBCWENvbnRhaW5lckl0ZW1Qcm94eSBzZWN0aW9uICovCkBAIC0xMzk3MSw2ICsxMzk3
Miw3IEBACiAJCUZFODBEQTZFMEU5QzQ3MkYwMDBENkY3NSAvKiBKU1Bvc2l0aW9uRXJyb3IuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNQb3NpdGlvbkVycm9yLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZGRDVCOTc3MTM1Q0M5NzgwMEQ1RTkyQSAvKiBQYWdl
VmlzaWJpbGl0eVN0YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFBhZ2VWaXNpYmlsaXR5U3RhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlG
RkQ1Qjk3ODEzNUNDOTc4MDBENUU5MkEgLyogUGFnZVZpc2liaWxpdHlTdGF0ZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYWdlVmlzaWJpbGl0eVN0YXRlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUZGRDg2RTc3MTVGOTU4MzYwMDA0NzIzMyAvKiBKU0RlcGVu
ZGVudFJldGFpbmVkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRGVwZW5k
ZW50UmV0YWluZWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIC8qIEVuZCBQQlhGaWxl
UmVmZXJlbmNlIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ug
c2VjdGlvbiAqLwpAQCAtMjAxNjEsNiArMjAxNjMsNyBAQAogCQkJCUM1ODVBNjYxMTFENEZBQzUw
MDRDM0U0QiAvKiBJREJCaW5kaW5nVXRpbGl0aWVzLmggKi8sCiAJCQkJMUM4MUJBMDMwRTk3MzQ4
MzAwMjY2RTA3IC8qIEphdmFTY3JpcHRDYWxsRnJhbWUuY3BwICovLAogCQkJCTFDODFCQTA0MEU5
NzM0ODMwMDI2NkUwNyAvKiBKYXZhU2NyaXB0Q2FsbEZyYW1lLmggKi8sCisJCQkJRkZEODZFNzcx
NUY5NTgzNjAwMDQ3MjMzIC8qIEpTRGVwZW5kZW50UmV0YWluZWQuaCAqLywKIAkJCQlCQ0U0MzhB
MTE0MEMwREJGMDA1RTQzN0UgLyogSlNEaWN0aW9uYXJ5LmNwcCAqLywKIAkJCQlCQ0U0Mzg5QjE0
MEIxQkE3MDA1RTQzN0UgLyogSlNEaWN0aW9uYXJ5LmggKi8sCiAJCQkJOTNCNzBENDcwOUVCMEM3
QzAwOUQ4NDY4IC8qIEpTRE9NQmluZGluZy5jcHAgKi8sCkBAIC0yNTUwMCw2ICsyNTUwMyw3IEBA
CiAJCQkJRkJENkFGOEExNUVGMjVERjAwOEI3MTEwIC8qIEJhc2ljU2hhcGVGdW5jdGlvbnMuaCBp
biBIZWFkZXJzICovLAogCQkJCUZCRDZBRjhDMTVFRjI2MDQwMDhCNzExMCAvKiBCYXNpY1NoYXBl
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzZGMkUyRUMxNUY3NENFRjAwNUZGNjY0IC8qIFJlbmRl
ckRpYWxvZy5oIGluIEhlYWRlcnMgKi8sCisJCQkJRkZEODZFNzgxNUY5NTgzNjAwMDQ3MjMzIC8q
IEpTRGVwZW5kZW50UmV0YWluZWQuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlG
b3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXBlbmRlbnRSZXRhaW5lZC5oIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNEZXBlbmRlbnRSZXRhaW5lZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJiZjkwMDMx
NzQ3NTExMTY0ZGRjNzU1YzY0MmVlMWYwMDJkNmE1MzYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RlcGVuZGVudFJldGFpbmVkLmgKQEAgLTAsMCArMSw5
MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoK
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2ds
ZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAor
ICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpZm5kZWYgSlNEZXBlbmRlbnRSZXRhaW5lZF9oCisjZGVmaW5lIEpTRGVwZW5kZW50UmV0
YWluZWRfaAorCisjaW5jbHVkZSA8aGVhcC9XZWFrLmg+CisjaW5jbHVkZSA8cnVudGltZS9KU09i
amVjdC5oPgorI2luY2x1ZGUgPHJ1bnRpbWUvUHJpdmF0ZU5hbWUuaD4KKyNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEpTRGVwZW5kZW50UmV0
YWluZWQgeworcHVibGljOgorICAgIEpTRGVwZW5kZW50UmV0YWluZWQoSlNDOjpKU09iamVjdCog
b3duZXIsIEpTQzo6SlNPYmplY3QqIHZhbHVlKQorICAgICAgICA6IG1fdmFsdWUodmFsdWUpCisg
ICAgeworICAgICAgICBBU1NFUlQodmFsdWUpOworICAgICAgICBpZiAob3duZXIpCisgICAgICAg
ICAgICByZXRhaW4ob3duZXIpOworICAgIH0KKworICAgIH5KU0RlcGVuZGVudFJldGFpbmVkKCkK
KyAgICB7CisgICAgICAgIHJlbGVhc2UoKTsKKyAgICB9CisKKyAgICBKU0M6OkpTT2JqZWN0KiBn
ZXQoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fdmFsdWUuZ2V0KCk7CisgICAgfQor
CisgICAgYm9vbCBpc0VtcHR5KCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAhbV9vd25l
ciB8fCAhbV92YWx1ZTsKKyAgICB9CisKKyAgICB2b2lkIHJldGFpbihKU0M6OkpTT2JqZWN0KiBv
d25lcikKKyAgICB7CisgICAgICAgIEFTU0VSVCghbV9vd25lciAmJiBvd25lcik7CisgICAgICAg
IEFTU0VSVChtX3ZhbHVlKTsKKyAgICAgICAgbV9vd25lciA9IEpTQzo6UGFzc1dlYWs8SlNDOjpK
U09iamVjdD4ob3duZXIpOworICAgICAgICBtX293bmVyLT5wdXREaXJlY3QobV9wcm9wZXJ0eU5h
bWUsIGdldCgpKTsKKyAgICB9CisKK3ByaXZhdGU6CisKKyAgICB2b2lkIHJlbGVhc2UoKQorICAg
IHsKKyAgICAgICAgaWYgKG1fb3duZXIpCisgICAgICAgICAgICBtX293bmVyLT5yZW1vdmVEaXJl
Y3QobV9wcm9wZXJ0eU5hbWUpOworICAgICAgICBtX3ZhbHVlLmNsZWFyKCk7CisgICAgICAgIG1f
b3duZXIuY2xlYXIoKTsKKyAgICB9CisKKyAgICBKU0M6OldlYWs8SlNDOjpKU09iamVjdD4gbV9v
d25lcjsKKyAgICBKU0M6OldlYWs8SlNDOjpKU09iamVjdD4gbV92YWx1ZTsKKyAgICBKU0M6OlBy
aXZhdGVOYW1lIG1fcHJvcGVydHlOYW1lOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gSlNEZXBlbmRlbnRSZXRhaW5lZF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9WOERlcGVuZGVudFJldGFpbmVkLmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOERlcGVuZGVudFJldGFpbmVkLmgKaW5kZXggMTUyMmVhNTdhMjNiYzgxY2Jl
MTViYTZkZjRkMDQ3ZmMzNGRlOTc3ZS4uYmQ1YTU5ZWY3NDRjZjIyNWQ0ZDhjNWQyNTllZjQ2Zjlh
YTgzZmIxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhEZXBlbmRl
bnRSZXRhaW5lZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RGVwZW5kZW50
UmV0YWluZWQuaApAQCAtNDQsMTUgKzQ0LDEzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNz
IFY4RGVwZW5kZW50UmV0YWluZWQgewogcHVibGljOgogICAgIFY4RGVwZW5kZW50UmV0YWluZWQo
djg6OkhhbmRsZTx2ODo6T2JqZWN0PiBvd25lciwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB2YWx1
ZSkKLSAgICAgICAgOiBtX293bmVyKG93bmVyKQotICAgICAgICAsIG1fdmFsdWUodmFsdWUpCisg
ICAgICAgIDogbV92YWx1ZSh2YWx1ZSkKICAgICAgICAgLCBtX3Byb3BlcnR5TmFtZShjcmVhdGVQ
cm9wZXJ0eU5hbWUoKSkKICAgICB7Ci0gICAgICAgIEFTU0VSVCghbV9vd25lci5Jc0VtcHR5KCkp
OwogICAgICAgICBBU1NFUlQoIW1fdmFsdWUuSXNFbXB0eSgpKTsKLSAgICAgICAgb3duZXItPlNl
dEhpZGRlblZhbHVlKG1fcHJvcGVydHlOYW1lLmdldCgpLCB2YWx1ZSk7Ci0gICAgICAgIG1fb3du
ZXIuZ2V0KCkuTWFrZVdlYWsodGhpcywgJlY4RGVwZW5kZW50UmV0YWluZWQ6Om93bmVyV2Vha0Nh
bGxiYWNrKTsKICAgICAgICAgbV92YWx1ZS5nZXQoKS5NYWtlV2Vhayh0aGlzLCAmVjhEZXBlbmRl
bnRSZXRhaW5lZDo6dmFsdWVXZWFrQ2FsbGJhY2spOworICAgICAgICBpZiAob3duZXIpCisgICAg
ICAgICAgICByZXRhaW4ob3duZXIpOwogICAgIH0KIAogICAgIH5WOERlcGVuZGVudFJldGFpbmVk
KCkKQEAgLTcwLDkgKzY4LDE0IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1fb3duZXIuaXNF
bXB0eSgpIHx8IG1fdmFsdWUuaXNFbXB0eSgpOwogICAgIH0KIAotICAgIC8vIEZJWE1FOiBXZSBt
aWdodCBhZGQgYW4gZXhwbGljaXQgcmV0YWluKHY4OjpIYW5kbGU8djg6Ok9iamVjdD4pIG1ldGhv
ZCB0byBhbGxvdwotICAgIC8vIGNyZWF0aW5nIG9uZSBvZiB0aGVzZSBhbmQgY2hvb3NpbmcgdGhl
IG93bmVyIGxhdGVyLiBTdWNoIGJlaGF2aW9yIGlzIHJlcXVpcmVkCi0gICAgLy8gaW4gSlNDLCBi
dXQgbm90IGluIHY4IHJpZ2h0IG5vdy4KKyAgICB2b2lkIHJldGFpbih2ODo6SGFuZGxlPHY4OjpP
YmplY3Q+IG93bmVyKQorICAgIHsKKyAgICAgICAgQVNTRVJUKG1fb3duZXIuaXNFbXB0eSgpICYm
IG93bmVyKTsKKyAgICAgICAgQVNTRVJUKCFtX3ZhbHVlLmlzRW1wdHkoKSk7CisgICAgICAgIG93
bmVyLT5TZXRIaWRkZW5WYWx1ZShtX3Byb3BlcnR5TmFtZS5nZXQoKSwgZ2V0KCkpOworICAgICAg
ICBtX293bmVyID0gb3duZXI7CisgICAgICAgIG1fb3duZXIuZ2V0KCkuTWFrZVdlYWsodGhpcywg
JlY4RGVwZW5kZW50UmV0YWluZWQ6Om93bmVyV2Vha0NhbGxiYWNrKTsKKyAgICB9CiAKIHByaXZh
dGU6CiAgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlN0cmluZz4gY3JlYXRlUHJvcGVydHlOYW1l
KCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162621</attachid>
            <date>2012-09-06 17:09:24 -0700</date>
            <delta_ts>2012-09-06 17:20:32 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-96034-20120906170904.patch</filename>
            <type>text/plain</type>
            <size>13372</size>
            <attacher name="Elliott Sprehn">esprehn</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3NzY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzlhNmEzYTEzYWIzYWJh
NWY3MTFhMzkwNTdkMTYwMjkwMTMwODIwZS4uOGQ3MWNmZmIwMTQ0OGQ1Y2EwNjFlMDQzMGQ4YzVl
NzEwMTlhNDI4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTA5LTA2ICBFbGxp
b3R0IFNwcmVobiAgPGVzcHJlaG5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBuZXcgSlNE
ZXBlbmRlbnRSZXRhaW5lZCB0aGF0IGFsbG93cyBrZWVwaW5nIGEgSlNPYmplY3QgYWxpdmUgYXMg
bG9uZyBhcyBhbm90aGVyIGlzIGFsaXZlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05NjAzNAorCisgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdh
cmVuLgorCisgICAgICAgIEFkZCBuZXcgSlNEZXBlbmRlbnRSZXRhaW5lZCAod2l0aCB0aGUgc2Ft
ZSBBUEkgYXMgVjhEZXBlbmRlbnRSZXRhaW5lZCkgdGhhdCBhbGxvd3Mga2VlcGluZworICAgICAg
ICBhIEpTT2JqZWN0IGFsaXZlIGFzIGxvbmcgYXMgYW5vdGhlciBpcyBhbGl2ZS4gVGhpcyBpcyB1
c2VmdWwgZm9yIGtlZXBpbmcgY2FsbGJhY2tzIG9uCisgICAgICAgIHdyYXBwZXJzIHdpdGhvdXQg
a2VlcGluZyBzdHJvbmcgcmVmZXJlbmNlcyBpbnRvIHRoZSBKUyBoZWFwIGluIEMrKyB3aGljaCBj
YW4gcmVzdWx0IGluCisgICAgICAgIGN5Y2xlcyB0aGF0IGNyZWF0ZSBtZW1vcnkgbGVha3MuCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzIG5lZWRlZCwgdGhpcyB3aWxsIGJlIHVzZWQgdG8gZml4IE11
dGF0aW9uT2JzZXJ2ZXJzIGFuZCBVbmRvTWFuYWdlciB3aGljaCB3aWxsIGhhdmUgdGVzdHMuCisK
KyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RlcGVuZGVudFJldGFpbmVkLmg6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChKU0RlcGVuZGVudFJldGFpbmVkKToKKyAg
ICAgICAgKFdlYkNvcmU6OkpTRGVwZW5kZW50UmV0YWluZWQ6OkpTRGVwZW5kZW50UmV0YWluZWQp
OgorICAgICAgICAoV2ViQ29yZTo6SlNEZXBlbmRlbnRSZXRhaW5lZDo6fkpTRGVwZW5kZW50UmV0
YWluZWQpOgorICAgICAgICAoV2ViQ29yZTo6SlNEZXBlbmRlbnRSZXRhaW5lZDo6Z2V0KTogR2V0
IHRoZSBKU09iamVjdCB2YWx1ZS4KKyAgICAgICAgKFdlYkNvcmU6OkpTRGVwZW5kZW50UmV0YWlu
ZWQ6OmlzRW1wdHkpOiBDaGVjayBpZiB0aGUgdmFsdWUgaXMgc3RpbGwgYWxpdmUuCisgICAgICAg
IChXZWJDb3JlOjpKU0RlcGVuZGVudFJldGFpbmVkOjpyZXRhaW4pOiBTZXRzIHRoZSBvd25lciBv
ZiB0aGUgb2JqZWN0LCBzaG91bGQgb25seSBiZSB1c2VkIG9uY2UuCisgICAgICAgIChXZWJDb3Jl
OjpKU0RlcGVuZGVudFJldGFpbmVkOjpyZWxlYXNlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9W
OERlcGVuZGVudFJldGFpbmVkLmg6CisgICAgICAgIChXZWJDb3JlOjpWOERlcGVuZGVudFJldGFp
bmVkOjpWOERlcGVuZGVudFJldGFpbmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlY4RGVwZW5kZW50
UmV0YWluZWQ6OnJldGFpbik6IEFkZGVkIHRoaXMgbWV0aG9kIHNvIHRoZSBBUEkgZm9yIEpTQyBh
bmQgVjggYXJlIGlkZW50aWNhbC4KKwogMjAxMi0wOS0wNiAgWmFuIERvYmVyc2VrICA8emFuZG9i
ZXJzZWtAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgR1RLIGJ1aWxkIGZpeC4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDFlNTQxMGY1YWU4NzQ1NjI1Y2VkYzdhNmFl
MGI4YWI4NDIxYTMzNDkuLjg2ZmY1ZTJmNjhiY2NkN2NlODMwM2M2M2MwNzc3ZDk2ZDllNTg4MzAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMjIzNSw2ICsyMjM1LDcgQEAgd2Vi
Y29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVNR
TFN0YXRlbWVudEVycm9yQ2FsbGJhY2suY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0N1c3RvbVhQYXRoTlNSZXNvbHZlci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyLmggXAorCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRGVwZW5kZW50UmV0YWluZWQuaCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNEaWN0aW9uYXJ5LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEaWN0aW9u
YXJ5LmggXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAgXApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCAxZmY3
YzI3YjgyMzg2NDU5NmVkMzBhMTY0MDU3NDY0NmY5NWIwZDNiLi5iMDAyN2JmNzNkZDViYjI3MjA2
N2I5YjUzNjZjY2VhYjg2Y2Q2MzkzIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvagpAQCAtNjU4NzgsNiArNjU4NzgsMTAgQEAKIAkJCQkJPgogCQkJCTwv
RmlsZT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTRGVw
ZW5kZW50UmV0YWluZWQuaCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQogCQkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTRGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3Rv
bS5jcHAiCiAJCQkJCT4KIAkJCQkJPEZpbGVDb25maWd1cmF0aW9uCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNTNlYzM0ODQ3ZDE2
MjFmYWNhZmU0ZDE0NmJiODlmNmQzNzBhNzQ2MC4uYzQ0NzEzMDM2YTY5YmQzZjEwODY1ZDhlOTc4
ZGYyODA5YTY2NDI2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtNjU0NSw2ICs2NTQ1LDcgQEAKIAkJRkU4MERBNzIwRTlDNDcy
RjAwMEQ2Rjc1IC8qIEpTUG9zaXRpb25FcnJvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRkU4MERBNkUwRTlDNDcyRjAwMEQ2Rjc1IC8qIEpTUG9zaXRp
b25FcnJvci5oICovOyB9OwogCQlGRkQ1Qjk3QTEzNUNDOTc4MDBENUU5MkEgLyogUGFnZVZpc2li
aWxpdHlTdGF0ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGRkQ1Qjk3NzEzNUNDOTc4MDBENUU5MkEgLyogUGFnZVZpc2liaWxpdHlTdGF0ZS5jcHAg
Ki87IH07CiAJCUZGRDVCOTdCMTM1Q0M5NzgwMEQ1RTkyQSAvKiBQYWdlVmlzaWJpbGl0eVN0YXRl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRkQ1Qjk3
ODEzNUNDOTc4MDBENUU5MkEgLyogUGFnZVZpc2liaWxpdHlTdGF0ZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUZGRDg2RTc4MTVGOTU4MzYwMDA0
NzIzMyAvKiBKU0RlcGVuZGVudFJldGFpbmVkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGRkQ4NkU3NzE1Rjk1ODM2MDAwNDcyMzMgLyogSlNEZXBlbmRl
bnRSZXRhaW5lZC5oICovOyB9OwogLyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCiAKIC8q
IEJlZ2luIFBCWENvbnRhaW5lckl0ZW1Qcm94eSBzZWN0aW9uICovCkBAIC0xMzk3MSw2ICsxMzk3
Miw3IEBACiAJCUZFODBEQTZFMEU5QzQ3MkYwMDBENkY3NSAvKiBKU1Bvc2l0aW9uRXJyb3IuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNQb3NpdGlvbkVycm9yLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZGRDVCOTc3MTM1Q0M5NzgwMEQ1RTkyQSAvKiBQYWdl
VmlzaWJpbGl0eVN0YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFBhZ2VWaXNpYmlsaXR5U3RhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlG
RkQ1Qjk3ODEzNUNDOTc4MDBENUU5MkEgLyogUGFnZVZpc2liaWxpdHlTdGF0ZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYWdlVmlzaWJpbGl0eVN0YXRlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUZGRDg2RTc3MTVGOTU4MzYwMDA0NzIzMyAvKiBKU0RlcGVu
ZGVudFJldGFpbmVkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRGVwZW5k
ZW50UmV0YWluZWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIC8qIEVuZCBQQlhGaWxl
UmVmZXJlbmNlIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ug
c2VjdGlvbiAqLwpAQCAtMjAxNjEsNiArMjAxNjMsNyBAQAogCQkJCUM1ODVBNjYxMTFENEZBQzUw
MDRDM0U0QiAvKiBJREJCaW5kaW5nVXRpbGl0aWVzLmggKi8sCiAJCQkJMUM4MUJBMDMwRTk3MzQ4
MzAwMjY2RTA3IC8qIEphdmFTY3JpcHRDYWxsRnJhbWUuY3BwICovLAogCQkJCTFDODFCQTA0MEU5
NzM0ODMwMDI2NkUwNyAvKiBKYXZhU2NyaXB0Q2FsbEZyYW1lLmggKi8sCisJCQkJRkZEODZFNzcx
NUY5NTgzNjAwMDQ3MjMzIC8qIEpTRGVwZW5kZW50UmV0YWluZWQuaCAqLywKIAkJCQlCQ0U0MzhB
MTE0MEMwREJGMDA1RTQzN0UgLyogSlNEaWN0aW9uYXJ5LmNwcCAqLywKIAkJCQlCQ0U0Mzg5QjE0
MEIxQkE3MDA1RTQzN0UgLyogSlNEaWN0aW9uYXJ5LmggKi8sCiAJCQkJOTNCNzBENDcwOUVCMEM3
QzAwOUQ4NDY4IC8qIEpTRE9NQmluZGluZy5jcHAgKi8sCkBAIC0yNTUwMCw2ICsyNTUwMyw3IEBA
CiAJCQkJRkJENkFGOEExNUVGMjVERjAwOEI3MTEwIC8qIEJhc2ljU2hhcGVGdW5jdGlvbnMuaCBp
biBIZWFkZXJzICovLAogCQkJCUZCRDZBRjhDMTVFRjI2MDQwMDhCNzExMCAvKiBCYXNpY1NoYXBl
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzZGMkUyRUMxNUY3NENFRjAwNUZGNjY0IC8qIFJlbmRl
ckRpYWxvZy5oIGluIEhlYWRlcnMgKi8sCisJCQkJRkZEODZFNzgxNUY5NTgzNjAwMDQ3MjMzIC8q
IEpTRGVwZW5kZW50UmV0YWluZWQuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlG
b3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXBlbmRlbnRSZXRhaW5lZC5oIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNEZXBlbmRlbnRSZXRhaW5lZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZjNGU4ZjMx
ZjNlNGY2ZmJmODAwYzJiZmJmMWE5MzQ2ODk2MjQzMTAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RlcGVuZGVudFJldGFpbmVkLmgKQEAgLTAsMCArMSw4
NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBKU0RlcGVuZGVudFJldGFpbmVkX2gKKyNkZWZpbmUg
SlNEZXBlbmRlbnRSZXRhaW5lZF9oCisKKyNpbmNsdWRlIDxoZWFwL1dlYWsuaD4KKyNpbmNsdWRl
IDxydW50aW1lL0pTT2JqZWN0Lmg+CisjaW5jbHVkZSA8cnVudGltZS9Qcml2YXRlTmFtZS5oPgor
I2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3Mg
SlNEZXBlbmRlbnRSZXRhaW5lZCB7CitwdWJsaWM6CisgICAgSlNEZXBlbmRlbnRSZXRhaW5lZChK
U0M6OkpTT2JqZWN0KiBvd25lciwgSlNDOjpKU09iamVjdCogdmFsdWUpCisgICAgICAgIDogbV92
YWx1ZSh2YWx1ZSkKKyAgICB7CisgICAgICAgIEFTU0VSVCh2YWx1ZSk7CisgICAgICAgIGlmIChv
d25lcikKKyAgICAgICAgICAgIHJldGFpbihvd25lcik7CisgICAgfQorCisgICAgfkpTRGVwZW5k
ZW50UmV0YWluZWQoKQorICAgIHsKKyAgICAgICAgcmVsZWFzZSgpOworICAgIH0KKworICAgIEpT
Qzo6SlNPYmplY3QqIGdldCgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV92YWx1ZS5n
ZXQoKTsKKyAgICB9CisKKyAgICBib29sIGlzRW1wdHkoKSBjb25zdAorICAgIHsKKyAgICAgICAg
cmV0dXJuICFtX293bmVyIHx8ICFtX3ZhbHVlOworICAgIH0KKworICAgIHZvaWQgcmV0YWluKEpT
Qzo6SlNPYmplY3QqIG93bmVyKQorICAgIHsKKyAgICAgICAgQVNTRVJUKCFtX293bmVyICYmIG93
bmVyKTsKKyAgICAgICAgQVNTRVJUKG1fdmFsdWUpOworICAgICAgICBtX293bmVyID0gSlNDOjpQ
YXNzV2VhazxKU0M6OkpTT2JqZWN0Pihvd25lcik7CisgICAgICAgIG1fb3duZXItPnB1dERpcmVj
dChtX3Byb3BlcnR5TmFtZSwgZ2V0KCkpOworICAgIH0KKworcHJpdmF0ZToKKworICAgIHZvaWQg
cmVsZWFzZSgpCisgICAgeworICAgICAgICBpZiAobV9vd25lcikKKyAgICAgICAgICAgIG1fb3du
ZXItPnJlbW92ZURpcmVjdChtX3Byb3BlcnR5TmFtZSk7CisgICAgICAgIG1fdmFsdWUuY2xlYXIo
KTsKKyAgICAgICAgbV9vd25lci5jbGVhcigpOworICAgIH0KKworICAgIEpTQzo6V2VhazxKU0M6
OkpTT2JqZWN0PiBtX293bmVyOworICAgIEpTQzo6V2VhazxKU0M6OkpTT2JqZWN0PiBtX3ZhbHVl
OworICAgIEpTQzo6UHJpdmF0ZU5hbWUgbV9wcm9wZXJ0eU5hbWU7Cit9OworCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBKU0RlcGVuZGVudFJldGFpbmVkX2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RGVwZW5kZW50UmV0YWluZWQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RGVwZW5kZW50UmV0YWluZWQuaAppbmRleCAxNTIy
ZWE1N2EyM2JjODFjYmUxNWJhNmRmNGQwNDdmYzM0ZGU5NzdlLi42YmYzNWNkZTczYWNjMmQzZGY3
OTc2NjUyZTZmNDVkYmQ4YzBkODliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9WOERlcGVuZGVudFJldGFpbmVkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvVjhEZXBlbmRlbnRSZXRhaW5lZC5oCkBAIC0xLDI5ICsxLDI1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCiAgKgotICogICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAq
IGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0g
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCiAgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KQEAgLTQ0LDE1ICs0MCwx
MyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBWOERlcGVuZGVudFJldGFpbmVkIHsKIHB1
YmxpYzoKICAgICBWOERlcGVuZGVudFJldGFpbmVkKHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gb3du
ZXIsIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gdmFsdWUpCi0gICAgICAgIDogbV9vd25lcihvd25l
cikKLSAgICAgICAgLCBtX3ZhbHVlKHZhbHVlKQorICAgICAgICA6IG1fdmFsdWUodmFsdWUpCiAg
ICAgICAgICwgbV9wcm9wZXJ0eU5hbWUoY3JlYXRlUHJvcGVydHlOYW1lKCkpCiAgICAgewotICAg
ICAgICBBU1NFUlQoIW1fb3duZXIuSXNFbXB0eSgpKTsKICAgICAgICAgQVNTRVJUKCFtX3ZhbHVl
LklzRW1wdHkoKSk7Ci0gICAgICAgIG93bmVyLT5TZXRIaWRkZW5WYWx1ZShtX3Byb3BlcnR5TmFt
ZS5nZXQoKSwgdmFsdWUpOwotICAgICAgICBtX293bmVyLmdldCgpLk1ha2VXZWFrKHRoaXMsICZW
OERlcGVuZGVudFJldGFpbmVkOjpvd25lcldlYWtDYWxsYmFjayk7CiAgICAgICAgIG1fdmFsdWUu
Z2V0KCkuTWFrZVdlYWsodGhpcywgJlY4RGVwZW5kZW50UmV0YWluZWQ6OnZhbHVlV2Vha0NhbGxi
YWNrKTsKKyAgICAgICAgaWYgKG93bmVyKQorICAgICAgICAgICAgcmV0YWluKG93bmVyKTsKICAg
ICB9CiAKICAgICB+VjhEZXBlbmRlbnRSZXRhaW5lZCgpCkBAIC03MCw5ICs2NCwxNCBAQCBwdWJs
aWM6CiAgICAgICAgIHJldHVybiBtX293bmVyLmlzRW1wdHkoKSB8fCBtX3ZhbHVlLmlzRW1wdHko
KTsKICAgICB9CiAKLSAgICAvLyBGSVhNRTogV2UgbWlnaHQgYWRkIGFuIGV4cGxpY2l0IHJldGFp
bih2ODo6SGFuZGxlPHY4OjpPYmplY3Q+KSBtZXRob2QgdG8gYWxsb3cKLSAgICAvLyBjcmVhdGlu
ZyBvbmUgb2YgdGhlc2UgYW5kIGNob29zaW5nIHRoZSBvd25lciBsYXRlci4gU3VjaCBiZWhhdmlv
ciBpcyByZXF1aXJlZAotICAgIC8vIGluIEpTQywgYnV0IG5vdCBpbiB2OCByaWdodCBub3cuCisg
ICAgdm9pZCByZXRhaW4odjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBvd25lcikKKyAgICB7CisgICAg
ICAgIEFTU0VSVChtX293bmVyLmlzRW1wdHkoKSAmJiBvd25lcik7CisgICAgICAgIEFTU0VSVCgh
bV92YWx1ZS5pc0VtcHR5KCkpOworICAgICAgICBvd25lci0+U2V0SGlkZGVuVmFsdWUobV9wcm9w
ZXJ0eU5hbWUuZ2V0KCksIGdldCgpKTsKKyAgICAgICAgbV9vd25lciA9IG93bmVyOworICAgICAg
ICBtX293bmVyLmdldCgpLk1ha2VXZWFrKHRoaXMsICZWOERlcGVuZGVudFJldGFpbmVkOjpvd25l
cldlYWtDYWxsYmFjayk7CisgICAgfQogCiBwcml2YXRlOgogICAgIHN0YXRpYyB2ODo6SGFuZGxl
PHY4OjpTdHJpbmc+IGNyZWF0ZVByb3BlcnR5TmFtZSgpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162624</attachid>
            <date>2012-09-06 17:20:35 -0700</date>
            <delta_ts>2012-09-06 17:25:36 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-96034-20120906172015.patch</filename>
            <type>text/plain</type>
            <size>13394</size>
            <attacher name="Elliott Sprehn">esprehn</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3NzY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzlhNmEzYTEzYWIzYWJh
NWY3MTFhMzkwNTdkMTYwMjkwMTMwODIwZS4uOGQ3MWNmZmIwMTQ0OGQ1Y2EwNjFlMDQzMGQ4YzVl
NzEwMTlhNDI4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTA5LTA2ICBFbGxp
b3R0IFNwcmVobiAgPGVzcHJlaG5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBuZXcgSlNE
ZXBlbmRlbnRSZXRhaW5lZCB0aGF0IGFsbG93cyBrZWVwaW5nIGEgSlNPYmplY3QgYWxpdmUgYXMg
bG9uZyBhcyBhbm90aGVyIGlzIGFsaXZlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05NjAzNAorCisgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdh
cmVuLgorCisgICAgICAgIEFkZCBuZXcgSlNEZXBlbmRlbnRSZXRhaW5lZCAod2l0aCB0aGUgc2Ft
ZSBBUEkgYXMgVjhEZXBlbmRlbnRSZXRhaW5lZCkgdGhhdCBhbGxvd3Mga2VlcGluZworICAgICAg
ICBhIEpTT2JqZWN0IGFsaXZlIGFzIGxvbmcgYXMgYW5vdGhlciBpcyBhbGl2ZS4gVGhpcyBpcyB1
c2VmdWwgZm9yIGtlZXBpbmcgY2FsbGJhY2tzIG9uCisgICAgICAgIHdyYXBwZXJzIHdpdGhvdXQg
a2VlcGluZyBzdHJvbmcgcmVmZXJlbmNlcyBpbnRvIHRoZSBKUyBoZWFwIGluIEMrKyB3aGljaCBj
YW4gcmVzdWx0IGluCisgICAgICAgIGN5Y2xlcyB0aGF0IGNyZWF0ZSBtZW1vcnkgbGVha3MuCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzIG5lZWRlZCwgdGhpcyB3aWxsIGJlIHVzZWQgdG8gZml4IE11
dGF0aW9uT2JzZXJ2ZXJzIGFuZCBVbmRvTWFuYWdlciB3aGljaCB3aWxsIGhhdmUgdGVzdHMuCisK
KyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RlcGVuZGVudFJldGFpbmVkLmg6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChKU0RlcGVuZGVudFJldGFpbmVkKToKKyAg
ICAgICAgKFdlYkNvcmU6OkpTRGVwZW5kZW50UmV0YWluZWQ6OkpTRGVwZW5kZW50UmV0YWluZWQp
OgorICAgICAgICAoV2ViQ29yZTo6SlNEZXBlbmRlbnRSZXRhaW5lZDo6fkpTRGVwZW5kZW50UmV0
YWluZWQpOgorICAgICAgICAoV2ViQ29yZTo6SlNEZXBlbmRlbnRSZXRhaW5lZDo6Z2V0KTogR2V0
IHRoZSBKU09iamVjdCB2YWx1ZS4KKyAgICAgICAgKFdlYkNvcmU6OkpTRGVwZW5kZW50UmV0YWlu
ZWQ6OmlzRW1wdHkpOiBDaGVjayBpZiB0aGUgdmFsdWUgaXMgc3RpbGwgYWxpdmUuCisgICAgICAg
IChXZWJDb3JlOjpKU0RlcGVuZGVudFJldGFpbmVkOjpyZXRhaW4pOiBTZXRzIHRoZSBvd25lciBv
ZiB0aGUgb2JqZWN0LCBzaG91bGQgb25seSBiZSB1c2VkIG9uY2UuCisgICAgICAgIChXZWJDb3Jl
OjpKU0RlcGVuZGVudFJldGFpbmVkOjpyZWxlYXNlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9W
OERlcGVuZGVudFJldGFpbmVkLmg6CisgICAgICAgIChXZWJDb3JlOjpWOERlcGVuZGVudFJldGFp
bmVkOjpWOERlcGVuZGVudFJldGFpbmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlY4RGVwZW5kZW50
UmV0YWluZWQ6OnJldGFpbik6IEFkZGVkIHRoaXMgbWV0aG9kIHNvIHRoZSBBUEkgZm9yIEpTQyBh
bmQgVjggYXJlIGlkZW50aWNhbC4KKwogMjAxMi0wOS0wNiAgWmFuIERvYmVyc2VrICA8emFuZG9i
ZXJzZWtAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgR1RLIGJ1aWxkIGZpeC4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDFlNTQxMGY1YWU4NzQ1NjI1Y2VkYzdhNmFl
MGI4YWI4NDIxYTMzNDkuLjg2ZmY1ZTJmNjhiY2NkN2NlODMwM2M2M2MwNzc3ZDk2ZDllNTg4MzAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMjIzNSw2ICsyMjM1LDcgQEAgd2Vi
Y29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVNR
TFN0YXRlbWVudEVycm9yQ2FsbGJhY2suY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0N1c3RvbVhQYXRoTlNSZXNvbHZlci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyLmggXAorCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRGVwZW5kZW50UmV0YWluZWQuaCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNEaWN0aW9uYXJ5LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEaWN0aW9u
YXJ5LmggXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAgXApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCAxZmY3
YzI3YjgyMzg2NDU5NmVkMzBhMTY0MDU3NDY0NmY5NWIwZDNiLi5iMDAyN2JmNzNkZDViYjI3MjA2
N2I5YjUzNjZjY2VhYjg2Y2Q2MzkzIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvagpAQCAtNjU4NzgsNiArNjU4NzgsMTAgQEAKIAkJCQkJPgogCQkJCTwv
RmlsZT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTRGVw
ZW5kZW50UmV0YWluZWQuaCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQogCQkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTRGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3Rv
bS5jcHAiCiAJCQkJCT4KIAkJCQkJPEZpbGVDb25maWd1cmF0aW9uCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNTNlYzM0ODQ3ZDE2
MjFmYWNhZmU0ZDE0NmJiODlmNmQzNzBhNzQ2MC4uYzQ0NzEzMDM2YTY5YmQzZjEwODY1ZDhlOTc4
ZGYyODA5YTY2NDI2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtNjU0NSw2ICs2NTQ1LDcgQEAKIAkJRkU4MERBNzIwRTlDNDcy
RjAwMEQ2Rjc1IC8qIEpTUG9zaXRpb25FcnJvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRkU4MERBNkUwRTlDNDcyRjAwMEQ2Rjc1IC8qIEpTUG9zaXRp
b25FcnJvci5oICovOyB9OwogCQlGRkQ1Qjk3QTEzNUNDOTc4MDBENUU5MkEgLyogUGFnZVZpc2li
aWxpdHlTdGF0ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGRkQ1Qjk3NzEzNUNDOTc4MDBENUU5MkEgLyogUGFnZVZpc2liaWxpdHlTdGF0ZS5jcHAg
Ki87IH07CiAJCUZGRDVCOTdCMTM1Q0M5NzgwMEQ1RTkyQSAvKiBQYWdlVmlzaWJpbGl0eVN0YXRl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRkQ1Qjk3
ODEzNUNDOTc4MDBENUU5MkEgLyogUGFnZVZpc2liaWxpdHlTdGF0ZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUZGRDg2RTc4MTVGOTU4MzYwMDA0
NzIzMyAvKiBKU0RlcGVuZGVudFJldGFpbmVkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGRkQ4NkU3NzE1Rjk1ODM2MDAwNDcyMzMgLyogSlNEZXBlbmRl
bnRSZXRhaW5lZC5oICovOyB9OwogLyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCiAKIC8q
IEJlZ2luIFBCWENvbnRhaW5lckl0ZW1Qcm94eSBzZWN0aW9uICovCkBAIC0xMzk3MSw2ICsxMzk3
Miw3IEBACiAJCUZFODBEQTZFMEU5QzQ3MkYwMDBENkY3NSAvKiBKU1Bvc2l0aW9uRXJyb3IuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNQb3NpdGlvbkVycm9yLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZGRDVCOTc3MTM1Q0M5NzgwMEQ1RTkyQSAvKiBQYWdl
VmlzaWJpbGl0eVN0YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFBhZ2VWaXNpYmlsaXR5U3RhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlG
RkQ1Qjk3ODEzNUNDOTc4MDBENUU5MkEgLyogUGFnZVZpc2liaWxpdHlTdGF0ZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYWdlVmlzaWJpbGl0eVN0YXRlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUZGRDg2RTc3MTVGOTU4MzYwMDA0NzIzMyAvKiBKU0RlcGVu
ZGVudFJldGFpbmVkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRGVwZW5k
ZW50UmV0YWluZWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIC8qIEVuZCBQQlhGaWxl
UmVmZXJlbmNlIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ug
c2VjdGlvbiAqLwpAQCAtMjAxNjEsNiArMjAxNjMsNyBAQAogCQkJCUM1ODVBNjYxMTFENEZBQzUw
MDRDM0U0QiAvKiBJREJCaW5kaW5nVXRpbGl0aWVzLmggKi8sCiAJCQkJMUM4MUJBMDMwRTk3MzQ4
MzAwMjY2RTA3IC8qIEphdmFTY3JpcHRDYWxsRnJhbWUuY3BwICovLAogCQkJCTFDODFCQTA0MEU5
NzM0ODMwMDI2NkUwNyAvKiBKYXZhU2NyaXB0Q2FsbEZyYW1lLmggKi8sCisJCQkJRkZEODZFNzcx
NUY5NTgzNjAwMDQ3MjMzIC8qIEpTRGVwZW5kZW50UmV0YWluZWQuaCAqLywKIAkJCQlCQ0U0MzhB
MTE0MEMwREJGMDA1RTQzN0UgLyogSlNEaWN0aW9uYXJ5LmNwcCAqLywKIAkJCQlCQ0U0Mzg5QjE0
MEIxQkE3MDA1RTQzN0UgLyogSlNEaWN0aW9uYXJ5LmggKi8sCiAJCQkJOTNCNzBENDcwOUVCMEM3
QzAwOUQ4NDY4IC8qIEpTRE9NQmluZGluZy5jcHAgKi8sCkBAIC0yNTUwMCw2ICsyNTUwMyw3IEBA
CiAJCQkJRkJENkFGOEExNUVGMjVERjAwOEI3MTEwIC8qIEJhc2ljU2hhcGVGdW5jdGlvbnMuaCBp
biBIZWFkZXJzICovLAogCQkJCUZCRDZBRjhDMTVFRjI2MDQwMDhCNzExMCAvKiBCYXNpY1NoYXBl
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzZGMkUyRUMxNUY3NENFRjAwNUZGNjY0IC8qIFJlbmRl
ckRpYWxvZy5oIGluIEhlYWRlcnMgKi8sCisJCQkJRkZEODZFNzgxNUY5NTgzNjAwMDQ3MjMzIC8q
IEpTRGVwZW5kZW50UmV0YWluZWQuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlG
b3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXBlbmRlbnRSZXRhaW5lZC5oIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNEZXBlbmRlbnRSZXRhaW5lZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZjNGU4ZjMx
ZjNlNGY2ZmJmODAwYzJiZmJmMWE5MzQ2ODk2MjQzMTAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RlcGVuZGVudFJldGFpbmVkLmgKQEAgLTAsMCArMSw4
NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBKU0RlcGVuZGVudFJldGFpbmVkX2gKKyNkZWZpbmUg
SlNEZXBlbmRlbnRSZXRhaW5lZF9oCisKKyNpbmNsdWRlIDxoZWFwL1dlYWsuaD4KKyNpbmNsdWRl
IDxydW50aW1lL0pTT2JqZWN0Lmg+CisjaW5jbHVkZSA8cnVudGltZS9Qcml2YXRlTmFtZS5oPgor
I2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3Mg
SlNEZXBlbmRlbnRSZXRhaW5lZCB7CitwdWJsaWM6CisgICAgSlNEZXBlbmRlbnRSZXRhaW5lZChK
U0M6OkpTT2JqZWN0KiBvd25lciwgSlNDOjpKU09iamVjdCogdmFsdWUpCisgICAgICAgIDogbV92
YWx1ZSh2YWx1ZSkKKyAgICB7CisgICAgICAgIEFTU0VSVCh2YWx1ZSk7CisgICAgICAgIGlmIChv
d25lcikKKyAgICAgICAgICAgIHJldGFpbihvd25lcik7CisgICAgfQorCisgICAgfkpTRGVwZW5k
ZW50UmV0YWluZWQoKQorICAgIHsKKyAgICAgICAgcmVsZWFzZSgpOworICAgIH0KKworICAgIEpT
Qzo6SlNPYmplY3QqIGdldCgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV92YWx1ZS5n
ZXQoKTsKKyAgICB9CisKKyAgICBib29sIGlzRW1wdHkoKSBjb25zdAorICAgIHsKKyAgICAgICAg
cmV0dXJuICFtX293bmVyIHx8ICFtX3ZhbHVlOworICAgIH0KKworICAgIHZvaWQgcmV0YWluKEpT
Qzo6SlNPYmplY3QqIG93bmVyKQorICAgIHsKKyAgICAgICAgQVNTRVJUKCFtX293bmVyICYmIG93
bmVyKTsKKyAgICAgICAgQVNTRVJUKG1fdmFsdWUpOworICAgICAgICBtX293bmVyID0gSlNDOjpQ
YXNzV2VhazxKU0M6OkpTT2JqZWN0Pihvd25lcik7CisgICAgICAgIG1fb3duZXItPnB1dERpcmVj
dChtX3Byb3BlcnR5TmFtZSwgZ2V0KCkpOworICAgIH0KKworcHJpdmF0ZToKKworICAgIHZvaWQg
cmVsZWFzZSgpCisgICAgeworICAgICAgICBpZiAobV9vd25lcikKKyAgICAgICAgICAgIG1fb3du
ZXItPnJlbW92ZURpcmVjdChtX3Byb3BlcnR5TmFtZSk7CisgICAgICAgIG1fdmFsdWUuY2xlYXIo
KTsKKyAgICAgICAgbV9vd25lci5jbGVhcigpOworICAgIH0KKworICAgIEpTQzo6V2VhazxKU0M6
OkpTT2JqZWN0PiBtX293bmVyOworICAgIEpTQzo6V2VhazxKU0M6OkpTT2JqZWN0PiBtX3ZhbHVl
OworICAgIEpTQzo6UHJpdmF0ZU5hbWUgbV9wcm9wZXJ0eU5hbWU7Cit9OworCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBKU0RlcGVuZGVudFJldGFpbmVkX2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RGVwZW5kZW50UmV0YWluZWQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RGVwZW5kZW50UmV0YWluZWQuaAppbmRleCAxNTIy
ZWE1N2EyM2JjODFjYmUxNWJhNmRmNGQwNDdmYzM0ZGU5NzdlLi5iMjMzN2ExMmMwZDAwNjVmZTgy
ZDE0NjU1NDdhNjllMjc3Y2E3N2ZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9WOERlcGVuZGVudFJldGFpbmVkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvVjhEZXBlbmRlbnRSZXRhaW5lZC5oCkBAIC0xLDI5ICsxLDI1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCiAgKgotICogICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAq
IGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0g
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCiAgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KQEAgLTQ0LDE1ICs0MCwx
MyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBWOERlcGVuZGVudFJldGFpbmVkIHsKIHB1
YmxpYzoKICAgICBWOERlcGVuZGVudFJldGFpbmVkKHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gb3du
ZXIsIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gdmFsdWUpCi0gICAgICAgIDogbV9vd25lcihvd25l
cikKLSAgICAgICAgLCBtX3ZhbHVlKHZhbHVlKQorICAgICAgICA6IG1fdmFsdWUodmFsdWUpCiAg
ICAgICAgICwgbV9wcm9wZXJ0eU5hbWUoY3JlYXRlUHJvcGVydHlOYW1lKCkpCiAgICAgewotICAg
ICAgICBBU1NFUlQoIW1fb3duZXIuSXNFbXB0eSgpKTsKICAgICAgICAgQVNTRVJUKCFtX3ZhbHVl
LklzRW1wdHkoKSk7Ci0gICAgICAgIG93bmVyLT5TZXRIaWRkZW5WYWx1ZShtX3Byb3BlcnR5TmFt
ZS5nZXQoKSwgdmFsdWUpOwotICAgICAgICBtX293bmVyLmdldCgpLk1ha2VXZWFrKHRoaXMsICZW
OERlcGVuZGVudFJldGFpbmVkOjpvd25lcldlYWtDYWxsYmFjayk7CiAgICAgICAgIG1fdmFsdWUu
Z2V0KCkuTWFrZVdlYWsodGhpcywgJlY4RGVwZW5kZW50UmV0YWluZWQ6OnZhbHVlV2Vha0NhbGxi
YWNrKTsKKyAgICAgICAgaWYgKCFvd25lci5Jc0VtcHR5KCkpCisgICAgICAgICAgICByZXRhaW4o
b3duZXIpOwogICAgIH0KIAogICAgIH5WOERlcGVuZGVudFJldGFpbmVkKCkKQEAgLTcwLDkgKzY0
LDE0IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1fb3duZXIuaXNFbXB0eSgpIHx8IG1fdmFs
dWUuaXNFbXB0eSgpOwogICAgIH0KIAotICAgIC8vIEZJWE1FOiBXZSBtaWdodCBhZGQgYW4gZXhw
bGljaXQgcmV0YWluKHY4OjpIYW5kbGU8djg6Ok9iamVjdD4pIG1ldGhvZCB0byBhbGxvdwotICAg
IC8vIGNyZWF0aW5nIG9uZSBvZiB0aGVzZSBhbmQgY2hvb3NpbmcgdGhlIG93bmVyIGxhdGVyLiBT
dWNoIGJlaGF2aW9yIGlzIHJlcXVpcmVkCi0gICAgLy8gaW4gSlNDLCBidXQgbm90IGluIHY4IHJp
Z2h0IG5vdy4KKyAgICB2b2lkIHJldGFpbih2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IG93bmVyKQor
ICAgIHsKKyAgICAgICAgQVNTRVJUKG1fb3duZXIuaXNFbXB0eSgpICYmICFvd25lci5Jc0VtcHR5
KCkpOworICAgICAgICBBU1NFUlQoIW1fdmFsdWUuaXNFbXB0eSgpKTsKKyAgICAgICAgb3duZXIt
PlNldEhpZGRlblZhbHVlKG1fcHJvcGVydHlOYW1lLmdldCgpLCBnZXQoKSk7CisgICAgICAgIG1f
b3duZXIgPSBvd25lcjsKKyAgICAgICAgbV9vd25lci5nZXQoKS5NYWtlV2Vhayh0aGlzLCAmVjhE
ZXBlbmRlbnRSZXRhaW5lZDo6b3duZXJXZWFrQ2FsbGJhY2spOworICAgIH0KIAogcHJpdmF0ZToK
ICAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6U3RyaW5nPiBjcmVhdGVQcm9wZXJ0eU5hbWUoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162625</attachid>
            <date>2012-09-06 17:25:38 -0700</date>
            <delta_ts>2012-09-11 14:37:19 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-96034-20120906172518.patch</filename>
            <type>text/plain</type>
            <size>13431</size>
            <attacher name="Elliott Sprehn">esprehn</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3NzY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzlhNmEzYTEzYWIzYWJh
NWY3MTFhMzkwNTdkMTYwMjkwMTMwODIwZS4uOGQ3MWNmZmIwMTQ0OGQ1Y2EwNjFlMDQzMGQ4YzVl
NzEwMTlhNDI4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTA5LTA2ICBFbGxp
b3R0IFNwcmVobiAgPGVzcHJlaG5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBuZXcgSlNE
ZXBlbmRlbnRSZXRhaW5lZCB0aGF0IGFsbG93cyBrZWVwaW5nIGEgSlNPYmplY3QgYWxpdmUgYXMg
bG9uZyBhcyBhbm90aGVyIGlzIGFsaXZlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05NjAzNAorCisgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdh
cmVuLgorCisgICAgICAgIEFkZCBuZXcgSlNEZXBlbmRlbnRSZXRhaW5lZCAod2l0aCB0aGUgc2Ft
ZSBBUEkgYXMgVjhEZXBlbmRlbnRSZXRhaW5lZCkgdGhhdCBhbGxvd3Mga2VlcGluZworICAgICAg
ICBhIEpTT2JqZWN0IGFsaXZlIGFzIGxvbmcgYXMgYW5vdGhlciBpcyBhbGl2ZS4gVGhpcyBpcyB1
c2VmdWwgZm9yIGtlZXBpbmcgY2FsbGJhY2tzIG9uCisgICAgICAgIHdyYXBwZXJzIHdpdGhvdXQg
a2VlcGluZyBzdHJvbmcgcmVmZXJlbmNlcyBpbnRvIHRoZSBKUyBoZWFwIGluIEMrKyB3aGljaCBj
YW4gcmVzdWx0IGluCisgICAgICAgIGN5Y2xlcyB0aGF0IGNyZWF0ZSBtZW1vcnkgbGVha3MuCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzIG5lZWRlZCwgdGhpcyB3aWxsIGJlIHVzZWQgdG8gZml4IE11
dGF0aW9uT2JzZXJ2ZXJzIGFuZCBVbmRvTWFuYWdlciB3aGljaCB3aWxsIGhhdmUgdGVzdHMuCisK
KyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RlcGVuZGVudFJldGFpbmVkLmg6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChKU0RlcGVuZGVudFJldGFpbmVkKToKKyAg
ICAgICAgKFdlYkNvcmU6OkpTRGVwZW5kZW50UmV0YWluZWQ6OkpTRGVwZW5kZW50UmV0YWluZWQp
OgorICAgICAgICAoV2ViQ29yZTo6SlNEZXBlbmRlbnRSZXRhaW5lZDo6fkpTRGVwZW5kZW50UmV0
YWluZWQpOgorICAgICAgICAoV2ViQ29yZTo6SlNEZXBlbmRlbnRSZXRhaW5lZDo6Z2V0KTogR2V0
IHRoZSBKU09iamVjdCB2YWx1ZS4KKyAgICAgICAgKFdlYkNvcmU6OkpTRGVwZW5kZW50UmV0YWlu
ZWQ6OmlzRW1wdHkpOiBDaGVjayBpZiB0aGUgdmFsdWUgaXMgc3RpbGwgYWxpdmUuCisgICAgICAg
IChXZWJDb3JlOjpKU0RlcGVuZGVudFJldGFpbmVkOjpyZXRhaW4pOiBTZXRzIHRoZSBvd25lciBv
ZiB0aGUgb2JqZWN0LCBzaG91bGQgb25seSBiZSB1c2VkIG9uY2UuCisgICAgICAgIChXZWJDb3Jl
OjpKU0RlcGVuZGVudFJldGFpbmVkOjpyZWxlYXNlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9W
OERlcGVuZGVudFJldGFpbmVkLmg6CisgICAgICAgIChXZWJDb3JlOjpWOERlcGVuZGVudFJldGFp
bmVkOjpWOERlcGVuZGVudFJldGFpbmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlY4RGVwZW5kZW50
UmV0YWluZWQ6OnJldGFpbik6IEFkZGVkIHRoaXMgbWV0aG9kIHNvIHRoZSBBUEkgZm9yIEpTQyBh
bmQgVjggYXJlIGlkZW50aWNhbC4KKwogMjAxMi0wOS0wNiAgWmFuIERvYmVyc2VrICA8emFuZG9i
ZXJzZWtAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgR1RLIGJ1aWxkIGZpeC4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDFlNTQxMGY1YWU4NzQ1NjI1Y2VkYzdhNmFl
MGI4YWI4NDIxYTMzNDkuLjg2ZmY1ZTJmNjhiY2NkN2NlODMwM2M2M2MwNzc3ZDk2ZDllNTg4MzAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMjIzNSw2ICsyMjM1LDcgQEAgd2Vi
Y29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVNR
TFN0YXRlbWVudEVycm9yQ2FsbGJhY2suY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0N1c3RvbVhQYXRoTlNSZXNvbHZlci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyLmggXAorCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRGVwZW5kZW50UmV0YWluZWQuaCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNEaWN0aW9uYXJ5LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEaWN0aW9u
YXJ5LmggXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAgXApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCAxZmY3
YzI3YjgyMzg2NDU5NmVkMzBhMTY0MDU3NDY0NmY5NWIwZDNiLi5iMDAyN2JmNzNkZDViYjI3MjA2
N2I5YjUzNjZjY2VhYjg2Y2Q2MzkzIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvagpAQCAtNjU4NzgsNiArNjU4NzgsMTAgQEAKIAkJCQkJPgogCQkJCTwv
RmlsZT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTRGVw
ZW5kZW50UmV0YWluZWQuaCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQogCQkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTRGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3Rv
bS5jcHAiCiAJCQkJCT4KIAkJCQkJPEZpbGVDb25maWd1cmF0aW9uCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNTNlYzM0ODQ3ZDE2
MjFmYWNhZmU0ZDE0NmJiODlmNmQzNzBhNzQ2MC4uYzQ0NzEzMDM2YTY5YmQzZjEwODY1ZDhlOTc4
ZGYyODA5YTY2NDI2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtNjU0NSw2ICs2NTQ1LDcgQEAKIAkJRkU4MERBNzIwRTlDNDcy
RjAwMEQ2Rjc1IC8qIEpTUG9zaXRpb25FcnJvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRkU4MERBNkUwRTlDNDcyRjAwMEQ2Rjc1IC8qIEpTUG9zaXRp
b25FcnJvci5oICovOyB9OwogCQlGRkQ1Qjk3QTEzNUNDOTc4MDBENUU5MkEgLyogUGFnZVZpc2li
aWxpdHlTdGF0ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGRkQ1Qjk3NzEzNUNDOTc4MDBENUU5MkEgLyogUGFnZVZpc2liaWxpdHlTdGF0ZS5jcHAg
Ki87IH07CiAJCUZGRDVCOTdCMTM1Q0M5NzgwMEQ1RTkyQSAvKiBQYWdlVmlzaWJpbGl0eVN0YXRl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRkQ1Qjk3
ODEzNUNDOTc4MDBENUU5MkEgLyogUGFnZVZpc2liaWxpdHlTdGF0ZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUZGRDg2RTc4MTVGOTU4MzYwMDA0
NzIzMyAvKiBKU0RlcGVuZGVudFJldGFpbmVkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGRkQ4NkU3NzE1Rjk1ODM2MDAwNDcyMzMgLyogSlNEZXBlbmRl
bnRSZXRhaW5lZC5oICovOyB9OwogLyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCiAKIC8q
IEJlZ2luIFBCWENvbnRhaW5lckl0ZW1Qcm94eSBzZWN0aW9uICovCkBAIC0xMzk3MSw2ICsxMzk3
Miw3IEBACiAJCUZFODBEQTZFMEU5QzQ3MkYwMDBENkY3NSAvKiBKU1Bvc2l0aW9uRXJyb3IuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNQb3NpdGlvbkVycm9yLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZGRDVCOTc3MTM1Q0M5NzgwMEQ1RTkyQSAvKiBQYWdl
VmlzaWJpbGl0eVN0YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFBhZ2VWaXNpYmlsaXR5U3RhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlG
RkQ1Qjk3ODEzNUNDOTc4MDBENUU5MkEgLyogUGFnZVZpc2liaWxpdHlTdGF0ZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYWdlVmlzaWJpbGl0eVN0YXRlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUZGRDg2RTc3MTVGOTU4MzYwMDA0NzIzMyAvKiBKU0RlcGVu
ZGVudFJldGFpbmVkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRGVwZW5k
ZW50UmV0YWluZWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIC8qIEVuZCBQQlhGaWxl
UmVmZXJlbmNlIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ug
c2VjdGlvbiAqLwpAQCAtMjAxNjEsNiArMjAxNjMsNyBAQAogCQkJCUM1ODVBNjYxMTFENEZBQzUw
MDRDM0U0QiAvKiBJREJCaW5kaW5nVXRpbGl0aWVzLmggKi8sCiAJCQkJMUM4MUJBMDMwRTk3MzQ4
MzAwMjY2RTA3IC8qIEphdmFTY3JpcHRDYWxsRnJhbWUuY3BwICovLAogCQkJCTFDODFCQTA0MEU5
NzM0ODMwMDI2NkUwNyAvKiBKYXZhU2NyaXB0Q2FsbEZyYW1lLmggKi8sCisJCQkJRkZEODZFNzcx
NUY5NTgzNjAwMDQ3MjMzIC8qIEpTRGVwZW5kZW50UmV0YWluZWQuaCAqLywKIAkJCQlCQ0U0MzhB
MTE0MEMwREJGMDA1RTQzN0UgLyogSlNEaWN0aW9uYXJ5LmNwcCAqLywKIAkJCQlCQ0U0Mzg5QjE0
MEIxQkE3MDA1RTQzN0UgLyogSlNEaWN0aW9uYXJ5LmggKi8sCiAJCQkJOTNCNzBENDcwOUVCMEM3
QzAwOUQ4NDY4IC8qIEpTRE9NQmluZGluZy5jcHAgKi8sCkBAIC0yNTUwMCw2ICsyNTUwMyw3IEBA
CiAJCQkJRkJENkFGOEExNUVGMjVERjAwOEI3MTEwIC8qIEJhc2ljU2hhcGVGdW5jdGlvbnMuaCBp
biBIZWFkZXJzICovLAogCQkJCUZCRDZBRjhDMTVFRjI2MDQwMDhCNzExMCAvKiBCYXNpY1NoYXBl
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzZGMkUyRUMxNUY3NENFRjAwNUZGNjY0IC8qIFJlbmRl
ckRpYWxvZy5oIGluIEhlYWRlcnMgKi8sCisJCQkJRkZEODZFNzgxNUY5NTgzNjAwMDQ3MjMzIC8q
IEpTRGVwZW5kZW50UmV0YWluZWQuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlG
b3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXBlbmRlbnRSZXRhaW5lZC5oIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNEZXBlbmRlbnRSZXRhaW5lZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZjNGU4ZjMx
ZjNlNGY2ZmJmODAwYzJiZmJmMWE5MzQ2ODk2MjQzMTAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RlcGVuZGVudFJldGFpbmVkLmgKQEAgLTAsMCArMSw4
NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBKU0RlcGVuZGVudFJldGFpbmVkX2gKKyNkZWZpbmUg
SlNEZXBlbmRlbnRSZXRhaW5lZF9oCisKKyNpbmNsdWRlIDxoZWFwL1dlYWsuaD4KKyNpbmNsdWRl
IDxydW50aW1lL0pTT2JqZWN0Lmg+CisjaW5jbHVkZSA8cnVudGltZS9Qcml2YXRlTmFtZS5oPgor
I2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3Mg
SlNEZXBlbmRlbnRSZXRhaW5lZCB7CitwdWJsaWM6CisgICAgSlNEZXBlbmRlbnRSZXRhaW5lZChK
U0M6OkpTT2JqZWN0KiBvd25lciwgSlNDOjpKU09iamVjdCogdmFsdWUpCisgICAgICAgIDogbV92
YWx1ZSh2YWx1ZSkKKyAgICB7CisgICAgICAgIEFTU0VSVCh2YWx1ZSk7CisgICAgICAgIGlmIChv
d25lcikKKyAgICAgICAgICAgIHJldGFpbihvd25lcik7CisgICAgfQorCisgICAgfkpTRGVwZW5k
ZW50UmV0YWluZWQoKQorICAgIHsKKyAgICAgICAgcmVsZWFzZSgpOworICAgIH0KKworICAgIEpT
Qzo6SlNPYmplY3QqIGdldCgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV92YWx1ZS5n
ZXQoKTsKKyAgICB9CisKKyAgICBib29sIGlzRW1wdHkoKSBjb25zdAorICAgIHsKKyAgICAgICAg
cmV0dXJuICFtX293bmVyIHx8ICFtX3ZhbHVlOworICAgIH0KKworICAgIHZvaWQgcmV0YWluKEpT
Qzo6SlNPYmplY3QqIG93bmVyKQorICAgIHsKKyAgICAgICAgQVNTRVJUKCFtX293bmVyICYmIG93
bmVyKTsKKyAgICAgICAgQVNTRVJUKG1fdmFsdWUpOworICAgICAgICBtX293bmVyID0gSlNDOjpQ
YXNzV2VhazxKU0M6OkpTT2JqZWN0Pihvd25lcik7CisgICAgICAgIG1fb3duZXItPnB1dERpcmVj
dChtX3Byb3BlcnR5TmFtZSwgZ2V0KCkpOworICAgIH0KKworcHJpdmF0ZToKKworICAgIHZvaWQg
cmVsZWFzZSgpCisgICAgeworICAgICAgICBpZiAobV9vd25lcikKKyAgICAgICAgICAgIG1fb3du
ZXItPnJlbW92ZURpcmVjdChtX3Byb3BlcnR5TmFtZSk7CisgICAgICAgIG1fdmFsdWUuY2xlYXIo
KTsKKyAgICAgICAgbV9vd25lci5jbGVhcigpOworICAgIH0KKworICAgIEpTQzo6V2VhazxKU0M6
OkpTT2JqZWN0PiBtX293bmVyOworICAgIEpTQzo6V2VhazxKU0M6OkpTT2JqZWN0PiBtX3ZhbHVl
OworICAgIEpTQzo6UHJpdmF0ZU5hbWUgbV9wcm9wZXJ0eU5hbWU7Cit9OworCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBKU0RlcGVuZGVudFJldGFpbmVkX2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RGVwZW5kZW50UmV0YWluZWQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RGVwZW5kZW50UmV0YWluZWQuaAppbmRleCAxNTIy
ZWE1N2EyM2JjODFjYmUxNWJhNmRmNGQwNDdmYzM0ZGU5NzdlLi42ZTU1MDdiNzgzYjk0NTA5ZjZl
Zjk0ZDhkM2M4MDFiYzcwNzNiNTc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9WOERlcGVuZGVudFJldGFpbmVkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvVjhEZXBlbmRlbnRSZXRhaW5lZC5oCkBAIC0xLDI5ICsxLDI1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCiAgKgotICogICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAq
IGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0g
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCiAgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KQEAgLTQ0LDE1ICs0MCwx
MyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBWOERlcGVuZGVudFJldGFpbmVkIHsKIHB1
YmxpYzoKICAgICBWOERlcGVuZGVudFJldGFpbmVkKHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gb3du
ZXIsIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gdmFsdWUpCi0gICAgICAgIDogbV9vd25lcihvd25l
cikKLSAgICAgICAgLCBtX3ZhbHVlKHZhbHVlKQorICAgICAgICA6IG1fdmFsdWUodmFsdWUpCiAg
ICAgICAgICwgbV9wcm9wZXJ0eU5hbWUoY3JlYXRlUHJvcGVydHlOYW1lKCkpCiAgICAgewotICAg
ICAgICBBU1NFUlQoIW1fb3duZXIuSXNFbXB0eSgpKTsKLSAgICAgICAgQVNTRVJUKCFtX3ZhbHVl
LklzRW1wdHkoKSk7Ci0gICAgICAgIG93bmVyLT5TZXRIaWRkZW5WYWx1ZShtX3Byb3BlcnR5TmFt
ZS5nZXQoKSwgdmFsdWUpOwotICAgICAgICBtX293bmVyLmdldCgpLk1ha2VXZWFrKHRoaXMsICZW
OERlcGVuZGVudFJldGFpbmVkOjpvd25lcldlYWtDYWxsYmFjayk7CisgICAgICAgIEFTU0VSVCgh
bV92YWx1ZS5pc0VtcHR5KCkpOwogICAgICAgICBtX3ZhbHVlLmdldCgpLk1ha2VXZWFrKHRoaXMs
ICZWOERlcGVuZGVudFJldGFpbmVkOjp2YWx1ZVdlYWtDYWxsYmFjayk7CisgICAgICAgIGlmICgh
b3duZXIuSXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0YWluKG93bmVyKTsKICAgICB9CiAKICAg
ICB+VjhEZXBlbmRlbnRSZXRhaW5lZCgpCkBAIC03MCw5ICs2NCwxNCBAQCBwdWJsaWM6CiAgICAg
ICAgIHJldHVybiBtX293bmVyLmlzRW1wdHkoKSB8fCBtX3ZhbHVlLmlzRW1wdHkoKTsKICAgICB9
CiAKLSAgICAvLyBGSVhNRTogV2UgbWlnaHQgYWRkIGFuIGV4cGxpY2l0IHJldGFpbih2ODo6SGFu
ZGxlPHY4OjpPYmplY3Q+KSBtZXRob2QgdG8gYWxsb3cKLSAgICAvLyBjcmVhdGluZyBvbmUgb2Yg
dGhlc2UgYW5kIGNob29zaW5nIHRoZSBvd25lciBsYXRlci4gU3VjaCBiZWhhdmlvciBpcyByZXF1
aXJlZAotICAgIC8vIGluIEpTQywgYnV0IG5vdCBpbiB2OCByaWdodCBub3cuCisgICAgdm9pZCBy
ZXRhaW4odjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBvd25lcikKKyAgICB7CisgICAgICAgIEFTU0VS
VChtX293bmVyLmlzRW1wdHkoKSAmJiAhb3duZXIuSXNFbXB0eSgpKTsKKyAgICAgICAgQVNTRVJU
KCFtX3ZhbHVlLmlzRW1wdHkoKSk7CisgICAgICAgIG93bmVyLT5TZXRIaWRkZW5WYWx1ZShtX3By
b3BlcnR5TmFtZS5nZXQoKSwgZ2V0KCkpOworICAgICAgICBtX293bmVyID0gb3duZXI7CisgICAg
ICAgIG1fb3duZXIuZ2V0KCkuTWFrZVdlYWsodGhpcywgJlY4RGVwZW5kZW50UmV0YWluZWQ6Om93
bmVyV2Vha0NhbGxiYWNrKTsKKyAgICB9CiAKIHByaXZhdGU6CiAgICAgc3RhdGljIHY4OjpIYW5k
bGU8djg6OlN0cmluZz4gY3JlYXRlUHJvcGVydHlOYW1lKCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163441</attachid>
            <date>2012-09-11 14:37:22 -0700</date>
            <delta_ts>2012-09-11 15:46:42 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-96034-20120911143657.patch</filename>
            <type>text/plain</type>
            <size>14411</size>
            <attacher name="Elliott Sprehn">esprehn</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4MjI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWVhMzFjYmQxNTM0Yzk1
ODNjMmE5OTJiYjgwNGYwZTE0MGNmM2NmNC4uZjkzYTkxYjM4NzI3YjUxOTNiNzk1MDJlMjE2YzUz
MTAzOGUwMzY2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTA5LTExICBFbGxp
b3R0IFNwcmVobiAgPGVzcHJlaG5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBuZXcgSlNE
ZXBlbmRlbnRSZXRhaW5lZCB0aGF0IGFsbG93cyBrZWVwaW5nIGEgSlNPYmplY3QgYWxpdmUgYXMg
bG9uZyBhcyBhbm90aGVyIGlzIGFsaXZlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05NjAzNAorCisgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdh
cmVuLgorCisgICAgICAgIEFkZCBuZXcgSlNEZXBlbmRlbnRSZXRhaW5lZCAod2l0aCB0aGUgc2Ft
ZSBBUEkgYXMgVjhEZXBlbmRlbnRSZXRhaW5lZCkgdGhhdCBhbGxvd3Mga2VlcGluZworICAgICAg
ICBhIEpTT2JqZWN0IGFsaXZlIGFzIGxvbmcgYXMgYW5vdGhlciBpcyBhbGl2ZS4gVGhpcyBpcyB1
c2VmdWwgZm9yIGtlZXBpbmcgY2FsbGJhY2tzIG9uCisgICAgICAgIHdyYXBwZXJzIHdpdGhvdXQg
a2VlcGluZyBzdHJvbmcgcmVmZXJlbmNlcyBpbnRvIHRoZSBKUyBoZWFwIGluIEMrKyB3aGljaCBj
YW4gcmVzdWx0IGluCisgICAgICAgIGN5Y2xlcyB0aGF0IGNyZWF0ZSBtZW1vcnkgbGVha3MuCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzIG5lZWRlZCwgdGhpcyB3aWxsIGJlIHVzZWQgdG8gZml4IE11
dGF0aW9uT2JzZXJ2ZXJzIGFuZCBVbmRvTWFuYWdlciB3aGljaCB3aWxsIGhhdmUgdGVzdHMuCisK
KyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RlcGVuZGVudFJldGFpbmVkLmg6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChKU0RlcGVuZGVudFJldGFpbmVkKToKKyAg
ICAgICAgKFdlYkNvcmU6OkpTRGVwZW5kZW50UmV0YWluZWQ6OkpTRGVwZW5kZW50UmV0YWluZWQp
OgorICAgICAgICAoV2ViQ29yZTo6SlNEZXBlbmRlbnRSZXRhaW5lZDo6fkpTRGVwZW5kZW50UmV0
YWluZWQpOgorICAgICAgICAoV2ViQ29yZTo6SlNEZXBlbmRlbnRSZXRhaW5lZDo6Z2V0KTogR2V0
IHRoZSBKU09iamVjdCB2YWx1ZS4KKyAgICAgICAgKFdlYkNvcmU6OkpTRGVwZW5kZW50UmV0YWlu
ZWQ6OmlzRW1wdHkpOiBDaGVjayBpZiB0aGUgdmFsdWUgaXMgc3RpbGwgYWxpdmUuCisgICAgICAg
IChXZWJDb3JlOjpKU0RlcGVuZGVudFJldGFpbmVkOjpyZXRhaW4pOiBTZXRzIHRoZSBvd25lciBv
ZiB0aGUgb2JqZWN0LCBzaG91bGQgb25seSBiZSB1c2VkIG9uY2UuCisgICAgICAgIChXZWJDb3Jl
OjpKU0RlcGVuZGVudFJldGFpbmVkOjpyZWxlYXNlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9W
OERlcGVuZGVudFJldGFpbmVkLmg6CisgICAgICAgIChXZWJDb3JlOjpWOERlcGVuZGVudFJldGFp
bmVkOjpWOERlcGVuZGVudFJldGFpbmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlY4RGVwZW5kZW50
UmV0YWluZWQ6OnJldGFpbik6IEFkZGVkIHRoaXMgbWV0aG9kIHNvIHRoZSBBUEkgZm9yIEpTQyBh
bmQgVjggYXJlIGlkZW50aWNhbC4KKwogMjAxMi0wOS0xMSAgUmlrIENhYmFuaWVyICA8Y2FiYW5p
ZXJAYWRvYmUuY29tPgogCiAgICAgICAgIENsZWFuIHVwIGZ1bmN0aW9ucyBpbiBSZW5kZXJMYXll
ckJhY2tpbmcuaC8uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBjYjU0N2Q1
N2QzNGZhYzNhODc4NzRlOTQyNTk3ZjViZDQ2M2Y2YWIzLi5mZTBiZWUwNWM4NGY0Yjk0MGY4NGNh
YjNkODQ5M2VlM2E4YWEyZTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTIy
MzgsNiArMjIzOCw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNDdXN0b21TUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0b21YUGF0aE5TUmVzb2x2ZXIuY3BwIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVhQYXRoTlNSZXNvbHZlci5oIFwKKwlTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RlcGVuZGVudFJldGFpbmVkLmggXAogCVNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRGljdGlvbmFyeS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTUJpbmRpbmcuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oKaW5kZXggYTdiYmUwYmE1Y2Q4YjQ0ZDQ4ZjEyNWQyYTk3ODg3NDVhMjhhN2YxMi4u
Mzg1ZDZhMGJmNTY5NmQwNmM2ZTJiNjQxZTI3NDI5YzVlM2YyMTQ5ZiAxMDA3NTUKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTY1OTI2LDYgKzY1OTI2LDEw
IEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIu
LlxiaW5kaW5nc1xqc1xKU0RlcGVuZGVudFJldGFpbmVkLmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+
CisJCQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU0RlZGljYXRl
ZFdvcmtlckNvbnRleHRDdXN0b20uY3BwIgogCQkJCQk+CiAJCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IGQxYTAzMWJhOWI0ZGY3MDBhODc2OTMwZTI2Njc1NDg2NzYzZGQ4NDguLjNkNWMzMTY4
OWEzOWNhYzc5YjMyNWY5NDQ3Y2Y0M2Y2ZTc2OGZiMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTY1NDgsNiArNjU0OCw3IEBA
CiAJCUZFNkZENDhEMEY2NzZFOTMwMDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVzLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFNkZENDhCMEY2NzZFOTMw
MDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVzLmNwcCAqLzsgfTsKIAkJRkU2RkQ0OEUwRjY3NkU5MzAw
MDkyODczIC8qIEpTQ29vcmRpbmF0ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEZFNkZENDhDMEY2NzZFOTMwMDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVz
LmggKi87IH07CiAJCUZFNzAwREQxMEY5MkQ4MUEwMDhFMkJGRSAvKiBKU0Nvb3JkaW5hdGVzQ3Vz
dG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZF
NzAwREQwMEY5MkQ4MUEwMDhFMkJGRSAvKiBKU0Nvb3JkaW5hdGVzQ3VzdG9tLmNwcCAqLzsgfTsK
KwkJRkZEODZFNzgxNUY5NTgzNjAwMDQ3MjMzIC8qIEpTRGVwZW5kZW50UmV0YWluZWQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGRDg2RTc3MTVGOTU4
MzYwMDA0NzIzMyAvKiBKU0RlcGVuZGVudFJldGFpbmVkLmggKi87IH07CiAJCUZFODBEN0FCMEU5
QzFFRDIwMDBENkY3NSAvKiBKU0dlb2xvY2F0aW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFODBEN0E2MEU5QzFFRDIwMDBENkY3NSAv
KiBKU0dlb2xvY2F0aW9uQ3VzdG9tLmNwcCAqLzsgfTsKIAkJRkU4MERBNjMwRTlDNDcwMzAwMEQ2
Rjc1IC8qIEpTR2VvbG9jYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRkU4MERBNUYwRTlDNDcwMzAwMEQ2Rjc1IC8qIEpTR2VvbG9jYXRpb24u
Y3BwICovOyB9OwogCQlGRTgwREE2NDBFOUM0NzAzMDAwRDZGNzUgLyogSlNHZW9sb2NhdGlvbi5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkU4MERBNjAw
RTlDNDcwMzAwMEQ2Rjc1IC8qIEpTR2VvbG9jYXRpb24uaCAqLzsgfTsKQEAgLTEzOTg4LDYgKzEz
OTg5LDcgQEAKIAkJRkU2RkQ0OEIwRjY3NkU5MzAwMDkyODczIC8qIEpTQ29vcmRpbmF0ZXMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNDb29yZGluYXRlcy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFNkZENDhDMEY2NzZFOTMwMDA5Mjg3MyAv
KiBKU0Nvb3JkaW5hdGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ29v
cmRpbmF0ZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkU3MDBERDAwRjkyRDgx
QTAwOEUyQkZFIC8qIEpTQ29vcmRpbmF0ZXNDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNDb29yZGluYXRlc0N1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUZGRDg2RTc3MTVGOTU4MzYwMDA0NzIzMyAvKiBKU0RlcGVuZGVudFJl
dGFpbmVkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRGVwZW5kZW50UmV0
YWluZWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkU4MEQ3QTYwRTlDMUVEMjAw
MEQ2Rjc1IC8qIEpTR2VvbG9jYXRpb25DdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNHZW9sb2NhdGlvbkN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUZFODBEQTVGMEU5QzQ3MDMwMDBENkY3NSAvKiBKU0dlb2xvY2F0aW9uLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTR2VvbG9jYXRpb24uY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRTgwREE2MDBFOUM0NzAzMDAwRDZGNzUg
LyogSlNHZW9sb2NhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0dl
b2xvY2F0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDE5NSw2ICsyMDE5
Nyw3IEBACiAJCQkJQzU4NUE2NjExMUQ0RkFDNTAwNEMzRTRCIC8qIElEQkJpbmRpbmdVdGlsaXRp
ZXMuaCAqLywKIAkJCQkxQzgxQkEwMzBFOTczNDgzMDAyNjZFMDcgLyogSmF2YVNjcmlwdENhbGxG
cmFtZS5jcHAgKi8sCiAJCQkJMUM4MUJBMDQwRTk3MzQ4MzAwMjY2RTA3IC8qIEphdmFTY3JpcHRD
YWxsRnJhbWUuaCAqLywKKwkJCQlGRkQ4NkU3NzE1Rjk1ODM2MDAwNDcyMzMgLyogSlNEZXBlbmRl
bnRSZXRhaW5lZC5oICovLAogCQkJCUJDRTQzOEExMTQwQzBEQkYwMDVFNDM3RSAvKiBKU0RpY3Rp
b25hcnkuY3BwICovLAogCQkJCUJDRTQzODlCMTQwQjFCQTcwMDVFNDM3RSAvKiBKU0RpY3Rpb25h
cnkuaCAqLywKIAkJCQk5M0I3MEQ0NzA5RUIwQzdDMDA5RDg0NjggLyogSlNET01CaW5kaW5nLmNw
cCAqLywKQEAgLTIzODc2LDYgKzIzODc5LDcgQEAKIAkJCQkyRTk3Q0U3MDEyOTNBRDZCMDBDNUM4
RkYgLyogSlNEYXRhVmlldy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE2MkE0NTgxMDExNDY0NzAw
REZGM0VEIC8qIEpTRGVkaWNhdGVkV29ya2VyQ29udGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RkRBMTVFRDIxMkIwM0Y5NDAwM0E1ODNBIC8qIEpTRGVsYXlOb2RlLmggaW4gSGVhZGVycyAqLywK
KwkJCQlGRkQ4NkU3ODE1Rjk1ODM2MDAwNDcyMzMgLyogSlNEZXBlbmRlbnRSZXRhaW5lZC5oIGlu
IEhlYWRlcnMgKi8KIAkJCQkzMUZCMUE2NjEyMEE1RDNGMDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rp
b25FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTlBODYwMDgxMTlEQUZBMTAwREVGMUVGIC8q
IEpTRGV2aWNlT3JpZW50YXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNFNDM4OUMx
NDBCMUJBODAwNUU0MzdFIC8qIEpTRGljdGlvbmFyeS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RlcGVuZGVudFJldGFpbmVkLmggYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RlcGVuZGVudFJldGFpbmVkLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZmM0ZThmMzFmM2U0ZjZmYmY4MDBjMmJmYmYxYTkzNDY4OTYyNDMxMAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVwZW5kZW50UmV0YWluZWQuaApA
QCAtMCwwICsxLDg3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFs
bCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDUsIDIwMDYsIDIwMDcsIDIw
MDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEpTRGVwZW5kZW50UmV0YWluZWRf
aAorI2RlZmluZSBKU0RlcGVuZGVudFJldGFpbmVkX2gKKworI2luY2x1ZGUgPGhlYXAvV2Vhay5o
PgorI2luY2x1ZGUgPHJ1bnRpbWUvSlNPYmplY3QuaD4KKyNpbmNsdWRlIDxydW50aW1lL1ByaXZh
dGVOYW1lLmg+CisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBKU0RlcGVuZGVudFJldGFpbmVkIHsKK3B1YmxpYzoKKyAgICBKU0RlcGVuZGVu
dFJldGFpbmVkKEpTQzo6SlNPYmplY3QqIG93bmVyLCBKU0M6OkpTT2JqZWN0KiB2YWx1ZSkKKyAg
ICAgICAgOiBtX3ZhbHVlKHZhbHVlKQorICAgIHsKKyAgICAgICAgQVNTRVJUKHZhbHVlKTsKKyAg
ICAgICAgaWYgKG93bmVyKQorICAgICAgICAgICAgcmV0YWluKG93bmVyKTsKKyAgICB9CisKKyAg
ICB+SlNEZXBlbmRlbnRSZXRhaW5lZCgpCisgICAgeworICAgICAgICByZWxlYXNlKCk7CisgICAg
fQorCisgICAgSlNDOjpKU09iamVjdCogZ2V0KCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVy
biBtX3ZhbHVlLmdldCgpOworICAgIH0KKworICAgIGJvb2wgaXNFbXB0eSgpIGNvbnN0CisgICAg
eworICAgICAgICByZXR1cm4gIW1fb3duZXIgfHwgIW1fdmFsdWU7CisgICAgfQorCisgICAgdm9p
ZCByZXRhaW4oSlNDOjpKU09iamVjdCogb3duZXIpCisgICAgeworICAgICAgICBBU1NFUlQoIW1f
b3duZXIgJiYgb3duZXIpOworICAgICAgICBBU1NFUlQobV92YWx1ZSk7CisgICAgICAgIG1fb3du
ZXIgPSBKU0M6OlBhc3NXZWFrPEpTQzo6SlNPYmplY3Q+KG93bmVyKTsKKyAgICAgICAgbV9vd25l
ci0+cHV0RGlyZWN0KG1fcHJvcGVydHlOYW1lLCBnZXQoKSk7CisgICAgfQorCitwcml2YXRlOgor
CisgICAgdm9pZCByZWxlYXNlKCkKKyAgICB7CisgICAgICAgIGlmIChtX293bmVyKQorICAgICAg
ICAgICAgbV9vd25lci0+cmVtb3ZlRGlyZWN0KG1fcHJvcGVydHlOYW1lKTsKKyAgICAgICAgbV92
YWx1ZS5jbGVhcigpOworICAgICAgICBtX293bmVyLmNsZWFyKCk7CisgICAgfQorCisgICAgSlND
OjpXZWFrPEpTQzo6SlNPYmplY3Q+IG1fb3duZXI7CisgICAgSlNDOjpXZWFrPEpTQzo6SlNPYmpl
Y3Q+IG1fdmFsdWU7CisgICAgSlNDOjpQcml2YXRlTmFtZSBtX3Byb3BlcnR5TmFtZTsKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEpTRGVwZW5kZW50UmV0YWluZWRf
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhEZXBlbmRlbnRSZXRh
aW5lZC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhEZXBlbmRlbnRSZXRhaW5lZC5o
CmluZGV4IDE1MjJlYTU3YTIzYmM4MWNiZTE1YmE2ZGY0ZDA0N2ZjMzRkZTk3N2UuLjZlNTUwN2I3
ODNiOTQ1MDlmNmVmOTRkOGQzYzgwMWJjNzA3M2I1NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1Y4RGVwZW5kZW50UmV0YWluZWQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9WOERlcGVuZGVudFJldGFpbmVkLmgKQEAgLTEsMjkgKzEsMjUgQEAKIC8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUK
LSAqIG1ldDoKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
ICAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgot
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKICAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwpAQCAt
NDQsMTUgKzQwLDEzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFY4RGVwZW5kZW50UmV0
YWluZWQgewogcHVibGljOgogICAgIFY4RGVwZW5kZW50UmV0YWluZWQodjg6OkhhbmRsZTx2ODo6
T2JqZWN0PiBvd25lciwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB2YWx1ZSkKLSAgICAgICAgOiBt
X293bmVyKG93bmVyKQotICAgICAgICAsIG1fdmFsdWUodmFsdWUpCisgICAgICAgIDogbV92YWx1
ZSh2YWx1ZSkKICAgICAgICAgLCBtX3Byb3BlcnR5TmFtZShjcmVhdGVQcm9wZXJ0eU5hbWUoKSkK
ICAgICB7Ci0gICAgICAgIEFTU0VSVCghbV9vd25lci5Jc0VtcHR5KCkpOwotICAgICAgICBBU1NF
UlQoIW1fdmFsdWUuSXNFbXB0eSgpKTsKLSAgICAgICAgb3duZXItPlNldEhpZGRlblZhbHVlKG1f
cHJvcGVydHlOYW1lLmdldCgpLCB2YWx1ZSk7Ci0gICAgICAgIG1fb3duZXIuZ2V0KCkuTWFrZVdl
YWsodGhpcywgJlY4RGVwZW5kZW50UmV0YWluZWQ6Om93bmVyV2Vha0NhbGxiYWNrKTsKKyAgICAg
ICAgQVNTRVJUKCFtX3ZhbHVlLmlzRW1wdHkoKSk7CiAgICAgICAgIG1fdmFsdWUuZ2V0KCkuTWFr
ZVdlYWsodGhpcywgJlY4RGVwZW5kZW50UmV0YWluZWQ6OnZhbHVlV2Vha0NhbGxiYWNrKTsKKyAg
ICAgICAgaWYgKCFvd25lci5Jc0VtcHR5KCkpCisgICAgICAgICAgICByZXRhaW4ob3duZXIpOwog
ICAgIH0KIAogICAgIH5WOERlcGVuZGVudFJldGFpbmVkKCkKQEAgLTcwLDkgKzY0LDE0IEBAIHB1
YmxpYzoKICAgICAgICAgcmV0dXJuIG1fb3duZXIuaXNFbXB0eSgpIHx8IG1fdmFsdWUuaXNFbXB0
eSgpOwogICAgIH0KIAotICAgIC8vIEZJWE1FOiBXZSBtaWdodCBhZGQgYW4gZXhwbGljaXQgcmV0
YWluKHY4OjpIYW5kbGU8djg6Ok9iamVjdD4pIG1ldGhvZCB0byBhbGxvdwotICAgIC8vIGNyZWF0
aW5nIG9uZSBvZiB0aGVzZSBhbmQgY2hvb3NpbmcgdGhlIG93bmVyIGxhdGVyLiBTdWNoIGJlaGF2
aW9yIGlzIHJlcXVpcmVkCi0gICAgLy8gaW4gSlNDLCBidXQgbm90IGluIHY4IHJpZ2h0IG5vdy4K
KyAgICB2b2lkIHJldGFpbih2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IG93bmVyKQorICAgIHsKKyAg
ICAgICAgQVNTRVJUKG1fb3duZXIuaXNFbXB0eSgpICYmICFvd25lci5Jc0VtcHR5KCkpOworICAg
ICAgICBBU1NFUlQoIW1fdmFsdWUuaXNFbXB0eSgpKTsKKyAgICAgICAgb3duZXItPlNldEhpZGRl
blZhbHVlKG1fcHJvcGVydHlOYW1lLmdldCgpLCBnZXQoKSk7CisgICAgICAgIG1fb3duZXIgPSBv
d25lcjsKKyAgICAgICAgbV9vd25lci5nZXQoKS5NYWtlV2Vhayh0aGlzLCAmVjhEZXBlbmRlbnRS
ZXRhaW5lZDo6b3duZXJXZWFrQ2FsbGJhY2spOworICAgIH0KIAogcHJpdmF0ZToKICAgICBzdGF0
aWMgdjg6OkhhbmRsZTx2ODo6U3RyaW5nPiBjcmVhdGVQcm9wZXJ0eU5hbWUoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163463</attachid>
            <date>2012-09-11 15:46:45 -0700</date>
            <delta_ts>2012-09-11 17:40:43 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-96034-20120911154619.patch</filename>
            <type>text/plain</type>
            <size>14412</size>
            <attacher name="Elliott Sprehn">esprehn</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4MjI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWVhMzFjYmQxNTM0Yzk1
ODNjMmE5OTJiYjgwNGYwZTE0MGNmM2NmNC4uZjkzYTkxYjM4NzI3YjUxOTNiNzk1MDJlMjE2YzUz
MTAzOGUwMzY2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTA5LTExICBFbGxp
b3R0IFNwcmVobiAgPGVzcHJlaG5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBuZXcgSlNE
ZXBlbmRlbnRSZXRhaW5lZCB0aGF0IGFsbG93cyBrZWVwaW5nIGEgSlNPYmplY3QgYWxpdmUgYXMg
bG9uZyBhcyBhbm90aGVyIGlzIGFsaXZlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05NjAzNAorCisgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdh
cmVuLgorCisgICAgICAgIEFkZCBuZXcgSlNEZXBlbmRlbnRSZXRhaW5lZCAod2l0aCB0aGUgc2Ft
ZSBBUEkgYXMgVjhEZXBlbmRlbnRSZXRhaW5lZCkgdGhhdCBhbGxvd3Mga2VlcGluZworICAgICAg
ICBhIEpTT2JqZWN0IGFsaXZlIGFzIGxvbmcgYXMgYW5vdGhlciBpcyBhbGl2ZS4gVGhpcyBpcyB1
c2VmdWwgZm9yIGtlZXBpbmcgY2FsbGJhY2tzIG9uCisgICAgICAgIHdyYXBwZXJzIHdpdGhvdXQg
a2VlcGluZyBzdHJvbmcgcmVmZXJlbmNlcyBpbnRvIHRoZSBKUyBoZWFwIGluIEMrKyB3aGljaCBj
YW4gcmVzdWx0IGluCisgICAgICAgIGN5Y2xlcyB0aGF0IGNyZWF0ZSBtZW1vcnkgbGVha3MuCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzIG5lZWRlZCwgdGhpcyB3aWxsIGJlIHVzZWQgdG8gZml4IE11
dGF0aW9uT2JzZXJ2ZXJzIGFuZCBVbmRvTWFuYWdlciB3aGljaCB3aWxsIGhhdmUgdGVzdHMuCisK
KyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RlcGVuZGVudFJldGFpbmVkLmg6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChKU0RlcGVuZGVudFJldGFpbmVkKToKKyAg
ICAgICAgKFdlYkNvcmU6OkpTRGVwZW5kZW50UmV0YWluZWQ6OkpTRGVwZW5kZW50UmV0YWluZWQp
OgorICAgICAgICAoV2ViQ29yZTo6SlNEZXBlbmRlbnRSZXRhaW5lZDo6fkpTRGVwZW5kZW50UmV0
YWluZWQpOgorICAgICAgICAoV2ViQ29yZTo6SlNEZXBlbmRlbnRSZXRhaW5lZDo6Z2V0KTogR2V0
IHRoZSBKU09iamVjdCB2YWx1ZS4KKyAgICAgICAgKFdlYkNvcmU6OkpTRGVwZW5kZW50UmV0YWlu
ZWQ6OmlzRW1wdHkpOiBDaGVjayBpZiB0aGUgdmFsdWUgaXMgc3RpbGwgYWxpdmUuCisgICAgICAg
IChXZWJDb3JlOjpKU0RlcGVuZGVudFJldGFpbmVkOjpyZXRhaW4pOiBTZXRzIHRoZSBvd25lciBv
ZiB0aGUgb2JqZWN0LCBzaG91bGQgb25seSBiZSB1c2VkIG9uY2UuCisgICAgICAgIChXZWJDb3Jl
OjpKU0RlcGVuZGVudFJldGFpbmVkOjpyZWxlYXNlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9W
OERlcGVuZGVudFJldGFpbmVkLmg6CisgICAgICAgIChXZWJDb3JlOjpWOERlcGVuZGVudFJldGFp
bmVkOjpWOERlcGVuZGVudFJldGFpbmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlY4RGVwZW5kZW50
UmV0YWluZWQ6OnJldGFpbik6IEFkZGVkIHRoaXMgbWV0aG9kIHNvIHRoZSBBUEkgZm9yIEpTQyBh
bmQgVjggYXJlIGlkZW50aWNhbC4KKwogMjAxMi0wOS0xMSAgUmlrIENhYmFuaWVyICA8Y2FiYW5p
ZXJAYWRvYmUuY29tPgogCiAgICAgICAgIENsZWFuIHVwIGZ1bmN0aW9ucyBpbiBSZW5kZXJMYXll
ckJhY2tpbmcuaC8uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBjYjU0N2Q1
N2QzNGZhYzNhODc4NzRlOTQyNTk3ZjViZDQ2M2Y2YWIzLi5mZTBiZWUwNWM4NGY0Yjk0MGY4NGNh
YjNkODQ5M2VlM2E4YWEyZTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTIy
MzgsNiArMjIzOCw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNDdXN0b21TUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0b21YUGF0aE5TUmVzb2x2ZXIuY3BwIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVhQYXRoTlNSZXNvbHZlci5oIFwKKwlTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RlcGVuZGVudFJldGFpbmVkLmggXAogCVNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRGljdGlvbmFyeS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTUJpbmRpbmcuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oKaW5kZXggYTdiYmUwYmE1Y2Q4YjQ0ZDQ4ZjEyNWQyYTk3ODg3NDVhMjhhN2YxMi4u
Mzg1ZDZhMGJmNTY5NmQwNmM2ZTJiNjQxZTI3NDI5YzVlM2YyMTQ5ZiAxMDA3NTUKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTY1OTI2LDYgKzY1OTI2LDEw
IEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIu
LlxiaW5kaW5nc1xqc1xKU0RlcGVuZGVudFJldGFpbmVkLmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+
CisJCQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU0RlZGljYXRl
ZFdvcmtlckNvbnRleHRDdXN0b20uY3BwIgogCQkJCQk+CiAJCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IGQxYTAzMWJhOWI0ZGY3MDBhODc2OTMwZTI2Njc1NDg2NzYzZGQ4NDguLjNjM2JkOGRm
N2ZmYzc3Y2Q3NDBiM2VhMWZlZTFlNTQ4OWE4NjU4N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTY1NDgsNiArNjU0OCw3IEBA
CiAJCUZFNkZENDhEMEY2NzZFOTMwMDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVzLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFNkZENDhCMEY2NzZFOTMw
MDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVzLmNwcCAqLzsgfTsKIAkJRkU2RkQ0OEUwRjY3NkU5MzAw
MDkyODczIC8qIEpTQ29vcmRpbmF0ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEZFNkZENDhDMEY2NzZFOTMwMDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVz
LmggKi87IH07CiAJCUZFNzAwREQxMEY5MkQ4MUEwMDhFMkJGRSAvKiBKU0Nvb3JkaW5hdGVzQ3Vz
dG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZF
NzAwREQwMEY5MkQ4MUEwMDhFMkJGRSAvKiBKU0Nvb3JkaW5hdGVzQ3VzdG9tLmNwcCAqLzsgfTsK
KwkJRkZEODZFNzgxNUY5NTgzNjAwMDQ3MjMzIC8qIEpTRGVwZW5kZW50UmV0YWluZWQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGRDg2RTc3MTVGOTU4
MzYwMDA0NzIzMyAvKiBKU0RlcGVuZGVudFJldGFpbmVkLmggKi87IH07CiAJCUZFODBEN0FCMEU5
QzFFRDIwMDBENkY3NSAvKiBKU0dlb2xvY2F0aW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFODBEN0E2MEU5QzFFRDIwMDBENkY3NSAv
KiBKU0dlb2xvY2F0aW9uQ3VzdG9tLmNwcCAqLzsgfTsKIAkJRkU4MERBNjMwRTlDNDcwMzAwMEQ2
Rjc1IC8qIEpTR2VvbG9jYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRkU4MERBNUYwRTlDNDcwMzAwMEQ2Rjc1IC8qIEpTR2VvbG9jYXRpb24u
Y3BwICovOyB9OwogCQlGRTgwREE2NDBFOUM0NzAzMDAwRDZGNzUgLyogSlNHZW9sb2NhdGlvbi5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkU4MERBNjAw
RTlDNDcwMzAwMEQ2Rjc1IC8qIEpTR2VvbG9jYXRpb24uaCAqLzsgfTsKQEAgLTEzOTg4LDYgKzEz
OTg5LDcgQEAKIAkJRkU2RkQ0OEIwRjY3NkU5MzAwMDkyODczIC8qIEpTQ29vcmRpbmF0ZXMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNDb29yZGluYXRlcy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFNkZENDhDMEY2NzZFOTMwMDA5Mjg3MyAv
KiBKU0Nvb3JkaW5hdGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ29v
cmRpbmF0ZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkU3MDBERDAwRjkyRDgx
QTAwOEUyQkZFIC8qIEpTQ29vcmRpbmF0ZXNDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNDb29yZGluYXRlc0N1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUZGRDg2RTc3MTVGOTU4MzYwMDA0NzIzMyAvKiBKU0RlcGVuZGVudFJl
dGFpbmVkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRGVwZW5kZW50UmV0
YWluZWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkU4MEQ3QTYwRTlDMUVEMjAw
MEQ2Rjc1IC8qIEpTR2VvbG9jYXRpb25DdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNHZW9sb2NhdGlvbkN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUZFODBEQTVGMEU5QzQ3MDMwMDBENkY3NSAvKiBKU0dlb2xvY2F0aW9uLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTR2VvbG9jYXRpb24uY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRTgwREE2MDBFOUM0NzAzMDAwRDZGNzUg
LyogSlNHZW9sb2NhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0dl
b2xvY2F0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDE5NSw2ICsyMDE5
Nyw3IEBACiAJCQkJQzU4NUE2NjExMUQ0RkFDNTAwNEMzRTRCIC8qIElEQkJpbmRpbmdVdGlsaXRp
ZXMuaCAqLywKIAkJCQkxQzgxQkEwMzBFOTczNDgzMDAyNjZFMDcgLyogSmF2YVNjcmlwdENhbGxG
cmFtZS5jcHAgKi8sCiAJCQkJMUM4MUJBMDQwRTk3MzQ4MzAwMjY2RTA3IC8qIEphdmFTY3JpcHRD
YWxsRnJhbWUuaCAqLywKKwkJCQlGRkQ4NkU3NzE1Rjk1ODM2MDAwNDcyMzMgLyogSlNEZXBlbmRl
bnRSZXRhaW5lZC5oICovLAogCQkJCUJDRTQzOEExMTQwQzBEQkYwMDVFNDM3RSAvKiBKU0RpY3Rp
b25hcnkuY3BwICovLAogCQkJCUJDRTQzODlCMTQwQjFCQTcwMDVFNDM3RSAvKiBKU0RpY3Rpb25h
cnkuaCAqLywKIAkJCQk5M0I3MEQ0NzA5RUIwQzdDMDA5RDg0NjggLyogSlNET01CaW5kaW5nLmNw
cCAqLywKQEAgLTIzODc2LDYgKzIzODc5LDcgQEAKIAkJCQkyRTk3Q0U3MDEyOTNBRDZCMDBDNUM4
RkYgLyogSlNEYXRhVmlldy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE2MkE0NTgxMDExNDY0NzAw
REZGM0VEIC8qIEpTRGVkaWNhdGVkV29ya2VyQ29udGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RkRBMTVFRDIxMkIwM0Y5NDAwM0E1ODNBIC8qIEpTRGVsYXlOb2RlLmggaW4gSGVhZGVycyAqLywK
KwkJCQlGRkQ4NkU3ODE1Rjk1ODM2MDAwNDcyMzMgLyogSlNEZXBlbmRlbnRSZXRhaW5lZC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMzFGQjFBNjYxMjBBNUQzRjAwREMwMkEwIC8qIEpTRGV2aWNlTW90
aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTU5QTg2MDA4MTE5REFGQTEwMERFRjFFRiAv
KiBKU0RldmljZU9yaWVudGF0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRTQzODlD
MTQwQjFCQTgwMDVFNDM3RSAvKiBKU0RpY3Rpb25hcnkuaCBpbiBIZWFkZXJzICovLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXBlbmRlbnRSZXRhaW5lZC5oIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXBlbmRlbnRSZXRhaW5lZC5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmZjNGU4ZjMxZjNlNGY2ZmJmODAwYzJiZmJmMWE5MzQ2ODk2MjQzMTAKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RlcGVuZGVudFJldGFpbmVkLmgK
QEAgLTAsMCArMSw4NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBB
bGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA1LCAyMDA2LCAyMDA3LCAy
MDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBKU0RlcGVuZGVudFJldGFpbmVk
X2gKKyNkZWZpbmUgSlNEZXBlbmRlbnRSZXRhaW5lZF9oCisKKyNpbmNsdWRlIDxoZWFwL1dlYWsu
aD4KKyNpbmNsdWRlIDxydW50aW1lL0pTT2JqZWN0Lmg+CisjaW5jbHVkZSA8cnVudGltZS9Qcml2
YXRlTmFtZS5oPgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgSlNEZXBlbmRlbnRSZXRhaW5lZCB7CitwdWJsaWM6CisgICAgSlNEZXBlbmRl
bnRSZXRhaW5lZChKU0M6OkpTT2JqZWN0KiBvd25lciwgSlNDOjpKU09iamVjdCogdmFsdWUpCisg
ICAgICAgIDogbV92YWx1ZSh2YWx1ZSkKKyAgICB7CisgICAgICAgIEFTU0VSVCh2YWx1ZSk7Cisg
ICAgICAgIGlmIChvd25lcikKKyAgICAgICAgICAgIHJldGFpbihvd25lcik7CisgICAgfQorCisg
ICAgfkpTRGVwZW5kZW50UmV0YWluZWQoKQorICAgIHsKKyAgICAgICAgcmVsZWFzZSgpOworICAg
IH0KKworICAgIEpTQzo6SlNPYmplY3QqIGdldCgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1
cm4gbV92YWx1ZS5nZXQoKTsKKyAgICB9CisKKyAgICBib29sIGlzRW1wdHkoKSBjb25zdAorICAg
IHsKKyAgICAgICAgcmV0dXJuICFtX293bmVyIHx8ICFtX3ZhbHVlOworICAgIH0KKworICAgIHZv
aWQgcmV0YWluKEpTQzo6SlNPYmplY3QqIG93bmVyKQorICAgIHsKKyAgICAgICAgQVNTRVJUKCFt
X293bmVyICYmIG93bmVyKTsKKyAgICAgICAgQVNTRVJUKG1fdmFsdWUpOworICAgICAgICBtX293
bmVyID0gSlNDOjpQYXNzV2VhazxKU0M6OkpTT2JqZWN0Pihvd25lcik7CisgICAgICAgIG1fb3du
ZXItPnB1dERpcmVjdChtX3Byb3BlcnR5TmFtZSwgZ2V0KCkpOworICAgIH0KKworcHJpdmF0ZToK
KworICAgIHZvaWQgcmVsZWFzZSgpCisgICAgeworICAgICAgICBpZiAobV9vd25lcikKKyAgICAg
ICAgICAgIG1fb3duZXItPnJlbW92ZURpcmVjdChtX3Byb3BlcnR5TmFtZSk7CisgICAgICAgIG1f
dmFsdWUuY2xlYXIoKTsKKyAgICAgICAgbV9vd25lci5jbGVhcigpOworICAgIH0KKworICAgIEpT
Qzo6V2VhazxKU0M6OkpTT2JqZWN0PiBtX293bmVyOworICAgIEpTQzo6V2VhazxKU0M6OkpTT2Jq
ZWN0PiBtX3ZhbHVlOworICAgIEpTQzo6UHJpdmF0ZU5hbWUgbV9wcm9wZXJ0eU5hbWU7Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBKU0RlcGVuZGVudFJldGFpbmVk
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RGVwZW5kZW50UmV0
YWluZWQuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RGVwZW5kZW50UmV0YWluZWQu
aAppbmRleCAxNTIyZWE1N2EyM2JjODFjYmUxNWJhNmRmNGQwNDdmYzM0ZGU5NzdlLi42ZTU1MDdi
NzgzYjk0NTA5ZjZlZjk0ZDhkM2M4MDFiYzcwNzNiNTc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9WOERlcGVuZGVudFJldGFpbmVkLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvVjhEZXBlbmRlbnRSZXRhaW5lZC5oCkBAIC0xLDI5ICsxLDI1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
Ci0gKiBtZXQ6CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CiAgKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
LSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoK
LSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCiAgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKICAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KQEAg
LTQ0LDE1ICs0MCwxMyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBWOERlcGVuZGVudFJl
dGFpbmVkIHsKIHB1YmxpYzoKICAgICBWOERlcGVuZGVudFJldGFpbmVkKHY4OjpIYW5kbGU8djg6
Ok9iamVjdD4gb3duZXIsIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gdmFsdWUpCi0gICAgICAgIDog
bV9vd25lcihvd25lcikKLSAgICAgICAgLCBtX3ZhbHVlKHZhbHVlKQorICAgICAgICA6IG1fdmFs
dWUodmFsdWUpCiAgICAgICAgICwgbV9wcm9wZXJ0eU5hbWUoY3JlYXRlUHJvcGVydHlOYW1lKCkp
CiAgICAgewotICAgICAgICBBU1NFUlQoIW1fb3duZXIuSXNFbXB0eSgpKTsKLSAgICAgICAgQVNT
RVJUKCFtX3ZhbHVlLklzRW1wdHkoKSk7Ci0gICAgICAgIG93bmVyLT5TZXRIaWRkZW5WYWx1ZSht
X3Byb3BlcnR5TmFtZS5nZXQoKSwgdmFsdWUpOwotICAgICAgICBtX293bmVyLmdldCgpLk1ha2VX
ZWFrKHRoaXMsICZWOERlcGVuZGVudFJldGFpbmVkOjpvd25lcldlYWtDYWxsYmFjayk7CisgICAg
ICAgIEFTU0VSVCghbV92YWx1ZS5pc0VtcHR5KCkpOwogICAgICAgICBtX3ZhbHVlLmdldCgpLk1h
a2VXZWFrKHRoaXMsICZWOERlcGVuZGVudFJldGFpbmVkOjp2YWx1ZVdlYWtDYWxsYmFjayk7Cisg
ICAgICAgIGlmICghb3duZXIuSXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0YWluKG93bmVyKTsK
ICAgICB9CiAKICAgICB+VjhEZXBlbmRlbnRSZXRhaW5lZCgpCkBAIC03MCw5ICs2NCwxNCBAQCBw
dWJsaWM6CiAgICAgICAgIHJldHVybiBtX293bmVyLmlzRW1wdHkoKSB8fCBtX3ZhbHVlLmlzRW1w
dHkoKTsKICAgICB9CiAKLSAgICAvLyBGSVhNRTogV2UgbWlnaHQgYWRkIGFuIGV4cGxpY2l0IHJl
dGFpbih2ODo6SGFuZGxlPHY4OjpPYmplY3Q+KSBtZXRob2QgdG8gYWxsb3cKLSAgICAvLyBjcmVh
dGluZyBvbmUgb2YgdGhlc2UgYW5kIGNob29zaW5nIHRoZSBvd25lciBsYXRlci4gU3VjaCBiZWhh
dmlvciBpcyByZXF1aXJlZAotICAgIC8vIGluIEpTQywgYnV0IG5vdCBpbiB2OCByaWdodCBub3cu
CisgICAgdm9pZCByZXRhaW4odjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBvd25lcikKKyAgICB7Cisg
ICAgICAgIEFTU0VSVChtX293bmVyLmlzRW1wdHkoKSAmJiAhb3duZXIuSXNFbXB0eSgpKTsKKyAg
ICAgICAgQVNTRVJUKCFtX3ZhbHVlLmlzRW1wdHkoKSk7CisgICAgICAgIG93bmVyLT5TZXRIaWRk
ZW5WYWx1ZShtX3Byb3BlcnR5TmFtZS5nZXQoKSwgZ2V0KCkpOworICAgICAgICBtX293bmVyID0g
b3duZXI7CisgICAgICAgIG1fb3duZXIuZ2V0KCkuTWFrZVdlYWsodGhpcywgJlY4RGVwZW5kZW50
UmV0YWluZWQ6Om93bmVyV2Vha0NhbGxiYWNrKTsKKyAgICB9CiAKIHByaXZhdGU6CiAgICAgc3Rh
dGljIHY4OjpIYW5kbGU8djg6OlN0cmluZz4gY3JlYXRlUHJvcGVydHlOYW1lKCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>