<?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>66114</bug_id>
          
          <creation_ts>2011-08-11 16:33:29 -0700</creation_ts>
          <short_desc>Computing world-space transform for LayerChromium and CCLayerImpl</short_desc>
          <delta_ts>2011-08-18 22:45:10 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Shawn Singh">shawnsingh</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>enne</cc>
    
    <cc>jamesr</cc>
    
    <cc>shawnsingh</cc>
    
    <cc>steveblock</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>450144</commentid>
    <comment_count>0</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2011-08-11 16:33:29 -0700</bug_when>
    <thetext>Computing world-space transform for LayerChromium and CCLayerImpl</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450155</commentid>
    <comment_count>1</comment_count>
      <attachid>103703</attachid>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2011-08-11 16:42:24 -0700</bug_when>
    <thetext>Created attachment 103703
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450159</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-11 16:45:39 -0700</bug_when>
    <thetext>Attachment 103703 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/ChangeLog:9:  Line contains tab character.  [whitespace/tab] [5]
Source/WebCore/ChangeLog:10:  Line contains tab character.  [whitespace/tab] [5]
Source/WebCore/ChangeLog:11:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 3 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450164</commentid>
    <comment_count>3</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-08-11 16:56:12 -0700</bug_when>
    <thetext>Looks like you need to configure your editor to expand tabs to spaces when editing ChangeLogs (for some reason my vim always gets confused when editing those).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450165</commentid>
    <comment_count>4</comment_count>
      <attachid>103705</attachid>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2011-08-11 16:57:28 -0700</bug_when>
    <thetext>Created attachment 103705
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450167</commentid>
    <comment_count>5</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-08-11 16:59:12 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Looks like you need to configure your editor to expand tabs to spaces when editing ChangeLogs (for some reason my vim always gets confused when editing those).

echo &quot;autocmd BufEnter ChangeLog set expandtab&quot; &gt;&gt; ~/.vimrc</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450638</commentid>
    <comment_count>6</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2011-08-12 13:49:45 -0700</bug_when>
    <thetext>Will re-submit a new patch soon that includes a test case and fixes a FIXME in LayerRendererChromium::drawLayer(...)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451466</commentid>
    <comment_count>7</comment_count>
      <attachid>103999</attachid>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2011-08-15 20:24:09 -0700</bug_when>
    <thetext>Created attachment 103999
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451700</commentid>
    <comment_count>8</comment_count>
      <attachid>103999</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-08-16 10:04:58 -0700</bug_when>
    <thetext>Comment on attachment 103999
Patch

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

&gt; Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp:1087
&gt; +        // FIXME: A more correct and efficient way to do this would be to transform
&gt; +        //        a simple unit vector in the z-axis, instead of mapQuad.
&gt; +        //        However, at this time there is no TransformationMatrix routine to transform mathematical
&gt; +        //        vectors (where the 4th matrix column does not &quot;translate&quot; the vector, unlike points)

I don&apos;t understand this comment.

The normal of the layer in untransformed space is the z-axis (0, 0, 1, 0).  Multiplying that by a TransformationMatrix t into screen space gives you the vector (t.m13(), t.m23(), t.m33(), t.m43()).  To check if that vector is backfacing with respect to some plane, take the dot product of the normal of that plane with that vector.  In this case, we care about the xy plane, so the normal is the z-axis again.  Taking the dot product of these two vectors gives you the scalar quantity t.m33(), which if it&apos;s less than zero implies that the layer is backfacing with respect to the xy plane in screen space.

Is my math wrong here? You should just be able to simplify all of this with a &quot;layer-&gt;worldSpaceDrawTransform().m33() &lt; 0&quot; test?

&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h:223
&gt; +    TransformationMatrix m_worldSpaceDrawTransform;

Bikeshedding nit: I know what you mean by &quot;world space&quot;, but I don&apos;t think that&apos;s a useful term here.  It&apos;s also not a draw transform, because we&apos;re not drawing with it.  I think &quot;screen space&quot; or &quot;device space&quot; makes more sense to me.  Maybe jamesr has a preference here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451703</commentid>
    <comment_count>9</comment_count>
      <attachid>104062</attachid>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2011-08-16 10:06:18 -0700</bug_when>
    <thetext>Created attachment 104062
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451737</commentid>
    <comment_count>10</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2011-08-16 10:54:49 -0700</bug_when>
    <thetext>
1.  will use the efficient m33() instead of the entire mapQuad.  Then that &quot;FIXME&quot; comment is no longer necessary either.

2. jamesr, can you please suggest what transform terminology you feel is most clear?  We discussed and felt that m_screenSpaceTransform is best.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451813</commentid>
    <comment_count>11</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-08-16 13:06:00 -0700</bug_when>
    <thetext>&quot;screen space&quot; is a little confusing as well, because sometimes we use &quot;screen space&quot; to refer to the currently bound framebuffer - for example the edge AA code does this.  Maybe screen space is correct for this and the edge AA code is wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451860</commentid>
    <comment_count>12</comment_count>
      <attachid>104088</attachid>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2011-08-16 14:14:52 -0700</bug_when>
    <thetext>Created attachment 104088
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451862</commentid>
    <comment_count>13</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2011-08-16 14:16:14 -0700</bug_when>
    <thetext>OK, submitted a new patch that is ready for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451985</commentid>
    <comment_count>14</comment_count>
      <attachid>104088</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-08-16 16:47:59 -0700</bug_when>
    <thetext>Comment on attachment 104088
Patch

Great, looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452057</commentid>
    <comment_count>15</comment_count>
      <attachid>104088</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-16 18:24:57 -0700</bug_when>
    <thetext>Comment on attachment 104088
Patch

Clearing flags on attachment: 104088

Committed r93186: &lt;http://trac.webkit.org/changeset/93186&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452059</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-16 18:25:02 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452200</commentid>
    <comment_count>17</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-08-17 04:12:08 -0700</bug_when>
    <thetext>It looks like this change has caused LayoutTests/platform/chromium/compositing/backface-visibility-transformed.html to fail in GPU mode on multiple Chromium canary bots due to an image diff.

For example, on the WebKit Linux bot, the first failure is http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Linux/builds/11977

Note that this test is skipped in CPU mode ...
BUGCR15733 SKIP WONTFIX CPU : platform/chromium/compositing = PASS TIMEOUT FAIL
This means that the flakiness dashboard isn&apos;t very helpful.

Looking at the actual result from the above build, the image output is a red trapezoid, rather than a green one, so the test seems truly broken, rather than in need of a minor rebaseline.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452204</commentid>
    <comment_count>18</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-08-17 04:43:31 -0700</bug_when>
    <thetext>Reverted r93186 for reason:

Breaks LayoutTests on Chromium canary bots

Committed r93201: &lt;http://trac.webkit.org/changeset/93201&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>453348</commentid>
    <comment_count>19</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-08-18 14:20:44 -0700</bug_when>
    <thetext>Sorry, my mistake.  The code in your 104062 attachment above is correct.  My math is wrong because you can&apos;t just consider the transformed normal when there&apos;s a perspective transform involved.  Reverting back to the original code that recalculates the normal of the transformed layer from the transformed vertices is the right way to do this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>453515</commentid>
    <comment_count>20</comment_count>
      <attachid>104427</attachid>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2011-08-18 17:42:49 -0700</bug_when>
    <thetext>Created attachment 104427
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>453518</commentid>
    <comment_count>21</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2011-08-18 17:47:21 -0700</bug_when>
    <thetext>on previous patch, layout tests were giving false positives on cygwin;  fixed the cygwin problem in https://bugs.webkit.org/show_bug.cgi?id=47240

Fixed the patch and re-tested, hopefully it is correct now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>453625</commentid>
    <comment_count>22</comment_count>
      <attachid>104427</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-08-18 21:45:41 -0700</bug_when>
    <thetext>Comment on attachment 104427
Patch

R=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>453654</commentid>
    <comment_count>23</comment_count>
      <attachid>104427</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-18 22:45:05 -0700</bug_when>
    <thetext>Comment on attachment 104427
Patch

Clearing flags on attachment: 104427

Committed r93387: &lt;http://trac.webkit.org/changeset/93387&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>453655</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-18 22:45:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103703</attachid>
            <date>2011-08-11 16:42:24 -0700</date>
            <delta_ts>2011-08-11 16:57:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66114-20110811164223.patch</filename>
            <type>text/plain</type>
            <size>9800</size>
            <attacher name="Shawn Singh">shawnsingh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTI4NDYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjMGQxMDVlOGY1M2Q0NmVm
NTYyNGY2ZDZkODJjM2QxMzdkOTkwNGQ1Li42ZWMyZDkwN2VhMDNiN2I2OWJlYzk0ZTVkYTY1YTcy
NWJiZjc5YjhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTEtMDgtMTEgIFNoYXdu
IFNpbmdoICA8c2hhd25zaW5naEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ29tcHV0aW5nIHdv
cmxkLXNwYWNlIHRyYW5zZm9ybSBmb3IgTGF5ZXJDaHJvbWl1bSBhbmQgQ0NMYXllckltcGwKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MTE0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlcmUgd2lsbCBi
ZSBzb21lIHVzZXMgZm9yIGNvbXB1dGluZyBhIHdvcmxkLXNwYWNlIHRyYW5zZm9ybQorCWFzc29j
aWF0ZWQgd2l0aCBlYWNoIGxheWVyLiAgVGhpcyBwYXRjaCBhZGRzIHRoaXMgZGF0YSB0bworCUxh
eWVyQ2hyb21pdW0gYW5kIENDTGF5ZXJJbXBsLiAgVGhlIHdvcmxkLXNwYWNlIHRyYW5zZm9ybQor
CWlzIGNvbXB1dGVkIGV2ZXJ5IHVwZGF0ZSAoTGF5ZXJDaHJvbWl1bSkgYW5kIGRyYXcgKENDTGF5
ZXJJbXBsKS4KKworCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJD
aHJvbWl1bS5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJDaHJvbWl1bTo6d29ybGRTcGFjZURy
YXdUcmFuc2Zvcm0pOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJDaHJvbWl1bTo6c2V0V29ybGRT
cGFjZURyYXdUcmFuc2Zvcm0pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRl
cmVyQ2hyb21pdW06OnVwZGF0ZUxheWVycyk6CisgICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRl
cmVyQ2hyb21pdW06OmRyYXdMYXllcnNJbnRlcm5hbCk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5
ZXJJbXBsOjp3b3JsZFNwYWNlRHJhd1RyYW5zZm9ybSk6CisgICAgICAgIChXZWJDb3JlOjpDQ0xh
eWVySW1wbDo6c2V0V29ybGRTcGFjZURyYXdUcmFuc2Zvcm0pOgorCiAyMDExLTA4LTExICBYYW4g
TG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBBZGQgbWlzc2luZyBm
aWxlcyB0byBHTlVNYWtlZmlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5oCmluZGV4IDRlNDAxY2NlODhhYjlh
ZDIyMWJkNDdkN2RmZTE5YzczZDViMWY0MGUuLjQyZjBhY2JkODQ1YzhhYzZmMWFjZDRjZjE2ZGYx
YzNhMDVmNWJjMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0xheWVyQ2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmgKQEAgLTE5OCw2ICsxOTgsOCBAQCBwdWJs
aWM6CiAgICAgdm9pZCBzZXRUYXJnZXRSZW5kZXJTdXJmYWNlKFJlbmRlclN1cmZhY2VDaHJvbWl1
bSogc3VyZmFjZSkgeyBtX3RhcmdldFJlbmRlclN1cmZhY2UgPSBzdXJmYWNlOyB9CiAgICAgY29u
c3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIGRyYXdUcmFuc2Zvcm0oKSBjb25zdCB7IHJldHVybiBt
X2RyYXdUcmFuc2Zvcm07IH0KICAgICB2b2lkIHNldERyYXdUcmFuc2Zvcm0oY29uc3QgVHJhbnNm
b3JtYXRpb25NYXRyaXgmIG1hdHJpeCkgeyBtX2RyYXdUcmFuc2Zvcm0gPSBtYXRyaXg7IH0KKyAg
ICBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgd29ybGRTcGFjZURyYXdUcmFuc2Zvcm0oKSBj
b25zdCB7IHJldHVybiBtX3dvcmxkU3BhY2VEcmF3VHJhbnNmb3JtOyB9CisgICAgdm9pZCBzZXRX
b3JsZFNwYWNlRHJhd1RyYW5zZm9ybShjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbWF0cml4
KSB7IG1fd29ybGRTcGFjZURyYXdUcmFuc2Zvcm0gPSBtYXRyaXg7IH0KICAgICBjb25zdCBJbnRS
ZWN0JiBkcmF3YWJsZUNvbnRlbnRSZWN0KCkgY29uc3QgeyByZXR1cm4gbV9kcmF3YWJsZUNvbnRl
bnRSZWN0OyB9CiAgICAgdm9pZCBzZXREcmF3YWJsZUNvbnRlbnRSZWN0KGNvbnN0IEludFJlY3Qm
IHJlY3QpIHsgbV9kcmF3YWJsZUNvbnRlbnRSZWN0ID0gcmVjdDsgfQogCkBAIC0yODgsNiArMjkw
LDcgQEAgcHJpdmF0ZToKICAgICBJbnRSZWN0IG1fc2Npc3NvclJlY3Q7CiAgICAgUmVuZGVyU3Vy
ZmFjZUNocm9taXVtKiBtX3RhcmdldFJlbmRlclN1cmZhY2U7CiAgICAgVHJhbnNmb3JtYXRpb25N
YXRyaXggbV9kcmF3VHJhbnNmb3JtOworICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IG1fd29ybGRT
cGFjZURyYXdUcmFuc2Zvcm07CiAgICAgSW50UmVjdCBtX2RyYXdhYmxlQ29udGVudFJlY3Q7CiAK
ICAgICBTdHJpbmcgbV9uYW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAK
aW5kZXggYmZjMjliNzhkMWQzZjU3MDg3YzBjNzNkMzA2OTIxNDhmMTI4ZDViOC4uOGQ1OGZkMDg5
Y2E2ZDMxOWExMzc0MzMwZjg2YWI5YTEzMDg3MjdiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRl
cmVyQ2hyb21pdW0uY3BwCkBAIC0xMzAsNyArMTMwLDcgQEAgdm9pZCBzb3J0TGF5ZXJzKFZlY3Rv
cjxSZWZQdHI8Q0NMYXllckltcGw+ID46Oml0ZXJhdG9yIGZpcnN0LCBWZWN0b3I8UmVmUHRyPEND
TGEKIC8vIFJlY3Vyc2l2ZWx5IHdhbGtzIHRoZSBsYXllciB0cmVlIHN0YXJ0aW5nIGF0IHRoZSBn
aXZlbiBub2RlIGFuZCBjb21wdXRlcyBhbGwgdGhlCiAvLyBuZWNlc3NhcnkgdHJhbnNmb3JtYXRp
b25zLCBzY2lzc29yIHJlY3RhbmdsZXMsIHJlbmRlciBzdXJmYWNlcywgZXRjLgogdGVtcGxhdGU8
dHlwZW5hbWUgTGF5ZXJUeXBlLCB0eXBlbmFtZSBSZW5kZXJTdXJmYWNlVHlwZSwgdHlwZW5hbWUg
TGF5ZXJTb3J0ZXI+Ci12b2lkIGNhbGN1bGF0ZURyYXdUcmFuc2Zvcm1zQW5kVmlzaWJpbGl0eShM
YXllclR5cGUqIGxheWVyLCBMYXllclR5cGUqIHJvb3RMYXllciwgY29uc3QgVHJhbnNmb3JtYXRp
b25NYXRyaXgmIHBhcmVudE1hdHJpeCwgVmVjdG9yPFJlZlB0cjxMYXllclR5cGU+ID4mIHJlbmRl
clN1cmZhY2VMYXllckxpc3QsIFZlY3RvcjxSZWZQdHI8TGF5ZXJUeXBlPiA+JiBsYXllckxpc3Qs
IExheWVyU29ydGVyKiBsYXllclNvcnRlciwgaW50IG1heFRleHR1cmVTaXplKQordm9pZCBjYWxj
dWxhdGVEcmF3VHJhbnNmb3Jtc0FuZFZpc2liaWxpdHkoTGF5ZXJUeXBlKiBsYXllciwgTGF5ZXJU
eXBlKiByb290TGF5ZXIsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBwYXJlbnRNYXRyaXgs
IGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBmdWxsSGllcmFyY2h5TWF0cml4LCBWZWN0b3I8
UmVmUHRyPExheWVyVHlwZT4gPiYgcmVuZGVyU3VyZmFjZUxheWVyTGlzdCwgVmVjdG9yPFJlZlB0
cjxMYXllclR5cGU+ID4mIGxheWVyTGlzdCwgTGF5ZXJTb3J0ZXIqIGxheWVyU29ydGVyLCBpbnQg
bWF4VGV4dHVyZVNpemUpCiB7CiAgICAgdHlwZWRlZiBWZWN0b3I8UmVmUHRyPExheWVyVHlwZT4g
PiBMYXllckxpc3Q7CiAgICAgLy8gQ29tcHV0ZSB0aGUgbmV3IG1hdHJpeCB0cmFuc2Zvcm1hdGlv
biB0aGF0IHdpbGwgYmUgYXBwbGllZCB0byB0aGlzIGxheWVyIGFuZApAQCAtMTczLDYgKzE3Mywx
MCBAQCB2b2lkIGNhbGN1bGF0ZURyYXdUcmFuc2Zvcm1zQW5kVmlzaWJpbGl0eShMYXllclR5cGUq
IGxheWVyLCBMYXllclR5cGUqIHJvb3RMYXllcgogICAgIEZsb2F0UmVjdCBsYXllclJlY3QoLTAu
NSAqIGxheWVyLT5ib3VuZHMoKS53aWR0aCgpLCAtMC41ICogbGF5ZXItPmJvdW5kcygpLmhlaWdo
dCgpLCBsYXllci0+Ym91bmRzKCkud2lkdGgoKSwgbGF5ZXItPmJvdW5kcygpLmhlaWdodCgpKTsK
ICAgICBJbnRSZWN0IHRyYW5zZm9ybWVkTGF5ZXJSZWN0OwogCisgICAgLy8gZnVsbEhpZXJhcmNo
eU1hdHJpeCBpcyB0aGUgbWF0cml4IHRoYXQgdHJhbnNmb3JtcyBvYmplY3RzIGJldHdlZW4gd29y
bGQgc3BhY2UgYW5kIHRoZSBtb3N0IHJlY2VudCBSZW5kZXJTdXJmYWNlJ3Mgc3BhY2UuCisgICAg
Ly8gbmV4dEhpZXJhcmNoeU1hdHJpeCB3aWxsIG9ubHkgY2hhbmdlIGlmIHRoaXMgbGF5ZXIgdXNl
cyBhIG5ldyBSZW5kZXJTdXJmYWNlLCBvdGhlcndpc2UgcmVtYWlucyB0aGUgc2FtZS4KKyAgICBU
cmFuc2Zvcm1hdGlvbk1hdHJpeCBuZXh0SGllcmFyY2h5TWF0cml4ID0gZnVsbEhpZXJhcmNoeU1h
dHJpeDsKKwogICAgIC8vIEZJWE1FOiBUaGlzIHNlZW1zIGxpa2UgdGhlIHdyb25nIHBsYWNlIHRv
IHNldCB0aGlzCiAgICAgbGF5ZXItPnNldFVzZXNMYXllclNjaXNzb3IoZmFsc2UpOwogCkBAIC0y
MTQsNiArMjE4LDkgQEAgdm9pZCBjYWxjdWxhdGVEcmF3VHJhbnNmb3Jtc0FuZFZpc2liaWxpdHko
TGF5ZXJUeXBlKiBsYXllciwgTGF5ZXJUeXBlKiByb290TGF5ZXIKICAgICAgICAgbGF5ZXJPcmln
aW5UcmFuc2Zvcm0udHJhbnNsYXRlM2QoLTAuNSAqIGJvdW5kcy53aWR0aCgpLCAtMC41ICogYm91
bmRzLmhlaWdodCgpLCAwKTsKICAgICAgICAgcmVuZGVyU3VyZmFjZS0+c2V0T3JpZ2luVHJhbnNm
b3JtKGxheWVyT3JpZ2luVHJhbnNmb3JtKTsKIAorICAgICAgICAvLyBVcGRhdGUgdGhlIGFnZ3Jl
Z2F0ZSBoaWVyYXJjaHkgbWF0cml4IHRvIHJlcHJlc2VudCB0aGUgdHJhbnNmb3JtIGJldHdlZW4g
d29ybGQgc3BhY2UgYW5kIHRoZSBuZXdseSBjcmVhdGVkIFJlbmRlclN1cmZhY2UuCisgICAgICAg
IG5leHRIaWVyYXJjaHlNYXRyaXgubXVsdGlwbHkobGF5ZXJPcmlnaW5UcmFuc2Zvcm0pOworCiAg
ICAgICAgIC8vIFRoZSByZW5kZXIgc3VyZmFjZSBzY2lzc29yIHJlY3QgaXMgdGhlIHNjaXNzb3Ig
cmVjdCB0aGF0IG5lZWRzIHRvCiAgICAgICAgIC8vIGJlIGFwcGxpZWQgYmVmb3JlIGRyYXdpbmcg
dGhlIHJlbmRlciBzdXJmYWNlIG9udG8gaXRzIGNvbnRhaW5pbmcKICAgICAgICAgLy8gc3VyZmFj
ZSBhbmQgaXMgdGhlcmVmb3JlIGV4cHJlc3NlZCBpbiB0aGUgcGFyZW50J3MgY29vcmRpbmF0ZSBz
eXN0ZW0uCkBAIC0yNjIsNiArMjY5LDE0IEBAIHZvaWQgY2FsY3VsYXRlRHJhd1RyYW5zZm9ybXNB
bmRWaXNpYmlsaXR5KExheWVyVHlwZSogbGF5ZXIsIExheWVyVHlwZSogcm9vdExheWVyCiAgICAg
ICAgIH0KICAgICB9CiAKKyAgICAvLyBOb3RlIHRoYXQgYXQgdGhpcyBwb2ludCwgbGF5ZXItPmRy
YXdUcmFuc2Zvcm0oKSBpcyBub3QgbmVjZXNzYXJpbHkgdGhlIHNhbWUgYXMgbG9jYWwgdmFyaWFi
bGUgZHJhd1RyYW5zZm9ybS4KKyAgICAvLyBsYXllcldvcmxkU3BhY2VEcmF3VHJhbnNmb3JtIHJl
cHJlc2VudHMgdGhlIHRyYW5zZm9ybSBiZXR3ZWVuIGxheWVyIHNwYWNlIChpbiBwaXhlbHMpIGFu
ZCB3b3JsZCBzcGFjZS4KKyAgICAvLyBTbyB3ZSBkbyBub3QgaW5jbHVkZSBwcm9qZWN0aW9uIFAg
b3Igc2NhbGluZyB0cmFuc2Zvcm0gUyAoc2VlIGNvbW1lbnRzIGFib3ZlIHRoYXQgZGVzY3JpYmUg
UCpNKlMpLgorICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IGxheWVyV29ybGRTcGFjZURyYXdUcmFu
c2Zvcm0gPSBuZXh0SGllcmFyY2h5TWF0cml4OworICAgIGxheWVyV29ybGRTcGFjZURyYXdUcmFu
c2Zvcm0ubXVsdGlwbHkobGF5ZXItPmRyYXdUcmFuc2Zvcm0oKSk7CisgICAgbGF5ZXJXb3JsZFNw
YWNlRHJhd1RyYW5zZm9ybS50cmFuc2xhdGUzZCgtMC41ICogYm91bmRzLndpZHRoKCksIC0wLjUg
KiBib3VuZHMuaGVpZ2h0KCksIDApOworICAgIGxheWVyLT5zZXRXb3JsZFNwYWNlRHJhd1RyYW5z
Zm9ybShsYXllcldvcmxkU3BhY2VEcmF3VHJhbnNmb3JtKTsKKwogICAgIGlmIChsYXllci0+cmVu
ZGVyU3VyZmFjZSgpKQogICAgICAgICBsYXllci0+c2V0VGFyZ2V0UmVuZGVyU3VyZmFjZShsYXll
ci0+cmVuZGVyU3VyZmFjZSgpKTsKICAgICBlbHNlIHsKQEAgLTMwNyw3ICszMjIsNyBAQCB2b2lk
IGNhbGN1bGF0ZURyYXdUcmFuc2Zvcm1zQW5kVmlzaWJpbGl0eShMYXllclR5cGUqIGxheWVyLCBM
YXllclR5cGUqIHJvb3RMYXllcgogCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBsYXllci0+
Y2hpbGRyZW4oKS5zaXplKCk7ICsraSkgewogICAgICAgICBMYXllclR5cGUqIGNoaWxkID0gbGF5
ZXItPmNoaWxkcmVuKClbaV0uZ2V0KCk7Ci0gICAgICAgIGNhbGN1bGF0ZURyYXdUcmFuc2Zvcm1z
QW5kVmlzaWJpbGl0eTxMYXllclR5cGUsIFJlbmRlclN1cmZhY2VUeXBlLCBMYXllclNvcnRlcj4o
Y2hpbGQsIHJvb3RMYXllciwgc3VibGF5ZXJNYXRyaXgsIHJlbmRlclN1cmZhY2VMYXllckxpc3Qs
IGRlc2NlbmRhbnRzLCBsYXllclNvcnRlciwgbWF4VGV4dHVyZVNpemUpOworICAgICAgICBjYWxj
dWxhdGVEcmF3VHJhbnNmb3Jtc0FuZFZpc2liaWxpdHk8TGF5ZXJUeXBlLCBSZW5kZXJTdXJmYWNl
VHlwZSwgTGF5ZXJTb3J0ZXI+KGNoaWxkLCByb290TGF5ZXIsIHN1YmxheWVyTWF0cml4LCBuZXh0
SGllcmFyY2h5TWF0cml4LCByZW5kZXJTdXJmYWNlTGF5ZXJMaXN0LCBkZXNjZW5kYW50cywgbGF5
ZXJTb3J0ZXIsIG1heFRleHR1cmVTaXplKTsKIAogICAgICAgICBpZiAoY2hpbGQtPnJlbmRlclN1
cmZhY2UoKSkgewogICAgICAgICAgICAgUmVuZGVyU3VyZmFjZVR5cGUqIGNoaWxkUmVuZGVyU3Vy
ZmFjZSA9IGNoaWxkLT5yZW5kZXJTdXJmYWNlKCk7CkBAIC02NDgsNyArNjYzLDcgQEAgdm9pZCBM
YXllclJlbmRlcmVyQ2hyb21pdW06OnVwZGF0ZUxheWVycyhMYXllckNocm9taXVtKiByb290TGF5
ZXIpCiAKICAgICB7CiAgICAgICAgIFRSQUNFX0VWRU5UKCJMYXllclJlbmRlcmVyQ2hyb21pdW06
OnVwZGF0ZUxheWVyczo6Y2FsY0RyYXdFdGMiLCB0aGlzLCAwKTsKLSAgICAgICAgY2FsY3VsYXRl
RHJhd1RyYW5zZm9ybXNBbmRWaXNpYmlsaXR5PExheWVyQ2hyb21pdW0sIFJlbmRlclN1cmZhY2VD
aHJvbWl1bSwgdm9pZCo+KHJvb3RMYXllciwgcm9vdExheWVyLCBpZGVudGl0eU1hdHJpeCwgcmVu
ZGVyU3VyZmFjZUxheWVyTGlzdCwgcm9vdFJlbmRlclN1cmZhY2UtPmxheWVyTGlzdCgpLCAwLCBt
X21heFRleHR1cmVTaXplKTsKKyAgICAgICAgY2FsY3VsYXRlRHJhd1RyYW5zZm9ybXNBbmRWaXNp
YmlsaXR5PExheWVyQ2hyb21pdW0sIFJlbmRlclN1cmZhY2VDaHJvbWl1bSwgdm9pZCo+KHJvb3RM
YXllciwgcm9vdExheWVyLCBpZGVudGl0eU1hdHJpeCwgaWRlbnRpdHlNYXRyaXgsIHJlbmRlclN1
cmZhY2VMYXllckxpc3QsIHJvb3RSZW5kZXJTdXJmYWNlLT5sYXllckxpc3QoKSwgMCwgbV9tYXhU
ZXh0dXJlU2l6ZSk7CiAgICAgfQogCiAjaWZuZGVmIE5ERUJVRwpAQCAtNzg2LDcgKzgwMSw3IEBA
IHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3TGF5ZXJzSW50ZXJuYWwoKQogCiAgICAg
ewogICAgICAgICBUUkFDRV9FVkVOVCgiTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3TGF5ZXJz
SW50ZXJuYWw6OmNhbGNEcmF3RXRjIiwgdGhpcywgMCk7Ci0gICAgICAgIGNhbGN1bGF0ZURyYXdU
cmFuc2Zvcm1zQW5kVmlzaWJpbGl0eTxDQ0xheWVySW1wbCwgQ0NSZW5kZXJTdXJmYWNlLCBDQ0xh
eWVyU29ydGVyPihyb290RHJhd0xheWVyLCByb290RHJhd0xheWVyLCBpZGVudGl0eU1hdHJpeCwg
cmVuZGVyU3VyZmFjZUxheWVyTGlzdCwgbV9kZWZhdWx0UmVuZGVyU3VyZmFjZS0+bGF5ZXJMaXN0
KCksICZtX2xheWVyU29ydGVyLCBtX21heFRleHR1cmVTaXplKTsKKyAgICAgICAgY2FsY3VsYXRl
RHJhd1RyYW5zZm9ybXNBbmRWaXNpYmlsaXR5PENDTGF5ZXJJbXBsLCBDQ1JlbmRlclN1cmZhY2Us
IENDTGF5ZXJTb3J0ZXI+KHJvb3REcmF3TGF5ZXIsIHJvb3REcmF3TGF5ZXIsIGlkZW50aXR5TWF0
cml4LCBpZGVudGl0eU1hdHJpeCwgcmVuZGVyU3VyZmFjZUxheWVyTGlzdCwgbV9kZWZhdWx0UmVu
ZGVyU3VyZmFjZS0+bGF5ZXJMaXN0KCksICZtX2xheWVyU29ydGVyLCBtX21heFRleHR1cmVTaXpl
KTsKICAgICB9CiAKICAgICAvLyBUaGUgR0wgdmlld3BvcnQgY292ZXJzIHRoZSBlbnRpcmUgdmlz
aWJsZSBhcmVhLCBpbmNsdWRpbmcgdGhlIHNjcm9sbGJhcnMuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwuaApp
bmRleCBmZmQ3YWE0ZmIyNjZlMGY4Njk0MzQxNTRlNzE2MGZkNTFmMzljYzQ5Li44YWEzNjE1YTA2
Nzg5ZjU1ZTE3N2ZjMGQzMDU3YTI2YjZhNjI0ZWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmgKQEAg
LTE1Miw2ICsxNTIsOCBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJp
eCYgZHJhd1RyYW5zZm9ybSgpIGNvbnN0IHsgcmV0dXJuIG1fZHJhd1RyYW5zZm9ybTsgfQogICAg
IHZvaWQgc2V0RHJhd1RyYW5zZm9ybShjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbWF0cml4
KSB7IG1fZHJhd1RyYW5zZm9ybSA9IG1hdHJpeDsgfQorICAgIGNvbnN0IFRyYW5zZm9ybWF0aW9u
TWF0cml4JiB3b3JsZFNwYWNlRHJhd1RyYW5zZm9ybSgpIGNvbnN0IHsgcmV0dXJuIG1fd29ybGRT
cGFjZURyYXdUcmFuc2Zvcm07IH0KKyAgICB2b2lkIHNldFdvcmxkU3BhY2VEcmF3VHJhbnNmb3Jt
KGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtYXRyaXgpIHsgbV93b3JsZFNwYWNlRHJhd1Ry
YW5zZm9ybSA9IG1hdHJpeDsgfQogICAgIGNvbnN0IEludFJlY3QmIGRyYXdhYmxlQ29udGVudFJl
Y3QoKSBjb25zdCB7IHJldHVybiBtX2RyYXdhYmxlQ29udGVudFJlY3Q7IH0KICAgICB2b2lkIHNl
dERyYXdhYmxlQ29udGVudFJlY3QoY29uc3QgSW50UmVjdCYgcmVjdCkgeyBtX2RyYXdhYmxlQ29u
dGVudFJlY3QgPSByZWN0OyB9CiAKQEAgLTIxOCw2ICsyMjAsNyBAQCBwcml2YXRlOgogICAgIGZs
b2F0IG1fZGVidWdCb3JkZXJXaWR0aDsKIAogICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IG1fZHJh
d1RyYW5zZm9ybTsKKyAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBtX3dvcmxkU3BhY2VEcmF3VHJh
bnNmb3JtOwogCiAgICAgLy8gVGhlIHNjaXNzb3IgcmVjdGFuZ2xlIHRoYXQgc2hvdWxkIGJlIHVz
ZWQgd2hlbiB0aGlzIGxheWVyIGlzIGRyYXduLgogICAgIC8vIEluaGVyaXRlZCBieSB0aGUgcGFy
ZW50IGxheWVyIGFuZCBmdXJ0aGVyIHJlc3RyaWN0ZWQgaWYgdGhpcyBsYXllciBtYXNrcwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103705</attachid>
            <date>2011-08-11 16:57:28 -0700</date>
            <delta_ts>2011-08-15 20:24:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66114-20110811165727.patch</filename>
            <type>text/plain</type>
            <size>9821</size>
            <attacher name="Shawn Singh">shawnsingh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTI4NDYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjMGQxMDVlOGY1M2Q0NmVm
