<?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>15457</bug_id>
          
          <creation_ts>2007-10-10 15:14:41 -0700</creation_ts>
          <short_desc>Realplayer plugin does not work correctly if the OBJECT tags defined with the &quot;DATA&quot; attribute has a URI</short_desc>
          <delta_ts>2009-06-28 04:12:06 -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>Plug-ins</component>
          <version>523.x (Safari 3)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.mozilla.org/quality/browser/front-end/testcases/plugins/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>PlatformOnly</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anantha Keesara">anantha</reporter>
          <assigned_to name="Eric Seidel (no email)">eric</assigned_to>
          <cc>andersca</cc>
    
    <cc>jam</cc>
    
    <cc>webkit</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>58258</commentid>
    <comment_count>0</comment_count>
    <who name="Anantha Keesara">anantha</who>
    <bug_when>2007-10-10 15:14:41 -0700</bug_when>
    <thetext>The Realplayer plugin does not work correctly for
the following URLs.
http://www.mozilla.org/quality/browser/front-end/testcases/plugins/ra3.html
http://www.mozilla.org/quality/browser/front-end/testcases/plugins/ra4.html
http://www.mozilla.org/quality/browser/front-end/testcases/plugins/ra2.html

The issue occurs for OBJECT tags defined with the &quot;DATA&quot; attribute which contains a URI.

&lt;object data=&quot;http://www.wrn.org/audio/kol_eng1.ram&quot;
  type=&quot;audio/x-pn-realaudio-plugin&quot; width=&quot;300&quot; height=&quot;120&quot; autostart=&quot;true&quot;&gt;
    &lt;param name=&quot;controls&quot; value=&quot;default&quot;&gt;
    Audio
&lt;/object&gt;

This works in Firefox and it seems like it adds an additional &quot;SRC&quot; attribute to the list of parameters
passed to the plugin. This attribute contains the same URI as that in the &quot;DATA&quot; attribute.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>82821</commentid>
    <comment_count>1</comment_count>
    <who name="Robert Blaut">webkit</who>
    <bug_when>2008-06-10 04:55:40 -0700</bug_when>
    <thetext>I can confirm the bug as PlatformOnly. The bug is visible only on Windows with RealPlayer 11. Safari for Mac OS X works fine with all of the above mentioned test cases. </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124281</commentid>
    <comment_count>2</comment_count>
      <attachid>30940</attachid>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2009-06-04 02:42:12 -0700</bug_when>
    <thetext>Created attachment 30940
Fix

Fix follows what we&apos;ve been doing in Chrome, and what Firefox does as well (see http://mxr.mozilla.org/mozilla-central/source/layout/generic/nsObjectFrame.cpp#3045)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124623</commentid>
    <comment_count>3</comment_count>
      <attachid>30940</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-06 01:12:05 -0700</bug_when>
    <thetext>Comment on attachment 30940
Fix

Shouldn&apos;t we only do this hack for a specific set of plugins?

I would think this code should also be moved into a static function and then only called for that set of plugins which need it.

mapDataParamToSrc() or something.

Also we have a caseInsensitiveEqual which doesn&apos;t copy the string like lower() does.

single line ifs don&apos;t get { } in WK style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124854</commentid>
    <comment_count>4</comment_count>
      <attachid>30940</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-08 17:49:19 -0700</bug_when>
    <thetext>Comment on attachment 30940
Fix

r- for my above nits.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124888</commentid>
    <comment_count>5</comment_count>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2009-06-08 21:37:19 -0700</bug_when>
    <thetext>Eric: thanks for the review, comments:

&gt; Shouldn&apos;t we only do this hack for a specific set of plugins?

Firefox does it for all plugins (and Chrome has done it likewise since launch).  Since I don&apos;t know what other old plugins are done this way, I&apos;d prefer to leave as is.  I think if it had caused any problems, FF would have changed it.

&gt; Also we have a caseInsensitiveEqual which doesn&apos;t copy the string like lower() does.

I can&apos;t find this function?  The only thing I found is stringIsCaseInsensitiveEqualToString but that&apos;s in WebCore\platform\mac\WebCoreNSStringExtras.h.

&gt; single line ifs don&apos;t get { } in WK style.

done</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124889</commentid>
    <comment_count>6</comment_count>
      <attachid>31082</attachid>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2009-06-08 21:39:13 -0700</bug_when>
    <thetext>Created attachment 31082
Took out brace brakets</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124891</commentid>
    <comment_count>7</comment_count>
      <attachid>31082</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2009-06-08 22:07:29 -0700</bug_when>
    <thetext>Comment on attachment 31082
Took out brace brakets

I do not think that this is the way to go - What if other plug-ins are confused if they see both a src and a data attribute. I&apos;m not sure what the bug is here - does this affect Firefox? Is it Windows only? Couldn&apos;t you just put this workaround in the chrome specific frame loader client?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124914</commentid>
    <comment_count>8</comment_count>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2009-06-09 01:28:55 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 31082 [review])
&gt; I do not think that this is the way to go - What if other plug-ins are confused
&gt; if they see both a src and a data attribute. I&apos;m not sure what the bug is here

The bug is that some pages are written with data=url attribute, instead of src=url.

&gt; - does this affect Firefox? 

No, because Firefox does the renaming which this patch follows from.

&gt; Is it Windows only? 

I only saw this on Windows, although Firefox does this on all platforms (see the link above to the Firefox source).

&gt; Couldn&apos;t you just put this
&gt; workaround in the chrome specific frame loader client?

That&apos;s what we have now to fix the problem in Chrome, but I thought moving it to WebKit code would benefit all ports.  These pages don&apos;t render correctly on WebKit browsers unless they add this code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124918</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-09 01:38:57 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Eric: thanks for the review, comments:
&gt; 
&gt; &gt; Shouldn&apos;t we only do this hack for a specific set of plugins?
&gt; 
&gt; Firefox does it for all plugins (and Chrome has done it likewise since launch).
&gt;  Since I don&apos;t know what other old plugins are done this way, I&apos;d prefer to
&gt; leave as is.  I think if it had caused any problems, FF would have changed it.

Agreed, we should match FF here.

&gt; &gt; Also we have a caseInsensitiveEqual which doesn&apos;t copy the string like lower() does.
&gt; 
&gt; I can&apos;t find this function?  The only thing I found is
&gt; stringIsCaseInsensitiveEqualToString but that&apos;s in
&gt; WebCore\platform\mac\WebCoreNSStringExtras.h.

Yeah, I meant &quot;equalIgnoringCase&quot;, I just couldn&apos;t remember the name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124919</commentid>
    <comment_count>10</comment_count>
      <attachid>31082</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-09 01:47:33 -0700</bug_when>
    <thetext>Comment on attachment 31082
Took out brace brakets

I don&apos;t fully understand Anders comment above since you already seem to have answered at least one of his questions in comment 5 and comment 2.

I still think this would read better if the code was broken out into a static function something like:
static  void mapDataToSrcForOldPlugins(Vector&lt;String&gt;&amp; paramNames, Vector&lt;String&gt;&amp; paramValues)
{ ... }

I&apos;m not sure if .lower() or equalIgnoringCase is faster.  equalIgnoringCase does avoid the allocation caused by lower() though.

Having looked at the FF source and read your additional comments, I agree, we should make this change.  You should consider referencing the FF source in your ChangeLog.

We still need a reply from Anders, but I&apos;m ready to r+ this otherwise.  I&apos;d love to see a new patch w/ the nits fixed, but otherwise this is ready to go.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124989</commentid>
    <comment_count>11</comment_count>
      <attachid>31102</attachid>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2009-06-09 11:56:56 -0700</bug_when>
    <thetext>Created attachment 31102
Updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124990</commentid>
    <comment_count>12</comment_count>
      <attachid>31102</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-09 12:05:45 -0700</bug_when>
    <thetext>Comment on attachment 31102
Updated patch

This looks good to me.  Anders, please feel free to r- this if you&apos;re still opposed.  As far as I can tell jam&apos;s change makes us match firefox.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125018</commentid>
    <comment_count>13</comment_count>
      <attachid>31102</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-09 14:55:50 -0700</bug_when>
    <thetext>Comment on attachment 31102
Updated patch

Actually, it should be possible to make a test case for this, no?

We&apos;d put the test case under platform/win I expect, or maybe we&apos;d just skip it on the Mac.  But we should be able to make a simple layout test which confirms this is fixed, no?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125059</commentid>
    <comment_count>14</comment_count>
      <attachid>31120</attachid>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2009-06-09 18:00:25 -0700</bug_when>
    <thetext>Created attachment 31120
Added regression test

I spent half a day on this, but it doesn&apos;t look like layout tests are runnable on Windows at the moment.  I&apos;ve verified what I can by running the plugin dll in the browser and tracing through the plugin.  I don&apos;t have a mac (one on order), so I couldn&apos;t build and verify that this test passes.  Can you verify that the test passes for you on Windows?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125061</commentid>
    <comment_count>15</comment_count>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2009-06-09 18:00:48 -0700</bug_when>
    <thetext>oops, I meant &quot;verify it works for you on Mac&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125062</commentid>
    <comment_count>16</comment_count>
      <attachid>31121</attachid>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2009-06-09 18:06:40 -0700</bug_when>
    <thetext>Created attachment 31121
Fixed misspelling.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125078</commentid>
    <comment_count>17</comment_count>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2009-06-09 19:10:58 -0700</bug_when>
    <thetext>btw here&apos;s the companion change to chromium: http://codereview.chromium.org/118486

I was able to successfully run the layout test there on Windows.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125214</commentid>
    <comment_count>18</comment_count>
      <attachid>31121</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-10 14:40:31 -0700</bug_when>
    <thetext>Comment on attachment 31121
Fixed misspelling.

You did more than what I had expected.  I figured you&apos;d just add a test which used realplayer.

That said, I think I would change this a little bit to just store off the parameters to that JS can access them later.  that way we can test things like param ordering too. :)

I&apos;ll fix up the test some when I land this for you later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126292</commentid>
    <comment_count>19</comment_count>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2009-06-16 14:31:04 -0700</bug_when>
    <thetext>ping?  I think this patch is ready to check in, since it&apos;s independent of checking for order of parameters.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126403</commentid>
    <comment_count>20</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-17 00:16:16 -0700</bug_when>
    <thetext>Agreed.  Sorry for the holdup.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126957</commentid>
    <comment_count>21</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2009-06-19 10:22:53 -0700</bug_when>
    <thetext>I went to land this but the changelogs haven&apos;t been filled out for LayoutTests and WebKitTools</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127049</commentid>
    <comment_count>22</comment_count>
      <attachid>31567</attachid>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2009-06-19 15:54:06 -0700</bug_when>
    <thetext>Created attachment 31567
added missing ChangeLogs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>128560</commentid>
    <comment_count>23</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-26 14:14:57 -0700</bug_when>
    <thetext>Transfered review flag to newest patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>128730</commentid>
    <comment_count>24</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-28 03:32:03 -0700</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	LayoutTests/ChangeLog
	A	LayoutTests/plugins/netscape-plugin-map-data-to-src-expected.txt
	A	LayoutTests/plugins/netscape-plugin-map-data-to-src.html
	M	WebCore/ChangeLog
	M	WebCore/rendering/RenderPartObject.cpp
	M	WebKitTools/ChangeLog
	M	WebKitTools/DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp
	M	WebKitTools/DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h
	M	WebKitTools/DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp
	M	WebKitTools/DumpRenderTree/win/TestNetscapePlugin/main.cpp
Committed r45324
http://trac.webkit.org/changeset/45324</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>128731</commentid>
    <comment_count>25</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-28 04:12:06 -0700</bug_when>
    <thetext>Sorry that took so long.  In the end, I did not make any modifications to the posted patch.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30940</attachid>
            <date>2009-06-04 02:42:12 -0700</date>
            <delta_ts>2009-06-08 21:39:13 -0700</delta_ts>
            <desc>Fix</desc>
            <filename>objecttag.txt</filename>
            <type>text/plain</type>
            <size>1816</size>
            <attacher name="John Abd-El-Malek">jam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NDQxMSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMDktMDYtMDQgIEpvaG4gQWJkLUVsLU1hbGVrICA8amFtQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU0NTcKKworICAgICAg
ICBGaXggcHJvYmxlbXMgd2l0aCBSZWFsIG9yIFdNUCBwbHVnaW5zIG5vdCBkaXNwbGF5aW5nIGJl
Y2F1c2UgImRhdGEiIHdhcworICAgICAgICBzZXQgb24gdGhlIE9CSkVDVCB0YWcgaW5zdGVhZCBv
ZiAic3JjIi4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJQYXJ0T2JqZWN0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclBhcnRPYmplY3Q6OnVwZGF0ZVdpZGdldCk6CisKIDIwMDkt
MDYtMDQgIExhc3psbyBHb21ib3MgIDxsYXN6bG8uMS5nb21ib3NAbm9raWEuY29tPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IEFyaXlhIEhpZGF5YXQuCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJQYXJ0T2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJQYXJ0T2JqZWN0LmNwcAkocmV2aXNpb24gNDQ0MTEpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJQYXJ0T2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjM4LDYgKzIzOCwyMiBAQCB2
b2lkIFJlbmRlclBhcnRPYmplY3Q6OnVwZGF0ZVdpZGdldChib29sCiAgICAgICAgICAgICB9CiAg
ICAgICAgIH0KIAorICAgICAgICAvLyBTb21lIHBsdWdpbnMgZG9uJ3QgdW5kZXJzdGFuZCB0aGUg
ImRhdGEiIGF0dHJpYnV0ZSBvZiB0aGUgT0JKRUNUIHRhZyAoaS5lLiBSZWFsIGFuZCBXTVAKKyAg
ICAgICAgLy8gcmVxdWlyZSAic3JjIiBhdHRyaWJ1dGUpLgorICAgICAgICBpbnQgc3JjSW5kZXgg
PSAtMSwgZGF0YUluZGV4ID0gLTE7CisgICAgICAgIGZvciAodW5zaWduZWQgaW50IGkgPSAwOyBp
IDwgcGFyYW1OYW1lcy5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgU3RyaW5nIHBhcmFtTmFt
ZSA9IHBhcmFtTmFtZXNbaV0ubG93ZXIoKTsKKyAgICAgICAgICAgIGlmIChwYXJhbU5hbWUgPT0g
InNyYyIpIHsKKyAgICAgICAgICAgICAgICBzcmNJbmRleCA9IGk7CisgICAgICAgICAgICB9IGVs
c2UgaWYgKHBhcmFtTmFtZSA9PSAiZGF0YSIpIHsKKyAgICAgICAgICAgICAgICBkYXRhSW5kZXgg
PSBpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGlmIChzcmNJbmRleCA9PSAt
MSAmJiBkYXRhSW5kZXggIT0gLTEpIHsKKyAgICAgICAgICAgIHBhcmFtTmFtZXMuYXBwZW5kKCJz
cmMiKTsKKyAgICAgICAgICAgIHBhcmFtVmFsdWVzLmFwcGVuZChwYXJhbVZhbHVlc1tkYXRhSW5k
ZXhdKTsKKyAgICAgICAgfQorCiAgICAgICAgIC8vIElmIHdlIHN0aWxsIGRvbid0IGhhdmUgYSB0
eXBlLCB0cnkgdG8gbWFwIGZyb20gYSBzcGVjaWZpYyBDTEFTU0lEIHRvIGEgdHlwZS4KICAgICAg
ICAgaWYgKHNlcnZpY2VUeXBlLmlzRW1wdHkoKSkKICAgICAgICAgICAgIHNlcnZpY2VUeXBlID0g
c2VydmljZVR5cGVGb3JDbGFzc0lkKG8tPmNsYXNzSWQoKSwgcGx1Z2luRGF0YSk7Cg==
</data>
<flag name="review"
          id="15731"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>31082</attachid>
            <date>2009-06-08 21:39:13 -0700</date>
            <delta_ts>2009-06-09 11:56:56 -0700</delta_ts>
            <desc>Took out brace brakets</desc>
            <filename>objecttag2.txt</filename>
            <type>text/plain</type>
            <size>1795</size>
            <attacher name="John Abd-El-Malek">jam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NDQxMSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMDktMDYtMDQgIEpvaG4gQWJkLUVsLU1hbGVrICA8amFtQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU0NTcKKworICAgICAg
