<?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>94870</bug_id>
          
          <creation_ts>2012-08-23 15:46:54 -0700</creation_ts>
          <short_desc>AX: WebCore accessibility roles should be cross-platform</short_desc>
          <delta_ts>2012-09-09 15:04:24 -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>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dominic Mazzoni">dmazzoni</reporter>
          <assigned_to name="Dominic Mazzoni">dmazzoni</assigned_to>
          <cc>abarth</cc>
    
    <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>gustavo</cc>
    
    <cc>jamesr</cc>
    
    <cc>mario</cc>
    
    <cc>mitz</cc>
    
    <cc>peter+ews</cc>
    
    <cc>roger_fong</cc>
    
    <cc>thorton</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>703480</commentid>
    <comment_count>0</comment_count>
    <who name="Dominic Mazzoni">dmazzoni</who>
    <bug_when>2012-08-23 15:46:54 -0700</bug_when>
    <thetext>There are several roles like SplitterRole, ParagraphRole, etc. that are only currently used on some platforms, like GTK. Let&apos;s get rid of the platform-specific logic in WebCore/accessibility, and just map them to the proper native roles on each platform in the platform-specific subdirectories.

This will help avoid subtle bugs where a test behaves differently on one platform because other logic in WebCore uses the role, and also make it easier for platforms to take advantage of more roles as the native roles get expanded.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704258</commentid>
    <comment_count>1</comment_count>
      <attachid>160457</attachid>
    <who name="Dominic Mazzoni">dmazzoni</who>
    <bug_when>2012-08-24 11:12:05 -0700</bug_when>
    <thetext>Created attachment 160457
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704260</commentid>
    <comment_count>2</comment_count>
      <attachid>160457</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-08-24 11:14:14 -0700</bug_when>
    <thetext>Comment on attachment 160457
Patch

looks good</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704261</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-24 11:14:49 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704266</commentid>
    <comment_count>4</comment_count>
      <attachid>160457</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-24 11:19:30 -0700</bug_when>
    <thetext>Comment on attachment 160457
Patch

Attachment 160457 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13600214</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704274</commentid>
    <comment_count>5</comment_count>
      <attachid>160457</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-08-24 11:31:14 -0700</bug_when>
    <thetext>Comment on attachment 160457
Patch

Attachment 160457 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/13601172</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704287</commentid>
    <comment_count>6</comment_count>
      <attachid>160457</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-08-24 11:42:27 -0700</bug_when>
    <thetext>Comment on attachment 160457
Patch

Attachment 160457 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/13597217</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704292</commentid>
    <comment_count>7</comment_count>
      <attachid>160457</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-08-24 11:46:53 -0700</bug_when>
    <thetext>Comment on attachment 160457
Patch

Attachment 160457 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/13596205</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704306</commentid>
    <comment_count>8</comment_count>
      <attachid>160457</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-08-24 11:56:59 -0700</bug_when>
    <thetext>Comment on attachment 160457
Patch

Attachment 160457 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/13599202</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704308</commentid>
    <comment_count>9</comment_count>
      <attachid>160457</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-08-24 11:57:18 -0700</bug_when>
    <thetext>Comment on attachment 160457
Patch

Attachment 160457 did not pass win-ews (win):
Output: http://queues.webkit.org/results/13591338</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704325</commentid>
    <comment_count>10</comment_count>
      <attachid>160457</attachid>
    <who name="Peter Beverloo (cr-android ews)">peter+ews</who>
    <bug_when>2012-08-24 12:15:54 -0700</bug_when>
    <thetext>Comment on attachment 160457
Patch

Attachment 160457 did not pass cr-android-ews (chromium-android):
Output: http://queues.webkit.org/results/13605140</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704349</commentid>
    <comment_count>11</comment_count>
    <who name="Dominic Mazzoni">dmazzoni</who>
    <bug_when>2012-08-24 12:41:48 -0700</bug_when>
    <thetext>Sorry, this won&apos;t compile under after 94302 is re-landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714272</commentid>
    <comment_count>12</comment_count>
      <attachid>162705</attachid>
    <who name="Dominic Mazzoni">dmazzoni</who>
    <bug_when>2012-09-07 01:24:15 -0700</bug_when>
    <thetext>Created attachment 162705
Rebase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714286</commentid>
    <comment_count>13</comment_count>
      <attachid>162709</attachid>
    <who name="Dominic Mazzoni">dmazzoni</who>
    <bug_when>2012-09-07 01:46:10 -0700</bug_when>
    <thetext>Created attachment 162709
Rebase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714329</commentid>
    <comment_count>14</comment_count>
      <attachid>162719</attachid>
    <who name="Dominic Mazzoni">dmazzoni</who>
    <bug_when>2012-09-07 02:55:29 -0700</bug_when>
    <thetext>Created attachment 162719
Rebase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714588</commentid>
    <comment_count>15</comment_count>
      <attachid>162786</attachid>
    <who name="Dominic Mazzoni">dmazzoni</who>
    <bug_when>2012-09-07 09:17:21 -0700</bug_when>
    <thetext>Created attachment 162786
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714858</commentid>
    <comment_count>16</comment_count>
      <attachid>162786</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-07 12:36:33 -0700</bug_when>
    <thetext>Comment on attachment 162786
Patch for landing

Rejecting attachment 162786 from commit-queue.

New failing tests:
platform/chromium/accessibility/chromium-only-roles.html
accessibility/canvas-fallback-content.html
accessibility/div-within-anchors-causes-crash.html
accessibility/adjacent-continuations-cause-assertion-failure.html
accessibility/inline-continuations.html
Full output: http://queues.webkit.org/results/13772837</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715040</commentid>
    <comment_count>17</comment_count>
      <attachid>162882</attachid>
    <who name="Dominic Mazzoni">dmazzoni</who>
    <bug_when>2012-09-07 15:13:39 -0700</bug_when>
    <thetext>Created attachment 162882
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715121</commentid>
    <comment_count>18</comment_count>
      <attachid>162882</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-07 16:46:22 -0700</bug_when>
    <thetext>Comment on attachment 162882
Patch for landing

Clearing flags on attachment: 162882

Committed r127936: &lt;http://trac.webkit.org/changeset/127936&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715122</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-07 16:46:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715239</commentid>
    <comment_count>20</comment_count>
    <who name="">mitz</who>
    <bug_when>2012-09-07 20:02:14 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; (From update of attachment 162882 [details])
&gt; Clearing flags on attachment: 162882
&gt; 
&gt; Committed r127936: &lt;http://trac.webkit.org/changeset/127936&gt;