NTYyNGY2ZDZkODJjM2QxMzdkOTkwNGQ1Li43Mjg0ZDUxY2VlZTRkNzNhYzA5MGFkMTJhM2FiMDkz
NzkzYzI2OWFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTEtMDgtMTEgIFNoYXdu
IFNpbmdoICA8c2hhd25zaW5naEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ29tcHV0aW5nIHdv
cmxkLXNwYWNlIHRyYW5zZm9ybSBmb3IgTGF5ZXJDaHJvbWl1bSBhbmQgQ0NMYXllckltcGwKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MTE0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlcmUgd2lsbCBi
ZSBzb21lIHVzZXMgZm9yIGNvbXB1dGluZyBhIHdvcmxkLXNwYWNlIHRyYW5zZm9ybQorICAgICAg
ICBhc3NvY2lhdGVkIHdpdGggZWFjaCBsYXllci4gIFRoaXMgcGF0Y2ggYWRkcyB0aGlzIGRhdGEg
dG8KKyAgICAgICAgTGF5ZXJDaHJvbWl1bSBhbmQgQ0NMYXllckltcGwuICBUaGUgd29ybGQtc3Bh
Y2UgdHJhbnNmb3JtCisgICAgICAgIGlzIGNvbXB1dGVkIGV2ZXJ5IHVwZGF0ZSAoTGF5ZXJDaHJv
bWl1bSkgYW5kIGRyYXcgKENDTGF5ZXJJbXBsKS4KKworCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJD
aHJvbWl1bTo6d29ybGRTcGFjZURyYXdUcmFuc2Zvcm0pOgorICAgICAgICAoV2ViQ29yZTo6TGF5
ZXJDaHJvbWl1bTo6c2V0V29ybGRTcGFjZURyYXdUcmFuc2Zvcm0pOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hyb21pdW06OnVwZGF0ZUxheWVycyk6CisgICAgICAg
IChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdMYXllcnNJbnRlcm5hbCk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJJbXBsOjp3b3JsZFNwYWNlRHJhd1RyYW5zZm9ybSk6Cisg
ICAgICAgIChXZWJDb3JlOjpDQ0xheWVySW1wbDo6c2V0V29ybGRTcGFjZURyYXdUcmFuc2Zvcm0p
OgorCiAyMDExLTA4LTExICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBbR1RLXSBBZGQgbWlzc2luZyBmaWxlcyB0byBHTlVNYWtlZmlsZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5o
CmluZGV4IDRlNDAxY2NlODhhYjlhZDIyMWJkNDdkN2RmZTE5YzczZDViMWY0MGUuLjQyZjBhY2Jk
ODQ1YzhhYzZmMWFjZDRjZjE2ZGYxYzNhMDVmNWJjMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmgKQEAg
LTE5OCw2ICsxOTgsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRUYXJnZXRSZW5kZXJTdXJmYWNl
KFJlbmRlclN1cmZhY2VDaHJvbWl1bSogc3VyZmFjZSkgeyBtX3RhcmdldFJlbmRlclN1cmZhY2Ug
PSBzdXJmYWNlOyB9CiAgICAgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIGRyYXdUcmFuc2Zv
cm0oKSBjb25zdCB7IHJldHVybiBtX2RyYXdUcmFuc2Zvcm07IH0KICAgICB2b2lkIHNldERyYXdU
cmFuc2Zvcm0oY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIG1hdHJpeCkgeyBtX2RyYXdUcmFu
c2Zvcm0gPSBtYXRyaXg7IH0KKyAgICBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgd29ybGRT
cGFjZURyYXdUcmFuc2Zvcm0oKSBjb25zdCB7IHJldHVybiBtX3dvcmxkU3BhY2VEcmF3VHJhbnNm
b3JtOyB9CisgICAgdm9pZCBzZXRXb3JsZFNwYWNlRHJhd1RyYW5zZm9ybShjb25zdCBUcmFuc2Zv
cm1hdGlvbk1hdHJpeCYgbWF0cml4KSB7IG1fd29ybGRTcGFjZURyYXdUcmFuc2Zvcm0gPSBtYXRy
aXg7IH0KICAgICBjb25zdCBJbnRSZWN0JiBkcmF3YWJsZUNvbnRlbnRSZWN0KCkgY29uc3QgeyBy
ZXR1cm4gbV9kcmF3YWJsZUNvbnRlbnRSZWN0OyB9CiAgICAgdm9pZCBzZXREcmF3YWJsZUNvbnRl
bnRSZWN0KGNvbnN0IEludFJlY3QmIHJlY3QpIHsgbV9kcmF3YWJsZUNvbnRlbnRSZWN0ID0gcmVj
dDsgfQogCkBAIC0yODgsNiArMjkwLDcgQEAgcHJpdmF0ZToKICAgICBJbnRSZWN0IG1fc2Npc3Nv
clJlY3Q7CiAgICAgUmVuZGVyU3VyZmFjZUNocm9taXVtKiBtX3RhcmdldFJlbmRlclN1cmZhY2U7
CiAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggbV9kcmF3VHJhbnNmb3JtOworICAgIFRyYW5zZm9y
bWF0aW9uTWF0cml4IG1fd29ybGRTcGFjZURyYXdUcmFuc2Zvcm07CiAgICAgSW50UmVjdCBtX2Ry
YXdhYmxlQ29udGVudFJlY3Q7CiAKICAgICBTdHJpbmcgbV9uYW1lOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9t
aXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVy
UmVuZGVyZXJDaHJvbWl1bS5jcHAKaW5kZXggYmZjMjliNzhkMWQzZjU3MDg3YzBjNzNkMzA2OTIx
NDhmMTI4ZDViOC4uOGQ1OGZkMDg5Y2E2ZDMxOWExMzc0MzMwZjg2YWI5YTEzMDg3MjdiMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJS
ZW5kZXJlckNocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwCkBAIC0xMzAsNyArMTMwLDcgQEAg
dm9pZCBzb3J0TGF5ZXJzKFZlY3RvcjxSZWZQdHI8Q0NMYXllckltcGw+ID46Oml0ZXJhdG9yIGZp
cnN0LCBWZWN0b3I8UmVmUHRyPENDTGEKIC8vIFJlY3Vyc2l2ZWx5IHdhbGtzIHRoZSBsYXllciB0
cmVlIHN0YXJ0aW5nIGF0IHRoZSBnaXZlbiBub2RlIGFuZCBjb21wdXRlcyBhbGwgdGhlCiAvLyBu
ZWNlc3NhcnkgdHJhbnNmb3JtYXRpb25zLCBzY2lzc29yIHJlY3RhbmdsZXMsIHJlbmRlciBzdXJm
YWNlcywgZXRjLgogdGVtcGxhdGU8dHlwZW5hbWUgTGF5ZXJUeXBlLCB0eXBlbmFtZSBSZW5kZXJT
dXJmYWNlVHlwZSwgdHlwZW5hbWUgTGF5ZXJTb3J0ZXI+Ci12b2lkIGNhbGN1bGF0ZURyYXdUcmFu
c2Zvcm1zQW5kVmlzaWJpbGl0eShMYXllclR5cGUqIGxheWVyLCBMYXllclR5cGUqIHJvb3RMYXll
ciwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIHBhcmVudE1hdHJpeCwgVmVjdG9yPFJlZlB0
cjxMYXllclR5cGU+ID4mIHJlbmRlclN1cmZhY2VMYXllckxpc3QsIFZlY3RvcjxSZWZQdHI8TGF5
ZXJUeXBlPiA+JiBsYXllckxpc3QsIExheWVyU29ydGVyKiBsYXllclNvcnRlciwgaW50IG1heFRl
eHR1cmVTaXplKQordm9pZCBjYWxjdWxhdGVEcmF3VHJhbnNmb3Jtc0FuZFZpc2liaWxpdHkoTGF5
ZXJUeXBlKiBsYXllciwgTGF5ZXJUeXBlKiByb290TGF5ZXIsIGNvbnN0IFRyYW5zZm9ybWF0aW9u
TWF0cml4JiBwYXJlbnRNYXRyaXgsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBmdWxsSGll
cmFyY2h5TWF0cml4LCBWZWN0b3I8UmVmUHRyPExheWVyVHlwZT4gPiYgcmVuZGVyU3VyZmFjZUxh
eWVyTGlzdCwgVmVjdG9yPFJlZlB0cjxMYXllclR5cGU+ID4mIGxheWVyTGlzdCwgTGF5ZXJTb3J0
ZXIqIGxheWVyU29ydGVyLCBpbnQgbWF4VGV4dHVyZVNpemUpCiB7CiAgICAgdHlwZWRlZiBWZWN0
b3I8UmVmUHRyPExheWVyVHlwZT4gPiBMYXllckxpc3Q7CiAgICAgLy8gQ29tcHV0ZSB0aGUgbmV3
IG1hdHJpeCB0cmFuc2Zvcm1hdGlvbiB0aGF0IHdpbGwgYmUgYXBwbGllZCB0byB0aGlzIGxheWVy
IGFuZApAQCAtMTczLDYgKzE3MywxMCBAQCB2b2lkIGNhbGN1bGF0ZURyYXdUcmFuc2Zvcm1zQW5k
VmlzaWJpbGl0eShMYXllclR5cGUqIGxheWVyLCBMYXllclR5cGUqIHJvb3RMYXllcgogICAgIEZs
b2F0UmVjdCBsYXllclJlY3QoLTAuNSAqIGxheWVyLT5ib3VuZHMoKS53aWR0aCgpLCAtMC41ICog
bGF5ZXItPmJvdW5kcygpLmhlaWdodCgpLCBsYXllci0+Ym91bmRzKCkud2lkdGgoKSwgbGF5ZXIt
PmJvdW5kcygpLmhlaWdodCgpKTsKICAgICBJbnRSZWN0IHRyYW5zZm9ybWVkTGF5ZXJSZWN0Owog
CisgICAgLy8gZnVsbEhpZXJhcmNoeU1hdHJpeCBpcyB0aGUgbWF0cml4IHRoYXQgdHJhbnNmb3Jt
cyBvYmplY3RzIGJldHdlZW4gd29ybGQgc3BhY2UgYW5kIHRoZSBtb3N0IHJlY2VudCBSZW5kZXJT
dXJmYWNlJ3Mgc3BhY2UuCisgICAgLy8gbmV4dEhpZXJhcmNoeU1hdHJpeCB3aWxsIG9ubHkgY2hh
bmdlIGlmIHRoaXMgbGF5ZXIgdXNlcyBhIG5ldyBSZW5kZXJTdXJmYWNlLCBvdGhlcndpc2UgcmVt
YWlucyB0aGUgc2FtZS4KKyAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBuZXh0SGllcmFyY2h5TWF0
cml4ID0gZnVsbEhpZXJhcmNoeU1hdHJpeDsKKwogICAgIC8vIEZJWE1FOiBUaGlzIHNlZW1zIGxp
a2UgdGhlIHdyb25nIHBsYWNlIHRvIHNldCB0aGlzCiAgICAgbGF5ZXItPnNldFVzZXNMYXllclNj
aXNzb3IoZmFsc2UpOwogCkBAIC0yMTQsNiArMjE4LDkgQEAgdm9pZCBjYWxjdWxhdGVEcmF3VHJh
bnNmb3Jtc0FuZFZpc2liaWxpdHkoTGF5ZXJUeXBlKiBsYXllciwgTGF5ZXJUeXBlKiByb290TGF5
ZXIKICAgICAgICAgbGF5ZXJPcmlnaW5UcmFuc2Zvcm0udHJhbnNsYXRlM2QoLTAuNSAqIGJvdW5k
cy53aWR0aCgpLCAtMC41ICogYm91bmRzLmhlaWdodCgpLCAwKTsKICAgICAgICAgcmVuZGVyU3Vy
ZmFjZS0+c2V0T3JpZ2luVHJhbnNmb3JtKGxheWVyT3JpZ2luVHJhbnNmb3JtKTsKIAorICAgICAg
ICAvLyBVcGRhdGUgdGhlIGFnZ3JlZ2F0ZSBoaWVyYXJjaHkgbWF0cml4IHRvIHJlcHJlc2VudCB0
aGUgdHJhbnNmb3JtIGJldHdlZW4gd29ybGQgc3BhY2UgYW5kIHRoZSBuZXdseSBjcmVhdGVkIFJl
bmRlclN1cmZhY2UuCisgICAgICAgIG5leHRIaWVyYXJjaHlNYXRyaXgubXVsdGlwbHkobGF5ZXJP
cmlnaW5UcmFuc2Zvcm0pOworCiAgICAgICAgIC8vIFRoZSByZW5kZXIgc3VyZmFjZSBzY2lzc29y
IHJlY3QgaXMgdGhlIHNjaXNzb3IgcmVjdCB0aGF0IG5lZWRzIHRvCiAgICAgICAgIC8vIGJlIGFw
cGxpZWQgYmVmb3JlIGRyYXdpbmcgdGhlIHJlbmRlciBzdXJmYWNlIG9udG8gaXRzIGNvbnRhaW5p
bmcKICAgICAgICAgLy8gc3VyZmFjZSBhbmQgaXMgdGhlcmVmb3JlIGV4cHJlc3NlZCBpbiB0aGUg
cGFyZW50J3MgY29vcmRpbmF0ZSBzeXN0ZW0uCkBAIC0yNjIsNiArMjY5LDE0IEBAIHZvaWQgY2Fs
Y3VsYXRlRHJhd1RyYW5zZm9ybXNBbmRWaXNpYmlsaXR5KExheWVyVHlwZSogbGF5ZXIsIExheWVy
VHlwZSogcm9vdExheWVyCiAgICAgICAgIH0KICAgICB9CiAKKyAgICAvLyBOb3RlIHRoYXQgYXQg
dGhpcyBwb2ludCwgbGF5ZXItPmRyYXdUcmFuc2Zvcm0oKSBpcyBub3QgbmVjZXNzYXJpbHkgdGhl
IHNhbWUgYXMgbG9jYWwgdmFyaWFibGUgZHJhd1RyYW5zZm9ybS4KKyAgICAvLyBsYXllcldvcmxk
U3BhY2VEcmF3VHJhbnNmb3JtIHJlcHJlc2VudHMgdGhlIHRyYW5zZm9ybSBiZXR3ZWVuIGxheWVy
IHNwYWNlIChpbiBwaXhlbHMpIGFuZCB3b3JsZCBzcGFjZS4KKyAgICAvLyBTbyB3ZSBkbyBub3Qg
aW5jbHVkZSBwcm9qZWN0aW9uIFAgb3Igc2NhbGluZyB0cmFuc2Zvcm0gUyAoc2VlIGNvbW1lbnRz
IGFib3ZlIHRoYXQgZGVzY3JpYmUgUCpNKlMpLgorICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IGxh
eWVyV29ybGRTcGFjZURyYXdUcmFuc2Zvcm0gPSBuZXh0SGllcmFyY2h5TWF0cml4OworICAgIGxh
eWVyV29ybGRTcGFjZURyYXdUcmFuc2Zvcm0ubXVsdGlwbHkobGF5ZXItPmRyYXdUcmFuc2Zvcm0o
KSk7CisgICAgbGF5ZXJXb3JsZFNwYWNlRHJhd1RyYW5zZm9ybS50cmFuc2xhdGUzZCgtMC41ICog
Ym91bmRzLndpZHRoKCksIC0wLjUgKiBib3VuZHMuaGVpZ2h0KCksIDApOworICAgIGxheWVyLT5z
ZXRXb3JsZFNwYWNlRHJhd1RyYW5zZm9ybShsYXllcldvcmxkU3BhY2VEcmF3VHJhbnNmb3JtKTsK
KwogICAgIGlmIChsYXllci0+cmVuZGVyU3VyZmFjZSgpKQogICAgICAgICBsYXllci0+c2V0VGFy
Z2V0UmVuZGVyU3VyZmFjZShsYXllci0+cmVuZGVyU3VyZmFjZSgpKTsKICAgICBlbHNlIHsKQEAg
LTMwNyw3ICszMjIsNyBAQCB2b2lkIGNhbGN1bGF0ZURyYXdUcmFuc2Zvcm1zQW5kVmlzaWJpbGl0
eShMYXllclR5cGUqIGxheWVyLCBMYXllclR5cGUqIHJvb3RMYXllcgogCiAgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBsYXllci0+Y2hpbGRyZW4oKS5zaXplKCk7ICsraSkgewogICAgICAgICBM
YXllclR5cGUqIGNoaWxkID0gbGF5ZXItPmNoaWxkcmVuKClbaV0uZ2V0KCk7Ci0gICAgICAgIGNh
bGN1bGF0ZURyYXdUcmFuc2Zvcm1zQW5kVmlzaWJpbGl0eTxMYXllclR5cGUsIFJlbmRlclN1cmZh
Y2VUeXBlLCBMYXllclNvcnRlcj4oY2hpbGQsIHJvb3RMYXllciwgc3VibGF5ZXJNYXRyaXgsIHJl
bmRlclN1cmZhY2VMYXllckxpc3QsIGRlc2NlbmRhbnRzLCBsYXllclNvcnRlciwgbWF4VGV4dHVy
ZVNpemUpOworICAgICAgICBjYWxjdWxhdGVEcmF3VHJhbnNmb3Jtc0FuZFZpc2liaWxpdHk8TGF5
ZXJUeXBlLCBSZW5kZXJTdXJmYWNlVHlwZSwgTGF5ZXJTb3J0ZXI+KGNoaWxkLCByb290TGF5ZXIs
IHN1YmxheWVyTWF0cml4LCBuZXh0SGllcmFyY2h5TWF0cml4LCByZW5kZXJTdXJmYWNlTGF5ZXJM
aXN0LCBkZXNjZW5kYW50cywgbGF5ZXJTb3J0ZXIsIG1heFRleHR1cmVTaXplKTsKIAogICAgICAg
ICBpZiAoY2hpbGQtPnJlbmRlclN1cmZhY2UoKSkgewogICAgICAgICAgICAgUmVuZGVyU3VyZmFj
ZVR5cGUqIGNoaWxkUmVuZGVyU3VyZmFjZSA9IGNoaWxkLT5yZW5kZXJTdXJmYWNlKCk7CkBAIC02
NDgsNyArNjYzLDcgQEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OnVwZGF0ZUxheWVycyhM
YXllckNocm9taXVtKiByb290TGF5ZXIpCiAKICAgICB7CiAgICAgICAgIFRSQUNFX0VWRU5UKCJM
YXllclJlbmRlcmVyQ2hyb21pdW06OnVwZGF0ZUxheWVyczo6Y2FsY0RyYXdFdGMiLCB0aGlzLCAw
KTsKLSAgICAgICAgY2FsY3VsYXRlRHJhd1RyYW5zZm9ybXNBbmRWaXNpYmlsaXR5PExheWVyQ2hy
b21pdW0sIFJlbmRlclN1cmZhY2VDaHJvbWl1bSwgdm9pZCo+KHJvb3RMYXllciwgcm9vdExheWVy
LCBpZGVudGl0eU1hdHJpeCwgcmVuZGVyU3VyZmFjZUxheWVyTGlzdCwgcm9vdFJlbmRlclN1cmZh
Y2UtPmxheWVyTGlzdCgpLCAwLCBtX21heFRleHR1cmVTaXplKTsKKyAgICAgICAgY2FsY3VsYXRl
RHJhd1RyYW5zZm9ybXNBbmRWaXNpYmlsaXR5PExheWVyQ2hyb21pdW0sIFJlbmRlclN1cmZhY2VD
aHJvbWl1bSwgdm9pZCo+KHJvb3RMYXllciwgcm9vdExheWVyLCBpZGVudGl0eU1hdHJpeCwgaWRl
bnRpdHlNYXRyaXgsIHJlbmRlclN1cmZhY2VMYXllckxpc3QsIHJvb3RSZW5kZXJTdXJmYWNlLT5s
YXllckxpc3QoKSwgMCwgbV9tYXhUZXh0dXJlU2l6ZSk7CiAgICAgfQogCiAjaWZuZGVmIE5ERUJV
RwpAQCAtNzg2LDcgKzgwMSw3IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3TGF5
ZXJzSW50ZXJuYWwoKQogCiAgICAgewogICAgICAgICBUUkFDRV9FVkVOVCgiTGF5ZXJSZW5kZXJl
ckNocm9taXVtOjpkcmF3TGF5ZXJzSW50ZXJuYWw6OmNhbGNEcmF3RXRjIiwgdGhpcywgMCk7Ci0g
ICAgICAgIGNhbGN1bGF0ZURyYXdUcmFuc2Zvcm1zQW5kVmlzaWJpbGl0eTxDQ0xheWVySW1wbCwg
Q0NSZW5kZXJTdXJmYWNlLCBDQ0xheWVyU29ydGVyPihyb290RHJhd0xheWVyLCByb290RHJhd0xh
eWVyLCBpZGVudGl0eU1hdHJpeCwgcmVuZGVyU3VyZmFjZUxheWVyTGlzdCwgbV9kZWZhdWx0UmVu
ZGVyU3VyZmFjZS0+bGF5ZXJMaXN0KCksICZtX2xheWVyU29ydGVyLCBtX21heFRleHR1cmVTaXpl
KTsKKyAgICAgICAgY2FsY3VsYXRlRHJhd1RyYW5zZm9ybXNBbmRWaXNpYmlsaXR5PENDTGF5ZXJJ
bXBsLCBDQ1JlbmRlclN1cmZhY2UsIENDTGF5ZXJTb3J0ZXI+KHJvb3REcmF3TGF5ZXIsIHJvb3RE
cmF3TGF5ZXIsIGlkZW50aXR5TWF0cml4LCBpZGVudGl0eU1hdHJpeCwgcmVuZGVyU3VyZmFjZUxh
eWVyTGlzdCwgbV9kZWZhdWx0UmVuZGVyU3VyZmFjZS0+bGF5ZXJMaXN0KCksICZtX2xheWVyU29y
dGVyLCBtX21heFRleHR1cmVTaXplKTsKICAgICB9CiAKICAgICAvLyBUaGUgR0wgdmlld3BvcnQg
Y292ZXJzIHRoZSBlbnRpcmUgdmlzaWJsZSBhcmVhLCBpbmNsdWRpbmcgdGhlIHNjcm9sbGJhcnMu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ0xheWVySW1wbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NMYXllckltcGwuaAppbmRleCBmZmQ3YWE0ZmIyNjZlMGY4Njk0MzQxNTRlNzE2MGZk
NTFmMzljYzQ5Li44YWEzNjE1YTA2Nzg5ZjU1ZTE3N2ZjMGQzMDU3YTI2YjZhNjI0ZWJiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xh
eWVySW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDTGF5ZXJJbXBsLmgKQEAgLTE1Miw2ICsxNTIsOCBAQCBwdWJsaWM6CiAKICAgICBjb25z
dCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgZHJhd1RyYW5zZm9ybSgpIGNvbnN0IHsgcmV0dXJuIG1f
ZHJhd1RyYW5zZm9ybTsgfQogICAgIHZvaWQgc2V0RHJhd1RyYW5zZm9ybShjb25zdCBUcmFuc2Zv
cm1hdGlvbk1hdHJpeCYgbWF0cml4KSB7IG1fZHJhd1RyYW5zZm9ybSA9IG1hdHJpeDsgfQorICAg
IGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiB3b3JsZFNwYWNlRHJhd1RyYW5zZm9ybSgpIGNv
bnN0IHsgcmV0dXJuIG1fd29ybGRTcGFjZURyYXdUcmFuc2Zvcm07IH0KKyAgICB2b2lkIHNldFdv
cmxkU3BhY2VEcmF3VHJhbnNmb3JtKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtYXRyaXgp
IHsgbV93b3JsZFNwYWNlRHJhd1RyYW5zZm9ybSA9IG1hdHJpeDsgfQogICAgIGNvbnN0IEludFJl
Y3QmIGRyYXdhYmxlQ29udGVudFJlY3QoKSBjb25zdCB7IHJldHVybiBtX2RyYXdhYmxlQ29udGVu
dFJlY3Q7IH0KICAgICB2b2lkIHNldERyYXdhYmxlQ29udGVudFJlY3QoY29uc3QgSW50UmVjdCYg
cmVjdCkgeyBtX2RyYXdhYmxlQ29udGVudFJlY3QgPSByZWN0OyB9CiAKQEAgLTIxOCw2ICsyMjAs
NyBAQCBwcml2YXRlOgogICAgIGZsb2F0IG1fZGVidWdCb3JkZXJXaWR0aDsKIAogICAgIFRyYW5z
Zm9ybWF0aW9uTWF0cml4IG1fZHJhd1RyYW5zZm9ybTsKKyAgICBUcmFuc2Zvcm1hdGlvbk1hdHJp
eCBtX3dvcmxkU3BhY2VEcmF3VHJhbnNmb3JtOwogCiAgICAgLy8gVGhlIHNjaXNzb3IgcmVjdGFu
Z2xlIHRoYXQgc2hvdWxkIGJlIHVzZWQgd2hlbiB0aGlzIGxheWVyIGlzIGRyYXduLgogICAgIC8v
IEluaGVyaXRlZCBieSB0aGUgcGFyZW50IGxheWVyIGFuZCBmdXJ0aGVyIHJlc3RyaWN0ZWQgaWYg
dGhpcyBsYXllciBtYXNrcwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103999</attachid>
            <date>2011-08-15 20:24:09 -0700</date>
            <delta_ts>2011-08-16 10:06:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66114-20110815202408.patch</filename>
            <type>text/plain</type>
            <size>13669</size>
            <attacher name="Shawn Singh">shawnsingh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTMwNTcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBv
c2l0aW5nL2JhY2tmYWNlLXZpc2liaWxpdHktaGllcmFyY2hpY2FsLXRyYW5zZm9ybS1leHBlY3Rl
ZC5wbmcgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9iYWNrZmFjZS12aXNpYmlsaXR5LWhpZXJh
cmNoaWNhbC10cmFuc2Zvcm0tZXhwZWN0ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJkN2UzODI3MGQ2Yjdh
ZTE4N2MwMzY0NjEwNzhlMGNlMzZkMTU2YzcKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDI4NzgK
emNtZUFTQE4/KG9sSHlgdVZCcSFpYTB5fnlVeyt2WVYyYT5pMCpaKT1oXmhsQSVAV3MkbEhgb2s8
bX0/b1Qhdkg9CnpWLXE4VEJ4NEk+YjQjTiV2dCQhUDZWdWU+TUR0VypPRzg2clc1ZXtmPU5+WElh
OSF8cGFTVy1MXlkpRyoqSUAkegp6UzRZaHNfbH5MR3pvVCRmbmElTD5zLUk3anghPXg9V01DKzwl
amFpY3U7QEwmI0wmVTEhX1k3VEh7LV9GLTw5XmkKej9YQ0Y/dyVkUFhZfWd2SmZxfGlqaUpMKHw0
YWk2dVdlbHhBczd8fGdrQWF+O0w+enlsIV8maVA+PF8xT1BIT0RLCnpsZmZ2MSRvdylJUEBANHd1
dTJfR0IlX0lCRz81VUszdlAlcl5hLXkjIW8xWkwqZFMpYGJvRnl0PWFrUnswRUtTUQpBdE47SzIK
CmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0
aW5nL2JhY2tmYWNlLXZpc2liaWxpdHktaGllcmFyY2hpY2FsLXRyYW5zZm9ybS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9iYWNrZmFjZS12aXNpYmlsaXR5LWhpZXJhcmNo
aWNhbC10cmFuc2Zvcm0tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUwNzU0OTI5ZTRmNjFkZWQ4
NWE2MGY1ODE1NzQyYzk4MmQ4ZGQyMjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9j
b21wb3NpdGluZy9iYWNrZmFjZS12aXNpYmlsaXR5LWhpZXJhcmNoaWNhbC10cmFuc2Zvcm0tZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKK1RoaXMgdGVzdCBpcyBvbmx5IHVzZWZ1bCBhcyBhIHBp
eGVsIHRlc3QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JhY2tmYWNlLXZp
c2liaWxpdHktaGllcmFyY2hpY2FsLXRyYW5zZm9ybS5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvYmFja2ZhY2UtdmlzaWJpbGl0eS1oaWVyYXJjaGljYWwtdHJhbnNmb3JtLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODRhMjViYjRkNjVjMDhiZGUzZmVmNmQzNThmNjMwNDczZmJmZjU1OAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JhY2tmYWNlLXZpc2liaWxpdHkt
aGllcmFyY2hpY2FsLXRyYW5zZm9ybS5odG1sCkBAIC0wLDAgKzEsOTUgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgPHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2Ny
ZWVuIj4KKyAgICBkaXYgeworICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgIHdpZHRoOiAxMDBw
eDsKKyAgICB9CisKKyAgICAucmVkIHsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOwor
ICAgIH0KKworICAgIC5ncmVlbiB7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOwor
ICAgIH0KKworICAgIC50ZXN0MWxvY2F0aW9uIHsKKyAgICAgICAgcG9zaXRpb246IGFic29sdXRl
OworICAgICAgICB0b3A6IDEwcHg7CisgICAgICAgIGxlZnQ6IDEwcHg7CisgICAgfQorCisgICAg
LnRlc3QybG9jYXRpb24geworICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgICAgIHRv
cDogMTIwcHg7CisgICAgICAgIGxlZnQ6IDEwcHg7CisgICAgfQorCisgICAgLnByZXNlcnZlczNk
IHsKKyAgICAgIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsKKyAgICB9CisK
KyAgICAuZmlyc3RSZW5kZXJTdXJmYWNlIHsKKyAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3Rh
dGVZKDE4MGRlZyk7CisgICAgICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogZmxhdDsKKyAgICB9
CisKKyAgICAuc2Vjb25kUmVuZGVyU3VyZmFjZSB7CisgICAgICAtd2Via2l0LXRyYW5zZm9ybTog
cm90YXRlWSgwZGVnKTsKKyAgICAgIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBmbGF0OworICAg
IH0KKworICAgIC5iYWNrZmFjZVZpc2libGUgeworICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNp
YmlsaXR5OiB2aXNpYmxlOworICAgIH0KKworICAgIC5iYWNrZmFjZUhpZGRlbiB7CisgICAgICAt
d2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKKyAgICB9CisgIDwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKworICA8IS0tIEluIHRoZSBwaXhlbCByZXN1bHRzLCB0d28gZ3JlZW4g
c3F1YXJlcyBzaG91bGQgYmUgdmlzaWJsZS4gLS0+CisgIDwhLS0gVGhpcyB0ZXN0cyB3aGV0aGVy
IGJhY2tmYWNlIGN1bGxpbmcgaXMgYWNjb3VudGluZyBmb3IgdGhlIGhpZXJhcmNoeSBvZiB0cmFu
c2Zvcm1zIC0tPgorCisgIDxkaXYgY2xhc3M9InRlc3QxbG9jYXRpb24gcmVkIj4KKyAgPC9kaXY+
CisgIDxkaXYgY2xhc3M9InRlc3QxbG9jYXRpb24iPgorICAgIDxkaXYgY2xhc3M9InByZXNlcnZl
czNkIj4KKyAgICAgIDxkaXYgY2xhc3M9ImZpcnN0UmVuZGVyU3VyZmFjZSI+CisgICAgICAgIDxk
aXYgY2xhc3M9InByZXNlcnZlczNkIj4KKyAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWNvbmRSZW5k
ZXJTdXJmYWNlIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9InByZXNlcnZlczNkIGJhY2tmYWNl
VmlzaWJsZSBncmVlbiI+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICA8L2Rpdj4KKyAg
ICAgICAgPC9kaXY+CisgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisKKyAgPGRp
diBjbGFzcz0idGVzdDJsb2NhdGlvbiBncmVlbiI+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJ0
ZXN0MmxvY2F0aW9uIj4KKyAgICA8ZGl2IGNsYXNzPSJwcmVzZXJ2ZXMzZCI+CisgICAgICA8ZGl2
IGNsYXNzPSJmaXJzdFJlbmRlclN1cmZhY2UiPgorICAgICAgICA8ZGl2IGNsYXNzPSJwcmVzZXJ2
ZXMzZCI+CisgICAgICAgICAgPGRpdiBjbGFzcz0ic2Vjb25kUmVuZGVyU3VyZmFjZSI+CisgICAg
ICAgICAgICA8ZGl2IGNsYXNzPSJwcmVzZXJ2ZXMzZCBiYWNrZmFjZUhpZGRlbiByZWQiPgorICAg
ICAgICAgICAgPC9kaXY+CisgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAg
PC9kaXY+CisgICAgPC9kaXY+CisgIDwvZGl2PgorCisgIDxzY3JpcHQ+CisgIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNU
ZXh0KHRydWUpOyAgLy8gVGhpcyBpcyBvbmx5IHVzZWZ1bCBhcyBhIHBpeGVsIHRlc3QuCisgICAg
ZG9jdW1lbnQud3JpdGUoIjxzcGFuIHN0eWxlPSdwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOi01MDAw
cHgnPlRoaXMgdGVzdCBpcyBvbmx5IHVzZWZ1bCBhcyBhIHBpeGVsIHRlc3Q8L3NwYW4+Iik7Cisg
IH0KKyAgPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmgKaW5kZXgg
Y2EyYjY0MTczNzAwNmI3ZmVjMjIyYzU1MTVhY2YwMjAyYTgwZDUxZC4uNzRjMGQ1ZWNiNjE4YThj
NDA3MDE5ZjZjYzY5N2YyZGNiZTI1OTY3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uaApAQCAtMTk5LDYg
KzE5OSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFRhcmdldFJlbmRlclN1cmZhY2UoUmVuZGVy
U3VyZmFjZUNocm9taXVtKiBzdXJmYWNlKSB7IG1fdGFyZ2V0UmVuZGVyU3VyZmFjZSA9IHN1cmZh
Y2U7IH0KICAgICBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgZHJhd1RyYW5zZm9ybSgpIGNv
bnN0IHsgcmV0dXJuIG1fZHJhd1RyYW5zZm9ybTsgfQogICAgIHZvaWQgc2V0RHJhd1RyYW5zZm9y
bShjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbWF0cml4KSB7IG1fZHJhd1RyYW5zZm9ybSA9
IG1hdHJpeDsgfQorICAgIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiB3b3JsZFNwYWNlRHJh
d1RyYW5zZm9ybSgpIGNvbnN0IHsgcmV0dXJuIG1fd29ybGRTcGFjZURyYXdUcmFuc2Zvcm07IH0K
KyAgICB2b2lkIHNldFdvcmxkU3BhY2VEcmF3VHJhbnNmb3JtKGNvbnN0IFRyYW5zZm9ybWF0aW9u
TWF0cml4JiBtYXRyaXgpIHsgbV93b3JsZFNwYWNlRHJhd1RyYW5zZm9ybSA9IG1hdHJpeDsgfQog
ICAgIGNvbnN0IEludFJlY3QmIGRyYXdhYmxlQ29udGVudFJlY3QoKSBjb25zdCB7IHJldHVybiBt
X2RyYXdhYmxlQ29udGVudFJlY3Q7IH0KICAgICB2b2lkIHNldERyYXdhYmxlQ29udGVudFJlY3Qo
Y29uc3QgSW50UmVjdCYgcmVjdCkgeyBtX2RyYXdhYmxlQ29udGVudFJlY3QgPSByZWN0OyB9CiAK
QEAgLTI4OSw2ICsyOTEsNyBAQCBwcml2YXRlOgogICAgIEludFJlY3QgbV9zY2lzc29yUmVjdDsK
ICAgICBSZW5kZXJTdXJmYWNlQ2hyb21pdW0qIG1fdGFyZ2V0UmVuZGVyU3VyZmFjZTsKICAgICBU
cmFuc2Zvcm1hdGlvbk1hdHJpeCBtX2RyYXdUcmFuc2Zvcm07CisgICAgVHJhbnNmb3JtYXRpb25N
YXRyaXggbV93b3JsZFNwYWNlRHJhd1RyYW5zZm9ybTsKICAgICBJbnRSZWN0IG1fZHJhd2FibGVD
b250ZW50UmVjdDsKIAogICAgIFN0cmluZyBtX25hbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJl
ckNocm9taXVtLmNwcAppbmRleCBkMDA0NzJmNjFkM2U2YmI4NjdjZmVkMmI3NGQwOTM4Y2E3NTQ4
MDBkLi4yZjk3YzYyMDZjOTEyMzdiOTM0ZmFkOGUyNDQ1NzA4OTBlZjcyZDc1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVy
Q2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAKQEAgLTEyOSw3ICsxMjksNyBAQCB2b2lkIHNv
cnRMYXllcnMoVmVjdG9yPFJlZlB0cjxDQ0xheWVySW1wbD4gPjo6aXRlcmF0b3IgZmlyc3QsIFZl
Y3RvcjxSZWZQdHI8Q0NMYQogLy8gUmVjdXJzaXZlbHkgd2Fsa3MgdGhlIGxheWVyIHRyZWUgc3Rh
cnRpbmcgYXQgdGhlIGdpdmVuIG5vZGUgYW5kIGNvbXB1dGVzIGFsbCB0aGUKIC8vIG5lY2Vzc2Fy
eSB0cmFuc2Zvcm1hdGlvbnMsIHNjaXNzb3IgcmVjdGFuZ2xlcywgcmVuZGVyIHN1cmZhY2VzLCBl
dGMuCiB0ZW1wbGF0ZTx0eXBlbmFtZSBMYXllclR5cGUsIHR5cGVuYW1lIFJlbmRlclN1cmZhY2VU
eXBlLCB0eXBlbmFtZSBMYXllclNvcnRlcj4KLXZvaWQgY2FsY3VsYXRlRHJhd1RyYW5zZm9ybXNB
bmRWaXNpYmlsaXR5KExheWVyVHlwZSogbGF5ZXIsIExheWVyVHlwZSogcm9vdExheWVyLCBjb25z
dCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgcGFyZW50TWF0cml4LCBWZWN0b3I8UmVmUHRyPExheWVy
VHlwZT4gPiYgcmVuZGVyU3VyZmFjZUxheWVyTGlzdCwgVmVjdG9yPFJlZlB0cjxMYXllclR5cGU+
ID4mIGxheWVyTGlzdCwgTGF5ZXJTb3J0ZXIqIGxheWVyU29ydGVyLCBpbnQgbWF4VGV4dHVyZVNp
emUpCit2b2lkIGNhbGN1bGF0ZURyYXdUcmFuc2Zvcm1zQW5kVmlzaWJpbGl0eShMYXllclR5cGUq
IGxheWVyLCBMYXllclR5cGUqIHJvb3RMYXllciwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgm
IHBhcmVudE1hdHJpeCwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIGZ1bGxIaWVyYXJjaHlN
YXRyaXgsIFZlY3RvcjxSZWZQdHI8TGF5ZXJUeXBlPiA+JiByZW5kZXJTdXJmYWNlTGF5ZXJMaXN0
LCBWZWN0b3I8UmVmUHRyPExheWVyVHlwZT4gPiYgbGF5ZXJMaXN0LCBMYXllclNvcnRlciogbGF5
ZXJTb3J0ZXIsIGludCBtYXhUZXh0dXJlU2l6ZSkKIHsKICAgICB0eXBlZGVmIFZlY3RvcjxSZWZQ
dHI8TGF5ZXJUeXBlPiA+IExheWVyTGlzdDsKICAgICAvLyBDb21wdXRlIHRoZSBuZXcgbWF0cml4
IHRyYW5zZm9ybWF0aW9uIHRoYXQgd2lsbCBiZSBhcHBsaWVkIHRvIHRoaXMgbGF5ZXIgYW5kCkBA
IC0xNzIsNiArMTcyLDEwIEBAIHZvaWQgY2FsY3VsYXRlRHJhd1RyYW5zZm9ybXNBbmRWaXNpYmls
aXR5KExheWVyVHlwZSogbGF5ZXIsIExheWVyVHlwZSogcm9vdExheWVyCiAgICAgRmxvYXRSZWN0
IGxheWVyUmVjdCgtMC41ICogbGF5ZXItPmJvdW5kcygpLndpZHRoKCksIC0wLjUgKiBsYXllci0+
Ym91bmRzKCkuaGVpZ2h0KCksIGxheWVyLT5ib3VuZHMoKS53aWR0aCgpLCBsYXllci0+Ym91bmRz
KCkuaGVpZ2h0KCkpOwogICAgIEludFJlY3QgdHJhbnNmb3JtZWRMYXllclJlY3Q7CiAKKyAgICAv
LyBmdWxsSGllcmFyY2h5TWF0cml4IGlzIHRoZSBtYXRyaXggdGhhdCB0cmFuc2Zvcm1zIG9iamVj
dHMgYmV0d2VlbiB3b3JsZCBzcGFjZSBhbmQgdGhlIG1vc3QgcmVjZW50IFJlbmRlclN1cmZhY2Un
cyBzcGFjZS4KKyAgICAvLyBuZXh0SGllcmFyY2h5TWF0cml4IHdpbGwgb25seSBjaGFuZ2UgaWYg
dGhpcyBsYXllciB1c2VzIGEgbmV3IFJlbmRlclN1cmZhY2UsIG90aGVyd2lzZSByZW1haW5zIHRo
ZSBzYW1lLgorICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IG5leHRIaWVyYXJjaHlNYXRyaXggPSBm
dWxsSGllcmFyY2h5TWF0cml4OworCiAgICAgLy8gRklYTUU6IFRoaXMgc2VlbXMgbGlrZSB0aGUg
d3JvbmcgcGxhY2UgdG8gc2V0IHRoaXMKICAgICBsYXllci0+c2V0VXNlc0xheWVyU2Npc3Nvcihm
YWxzZSk7CiAKQEAgLTIxMyw2ICsyMTcsOSBAQCB2b2lkIGNhbGN1bGF0ZURyYXdUcmFuc2Zvcm1z
QW5kVmlzaWJpbGl0eShMYXllclR5cGUqIGxheWVyLCBMYXllclR5cGUqIHJvb3RMYXllcgogICAg
ICAgICBsYXllck9yaWdpblRyYW5zZm9ybS50cmFuc2xhdGUzZCgtMC41ICogYm91bmRzLndpZHRo
KCksIC0wLjUgKiBib3VuZHMuaGVpZ2h0KCksIDApOwogICAgICAgICByZW5kZXJTdXJmYWNlLT5z
ZXRPcmlnaW5UcmFuc2Zvcm0obGF5ZXJPcmlnaW5UcmFuc2Zvcm0pOwogCisgICAgICAgIC8vIFVw
ZGF0ZSB0aGUgYWdncmVnYXRlIGhpZXJhcmNoeSBtYXRyaXggdG8gcmVwcmVzZW50IHRoZSB0cmFu
c2Zvcm0gYmV0d2VlbiB3b3JsZCBzcGFjZSBhbmQgdGhlIG5ld2x5IGNyZWF0ZWQgUmVuZGVyU3Vy
ZmFjZS4KKyAgICAgICAgbmV4dEhpZXJhcmNoeU1hdHJpeC5tdWx0aXBseShsYXllck9yaWdpblRy
YW5zZm9ybSk7CisKICAgICAgICAgLy8gVGhlIHJlbmRlciBzdXJmYWNlIHNjaXNzb3IgcmVjdCBp
cyB0aGUgc2Npc3NvciByZWN0IHRoYXQgbmVlZHMgdG8KICAgICAgICAgLy8gYmUgYXBwbGllZCBi
ZWZvcmUgZHJhd2luZyB0aGUgcmVuZGVyIHN1cmZhY2Ugb250byBpdHMgY29udGFpbmluZwogICAg
ICAgICAvLyBzdXJmYWNlIGFuZCBpcyB0aGVyZWZvcmUgZXhwcmVzc2VkIGluIHRoZSBwYXJlbnQn
cyBjb29yZGluYXRlIHN5c3RlbS4KQEAgLTI2MSw2ICsyNjgsMTQgQEAgdm9pZCBjYWxjdWxhdGVE
cmF3VHJhbnNmb3Jtc0FuZFZpc2liaWxpdHkoTGF5ZXJUeXBlKiBsYXllciwgTGF5ZXJUeXBlKiBy
b290TGF5ZXIKICAgICAgICAgfQogICAgIH0KIAorICAgIC8vIE5vdGUgdGhhdCBhdCB0aGlzIHBv
aW50LCBsYXllci0+ZHJhd1RyYW5zZm9ybSgpIGlzIG5vdCBuZWNlc3NhcmlseSB0aGUgc2FtZSBh
cyBsb2NhbCB2YXJpYWJsZSBkcmF3VHJhbnNmb3JtLgorICAgIC8vIGxheWVyV29ybGRTcGFjZURy
YXdUcmFuc2Zvcm0gcmVwcmVzZW50cyB0aGUgdHJhbnNmb3JtIGJldHdlZW4gbGF5ZXIgc3BhY2Ug
KGluIHBpeGVscykgYW5kIHdvcmxkIHNwYWNlLgorICAgIC8vIFNvIHdlIGRvIG5vdCBpbmNsdWRl
IHByb2plY3Rpb24gUCBvciBzY2FsaW5nIHRyYW5zZm9ybSBTIChzZWUgY29tbWVudHMgYWJvdmUg
dGhhdCBkZXNjcmliZSBQKk0qUykuCisgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggbGF5ZXJXb3Js
ZFNwYWNlRHJhd1RyYW5zZm9ybSA9IG5leHRIaWVyYXJjaHlNYXRyaXg7CisgICAgbGF5ZXJXb3Js
ZFNwYWNlRHJhd1RyYW5zZm9ybS5tdWx0aXBseShsYXllci0+ZHJhd1RyYW5zZm9ybSgpKTsKKyAg
ICBsYXllcldvcmxkU3BhY2VEcmF3VHJhbnNmb3JtLnRyYW5zbGF0ZTNkKC0wLjUgKiBib3VuZHMu
d2lkdGgoKSwgLTAuNSAqIGJvdW5kcy5oZWlnaHQoKSwgMCk7CisgICAgbGF5ZXItPnNldFdvcmxk
U3BhY2VEcmF3VHJhbnNmb3JtKGxheWVyV29ybGRTcGFjZURyYXdUcmFuc2Zvcm0pOworCiAgICAg
aWYgKGxheWVyLT5yZW5kZXJTdXJmYWNlKCkpCiAgICAgICAgIGxheWVyLT5zZXRUYXJnZXRSZW5k
ZXJTdXJmYWNlKGxheWVyLT5yZW5kZXJTdXJmYWNlKCkpOwogICAgIGVsc2UgewpAQCAtMzA2LDcg
KzMyMSw3IEBAIHZvaWQgY2FsY3VsYXRlRHJhd1RyYW5zZm9ybXNBbmRWaXNpYmlsaXR5KExheWVy
VHlwZSogbGF5ZXIsIExheWVyVHlwZSogcm9vdExheWVyCiAKICAgICBmb3IgKHNpemVfdCBpID0g
MDsgaSA8IGxheWVyLT5jaGlsZHJlbigpLnNpemUoKTsgKytpKSB7CiAgICAgICAgIExheWVyVHlw
ZSogY2hpbGQgPSBsYXllci0+Y2hpbGRyZW4oKVtpXS5nZXQoKTsKLSAgICAgICAgY2FsY3VsYXRl
RHJhd1RyYW5zZm9ybXNBbmRWaXNpYmlsaXR5PExheWVyVHlwZSwgUmVuZGVyU3VyZmFjZVR5cGUs
IExheWVyU29ydGVyPihjaGlsZCwgcm9vdExheWVyLCBzdWJsYXllck1hdHJpeCwgcmVuZGVyU3Vy
ZmFjZUxheWVyTGlzdCwgZGVzY2VuZGFudHMsIGxheWVyU29ydGVyLCBtYXhUZXh0dXJlU2l6ZSk7
CisgICAgICAgIGNhbGN1bGF0ZURyYXdUcmFuc2Zvcm1zQW5kVmlzaWJpbGl0eTxMYXllclR5cGUs
IFJlbmRlclN1cmZhY2VUeXBlLCBMYXllclNvcnRlcj4oY2hpbGQsIHJvb3RMYXllciwgc3VibGF5
ZXJNYXRyaXgsIG5leHRIaWVyYXJjaHlNYXRyaXgsIHJlbmRlclN1cmZhY2VMYXllckxpc3QsIGRl
c2NlbmRhbnRzLCBsYXllclNvcnRlciwgbWF4VGV4dHVyZVNpemUpOwogCiAgICAgICAgIGlmIChj
aGlsZC0+cmVuZGVyU3VyZmFjZSgpKSB7CiAgICAgICAgICAgICBSZW5kZXJTdXJmYWNlVHlwZSog
Y2hpbGRSZW5kZXJTdXJmYWNlID0gY2hpbGQtPnJlbmRlclN1cmZhY2UoKTsKQEAgLTYzOSw3ICs2
NTQsNyBAQCB2b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6dXBkYXRlTGF5ZXJzKExheWVyQ2hy
b21pdW0qIHJvb3RMYXllcikKIAogICAgIHsKICAgICAgICAgVFJBQ0VfRVZFTlQoIkxheWVyUmVu
ZGVyZXJDaHJvbWl1bTo6dXBkYXRlTGF5ZXJzOjpjYWxjRHJhd0V0YyIsIHRoaXMsIDApOwotICAg
ICAgICBjYWxjdWxhdGVEcmF3VHJhbnNmb3Jtc0FuZFZpc2liaWxpdHk8TGF5ZXJDaHJvbWl1bSwg
UmVuZGVyU3VyZmFjZUNocm9taXVtLCB2b2lkKj4ocm9vdExheWVyLCByb290TGF5ZXIsIGlkZW50
aXR5TWF0cml4LCByZW5kZXJTdXJmYWNlTGF5ZXJMaXN0LCByb290UmVuZGVyU3VyZmFjZS0+bGF5
ZXJMaXN0KCksIDAsIG1fbWF4VGV4dHVyZVNpemUpOworICAgICAgICBjYWxjdWxhdGVEcmF3VHJh
bnNmb3Jtc0FuZFZpc2liaWxpdHk8TGF5ZXJDaHJvbWl1bSwgUmVuZGVyU3VyZmFjZUNocm9taXVt
LCB2b2lkKj4ocm9vdExheWVyLCByb290TGF5ZXIsIGlkZW50aXR5TWF0cml4LCBpZGVudGl0eU1h
dHJpeCwgcmVuZGVyU3VyZmFjZUxheWVyTGlzdCwgcm9vdFJlbmRlclN1cmZhY2UtPmxheWVyTGlz
dCgpLCAwLCBtX21heFRleHR1cmVTaXplKTsKICAgICB9CiAKICNpZm5kZWYgTkRFQlVHCkBAIC03
NzgsNyArNzkzLDcgQEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdMYXllcnNJbnRl
cm5hbCgpCiAKICAgICB7CiAgICAgICAgIFRSQUNFX0VWRU5UKCJMYXllclJlbmRlcmVyQ2hyb21p
dW06OmRyYXdMYXllcnNJbnRlcm5hbDo6Y2FsY0RyYXdFdGMiLCB0aGlzLCAwKTsKLSAgICAgICAg
Y2FsY3VsYXRlRHJhd1RyYW5zZm9ybXNBbmRWaXNpYmlsaXR5PENDTGF5ZXJJbXBsLCBDQ1JlbmRl
clN1cmZhY2UsIENDTGF5ZXJTb3J0ZXI+KHJvb3REcmF3TGF5ZXIsIHJvb3REcmF3TGF5ZXIsIGlk
ZW50aXR5TWF0cml4LCByZW5kZXJTdXJmYWNlTGF5ZXJMaXN0LCBtX2RlZmF1bHRSZW5kZXJTdXJm
YWNlLT5sYXllckxpc3QoKSwgJm1fbGF5ZXJTb3J0ZXIsIG1fbWF4VGV4dHVyZVNpemUpOworICAg
ICAgICBjYWxjdWxhdGVEcmF3VHJhbnNmb3Jtc0FuZFZpc2liaWxpdHk8Q0NMYXllckltcGwsIEND
UmVuZGVyU3VyZmFjZSwgQ0NMYXllclNvcnRlcj4ocm9vdERyYXdMYXllciwgcm9vdERyYXdMYXll
ciwgaWRlbnRpdHlNYXRyaXgsIGlkZW50aXR5TWF0cml4LCByZW5kZXJTdXJmYWNlTGF5ZXJMaXN0
LCBtX2RlZmF1bHRSZW5kZXJTdXJmYWNlLT5sYXllckxpc3QoKSwgJm1fbGF5ZXJTb3J0ZXIsIG1f
bWF4VGV4dHVyZVNpemUpOwogICAgIH0KIAogICAgIC8vIFRoZSBHTCB2aWV3cG9ydCBjb3ZlcnMg
dGhlIGVudGlyZSB2aXNpYmxlIGFyZWEsIGluY2x1ZGluZyB0aGUgc2Nyb2xsYmFycy4KQEAgLTEw
NjYsMTcgKzEwODEsMTIgQEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdMYXllcihD
Q0xheWVySW1wbCogbGF5ZXIsIENDUmVuZGVyU3VyZmFjZSogdGFyZ2UKICAgICAgICAgR0xDKG1f
Y29udGV4dC5nZXQoKSwgbV9jb250ZXh0LT5kaXNhYmxlKEdyYXBoaWNzQ29udGV4dDNEOjpTQ0lT
U09SX1RFU1QpKTsKIAogICAgIGlmICghbGF5ZXItPmRvdWJsZVNpZGVkKCkpIHsKLSAgICAgICAg
Ly8gRklYTUU6IE5lZWQgdG8gdGFrZSBpbnRvIGFjY291bnQgdGhlIGN1bXVsYXRpdmUgcmVuZGVy
IHN1cmZhY2UgdHJhbnNmb3JtcyBhbGwgdGhlIHdheSBmcm9tCi0gICAgICAgIC8vICAgICAgICB0
aGUgZGVmYXVsdCByZW5kZXIgc3VyZmFjZSBpbiBvcmRlciB0byBkZXRlcm1pbmUgdmlzaWJpbGl0
eS4KLSAgICAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggY29tYmluZWREcmF3TWF0cml4OwotICAg
ICAgICBpZiAobGF5ZXItPnRhcmdldFJlbmRlclN1cmZhY2UoKSkgewotICAgICAgICAgICAgY29t
YmluZWREcmF3TWF0cml4ID0gbGF5ZXItPnRhcmdldFJlbmRlclN1cmZhY2UoKS0+ZHJhd1RyYW5z
Zm9ybSgpOwotICAgICAgICAgICAgY29tYmluZWREcmF3TWF0cml4Lm11bHRpcGx5KGxheWVyLT5k
cmF3VHJhbnNmb3JtKCkpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIGNvbWJpbmVkRHJh
d01hdHJpeCA9IGxheWVyLT5kcmF3VHJhbnNmb3JtKCk7Ci0KKyAgICAgICAgLy8gRklYTUU6IEEg
bW9yZSBjb3JyZWN0IGFuZCBlZmZpY2llbnQgd2F5IHRvIGRvIHRoaXMgd291bGQgYmUgdG8gdHJh
bnNmb3JtCisgICAgICAgIC8vICAgICAgICBhIHNpbXBsZSB1bml0IHZlY3RvciBpbiB0aGUgei1h
eGlzLCBpbnN0ZWFkIG9mIG1hcFF1YWQuCisgICAgICAgIC8vICAgICAgICBIb3dldmVyLCBhdCB0
aGlzIHRpbWUgdGhlcmUgaXMgbm8gVHJhbnNmb3JtYXRpb25NYXRyaXggcm91dGluZSB0byB0cmFu
c2Zvcm0gbWF0aGVtYXRpY2FsCisgICAgICAgIC8vICAgICAgICB2ZWN0b3JzICh3aGVyZSB0aGUg
NHRoIG1hdHJpeCBjb2x1bW4gZG9lcyBub3QgInRyYW5zbGF0ZSIgdGhlIHZlY3RvciwgdW5saWtl
IHBvaW50cykKICAgICAgICAgRmxvYXRSZWN0IGxheWVyUmVjdChGbG9hdFBvaW50KDAsIDApLCBG
bG9hdFNpemUobGF5ZXItPmJvdW5kcygpKSk7Ci0gICAgICAgIEZsb2F0UXVhZCBtYXBwZWRMYXll
ciA9IGNvbWJpbmVkRHJhd01hdHJpeC5tYXBRdWFkKEZsb2F0UXVhZChsYXllclJlY3QpKTsKKyAg
ICAgICAgRmxvYXRRdWFkIG1hcHBlZExheWVyID0gbGF5ZXItPndvcmxkU3BhY2VEcmF3VHJhbnNm
b3JtKCkubWFwUXVhZChGbG9hdFF1YWQobGF5ZXJSZWN0KSk7CiAgICAgICAgIEZsb2F0U2l6ZSBo
b3Jpem9udGFsRGlyID0gbWFwcGVkTGF5ZXIucDIoKSAtIG1hcHBlZExheWVyLnAxKCk7CiAgICAg
ICAgIEZsb2F0U2l6ZSB2ZXJ0aWNhbERpciA9IG1hcHBlZExheWVyLnA0KCkgLSBtYXBwZWRMYXll
ci5wMSgpOwogICAgICAgICBGbG9hdFBvaW50M0QgeEF4aXMoaG9yaXpvbnRhbERpci53aWR0aCgp
LCBob3Jpem9udGFsRGlyLmhlaWdodCgpLCAwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5oCmluZGV4IGZm
ZDdhYTRmYjI2NmUwZjg2OTQzNDE1NGU3MTYwZmQ1MWYzOWNjNDkuLjhhYTM2MTVhMDY3ODlmNTVl
MTc3ZmMwZDMwNTdhMjZiNmE2MjRlYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwuaApAQCAtMTUyLDYg
KzE1Miw4IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBkcmF3
VHJhbnNmb3JtKCkgY29uc3QgeyByZXR1cm4gbV9kcmF3VHJhbnNmb3JtOyB9CiAgICAgdm9pZCBz
ZXREcmF3VHJhbnNmb3JtKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtYXRyaXgpIHsgbV9k
cmF3VHJhbnNmb3JtID0gbWF0cml4OyB9CisgICAgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgm
IHdvcmxkU3BhY2VEcmF3VHJhbnNmb3JtKCkgY29uc3QgeyByZXR1cm4gbV93b3JsZFNwYWNlRHJh
d1RyYW5zZm9ybTsgfQorICAgIHZvaWQgc2V0V29ybGRTcGFjZURyYXdUcmFuc2Zvcm0oY29uc3Qg
VHJhbnNmb3JtYXRpb25NYXRyaXgmIG1hdHJpeCkgeyBtX3dvcmxkU3BhY2VEcmF3VHJhbnNmb3Jt
ID0gbWF0cml4OyB9CiAgICAgY29uc3QgSW50UmVjdCYgZHJhd2FibGVDb250ZW50UmVjdCgpIGNv
bnN0IHsgcmV0dXJuIG1fZHJhd2FibGVDb250ZW50UmVjdDsgfQogICAgIHZvaWQgc2V0RHJhd2Fi
bGVDb250ZW50UmVjdChjb25zdCBJbnRSZWN0JiByZWN0KSB7IG1fZHJhd2FibGVDb250ZW50UmVj
dCA9IHJlY3Q7IH0KIApAQCAtMjE4LDYgKzIyMCw3IEBAIHByaXZhdGU6CiAgICAgZmxvYXQgbV9k
ZWJ1Z0JvcmRlcldpZHRoOwogCiAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggbV9kcmF3VHJhbnNm
b3JtOworICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IG1fd29ybGRTcGFjZURyYXdUcmFuc2Zvcm07
CiAKICAgICAvLyBUaGUgc2Npc3NvciByZWN0YW5nbGUgdGhhdCBzaG91bGQgYmUgdXNlZCB3aGVu
IHRoaXMgbGF5ZXIgaXMgZHJhd24uCiAgICAgLy8gSW5oZXJpdGVkIGJ5IHRoZSBwYXJlbnQgbGF5
ZXIgYW5kIGZ1cnRoZXIgcmVzdHJpY3RlZCBpZiB0aGlzIGxheWVyIG1hc2tzCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104062</attachid>
            <date>2011-08-16 10:06:18 -0700</date>
            <delta_ts>2011-08-16 14:14:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66114-20110816100616.patch</filename>
            <type>text/plain</type>
            <size>16457</size>
            <attacher name="Shawn Singh">shawnsingh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTMwNTcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzZTA3ZGI2Zjk0YWE4ZGM0ZmY4ZWI2