ICBGaXggcHJvYmxlbXMgd2l0aCBSZWFsIG9yIFdNUCBwbHVnaW5zIG5vdCBkaXNwbGF5aW5nIGJl
Y2F1c2UgImRhdGEiIHdhcworICAgICAgICBzZXQgb24gdGhlIE9CSkVDVCB0YWcgaW5zdGVhZCBv
ZiAic3JjIi4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJQYXJ0T2JqZWN0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclBhcnRPYmplY3Q6OnVwZGF0ZVdpZGdldCk6CisKIDIwMDkt
MDYtMDQgIExhc3psbyBHb21ib3MgIDxsYXN6bG8uMS5nb21ib3NAbm9raWEuY29tPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IEFyaXlhIEhpZGF5YXQuCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJQYXJ0T2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJQYXJ0T2JqZWN0LmNwcAkocmV2aXNpb24gNDQ0MTEpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJQYXJ0T2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjM4LDYgKzIzOCwyMSBAQCB2
b2lkIFJlbmRlclBhcnRPYmplY3Q6OnVwZGF0ZVdpZGdldChib29sCiAgICAgICAgICAgICB9CiAg
ICAgICAgIH0KIAorICAgICAgICAvLyBTb21lIHBsdWdpbnMgZG9uJ3QgdW5kZXJzdGFuZCB0aGUg
ImRhdGEiIGF0dHJpYnV0ZSBvZiB0aGUgT0JKRUNUIHRhZyAoaS5lLiBSZWFsIGFuZCBXTVAKKyAg
ICAgICAgLy8gcmVxdWlyZSAic3JjIiBhdHRyaWJ1dGUpLgorICAgICAgICBpbnQgc3JjSW5kZXgg
PSAtMSwgZGF0YUluZGV4ID0gLTE7CisgICAgICAgIGZvciAodW5zaWduZWQgaW50IGkgPSAwOyBp
IDwgcGFyYW1OYW1lcy5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgU3RyaW5nIHBhcmFtTmFt
ZSA9IHBhcmFtTmFtZXNbaV0ubG93ZXIoKTsKKyAgICAgICAgICAgIGlmIChwYXJhbU5hbWUgPT0g
InNyYyIpCisgICAgICAgICAgICAgICAgc3JjSW5kZXggPSBpOworICAgICAgICAgICAgZWxzZSBp
ZiAocGFyYW1OYW1lID09ICJkYXRhIikKKyAgICAgICAgICAgICAgICBkYXRhSW5kZXggPSBpOwor
ICAgICAgICB9CisgICAgICAgIGlmIChzcmNJbmRleCA9PSAtMSAmJiBkYXRhSW5kZXggIT0gLTEp
IHsKKyAgICAgICAgICAgIHBhcmFtTmFtZXMuYXBwZW5kKCJzcmMiKTsKKyAgICAgICAgICAgIHBh
cmFtVmFsdWVzLmFwcGVuZChwYXJhbVZhbHVlc1tkYXRhSW5kZXhdKTsKKyAgICAgICAgfQorCiAg
ICAgICAgIC8vIElmIHdlIHN0aWxsIGRvbid0IGhhdmUgYSB0eXBlLCB0cnkgdG8gbWFwIGZyb20g
YSBzcGVjaWZpYyBDTEFTU0lEIHRvIGEgdHlwZS4KICAgICAgICAgaWYgKHNlcnZpY2VUeXBlLmlz
RW1wdHkoKSkKICAgICAgICAgICAgIHNlcnZpY2VUeXBlID0gc2VydmljZVR5cGVGb3JDbGFzc0lk
KG8tPmNsYXNzSWQoKSwgcGx1Z2luRGF0YSk7Cg==
</data>
<flag name="review"
          id="15834"
          type_id="1"
          status="-"
          setter="andersca"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>31102</attachid>
            <date>2009-06-09 11:56:56 -0700</date>
            <delta_ts>2009-06-09 18:00:25 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>objecttag3.txt</filename>
            <type>text/plain</type>
            <size>2189</size>
            <attacher name="John Abd-El-Malek">jam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NDUzOSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMDktMDYtMDQgIEpvaG4gQWJkLUVsLU1hbGVrICA8amFtQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU0NTcKKworICAgICAg
ICBGaXggcHJvYmxlbXMgd2l0aCBSZWFsIG9yIFdNUCBwbHVnaW5zIG5vdCBkaXNwbGF5aW5nIGJl
Y2F1c2UgImRhdGEiIHdhcyBzZXQKKyAgICAgICAgb24gdGhlIE9CSkVDVCB0YWcgaW5zdGVhZCBv
ZiAic3JjIi4gIFRoaXMgaXMgYmFzZWQgb24gd2hhdCBGaXJlZm94IGRvZXMsIHNlZQorICAgICAg
ICBodHRwOi8vbXhyLm1vemlsbGEub3JnL21vemlsbGEtY2VudHJhbC9zb3VyY2UvbGF5b3V0L2dl
bmVyaWMvbnNPYmplY3RGcmFtZS5jcHAjMzA0NQorCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyUGFydE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQYXJ0T2JqZWN0Ojp1
cGRhdGVXaWRnZXQpOgorCiAyMDA5LTA2LTA5ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KSW5kZXg6IFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclBhcnRPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclBhcnRPYmplY3QuY3BwCShyZXZpc2lvbiA0NDUzOSkKKysrIFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclBhcnRPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDIs
NiArMTQyLDI0IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzaG91bGRVc2VFbWJlZERlc2NlbmQKICNl
bmRpZgogfQogCitzdGF0aWMgdm9pZCBtYXBEYXRhUGFyYW1Ub1NyYyhWZWN0b3I8U3RyaW5nPiog
cGFyYW1OYW1lcywgVmVjdG9yPFN0cmluZz4qIHBhcmFtVmFsdWVzKQoreworICAgIC8vIFNvbWUg
cGx1Z2lucyBkb24ndCB1bmRlcnN0YW5kIHRoZSAiZGF0YSIgYXR0cmlidXRlIG9mIHRoZSBPQkpF
Q1QgdGFnIChpLmUuIFJlYWwgYW5kIFdNUAorICAgIC8vIHJlcXVpcmUgInNyYyIgYXR0cmlidXRl
KS4KKyAgICBpbnQgc3JjSW5kZXggPSAtMSwgZGF0YUluZGV4ID0gLTE7CisgICAgZm9yICh1bnNp
Z25lZCBpbnQgaSA9IDA7IGkgPCBwYXJhbU5hbWVzLT5zaXplKCk7ICsraSkgeworICAgICAgICBp
ZiAoZXF1YWxJZ25vcmluZ0Nhc2UoKCpwYXJhbU5hbWVzKVtpXSwgInNyYyIpKQorICAgICAgICAg
ICAgc3JjSW5kZXggPSBpOworICAgICAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZSgoKnBh
cmFtTmFtZXMpW2ldLCAiZGF0YSIpKQorICAgICAgICAgICAgZGF0YUluZGV4ID0gaTsKKyAgICB9
CisKKyAgICBpZiAoc3JjSW5kZXggPT0gLTEgJiYgZGF0YUluZGV4ICE9IC0xKSB7CisgICAgICAg
IHBhcmFtTmFtZXMtPmFwcGVuZCgic3JjIik7CisgICAgICAgIHBhcmFtVmFsdWVzLT5hcHBlbmQo
KCpwYXJhbVZhbHVlcylbZGF0YUluZGV4XSk7CisgICAgfQorfQorCiB2b2lkIFJlbmRlclBhcnRP
YmplY3Q6OnVwZGF0ZVdpZGdldChib29sIG9ubHlDcmVhdGVOb25OZXRzY2FwZVBsdWdpbnMpCiB7
CiAgICAgU3RyaW5nIHVybDsKQEAgLTIzOCw2ICsyNTYsOCBAQCB2b2lkIFJlbmRlclBhcnRPYmpl
Y3Q6OnVwZGF0ZVdpZGdldChib29sCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAorICAgICAg
ICBtYXBEYXRhUGFyYW1Ub1NyYygmcGFyYW1OYW1lcywgJnBhcmFtVmFsdWVzKTsKKwogICAgICAg
ICAvLyBJZiB3ZSBzdGlsbCBkb24ndCBoYXZlIGEgdHlwZSwgdHJ5IHRvIG1hcCBmcm9tIGEgc3Bl
Y2lmaWMgQ0xBU1NJRCB0byBhIHR5cGUuCiAgICAgICAgIGlmIChzZXJ2aWNlVHlwZS5pc0VtcHR5
KCkpCiAgICAgICAgICAgICBzZXJ2aWNlVHlwZSA9IHNlcnZpY2VUeXBlRm9yQ2xhc3NJZChvLT5j
bGFzc0lkKCksIHBsdWdpbkRhdGEpOwo=
</data>
<flag name="review"
          id="15846"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>31120</attachid>
            <date>2009-06-09 18:00:25 -0700</date>
            <delta_ts>2009-06-09 18:06:40 -0700</delta_ts>
            <desc>Added regression test</desc>
            <filename>objecttag4.txt</filename>
            <type>text/plain</type>
            <size>15192</size>
            <attacher name="John Abd-El-Malek">jam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NDU1MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTkgQEAKKzIwMDktMDYtMDkgIEpvaG4gQWJkLUVsLU1hbGVrICA8amFtQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU0NTcKKworICAgICAg