This change has caused multiple accessibility tests to fail. See &lt;http://build.webkit.org/results/Apple%20MountainLion%20Debug%20WK1%20(Tests)/r127946%20(650)/results.html&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715244</commentid>
    <comment_count>21</comment_count>
    <who name="">mitz</who>
    <bug_when>2012-09-07 20:19:18 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; (In reply to comment #18)
&gt; &gt; (From update of attachment 162882 [details] [details])
&gt; &gt; Clearing flags on attachment: 162882
&gt; &gt; 
&gt; &gt; Committed r127936: &lt;http://trac.webkit.org/changeset/127936&gt;
&gt; 
&gt; This change has caused multiple accessibility tests to fail. See &lt;http://build.webkit.org/results/Apple%20MountainLion%20Debug%20WK1%20(Tests)/r127946%20(650)/results.html&gt;.

Filed bug 96173.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715407</commentid>
    <comment_count>22</comment_count>
    <who name="Roger Fong">roger_fong</who>
    <bug_when>2012-09-08 21:33:00 -0700</bug_when>
    <thetext>It also broke three windows tests:

accessibility/adjacent-continuations-cause-assertion-failure.html
accessibility/deleting-iframe-destroys-axcache.html
accessibility/div-within-anchors-causes-crash.html

But all the diff&apos;s are along the lines of :

 client 
     editable text 
-    grouping 
+    client 
         editable text 
     editable text 
-    grouping 
+    client 
         editable text 
-    grouping 
+    client 
         editable text 
-    grouping 
+    client 
         editable text 
         editable text 
         editable text 

I suspect that due to Windows accessibility limitations that these 3 tests just need Windows specific results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715613</commentid>
    <comment_count>23</comment_count>
    <who name="Dominic Mazzoni">dmazzoni</who>
    <bug_when>2012-09-09 15:04:24 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; It also broke three windows tests:
&gt; 
&gt; accessibility/adjacent-continuations-cause-assertion-failure.html
&gt; accessibility/deleting-iframe-destroys-axcache.html
&gt; accessibility/div-within-anchors-causes-crash.html

Filed this bug and uploaded a patch for review: https://bugs.webkit.org/show_bug.cgi?id=96219</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160457</attachid>
            <date>2012-08-24 11:12:05 -0700</date>
            <delta_ts>2012-09-07 01:24:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-94870-20120824111201.patch</filename>
            <type>text/plain</type>
            <size>13599</size>
            <attacher name="Dominic Mazzoni">dmazzoni</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyNjYwMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDEyLTA4LTI0ICBEb21pbmlj
IE1henpvbmkgIDxkbWF6em9uaUBnb29nbGUuY29tPgorCisgICAgICAgIEFYOiBXZWJDb3JlIGFj
Y2Vzc2liaWxpdHkgcm9sZXMgc2hvdWxkIGJlIGNyb3NzLXBsYXRmb3JtCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDg3MAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgNSBhY2Nlc3NpYmlsaXR5IHJv
bGVzIGNyb3NzLXBsYXRmb3JtIHJhdGhlciB0aGFuIEdUSy1vbmx5LgorCisgICAgICAgIEluc3Rl
YWQgb2YgbWFwcGluZyB0aGUgSFIgdGFnIHRvIFNwbGl0dGVyUm9sZSAod2hpY2ggaXMgYW4gaW50
ZXJhY3RpdmUKKyAgICAgICAgc3BsaXR0ZXIgY29udHJvbCBvbiBNYWMpLCBjcmVhdGUgYSBuZXcg
cm9sZSBIb3Jpem9udGFsUnVsZVJvbGUuCisKKyAgICAgICAgTWFwIGFsbCBvZiB0aGUgbmV3IHJv
bGVzIHRvIEFYR3JvdXAgb24gTWFjLCB3aGljaCBtYXRjaGVzIHRoZSBleGlzdGluZworICAgICAg
ICBiZWhhdmlvci4gQWRkIGEgbmV3IHRlc3QgZm9yIHRoZXNlIHJvbGVzIG9uIENocm9taXVtLgor
CisgICAgICAgIFRlc3Q6IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hyb21pdW0t
b25seS1yb2xlcy5odG1sCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlP
YmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6c3VwcG9y
dHNBUklBQXR0cmlidXRlcyk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0Lmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2Jq
ZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmRl
dGVybWluZUFjY2Vzc2liaWxpdHlSb2xlKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2d0ay9B
Y2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxp
dHlPYmplY3Q6OmFjY2Vzc2liaWxpdHlQbGF0Zm9ybUluY2x1ZGVzT2JqZWN0KToKKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5jcHA6CisgICAg
ICAgIChhdGtSb2xlKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmls
aXR5T2JqZWN0V3JhcHBlci5tbToKKyAgICAgICAgKGNyZWF0ZUFjY2Vzc2liaWxpdHlSb2xlTWFw
KToKKwogMjAxMi0wOC0yNCAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAg
ICAgW05ldyBNdWx0aWNvbHVtbl0gUGx1bWJpbmcgdG8gcHJlcGFyZSBmb3IgY29udGVudHMgcGFp
bnRpbmcgYW5kIGhpdCB0ZXN0aW5nIGltcGxlbWVudGF0aW9uLgpJbmRleDogU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCShyZXZp
c2lvbiAxMjY1NDApCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDg3LDcgKzE0ODcsMTIgQEAgYm9vbCBB
Y2Nlc3NpYmlsaXR5T2JqZWN0Ojppc0luc2lkZUFSSUFMaQogCiBib29sIEFjY2Vzc2liaWxpdHlP
YmplY3Q6OnN1cHBvcnRzQVJJQUF0dHJpYnV0ZXMoKSBjb25zdAogewotICAgIHJldHVybiBzdXBw
b3J0c0FSSUFMaXZlUmVnaW9uKCkgfHwgc3VwcG9ydHNBUklBRHJhZ2dpbmcoKSB8fCBzdXBwb3J0
c0FSSUFEcm9wcGluZygpIHx8IHN1cHBvcnRzQVJJQUZsb3dUbygpIHx8IHN1cHBvcnRzQVJJQU93
bnMoKTsKKyAgICByZXR1cm4gc3VwcG9ydHNBUklBTGl2ZVJlZ2lvbigpCisgICAgICAgIHx8IHN1
cHBvcnRzQVJJQURyYWdnaW5nKCkKKyAgICAgICAgfHwgc3VwcG9ydHNBUklBRHJvcHBpbmcoKQor
ICAgICAgICB8fCBzdXBwb3J0c0FSSUFGbG93VG8oKQorICAgICAgICB8fCBzdXBwb3J0c0FSSUFP
d25zKCkKKyAgICAgICAgfHwgaGFzQXR0cmlidXRlKGFyaWFfbGFiZWxBdHRyKTsKIH0KICAgICAK
IGJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6c3VwcG9ydHNBUklBTGl2ZVJlZ2lvbigpIGNvbnN0
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3Qu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuaAkocmV2aXNpb24gMTI2NTQwKQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTEyOCw2ICsxMjgs
NyBAQCBlbnVtIEFjY2Vzc2liaWxpdHlSb2xlIHsKICAgICBHcm93QXJlYVJvbGUsCiAgICAgSGVh
ZGluZ1JvbGUsCiAgICAgSGVscFRhZ1JvbGUsCisgICAgSG9yaXpvbnRhbFJ1bGVSb2xlLAogICAg
IElnbm9yZWRSb2xlLAogICAgIEltYWdlUm9sZSwKICAgICBJbWFnZU1hcFJvbGUsCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdC5jcHAJKHJldmlzaW9uIDEyNjU0MCkKKysrIFNvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTMyMzcsMTAgKzMyMzcsOSBAQCBBY2Nlc3NpYmlsaXR5Um9sZSBBY2Nlc3NpYmlsaXR5UmVu
ZGVyT2JqCiAgICAgLy8gVGFibGUgc2VjdGlvbnMgc2hvdWxkIGJlIGlnbm9yZWQuCiAgICAgaWYg
KG1fcmVuZGVyZXItPmlzVGFibGVTZWN0aW9uKCkpCiAgICAgICAgIHJldHVybiBJZ25vcmVkUm9s
ZTsKLSAgICAKLSNpZiBQTEFURk9STShHVEspCisKICAgICBpZiAobV9yZW5kZXJlci0+aXNIUigp
KQotICAgICAgICByZXR1cm4gU3BsaXR0ZXJSb2xlOworICAgICAgICByZXR1cm4gSG9yaXpvbnRh
bFJ1bGVSb2xlOwogCiAgICAgaWYgKG5vZGUgJiYgbm9kZS0+aGFzVGFnTmFtZShwVGFnKSkKICAg
ICAgICAgcmV0dXJuIFBhcmFncmFwaFJvbGU7CkBAIC0zMjUzLDEwICszMjUyLDYgQEAgQWNjZXNz
aWJpbGl0eVJvbGUgQWNjZXNzaWJpbGl0eVJlbmRlck9iagogCiAgICAgaWYgKG5vZGUgJiYgbm9k
ZS0+aGFzVGFnTmFtZShmb3JtVGFnKSkKICAgICAgICAgcmV0dXJuIEZvcm1Sb2xlOwotI2Vsc2UK
LSAgICBpZiAobm9kZSAmJiBub2RlLT5oYXNUYWdOYW1lKGxhYmVsVGFnKSkKLSAgICAgICAgcmV0
dXJuIEdyb3VwUm9sZTsKLSNlbmRpZgogCiAgICAgaWYgKG5vZGUgJiYgbm9kZS0+aGFzVGFnTmFt
ZShhcnRpY2xlVGFnKSkKICAgICAgICAgcmV0dXJuIERvY3VtZW50QXJ0aWNsZVJvbGU7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRr
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nl
c3NpYmlsaXR5T2JqZWN0QXRrLmNwcAkocmV2aXNpb24gMTI2NTQwKQorKysgU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTQxLDcgKzQxLDcgQEAgQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbiBBY2Nl
c3NpYmlsaQogICAgICAgICByZXR1cm4gRGVmYXVsdEJlaGF2aW9yOwogCiAgICAgQWNjZXNzaWJp
bGl0eVJvbGUgcm9sZSA9IHJvbGVWYWx1ZSgpOwotICAgIGlmIChyb2xlID09IFNwbGl0dGVyUm9s
ZSkKKyAgICBpZiAocm9sZSA9PSBIb3Jpem9udGFsUnVsZVJvbGUpCiAgICAgICAgIHJldHVybiBJ
bmNsdWRlT2JqZWN0OwogCiAgICAgLy8gV2UgZXhwb3NlIHRoZSBzbGlkZXIgYXMgYSB3aG9sZSBi
dXQgbm90IGl0cyB2YWx1ZSBpbmRpY2F0b3IuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L2d0ay9XZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvV2ViS2l0QWNjZXNzaWJsZVdyYXBwZXJB
dGsuY3BwCShyZXZpc2lvbiAxMjY1NDApCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2d0ay9XZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3
Niw3ICs0NzYsNyBAQCBzdGF0aWMgQXRrUm9sZSBhdGtSb2xlKEFjY2Vzc2liaWxpdHlSb2xlCiAg
ICAgY2FzZSBTcGxpdEdyb3VwUm9sZToKICAgICAgICAgcmV0dXJuIEFUS19ST0xFX1NQTElUX1BB
TkU7CiAgICAgY2FzZSBTcGxpdHRlclJvbGU6Ci0gICAgICAgIHJldHVybiBBVEtfUk9MRV9TRVBB
UkFUT1I7CisgICAgICAgIHJldHVybiBBVEtfUk9MRV9VTktOT1dOOwogICAgIGNhc2UgQ29sb3JX
ZWxsUm9sZToKICAgICAgICAgcmV0dXJuIEFUS19ST0xFX0NPTE9SX0NIT09TRVI7CiAgICAgY2Fz
ZSBMaXN0Um9sZToKQEAgLTUyNCw2ICs1MjQsOCBAQCBzdGF0aWMgQXRrUm9sZSBhdGtSb2xlKEFj
Y2Vzc2liaWxpdHlSb2xlCiAgICAgICAgIHJldHVybiBBVEtfUk9MRV9TRUNUSU9OOwogICAgIGNh
c2UgRm9ybVJvbGU6CiAgICAgICAgIHJldHVybiBBVEtfUk9MRV9GT1JNOworICAgIGNhc2UgSG9y
aXpvbnRhbFJ1bGVSb2xlOgorICAgICAgICByZXR1cm4gQVRLX1JPTEVfU0VQQVJBVE9SOwogICAg
IGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiBBVEtfUk9MRV9VTktOT1dOOwogICAgIH0KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RX
cmFwcGVyLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFj
L1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLm1tCShyZXZpc2lvbiAxMjY1NDApCisrKyBT
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3Jh
cHBlci5tbQkod29ya2luZyBjb3B5KQpAQCAtMTU3OCw3ICsxNTc4LDggQEAgc3RhdGljIGNvbnN0
IEFjY2Vzc2liaWxpdHlSb2xlTWFwJiBjcmVhdAogICAgICAgICB7IEZvcm1Sb2xlLCBOU0FjY2Vz
c2liaWxpdHlHcm91cFJvbGUgfSwKICAgICAgICAgeyBTcGluQnV0dG9uUm9sZSwgTlNBY2Nlc3Np
YmlsaXR5SW5jcmVtZW50b3JSb2xlIH0sCiAgICAgICAgIHsgRm9vdGVyUm9sZSwgTlNBY2Nlc3Np
YmlsaXR5R3JvdXBSb2xlIH0sCi0gICAgICAgIHsgVG9nZ2xlQnV0dG9uUm9sZSwgTlNBY2Nlc3Np
YmlsaXR5QnV0dG9uUm9sZSB9CisgICAgICAgIHsgVG9nZ2xlQnV0dG9uUm9sZSwgTlNBY2Nlc3Np
YmlsaXR5QnV0dG9uUm9sZSB9LAorICAgICAgICB7IEhvcml6b250YWxSdWxlUm9sZSwgTlNBY2Nl
c3NpYmlsaXR5R3JvdXBSb2xlIH0KICAgICB9OwogICAgIEFjY2Vzc2liaWxpdHlSb2xlTWFwJiBy
b2xlTWFwID0gKm5ldyBBY2Nlc3NpYmlsaXR5Um9sZU1hcDsKICAgICAKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiAxMjY2MDMpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA4LTI0
ICBEb21pbmljIE1henpvbmkgIDxkbWF6em9uaUBnb29nbGUuY29tPgorCisgICAgICAgIEFYOiBX
ZWJDb3JlIGFjY2Vzc2liaWxpdHkgcm9sZXMgc2hvdWxkIGJlIGNyb3NzLXBsYXRmb3JtCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDg3MAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIG5ldyBhY2Nl
c3NpYmlsaXR5IHJvbGUuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViQWNjZXNzaWJpbGl0eVJvbGUu
aDoKKyAgICAgICAgKiBzcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHA6CisKIDIwMTItMDgtMjQg
IFRvbW15IFdpZGVuZmx5Y2h0ICA8dG9tbXl3QGdvb2dsZS5jb20+CiAKICAgICAgICAgTWVkaWFT
dHJlYW0gQVBJOiBBZGQgcmVhZHlTdGF0ZSBmdW5jdGlvbmFsaXR5IHRvIFJUQ1BlZXJDb25uZWN0
aW9uCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5
Um9sZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkFj
Y2Vzc2liaWxpdHlSb2xlLmgJKHJldmlzaW9uIDEyNjU0MCkKKysrIFNvdXJjZS9XZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYkFjY2Vzc2liaWxpdHlSb2xlLmgJKHdvcmtpbmcgY29weSkKQEAgLTc0
LDYgKzc0LDcgQEAgZW51bSBXZWJBY2Nlc3NpYmlsaXR5Um9sZSB7CiAgICAgV2ViQWNjZXNzaWJp
bGl0eVJvbGVHcm93QXJlYSwKICAgICBXZWJBY2Nlc3NpYmlsaXR5Um9sZUhlYWRpbmcsCiAgICAg
V2ViQWNjZXNzaWJpbGl0eVJvbGVIZWxwVGFnLAorICAgIFdlYkFjY2Vzc2liaWxpdHlSb2xlSG9y
aXpvbnRhbFJ1bGUsCiAgICAgV2ViQWNjZXNzaWJpbGl0eVJvbGVJZ25vcmVkLAogICAgIFdlYkFj
Y2Vzc2liaWxpdHlSb2xlSW1hZ2UsCiAgICAgV2ViQWNjZXNzaWJpbGl0eVJvbGVJbWFnZU1hcCwK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5n
RW51bXMuY3BwCShyZXZpc2lvbiAxMjY1NDApCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjU4LDYgKzI1OCw3
IEBAIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQWNjZXNzaWIKIENPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oV2ViQWNjZXNzaWJpbGl0eVJvbGVEb2N1bWVudFJlZ2lvbiwgRG9j
dW1lbnRSZWdpb25Sb2xlKTsKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQWNjZXNz
aWJpbGl0eVJvbGVVc2VySW50ZXJmYWNlVG9vbHRpcCwgVXNlckludGVyZmFjZVRvb2x0aXBSb2xl
KTsKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQWNjZXNzaWJpbGl0eVJvbGVUb2dn
bGVCdXR0b24sIFRvZ2dsZUJ1dHRvblJvbGUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShXZWJBY2Nlc3NpYmlsaXR5Um9sZUhvcml6b250YWxSdWxlLCBIb3Jpem9udGFsUnVsZVJvbGUp
OwogCiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkFwcGxpY2F0aW9uQ2FjaGVIb3N0
OjpVbmNhY2hlZCwgQXBwbGljYXRpb25DYWNoZUhvc3Q6OlVOQ0FDSEVEKTsKIENPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oV2ViQXBwbGljYXRpb25DYWNoZUhvc3Q6OklkbGUsIEFwcGxpY2F0
aW9uQ2FjaGVIb3N0OjpJRExFKTsKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyNjYwMykKKysrIFRvb2xzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA4LTI0ICBEb21pbmljIE1henpv
bmkgIDxkbWF6em9uaUBnb29nbGUuY29tPgorCisgICAgICAgIEFYOiBXZWJDb3JlIGFjY2Vzc2li
aWxpdHkgcm9sZXMgc2hvdWxkIGJlIGNyb3NzLXBsYXRmb3JtCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDg3MAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBkZWJ1ZyBzdHJpbmdzIHRvIENocm9taXVt
IGZvciBuZXcgYWNjZXNzaWJpbGl0eSByb2xlcy4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1Rlc3RSdW5uZXIvQWNjZXNzaWJpbGl0eVVJRWxlbWVudENocm9taXVtLmNwcDoK
KyAgICAgICAgKHJvbGVUb1N0cmluZyk6CisKIDIwMTItMDgtMjQgIEFybmF1ZCBSZW5ldmllciAg
PGEucmVuZXZpZXJAc2lzYS5zYW1zdW5nLmNvbT4KIAogICAgICAgICBidWlsZC13ZWJraXQgLS1n
dGsgZmFpbHMgd2l0aCBDYW4ndCBleGVjICIiCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9UZXN0UnVubmVyL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRDaHJvbWl1bS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9BY2Nl
c3NpYmlsaXR5VUlFbGVtZW50Q2hyb21pdW0uY3BwCShyZXZpc2lvbiAxMjY1NDApCisrKyBUb29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL0FjY2Vzc2liaWxpdHlVSUVsZW1l
bnRDaHJvbWl1bS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwNiw2ICsyMDYsMTYgQEAgc3RhdGlj
IHN0cmluZyByb2xlVG9TdHJpbmcoV2ViQWNjZXNzaWJpbAogICAgICAgICByZXR1cm4gcmVzdWx0
LmFwcGVuZCgiVXNlckludGVyZmFjZVRvb2x0aXAiKTsKICAgICBjYXNlIFdlYkFjY2Vzc2liaWxp
dHlSb2xlVG9nZ2xlQnV0dG9uOgogICAgICAgICByZXR1cm4gcmVzdWx0LmFwcGVuZCgiVG9nZ2xl
QnV0dG9uIik7CisgICAgY2FzZSBXZWJBY2Nlc3NpYmlsaXR5Um9sZVBhcmFncmFwaDoKKyAgICAg
ICAgcmV0dXJuIHJlc3VsdC5hcHBlbmQoIlBhcmFncmFwaCIpOworICAgIGNhc2UgV2ViQWNjZXNz
aWJpbGl0eVJvbGVEaXY6CisgICAgICAgIHJldHVybiByZXN1bHQuYXBwZW5kKCJEaXYiKTsKKyAg
ICBjYXNlIFdlYkFjY2Vzc2liaWxpdHlSb2xlTGFiZWw6CisgICAgICAgIHJldHVybiByZXN1bHQu
YXBwZW5kKCJMYWJlbCIpOworICAgIGNhc2UgV2ViQWNjZXNzaWJpbGl0eVJvbGVGb3JtOgorICAg
ICAgICByZXR1cm4gcmVzdWx0LmFwcGVuZCgiRm9ybSIpOworICAgIGNhc2UgV2ViQWNjZXNzaWJp
bGl0eVJvbGVIb3Jpem9udGFsUnVsZToKKyAgICAgICAgcmV0dXJuIHJlc3VsdC5hcHBlbmQoIkhv
cml6b250YWxSdWxlIik7CiAgICAgZGVmYXVsdDoKICAgICAgICAgLy8gQWxzbyBtYXRjaGVzIFdl
YkFjY2Vzc2liaWxpdHlSb2xlVW5rbm93bi4KICAgICAgICAgcmV0dXJuIHJlc3VsdC5hcHBlbmQo
IlVua25vd24iKTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyNjYwMykKKysrIExheW91dFRlc3RzL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA4LTI0ICBEb21p
bmljIE1henpvbmkgIDxkbWF6em9uaUBnb29nbGUuY29tPgorCisgICAgICAgIEFYOiBXZWJDb3Jl
IGFjY2Vzc2liaWxpdHkgcm9sZXMgc2hvdWxkIGJlIGNyb3NzLXBsYXRmb3JtCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDg3MAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZHMgYSB0ZXN0IGZvciBzb21l
IG5ldyBhY2Nlc3NpYmlsaXR5IHJvbGVzIHRoYXQgYXJlbid0IHByZXNlbnQgb24gYWxsIHBsYXRm
b3Jtcy4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hyb21p
dW0tb25seS1yb2xlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2No
cm9taXVtL2FjY2Vzc2liaWxpdHkvY2hyb21pdW0tb25seS1yb2xlcy5odG1sOiBBZGRlZC4KKwog
MjAxMi0wOC0yNCAgWmFuIERvYmVyc2VrICA8emFuZG9iZXJzZWtAZ21haWwuY29tPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQgR1RLIGdhcmRlbmluZy4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hyb21pdW0tb25seS1yb2xlcy1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9jaHJvbWl1bS1vbmx5LXJvbGVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hyb21pdW0tb25seS1yb2xl
cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTQgQEAKK0NvbnRlbnQtVHlw
ZTogdGV4dC9wbGFpbgorVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBhIGdlbmVyaWMgZm9jdXNh
YmxlIGRpdiBjYW4gZ2V0IGFjY2Vzc2liaWxpdHkgZm9jdXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCitQQVNTIGF4Q29udGFpbmVyLmNoaWxkQXRJbmRleCgwKS5yb2xlIGlzICJB
WFJvbGU6IEFYSG9yaXpvbnRhbFJ1bGUiCitQQVNTIGF4Q29udGFpbmVyLmNoaWxkQXRJbmRleCgx
KS5yb2xlIGlzICJBWFJvbGU6IEFYUGFyYWdyYXBoIgorUEFTUyBheENvbnRhaW5lci5jaGlsZEF0
SW5kZXgoMikucm9sZSBpcyAiQVhSb2xlOiBBWExhYmVsIgorUEFTUyBheENvbnRhaW5lci5jaGls
ZEF0SW5kZXgoMykucm9sZSBpcyAiQVhSb2xlOiBBWEZvcm0iCitQQVNTIGF4Q29udGFpbmVyLmNo
aWxkQXRJbmRleCg0KS5yb2xlIGlzICJBWFJvbGU6IEFYRGl2IgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2Nocm9taXVtLW9ubHktcm9s
ZXMtZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKICAgKyBMRgoK
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hyb21p
dW0tb25seS1yb2xlcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2FjY2Vzc2liaWxpdHkvY2hyb21pdW0tb25seS1yb2xlcy5odG1sCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9jaHJvbWl1
bS1vbmx5LXJvbGVzLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzUgQEAKKzwhRE9DVFlQ
RSBIVE1MPgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisKKzxkaXYgaWQ9ImNvbnRhaW5lciIg
Y29udGVudEVkaXRhYmxlPgorICA8aHIgYXJpYS1sYWJlbD0iaHIiPgorICA8cCBhcmlhLWxhYmVs
PSJwIj48L3A+CisgIDxsYWJlbCBhcmlhLWxhYmVsPSJsYWJlbCI+PC9sYWJlbD4KKyAgPGZvcm0g
YXJpYS1sYWJlbD0iZm9ybSI+PC9mb3JtPgorICA8ZGl2IGFyaWEtbGFiZWw9ImRpdiI+PC9kaXY+
Cis8L2Rpdj4KKworPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgYSBnZW5lcmljIGZvY3VzYWJsZSBkaXYgY2Fu
IGdldCBhY2Nlc3NpYmlsaXR5IGZvY3VzLiIpOworCitpZiAod2luZG93LnRlc3RSdW5uZXIgJiYg
d2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisgICAgd2luZG93LnRlc3RSdW5uZXIu
ZHVtcEFzVGV4dCgpOworCisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicp
LmZvY3VzKCk7CisgICAgdmFyIGF4Q29udGFpbmVyID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIu
Zm9jdXNlZEVsZW1lbnQ7CisKKyAgICBzaG91bGRCZSgnYXhDb250YWluZXIuY2hpbGRBdEluZGV4
KDApLnJvbGUnLCAnIkFYUm9sZTogQVhIb3Jpem9udGFsUnVsZSInKTsKKyAgICBzaG91bGRCZSgn
YXhDb250YWluZXIuY2hpbGRBdEluZGV4KDEpLnJvbGUnLCAnIkFYUm9sZTogQVhQYXJhZ3JhcGgi
Jyk7CisgICAgc2hvdWxkQmUoJ2F4Q29udGFpbmVyLmNoaWxkQXRJbmRleCgyKS5yb2xlJywgJyJB
WFJvbGU6IEFYTGFiZWwiJyk7CisgICAgc2hvdWxkQmUoJ2F4Q29udGFpbmVyLmNoaWxkQXRJbmRl
eCgzKS5yb2xlJywgJyJBWFJvbGU6IEFYRm9ybSInKTsKKyAgICBzaG91bGRCZSgnYXhDb250YWlu
ZXIuY2hpbGRBdEluZGV4KDQpLnJvbGUnLCAnIkFYUm9sZTogQVhEaXYiJyk7Cit9CisKKzwvc2Ny
aXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KClByb3BlcnR5IGNoYW5nZXMgb246
IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hyb21pdW0tb25s
eS1yb2xlcy5odG1sCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjptaW1lLXR5cGUKICAgKyB0ZXh0L2h0
bWwKQWRkZWQ6IHN2bjplb2wtc3R5bGUKICAgKyBMRgoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162705</attachid>
            <date>2012-09-07 01:24:15 -0700</date>
            <delta_ts>2012-09-07 01:46:07 -0700</delta_ts>
            <desc>Rebase</desc>
            <filename>bug-94870-20120907012354.patch</filename>
            <type>text/plain</type>
            <size>12279</size>
            <attacher name="Dominic Mazzoni">dmazzoni</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3MjYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2M2Yjk1MDI1Nzk2YjQ3
ODJiZjZjYzA4YzQyOGYyMGUxOWQxY2MyOS4uMjRjZmY3ZGJlZDg2OWMzN2I3MzdmNTU1NTM1NzM2
YzRlMmY4OTI3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTA5LTA3ICBEb21p
bmljIE1henpvbmkgIDxkbWF6em9uaUBnb29nbGUuY29tPgorCisgICAgICAgIEFYOiBXZWJDb3Jl
IGFjY2Vzc2liaWxpdHkgcm9sZXMgc2hvdWxkIGJlIGNyb3NzLXBsYXRmb3JtCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDg3MAorCisgICAgICAgIFJl
dmlld2VkIGJ5IENocmlzIEZsZWl6YWNoLgorCisgICAgICAgIE1ha2UgNSBhY2Nlc3NpYmlsaXR5
IHJvbGVzIGNyb3NzLXBsYXRmb3JtIHJhdGhlciB0aGFuIEdUSy1vbmx5LgorCisgICAgICAgIElu
c3RlYWQgb2YgbWFwcGluZyB0aGUgSFIgdGFnIHRvIFNwbGl0dGVyUm9sZSAod2hpY2ggaXMgYW4g
aW50ZXJhY3RpdmUKKyAgICAgICAgc3BsaXR0ZXIgY29udHJvbCBvbiBNYWMpLCBjcmVhdGUgYSBu
ZXcgcm9sZSBIb3Jpem9udGFsUnVsZVJvbGUuCisKKyAgICAgICAgTWFwIGFsbCBvZiB0aGUgbmV3
IHJvbGVzIHRvIEFYR3JvdXAgb24gTWFjLCB3aGljaCBtYXRjaGVzIHRoZSBleGlzdGluZworICAg
ICAgICBiZWhhdmlvci4gQWRkIGEgbmV3IHRlc3QgZm9yIHRoZXNlIHJvbGVzIG9uIENocm9taXVt
LgorCisgICAgICAgIFRlc3Q6IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hyb21p
dW0tb25seS1yb2xlcy5odG1sCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6c3Vw
cG9ydHNBUklBQXR0cmlidXRlcyk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5T2JqZWN0Lmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6
OmRldGVybWluZUFjY2Vzc2liaWxpdHlSb2xlKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2d0
ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2li
aWxpdHlPYmplY3Q6OmFjY2Vzc2liaWxpdHlQbGF0Zm9ybUluY2x1ZGVzT2JqZWN0KToKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5jcHA6Cisg
ICAgICAgIChhdGtSb2xlKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlci5tbToKKyAgICAgICAgKGNyZWF0ZUFjY2Vzc2liaWxpdHlSb2xl
TWFwKToKKwogMjAxMi0wOC0zMSAgQW5kcmV5IEtvc3lha292ICA8Y2FzZXFAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGRpc2FibGUgcG9wb3ZlciBvbiBjbGljayBvdXRz
aWRlIG9mIHBvcG92ZXIgYW5jaG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDZkMjA0
NTdhZGIxZmM0YTA0MThjNDY4OGJlNWUyMGVmZGExZmM2NGUuLjdlNjczMmZhZGM2MjZhNWIzZGRh
Yjk5N2E1ZTQ1OTc4MzE1MDZlZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMTItMDktMDcgIERvbWluaWMgTWF6em9uaSAgPGRtYXp6b25pQGdvb2dsZS5j
b20+CisKKyAgICAgICAgQVg6IFdlYkNvcmUgYWNjZXNzaWJpbGl0eSByb2xlcyBzaG91bGQgYmUg
Y3Jvc3MtcGxhdGZvcm0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTk0ODcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMgRmxlaXphY2guCisKKyAg
ICAgICAgQWRkIGEgbmV3IGFjY2Vzc2liaWxpdHkgcm9sZS4KKworICAgICAgICAqIHB1YmxpYy9X
ZWJBY2Nlc3NpYmlsaXR5Um9sZS5oOgorICAgICAgICAqIHNyYy9Bc3NlcnRNYXRjaGluZ0VudW1z
LmNwcDoKKwogMjAxMi0wOC0zMSAgR2F2aW4gUGV0ZXJzICA8Z2F2aW5wQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBbY2hyb21pdW1dIERpc2FibGUgV2ViVmlld1Rlc3QuQXV0b1Jlc2l6ZU1pbmlt
dW1TaXplCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5T2JqZWN0LmNwcAppbmRleCA1ZjEyYzAzYWM3Mzg2OGFkMDVjNmE4MWZjMmM4ZDkwNjQ2Yzli
OTU5Li5kNzMxZjUxNTAwYmY4MjYwZjgxNzViYjJjM2JlMzdiZDU3ZjZiZTg3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAK
QEAgLTE0ODcsNyArMTQ4NywxMiBAQCBib29sIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmlzSW5zaWRl
QVJJQUxpdmVSZWdpb24oKSBjb25zdAogCiBib29sIEFjY2Vzc2liaWxpdHlPYmplY3Q6OnN1cHBv
cnRzQVJJQUF0dHJpYnV0ZXMoKSBjb25zdAogewotICAgIHJldHVybiBzdXBwb3J0c0FSSUFMaXZl
UmVnaW9uKCkgfHwgc3VwcG9ydHNBUklBRHJhZ2dpbmcoKSB8fCBzdXBwb3J0c0FSSUFEcm9wcGlu
ZygpIHx8IHN1cHBvcnRzQVJJQUZsb3dUbygpIHx8IHN1cHBvcnRzQVJJQU93bnMoKTsKKyAgICBy
ZXR1cm4gc3VwcG9ydHNBUklBTGl2ZVJlZ2lvbigpCisgICAgICAgIHx8IHN1cHBvcnRzQVJJQURy
YWdnaW5nKCkKKyAgICAgICAgfHwgc3VwcG9ydHNBUklBRHJvcHBpbmcoKQorICAgICAgICB8fCBz
dXBwb3J0c0FSSUFGbG93VG8oKQorICAgICAgICB8fCBzdXBwb3J0c0FSSUFPd25zKCkKKyAgICAg
ICAgfHwgaGFzQXR0cmlidXRlKGFyaWFfbGFiZWxBdHRyKTsKIH0KICAgICAKIGJvb2wgQWNjZXNz
aWJpbGl0eU9iamVjdDo6c3VwcG9ydHNBUklBTGl2ZVJlZ2lvbigpIGNvbnN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaCBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCmluZGV4IGMw
M2I2M2Y5ZWUxODMxYzZkZjBiMWNjYTU5YzcwNDFkYTVlNjZlY2IuLjNhZDdiZmQyMmYxY2U0OWFi
YjMxMDhiM2Q4OTZhZTI3NmE4NTkxNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCkBAIC0xMzAsNiArMTMwLDcgQEAgZW51bSBB
Y2Nlc3NpYmlsaXR5Um9sZSB7CiAgICAgR3Jvd0FyZWFSb2xlLAogICAgIEhlYWRpbmdSb2xlLAog
ICAgIEhlbHBUYWdSb2xlLAorICAgIEhvcml6b250YWxSdWxlUm9sZSwKICAgICBJZ25vcmVkUm9s
ZSwKICAgICBJbWFnZVJvbGUsCiAgICAgSW1hZ2VNYXBSb2xlLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAK
aW5kZXggMGIxNTEyZWM1OTdlMGIwNjIwZmFkNTdjMzIwMWY3NzU0MjVmM2UwZS4uMTgyY2YyMzNi
NGZmN2IxZWUzMjdhMTIxZDAyYmY4NjY0Yzc4M2RmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCkBA
IC0zMjM5LDEwICszMjM5LDkgQEAgQWNjZXNzaWJpbGl0eVJvbGUgQWNjZXNzaWJpbGl0eVJlbmRl
ck9iamVjdDo6ZGV0ZXJtaW5lQWNjZXNzaWJpbGl0eVJvbGUoKQogICAgIC8vIFRhYmxlIHNlY3Rp
b25zIHNob3VsZCBiZSBpZ25vcmVkLgogICAgIGlmIChtX3JlbmRlcmVyLT5pc1RhYmxlU2VjdGlv
bigpKQogICAgICAgICByZXR1cm4gSWdub3JlZFJvbGU7Ci0gICAgCi0jaWYgUExBVEZPUk0oR1RL
KQorCiAgICAgaWYgKG1fcmVuZGVyZXItPmlzSFIoKSkKLSAgICAgICAgcmV0dXJuIFNwbGl0dGVy
Um9sZTsKKyAgICAgICAgcmV0dXJuIEhvcml6b250YWxSdWxlUm9sZTsKIAogICAgIGlmIChub2Rl
ICYmIG5vZGUtPmhhc1RhZ05hbWUocFRhZykpCiAgICAgICAgIHJldHVybiBQYXJhZ3JhcGhSb2xl
OwpAQCAtMzI1NSwxMCArMzI1NCw2IEBAIEFjY2Vzc2liaWxpdHlSb2xlIEFjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3Q6OmRldGVybWluZUFjY2Vzc2liaWxpdHlSb2xlKCkKIAogICAgIGlmIChub2Rl
ICYmIG5vZGUtPmhhc1RhZ05hbWUoZm9ybVRhZykpCiAgICAgICAgIHJldHVybiBGb3JtUm9sZTsK
LSNlbHNlCi0gICAgaWYgKG5vZGUgJiYgbm9kZS0+aGFzVGFnTmFtZShsYWJlbFRhZykpCi0gICAg
ICAgIHJldHVybiBHcm91cFJvbGU7Ci0jZW5kaWYKIAogICAgIGlmIChub2RlICYmIG5vZGUtPmhh
c1RhZ05hbWUoYXJ0aWNsZVRhZykpCiAgICAgICAgIHJldHVybiBEb2N1bWVudEFydGljbGVSb2xl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJp
bGl0eU9iamVjdEF0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nl
c3NpYmlsaXR5T2JqZWN0QXRrLmNwcAppbmRleCAzOWY0ODg4M2U0YjgxNDAxYzNiZTI4ZWJiMDVk
MTJjZWUzNTJmNjUwLi5lNzY0NjM5MGU2NTJkYzU0OTgxYzZjMGUyMzljMTEwNzU0NTVmMTE4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5
T2JqZWN0QXRrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nl
c3NpYmlsaXR5T2JqZWN0QXRrLmNwcApAQCAtNDEsNyArNDEsNyBAQCBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0SW5jbHVzaW9uIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFjY2Vzc2liaWxpdHlQbGF0Zm9ybUlu
Y2x1ZGVzTwogICAgICAgICByZXR1cm4gRGVmYXVsdEJlaGF2aW9yOwogCiAgICAgQWNjZXNzaWJp
bGl0eVJvbGUgcm9sZSA9IHJvbGVWYWx1ZSgpOwotICAgIGlmIChyb2xlID09IFNwbGl0dGVyUm9s
ZSkKKyAgICBpZiAocm9sZSA9PSBIb3Jpem9udGFsUnVsZVJvbGUpCiAgICAgICAgIHJldHVybiBJ
bmNsdWRlT2JqZWN0OwogCiAgICAgLy8gV2UgZXhwb3NlIHRoZSBzbGlkZXIgYXMgYSB3aG9sZSBi
dXQgbm90IGl0cyB2YWx1ZSBpbmRpY2F0b3IuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5jcHAK
aW5kZXggMWY0ODAwMGUxNDdiNWZkM2ZlOTljYzk2ZmM5M2MwYTg0OTk2YTk5My4uMTFjYWQ4N2Q0
OTc2Njg2MWM5ODc5OThmOTdjYTkyMDA0NGY2ODJlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9ndGsvV2ViS2l0QWNjZXNzaWJsZVdyYXBwZXJBdGsuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL1dlYktpdEFjY2Vzc2libGVXcmFwcGVy
QXRrLmNwcApAQCAtNDc2LDcgKzQ3Niw3IEBAIHN0YXRpYyBBdGtSb2xlIGF0a1JvbGUoQWNjZXNz
aWJpbGl0eVJvbGUgcm9sZSkKICAgICBjYXNlIFNwbGl0R3JvdXBSb2xlOgogICAgICAgICByZXR1
cm4gQVRLX1JPTEVfU1BMSVRfUEFORTsKICAgICBjYXNlIFNwbGl0dGVyUm9sZToKLSAgICAgICAg
cmV0dXJuIEFUS19ST0xFX1NFUEFSQVRPUjsKKyAgICAgICAgcmV0dXJuIEFUS19ST0xFX1VOS05P
V047CiAgICAgY2FzZSBDb2xvcldlbGxSb2xlOgogICAgICAgICByZXR1cm4gQVRLX1JPTEVfQ09M
T1JfQ0hPT1NFUjsKICAgICBjYXNlIExpc3RSb2xlOgpAQCAtNTI1LDYgKzUyNSw4IEBAIHN0YXRp
YyBBdGtSb2xlIGF0a1JvbGUoQWNjZXNzaWJpbGl0eVJvbGUgcm9sZSkKICAgICAgICAgcmV0dXJu
IEFUS19ST0xFX1NFQ1RJT047CiAgICAgY2FzZSBGb3JtUm9sZToKICAgICAgICAgcmV0dXJuIEFU
S19ST0xFX0ZPUk07CisgICAgY2FzZSBIb3Jpem9udGFsUnVsZVJvbGU6CisgICAgICAgIHJldHVy
biBBVEtfUk9MRV9TRVBBUkFUT1I7CiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIEFUS19S
T0xFX1VOS05PV047CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViQWNjZXNzaWJpbGl0eVJvbGUuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYkFjY2Vzc2liaWxpdHlSb2xlLmgKaW5kZXggZjE3MzE4MmNkZTE5YzdjZmEyYmJhYzQw
MGExMmYxNjAyODVmMzAzYS4uZGI4ZmJjYmQ0ZjUwYmJmYmY3Zjk1NzZiZGU0NzZkZGE4ZjMxZTE4
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQWNjZXNzaWJp
bGl0eVJvbGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJBY2Nlc3Np
YmlsaXR5Um9sZS5oCkBAIC03NSw2ICs3NSw3IEBAIGVudW0gV2ViQWNjZXNzaWJpbGl0eVJvbGUg
ewogICAgIFdlYkFjY2Vzc2liaWxpdHlSb2xlR3Jvd0FyZWEsCiAgICAgV2ViQWNjZXNzaWJpbGl0
eVJvbGVIZWFkaW5nLAogICAgIFdlYkFjY2Vzc2liaWxpdHlSb2xlSGVscFRhZywKKyAgICBXZWJB
Y2Nlc3NpYmlsaXR5Um9sZUhvcml6b250YWxSdWxlLAogICAgIFdlYkFjY2Vzc2liaWxpdHlSb2xl
SWdub3JlZCwKICAgICBXZWJBY2Nlc3NpYmlsaXR5Um9sZUltYWdlLAogICAgIFdlYkFjY2Vzc2li
aWxpdHlSb2xlSW1hZ2VNYXAsCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9D
aGFuZ2VMb2cKaW5kZXggNDZmMDIzMmNkZmJiZWZkODhkYTc1Y2U1NWY1Y2JmNzIzZDdiOWVlNS4u
YmFiMDgzMWQxYWFjZmU4ZWQxYzNmOTFkMTg4ZGQxNGJjNTVhOTRmMCAxMDA2NDQKLS0tIGEvVG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEy
LTA5LTA3ICBEb21pbmljIE1henpvbmkgIDxkbWF6em9uaUBnb29nbGUuY29tPgorCisgICAgICAg
IEFYOiBXZWJDb3JlIGFjY2Vzc2liaWxpdHkgcm9sZXMgc2hvdWxkIGJlIGNyb3NzLXBsYXRmb3Jt
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDg3MAor
CisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIEZsZWl6YWNoLgorCisgICAgICAgIEFkZCBkZWJ1
ZyBzdHJpbmdzIHRvIENocm9taXVtIGZvciBuZXcgYWNjZXNzaWJpbGl0eSByb2xlcy4KKworICAg
ICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudENocm9taXVtLmNwcDoKKyAgICAgICAgKHJvbGVUb1N0cmluZyk6CisKIDIwMTItMDgt
MzEgIE1pbGlhbiBXb2xmZiAgPG1pbGlhbi53b2xmZkBrZGFiLmNvbT4KIAogICAgICAgICBbUXRd
IFN1cHBvcnQgV2ViS2l0Mi9RTUwgb24gUU5YCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRDaHJvbWl1bS5j
cHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL0FjY2Vzc2liaWxp
dHlVSUVsZW1lbnRDaHJvbWl1bS5jcHAKaW5kZXggMzRlNGUzYzRlMGJkNDc1ODc5YzZiMTkzYTVm
YmE1NmRmNTliMjY0Yy4uOTg2ZmVjZTgzMmEwOTdlOWYwMDM2M2YyNjZlY2IxOWI0MDgwNWI2YSAx
MDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9BY2Nl
c3NpYmlsaXR5VUlFbGVtZW50Q2hyb21pdW0uY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1Rlc3RSdW5uZXIvQWNjZXNzaWJpbGl0eVVJRWxlbWVudENocm9taXVtLmNwcApA
QCAtMjA4LDYgKzIwOCwxNiBAQCBzdGF0aWMgc3RyaW5nIHJvbGVUb1N0cmluZyhXZWJBY2Nlc3Np
YmlsaXR5Um9sZSByb2xlKQogICAgICAgICByZXR1cm4gcmVzdWx0LmFwcGVuZCgiVG9nZ2xlQnV0
dG9uIik7CiAgICAgY2FzZSBXZWJBY2Nlc3NpYmlsaXR5Um9sZUNhbnZhczoKICAgICAgICAgcmV0
dXJuIHJlc3VsdC5hcHBlbmQoIkNhbnZhcyIpOworICAgIGNhc2UgV2ViQWNjZXNzaWJpbGl0eVJv
bGVQYXJhZ3JhcGg6CisgICAgICAgIHJldHVybiByZXN1bHQuYXBwZW5kKCJQYXJhZ3JhcGgiKTsK
KyAgICBjYXNlIFdlYkFjY2Vzc2liaWxpdHlSb2xlRGl2OgorICAgICAgICByZXR1cm4gcmVzdWx0
LmFwcGVuZCgiRGl2Iik7CisgICAgY2FzZSBXZWJBY2Nlc3NpYmlsaXR5Um9sZUxhYmVsOgorICAg
ICAgICByZXR1cm4gcmVzdWx0LmFwcGVuZCgiTGFiZWwiKTsKKyAgICBjYXNlIFdlYkFjY2Vzc2li
aWxpdHlSb2xlRm9ybToKKyAgICAgICAgcmV0dXJuIHJlc3VsdC5hcHBlbmQoIkZvcm0iKTsKKyAg
ICBjYXNlIFdlYkFjY2Vzc2liaWxpdHlSb2xlSG9yaXpvbnRhbFJ1bGU6CisgICAgICAgIHJldHVy
biByZXN1bHQuYXBwZW5kKCJIb3Jpem9udGFsUnVsZSIpOwogICAgIGRlZmF1bHQ6CiAgICAgICAg
IC8vIEFsc28gbWF0Y2hlcyBXZWJBY2Nlc3NpYmlsaXR5Um9sZVVua25vd24uCiAgICAgICAgIHJl
dHVybiByZXN1bHQuYXBwZW5kKCJVbmtub3duIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTFiNmFlZDE5ZjIwMTdhN2Mw
NjJkZmZkODc0NGIzMjI4ZjFiZTJkMy4uOTQ5NDVmNzA4NGFiNGI5N2I0ZDZjMTQ3NTg1MGY2MmY1
YjUyOTdiNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA5LTA3ICBEb21pbmljIE1henpv
bmkgIDxkbWF6em9uaUBnb29nbGUuY29tPgorCisgICAgICAgIEFYOiBXZWJDb3JlIGFjY2Vzc2li
aWxpdHkgcm9sZXMgc2hvdWxkIGJlIGNyb3NzLXBsYXRmb3JtCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDg3MAorCisgICAgICAgIFJldmlld2VkIGJ5
IENocmlzIEZsZWl6YWNoLgorCisgICAgICAgIEFkZHMgYSB0ZXN0IGZvciBzb21lIG5ldyBhY2Nl
c3NpYmlsaXR5IHJvbGVzIHRoYXQgYXJlbid0IHByZXNlbnQgb24gYWxsIHBsYXRmb3Jtcy4KKwor
ICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hyb21pdW0tb25seS1y
b2xlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2Fj
Y2Vzc2liaWxpdHkvY2hyb21pdW0tb25seS1yb2xlcy5odG1sOiBBZGRlZC4KKwogMjAxMi0wOC0z
MSAgR2F2aW4gUGV0ZXJzICA8Z2F2aW5wQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmll
d2VkIHJlYmFzZWxpbmUgYWZ0ZXIgcjEyNzIyNgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS1vbmx5LXJvbGVzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hyb21p
dW0tb25seS1yb2xlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDdlZDdiZTIwYmUwN2MzMTUx
NWVlODc4MTQwMDZmYjk0OThlZTZmMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hyb21pdW0tb25seS1yb2xlcy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxNCBAQAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluCitUaGlzIHRl
c3QgbWFrZXMgc3VyZSB0aGF0IGEgZ2VuZXJpYyBmb2N1c2FibGUgZGl2IGNhbiBnZXQgYWNjZXNz
aWJpbGl0eSBmb2N1cy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgYXhD
b250YWluZXIuY2hpbGRBdEluZGV4KDApLnJvbGUgaXMgIkFYUm9sZTogQVhIb3Jpem9udGFsUnVs
ZSIKK1BBU1MgYXhDb250YWluZXIuY2hpbGRBdEluZGV4KDEpLnJvbGUgaXMgIkFYUm9sZTogQVhQ
YXJhZ3JhcGgiCitQQVNTIGF4Q29udGFpbmVyLmNoaWxkQXRJbmRleCgyKS5yb2xlIGlzICJBWFJv
bGU6IEFYTGFiZWwiCitQQVNTIGF4Q29udGFpbmVyLmNoaWxkQXRJbmRleCgzKS5yb2xlIGlzICJB
WFJvbGU6IEFYRm9ybSIKK1BBU1MgYXhDb250YWluZXIuY2hpbGRBdEluZGV4KDQpLnJvbGUgaXMg
IkFYUm9sZTogQVhEaXYiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vz
c2liaWxpdHkvY2hyb21pdW0tb25seS1yb2xlcy5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS1vbmx5LXJvbGVzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTRjYWI0ODFhOTk3OGVhNzM2OWRiYjc3ZWViNGFmMjhiN2M0NzVkYQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hyb21p
dW0tb25seS1yb2xlcy5odG1sCkBAIC0wLDAgKzEsMzUgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0
bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisKKzxkaXYgaWQ9ImNvbnRhaW5lciIgY29udGVudEVkaXRh
YmxlPgorICA8aHIgYXJpYS1sYWJlbD0iaHIiPgorICA8cCBhcmlhLWxhYmVsPSJwIj48L3A+Cisg
IDxsYWJlbCBhcmlhLWxhYmVsPSJsYWJlbCI+PC9sYWJlbD4KKyAgPGZvcm0gYXJpYS1sYWJlbD0i
Zm9ybSI+PC9mb3JtPgorICA8ZGl2IGFyaWEtbGFiZWw9ImRpdiI+PC9kaXY+Cis8L2Rpdj4KKwor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCBtYWtlcyBzdXJlIHRoYXQgYSBnZW5lcmljIGZvY3VzYWJsZSBkaXYgY2FuIGdldCBhY2Nlc3Np
YmlsaXR5IGZvY3VzLiIpOworCitpZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmFjY2Vz
c2liaWxpdHlDb250cm9sbGVyKSB7CisgICAgd2luZG93LnRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
OworCisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpLmZvY3VzKCk7Cisg
ICAgdmFyIGF4Q29udGFpbmVyID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1l
bnQ7CisKKyAgICBzaG91bGRCZSgnYXhDb250YWluZXIuY2hpbGRBdEluZGV4KDApLnJvbGUnLCAn
IkFYUm9sZTogQVhIb3Jpem9udGFsUnVsZSInKTsKKyAgICBzaG91bGRCZSgnYXhDb250YWluZXIu
Y2hpbGRBdEluZGV4KDEpLnJvbGUnLCAnIkFYUm9sZTogQVhQYXJhZ3JhcGgiJyk7CisgICAgc2hv
dWxkQmUoJ2F4Q29udGFpbmVyLmNoaWxkQXRJbmRleCgyKS5yb2xlJywgJyJBWFJvbGU6IEFYTGFi
ZWwiJyk7CisgICAgc2hvdWxkQmUoJ2F4Q29udGFpbmVyLmNoaWxkQXRJbmRleCgzKS5yb2xlJywg
JyJBWFJvbGU6IEFYRm9ybSInKTsKKyAgICBzaG91bGRCZSgnYXhDb250YWluZXIuY2hpbGRBdElu
ZGV4KDQpLnJvbGUnLCAnIkFYUm9sZTogQVhEaXYiJyk7Cit9CisKKzwvc2NyaXB0PgorCis8c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162709</attachid>
            <date>2012-09-07 01:46:10 -0700</date>
            <delta_ts>2012-09-07 02:55:26 -0700</delta_ts>
            <desc>Rebase</desc>
            <filename>bug-94870-20120907014550.patch</filename>
            <type>text/plain</type>
            <size>12333</size>
            <attacher name="Dominic Mazzoni">dmazzoni</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3NzU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjliMWI0N2Y5Zjk2YWE2
NGQ4NGNiZWM3NDI0ZTg0MDA3OWRiNTc2Zi4uMTE5ODg1ZmFkNGNjMDMzNzYxYWNmZWI5ZDJmOTcy
NDEyNjcxZTFiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTA5LTA3ICBEb21p
bmljIE1henpvbmkgIDxkbWF6em9uaUBnb29nbGUuY29tPgorCisgICAgICAgIEFYOiBXZWJDb3Jl
IGFjY2Vzc2liaWxpdHkgcm9sZXMgc2hvdWxkIGJlIGNyb3NzLXBsYXRmb3JtCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDg3MAorCisgICAgICAgIFJl
dmlld2VkIGJ5IENocmlzIEZsZWl6YWNoLgorCisgICAgICAgIE1ha2UgNSBhY2Nlc3NpYmlsaXR5
IHJvbGVzIGNyb3NzLXBsYXRmb3JtIHJhdGhlciB0aGFuIEdUSy1vbmx5LgorCisgICAgICAgIElu
c3RlYWQgb2YgbWFwcGluZyB0aGUgSFIgdGFnIHRvIFNwbGl0dGVyUm9sZSAod2hpY2ggaXMgYW4g
aW50ZXJhY3RpdmUKKyAgICAgICAgc3BsaXR0ZXIgY29udHJvbCBvbiBNYWMpLCBjcmVhdGUgYSBu
ZXcgcm9sZSBIb3Jpem9udGFsUnVsZVJvbGUuCisKKyAgICAgICAgTWFwIGFsbCBvZiB0aGUgbmV3
IHJvbGVzIHRvIEFYR3JvdXAgb24gTWFjLCB3aGljaCBtYXRjaGVzIHRoZSBleGlzdGluZworICAg
ICAgICBiZWhhdmlvci4gQWRkIGEgbmV3IHRlc3QgZm9yIHRoZXNlIHJvbGVzIG9uIENocm9taXVt
LgorCisgICAgICAgIFRlc3Q6IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hyb21p
dW0tb25seS1yb2xlcy5odG1sCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6c3Vw
cG9ydHNBUklBQXR0cmlidXRlcyk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5T2JqZWN0Lmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6
OmRldGVybWluZUFjY2Vzc2liaWxpdHlSb2xlKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2d0
ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2li
aWxpdHlPYmplY3Q6OmFjY2Vzc2liaWxpdHlQbGF0Zm9ybUluY2x1ZGVzT2JqZWN0KToKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5jcHA6Cisg
ICAgICAgIChhdGtSb2xlKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlci5tbToKKyAgICAgICAgKGNyZWF0ZUFjY2Vzc2liaWxpdHlSb2xl
TWFwKToKKwogMjAxMi0wOS0wNiAgTmlraGlsIEJoYXJnYXZhICA8bmJoYXJnYXZhQGdvb2dsZS5j
b20+CiAKICAgICAgICAgUmVtb3ZlIGV4dHJhbmVvdXMgaW5jbHVkZXMgKEhUTUxFbGVtZW50LCBT
VkdFbGVtZW50LCBHbHlwaEJ1ZmZlciwgQ2xpcGJvYXJkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZwppbmRleCA2NGM2OGRkYTQ5YjI4ZDJjMzdkOGEwMmFiZTE4ZGEzYTdiZGY0MDUxLi5hN2U1OTQ0
OTE1OWIzZTdhYTUxZWFmNDEyMTQyMjNjZjVkMTk0ZWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA5LTA3ICBEb21pbmljIE1henpvbmkgIDxkbWF6
em9uaUBnb29nbGUuY29tPgorCisgICAgICAgIEFYOiBXZWJDb3JlIGFjY2Vzc2liaWxpdHkgcm9s
ZXMgc2hvdWxkIGJlIGNyb3NzLXBsYXRmb3JtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05NDg3MAorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIEZs
ZWl6YWNoLgorCisgICAgICAgIEFkZCBhIG5ldyBhY2Nlc3NpYmlsaXR5IHJvbGUuCisKKyAgICAg
ICAgKiBwdWJsaWMvV2ViQWNjZXNzaWJpbGl0eVJvbGUuaDoKKyAgICAgICAgKiBzcmMvQXNzZXJ0
TWF0Y2hpbmdFbnVtcy5jcHA6CisKIDIwMTItMDktMDYgIElseWEgVGlraG9ub3Zza3kgIDxsb2lz
bG9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgV2ViIEluc3BlY3RvcjogdGVz
dCBmaXguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5T2JqZWN0LmNwcAppbmRleCA2ZWEzYmYzOGRhNzVlYzNiYTcyMzU1ZGM4YjYyZWY2MzJhMTI0
YWQzLi4yMDFiYWUzYjE0MDhlZTg2NTI3MTQwZWQwNTBjMzU4ZWZhODdiY2ZhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAK
QEAgLTE0OTYsNyArMTQ5NiwxMiBAQCBib29sIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmlzSW5zaWRl
QVJJQUxpdmVSZWdpb24oKSBjb25zdAogCiBib29sIEFjY2Vzc2liaWxpdHlPYmplY3Q6OnN1cHBv
cnRzQVJJQUF0dHJpYnV0ZXMoKSBjb25zdAogewotICAgIHJldHVybiBzdXBwb3J0c0FSSUFMaXZl
UmVnaW9uKCkgfHwgc3VwcG9ydHNBUklBRHJhZ2dpbmcoKSB8fCBzdXBwb3J0c0FSSUFEcm9wcGlu
ZygpIHx8IHN1cHBvcnRzQVJJQUZsb3dUbygpIHx8IHN1cHBvcnRzQVJJQU93bnMoKTsKKyAgICBy
ZXR1cm4gc3VwcG9ydHNBUklBTGl2ZVJlZ2lvbigpCisgICAgICAgIHx8IHN1cHBvcnRzQVJJQURy
YWdnaW5nKCkKKyAgICAgICAgfHwgc3VwcG9ydHNBUklBRHJvcHBpbmcoKQorICAgICAgICB8fCBz
dXBwb3J0c0FSSUFGbG93VG8oKQorICAgICAgICB8fCBzdXBwb3J0c0FSSUFPd25zKCkKKyAgICAg
ICAgfHwgaGFzQXR0cmlidXRlKGFyaWFfbGFiZWxBdHRyKTsKIH0KICAgICAKIGJvb2wgQWNjZXNz
aWJpbGl0eU9iamVjdDo6c3VwcG9ydHNBUklBTGl2ZVJlZ2lvbigpIGNvbnN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaCBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCmluZGV4IDMz
Y2ZiZDFjMDE5ZTkwODViYmQxYTk2MGUwOTFhMDMzMjIwNmY0NDYuLmE5MGFiMjVlNjFkY2U1OWYz
ODQyNjUwMjUyMzg5ZWMxMjZhYmI0MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCkBAIC0xMzAsNiArMTMwLDcgQEAgZW51bSBB
Y2Nlc3NpYmlsaXR5Um9sZSB7CiAgICAgR3Jvd0FyZWFSb2xlLAogICAgIEhlYWRpbmdSb2xlLAog
ICAgIEhlbHBUYWdSb2xlLAorICAgIEhvcml6b250YWxSdWxlUm9sZSwKICAgICBJZ25vcmVkUm9s
ZSwKICAgICBJbWFnZVJvbGUsCiAgICAgSW1hZ2VNYXBSb2xlLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAK
aW5kZXggZWY0ZGNmZTRlY2ZhMzk4ZDY2MDAyYmVkNTY2YTQ5MmNiNzYwNjQwNS4uNjM2ZjczMDkz
NDlmZTJjZmQ0MmY2NmEwOTM5NDVkZjk5MDQ1MmQ3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCkBA
IC0zMjQ4LDEwICszMjQ4LDkgQEAgQWNjZXNzaWJpbGl0eVJvbGUgQWNjZXNzaWJpbGl0eVJlbmRl
ck9iamVjdDo6ZGV0ZXJtaW5lQWNjZXNzaWJpbGl0eVJvbGUoKQogICAgIC8vIFRhYmxlIHNlY3Rp
b25zIHNob3VsZCBiZSBpZ25vcmVkLgogICAgIGlmIChtX3JlbmRlcmVyLT5pc1RhYmxlU2VjdGlv
bigpKQogICAgICAgICByZXR1cm4gSWdub3JlZFJvbGU7Ci0gICAgCi0jaWYgUExBVEZPUk0oR1RL
KQorCiAgICAgaWYgKG1fcmVuZGVyZXItPmlzSFIoKSkKLSAgICAgICAgcmV0dXJuIFNwbGl0dGVy
Um9sZTsKKyAgICAgICAgcmV0dXJuIEhvcml6b250YWxSdWxlUm9sZTsKIAogICAgIGlmIChub2Rl
ICYmIG5vZGUtPmhhc1RhZ05hbWUocFRhZykpCiAgICAgICAgIHJldHVybiBQYXJhZ3JhcGhSb2xl
OwpAQCAtMzI2NCwxMCArMzI2Myw2IEBAIEFjY2Vzc2liaWxpdHlSb2xlIEFjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3Q6OmRldGVybWluZUFjY2Vzc2liaWxpdHlSb2xlKCkKIAogICAgIGlmIChub2Rl
ICYmIG5vZGUtPmhhc1RhZ05hbWUoZm9ybVRhZykpCiAgICAgICAgIHJldHVybiBGb3JtUm9sZTsK
LSNlbHNlCi0gICAgaWYgKG5vZGUgJiYgbm9kZS0+aGFzVGFnTmFtZShsYWJlbFRhZykpCi0gICAg
ICAgIHJldHVybiBHcm91cFJvbGU7Ci0jZW5kaWYKIAogICAgIGlmIChub2RlICYmIG5vZGUtPmhh
c1RhZ05hbWUoYXJ0aWNsZVRhZykpCiAgICAgICAgIHJldHVybiBEb2N1bWVudEFydGljbGVSb2xl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJp
bGl0eU9iamVjdEF0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nl
c3NpYmlsaXR5T2JqZWN0QXRrLmNwcAppbmRleCAyNGY5YjkzMGQ5NjgwZWM5NjM3NDMyNWVhYzEx
NWY1ZWE2ZDg1ZGM5Li40Y2Y2OTc5YmJkMDBmMzFmZGE0Y2EyMWRkZGZlNWE0ZDI3NzY1ZmY4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5
T2JqZWN0QXRrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nl
c3NpYmlsaXR5T2JqZWN0QXRrLmNwcApAQCAtNDEsNyArNDEsNyBAQCBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0SW5jbHVzaW9uIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFjY2Vzc2liaWxpdHlQbGF0Zm9ybUlu
Y2x1ZGVzTwogICAgICAgICByZXR1cm4gRGVmYXVsdEJlaGF2aW9yOwogCiAgICAgQWNjZXNzaWJp
bGl0eVJvbGUgcm9sZSA9IHJvbGVWYWx1ZSgpOwotICAgIGlmIChyb2xlID09IFNwbGl0dGVyUm9s
ZSkKKyAgICBpZiAocm9sZSA9PSBIb3Jpem9udGFsUnVsZVJvbGUpCiAgICAgICAgIHJldHVybiBJ
bmNsdWRlT2JqZWN0OwogCiAgICAgLy8gV2UgZXhwb3NlIHRoZSBzbGlkZXIgYXMgYSB3aG9sZSBi
dXQgbm90IGl0cyB2YWx1ZSBpbmRpY2F0b3IuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5jcHAK
aW5kZXggMWY3YzMyMTczYTczMmVmNTI4NTkzMzdkNzNiOTM0YjE3NTJmNTQyZi4uYmE3ZGJiOWEw
MWU3MjYwNzBiZGYxY2NjNjIyMjU5ZjIwZDQzNzVlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9ndGsvV2ViS2l0QWNjZXNzaWJsZVdyYXBwZXJBdGsuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL1dlYktpdEFjY2Vzc2libGVXcmFwcGVy
QXRrLmNwcApAQCAtNDc2LDcgKzQ3Niw3IEBAIHN0YXRpYyBBdGtSb2xlIGF0a1JvbGUoQWNjZXNz
aWJpbGl0eVJvbGUgcm9sZSkKICAgICBjYXNlIFNwbGl0R3JvdXBSb2xlOgogICAgICAgICByZXR1
cm4gQVRLX1JPTEVfU1BMSVRfUEFORTsKICAgICBjYXNlIFNwbGl0dGVyUm9sZToKLSAgICAgICAg
cmV0dXJuIEFUS19ST0xFX1NFUEFSQVRPUjsKKyAgICAgICAgcmV0dXJuIEFUS19ST0xFX1VOS05P
V047CiAgICAgY2FzZSBDb2xvcldlbGxSb2xlOgogICAgICAgICByZXR1cm4gQVRLX1JPTEVfQ09M
T1JfQ0hPT1NFUjsKICAgICBjYXNlIExpc3RSb2xlOgpAQCAtNTI1LDYgKzUyNSw4IEBAIHN0YXRp
YyBBdGtSb2xlIGF0a1JvbGUoQWNjZXNzaWJpbGl0eVJvbGUgcm9sZSkKICAgICAgICAgcmV0dXJu
IEFUS19ST0xFX1NFQ1RJT047CiAgICAgY2FzZSBGb3JtUm9sZToKICAgICAgICAgcmV0dXJuIEFU
S19ST0xFX0ZPUk07CisgICAgY2FzZSBIb3Jpem9udGFsUnVsZVJvbGU6CisgICAgICAgIHJldHVy
biBBVEtfUk9MRV9TRVBBUkFUT1I7CiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIEFUS19S
T0xFX1VOS05PV047CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViQWNjZXNzaWJpbGl0eVJvbGUuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYkFjY2Vzc2liaWxpdHlSb2xlLmgKaW5kZXggZjE3MzE4MmNkZTE5YzdjZmEyYmJhYzQw
MGExMmYxNjAyODVmMzAzYS4uZGI4ZmJjYmQ0ZjUwYmJmYmY3Zjk1NzZiZGU0NzZkZGE4ZjMxZTE4
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQWNjZXNzaWJp
bGl0eVJvbGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJBY2Nlc3Np
YmlsaXR5Um9sZS5oCkBAIC03NSw2ICs3NSw3IEBAIGVudW0gV2ViQWNjZXNzaWJpbGl0eVJvbGUg
ewogICAgIFdlYkFjY2Vzc2liaWxpdHlSb2xlR3Jvd0FyZWEsCiAgICAgV2ViQWNjZXNzaWJpbGl0
eVJvbGVIZWFkaW5nLAogICAgIFdlYkFjY2Vzc2liaWxpdHlSb2xlSGVscFRhZywKKyAgICBXZWJB
Y2Nlc3NpYmlsaXR5Um9sZUhvcml6b250YWxSdWxlLAogICAgIFdlYkFjY2Vzc2liaWxpdHlSb2xl
SWdub3JlZCwKICAgICBXZWJBY2Nlc3NpYmlsaXR5Um9sZUltYWdlLAogICAgIFdlYkFjY2Vzc2li
aWxpdHlSb2xlSW1hZ2VNYXAsCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9D
aGFuZ2VMb2cKaW5kZXggY2I4MjdmZGFjOTFhNDE4NTQxNDIxZjNjMWI3YmRkNGQ5M2E5MjQyZi4u
NWFiNmUwMzg0NjMyZWFmZjg3MDE0NzU0NzllNDRlODIwNzE3NWMwMSAxMDA2NDQKLS0tIGEvVG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEy
LTA5LTA3ICBEb21pbmljIE1henpvbmkgIDxkbWF6em9uaUBnb29nbGUuY29tPgorCisgICAgICAg
IEFYOiBXZWJDb3JlIGFjY2Vzc2liaWxpdHkgcm9sZXMgc2hvdWxkIGJlIGNyb3NzLXBsYXRmb3Jt
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDg3MAor
CisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIEZsZWl6YWNoLgorCisgICAgICAgIEFkZCBkZWJ1
ZyBzdHJpbmdzIHRvIENocm9taXVtIGZvciBuZXcgYWNjZXNzaWJpbGl0eSByb2xlcy4KKworICAg
ICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudENocm9taXVtLmNwcDoKKyAgICAgICAgKHJvbGVUb1N0cmluZyk6CisKIDIwMTItMDkt
MDYgIFNpbW9uIEhhdXNtYW5uICA8c2ltb24uaGF1c21hbm5Abm9raWEuY29tPgogCiAgICAgICAg
IFtRdF0gRml4IGJ1aWxkIG9uIE1hYyBPUyBYIDEwLjYKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvQWNjZXNzaWJpbGl0eVVJRWxlbWVudENocm9t
aXVtLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvQWNjZXNz
aWJpbGl0eVVJRWxlbWVudENocm9taXVtLmNwcAppbmRleCAzNGU0ZTNjNGUwYmQ0NzU4NzljNmIx
OTNhNWZiYTU2ZGY1OWIyNjRjLi45ODZmZWNlODMyYTA5N2U5ZjAwMzYzZjI2NmVjYjE5YjQwODA1
YjZhIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVy
L0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRDaHJvbWl1bS5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50Q2hyb21pdW0u
Y3BwCkBAIC0yMDgsNiArMjA4LDE2IEBAIHN0YXRpYyBzdHJpbmcgcm9sZVRvU3RyaW5nKFdlYkFj
Y2Vzc2liaWxpdHlSb2xlIHJvbGUpCiAgICAgICAgIHJldHVybiByZXN1bHQuYXBwZW5kKCJUb2dn
bGVCdXR0b24iKTsKICAgICBjYXNlIFdlYkFjY2Vzc2liaWxpdHlSb2xlQ2FudmFzOgogICAgICAg
ICByZXR1cm4gcmVzdWx0LmFwcGVuZCgiQ2FudmFzIik7CisgICAgY2FzZSBXZWJBY2Nlc3NpYmls
aXR5Um9sZVBhcmFncmFwaDoKKyAgICAgICAgcmV0dXJuIHJlc3VsdC5hcHBlbmQoIlBhcmFncmFw
aCIpOworICAgIGNhc2UgV2ViQWNjZXNzaWJpbGl0eVJvbGVEaXY6CisgICAgICAgIHJldHVybiBy
ZXN1bHQuYXBwZW5kKCJEaXYiKTsKKyAgICBjYXNlIFdlYkFjY2Vzc2liaWxpdHlSb2xlTGFiZWw6
CisgICAgICAgIHJldHVybiByZXN1bHQuYXBwZW5kKCJMYWJlbCIpOworICAgIGNhc2UgV2ViQWNj
ZXNzaWJpbGl0eVJvbGVGb3JtOgorICAgICAgICByZXR1cm4gcmVzdWx0LmFwcGVuZCgiRm9ybSIp
OworICAgIGNhc2UgV2ViQWNjZXNzaWJpbGl0eVJvbGVIb3Jpem9udGFsUnVsZToKKyAgICAgICAg
cmV0dXJuIHJlc3VsdC5hcHBlbmQoIkhvcml6b250YWxSdWxlIik7CiAgICAgZGVmYXVsdDoKICAg
ICAgICAgLy8gQWxzbyBtYXRjaGVzIFdlYkFjY2Vzc2liaWxpdHlSb2xlVW5rbm93bi4KICAgICAg
ICAgcmV0dXJuIHJlc3VsdC5hcHBlbmQoIlVua25vd24iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlN2JkMGYwOWZjNjJl
NGUzZTBjNDUxYjE0NmVhYjMwOGM4ZmIzNzk0Li5jODI3OGIxOGE3ZjNhMjg0NmY0MDJlMjI0NWQ3
Y2ExZTkzMjdjNDUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDktMDcgIERvbWluaWMg
TWF6em9uaSAgPGRtYXp6b25pQGdvb2dsZS5jb20+CisKKyAgICAgICAgQVg6IFdlYkNvcmUgYWNj
ZXNzaWJpbGl0eSByb2xlcyBzaG91bGQgYmUgY3Jvc3MtcGxhdGZvcm0KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0ODcwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgQ2hyaXMgRmxlaXphY2guCisKKyAgICAgICAgQWRkcyBhIHRlc3QgZm9yIHNvbWUgbmV3
IGFjY2Vzc2liaWxpdHkgcm9sZXMgdGhhdCBhcmVuJ3QgcHJlc2VudCBvbiBhbGwgcGxhdGZvcm1z
LgorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS1v
bmx5LXJvbGVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS1vbmx5LXJvbGVzLmh0bWw6IEFkZGVkLgorCiAyMDEy
LTA5LTA2ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVT
U0lPTihyMTI3NzEyKTogSXQgYnJva2UgaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9iYXNpYy1h
dXRoLmh0bWwgb24gSlNDIHBsYXRmb3JtcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS1vbmx5LXJvbGVzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hyb21pdW0t
b25seS1yb2xlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDdlZDdiZTIwYmUwN2MzMTUxNWVl
ODc4MTQwMDZmYjk0OThlZTZmMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hyb21pdW0tb25seS1yb2xlcy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxNCBAQAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluCitUaGlzIHRlc3Qg
bWFrZXMgc3VyZSB0aGF0IGEgZ2VuZXJpYyBmb2N1c2FibGUgZGl2IGNhbiBnZXQgYWNjZXNzaWJp
bGl0eSBmb2N1cy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgYXhDb250
YWluZXIuY2hpbGRBdEluZGV4KDApLnJvbGUgaXMgIkFYUm9sZTogQVhIb3Jpem9udGFsUnVsZSIK
K1BBU1MgYXhDb250YWluZXIuY2hpbGRBdEluZGV4KDEpLnJvbGUgaXMgIkFYUm9sZTogQVhQYXJh
Z3JhcGgiCitQQVNTIGF4Q29udGFpbmVyLmNoaWxkQXRJbmRleCgyKS5yb2xlIGlzICJBWFJvbGU6
IEFYTGFiZWwiCitQQVNTIGF4Q29udGFpbmVyLmNoaWxkQXRJbmRleCgzKS5yb2xlIGlzICJBWFJv
bGU6IEFYRm9ybSIKK1BBU1MgYXhDb250YWluZXIuY2hpbGRBdEluZGV4KDQpLnJvbGUgaXMgIkFY
Um9sZTogQVhEaXYiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2li
aWxpdHkvY2hyb21pdW0tb25seS1yb2xlcy5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS1vbmx5LXJvbGVzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTRjYWI0ODFhOTk3OGVhNzM2OWRiYjc3ZWViNGFmMjhiN2M0NzVkYQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hyb21pdW0t
b25seS1yb2xlcy5odG1sCkBAIC0wLDAgKzEsMzUgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+
Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+CisKKzxkaXYgaWQ9ImNvbnRhaW5lciIgY29udGVudEVkaXRhYmxl
PgorICA8aHIgYXJpYS1sYWJlbD0iaHIiPgorICA8cCBhcmlhLWxhYmVsPSJwIj48L3A+CisgIDxs
YWJlbCBhcmlhLWxhYmVsPSJsYWJlbCI+PC9sYWJlbD4KKyAgPGZvcm0gYXJpYS1sYWJlbD0iZm9y
bSI+PC9mb3JtPgorICA8ZGl2IGFyaWEtbGFiZWw9ImRpdiI+PC9kaXY+Cis8L2Rpdj4KKworPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBt
YWtlcyBzdXJlIHRoYXQgYSBnZW5lcmljIGZvY3VzYWJsZSBkaXYgY2FuIGdldCBhY2Nlc3NpYmls
aXR5IGZvY3VzLiIpOworCitpZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmFjY2Vzc2li
aWxpdHlDb250cm9sbGVyKSB7CisgICAgd2luZG93LnRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwor
CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpLmZvY3VzKCk7CisgICAg
dmFyIGF4Q29udGFpbmVyID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7
CisKKyAgICBzaG91bGRCZSgnYXhDb250YWluZXIuY2hpbGRBdEluZGV4KDApLnJvbGUnLCAnIkFY
Um9sZTogQVhIb3Jpem9udGFsUnVsZSInKTsKKyAgICBzaG91bGRCZSgnYXhDb250YWluZXIuY2hp
bGRBdEluZGV4KDEpLnJvbGUnLCAnIkFYUm9sZTogQVhQYXJhZ3JhcGgiJyk7CisgICAgc2hvdWxk
QmUoJ2F4Q29udGFpbmVyLmNoaWxkQXRJbmRleCgyKS5yb2xlJywgJyJBWFJvbGU6IEFYTGFiZWwi
Jyk7CisgICAgc2hvdWxkQmUoJ2F4Q29udGFpbmVyLmNoaWxkQXRJbmRleCgzKS5yb2xlJywgJyJB
WFJvbGU6IEFYRm9ybSInKTsKKyAgICBzaG91bGRCZSgnYXhDb250YWluZXIuY2hpbGRBdEluZGV4
KDQpLnJvbGUnLCAnIkFYUm9sZTogQVhEaXYiJyk7Cit9CisKKzwvc2NyaXB0PgorCis8c2NyaXB0
IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162719</attachid>
            <date>2012-09-07 02:55:29 -0700</date>
            <delta_ts>2012-09-07 09:17:17 -0700</delta_ts>
            <desc>Rebase</desc>
            <filename>bug-94870-20120907025509.patch</filename>
            <type>text/plain</type>
            <size>12284</size>
            <attacher name="Dominic Mazzoni">dmazzoni</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3ODQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWZjMTUwZjRhNGI1ZmU2
MTczYmQzMGU1Mzg3NDBkOWFhYzY4ZmZjNi4uOWUwZWNhOWVlOTA5NDg4NmJiOTBmY2FmZjJhMTU4
NzNiODMyNWY0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTA5LTA3ICBEb21p
bmljIE1henpvbmkgIDxkbWF6em9uaUBnb29nbGUuY29tPgorCisgICAgICAgIEFYOiBXZWJDb3Jl
IGFjY2Vzc2liaWxpdHkgcm9sZXMgc2hvdWxkIGJlIGNyb3NzLXBsYXRmb3JtCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDg3MAorCisgICAgICAgIFJl
dmlld2VkIGJ5IENocmlzIEZsZWl6YWNoLgorCisgICAgICAgIE1ha2UgNSBhY2Nlc3NpYmlsaXR5
IHJvbGVzIGNyb3NzLXBsYXRmb3JtIHJhdGhlciB0aGFuIEdUSy1vbmx5LgorCisgICAgICAgIElu
c3RlYWQgb2YgbWFwcGluZyB0aGUgSFIgdGFnIHRvIFNwbGl0dGVyUm9sZSAod2hpY2ggaXMgYW4g
aW50ZXJhY3RpdmUKKyAgICAgICAgc3BsaXR0ZXIgY29udHJvbCBvbiBNYWMpLCBjcmVhdGUgYSBu
ZXcgcm9sZSBIb3Jpem9udGFsUnVsZVJvbGUuCisKKyAgICAgICAgTWFwIGFsbCBvZiB0aGUgbmV3
IHJvbGVzIHRvIEFYR3JvdXAgb24gTWFjLCB3aGljaCBtYXRjaGVzIHRoZSBleGlzdGluZworICAg
ICAgICBiZWhhdmlvci4gQWRkIGEgbmV3IHRlc3QgZm9yIHRoZXNlIHJvbGVzIG9uIENocm9taXVt
LgorCisgICAgICAgIFRlc3Q6IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hyb21p
dW0tb25seS1yb2xlcy5odG1sCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6c3Vw
cG9ydHNBUklBQXR0cmlidXRlcyk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5T2JqZWN0Lmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6
OmRldGVybWluZUFjY2Vzc2liaWxpdHlSb2xlKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2d0
ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2li
aWxpdHlPYmplY3Q6OmFjY2Vzc2liaWxpdHlQbGF0Zm9ybUluY2x1ZGVzT2JqZWN0KToKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5jcHA6Cisg
ICAgICAgIChhdGtSb2xlKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlci5tbToKKyAgICAgICAgKGNyZWF0ZUFjY2Vzc2liaWxpdHlSb2xl
TWFwKToKKwogMjAxMi0wOS0wNyAgUnl1YW4gQ2hvaSAgPHJ5dWFuLmNob2lAc2Ftc3VuZy5jb20+
CiAKICAgICAgICAgW0VGTF0gVXNlIEFTQ0lJTGl0ZXJhbCBmb3IgY3Vyc29yU3RyaW5nTWFwLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBmM2I2ZmMyMjExMDY3ZjVhZmZlMjVhNTA5Zjkz
Njc3Mzg1ZjZkMTVkLi41MzkwYWFlMDYzNzdkZGYwYThiYTRmYjIzMWVhNjdiZTYxNDE0ODI0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA5LTA3ICBE
b21pbmljIE1henpvbmkgIDxkbWF6em9uaUBnb29nbGUuY29tPgorCisgICAgICAgIEFYOiBXZWJD
b3JlIGFjY2Vzc2liaWxpdHkgcm9sZXMgc2hvdWxkIGJlIGNyb3NzLXBsYXRmb3JtCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDg3MAorCisgICAgICAg
IFJldmlld2VkIGJ5IENocmlzIEZsZWl6YWNoLgorCisgICAgICAgIEFkZCBhIG5ldyBhY2Nlc3Np
YmlsaXR5IHJvbGUuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViQWNjZXNzaWJpbGl0eVJvbGUuaDoK
KyAgICAgICAgKiBzcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHA6CisKIDIwMTItMDktMDYgIFNo
ZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMjc4MjIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAppbmRleCA2ZWEzYmYzOGRhNzVlYzNi
YTcyMzU1ZGM4YjYyZWY2MzJhMTI0YWQzLi4yMDFiYWUzYjE0MDhlZTg2NTI3MTQwZWQwNTBjMzU4
ZWZhODdiY2ZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU9iamVjdC5jcHAKQEAgLTE0OTYsNyArMTQ5NiwxMiBAQCBib29sIEFjY2Vzc2li
aWxpdHlPYmplY3Q6OmlzSW5zaWRlQVJJQUxpdmVSZWdpb24oKSBjb25zdAogCiBib29sIEFjY2Vz
c2liaWxpdHlPYmplY3Q6OnN1cHBvcnRzQVJJQUF0dHJpYnV0ZXMoKSBjb25zdAogewotICAgIHJl
dHVybiBzdXBwb3J0c0FSSUFMaXZlUmVnaW9uKCkgfHwgc3VwcG9ydHNBUklBRHJhZ2dpbmcoKSB8
fCBzdXBwb3J0c0FSSUFEcm9wcGluZygpIHx8IHN1cHBvcnRzQVJJQUZsb3dUbygpIHx8IHN1cHBv
cnRzQVJJQU93bnMoKTsKKyAgICByZXR1cm4gc3VwcG9ydHNBUklBTGl2ZVJlZ2lvbigpCisgICAg
ICAgIHx8IHN1cHBvcnRzQVJJQURyYWdnaW5nKCkKKyAgICAgICAgfHwgc3VwcG9ydHNBUklBRHJv
cHBpbmcoKQorICAgICAgICB8fCBzdXBwb3J0c0FSSUFGbG93VG8oKQorICAgICAgICB8fCBzdXBw
b3J0c0FSSUFPd25zKCkKKyAgICAgICAgfHwgaGFzQXR0cmlidXRlKGFyaWFfbGFiZWxBdHRyKTsK
IH0KICAgICAKIGJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6c3VwcG9ydHNBUklBTGl2ZVJlZ2lv
bigpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eU9iamVjdC5oCmluZGV4IDMzY2ZiZDFjMDE5ZTkwODViYmQxYTk2MGUwOTFhMDMzMjIwNmY0
NDYuLmE5MGFiMjVlNjFkY2U1OWYzODQyNjUwMjUyMzg5ZWMxMjZhYmI0MWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCkBAIC0x
MzAsNiArMTMwLDcgQEAgZW51bSBBY2Nlc3NpYmlsaXR5Um9sZSB7CiAgICAgR3Jvd0FyZWFSb2xl
LAogICAgIEhlYWRpbmdSb2xlLAogICAgIEhlbHBUYWdSb2xlLAorICAgIEhvcml6b250YWxSdWxl
Um9sZSwKICAgICBJZ25vcmVkUm9sZSwKICAgICBJbWFnZVJvbGUsCiAgICAgSW1hZ2VNYXBSb2xl
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
UmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdC5jcHAKaW5kZXggZWY0ZGNmZTRlY2ZhMzk4ZDY2MDAyYmVkNTY2YTQ5
MmNiNzYwNjQwNS4uNjM2ZjczMDkzNDlmZTJjZmQ0MmY2NmEwOTM5NDVkZjk5MDQ1MmQ3OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3QuY3BwCkBAIC0zMjQ4LDEwICszMjQ4LDkgQEAgQWNjZXNzaWJpbGl0eVJv
bGUgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6ZGV0ZXJtaW5lQWNjZXNzaWJpbGl0eVJvbGUo
KQogICAgIC8vIFRhYmxlIHNlY3Rpb25zIHNob3VsZCBiZSBpZ25vcmVkLgogICAgIGlmIChtX3Jl
bmRlcmVyLT5pc1RhYmxlU2VjdGlvbigpKQogICAgICAgICByZXR1cm4gSWdub3JlZFJvbGU7Ci0g
ICAgCi0jaWYgUExBVEZPUk0oR1RLKQorCiAgICAgaWYgKG1fcmVuZGVyZXItPmlzSFIoKSkKLSAg
ICAgICAgcmV0dXJuIFNwbGl0dGVyUm9sZTsKKyAgICAgICAgcmV0dXJuIEhvcml6b250YWxSdWxl
Um9sZTsKIAogICAgIGlmIChub2RlICYmIG5vZGUtPmhhc1RhZ05hbWUocFRhZykpCiAgICAgICAg
IHJldHVybiBQYXJhZ3JhcGhSb2xlOwpAQCAtMzI2NCwxMCArMzI2Myw2IEBAIEFjY2Vzc2liaWxp
dHlSb2xlIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmRldGVybWluZUFjY2Vzc2liaWxpdHlS
b2xlKCkKIAogICAgIGlmIChub2RlICYmIG5vZGUtPmhhc1RhZ05hbWUoZm9ybVRhZykpCiAgICAg
ICAgIHJldHVybiBGb3JtUm9sZTsKLSNlbHNlCi0gICAgaWYgKG5vZGUgJiYgbm9kZS0+aGFzVGFn
TmFtZShsYWJlbFRhZykpCi0gICAgICAgIHJldHVybiBHcm91cFJvbGU7Ci0jZW5kaWYKIAogICAg
IGlmIChub2RlICYmIG5vZGUtPmhhc1RhZ05hbWUoYXJ0aWNsZVRhZykpCiAgICAgICAgIHJldHVy
biBEb2N1bWVudEFydGljbGVSb2xlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcAppbmRleCAyNGY5Yjkz
MGQ5NjgwZWM5NjM3NDMyNWVhYzExNWY1ZWE2ZDg1ZGM5Li40Y2Y2OTc5YmJkMDBmMzFmZGE0Y2Ey
MWRkZGZlNWE0ZDI3NzY1ZmY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcApAQCAtNDEsNyArNDEs
NyBAQCBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFj
Y2Vzc2liaWxpdHlQbGF0Zm9ybUluY2x1ZGVzTwogICAgICAgICByZXR1cm4gRGVmYXVsdEJlaGF2
aW9yOwogCiAgICAgQWNjZXNzaWJpbGl0eVJvbGUgcm9sZSA9IHJvbGVWYWx1ZSgpOwotICAgIGlm
IChyb2xlID09IFNwbGl0dGVyUm9sZSkKKyAgICBpZiAocm9sZSA9PSBIb3Jpem9udGFsUnVsZVJv
bGUpCiAgICAgICAgIHJldHVybiBJbmNsdWRlT2JqZWN0OwogCiAgICAgLy8gV2UgZXhwb3NlIHRo
ZSBzbGlkZXIgYXMgYSB3aG9sZSBidXQgbm90IGl0cyB2YWx1ZSBpbmRpY2F0b3IuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRBY2Nlc3NpYmxlV3Jh
cHBlckF0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRBY2Nl
c3NpYmxlV3JhcHBlckF0ay5jcHAKaW5kZXggN2JjY2FkODg0NzBjYjBkZWUxNzdiMThjMTQ3OWU1
NTc5MTI5Zjg4NS4uZWM5OTAzNzZmZjg2MGYzMDRhMDVmYWI0MDNiOGQ5OTlkYzBhNDA2NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvV2ViS2l0QWNjZXNzaWJs
ZVdyYXBwZXJBdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL1dl
YktpdEFjY2Vzc2libGVXcmFwcGVyQXRrLmNwcApAQCAtNDc2LDcgKzQ3Niw3IEBAIHN0YXRpYyBB
dGtSb2xlIGF0a1JvbGUoQWNjZXNzaWJpbGl0eVJvbGUgcm9sZSkKICAgICBjYXNlIFNwbGl0R3Jv
dXBSb2xlOgogICAgICAgICByZXR1cm4gQVRLX1JPTEVfU1BMSVRfUEFORTsKICAgICBjYXNlIFNw
bGl0dGVyUm9sZToKLSAgICAgICAgcmV0dXJuIEFUS19ST0xFX1NFUEFSQVRPUjsKKyAgICAgICAg
cmV0dXJuIEFUS19ST0xFX1VOS05PV047CiAgICAgY2FzZSBDb2xvcldlbGxSb2xlOgogICAgICAg
ICByZXR1cm4gQVRLX1JPTEVfQ09MT1JfQ0hPT1NFUjsKICAgICBjYXNlIExpc3RSb2xlOgpAQCAt
NTI2LDYgKzUyNiw4IEBAIHN0YXRpYyBBdGtSb2xlIGF0a1JvbGUoQWNjZXNzaWJpbGl0eVJvbGUg
cm9sZSkKICAgICAgICAgcmV0dXJuIEFUS19ST0xFX0ZPUk07CiAgICAgY2FzZSBDYW52YXNSb2xl
OgogICAgICAgICByZXR1cm4gQVRLX1JPTEVfQ0FOVkFTOworICAgIGNhc2UgSG9yaXpvbnRhbFJ1
bGVSb2xlOgorICAgICAgICByZXR1cm4gQVRLX1JPTEVfU0VQQVJBVE9SOwogICAgIGRlZmF1bHQ6
CiAgICAgICAgIHJldHVybiBBVEtfUk9MRV9VTktOT1dOOwogICAgIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkFjY2Vzc2liaWxpdHlSb2xlLmggYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Um9sZS5oCmluZGV4IGYx
NzMxODJjZGUxOWM3Y2ZhMmJiYWM0MDBhMTJmMTYwMjg1ZjMwM2EuLmRiOGZiY2JkNGY1MGJiZmJm
N2Y5NTc2YmRlNDc2ZGRhOGYzMWUxOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYkFjY2Vzc2liaWxpdHlSb2xlLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViQWNjZXNzaWJpbGl0eVJvbGUuaApAQCAtNzUsNiArNzUsNyBAQCBlbnVt
IFdlYkFjY2Vzc2liaWxpdHlSb2xlIHsKICAgICBXZWJBY2Nlc3NpYmlsaXR5Um9sZUdyb3dBcmVh
LAogICAgIFdlYkFjY2Vzc2liaWxpdHlSb2xlSGVhZGluZywKICAgICBXZWJBY2Nlc3NpYmlsaXR5
Um9sZUhlbHBUYWcsCisgICAgV2ViQWNjZXNzaWJpbGl0eVJvbGVIb3Jpem9udGFsUnVsZSwKICAg
ICBXZWJBY2Nlc3NpYmlsaXR5Um9sZUlnbm9yZWQsCiAgICAgV2ViQWNjZXNzaWJpbGl0eVJvbGVJ
bWFnZSwKICAgICBXZWJBY2Nlc3NpYmlsaXR5Um9sZUltYWdlTWFwLApkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDUxNzhiYzY2MzFkNDQzZjI2MWNk
MDMxNDJmZmRiYjkxNjdkNWY3MjcuLjA5OGQ0YmZmZTQ4NjEyNjc0MTIwNTJiOWE0ZGI1ZGNiM2Nj
ZDIxNTUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNSBAQAorMjAxMi0wOS0wNyAgRG9taW5pYyBNYXp6b25pICA8ZG1henpvbmlA
Z29vZ2xlLmNvbT4KKworICAgICAgICBBWDogV2ViQ29yZSBhY2Nlc3NpYmlsaXR5IHJvbGVzIHNo
b3VsZCBiZSBjcm9zcy1wbGF0Zm9ybQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTQ4NzAKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBGbGVpemFj
aC4KKworICAgICAgICBBZGQgZGVidWcgc3RyaW5ncyB0byBDaHJvbWl1bSBmb3IgbmV3IGFjY2Vz
c2liaWxpdHkgcm9sZXMuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0
UnVubmVyL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRDaHJvbWl1bS5jcHA6CisgICAgICAgIChyb2xl
VG9TdHJpbmcpOgorCiAyMDEyLTA5LTA2ICBKYW1lcyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBVc2UgV2ViQ29tcG9zaXRvclN1cHBvcnQgZnVu
Y3Rpb25zIGluc3RlYWQgb2YgV2ViQ29tcG9zaXRvciBzdGF0aWNzCmRpZmYgLS1naXQgYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL0FjY2Vzc2liaWxpdHlVSUVsZW1l
bnRDaHJvbWl1bS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVy
L0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRDaHJvbWl1bS5jcHAKaW5kZXggMzRlNGUzYzRlMGJkNDc1
ODc5YzZiMTkzYTVmYmE1NmRmNTliMjY0Yy4uOTg2ZmVjZTgzMmEwOTdlOWYwMDM2M2YyNjZlY2Ix
OWI0MDgwNWI2YSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVz
dFJ1bm5lci9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50Q2hyb21pdW0uY3BwCisrKyBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvQWNjZXNzaWJpbGl0eVVJRWxlbWVudENo
cm9taXVtLmNwcApAQCAtMjA4LDYgKzIwOCwxNiBAQCBzdGF0aWMgc3RyaW5nIHJvbGVUb1N0cmlu
ZyhXZWJBY2Nlc3NpYmlsaXR5Um9sZSByb2xlKQogICAgICAgICByZXR1cm4gcmVzdWx0LmFwcGVu
ZCgiVG9nZ2xlQnV0dG9uIik7CiAgICAgY2FzZSBXZWJBY2Nlc3NpYmlsaXR5Um9sZUNhbnZhczoK
ICAgICAgICAgcmV0dXJuIHJlc3VsdC5hcHBlbmQoIkNhbnZhcyIpOworICAgIGNhc2UgV2ViQWNj
ZXNzaWJpbGl0eVJvbGVQYXJhZ3JhcGg6CisgICAgICAgIHJldHVybiByZXN1bHQuYXBwZW5kKCJQ
YXJhZ3JhcGgiKTsKKyAgICBjYXNlIFdlYkFjY2Vzc2liaWxpdHlSb2xlRGl2OgorICAgICAgICBy
ZXR1cm4gcmVzdWx0LmFwcGVuZCgiRGl2Iik7CisgICAgY2FzZSBXZWJBY2Nlc3NpYmlsaXR5Um9s
ZUxhYmVsOgorICAgICAgICByZXR1cm4gcmVzdWx0LmFwcGVuZCgiTGFiZWwiKTsKKyAgICBjYXNl
IFdlYkFjY2Vzc2liaWxpdHlSb2xlRm9ybToKKyAgICAgICAgcmV0dXJuIHJlc3VsdC5hcHBlbmQo
IkZvcm0iKTsKKyAgICBjYXNlIFdlYkFjY2Vzc2liaWxpdHlSb2xlSG9yaXpvbnRhbFJ1bGU6Cisg
ICAgICAgIHJldHVybiByZXN1bHQuYXBwZW5kKCJIb3Jpem9udGFsUnVsZSIpOwogICAgIGRlZmF1
bHQ6CiAgICAgICAgIC8vIEFsc28gbWF0Y2hlcyBXZWJBY2Nlc3NpYmlsaXR5Um9sZVVua25vd24u
CiAgICAgICAgIHJldHVybiByZXN1bHQuYXBwZW5kKCJVbmtub3duIik7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggN2U4NDE3
YzcwZGM3M2VmNDRkNTY4NjRiYzcwNDhiNTJlNWNmM2M1MC4uOGIwYWU2NDE2NGI2YjY5MmNmOTRl
MjdiMzk3Yjk4MjkxZmIwNmI3YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA5LTA3ICBE
b21pbmljIE1henpvbmkgIDxkbWF6em9uaUBnb29nbGUuY29tPgorCisgICAgICAgIEFYOiBXZWJD
b3JlIGFjY2Vzc2liaWxpdHkgcm9sZXMgc2hvdWxkIGJlIGNyb3NzLXBsYXRmb3JtCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDg3MAorCisgICAgICAg
IFJldmlld2VkIGJ5IENocmlzIEZsZWl6YWNoLgorCisgICAgICAgIEFkZHMgYSB0ZXN0IGZvciBz
b21lIG5ldyBhY2Nlc3NpYmlsaXR5IHJvbGVzIHRoYXQgYXJlbid0IHByZXNlbnQgb24gYWxsIHBs
YXRmb3Jtcy4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hy
b21pdW0tb25seS1yb2xlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hyb21pdW0tb25seS1yb2xlcy5odG1sOiBBZGRlZC4K
KwogMjAxMi0wOS0wNiAgQW5uYSBDYXZlbmRlciAgPGFubmFjY0BjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgUmViYXNlbGluZXMgZHVlIHRvIHIxMjc4MzEuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2Nocm9taXVtLW9ubHktcm9sZXMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9j
aHJvbWl1bS1vbmx5LXJvbGVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wN2VkN2JlMjBiZTA3
YzMxNTE1ZWU4NzgxNDAwNmZiOTQ5OGVlNmYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS1vbmx5LXJvbGVzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitDb250ZW50LVR5cGU6IHRleHQvcGxhaW4KK1Ro
aXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgYSBnZW5lcmljIGZvY3VzYWJsZSBkaXYgY2FuIGdldCBh
Y2Nlc3NpYmlsaXR5IGZvY3VzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFT
UyBheENvbnRhaW5lci5jaGlsZEF0SW5kZXgoMCkucm9sZSBpcyAiQVhSb2xlOiBBWEhvcml6b250
YWxSdWxlIgorUEFTUyBheENvbnRhaW5lci5jaGlsZEF0SW5kZXgoMSkucm9sZSBpcyAiQVhSb2xl
OiBBWFBhcmFncmFwaCIKK1BBU1MgYXhDb250YWluZXIuY2hpbGRBdEluZGV4KDIpLnJvbGUgaXMg
IkFYUm9sZTogQVhMYWJlbCIKK1BBU1MgYXhDb250YWluZXIuY2hpbGRBdEluZGV4KDMpLnJvbGUg
aXMgIkFYUm9sZTogQVhGb3JtIgorUEFTUyBheENvbnRhaW5lci5jaGlsZEF0SW5kZXgoNCkucm9s
ZSBpcyAiQVhSb2xlOiBBWERpdiIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9jaHJvbWl1bS1vbmx5LXJvbGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2Nocm9taXVtLW9ubHktcm9sZXMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xNGNhYjQ4MWE5OTc4ZWE3MzY5ZGJiNzdlZWI0YWYyOGI3YzQ3NWRhCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9j
aHJvbWl1bS1vbmx5LXJvbGVzLmh0bWwKQEAgLTAsMCArMSwzNSBAQAorPCFET0NUWVBFIEhUTUw+
Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKworPGRpdiBpZD0iY29udGFpbmVyIiBjb250ZW50
RWRpdGFibGU+CisgIDxociBhcmlhLWxhYmVsPSJociI+CisgIDxwIGFyaWEtbGFiZWw9InAiPjwv
cD4KKyAgPGxhYmVsIGFyaWEtbGFiZWw9ImxhYmVsIj48L2xhYmVsPgorICA8Zm9ybSBhcmlhLWxh
YmVsPSJmb3JtIj48L2Zvcm0+CisgIDxkaXYgYXJpYS1sYWJlbD0iZGl2Ij48L2Rpdj4KKzwvZGl2
PgorCis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBhIGdlbmVyaWMgZm9jdXNhYmxlIGRpdiBjYW4gZ2V0IGFj
Y2Vzc2liaWxpdHkgZm9jdXMuIik7CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cu
YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKKyAgICB3aW5kb3cudGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7CisKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGFpbmVyJykuZm9jdXMo
KTsKKyAgICB2YXIgYXhDb250YWluZXIgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2Vk
RWxlbWVudDsKKworICAgIHNob3VsZEJlKCdheENvbnRhaW5lci5jaGlsZEF0SW5kZXgoMCkucm9s
ZScsICciQVhSb2xlOiBBWEhvcml6b250YWxSdWxlIicpOworICAgIHNob3VsZEJlKCdheENvbnRh
aW5lci5jaGlsZEF0SW5kZXgoMSkucm9sZScsICciQVhSb2xlOiBBWFBhcmFncmFwaCInKTsKKyAg
ICBzaG91bGRCZSgnYXhDb250YWluZXIuY2hpbGRBdEluZGV4KDIpLnJvbGUnLCAnIkFYUm9sZTog
QVhMYWJlbCInKTsKKyAgICBzaG91bGRCZSgnYXhDb250YWluZXIuY2hpbGRBdEluZGV4KDMpLnJv
bGUnLCAnIkFYUm9sZTogQVhGb3JtIicpOworICAgIHNob3VsZEJlKCdheENvbnRhaW5lci5jaGls
ZEF0SW5kZXgoNCkucm9sZScsICciQVhSb2xlOiBBWERpdiInKTsKK30KKworPC9zY3JpcHQ+CisK
KzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162786</attachid>
            <date>2012-09-07 09:17:21 -0700</date>
            <delta_ts>2012-09-07 15:13:35 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-94870-20120907091701.patch</filename>
            <type>text/plain</type>
            <size>12284</size>
            <attacher name="Dominic Mazzoni">dmazzoni</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3ODQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWZjMTUwZjRhNGI1ZmU2
MTczYmQzMGU1Mzg3NDBkOWFhYzY4ZmZjNi4uOWUwZWNhOWVlOTA5NDg4NmJiOTBmY2FmZjJhMTU4
NzNiODMyNWY0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTA5LTA3ICBEb21p
bmljIE1henpvbmkgIDxkbWF6em9uaUBnb29nbGUuY29tPgorCisgICAgICAgIEFYOiBXZWJDb3Jl
IGFjY2Vzc2liaWxpdHkgcm9sZXMgc2hvdWxkIGJlIGNyb3NzLXBsYXRmb3JtCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDg3MAorCisgICAgICAgIFJl
dmlld2VkIGJ5IENocmlzIEZsZWl6YWNoLgorCisgICAgICAgIE1ha2UgNSBhY2Nlc3NpYmlsaXR5
IHJvbGVzIGNyb3NzLXBsYXRmb3JtIHJhdGhlciB0aGFuIEdUSy1vbmx5LgorCisgICAgICAgIElu
c3RlYWQgb2YgbWFwcGluZyB0aGUgSFIgdGFnIHRvIFNwbGl0dGVyUm9sZSAod2hpY2ggaXMgYW4g
aW50ZXJhY3RpdmUKKyAgICAgICAgc3BsaXR0ZXIgY29udHJvbCBvbiBNYWMpLCBjcmVhdGUgYSBu
ZXcgcm9sZSBIb3Jpem9udGFsUnVsZVJvbGUuCisKKyAgICAgICAgTWFwIGFsbCBvZiB0aGUgbmV3
IHJvbGVzIHRvIEFYR3JvdXAgb24gTWFjLCB3aGljaCBtYXRjaGVzIHRoZSBleGlzdGluZworICAg
ICAgICBiZWhhdmlvci4gQWRkIGEgbmV3IHRlc3QgZm9yIHRoZXNlIHJvbGVzIG9uIENocm9taXVt
LgorCisgICAgICAgIFRlc3Q6IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hyb21p
dW0tb25seS1yb2xlcy5odG1sCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6c3Vw
cG9ydHNBUklBQXR0cmlidXRlcyk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5T2JqZWN0Lmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6
OmRldGVybWluZUFjY2Vzc2liaWxpdHlSb2xlKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2d0
ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2li
aWxpdHlPYmplY3Q6OmFjY2Vzc2liaWxpdHlQbGF0Zm9ybUluY2x1ZGVzT2JqZWN0KToKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5jcHA6Cisg
ICAgICAgIChhdGtSb2xlKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlci5tbToKKyAgICAgICAgKGNyZWF0ZUFjY2Vzc2liaWxpdHlSb2xl
TWFwKToKKwogMjAxMi0wOS0wNyAgUnl1YW4gQ2hvaSAgPHJ5dWFuLmNob2lAc2Ftc3VuZy5jb20+
CiAKICAgICAgICAgW0VGTF0gVXNlIEFTQ0lJTGl0ZXJhbCBmb3IgY3Vyc29yU3RyaW5nTWFwLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBmM2I2ZmMyMjExMDY3ZjVhZmZlMjVhNTA5Zjkz
Njc3Mzg1ZjZkMTVkLi41MzkwYWFlMDYzNzdkZGYwYThiYTRmYjIzMWVhNjdiZTYxNDE0ODI0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA5LTA3ICBE
b21pbmljIE1henpvbmkgIDxkbWF6em9uaUBnb29nbGUuY29tPgorCisgICAgICAgIEFYOiBXZWJD
b3JlIGFjY2Vzc2liaWxpdHkgcm9sZXMgc2hvdWxkIGJlIGNyb3NzLXBsYXRmb3JtCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDg3MAorCisgICAgICAg
IFJldmlld2VkIGJ5IENocmlzIEZsZWl6YWNoLgorCisgICAgICAgIEFkZCBhIG5ldyBhY2Nlc3Np
YmlsaXR5IHJvbGUuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViQWNjZXNzaWJpbGl0eVJvbGUuaDoK
KyAgICAgICAgKiBzcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHA6CisKIDIwMTItMDktMDYgIFNo
ZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMjc4MjIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAppbmRleCA2ZWEzYmYzOGRhNzVlYzNi
YTcyMzU1ZGM4YjYyZWY2MzJhMTI0YWQzLi4yMDFiYWUzYjE0MDhlZTg2NTI3MTQwZWQwNTBjMzU4
ZWZhODdiY2ZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU9iamVjdC5jcHAKQEAgLTE0OTYsNyArMTQ5NiwxMiBAQCBib29sIEFjY2Vzc2li
aWxpdHlPYmplY3Q6OmlzSW5zaWRlQVJJQUxpdmVSZWdpb24oKSBjb25zdAogCiBib29sIEFjY2Vz
c2liaWxpdHlPYmplY3Q6OnN1cHBvcnRzQVJJQUF0dHJpYnV0ZXMoKSBjb25zdAogewotICAgIHJl
dHVybiBzdXBwb3J0c0FSSUFMaXZlUmVnaW9uKCkgfHwgc3VwcG9ydHNBUklBRHJhZ2dpbmcoKSB8
fCBzdXBwb3J0c0FSSUFEcm9wcGluZygpIHx8IHN1cHBvcnRzQVJJQUZsb3dUbygpIHx8IHN1cHBv
cnRzQVJJQU93bnMoKTsKKyAgICByZXR1cm4gc3VwcG9ydHNBUklBTGl2ZVJlZ2lvbigpCisgICAg
ICAgIHx8IHN1cHBvcnRzQVJJQURyYWdnaW5nKCkKKyAgICAgICAgfHwgc3VwcG9ydHNBUklBRHJv
cHBpbmcoKQorICAgICAgICB8fCBzdXBwb3J0c0FSSUFGbG93VG8oKQorICAgICAgICB8fCBzdXBw
b3J0c0FSSUFPd25zKCkKKyAgICAgICAgfHwgaGFzQXR0cmlidXRlKGFyaWFfbGFiZWxBdHRyKTsK
IH0KICAgICAKIGJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6c3VwcG9ydHNBUklBTGl2ZVJlZ2lv
bigpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eU9iamVjdC5oCmluZGV4IDMzY2ZiZDFjMDE5ZTkwODViYmQxYTk2MGUwOTFhMDMzMjIwNmY0
NDYuLmE5MGFiMjVlNjFkY2U1OWYzODQyNjUwMjUyMzg5ZWMxMjZhYmI0MWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCkBAIC0x
MzAsNiArMTMwLDcgQEAgZW51bSBBY2Nlc3NpYmlsaXR5Um9sZSB7CiAgICAgR3Jvd0FyZWFSb2xl
LAogICAgIEhlYWRpbmdSb2xlLAogICAgIEhlbHBUYWdSb2xlLAorICAgIEhvcml6b250YWxSdWxl
Um9sZSwKICAgICBJZ25vcmVkUm9sZSwKICAgICBJbWFnZVJvbGUsCiAgICAgSW1hZ2VNYXBSb2xl
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
UmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdC5jcHAKaW5kZXggZWY0ZGNmZTRlY2ZhMzk4ZDY2MDAyYmVkNTY2YTQ5
MmNiNzYwNjQwNS4uNjM2ZjczMDkzNDlmZTJjZmQ0MmY2NmEwOTM5NDVkZjk5MDQ1MmQ3OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3QuY3BwCkBAIC0zMjQ4LDEwICszMjQ4LDkgQEAgQWNjZXNzaWJpbGl0eVJv
bGUgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6ZGV0ZXJtaW5lQWNjZXNzaWJpbGl0eVJvbGUo
KQogICAgIC8vIFRhYmxlIHNlY3Rpb25zIHNob3VsZCBiZSBpZ25vcmVkLgogICAgIGlmIChtX3Jl
bmRlcmVyLT5pc1RhYmxlU2VjdGlvbigpKQogICAgICAgICByZXR1cm4gSWdub3JlZFJvbGU7Ci0g
ICAgCi0jaWYgUExBVEZPUk0oR1RLKQorCiAgICAgaWYgKG1fcmVuZGVyZXItPmlzSFIoKSkKLSAg
ICAgICAgcmV0dXJuIFNwbGl0dGVyUm9sZTsKKyAgICAgICAgcmV0dXJuIEhvcml6b250YWxSdWxl
Um9sZTsKIAogICAgIGlmIChub2RlICYmIG5vZGUtPmhhc1RhZ05hbWUocFRhZykpCiAgICAgICAg
IHJldHVybiBQYXJhZ3JhcGhSb2xlOwpAQCAtMzI2NCwxMCArMzI2Myw2IEBAIEFjY2Vzc2liaWxp
dHlSb2xlIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmRldGVybWluZUFjY2Vzc2liaWxpdHlS
b2xlKCkKIAogICAgIGlmIChub2RlICYmIG5vZGUtPmhhc1RhZ05hbWUoZm9ybVRhZykpCiAgICAg
ICAgIHJldHVybiBGb3JtUm9sZTsKLSNlbHNlCi0gICAgaWYgKG5vZGUgJiYgbm9kZS0+aGFzVGFn
TmFtZShsYWJlbFRhZykpCi0gICAgICAgIHJldHVybiBHcm91cFJvbGU7Ci0jZW5kaWYKIAogICAg
IGlmIChub2RlICYmIG5vZGUtPmhhc1RhZ05hbWUoYXJ0aWNsZVRhZykpCiAgICAgICAgIHJldHVy
biBEb2N1bWVudEFydGljbGVSb2xlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcAppbmRleCAyNGY5Yjkz
MGQ5NjgwZWM5NjM3NDMyNWVhYzExNWY1ZWE2ZDg1ZGM5Li40Y2Y2OTc5YmJkMDBmMzFmZGE0Y2Ey
MWRkZGZlNWE0ZDI3NzY1ZmY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcApAQCAtNDEsNyArNDEs
NyBAQCBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFj
Y2Vzc2liaWxpdHlQbGF0Zm9ybUluY2x1ZGVzTwogICAgICAgICByZXR1cm4gRGVmYXVsdEJlaGF2
aW9yOwogCiAgICAgQWNjZXNzaWJpbGl0eVJvbGUgcm9sZSA9IHJvbGVWYWx1ZSgpOwotICAgIGlm
IChyb2xlID09IFNwbGl0dGVyUm9sZSkKKyAgICBpZiAocm9sZSA9PSBIb3Jpem9udGFsUnVsZVJv
bGUpCiAgICAgICAgIHJldHVybiBJbmNsdWRlT2JqZWN0OwogCiAgICAgLy8gV2UgZXhwb3NlIHRo
ZSBzbGlkZXIgYXMgYSB3aG9sZSBidXQgbm90IGl0cyB2YWx1ZSBpbmRpY2F0b3IuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRBY2Nlc3NpYmxlV3Jh
cHBlckF0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRBY2Nl
c3NpYmxlV3JhcHBlckF0ay5jcHAKaW5kZXggN2JjY2FkODg0NzBjYjBkZWUxNzdiMThjMTQ3OWU1
NTc5MTI5Zjg4NS4uZWM5OTAzNzZmZjg2MGYzMDRhMDVmYWI0MDNiOGQ5OTlkYzBhNDA2NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvV2ViS2l0QWNjZXNzaWJs
ZVdyYXBwZXJBdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL1dl
YktpdEFjY2Vzc2libGVXcmFwcGVyQXRrLmNwcApAQCAtNDc2LDcgKzQ3Niw3IEBAIHN0YXRpYyBB
dGtSb2xlIGF0a1JvbGUoQWNjZXNzaWJpbGl0eVJvbGUgcm9sZSkKICAgICBjYXNlIFNwbGl0R3Jv
dXBSb2xlOgogICAgICAgICByZXR1cm4gQVRLX1JPTEVfU1BMSVRfUEFORTsKICAgICBjYXNlIFNw
bGl0dGVyUm9sZToKLSAgICAgICAgcmV0dXJuIEFUS19ST0xFX1NFUEFSQVRPUjsKKyAgICAgICAg
cmV0dXJuIEFUS19ST0xFX1VOS05PV047CiAgICAgY2FzZSBDb2xvcldlbGxSb2xlOgogICAgICAg
ICByZXR1cm4gQVRLX1JPTEVfQ09MT1JfQ0hPT1NFUjsKICAgICBjYXNlIExpc3RSb2xlOgpAQCAt
NTI2LDYgKzUyNiw4IEBAIHN0YXRpYyBBdGtSb2xlIGF0a1JvbGUoQWNjZXNzaWJpbGl0eVJvbGUg
cm9sZSkKICAgICAgICAgcmV0dXJuIEFUS19ST0xFX0ZPUk07CiAgICAgY2FzZSBDYW52YXNSb2xl
OgogICAgICAgICByZXR1cm4gQVRLX1JPTEVfQ0FOVkFTOworICAgIGNhc2UgSG9yaXpvbnRhbFJ1
bGVSb2xlOgorICAgICAgICByZXR1cm4gQVRLX1JPTEVfU0VQQVJBVE9SOwogICAgIGRlZmF1bHQ6
CiAgICAgICAgIHJldHVybiBBVEtfUk9MRV9VTktOT1dOOwogICAgIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkFjY2Vzc2liaWxpdHlSb2xlLmggYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Um9sZS5oCmluZGV4IGYx
NzMxODJjZGUxOWM3Y2ZhMmJiYWM0MDBhMTJmMTYwMjg1ZjMwM2EuLmRiOGZiY2JkNGY1MGJiZmJm
N2Y5NTc2YmRlNDc2ZGRhOGYzMWUxOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYkFjY2Vzc2liaWxpdHlSb2xlLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViQWNjZXNzaWJpbGl0eVJvbGUuaApAQCAtNzUsNiArNzUsNyBAQCBlbnVt
IFdlYkFjY2Vzc2liaWxpdHlSb2xlIHsKICAgICBXZWJBY2Nlc3NpYmlsaXR5Um9sZUdyb3dBcmVh
LAogICAgIFdlYkFjY2Vzc2liaWxpdHlSb2xlSGVhZGluZywKICAgICBXZWJBY2Nlc3NpYmlsaXR5
Um9sZUhlbHBUYWcsCisgICAgV2ViQWNjZXNzaWJpbGl0eVJvbGVIb3Jpem9udGFsUnVsZSwKICAg
ICBXZWJBY2Nlc3NpYmlsaXR5Um9sZUlnbm9yZWQsCiAgICAgV2ViQWNjZXNzaWJpbGl0eVJvbGVJ
bWFnZSwKICAgICBXZWJBY2Nlc3NpYmlsaXR5Um9sZUltYWdlTWFwLApkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDUxNzhiYzY2MzFkNDQzZjI2MWNk
MDMxNDJmZmRiYjkxNjdkNWY3MjcuLjA5OGQ0YmZmZTQ4NjEyNjc0MTIwNTJiOWE0ZGI1ZGNiM2Nj
ZDIxNTUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNSBAQAorMjAxMi0wOS0wNyAgRG9taW5pYyBNYXp6b25pICA8ZG1henpvbmlA
Z29vZ2xlLmNvbT4KKworICAgICAgICBBWDogV2ViQ29yZSBhY2Nlc3NpYmlsaXR5IHJvbGVzIHNo
b3VsZCBiZSBjcm9zcy1wbGF0Zm9ybQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTQ4NzAKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBGbGVpemFj
aC4KKworICAgICAgICBBZGQgZGVidWcgc3RyaW5ncyB0byBDaHJvbWl1bSBmb3IgbmV3IGFjY2Vz
c2liaWxpdHkgcm9sZXMuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0
UnVubmVyL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRDaHJvbWl1bS5jcHA6CisgICAgICAgIChyb2xl
VG9TdHJpbmcpOgorCiAyMDEyLTA5LTA2ICBKYW1lcyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBVc2UgV2ViQ29tcG9zaXRvclN1cHBvcnQgZnVu
Y3Rpb25zIGluc3RlYWQgb2YgV2ViQ29tcG9zaXRvciBzdGF0aWNzCmRpZmYgLS1naXQgYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL0FjY2Vzc2liaWxpdHlVSUVsZW1l
bnRDaHJvbWl1bS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVy
L0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRDaHJvbWl1bS5jcHAKaW5kZXggMzRlNGUzYzRlMGJkNDc1
ODc5YzZiMTkzYTVmYmE1NmRmNTliMjY0Yy4uOTg2ZmVjZTgzMmEwOTdlOWYwMDM2M2YyNjZlY2Ix
OWI0MDgwNWI2YSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVz
dFJ1bm5lci9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50Q2hyb21pdW0uY3BwCisrKyBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvQWNjZXNzaWJpbGl0eVVJRWxlbWVudENo
cm9taXVtLmNwcApAQCAtMjA4LDYgKzIwOCwxNiBAQCBzdGF0aWMgc3RyaW5nIHJvbGVUb1N0cmlu
ZyhXZWJBY2Nlc3NpYmlsaXR5Um9sZSByb2xlKQogICAgICAgICByZXR1cm4gcmVzdWx0LmFwcGVu
ZCgiVG9nZ2xlQnV0dG9uIik7CiAgICAgY2FzZSBXZWJBY2Nlc3NpYmlsaXR5Um9sZUNhbnZhczoK
ICAgICAgICAgcmV0dXJuIHJlc3VsdC5hcHBlbmQoIkNhbnZhcyIpOworICAgIGNhc2UgV2ViQWNj
ZXNzaWJpbGl0eVJvbGVQYXJhZ3JhcGg6CisgICAgICAgIHJldHVybiByZXN1bHQuYXBwZW5kKCJQ
YXJhZ3JhcGgiKTsKKyAgICBjYXNlIFdlYkFjY2Vzc2liaWxpdHlSb2xlRGl2OgorICAgICAgICBy
ZXR1cm4gcmVzdWx0LmFwcGVuZCgiRGl2Iik7CisgICAgY2FzZSBXZWJBY2Nlc3NpYmlsaXR5Um9s
ZUxhYmVsOgorICAgICAgICByZXR1cm4gcmVzdWx0LmFwcGVuZCgiTGFiZWwiKTsKKyAgICBjYXNl
IFdlYkFjY2Vzc2liaWxpdHlSb2xlRm9ybToKKyAgICAgICAgcmV0dXJuIHJlc3VsdC5hcHBlbmQo
IkZvcm0iKTsKKyAgICBjYXNlIFdlYkFjY2Vzc2liaWxpdHlSb2xlSG9yaXpvbnRhbFJ1bGU6Cisg
ICAgICAgIHJldHVybiByZXN1bHQuYXBwZW5kKCJIb3Jpem9udGFsUnVsZSIpOwogICAgIGRlZmF1
bHQ6CiAgICAgICAgIC8vIEFsc28gbWF0Y2hlcyBXZWJBY2Nlc3NpYmlsaXR5Um9sZVVua25vd24u
CiAgICAgICAgIHJldHVybiByZXN1bHQuYXBwZW5kKCJVbmtub3duIik7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggN2U4NDE3
YzcwZGM3M2VmNDRkNTY4NjRiYzcwNDhiNTJlNWNmM2M1MC4uOGIwYWU2NDE2NGI2YjY5MmNmOTRl
MjdiMzk3Yjk4MjkxZmIwNmI3YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA5LTA3ICBE
b21pbmljIE1henpvbmkgIDxkbWF6em9uaUBnb29nbGUuY29tPgorCisgICAgICAgIEFYOiBXZWJD
b3JlIGFjY2Vzc2liaWxpdHkgcm9sZXMgc2hvdWxkIGJlIGNyb3NzLXBsYXRmb3JtCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDg3MAorCisgICAgICAg
IFJldmlld2VkIGJ5IENocmlzIEZsZWl6YWNoLgorCisgICAgICAgIEFkZHMgYSB0ZXN0IGZvciBz
b21lIG5ldyBhY2Nlc3NpYmlsaXR5IHJvbGVzIHRoYXQgYXJlbid0IHByZXNlbnQgb24gYWxsIHBs
YXRmb3Jtcy4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hy
b21pdW0tb25seS1yb2xlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hyb21pdW0tb25seS1yb2xlcy5odG1sOiBBZGRlZC4K
KwogMjAxMi0wOS0wNiAgQW5uYSBDYXZlbmRlciAgPGFubmFjY0BjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgUmViYXNlbGluZXMgZHVlIHRvIHIxMjc4MzEuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2Nocm9taXVtLW9ubHktcm9sZXMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9j
aHJvbWl1bS1vbmx5LXJvbGVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wN2VkN2JlMjBiZTA3
YzMxNTE1ZWU4NzgxNDAwNmZiOTQ5OGVlNmYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS1vbmx5LXJvbGVzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitDb250ZW50LVR5cGU6IHRleHQvcGxhaW4KK1Ro
aXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgYSBnZW5lcmljIGZvY3VzYWJsZSBkaXYgY2FuIGdldCBh
Y2Nlc3NpYmlsaXR5IGZvY3VzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFT
UyBheENvbnRhaW5lci5jaGlsZEF0SW5kZXgoMCkucm9sZSBpcyAiQVhSb2xlOiBBWEhvcml6b250
YWxSdWxlIgorUEFTUyBheENvbnRhaW5lci5jaGlsZEF0SW5kZXgoMSkucm9sZSBpcyAiQVhSb2xl
OiBBWFBhcmFncmFwaCIKK1BBU1MgYXhDb250YWluZXIuY2hpbGRBdEluZGV4KDIpLnJvbGUgaXMg
IkFYUm9sZTogQVhMYWJlbCIKK1BBU1MgYXhDb250YWluZXIuY2hpbGRBdEluZGV4KDMpLnJvbGUg
aXMgIkFYUm9sZTogQVhGb3JtIgorUEFTUyBheENvbnRhaW5lci5jaGlsZEF0SW5kZXgoNCkucm9s
ZSBpcyAiQVhSb2xlOiBBWERpdiIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9jaHJvbWl1bS1vbmx5LXJvbGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2Nocm9taXVtLW9ubHktcm9sZXMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xNGNhYjQ4MWE5OTc4ZWE3MzY5ZGJiNzdlZWI0YWYyOGI3YzQ3NWRhCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9j
aHJvbWl1bS1vbmx5LXJvbGVzLmh0bWwKQEAgLTAsMCArMSwzNSBAQAorPCFET0NUWVBFIEhUTUw+
Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKworPGRpdiBpZD0iY29udGFpbmVyIiBjb250ZW50
RWRpdGFibGU+CisgIDxociBhcmlhLWxhYmVsPSJociI+CisgIDxwIGFyaWEtbGFiZWw9InAiPjwv
cD4KKyAgPGxhYmVsIGFyaWEtbGFiZWw9ImxhYmVsIj48L2xhYmVsPgorICA8Zm9ybSBhcmlhLWxh
YmVsPSJmb3JtIj48L2Zvcm0+CisgIDxkaXYgYXJpYS1sYWJlbD0iZGl2Ij48L2Rpdj4KKzwvZGl2
PgorCis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBhIGdlbmVyaWMgZm9jdXNhYmxlIGRpdiBjYW4gZ2V0IGFj
Y2Vzc2liaWxpdHkgZm9jdXMuIik7CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cu
YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKKyAgICB3aW5kb3cudGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7CisKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGFpbmVyJykuZm9jdXMo
KTsKKyAgICB2YXIgYXhDb250YWluZXIgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2Vk
RWxlbWVudDsKKworICAgIHNob3VsZEJlKCdheENvbnRhaW5lci5jaGlsZEF0SW5kZXgoMCkucm9s
ZScsICciQVhSb2xlOiBBWEhvcml6b250YWxSdWxlIicpOworICAgIHNob3VsZEJlKCdheENvbnRh
aW5lci5jaGlsZEF0SW5kZXgoMSkucm9sZScsICciQVhSb2xlOiBBWFBhcmFncmFwaCInKTsKKyAg
ICBzaG91bGRCZSgnYXhDb250YWluZXIuY2hpbGRBdEluZGV4KDIpLnJvbGUnLCAnIkFYUm9sZTog
QVhMYWJlbCInKTsKKyAgICBzaG91bGRCZSgnYXhDb250YWluZXIuY2hpbGRBdEluZGV4KDMpLnJv
bGUnLCAnIkFYUm9sZTogQVhGb3JtIicpOworICAgIHNob3VsZEJlKCdheENvbnRhaW5lci5jaGls
ZEF0SW5kZXgoNCkucm9sZScsICciQVhSb2xlOiBBWERpdiInKTsKK30KKworPC9zY3JpcHQ+CisK
KzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162882</attachid>
            <date>2012-09-07 15:13:39 -0700</date>
            <delta_ts>2012-09-07 16:46:22 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-94870-20120907151318.patch</filename>
            <type>text/plain</type>
            <size>16583</size>
            <attacher name="Dominic Mazzoni">dmazzoni</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3ODQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWZjMTUwZjRhNGI1ZmU2
MTczYmQzMGU1Mzg3NDBkOWFhYzY4ZmZjNi4uOWUwZWNhOWVlOTA5NDg4NmJiOTBmY2FmZjJhMTU4
NzNiODMyNWY0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTA5LTA3ICBEb21p
bmljIE1henpvbmkgIDxkbWF6em9uaUBnb29nbGUuY29tPgorCisgICAgICAgIEFYOiBXZWJDb3Jl
IGFjY2Vzc2liaWxpdHkgcm9sZXMgc2hvdWxkIGJlIGNyb3NzLXBsYXRmb3JtCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDg3MAorCisgICAgICAgIFJl
dmlld2VkIGJ5IENocmlzIEZsZWl6YWNoLgorCisgICAgICAgIE1ha2UgNSBhY2Nlc3NpYmlsaXR5
IHJvbGVzIGNyb3NzLXBsYXRmb3JtIHJhdGhlciB0aGFuIEdUSy1vbmx5LgorCisgICAgICAgIElu
c3RlYWQgb2YgbWFwcGluZyB0aGUgSFIgdGFnIHRvIFNwbGl0dGVyUm9sZSAod2hpY2ggaXMgYW4g
aW50ZXJhY3RpdmUKKyAgICAgICAgc3BsaXR0ZXIgY29udHJvbCBvbiBNYWMpLCBjcmVhdGUgYSBu
ZXcgcm9sZSBIb3Jpem9udGFsUnVsZVJvbGUuCisKKyAgICAgICAgTWFwIGFsbCBvZiB0aGUgbmV3
IHJvbGVzIHRvIEFYR3JvdXAgb24gTWFjLCB3aGljaCBtYXRjaGVzIHRoZSBleGlzdGluZworICAg
ICAgICBiZWhhdmlvci4gQWRkIGEgbmV3IHRlc3QgZm9yIHRoZXNlIHJvbGVzIG9uIENocm9taXVt
LgorCisgICAgICAgIFRlc3Q6IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hyb21p
dW0tb25seS1yb2xlcy5odG1sCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6c3Vw
cG9ydHNBUklBQXR0cmlidXRlcyk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5T2JqZWN0Lmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6
OmRldGVybWluZUFjY2Vzc2liaWxpdHlSb2xlKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2d0
ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2li
aWxpdHlPYmplY3Q6OmFjY2Vzc2liaWxpdHlQbGF0Zm9ybUluY2x1ZGVzT2JqZWN0KToKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5jcHA6Cisg
ICAgICAgIChhdGtSb2xlKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlci5tbToKKyAgICAgICAgKGNyZWF0ZUFjY2Vzc2liaWxpdHlSb2xl
TWFwKToKKwogMjAxMi0wOS0wNyAgUnl1YW4gQ2hvaSAgPHJ5dWFuLmNob2lAc2Ftc3VuZy5jb20+
CiAKICAgICAgICAgW0VGTF0gVXNlIEFTQ0lJTGl0ZXJhbCBmb3IgY3Vyc29yU3RyaW5nTWFwLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBmM2I2ZmMyMjExMDY3ZjVhZmZlMjVhNTA5Zjkz
Njc3Mzg1ZjZkMTVkLi41MzkwYWFlMDYzNzdkZGYwYThiYTRmYjIzMWVhNjdiZTYxNDE0ODI0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA5LTA3ICBE
b21pbmljIE1henpvbmkgIDxkbWF6em9uaUBnb29nbGUuY29tPgorCisgICAgICAgIEFYOiBXZWJD
b3JlIGFjY2Vzc2liaWxpdHkgcm9sZXMgc2hvdWxkIGJlIGNyb3NzLXBsYXRmb3JtCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDg3MAorCisgICAgICAg
IFJldmlld2VkIGJ5IENocmlzIEZsZWl6YWNoLgorCisgICAgICAgIEFkZCBhIG5ldyBhY2Nlc3Np
YmlsaXR5IHJvbGUuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViQWNjZXNzaWJpbGl0eVJvbGUuaDoK
KyAgICAgICAgKiBzcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHA6CisKIDIwMTItMDktMDYgIFNo
ZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMjc4MjIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAppbmRleCA2ZWEzYmYzOGRhNzVlYzNi
YTcyMzU1ZGM4YjYyZWY2MzJhMTI0YWQzLi4yMDFiYWUzYjE0MDhlZTg2NTI3MTQwZWQwNTBjMzU4
ZWZhODdiY2ZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU9iamVjdC5jcHAKQEAgLTE0OTYsNyArMTQ5NiwxMiBAQCBib29sIEFjY2Vzc2li
aWxpdHlPYmplY3Q6OmlzSW5zaWRlQVJJQUxpdmVSZWdpb24oKSBjb25zdAogCiBib29sIEFjY2Vz
c2liaWxpdHlPYmplY3Q6OnN1cHBvcnRzQVJJQUF0dHJpYnV0ZXMoKSBjb25zdAogewotICAgIHJl
dHVybiBzdXBwb3J0c0FSSUFMaXZlUmVnaW9uKCkgfHwgc3VwcG9ydHNBUklBRHJhZ2dpbmcoKSB8
fCBzdXBwb3J0c0FSSUFEcm9wcGluZygpIHx8IHN1cHBvcnRzQVJJQUZsb3dUbygpIHx8IHN1cHBv
cnRzQVJJQU93bnMoKTsKKyAgICByZXR1cm4gc3VwcG9ydHNBUklBTGl2ZVJlZ2lvbigpCisgICAg
ICAgIHx8IHN1cHBvcnRzQVJJQURyYWdnaW5nKCkKKyAgICAgICAgfHwgc3VwcG9ydHNBUklBRHJv
cHBpbmcoKQorICAgICAgICB8fCBzdXBwb3J0c0FSSUFGbG93VG8oKQorICAgICAgICB8fCBzdXBw
b3J0c0FSSUFPd25zKCkKKyAgICAgICAgfHwgaGFzQXR0cmlidXRlKGFyaWFfbGFiZWxBdHRyKTsK
IH0KICAgICAKIGJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6c3VwcG9ydHNBUklBTGl2ZVJlZ2lv
bigpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eU9iamVjdC5oCmluZGV4IDMzY2ZiZDFjMDE5ZTkwODViYmQxYTk2MGUwOTFhMDMzMjIwNmY0
NDYuLmE5MGFiMjVlNjFkY2U1OWYzODQyNjUwMjUyMzg5ZWMxMjZhYmI0MWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCkBAIC0x
MzAsNiArMTMwLDcgQEAgZW51bSBBY2Nlc3NpYmlsaXR5Um9sZSB7CiAgICAgR3Jvd0FyZWFSb2xl
LAogICAgIEhlYWRpbmdSb2xlLAogICAgIEhlbHBUYWdSb2xlLAorICAgIEhvcml6b250YWxSdWxl
Um9sZSwKICAgICBJZ25vcmVkUm9sZSwKICAgICBJbWFnZVJvbGUsCiAgICAgSW1hZ2VNYXBSb2xl
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
UmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdC5jcHAKaW5kZXggZWY0ZGNmZTRlY2ZhMzk4ZDY2MDAyYmVkNTY2YTQ5
MmNiNzYwNjQwNS4uNjM2ZjczMDkzNDlmZTJjZmQ0MmY2NmEwOTM5NDVkZjk5MDQ1MmQ3OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3QuY3BwCkBAIC0zMjQ4LDEwICszMjQ4LDkgQEAgQWNjZXNzaWJpbGl0eVJv
bGUgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6ZGV0ZXJtaW5lQWNjZXNzaWJpbGl0eVJvbGUo
KQogICAgIC8vIFRhYmxlIHNlY3Rpb25zIHNob3VsZCBiZSBpZ25vcmVkLgogICAgIGlmIChtX3Jl
bmRlcmVyLT5pc1RhYmxlU2VjdGlvbigpKQogICAgICAgICByZXR1cm4gSWdub3JlZFJvbGU7Ci0g
ICAgCi0jaWYgUExBVEZPUk0oR1RLKQorCiAgICAgaWYgKG1fcmVuZGVyZXItPmlzSFIoKSkKLSAg
ICAgICAgcmV0dXJuIFNwbGl0dGVyUm9sZTsKKyAgICAgICAgcmV0dXJuIEhvcml6b250YWxSdWxl
Um9sZTsKIAogICAgIGlmIChub2RlICYmIG5vZGUtPmhhc1RhZ05hbWUocFRhZykpCiAgICAgICAg
IHJldHVybiBQYXJhZ3JhcGhSb2xlOwpAQCAtMzI2NCwxMCArMzI2Myw2IEBAIEFjY2Vzc2liaWxp
dHlSb2xlIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmRldGVybWluZUFjY2Vzc2liaWxpdHlS
b2xlKCkKIAogICAgIGlmIChub2RlICYmIG5vZGUtPmhhc1RhZ05hbWUoZm9ybVRhZykpCiAgICAg
ICAgIHJldHVybiBGb3JtUm9sZTsKLSNlbHNlCi0gICAgaWYgKG5vZGUgJiYgbm9kZS0+aGFzVGFn
TmFtZShsYWJlbFRhZykpCi0gICAgICAgIHJldHVybiBHcm91cFJvbGU7Ci0jZW5kaWYKIAogICAg
IGlmIChub2RlICYmIG5vZGUtPmhhc1RhZ05hbWUoYXJ0aWNsZVRhZykpCiAgICAgICAgIHJldHVy
biBEb2N1bWVudEFydGljbGVSb2xlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcAppbmRleCAyNGY5Yjkz
MGQ5NjgwZWM5NjM3NDMyNWVhYzExNWY1ZWE2ZDg1ZGM5Li40Y2Y2OTc5YmJkMDBmMzFmZGE0Y2Ey
MWRkZGZlNWE0ZDI3NzY1ZmY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcApAQCAtNDEsNyArNDEs
NyBAQCBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFj
Y2Vzc2liaWxpdHlQbGF0Zm9ybUluY2x1ZGVzTwogICAgICAgICByZXR1cm4gRGVmYXVsdEJlaGF2
aW9yOwogCiAgICAgQWNjZXNzaWJpbGl0eVJvbGUgcm9sZSA9IHJvbGVWYWx1ZSgpOwotICAgIGlm
IChyb2xlID09IFNwbGl0dGVyUm9sZSkKKyAgICBpZiAocm9sZSA9PSBIb3Jpem9udGFsUnVsZVJv
bGUpCiAgICAgICAgIHJldHVybiBJbmNsdWRlT2JqZWN0OwogCiAgICAgLy8gV2UgZXhwb3NlIHRo
ZSBzbGlkZXIgYXMgYSB3aG9sZSBidXQgbm90IGl0cyB2YWx1ZSBpbmRpY2F0b3IuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRBY2Nlc3NpYmxlV3Jh
cHBlckF0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRBY2Nl
c3NpYmxlV3JhcHBlckF0ay5jcHAKaW5kZXggN2JjY2FkODg0NzBjYjBkZWUxNzdiMThjMTQ3OWU1
NTc5MTI5Zjg4NS4uZWM5OTAzNzZmZjg2MGYzMDRhMDVmYWI0MDNiOGQ5OTlkYzBhNDA2NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvV2ViS2l0QWNjZXNzaWJs
ZVdyYXBwZXJBdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL1dl
YktpdEFjY2Vzc2libGVXcmFwcGVyQXRrLmNwcApAQCAtNDc2LDcgKzQ3Niw3IEBAIHN0YXRpYyBB
dGtSb2xlIGF0a1JvbGUoQWNjZXNzaWJpbGl0eVJvbGUgcm9sZSkKICAgICBjYXNlIFNwbGl0R3Jv
dXBSb2xlOgogICAgICAgICByZXR1cm4gQVRLX1JPTEVfU1BMSVRfUEFORTsKICAgICBjYXNlIFNw
bGl0dGVyUm9sZToKLSAgICAgICAgcmV0dXJuIEFUS19ST0xFX1NFUEFSQVRPUjsKKyAgICAgICAg
cmV0dXJuIEFUS19ST0xFX1VOS05PV047CiAgICAgY2FzZSBDb2xvcldlbGxSb2xlOgogICAgICAg
ICByZXR1cm4gQVRLX1JPTEVfQ09MT1JfQ0hPT1NFUjsKICAgICBjYXNlIExpc3RSb2xlOgpAQCAt
NTI2LDYgKzUyNiw4IEBAIHN0YXRpYyBBdGtSb2xlIGF0a1JvbGUoQWNjZXNzaWJpbGl0eVJvbGUg
cm9sZSkKICAgICAgICAgcmV0dXJuIEFUS19ST0xFX0ZPUk07CiAgICAgY2FzZSBDYW52YXNSb2xl
OgogICAgICAgICByZXR1cm4gQVRLX1JPTEVfQ0FOVkFTOworICAgIGNhc2UgSG9yaXpvbnRhbFJ1
bGVSb2xlOgorICAgICAgICByZXR1cm4gQVRLX1JPTEVfU0VQQVJBVE9SOwogICAgIGRlZmF1bHQ6
CiAgICAgICAgIHJldHVybiBBVEtfUk9MRV9VTktOT1dOOwogICAgIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkFjY2Vzc2liaWxpdHlSb2xlLmggYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Um9sZS5oCmluZGV4IGYx
NzMxODJjZGUxOWM3Y2ZhMmJiYWM0MDBhMTJmMTYwMjg1ZjMwM2EuLmRiOGZiY2JkNGY1MGJiZmJm
N2Y5NTc2YmRlNDc2ZGRhOGYzMWUxOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYkFjY2Vzc2liaWxpdHlSb2xlLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViQWNjZXNzaWJpbGl0eVJvbGUuaApAQCAtNzUsNiArNzUsNyBAQCBlbnVt
IFdlYkFjY2Vzc2liaWxpdHlSb2xlIHsKICAgICBXZWJBY2Nlc3NpYmlsaXR5Um9sZUdyb3dBcmVh
LAogICAgIFdlYkFjY2Vzc2liaWxpdHlSb2xlSGVhZGluZywKICAgICBXZWJBY2Nlc3NpYmlsaXR5
Um9sZUhlbHBUYWcsCisgICAgV2ViQWNjZXNzaWJpbGl0eVJvbGVIb3Jpem9udGFsUnVsZSwKICAg
ICBXZWJBY2Nlc3NpYmlsaXR5Um9sZUlnbm9yZWQsCiAgICAgV2ViQWNjZXNzaWJpbGl0eVJvbGVJ
bWFnZSwKICAgICBXZWJBY2Nlc3NpYmlsaXR5Um9sZUltYWdlTWFwLApkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDUxNzhiYzY2MzFkNDQzZjI2MWNk
MDMxNDJmZmRiYjkxNjdkNWY3MjcuLjA5OGQ0YmZmZTQ4NjEyNjc0MTIwNTJiOWE0ZGI1ZGNiM2Nj
ZDIxNTUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNSBAQAorMjAxMi0wOS0wNyAgRG9taW5pYyBNYXp6b25pICA8ZG1henpvbmlA
Z29vZ2xlLmNvbT4KKworICAgICAgICBBWDogV2ViQ29yZSBhY2Nlc3NpYmlsaXR5IHJvbGVzIHNo
b3VsZCBiZSBjcm9zcy1wbGF0Zm9ybQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTQ4NzAKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBGbGVpemFj
aC4KKworICAgICAgICBBZGQgZGVidWcgc3RyaW5ncyB0byBDaHJvbWl1bSBmb3IgbmV3IGFjY2Vz
c2liaWxpdHkgcm9sZXMuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0
UnVubmVyL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRDaHJvbWl1bS5jcHA6CisgICAgICAgIChyb2xl
VG9TdHJpbmcpOgorCiAyMDEyLTA5LTA2ICBKYW1lcyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBVc2UgV2ViQ29tcG9zaXRvclN1cHBvcnQgZnVu
Y3Rpb25zIGluc3RlYWQgb2YgV2ViQ29tcG9zaXRvciBzdGF0aWNzCmRpZmYgLS1naXQgYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL0FjY2Vzc2liaWxpdHlVSUVsZW1l
bnRDaHJvbWl1bS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVy
L0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRDaHJvbWl1bS5jcHAKaW5kZXggMzRlNGUzYzRlMGJkNDc1
ODc5YzZiMTkzYTVmYmE1NmRmNTliMjY0Yy4uOTg2ZmVjZTgzMmEwOTdlOWYwMDM2M2YyNjZlY2Ix
OWI0MDgwNWI2YSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVz
dFJ1bm5lci9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50Q2hyb21pdW0uY3BwCisrKyBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvQWNjZXNzaWJpbGl0eVVJRWxlbWVudENo
cm9taXVtLmNwcApAQCAtMjA4LDYgKzIwOCwxNiBAQCBzdGF0aWMgc3RyaW5nIHJvbGVUb1N0cmlu
ZyhXZWJBY2Nlc3NpYmlsaXR5Um9sZSByb2xlKQogICAgICAgICByZXR1cm4gcmVzdWx0LmFwcGVu
ZCgiVG9nZ2xlQnV0dG9uIik7CiAgICAgY2FzZSBXZWJBY2Nlc3NpYmlsaXR5Um9sZUNhbnZhczoK
ICAgICAgICAgcmV0dXJuIHJlc3VsdC5hcHBlbmQoIkNhbnZhcyIpOworICAgIGNhc2UgV2ViQWNj
ZXNzaWJpbGl0eVJvbGVQYXJhZ3JhcGg6CisgICAgICAgIHJldHVybiByZXN1bHQuYXBwZW5kKCJQ
YXJhZ3JhcGgiKTsKKyAgICBjYXNlIFdlYkFjY2Vzc2liaWxpdHlSb2xlRGl2OgorICAgICAgICBy
ZXR1cm4gcmVzdWx0LmFwcGVuZCgiRGl2Iik7CisgICAgY2FzZSBXZWJBY2Nlc3NpYmlsaXR5Um9s
ZUxhYmVsOgorICAgICAgICByZXR1cm4gcmVzdWx0LmFwcGVuZCgiTGFiZWwiKTsKKyAgICBjYXNl
IFdlYkFjY2Vzc2liaWxpdHlSb2xlRm9ybToKKyAgICAgICAgcmV0dXJuIHJlc3VsdC5hcHBlbmQo
IkZvcm0iKTsKKyAgICBjYXNlIFdlYkFjY2Vzc2liaWxpdHlSb2xlSG9yaXpvbnRhbFJ1bGU6Cisg
ICAgICAgIHJldHVybiByZXN1bHQuYXBwZW5kKCJIb3Jpem9udGFsUnVsZSIpOwogICAgIGRlZmF1
bHQ6CiAgICAgICAgIC8vIEFsc28gbWF0Y2hlcyBXZWJBY2Nlc3NpYmlsaXR5Um9sZVVua25vd24u
CiAgICAgICAgIHJldHVybiByZXN1bHQuYXBwZW5kKCJVbmtub3duIik7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggN2U4NDE3
YzcwZGM3M2VmNDRkNTY4NjRiYzcwNDhiNTJlNWNmM2M1MC4uOGIwYWU2NDE2NGI2YjY5MmNmOTRl
MjdiMzk3Yjk4MjkxZmIwNmI3YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA5LTA3ICBE
b21pbmljIE1henpvbmkgIDxkbWF6em9uaUBnb29nbGUuY29tPgorCisgICAgICAgIEFYOiBXZWJD
b3JlIGFjY2Vzc2liaWxpdHkgcm9sZXMgc2hvdWxkIGJlIGNyb3NzLXBsYXRmb3JtCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDg3MAorCisgICAgICAg
IFJldmlld2VkIGJ5IENocmlzIEZsZWl6YWNoLgorCisgICAgICAgIEFkZHMgYSB0ZXN0IGZvciBz
b21lIG5ldyBhY2Nlc3NpYmlsaXR5IHJvbGVzIHRoYXQgYXJlbid0IHByZXNlbnQgb24gYWxsIHBs
YXRmb3Jtcy4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hy
b21pdW0tb25seS1yb2xlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hyb21pdW0tb25seS1yb2xlcy5odG1sOiBBZGRlZC4K
KwogMjAxMi0wOS0wNiAgQW5uYSBDYXZlbmRlciAgPGFubmFjY0BjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgUmViYXNlbGluZXMgZHVlIHRvIHIxMjc4MzEuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9hY2Nlc3NpYmlsaXR5L2NhbnZhcy1mYWxsYmFjay1jb250ZW50Lmh0bWwgYi9MYXlvdXRUZXN0
cy9hY2Nlc3NpYmlsaXR5L2NhbnZhcy1mYWxsYmFjay1jb250ZW50Lmh0bWwKaW5kZXggOWRlNjdk
MGMwMjEzNmM1MmUwMjdhOWE4MDEyYjVlOTIyZWRiZGY4YS4uMzBkMGI1NmJkNThmNmVmNTgyNDk0
Zjc5OTQ5MDU2YTViOWYzNjViZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9jYW52YXMtZmFsbGJhY2stY29udGVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvY2FudmFzLWZhbGxiYWNrLWNvbnRlbnQuaHRtbApAQCAtMyw2ICszLDEyIEBACiA8Ym9k
eT4KIDxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+CiAKKzxzdHlsZT4KK215ZWxlbWVudCB7CisgIGRpc3BsYXk6IGJsb2NrOworfQorPC9z
dHlsZT4KKwogPGRpdj4KICAgPGEgaWQ9ImxpbmsxIiBocmVmPSIjIj5MaW5rPC9hPgogICA8YnV0
dG9uIGlkPSJidXR0b24xIj5CdXR0b248L2J1dHRvbj4KQEAgLTExLDcgKzE3LDcgQEAKICAgPGlu
cHV0IGlkPSJyYWRpbzEiIHR5cGU9InJhZGlvIj4KICAgPGlucHV0IGlkPSJzdWJtaXQxIiB0eXBl
PSJzdWJtaXQiPgogICA8c2VsZWN0IGlkPSJjb21ib2JveDEiPjxvcHRpb24+MTxvcHRpb24+Mjwv
c2VsZWN0PgotICA8ZGl2IGlkPSJmb2N1c2FibGUxIiB0YWJpbmRleD0iMCI+Rm9jdXNhYmxlPC9k
aXY+CisgIDxteWVsZW1lbnQgaWQ9ImZvY3VzYWJsZTEiIHRhYmluZGV4PSIwIj5Gb2N1c2FibGU8
L215ZWxlbWVudD4KICAgPGRpdiBpZD0iYXJpYS1idXR0b24xIiB0YWJpbmRleD0iMCIgcm9sZT0i
YnV0dG9uIj5BUklBIGJ1dHRvbjwvZGl2PgogICA8ZGl2IGlkPSJhcmlhLWxpbmsxIiB0YWJpbmRl
eD0iMCIgcm9sZT0ibGluayI+QVJJQSBsaW5rPC9kaXY+CiA8L2Rpdj4KQEAgLTI0LDcgKzMwLDcg
QEAKICAgPGlucHV0IGlkPSJyYWRpbzIiIHR5cGU9InJhZGlvIj4KICAgPGlucHV0IGlkPSJzdWJt
aXQyIiB0eXBlPSJzdWJtaXQiPgogICA8c2VsZWN0IGlkPSJjb21ib2JveDIiPjxvcHRpb24+MTxv
cHRpb24+Mjwvc2VsZWN0PgotICA8ZGl2IGlkPSJmb2N1c2FibGUyIiB0YWJpbmRleD0iMCI+Rm9j
dXNhYmxlPC9kaXY+CisgIDxteWVsZW1lbnQgaWQ9ImZvY3VzYWJsZTIiIHRhYmluZGV4PSIwIj5G
b2N1c2FibGU8L215ZWxlbWVudD4KICAgPGRpdiBpZD0iYXJpYS1idXR0b24yIiB0YWJpbmRleD0i
MCIgcm9sZT0iYnV0dG9uIj5BUklBIGJ1dHRvbjwvZGl2PgogICA8ZGl2IGlkPSJhcmlhLWxpbmsy
IiB0YWJpbmRleD0iMCIgcm9sZT0ibGluayI+QVJJQSBsaW5rPC9kaXY+CiA8L2NhbnZhcz4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW5saW5lLWNvbnRpbnVhdGlvbnMu
aHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW5saW5lLWNvbnRpbnVhdGlvbnMuaHRt
bAppbmRleCBhYWI2Y2ZjNDJmZTQ3ZjM1ZmQ0Y2I1ZTY5M2RlOTFlM2E4ZDAzMWZlLi41NTYxZmY3
MTViNDM3NzgwMTEzZmM2NWVkYWZiOGU5NWM0YTY3ZGNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9hY2Nlc3NpYmlsaXR5L2lubGluZS1jb250aW51YXRpb25zLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9pbmxpbmUtY29udGludWF0aW9ucy5odG1sCkBAIC0xNiw3ICsxNiw3
IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgIGJlbG93IHNob3VsZCBiZSB2aXNpdGVkIG9u
bHkgb25lcyB0cmF2ZXJzaW5nIHRoZSBhY2Nlc3NpYmlsaXR5CiAgICB0cmVlLjwvcD4KIAotPGRp
diBjb250ZW50RWRpdGFibGU9InRydWUiIGlkPSJ0ZXN0Ij48c3Bhbj4xPGRpdj4yPC9kaXY+Mzwv
c3Bhbj48c3Bhbj40PC9zcGFuPjxkaXY+NTwvZGl2PjwvZGl2PgorPGRpdiBjb250ZW50RWRpdGFi
bGU9InRydWUiIGlkPSJ0ZXN0Ij48c3Bhbj4xPGRpdiByb2xlPSJncm91cCI+MjwvZGl2PjM8L3Nw
YW4+PHNwYW4+NDwvc3Bhbj48ZGl2IHJvbGU9Imdyb3VwIj41PC9kaXY+PC9kaXY+CiAKIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgogCkBAIC0yNyw4ICsyNyw4IEBAIGZ1bmN0aW9uIG5vbkdyb3Vw
RGVzY2VuZGFudHMoZWx0KQogICAgIHZhciBjb3VudCA9IGVsdC5jaGlsZHJlbkNvdW50OwogICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgY291bnQ7ICsraSkgewogICAgICAgICB2YXIgY2hpbGQgPSBl
bHQuY2hpbGRBdEluZGV4KGkpOwotICAgICAgICAgIGlmICghY2hpbGQucm9sZS5tYXRjaCgvZ3Jv
dXAvaSkpCi0gICAgICAgICAgcmVzdWx0Kys7CisgICAgICAgIGlmICghY2hpbGQucm9sZS5tYXRj
aCgvZ3JvdXAvaSkpCisgICAgICAgICAgICByZXN1bHQrKzsKICAgICAgICAgcmVzdWx0ICs9IG5v
bkdyb3VwRGVzY2VuZGFudHMoY2hpbGQpOwogICAgIH0KICAgICByZXR1cm4gcmVzdWx0OwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9hZGph
Y2VudC1jb250aW51YXRpb25zLWNhdXNlLWFzc2VydGlvbi1mYWlsdXJlLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvYWRqYWNlbnQtY29u
dGludWF0aW9ucy1jYXVzZS1hc3NlcnRpb24tZmFpbHVyZS1leHBlY3RlZC50eHQKaW5kZXggOTYz
YmIyZjRmMGI3MjcxNGM4Yjk0OTNiYTQyMjFhZjhjMjAwMmY0My4uNDE5ZmI2OTU5Mjk3NTRlOGMz
ZDBjYmRjOTkyNjI2NWMxOGZhYjNhNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9hZGphY2VudC1jb250aW51YXRpb25zLWNhdXNlLWFzc2Vy
dGlvbi1mYWlsdXJlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L2FkamFjZW50LWNvbnRpbnVhdGlvbnMtY2F1c2UtYXNzZXJ0aW9u
LWZhaWx1cmUtZXhwZWN0ZWQudHh0CkBAIC05LDEwICs5LDEwIEBAIE9uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFCiAKIEFYUm9sZTogQVhXZWJBcmVhIEFYVmFsdWU6IAogICAgIEFYUm9sZTogQVhTdGF0
aWNUZXh0IEFYVmFsdWU6IHgKLSAgICBBWFJvbGU6IEFYR3JvdXAgQVhWYWx1ZTogCisgICAgQVhS
b2xlOiBBWERpdiBBWFZhbHVlOiAKICAgICAgICAgQVhSb2xlOiBBWFN0YXRpY1RleHQgQVhWYWx1
ZTogeQogICAgIEFYUm9sZTogQVhTdGF0aWNUZXh0IEFYVmFsdWU6IHoKLSAgICBBWFJvbGU6IEFY
R3JvdXAgQVhWYWx1ZTogCisgICAgQVhSb2xlOiBBWERpdiBBWFZhbHVlOiAKICAgICAgICAgQVhS
b2xlOiBBWFN0YXRpY1RleHQgQVhWYWx1ZTogRW5kIG9mIHRlc3QKIFBBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS1vbmx5LXJvbGVzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hyb21pdW0tb25seS1yb2xl
cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM0YjVhZjg2OGQxM2QxOTljNDJkMDE3ZDAxMDcw
ODNlZTU3MDE2NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvY2hyb21pdW0tb25seS1yb2xlcy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxNCBAQAorVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBhIGdlbmVyaWMgZm9jdXNhYmxl
IGRpdiBjYW4gZ2V0IGFjY2Vzc2liaWxpdHkgZm9jdXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworCitQQVNTIGF4Q29udGFpbmVyLmNoaWxkQXRJbmRleCgwKS5yb2xlIGlzICJBWFJv
bGU6IEFYSG9yaXpvbnRhbFJ1bGUiCitQQVNTIGF4Q29udGFpbmVyLmNoaWxkQXRJbmRleCgxKS5y
b2xlIGlzICJBWFJvbGU6IEFYUGFyYWdyYXBoIgorUEFTUyBheENvbnRhaW5lci5jaGlsZEF0SW5k
ZXgoMikucm9sZSBpcyAiQVhSb2xlOiBBWExhYmVsIgorUEFTUyBheENvbnRhaW5lci5jaGlsZEF0
SW5kZXgoMykucm9sZSBpcyAiQVhSb2xlOiBBWEZvcm0iCitQQVNTIGF4Q29udGFpbmVyLmNoaWxk
QXRJbmRleCg0KS5yb2xlIGlzICJBWFJvbGU6IEFYRGl2IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hyb21pdW0tb25seS1yb2xlcy5odG1sIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS1vbmx5
LXJvbGVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTRjYWI0ODFhOTk3OGVhNzM2OWRiYjc3ZWViNGFmMjhi
N2M0NzVkYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L2FjY2Vzc2liaWxpdHkvY2hyb21pdW0tb25seS1yb2xlcy5odG1sCkBAIC0wLDAgKzEsMzUgQEAK
KzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisKKzxkaXYgaWQ9ImNv
bnRhaW5lciIgY29udGVudEVkaXRhYmxlPgorICA8aHIgYXJpYS1sYWJlbD0iaHIiPgorICA8cCBh
cmlhLWxhYmVsPSJwIj48L3A+CisgIDxsYWJlbCBhcmlhLWxhYmVsPSJsYWJlbCI+PC9sYWJlbD4K
KyAgPGZvcm0gYXJpYS1sYWJlbD0iZm9ybSI+PC9mb3JtPgorICA8ZGl2IGFyaWEtbGFiZWw9ImRp
diI+PC9kaXY+Cis8L2Rpdj4KKworPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgYSBnZW5lcmljIGZvY3VzYWJs
ZSBkaXYgY2FuIGdldCBhY2Nlc3NpYmlsaXR5IGZvY3VzLiIpOworCitpZiAod2luZG93LnRlc3RS
dW5uZXIgJiYgd2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisgICAgd2luZG93LnRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOworCisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Nv
bnRhaW5lcicpLmZvY3VzKCk7CisgICAgdmFyIGF4Q29udGFpbmVyID0gYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7CisKKyAgICBzaG91bGRCZSgnYXhDb250YWluZXIuY2hp
bGRBdEluZGV4KDApLnJvbGUnLCAnIkFYUm9sZTogQVhIb3Jpem9udGFsUnVsZSInKTsKKyAgICBz
aG91bGRCZSgnYXhDb250YWluZXIuY2hpbGRBdEluZGV4KDEpLnJvbGUnLCAnIkFYUm9sZTogQVhQ
YXJhZ3JhcGgiJyk7CisgICAgc2hvdWxkQmUoJ2F4Q29udGFpbmVyLmNoaWxkQXRJbmRleCgyKS5y
b2xlJywgJyJBWFJvbGU6IEFYTGFiZWwiJyk7CisgICAgc2hvdWxkQmUoJ2F4Q29udGFpbmVyLmNo
aWxkQXRJbmRleCgzKS5yb2xlJywgJyJBWFJvbGU6IEFYRm9ybSInKTsKKyAgICBzaG91bGRCZSgn
YXhDb250YWluZXIuY2hpbGRBdEluZGV4KDQpLnJvbGUnLCAnIkFYUm9sZTogQVhEaXYiJyk7Cit9
CisKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvZGl2LXdpdGhpbi1h
bmNob3JzLWNhdXNlcy1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2Rpdi13aXRoaW4tYW5jaG9ycy1jYXVzZXMtY3Jhc2gtZXhw
ZWN0ZWQudHh0CmluZGV4IDE1YTJjNjhkMDA0YWI0NTgzYzlkMmVhOTM3YjNiYTliMGY0MzU2NTIu
LmE5NjU0Y2FhNDg1YWQ3NWQ2NDZiMTYxOTQzZTY2MGZkYWM3ZGE4NzUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvZGl2LXdpdGhpbi1hbmNo
b3JzLWNhdXNlcy1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9kaXYtd2l0aGluLWFuY2hvcnMtY2F1c2VzLWNyYXNoLWV4
cGVjdGVkLnR4dApAQCAtMiwxMSArMiwxMSBAQCBFbmQgb2YgdGVzdAogQmVmb3JlOgogQVhSb2xl
OiBBWFdlYkFyZWEgQVhWYWx1ZTogCiAgICAgQVhSb2xlOiBBWExpbmsgQVhWYWx1ZTogCi0gICAg
QVhSb2xlOiBBWEdyb3VwIEFYVmFsdWU6IAorICAgIEFYUm9sZTogQVhEaXYgQVhWYWx1ZTogCiAg
ICAgICAgIEFYUm9sZTogQVhTdGF0aWNUZXh0IEFYVmFsdWU6IEVuZCBvZiB0ZXN0CiBBZnRlcjoK
IEFYUm9sZTogQVhXZWJBcmVhIEFYVmFsdWU6IAotICAgIEFYUm9sZTogQVhHcm91cCBBWFZhbHVl
OiAKKyAgICBBWFJvbGU6IEFYRGl2IEFYVmFsdWU6IAogICAgICAgICBBWFJvbGU6IEFYU3RhdGlj
VGV4dCBBWFZhbHVlOiBFbmQgb2YgdGVzdAogVGhpcyBjYW4gY2F1c2UgYSBjcmFzaC4KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>