OTkxNDI5NjBhZTljYmMxODlkLi42OGYxODA2MjE5MmEwYTdhMjc1MTFkYjBiNGI2MDQ5OTYyNzJm
ODMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDgtMTUgIFNoYXduIFNpbmdoICA8c2hh
d25zaW5naEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ29tcHV0aW5nIHdvcmxkLXNwYWNlIHRy
YW5zZm9ybSBmb3IgTGF5ZXJDaHJvbWl1bSBhbmQgQ0NMYXllckltcGwKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MTE0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBjYXNlIHRlc3RzIGlmIGJhY2tm
YWNlIHZpc2liaWxpdHkgcHJvcGVybHkgYWNjb3VudHMgZm9yIGEgaGllcmFyY2h5CisgICAgICAg
IG9mIHRyYW5zZm9ybXMuICBJbiBwYXJ0aWN1bGFyLCB0aGlzIHRlc3QgZm9yY2VzIENocm9taXVt
IHRvIGNyZWF0ZSBhCisgICAgICAgIGhpZXJhcmNoeSBvZiBSZW5kZXJTdXJmYWNlcy4KKworICAg
ICAgICAqIGNvbXBvc2l0aW5nL2JhY2tmYWNlLXZpc2liaWxpdHktaGllcmFyY2hpY2FsLXRyYW5z
Zm9ybS1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIGNvbXBvc2l0aW5nL2JhY2tmYWNl
LXZpc2liaWxpdHktaGllcmFyY2hpY2FsLXRyYW5zZm9ybS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGNvbXBvc2l0aW5nL2JhY2tmYWNlLXZpc2liaWxpdHktaGllcmFyY2hpY2FsLXRy
YW5zZm9ybS5odG1sOiBBZGRlZC4KKwogMjAxMS0wOC0xNSAgQ2hyaXMgUm9nZXJzICA8Y3JvZ2Vy
c0Bnb29nbGUuY29tPgogCiAgICAgICAgIEFkZCBzaGVsbCBpbXBsZW1lbnRhdGlvbiBmb3IgV2Vi
IEF1ZGlvIEFQSSdzIE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvYmFja2ZhY2UtdmlzaWJpbGl0eS1oaWVyYXJjaGljYWwtdHJh
bnNmb3JtLWV4cGVjdGVkLnBuZyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JhY2tmYWNlLXZp
c2liaWxpdHktaGllcmFyY2hpY2FsLXRyYW5zZm9ybS1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MmQ3ZTM4MjcwZDZiN2FlMTg3YzAzNjQ2MTA3OGUwY2UzNmQxNTZjNwpHSVQgYmluYXJ5IHBhdGNo
CmxpdGVyYWwgMjg3OAp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHl+eVV7K3ZZVjJhPmkwKlopPWhe
aGxBJUBXcyRsSGBvazxtfT9vVCF2SD0KelYtcThUQng0ST5iNCNOJXZ0JCFQNlZ1ZT5NRHRXKk9H
ODZyVzVle2Y9Tn5YSWE5IXxwYVNXLUxeWSlHKipJQCR6CnpTNFloc19sfkxHem9UJGZuYSVMPnMt
STdqeCE9eD1XTUMrPCVqYWljdTtATCYjTCZVMSFfWTdUSHstX0YtPDleaQp6P1hDRj93JWRQWFl9
Z3ZKZnF8aWppSkwofDRhaTZ1V2VseEFzN3x8Z2tBYX47TD56eWwhXyZpUD48XzFPUEhPREsKemxm
ZnYxJG93KUlQQEA0d3V1Ml9HQiVfSUJHPzVVSzN2UCVyXmEteSMhbzFaTCpkUylgYm9GeXQ9YWtS
ezBFS1NRCkF0TjtLMgoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvYmFja2ZhY2UtdmlzaWJpbGl0eS1oaWVyYXJjaGljYWwtdHJhbnNm
b3JtLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JhY2tmYWNlLXZpc2li
aWxpdHktaGllcmFyY2hpY2FsLXRyYW5zZm9ybS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTA3
NTQ5MjllNGY2MWRlZDg1YTYwZjU4MTU3NDJjOTgyZDhkZDIyOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JhY2tmYWNlLXZpc2liaWxpdHktaGllcmFyY2hpY2Fs
LXRyYW5zZm9ybS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSBAQAorVGhpcyB0ZXN0IGlzIG9ubHkg
dXNlZnVsIGFzIGEgcGl4ZWwgdGVzdApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRp
bmcvYmFja2ZhY2UtdmlzaWJpbGl0eS1oaWVyYXJjaGljYWwtdHJhbnNmb3JtLmh0bWwgYi9MYXlv
dXRUZXN0cy9jb21wb3NpdGluZy9iYWNrZmFjZS12aXNpYmlsaXR5LWhpZXJhcmNoaWNhbC10cmFu
c2Zvcm0uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NGEyNWJiNGQ2NWMwOGJkZTNmZWY2ZDM1OGY2MzA0NzNm
YmZmNTU4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYmFja2Zh
Y2UtdmlzaWJpbGl0eS1oaWVyYXJjaGljYWwtdHJhbnNmb3JtLmh0bWwKQEAgLTAsMCArMSw5NSBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICA8c3R5bGUgdHlwZT0idGV4dC9j
c3MiIG1lZGlhPSJzY3JlZW4iPgorICAgIGRpdiB7CisgICAgICBoZWlnaHQ6IDEwMHB4OworICAg
ICAgd2lkdGg6IDEwMHB4OworICAgIH0KKworICAgIC5yZWQgeworICAgICAgICBiYWNrZ3JvdW5k
LWNvbG9yOiByZWQ7CisgICAgfQorCisgICAgLmdyZWVuIHsKKyAgICAgICAgYmFja2dyb3VuZC1j
b2xvcjogZ3JlZW47CisgICAgfQorCisgICAgLnRlc3QxbG9jYXRpb24geworICAgICAgICBwb3Np
dGlvbjogYWJzb2x1dGU7CisgICAgICAgIHRvcDogMTBweDsKKyAgICAgICAgbGVmdDogMTBweDsK
KyAgICB9CisKKyAgICAudGVzdDJsb2NhdGlvbiB7CisgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0
ZTsKKyAgICAgICAgdG9wOiAxMjBweDsKKyAgICAgICAgbGVmdDogMTBweDsKKyAgICB9CisKKyAg
ICAucHJlc2VydmVzM2QgeworICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZl
LTNkOworICAgIH0KKworICAgIC5maXJzdFJlbmRlclN1cmZhY2UgeworICAgICAgLXdlYmtpdC10
cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTsKKyAgICAgIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxl
OiBmbGF0OworICAgIH0KKworICAgIC5zZWNvbmRSZW5kZXJTdXJmYWNlIHsKKyAgICAgIC13ZWJr
aXQtdHJhbnNmb3JtOiByb3RhdGVZKDBkZWcpOworICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5
bGU6IGZsYXQ7CisgICAgfQorCisgICAgLmJhY2tmYWNlVmlzaWJsZSB7CisgICAgICAtd2Via2l0
LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7CisgICAgfQorCisgICAgLmJhY2tmYWNlSGlk
ZGVuIHsKKyAgICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOworICAgIH0K
KyAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorCisgIDwhLS0gSW4gdGhlIHBpeGVsIHJlc3Vs
dHMsIHR3byBncmVlbiBzcXVhcmVzIHNob3VsZCBiZSB2aXNpYmxlLiAtLT4KKyAgPCEtLSBUaGlz
IHRlc3RzIHdoZXRoZXIgYmFja2ZhY2UgY3VsbGluZyBpcyBhY2NvdW50aW5nIGZvciB0aGUgaGll
cmFyY2h5IG9mIHRyYW5zZm9ybXMgLS0+CisKKyAgPGRpdiBjbGFzcz0idGVzdDFsb2NhdGlvbiBy
ZWQiPgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0idGVzdDFsb2NhdGlvbiI+CisgICAgPGRpdiBj
bGFzcz0icHJlc2VydmVzM2QiPgorICAgICAgPGRpdiBjbGFzcz0iZmlyc3RSZW5kZXJTdXJmYWNl
Ij4KKyAgICAgICAgPGRpdiBjbGFzcz0icHJlc2VydmVzM2QiPgorICAgICAgICAgIDxkaXYgY2xh
c3M9InNlY29uZFJlbmRlclN1cmZhY2UiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJlc2Vy
dmVzM2QgYmFja2ZhY2VWaXNpYmxlIGdyZWVuIj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAg
ICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorICA8
L2Rpdj4KKworICA8ZGl2IGNsYXNzPSJ0ZXN0MmxvY2F0aW9uIGdyZWVuIj4KKyAgPC9kaXY+Cisg
IDxkaXYgY2xhc3M9InRlc3QybG9jYXRpb24iPgorICAgIDxkaXYgY2xhc3M9InByZXNlcnZlczNk
Ij4KKyAgICAgIDxkaXYgY2xhc3M9ImZpcnN0UmVuZGVyU3VyZmFjZSI+CisgICAgICAgIDxkaXYg
Y2xhc3M9InByZXNlcnZlczNkIj4KKyAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWNvbmRSZW5kZXJT
dXJmYWNlIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9InByZXNlcnZlczNkIGJhY2tmYWNlSGlk
ZGVuIHJlZCI+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICA8L2Rpdj4KKyAgICAgICAg
PC9kaXY+CisgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisKKyAgPHNjcmlwdD4K
KyAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmR1bXBBc1RleHQodHJ1ZSk7ICAvLyBUaGlzIGlzIG9ubHkgdXNlZnVsIGFzIGEgcGl4
ZWwgdGVzdC4KKyAgICBkb2N1bWVudC53cml0ZSgiPHNwYW4gc3R5bGU9J3Bvc2l0aW9uOmFic29s
dXRlOyB0b3A6LTUwMDBweCc+VGhpcyB0ZXN0IGlzIG9ubHkgdXNlZnVsIGFzIGEgcGl4ZWwgdGVz
dDwvc3Bhbj4iKTsKKyAgfQorICA8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCA2MDIwZDY0NjM2ZTQ0NTBiZGZmYjNlNTcwMDAxMThjOTQxYzRlM2Y0Li5iMjk5ODA0NjU2
NTQ2YTM3YTM5ZWE1NGQwYmEwNjExOWM1MjUxMjgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMg
QEAKKzIwMTEtMDgtMTUgIFNoYXduIFNpbmdoICA8c2hhd25zaW5naEBjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgQ29tcHV0aW5nIHdvcmxkLXNwYWNlIHRyYW5zZm9ybSBmb3IgTGF5ZXJDaHJvbWl1
bSBhbmQgQ0NMYXllckltcGwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY2MTE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGVzdDogY29tcG9zaXRpbmcvYmFja2ZhY2UtdmlzaWJpbGl0eS1oaWVyYXJjaGlj
YWwtdHJhbnNmb3JtLmh0bWwKKworICAgICAgICBBZGRlZCBhIGRhdGEgbWVtYmVyIHRvIExheWVy
Q2hyb21pdW0gYW5kIENDTGF5ZXJJbXBsIHRoYXQgaG9sZHMKKyAgICAgICAgdGhlIHdvcmxkLXNw
YWNlIHRyYW5zZm9ybS4gICBUaGUgdHJhbnNmb3JtIGlzIGNvbXB1dGVkIGluCisgICAgICAgIGNh
bGN1bGF0ZURyYXdUcmFuc2Zvcm1zQW5kVmlzaWJpbGl0eSgpLCB3aGljaCBpcyB1c2VkIGR1cmlu
ZworICAgICAgICB1cGRhdGluZyAoTGF5ZXJDaHJvbWl1bSkgYW5kIGRyYXdpbmcgKENDTGF5ZXJJ
bXBsKS4KKworICAgICAgICBBbHNvIGZpeGVkIGEgRklYTUUgaW4gTGF5ZXJSZW5kZXJlckNocm9t
aXVtOjpkcmF3TGF5ZXIsIHdoaWNoCisgICAgICAgIHdhcyBub3QgY29tcHV0aW5nIHRoZSBlbnRp
cmUgaGllcmFyY2h5IG9mIHRyYW5zZm9ybXMgdG8gZGV0ZXJtaW5lCisgICAgICAgIGJhY2stZmFj
ZSB2aXNpYmlsaXR5LiAgTm93IGl0IHNpbXBseSB1c2VzIHRoZSB3b3JsZCBzcGFjZSB0cmFuc2Zv
cm0uCisKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21p
dW0uaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyQ2hyb21pdW06OndvcmxkU3BhY2VEcmF3VHJh
bnNmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyQ2hyb21pdW06OnNldFdvcmxkU3BhY2VE
cmF3VHJhbnNmb3JtKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXll
clJlbmRlcmVyQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNo
cm9taXVtOjp1cGRhdGVMYXllcnMpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNo
cm9taXVtOjpkcmF3TGF5ZXJzSW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5k
ZXJlckNocm9taXVtOjpkcmF3TGF5ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDTGF5ZXJJbXBsLmg6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVySW1wbDo6
d29ybGRTcGFjZURyYXdUcmFuc2Zvcm0pOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllckltcGw6
OnNldFdvcmxkU3BhY2VEcmF3VHJhbnNmb3JtKToKKwogMjAxMS0wOC0xNSAgQ2FyeSBDbGFyayAg
PGNhcnljbGFya0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlzZSBTa2lhIG9uIENocm9tZSBN
YWMgdG8gcmV0dXJuIGZhbGxiYWNrIGZvbnRzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5oCmluZGV4IGNhMmI2
NDE3MzcwMDZiN2ZlYzIyMmM1NTE1YWNmMDIwMmE4MGQ1MWQuLjc0YzBkNWVjYjYxOGE4YzQwNzAx
OWY2Y2M2OTdmMmRjYmUyNTk2NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmgKQEAgLTE5OSw2ICsxOTks
OCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRUYXJnZXRSZW5kZXJTdXJmYWNlKFJlbmRlclN1cmZh
Y2VDaHJvbWl1bSogc3VyZmFjZSkgeyBtX3RhcmdldFJlbmRlclN1cmZhY2UgPSBzdXJmYWNlOyB9
CiAgICAgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIGRyYXdUcmFuc2Zvcm0oKSBjb25zdCB7
IHJldHVybiBtX2RyYXdUcmFuc2Zvcm07IH0KICAgICB2b2lkIHNldERyYXdUcmFuc2Zvcm0oY29u
c3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIG1hdHJpeCkgeyBtX2RyYXdUcmFuc2Zvcm0gPSBtYXRy
aXg7IH0KKyAgICBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgd29ybGRTcGFjZURyYXdUcmFu
c2Zvcm0oKSBjb25zdCB7IHJldHVybiBtX3dvcmxkU3BhY2VEcmF3VHJhbnNmb3JtOyB9CisgICAg
dm9pZCBzZXRXb3JsZFNwYWNlRHJhd1RyYW5zZm9ybShjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJp
eCYgbWF0cml4KSB7IG1fd29ybGRTcGFjZURyYXdUcmFuc2Zvcm0gPSBtYXRyaXg7IH0KICAgICBj
b25zdCBJbnRSZWN0JiBkcmF3YWJsZUNvbnRlbnRSZWN0KCkgY29uc3QgeyByZXR1cm4gbV9kcmF3
YWJsZUNvbnRlbnRSZWN0OyB9CiAgICAgdm9pZCBzZXREcmF3YWJsZUNvbnRlbnRSZWN0KGNvbnN0
IEludFJlY3QmIHJlY3QpIHsgbV9kcmF3YWJsZUNvbnRlbnRSZWN0ID0gcmVjdDsgfQogCkBAIC0y
ODksNiArMjkxLDcgQEAgcHJpdmF0ZToKICAgICBJbnRSZWN0IG1fc2Npc3NvclJlY3Q7CiAgICAg
UmVuZGVyU3VyZmFjZUNocm9taXVtKiBtX3RhcmdldFJlbmRlclN1cmZhY2U7CiAgICAgVHJhbnNm
b3JtYXRpb25NYXRyaXggbV9kcmF3VHJhbnNmb3JtOworICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4
IG1fd29ybGRTcGFjZURyYXdUcmFuc2Zvcm07CiAgICAgSW50UmVjdCBtX2RyYXdhYmxlQ29udGVu
dFJlY3Q7CiAKICAgICBTdHJpbmcgbV9uYW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJv
bWl1bS5jcHAKaW5kZXggZDAwNDcyZjYxZDNlNmJiODY3Y2ZlZDJiNzRkMDkzOGNhNzU0ODAwZC4u
MmY5N2M2MjA2YzkxMjM3YjkzNGZhZDhlMjQ0NTcwODkwZWY3MmQ3NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9t
aXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9M
YXllclJlbmRlcmVyQ2hyb21pdW0uY3BwCkBAIC0xMjksNyArMTI5LDcgQEAgdm9pZCBzb3J0TGF5
ZXJzKFZlY3RvcjxSZWZQdHI8Q0NMYXllckltcGw+ID46Oml0ZXJhdG9yIGZpcnN0LCBWZWN0b3I8
UmVmUHRyPENDTGEKIC8vIFJlY3Vyc2l2ZWx5IHdhbGtzIHRoZSBsYXllciB0cmVlIHN0YXJ0aW5n
IGF0IHRoZSBnaXZlbiBub2RlIGFuZCBjb21wdXRlcyBhbGwgdGhlCiAvLyBuZWNlc3NhcnkgdHJh
bnNmb3JtYXRpb25zLCBzY2lzc29yIHJlY3RhbmdsZXMsIHJlbmRlciBzdXJmYWNlcywgZXRjLgog
dGVtcGxhdGU8dHlwZW5hbWUgTGF5ZXJUeXBlLCB0eXBlbmFtZSBSZW5kZXJTdXJmYWNlVHlwZSwg
dHlwZW5hbWUgTGF5ZXJTb3J0ZXI+Ci12b2lkIGNhbGN1bGF0ZURyYXdUcmFuc2Zvcm1zQW5kVmlz
aWJpbGl0eShMYXllclR5cGUqIGxheWVyLCBMYXllclR5cGUqIHJvb3RMYXllciwgY29uc3QgVHJh
bnNmb3JtYXRpb25NYXRyaXgmIHBhcmVudE1hdHJpeCwgVmVjdG9yPFJlZlB0cjxMYXllclR5cGU+
ID4mIHJlbmRlclN1cmZhY2VMYXllckxpc3QsIFZlY3RvcjxSZWZQdHI8TGF5ZXJUeXBlPiA+JiBs
YXllckxpc3QsIExheWVyU29ydGVyKiBsYXllclNvcnRlciwgaW50IG1heFRleHR1cmVTaXplKQor
dm9pZCBjYWxjdWxhdGVEcmF3VHJhbnNmb3Jtc0FuZFZpc2liaWxpdHkoTGF5ZXJUeXBlKiBsYXll
ciwgTGF5ZXJUeXBlKiByb290TGF5ZXIsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBwYXJl
bnRNYXRyaXgsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBmdWxsSGllcmFyY2h5TWF0cml4
LCBWZWN0b3I8UmVmUHRyPExheWVyVHlwZT4gPiYgcmVuZGVyU3VyZmFjZUxheWVyTGlzdCwgVmVj
dG9yPFJlZlB0cjxMYXllclR5cGU+ID4mIGxheWVyTGlzdCwgTGF5ZXJTb3J0ZXIqIGxheWVyU29y
dGVyLCBpbnQgbWF4VGV4dHVyZVNpemUpCiB7CiAgICAgdHlwZWRlZiBWZWN0b3I8UmVmUHRyPExh
eWVyVHlwZT4gPiBMYXllckxpc3Q7CiAgICAgLy8gQ29tcHV0ZSB0aGUgbmV3IG1hdHJpeCB0cmFu
c2Zvcm1hdGlvbiB0aGF0IHdpbGwgYmUgYXBwbGllZCB0byB0aGlzIGxheWVyIGFuZApAQCAtMTcy
LDYgKzE3MiwxMCBAQCB2b2lkIGNhbGN1bGF0ZURyYXdUcmFuc2Zvcm1zQW5kVmlzaWJpbGl0eShM
YXllclR5cGUqIGxheWVyLCBMYXllclR5cGUqIHJvb3RMYXllcgogICAgIEZsb2F0UmVjdCBsYXll
clJlY3QoLTAuNSAqIGxheWVyLT5ib3VuZHMoKS53aWR0aCgpLCAtMC41ICogbGF5ZXItPmJvdW5k
cygpLmhlaWdodCgpLCBsYXllci0+Ym91bmRzKCkud2lkdGgoKSwgbGF5ZXItPmJvdW5kcygpLmhl
aWdodCgpKTsKICAgICBJbnRSZWN0IHRyYW5zZm9ybWVkTGF5ZXJSZWN0OwogCisgICAgLy8gZnVs
bEhpZXJhcmNoeU1hdHJpeCBpcyB0aGUgbWF0cml4IHRoYXQgdHJhbnNmb3JtcyBvYmplY3RzIGJl
dHdlZW4gd29ybGQgc3BhY2UgYW5kIHRoZSBtb3N0IHJlY2VudCBSZW5kZXJTdXJmYWNlJ3Mgc3Bh
Y2UuCisgICAgLy8gbmV4dEhpZXJhcmNoeU1hdHJpeCB3aWxsIG9ubHkgY2hhbmdlIGlmIHRoaXMg
bGF5ZXIgdXNlcyBhIG5ldyBSZW5kZXJTdXJmYWNlLCBvdGhlcndpc2UgcmVtYWlucyB0aGUgc2Ft
ZS4KKyAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBuZXh0SGllcmFyY2h5TWF0cml4ID0gZnVsbEhp
ZXJhcmNoeU1hdHJpeDsKKwogICAgIC8vIEZJWE1FOiBUaGlzIHNlZW1zIGxpa2UgdGhlIHdyb25n
IHBsYWNlIHRvIHNldCB0aGlzCiAgICAgbGF5ZXItPnNldFVzZXNMYXllclNjaXNzb3IoZmFsc2Up
OwogCkBAIC0yMTMsNiArMjE3LDkgQEAgdm9pZCBjYWxjdWxhdGVEcmF3VHJhbnNmb3Jtc0FuZFZp
c2liaWxpdHkoTGF5ZXJUeXBlKiBsYXllciwgTGF5ZXJUeXBlKiByb290TGF5ZXIKICAgICAgICAg
bGF5ZXJPcmlnaW5UcmFuc2Zvcm0udHJhbnNsYXRlM2QoLTAuNSAqIGJvdW5kcy53aWR0aCgpLCAt
MC41ICogYm91bmRzLmhlaWdodCgpLCAwKTsKICAgICAgICAgcmVuZGVyU3VyZmFjZS0+c2V0T3Jp
Z2luVHJhbnNmb3JtKGxheWVyT3JpZ2luVHJhbnNmb3JtKTsKIAorICAgICAgICAvLyBVcGRhdGUg
dGhlIGFnZ3JlZ2F0ZSBoaWVyYXJjaHkgbWF0cml4IHRvIHJlcHJlc2VudCB0aGUgdHJhbnNmb3Jt
IGJldHdlZW4gd29ybGQgc3BhY2UgYW5kIHRoZSBuZXdseSBjcmVhdGVkIFJlbmRlclN1cmZhY2Uu
CisgICAgICAgIG5leHRIaWVyYXJjaHlNYXRyaXgubXVsdGlwbHkobGF5ZXJPcmlnaW5UcmFuc2Zv
cm0pOworCiAgICAgICAgIC8vIFRoZSByZW5kZXIgc3VyZmFjZSBzY2lzc29yIHJlY3QgaXMgdGhl
IHNjaXNzb3IgcmVjdCB0aGF0IG5lZWRzIHRvCiAgICAgICAgIC8vIGJlIGFwcGxpZWQgYmVmb3Jl
IGRyYXdpbmcgdGhlIHJlbmRlciBzdXJmYWNlIG9udG8gaXRzIGNvbnRhaW5pbmcKICAgICAgICAg
Ly8gc3VyZmFjZSBhbmQgaXMgdGhlcmVmb3JlIGV4cHJlc3NlZCBpbiB0aGUgcGFyZW50J3MgY29v
cmRpbmF0ZSBzeXN0ZW0uCkBAIC0yNjEsNiArMjY4LDE0IEBAIHZvaWQgY2FsY3VsYXRlRHJhd1Ry
YW5zZm9ybXNBbmRWaXNpYmlsaXR5KExheWVyVHlwZSogbGF5ZXIsIExheWVyVHlwZSogcm9vdExh
eWVyCiAgICAgICAgIH0KICAgICB9CiAKKyAgICAvLyBOb3RlIHRoYXQgYXQgdGhpcyBwb2ludCwg
bGF5ZXItPmRyYXdUcmFuc2Zvcm0oKSBpcyBub3QgbmVjZXNzYXJpbHkgdGhlIHNhbWUgYXMgbG9j
YWwgdmFyaWFibGUgZHJhd1RyYW5zZm9ybS4KKyAgICAvLyBsYXllcldvcmxkU3BhY2VEcmF3VHJh
bnNmb3JtIHJlcHJlc2VudHMgdGhlIHRyYW5zZm9ybSBiZXR3ZWVuIGxheWVyIHNwYWNlIChpbiBw
aXhlbHMpIGFuZCB3b3JsZCBzcGFjZS4KKyAgICAvLyBTbyB3ZSBkbyBub3QgaW5jbHVkZSBwcm9q
ZWN0aW9uIFAgb3Igc2NhbGluZyB0cmFuc2Zvcm0gUyAoc2VlIGNvbW1lbnRzIGFib3ZlIHRoYXQg
ZGVzY3JpYmUgUCpNKlMpLgorICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IGxheWVyV29ybGRTcGFj
ZURyYXdUcmFuc2Zvcm0gPSBuZXh0SGllcmFyY2h5TWF0cml4OworICAgIGxheWVyV29ybGRTcGFj
ZURyYXdUcmFuc2Zvcm0ubXVsdGlwbHkobGF5ZXItPmRyYXdUcmFuc2Zvcm0oKSk7CisgICAgbGF5
ZXJXb3JsZFNwYWNlRHJhd1RyYW5zZm9ybS50cmFuc2xhdGUzZCgtMC41ICogYm91bmRzLndpZHRo
KCksIC0wLjUgKiBib3VuZHMuaGVpZ2h0KCksIDApOworICAgIGxheWVyLT5zZXRXb3JsZFNwYWNl
RHJhd1RyYW5zZm9ybShsYXllcldvcmxkU3BhY2VEcmF3VHJhbnNmb3JtKTsKKwogICAgIGlmIChs
YXllci0+cmVuZGVyU3VyZmFjZSgpKQogICAgICAgICBsYXllci0+c2V0VGFyZ2V0UmVuZGVyU3Vy
ZmFjZShsYXllci0+cmVuZGVyU3VyZmFjZSgpKTsKICAgICBlbHNlIHsKQEAgLTMwNiw3ICszMjEs
NyBAQCB2b2lkIGNhbGN1bGF0ZURyYXdUcmFuc2Zvcm1zQW5kVmlzaWJpbGl0eShMYXllclR5cGUq
IGxheWVyLCBMYXllclR5cGUqIHJvb3RMYXllcgogCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBsYXllci0+Y2hpbGRyZW4oKS5zaXplKCk7ICsraSkgewogICAgICAgICBMYXllclR5cGUqIGNo
aWxkID0gbGF5ZXItPmNoaWxkcmVuKClbaV0uZ2V0KCk7Ci0gICAgICAgIGNhbGN1bGF0ZURyYXdU
cmFuc2Zvcm1zQW5kVmlzaWJpbGl0eTxMYXllclR5cGUsIFJlbmRlclN1cmZhY2VUeXBlLCBMYXll
clNvcnRlcj4oY2hpbGQsIHJvb3RMYXllciwgc3VibGF5ZXJNYXRyaXgsIHJlbmRlclN1cmZhY2VM
YXllckxpc3QsIGRlc2NlbmRhbnRzLCBsYXllclNvcnRlciwgbWF4VGV4dHVyZVNpemUpOworICAg
ICAgICBjYWxjdWxhdGVEcmF3VHJhbnNmb3Jtc0FuZFZpc2liaWxpdHk8TGF5ZXJUeXBlLCBSZW5k
ZXJTdXJmYWNlVHlwZSwgTGF5ZXJTb3J0ZXI+KGNoaWxkLCByb290TGF5ZXIsIHN1YmxheWVyTWF0
cml4LCBuZXh0SGllcmFyY2h5TWF0cml4LCByZW5kZXJTdXJmYWNlTGF5ZXJMaXN0LCBkZXNjZW5k
YW50cywgbGF5ZXJTb3J0ZXIsIG1heFRleHR1cmVTaXplKTsKIAogICAgICAgICBpZiAoY2hpbGQt
PnJlbmRlclN1cmZhY2UoKSkgewogICAgICAgICAgICAgUmVuZGVyU3VyZmFjZVR5cGUqIGNoaWxk
UmVuZGVyU3VyZmFjZSA9IGNoaWxkLT5yZW5kZXJTdXJmYWNlKCk7CkBAIC02MzksNyArNjU0LDcg
QEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OnVwZGF0ZUxheWVycyhMYXllckNocm9taXVt
KiByb290TGF5ZXIpCiAKICAgICB7CiAgICAgICAgIFRSQUNFX0VWRU5UKCJMYXllclJlbmRlcmVy
Q2hyb21pdW06OnVwZGF0ZUxheWVyczo6Y2FsY0RyYXdFdGMiLCB0aGlzLCAwKTsKLSAgICAgICAg
Y2FsY3VsYXRlRHJhd1RyYW5zZm9ybXNBbmRWaXNpYmlsaXR5PExheWVyQ2hyb21pdW0sIFJlbmRl
clN1cmZhY2VDaHJvbWl1bSwgdm9pZCo+KHJvb3RMYXllciwgcm9vdExheWVyLCBpZGVudGl0eU1h
dHJpeCwgcmVuZGVyU3VyZmFjZUxheWVyTGlzdCwgcm9vdFJlbmRlclN1cmZhY2UtPmxheWVyTGlz
dCgpLCAwLCBtX21heFRleHR1cmVTaXplKTsKKyAgICAgICAgY2FsY3VsYXRlRHJhd1RyYW5zZm9y
bXNBbmRWaXNpYmlsaXR5PExheWVyQ2hyb21pdW0sIFJlbmRlclN1cmZhY2VDaHJvbWl1bSwgdm9p
ZCo+KHJvb3RMYXllciwgcm9vdExheWVyLCBpZGVudGl0eU1hdHJpeCwgaWRlbnRpdHlNYXRyaXgs
IHJlbmRlclN1cmZhY2VMYXllckxpc3QsIHJvb3RSZW5kZXJTdXJmYWNlLT5sYXllckxpc3QoKSwg
MCwgbV9tYXhUZXh0dXJlU2l6ZSk7CiAgICAgfQogCiAjaWZuZGVmIE5ERUJVRwpAQCAtNzc4LDcg
Kzc5Myw3IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3TGF5ZXJzSW50ZXJuYWwo
KQogCiAgICAgewogICAgICAgICBUUkFDRV9FVkVOVCgiTGF5ZXJSZW5kZXJlckNocm9taXVtOjpk
cmF3TGF5ZXJzSW50ZXJuYWw6OmNhbGNEcmF3RXRjIiwgdGhpcywgMCk7Ci0gICAgICAgIGNhbGN1
bGF0ZURyYXdUcmFuc2Zvcm1zQW5kVmlzaWJpbGl0eTxDQ0xheWVySW1wbCwgQ0NSZW5kZXJTdXJm
YWNlLCBDQ0xheWVyU29ydGVyPihyb290RHJhd0xheWVyLCByb290RHJhd0xheWVyLCBpZGVudGl0
eU1hdHJpeCwgcmVuZGVyU3VyZmFjZUxheWVyTGlzdCwgbV9kZWZhdWx0UmVuZGVyU3VyZmFjZS0+
bGF5ZXJMaXN0KCksICZtX2xheWVyU29ydGVyLCBtX21heFRleHR1cmVTaXplKTsKKyAgICAgICAg
Y2FsY3VsYXRlRHJhd1RyYW5zZm9ybXNBbmRWaXNpYmlsaXR5PENDTGF5ZXJJbXBsLCBDQ1JlbmRl
clN1cmZhY2UsIENDTGF5ZXJTb3J0ZXI+KHJvb3REcmF3TGF5ZXIsIHJvb3REcmF3TGF5ZXIsIGlk
ZW50aXR5TWF0cml4LCBpZGVudGl0eU1hdHJpeCwgcmVuZGVyU3VyZmFjZUxheWVyTGlzdCwgbV9k
ZWZhdWx0UmVuZGVyU3VyZmFjZS0+bGF5ZXJMaXN0KCksICZtX2xheWVyU29ydGVyLCBtX21heFRl
eHR1cmVTaXplKTsKICAgICB9CiAKICAgICAvLyBUaGUgR0wgdmlld3BvcnQgY292ZXJzIHRoZSBl
bnRpcmUgdmlzaWJsZSBhcmVhLCBpbmNsdWRpbmcgdGhlIHNjcm9sbGJhcnMuCkBAIC0xMDY2LDE3
ICsxMDgxLDEyIEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3TGF5ZXIoQ0NMYXll
ckltcGwqIGxheWVyLCBDQ1JlbmRlclN1cmZhY2UqIHRhcmdlCiAgICAgICAgIEdMQyhtX2NvbnRl
eHQuZ2V0KCksIG1fY29udGV4dC0+ZGlzYWJsZShHcmFwaGljc0NvbnRleHQzRDo6U0NJU1NPUl9U
RVNUKSk7CiAKICAgICBpZiAoIWxheWVyLT5kb3VibGVTaWRlZCgpKSB7Ci0gICAgICAgIC8vIEZJ
WE1FOiBOZWVkIHRvIHRha2UgaW50byBhY2NvdW50IHRoZSBjdW11bGF0aXZlIHJlbmRlciBzdXJm
YWNlIHRyYW5zZm9ybXMgYWxsIHRoZSB3YXkgZnJvbQotICAgICAgICAvLyAgICAgICAgdGhlIGRl
ZmF1bHQgcmVuZGVyIHN1cmZhY2UgaW4gb3JkZXIgdG8gZGV0ZXJtaW5lIHZpc2liaWxpdHkuCi0g
ICAgICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IGNvbWJpbmVkRHJhd01hdHJpeDsKLSAgICAgICAg
aWYgKGxheWVyLT50YXJnZXRSZW5kZXJTdXJmYWNlKCkpIHsKLSAgICAgICAgICAgIGNvbWJpbmVk
RHJhd01hdHJpeCA9IGxheWVyLT50YXJnZXRSZW5kZXJTdXJmYWNlKCktPmRyYXdUcmFuc2Zvcm0o
KTsKLSAgICAgICAgICAgIGNvbWJpbmVkRHJhd01hdHJpeC5tdWx0aXBseShsYXllci0+ZHJhd1Ry
YW5zZm9ybSgpKTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBjb21iaW5lZERyYXdNYXRy
aXggPSBsYXllci0+ZHJhd1RyYW5zZm9ybSgpOwotCisgICAgICAgIC8vIEZJWE1FOiBBIG1vcmUg
Y29ycmVjdCBhbmQgZWZmaWNpZW50IHdheSB0byBkbyB0aGlzIHdvdWxkIGJlIHRvIHRyYW5zZm9y
bQorICAgICAgICAvLyAgICAgICAgYSBzaW1wbGUgdW5pdCB2ZWN0b3IgaW4gdGhlIHotYXhpcywg
aW5zdGVhZCBvZiBtYXBRdWFkLgorICAgICAgICAvLyAgICAgICAgSG93ZXZlciwgYXQgdGhpcyB0
aW1lIHRoZXJlIGlzIG5vIFRyYW5zZm9ybWF0aW9uTWF0cml4IHJvdXRpbmUgdG8gdHJhbnNmb3Jt
IG1hdGhlbWF0aWNhbAorICAgICAgICAvLyAgICAgICAgdmVjdG9ycyAod2hlcmUgdGhlIDR0aCBt
YXRyaXggY29sdW1uIGRvZXMgbm90ICJ0cmFuc2xhdGUiIHRoZSB2ZWN0b3IsIHVubGlrZSBwb2lu
dHMpCiAgICAgICAgIEZsb2F0UmVjdCBsYXllclJlY3QoRmxvYXRQb2ludCgwLCAwKSwgRmxvYXRT
aXplKGxheWVyLT5ib3VuZHMoKSkpOwotICAgICAgICBGbG9hdFF1YWQgbWFwcGVkTGF5ZXIgPSBj
b21iaW5lZERyYXdNYXRyaXgubWFwUXVhZChGbG9hdFF1YWQobGF5ZXJSZWN0KSk7CisgICAgICAg
IEZsb2F0UXVhZCBtYXBwZWRMYXllciA9IGxheWVyLT53b3JsZFNwYWNlRHJhd1RyYW5zZm9ybSgp
Lm1hcFF1YWQoRmxvYXRRdWFkKGxheWVyUmVjdCkpOwogICAgICAgICBGbG9hdFNpemUgaG9yaXpv
bnRhbERpciA9IG1hcHBlZExheWVyLnAyKCkgLSBtYXBwZWRMYXllci5wMSgpOwogICAgICAgICBG
bG9hdFNpemUgdmVydGljYWxEaXIgPSBtYXBwZWRMYXllci5wNCgpIC0gbWFwcGVkTGF5ZXIucDEo
KTsKICAgICAgICAgRmxvYXRQb2ludDNEIHhBeGlzKGhvcml6b250YWxEaXIud2lkdGgoKSwgaG9y
aXpvbnRhbERpci5oZWlnaHQoKSwgMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwuaAppbmRleCBmZmQ3YWE0
ZmIyNjZlMGY4Njk0MzQxNTRlNzE2MGZkNTFmMzljYzQ5Li44YWEzNjE1YTA2Nzg5ZjU1ZTE3N2Zj
MGQzMDU3YTI2YjZhNjI0ZWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmgKQEAgLTE1Miw2ICsxNTIs
OCBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgZHJhd1RyYW5z
Zm9ybSgpIGNvbnN0IHsgcmV0dXJuIG1fZHJhd1RyYW5zZm9ybTsgfQogICAgIHZvaWQgc2V0RHJh
d1RyYW5zZm9ybShjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbWF0cml4KSB7IG1fZHJhd1Ry
YW5zZm9ybSA9IG1hdHJpeDsgfQorICAgIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiB3b3Js
ZFNwYWNlRHJhd1RyYW5zZm9ybSgpIGNvbnN0IHsgcmV0dXJuIG1fd29ybGRTcGFjZURyYXdUcmFu
c2Zvcm07IH0KKyAgICB2b2lkIHNldFdvcmxkU3BhY2VEcmF3VHJhbnNmb3JtKGNvbnN0IFRyYW5z
Zm9ybWF0aW9uTWF0cml4JiBtYXRyaXgpIHsgbV93b3JsZFNwYWNlRHJhd1RyYW5zZm9ybSA9IG1h
dHJpeDsgfQogICAgIGNvbnN0IEludFJlY3QmIGRyYXdhYmxlQ29udGVudFJlY3QoKSBjb25zdCB7
IHJldHVybiBtX2RyYXdhYmxlQ29udGVudFJlY3Q7IH0KICAgICB2b2lkIHNldERyYXdhYmxlQ29u
dGVudFJlY3QoY29uc3QgSW50UmVjdCYgcmVjdCkgeyBtX2RyYXdhYmxlQ29udGVudFJlY3QgPSBy
ZWN0OyB9CiAKQEAgLTIxOCw2ICsyMjAsNyBAQCBwcml2YXRlOgogICAgIGZsb2F0IG1fZGVidWdC
b3JkZXJXaWR0aDsKIAogICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IG1fZHJhd1RyYW5zZm9ybTsK
KyAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBtX3dvcmxkU3BhY2VEcmF3VHJhbnNmb3JtOwogCiAg
ICAgLy8gVGhlIHNjaXNzb3IgcmVjdGFuZ2xlIHRoYXQgc2hvdWxkIGJlIHVzZWQgd2hlbiB0aGlz
IGxheWVyIGlzIGRyYXduLgogICAgIC8vIEluaGVyaXRlZCBieSB0aGUgcGFyZW50IGxheWVyIGFu
ZCBmdXJ0aGVyIHJlc3RyaWN0ZWQgaWYgdGhpcyBsYXllciBtYXNrcwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104088</attachid>
            <date>2011-08-16 14:14:52 -0700</date>
            <delta_ts>2011-08-18 17:42:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66114-20110816141451.patch</filename>
            <type>text/plain</type>
            <size>16738</size>
            <attacher name="Shawn Singh">shawnsingh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTMwNTcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzZTA3ZGI2Zjk0YWE4ZGM0ZmY4ZWI2