ICBUZXN0OiBwbHVnaW5zL25ldHNjYXBlLXBsdWdpbi1tYXAtZGF0YS10by1zcmMuaHRtbAorCisg
ICAgICAgIEZpeCBwcm9ibGVtcyB3aXRoIFJlYWwgb3IgV01QIHBsdWdpbnMgbm90IGRpc3BsYXlp
bmcgYmVjYXVzZSAiZGF0YSIgd2FzIHNldAorICAgICAgICBvbiB0aGUgT0JKRUNUIHRhZyBpbnN0
ZWFkIG9mICJzcmMiLiAgVGhpcyBpcyBiYXNlZCBvbiB3aGF0IEZpcmVmb3ggZG9lcywgc2VlCisg
ICAgICAgIGh0dHA6Ly9teHIubW96aWxsYS5vcmcvbW96aWxsYS1jZW50cmFsL3NvdXJjZS9sYXlv
dXQvZ2VuZXJpYy9uc09iamVjdEZyYW1lLmNwcCMzMDQ1CisKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyUGFydE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjptYXBEYXRhUGFyYW1Ub1Ny
Yyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQYXJ0T2JqZWN0Ojp1cGRhdGVXaWRnZXQpOgor
CiAyMDA5LTA2LTA5ICBLZXZpbiBPbGxpdmllciAgPGtldmlub0B0aGVvbGxpdmllcnMuY29tPgog
CiAgICAgICAgIHd4IGJ1aWxkIGZpeCwgYWRkaW5nIEpTQ29yZS9hc3NlbWJsZXIgdG8gdGhlIGxp
c3Qgb2YgaW5jbHVkZSBkaXJzLCBhbmQKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBh
cnRPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBhcnRP
YmplY3QuY3BwCShyZXZpc2lvbiA0NDU0NykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBh
cnRPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDIsNiArMTQyLDI0IEBAIHN0YXRpYyBp
bmxpbmUgYm9vbCBzaG91bGRVc2VFbWJlZERlc2NlbmQKICNlbmRpZgogfQogCitzdGF0aWMgdm9p
ZCBtYXBEYXRhUGFyYW1Ub1NyYyhWZWN0b3I8U3RyaW5nPiogcGFyYW1OYW1lcywgVmVjdG9yPFN0
cmluZz4qIHBhcmFtVmFsdWVzKQoreworICAgIC8vIFNvbWUgcGx1Z2lucyBkb24ndCB1bmRlcnN0
YW5kIHRoZSAiZGF0YSIgYXR0cmlidXRlIG9mIHRoZSBPQkpFQ1QgdGFnIChpLmUuIFJlYWwgYW5k
IFdNUAorICAgIC8vIHJlcXVpcmUgInNyYyIgYXR0cmlidXRlKS4KKyAgICBpbnQgc3JjSW5kZXgg
PSAtMSwgZGF0YUluZGV4ID0gLTE7CisgICAgZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBw
YXJhbU5hbWVzLT5zaXplKCk7ICsraSkgeworICAgICAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2Uo
KCpwYXJhbU5hbWVzKVtpXSwgInNyYyIpKQorICAgICAgICAgICAgc3JjSW5kZXggPSBpOworICAg
ICAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZSgoKnBhcmFtTmFtZXMpW2ldLCAiZGF0YSIp
KQorICAgICAgICAgICAgZGF0YUluZGV4ID0gaTsKKyAgICB9CisKKyAgICBpZiAoc3JjSW5kZXgg
PT0gLTEgJiYgZGF0YUluZGV4ICE9IC0xKSB7CisgICAgICAgIHBhcmFtTmFtZXMtPmFwcGVuZCgi
c3JjIik7CisgICAgICAgIHBhcmFtVmFsdWVzLT5hcHBlbmQoKCpwYXJhbVZhbHVlcylbZGF0YUlu
ZGV4XSk7CisgICAgfQorfQorCiB2b2lkIFJlbmRlclBhcnRPYmplY3Q6OnVwZGF0ZVdpZGdldChi
b29sIG9ubHlDcmVhdGVOb25OZXRzY2FwZVBsdWdpbnMpCiB7CiAgICAgU3RyaW5nIHVybDsKQEAg
LTIzOCw2ICsyNTYsOCBAQCB2b2lkIFJlbmRlclBhcnRPYmplY3Q6OnVwZGF0ZVdpZGdldChib29s
CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAorICAgICAgICBtYXBEYXRhUGFyYW1Ub1NyYygm
cGFyYW1OYW1lcywgJnBhcmFtVmFsdWVzKTsKKwogICAgICAgICAvLyBJZiB3ZSBzdGlsbCBkb24n
dCBoYXZlIGEgdHlwZSwgdHJ5IHRvIG1hcCBmcm9tIGEgc3BlY2lmaWMgQ0xBU1NJRCB0byBhIHR5
cGUuCiAgICAgICAgIGlmIChzZXJ2aWNlVHlwZS5pc0VtcHR5KCkpCiAgICAgICAgICAgICBzZXJ2
aWNlVHlwZSA9IHNlcnZpY2VUeXBlRm9yQ2xhc3NJZChvLT5jbGFzc0lkKCksIHBsdWdpbkRhdGEp
OwpJbmRleDogV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xz
L0NoYW5nZUxvZwkocmV2aXNpb24gNDQ1NTIpCisrKyBXZWJLaXRUb29scy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxOSBAQAorMjAwOS0wNi0wOSAgSm9obiBBYmQtRWwtTWFs
ZWsgIDxqYW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luLnN1YnBy
b2ovUGx1Z2luT2JqZWN0LmNwcDoKKyAgICAgICAgKHBsdWdpbkxvZyk6CisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luLnN1YnByb2ovUGx1Z2luT2JqZWN0Lmg6Cisg
ICAgICAgICogRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luLnN1YnByb2ovbWFpbi5j
cHA6CisgICAgICAgIChOUFBfTmV3KToKKyAgICAgICAgKE5QUF9EZXN0cm95KToKKyAgICAgICAg
KE5QUF9TZXRXaW5kb3cpOgorICAgICAgICAoaGFuZGxlRXZlbnRDYXJib24pOgorICAgICAgICAo
aGFuZGxlRXZlbnRDb2NvYSk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL1Rlc3ROZXRz
Y2FwZVBsdWdpbi9tYWluLmNwcDoKKyAgICAgICAgKE5QUF9OZXcpOgorCiAyMDA5LTA2LTA5ICBT
aW1vbiBIYXVzbWFubiAgPHNpbW9uLmhhdXNtYW5uQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBBcml5YSBIaWRheWF0LgpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
VGVzdE5ldHNjYXBlUGx1Z0luLnN1YnByb2ovUGx1Z2luT2JqZWN0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4uc3VicHJvai9Q
bHVnaW5PYmplY3QuY3BwCShyZXZpc2lvbiA0NDU0NykKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi5zdWJwcm9qL1BsdWdpbk9iamVjdC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTMzLDYgKzMzLDQ2IEBACiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVk
ZSA8c3RkbGliLmg+CiAKK3ZvaWQgcGx1Z2luTG9nKE5QUCBpbnN0YW5jZSwgY29uc3QgY2hhciog
Zm9ybWF0LCAuLi4pCit7CisgICAgdmFfbGlzdCBhcmdzOworICAgIHZhX3N0YXJ0KGFyZ3MsIGZv
cm1hdCk7CisgICAgY2hhciBtZXNzYWdlWzIwNDhdID0gIlBMVUdJTjogIjsKKyAgICB2c3ByaW50
ZihtZXNzYWdlICsgc3RybGVuKG1lc3NhZ2UpLCBmb3JtYXQsIGFyZ3MpOworICAgIHZhX2VuZChh
cmdzKTsKKworICAgIE5QT2JqZWN0KiB3aW5kb3dPYmplY3QgPSAwOworICAgIE5QRXJyb3IgZXJy
b3IgPSBicm93c2VyLT5nZXR2YWx1ZShpbnN0YW5jZSwgTlBOVldpbmRvd05QT2JqZWN0LCAmd2lu
ZG93T2JqZWN0KTsKKyAgICBpZiAoZXJyb3IgIT0gTlBFUlJfTk9fRVJST1IpIHsKKyAgICAgICAg
ZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gcmV0cmlldmUgd2luZG93IG9iamVjdCB3aGlsZSBs
b2dnaW5nOiAlc1xuIiwgbWVzc2FnZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBO
UFZhcmlhbnQgY29uc29sZVZhcmlhbnQ7CisgICAgaWYgKCFicm93c2VyLT5nZXRwcm9wZXJ0eShp
bnN0YW5jZSwgd2luZG93T2JqZWN0LCBicm93c2VyLT5nZXRzdHJpbmdpZGVudGlmaWVyKCJjb25z
b2xlIiksICZjb25zb2xlVmFyaWFudCkpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJGYWls
ZWQgdG8gcmV0cmlldmUgY29uc29sZSBvYmplY3Qgd2hpbGUgbG9nZ2luZzogJXNcbiIsIG1lc3Nh
Z2UpOworICAgICAgICBicm93c2VyLT5yZWxlYXNlb2JqZWN0KHdpbmRvd09iamVjdCk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBOUE9iamVjdCogY29uc29sZU9iamVjdCA9IE5QVkFS
SUFOVF9UT19PQkpFQ1QoY29uc29sZVZhcmlhbnQpOworCisgICAgTlBWYXJpYW50IG1lc3NhZ2VW
YXJpYW50OworICAgIFNUUklOR1pfVE9fTlBWQVJJQU5UKG1lc3NhZ2UsIG1lc3NhZ2VWYXJpYW50
KTsKKworICAgIE5QVmFyaWFudCByZXN1bHQ7CisgICAgaWYgKCFicm93c2VyLT5pbnZva2UoaW5z
dGFuY2UsIGNvbnNvbGVPYmplY3QsIGJyb3dzZXItPmdldHN0cmluZ2lkZW50aWZpZXIoImxvZyIp
LCAmbWVzc2FnZVZhcmlhbnQsIDEsICZyZXN1bHQpKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJy
LCAiRmFpbGVkIHRvIGludm9rZSBjb25zb2xlLmxvZyB3aGlsZSBsb2dnaW5nOiAlc1xuIiwgbWVz
c2FnZSk7CisgICAgICAgIGJyb3dzZXItPnJlbGVhc2VvYmplY3QoY29uc29sZU9iamVjdCk7Cisg
ICAgICAgIGJyb3dzZXItPnJlbGVhc2VvYmplY3Qod2luZG93T2JqZWN0KTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKworICAgIGJyb3dzZXItPnJlbGVhc2V2YXJpYW50dmFsdWUoJnJlc3VsdCk7
CisgICAgYnJvd3Nlci0+cmVsZWFzZW9iamVjdChjb25zb2xlT2JqZWN0KTsKKyAgICBicm93c2Vy
LT5yZWxlYXNlb2JqZWN0KHdpbmRvd09iamVjdCk7Cit9CisKIHN0YXRpYyB2b2lkIHBsdWdpbklu
dmFsaWRhdGUoTlBPYmplY3QqKTsKIHN0YXRpYyBib29sIHBsdWdpbkhhc1Byb3BlcnR5KE5QT2Jq
ZWN0KiwgTlBJZGVudGlmaWVyIG5hbWUpOwogc3RhdGljIGJvb2wgcGx1Z2luSGFzTWV0aG9kKE5Q
T2JqZWN0KiwgTlBJZGVudGlmaWVyIG5hbWUpOwpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luLnN1YnByb2ovUGx1Z2luT2JqZWN0LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luLnN1YnBy
b2ovUGx1Z2luT2JqZWN0LmgJKHJldmlzaW9uIDQ0NTQ3KQorKysgV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luLnN1YnByb2ovUGx1Z2luT2JqZWN0LmgJKHdvcmtp
bmcgY29weSkKQEAgLTUzLDMgKzUzLDQgQEAgZXh0ZXJuIE5QQ2xhc3MgKmdldFBsdWdpbkNsYXNz
KHZvaWQpOwogZXh0ZXJuIHZvaWQgaGFuZGxlQ2FsbGJhY2soUGx1Z2luT2JqZWN0KiBvYmplY3Qs
IGNvbnN0IGNoYXIgKnVybCwgTlBSZWFzb24gcmVhc29uLCB2b2lkICpub3RpZnlEYXRhKTsKIGV4
dGVybiB2b2lkIG5vdGlmeVN0cmVhbShQbHVnaW5PYmplY3QqIG9iamVjdCwgY29uc3QgY2hhciAq
dXJsLCBjb25zdCBjaGFyICpoZWFkZXJzKTsKIGV4dGVybiB2b2lkIHRlc3ROUFJ1bnRpbWUoTlBQ
IG5wcCk7CitleHRlcm4gdm9pZCBwbHVnaW5Mb2coTlBQIGluc3RhbmNlLCBjb25zdCBjaGFyKiBm
b3JtYXQsIC4uLik7CkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2Nh
cGVQbHVnSW4uc3VicHJvai9tYWluLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4uc3VicHJvai9tYWluLmNwcAkocmV2aXNpb24g
NDQ1NDcpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4u
c3VicHJvai9tYWluLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjUsNDYgKzI1LDYgQEAKIAogI2lt
cG9ydCAiUGx1Z2luT2JqZWN0LmgiCiAKLXN0YXRpYyB2b2lkIGxvZyhOUFAgaW5zdGFuY2UsIGNv
bnN0IGNoYXIqIGZvcm1hdCwgLi4uKQotewotICAgIHZhX2xpc3QgYXJnczsKLSAgICB2YV9zdGFy
dChhcmdzLCBmb3JtYXQpOwotICAgIGNoYXIgbWVzc2FnZVsyMDQ4XSA9ICJQTFVHSU46ICI7Ci0g
ICAgdnNwcmludGYobWVzc2FnZSArIHN0cmxlbihtZXNzYWdlKSwgZm9ybWF0LCBhcmdzKTsKLSAg
ICB2YV9lbmQoYXJncyk7Ci0KLSAgICBOUE9iamVjdCogd2luZG93T2JqZWN0ID0gMDsKLSAgICBO
UEVycm9yIGVycm9yID0gYnJvd3Nlci0+Z2V0dmFsdWUoaW5zdGFuY2UsIE5QTlZXaW5kb3dOUE9i
amVjdCwgJndpbmRvd09iamVjdCk7Ci0gICAgaWYgKGVycm9yICE9IE5QRVJSX05PX0VSUk9SKSB7
Ci0gICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIHJldHJpZXZlIHdpbmRvdyBvYmpl
Y3Qgd2hpbGUgbG9nZ2luZzogJXNcbiIsIG1lc3NhZ2UpOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgTlBWYXJpYW50IGNvbnNvbGVWYXJpYW50OwotICAgIGlmICghYnJvd3Nlci0+Z2V0
cHJvcGVydHkoaW5zdGFuY2UsIHdpbmRvd09iamVjdCwgYnJvd3Nlci0+Z2V0c3RyaW5naWRlbnRp
ZmllcigiY29uc29sZSIpLCAmY29uc29sZVZhcmlhbnQpKSB7Ci0gICAgICAgIGZwcmludGYoc3Rk
ZXJyLCAiRmFpbGVkIHRvIHJldHJpZXZlIGNvbnNvbGUgb2JqZWN0IHdoaWxlIGxvZ2dpbmc6ICVz
XG4iLCBtZXNzYWdlKTsKLSAgICAgICAgYnJvd3Nlci0+cmVsZWFzZW9iamVjdCh3aW5kb3dPYmpl
Y3QpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgTlBPYmplY3QqIGNvbnNvbGVPYmpl
Y3QgPSBOUFZBUklBTlRfVE9fT0JKRUNUKGNvbnNvbGVWYXJpYW50KTsKLQotICAgIE5QVmFyaWFu
dCBtZXNzYWdlVmFyaWFudDsKLSAgICBTVFJJTkdaX1RPX05QVkFSSUFOVChtZXNzYWdlLCBtZXNz
YWdlVmFyaWFudCk7Ci0KLSAgICBOUFZhcmlhbnQgcmVzdWx0OwotICAgIGlmICghYnJvd3Nlci0+
aW52b2tlKGluc3RhbmNlLCBjb25zb2xlT2JqZWN0LCBicm93c2VyLT5nZXRzdHJpbmdpZGVudGlm
aWVyKCJsb2ciKSwgJm1lc3NhZ2VWYXJpYW50LCAxLCAmcmVzdWx0KSkgewotICAgICAgICBmcHJp
bnRmKHN0ZGVyciwgIkZhaWxlZCB0byBpbnZva2UgY29uc29sZS5sb2cgd2hpbGUgbG9nZ2luZzog
JXNcbiIsIG1lc3NhZ2UpOwotICAgICAgICBicm93c2VyLT5yZWxlYXNlb2JqZWN0KGNvbnNvbGVP
YmplY3QpOwotICAgICAgICBicm93c2VyLT5yZWxlYXNlb2JqZWN0KHdpbmRvd09iamVjdCk7Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBicm93c2VyLT5yZWxlYXNldmFyaWFudHZhbHVl
KCZyZXN1bHQpOwotICAgIGJyb3dzZXItPnJlbGVhc2VvYmplY3QoY29uc29sZU9iamVjdCk7Ci0g
ICAgYnJvd3Nlci0+cmVsZWFzZW9iamVjdCh3aW5kb3dPYmplY3QpOwotfQotCiAvLyBNYWNoLW8g
ZW50cnkgcG9pbnRzCiBleHRlcm4gIkMiIHsKICAgICBOUEVycm9yIE5QX0luaXRpYWxpemUoTlBO
ZXRzY2FwZUZ1bmNzICpicm93c2VyRnVuY3MpOwpAQCAtMTM3LDYgKzk3LDExIEBAIE5QRXJyb3Ig
TlBQX05ldyhOUE1JTUVUeXBlIHBsdWdpblR5cGUsIE4KICAgICAgICAgICAgIHRlc3ROUFJ1bnRp
bWUoaW5zdGFuY2UpOwogICAgICAgICBlbHNlIGlmIChzdHJjYXNlY21wKGFyZ25baV0sICJmb3Jj
ZWNhcmJvbiIpID09IDApCiAgICAgICAgICAgICBmb3JjZUNhcmJvbiA9IHRydWU7CisgICAgICAg
IGVsc2UgaWYgKHN0cmNhc2VjbXAoYXJnbltpXSwgImxvZ1NyYyIpID09IDApIHsKKyAgICAgICAg
ICAgIGZvciAoaW50IGkgPSAwOyBpIDwgYXJnYzsgaSsrKQorICAgICAgICAgICAgICAgIGlmIChz
dHJjYXNlY21wKGFyZ25baV0sICJzcmMiKSA9PSAwKQorICAgICAgICAgICAgICAgICAgICBwbHVn
aW5Mb2coaW5zdGFuY2UsICJzcmM6ICVzIiwgYXJndltpXSk7CisgICAgICAgIH0KICAgICB9CiAg
ICAgICAgIAogICAgIApAQCAtMTg0LDcgKzE0OSw3IEBAIE5QRXJyb3IgTlBQX0Rlc3Ryb3koTlBQ
IGluc3RhbmNlLCBOUFNhdmUKICAgICAgICAgICAgIGZyZWUob2JqLT5vblVSTE5vdGlmeSk7CiAg
ICAgICAgIAogICAgICAgICBpZiAob2JqLT5sb2dEZXN0cm95KQotICAgICAgICAgICAgbG9nKGlu
c3RhbmNlLCAiTlBQX0Rlc3Ryb3kiKTsKKyAgICAgICAgICAgIHBsdWdpbkxvZyhpbnN0YW5jZSwg
Ik5QUF9EZXN0cm95Iik7CiAKICAgICAgICAgYnJvd3Nlci0+cmVsZWFzZW9iamVjdCgmb2JqLT5o
ZWFkZXIpOwogICAgIH0KQEAgLTE5Nyw3ICsxNjIsNyBAQCBOUEVycm9yIE5QUF9TZXRXaW5kb3co
TlBQIGluc3RhbmNlLCBOUFdpCiAKICAgICBpZiAob2JqKSB7CiAgICAgICAgIGlmIChvYmotPmxv
Z1NldFdpbmRvdykgewotICAgICAgICAgICAgbG9nKGluc3RhbmNlLCAiTlBQX1NldFdpbmRvdzog
JWQgJWQiLCAoaW50KXdpbmRvdy0+d2lkdGgsIChpbnQpd2luZG93LT5oZWlnaHQpOworICAgICAg
ICAgICAgcGx1Z2luTG9nKGluc3RhbmNlLCAiTlBQX1NldFdpbmRvdzogJWQgJWQiLCAoaW50KXdp
bmRvdy0+d2lkdGgsIChpbnQpd2luZG93LT5oZWlnaHQpOwogICAgICAgICAgICAgb2JqLT5sb2dT
ZXRXaW5kb3cgPSBmYWxzZTsKICAgICAgICAgfQogICAgIH0KQEAgLTI3NiwyOSArMjQxLDI5IEBA
IHN0YXRpYyBpbnQxNl90IGhhbmRsZUV2ZW50Q2FyYm9uKE5QUCBpbnMKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICBjYXNlIG1vdXNlRG93bjoKICAgICAgICAgICAgIEdsb2JhbFRvTG9jYWwo
JnB0KTsKLSAgICAgICAgICAgIGxvZyhpbnN0YW5jZSwgIm1vdXNlRG93biBhdCAoJWQsICVkKSIs
IHB0LmgsIHB0LnYpOworICAgICAgICAgICAgcGx1Z2luTG9nKGluc3RhbmNlLCAibW91c2VEb3du
IGF0ICglZCwgJWQpIiwgcHQuaCwgcHQudik7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
Y2FzZSBtb3VzZVVwOgogICAgICAgICAgICAgR2xvYmFsVG9Mb2NhbCgmcHQpOwotICAgICAgICAg
ICAgbG9nKGluc3RhbmNlLCAibW91c2VVcCBhdCAoJWQsICVkKSIsIHB0LmgsIHB0LnYpOworICAg
ICAgICAgICAgcGx1Z2luTG9nKGluc3RhbmNlLCAibW91c2VVcCBhdCAoJWQsICVkKSIsIHB0Lmgs
IHB0LnYpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2Uga2V5RG93bjoKLSAgICAg
ICAgICAgIGxvZyhpbnN0YW5jZSwgImtleURvd24gJyVjJyIsIChjaGFyKShldmVudC0+bWVzc2Fn
ZSAmIDB4RkYpKTsKKyAgICAgICAgICAgIHBsdWdpbkxvZyhpbnN0YW5jZSwgImtleURvd24gJyVj
JyIsIChjaGFyKShldmVudC0+bWVzc2FnZSAmIDB4RkYpKTsKICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICBjYXNlIGtleVVwOgotICAgICAgICAgICAgbG9nKGluc3RhbmNlLCAia2V5VXAgJyVj
JyIsIChjaGFyKShldmVudC0+bWVzc2FnZSAmIDB4RkYpKTsKKyAgICAgICAgICAgIHBsdWdpbkxv
ZyhpbnN0YW5jZSwgImtleVVwICclYyciLCAoY2hhcikoZXZlbnQtPm1lc3NhZ2UgJiAweEZGKSk7
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBhdXRvS2V5OgotICAgICAgICAgICAg
bG9nKGluc3RhbmNlLCAiYXV0b0tleSAnJWMnIiwgKGNoYXIpKGV2ZW50LT5tZXNzYWdlICYgMHhG
RikpOworICAgICAgICAgICAgcGx1Z2luTG9nKGluc3RhbmNlLCAiYXV0b0tleSAnJWMnIiwgKGNo
YXIpKGV2ZW50LT5tZXNzYWdlICYgMHhGRikpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IGNhc2UgdXBkYXRlRXZ0OgotICAgICAgICAgICAgbG9nKGluc3RhbmNlLCAidXBkYXRlRXZ0Iik7
CisgICAgICAgICAgICBwbHVnaW5Mb2coaW5zdGFuY2UsICJ1cGRhdGVFdnQiKTsKICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICBjYXNlIGRpc2tFdnQ6Ci0gICAgICAgICAgICBsb2coaW5zdGFu
Y2UsICJkaXNrRXZ0Iik7CisgICAgICAgICAgICBwbHVnaW5Mb2coaW5zdGFuY2UsICJkaXNrRXZ0
Iik7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBhY3RpdmF0ZUV2dDoKLSAgICAg
ICAgICAgIGxvZyhpbnN0YW5jZSwgImFjdGl2YXRlRXZ0Iik7CisgICAgICAgICAgICBwbHVnaW5M
b2coaW5zdGFuY2UsICJhY3RpdmF0ZUV2dCIpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IGNhc2Ugb3NFdnQ6CiAgICAgICAgICAgICBwcmludGYoIlBMVUdJTjogb3NFdnQgLSAiKTsKQEAg
LTMxNCwyMCArMjc5LDIwIEBAIHN0YXRpYyBpbnQxNl90IGhhbmRsZUV2ZW50Q2FyYm9uKE5QUCBp
bnMKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIGtIaWdo
TGV2ZWxFdmVudDoKLSAgICAgICAgICAgIGxvZyhpbnN0YW5jZSwgImtIaWdoTGV2ZWxFdmVudCIp
OworICAgICAgICAgICAgcGx1Z2luTG9nKGluc3RhbmNlLCAia0hpZ2hMZXZlbEV2ZW50Iik7CiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgLy8gTlBBUEkgZXZlbnRzCiAgICAgICAgIGNhc2Ug
Z2V0Rm9jdXNFdmVudDoKLSAgICAgICAgICAgIGxvZyhpbnN0YW5jZSwgImdldEZvY3VzRXZlbnQi
KTsKKyAgICAgICAgICAgIHBsdWdpbkxvZyhpbnN0YW5jZSwgImdldEZvY3VzRXZlbnQiKTsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIGxvc2VGb2N1c0V2ZW50OgotICAgICAgICAg
ICAgbG9nKGluc3RhbmNlLCAibG9zZUZvY3VzRXZlbnQiKTsKKyAgICAgICAgICAgIHBsdWdpbkxv
ZyhpbnN0YW5jZSwgImxvc2VGb2N1c0V2ZW50Iik7CiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgY2FzZSBhZGp1c3RDdXJzb3JFdmVudDoKLSAgICAgICAgICAgIGxvZyhpbnN0YW5jZSwgImFk
anVzdEN1cnNvckV2ZW50Iik7CisgICAgICAgICAgICBwbHVnaW5Mb2coaW5zdGFuY2UsICJhZGp1
c3RDdXJzb3JFdmVudCIpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6Ci0g
ICAgICAgICAgICBsb2coaW5zdGFuY2UsICJldmVudCAlZCIsIGV2ZW50LT53aGF0KTsKKyAgICAg
ICAgICAgIHBsdWdpbkxvZyhpbnN0YW5jZSwgImV2ZW50ICVkIiwgZXZlbnQtPndoYXQpOwogICAg
IH0KICAgICAKICAgICByZXR1cm4gMDsKQEAgLTM0MSw5ICszMDYsOSBAQCBzdGF0aWMgaW50MTZf
dCBoYW5kbGVFdmVudENvY29hKE5QUCBpbnN0CiAgICAgICAgICAgICAKICAgICAgICAgY2FzZSBO
UENvY29hRXZlbnRGb2N1c0NoYW5nZWQ6CiAgICAgICAgICAgICBpZiAoZXZlbnQtPmRhdGEuZm9j
dXMuaGFzRm9jdXMpCi0gICAgICAgICAgICAgICAgbG9nKGluc3RhbmNlLCAiZ2V0Rm9jdXNFdmVu
dCIpOworICAgICAgICAgICAgICAgIHBsdWdpbkxvZyhpbnN0YW5jZSwgImdldEZvY3VzRXZlbnQi
KTsKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBsb2coaW5zdGFuY2UsICJsb3Nl
Rm9jdXNFdmVudCIpOworICAgICAgICAgICAgICAgIHBsdWdpbkxvZyhpbnN0YW5jZSwgImxvc2VG
b2N1c0V2ZW50Iik7CiAgICAgICAgICAgICByZXR1cm4gMTsKIAogICAgICAgICBjYXNlIE5QQ29j
b2FFdmVudERyYXdSZWN0OgpAQCAtMzU1LDEyICszMjAsMTIgQEAgc3RhdGljIGludDE2X3QgaGFu
ZGxlRXZlbnRDb2NvYShOUFAgaW5zdAogICAgICAgICAgICAgcmV0dXJuIDE7CiAKICAgICAgICAg
Y2FzZSBOUENvY29hRXZlbnRNb3VzZURvd246Ci0gICAgICAgICAgICBsb2coaW5zdGFuY2UsICJt
b3VzZURvd24gYXQgKCVkLCAlZCkiLCAKKyAgICAgICAgICAgIHBsdWdpbkxvZyhpbnN0YW5jZSwg
Im1vdXNlRG93biBhdCAoJWQsICVkKSIsIAogICAgICAgICAgICAgICAgICAgIChpbnQpZXZlbnQt
PmRhdGEubW91c2UucGx1Z2luWCwKICAgICAgICAgICAgICAgICAgICAoaW50KWV2ZW50LT5kYXRh
Lm1vdXNlLnBsdWdpblkpOwogICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgIGNhc2UgTlBD
b2NvYUV2ZW50TW91c2VVcDoKLSAgICAgICAgICAgIGxvZyhpbnN0YW5jZSwgIm1vdXNlVXAgYXQg
KCVkLCAlZCkiLCAKKyAgICAgICAgICAgIHBsdWdpbkxvZyhpbnN0YW5jZSwgIm1vdXNlVXAgYXQg
KCVkLCAlZCkiLCAKICAgICAgICAgICAgICAgICAgICAoaW50KWV2ZW50LT5kYXRhLm1vdXNlLnBs
dWdpblgsCiAgICAgICAgICAgICAgICAgICAgKGludClldmVudC0+ZGF0YS5tb3VzZS5wbHVnaW5Z
KTsKICAgICAgICAgICAgIHJldHVybiAxOwpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvd2luL1Rlc3ROZXRzY2FwZVBsdWdpbi9tYWluLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS93aW4vVGVzdE5ldHNjYXBlUGx1Z2luL21haW4uY3BwCShyZXZp
c2lvbiA0NDU0NykKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9UZXN0TmV0c2Nh
cGVQbHVnaW4vbWFpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg0LDYgKzg0LDExIEBAIE5QRXJy
b3IgTlBQX05ldyhOUE1JTUVUeXBlIHBsdWdpblR5cGUsIE4KICAgICAgICAgICAgICAgICBvYmot
Pm9uU3RyZWFtRGVzdHJveSA9IF9zdHJkdXAoYXJndltpXSk7CiAgICAgICAgICAgICBlbHNlIGlm
IChfc3RyaWNtcChhcmduW2ldLCAib25VUkxOb3RpZnkiKSA9PSAwICYmICFvYmotPm9uVVJMTm90
aWZ5KQogICAgICAgICAgICAgICAgIG9iai0+b25VUkxOb3RpZnkgPSBfc3RyZHVwKGFyZ3ZbaV0p
OworICAgICAgICAgICAgZWxzZSBpZiAoX3N0cmljbXAoYXJnbltpXSwgImxvZ1NyYyIpID09IDAp
IHsKKyAgICAgICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGFyZ2M7IGkrKykKKyAgICAg
ICAgICAgICAgICAgICAgaWYgKF9zdHJpY21wKGFyZ25baV0sICJzcmMiKSA9PSAwKQorICAgICAg
ICAgICAgICAgICAgICAgICAgcGx1Z2luTG9nKGluc3RhbmNlLCAic3JjOiAlcyIsIGFyZ3ZbaV0p
OworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBpbnN0YW5jZS0+
cGRhdGEgPSBvYmo7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA0NDU1MikKKysrIExheW91dFRlc3RzL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEwIEBACisyMDA5LTA2LTA5ICBKb2hu
IEFiZC1FbC1NYWxlayAgPGphbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbHVnaW5zL25ldHNjYXBlLXBsdWdpbi1tYXAt
ZGF0YS10by1zcmMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbHVnaW5zL25ldHNj
YXBlLXBsdWdpbi1tYXAtZGF0YS10by1zcmMuaHRtbDogQWRkZWQuCisKIDIwMDktMDYtMDkgIEJy
ZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIE5vIHJldmlldywg
YnVpbGQgZml4IG9ubHkuCkluZGV4OiBMYXlvdXRUZXN0cy9wbHVnaW5zL25ldHNjYXBlLXBsdWdp
bi1tYXAtZGF0YS10by1zcmMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsdWdpbnMvbmV0c2NhcGUtcGx1Z2luLW1hcC1kYXRhLXRvLXNyYy1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbHVnaW5zL25ldHNjYXBlLXBsdWdpbi1tYXAtZGF0
YS10by1zcmMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMgQEAKK0NPTlNP
TEUgTUVTU0FHRTogbGluZSAwOiBQTFVHSU46IHNyYzogYmxhaAorCitUaGlzIHRlc3RzIHRoYXQg
YW4gb2JqZWN0IHRhZyB3aXRoIGEgZGF0YSBhdHRyaWJ1dGUgZ2V0cyBhIHNyYyBhdHRyaWJ1dGUg
YXMgd2VsbC4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL3BsdWdpbnMvbmV0c2Nh
cGUtcGx1Z2luLW1hcC1kYXRhLXRvLXNyYy1leHBlY3RlZC50eHQKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOmV4ZWN1dGFibGUKICAgKyAqCgpJbmRleDogTGF5b3V0VGVzdHMvcGx1Z2lucy9uZXRzY2Fw
ZS1wbHVnaW4tbWFwLWRhdGEtdG8tc3JjLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGx1Z2lucy9uZXRzY2FwZS1wbHVnaW4tbWFwLWRhdGEtdG8tc3JjLmh0bWwJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9wbHVnaW5zL25ldHNjYXBlLXBsdWdpbi1tYXAtZGF0YS10by1zcmMu
aHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQ+CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworPC9zY3JpcHQ+Cis8Ym9keSBzdHlsZT0ibWFy
Z2luOjBweDtvdmVyZmxvdzpoaWRkZW4iPgorPG9iamVjdCBuYW1lPSJ0ZXN0UGx1Z2luIiB0eXBl
PSJhcHBsaWNhdGlvbi94LXdlYmtpdC10ZXN0LW5ldHNjYXBlIiBsb2dzcmM9InRydWUiIGRhdGE9
ImJsYWgiPgorPC9vYmplY3Q+Cis8ZGl2PgorICAgIFRoaXMgdGVzdHMgdGhhdCBhbiBvYmplY3Qg
dGFnIHdpdGggYSBkYXRhIGF0dHJpYnV0ZSBnZXRzIGEgc3JjIGF0dHJpYnV0ZSBhcyB3ZWxsLgor
PC9kaXY+Cis8Ym9keT4KKzwvaHRtbD4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L3BsdWdpbnMvbmV0c2NhcGUtcGx1Z2luLW1hcC1kYXRhLXRvLXNyYy5odG1sCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjpleGVjdXRhYmxlCiAgICsgKgoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>31121</attachid>
            <date>2009-06-09 18:06:40 -0700</date>
            <delta_ts>2009-06-26 14:14:36 -0700</delta_ts>
            <desc>Fixed misspelling.</desc>
            <filename>objecttag5.txt</filename>
            <type>text/plain</type>
            <size>15192</size>
            <attacher name="John Abd-El-Malek">jam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NDU1MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTkgQEAKKzIwMDktMDYtMDkgIEpvaG4gQWJkLUVsLU1hbGVrICA8amFtQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU0NTcKKworICAgICAg
ICBUZXN0OiBwbHVnaW5zL25ldHNjYXBlLXBsdWdpbi1tYXAtZGF0YS10by1zcmMuaHRtbAorCisg
ICAgICAgIEZpeCBwcm9ibGVtcyB3aXRoIFJlYWwgb3IgV01QIHBsdWdpbnMgbm90IGRpc3BsYXlp
bmcgYmVjYXVzZSAiZGF0YSIgd2FzIHNldAorICAgICAgICBvbiB0aGUgT0JKRUNUIHRhZyBpbnN0
ZWFkIG9mICJzcmMiLiAgVGhpcyBpcyBiYXNlZCBvbiB3aGF0IEZpcmVmb3ggZG9lcywgc2VlCisg
ICAgICAgIGh0dHA6Ly9teHIubW96aWxsYS5vcmcvbW96aWxsYS1jZW50cmFsL3NvdXJjZS9sYXlv
dXQvZ2VuZXJpYy9uc09iamVjdEZyYW1lLmNwcCMzMDQ1CisKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyUGFydE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjptYXBEYXRhUGFyYW1Ub1Ny
Yyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQYXJ0T2JqZWN0Ojp1cGRhdGVXaWRnZXQpOgor
CiAyMDA5LTA2LTA5ICBLZXZpbiBPbGxpdmllciAgPGtldmlub0B0aGVvbGxpdmllcnMuY29tPgog
CiAgICAgICAgIHd4IGJ1aWxkIGZpeCwgYWRkaW5nIEpTQ29yZS9hc3NlbWJsZXIgdG8gdGhlIGxp
c3Qgb2YgaW5jbHVkZSBkaXJzLCBhbmQKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBh
cnRPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBhcnRP
YmplY3QuY3BwCShyZXZpc2lvbiA0NDU0NykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBh
cnRPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDIsNiArMTQyLDI0IEBAIHN0YXRpYyBp
bmxpbmUgYm9vbCBzaG91bGRVc2VFbWJlZERlc2NlbmQKICNlbmRpZgogfQogCitzdGF0aWMgdm9p
ZCBtYXBEYXRhUGFyYW1Ub1NyYyhWZWN0b3I8U3RyaW5nPiogcGFyYW1OYW1lcywgVmVjdG9yPFN0
cmluZz4qIHBhcmFtVmFsdWVzKQoreworICAgIC8vIFNvbWUgcGx1Z2lucyBkb24ndCB1bmRlcnN0
YW5kIHRoZSAiZGF0YSIgYXR0cmlidXRlIG9mIHRoZSBPQkpFQ1QgdGFnIChpLmUuIFJlYWwgYW5k
IFdNUAorICAgIC8vIHJlcXVpcmUgInNyYyIgYXR0cmlidXRlKS4KKyAgICBpbnQgc3JjSW5kZXgg
PSAtMSwgZGF0YUluZGV4ID0gLTE7CisgICAgZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBw
YXJhbU5hbWVzLT5zaXplKCk7ICsraSkgeworICAgICAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2Uo
KCpwYXJhbU5hbWVzKVtpXSwgInNyYyIpKQorICAgICAgICAgICAgc3JjSW5kZXggPSBpOworICAg
ICAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZSgoKnBhcmFtTmFtZXMpW2ldLCAiZGF0YSIp
KQorICAgICAgICAgICAgZGF0YUluZGV4ID0gaTsKKyAgICB9CisKKyAgICBpZiAoc3JjSW5kZXgg
PT0gLTEgJiYgZGF0YUluZGV4ICE9IC0xKSB7CisgICAgICAgIHBhcmFtTmFtZXMtPmFwcGVuZCgi
c3JjIik7CisgICAgICAgIHBhcmFtVmFsdWVzLT5hcHBlbmQoKCpwYXJhbVZhbHVlcylbZGF0YUlu
ZGV4XSk7CisgICAgfQorfQorCiB2b2lkIFJlbmRlclBhcnRPYmplY3Q6OnVwZGF0ZVdpZGdldChi
b29sIG9ubHlDcmVhdGVOb25OZXRzY2FwZVBsdWdpbnMpCiB7CiAgICAgU3RyaW5nIHVybDsKQEAg
LTIzOCw2ICsyNTYsOCBAQCB2b2lkIFJlbmRlclBhcnRPYmplY3Q6OnVwZGF0ZVdpZGdldChib29s
CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAorICAgICAgICBtYXBEYXRhUGFyYW1Ub1NyYygm
cGFyYW1OYW1lcywgJnBhcmFtVmFsdWVzKTsKKwogICAgICAgICAvLyBJZiB3ZSBzdGlsbCBkb24n
dCBoYXZlIGEgdHlwZSwgdHJ5IHRvIG1hcCBmcm9tIGEgc3BlY2lmaWMgQ0xBU1NJRCB0byBhIHR5
cGUuCiAgICAgICAgIGlmIChzZXJ2aWNlVHlwZS5pc0VtcHR5KCkpCiAgICAgICAgICAgICBzZXJ2
aWNlVHlwZSA9IHNlcnZpY2VUeXBlRm9yQ2xhc3NJZChvLT5jbGFzc0lkKCksIHBsdWdpbkRhdGEp
OwpJbmRleDogV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xz
L0NoYW5nZUxvZwkocmV2aXNpb24gNDQ1NTIpCisrKyBXZWJLaXRUb29scy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxOSBAQAorMjAwOS0wNi0wOSAgSm9obiBBYmQtRWwtTWFs
ZWsgIDxqYW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luLnN1YnBy
b2ovUGx1Z2luT2JqZWN0LmNwcDoKKyAgICAgICAgKHBsdWdpbkxvZyk6CisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luLnN1YnByb2ovUGx1Z2luT2JqZWN0Lmg6Cisg
ICAgICAgICogRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luLnN1YnByb2ovbWFpbi5j
cHA6CisgICAgICAgIChOUFBfTmV3KToKKyAgICAgICAgKE5QUF9EZXN0cm95KToKKyAgICAgICAg
KE5QUF9TZXRXaW5kb3cpOgorICAgICAgICAoaGFuZGxlRXZlbnRDYXJib24pOgorICAgICAgICAo
aGFuZGxlRXZlbnRDb2NvYSk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL1Rlc3ROZXRz
Y2FwZVBsdWdpbi9tYWluLmNwcDoKKyAgICAgICAgKE5QUF9OZXcpOgorCiAyMDA5LTA2LTA5ICBT
aW1vbiBIYXVzbWFubiAgPHNpbW9uLmhhdXNtYW5uQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBBcml5YSBIaWRheWF0LgpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
VGVzdE5ldHNjYXBlUGx1Z0luLnN1YnByb2ovUGx1Z2luT2JqZWN0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4uc3VicHJvai9Q
bHVnaW5PYmplY3QuY3BwCShyZXZpc2lvbiA0NDU0NykKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi5zdWJwcm9qL1BsdWdpbk9iamVjdC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTMzLDYgKzMzLDQ2IEBACiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVk
ZSA8c3RkbGliLmg+CiAKK3ZvaWQgcGx1Z2luTG9nKE5QUCBpbnN0YW5jZSwgY29uc3QgY2hhciog
Zm9ybWF0LCAuLi4pCit7CisgICAgdmFfbGlzdCBhcmdzOworICAgIHZhX3N0YXJ0KGFyZ3MsIGZv
cm1hdCk7CisgICAgY2hhciBtZXNzYWdlWzIwNDhdID0gIlBMVUdJTjogIjsKKyAgICB2c3ByaW50
ZihtZXNzYWdlICsgc3RybGVuKG1lc3NhZ2UpLCBmb3JtYXQsIGFyZ3MpOworICAgIHZhX2VuZChh
cmdzKTsKKworICAgIE5QT2JqZWN0KiB3aW5kb3dPYmplY3QgPSAwOworICAgIE5QRXJyb3IgZXJy
b3IgPSBicm93c2VyLT5nZXR2YWx1ZShpbnN0YW5jZSwgTlBOVldpbmRvd05QT2JqZWN0LCAmd2lu
ZG93T2JqZWN0KTsKKyAgICBpZiAoZXJyb3IgIT0gTlBFUlJfTk9fRVJST1IpIHsKKyAgICAgICAg
ZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gcmV0cmlldmUgd2luZG93IG9iamVjdCB3aGlsZSBs
b2dnaW5nOiAlc1xuIiwgbWVzc2FnZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBO
UFZhcmlhbnQgY29uc29sZVZhcmlhbnQ7CisgICAgaWYgKCFicm93c2VyLT5nZXRwcm9wZXJ0eShp
bnN0YW5jZSwgd2luZG93T2JqZWN0LCBicm93c2VyLT5nZXRzdHJpbmdpZGVudGlmaWVyKCJjb25z
b2xlIiksICZjb25zb2xlVmFyaWFudCkpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJGYWls
ZWQgdG8gcmV0cmlldmUgY29uc29sZSBvYmplY3Qgd2hpbGUgbG9nZ2luZzogJXNcbiIsIG1lc3Nh
Z2UpOworICAgICAgICBicm93c2VyLT5yZWxlYXNlb2JqZWN0KHdpbmRvd09iamVjdCk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBOUE9iamVjdCogY29uc29sZU9iamVjdCA9IE5QVkFS
SUFOVF9UT19PQkpFQ1QoY29uc29sZVZhcmlhbnQpOworCisgICAgTlBWYXJpYW50IG1lc3NhZ2VW
YXJpYW50OworICAgIFNUUklOR1pfVE9fTlBWQVJJQU5UKG1lc3NhZ2UsIG1lc3NhZ2VWYXJpYW50
KTsKKworICAgIE5QVmFyaWFudCByZXN1bHQ7CisgICAgaWYgKCFicm93c2VyLT5pbnZva2UoaW5z
dGFuY2UsIGNvbnNvbGVPYmplY3QsIGJyb3dzZXItPmdldHN0cmluZ2lkZW50aWZpZXIoImxvZyIp
LCAmbWVzc2FnZVZhcmlhbnQsIDEsICZyZXN1bHQpKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJy
LCAiRmFpbGVkIHRvIGludm9rZSBjb25zb2xlLmxvZyB3aGlsZSBsb2dnaW5nOiAlc1xuIiwgbWVz
c2FnZSk7CisgICAgICAgIGJyb3dzZXItPnJlbGVhc2VvYmplY3QoY29uc29sZU9iamVjdCk7Cisg
ICAgICAgIGJyb3dzZXItPnJlbGVhc2VvYmplY3Qod2luZG93T2JqZWN0KTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKworICAgIGJyb3dzZXItPnJlbGVhc2V2YXJpYW50dmFsdWUoJnJlc3VsdCk7
CisgICAgYnJvd3Nlci0+cmVsZWFzZW9iamVjdChjb25zb2xlT2JqZWN0KTsKKyAgICBicm93c2Vy
LT5yZWxlYXNlb2JqZWN0KHdpbmRvd09iamVjdCk7Cit9CisKIHN0YXRpYyB2b2lkIHBsdWdpbklu
dmFsaWRhdGUoTlBPYmplY3QqKTsKIHN0YXRpYyBib29sIHBsdWdpbkhhc1Byb3BlcnR5KE5QT2Jq
ZWN0KiwgTlBJZGVudGlmaWVyIG5hbWUpOwogc3RhdGljIGJvb2wgcGx1Z2luSGFzTWV0aG9kKE5Q
T2JqZWN0KiwgTlBJZGVudGlmaWVyIG5hbWUpOwpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luLnN1YnByb2ovUGx1Z2luT2JqZWN0LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luLnN1YnBy
b2ovUGx1Z2luT2JqZWN0LmgJKHJldmlzaW9uIDQ0NTQ3KQorKysgV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luLnN1YnByb2ovUGx1Z2luT2JqZWN0LmgJKHdvcmtp
bmcgY29weSkKQEAgLTUzLDMgKzUzLDQgQEAgZXh0ZXJuIE5QQ2xhc3MgKmdldFBsdWdpbkNsYXNz
KHZvaWQpOwogZXh0ZXJuIHZvaWQgaGFuZGxlQ2FsbGJhY2soUGx1Z2luT2JqZWN0KiBvYmplY3Qs
IGNvbnN0IGNoYXIgKnVybCwgTlBSZWFzb24gcmVhc29uLCB2b2lkICpub3RpZnlEYXRhKTsKIGV4
dGVybiB2b2lkIG5vdGlmeVN0cmVhbShQbHVnaW5PYmplY3QqIG9iamVjdCwgY29uc3QgY2hhciAq
dXJsLCBjb25zdCBjaGFyICpoZWFkZXJzKTsKIGV4dGVybiB2b2lkIHRlc3ROUFJ1bnRpbWUoTlBQ
IG5wcCk7CitleHRlcm4gdm9pZCBwbHVnaW5Mb2coTlBQIGluc3RhbmNlLCBjb25zdCBjaGFyKiBm
b3JtYXQsIC4uLik7CkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2Nh
cGVQbHVnSW4uc3VicHJvai9tYWluLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4uc3VicHJvai9tYWluLmNwcAkocmV2aXNpb24g
NDQ1NDcpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4u
c3VicHJvai9tYWluLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjUsNDYgKzI1LDYgQEAKIAogI2lt
cG9ydCAiUGx1Z2luT2JqZWN0LmgiCiAKLXN0YXRpYyB2b2lkIGxvZyhOUFAgaW5zdGFuY2UsIGNv
bnN0IGNoYXIqIGZvcm1hdCwgLi4uKQotewotICAgIHZhX2xpc3QgYXJnczsKLSAgICB2YV9zdGFy
dChhcmdzLCBmb3JtYXQpOwotICAgIGNoYXIgbWVzc2FnZVsyMDQ4XSA9ICJQTFVHSU46ICI7Ci0g
ICAgdnNwcmludGYobWVzc2FnZSArIHN0cmxlbihtZXNzYWdlKSwgZm9ybWF0LCBhcmdzKTsKLSAg
ICB2YV9lbmQoYXJncyk7Ci0KLSAgICBOUE9iamVjdCogd2luZG93T2JqZWN0ID0gMDsKLSAgICBO
UEVycm9yIGVycm9yID0gYnJvd3Nlci0+Z2V0dmFsdWUoaW5zdGFuY2UsIE5QTlZXaW5kb3dOUE9i
amVjdCwgJndpbmRvd09iamVjdCk7Ci0gICAgaWYgKGVycm9yICE9IE5QRVJSX05PX0VSUk9SKSB7
Ci0gICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIHJldHJpZXZlIHdpbmRvdyBvYmpl
Y3Qgd2hpbGUgbG9nZ2luZzogJXNcbiIsIG1lc3NhZ2UpOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgTlBWYXJpYW50IGNvbnNvbGVWYXJpYW50OwotICAgIGlmICghYnJvd3Nlci0+Z2V0
cHJvcGVydHkoaW5zdGFuY2UsIHdpbmRvd09iamVjdCwgYnJvd3Nlci0+Z2V0c3RyaW5naWRlbnRp
ZmllcigiY29uc29sZSIpLCAmY29uc29sZVZhcmlhbnQpKSB7Ci0gICAgICAgIGZwcmludGYoc3Rk
ZXJyLCAiRmFpbGVkIHRvIHJldHJpZXZlIGNvbnNvbGUgb2JqZWN0IHdoaWxlIGxvZ2dpbmc6ICVz
XG4iLCBtZXNzYWdlKTsKLSAgICAgICAgYnJvd3Nlci0+cmVsZWFzZW9iamVjdCh3aW5kb3dPYmpl
Y3QpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgTlBPYmplY3QqIGNvbnNvbGVPYmpl
Y3QgPSBOUFZBUklBTlRfVE9fT0JKRUNUKGNvbnNvbGVWYXJpYW50KTsKLQotICAgIE5QVmFyaWFu
dCBtZXNzYWdlVmFyaWFudDsKLSAgICBTVFJJTkdaX1RPX05QVkFSSUFOVChtZXNzYWdlLCBtZXNz
YWdlVmFyaWFudCk7Ci0KLSAgICBOUFZhcmlhbnQgcmVzdWx0OwotICAgIGlmICghYnJvd3Nlci0+
aW52b2tlKGluc3RhbmNlLCBjb25zb2xlT2JqZWN0LCBicm93c2VyLT5nZXRzdHJpbmdpZGVudGlm
aWVyKCJsb2ciKSwgJm1lc3NhZ2VWYXJpYW50LCAxLCAmcmVzdWx0KSkgewotICAgICAgICBmcHJp
bnRmKHN0ZGVyciwgIkZhaWxlZCB0byBpbnZva2UgY29uc29sZS5sb2cgd2hpbGUgbG9nZ2luZzog
JXNcbiIsIG1lc3NhZ2UpOwotICAgICAgICBicm93c2VyLT5yZWxlYXNlb2JqZWN0KGNvbnNvbGVP
YmplY3QpOwotICAgICAgICBicm93c2VyLT5yZWxlYXNlb2JqZWN0KHdpbmRvd09iamVjdCk7Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBicm93c2VyLT5yZWxlYXNldmFyaWFudHZhbHVl
KCZyZXN1bHQpOwotICAgIGJyb3dzZXItPnJlbGVhc2VvYmplY3QoY29uc29sZU9iamVjdCk7Ci0g
ICAgYnJvd3Nlci0+cmVsZWFzZW9iamVjdCh3aW5kb3dPYmplY3QpOwotfQotCiAvLyBNYWNoLW8g
ZW50cnkgcG9pbnRzCiBleHRlcm4gIkMiIHsKICAgICBOUEVycm9yIE5QX0luaXRpYWxpemUoTlBO
ZXRzY2FwZUZ1bmNzICpicm93c2VyRnVuY3MpOwpAQCAtMTM3LDYgKzk3LDExIEBAIE5QRXJyb3Ig
TlBQX05ldyhOUE1JTUVUeXBlIHBsdWdpblR5cGUsIE4KICAgICAgICAgICAgIHRlc3ROUFJ1bnRp
bWUoaW5zdGFuY2UpOwogICAgICAgICBlbHNlIGlmIChzdHJjYXNlY21wKGFyZ25baV0sICJmb3Jj
ZWNhcmJvbiIpID09IDApCiAgICAgICAgICAgICBmb3JjZUNhcmJvbiA9IHRydWU7CisgICAgICAg
IGVsc2UgaWYgKHN0cmNhc2VjbXAoYXJnbltpXSwgImxvZ1NyYyIpID09IDApIHsKKyAgICAgICAg
ICAgIGZvciAoaW50IGkgPSAwOyBpIDwgYXJnYzsgaSsrKQorICAgICAgICAgICAgICAgIGlmIChz
dHJjYXNlY21wKGFyZ25baV0sICJzcmMiKSA9PSAwKQorICAgICAgICAgICAgICAgICAgICBwbHVn
aW5Mb2coaW5zdGFuY2UsICJzcmM6ICVzIiwgYXJndltpXSk7CisgICAgICAgIH0KICAgICB9CiAg
ICAgICAgIAogICAgIApAQCAtMTg0LDcgKzE0OSw3IEBAIE5QRXJyb3IgTlBQX0Rlc3Ryb3koTlBQ
IGluc3RhbmNlLCBOUFNhdmUKICAgICAgICAgICAgIGZyZWUob2JqLT5vblVSTE5vdGlmeSk7CiAg
ICAgICAgIAogICAgICAgICBpZiAob2JqLT5sb2dEZXN0cm95KQotICAgICAgICAgICAgbG9nKGlu
c3RhbmNlLCAiTlBQX0Rlc3Ryb3kiKTsKKyAgICAgICAgICAgIHBsdWdpbkxvZyhpbnN0YW5jZSwg
Ik5QUF9EZXN0cm95Iik7CiAKICAgICAgICAgYnJvd3Nlci0+cmVsZWFzZW9iamVjdCgmb2JqLT5o
ZWFkZXIpOwogICAgIH0KQEAgLTE5Nyw3ICsxNjIsNyBAQCBOUEVycm9yIE5QUF9TZXRXaW5kb3co
TlBQIGluc3RhbmNlLCBOUFdpCiAKICAgICBpZiAob2JqKSB7CiAgICAgICAgIGlmIChvYmotPmxv
Z1NldFdpbmRvdykgewotICAgICAgICAgICAgbG9nKGluc3RhbmNlLCAiTlBQX1NldFdpbmRvdzog
JWQgJWQiLCAoaW50KXdpbmRvdy0+d2lkdGgsIChpbnQpd2luZG93LT5oZWlnaHQpOworICAgICAg
ICAgICAgcGx1Z2luTG9nKGluc3RhbmNlLCAiTlBQX1NldFdpbmRvdzogJWQgJWQiLCAoaW50KXdp
bmRvdy0+d2lkdGgsIChpbnQpd2luZG93LT5oZWlnaHQpOwogICAgICAgICAgICAgb2JqLT5sb2dT
ZXRXaW5kb3cgPSBmYWxzZTsKICAgICAgICAgfQogICAgIH0KQEAgLTI3NiwyOSArMjQxLDI5IEBA
IHN0YXRpYyBpbnQxNl90IGhhbmRsZUV2ZW50Q2FyYm9uKE5QUCBpbnMKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICBjYXNlIG1vdXNlRG93bjoKICAgICAgICAgICAgIEdsb2JhbFRvTG9jYWwo
JnB0KTsKLSAgICAgICAgICAgIGxvZyhpbnN0YW5jZSwgIm1vdXNlRG93biBhdCAoJWQsICVkKSIs
IHB0LmgsIHB0LnYpOworICAgICAgICAgICAgcGx1Z2luTG9nKGluc3RhbmNlLCAibW91c2VEb3du
IGF0ICglZCwgJWQpIiwgcHQuaCwgcHQudik7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
Y2FzZSBtb3VzZVVwOgogICAgICAgICAgICAgR2xvYmFsVG9Mb2NhbCgmcHQpOwotICAgICAgICAg
ICAgbG9nKGluc3RhbmNlLCAibW91c2VVcCBhdCAoJWQsICVkKSIsIHB0LmgsIHB0LnYpOworICAg
ICAgICAgICAgcGx1Z2luTG9nKGluc3RhbmNlLCAibW91c2VVcCBhdCAoJWQsICVkKSIsIHB0Lmgs
IHB0LnYpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2Uga2V5RG93bjoKLSAgICAg
ICAgICAgIGxvZyhpbnN0YW5jZSwgImtleURvd24gJyVjJyIsIChjaGFyKShldmVudC0+bWVzc2Fn
ZSAmIDB4RkYpKTsKKyAgICAgICAgICAgIHBsdWdpbkxvZyhpbnN0YW5jZSwgImtleURvd24gJyVj
JyIsIChjaGFyKShldmVudC0+bWVzc2FnZSAmIDB4RkYpKTsKICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICBjYXNlIGtleVVwOgotICAgICAgICAgICAgbG9nKGluc3RhbmNlLCAia2V5VXAgJyVj
JyIsIChjaGFyKShldmVudC0+bWVzc2FnZSAmIDB4RkYpKTsKKyAgICAgICAgICAgIHBsdWdpbkxv
ZyhpbnN0YW5jZSwgImtleVVwICclYyciLCAoY2hhcikoZXZlbnQtPm1lc3NhZ2UgJiAweEZGKSk7
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBhdXRvS2V5OgotICAgICAgICAgICAg
bG9nKGluc3RhbmNlLCAiYXV0b0tleSAnJWMnIiwgKGNoYXIpKGV2ZW50LT5tZXNzYWdlICYgMHhG
RikpOworICAgICAgICAgICAgcGx1Z2luTG9nKGluc3RhbmNlLCAiYXV0b0tleSAnJWMnIiwgKGNo
YXIpKGV2ZW50LT5tZXNzYWdlICYgMHhGRikpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IGNhc2UgdXBkYXRlRXZ0OgotICAgICAgICAgICAgbG9nKGluc3RhbmNlLCAidXBkYXRlRXZ0Iik7
CisgICAgICAgICAgICBwbHVnaW5Mb2coaW5zdGFuY2UsICJ1cGRhdGVFdnQiKTsKICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICBjYXNlIGRpc2tFdnQ6Ci0gICAgICAgICAgICBsb2coaW5zdGFu
Y2UsICJkaXNrRXZ0Iik7CisgICAgICAgICAgICBwbHVnaW5Mb2coaW5zdGFuY2UsICJkaXNrRXZ0
Iik7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBhY3RpdmF0ZUV2dDoKLSAgICAg
ICAgICAgIGxvZyhpbnN0YW5jZSwgImFjdGl2YXRlRXZ0Iik7CisgICAgICAgICAgICBwbHVnaW5M
b2coaW5zdGFuY2UsICJhY3RpdmF0ZUV2dCIpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IGNhc2Ugb3NFdnQ6CiAgICAgICAgICAgICBwcmludGYoIlBMVUdJTjogb3NFdnQgLSAiKTsKQEAg
LTMxNCwyMCArMjc5LDIwIEBAIHN0YXRpYyBpbnQxNl90IGhhbmRsZUV2ZW50Q2FyYm9uKE5QUCBp
bnMKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIGtIaWdo
TGV2ZWxFdmVudDoKLSAgICAgICAgICAgIGxvZyhpbnN0YW5jZSwgImtIaWdoTGV2ZWxFdmVudCIp
OworICAgICAgICAgICAgcGx1Z2luTG9nKGluc3RhbmNlLCAia0hpZ2hMZXZlbEV2ZW50Iik7CiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgLy8gTlBBUEkgZXZlbnRzCiAgICAgICAgIGNhc2Ug
Z2V0Rm9jdXNFdmVudDoKLSAgICAgICAgICAgIGxvZyhpbnN0YW5jZSwgImdldEZvY3VzRXZlbnQi
KTsKKyAgICAgICAgICAgIHBsdWdpbkxvZyhpbnN0YW5jZSwgImdldEZvY3VzRXZlbnQiKTsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIGxvc2VGb2N1c0V2ZW50OgotICAgICAgICAg
ICAgbG9nKGluc3RhbmNlLCAibG9zZUZvY3VzRXZlbnQiKTsKKyAgICAgICAgICAgIHBsdWdpbkxv
ZyhpbnN0YW5jZSwgImxvc2VGb2N1c0V2ZW50Iik7CiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgY2FzZSBhZGp1c3RDdXJzb3JFdmVudDoKLSAgICAgICAgICAgIGxvZyhpbnN0YW5jZSwgImFk
anVzdEN1cnNvckV2ZW50Iik7CisgICAgICAgICAgICBwbHVnaW5Mb2coaW5zdGFuY2UsICJhZGp1
c3RDdXJzb3JFdmVudCIpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6Ci0g
ICAgICAgICAgICBsb2coaW5zdGFuY2UsICJldmVudCAlZCIsIGV2ZW50LT53aGF0KTsKKyAgICAg
ICAgICAgIHBsdWdpbkxvZyhpbnN0YW5jZSwgImV2ZW50ICVkIiwgZXZlbnQtPndoYXQpOwogICAg
IH0KICAgICAKICAgICByZXR1cm4gMDsKQEAgLTM0MSw5ICszMDYsOSBAQCBzdGF0aWMgaW50MTZf
dCBoYW5kbGVFdmVudENvY29hKE5QUCBpbnN0CiAgICAgICAgICAgICAKICAgICAgICAgY2FzZSBO
UENvY29hRXZlbnRGb2N1c0NoYW5nZWQ6CiAgICAgICAgICAgICBpZiAoZXZlbnQtPmRhdGEuZm9j
dXMuaGFzRm9jdXMpCi0gICAgICAgICAgICAgICAgbG9nKGluc3RhbmNlLCAiZ2V0Rm9jdXNFdmVu
dCIpOworICAgICAgICAgICAgICAgIHBsdWdpbkxvZyhpbnN0YW5jZSwgImdldEZvY3VzRXZlbnQi
KTsKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBsb2coaW5zdGFuY2UsICJsb3Nl
Rm9jdXNFdmVudCIpOworICAgICAgICAgICAgICAgIHBsdWdpbkxvZyhpbnN0YW5jZSwgImxvc2VG
b2N1c0V2ZW50Iik7CiAgICAgICAgICAgICByZXR1cm4gMTsKIAogICAgICAgICBjYXNlIE5QQ29j
b2FFdmVudERyYXdSZWN0OgpAQCAtMzU1LDEyICszMjAsMTIgQEAgc3RhdGljIGludDE2X3QgaGFu
ZGxlRXZlbnRDb2NvYShOUFAgaW5zdAogICAgICAgICAgICAgcmV0dXJuIDE7CiAKICAgICAgICAg
Y2FzZSBOUENvY29hRXZlbnRNb3VzZURvd246Ci0gICAgICAgICAgICBsb2coaW5zdGFuY2UsICJt
b3VzZURvd24gYXQgKCVkLCAlZCkiLCAKKyAgICAgICAgICAgIHBsdWdpbkxvZyhpbnN0YW5jZSwg
Im1vdXNlRG93biBhdCAoJWQsICVkKSIsIAogICAgICAgICAgICAgICAgICAgIChpbnQpZXZlbnQt
PmRhdGEubW91c2UucGx1Z2luWCwKICAgICAgICAgICAgICAgICAgICAoaW50KWV2ZW50LT5kYXRh
Lm1vdXNlLnBsdWdpblkpOwogICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgIGNhc2UgTlBD
b2NvYUV2ZW50TW91c2VVcDoKLSAgICAgICAgICAgIGxvZyhpbnN0YW5jZSwgIm1vdXNlVXAgYXQg
KCVkLCAlZCkiLCAKKyAgICAgICAgICAgIHBsdWdpbkxvZyhpbnN0YW5jZSwgIm1vdXNlVXAgYXQg
KCVkLCAlZCkiLCAKICAgICAgICAgICAgICAgICAgICAoaW50KWV2ZW50LT5kYXRhLm1vdXNlLnBs
dWdpblgsCiAgICAgICAgICAgICAgICAgICAgKGludClldmVudC0+ZGF0YS5tb3VzZS5wbHVnaW5Z
KTsKICAgICAgICAgICAgIHJldHVybiAxOwpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvd2luL1Rlc3ROZXRzY2FwZVBsdWdpbi9tYWluLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS93aW4vVGVzdE5ldHNjYXBlUGx1Z2luL21haW4uY3BwCShyZXZp
c2lvbiA0NDU0NykKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9UZXN0TmV0c2Nh
cGVQbHVnaW4vbWFpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg0LDYgKzg0LDExIEBAIE5QRXJy
b3IgTlBQX05ldyhOUE1JTUVUeXBlIHBsdWdpblR5cGUsIE4KICAgICAgICAgICAgICAgICBvYmot
Pm9uU3RyZWFtRGVzdHJveSA9IF9zdHJkdXAoYXJndltpXSk7CiAgICAgICAgICAgICBlbHNlIGlm
IChfc3RyaWNtcChhcmduW2ldLCAib25VUkxOb3RpZnkiKSA9PSAwICYmICFvYmotPm9uVVJMTm90
aWZ5KQogICAgICAgICAgICAgICAgIG9iai0+b25VUkxOb3RpZnkgPSBfc3RyZHVwKGFyZ3ZbaV0p
OworICAgICAgICAgICAgZWxzZSBpZiAoX3N0cmljbXAoYXJnbltpXSwgImxvZ1NyYyIpID09IDAp
IHsKKyAgICAgICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGFyZ2M7IGkrKykKKyAgICAg
ICAgICAgICAgICAgICAgaWYgKF9zdHJpY21wKGFyZ25baV0sICJzcmMiKSA9PSAwKQorICAgICAg
ICAgICAgICAgICAgICAgICAgcGx1Z2luTG9nKGluc3RhbmNlLCAic3JjOiAlcyIsIGFyZ3ZbaV0p
OworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBpbnN0YW5jZS0+
cGRhdGEgPSBvYmo7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA0NDU1MikKKysrIExheW91dFRlc3RzL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEwIEBACisyMDA5LTA2LTA5ICBKb2hu
IEFiZC1FbC1NYWxlayAgPGphbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbHVnaW5zL25ldHNjYXBlLXBsdWdpbi1tYXAt
ZGF0YS10by1zcmMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbHVnaW5zL25ldHNj
YXBlLXBsdWdpbi1tYXAtZGF0YS10by1zcmMuaHRtbDogQWRkZWQuCisKIDIwMDktMDYtMDkgIEJy
ZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIE5vIHJldmlldywg
YnVpbGQgZml4IG9ubHkuCkluZGV4OiBMYXlvdXRUZXN0cy9wbHVnaW5zL25ldHNjYXBlLXBsdWdp
bi1tYXAtZGF0YS10by1zcmMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsdWdpbnMvbmV0c2NhcGUtcGx1Z2luLW1hcC1kYXRhLXRvLXNyYy1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbHVnaW5zL25ldHNjYXBlLXBsdWdpbi1tYXAtZGF0
YS10by1zcmMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMgQEAKK0NPTlNP
TEUgTUVTU0FHRTogbGluZSAwOiBQTFVHSU46IHNyYzogYmxhaAorCitUaGlzIHRlc3RzIHRoYXQg
YW4gb2JqZWN0IHRhZyB3aXRoIGEgZGF0YSBhdHRyaWJ1dGUgZ2V0cyBhIHNyYyBhdHRyaWJ1dGUg
YXMgd2VsbC4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL3BsdWdpbnMvbmV0c2Nh
cGUtcGx1Z2luLW1hcC1kYXRhLXRvLXNyYy1leHBlY3RlZC50eHQKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOmV4ZWN1dGFibGUKICAgKyAqCgpJbmRleDogTGF5b3V0VGVzdHMvcGx1Z2lucy9uZXRzY2Fw
ZS1wbHVnaW4tbWFwLWRhdGEtdG8tc3JjLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGx1Z2lucy9uZXRzY2FwZS1wbHVnaW4tbWFwLWRhdGEtdG8tc3JjLmh0bWwJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9wbHVnaW5zL25ldHNjYXBlLXBsdWdpbi1tYXAtZGF0YS10by1zcmMu
aHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQ+CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworPC9zY3JpcHQ+Cis8Ym9keSBzdHlsZT0ibWFy
Z2luOjBweDtvdmVyZmxvdzpoaWRkZW4iPgorPG9iamVjdCBuYW1lPSJ0ZXN0UGx1Z2luIiB0eXBl
PSJhcHBsaWNhdGlvbi94LXdlYmtpdC10ZXN0LW5ldHNjYXBlIiBsb2dTcmM9InRydWUiIGRhdGE9
ImJsYWgiPgorPC9vYmplY3Q+Cis8ZGl2PgorICAgIFRoaXMgdGVzdHMgdGhhdCBhbiBvYmplY3Qg
dGFnIHdpdGggYSBkYXRhIGF0dHJpYnV0ZSBnZXRzIGEgc3JjIGF0dHJpYnV0ZSBhcyB3ZWxsLgor
PC9kaXY+Cis8Ym9keT4KKzwvaHRtbD4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L3BsdWdpbnMvbmV0c2NhcGUtcGx1Z2luLW1hcC1kYXRhLXRvLXNyYy5odG1sCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjpleGVjdXRhYmxlCiAgICsgKgoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>31567</attachid>
            <date>2009-06-19 15:54:06 -0700</date>
            <delta_ts>2009-06-26 14:14:44 -0700</delta_ts>
            <desc>added missing ChangeLogs</desc>
            <filename>objecttag6.txt</filename>
            <type>text/plain</type>
            <size>15418</size>
            <attacher name="John Abd-El-Malek">jam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NDg2NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTkgQEAKKzIwMDktMDYtMTkgIEpvaG4gQWJkLUVsLU1hbGVrICA8amFtQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU0NTcKKworICAgICAg