OTkxNDI5NjBhZTljYmMxODlkLi5jZmY2MTUxNTEyZDNmMDUyZDZhNmMxYmZkNGNiNDRkZTEyMzg5
ZjA2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDgtMTYgIFNoYXduIFNpbmdoICA8c2hh
d25zaW5naEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ29tcHV0aW5nIHNjcmVlbi1zcGFjZSB0
cmFuc2Zvcm0gZm9yIExheWVyQ2hyb21pdW0gYW5kIENDTGF5ZXJJbXBsCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjExNAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgY2FzZSB0ZXN0cyBpZiBiYWNr
ZmFjZSB2aXNpYmlsaXR5IHByb3Blcmx5IGFjY291bnRzIGZvciBhIGhpZXJhcmNoeQorICAgICAg
ICBvZiB0cmFuc2Zvcm1zLgorCisgICAgICAgICogY29tcG9zaXRpbmcvYmFja2ZhY2UtdmlzaWJp
bGl0eS1oaWVyYXJjaGljYWwtdHJhbnNmb3JtLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAg
ICogY29tcG9zaXRpbmcvYmFja2ZhY2UtdmlzaWJpbGl0eS1oaWVyYXJjaGljYWwtdHJhbnNmb3Jt
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY29tcG9zaXRpbmcvYmFja2ZhY2Utdmlz
aWJpbGl0eS1oaWVyYXJjaGljYWwtdHJhbnNmb3JtLmh0bWw6IEFkZGVkLgorCiAyMDExLTA4LTE1
ICBDaHJpcyBSb2dlcnMgIDxjcm9nZXJzQGdvb2dsZS5jb20+CiAKICAgICAgICAgQWRkIHNoZWxs
IGltcGxlbWVudGF0aW9uIGZvciBXZWIgQXVkaW8gQVBJJ3MgTWVkaWFFbGVtZW50QXVkaW9Tb3Vy
Y2VOb2RlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9iYWNrZmFjZS12aXNp
YmlsaXR5LWhpZXJhcmNoaWNhbC10cmFuc2Zvcm0tZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvYmFja2ZhY2UtdmlzaWJpbGl0eS1oaWVyYXJjaGljYWwtdHJhbnNmb3JtLWV4
cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZDdlMzgyNzBkNmI3YWUxODdjMDM2NDYxMDc4ZTBjZTM2
ZDE1NmM3CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAyODc4CnpjbWVBU0BOPyhvbEh5YHVWQnEh
aWEweX55VXsrdllWMmE+aTAqWik9aF5obEElQFdzJGxIYG9rPG19P29UIXZIPQp6Vi1xOFRCeDRJ
PmI0I04ldnQkIVA2VnVlPk1EdFcqT0c4NnJXNWV7Zj1OflhJYTkhfHBhU1ctTF5ZKUcqKklAJHoK
elM0WWhzX2x+TEd6b1QkZm5hJUw+cy1JN2p4IT14PVdNQys8JWphaWN1O0BMJiNMJlUxIV9ZN1RI
ey1fRi08OV5pCno/WENGP3clZFBYWX1ndkpmcXxpamlKTCh8NGFpNnVXZWx4QXM3fHxna0FhfjtM
Pnp5bCFfJmlQPjxfMU9QSE9ESwp6bGZmdjEkb3cpSVBAQDR3dXUyX0dCJV9JQkc/NVVLM3ZQJXJe
YS15IyFvMVpMKmRTKWBib0Z5dD1ha1J7MEVLU1EKQXROO0syCgpsaXRlcmFsIDAKSGNtVj9kMDAw
MDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9iYWNrZmFjZS12aXNpYmls
aXR5LWhpZXJhcmNoaWNhbC10cmFuc2Zvcm0tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvYmFja2ZhY2UtdmlzaWJpbGl0eS1oaWVyYXJjaGljYWwtdHJhbnNmb3JtLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5lMDc1NDkyOWU0ZjYxZGVkODVhNjBmNTgxNTc0MmM5ODJkOGRk
MjI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYmFja2ZhY2Ut
dmlzaWJpbGl0eS1oaWVyYXJjaGljYWwtdHJhbnNmb3JtLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
IEBACitUaGlzIHRlc3QgaXMgb25seSB1c2VmdWwgYXMgYSBwaXhlbCB0ZXN0CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9iYWNrZmFjZS12aXNpYmlsaXR5LWhpZXJhcmNoaWNh
bC10cmFuc2Zvcm0uaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JhY2tmYWNlLXZpc2li
aWxpdHktaGllcmFyY2hpY2FsLXRyYW5zZm9ybS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg0YTI1YmI0ZDY1
YzA4YmRlM2ZlZjZkMzU4ZjYzMDQ3M2ZiZmY1NTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9jb21wb3NpdGluZy9iYWNrZmFjZS12aXNpYmlsaXR5LWhpZXJhcmNoaWNhbC10cmFuc2Zv
cm0uaHRtbApAQCAtMCwwICsxLDk1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
CisgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiI+CisgICAgZGl2IHsKKyAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICB3aWR0aDogMTAwcHg7CisgICAgfQorCisgICAgLnJl
ZCB7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDsKKyAgICB9CisKKyAgICAuZ3JlZW4g
eworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKKyAgICB9CisKKyAgICAudGVzdDFs
b2NhdGlvbiB7CisgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAgICAgdG9wOiAxMHB4
OworICAgICAgICBsZWZ0OiAxMHB4OworICAgIH0KKworICAgIC50ZXN0MmxvY2F0aW9uIHsKKyAg
ICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgICB0b3A6IDEyMHB4OworICAgICAgICBs
ZWZ0OiAxMHB4OworICAgIH0KKworICAgIC5wcmVzZXJ2ZXMzZCB7CisgICAgICAtd2Via2l0LXRy
YW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7CisgICAgfQorCisgICAgLmZpcnN0UmVuZGVyU3Vy
ZmFjZSB7CisgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpOworICAgICAg
LXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IGZsYXQ7CisgICAgfQorCisgICAgLnNlY29uZFJlbmRl
clN1cmZhY2UgeworICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoMGRlZyk7CisgICAg
ICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogZmxhdDsKKyAgICB9CisKKyAgICAuYmFja2ZhY2VW
aXNpYmxlIHsKKyAgICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTsKKyAg
ICB9CisKKyAgICAuYmFja2ZhY2VIaWRkZW4geworICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNp
YmlsaXR5OiBoaWRkZW47CisgICAgfQorICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisKKyAg
PCEtLSBJbiB0aGUgcGl4ZWwgcmVzdWx0cywgdHdvIGdyZWVuIHNxdWFyZXMgc2hvdWxkIGJlIHZp
c2libGUuIC0tPgorICA8IS0tIFRoaXMgdGVzdHMgd2hldGhlciBiYWNrZmFjZSBjdWxsaW5nIGlz
IGFjY291bnRpbmcgZm9yIHRoZSBoaWVyYXJjaHkgb2YgdHJhbnNmb3JtcyAtLT4KKworICA8ZGl2
IGNsYXNzPSJ0ZXN0MWxvY2F0aW9uIHJlZCI+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJ0ZXN0
MWxvY2F0aW9uIj4KKyAgICA8ZGl2IGNsYXNzPSJwcmVzZXJ2ZXMzZCI+CisgICAgICA8ZGl2IGNs
YXNzPSJmaXJzdFJlbmRlclN1cmZhY2UiPgorICAgICAgICA8ZGl2IGNsYXNzPSJwcmVzZXJ2ZXMz
ZCI+CisgICAgICAgICAgPGRpdiBjbGFzcz0ic2Vjb25kUmVuZGVyU3VyZmFjZSI+CisgICAgICAg
ICAgICA8ZGl2IGNsYXNzPSJwcmVzZXJ2ZXMzZCBiYWNrZmFjZVZpc2libGUgZ3JlZW4iPgorICAg
ICAgICAgICAgPC9kaXY+CisgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAg
PC9kaXY+CisgICAgPC9kaXY+CisgIDwvZGl2PgorCisgIDxkaXYgY2xhc3M9InRlc3QybG9jYXRp
b24gZ3JlZW4iPgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0idGVzdDJsb2NhdGlvbiI+CisgICAg
PGRpdiBjbGFzcz0icHJlc2VydmVzM2QiPgorICAgICAgPGRpdiBjbGFzcz0iZmlyc3RSZW5kZXJT
dXJmYWNlIj4KKyAgICAgICAgPGRpdiBjbGFzcz0icHJlc2VydmVzM2QiPgorICAgICAgICAgIDxk
aXYgY2xhc3M9InNlY29uZFJlbmRlclN1cmZhY2UiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0i
cHJlc2VydmVzM2QgYmFja2ZhY2VIaWRkZW4gcmVkIj4KKyAgICAgICAgICAgIDwvZGl2PgorICAg
ICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgIDwvZGl2PgorICAgIDwvZGl2Pgor
ICA8L2Rpdj4KKworICA8c2NyaXB0PgorICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCh0cnVlKTsgIC8vIFRoaXMg
aXMgb25seSB1c2VmdWwgYXMgYSBwaXhlbCB0ZXN0LgorICAgIGRvY3VtZW50LndyaXRlKCI8c3Bh
biBzdHlsZT0ncG9zaXRpb246YWJzb2x1dGU7IHRvcDotNTAwMHB4Jz5UaGlzIHRlc3QgaXMgb25s
eSB1c2VmdWwgYXMgYSBwaXhlbCB0ZXN0PC9zcGFuPiIpOworICB9CisgIDwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDYwMjBkNjQ2MzZlNDQ1MGJkZmZiM2U1NzAwMDEx
OGM5NDFjNGUzZjQuLjEwYmMxMmNlZWYyMWRlM2ViNWFhNWZkZjliMzc2NGEzMGQwMmY4ZTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAxMS0wOC0xNiAgU2hhd24gU2luZ2ggIDxzaGF3
bnNpbmdoQGNocm9taXVtLm9yZz4KKworICAgICAgICBDb21wdXRpbmcgc2NyZWVuLXNwYWNlIHRy
YW5zZm9ybSBmb3IgTGF5ZXJDaHJvbWl1bSBhbmQgQ0NMYXllckltcGwKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MTE0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogY29tcG9zaXRpbmcvYmFja2Zh
Y2UtdmlzaWJpbGl0eS1oaWVyYXJjaGljYWwtdHJhbnNmb3JtLmh0bWwKKworICAgICAgICBBZGRl
ZCBhIGRhdGEgbWVtYmVyIHRvIExheWVyQ2hyb21pdW0gYW5kIENDTGF5ZXJJbXBsIHRoYXQgaG9s
ZHMKKyAgICAgICAgdGhlIHNjcmVlbi1zcGFjZSB0cmFuc2Zvcm0uICAgVGhlIHRyYW5zZm9ybSBp
cyBjb21wdXRlZCBpbgorICAgICAgICBjYWxjdWxhdGVEcmF3VHJhbnNmb3Jtc0FuZFZpc2liaWxp
dHkoKSwgd2hpY2ggaXMgdXNlZCBkdXJpbmcKKyAgICAgICAgdXBkYXRpbmcgKExheWVyQ2hyb21p
dW0pIGFuZCBkcmF3aW5nIChDQ0xheWVySW1wbCkuICBUaGlzIHRyYW5zZm9ybQorICAgICAgICB3
aWxsIGFsc28gYmUgdXNlZCBmb3Igb3RoZXIgdGhpbmdzLCBzdWNoIGFzIEhVRCBkcmF3aW5nLCBp
biB1cGNvbWluZworICAgICAgICBwYXRjaGVzLgorCisgICAgICAgIEFsc28gZml4ZWQgYSBGSVhN
RSBpbiBMYXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdMYXllciwgd2hpY2gKKyAgICAgICAgd2Fz
IG5vdCBjb21wdXRpbmcgdGhlIGVudGlyZSBoaWVyYXJjaHkgb2YgdHJhbnNmb3JtcyB0byBkZXRl
cm1pbmUKKyAgICAgICAgYmFjay1mYWNlIHZpc2liaWxpdHkuICBOb3cgaXQgc2ltcGx5IHVzZXMg
dGhlIHNjcmVlbiBzcGFjZSB0cmFuc2Zvcm0uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9MYXllckNocm9taXVtLmg6CisgICAgICAgIChXZWJDb3JlOjpMYXllckNocm9t
aXVtOjpzY3JlZW5TcGFjZURyYXdUcmFuc2Zvcm0pOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJD
aHJvbWl1bTo6c2V0U2NyZWVuU3BhY2VEcmF3VHJhbnNmb3JtKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjp1cGRhdGVMYXllcnMpOgorICAgICAgICAo
V2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3TGF5ZXJzSW50ZXJuYWwpOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3TGF5ZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6Y2FsY3VsYXRlRHJhd1RyYW5zZm9ybXNBbmRWaXNpYmlsaXR5KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5oOgorICAgICAg
ICAoV2ViQ29yZTo6Q0NMYXllckltcGw6OnNjcmVlblNwYWNlRHJhd1RyYW5zZm9ybSk6CisgICAg
ICAgIChXZWJDb3JlOjpDQ0xheWVySW1wbDo6c2V0U2NyZWVuU3BhY2VEcmF3VHJhbnNmb3JtKToK
KwogMjAxMS0wOC0xNSAgQ2FyeSBDbGFyayAgPGNhcnljbGFya0Bnb29nbGUuY29tPgogCiAgICAg
ICAgIFJldmlzZSBTa2lhIG9uIENocm9tZSBNYWMgdG8gcmV0dXJuIGZhbGxiYWNrIGZvbnRzLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5
ZXJDaHJvbWl1bS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
TGF5ZXJDaHJvbWl1bS5oCmluZGV4IGNhMmI2NDE3MzcwMDZiN2ZlYzIyMmM1NTE1YWNmMDIwMmE4
MGQ1MWQuLjExYTIzYTBmZTVlNmViMmQyYmQ0MjA0YmUxMTViNWY3MGJkMmM0OTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21p
dW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXll
ckNocm9taXVtLmgKQEAgLTE5OSw2ICsxOTksOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRUYXJn
ZXRSZW5kZXJTdXJmYWNlKFJlbmRlclN1cmZhY2VDaHJvbWl1bSogc3VyZmFjZSkgeyBtX3Rhcmdl
dFJlbmRlclN1cmZhY2UgPSBzdXJmYWNlOyB9CiAgICAgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRy
aXgmIGRyYXdUcmFuc2Zvcm0oKSBjb25zdCB7IHJldHVybiBtX2RyYXdUcmFuc2Zvcm07IH0KICAg
ICB2b2lkIHNldERyYXdUcmFuc2Zvcm0oY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIG1hdHJp
eCkgeyBtX2RyYXdUcmFuc2Zvcm0gPSBtYXRyaXg7IH0KKyAgICBjb25zdCBUcmFuc2Zvcm1hdGlv
bk1hdHJpeCYgc2NyZWVuU3BhY2VUcmFuc2Zvcm0oKSBjb25zdCB7IHJldHVybiBtX3NjcmVlblNw
YWNlVHJhbnNmb3JtOyB9CisgICAgdm9pZCBzZXRTY3JlZW5TcGFjZVRyYW5zZm9ybShjb25zdCBU
cmFuc2Zvcm1hdGlvbk1hdHJpeCYgbWF0cml4KSB7IG1fc2NyZWVuU3BhY2VUcmFuc2Zvcm0gPSBt
YXRyaXg7IH0KICAgICBjb25zdCBJbnRSZWN0JiBkcmF3YWJsZUNvbnRlbnRSZWN0KCkgY29uc3Qg
eyByZXR1cm4gbV9kcmF3YWJsZUNvbnRlbnRSZWN0OyB9CiAgICAgdm9pZCBzZXREcmF3YWJsZUNv
bnRlbnRSZWN0KGNvbnN0IEludFJlY3QmIHJlY3QpIHsgbV9kcmF3YWJsZUNvbnRlbnRSZWN0ID0g
cmVjdDsgfQogCkBAIC0yODksNiArMjkxLDcgQEAgcHJpdmF0ZToKICAgICBJbnRSZWN0IG1fc2Np
c3NvclJlY3Q7CiAgICAgUmVuZGVyU3VyZmFjZUNocm9taXVtKiBtX3RhcmdldFJlbmRlclN1cmZh
Y2U7CiAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggbV9kcmF3VHJhbnNmb3JtOworICAgIFRyYW5z
Zm9ybWF0aW9uTWF0cml4IG1fc2NyZWVuU3BhY2VUcmFuc2Zvcm07CiAgICAgSW50UmVjdCBtX2Ry
YXdhYmxlQ29udGVudFJlY3Q7CiAKICAgICBTdHJpbmcgbV9uYW1lOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9t
aXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVy
UmVuZGVyZXJDaHJvbWl1bS5jcHAKaW5kZXggZDAwNDcyZjYxZDNlNmJiODY3Y2ZlZDJiNzRkMDkz
OGNhNzU0ODAwZC4uNTFkYzMwNDJjOTk2N2VjNjNiYmZmMzQxZGJhNzNkYTI4MWY1YWFkMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJS
ZW5kZXJlckNocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwCkBAIC0xMjksNyArMTI5LDcgQEAg
dm9pZCBzb3J0TGF5ZXJzKFZlY3RvcjxSZWZQdHI8Q0NMYXllckltcGw+ID46Oml0ZXJhdG9yIGZp
cnN0LCBWZWN0b3I8UmVmUHRyPENDTGEKIC8vIFJlY3Vyc2l2ZWx5IHdhbGtzIHRoZSBsYXllciB0
cmVlIHN0YXJ0aW5nIGF0IHRoZSBnaXZlbiBub2RlIGFuZCBjb21wdXRlcyBhbGwgdGhlCiAvLyBu
ZWNlc3NhcnkgdHJhbnNmb3JtYXRpb25zLCBzY2lzc29yIHJlY3RhbmdsZXMsIHJlbmRlciBzdXJm
YWNlcywgZXRjLgogdGVtcGxhdGU8dHlwZW5hbWUgTGF5ZXJUeXBlLCB0eXBlbmFtZSBSZW5kZXJT
dXJmYWNlVHlwZSwgdHlwZW5hbWUgTGF5ZXJTb3J0ZXI+Ci12b2lkIGNhbGN1bGF0ZURyYXdUcmFu
c2Zvcm1zQW5kVmlzaWJpbGl0eShMYXllclR5cGUqIGxheWVyLCBMYXllclR5cGUqIHJvb3RMYXll
ciwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIHBhcmVudE1hdHJpeCwgVmVjdG9yPFJlZlB0
cjxMYXllclR5cGU+ID4mIHJlbmRlclN1cmZhY2VMYXllckxpc3QsIFZlY3RvcjxSZWZQdHI8TGF5
ZXJUeXBlPiA+JiBsYXllckxpc3QsIExheWVyU29ydGVyKiBsYXllclNvcnRlciwgaW50IG1heFRl
eHR1cmVTaXplKQordm9pZCBjYWxjdWxhdGVEcmF3VHJhbnNmb3Jtc0FuZFZpc2liaWxpdHkoTGF5
ZXJUeXBlKiBsYXllciwgTGF5ZXJUeXBlKiByb290TGF5ZXIsIGNvbnN0IFRyYW5zZm9ybWF0aW9u
TWF0cml4JiBwYXJlbnRNYXRyaXgsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBmdWxsSGll
cmFyY2h5TWF0cml4LCBWZWN0b3I8UmVmUHRyPExheWVyVHlwZT4gPiYgcmVuZGVyU3VyZmFjZUxh
eWVyTGlzdCwgVmVjdG9yPFJlZlB0cjxMYXllclR5cGU+ID4mIGxheWVyTGlzdCwgTGF5ZXJTb3J0
ZXIqIGxheWVyU29ydGVyLCBpbnQgbWF4VGV4dHVyZVNpemUpCiB7CiAgICAgdHlwZWRlZiBWZWN0
b3I8UmVmUHRyPExheWVyVHlwZT4gPiBMYXllckxpc3Q7CiAgICAgLy8gQ29tcHV0ZSB0aGUgbmV3
IG1hdHJpeCB0cmFuc2Zvcm1hdGlvbiB0aGF0IHdpbGwgYmUgYXBwbGllZCB0byB0aGlzIGxheWVy
IGFuZApAQCAtMTcyLDYgKzE3MiwxMCBAQCB2b2lkIGNhbGN1bGF0ZURyYXdUcmFuc2Zvcm1zQW5k
VmlzaWJpbGl0eShMYXllclR5cGUqIGxheWVyLCBMYXllclR5cGUqIHJvb3RMYXllcgogICAgIEZs
b2F0UmVjdCBsYXllclJlY3QoLTAuNSAqIGxheWVyLT5ib3VuZHMoKS53aWR0aCgpLCAtMC41ICog
bGF5ZXItPmJvdW5kcygpLmhlaWdodCgpLCBsYXllci0+Ym91bmRzKCkud2lkdGgoKSwgbGF5ZXIt
PmJvdW5kcygpLmhlaWdodCgpKTsKICAgICBJbnRSZWN0IHRyYW5zZm9ybWVkTGF5ZXJSZWN0Owog
CisgICAgLy8gZnVsbEhpZXJhcmNoeU1hdHJpeCBpcyB0aGUgbWF0cml4IHRoYXQgdHJhbnNmb3Jt
cyBvYmplY3RzIGJldHdlZW4gc2NyZWVuIHNwYWNlIChleGNlcHQgcHJvamVjdGlvbiBtYXRyaXgp
IGFuZCB0aGUgbW9zdCByZWNlbnQgUmVuZGVyU3VyZmFjZSdzIHNwYWNlLgorICAgIC8vIG5leHRI
aWVyYXJjaHlNYXRyaXggd2lsbCBvbmx5IGNoYW5nZSBpZiB0aGlzIGxheWVyIHVzZXMgYSBuZXcg
UmVuZGVyU3VyZmFjZSwgb3RoZXJ3aXNlIHJlbWFpbnMgdGhlIHNhbWUuCisgICAgVHJhbnNmb3Jt
YXRpb25NYXRyaXggbmV4dEhpZXJhcmNoeU1hdHJpeCA9IGZ1bGxIaWVyYXJjaHlNYXRyaXg7CisK
ICAgICAvLyBGSVhNRTogVGhpcyBzZWVtcyBsaWtlIHRoZSB3cm9uZyBwbGFjZSB0byBzZXQgdGhp
cwogICAgIGxheWVyLT5zZXRVc2VzTGF5ZXJTY2lzc29yKGZhbHNlKTsKIApAQCAtMjEzLDYgKzIx
Nyw5IEBAIHZvaWQgY2FsY3VsYXRlRHJhd1RyYW5zZm9ybXNBbmRWaXNpYmlsaXR5KExheWVyVHlw
ZSogbGF5ZXIsIExheWVyVHlwZSogcm9vdExheWVyCiAgICAgICAgIGxheWVyT3JpZ2luVHJhbnNm
b3JtLnRyYW5zbGF0ZTNkKC0wLjUgKiBib3VuZHMud2lkdGgoKSwgLTAuNSAqIGJvdW5kcy5oZWln
aHQoKSwgMCk7CiAgICAgICAgIHJlbmRlclN1cmZhY2UtPnNldE9yaWdpblRyYW5zZm9ybShsYXll
ck9yaWdpblRyYW5zZm9ybSk7CiAKKyAgICAgICAgLy8gVXBkYXRlIHRoZSBhZ2dyZWdhdGUgaGll
cmFyY2h5IG1hdHJpeCB0byBpbmNsdWRlIHRoZSB0cmFuc2Zvcm0gb2YgdGhlIG5ld2x5IGNyZWF0
ZWQgUmVuZGVyU3VyZmFjZS4KKyAgICAgICAgbmV4dEhpZXJhcmNoeU1hdHJpeC5tdWx0aXBseShs
YXllck9yaWdpblRyYW5zZm9ybSk7CisKICAgICAgICAgLy8gVGhlIHJlbmRlciBzdXJmYWNlIHNj
aXNzb3IgcmVjdCBpcyB0aGUgc2Npc3NvciByZWN0IHRoYXQgbmVlZHMgdG8KICAgICAgICAgLy8g
YmUgYXBwbGllZCBiZWZvcmUgZHJhd2luZyB0aGUgcmVuZGVyIHN1cmZhY2Ugb250byBpdHMgY29u
dGFpbmluZwogICAgICAgICAvLyBzdXJmYWNlIGFuZCBpcyB0aGVyZWZvcmUgZXhwcmVzc2VkIGlu
IHRoZSBwYXJlbnQncyBjb29yZGluYXRlIHN5c3RlbS4KQEAgLTI2MSw2ICsyNjgsMTQgQEAgdm9p
ZCBjYWxjdWxhdGVEcmF3VHJhbnNmb3Jtc0FuZFZpc2liaWxpdHkoTGF5ZXJUeXBlKiBsYXllciwg
TGF5ZXJUeXBlKiByb290TGF5ZXIKICAgICAgICAgfQogICAgIH0KIAorICAgIC8vIE5vdGUgdGhh
dCBhdCB0aGlzIHBvaW50LCBsYXllci0+ZHJhd1RyYW5zZm9ybSgpIGlzIG5vdCBuZWNlc3Nhcmls
eSB0aGUgc2FtZSBhcyBsb2NhbCB2YXJpYWJsZSBkcmF3VHJhbnNmb3JtLgorICAgIC8vIGxheWVy
U2NyZWVuU3BhY2VUcmFuc2Zvcm0gcmVwcmVzZW50cyB0aGUgdHJhbnNmb3JtIGJldHdlZW4gbGF5
ZXIgc3BhY2UgKGluIHBpeGVscykgYW5kIHNjcmVlbiBzcGFjZS4KKyAgICAvLyBTbyB3ZSBkbyBu
b3QgaW5jbHVkZSBwcm9qZWN0aW9uIFAgb3Igc2NhbGluZyB0cmFuc2Zvcm0gUyAoc2VlIGNvbW1l
bnRzIGFib3ZlIHRoYXQgZGVzY3JpYmUgUCpNKlMpLgorICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4
IGxheWVyU2NyZWVuU3BhY2VUcmFuc2Zvcm0gPSBuZXh0SGllcmFyY2h5TWF0cml4OworICAgIGxh
eWVyU2NyZWVuU3BhY2VUcmFuc2Zvcm0ubXVsdGlwbHkobGF5ZXItPmRyYXdUcmFuc2Zvcm0oKSk7
CisgICAgbGF5ZXJTY3JlZW5TcGFjZVRyYW5zZm9ybS50cmFuc2xhdGUzZCgtMC41ICogYm91bmRz
LndpZHRoKCksIC0wLjUgKiBib3VuZHMuaGVpZ2h0KCksIDApOworICAgIGxheWVyLT5zZXRTY3Jl
ZW5TcGFjZVRyYW5zZm9ybShsYXllclNjcmVlblNwYWNlVHJhbnNmb3JtKTsKKwogICAgIGlmIChs
YXllci0+cmVuZGVyU3VyZmFjZSgpKQogICAgICAgICBsYXllci0+c2V0VGFyZ2V0UmVuZGVyU3Vy
ZmFjZShsYXllci0+cmVuZGVyU3VyZmFjZSgpKTsKICAgICBlbHNlIHsKQEAgLTMwNiw3ICszMjEs
NyBAQCB2b2lkIGNhbGN1bGF0ZURyYXdUcmFuc2Zvcm1zQW5kVmlzaWJpbGl0eShMYXllclR5cGUq
IGxheWVyLCBMYXllclR5cGUqIHJvb3RMYXllcgogCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBsYXllci0+Y2hpbGRyZW4oKS5zaXplKCk7ICsraSkgewogICAgICAgICBMYXllclR5cGUqIGNo
aWxkID0gbGF5ZXItPmNoaWxkcmVuKClbaV0uZ2V0KCk7Ci0gICAgICAgIGNhbGN1bGF0ZURyYXdU
cmFuc2Zvcm1zQW5kVmlzaWJpbGl0eTxMYXllclR5cGUsIFJlbmRlclN1cmZhY2VUeXBlLCBMYXll
clNvcnRlcj4oY2hpbGQsIHJvb3RMYXllciwgc3VibGF5ZXJNYXRyaXgsIHJlbmRlclN1cmZhY2VM
YXllckxpc3QsIGRlc2NlbmRhbnRzLCBsYXllclNvcnRlciwgbWF4VGV4dHVyZVNpemUpOworICAg
ICAgICBjYWxjdWxhdGVEcmF3VHJhbnNmb3Jtc0FuZFZpc2liaWxpdHk8TGF5ZXJUeXBlLCBSZW5k
ZXJTdXJmYWNlVHlwZSwgTGF5ZXJTb3J0ZXI+KGNoaWxkLCByb290TGF5ZXIsIHN1YmxheWVyTWF0
cml4LCBuZXh0SGllcmFyY2h5TWF0cml4LCByZW5kZXJTdXJmYWNlTGF5ZXJMaXN0LCBkZXNjZW5k
YW50cywgbGF5ZXJTb3J0ZXIsIG1heFRleHR1cmVTaXplKTsKIAogICAgICAgICBpZiAoY2hpbGQt
PnJlbmRlclN1cmZhY2UoKSkgewogICAgICAgICAgICAgUmVuZGVyU3VyZmFjZVR5cGUqIGNoaWxk
UmVuZGVyU3VyZmFjZSA9IGNoaWxkLT5yZW5kZXJTdXJmYWNlKCk7CkBAIC02MzksNyArNjU0LDcg
QEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OnVwZGF0ZUxheWVycyhMYXllckNocm9taXVt
KiByb290TGF5ZXIpCiAKICAgICB7CiAgICAgICAgIFRSQUNFX0VWRU5UKCJMYXllclJlbmRlcmVy
Q2hyb21pdW06OnVwZGF0ZUxheWVyczo6Y2FsY0RyYXdFdGMiLCB0aGlzLCAwKTsKLSAgICAgICAg
Y2FsY3VsYXRlRHJhd1RyYW5zZm9ybXNBbmRWaXNpYmlsaXR5PExheWVyQ2hyb21pdW0sIFJlbmRl
clN1cmZhY2VDaHJvbWl1bSwgdm9pZCo+KHJvb3RMYXllciwgcm9vdExheWVyLCBpZGVudGl0eU1h
dHJpeCwgcmVuZGVyU3VyZmFjZUxheWVyTGlzdCwgcm9vdFJlbmRlclN1cmZhY2UtPmxheWVyTGlz
dCgpLCAwLCBtX21heFRleHR1cmVTaXplKTsKKyAgICAgICAgY2FsY3VsYXRlRHJhd1RyYW5zZm9y
bXNBbmRWaXNpYmlsaXR5PExheWVyQ2hyb21pdW0sIFJlbmRlclN1cmZhY2VDaHJvbWl1bSwgdm9p
ZCo+KHJvb3RMYXllciwgcm9vdExheWVyLCBpZGVudGl0eU1hdHJpeCwgaWRlbnRpdHlNYXRyaXgs
IHJlbmRlclN1cmZhY2VMYXllckxpc3QsIHJvb3RSZW5kZXJTdXJmYWNlLT5sYXllckxpc3QoKSwg
MCwgbV9tYXhUZXh0dXJlU2l6ZSk7CiAgICAgfQogCiAjaWZuZGVmIE5ERUJVRwpAQCAtNzc4LDcg
Kzc5Myw3IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3TGF5ZXJzSW50ZXJuYWwo
KQogCiAgICAgewogICAgICAgICBUUkFDRV9FVkVOVCgiTGF5ZXJSZW5kZXJlckNocm9taXVtOjpk
cmF3TGF5ZXJzSW50ZXJuYWw6OmNhbGNEcmF3RXRjIiwgdGhpcywgMCk7Ci0gICAgICAgIGNhbGN1
bGF0ZURyYXdUcmFuc2Zvcm1zQW5kVmlzaWJpbGl0eTxDQ0xheWVySW1wbCwgQ0NSZW5kZXJTdXJm
YWNlLCBDQ0xheWVyU29ydGVyPihyb290RHJhd0xheWVyLCByb290RHJhd0xheWVyLCBpZGVudGl0
eU1hdHJpeCwgcmVuZGVyU3VyZmFjZUxheWVyTGlzdCwgbV9kZWZhdWx0UmVuZGVyU3VyZmFjZS0+
bGF5ZXJMaXN0KCksICZtX2xheWVyU29ydGVyLCBtX21heFRleHR1cmVTaXplKTsKKyAgICAgICAg
Y2FsY3VsYXRlRHJhd1RyYW5zZm9ybXNBbmRWaXNpYmlsaXR5PENDTGF5ZXJJbXBsLCBDQ1JlbmRl
clN1cmZhY2UsIENDTGF5ZXJTb3J0ZXI+KHJvb3REcmF3TGF5ZXIsIHJvb3REcmF3TGF5ZXIsIGlk
ZW50aXR5TWF0cml4LCBpZGVudGl0eU1hdHJpeCwgcmVuZGVyU3VyZmFjZUxheWVyTGlzdCwgbV9k
ZWZhdWx0UmVuZGVyU3VyZmFjZS0+bGF5ZXJMaXN0KCksICZtX2xheWVyU29ydGVyLCBtX21heFRl
eHR1cmVTaXplKTsKICAgICB9CiAKICAgICAvLyBUaGUgR0wgdmlld3BvcnQgY292ZXJzIHRoZSBl
bnRpcmUgdmlzaWJsZSBhcmVhLCBpbmNsdWRpbmcgdGhlIHNjcm9sbGJhcnMuCkBAIC0xMDY1LDI2
ICsxMDgwLDEyIEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3TGF5ZXIoQ0NMYXll
ckltcGwqIGxheWVyLCBDQ1JlbmRlclN1cmZhY2UqIHRhcmdlCiAgICAgfSBlbHNlCiAgICAgICAg
IEdMQyhtX2NvbnRleHQuZ2V0KCksIG1fY29udGV4dC0+ZGlzYWJsZShHcmFwaGljc0NvbnRleHQz
RDo6U0NJU1NPUl9URVNUKSk7CiAKLSAgICBpZiAoIWxheWVyLT5kb3VibGVTaWRlZCgpKSB7Ci0g
ICAgICAgIC8vIEZJWE1FOiBOZWVkIHRvIHRha2UgaW50byBhY2NvdW50IHRoZSBjdW11bGF0aXZl
IHJlbmRlciBzdXJmYWNlIHRyYW5zZm9ybXMgYWxsIHRoZSB3YXkgZnJvbQotICAgICAgICAvLyAg
ICAgICAgdGhlIGRlZmF1bHQgcmVuZGVyIHN1cmZhY2UgaW4gb3JkZXIgdG8gZGV0ZXJtaW5lIHZp
c2liaWxpdHkuCi0gICAgICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IGNvbWJpbmVkRHJhd01hdHJp
eDsKLSAgICAgICAgaWYgKGxheWVyLT50YXJnZXRSZW5kZXJTdXJmYWNlKCkpIHsKLSAgICAgICAg
ICAgIGNvbWJpbmVkRHJhd01hdHJpeCA9IGxheWVyLT50YXJnZXRSZW5kZXJTdXJmYWNlKCktPmRy
YXdUcmFuc2Zvcm0oKTsKLSAgICAgICAgICAgIGNvbWJpbmVkRHJhd01hdHJpeC5tdWx0aXBseShs
YXllci0+ZHJhd1RyYW5zZm9ybSgpKTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBjb21i
aW5lZERyYXdNYXRyaXggPSBsYXllci0+ZHJhd1RyYW5zZm9ybSgpOwotCi0gICAgICAgIEZsb2F0
UmVjdCBsYXllclJlY3QoRmxvYXRQb2ludCgwLCAwKSwgRmxvYXRTaXplKGxheWVyLT5ib3VuZHMo
KSkpOwotICAgICAgICBGbG9hdFF1YWQgbWFwcGVkTGF5ZXIgPSBjb21iaW5lZERyYXdNYXRyaXgu
bWFwUXVhZChGbG9hdFF1YWQobGF5ZXJSZWN0KSk7Ci0gICAgICAgIEZsb2F0U2l6ZSBob3Jpem9u
dGFsRGlyID0gbWFwcGVkTGF5ZXIucDIoKSAtIG1hcHBlZExheWVyLnAxKCk7Ci0gICAgICAgIEZs
b2F0U2l6ZSB2ZXJ0aWNhbERpciA9IG1hcHBlZExheWVyLnA0KCkgLSBtYXBwZWRMYXllci5wMSgp
OwotICAgICAgICBGbG9hdFBvaW50M0QgeEF4aXMoaG9yaXpvbnRhbERpci53aWR0aCgpLCBob3Jp
em9udGFsRGlyLmhlaWdodCgpLCAwKTsKLSAgICAgICAgRmxvYXRQb2ludDNEIHlBeGlzKHZlcnRp
Y2FsRGlyLndpZHRoKCksIHZlcnRpY2FsRGlyLmhlaWdodCgpLCAwKTsKLSAgICAgICAgRmxvYXRQ
b2ludDNEIHpBeGlzID0geEF4aXMuY3Jvc3MoeUF4aXMpOwotICAgICAgICBpZiAoekF4aXMueigp
IDwgMCkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICB9CisgICAgLy8gVGhlIGxheWVyIHNob3Vs
ZCBub3QgYmUgZHJhd24gaWYgKDEpIGl0IGlzIG5vdCBkb3VibGUtc2lkZWQgYW5kICgyKSB0aGUg
YmFjayBvZiB0aGUgbGF5ZXIgaXMgZmFjaW5nIHRoZSBzY3JlZW4uCisgICAgLy8gVGhpcyBzZWNv
bmQgY29uZGl0aW9uIGlzIGNvbXB1dGVkIGJ5IHRyYW5zZm9ybWluZyBhIHVuaXQtei12ZWN0b3Ig
KDAsIDAsIDEsIDApIGZyb20gbGF5ZXIgc3BhY2UgdG8gc2NyZWVuIHNwYWNlCisgICAgLy8gYW5k
IGNoZWNraW5nIHRoZSBzaWduIG9mIHRoZSB6LWNvbXBvbmVudC4gVGhhdCB6LWNvbXBvbmVudCBh
bGdlYnJhaWNhbGx5IHNpbXBsaWZpZXMgdG8gbTMzKCksIHNvIHdlIGNhbiBhdm9pZCBhCisgICAg
Ly8gbWF0cml4LXZlY3RvciBjb21wdXRhdGlvbi4KKyAgICBpZiAoKCFsYXllci0+ZG91YmxlU2lk
ZWQoKSkgJiYgKGxheWVyLT5zY3JlZW5TcGFjZVRyYW5zZm9ybSgpLm0zMygpIDwgMCkpCisgICAg
ICAgIHJldHVybjsKIAogICAgIGxheWVyLT5kcmF3KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5oCmlu
ZGV4IGZmZDdhYTRmYjI2NmUwZjg2OTQzNDE1NGU3MTYwZmQ1MWYzOWNjNDkuLjI4Zjc4MzgyYTZj
NzVkNmMxOGYxMzY3MWFjMzAwODY0NmEzMmEwZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwuaApAQCAt
MTUyLDYgKzE1Miw4IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4
JiBkcmF3VHJhbnNmb3JtKCkgY29uc3QgeyByZXR1cm4gbV9kcmF3VHJhbnNmb3JtOyB9CiAgICAg
dm9pZCBzZXREcmF3VHJhbnNmb3JtKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtYXRyaXgp
IHsgbV9kcmF3VHJhbnNmb3JtID0gbWF0cml4OyB9CisgICAgY29uc3QgVHJhbnNmb3JtYXRpb25N
YXRyaXgmIHNjcmVlblNwYWNlVHJhbnNmb3JtKCkgY29uc3QgeyByZXR1cm4gbV9zY3JlZW5TcGFj
ZVRyYW5zZm9ybTsgfQorICAgIHZvaWQgc2V0U2NyZWVuU3BhY2VUcmFuc2Zvcm0oY29uc3QgVHJh
bnNmb3JtYXRpb25NYXRyaXgmIG1hdHJpeCkgeyBtX3NjcmVlblNwYWNlVHJhbnNmb3JtID0gbWF0
cml4OyB9CiAgICAgY29uc3QgSW50UmVjdCYgZHJhd2FibGVDb250ZW50UmVjdCgpIGNvbnN0IHsg
cmV0dXJuIG1fZHJhd2FibGVDb250ZW50UmVjdDsgfQogICAgIHZvaWQgc2V0RHJhd2FibGVDb250
ZW50UmVjdChjb25zdCBJbnRSZWN0JiByZWN0KSB7IG1fZHJhd2FibGVDb250ZW50UmVjdCA9IHJl
Y3Q7IH0KIApAQCAtMjE4LDYgKzIyMCw3IEBAIHByaXZhdGU6CiAgICAgZmxvYXQgbV9kZWJ1Z0Jv
cmRlcldpZHRoOwogCiAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggbV9kcmF3VHJhbnNmb3JtOwor
ICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IG1fc2NyZWVuU3BhY2VUcmFuc2Zvcm07CiAKICAgICAv
LyBUaGUgc2Npc3NvciByZWN0YW5nbGUgdGhhdCBzaG91bGQgYmUgdXNlZCB3aGVuIHRoaXMgbGF5
ZXIgaXMgZHJhd24uCiAgICAgLy8gSW5oZXJpdGVkIGJ5IHRoZSBwYXJlbnQgbGF5ZXIgYW5kIGZ1
cnRoZXIgcmVzdHJpY3RlZCBpZiB0aGlzIGxheWVyIG1hc2tzCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104427</attachid>
            <date>2011-08-18 17:42:49 -0700</date>
            <delta_ts>2011-08-18 22:45:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66114-20110818174249.patch</filename>
            <type>text/plain</type>
            <size>16252</size>
            <attacher name="Shawn Singh">shawnsingh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTMxNjYKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2N2EwOTRjZWU5YzBiZmU1ZWFkMDBj