ICBUZXN0OiBwbHVnaW5zL25ldHNjYXBlLXBsdWdpbi1tYXAtZGF0YS10by1zcmMuaHRtbAorCisg
ICAgICAgIEZpeCBwcm9ibGVtcyB3aXRoIFJlYWwgb3IgV01QIHBsdWdpbnMgbm90IGRpc3BsYXlp
bmcgYmVjYXVzZSAiZGF0YSIgd2FzIHNldAorICAgICAgICBvbiB0aGUgT0JKRUNUIHRhZyBpbnN0
ZWFkIG9mICJzcmMiLiAgVGhpcyBpcyBiYXNlZCBvbiB3aGF0IEZpcmVmb3ggZG9lcywgc2VlCisg
ICAgICAgIGh0dHA6Ly9teHIubW96aWxsYS5vcmcvbW96aWxsYS1jZW50cmFsL3NvdXJjZS9sYXlv
dXQvZ2VuZXJpYy9uc09iamVjdEZyYW1lLmNwcCMzMDQ1CisKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyUGFydE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjptYXBEYXRhUGFyYW1Ub1Ny
Yyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQYXJ0T2JqZWN0Ojp1cGRhdGVXaWRnZXQpOgor
CiAyMDA5LTA2LTE5ICBEYXZpZCBIeWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBBbmRlcnMgQ2FybHNzb24uCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJQYXJ0T2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQ
YXJ0T2JqZWN0LmNwcAkocmV2aXNpb24gNDQ4NzgpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJQYXJ0T2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQyLDYgKzE0MiwyNCBAQCBzdGF0
aWMgaW5saW5lIGJvb2wgc2hvdWxkVXNlRW1iZWREZXNjZW5kCiAjZW5kaWYKIH0KIAorc3RhdGlj
IHZvaWQgbWFwRGF0YVBhcmFtVG9TcmMoVmVjdG9yPFN0cmluZz4qIHBhcmFtTmFtZXMsIFZlY3Rv
cjxTdHJpbmc+KiBwYXJhbVZhbHVlcykKK3sKKyAgICAvLyBTb21lIHBsdWdpbnMgZG9uJ3QgdW5k
ZXJzdGFuZCB0aGUgImRhdGEiIGF0dHJpYnV0ZSBvZiB0aGUgT0JKRUNUIHRhZyAoaS5lLiBSZWFs
IGFuZCBXTVAKKyAgICAvLyByZXF1aXJlICJzcmMiIGF0dHJpYnV0ZSkuCisgICAgaW50IHNyY0lu
ZGV4ID0gLTEsIGRhdGFJbmRleCA9IC0xOworICAgIGZvciAodW5zaWduZWQgaW50IGkgPSAwOyBp
IDwgcGFyYW1OYW1lcy0+c2l6ZSgpOyArK2kpIHsKKyAgICAgICAgaWYgKGVxdWFsSWdub3JpbmdD
YXNlKCgqcGFyYW1OYW1lcylbaV0sICJzcmMiKSkKKyAgICAgICAgICAgIHNyY0luZGV4ID0gaTsK
KyAgICAgICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UoKCpwYXJhbU5hbWVzKVtpXSwgImRh
dGEiKSkKKyAgICAgICAgICAgIGRhdGFJbmRleCA9IGk7CisgICAgfQorCisgICAgaWYgKHNyY0lu
ZGV4ID09IC0xICYmIGRhdGFJbmRleCAhPSAtMSkgeworICAgICAgICBwYXJhbU5hbWVzLT5hcHBl
bmQoInNyYyIpOworICAgICAgICBwYXJhbVZhbHVlcy0+YXBwZW5kKCgqcGFyYW1WYWx1ZXMpW2Rh
dGFJbmRleF0pOworICAgIH0KK30KKwogdm9pZCBSZW5kZXJQYXJ0T2JqZWN0Ojp1cGRhdGVXaWRn
ZXQoYm9vbCBvbmx5Q3JlYXRlTm9uTmV0c2NhcGVQbHVnaW5zKQogewogICAgIFN0cmluZyB1cmw7
CkBAIC0yMzgsNiArMjU2LDggQEAgdm9pZCBSZW5kZXJQYXJ0T2JqZWN0Ojp1cGRhdGVXaWRnZXQo
Ym9vbAogICAgICAgICAgICAgfQogICAgICAgICB9CiAKKyAgICAgICAgbWFwRGF0YVBhcmFtVG9T
cmMoJnBhcmFtTmFtZXMsICZwYXJhbVZhbHVlcyk7CisKICAgICAgICAgLy8gSWYgd2Ugc3RpbGwg
ZG9uJ3QgaGF2ZSBhIHR5cGUsIHRyeSB0byBtYXAgZnJvbSBhIHNwZWNpZmljIENMQVNTSUQgdG8g
YSB0eXBlLgogICAgICAgICBpZiAoc2VydmljZVR5cGUuaXNFbXB0eSgpKQogICAgICAgICAgICAg
c2VydmljZVR5cGUgPSBzZXJ2aWNlVHlwZUZvckNsYXNzSWQoby0+Y2xhc3NJZCgpLCBwbHVnaW5E
YXRhKTsKSW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRU
b29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ0ODc4KQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMDktMDYtMTkgIEpvaG4gQWJkLUVs
LU1hbGVrICA8amFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU0NTcKKworICAgICAgICBNb2RpZnkgTlBBUEkgdGVzdCBw
bHVnaW4gdG8gdmVyaWZ5IHRoYXQgInNyYyIgcGFyYW1hdGVyIGlzIGFkZGVkIHdoZW4KKyAgICAg
ICAgaXQncyBtaXNzaW5nIGJ1dCAiZGF0YSIgaXMgcHJlc2VudC4KKworICAgICAgICAqIER1bXBS
ZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi5zdWJwcm9qL1BsdWdpbk9iamVjdC5jcHA6Cisg
ICAgICAgIChwbHVnaW5Mb2cpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2Fw
ZVBsdWdJbi5zdWJwcm9qL1BsdWdpbk9iamVjdC5oOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L1Rlc3ROZXRzY2FwZVBsdWdJbi5zdWJwcm9qL21haW4uY3BwOgorICAgICAgICAoTlBQX05ldyk6
CisgICAgICAgIChOUFBfRGVzdHJveSk6CisgICAgICAgIChOUFBfU2V0V2luZG93KToKKyAgICAg
ICAgKGhhbmRsZUV2ZW50Q2FyYm9uKToKKyAgICAgICAgKGhhbmRsZUV2ZW50Q29jb2EpOgorICAg
ICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9UZXN0TmV0c2NhcGVQbHVnaW4vbWFpbi5jcHA6Cisg
ICAgICAgIChOUFBfTmV3KToKKwogMjAwOS0wNi0xNSAgQW5kcmUgUGVkcmFsaG8gIDxhbmRyZS5w
ZWRyYWxob0BvcGVuYm9zc2Eub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFRvciBBcm5lIFZl
c3Riw7guCkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVn
SW4uc3VicHJvai9QbHVnaW5PYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi5zdWJwcm9qL1BsdWdpbk9iamVjdC5jcHAJ
KHJldmlzaW9uIDQ0ODc4KQorKysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNj
YXBlUGx1Z0luLnN1YnByb2ovUGx1Z2luT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMs
NiArMzMsNDYgQEAKICNpbmNsdWRlIDxzdHJpbmcuaD4KICNpbmNsdWRlIDxzdGRsaWIuaD4KIAor
dm9pZCBwbHVnaW5Mb2coTlBQIGluc3RhbmNlLCBjb25zdCBjaGFyKiBmb3JtYXQsIC4uLikKK3sK
KyAgICB2YV9saXN0IGFyZ3M7CisgICAgdmFfc3RhcnQoYXJncywgZm9ybWF0KTsKKyAgICBjaGFy
IG1lc3NhZ2VbMjA0OF0gPSAiUExVR0lOOiAiOworICAgIHZzcHJpbnRmKG1lc3NhZ2UgKyBzdHJs
ZW4obWVzc2FnZSksIGZvcm1hdCwgYXJncyk7CisgICAgdmFfZW5kKGFyZ3MpOworCisgICAgTlBP
YmplY3QqIHdpbmRvd09iamVjdCA9IDA7CisgICAgTlBFcnJvciBlcnJvciA9IGJyb3dzZXItPmdl
dHZhbHVlKGluc3RhbmNlLCBOUE5WV2luZG93TlBPYmplY3QsICZ3aW5kb3dPYmplY3QpOworICAg
IGlmIChlcnJvciAhPSBOUEVSUl9OT19FUlJPUikgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwg
IkZhaWxlZCB0byByZXRyaWV2ZSB3aW5kb3cgb2JqZWN0IHdoaWxlIGxvZ2dpbmc6ICVzXG4iLCBt
ZXNzYWdlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIE5QVmFyaWFudCBjb25zb2xl
VmFyaWFudDsKKyAgICBpZiAoIWJyb3dzZXItPmdldHByb3BlcnR5KGluc3RhbmNlLCB3aW5kb3dP
YmplY3QsIGJyb3dzZXItPmdldHN0cmluZ2lkZW50aWZpZXIoImNvbnNvbGUiKSwgJmNvbnNvbGVW
YXJpYW50KSkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCB0byByZXRyaWV2ZSBj
b25zb2xlIG9iamVjdCB3aGlsZSBsb2dnaW5nOiAlc1xuIiwgbWVzc2FnZSk7CisgICAgICAgIGJy
b3dzZXItPnJlbGVhc2VvYmplY3Qod2luZG93T2JqZWN0KTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIE5QT2JqZWN0KiBjb25zb2xlT2JqZWN0ID0gTlBWQVJJQU5UX1RPX09CSkVDVChj
b25zb2xlVmFyaWFudCk7CisKKyAgICBOUFZhcmlhbnQgbWVzc2FnZVZhcmlhbnQ7CisgICAgU1RS
SU5HWl9UT19OUFZBUklBTlQobWVzc2FnZSwgbWVzc2FnZVZhcmlhbnQpOworCisgICAgTlBWYXJp
YW50IHJlc3VsdDsKKyAgICBpZiAoIWJyb3dzZXItPmludm9rZShpbnN0YW5jZSwgY29uc29sZU9i
amVjdCwgYnJvd3Nlci0+Z2V0c3RyaW5naWRlbnRpZmllcigibG9nIiksICZtZXNzYWdlVmFyaWFu
dCwgMSwgJnJlc3VsdCkpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gaW52
b2tlIGNvbnNvbGUubG9nIHdoaWxlIGxvZ2dpbmc6ICVzXG4iLCBtZXNzYWdlKTsKKyAgICAgICAg
YnJvd3Nlci0+cmVsZWFzZW9iamVjdChjb25zb2xlT2JqZWN0KTsKKyAgICAgICAgYnJvd3Nlci0+
cmVsZWFzZW9iamVjdCh3aW5kb3dPYmplY3QpOworICAgICAgICByZXR1cm47CisgICAgfQorCisg
ICAgYnJvd3Nlci0+cmVsZWFzZXZhcmlhbnR2YWx1ZSgmcmVzdWx0KTsKKyAgICBicm93c2VyLT5y
ZWxlYXNlb2JqZWN0KGNvbnNvbGVPYmplY3QpOworICAgIGJyb3dzZXItPnJlbGVhc2VvYmplY3Qo
d2luZG93T2JqZWN0KTsKK30KKwogc3RhdGljIHZvaWQgcGx1Z2luSW52YWxpZGF0ZShOUE9iamVj
dCopOwogc3RhdGljIGJvb2wgcGx1Z2luSGFzUHJvcGVydHkoTlBPYmplY3QqLCBOUElkZW50aWZp
ZXIgbmFtZSk7CiBzdGF0aWMgYm9vbCBwbHVnaW5IYXNNZXRob2QoTlBPYmplY3QqLCBOUElkZW50
aWZpZXIgbmFtZSk7CkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2Nh
cGVQbHVnSW4uc3VicHJvai9QbHVnaW5PYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4uc3VicHJvai9QbHVnaW5PYmplY3Qu
aAkocmV2aXNpb24gNDQ4NzgpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0
c2NhcGVQbHVnSW4uc3VicHJvai9QbHVnaW5PYmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAtNTMs
MyArNTMsNCBAQCBleHRlcm4gTlBDbGFzcyAqZ2V0UGx1Z2luQ2xhc3Modm9pZCk7CiBleHRlcm4g
dm9pZCBoYW5kbGVDYWxsYmFjayhQbHVnaW5PYmplY3QqIG9iamVjdCwgY29uc3QgY2hhciAqdXJs
LCBOUFJlYXNvbiByZWFzb24sIHZvaWQgKm5vdGlmeURhdGEpOwogZXh0ZXJuIHZvaWQgbm90aWZ5
U3RyZWFtKFBsdWdpbk9iamVjdCogb2JqZWN0LCBjb25zdCBjaGFyICp1cmwsIGNvbnN0IGNoYXIg
KmhlYWRlcnMpOwogZXh0ZXJuIHZvaWQgdGVzdE5QUnVudGltZShOUFAgbnBwKTsKK2V4dGVybiB2
b2lkIHBsdWdpbkxvZyhOUFAgaW5zdGFuY2UsIGNvbnN0IGNoYXIqIGZvcm1hdCwgLi4uKTsKSW5k
ZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi5zdWJwcm9q
L21haW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RO
ZXRzY2FwZVBsdWdJbi5zdWJwcm9qL21haW4uY3BwCShyZXZpc2lvbiA0NDg3OCkKKysrIFdlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi5zdWJwcm9qL21haW4uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yNSw0NiArMjUsNiBAQAogCiAjaW1wb3J0ICJQbHVnaW5PYmpl
Y3QuaCIKIAotc3RhdGljIHZvaWQgbG9nKE5QUCBpbnN0YW5jZSwgY29uc3QgY2hhciogZm9ybWF0
LCAuLi4pCi17Ci0gICAgdmFfbGlzdCBhcmdzOwotICAgIHZhX3N0YXJ0KGFyZ3MsIGZvcm1hdCk7
Ci0gICAgY2hhciBtZXNzYWdlWzIwNDhdID0gIlBMVUdJTjogIjsKLSAgICB2c3ByaW50ZihtZXNz
YWdlICsgc3RybGVuKG1lc3NhZ2UpLCBmb3JtYXQsIGFyZ3MpOwotICAgIHZhX2VuZChhcmdzKTsK
LQotICAgIE5QT2JqZWN0KiB3aW5kb3dPYmplY3QgPSAwOwotICAgIE5QRXJyb3IgZXJyb3IgPSBi
cm93c2VyLT5nZXR2YWx1ZShpbnN0YW5jZSwgTlBOVldpbmRvd05QT2JqZWN0LCAmd2luZG93T2Jq
ZWN0KTsKLSAgICBpZiAoZXJyb3IgIT0gTlBFUlJfTk9fRVJST1IpIHsKLSAgICAgICAgZnByaW50
ZihzdGRlcnIsICJGYWlsZWQgdG8gcmV0cmlldmUgd2luZG93IG9iamVjdCB3aGlsZSBsb2dnaW5n
OiAlc1xuIiwgbWVzc2FnZSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBOUFZhcmlh
bnQgY29uc29sZVZhcmlhbnQ7Ci0gICAgaWYgKCFicm93c2VyLT5nZXRwcm9wZXJ0eShpbnN0YW5j
ZSwgd2luZG93T2JqZWN0LCBicm93c2VyLT5nZXRzdHJpbmdpZGVudGlmaWVyKCJjb25zb2xlIiks
ICZjb25zb2xlVmFyaWFudCkpIHsKLSAgICAgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8g
cmV0cmlldmUgY29uc29sZSBvYmplY3Qgd2hpbGUgbG9nZ2luZzogJXNcbiIsIG1lc3NhZ2UpOwot
ICAgICAgICBicm93c2VyLT5yZWxlYXNlb2JqZWN0KHdpbmRvd09iamVjdCk7Ci0gICAgICAgIHJl
dHVybjsKLSAgICB9Ci0KLSAgICBOUE9iamVjdCogY29uc29sZU9iamVjdCA9IE5QVkFSSUFOVF9U
T19PQkpFQ1QoY29uc29sZVZhcmlhbnQpOwotCi0gICAgTlBWYXJpYW50IG1lc3NhZ2VWYXJpYW50
OwotICAgIFNUUklOR1pfVE9fTlBWQVJJQU5UKG1lc3NhZ2UsIG1lc3NhZ2VWYXJpYW50KTsKLQot
ICAgIE5QVmFyaWFudCByZXN1bHQ7Ci0gICAgaWYgKCFicm93c2VyLT5pbnZva2UoaW5zdGFuY2Us
IGNvbnNvbGVPYmplY3QsIGJyb3dzZXItPmdldHN0cmluZ2lkZW50aWZpZXIoImxvZyIpLCAmbWVz
c2FnZVZhcmlhbnQsIDEsICZyZXN1bHQpKSB7Ci0gICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFp
bGVkIHRvIGludm9rZSBjb25zb2xlLmxvZyB3aGlsZSBsb2dnaW5nOiAlc1xuIiwgbWVzc2FnZSk7
Ci0gICAgICAgIGJyb3dzZXItPnJlbGVhc2VvYmplY3QoY29uc29sZU9iamVjdCk7Ci0gICAgICAg
IGJyb3dzZXItPnJlbGVhc2VvYmplY3Qod2luZG93T2JqZWN0KTsKLSAgICAgICAgcmV0dXJuOwot
ICAgIH0KLQotICAgIGJyb3dzZXItPnJlbGVhc2V2YXJpYW50dmFsdWUoJnJlc3VsdCk7Ci0gICAg
YnJvd3Nlci0+cmVsZWFzZW9iamVjdChjb25zb2xlT2JqZWN0KTsKLSAgICBicm93c2VyLT5yZWxl
YXNlb2JqZWN0KHdpbmRvd09iamVjdCk7Ci19Ci0KIC8vIE1hY2gtbyBlbnRyeSBwb2ludHMKIGV4
dGVybiAiQyIgewogICAgIE5QRXJyb3IgTlBfSW5pdGlhbGl6ZShOUE5ldHNjYXBlRnVuY3MgKmJy
b3dzZXJGdW5jcyk7CkBAIC0xMzcsNiArOTcsMTEgQEAgTlBFcnJvciBOUFBfTmV3KE5QTUlNRVR5
cGUgcGx1Z2luVHlwZSwgTgogICAgICAgICAgICAgdGVzdE5QUnVudGltZShpbnN0YW5jZSk7CiAg
ICAgICAgIGVsc2UgaWYgKHN0cmNhc2VjbXAoYXJnbltpXSwgImZvcmNlY2FyYm9uIikgPT0gMCkK
ICAgICAgICAgICAgIGZvcmNlQ2FyYm9uID0gdHJ1ZTsKKyAgICAgICAgZWxzZSBpZiAoc3RyY2Fz
ZWNtcChhcmduW2ldLCAibG9nU3JjIikgPT0gMCkgeworICAgICAgICAgICAgZm9yIChpbnQgaSA9
IDA7IGkgPCBhcmdjOyBpKyspCisgICAgICAgICAgICAgICAgaWYgKHN0cmNhc2VjbXAoYXJnbltp
XSwgInNyYyIpID09IDApCisgICAgICAgICAgICAgICAgICAgIHBsdWdpbkxvZyhpbnN0YW5jZSwg
InNyYzogJXMiLCBhcmd2W2ldKTsKKyAgICAgICAgfQogICAgIH0KICAgICAgICAgCiAgICAgCkBA
IC0xODQsNyArMTQ5LDcgQEAgTlBFcnJvciBOUFBfRGVzdHJveShOUFAgaW5zdGFuY2UsIE5QU2F2
ZQogICAgICAgICAgICAgZnJlZShvYmotPm9uVVJMTm90aWZ5KTsKICAgICAgICAgCiAgICAgICAg
IGlmIChvYmotPmxvZ0Rlc3Ryb3kpCi0gICAgICAgICAgICBsb2coaW5zdGFuY2UsICJOUFBfRGVz
dHJveSIpOworICAgICAgICAgICAgcGx1Z2luTG9nKGluc3RhbmNlLCAiTlBQX0Rlc3Ryb3kiKTsK
IAogICAgICAgICBicm93c2VyLT5yZWxlYXNlb2JqZWN0KCZvYmotPmhlYWRlcik7CiAgICAgfQpA
QCAtMTk3LDcgKzE2Miw3IEBAIE5QRXJyb3IgTlBQX1NldFdpbmRvdyhOUFAgaW5zdGFuY2UsIE5Q
V2kKIAogICAgIGlmIChvYmopIHsKICAgICAgICAgaWYgKG9iai0+bG9nU2V0V2luZG93KSB7Ci0g
ICAgICAgICAgICBsb2coaW5zdGFuY2UsICJOUFBfU2V0V2luZG93OiAlZCAlZCIsIChpbnQpd2lu
ZG93LT53aWR0aCwgKGludCl3aW5kb3ctPmhlaWdodCk7CisgICAgICAgICAgICBwbHVnaW5Mb2co
aW5zdGFuY2UsICJOUFBfU2V0V2luZG93OiAlZCAlZCIsIChpbnQpd2luZG93LT53aWR0aCwgKGlu
dCl3aW5kb3ctPmhlaWdodCk7CiAgICAgICAgICAgICBvYmotPmxvZ1NldFdpbmRvdyA9IGZhbHNl
OwogICAgICAgICB9CiAgICAgfQpAQCAtMjc2LDI5ICsyNDEsMjkgQEAgc3RhdGljIGludDE2X3Qg
aGFuZGxlRXZlbnRDYXJib24oTlBQIGlucwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNh
c2UgbW91c2VEb3duOgogICAgICAgICAgICAgR2xvYmFsVG9Mb2NhbCgmcHQpOwotICAgICAgICAg
ICAgbG9nKGluc3RhbmNlLCAibW91c2VEb3duIGF0ICglZCwgJWQpIiwgcHQuaCwgcHQudik7Cisg
ICAgICAgICAgICBwbHVnaW5Mb2coaW5zdGFuY2UsICJtb3VzZURvd24gYXQgKCVkLCAlZCkiLCBw
dC5oLCBwdC52KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIG1vdXNlVXA6CiAg
ICAgICAgICAgICBHbG9iYWxUb0xvY2FsKCZwdCk7Ci0gICAgICAgICAgICBsb2coaW5zdGFuY2Us
ICJtb3VzZVVwIGF0ICglZCwgJWQpIiwgcHQuaCwgcHQudik7CisgICAgICAgICAgICBwbHVnaW5M
b2coaW5zdGFuY2UsICJtb3VzZVVwIGF0ICglZCwgJWQpIiwgcHQuaCwgcHQudik7CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgY2FzZSBrZXlEb3duOgotICAgICAgICAgICAgbG9nKGluc3Rh
bmNlLCAia2V5RG93biAnJWMnIiwgKGNoYXIpKGV2ZW50LT5tZXNzYWdlICYgMHhGRikpOworICAg
ICAgICAgICAgcGx1Z2luTG9nKGluc3RhbmNlLCAia2V5RG93biAnJWMnIiwgKGNoYXIpKGV2ZW50
LT5tZXNzYWdlICYgMHhGRikpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2Uga2V5
VXA6Ci0gICAgICAgICAgICBsb2coaW5zdGFuY2UsICJrZXlVcCAnJWMnIiwgKGNoYXIpKGV2ZW50
LT5tZXNzYWdlICYgMHhGRikpOworICAgICAgICAgICAgcGx1Z2luTG9nKGluc3RhbmNlLCAia2V5
VXAgJyVjJyIsIChjaGFyKShldmVudC0+bWVzc2FnZSAmIDB4RkYpKTsKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICBjYXNlIGF1dG9LZXk6Ci0gICAgICAgICAgICBsb2coaW5zdGFuY2UsICJh
dXRvS2V5ICclYyciLCAoY2hhcikoZXZlbnQtPm1lc3NhZ2UgJiAweEZGKSk7CisgICAgICAgICAg
ICBwbHVnaW5Mb2coaW5zdGFuY2UsICJhdXRvS2V5ICclYyciLCAoY2hhcikoZXZlbnQtPm1lc3Nh
Z2UgJiAweEZGKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSB1cGRhdGVFdnQ6
Ci0gICAgICAgICAgICBsb2coaW5zdGFuY2UsICJ1cGRhdGVFdnQiKTsKKyAgICAgICAgICAgIHBs
dWdpbkxvZyhpbnN0YW5jZSwgInVwZGF0ZUV2dCIpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIGNhc2UgZGlza0V2dDoKLSAgICAgICAgICAgIGxvZyhpbnN0YW5jZSwgImRpc2tFdnQiKTsK
KyAgICAgICAgICAgIHBsdWdpbkxvZyhpbnN0YW5jZSwgImRpc2tFdnQiKTsKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICBjYXNlIGFjdGl2YXRlRXZ0OgotICAgICAgICAgICAgbG9nKGluc3Rh
bmNlLCAiYWN0aXZhdGVFdnQiKTsKKyAgICAgICAgICAgIHBsdWdpbkxvZyhpbnN0YW5jZSwgImFj
dGl2YXRlRXZ0Iik7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBvc0V2dDoKICAg
ICAgICAgICAgIHByaW50ZigiUExVR0lOOiBvc0V2dCAtICIpOwpAQCAtMzE0LDIwICsyNzksMjAg
QEAgc3RhdGljIGludDE2X3QgaGFuZGxlRXZlbnRDYXJib24oTlBQIGlucwogICAgICAgICAgICAg
fQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2Uga0hpZ2hMZXZlbEV2ZW50OgotICAg
ICAgICAgICAgbG9nKGluc3RhbmNlLCAia0hpZ2hMZXZlbEV2ZW50Iik7CisgICAgICAgICAgICBw
bHVnaW5Mb2coaW5zdGFuY2UsICJrSGlnaExldmVsRXZlbnQiKTsKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICAvLyBOUEFQSSBldmVudHMKICAgICAgICAgY2FzZSBnZXRGb2N1c0V2ZW50Ogot
ICAgICAgICAgICAgbG9nKGluc3RhbmNlLCAiZ2V0Rm9jdXNFdmVudCIpOworICAgICAgICAgICAg
cGx1Z2luTG9nKGluc3RhbmNlLCAiZ2V0Rm9jdXNFdmVudCIpOwogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIGNhc2UgbG9zZUZvY3VzRXZlbnQ6Ci0gICAgICAgICAgICBsb2coaW5zdGFuY2Us
ICJsb3NlRm9jdXNFdmVudCIpOworICAgICAgICAgICAgcGx1Z2luTG9nKGluc3RhbmNlLCAibG9z
ZUZvY3VzRXZlbnQiKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIGFkanVzdEN1
cnNvckV2ZW50OgotICAgICAgICAgICAgbG9nKGluc3RhbmNlLCAiYWRqdXN0Q3Vyc29yRXZlbnQi
KTsKKyAgICAgICAgICAgIHBsdWdpbkxvZyhpbnN0YW5jZSwgImFkanVzdEN1cnNvckV2ZW50Iik7
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIGxvZyhp
bnN0YW5jZSwgImV2ZW50ICVkIiwgZXZlbnQtPndoYXQpOworICAgICAgICAgICAgcGx1Z2luTG9n
KGluc3RhbmNlLCAiZXZlbnQgJWQiLCBldmVudC0+d2hhdCk7CiAgICAgfQogICAgIAogICAgIHJl
dHVybiAwOwpAQCAtMzQxLDkgKzMwNiw5IEBAIHN0YXRpYyBpbnQxNl90IGhhbmRsZUV2ZW50Q29j
b2EoTlBQIGluc3QKICAgICAgICAgICAgIAogICAgICAgICBjYXNlIE5QQ29jb2FFdmVudEZvY3Vz
Q2hhbmdlZDoKICAgICAgICAgICAgIGlmIChldmVudC0+ZGF0YS5mb2N1cy5oYXNGb2N1cykKLSAg
ICAgICAgICAgICAgICBsb2coaW5zdGFuY2UsICJnZXRGb2N1c0V2ZW50Iik7CisgICAgICAgICAg
ICAgICAgcGx1Z2luTG9nKGluc3RhbmNlLCAiZ2V0Rm9jdXNFdmVudCIpOwogICAgICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgICAgIGxvZyhpbnN0YW5jZSwgImxvc2VGb2N1c0V2ZW50Iik7Cisg
ICAgICAgICAgICAgICAgcGx1Z2luTG9nKGluc3RhbmNlLCAibG9zZUZvY3VzRXZlbnQiKTsKICAg
ICAgICAgICAgIHJldHVybiAxOwogCiAgICAgICAgIGNhc2UgTlBDb2NvYUV2ZW50RHJhd1JlY3Q6
CkBAIC0zNTUsMTIgKzMyMCwxMiBAQCBzdGF0aWMgaW50MTZfdCBoYW5kbGVFdmVudENvY29hKE5Q
UCBpbnN0CiAgICAgICAgICAgICByZXR1cm4gMTsKIAogICAgICAgICBjYXNlIE5QQ29jb2FFdmVu
dE1vdXNlRG93bjoKLSAgICAgICAgICAgIGxvZyhpbnN0YW5jZSwgIm1vdXNlRG93biBhdCAoJWQs
ICVkKSIsIAorICAgICAgICAgICAgcGx1Z2luTG9nKGluc3RhbmNlLCAibW91c2VEb3duIGF0ICgl
ZCwgJWQpIiwgCiAgICAgICAgICAgICAgICAgICAgKGludClldmVudC0+ZGF0YS5tb3VzZS5wbHVn
aW5YLAogICAgICAgICAgICAgICAgICAgIChpbnQpZXZlbnQtPmRhdGEubW91c2UucGx1Z2luWSk7
CiAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgY2FzZSBOUENvY29hRXZlbnRNb3VzZVVw
OgotICAgICAgICAgICAgbG9nKGluc3RhbmNlLCAibW91c2VVcCBhdCAoJWQsICVkKSIsIAorICAg
ICAgICAgICAgcGx1Z2luTG9nKGluc3RhbmNlLCAibW91c2VVcCBhdCAoJWQsICVkKSIsIAogICAg
ICAgICAgICAgICAgICAgIChpbnQpZXZlbnQtPmRhdGEubW91c2UucGx1Z2luWCwKICAgICAgICAg
ICAgICAgICAgICAoaW50KWV2ZW50LT5kYXRhLm1vdXNlLnBsdWdpblkpOwogICAgICAgICAgICAg
cmV0dXJuIDE7CkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vVGVzdE5ldHNj
YXBlUGx1Z2luL21haW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL3dpbi9UZXN0TmV0c2NhcGVQbHVnaW4vbWFpbi5jcHAJKHJldmlzaW9uIDQ0ODc4KQorKysg
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL1Rlc3ROZXRzY2FwZVBsdWdpbi9tYWluLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtODQsNiArODQsMTEgQEAgTlBFcnJvciBOUFBfTmV3KE5QTUlN
RVR5cGUgcGx1Z2luVHlwZSwgTgogICAgICAgICAgICAgICAgIG9iai0+b25TdHJlYW1EZXN0cm95
ID0gX3N0cmR1cChhcmd2W2ldKTsKICAgICAgICAgICAgIGVsc2UgaWYgKF9zdHJpY21wKGFyZ25b
aV0sICJvblVSTE5vdGlmeSIpID09IDAgJiYgIW9iai0+b25VUkxOb3RpZnkpCiAgICAgICAgICAg
ICAgICAgb2JqLT5vblVSTE5vdGlmeSA9IF9zdHJkdXAoYXJndltpXSk7CisgICAgICAgICAgICBl
bHNlIGlmIChfc3RyaWNtcChhcmduW2ldLCAibG9nU3JjIikgPT0gMCkgeworICAgICAgICAgICAg
ICAgIGZvciAoaW50IGkgPSAwOyBpIDwgYXJnYzsgaSsrKQorICAgICAgICAgICAgICAgICAgICBp
ZiAoX3N0cmljbXAoYXJnbltpXSwgInNyYyIpID09IDApCisgICAgICAgICAgICAgICAgICAgICAg
ICBwbHVnaW5Mb2coaW5zdGFuY2UsICJzcmM6ICVzIiwgYXJndltpXSk7CisgICAgICAgICAgICB9
CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIGluc3RhbmNlLT5wZGF0YSA9IG9iajsKSW5k
ZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cJKHJldmlzaW9uIDQ0ODc4KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMDktMDYtMTkgIEpvaG4gQWJkLUVsLU1hbGVrICA8
amFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTU0NTcKKworICAgICAgICBMYXlvdXQgdGVzdHMgdG8gZW5zdXJlIHRoYXQg
InNyYyIgcGFyYW1hdGVyIGlzIGFkZGVkIHdoZW4gaXQncyBtaXNzaW5nCisgICAgICAgIGJ1dCAi
ZGF0YSIgaXMgcHJlc2VudC4KKworICAgICAgICAqIHBsdWdpbnMvbmV0c2NhcGUtcGx1Z2luLW1h
cC1kYXRhLXRvLXNyYy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsdWdpbnMvbmV0
c2NhcGUtcGx1Z2luLW1hcC1kYXRhLXRvLXNyYy5odG1sOiBBZGRlZC4KKwogMjAwOS0wNi0xOSAg
RGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5k
ZXJzIENhcmxzc29uLgpJbmRleDogTGF5b3V0VGVzdHMvcGx1Z2lucy9uZXRzY2FwZS1wbHVnaW4t
bWFwLWRhdGEtdG8tc3JjLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bHVnaW5zL25ldHNjYXBlLXBsdWdpbi1tYXAtZGF0YS10by1zcmMtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGx1Z2lucy9uZXRzY2FwZS1wbHVnaW4tbWFwLWRhdGEt
dG8tc3JjLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzIEBACitDT05TT0xF
IE1FU1NBR0U6IGxpbmUgMDogUExVR0lOOiBzcmM6IGJsYWgKKworVGhpcyB0ZXN0cyB0aGF0IGFu
IG9iamVjdCB0YWcgd2l0aCBhIGRhdGEgYXR0cmlidXRlIGdldHMgYSBzcmMgYXR0cmlidXRlIGFz
IHdlbGwuCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9wbHVnaW5zL25ldHNjYXBl
LXBsdWdpbi1tYXAtZGF0YS10by1zcmMtZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2
bjpleGVjdXRhYmxlCiAgICsgKgoKSW5kZXg6IExheW91dFRlc3RzL3BsdWdpbnMvbmV0c2NhcGUt
cGx1Z2luLW1hcC1kYXRhLXRvLXNyYy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
dWdpbnMvbmV0c2NhcGUtcGx1Z2luLW1hcC1kYXRhLXRvLXNyYy5odG1sCShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvcGx1Z2lucy9uZXRzY2FwZS1wbHVnaW4tbWFwLWRhdGEtdG8tc3JjLmh0
bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTQgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
PgorICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKzwvc2NyaXB0PgorPGJvZHkgc3R5bGU9Im1hcmdp
bjowcHg7b3ZlcmZsb3c6aGlkZGVuIj4KKzxvYmplY3QgbmFtZT0idGVzdFBsdWdpbiIgdHlwZT0i
YXBwbGljYXRpb24veC13ZWJraXQtdGVzdC1uZXRzY2FwZSIgbG9nU3JjPSJ0cnVlIiBkYXRhPSJi
bGFoIj4KKzwvb2JqZWN0PgorPGRpdj4KKyAgICBUaGlzIHRlc3RzIHRoYXQgYW4gb2JqZWN0IHRh
ZyB3aXRoIGEgZGF0YSBhdHRyaWJ1dGUgZ2V0cyBhIHNyYyBhdHRyaWJ1dGUgYXMgd2VsbC4KKzwv
ZGl2PgorPGJvZHk+Cis8L2h0bWw+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9w
bHVnaW5zL25ldHNjYXBlLXBsdWdpbi1tYXAtZGF0YS10by1zcmMuaHRtbApfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFk
ZGVkOiBzdm46ZXhlY3V0YWJsZQogICArICoKCg==
</data>
<flag name="review"
          id="16495"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>