YzAxZmRiOGY2Y2ZiZDdlM2EzLi40NmQxZDQ5YTIzZGMzYzRkZDg0YTUzZDc1MDg0MmZhYzUzZGMy
ZTczIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDgtMTggIFNoYXduIFNpbmdoICA8c2hh
d25zaW5naEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ29tcHV0aW5nIHNjcmVlbi1zcGFjZSB0
cmFuc2Zvcm0gZm9yIExheWVyQ2hyb21pdW0gYW5kIENDTGF5ZXJJbXBsCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjExNAorCisgICAgICAgIFRoaXMg
Y2FzZSB0ZXN0cyBpZiBiYWNrZmFjZSB2aXNpYmlsaXR5IHByb3Blcmx5IGFjY291bnRzIGZvciBh
IGhpZXJhcmNoeQorICAgICAgICBvZiB0cmFuc2Zvcm1zLiAgSW4gcGFydGljdWxhciwgdGhpcyB0
ZXN0IGZvcmNlcyBDaHJvbWl1bSB0byBjcmVhdGUgYQorICAgICAgICBoaWVyYXJjaHkgb2YgUmVu
ZGVyU3VyZmFjZXMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBjb21wb3NpdGluZy9iYWNrZmFjZS12aXNpYmlsaXR5LWhpZXJhcmNoaWNhbC10cmFu
c2Zvcm0tZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9iYWNrZmFj
ZS12aXNpYmlsaXR5LWhpZXJhcmNoaWNhbC10cmFuc2Zvcm0tZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBjb21wb3NpdGluZy9iYWNrZmFjZS12aXNpYmlsaXR5LWhpZXJhcmNoaWNhbC10
cmFuc2Zvcm0uaHRtbDogQWRkZWQuCisKIDIwMTEtMDgtMTYgIFRvbnkgQ2hhbmcgIDx0b255QGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIGZhc3QvY3NzL2N1c3RvbS1mb250LXho
ZWlnaHQuaHRtbCBpcyBhc3NlcnRpbmcgb24gYWxsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9j
b21wb3NpdGluZy9iYWNrZmFjZS12aXNpYmlsaXR5LWhpZXJhcmNoaWNhbC10cmFuc2Zvcm0tZXhw
ZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYmFja2ZhY2UtdmlzaWJpbGl0eS1o
aWVyYXJjaGljYWwtdHJhbnNmb3JtLWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZDdlMzgyNzBk
NmI3YWUxODdjMDM2NDYxMDc4ZTBjZTM2ZDE1NmM3CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAy
ODc4CnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEweX55VXsrdllWMmE+aTAqWik9aF5obEElQFdzJGxI
YG9rPG19P29UIXZIPQp6Vi1xOFRCeDRJPmI0I04ldnQkIVA2VnVlPk1EdFcqT0c4NnJXNWV7Zj1O
flhJYTkhfHBhU1ctTF5ZKUcqKklAJHoKelM0WWhzX2x+TEd6b1QkZm5hJUw+cy1JN2p4IT14PVdN
Qys8JWphaWN1O0BMJiNMJlUxIV9ZN1RIey1fRi08OV5pCno/WENGP3clZFBYWX1ndkpmcXxpamlK
TCh8NGFpNnVXZWx4QXM3fHxna0FhfjtMPnp5bCFfJmlQPjxfMU9QSE9ESwp6bGZmdjEkb3cpSVBA
QDR3dXUyX0dCJV9JQkc/NVVLM3ZQJXJeYS15IyFvMVpMKmRTKWBib0Z5dD1ha1J7MEVLU1EKQXRO
O0syCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21w
b3NpdGluZy9iYWNrZmFjZS12aXNpYmlsaXR5LWhpZXJhcmNoaWNhbC10cmFuc2Zvcm0tZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYmFja2ZhY2UtdmlzaWJpbGl0eS1oaWVy
YXJjaGljYWwtdHJhbnNmb3JtLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMDc1NDkyOWU0ZjYx
ZGVkODVhNjBmNTgxNTc0MmM5ODJkOGRkMjI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvYmFja2ZhY2UtdmlzaWJpbGl0eS1oaWVyYXJjaGljYWwtdHJhbnNmb3Jt
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACitUaGlzIHRlc3QgaXMgb25seSB1c2VmdWwgYXMg
YSBwaXhlbCB0ZXN0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9iYWNrZmFj
ZS12aXNpYmlsaXR5LWhpZXJhcmNoaWNhbC10cmFuc2Zvcm0uaHRtbCBiL0xheW91dFRlc3RzL2Nv
bXBvc2l0aW5nL2JhY2tmYWNlLXZpc2liaWxpdHktaGllcmFyY2hpY2FsLXRyYW5zZm9ybS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjg0YTI1YmI0ZDY1YzA4YmRlM2ZlZjZkMzU4ZjYzMDQ3M2ZiZmY1NTgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9iYWNrZmFjZS12aXNpYmls
aXR5LWhpZXJhcmNoaWNhbC10cmFuc2Zvcm0uaHRtbApAQCAtMCwwICsxLDk1IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9
InNjcmVlbiI+CisgICAgZGl2IHsKKyAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICB3aWR0aDog
MTAwcHg7CisgICAgfQorCisgICAgLnJlZCB7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJl
ZDsKKyAgICB9CisKKyAgICAuZ3JlZW4geworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVl
bjsKKyAgICB9CisKKyAgICAudGVzdDFsb2NhdGlvbiB7CisgICAgICAgIHBvc2l0aW9uOiBhYnNv
bHV0ZTsKKyAgICAgICAgdG9wOiAxMHB4OworICAgICAgICBsZWZ0OiAxMHB4OworICAgIH0KKwor
ICAgIC50ZXN0MmxvY2F0aW9uIHsKKyAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAg
ICB0b3A6IDEyMHB4OworICAgICAgICBsZWZ0OiAxMHB4OworICAgIH0KKworICAgIC5wcmVzZXJ2
ZXMzZCB7CisgICAgICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7CisgICAg
fQorCisgICAgLmZpcnN0UmVuZGVyU3VyZmFjZSB7CisgICAgICAtd2Via2l0LXRyYW5zZm9ybTog
cm90YXRlWSgxODBkZWcpOworICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IGZsYXQ7Cisg
ICAgfQorCisgICAgLnNlY29uZFJlbmRlclN1cmZhY2UgeworICAgICAgLXdlYmtpdC10cmFuc2Zv
cm06IHJvdGF0ZVkoMGRlZyk7CisgICAgICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogZmxhdDsK
KyAgICB9CisKKyAgICAuYmFja2ZhY2VWaXNpYmxlIHsKKyAgICAgIC13ZWJraXQtYmFja2ZhY2Ut
dmlzaWJpbGl0eTogdmlzaWJsZTsKKyAgICB9CisKKyAgICAuYmFja2ZhY2VIaWRkZW4geworICAg
ICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CisgICAgfQorICA8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+CisKKyAgPCEtLSBJbiB0aGUgcGl4ZWwgcmVzdWx0cywgdHdvIGdy
ZWVuIHNxdWFyZXMgc2hvdWxkIGJlIHZpc2libGUuIC0tPgorICA8IS0tIFRoaXMgdGVzdHMgd2hl
dGhlciBiYWNrZmFjZSBjdWxsaW5nIGlzIGFjY291bnRpbmcgZm9yIHRoZSBoaWVyYXJjaHkgb2Yg
dHJhbnNmb3JtcyAtLT4KKworICA8ZGl2IGNsYXNzPSJ0ZXN0MWxvY2F0aW9uIHJlZCI+CisgIDwv
ZGl2PgorICA8ZGl2IGNsYXNzPSJ0ZXN0MWxvY2F0aW9uIj4KKyAgICA8ZGl2IGNsYXNzPSJwcmVz
ZXJ2ZXMzZCI+CisgICAgICA8ZGl2IGNsYXNzPSJmaXJzdFJlbmRlclN1cmZhY2UiPgorICAgICAg
ICA8ZGl2IGNsYXNzPSJwcmVzZXJ2ZXMzZCI+CisgICAgICAgICAgPGRpdiBjbGFzcz0ic2Vjb25k
UmVuZGVyU3VyZmFjZSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcmVzZXJ2ZXMzZCBiYWNr
ZmFjZVZpc2libGUgZ3JlZW4iPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgPC9kaXY+
CisgICAgICAgIDwvZGl2PgorICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgIDwvZGl2PgorCisg
IDxkaXYgY2xhc3M9InRlc3QybG9jYXRpb24gZ3JlZW4iPgorICA8L2Rpdj4KKyAgPGRpdiBjbGFz
cz0idGVzdDJsb2NhdGlvbiI+CisgICAgPGRpdiBjbGFzcz0icHJlc2VydmVzM2QiPgorICAgICAg
PGRpdiBjbGFzcz0iZmlyc3RSZW5kZXJTdXJmYWNlIj4KKyAgICAgICAgPGRpdiBjbGFzcz0icHJl
c2VydmVzM2QiPgorICAgICAgICAgIDxkaXYgY2xhc3M9InNlY29uZFJlbmRlclN1cmZhY2UiPgor
ICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJlc2VydmVzM2QgYmFja2ZhY2VIaWRkZW4gcmVkIj4K
KyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAg
ICAgIDwvZGl2PgorICAgIDwvZGl2PgorICA8L2Rpdj4KKworICA8c2NyaXB0PgorICBpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVt
cEFzVGV4dCh0cnVlKTsgIC8vIFRoaXMgaXMgb25seSB1c2VmdWwgYXMgYSBwaXhlbCB0ZXN0Lgor
ICAgIGRvY3VtZW50LndyaXRlKCI8c3BhbiBzdHlsZT0ncG9zaXRpb246YWJzb2x1dGU7IHRvcDot
NTAwMHB4Jz5UaGlzIHRlc3QgaXMgb25seSB1c2VmdWwgYXMgYSBwaXhlbCB0ZXN0PC9zcGFuPiIp
OworICB9CisgIDwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGE4Mjhj
ZWMwMDMyMzE3NDcxYTdhOGIxODcxZTUzYmUxYzVmYjE2M2YuLjljOTkxOGRjODhkZTkwMDMyMTg1
NGNmNmE3NGI0Nzc3NDU2N2JlNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMiBAQAorMjAxMS0w
OC0xOCAgU2hhd24gU2luZ2ggIDxzaGF3bnNpbmdoQGNocm9taXVtLm9yZz4KKworICAgICAgICBD
b21wdXRpbmcgc2NyZWVuLXNwYWNlIHRyYW5zZm9ybSBmb3IgTGF5ZXJDaHJvbWl1bSBhbmQgQ0NM
YXllckltcGwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTY2MTE0CisKKyAgICAgICAgQWRkZWQgYSBkYXRhIG1lbWJlciB0byBMYXllckNocm9taXVtIGFu
ZCBDQ0xheWVySW1wbCB0aGF0IGhvbGRzCisgICAgICAgIHRoZSBzY3JlZW4tc3BhY2UgdHJhbnNm
b3JtLiAgIFRoZSB0cmFuc2Zvcm0gaXMgY29tcHV0ZWQgaW4KKyAgICAgICAgY2FsY3VsYXRlRHJh
d1RyYW5zZm9ybXNBbmRWaXNpYmlsaXR5KCksIHdoaWNoIGlzIHVzZWQgZHVyaW5nCisgICAgICAg
IHVwZGF0aW5nIChMYXllckNocm9taXVtKSBhbmQgZHJhd2luZyAoQ0NMYXllckltcGwpLgorCisg
ICAgICAgIEFsc28gZml4ZWQgYSBGSVhNRSBpbiBMYXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdM
YXllciwgd2hpY2gKKyAgICAgICAgd2FzIG5vdCBjb21wdXRpbmcgdGhlIGVudGlyZSBoaWVyYXJj
aHkgb2YgdHJhbnNmb3JtcyB0byBkZXRlcm1pbmUKKyAgICAgICAgYmFjay1mYWNlIHZpc2liaWxp
dHkuICBOb3cgaXQgc2ltcGx5IHVzZXMgdGhlIHdvcmxkIHNwYWNlIHRyYW5zZm9ybS4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBjb21wb3Np
dGluZy9iYWNrZmFjZS12aXNpYmlsaXR5LWhpZXJhcmNoaWNhbC10cmFuc2Zvcm0uaHRtbAorCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5oOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5ZXJDaHJvbWl1bTo6c2NyZWVuU3BhY2VUcmFuc2Zvcm0pOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5ZXJDaHJvbWl1bTo6c2V0U2NyZWVuU3BhY2VUcmFuc2Zvcm0pOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hyb21pdW06OnVwZGF0ZUxh
eWVycyk6CisgICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdMYXll
cnNJbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hyb21pdW06OmRy
YXdMYXllcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXll
ckltcGwuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJJbXBsOjpzY3JlZW5TcGFjZVRyYW5z
Zm9ybSk6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVySW1wbDo6c2V0U2NyZWVuU3BhY2VUcmFu
c2Zvcm0pOgorCiAyMDExLTA4LTE2ICBKb3NlcGggUGVjb3Jhcm8gIDxqb2VwZWNrQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCBDaHJvbWl1bSBXaW5kb3dzIGJ1aWxkIGZpeCBhZnRl
ciByOTMxNDAuIFRha2UgNC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uaAppbmRleCBjYTJiNjQxNzM3MDA2Yjdm
ZWMyMjJjNTUxNWFjZjAyMDJhODBkNTFkLi4xMWEyM2EwZmU1ZTZlYjJkMmJkNDIwNGJlMTE1YjVm
NzBiZDJjNDkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9MYXllckNocm9taXVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5oCkBAIC0xOTksNiArMTk5LDggQEAgcHVibGlj
OgogICAgIHZvaWQgc2V0VGFyZ2V0UmVuZGVyU3VyZmFjZShSZW5kZXJTdXJmYWNlQ2hyb21pdW0q
IHN1cmZhY2UpIHsgbV90YXJnZXRSZW5kZXJTdXJmYWNlID0gc3VyZmFjZTsgfQogICAgIGNvbnN0
IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBkcmF3VHJhbnNmb3JtKCkgY29uc3QgeyByZXR1cm4gbV9k
cmF3VHJhbnNmb3JtOyB9CiAgICAgdm9pZCBzZXREcmF3VHJhbnNmb3JtKGNvbnN0IFRyYW5zZm9y
bWF0aW9uTWF0cml4JiBtYXRyaXgpIHsgbV9kcmF3VHJhbnNmb3JtID0gbWF0cml4OyB9CisgICAg
Y29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIHNjcmVlblNwYWNlVHJhbnNmb3JtKCkgY29uc3Qg
eyByZXR1cm4gbV9zY3JlZW5TcGFjZVRyYW5zZm9ybTsgfQorICAgIHZvaWQgc2V0U2NyZWVuU3Bh
Y2VUcmFuc2Zvcm0oY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIG1hdHJpeCkgeyBtX3NjcmVl
blNwYWNlVHJhbnNmb3JtID0gbWF0cml4OyB9CiAgICAgY29uc3QgSW50UmVjdCYgZHJhd2FibGVD
b250ZW50UmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fZHJhd2FibGVDb250ZW50UmVjdDsgfQogICAg
IHZvaWQgc2V0RHJhd2FibGVDb250ZW50UmVjdChjb25zdCBJbnRSZWN0JiByZWN0KSB7IG1fZHJh
d2FibGVDb250ZW50UmVjdCA9IHJlY3Q7IH0KIApAQCAtMjg5LDYgKzI5MSw3IEBAIHByaXZhdGU6
CiAgICAgSW50UmVjdCBtX3NjaXNzb3JSZWN0OwogICAgIFJlbmRlclN1cmZhY2VDaHJvbWl1bSog
bV90YXJnZXRSZW5kZXJTdXJmYWNlOwogICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IG1fZHJhd1Ry
YW5zZm9ybTsKKyAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBtX3NjcmVlblNwYWNlVHJhbnNmb3Jt
OwogICAgIEludFJlY3QgbV9kcmF3YWJsZUNvbnRlbnRSZWN0OwogCiAgICAgU3RyaW5nIG1fbmFt
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwCmluZGV4IGQwMDQ3MmY2MWQz
ZTZiYjg2N2NmZWQyYjc0ZDA5MzhjYTc1NDgwMGQuLjYzNjA0Y2M3MWJjNWJkZGI0NmU1M2I1ZTky
ZmE3ZjBkY2IyNDg5MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcApA
QCAtMTI5LDcgKzEyOSw3IEBAIHZvaWQgc29ydExheWVycyhWZWN0b3I8UmVmUHRyPENDTGF5ZXJJ
bXBsPiA+OjppdGVyYXRvciBmaXJzdCwgVmVjdG9yPFJlZlB0cjxDQ0xhCiAvLyBSZWN1cnNpdmVs
eSB3YWxrcyB0aGUgbGF5ZXIgdHJlZSBzdGFydGluZyBhdCB0aGUgZ2l2ZW4gbm9kZSBhbmQgY29t
cHV0ZXMgYWxsIHRoZQogLy8gbmVjZXNzYXJ5IHRyYW5zZm9ybWF0aW9ucywgc2Npc3NvciByZWN0
YW5nbGVzLCByZW5kZXIgc3VyZmFjZXMsIGV0Yy4KIHRlbXBsYXRlPHR5cGVuYW1lIExheWVyVHlw
ZSwgdHlwZW5hbWUgUmVuZGVyU3VyZmFjZVR5cGUsIHR5cGVuYW1lIExheWVyU29ydGVyPgotdm9p
ZCBjYWxjdWxhdGVEcmF3VHJhbnNmb3Jtc0FuZFZpc2liaWxpdHkoTGF5ZXJUeXBlKiBsYXllciwg
TGF5ZXJUeXBlKiByb290TGF5ZXIsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBwYXJlbnRN
YXRyaXgsIFZlY3RvcjxSZWZQdHI8TGF5ZXJUeXBlPiA+JiByZW5kZXJTdXJmYWNlTGF5ZXJMaXN0
LCBWZWN0b3I8UmVmUHRyPExheWVyVHlwZT4gPiYgbGF5ZXJMaXN0LCBMYXllclNvcnRlciogbGF5
ZXJTb3J0ZXIsIGludCBtYXhUZXh0dXJlU2l6ZSkKK3ZvaWQgY2FsY3VsYXRlRHJhd1RyYW5zZm9y
bXNBbmRWaXNpYmlsaXR5KExheWVyVHlwZSogbGF5ZXIsIExheWVyVHlwZSogcm9vdExheWVyLCBj
b25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgcGFyZW50TWF0cml4LCBjb25zdCBUcmFuc2Zvcm1h
dGlvbk1hdHJpeCYgZnVsbEhpZXJhcmNoeU1hdHJpeCwgVmVjdG9yPFJlZlB0cjxMYXllclR5cGU+
ID4mIHJlbmRlclN1cmZhY2VMYXllckxpc3QsIFZlY3RvcjxSZWZQdHI8TGF5ZXJUeXBlPiA+JiBs
YXllckxpc3QsIExheWVyU29ydGVyKiBsYXllclNvcnRlciwgaW50IG1heFRleHR1cmVTaXplKQog
ewogICAgIHR5cGVkZWYgVmVjdG9yPFJlZlB0cjxMYXllclR5cGU+ID4gTGF5ZXJMaXN0OwogICAg
IC8vIENvbXB1dGUgdGhlIG5ldyBtYXRyaXggdHJhbnNmb3JtYXRpb24gdGhhdCB3aWxsIGJlIGFw
cGxpZWQgdG8gdGhpcyBsYXllciBhbmQKQEAgLTE3Miw2ICsxNzIsMTAgQEAgdm9pZCBjYWxjdWxh
dGVEcmF3VHJhbnNmb3Jtc0FuZFZpc2liaWxpdHkoTGF5ZXJUeXBlKiBsYXllciwgTGF5ZXJUeXBl
KiByb290TGF5ZXIKICAgICBGbG9hdFJlY3QgbGF5ZXJSZWN0KC0wLjUgKiBsYXllci0+Ym91bmRz
KCkud2lkdGgoKSwgLTAuNSAqIGxheWVyLT5ib3VuZHMoKS5oZWlnaHQoKSwgbGF5ZXItPmJvdW5k
cygpLndpZHRoKCksIGxheWVyLT5ib3VuZHMoKS5oZWlnaHQoKSk7CiAgICAgSW50UmVjdCB0cmFu
c2Zvcm1lZExheWVyUmVjdDsKIAorICAgIC8vIGZ1bGxIaWVyYXJjaHlNYXRyaXggaXMgdGhlIG1h
dHJpeCB0aGF0IHRyYW5zZm9ybXMgb2JqZWN0cyBiZXR3ZWVuIHNjcmVlbiBzcGFjZSAoZXhjZXB0
IHByb2plY3Rpb24gbWF0cml4KSBhbmQgdGhlIG1vc3QgcmVjZW50IFJlbmRlclN1cmZhY2UncyBz
cGFjZS4KKyAgICAvLyBuZXh0SGllcmFyY2h5TWF0cml4IHdpbGwgb25seSBjaGFuZ2UgaWYgdGhp
cyBsYXllciB1c2VzIGEgbmV3IFJlbmRlclN1cmZhY2UsIG90aGVyd2lzZSByZW1haW5zIHRoZSBz
YW1lLgorICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IG5leHRIaWVyYXJjaHlNYXRyaXggPSBmdWxs
SGllcmFyY2h5TWF0cml4OworCiAgICAgLy8gRklYTUU6IFRoaXMgc2VlbXMgbGlrZSB0aGUgd3Jv
bmcgcGxhY2UgdG8gc2V0IHRoaXMKICAgICBsYXllci0+c2V0VXNlc0xheWVyU2Npc3NvcihmYWxz
ZSk7CiAKQEAgLTIxMyw2ICsyMTcsOSBAQCB2b2lkIGNhbGN1bGF0ZURyYXdUcmFuc2Zvcm1zQW5k
VmlzaWJpbGl0eShMYXllclR5cGUqIGxheWVyLCBMYXllclR5cGUqIHJvb3RMYXllcgogICAgICAg
ICBsYXllck9yaWdpblRyYW5zZm9ybS50cmFuc2xhdGUzZCgtMC41ICogYm91bmRzLndpZHRoKCks
IC0wLjUgKiBib3VuZHMuaGVpZ2h0KCksIDApOwogICAgICAgICByZW5kZXJTdXJmYWNlLT5zZXRP
cmlnaW5UcmFuc2Zvcm0obGF5ZXJPcmlnaW5UcmFuc2Zvcm0pOwogCisgICAgICAgIC8vIFVwZGF0
ZSB0aGUgYWdncmVnYXRlIGhpZXJhcmNoeSBtYXRyaXggdG8gaW5jbHVkZSB0aGUgdHJhbnNmb3Jt
IG9mIHRoZSBuZXdseSBjcmVhdGVkIFJlbmRlclN1cmZhY2UuCisgICAgICAgIG5leHRIaWVyYXJj
aHlNYXRyaXgubXVsdGlwbHkobGF5ZXJPcmlnaW5UcmFuc2Zvcm0pOworCiAgICAgICAgIC8vIFRo
ZSByZW5kZXIgc3VyZmFjZSBzY2lzc29yIHJlY3QgaXMgdGhlIHNjaXNzb3IgcmVjdCB0aGF0IG5l
ZWRzIHRvCiAgICAgICAgIC8vIGJlIGFwcGxpZWQgYmVmb3JlIGRyYXdpbmcgdGhlIHJlbmRlciBz
dXJmYWNlIG9udG8gaXRzIGNvbnRhaW5pbmcKICAgICAgICAgLy8gc3VyZmFjZSBhbmQgaXMgdGhl
cmVmb3JlIGV4cHJlc3NlZCBpbiB0aGUgcGFyZW50J3MgY29vcmRpbmF0ZSBzeXN0ZW0uCkBAIC0y
NjEsNiArMjY4LDE0IEBAIHZvaWQgY2FsY3VsYXRlRHJhd1RyYW5zZm9ybXNBbmRWaXNpYmlsaXR5
KExheWVyVHlwZSogbGF5ZXIsIExheWVyVHlwZSogcm9vdExheWVyCiAgICAgICAgIH0KICAgICB9
CiAKKyAgICAvLyBOb3RlIHRoYXQgYXQgdGhpcyBwb2ludCwgbGF5ZXItPmRyYXdUcmFuc2Zvcm0o
KSBpcyBub3QgbmVjZXNzYXJpbHkgdGhlIHNhbWUgYXMgbG9jYWwgdmFyaWFibGUgZHJhd1RyYW5z
Zm9ybS4KKyAgICAvLyBsYXllclNjcmVlblNwYWNlVHJhbnNmb3JtIHJlcHJlc2VudHMgdGhlIHRy
YW5zZm9ybSBiZXR3ZWVuIGxheWVyIHNwYWNlIChpbiBwaXhlbHMpIGFuZCBzY3JlZW4gc3BhY2Uu
CisgICAgLy8gU28gd2UgZG8gbm90IGluY2x1ZGUgcHJvamVjdGlvbiBQIG9yIHNjYWxpbmcgdHJh
bnNmb3JtIFMgKHNlZSBjb21tZW50cyBhYm92ZSB0aGF0IGRlc2NyaWJlIFAqTSpTKS4KKyAgICBU
cmFuc2Zvcm1hdGlvbk1hdHJpeCBsYXllclNjcmVlblNwYWNlVHJhbnNmb3JtID0gbmV4dEhpZXJh
cmNoeU1hdHJpeDsKKyAgICBsYXllclNjcmVlblNwYWNlVHJhbnNmb3JtLm11bHRpcGx5KGxheWVy
LT5kcmF3VHJhbnNmb3JtKCkpOworICAgIGxheWVyU2NyZWVuU3BhY2VUcmFuc2Zvcm0udHJhbnNs
YXRlM2QoLTAuNSAqIGJvdW5kcy53aWR0aCgpLCAtMC41ICogYm91bmRzLmhlaWdodCgpLCAwKTsK
KyAgICBsYXllci0+c2V0U2NyZWVuU3BhY2VUcmFuc2Zvcm0obGF5ZXJTY3JlZW5TcGFjZVRyYW5z
Zm9ybSk7CisKICAgICBpZiAobGF5ZXItPnJlbmRlclN1cmZhY2UoKSkKICAgICAgICAgbGF5ZXIt
PnNldFRhcmdldFJlbmRlclN1cmZhY2UobGF5ZXItPnJlbmRlclN1cmZhY2UoKSk7CiAgICAgZWxz
ZSB7CkBAIC0zMDYsNyArMzIxLDcgQEAgdm9pZCBjYWxjdWxhdGVEcmF3VHJhbnNmb3Jtc0FuZFZp
c2liaWxpdHkoTGF5ZXJUeXBlKiBsYXllciwgTGF5ZXJUeXBlKiByb290TGF5ZXIKIAogICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgbGF5ZXItPmNoaWxkcmVuKCkuc2l6ZSgpOyArK2kpIHsKICAg
ICAgICAgTGF5ZXJUeXBlKiBjaGlsZCA9IGxheWVyLT5jaGlsZHJlbigpW2ldLmdldCgpOwotICAg
ICAgICBjYWxjdWxhdGVEcmF3VHJhbnNmb3Jtc0FuZFZpc2liaWxpdHk8TGF5ZXJUeXBlLCBSZW5k
ZXJTdXJmYWNlVHlwZSwgTGF5ZXJTb3J0ZXI+KGNoaWxkLCByb290TGF5ZXIsIHN1YmxheWVyTWF0
cml4LCByZW5kZXJTdXJmYWNlTGF5ZXJMaXN0LCBkZXNjZW5kYW50cywgbGF5ZXJTb3J0ZXIsIG1h
eFRleHR1cmVTaXplKTsKKyAgICAgICAgY2FsY3VsYXRlRHJhd1RyYW5zZm9ybXNBbmRWaXNpYmls
aXR5PExheWVyVHlwZSwgUmVuZGVyU3VyZmFjZVR5cGUsIExheWVyU29ydGVyPihjaGlsZCwgcm9v
dExheWVyLCBzdWJsYXllck1hdHJpeCwgbmV4dEhpZXJhcmNoeU1hdHJpeCwgcmVuZGVyU3VyZmFj
ZUxheWVyTGlzdCwgZGVzY2VuZGFudHMsIGxheWVyU29ydGVyLCBtYXhUZXh0dXJlU2l6ZSk7CiAK
ICAgICAgICAgaWYgKGNoaWxkLT5yZW5kZXJTdXJmYWNlKCkpIHsKICAgICAgICAgICAgIFJlbmRl
clN1cmZhY2VUeXBlKiBjaGlsZFJlbmRlclN1cmZhY2UgPSBjaGlsZC0+cmVuZGVyU3VyZmFjZSgp
OwpAQCAtNjM5LDcgKzY1NCw3IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjp1cGRhdGVM
YXllcnMoTGF5ZXJDaHJvbWl1bSogcm9vdExheWVyKQogCiAgICAgewogICAgICAgICBUUkFDRV9F
VkVOVCgiTGF5ZXJSZW5kZXJlckNocm9taXVtOjp1cGRhdGVMYXllcnM6OmNhbGNEcmF3RXRjIiwg
dGhpcywgMCk7Ci0gICAgICAgIGNhbGN1bGF0ZURyYXdUcmFuc2Zvcm1zQW5kVmlzaWJpbGl0eTxM
YXllckNocm9taXVtLCBSZW5kZXJTdXJmYWNlQ2hyb21pdW0sIHZvaWQqPihyb290TGF5ZXIsIHJv
b3RMYXllciwgaWRlbnRpdHlNYXRyaXgsIHJlbmRlclN1cmZhY2VMYXllckxpc3QsIHJvb3RSZW5k
ZXJTdXJmYWNlLT5sYXllckxpc3QoKSwgMCwgbV9tYXhUZXh0dXJlU2l6ZSk7CisgICAgICAgIGNh
bGN1bGF0ZURyYXdUcmFuc2Zvcm1zQW5kVmlzaWJpbGl0eTxMYXllckNocm9taXVtLCBSZW5kZXJT
dXJmYWNlQ2hyb21pdW0sIHZvaWQqPihyb290TGF5ZXIsIHJvb3RMYXllciwgaWRlbnRpdHlNYXRy
aXgsIGlkZW50aXR5TWF0cml4LCByZW5kZXJTdXJmYWNlTGF5ZXJMaXN0LCByb290UmVuZGVyU3Vy
ZmFjZS0+bGF5ZXJMaXN0KCksIDAsIG1fbWF4VGV4dHVyZVNpemUpOwogICAgIH0KIAogI2lmbmRl
ZiBOREVCVUcKQEAgLTc3OCw3ICs3OTMsNyBAQCB2b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6
ZHJhd0xheWVyc0ludGVybmFsKCkKIAogICAgIHsKICAgICAgICAgVFJBQ0VfRVZFTlQoIkxheWVy
UmVuZGVyZXJDaHJvbWl1bTo6ZHJhd0xheWVyc0ludGVybmFsOjpjYWxjRHJhd0V0YyIsIHRoaXMs
IDApOwotICAgICAgICBjYWxjdWxhdGVEcmF3VHJhbnNmb3Jtc0FuZFZpc2liaWxpdHk8Q0NMYXll
ckltcGwsIENDUmVuZGVyU3VyZmFjZSwgQ0NMYXllclNvcnRlcj4ocm9vdERyYXdMYXllciwgcm9v
dERyYXdMYXllciwgaWRlbnRpdHlNYXRyaXgsIHJlbmRlclN1cmZhY2VMYXllckxpc3QsIG1fZGVm
YXVsdFJlbmRlclN1cmZhY2UtPmxheWVyTGlzdCgpLCAmbV9sYXllclNvcnRlciwgbV9tYXhUZXh0
dXJlU2l6ZSk7CisgICAgICAgIGNhbGN1bGF0ZURyYXdUcmFuc2Zvcm1zQW5kVmlzaWJpbGl0eTxD
Q0xheWVySW1wbCwgQ0NSZW5kZXJTdXJmYWNlLCBDQ0xheWVyU29ydGVyPihyb290RHJhd0xheWVy
LCByb290RHJhd0xheWVyLCBpZGVudGl0eU1hdHJpeCwgaWRlbnRpdHlNYXRyaXgsIHJlbmRlclN1
cmZhY2VMYXllckxpc3QsIG1fZGVmYXVsdFJlbmRlclN1cmZhY2UtPmxheWVyTGlzdCgpLCAmbV9s
YXllclNvcnRlciwgbV9tYXhUZXh0dXJlU2l6ZSk7CiAgICAgfQogCiAgICAgLy8gVGhlIEdMIHZp
ZXdwb3J0IGNvdmVycyB0aGUgZW50aXJlIHZpc2libGUgYXJlYSwgaW5jbHVkaW5nIHRoZSBzY3Jv
bGxiYXJzLgpAQCAtMTA2NSwxOCArMTA4MCwxMSBAQCB2b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1
bTo6ZHJhd0xheWVyKENDTGF5ZXJJbXBsKiBsYXllciwgQ0NSZW5kZXJTdXJmYWNlKiB0YXJnZQog
ICAgIH0gZWxzZQogICAgICAgICBHTEMobV9jb250ZXh0LmdldCgpLCBtX2NvbnRleHQtPmRpc2Fi
bGUoR3JhcGhpY3NDb250ZXh0M0Q6OlNDSVNTT1JfVEVTVCkpOwogCisgICAgLy8gVGhlIGxheWVy
IHNob3VsZCBub3QgYmUgZHJhd24gaWYgKDEpIGl0IGlzIG5vdCBkb3VibGUtc2lkZWQgYW5kICgy
KSB0aGUgYmFjayBvZiB0aGUgbGF5ZXIgaXMgZmFjaW5nIHRoZSBzY3JlZW4uCisgICAgLy8gVGhp
cyBzZWNvbmQgY29uZGl0aW9uIGlzIGNoZWNrZWQgYnkgY29tcHV0aW5nIHRoZSB0cmFuc2Zvcm1l
ZCBub3JtYWwgb2YgdGhlIGxheWVyLgogICAgIGlmICghbGF5ZXItPmRvdWJsZVNpZGVkKCkpIHsK
LSAgICAgICAgLy8gRklYTUU6IE5lZWQgdG8gdGFrZSBpbnRvIGFjY291bnQgdGhlIGN1bXVsYXRp
dmUgcmVuZGVyIHN1cmZhY2UgdHJhbnNmb3JtcyBhbGwgdGhlIHdheSBmcm9tCi0gICAgICAgIC8v
ICAgICAgICB0aGUgZGVmYXVsdCByZW5kZXIgc3VyZmFjZSBpbiBvcmRlciB0byBkZXRlcm1pbmUg
dmlzaWJpbGl0eS4KLSAgICAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggY29tYmluZWREcmF3TWF0
cml4OwotICAgICAgICBpZiAobGF5ZXItPnRhcmdldFJlbmRlclN1cmZhY2UoKSkgewotICAgICAg
ICAgICAgY29tYmluZWREcmF3TWF0cml4ID0gbGF5ZXItPnRhcmdldFJlbmRlclN1cmZhY2UoKS0+
ZHJhd1RyYW5zZm9ybSgpOwotICAgICAgICAgICAgY29tYmluZWREcmF3TWF0cml4Lm11bHRpcGx5
KGxheWVyLT5kcmF3VHJhbnNmb3JtKCkpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIGNv
bWJpbmVkRHJhd01hdHJpeCA9IGxheWVyLT5kcmF3VHJhbnNmb3JtKCk7Ci0KICAgICAgICAgRmxv
YXRSZWN0IGxheWVyUmVjdChGbG9hdFBvaW50KDAsIDApLCBGbG9hdFNpemUobGF5ZXItPmJvdW5k
cygpKSk7Ci0gICAgICAgIEZsb2F0UXVhZCBtYXBwZWRMYXllciA9IGNvbWJpbmVkRHJhd01hdHJp
eC5tYXBRdWFkKEZsb2F0UXVhZChsYXllclJlY3QpKTsKKyAgICAgICAgRmxvYXRRdWFkIG1hcHBl
ZExheWVyID0gbGF5ZXItPnNjcmVlblNwYWNlVHJhbnNmb3JtKCkubWFwUXVhZChGbG9hdFF1YWQo
bGF5ZXJSZWN0KSk7CiAgICAgICAgIEZsb2F0U2l6ZSBob3Jpem9udGFsRGlyID0gbWFwcGVkTGF5
ZXIucDIoKSAtIG1hcHBlZExheWVyLnAxKCk7CiAgICAgICAgIEZsb2F0U2l6ZSB2ZXJ0aWNhbERp
ciA9IG1hcHBlZExheWVyLnA0KCkgLSBtYXBwZWRMYXllci5wMSgpOwogICAgICAgICBGbG9hdFBv
aW50M0QgeEF4aXMoaG9yaXpvbnRhbERpci53aWR0aCgpLCBob3Jpem9udGFsRGlyLmhlaWdodCgp
LCAwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDTGF5ZXJJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ0xheWVySW1wbC5oCmluZGV4IGZmZDdhYTRmYjI2NmUwZjg2OTQzNDE1NGU3
MTYwZmQ1MWYzOWNjNDkuLjI4Zjc4MzgyYTZjNzVkNmMxOGYxMzY3MWFjMzAwODY0NmEzMmEwZDIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDTGF5ZXJJbXBsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NMYXllckltcGwuaApAQCAtMTUyLDYgKzE1Miw4IEBAIHB1YmxpYzoKIAogICAg
IGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBkcmF3VHJhbnNmb3JtKCkgY29uc3QgeyByZXR1
cm4gbV9kcmF3VHJhbnNmb3JtOyB9CiAgICAgdm9pZCBzZXREcmF3VHJhbnNmb3JtKGNvbnN0IFRy
YW5zZm9ybWF0aW9uTWF0cml4JiBtYXRyaXgpIHsgbV9kcmF3VHJhbnNmb3JtID0gbWF0cml4OyB9
CisgICAgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIHNjcmVlblNwYWNlVHJhbnNmb3JtKCkg
Y29uc3QgeyByZXR1cm4gbV9zY3JlZW5TcGFjZVRyYW5zZm9ybTsgfQorICAgIHZvaWQgc2V0U2Ny
ZWVuU3BhY2VUcmFuc2Zvcm0oY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIG1hdHJpeCkgeyBt
X3NjcmVlblNwYWNlVHJhbnNmb3JtID0gbWF0cml4OyB9CiAgICAgY29uc3QgSW50UmVjdCYgZHJh
d2FibGVDb250ZW50UmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fZHJhd2FibGVDb250ZW50UmVjdDsg
fQogICAgIHZvaWQgc2V0RHJhd2FibGVDb250ZW50UmVjdChjb25zdCBJbnRSZWN0JiByZWN0KSB7
IG1fZHJhd2FibGVDb250ZW50UmVjdCA9IHJlY3Q7IH0KIApAQCAtMjE4LDYgKzIyMCw3IEBAIHBy
aXZhdGU6CiAgICAgZmxvYXQgbV9kZWJ1Z0JvcmRlcldpZHRoOwogCiAgICAgVHJhbnNmb3JtYXRp
b25NYXRyaXggbV9kcmF3VHJhbnNmb3JtOworICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IG1fc2Ny
ZWVuU3BhY2VUcmFuc2Zvcm07CiAKICAgICAvLyBUaGUgc2Npc3NvciByZWN0YW5nbGUgdGhhdCBz
aG91bGQgYmUgdXNlZCB3aGVuIHRoaXMgbGF5ZXIgaXMgZHJhd24uCiAgICAgLy8gSW5oZXJpdGVk
IGJ5IHRoZSBwYXJlbnQgbGF5ZXIgYW5kIGZ1cnRoZXIgcmVzdHJpY3RlZCBpZiB0aGlzIGxheWVy
IG1hc2tzCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>