<?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>130071</bug_id>
          
          <creation_ts>2014-03-11 00:25:17 -0700</creation_ts>
          <short_desc>AX: AccessibilityObject::invalidStatus() is incorrect when aria-invalid=&quot;undefined&quot; or whitespace</short_desc>
          <delta_ts>2014-03-14 15:02:36 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="James Craig">jcraig</reporter>
          <assigned_to name="James Craig">jcraig</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>jdiggs</cc>
    
    <cc>mario</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>989280</commentid>
    <comment_count>0</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-03-11 00:25:17 -0700</bug_when>
    <thetext>AX: AccessibilityObject::invalidStatus() is incorrect when aria-invalid=&quot;undefined&quot;

The when the string value &quot;undefined&quot; is used explicitly, it should be treated the same as ariaInvalid.isEmpty()

    // If &apos;false&apos;, empty or not present, it should return false.
    if (ariaInvalid.isEmpty() || equalIgnoringCase(ariaInvalid, invalidStatusFalse))
        return invalidStatusFalse;

Should be:

    // If &apos;false&apos;, empty or not present, it should return false.
    if (ariaInvalid.isEmpty() || equalIgnoringCase(ariaInvalid, invalidStatusFalse) || equalIgnoringCase(ariaInvalid, &quot;undefined&quot;))
        return invalidStatusFalse;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990243</commentid>
    <comment_count>1</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-03-13 19:12:57 -0700</bug_when>
    <thetext>&lt;rdar://problem/16322420&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990246</commentid>
    <comment_count>2</comment_count>
      <attachid>226639</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-03-13 19:17:10 -0700</bug_when>
    <thetext>Created attachment 226639
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990255</commentid>
    <comment_count>3</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-03-13 19:30:02 -0700</bug_when>
    <thetext>[ 16%] Building CXX object Source/WebCore/CMakeFiles/WebCore.dir/inspector/InspectorResourceAgent.cpp.o
/mnt/eflews/git/webkit/Source/WebCore/accessibility/AccessibilityObject.cpp: In member function &apos;virtual const WTF::AtomicString&amp; WebCore::AccessibilityObject::invalidStatus() const&apos;:
/mnt/eflews/git/webkit/Source/WebCore/accessibility/AccessibilityObject.cpp:1540:103: error: &apos;stripLeadingAndTrailingHTMLSpaces&apos; was not declared in this scope
make[2]: *** [Source/WebCore/CMakeFiles/WebCore.dir/accessibility/AccessibilityObject.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990258</commentid>
    <comment_count>4</comment_count>
      <attachid>226640</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-03-13 19:33:38 -0700</bug_when>
    <thetext>Created attachment 226640
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990269</commentid>
    <comment_count>5</comment_count>
      <attachid>226643</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-03-13 20:07:03 -0700</bug_when>
    <thetext>Created attachment 226643
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990514</commentid>
    <comment_count>6</comment_count>
      <attachid>226643</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-03-14 09:24:39 -0700</bug_when>
    <thetext>Comment on attachment 226643
patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        AX: AccessibilityObject::invalidStatus() is incorrect when aria-invalid=&quot;undefined&quot; or whitespace

i don&apos;t see undefined listed in the spec
http://www.w3.org/TR/wai-aria/states_and_properties

&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:1534
&gt; +    DEFINE_STATIC_LOCAL(const AtomicString, invalidStatusGrammar, (&quot;grammar&quot;, AtomicString::ConstructFromLiteral));

there&apos;s been a desire to stop using statics for things like this. so we might as well change this style if we&apos;re going to modify this code.

Let&apos;s just use

ASCIILiteral(&quot;grammar&quot;) when necessary.
See
  https://chromium.googlesource.com/chromium/blink/+/873a4a1f950d7cd7ebe27baba2c0e7e9491190f4%5E%21/#F3
for more examples</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990537</commentid>
    <comment_count>7</comment_count>
      <attachid>226643</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-03-14 10:09:57 -0700</bug_when>
    <thetext>Comment on attachment 226643
patch

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

&gt;&gt; Source/WebCore/ChangeLog:3
&gt;&gt; +        AX: AccessibilityObject::invalidStatus() is incorrect when aria-invalid=&quot;undefined&quot; or whitespace
&gt; 
&gt; i don&apos;t see undefined listed in the spec
&gt; http://www.w3.org/TR/wai-aria/states_and_properties

From http://www.w3.org/WAI/PF/aria/complete#propcharacteristic_value

The &quot;undefined&quot; value, when allowed on a state or property, is an explicit indication that the state or property is not set. The value is used on states and properties that support tokens, and the &quot;undefined&quot; value is a string that is one of the allowed tokens.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990582</commentid>
    <comment_count>8</comment_count>
      <attachid>226739</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-03-14 11:31:03 -0700</bug_when>
    <thetext>Created attachment 226739
patch with review feedback</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990587</commentid>
    <comment_count>9</comment_count>
      <attachid>226743</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-03-14 11:45:20 -0700</bug_when>
    <thetext>Created attachment 226743
patch merges conflicts with TOT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990589</commentid>
    <comment_count>10</comment_count>
      <attachid>226743</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-03-14 11:48:31 -0700</bug_when>
    <thetext>Comment on attachment 226743
patch merges conflicts with TOT

we should remove virtual from the method, since subclassers won&apos;t override this</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990595</commentid>
    <comment_count>11</comment_count>
      <attachid>226746</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-03-14 11:58:18 -0700</bug_when>
    <thetext>Created attachment 226746
patch to fix ATK build failure</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990634</commentid>
    <comment_count>12</comment_count>
      <attachid>226756</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-03-14 13:19:43 -0700</bug_when>
    <thetext>Created attachment 226756
previous patch -virtual</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990676</commentid>
    <comment_count>13</comment_count>
      <attachid>226756</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-14 14:27:19 -0700</bug_when>
    <thetext>Comment on attachment 226756
previous patch -virtual

Rejecting attachment 226756 from commit-queue.

jcraig@apple.com does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/contributors.json.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/contributors.json by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990677</commentid>
    <comment_count>14</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-03-14 14:27:50 -0700</bug_when>
    <thetext>Told you, Sam. ;-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990694</commentid>
    <comment_count>15</comment_count>
      <attachid>226756</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-14 15:02:32 -0700</bug_when>
    <thetext>Comment on attachment 226756
previous patch -virtual

Clearing flags on attachment: 226756

Committed r165656: &lt;http://trac.webkit.org/changeset/165656&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990695</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-14 15:02:36 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226639</attachid>
            <date>2014-03-13 19:17:10 -0700</date>
            <delta_ts>2014-03-13 19:33:38 -0700</delta_ts>
            <desc>patch</desc>
            <filename>webkit130071.diff</filename>
            <type>text/plain</type>
            <size>12075</size>
            <attacher name="James Craig">jcraig</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NTU5MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE0LTAzLTEzICBKYW1lcyBD
cmFpZyAgPGpjcmFpZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEFjY2Vzc2liaWxpdHlPYmpl
Y3Q6OmludmFsaWRTdGF0dXMoKSBpcyBpbmNvcnJlY3Qgd2hlbiBhcmlhLWludmFsaWQ9InVuZGVm
aW5lZCIgb3Igd2hpdGVzcGFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTMwMDcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGVzdDogYWNjZXNzaWJpbGl0eS9hcmlhLWludmFsaWQuaHRtbAorCisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDogCisgICAgICAgIChX
ZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjppbnZhbGlkU3RhdHVzKTogQWNjb3VudGVkIGZv
ciB3aGl0ZXNwYWNlIHZhbHVlcyBhbmQgdGhlIAorICAgICAgICBleHBsaWNpdCBzdHJpbmcsICJ1
bmRlZmluZWQiLgorCiAyMDE0LTAzLTEzICBEaWVnbyBQaW5vIEdhcmNpYSAgPGRwaW5vQGlnYWxp
YS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogQVhJOiBFeHBvc2UgZm9jdXNlZC9mb2N1
c2FibGUgc3RhdGUgaW4gdGhlIEFjY2Vzc2liaWxpdHkgTm9kZSBJbnNwZWN0b3IKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0
LmNwcAkocmV2aXNpb24gMTY1NTc1KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTUzMCwyMCArMTUzMCwy
NCBAQCBib29sIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFyaWFJc011bHRpbGluCiAKIGNvbnN0IEF0
b21pY1N0cmluZyYgQWNjZXNzaWJpbGl0eU9iamVjdDo6aW52YWxpZFN0YXR1cygpIGNvbnN0CiB7
CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIGludmFsaWRTdGF0
dXNHcmFtbWFyLCAoImdyYW1tYXIiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFs
KSk7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIGludmFsaWRT
dGF0dXNGYWxzZSwgKCJmYWxzZSIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwp
KTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgaW52YWxpZFN0
YXR1c1NwZWxsaW5nLCAoInNwZWxsaW5nIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0
ZXJhbCkpOwogICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBpbnZh
bGlkU3RhdHVzVHJ1ZSwgKCJ0cnVlIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJh
bCkpOworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBpbnZhbGlk
U3RhdHVzVW5kZWZpbmVkLCAoInVuZGVmaW5lZCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJv
bUxpdGVyYWwpKTsKICAgICAKLSAgICAvLyBhcmlhLWludmFsaWQgY2FuIHJldHVybiBmYWxzZSAo
ZGVmYXVsdCksIGdyYW1tZXIsIHNwZWxsaW5nLCBvciB0cnVlLgotICAgIGNvbnN0IEF0b21pY1N0
cmluZyYgYXJpYUludmFsaWQgPSBnZXRBdHRyaWJ1dGUoYXJpYV9pbnZhbGlkQXR0cik7CisgICAg
Ly8gYXJpYS1pbnZhbGlkIGNhbiByZXR1cm4gZmFsc2UgKGRlZmF1bHQpLCBncmFtbWFyLCBzcGVs
bGluZywgb3IgdHJ1ZS4KKyAgICBjb25zdCBBdG9taWNTdHJpbmcmIGFyaWFJbnZhbGlkID0gc3Ry
aXBMZWFkaW5nQW5kVHJhaWxpbmdIVE1MU3BhY2VzKGdldEF0dHJpYnV0ZShhcmlhX2ludmFsaWRB
dHRyKSk7CiAgICAgCi0gICAgLy8gSWYgJ2ZhbHNlJywgZW1wdHkgb3Igbm90IHByZXNlbnQsIGl0
IHNob3VsZCByZXR1cm4gZmFsc2UuCi0gICAgaWYgKGFyaWFJbnZhbGlkLmlzRW1wdHkoKSB8fCBl
cXVhbElnbm9yaW5nQ2FzZShhcmlhSW52YWxpZCwgaW52YWxpZFN0YXR1c0ZhbHNlKSkKKyAgICAv
LyBJZiAnZmFsc2UnLCAndW5kZWZpbmVkJyBbc2ljLCBzdHJpbmcgdmFsdWUgJ3VuZGVmaW5lZCdd
LCBlbXB0eSwgb3Igbm90IHByZXNlbnQsIGl0IHNob3VsZCByZXR1cm4gJ2ZhbHNlJy4KKyAgICBp
ZiAoYXJpYUludmFsaWQuaXNFbXB0eSgpIHx8IGVxdWFsSWdub3JpbmdDYXNlKGFyaWFJbnZhbGlk
LCBpbnZhbGlkU3RhdHVzRmFsc2UpIHx8IGVxdWFsSWdub3JpbmdDYXNlKGFyaWFJbnZhbGlkLCBp
bnZhbGlkU3RhdHVzVW5kZWZpbmVkKSkKICAgICAgICAgcmV0dXJuIGludmFsaWRTdGF0dXNGYWxz
ZTsKLSAgICAKLSAgICAvLyBPbmx5ICd0cnVlJywgJ2dyYW1tYXInIGFuZCAnc3BlbGxpbmcnIGFy
ZSB2YWx1ZXMgcmVjb2duaXNlZCBieSB0aGUgV0FJLUFSSUEKLSAgICAvLyBzcGVjaWZpY2F0aW9u
LiBBbnkgb3RoZXIgbm9uIGVtcHR5IHN0cmluZyBzaG91bGQgYmUgdHJlYXRlZCBhcyAndHJ1ZScu
Ci0gICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKGFyaWFJbnZhbGlkLCAic3BlbGxpbmciKSB8fCBl
cXVhbElnbm9yaW5nQ2FzZShhcmlhSW52YWxpZCwgImdyYW1tYXIiKSkKLSAgICAgICAgcmV0dXJu
IGFyaWFJbnZhbGlkOworICAgIC8vIE9ubHkgJ2dyYW1tYXInIGFuZCAnc3BlbGxpbmcnIGFyZSBy
ZWNvZ25pemVkIGFzIHRydXRoeSBieSBXQUktQVJJQSAxLjAuCisgICAgaWYgKGVxdWFsSWdub3Jp
bmdDYXNlKGFyaWFJbnZhbGlkLCBpbnZhbGlkU3RhdHVzR3JhbW1hcikpCisgICAgICAgIHJldHVy
biBpbnZhbGlkU3RhdHVzR3JhbW1hcjsKKyAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UoYXJpYUlu
dmFsaWQsIGludmFsaWRTdGF0dXNTcGVsbGluZykpCisgICAgICAgIHJldHVybiBpbnZhbGlkU3Rh
dHVzU3BlbGxpbmc7CisgICAgLy8gQW55IG90aGVyIG5vbiBlbXB0eSBzdHJpbmcgc2hvdWxkIGJl
IHRyZWF0ZWQgYXMgJ3RydWUnLgogICAgIHJldHVybiBpbnZhbGlkU3RhdHVzVHJ1ZTsKIH0KICAK
SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE2NTU5MSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE0LTAzLTEzICBKYW1lcyBDcmFpZyAgPGpj
cmFpZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEFjY2Vzc2liaWxpdHlPYmplY3Q6OmludmFs
aWRTdGF0dXMoKSBpcyBpbmNvcnJlY3Qgd2hlbiBhcmlhLWludmFsaWQ9InVuZGVmaW5lZCIgb3Ig
d2hpdGVzcGFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTMwMDcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWNjb3VudGVkIGZvciB3aGl0ZXNwYWNlIHZhbHVlcyBhbmQgdGhlIGV4cGxpY2l0IHN0cmlu
ZywgInVuZGVmaW5lZCIuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2FyaWEtaW52YWxpZC1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hcmlhLWludmFsaWQuaHRtbDog
CisKIDIwMTQtMDMtMTMgIERpZWdvIFBpbm8gR2FyY2lhICA8ZHBpbm9AaWdhbGlhLmNvbT4KIAog
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBBWEk6IEV4cG9zZSBmb2N1c2VkL2ZvY3VzYWJsZSBzdGF0
ZSBpbiB0aGUgQWNjZXNzaWJpbGl0eSBOb2RlIEluc3BlY3RvcgpJbmRleDogTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9hcmlhLWludmFsaWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1pbnZhbGlkLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMTY1NTc1KQorKysgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWludmFsaWQtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE3ICsxLDI5IEBACi0gICAgICAKIFRoaXMg
dGVzdHMgdGhhdCBhcmlhLWludmFsaWQgY2F1c2VzIHRoZSByaWdodCBhdHRyaWJ1dGUgdG8gYmUg
cmV0dXJuZWQgYW5kIGl0IGVuc3VyZXMgYSBub3RpZmljYXRpb24gaXMgc2VudCB3aGVuIGl0IGNo
YW5nZXMuCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCi1QQVNTIGFjY2Vzc2liaWxp
dHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LnN0cmluZ0F0dHJpYnV0ZVZhbHVlKCdBWEludmFs
aWQnKSBpcyAndHJ1ZScKLVBBU1MgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1l
bnQuc3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FYSW52YWxpZCcpIGlzICdncmFtbWFyJwotUEFTUyBh
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5zdHJpbmdBdHRyaWJ1dGVWYWx1
ZSgnQVhJbnZhbGlkJykgaXMgJ3NwZWxsaW5nJwotUEFTUyBhY2Nlc3NpYmlsaXR5Q29udHJvbGxl
ci5mb2N1c2VkRWxlbWVudC5zdHJpbmdBdHRyaWJ1dGVWYWx1ZSgnQVhJbnZhbGlkJykgaXMgJ3Ry
dWUnCi1QQVNTIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LnN0cmluZ0F0
dHJpYnV0ZVZhbHVlKCdBWEludmFsaWQnKSBpcyAnZmFsc2UnCi1QQVNTIGFjY2Vzc2liaWxpdHlD
b250cm9sbGVyLmZvY3VzZWRFbGVtZW50LnN0cmluZ0F0dHJpYnV0ZVZhbHVlKCdBWEludmFsaWQn
KSBpcyAnZmFsc2UnCi1QQVNTIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50
LnN0cmluZ0F0dHJpYnV0ZVZhbHVlKCdBWEludmFsaWQnKSBpcyAnZmFsc2UnCitQQVNTOiBBWElu
dmFsaWQgaXMgZmFsc2UuCitQQVNTOiBBWEludmFsaWQgaXMgZmFsc2UuCitQQVNTOiBBWEludmFs
aWQgaXMgZmFsc2UuCitQQVNTOiBBWEludmFsaWQgaXMgZmFsc2UuCitQQVNTOiBBWEludmFsaWQg
aXMgZmFsc2UuCitQQVNTOiBBWEludmFsaWQgaXMgZmFsc2UuCitQQVNTOiBBWEludmFsaWQgaXMg
ZmFsc2UuCitQQVNTOiBBWEludmFsaWQgaXMgZmFsc2UuCitQQVNTOiBBWEludmFsaWQgaXMgZ3Jh
bW1hci4KK1BBU1M6IEFYSW52YWxpZCBpcyBncmFtbWFyLgorUEFTUzogQVhJbnZhbGlkIGlzIHNw
ZWxsaW5nLgorUEFTUzogQVhJbnZhbGlkIGlzIHNwZWxsaW5nLgorUEFTUzogQVhJbnZhbGlkIGlz
IHRydWUuCitQQVNTOiBBWEludmFsaWQgaXMgdHJ1ZS4KK1BBU1M6IEFYSW52YWxpZCBpcyB0cnVl
LgorUEFTUzogQVhJbnZhbGlkIGlzIHRydWUuCitQQVNTOiBBWEludmFsaWQgaXMgdHJ1ZS4KK1BB
U1M6IEFYSW52YWxpZCBpcyB0cnVlLgorUEFTUzogQVhJbnZhbGlkIGlzIHRydWUuCiBQQVNTIGFk
ZGVkTm90aWZpY2F0aW9uIGlzIHRydWUKK1BBU1M6IEFYSW52YWxpZCBpcyBzcGVsbGluZy4KIFBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpJbmRleDogTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWludmFsaWQuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtaW52YWxpZC5odG1sCShyZXZpc2lvbiAxNjU1
NzUpCisrKyBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtaW52YWxpZC5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC01LDE0ICs1LDM1IEBACiA8L2hlYWQ+CiA8Ym9keSBpZD0iYm9keSI+CiAK
LQotPGlucHV0IHR5cGU9InRleHQiIGlkPSJ0ZXh0MSIgYXJpYS1pbnZhbGlkPSJ0cnVlIj4KLTxp
bnB1dCB0eXBlPSJ0ZXh0IiBpZD0idGV4dDIiIGFyaWEtaW52YWxpZD0iZ3JhbW1hciI+Ci08aW5w
dXQgdHlwZT0idGV4dCIgaWQ9InRleHQzIiBhcmlhLWludmFsaWQ9InNwZWxsaW5nIj4KLTxpbnB1
dCB0eXBlPSJ0ZXh0IiBpZD0idGV4dDQiIGFyaWEtaW52YWxpZD0ibm90YWxsb3dlZCI+Ci08aW5w
dXQgdHlwZT0idGV4dCIgaWQ9InRleHQ1IiBhcmlhLWludmFsaWQ9ImZhbHNlIj4KLTxpbnB1dCB0
eXBlPSJ0ZXh0IiBpZD0idGV4dDYiIGFyaWEtaW52YWxpZD0iIj4KLTxpbnB1dCB0eXBlPSJ0ZXh0
IiBpZD0idGV4dDciPgorPGRpdiBpZD0iZXhhbXBsZXMiPgorICAgIDwhLS0gQWxsIG9mIHRoZXNl
IGV2YWwgdG8gQVhJbnZhbGlkOiAnZmFsc2UnIC0tPgorICAgIDxpbnB1dCBjbGFzcz0iZXgiIGRh
dGEtZXhwZWN0ZWQ9ImZhbHNlIiB0eXBlPSJ0ZXh0Ij4KKyAgICA8aW5wdXQgY2xhc3M9ImV4IiBk
YXRhLWV4cGVjdGVkPSJmYWxzZSIgdHlwZT0idGV4dCIgYXJpYS1pbnZhbGlkPgorICAgIDxpbnB1
dCBjbGFzcz0iZXgiIGRhdGEtZXhwZWN0ZWQ9ImZhbHNlIiB0eXBlPSJ0ZXh0IiBhcmlhLWludmFs
aWQ9IiI+CisgICAgPGlucHV0IGNsYXNzPSJleCIgZGF0YS1leHBlY3RlZD0iZmFsc2UiIHR5cGU9
InRleHQiIGFyaWEtaW52YWxpZD0iICI+CisgICAgPGlucHV0IGNsYXNzPSJleCIgZGF0YS1leHBl
Y3RlZD0iZmFsc2UiIHR5cGU9InRleHQiIGFyaWEtaW52YWxpZD0iCSI+PCEtLSBbc2ljXSB0YWIg
Y2hhciAtLT4KKyAgICA8aW5wdXQgY2xhc3M9ImV4IiBkYXRhLWV4cGVjdGVkPSJmYWxzZSIgdHlw
ZT0idGV4dCIgYXJpYS1pbnZhbGlkPSIKKyAgICAiPjwhLS0gW3NpY10gbmV3bGluZSBjaGFyIC0t
PgorICAgIDxpbnB1dCBjbGFzcz0iZXgiIGRhdGEtZXhwZWN0ZWQ9ImZhbHNlIiB0eXBlPSJ0ZXh0
IiBhcmlhLWludmFsaWQ9ImZhbHNlIj4KKyAgICA8aW5wdXQgY2xhc3M9ImV4IiBkYXRhLWV4cGVj
dGVkPSJmYWxzZSIgdHlwZT0idGV4dCIgYXJpYS1pbnZhbGlkPSJ1bmRlZmluZWQiPgorCisgICAg
PCEtLSBLbm93biB0b2tlbiB2YWx1ZXMgaW4gQVJJQSAxLjAuIC0tPgorICAgIDxpbnB1dCBjbGFz
cz0iZXgiIGRhdGEtZXhwZWN0ZWQ9ImdyYW1tYXIiIHR5cGU9InRleHQiIGFyaWEtaW52YWxpZD0i
Z3JhbW1hciI+CisgICAgPGlucHV0IGNsYXNzPSJleCIgZGF0YS1leHBlY3RlZD0iZ3JhbW1hciIg
dHlwZT0idGV4dCIgYXJpYS1pbnZhbGlkPSJncmFtbWFyCSI+PCEtLSBbc2ljXSB0YWIgY2hhciAt
LT4KKyAgICA8aW5wdXQgY2xhc3M9ImV4IiBkYXRhLWV4cGVjdGVkPSJzcGVsbGluZyIgdHlwZT0i
dGV4dCIgYXJpYS1pbnZhbGlkPSJzcGVsbGluZyI+CisgICAgPGlucHV0IGNsYXNzPSJleCIgZGF0
YS1leHBlY3RlZD0ic3BlbGxpbmciIHR5cGU9InRleHQiIGFyaWEtaW52YWxpZD0ic3BlbGxpbmcK
KyAgICAiPjwhLS0gW3NpY10gbmV3bGluZSBjaGFyIC0tPgorCisgICAgPCEtLSBBbGwgb3RoZXIg
c3RyaW5nIHZhbHVlcyBhcmUgdHJ1dGh5LCBpbmNsdWRpbmcgYSBjb21iaW5hdGlvbiBvZiBvdGhl
cndpc2UgdmFsaWQgdG9rZW5zLiAtLT4KKyAgICA8aW5wdXQgY2xhc3M9ImV4IiBkYXRhLWV4cGVj
dGVkPSJ0cnVlIiB0eXBlPSJ0ZXh0IiBhcmlhLWludmFsaWQ9InRydWUiPgorICAgIDxpbnB1dCBj
bGFzcz0iZXgiIGRhdGEtZXhwZWN0ZWQ9InRydWUiIHR5cGU9InRleHQiIGFyaWEtaW52YWxpZD0i
bm90YWxsb3dlZCI+CisgICAgPGlucHV0IGNsYXNzPSJleCIgZGF0YS1leHBlY3RlZD0idHJ1ZSIg
dHlwZT0idGV4dCIgYXJpYS1pbnZhbGlkPSLigKYiPgorICAgIDxpbnB1dCBjbGFzcz0iZXgiIGRh
dGEtZXhwZWN0ZWQ9InRydWUiIHR5cGU9InRleHQiIGFyaWEtaW52YWxpZD0iw4ciPgorICAgIDxp
bnB1dCBjbGFzcz0iZXgiIGRhdGEtZXhwZWN0ZWQ9InRydWUiIHR5cGU9InRleHQiIGFyaWEtaW52
YWxpZD0ic3BlbGxpbmcgZ3JhbW1hciI+CisgICAgPGlucHV0IGNsYXNzPSJleCIgZGF0YS1leHBl
Y3RlZD0idHJ1ZSIgdHlwZT0idGV4dCIgYXJpYS1pbnZhbGlkPSJzcGVsbGluZwlncmFtbWFyIj48
IS0tIFtzaWNdIHRhYiBjaGFyIC0tPgorICAgIDxpbnB1dCBjbGFzcz0iZXgiIGRhdGEtZXhwZWN0
ZWQ9InRydWUiIHR5cGU9InRleHQiIGFyaWEtaW52YWxpZD0ic3BlbGxpbmcKKyAgICBncmFtbWFy
Ij48IS0tIFtzaWNdIG5ld2xpbmUgY2hhciAtLT4KKzwvZGl2PgogCiA8cCBpZD0iZGVzY3JpcHRp
b24iPjwvcD4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgpAQCAtMjIsNDQgKzQzLDQ3IEBACiAK
ICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IGFyaWEtaW52YWxpZCBjYXVzZXMgdGhl
IHJpZ2h0IGF0dHJpYnV0ZSB0byBiZSByZXR1cm5lZCBhbmQgaXQgZW5zdXJlcyBhIG5vdGlmaWNh
dGlvbiBpcyBzZW50IHdoZW4gaXQgY2hhbmdlcy4iKTsKIAotICAgIHZhciBub3RpZmljYXRpb25F
bGVtZW50ID0gMDsKKyAgICBmdW5jdGlvbiAkKGlkKXsKKyAgICAgICAgcmV0dXJuIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKGlkKTsKKyAgICB9CisKKyAgICB2YXIgYXhOb3RpZmljYXRpb25FbGVt
ZW50ID0gbnVsbDsKICAgICBmdW5jdGlvbiBub3RpZmljYXRpb25DYWxsYmFjayhub3RpZmljYXRp
b24pIHsKICAgICAgICAgaWYgKG5vdGlmaWNhdGlvbiA9PSAiQVhJbnZhbGlkU3RhdHVzQ2hhbmdl
ZCIpIHsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJub3RpZmljYXRpb25z
IikuaW5uZXJIVE1MICs9ICJOb3RpZmljYXRpb24gcmVjZWl2ZWQgc3VjY2Vzc2Z1bGx5LiI7Ci0g
ICAgICAgICAgICBub3RpZmljYXRpb25FbGVtZW50LnJlbW92ZU5vdGlmaWNhdGlvbkxpc3RlbmVy
KCk7CisgICAgICAgICAgICAkKCJub3RpZmljYXRpb25zIikuaW5uZXJIVE1MICs9ICJOb3RpZmlj
YXRpb24gcmVjZWl2ZWQgc3VjY2Vzc2Z1bGx5LiI7CisgICAgICAgICAgICBheE5vdGlmaWNhdGlv
bkVsZW1lbnQucmVtb3ZlTm90aWZpY2F0aW9uTGlzdGVuZXIoKTsKKyAgICAgICAgICAgICQoImV4
YW1wbGVzIikuaGlkZGVuID0gdHJ1ZTsKICAgICAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKICAgICAgICAgfQogICAgIH0KIAorICAgIHZhciByZXN1bHQgPSAkKCdjb25z
b2xlJyk7CisgICAgZnVuY3Rpb24gdmVyaWZ5KHZhbHVlLCBleHBlY3RhdGlvbiwgZWxlbWVudCkg
eworICAgICAgaWYgKHZhbHVlID09PSBleHBlY3RhdGlvbikKKyAgICAgICAgcmVzdWx0LmlubmVy
VGV4dCArPSAiUEFTUzogQVhJbnZhbGlkIGlzICIgKyB2YWx1ZSArICIuXG4iOworICAgICAgZWxz
ZQorICAgICAgICByZXN1bHQuaW5uZXJUZXh0ICs9ICJGQUlMOiBBWEludmFsaWQgaXMgIiArIHZh
bHVlICsgIi4gRXhwZWN0ZWQ6ICIgKyBleHBlY3RhdGlvbiArICIuICIgKyAoZWxlbWVudCA/IGVs
ZW1lbnQub3V0ZXJIVE1MIDogIiIpICsgIlxuIjsKKyAgICB9CisKICAgICBpZiAod2luZG93LmFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CiAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKIAotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4dDEiKS5m
b2N1cygpOwotICAgICAgICBzaG91bGRCZSgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNl
ZEVsZW1lbnQuc3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FYSW52YWxpZCcpIiwgIid0cnVlJyIpOwot
Ci0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXh0MiIpLmZvY3VzKCk7Ci0gICAg
ICAgIHNob3VsZEJlKCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5zdHJp
bmdBdHRyaWJ1dGVWYWx1ZSgnQVhJbnZhbGlkJykiLCAiJ2dyYW1tYXInIik7Ci0KLSAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHQzIikuZm9jdXMoKTsKLSAgICAgICAgc2hvdWxk
QmUoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LnN0cmluZ0F0dHJpYnV0
ZVZhbHVlKCdBWEludmFsaWQnKSIsICInc3BlbGxpbmcnIik7Ci0KLSAgICAgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInRleHQ0IikuZm9jdXMoKTsKLSAgICAgICAgc2hvdWxkQmUoImFjY2Vz
c2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LnN0cmluZ0F0dHJpYnV0ZVZhbHVlKCdB
WEludmFsaWQnKSIsICIndHJ1ZSciKTsKLQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgidGV4dDUiKS5mb2N1cygpOwotICAgICAgICBzaG91bGRCZSgiYWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXIuZm9jdXNlZEVsZW1lbnQuc3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FYSW52YWxpZCcpIiwg
IidmYWxzZSciKTsKLQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4dDYiKS5m
b2N1cygpOwotICAgICAgICBzaG91bGRCZSgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNl
ZEVsZW1lbnQuc3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FYSW52YWxpZCcpIiwgIidmYWxzZSciKTsK
LQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4dDciKS5mb2N1cygpOwotICAg
ICAgICBzaG91bGRCZSgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuc3Ry
aW5nQXR0cmlidXRlVmFsdWUoJ0FYSW52YWxpZCcpIiwgIidmYWxzZSciKTsKLQotICAgICAgICBu
b3RpZmljYXRpb25FbGVtZW50ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1l
bnQ7Ci0gICAgICAgIHZhciBhZGRlZE5vdGlmaWNhdGlvbiA9IG5vdGlmaWNhdGlvbkVsZW1lbnQu
YWRkTm90aWZpY2F0aW9uTGlzdGVuZXIobm90aWZpY2F0aW9uQ2FsbGJhY2spOworICAgICAgICB2
YXIgZXhhbXBsZXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuZXgiKTsKKyAgICAgICAg
Zm9yICh2YXIgaSA9IDAsIGMgPSBleGFtcGxlcy5sZW5ndGg7IGkgPCBjOyBpKyspIHsKKyAgICAg
ICAgICAgIHZhciBlbCA9IGV4YW1wbGVzW2ldOworICAgICAgICAgICAgZWwuZm9jdXMoKTsKKyAg
ICAgICAgICAgIHZhciBleHBlY3RhdGlvbiA9IGVsLmdldEF0dHJpYnV0ZSgiZGF0YS1leHBlY3Rl
ZCIpOworICAgICAgICAgICAgdmFyIHZhbHVlID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9j
dXNlZEVsZW1lbnQuc3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FYSW52YWxpZCcpOworICAgICAgICAg
ICAgdmVyaWZ5KHZhbHVlLCBleHBlY3RhdGlvbiwgZWwpOworICAgICAgICB9CisgICAgICAgIAor
ICAgICAgICB2YXIgZG9tTm90aWZpY2F0aW9uRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0
b3IoIi5leCIpOworICAgICAgICBkb21Ob3RpZmljYXRpb25FbGVtZW50LmZvY3VzKCk7CisgICAg
ICAgIGF4Tm90aWZpY2F0aW9uRWxlbWVudCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3Vz
ZWRFbGVtZW50OworICAgICAgICB2YXIgYWRkZWROb3RpZmljYXRpb24gPSBheE5vdGlmaWNhdGlv
bkVsZW1lbnQuYWRkTm90aWZpY2F0aW9uTGlzdGVuZXIobm90aWZpY2F0aW9uQ2FsbGJhY2spOwog
ICAgICAgICBzaG91bGRCZVRydWUoImFkZGVkTm90aWZpY2F0aW9uIik7Ci0KLSAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHQ3Iikuc2V0QXR0cmlidXRlKCJhcmlhLWludmFsaWQi
LCAic3BlbGxpbmciKTsKKyAgICAgICAgZG9tTm90aWZpY2F0aW9uRWxlbWVudC5zZXRBdHRyaWJ1
dGUoImFyaWEtaW52YWxpZCIsICJzcGVsbGluZyIpOworICAgICAgICB2ZXJpZnkoYXhOb3RpZmlj
YXRpb25FbGVtZW50LnN0cmluZ0F0dHJpYnV0ZVZhbHVlKCdBWEludmFsaWQnKSwgInNwZWxsaW5n
IiwgZG9tTm90aWZpY2F0aW9uRWxlbWVudCk7CiAgICAgfQogCiA8L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226640</attachid>
            <date>2014-03-13 19:33:38 -0700</date>
            <delta_ts>2014-03-13 20:07:03 -0700</delta_ts>
            <desc>patch</desc>
            <filename>webkit130071.diff</filename>
            <type>text/plain</type>
            <size>12084</size>
            <attacher name="James Craig">jcraig</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NTU5MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE0LTAzLTEzICBKYW1lcyBD
cmFpZyAgPGpjcmFpZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEFjY2Vzc2liaWxpdHlPYmpl
Y3Q6OmludmFsaWRTdGF0dXMoKSBpcyBpbmNvcnJlY3Qgd2hlbiBhcmlhLWludmFsaWQ9InVuZGVm
aW5lZCIgb3Igd2hpdGVzcGFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTMwMDcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGVzdDogYWNjZXNzaWJpbGl0eS9hcmlhLWludmFsaWQuaHRtbAorCisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDogCisgICAgICAgIChX
ZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjppbnZhbGlkU3RhdHVzKTogQWNjb3VudGVkIGZv
ciB3aGl0ZXNwYWNlIHZhbHVlcyBhbmQgdGhlIAorICAgICAgICBleHBsaWNpdCBzdHJpbmcsICJ1
bmRlZmluZWQiLgorCiAyMDE0LTAzLTEzICBEaWVnbyBQaW5vIEdhcmNpYSAgPGRwaW5vQGlnYWxp
YS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogQVhJOiBFeHBvc2UgZm9jdXNlZC9mb2N1
c2FibGUgc3RhdGUgaW4gdGhlIEFjY2Vzc2liaWxpdHkgTm9kZSBJbnNwZWN0b3IKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0
LmNwcAkocmV2aXNpb24gMTY1NTc1KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTUzMCwyMCArMTUzMCwy
NCBAQCBib29sIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFyaWFJc011bHRpbGluCiAKIGNvbnN0IEF0
b21pY1N0cmluZyYgQWNjZXNzaWJpbGl0eU9iamVjdDo6aW52YWxpZFN0YXR1cygpIGNvbnN0CiB7
CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIGludmFsaWRTdGF0
dXNHcmFtbWFyLCAoImdyYW1tYXIiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFs
KSk7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIGludmFsaWRT
dGF0dXNGYWxzZSwgKCJmYWxzZSIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwp
KTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgaW52YWxpZFN0
YXR1c1NwZWxsaW5nLCAoInNwZWxsaW5nIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0
ZXJhbCkpOwogICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBpbnZh
bGlkU3RhdHVzVHJ1ZSwgKCJ0cnVlIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJh
bCkpOworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBpbnZhbGlk
U3RhdHVzVW5kZWZpbmVkLCAoInVuZGVmaW5lZCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJv
bUxpdGVyYWwpKTsKICAgICAKLSAgICAvLyBhcmlhLWludmFsaWQgY2FuIHJldHVybiBmYWxzZSAo
ZGVmYXVsdCksIGdyYW1tZXIsIHNwZWxsaW5nLCBvciB0cnVlLgotICAgIGNvbnN0IEF0b21pY1N0
cmluZyYgYXJpYUludmFsaWQgPSBnZXRBdHRyaWJ1dGUoYXJpYV9pbnZhbGlkQXR0cik7CisgICAg
Ly8gYXJpYS1pbnZhbGlkIGNhbiByZXR1cm4gZmFsc2UgKGRlZmF1bHQpLCBncmFtbWFyLCBzcGVs
bGluZywgb3IgdHJ1ZS4KKyAgICBjb25zdCBBdG9taWNTdHJpbmcmIGFyaWFJbnZhbGlkID0gV2Vi
Q29yZTo6c3RyaXBMZWFkaW5nQW5kVHJhaWxpbmdIVE1MU3BhY2VzKGdldEF0dHJpYnV0ZShhcmlh
X2ludmFsaWRBdHRyKSk7CiAgICAgCi0gICAgLy8gSWYgJ2ZhbHNlJywgZW1wdHkgb3Igbm90IHBy
ZXNlbnQsIGl0IHNob3VsZCByZXR1cm4gZmFsc2UuCi0gICAgaWYgKGFyaWFJbnZhbGlkLmlzRW1w
dHkoKSB8fCBlcXVhbElnbm9yaW5nQ2FzZShhcmlhSW52YWxpZCwgaW52YWxpZFN0YXR1c0ZhbHNl
KSkKKyAgICAvLyBJZiAnZmFsc2UnLCAndW5kZWZpbmVkJyBbc2ljLCBzdHJpbmcgdmFsdWUgJ3Vu
ZGVmaW5lZCddLCBlbXB0eSwgb3Igbm90IHByZXNlbnQsIGl0IHNob3VsZCByZXR1cm4gJ2ZhbHNl
Jy4KKyAgICBpZiAoYXJpYUludmFsaWQuaXNFbXB0eSgpIHx8IGVxdWFsSWdub3JpbmdDYXNlKGFy
aWFJbnZhbGlkLCBpbnZhbGlkU3RhdHVzRmFsc2UpIHx8IGVxdWFsSWdub3JpbmdDYXNlKGFyaWFJ
bnZhbGlkLCBpbnZhbGlkU3RhdHVzVW5kZWZpbmVkKSkKICAgICAgICAgcmV0dXJuIGludmFsaWRT
dGF0dXNGYWxzZTsKLSAgICAKLSAgICAvLyBPbmx5ICd0cnVlJywgJ2dyYW1tYXInIGFuZCAnc3Bl
bGxpbmcnIGFyZSB2YWx1ZXMgcmVjb2duaXNlZCBieSB0aGUgV0FJLUFSSUEKLSAgICAvLyBzcGVj
aWZpY2F0aW9uLiBBbnkgb3RoZXIgbm9uIGVtcHR5IHN0cmluZyBzaG91bGQgYmUgdHJlYXRlZCBh
cyAndHJ1ZScuCi0gICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKGFyaWFJbnZhbGlkLCAic3BlbGxp
bmciKSB8fCBlcXVhbElnbm9yaW5nQ2FzZShhcmlhSW52YWxpZCwgImdyYW1tYXIiKSkKLSAgICAg
ICAgcmV0dXJuIGFyaWFJbnZhbGlkOworICAgIC8vIE9ubHkgJ2dyYW1tYXInIGFuZCAnc3BlbGxp
bmcnIGFyZSByZWNvZ25pemVkIGFzIHRydXRoeSBieSBXQUktQVJJQSAxLjAuCisgICAgaWYgKGVx
dWFsSWdub3JpbmdDYXNlKGFyaWFJbnZhbGlkLCBpbnZhbGlkU3RhdHVzR3JhbW1hcikpCisgICAg
ICAgIHJldHVybiBpbnZhbGlkU3RhdHVzR3JhbW1hcjsKKyAgICBpZiAoZXF1YWxJZ25vcmluZ0Nh
c2UoYXJpYUludmFsaWQsIGludmFsaWRTdGF0dXNTcGVsbGluZykpCisgICAgICAgIHJldHVybiBp
bnZhbGlkU3RhdHVzU3BlbGxpbmc7CisgICAgLy8gQW55IG90aGVyIG5vbiBlbXB0eSBzdHJpbmcg
c2hvdWxkIGJlIHRyZWF0ZWQgYXMgJ3RydWUnLgogICAgIHJldHVybiBpbnZhbGlkU3RhdHVzVHJ1
ZTsKIH0KICAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NTU5MSkKKysrIExheW91dFRlc3RzL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE0LTAzLTEzICBKYW1lcyBD
cmFpZyAgPGpjcmFpZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEFjY2Vzc2liaWxpdHlPYmpl
Y3Q6OmludmFsaWRTdGF0dXMoKSBpcyBpbmNvcnJlY3Qgd2hlbiBhcmlhLWludmFsaWQ9InVuZGVm
aW5lZCIgb3Igd2hpdGVzcGFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTMwMDcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWNjb3VudGVkIGZvciB3aGl0ZXNwYWNlIHZhbHVlcyBhbmQgdGhlIGV4cGxp
Y2l0IHN0cmluZywgInVuZGVmaW5lZCIuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2FyaWEt
aW52YWxpZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hcmlhLWludmFs
aWQuaHRtbDogCisKIDIwMTQtMDMtMTMgIERpZWdvIFBpbm8gR2FyY2lhICA8ZHBpbm9AaWdhbGlh
LmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBBWEk6IEV4cG9zZSBmb2N1c2VkL2ZvY3Vz
YWJsZSBzdGF0ZSBpbiB0aGUgQWNjZXNzaWJpbGl0eSBOb2RlIEluc3BlY3RvcgpJbmRleDogTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWludmFsaWQtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1pbnZhbGlkLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMTY1NTc1KQorKysgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWlu
dmFsaWQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE3ICsxLDI5IEBACi0gICAg
ICAKIFRoaXMgdGVzdHMgdGhhdCBhcmlhLWludmFsaWQgY2F1c2VzIHRoZSByaWdodCBhdHRyaWJ1
dGUgdG8gYmUgcmV0dXJuZWQgYW5kIGl0IGVuc3VyZXMgYSBub3RpZmljYXRpb24gaXMgc2VudCB3
aGVuIGl0IGNoYW5nZXMuCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCi1QQVNTIGFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LnN0cmluZ0F0dHJpYnV0ZVZhbHVl
KCdBWEludmFsaWQnKSBpcyAndHJ1ZScKLVBBU1MgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9j
dXNlZEVsZW1lbnQuc3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FYSW52YWxpZCcpIGlzICdncmFtbWFy
JwotUEFTUyBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5zdHJpbmdBdHRy
aWJ1dGVWYWx1ZSgnQVhJbnZhbGlkJykgaXMgJ3NwZWxsaW5nJwotUEFTUyBhY2Nlc3NpYmlsaXR5
Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5zdHJpbmdBdHRyaWJ1dGVWYWx1ZSgnQVhJbnZhbGlk
JykgaXMgJ3RydWUnCi1QQVNTIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50
LnN0cmluZ0F0dHJpYnV0ZVZhbHVlKCdBWEludmFsaWQnKSBpcyAnZmFsc2UnCi1QQVNTIGFjY2Vz
c2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LnN0cmluZ0F0dHJpYnV0ZVZhbHVlKCdB
WEludmFsaWQnKSBpcyAnZmFsc2UnCi1QQVNTIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3Vz
ZWRFbGVtZW50LnN0cmluZ0F0dHJpYnV0ZVZhbHVlKCdBWEludmFsaWQnKSBpcyAnZmFsc2UnCitQ
QVNTOiBBWEludmFsaWQgaXMgZmFsc2UuCitQQVNTOiBBWEludmFsaWQgaXMgZmFsc2UuCitQQVNT
OiBBWEludmFsaWQgaXMgZmFsc2UuCitQQVNTOiBBWEludmFsaWQgaXMgZmFsc2UuCitQQVNTOiBB
WEludmFsaWQgaXMgZmFsc2UuCitQQVNTOiBBWEludmFsaWQgaXMgZmFsc2UuCitQQVNTOiBBWElu
dmFsaWQgaXMgZmFsc2UuCitQQVNTOiBBWEludmFsaWQgaXMgZmFsc2UuCitQQVNTOiBBWEludmFs
aWQgaXMgZ3JhbW1hci4KK1BBU1M6IEFYSW52YWxpZCBpcyBncmFtbWFyLgorUEFTUzogQVhJbnZh
bGlkIGlzIHNwZWxsaW5nLgorUEFTUzogQVhJbnZhbGlkIGlzIHNwZWxsaW5nLgorUEFTUzogQVhJ
bnZhbGlkIGlzIHRydWUuCitQQVNTOiBBWEludmFsaWQgaXMgdHJ1ZS4KK1BBU1M6IEFYSW52YWxp
ZCBpcyB0cnVlLgorUEFTUzogQVhJbnZhbGlkIGlzIHRydWUuCitQQVNTOiBBWEludmFsaWQgaXMg
dHJ1ZS4KK1BBU1M6IEFYSW52YWxpZCBpcyB0cnVlLgorUEFTUzogQVhJbnZhbGlkIGlzIHRydWUu
CiBQQVNTIGFkZGVkTm90aWZpY2F0aW9uIGlzIHRydWUKK1BBU1M6IEFYSW52YWxpZCBpcyBzcGVs
bGluZy4KIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpJ
bmRleDogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWludmFsaWQuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtaW52YWxpZC5odG1sCShyZXZp
c2lvbiAxNjU1NzUpCisrKyBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtaW52YWxpZC5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC01LDE0ICs1LDM1IEBACiA8L2hlYWQ+CiA8Ym9keSBpZD0i
Ym9keSI+CiAKLQotPGlucHV0IHR5cGU9InRleHQiIGlkPSJ0ZXh0MSIgYXJpYS1pbnZhbGlkPSJ0
cnVlIj4KLTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0idGV4dDIiIGFyaWEtaW52YWxpZD0iZ3JhbW1h
ciI+Ci08aW5wdXQgdHlwZT0idGV4dCIgaWQ9InRleHQzIiBhcmlhLWludmFsaWQ9InNwZWxsaW5n
Ij4KLTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0idGV4dDQiIGFyaWEtaW52YWxpZD0ibm90YWxsb3dl
ZCI+Ci08aW5wdXQgdHlwZT0idGV4dCIgaWQ9InRleHQ1IiBhcmlhLWludmFsaWQ9ImZhbHNlIj4K
LTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0idGV4dDYiIGFyaWEtaW52YWxpZD0iIj4KLTxpbnB1dCB0
eXBlPSJ0ZXh0IiBpZD0idGV4dDciPgorPGRpdiBpZD0iZXhhbXBsZXMiPgorICAgIDwhLS0gQWxs
IG9mIHRoZXNlIGV2YWwgdG8gQVhJbnZhbGlkOiAnZmFsc2UnIC0tPgorICAgIDxpbnB1dCBjbGFz
cz0iZXgiIGRhdGEtZXhwZWN0ZWQ9ImZhbHNlIiB0eXBlPSJ0ZXh0Ij4KKyAgICA8aW5wdXQgY2xh
c3M9ImV4IiBkYXRhLWV4cGVjdGVkPSJmYWxzZSIgdHlwZT0idGV4dCIgYXJpYS1pbnZhbGlkPgor
ICAgIDxpbnB1dCBjbGFzcz0iZXgiIGRhdGEtZXhwZWN0ZWQ9ImZhbHNlIiB0eXBlPSJ0ZXh0IiBh
cmlhLWludmFsaWQ9IiI+CisgICAgPGlucHV0IGNsYXNzPSJleCIgZGF0YS1leHBlY3RlZD0iZmFs
c2UiIHR5cGU9InRleHQiIGFyaWEtaW52YWxpZD0iICI+CisgICAgPGlucHV0IGNsYXNzPSJleCIg
ZGF0YS1leHBlY3RlZD0iZmFsc2UiIHR5cGU9InRleHQiIGFyaWEtaW52YWxpZD0iCSI+PCEtLSBb
c2ljXSB0YWIgY2hhciAtLT4KKyAgICA8aW5wdXQgY2xhc3M9ImV4IiBkYXRhLWV4cGVjdGVkPSJm
YWxzZSIgdHlwZT0idGV4dCIgYXJpYS1pbnZhbGlkPSIKKyAgICAiPjwhLS0gW3NpY10gbmV3bGlu
ZSBjaGFyIC0tPgorICAgIDxpbnB1dCBjbGFzcz0iZXgiIGRhdGEtZXhwZWN0ZWQ9ImZhbHNlIiB0
eXBlPSJ0ZXh0IiBhcmlhLWludmFsaWQ9ImZhbHNlIj4KKyAgICA8aW5wdXQgY2xhc3M9ImV4IiBk
YXRhLWV4cGVjdGVkPSJmYWxzZSIgdHlwZT0idGV4dCIgYXJpYS1pbnZhbGlkPSJ1bmRlZmluZWQi
PgorCisgICAgPCEtLSBLbm93biB0b2tlbiB2YWx1ZXMgaW4gQVJJQSAxLjAuIC0tPgorICAgIDxp
bnB1dCBjbGFzcz0iZXgiIGRhdGEtZXhwZWN0ZWQ9ImdyYW1tYXIiIHR5cGU9InRleHQiIGFyaWEt
aW52YWxpZD0iZ3JhbW1hciI+CisgICAgPGlucHV0IGNsYXNzPSJleCIgZGF0YS1leHBlY3RlZD0i
Z3JhbW1hciIgdHlwZT0idGV4dCIgYXJpYS1pbnZhbGlkPSJncmFtbWFyCSI+PCEtLSBbc2ljXSB0
YWIgY2hhciAtLT4KKyAgICA8aW5wdXQgY2xhc3M9ImV4IiBkYXRhLWV4cGVjdGVkPSJzcGVsbGlu
ZyIgdHlwZT0idGV4dCIgYXJpYS1pbnZhbGlkPSJzcGVsbGluZyI+CisgICAgPGlucHV0IGNsYXNz
PSJleCIgZGF0YS1leHBlY3RlZD0ic3BlbGxpbmciIHR5cGU9InRleHQiIGFyaWEtaW52YWxpZD0i
c3BlbGxpbmcKKyAgICAiPjwhLS0gW3NpY10gbmV3bGluZSBjaGFyIC0tPgorCisgICAgPCEtLSBB
bGwgb3RoZXIgc3RyaW5nIHZhbHVlcyBhcmUgdHJ1dGh5LCBpbmNsdWRpbmcgYSBjb21iaW5hdGlv
biBvZiBvdGhlcndpc2UgdmFsaWQgdG9rZW5zLiAtLT4KKyAgICA8aW5wdXQgY2xhc3M9ImV4IiBk
YXRhLWV4cGVjdGVkPSJ0cnVlIiB0eXBlPSJ0ZXh0IiBhcmlhLWludmFsaWQ9InRydWUiPgorICAg
IDxpbnB1dCBjbGFzcz0iZXgiIGRhdGEtZXhwZWN0ZWQ9InRydWUiIHR5cGU9InRleHQiIGFyaWEt
aW52YWxpZD0ibm90YWxsb3dlZCI+CisgICAgPGlucHV0IGNsYXNzPSJleCIgZGF0YS1leHBlY3Rl
ZD0idHJ1ZSIgdHlwZT0idGV4dCIgYXJpYS1pbnZhbGlkPSLigKYiPgorICAgIDxpbnB1dCBjbGFz
cz0iZXgiIGRhdGEtZXhwZWN0ZWQ9InRydWUiIHR5cGU9InRleHQiIGFyaWEtaW52YWxpZD0iw4ci
PgorICAgIDxpbnB1dCBjbGFzcz0iZXgiIGRhdGEtZXhwZWN0ZWQ9InRydWUiIHR5cGU9InRleHQi
IGFyaWEtaW52YWxpZD0ic3BlbGxpbmcgZ3JhbW1hciI+CisgICAgPGlucHV0IGNsYXNzPSJleCIg
ZGF0YS1leHBlY3RlZD0idHJ1ZSIgdHlwZT0idGV4dCIgYXJpYS1pbnZhbGlkPSJzcGVsbGluZwln
cmFtbWFyIj48IS0tIFtzaWNdIHRhYiBjaGFyIC0tPgorICAgIDxpbnB1dCBjbGFzcz0iZXgiIGRh
dGEtZXhwZWN0ZWQ9InRydWUiIHR5cGU9InRleHQiIGFyaWEtaW52YWxpZD0ic3BlbGxpbmcKKyAg
ICBncmFtbWFyIj48IS0tIFtzaWNdIG5ld2xpbmUgY2hhciAtLT4KKzwvZGl2PgogCiA8cCBpZD0i
ZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgpAQCAtMjIsNDQgKzQz
LDQ3IEBACiAKICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IGFyaWEtaW52YWxpZCBj
YXVzZXMgdGhlIHJpZ2h0IGF0dHJpYnV0ZSB0byBiZSByZXR1cm5lZCBhbmQgaXQgZW5zdXJlcyBh
IG5vdGlmaWNhdGlvbiBpcyBzZW50IHdoZW4gaXQgY2hhbmdlcy4iKTsKIAotICAgIHZhciBub3Rp
ZmljYXRpb25FbGVtZW50ID0gMDsKKyAgICBmdW5jdGlvbiAkKGlkKXsKKyAgICAgICAgcmV0dXJu
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTsKKyAgICB9CisKKyAgICB2YXIgYXhOb3RpZmlj
YXRpb25FbGVtZW50ID0gbnVsbDsKICAgICBmdW5jdGlvbiBub3RpZmljYXRpb25DYWxsYmFjayhu
b3RpZmljYXRpb24pIHsKICAgICAgICAgaWYgKG5vdGlmaWNhdGlvbiA9PSAiQVhJbnZhbGlkU3Rh
dHVzQ2hhbmdlZCIpIHsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJub3Rp
ZmljYXRpb25zIikuaW5uZXJIVE1MICs9ICJOb3RpZmljYXRpb24gcmVjZWl2ZWQgc3VjY2Vzc2Z1
bGx5LiI7Ci0gICAgICAgICAgICBub3RpZmljYXRpb25FbGVtZW50LnJlbW92ZU5vdGlmaWNhdGlv
bkxpc3RlbmVyKCk7CisgICAgICAgICAgICAkKCJub3RpZmljYXRpb25zIikuaW5uZXJIVE1MICs9
ICJOb3RpZmljYXRpb24gcmVjZWl2ZWQgc3VjY2Vzc2Z1bGx5LiI7CisgICAgICAgICAgICBheE5v
dGlmaWNhdGlvbkVsZW1lbnQucmVtb3ZlTm90aWZpY2F0aW9uTGlzdGVuZXIoKTsKKyAgICAgICAg
ICAgICQoImV4YW1wbGVzIikuaGlkZGVuID0gdHJ1ZTsKICAgICAgICAgICAgIHdpbmRvdy50ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAgICAgfQogICAgIH0KIAorICAgIHZhciByZXN1bHQg
PSAkKCdjb25zb2xlJyk7CisgICAgZnVuY3Rpb24gdmVyaWZ5KHZhbHVlLCBleHBlY3RhdGlvbiwg
ZWxlbWVudCkgeworICAgICAgaWYgKHZhbHVlID09PSBleHBlY3RhdGlvbikKKyAgICAgICAgcmVz
dWx0LmlubmVyVGV4dCArPSAiUEFTUzogQVhJbnZhbGlkIGlzICIgKyB2YWx1ZSArICIuXG4iOwor
ICAgICAgZWxzZQorICAgICAgICByZXN1bHQuaW5uZXJUZXh0ICs9ICJGQUlMOiBBWEludmFsaWQg
aXMgIiArIHZhbHVlICsgIi4gRXhwZWN0ZWQ6ICIgKyBleHBlY3RhdGlvbiArICIuICIgKyAoZWxl
bWVudCA/IGVsZW1lbnQub3V0ZXJIVE1MIDogIiIpICsgIlxuIjsKKyAgICB9CisKICAgICBpZiAo
d2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CiAgICAgICAgIHdpbmRvdy50ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKIAotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
dGV4dDEiKS5mb2N1cygpOwotICAgICAgICBzaG91bGRCZSgiYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIuZm9jdXNlZEVsZW1lbnQuc3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FYSW52YWxpZCcpIiwgIid0
cnVlJyIpOwotCi0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXh0MiIpLmZvY3Vz
KCk7Ci0gICAgICAgIHNob3VsZEJlKCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxl
bWVudC5zdHJpbmdBdHRyaWJ1dGVWYWx1ZSgnQVhJbnZhbGlkJykiLCAiJ2dyYW1tYXInIik7Ci0K
LSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHQzIikuZm9jdXMoKTsKLSAgICAg
ICAgc2hvdWxkQmUoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LnN0cmlu
Z0F0dHJpYnV0ZVZhbHVlKCdBWEludmFsaWQnKSIsICInc3BlbGxpbmcnIik7Ci0KLSAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHQ0IikuZm9jdXMoKTsKLSAgICAgICAgc2hvdWxk
QmUoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LnN0cmluZ0F0dHJpYnV0
ZVZhbHVlKCdBWEludmFsaWQnKSIsICIndHJ1ZSciKTsKLQotICAgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgidGV4dDUiKS5mb2N1cygpOwotICAgICAgICBzaG91bGRCZSgiYWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuc3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FYSW52
YWxpZCcpIiwgIidmYWxzZSciKTsKLQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
dGV4dDYiKS5mb2N1cygpOwotICAgICAgICBzaG91bGRCZSgiYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIuZm9jdXNlZEVsZW1lbnQuc3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FYSW52YWxpZCcpIiwgIidm
YWxzZSciKTsKLQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4dDciKS5mb2N1
cygpOwotICAgICAgICBzaG91bGRCZSgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVs
ZW1lbnQuc3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FYSW52YWxpZCcpIiwgIidmYWxzZSciKTsKLQot
ICAgICAgICBub3RpZmljYXRpb25FbGVtZW50ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9j
dXNlZEVsZW1lbnQ7Ci0gICAgICAgIHZhciBhZGRlZE5vdGlmaWNhdGlvbiA9IG5vdGlmaWNhdGlv
bkVsZW1lbnQuYWRkTm90aWZpY2F0aW9uTGlzdGVuZXIobm90aWZpY2F0aW9uQ2FsbGJhY2spOwor
ICAgICAgICB2YXIgZXhhbXBsZXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuZXgiKTsK
KyAgICAgICAgZm9yICh2YXIgaSA9IDAsIGMgPSBleGFtcGxlcy5sZW5ndGg7IGkgPCBjOyBpKysp
IHsKKyAgICAgICAgICAgIHZhciBlbCA9IGV4YW1wbGVzW2ldOworICAgICAgICAgICAgZWwuZm9j
dXMoKTsKKyAgICAgICAgICAgIHZhciBleHBlY3RhdGlvbiA9IGVsLmdldEF0dHJpYnV0ZSgiZGF0
YS1leHBlY3RlZCIpOworICAgICAgICAgICAgdmFyIHZhbHVlID0gYWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXIuZm9jdXNlZEVsZW1lbnQuc3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FYSW52YWxpZCcpOwor
ICAgICAgICAgICAgdmVyaWZ5KHZhbHVlLCBleHBlY3RhdGlvbiwgZWwpOworICAgICAgICB9Cisg
ICAgICAgIAorICAgICAgICB2YXIgZG9tTm90aWZpY2F0aW9uRWxlbWVudCA9IGRvY3VtZW50LnF1
ZXJ5U2VsZWN0b3IoIi5leCIpOworICAgICAgICBkb21Ob3RpZmljYXRpb25FbGVtZW50LmZvY3Vz
KCk7CisgICAgICAgIGF4Tm90aWZpY2F0aW9uRWxlbWVudCA9IGFjY2Vzc2liaWxpdHlDb250cm9s
bGVyLmZvY3VzZWRFbGVtZW50OworICAgICAgICB2YXIgYWRkZWROb3RpZmljYXRpb24gPSBheE5v
dGlmaWNhdGlvbkVsZW1lbnQuYWRkTm90aWZpY2F0aW9uTGlzdGVuZXIobm90aWZpY2F0aW9uQ2Fs
bGJhY2spOwogICAgICAgICBzaG91bGRCZVRydWUoImFkZGVkTm90aWZpY2F0aW9uIik7Ci0KLSAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHQ3Iikuc2V0QXR0cmlidXRlKCJhcmlh
LWludmFsaWQiLCAic3BlbGxpbmciKTsKKyAgICAgICAgZG9tTm90aWZpY2F0aW9uRWxlbWVudC5z
ZXRBdHRyaWJ1dGUoImFyaWEtaW52YWxpZCIsICJzcGVsbGluZyIpOworICAgICAgICB2ZXJpZnko
YXhOb3RpZmljYXRpb25FbGVtZW50LnN0cmluZ0F0dHJpYnV0ZVZhbHVlKCdBWEludmFsaWQnKSwg
InNwZWxsaW5nIiwgZG9tTm90aWZpY2F0aW9uRWxlbWVudCk7CiAgICAgfQogCiA8L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226643</attachid>
            <date>2014-03-13 20:07:03 -0700</date>
            <delta_ts>2014-03-14 11:31:03 -0700</delta_ts>
            <desc>patch</desc>
            <filename>webkit130071.diff</filename>
            <type>text/plain</type>
            <size>12284</size>
            <attacher name="James Craig">jcraig</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NTU5MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE0LTAzLTEzICBKYW1lcyBD
cmFpZyAgPGpjcmFpZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEFjY2Vzc2liaWxpdHlPYmpl
Y3Q6OmludmFsaWRTdGF0dXMoKSBpcyBpbmNvcnJlY3Qgd2hlbiBhcmlhLWludmFsaWQ9InVuZGVm
aW5lZCIgb3Igd2hpdGVzcGFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTMwMDcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGVzdDogYWNjZXNzaWJpbGl0eS9hcmlhLWludmFsaWQuaHRtbAorCisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDogCisgICAgICAgIChX
ZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjppbnZhbGlkU3RhdHVzKTogQWNjb3VudGVkIGZv
ciB3aGl0ZXNwYWNlIHZhbHVlcyBhbmQgdGhlIAorICAgICAgICBleHBsaWNpdCBzdHJpbmcsICJ1
bmRlZmluZWQiLgorCiAyMDE0LTAzLTEzICBEaWVnbyBQaW5vIEdhcmNpYSAgPGRwaW5vQGlnYWxp
YS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogQVhJOiBFeHBvc2UgZm9jdXNlZC9mb2N1
c2FibGUgc3RhdGUgaW4gdGhlIEFjY2Vzc2liaWxpdHkgTm9kZSBJbnNwZWN0b3IKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0
LmNwcAkocmV2aXNpb24gMTY1NTc1KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsNyBAQAog
I2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCiAjaW5jbHVkZSAiRnJhbWVTZWxlY3Rpb24uaCIKICNp
bmNsdWRlICJIVE1MTmFtZXMuaCIKKyNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCiAjaW5j
bHVkZSAiTG9jYWxpemVkU3RyaW5ncy5oIgogI2luY2x1ZGUgIk1haW5GcmFtZS5oIgogI2luY2x1
ZGUgIk1hdGhNTE5hbWVzLmgiCkBAIC0xNTMwLDIwICsxNTMxLDI0IEBAIGJvb2wgQWNjZXNzaWJp
bGl0eU9iamVjdDo6YXJpYUlzTXVsdGlsaW4KIAogY29uc3QgQXRvbWljU3RyaW5nJiBBY2Nlc3Np
YmlsaXR5T2JqZWN0OjppbnZhbGlkU3RhdHVzKCkgY29uc3QKIHsKKyAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgaW52YWxpZFN0YXR1c0dyYW1tYXIsICgiZ3JhbW1h
ciIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKICAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgaW52YWxpZFN0YXR1c0ZhbHNlLCAoImZhbHNl
IiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOworICAgIERFRklORV9TVEFU
SUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBpbnZhbGlkU3RhdHVzU3BlbGxpbmcsICgic3Bl
bGxpbmciLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7CiAgICAgREVGSU5F
X1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIGludmFsaWRTdGF0dXNUcnVlLCAoInRy
dWUiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7CisgICAgREVGSU5FX1NU
QVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIGludmFsaWRTdGF0dXNVbmRlZmluZWQsICgi
dW5kZWZpbmVkIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwogICAgIAot
ICAgIC8vIGFyaWEtaW52YWxpZCBjYW4gcmV0dXJuIGZhbHNlIChkZWZhdWx0KSwgZ3JhbW1lciwg
c3BlbGxpbmcsIG9yIHRydWUuCi0gICAgY29uc3QgQXRvbWljU3RyaW5nJiBhcmlhSW52YWxpZCA9
IGdldEF0dHJpYnV0ZShhcmlhX2ludmFsaWRBdHRyKTsKKyAgICAvLyBhcmlhLWludmFsaWQgY2Fu
IHJldHVybiBmYWxzZSAoZGVmYXVsdCksIGdyYW1tYXIsIHNwZWxsaW5nLCBvciB0cnVlLgorICAg
IGNvbnN0IEF0b21pY1N0cmluZyYgYXJpYUludmFsaWQgPSBzdHJpcExlYWRpbmdBbmRUcmFpbGlu
Z0hUTUxTcGFjZXMoZ2V0QXR0cmlidXRlKGFyaWFfaW52YWxpZEF0dHIpKTsKICAgICAKLSAgICAv
LyBJZiAnZmFsc2UnLCBlbXB0eSBvciBub3QgcHJlc2VudCwgaXQgc2hvdWxkIHJldHVybiBmYWxz
ZS4KLSAgICBpZiAoYXJpYUludmFsaWQuaXNFbXB0eSgpIHx8IGVxdWFsSWdub3JpbmdDYXNlKGFy
aWFJbnZhbGlkLCBpbnZhbGlkU3RhdHVzRmFsc2UpKQorICAgIC8vIElmICdmYWxzZScsICd1bmRl
ZmluZWQnIFtzaWMsIHN0cmluZyB2YWx1ZSAndW5kZWZpbmVkJ10sIGVtcHR5LCBvciBub3QgcHJl
c2VudCwgaXQgc2hvdWxkIHJldHVybiAnZmFsc2UnLgorICAgIGlmIChhcmlhSW52YWxpZC5pc0Vt
cHR5KCkgfHwgZXF1YWxJZ25vcmluZ0Nhc2UoYXJpYUludmFsaWQsIGludmFsaWRTdGF0dXNGYWxz
ZSkgfHwgZXF1YWxJZ25vcmluZ0Nhc2UoYXJpYUludmFsaWQsIGludmFsaWRTdGF0dXNVbmRlZmlu
ZWQpKQogICAgICAgICByZXR1cm4gaW52YWxpZFN0YXR1c0ZhbHNlOwotICAgIAotICAgIC8vIE9u
bHkgJ3RydWUnLCAnZ3JhbW1hcicgYW5kICdzcGVsbGluZycgYXJlIHZhbHVlcyByZWNvZ25pc2Vk
IGJ5IHRoZSBXQUktQVJJQQotICAgIC8vIHNwZWNpZmljYXRpb24uIEFueSBvdGhlciBub24gZW1w
dHkgc3RyaW5nIHNob3VsZCBiZSB0cmVhdGVkIGFzICd0cnVlJy4KLSAgICBpZiAoZXF1YWxJZ25v
cmluZ0Nhc2UoYXJpYUludmFsaWQsICJzcGVsbGluZyIpIHx8IGVxdWFsSWdub3JpbmdDYXNlKGFy
aWFJbnZhbGlkLCAiZ3JhbW1hciIpKQotICAgICAgICByZXR1cm4gYXJpYUludmFsaWQ7CisgICAg
Ly8gT25seSAnZ3JhbW1hcicgYW5kICdzcGVsbGluZycgYXJlIHJlY29nbml6ZWQgYXMgdHJ1dGh5
IGJ5IFdBSS1BUklBIDEuMC4KKyAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UoYXJpYUludmFsaWQs
IGludmFsaWRTdGF0dXNHcmFtbWFyKSkKKyAgICAgICAgcmV0dXJuIGludmFsaWRTdGF0dXNHcmFt
bWFyOworICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShhcmlhSW52YWxpZCwgaW52YWxpZFN0YXR1
c1NwZWxsaW5nKSkKKyAgICAgICAgcmV0dXJuIGludmFsaWRTdGF0dXNTcGVsbGluZzsKKyAgICAv
LyBBbnkgb3RoZXIgbm9uIGVtcHR5IHN0cmluZyBzaG91bGQgYmUgdHJlYXRlZCBhcyAndHJ1ZScu
CiAgICAgcmV0dXJuIGludmFsaWRTdGF0dXNUcnVlOwogfQogIApJbmRleDogTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24g
MTY1NTkxKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMTQtMDMtMTMgIEphbWVzIENyYWlnICA8amNyYWlnQGFwcGxlLmNvbT4KKwor
ICAgICAgICBBWDogQWNjZXNzaWJpbGl0eU9iamVjdDo6aW52YWxpZFN0YXR1cygpIGlzIGluY29y
cmVjdCB3aGVuIGFyaWEtaW52YWxpZD0idW5kZWZpbmVkIiBvciB3aGl0ZXNwYWNlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzAwNzEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBY2NvdW50ZWQgZm9yIHdo
aXRlc3BhY2UgdmFsdWVzIGFuZCB0aGUgZXhwbGljaXQgc3RyaW5nLCAidW5kZWZpbmVkIi4KKwor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXJpYS1pbnZhbGlkLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L2FyaWEtaW52YWxpZC5odG1sOiAKKwogMjAxNC0wMy0xMyAgRGll
Z28gUGlubyBHYXJjaWEgIDxkcGlub0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0
b3I6IEFYSTogRXhwb3NlIGZvY3VzZWQvZm9jdXNhYmxlIHN0YXRlIGluIHRoZSBBY2Nlc3NpYmls
aXR5IE5vZGUgSW5zcGVjdG9yCkluZGV4OiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEt
aW52YWxpZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS9hcmlhLWludmFsaWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxNjU1NzUpCisrKyBMYXlv
dXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtaW52YWxpZC1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMTcgKzEsMjkgQEAKLSAgICAgIAogVGhpcyB0ZXN0cyB0aGF0IGFyaWEtaW52
YWxpZCBjYXVzZXMgdGhlIHJpZ2h0IGF0dHJpYnV0ZSB0byBiZSByZXR1cm5lZCBhbmQgaXQgZW5z
dXJlcyBhIG5vdGlmaWNhdGlvbiBpcyBzZW50IHdoZW4gaXQgY2hhbmdlcy4KIAogT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgogCiAKLVBBU1MgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNl
ZEVsZW1lbnQuc3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FYSW52YWxpZCcpIGlzICd0cnVlJwotUEFT
UyBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5zdHJpbmdBdHRyaWJ1dGVW
YWx1ZSgnQVhJbnZhbGlkJykgaXMgJ2dyYW1tYXInCi1QQVNTIGFjY2Vzc2liaWxpdHlDb250cm9s
bGVyLmZvY3VzZWRFbGVtZW50LnN0cmluZ0F0dHJpYnV0ZVZhbHVlKCdBWEludmFsaWQnKSBpcyAn
c3BlbGxpbmcnCi1QQVNTIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LnN0
cmluZ0F0dHJpYnV0ZVZhbHVlKCdBWEludmFsaWQnKSBpcyAndHJ1ZScKLVBBU1MgYWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuc3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FYSW52
YWxpZCcpIGlzICdmYWxzZScKLVBBU1MgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVs
ZW1lbnQuc3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FYSW52YWxpZCcpIGlzICdmYWxzZScKLVBBU1Mg
YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuc3RyaW5nQXR0cmlidXRlVmFs
dWUoJ0FYSW52YWxpZCcpIGlzICdmYWxzZScKK1BBU1M6IEFYSW52YWxpZCBpcyBmYWxzZS4KK1BB
U1M6IEFYSW52YWxpZCBpcyBmYWxzZS4KK1BBU1M6IEFYSW52YWxpZCBpcyBmYWxzZS4KK1BBU1M6
IEFYSW52YWxpZCBpcyBmYWxzZS4KK1BBU1M6IEFYSW52YWxpZCBpcyBmYWxzZS4KK1BBU1M6IEFY
SW52YWxpZCBpcyBmYWxzZS4KK1BBU1M6IEFYSW52YWxpZCBpcyBmYWxzZS4KK1BBU1M6IEFYSW52
YWxpZCBpcyBmYWxzZS4KK1BBU1M6IEFYSW52YWxpZCBpcyBncmFtbWFyLgorUEFTUzogQVhJbnZh
bGlkIGlzIGdyYW1tYXIuCitQQVNTOiBBWEludmFsaWQgaXMgc3BlbGxpbmcuCitQQVNTOiBBWElu
dmFsaWQgaXMgc3BlbGxpbmcuCitQQVNTOiBBWEludmFsaWQgaXMgdHJ1ZS4KK1BBU1M6IEFYSW52
YWxpZCBpcyB0cnVlLgorUEFTUzogQVhJbnZhbGlkIGlzIHRydWUuCitQQVNTOiBBWEludmFsaWQg
aXMgdHJ1ZS4KK1BBU1M6IEFYSW52YWxpZCBpcyB0cnVlLgorUEFTUzogQVhJbnZhbGlkIGlzIHRy
dWUuCitQQVNTOiBBWEludmFsaWQgaXMgdHJ1ZS4KIFBBU1MgYWRkZWROb3RpZmljYXRpb24gaXMg
dHJ1ZQorUEFTUzogQVhJbnZhbGlkIGlzIHNwZWxsaW5nLgogUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCkluZGV4OiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L2FyaWEtaW52YWxpZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvYXJpYS1pbnZhbGlkLmh0bWwJKHJldmlzaW9uIDE2NTU3NSkKKysrIExheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvYXJpYS1pbnZhbGlkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTUsMTQg
KzUsMzUgQEAKIDwvaGVhZD4KIDxib2R5IGlkPSJib2R5Ij4KIAotCi08aW5wdXQgdHlwZT0idGV4
dCIgaWQ9InRleHQxIiBhcmlhLWludmFsaWQ9InRydWUiPgotPGlucHV0IHR5cGU9InRleHQiIGlk
PSJ0ZXh0MiIgYXJpYS1pbnZhbGlkPSJncmFtbWFyIj4KLTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0i
dGV4dDMiIGFyaWEtaW52YWxpZD0ic3BlbGxpbmciPgotPGlucHV0IHR5cGU9InRleHQiIGlkPSJ0
ZXh0NCIgYXJpYS1pbnZhbGlkPSJub3RhbGxvd2VkIj4KLTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0i
dGV4dDUiIGFyaWEtaW52YWxpZD0iZmFsc2UiPgotPGlucHV0IHR5cGU9InRleHQiIGlkPSJ0ZXh0
NiIgYXJpYS1pbnZhbGlkPSIiPgotPGlucHV0IHR5cGU9InRleHQiIGlkPSJ0ZXh0NyI+Cis8ZGl2
IGlkPSJleGFtcGxlcyI+CisgICAgPCEtLSBBbGwgb2YgdGhlc2UgZXZhbCB0byBBWEludmFsaWQ6
ICdmYWxzZScgLS0+CisgICAgPGlucHV0IGNsYXNzPSJleCIgZGF0YS1leHBlY3RlZD0iZmFsc2Ui
IHR5cGU9InRleHQiPgorICAgIDxpbnB1dCBjbGFzcz0iZXgiIGRhdGEtZXhwZWN0ZWQ9ImZhbHNl
IiB0eXBlPSJ0ZXh0IiBhcmlhLWludmFsaWQ+CisgICAgPGlucHV0IGNsYXNzPSJleCIgZGF0YS1l
eHBlY3RlZD0iZmFsc2UiIHR5cGU9InRleHQiIGFyaWEtaW52YWxpZD0iIj4KKyAgICA8aW5wdXQg
Y2xhc3M9ImV4IiBkYXRhLWV4cGVjdGVkPSJmYWxzZSIgdHlwZT0idGV4dCIgYXJpYS1pbnZhbGlk
PSIgIj4KKyAgICA8aW5wdXQgY2xhc3M9ImV4IiBkYXRhLWV4cGVjdGVkPSJmYWxzZSIgdHlwZT0i
dGV4dCIgYXJpYS1pbnZhbGlkPSIJIj48IS0tIFtzaWNdIHRhYiBjaGFyIC0tPgorICAgIDxpbnB1
dCBjbGFzcz0iZXgiIGRhdGEtZXhwZWN0ZWQ9ImZhbHNlIiB0eXBlPSJ0ZXh0IiBhcmlhLWludmFs
aWQ9IgorICAgICI+PCEtLSBbc2ljXSBuZXdsaW5lIGNoYXIgLS0+CisgICAgPGlucHV0IGNsYXNz
PSJleCIgZGF0YS1leHBlY3RlZD0iZmFsc2UiIHR5cGU9InRleHQiIGFyaWEtaW52YWxpZD0iZmFs
c2UiPgorICAgIDxpbnB1dCBjbGFzcz0iZXgiIGRhdGEtZXhwZWN0ZWQ9ImZhbHNlIiB0eXBlPSJ0
ZXh0IiBhcmlhLWludmFsaWQ9InVuZGVmaW5lZCI+CisKKyAgICA8IS0tIEtub3duIHRva2VuIHZh
bHVlcyBpbiBBUklBIDEuMC4gLS0+CisgICAgPGlucHV0IGNsYXNzPSJleCIgZGF0YS1leHBlY3Rl
ZD0iZ3JhbW1hciIgdHlwZT0idGV4dCIgYXJpYS1pbnZhbGlkPSJncmFtbWFyIj4KKyAgICA8aW5w
dXQgY2xhc3M9ImV4IiBkYXRhLWV4cGVjdGVkPSJncmFtbWFyIiB0eXBlPSJ0ZXh0IiBhcmlhLWlu
dmFsaWQ9ImdyYW1tYXIJIj48IS0tIFtzaWNdIHRhYiBjaGFyIC0tPgorICAgIDxpbnB1dCBjbGFz
cz0iZXgiIGRhdGEtZXhwZWN0ZWQ9InNwZWxsaW5nIiB0eXBlPSJ0ZXh0IiBhcmlhLWludmFsaWQ9
InNwZWxsaW5nIj4KKyAgICA8aW5wdXQgY2xhc3M9ImV4IiBkYXRhLWV4cGVjdGVkPSJzcGVsbGlu
ZyIgdHlwZT0idGV4dCIgYXJpYS1pbnZhbGlkPSJzcGVsbGluZworICAgICI+PCEtLSBbc2ljXSBu
ZXdsaW5lIGNoYXIgLS0+CisKKyAgICA8IS0tIEFsbCBvdGhlciBzdHJpbmcgdmFsdWVzIGFyZSB0
cnV0aHksIGluY2x1ZGluZyBhIGNvbWJpbmF0aW9uIG9mIG90aGVyd2lzZSB2YWxpZCB0b2tlbnMu
IC0tPgorICAgIDxpbnB1dCBjbGFzcz0iZXgiIGRhdGEtZXhwZWN0ZWQ9InRydWUiIHR5cGU9InRl
eHQiIGFyaWEtaW52YWxpZD0idHJ1ZSI+CisgICAgPGlucHV0IGNsYXNzPSJleCIgZGF0YS1leHBl
Y3RlZD0idHJ1ZSIgdHlwZT0idGV4dCIgYXJpYS1pbnZhbGlkPSJub3RhbGxvd2VkIj4KKyAgICA8
aW5wdXQgY2xhc3M9ImV4IiBkYXRhLWV4cGVjdGVkPSJ0cnVlIiB0eXBlPSJ0ZXh0IiBhcmlhLWlu
dmFsaWQ9IuKApiI+CisgICAgPGlucHV0IGNsYXNzPSJleCIgZGF0YS1leHBlY3RlZD0idHJ1ZSIg
dHlwZT0idGV4dCIgYXJpYS1pbnZhbGlkPSLDhyI+CisgICAgPGlucHV0IGNsYXNzPSJleCIgZGF0
YS1leHBlY3RlZD0idHJ1ZSIgdHlwZT0idGV4dCIgYXJpYS1pbnZhbGlkPSJzcGVsbGluZyBncmFt
bWFyIj4KKyAgICA8aW5wdXQgY2xhc3M9ImV4IiBkYXRhLWV4cGVjdGVkPSJ0cnVlIiB0eXBlPSJ0
ZXh0IiBhcmlhLWludmFsaWQ9InNwZWxsaW5nCWdyYW1tYXIiPjwhLS0gW3NpY10gdGFiIGNoYXIg
LS0+CisgICAgPGlucHV0IGNsYXNzPSJleCIgZGF0YS1leHBlY3RlZD0idHJ1ZSIgdHlwZT0idGV4
dCIgYXJpYS1pbnZhbGlkPSJzcGVsbGluZworICAgIGdyYW1tYXIiPjwhLS0gW3NpY10gbmV3bGlu
ZSBjaGFyIC0tPgorPC9kaXY+CiAKIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgogPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CkBAIC0yMiw0NCArNDMsNDcgQEAKIAogICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3RzIHRoYXQgYXJpYS1pbnZhbGlkIGNhdXNlcyB0aGUgcmlnaHQgYXR0cmlidXRlIHRv
IGJlIHJldHVybmVkIGFuZCBpdCBlbnN1cmVzIGEgbm90aWZpY2F0aW9uIGlzIHNlbnQgd2hlbiBp
dCBjaGFuZ2VzLiIpOwogCi0gICAgdmFyIG5vdGlmaWNhdGlvbkVsZW1lbnQgPSAwOworICAgIGZ1
bmN0aW9uICQoaWQpeworICAgICAgICByZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQp
OworICAgIH0KKworICAgIHZhciBheE5vdGlmaWNhdGlvbkVsZW1lbnQgPSBudWxsOwogICAgIGZ1
bmN0aW9uIG5vdGlmaWNhdGlvbkNhbGxiYWNrKG5vdGlmaWNhdGlvbikgewogICAgICAgICBpZiAo
bm90aWZpY2F0aW9uID09ICJBWEludmFsaWRTdGF0dXNDaGFuZ2VkIikgewotICAgICAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmaWNhdGlvbnMiKS5pbm5lckhUTUwgKz0gIk5v
dGlmaWNhdGlvbiByZWNlaXZlZCBzdWNjZXNzZnVsbHkuIjsKLSAgICAgICAgICAgIG5vdGlmaWNh
dGlvbkVsZW1lbnQucmVtb3ZlTm90aWZpY2F0aW9uTGlzdGVuZXIoKTsKKyAgICAgICAgICAgICQo
Im5vdGlmaWNhdGlvbnMiKS5pbm5lckhUTUwgKz0gIk5vdGlmaWNhdGlvbiByZWNlaXZlZCBzdWNj
ZXNzZnVsbHkuIjsKKyAgICAgICAgICAgIGF4Tm90aWZpY2F0aW9uRWxlbWVudC5yZW1vdmVOb3Rp
ZmljYXRpb25MaXN0ZW5lcigpOworICAgICAgICAgICAgJCgiZXhhbXBsZXMiKS5oaWRkZW4gPSB0
cnVlOwogICAgICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAg
ICB9CiAgICAgfQogCisgICAgdmFyIHJlc3VsdCA9ICQoJ2NvbnNvbGUnKTsKKyAgICBmdW5jdGlv
biB2ZXJpZnkodmFsdWUsIGV4cGVjdGF0aW9uLCBlbGVtZW50KSB7CisgICAgICBpZiAodmFsdWUg
PT09IGV4cGVjdGF0aW9uKQorICAgICAgICByZXN1bHQuaW5uZXJUZXh0ICs9ICJQQVNTOiBBWElu
dmFsaWQgaXMgIiArIHZhbHVlICsgIi5cbiI7CisgICAgICBlbHNlCisgICAgICAgIHJlc3VsdC5p
bm5lclRleHQgKz0gIkZBSUw6IEFYSW52YWxpZCBpcyAiICsgdmFsdWUgKyAiLiBFeHBlY3RlZDog
IiArIGV4cGVjdGF0aW9uICsgIi4gIiArIChlbGVtZW50ID8gZWxlbWVudC5vdXRlckhUTUwgOiAi
IikgKyAiXG4iOworICAgIH0KKwogICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIpIHsKICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCi0gICAg
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXh0MSIpLmZvY3VzKCk7Ci0gICAgICAgIHNo
b3VsZEJlKCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5zdHJpbmdBdHRy
aWJ1dGVWYWx1ZSgnQVhJbnZhbGlkJykiLCAiJ3RydWUnIik7Ci0KLSAgICAgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInRleHQyIikuZm9jdXMoKTsKLSAgICAgICAgc2hvdWxkQmUoImFjY2Vz
c2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LnN0cmluZ0F0dHJpYnV0ZVZhbHVlKCdB
WEludmFsaWQnKSIsICInZ3JhbW1hciciKTsKLQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgidGV4dDMiKS5mb2N1cygpOwotICAgICAgICBzaG91bGRCZSgiYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuc3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FYSW52YWxpZCcp
IiwgIidzcGVsbGluZyciKTsKLQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4
dDQiKS5mb2N1cygpOwotICAgICAgICBzaG91bGRCZSgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIu
Zm9jdXNlZEVsZW1lbnQuc3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FYSW52YWxpZCcpIiwgIid0cnVl
JyIpOwotCi0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXh0NSIpLmZvY3VzKCk7
Ci0gICAgICAgIHNob3VsZEJlKCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVu
dC5zdHJpbmdBdHRyaWJ1dGVWYWx1ZSgnQVhJbnZhbGlkJykiLCAiJ2ZhbHNlJyIpOwotCi0gICAg
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXh0NiIpLmZvY3VzKCk7Ci0gICAgICAgIHNo
b3VsZEJlKCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5zdHJpbmdBdHRy
aWJ1dGVWYWx1ZSgnQVhJbnZhbGlkJykiLCAiJ2ZhbHNlJyIpOwotCi0gICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0ZXh0NyIpLmZvY3VzKCk7Ci0gICAgICAgIHNob3VsZEJlKCJhY2Nl
c3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5zdHJpbmdBdHRyaWJ1dGVWYWx1ZSgn
QVhJbnZhbGlkJykiLCAiJ2ZhbHNlJyIpOwotCi0gICAgICAgIG5vdGlmaWNhdGlvbkVsZW1lbnQg
PSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudDsKLSAgICAgICAgdmFyIGFk
ZGVkTm90aWZpY2F0aW9uID0gbm90aWZpY2F0aW9uRWxlbWVudC5hZGROb3RpZmljYXRpb25MaXN0
ZW5lcihub3RpZmljYXRpb25DYWxsYmFjayk7CisgICAgICAgIHZhciBleGFtcGxlcyA9IGRvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5leCIpOworICAgICAgICBmb3IgKHZhciBpID0gMCwgYyA9
IGV4YW1wbGVzLmxlbmd0aDsgaSA8IGM7IGkrKykgeworICAgICAgICAgICAgdmFyIGVsID0gZXhh
bXBsZXNbaV07CisgICAgICAgICAgICBlbC5mb2N1cygpOworICAgICAgICAgICAgdmFyIGV4cGVj
dGF0aW9uID0gZWwuZ2V0QXR0cmlidXRlKCJkYXRhLWV4cGVjdGVkIik7CisgICAgICAgICAgICB2
YXIgdmFsdWUgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5zdHJpbmdB
dHRyaWJ1dGVWYWx1ZSgnQVhJbnZhbGlkJyk7CisgICAgICAgICAgICB2ZXJpZnkodmFsdWUsIGV4
cGVjdGF0aW9uLCBlbCk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIHZhciBkb21Ob3Rp
ZmljYXRpb25FbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmV4Iik7CisgICAgICAg
IGRvbU5vdGlmaWNhdGlvbkVsZW1lbnQuZm9jdXMoKTsKKyAgICAgICAgYXhOb3RpZmljYXRpb25F
bGVtZW50ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7CisgICAgICAg
IHZhciBhZGRlZE5vdGlmaWNhdGlvbiA9IGF4Tm90aWZpY2F0aW9uRWxlbWVudC5hZGROb3RpZmlj
YXRpb25MaXN0ZW5lcihub3RpZmljYXRpb25DYWxsYmFjayk7CiAgICAgICAgIHNob3VsZEJlVHJ1
ZSgiYWRkZWROb3RpZmljYXRpb24iKTsKLQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgidGV4dDciKS5zZXRBdHRyaWJ1dGUoImFyaWEtaW52YWxpZCIsICJzcGVsbGluZyIpOworICAg
ICAgICBkb21Ob3RpZmljYXRpb25FbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1pbnZhbGlkIiwg
InNwZWxsaW5nIik7CisgICAgICAgIHZlcmlmeShheE5vdGlmaWNhdGlvbkVsZW1lbnQuc3RyaW5n
QXR0cmlidXRlVmFsdWUoJ0FYSW52YWxpZCcpLCAic3BlbGxpbmciLCBkb21Ob3RpZmljYXRpb25F
bGVtZW50KTsKICAgICB9CiAKIDwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226739</attachid>
            <date>2014-03-14 11:31:03 -0700</date>
            <delta_ts>2014-03-14 11:45:20 -0700</delta_ts>
            <desc>patch with review feedback</desc>
            <filename>webkit130071.diff</filename>
            <type>text/plain</type>
            <size>13080</size>
            <attacher name="James Craig">jcraig</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NTYzMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE0LTAzLTE0ICBKYW1lcyBD
cmFpZyAgPGpjcmFpZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEFjY2Vzc2liaWxpdHlPYmpl
Y3Q6OmludmFsaWRTdGF0dXMoKSBpcyBpbmNvcnJlY3Qgd2hlbiBhcmlhLWludmFsaWQ9InVuZGVm
aW5lZCIgb3Igd2hpdGVzcGFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTMwMDcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWNjb3VudGVkIGZvciB3aGl0ZXNwYWNlIHZhbHVlcyBhbmQgdGhlIGV4cGxp
Y2l0IHN0cmluZywgInVuZGVmaW5lZCIuCisKKyAgICAgICAgVGVzdDogYWNjZXNzaWJpbGl0eS9h
cmlhLWludmFsaWQuaHRtbAorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmludmFs
aWRTdGF0dXMpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5o
OgorCiAyMDE0LTAzLTE0ICBBbmRyZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbTWFjXSBSZW1vdmUgTlNVUkxDYWNoZSBsb2dpYyBmcm9tIFdlYkNvcmUgcHJlc3N1cmUg
cmVsaWVmIGNvZGUuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAJKHJldmlzaW9uIDE2NTYwNSkKKysrIFNvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQwLDYgKzQwLDcgQEAKICNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgogI2luY2x1ZGUg
IkZyYW1lU2VsZWN0aW9uLmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSAiSFRN
TFBhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUgIkxvY2FsaXplZFN0cmluZ3MuaCIKICNpbmNsdWRl
ICJNYWluRnJhbWUuaCIKICNpbmNsdWRlICJNYXRoTUxOYW1lcy5oIgpAQCAtMTUyOCwyMyArMTUy
OSwyOSBAQCBib29sIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFyaWFJc011bHRpbGluCiAgICAgcmV0
dXJuIGVxdWFsSWdub3JpbmdDYXNlKGdldEF0dHJpYnV0ZShhcmlhX211bHRpbGluZUF0dHIpLCAi
dHJ1ZSIpOwogfQogCi1jb25zdCBBdG9taWNTdHJpbmcmIEFjY2Vzc2liaWxpdHlPYmplY3Q6Omlu
dmFsaWRTdGF0dXMoKSBjb25zdAorU3RyaW5nIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmludmFsaWRT
dGF0dXMoKSBjb25zdAogewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3Ry
aW5nLCBpbnZhbGlkU3RhdHVzRmFsc2UsICgiZmFsc2UiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVj
dEZyb21MaXRlcmFsKSk7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJp
bmcsIGludmFsaWRTdGF0dXNUcnVlLCAoInRydWUiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZy
b21MaXRlcmFsKSk7Ci0gICAgCi0gICAgLy8gYXJpYS1pbnZhbGlkIGNhbiByZXR1cm4gZmFsc2Ug
KGRlZmF1bHQpLCBncmFtbWVyLCBzcGVsbGluZywgb3IgdHJ1ZS4KLSAgICBjb25zdCBBdG9taWNT
dHJpbmcmIGFyaWFJbnZhbGlkID0gZ2V0QXR0cmlidXRlKGFyaWFfaW52YWxpZEF0dHIpOwotICAg
IAotICAgIC8vIElmICdmYWxzZScsIGVtcHR5IG9yIG5vdCBwcmVzZW50LCBpdCBzaG91bGQgcmV0
dXJuIGZhbHNlLgotICAgIGlmIChhcmlhSW52YWxpZC5pc0VtcHR5KCkgfHwgZXF1YWxJZ25vcmlu
Z0Nhc2UoYXJpYUludmFsaWQsIGludmFsaWRTdGF0dXNGYWxzZSkpCi0gICAgICAgIHJldHVybiBp
bnZhbGlkU3RhdHVzRmFsc2U7Ci0gICAgCi0gICAgLy8gT25seSAndHJ1ZScsICdncmFtbWFyJyBh
bmQgJ3NwZWxsaW5nJyBhcmUgdmFsdWVzIHJlY29nbmlzZWQgYnkgdGhlIFdBSS1BUklBCi0gICAg
Ly8gc3BlY2lmaWNhdGlvbi4gQW55IG90aGVyIG5vbiBlbXB0eSBzdHJpbmcgc2hvdWxkIGJlIHRy
ZWF0ZWQgYXMgJ3RydWUnLgotICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShhcmlhSW52YWxpZCwg
InNwZWxsaW5nIikgfHwgZXF1YWxJZ25vcmluZ0Nhc2UoYXJpYUludmFsaWQsICJncmFtbWFyIikp
Ci0gICAgICAgIHJldHVybiBhcmlhSW52YWxpZDsKLSAgICByZXR1cm4gaW52YWxpZFN0YXR1c1Ry
dWU7CisKKyAgICBTdHJpbmcgZ3JhbW1hclZhbHVlID0gQVNDSUlMaXRlcmFsKCJncmFtbWFyIik7
CisgICAgU3RyaW5nIGZhbHNlVmFsdWUgPSBBU0NJSUxpdGVyYWwoImZhbHNlIik7CisgICAgU3Ry
aW5nIHNwZWxsaW5nVmFsdWUgPSBBU0NJSUxpdGVyYWwoInNwZWxsaW5nIik7CisgICAgU3RyaW5n
IHRydWVWYWx1ZSA9IEFTQ0lJTGl0ZXJhbCgidHJ1ZSIpOworICAgIFN0cmluZyB1bmRlZmluZWRW
YWx1ZSA9IEFTQ0lJTGl0ZXJhbCgidW5kZWZpbmVkIik7CisKKyAgICAvLyBhcmlhLWludmFsaWQg
Y2FuIHJldHVybiBmYWxzZSAoZGVmYXVsdCksIGdyYW1tYXIsIHNwZWxsaW5nLCBvciB0cnVlLgor
ICAgIFN0cmluZyBhcmlhSW52YWxpZCA9IHN0cmlwTGVhZGluZ0FuZFRyYWlsaW5nSFRNTFNwYWNl
cyhnZXRBdHRyaWJ1dGUoYXJpYV9pbnZhbGlkQXR0cikpOworICAgIAorICAgIC8vIElmICJmYWxz
ZSIsICJ1bmRlZmluZWQiIFtzaWMsIHN0cmluZyB2YWx1ZV0sIGVtcHR5LCBvciBtaXNzaW5nLCBy
ZXR1cm4gImZhbHNlIi4KKyAgICBpZiAoYXJpYUludmFsaWQuaXNFbXB0eSgpIHx8IGFyaWFJbnZh
bGlkID09IGZhbHNlVmFsdWUgfHwgYXJpYUludmFsaWQgPT0gdW5kZWZpbmVkVmFsdWUpCisgICAg
ICAgIHJldHVybiBmYWxzZVZhbHVlOworICAgIC8vIEJlc2lkZXMgdHJ1ZS9mYWxzZS91bmRlZmlu
ZWQsIHRoZSBvbmx5IHRva2VucyBkZWZpbmVkIGJ5IFdBSS1BUklBIDEuMC4uLgorICAgIC8vIC4u
LmZvciBAYXJpYS1pbnZhbGlkIGFyZSAiZ3JhbW1hciIgYW5kICJzcGVsbGluZyIuCisgICAgaWYg
KGFyaWFJbnZhbGlkID09IGdyYW1tYXJWYWx1ZSkKKyAgICAgICAgcmV0dXJuIGdyYW1tYXJWYWx1
ZTsKKyAgICBpZiAoYXJpYUludmFsaWQgPT0gc3BlbGxpbmdWYWx1ZSkKKyAgICAgICAgcmV0dXJu
IHNwZWxsaW5nVmFsdWU7CisgICAgLy8gQW55IG90aGVyIG5vbiBlbXB0eSBzdHJpbmcgc2hvdWxk
IGJlIHRyZWF0ZWQgYXMgInRydWUiLgorICAgIHJldHVybiB0cnVlVmFsdWU7CiB9CiAgCiBib29s
IEFjY2Vzc2liaWxpdHlPYmplY3Q6Omhhc1RhZ05hbWUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFn
TmFtZSkgY29uc3QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eU9iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eU9iamVjdC5oCShyZXZpc2lvbiAxNjU2MDUpCisrKyBTb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAt
NTg1LDcgKzU4NSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgYXJpYUhhc1BvcHVwKCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgYXJpYVByZXNzZWRJc1By
ZXNlbnQoKSBjb25zdDsKICAgICBib29sIGFyaWFJc011bHRpbGluZSgpIGNvbnN0OwotICAgIHZp
cnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBpbnZhbGlkU3RhdHVzKCkgY29uc3Q7CisgICAgdmly
dHVhbCBTdHJpbmcgaW52YWxpZFN0YXR1cygpIGNvbnN0OwogICAgIGJvb2wgc3VwcG9ydHNBUklB
RXhwYW5kZWQoKSBjb25zdDsKICAgICBib29sIHN1cHBvcnRzQ2hlY2tlZCgpIGNvbnN0OwogICAg
IEFjY2Vzc2liaWxpdHlTb3J0RGlyZWN0aW9uIHNvcnREaXJlY3Rpb24oKSBjb25zdDsKSW5kZXg6
IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDE2NTYzMSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE0LTAzLTE0ICBKYW1lcyBDcmFpZyAgPGpjcmFpZ0Bh
cHBsZS5jb20+CisKKyAgICAgICAgQVg6IEFjY2Vzc2liaWxpdHlPYmplY3Q6OmludmFsaWRTdGF0
dXMoKSBpcyBpbmNvcnJlY3Qgd2hlbiBhcmlhLWludmFsaWQ9InVuZGVmaW5lZCIgb3Igd2hpdGVz
cGFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMw
MDcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWNj
b3VudGVkIGZvciB3aGl0ZXNwYWNlIHZhbHVlcyBhbmQgdGhlIGV4cGxpY2l0IHN0cmluZywgInVu
ZGVmaW5lZCIuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2FyaWEtaW52YWxpZC1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hcmlhLWludmFsaWQuaHRtbDoKKwogMjAx
NC0wMy0xNCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFN1YnBp
eGVsIHJlbmRlcmluZzogTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaGlkcGktc2ltcGxlLWNvbnRh
aW5lci1sYXllci1vbi1kZXZpY2UtcGl4ZWwtZXhwZWN0ZWQuaHRtbCBmYWlscyBvbiBNb3VudGFp
biBMaW9uIFdLMiBkZWJ1ZwpJbmRleDogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWlu
dmFsaWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2FjY2Vzc2liaWxp
dHkvYXJpYS1pbnZhbGlkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTY1NjA1KQorKysgTGF5b3V0
VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWludmFsaWQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0xLDE3ICsxLDI5IEBACi0gICAgICAKIFRoaXMgdGVzdHMgdGhhdCBhcmlhLWludmFs
aWQgY2F1c2VzIHRoZSByaWdodCBhdHRyaWJ1dGUgdG8gYmUgcmV0dXJuZWQgYW5kIGl0IGVuc3Vy
ZXMgYSBub3RpZmljYXRpb24gaXMgc2VudCB3aGVuIGl0IGNoYW5nZXMuCiAKIE9uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KIAogCi1QQVNTIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRF
bGVtZW50LnN0cmluZ0F0dHJpYnV0ZVZhbHVlKCdBWEludmFsaWQnKSBpcyAndHJ1ZScKLVBBU1Mg
YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuc3RyaW5nQXR0cmlidXRlVmFs
dWUoJ0FYSW52YWxpZCcpIGlzICdncmFtbWFyJwotUEFTUyBhY2Nlc3NpYmlsaXR5Q29udHJvbGxl
ci5mb2N1c2VkRWxlbWVudC5zdHJpbmdBdHRyaWJ1dGVWYWx1ZSgnQVhJbnZhbGlkJykgaXMgJ3Nw
ZWxsaW5nJwotUEFTUyBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5zdHJp
bmdBdHRyaWJ1dGVWYWx1ZSgnQVhJbnZhbGlkJykgaXMgJ3RydWUnCi1QQVNTIGFjY2Vzc2liaWxp
dHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LnN0cmluZ0F0dHJpYnV0ZVZhbHVlKCdBWEludmFs
aWQnKSBpcyAnZmFsc2UnCi1QQVNTIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVt
ZW50LnN0cmluZ0F0dHJpYnV0ZVZhbHVlKCdBWEludmFsaWQnKSBpcyAnZmFsc2UnCi1QQVNTIGFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LnN0cmluZ0F0dHJpYnV0ZVZhbHVl
KCdBWEludmFsaWQnKSBpcyAnZmFsc2UnCitQQVNTOiBBWEludmFsaWQgaXMgZmFsc2UuCitQQVNT
OiBBWEludmFsaWQgaXMgZmFsc2UuCitQQVNTOiBBWEludmFsaWQgaXMgZmFsc2UuCitQQVNTOiBB
WEludmFsaWQgaXMgZmFsc2UuCitQQVNTOiBBWEludmFsaWQgaXMgZmFsc2UuCitQQVNTOiBBWElu
dmFsaWQgaXMgZmFsc2UuCitQQVNTOiBBWEludmFsaWQgaXMgZmFsc2UuCitQQVNTOiBBWEludmFs
aWQgaXMgZmFsc2UuCitQQVNTOiBBWEludmFsaWQgaXMgZ3JhbW1hci4KK1BBU1M6IEFYSW52YWxp
ZCBpcyBncmFtbWFyLgorUEFTUzogQVhJbnZhbGlkIGlzIHNwZWxsaW5nLgorUEFTUzogQVhJbnZh
bGlkIGlzIHNwZWxsaW5nLgorUEFTUzogQVhJbnZhbGlkIGlzIHRydWUuCitQQVNTOiBBWEludmFs
aWQgaXMgdHJ1ZS4KK1BBU1M6IEFYSW52YWxpZCBpcyB0cnVlLgorUEFTUzogQVhJbnZhbGlkIGlz
IHRydWUuCitQQVNTOiBBWEludmFsaWQgaXMgdHJ1ZS4KK1BBU1M6IEFYSW52YWxpZCBpcyB0cnVl
LgorUEFTUzogQVhJbnZhbGlkIGlzIHRydWUuCiBQQVNTIGFkZGVkTm90aWZpY2F0aW9uIGlzIHRy
dWUKK1BBU1M6IEFYSW52YWxpZCBpcyBzcGVsbGluZy4KIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpJbmRleDogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9hcmlhLWludmFsaWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L2FyaWEtaW52YWxpZC5odG1sCShyZXZpc2lvbiAxNjU2MDUpCisrKyBMYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L2FyaWEtaW52YWxpZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC01LDE0ICs1
LDM1IEBACiA8L2hlYWQ+CiA8Ym9keSBpZD0iYm9keSI+CiAKLQotPGlucHV0IHR5cGU9InRleHQi
IGlkPSJ0ZXh0MSIgYXJpYS1pbnZhbGlkPSJ0cnVlIj4KLTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0i
dGV4dDIiIGFyaWEtaW52YWxpZD0iZ3JhbW1hciI+Ci08aW5wdXQgdHlwZT0idGV4dCIgaWQ9InRl
eHQzIiBhcmlhLWludmFsaWQ9InNwZWxsaW5nIj4KLTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0idGV4
dDQiIGFyaWEtaW52YWxpZD0ibm90YWxsb3dlZCI+Ci08aW5wdXQgdHlwZT0idGV4dCIgaWQ9InRl
eHQ1IiBhcmlhLWludmFsaWQ9ImZhbHNlIj4KLTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0idGV4dDYi
IGFyaWEtaW52YWxpZD0iIj4KLTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0idGV4dDciPgorPGRpdiBp
ZD0iZXhhbXBsZXMiPgorICAgIDwhLS0gQWxsIG9mIHRoZXNlIGV2YWwgdG8gQVhJbnZhbGlkOiAn
ZmFsc2UnIC0tPgorICAgIDxpbnB1dCBjbGFzcz0iZXgiIGRhdGEtZXhwZWN0ZWQ9ImZhbHNlIiB0
eXBlPSJ0ZXh0Ij4KKyAgICA8aW5wdXQgY2xhc3M9ImV4IiBkYXRhLWV4cGVjdGVkPSJmYWxzZSIg
dHlwZT0idGV4dCIgYXJpYS1pbnZhbGlkPgorICAgIDxpbnB1dCBjbGFzcz0iZXgiIGRhdGEtZXhw
ZWN0ZWQ9ImZhbHNlIiB0eXBlPSJ0ZXh0IiBhcmlhLWludmFsaWQ9IiI+CisgICAgPGlucHV0IGNs
YXNzPSJleCIgZGF0YS1leHBlY3RlZD0iZmFsc2UiIHR5cGU9InRleHQiIGFyaWEtaW52YWxpZD0i
ICI+CisgICAgPGlucHV0IGNsYXNzPSJleCIgZGF0YS1leHBlY3RlZD0iZmFsc2UiIHR5cGU9InRl
eHQiIGFyaWEtaW52YWxpZD0iCSI+PCEtLSBbc2ljXSB0YWIgY2hhciAtLT4KKyAgICA8aW5wdXQg
Y2xhc3M9ImV4IiBkYXRhLWV4cGVjdGVkPSJmYWxzZSIgdHlwZT0idGV4dCIgYXJpYS1pbnZhbGlk
PSIKKyAgICAiPjwhLS0gW3NpY10gbmV3bGluZSBjaGFyIC0tPgorICAgIDxpbnB1dCBjbGFzcz0i
ZXgiIGRhdGEtZXhwZWN0ZWQ9ImZhbHNlIiB0eXBlPSJ0ZXh0IiBhcmlhLWludmFsaWQ9ImZhbHNl
Ij4KKyAgICA8aW5wdXQgY2xhc3M9ImV4IiBkYXRhLWV4cGVjdGVkPSJmYWxzZSIgdHlwZT0idGV4
dCIgYXJpYS1pbnZhbGlkPSJ1bmRlZmluZWQiPgorCisgICAgPCEtLSBLbm93biB0b2tlbiB2YWx1
ZXMgaW4gQVJJQSAxLjAuIC0tPgorICAgIDxpbnB1dCBjbGFzcz0iZXgiIGRhdGEtZXhwZWN0ZWQ9
ImdyYW1tYXIiIHR5cGU9InRleHQiIGFyaWEtaW52YWxpZD0iZ3JhbW1hciI+CisgICAgPGlucHV0
IGNsYXNzPSJleCIgZGF0YS1leHBlY3RlZD0iZ3JhbW1hciIgdHlwZT0idGV4dCIgYXJpYS1pbnZh
bGlkPSJncmFtbWFyCSI+PCEtLSBbc2ljXSB0YWIgY2hhciAtLT4KKyAgICA8aW5wdXQgY2xhc3M9
ImV4IiBkYXRhLWV4cGVjdGVkPSJzcGVsbGluZyIgdHlwZT0idGV4dCIgYXJpYS1pbnZhbGlkPSJz
cGVsbGluZyI+CisgICAgPGlucHV0IGNsYXNzPSJleCIgZGF0YS1leHBlY3RlZD0ic3BlbGxpbmci
IHR5cGU9InRleHQiIGFyaWEtaW52YWxpZD0ic3BlbGxpbmcKKyAgICAiPjwhLS0gW3NpY10gbmV3
bGluZSBjaGFyIC0tPgorCisgICAgPCEtLSBBbGwgb3RoZXIgc3RyaW5nIHZhbHVlcyBhcmUgdHJ1
dGh5LCBpbmNsdWRpbmcgYSBjb21iaW5hdGlvbiBvZiBvdGhlcndpc2UgdmFsaWQgdG9rZW5zLiAt
LT4KKyAgICA8aW5wdXQgY2xhc3M9ImV4IiBkYXRhLWV4cGVjdGVkPSJ0cnVlIiB0eXBlPSJ0ZXh0
IiBhcmlhLWludmFsaWQ9InRydWUiPgorICAgIDxpbnB1dCBjbGFzcz0iZXgiIGRhdGEtZXhwZWN0
ZWQ9InRydWUiIHR5cGU9InRleHQiIGFyaWEtaW52YWxpZD0ibm90YWxsb3dlZCI+CisgICAgPGlu
cHV0IGNsYXNzPSJleCIgZGF0YS1leHBlY3RlZD0idHJ1ZSIgdHlwZT0idGV4dCIgYXJpYS1pbnZh
bGlkPSLigKYiPgorICAgIDxpbnB1dCBjbGFzcz0iZXgiIGRhdGEtZXhwZWN0ZWQ9InRydWUiIHR5
cGU9InRleHQiIGFyaWEtaW52YWxpZD0iw4ciPgorICAgIDxpbnB1dCBjbGFzcz0iZXgiIGRhdGEt
ZXhwZWN0ZWQ9InRydWUiIHR5cGU9InRleHQiIGFyaWEtaW52YWxpZD0ic3BlbGxpbmcgZ3JhbW1h
ciI+CisgICAgPGlucHV0IGNsYXNzPSJleCIgZGF0YS1leHBlY3RlZD0idHJ1ZSIgdHlwZT0idGV4
dCIgYXJpYS1pbnZhbGlkPSJzcGVsbGluZwlncmFtbWFyIj48IS0tIFtzaWNdIHRhYiBjaGFyIC0t
PgorICAgIDxpbnB1dCBjbGFzcz0iZXgiIGRhdGEtZXhwZWN0ZWQ9InRydWUiIHR5cGU9InRleHQi
IGFyaWEtaW52YWxpZD0ic3BlbGxpbmcKKyAgICBncmFtbWFyIj48IS0tIFtzaWNdIG5ld2xpbmUg
Y2hhciAtLT4KKzwvZGl2PgogCiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgpAQCAtMjIsNDQgKzQzLDQ3IEBACiAKICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0cyB0aGF0IGFyaWEtaW52YWxpZCBjYXVzZXMgdGhlIHJpZ2h0IGF0dHJpYnV0ZSB0byBi
ZSByZXR1cm5lZCBhbmQgaXQgZW5zdXJlcyBhIG5vdGlmaWNhdGlvbiBpcyBzZW50IHdoZW4gaXQg
Y2hhbmdlcy4iKTsKIAotICAgIHZhciBub3RpZmljYXRpb25FbGVtZW50ID0gMDsKKyAgICBmdW5j
dGlvbiAkKGlkKXsKKyAgICAgICAgcmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTsK
KyAgICB9CisKKyAgICB2YXIgYXhOb3RpZmljYXRpb25FbGVtZW50ID0gbnVsbDsKICAgICBmdW5j
dGlvbiBub3RpZmljYXRpb25DYWxsYmFjayhub3RpZmljYXRpb24pIHsKICAgICAgICAgaWYgKG5v
dGlmaWNhdGlvbiA9PSAiQVhJbnZhbGlkU3RhdHVzQ2hhbmdlZCIpIHsKLSAgICAgICAgICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJub3RpZmljYXRpb25zIikuaW5uZXJIVE1MICs9ICJOb3Rp
ZmljYXRpb24gcmVjZWl2ZWQgc3VjY2Vzc2Z1bGx5LiI7Ci0gICAgICAgICAgICBub3RpZmljYXRp
b25FbGVtZW50LnJlbW92ZU5vdGlmaWNhdGlvbkxpc3RlbmVyKCk7CisgICAgICAgICAgICAkKCJu
b3RpZmljYXRpb25zIikuaW5uZXJIVE1MICs9ICJOb3RpZmljYXRpb24gcmVjZWl2ZWQgc3VjY2Vz
c2Z1bGx5LiI7CisgICAgICAgICAgICBheE5vdGlmaWNhdGlvbkVsZW1lbnQucmVtb3ZlTm90aWZp
Y2F0aW9uTGlzdGVuZXIoKTsKKyAgICAgICAgICAgICQoImV4YW1wbGVzIikuaGlkZGVuID0gdHJ1
ZTsKICAgICAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAgICAg
fQogICAgIH0KIAorICAgIHZhciByZXN1bHQgPSAkKCdjb25zb2xlJyk7CisgICAgZnVuY3Rpb24g
dmVyaWZ5KHZhbHVlLCBleHBlY3RhdGlvbiwgZWxlbWVudCkgeworICAgICAgaWYgKHZhbHVlID09
PSBleHBlY3RhdGlvbikKKyAgICAgICAgcmVzdWx0LmlubmVyVGV4dCArPSAiUEFTUzogQVhJbnZh
bGlkIGlzICIgKyB2YWx1ZSArICIuXG4iOworICAgICAgZWxzZQorICAgICAgICByZXN1bHQuaW5u
ZXJUZXh0ICs9ICJGQUlMOiBBWEludmFsaWQgaXMgIiArIHZhbHVlICsgIi4gRXhwZWN0ZWQ6ICIg
KyBleHBlY3RhdGlvbiArICIuICIgKyAoZWxlbWVudCA/IGVsZW1lbnQub3V0ZXJIVE1MIDogIiIp
ICsgIlxuIjsKKyAgICB9CisKICAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVy
KSB7CiAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAotICAgICAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4dDEiKS5mb2N1cygpOwotICAgICAgICBzaG91
bGRCZSgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuc3RyaW5nQXR0cmli
dXRlVmFsdWUoJ0FYSW52YWxpZCcpIiwgIid0cnVlJyIpOwotCi0gICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJ0ZXh0MiIpLmZvY3VzKCk7Ci0gICAgICAgIHNob3VsZEJlKCJhY2Nlc3Np
YmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5zdHJpbmdBdHRyaWJ1dGVWYWx1ZSgnQVhJ
bnZhbGlkJykiLCAiJ2dyYW1tYXInIik7Ci0KLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInRleHQzIikuZm9jdXMoKTsKLSAgICAgICAgc2hvdWxkQmUoImFjY2Vzc2liaWxpdHlDb250
cm9sbGVyLmZvY3VzZWRFbGVtZW50LnN0cmluZ0F0dHJpYnV0ZVZhbHVlKCdBWEludmFsaWQnKSIs
ICInc3BlbGxpbmcnIik7Ci0KLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHQ0
IikuZm9jdXMoKTsKLSAgICAgICAgc2hvdWxkQmUoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZv
Y3VzZWRFbGVtZW50LnN0cmluZ0F0dHJpYnV0ZVZhbHVlKCdBWEludmFsaWQnKSIsICIndHJ1ZSci
KTsKLQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4dDUiKS5mb2N1cygpOwot
ICAgICAgICBzaG91bGRCZSgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQu
c3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FYSW52YWxpZCcpIiwgIidmYWxzZSciKTsKLQotICAgICAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4dDYiKS5mb2N1cygpOwotICAgICAgICBzaG91
bGRCZSgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuc3RyaW5nQXR0cmli
dXRlVmFsdWUoJ0FYSW52YWxpZCcpIiwgIidmYWxzZSciKTsKLQotICAgICAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgidGV4dDciKS5mb2N1cygpOwotICAgICAgICBzaG91bGRCZSgiYWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuc3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FY
SW52YWxpZCcpIiwgIidmYWxzZSciKTsKLQotICAgICAgICBub3RpZmljYXRpb25FbGVtZW50ID0g
YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7Ci0gICAgICAgIHZhciBhZGRl
ZE5vdGlmaWNhdGlvbiA9IG5vdGlmaWNhdGlvbkVsZW1lbnQuYWRkTm90aWZpY2F0aW9uTGlzdGVu
ZXIobm90aWZpY2F0aW9uQ2FsbGJhY2spOworICAgICAgICB2YXIgZXhhbXBsZXMgPSBkb2N1bWVu
dC5xdWVyeVNlbGVjdG9yQWxsKCIuZXgiKTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDAsIGMgPSBl
eGFtcGxlcy5sZW5ndGg7IGkgPCBjOyBpKyspIHsKKyAgICAgICAgICAgIHZhciBlbCA9IGV4YW1w
bGVzW2ldOworICAgICAgICAgICAgZWwuZm9jdXMoKTsKKyAgICAgICAgICAgIHZhciBleHBlY3Rh
dGlvbiA9IGVsLmdldEF0dHJpYnV0ZSgiZGF0YS1leHBlY3RlZCIpOworICAgICAgICAgICAgdmFy
IHZhbHVlID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuc3RyaW5nQXR0
cmlidXRlVmFsdWUoJ0FYSW52YWxpZCcpOworICAgICAgICAgICAgdmVyaWZ5KHZhbHVlLCBleHBl
Y3RhdGlvbiwgZWwpOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICB2YXIgZG9tTm90aWZp
Y2F0aW9uRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5leCIpOworICAgICAgICBk
b21Ob3RpZmljYXRpb25FbGVtZW50LmZvY3VzKCk7CisgICAgICAgIGF4Tm90aWZpY2F0aW9uRWxl
bWVudCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OworICAgICAgICB2
YXIgYWRkZWROb3RpZmljYXRpb24gPSBheE5vdGlmaWNhdGlvbkVsZW1lbnQuYWRkTm90aWZpY2F0
aW9uTGlzdGVuZXIobm90aWZpY2F0aW9uQ2FsbGJhY2spOwogICAgICAgICBzaG91bGRCZVRydWUo
ImFkZGVkTm90aWZpY2F0aW9uIik7Ci0KLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InRleHQ3Iikuc2V0QXR0cmlidXRlKCJhcmlhLWludmFsaWQiLCAic3BlbGxpbmciKTsKKyAgICAg
ICAgZG9tTm90aWZpY2F0aW9uRWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtaW52YWxpZCIsICJz
cGVsbGluZyIpOworICAgICAgICB2ZXJpZnkoYXhOb3RpZmljYXRpb25FbGVtZW50LnN0cmluZ0F0
dHJpYnV0ZVZhbHVlKCdBWEludmFsaWQnKSwgInNwZWxsaW5nIiwgZG9tTm90aWZpY2F0aW9uRWxl
bWVudCk7CiAgICAgfQogCiA8L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226743</attachid>
            <date>2014-03-14 11:45:20 -0700</date>
            <delta_ts>2014-03-14 11:58:18 -0700</delta_ts>
            <desc>patch merges conflicts with TOT</desc>
            <filename>webkit130071.diff</filename>
            <type>text/plain</type>
            <size>13100</size>
            <attacher name="James Craig">jcraig</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NTYzMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE0LTAzLTE0ICBKYW1lcyBD
cmFpZyAgPGpjcmFpZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEFjY2Vzc2liaWxpdHlPYmpl
Y3Q6OmludmFsaWRTdGF0dXMoKSBpcyBpbmNvcnJlY3Qgd2hlbiBhcmlhLWludmFsaWQ9InVuZGVm
aW5lZCIgb3Igd2hpdGVzcGFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTMwMDcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWNjb3VudGVkIGZvciB3aGl0ZXNwYWNlIHZhbHVlcyBhbmQgdGhlIGV4cGxp
Y2l0IHN0cmluZywgInVuZGVmaW5lZCIuCisKKyAgICAgICAgVGVzdDogYWNjZXNzaWJpbGl0eS9h
cmlhLWludmFsaWQuaHRtbAorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmludmFs
aWRTdGF0dXMpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5o
OgorCiAyMDE0LTAzLTE0ICBBbmRyZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbTWFjXSBSZW1vdmUgTlNVUkxDYWNoZSBsb2dpYyBmcm9tIFdlYkNvcmUgcHJlc3N1cmUg
cmVsaWVmIGNvZGUuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAJKHJldmlzaW9uIDE2NTYzMSkKKysrIFNvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQwLDYgKzQwLDcgQEAKICNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgogI2luY2x1ZGUg
IkZyYW1lU2VsZWN0aW9uLmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSAiSFRN
TFBhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUgIkxvY2FsaXplZFN0cmluZ3MuaCIKICNpbmNsdWRl
ICJNYWluRnJhbWUuaCIKICNpbmNsdWRlICJNYXRoTUxOYW1lcy5oIgpAQCAtMTUyOCwyMyArMTUy
OSwyOCBAQCBib29sIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFyaWFJc011bHRpbGluCiAgICAgcmV0
dXJuIGVxdWFsSWdub3JpbmdDYXNlKGdldEF0dHJpYnV0ZShhcmlhX211bHRpbGluZUF0dHIpLCAi
dHJ1ZSIpOwogfQogCi1jb25zdCBBdG9taWNTdHJpbmcmIEFjY2Vzc2liaWxpdHlPYmplY3Q6Omlu
dmFsaWRTdGF0dXMoKSBjb25zdAorU3RyaW5nIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmludmFsaWRT
dGF0dXMoKSBjb25zdAogewotICAgIERFUFJFQ0FURURfREVGSU5FX1NUQVRJQ19MT0NBTChjb25z
dCBBdG9taWNTdHJpbmcsIGludmFsaWRTdGF0dXNGYWxzZSwgKCJmYWxzZSIsIEF0b21pY1N0cmlu
Zzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKLSAgICBERVBSRUNBVEVEX0RFRklORV9TVEFUSUNf
TE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBpbnZhbGlkU3RhdHVzVHJ1ZSwgKCJ0cnVlIiwgQXRv
bWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwotICAgIAotICAgIC8vIGFyaWEtaW52
YWxpZCBjYW4gcmV0dXJuIGZhbHNlIChkZWZhdWx0KSwgZ3JhbW1lciwgc3BlbGxpbmcsIG9yIHRy
dWUuCi0gICAgY29uc3QgQXRvbWljU3RyaW5nJiBhcmlhSW52YWxpZCA9IGdldEF0dHJpYnV0ZShh
cmlhX2ludmFsaWRBdHRyKTsKLSAgICAKLSAgICAvLyBJZiAnZmFsc2UnLCBlbXB0eSBvciBub3Qg
cHJlc2VudCwgaXQgc2hvdWxkIHJldHVybiBmYWxzZS4KLSAgICBpZiAoYXJpYUludmFsaWQuaXNF
bXB0eSgpIHx8IGVxdWFsSWdub3JpbmdDYXNlKGFyaWFJbnZhbGlkLCBpbnZhbGlkU3RhdHVzRmFs
c2UpKQotICAgICAgICByZXR1cm4gaW52YWxpZFN0YXR1c0ZhbHNlOwotICAgIAotICAgIC8vIE9u
bHkgJ3RydWUnLCAnZ3JhbW1hcicgYW5kICdzcGVsbGluZycgYXJlIHZhbHVlcyByZWNvZ25pc2Vk
IGJ5IHRoZSBXQUktQVJJQQotICAgIC8vIHNwZWNpZmljYXRpb24uIEFueSBvdGhlciBub24gZW1w
dHkgc3RyaW5nIHNob3VsZCBiZSB0cmVhdGVkIGFzICd0cnVlJy4KLSAgICBpZiAoZXF1YWxJZ25v
cmluZ0Nhc2UoYXJpYUludmFsaWQsICJzcGVsbGluZyIpIHx8IGVxdWFsSWdub3JpbmdDYXNlKGFy
aWFJbnZhbGlkLCAiZ3JhbW1hciIpKQotICAgICAgICByZXR1cm4gYXJpYUludmFsaWQ7Ci0gICAg
cmV0dXJuIGludmFsaWRTdGF0dXNUcnVlOworICAgIFN0cmluZyBncmFtbWFyVmFsdWUgPSBBU0NJ
SUxpdGVyYWwoImdyYW1tYXIiKTsKKyAgICBTdHJpbmcgZmFsc2VWYWx1ZSA9IEFTQ0lJTGl0ZXJh
bCgiZmFsc2UiKTsKKyAgICBTdHJpbmcgc3BlbGxpbmdWYWx1ZSA9IEFTQ0lJTGl0ZXJhbCgic3Bl
bGxpbmciKTsKKyAgICBTdHJpbmcgdHJ1ZVZhbHVlID0gQVNDSUlMaXRlcmFsKCJ0cnVlIik7Cisg
ICAgU3RyaW5nIHVuZGVmaW5lZFZhbHVlID0gQVNDSUlMaXRlcmFsKCJ1bmRlZmluZWQiKTsKKwor
ICAgIC8vIGFyaWEtaW52YWxpZCBjYW4gcmV0dXJuIGZhbHNlIChkZWZhdWx0KSwgZ3JhbW1hciwg
c3BlbGxpbmcsIG9yIHRydWUuCisgICAgU3RyaW5nIGFyaWFJbnZhbGlkID0gc3RyaXBMZWFkaW5n
QW5kVHJhaWxpbmdIVE1MU3BhY2VzKGdldEF0dHJpYnV0ZShhcmlhX2ludmFsaWRBdHRyKSk7Cisg
ICAgCisgICAgLy8gSWYgImZhbHNlIiwgInVuZGVmaW5lZCIgW3NpYywgc3RyaW5nIHZhbHVlXSwg
ZW1wdHksIG9yIG1pc3NpbmcsIHJldHVybiAiZmFsc2UiLgorICAgIGlmIChhcmlhSW52YWxpZC5p
c0VtcHR5KCkgfHwgYXJpYUludmFsaWQgPT0gZmFsc2VWYWx1ZSB8fCBhcmlhSW52YWxpZCA9PSB1
bmRlZmluZWRWYWx1ZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlVmFsdWU7CisgICAgLy8gQmVzaWRl
cyB0cnVlL2ZhbHNlL3VuZGVmaW5lZCwgdGhlIG9ubHkgdG9rZW5zIGRlZmluZWQgYnkgV0FJLUFS
SUEgMS4wLi4uCisgICAgLy8gLi4uZm9yIEBhcmlhLWludmFsaWQgYXJlICJncmFtbWFyIiBhbmQg
InNwZWxsaW5nIi4KKyAgICBpZiAoYXJpYUludmFsaWQgPT0gZ3JhbW1hclZhbHVlKQorICAgICAg
ICByZXR1cm4gZ3JhbW1hclZhbHVlOworICAgIGlmIChhcmlhSW52YWxpZCA9PSBzcGVsbGluZ1Zh
bHVlKQorICAgICAgICByZXR1cm4gc3BlbGxpbmdWYWx1ZTsKKyAgICAvLyBBbnkgb3RoZXIgbm9u
IGVtcHR5IHN0cmluZyBzaG91bGQgYmUgdHJlYXRlZCBhcyAidHJ1ZSIuCisgICAgcmV0dXJuIHRy
dWVWYWx1ZTsKIH0KICAKIGJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6aGFzVGFnTmFtZShjb25z
dCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lKSBjb25zdApJbmRleDogU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgJKHJldmlzaW9uIDE2NTYz
MSkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5o
CSh3b3JraW5nIGNvcHkpCkBAIC01ODUsNyArNTg1LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
Ym9vbCBhcmlhSGFzUG9wdXAoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwg
Ym9vbCBhcmlhUHJlc3NlZElzUHJlc2VudCgpIGNvbnN0OwogICAgIGJvb2wgYXJpYUlzTXVsdGls
aW5lKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGludmFsaWRTdGF0
dXMoKSBjb25zdDsKKyAgICB2aXJ0dWFsIFN0cmluZyBpbnZhbGlkU3RhdHVzKCkgY29uc3Q7CiAg
ICAgYm9vbCBzdXBwb3J0c0FSSUFFeHBhbmRlZCgpIGNvbnN0OwogICAgIGJvb2wgc3VwcG9ydHND
aGVja2VkKCkgY29uc3Q7CiAgICAgQWNjZXNzaWJpbGl0eVNvcnREaXJlY3Rpb24gc29ydERpcmVj
dGlvbigpIGNvbnN0OwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTY1NjMxKQorKysgTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTQtMDMtMTQgIEph
bWVzIENyYWlnICA8amNyYWlnQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogQWNjZXNzaWJpbGl0
eU9iamVjdDo6aW52YWxpZFN0YXR1cygpIGlzIGluY29ycmVjdCB3aGVuIGFyaWEtaW52YWxpZD0i
dW5kZWZpbmVkIiBvciB3aGl0ZXNwYWNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMzAwNzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBY2NvdW50ZWQgZm9yIHdoaXRlc3BhY2UgdmFsdWVzIGFuZCB0aGUg
ZXhwbGljaXQgc3RyaW5nLCAidW5kZWZpbmVkIi4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkv
YXJpYS1pbnZhbGlkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2FyaWEt
aW52YWxpZC5odG1sOgorCiAyMDE0LTAzLTE0ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5j
b20+CiAKICAgICAgICAgU3VicGl4ZWwgcmVuZGVyaW5nOiBMYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy9oaWRwaS1zaW1wbGUtY29udGFpbmVyLWxheWVyLW9uLWRldmljZS1waXhlbC1leHBlY3RlZC5o
dG1sIGZhaWxzIG9uIE1vdW50YWluIExpb24gV0syIGRlYnVnCkluZGV4OiBMYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L2FyaWEtaW52YWxpZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWludmFsaWQtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAxNjU2MzEpCisrKyBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtaW52YWxpZC1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTcgKzEsMjkgQEAKLSAgICAgIAogVGhpcyB0
ZXN0cyB0aGF0IGFyaWEtaW52YWxpZCBjYXVzZXMgdGhlIHJpZ2h0IGF0dHJpYnV0ZSB0byBiZSBy
ZXR1cm5lZCBhbmQgaXQgZW5zdXJlcyBhIG5vdGlmaWNhdGlvbiBpcyBzZW50IHdoZW4gaXQgY2hh
bmdlcy4KIAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAKLVBBU1MgYWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuc3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FYSW52YWxp
ZCcpIGlzICd0cnVlJwotUEFTUyBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVu
dC5zdHJpbmdBdHRyaWJ1dGVWYWx1ZSgnQVhJbnZhbGlkJykgaXMgJ2dyYW1tYXInCi1QQVNTIGFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LnN0cmluZ0F0dHJpYnV0ZVZhbHVl
KCdBWEludmFsaWQnKSBpcyAnc3BlbGxpbmcnCi1QQVNTIGFjY2Vzc2liaWxpdHlDb250cm9sbGVy
LmZvY3VzZWRFbGVtZW50LnN0cmluZ0F0dHJpYnV0ZVZhbHVlKCdBWEludmFsaWQnKSBpcyAndHJ1
ZScKLVBBU1MgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuc3RyaW5nQXR0
cmlidXRlVmFsdWUoJ0FYSW52YWxpZCcpIGlzICdmYWxzZScKLVBBU1MgYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuc3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FYSW52YWxpZCcp
IGlzICdmYWxzZScKLVBBU1MgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQu
c3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FYSW52YWxpZCcpIGlzICdmYWxzZScKK1BBU1M6IEFYSW52
YWxpZCBpcyBmYWxzZS4KK1BBU1M6IEFYSW52YWxpZCBpcyBmYWxzZS4KK1BBU1M6IEFYSW52YWxp
ZCBpcyBmYWxzZS4KK1BBU1M6IEFYSW52YWxpZCBpcyBmYWxzZS4KK1BBU1M6IEFYSW52YWxpZCBp
cyBmYWxzZS4KK1BBU1M6IEFYSW52YWxpZCBpcyBmYWxzZS4KK1BBU1M6IEFYSW52YWxpZCBpcyBm
YWxzZS4KK1BBU1M6IEFYSW52YWxpZCBpcyBmYWxzZS4KK1BBU1M6IEFYSW52YWxpZCBpcyBncmFt
bWFyLgorUEFTUzogQVhJbnZhbGlkIGlzIGdyYW1tYXIuCitQQVNTOiBBWEludmFsaWQgaXMgc3Bl
bGxpbmcuCitQQVNTOiBBWEludmFsaWQgaXMgc3BlbGxpbmcuCitQQVNTOiBBWEludmFsaWQgaXMg
dHJ1ZS4KK1BBU1M6IEFYSW52YWxpZCBpcyB0cnVlLgorUEFTUzogQVhJbnZhbGlkIGlzIHRydWUu
CitQQVNTOiBBWEludmFsaWQgaXMgdHJ1ZS4KK1BBU1M6IEFYSW52YWxpZCBpcyB0cnVlLgorUEFT
UzogQVhJbnZhbGlkIGlzIHRydWUuCitQQVNTOiBBWEludmFsaWQgaXMgdHJ1ZS4KIFBBU1MgYWRk
ZWROb3RpZmljYXRpb24gaXMgdHJ1ZQorUEFTUzogQVhJbnZhbGlkIGlzIHNwZWxsaW5nLgogUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCkluZGV4OiBMYXlv
dXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtaW52YWxpZC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1pbnZhbGlkLmh0bWwJKHJldmlzaW9uIDE2NTYz
MSkKKysrIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1pbnZhbGlkLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTUsMTQgKzUsMzUgQEAKIDwvaGVhZD4KIDxib2R5IGlkPSJib2R5Ij4KIAot
Ci08aW5wdXQgdHlwZT0idGV4dCIgaWQ9InRleHQxIiBhcmlhLWludmFsaWQ9InRydWUiPgotPGlu
cHV0IHR5cGU9InRleHQiIGlkPSJ0ZXh0MiIgYXJpYS1pbnZhbGlkPSJncmFtbWFyIj4KLTxpbnB1
dCB0eXBlPSJ0ZXh0IiBpZD0idGV4dDMiIGFyaWEtaW52YWxpZD0ic3BlbGxpbmciPgotPGlucHV0
IHR5cGU9InRleHQiIGlkPSJ0ZXh0NCIgYXJpYS1pbnZhbGlkPSJub3RhbGxvd2VkIj4KLTxpbnB1
dCB0eXBlPSJ0ZXh0IiBpZD0idGV4dDUiIGFyaWEtaW52YWxpZD0iZmFsc2UiPgotPGlucHV0IHR5
cGU9InRleHQiIGlkPSJ0ZXh0NiIgYXJpYS1pbnZhbGlkPSIiPgotPGlucHV0IHR5cGU9InRleHQi
IGlkPSJ0ZXh0NyI+Cis8ZGl2IGlkPSJleGFtcGxlcyI+CisgICAgPCEtLSBBbGwgb2YgdGhlc2Ug
ZXZhbCB0byBBWEludmFsaWQ6ICdmYWxzZScgLS0+CisgICAgPGlucHV0IGNsYXNzPSJleCIgZGF0
YS1leHBlY3RlZD0iZmFsc2UiIHR5cGU9InRleHQiPgorICAgIDxpbnB1dCBjbGFzcz0iZXgiIGRh
dGEtZXhwZWN0ZWQ9ImZhbHNlIiB0eXBlPSJ0ZXh0IiBhcmlhLWludmFsaWQ+CisgICAgPGlucHV0
IGNsYXNzPSJleCIgZGF0YS1leHBlY3RlZD0iZmFsc2UiIHR5cGU9InRleHQiIGFyaWEtaW52YWxp
ZD0iIj4KKyAgICA8aW5wdXQgY2xhc3M9ImV4IiBkYXRhLWV4cGVjdGVkPSJmYWxzZSIgdHlwZT0i
dGV4dCIgYXJpYS1pbnZhbGlkPSIgIj4KKyAgICA8aW5wdXQgY2xhc3M9ImV4IiBkYXRhLWV4cGVj
dGVkPSJmYWxzZSIgdHlwZT0idGV4dCIgYXJpYS1pbnZhbGlkPSIJIj48IS0tIFtzaWNdIHRhYiBj
aGFyIC0tPgorICAgIDxpbnB1dCBjbGFzcz0iZXgiIGRhdGEtZXhwZWN0ZWQ9ImZhbHNlIiB0eXBl
PSJ0ZXh0IiBhcmlhLWludmFsaWQ9IgorICAgICI+PCEtLSBbc2ljXSBuZXdsaW5lIGNoYXIgLS0+
CisgICAgPGlucHV0IGNsYXNzPSJleCIgZGF0YS1leHBlY3RlZD0iZmFsc2UiIHR5cGU9InRleHQi
IGFyaWEtaW52YWxpZD0iZmFsc2UiPgorICAgIDxpbnB1dCBjbGFzcz0iZXgiIGRhdGEtZXhwZWN0
ZWQ9ImZhbHNlIiB0eXBlPSJ0ZXh0IiBhcmlhLWludmFsaWQ9InVuZGVmaW5lZCI+CisKKyAgICA8
IS0tIEtub3duIHRva2VuIHZhbHVlcyBpbiBBUklBIDEuMC4gLS0+CisgICAgPGlucHV0IGNsYXNz
PSJleCIgZGF0YS1leHBlY3RlZD0iZ3JhbW1hciIgdHlwZT0idGV4dCIgYXJpYS1pbnZhbGlkPSJn
cmFtbWFyIj4KKyAgICA8aW5wdXQgY2xhc3M9ImV4IiBkYXRhLWV4cGVjdGVkPSJncmFtbWFyIiB0
eXBlPSJ0ZXh0IiBhcmlhLWludmFsaWQ9ImdyYW1tYXIJIj48IS0tIFtzaWNdIHRhYiBjaGFyIC0t
PgorICAgIDxpbnB1dCBjbGFzcz0iZXgiIGRhdGEtZXhwZWN0ZWQ9InNwZWxsaW5nIiB0eXBlPSJ0
ZXh0IiBhcmlhLWludmFsaWQ9InNwZWxsaW5nIj4KKyAgICA8aW5wdXQgY2xhc3M9ImV4IiBkYXRh
LWV4cGVjdGVkPSJzcGVsbGluZyIgdHlwZT0idGV4dCIgYXJpYS1pbnZhbGlkPSJzcGVsbGluZwor
ICAgICI+PCEtLSBbc2ljXSBuZXdsaW5lIGNoYXIgLS0+CisKKyAgICA8IS0tIEFsbCBvdGhlciBz
dHJpbmcgdmFsdWVzIGFyZSB0cnV0aHksIGluY2x1ZGluZyBhIGNvbWJpbmF0aW9uIG9mIG90aGVy
d2lzZSB2YWxpZCB0b2tlbnMuIC0tPgorICAgIDxpbnB1dCBjbGFzcz0iZXgiIGRhdGEtZXhwZWN0
ZWQ9InRydWUiIHR5cGU9InRleHQiIGFyaWEtaW52YWxpZD0idHJ1ZSI+CisgICAgPGlucHV0IGNs
YXNzPSJleCIgZGF0YS1leHBlY3RlZD0idHJ1ZSIgdHlwZT0idGV4dCIgYXJpYS1pbnZhbGlkPSJu
b3RhbGxvd2VkIj4KKyAgICA8aW5wdXQgY2xhc3M9ImV4IiBkYXRhLWV4cGVjdGVkPSJ0cnVlIiB0
eXBlPSJ0ZXh0IiBhcmlhLWludmFsaWQ9IuKApiI+CisgICAgPGlucHV0IGNsYXNzPSJleCIgZGF0
YS1leHBlY3RlZD0idHJ1ZSIgdHlwZT0idGV4dCIgYXJpYS1pbnZhbGlkPSLDhyI+CisgICAgPGlu
cHV0IGNsYXNzPSJleCIgZGF0YS1leHBlY3RlZD0idHJ1ZSIgdHlwZT0idGV4dCIgYXJpYS1pbnZh
bGlkPSJzcGVsbGluZyBncmFtbWFyIj4KKyAgICA8aW5wdXQgY2xhc3M9ImV4IiBkYXRhLWV4cGVj
dGVkPSJ0cnVlIiB0eXBlPSJ0ZXh0IiBhcmlhLWludmFsaWQ9InNwZWxsaW5nCWdyYW1tYXIiPjwh
LS0gW3NpY10gdGFiIGNoYXIgLS0+CisgICAgPGlucHV0IGNsYXNzPSJleCIgZGF0YS1leHBlY3Rl
ZD0idHJ1ZSIgdHlwZT0idGV4dCIgYXJpYS1pbnZhbGlkPSJzcGVsbGluZworICAgIGdyYW1tYXIi
PjwhLS0gW3NpY10gbmV3bGluZSBjaGFyIC0tPgorPC9kaXY+CiAKIDxwIGlkPSJkZXNjcmlwdGlv
biI+PC9wPgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CkBAIC0yMiw0NCArNDMsNDcgQEAKIAog
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQgYXJpYS1pbnZhbGlkIGNhdXNlcyB0aGUg
cmlnaHQgYXR0cmlidXRlIHRvIGJlIHJldHVybmVkIGFuZCBpdCBlbnN1cmVzIGEgbm90aWZpY2F0
aW9uIGlzIHNlbnQgd2hlbiBpdCBjaGFuZ2VzLiIpOwogCi0gICAgdmFyIG5vdGlmaWNhdGlvbkVs
ZW1lbnQgPSAwOworICAgIGZ1bmN0aW9uICQoaWQpeworICAgICAgICByZXR1cm4gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoaWQpOworICAgIH0KKworICAgIHZhciBheE5vdGlmaWNhdGlvbkVsZW1l
bnQgPSBudWxsOwogICAgIGZ1bmN0aW9uIG5vdGlmaWNhdGlvbkNhbGxiYWNrKG5vdGlmaWNhdGlv
bikgewogICAgICAgICBpZiAobm90aWZpY2F0aW9uID09ICJBWEludmFsaWRTdGF0dXNDaGFuZ2Vk
IikgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmaWNhdGlvbnMi
KS5pbm5lckhUTUwgKz0gIk5vdGlmaWNhdGlvbiByZWNlaXZlZCBzdWNjZXNzZnVsbHkuIjsKLSAg
ICAgICAgICAgIG5vdGlmaWNhdGlvbkVsZW1lbnQucmVtb3ZlTm90aWZpY2F0aW9uTGlzdGVuZXIo
KTsKKyAgICAgICAgICAgICQoIm5vdGlmaWNhdGlvbnMiKS5pbm5lckhUTUwgKz0gIk5vdGlmaWNh
dGlvbiByZWNlaXZlZCBzdWNjZXNzZnVsbHkuIjsKKyAgICAgICAgICAgIGF4Tm90aWZpY2F0aW9u
RWxlbWVudC5yZW1vdmVOb3RpZmljYXRpb25MaXN0ZW5lcigpOworICAgICAgICAgICAgJCgiZXhh
bXBsZXMiKS5oaWRkZW4gPSB0cnVlOwogICAgICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOwogICAgICAgICB9CiAgICAgfQogCisgICAgdmFyIHJlc3VsdCA9ICQoJ2NvbnNv
bGUnKTsKKyAgICBmdW5jdGlvbiB2ZXJpZnkodmFsdWUsIGV4cGVjdGF0aW9uLCBlbGVtZW50KSB7
CisgICAgICBpZiAodmFsdWUgPT09IGV4cGVjdGF0aW9uKQorICAgICAgICByZXN1bHQuaW5uZXJU
ZXh0ICs9ICJQQVNTOiBBWEludmFsaWQgaXMgIiArIHZhbHVlICsgIi5cbiI7CisgICAgICBlbHNl
CisgICAgICAgIHJlc3VsdC5pbm5lclRleHQgKz0gIkZBSUw6IEFYSW52YWxpZCBpcyAiICsgdmFs
dWUgKyAiLiBFeHBlY3RlZDogIiArIGV4cGVjdGF0aW9uICsgIi4gIiArIChlbGVtZW50ID8gZWxl
bWVudC5vdXRlckhUTUwgOiAiIikgKyAiXG4iOworICAgIH0KKwogICAgIGlmICh3aW5kb3cuYWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOwogCi0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXh0MSIpLmZv
Y3VzKCk7Ci0gICAgICAgIHNob3VsZEJlKCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2Vk
RWxlbWVudC5zdHJpbmdBdHRyaWJ1dGVWYWx1ZSgnQVhJbnZhbGlkJykiLCAiJ3RydWUnIik7Ci0K
LSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHQyIikuZm9jdXMoKTsKLSAgICAg
ICAgc2hvdWxkQmUoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LnN0cmlu
Z0F0dHJpYnV0ZVZhbHVlKCdBWEludmFsaWQnKSIsICInZ3JhbW1hciciKTsKLQotICAgICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4dDMiKS5mb2N1cygpOwotICAgICAgICBzaG91bGRC
ZSgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuc3RyaW5nQXR0cmlidXRl
VmFsdWUoJ0FYSW52YWxpZCcpIiwgIidzcGVsbGluZyciKTsKLQotICAgICAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgidGV4dDQiKS5mb2N1cygpOwotICAgICAgICBzaG91bGRCZSgiYWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuc3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FY
SW52YWxpZCcpIiwgIid0cnVlJyIpOwotCi0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJ0ZXh0NSIpLmZvY3VzKCk7Ci0gICAgICAgIHNob3VsZEJlKCJhY2Nlc3NpYmlsaXR5Q29udHJv
bGxlci5mb2N1c2VkRWxlbWVudC5zdHJpbmdBdHRyaWJ1dGVWYWx1ZSgnQVhJbnZhbGlkJykiLCAi
J2ZhbHNlJyIpOwotCi0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXh0NiIpLmZv
Y3VzKCk7Ci0gICAgICAgIHNob3VsZEJlKCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2Vk
RWxlbWVudC5zdHJpbmdBdHRyaWJ1dGVWYWx1ZSgnQVhJbnZhbGlkJykiLCAiJ2ZhbHNlJyIpOwot
Ci0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXh0NyIpLmZvY3VzKCk7Ci0gICAg
ICAgIHNob3VsZEJlKCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5zdHJp
bmdBdHRyaWJ1dGVWYWx1ZSgnQVhJbnZhbGlkJykiLCAiJ2ZhbHNlJyIpOwotCi0gICAgICAgIG5v
dGlmaWNhdGlvbkVsZW1lbnQgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVu
dDsKLSAgICAgICAgdmFyIGFkZGVkTm90aWZpY2F0aW9uID0gbm90aWZpY2F0aW9uRWxlbWVudC5h
ZGROb3RpZmljYXRpb25MaXN0ZW5lcihub3RpZmljYXRpb25DYWxsYmFjayk7CisgICAgICAgIHZh
ciBleGFtcGxlcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5leCIpOworICAgICAgICBm
b3IgKHZhciBpID0gMCwgYyA9IGV4YW1wbGVzLmxlbmd0aDsgaSA8IGM7IGkrKykgeworICAgICAg
ICAgICAgdmFyIGVsID0gZXhhbXBsZXNbaV07CisgICAgICAgICAgICBlbC5mb2N1cygpOworICAg
ICAgICAgICAgdmFyIGV4cGVjdGF0aW9uID0gZWwuZ2V0QXR0cmlidXRlKCJkYXRhLWV4cGVjdGVk
Iik7CisgICAgICAgICAgICB2YXIgdmFsdWUgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1
c2VkRWxlbWVudC5zdHJpbmdBdHRyaWJ1dGVWYWx1ZSgnQVhJbnZhbGlkJyk7CisgICAgICAgICAg
ICB2ZXJpZnkodmFsdWUsIGV4cGVjdGF0aW9uLCBlbCk7CisgICAgICAgIH0KKyAgICAgICAgCisg
ICAgICAgIHZhciBkb21Ob3RpZmljYXRpb25FbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rv
cigiLmV4Iik7CisgICAgICAgIGRvbU5vdGlmaWNhdGlvbkVsZW1lbnQuZm9jdXMoKTsKKyAgICAg
ICAgYXhOb3RpZmljYXRpb25FbGVtZW50ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNl
ZEVsZW1lbnQ7CisgICAgICAgIHZhciBhZGRlZE5vdGlmaWNhdGlvbiA9IGF4Tm90aWZpY2F0aW9u
RWxlbWVudC5hZGROb3RpZmljYXRpb25MaXN0ZW5lcihub3RpZmljYXRpb25DYWxsYmFjayk7CiAg
ICAgICAgIHNob3VsZEJlVHJ1ZSgiYWRkZWROb3RpZmljYXRpb24iKTsKLQotICAgICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgidGV4dDciKS5zZXRBdHRyaWJ1dGUoImFyaWEtaW52YWxpZCIs
ICJzcGVsbGluZyIpOworICAgICAgICBkb21Ob3RpZmljYXRpb25FbGVtZW50LnNldEF0dHJpYnV0
ZSgiYXJpYS1pbnZhbGlkIiwgInNwZWxsaW5nIik7CisgICAgICAgIHZlcmlmeShheE5vdGlmaWNh
dGlvbkVsZW1lbnQuc3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FYSW52YWxpZCcpLCAic3BlbGxpbmci
LCBkb21Ob3RpZmljYXRpb25FbGVtZW50KTsKICAgICB9CiAKIDwvc2NyaXB0Pgo=
</data>
<flag name="review"
          id="250975"
          type_id="1"
          status="+"
          setter="cfleizach"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226746</attachid>
            <date>2014-03-14 11:58:18 -0700</date>
            <delta_ts>2014-03-14 13:19:43 -0700</delta_ts>
            <desc>patch to fix ATK build failure</desc>
            <filename>webkit130071.diff</filename>
            <type>text/plain</type>
            <size>14042</size>
            <attacher name="James Craig">jcraig</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NTYzMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE0LTAzLTE0ICBKYW1lcyBD
cmFpZyAgPGpjcmFpZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEFjY2Vzc2liaWxpdHlPYmpl
Y3Q6OmludmFsaWRTdGF0dXMoKSBpcyBpbmNvcnJlY3Qgd2hlbiBhcmlhLWludmFsaWQ9InVuZGVm
aW5lZCIgb3Igd2hpdGVzcGFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTMwMDcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWNjb3VudGVkIGZvciB3aGl0ZXNwYWNlIHZhbHVlcyBhbmQgdGhlIGV4cGxp
Y2l0IHN0cmluZywgInVuZGVmaW5lZCIuCisKKyAgICAgICAgVGVzdDogYWNjZXNzaWJpbGl0eS9h
cmlhLWludmFsaWQuaHRtbAorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmludmFs
aWRTdGF0dXMpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5o
OgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VU
ZXh0LmNwcDoKKyAgICAgICAgKGdldEF0dHJpYnV0ZVNldEZvckFjY2Vzc2liaWxpdHlPYmplY3Qp
OgorCiAyMDE0LTAzLTE0ICBBbmRyZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbTWFjXSBSZW1vdmUgTlNVUkxDYWNoZSBsb2dpYyBmcm9tIFdlYkNvcmUgcHJlc3N1cmUg
cmVsaWVmIGNvZGUuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAJKHJldmlzaW9uIDE2NTYzMSkKKysrIFNvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQwLDYgKzQwLDcgQEAKICNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgogI2luY2x1ZGUg
IkZyYW1lU2VsZWN0aW9uLmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSAiSFRN
TFBhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUgIkxvY2FsaXplZFN0cmluZ3MuaCIKICNpbmNsdWRl
ICJNYWluRnJhbWUuaCIKICNpbmNsdWRlICJNYXRoTUxOYW1lcy5oIgpAQCAtMTUyOCwyMyArMTUy
OSwyOCBAQCBib29sIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFyaWFJc011bHRpbGluCiAgICAgcmV0
dXJuIGVxdWFsSWdub3JpbmdDYXNlKGdldEF0dHJpYnV0ZShhcmlhX211bHRpbGluZUF0dHIpLCAi
dHJ1ZSIpOwogfQogCi1jb25zdCBBdG9taWNTdHJpbmcmIEFjY2Vzc2liaWxpdHlPYmplY3Q6Omlu
dmFsaWRTdGF0dXMoKSBjb25zdAorU3RyaW5nIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmludmFsaWRT
dGF0dXMoKSBjb25zdAogewotICAgIERFUFJFQ0FURURfREVGSU5FX1NUQVRJQ19MT0NBTChjb25z
dCBBdG9taWNTdHJpbmcsIGludmFsaWRTdGF0dXNGYWxzZSwgKCJmYWxzZSIsIEF0b21pY1N0cmlu
Zzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKLSAgICBERVBSRUNBVEVEX0RFRklORV9TVEFUSUNf
TE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBpbnZhbGlkU3RhdHVzVHJ1ZSwgKCJ0cnVlIiwgQXRv
bWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwotICAgIAotICAgIC8vIGFyaWEtaW52
YWxpZCBjYW4gcmV0dXJuIGZhbHNlIChkZWZhdWx0KSwgZ3JhbW1lciwgc3BlbGxpbmcsIG9yIHRy
dWUuCi0gICAgY29uc3QgQXRvbWljU3RyaW5nJiBhcmlhSW52YWxpZCA9IGdldEF0dHJpYnV0ZShh
cmlhX2ludmFsaWRBdHRyKTsKLSAgICAKLSAgICAvLyBJZiAnZmFsc2UnLCBlbXB0eSBvciBub3Qg
cHJlc2VudCwgaXQgc2hvdWxkIHJldHVybiBmYWxzZS4KLSAgICBpZiAoYXJpYUludmFsaWQuaXNF
bXB0eSgpIHx8IGVxdWFsSWdub3JpbmdDYXNlKGFyaWFJbnZhbGlkLCBpbnZhbGlkU3RhdHVzRmFs
c2UpKQotICAgICAgICByZXR1cm4gaW52YWxpZFN0YXR1c0ZhbHNlOwotICAgIAotICAgIC8vIE9u
bHkgJ3RydWUnLCAnZ3JhbW1hcicgYW5kICdzcGVsbGluZycgYXJlIHZhbHVlcyByZWNvZ25pc2Vk
IGJ5IHRoZSBXQUktQVJJQQotICAgIC8vIHNwZWNpZmljYXRpb24uIEFueSBvdGhlciBub24gZW1w
dHkgc3RyaW5nIHNob3VsZCBiZSB0cmVhdGVkIGFzICd0cnVlJy4KLSAgICBpZiAoZXF1YWxJZ25v
cmluZ0Nhc2UoYXJpYUludmFsaWQsICJzcGVsbGluZyIpIHx8IGVxdWFsSWdub3JpbmdDYXNlKGFy
aWFJbnZhbGlkLCAiZ3JhbW1hciIpKQotICAgICAgICByZXR1cm4gYXJpYUludmFsaWQ7Ci0gICAg
cmV0dXJuIGludmFsaWRTdGF0dXNUcnVlOworICAgIFN0cmluZyBncmFtbWFyVmFsdWUgPSBBU0NJ
SUxpdGVyYWwoImdyYW1tYXIiKTsKKyAgICBTdHJpbmcgZmFsc2VWYWx1ZSA9IEFTQ0lJTGl0ZXJh
bCgiZmFsc2UiKTsKKyAgICBTdHJpbmcgc3BlbGxpbmdWYWx1ZSA9IEFTQ0lJTGl0ZXJhbCgic3Bl
bGxpbmciKTsKKyAgICBTdHJpbmcgdHJ1ZVZhbHVlID0gQVNDSUlMaXRlcmFsKCJ0cnVlIik7Cisg
ICAgU3RyaW5nIHVuZGVmaW5lZFZhbHVlID0gQVNDSUlMaXRlcmFsKCJ1bmRlZmluZWQiKTsKKwor
ICAgIC8vIGFyaWEtaW52YWxpZCBjYW4gcmV0dXJuIGZhbHNlIChkZWZhdWx0KSwgZ3JhbW1hciwg
c3BlbGxpbmcsIG9yIHRydWUuCisgICAgU3RyaW5nIGFyaWFJbnZhbGlkID0gc3RyaXBMZWFkaW5n
QW5kVHJhaWxpbmdIVE1MU3BhY2VzKGdldEF0dHJpYnV0ZShhcmlhX2ludmFsaWRBdHRyKSk7Cisg
ICAgCisgICAgLy8gSWYgImZhbHNlIiwgInVuZGVmaW5lZCIgW3NpYywgc3RyaW5nIHZhbHVlXSwg
ZW1wdHksIG9yIG1pc3NpbmcsIHJldHVybiAiZmFsc2UiLgorICAgIGlmIChhcmlhSW52YWxpZC5p
c0VtcHR5KCkgfHwgYXJpYUludmFsaWQgPT0gZmFsc2VWYWx1ZSB8fCBhcmlhSW52YWxpZCA9PSB1
bmRlZmluZWRWYWx1ZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlVmFsdWU7CisgICAgLy8gQmVzaWRl
cyB0cnVlL2ZhbHNlL3VuZGVmaW5lZCwgdGhlIG9ubHkgdG9rZW5zIGRlZmluZWQgYnkgV0FJLUFS
SUEgMS4wLi4uCisgICAgLy8gLi4uZm9yIEBhcmlhLWludmFsaWQgYXJlICJncmFtbWFyIiBhbmQg
InNwZWxsaW5nIi4KKyAgICBpZiAoYXJpYUludmFsaWQgPT0gZ3JhbW1hclZhbHVlKQorICAgICAg
ICByZXR1cm4gZ3JhbW1hclZhbHVlOworICAgIGlmIChhcmlhSW52YWxpZCA9PSBzcGVsbGluZ1Zh
bHVlKQorICAgICAgICByZXR1cm4gc3BlbGxpbmdWYWx1ZTsKKyAgICAvLyBBbnkgb3RoZXIgbm9u
IGVtcHR5IHN0cmluZyBzaG91bGQgYmUgdHJlYXRlZCBhcyAidHJ1ZSIuCisgICAgcmV0dXJuIHRy
dWVWYWx1ZTsKIH0KICAKIGJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6aGFzVGFnTmFtZShjb25z
dCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lKSBjb25zdApJbmRleDogU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgJKHJldmlzaW9uIDE2NTYz
MSkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5o
CSh3b3JraW5nIGNvcHkpCkBAIC01ODUsNyArNTg1LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
Ym9vbCBhcmlhSGFzUG9wdXAoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwg
Ym9vbCBhcmlhUHJlc3NlZElzUHJlc2VudCgpIGNvbnN0OwogICAgIGJvb2wgYXJpYUlzTXVsdGls
aW5lKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGludmFsaWRTdGF0
dXMoKSBjb25zdDsKKyAgICB2aXJ0dWFsIFN0cmluZyBpbnZhbGlkU3RhdHVzKCkgY29uc3Q7CiAg
ICAgYm9vbCBzdXBwb3J0c0FSSUFFeHBhbmRlZCgpIGNvbnN0OwogICAgIGJvb2wgc3VwcG9ydHND
aGVja2VkKCkgY29uc3Q7CiAgICAgQWNjZXNzaWJpbGl0eVNvcnREaXJlY3Rpb24gc29ydERpcmVj
dGlvbigpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2Vi
S2l0QWNjZXNzaWJsZUludGVyZmFjZVRleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUZXh0LmNwcAko
cmV2aXNpb24gMTY1NjMxKQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2Vi
S2l0QWNjZXNzaWJsZUludGVyZmFjZVRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDQsNyAr
MjA0LDcgQEAgc3RhdGljIEF0a0F0dHJpYnV0ZVNldCogZ2V0QXR0cmlidXRlU2V0RgogICAgIGlm
ICghbGFuZ3VhZ2UuaXNFbXB0eSgpKQogICAgICAgICByZXN1bHQgPSBhZGRUb0F0a0F0dHJpYnV0
ZVNldChyZXN1bHQsIGF0a190ZXh0X2F0dHJpYnV0ZV9nZXRfbmFtZShBVEtfVEVYVF9BVFRSX0xB
TkdVQUdFKSwgbGFuZ3VhZ2UudXRmOCgpLmRhdGEoKSk7CiAKLSAgICBTdHJpbmcgaW52YWxpZFN0
YXR1cyA9IG9iamVjdC0+aW52YWxpZFN0YXR1cygpLnN0cmluZygpOworICAgIFN0cmluZyBpbnZh
bGlkU3RhdHVzID0gb2JqZWN0LT5pbnZhbGlkU3RhdHVzKCk7CiAgICAgaWYgKGludmFsaWRTdGF0
dXMgIT0gImZhbHNlIikgewogICAgICAgICAvLyBSZWdpc3RlciB0aGUgY3VzdG9tIGF0dHJpYnV0
ZSBmb3IgJ2FyaWEtaW52YWxpZCcgaWYgbm90IGRvbmUgeWV0LgogICAgICAgICBpZiAoYXRrVGV4
dEF0dHJpYnV0ZUludmFsaWQgPT0gQVRLX1RFWFRfQVRUUl9JTlZBTElEKQpJbmRleDogTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2
aXNpb24gMTY1NjMyKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTQtMDMtMTQgIEphbWVzIENyYWlnICA8amNyYWlnQGFwcGxlLmNv
bT4KKworICAgICAgICBBWDogQWNjZXNzaWJpbGl0eU9iamVjdDo6aW52YWxpZFN0YXR1cygpIGlz
IGluY29ycmVjdCB3aGVuIGFyaWEtaW52YWxpZD0idW5kZWZpbmVkIiBvciB3aGl0ZXNwYWNlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzAwNzEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBY2NvdW50ZWQg
Zm9yIHdoaXRlc3BhY2UgdmFsdWVzIGFuZCB0aGUgZXhwbGljaXQgc3RyaW5nLCAidW5kZWZpbmVk
Ii4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXJpYS1pbnZhbGlkLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2FyaWEtaW52YWxpZC5odG1sOgorCiAyMDE0LTAzLTE0
ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgU3VicGl4ZWwgcmVu
ZGVyaW5nOiBMYXlvdXRUZXN0cy9jb21wb3NpdGluZy9oaWRwaS1zaW1wbGUtY29udGFpbmVyLWxh
eWVyLW9uLWRldmljZS1waXhlbC1leHBlY3RlZC5odG1sIGZhaWxzIG9uIE1vdW50YWluIExpb24g
V0syIGRlYnVnCkluZGV4OiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtaW52YWxpZC1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlh
LWludmFsaWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxNjU2MzEpCisrKyBMYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L2FyaWEtaW52YWxpZC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTEsMTcgKzEsMjkgQEAKLSAgICAgIAogVGhpcyB0ZXN0cyB0aGF0IGFyaWEtaW52YWxpZCBjYXVz
ZXMgdGhlIHJpZ2h0IGF0dHJpYnV0ZSB0byBiZSByZXR1cm5lZCBhbmQgaXQgZW5zdXJlcyBhIG5v
dGlmaWNhdGlvbiBpcyBzZW50IHdoZW4gaXQgY2hhbmdlcy4KIAogT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgogCiAKLVBBU1MgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQu
c3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FYSW52YWxpZCcpIGlzICd0cnVlJwotUEFTUyBhY2Nlc3Np
YmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5zdHJpbmdBdHRyaWJ1dGVWYWx1ZSgnQVhJ
bnZhbGlkJykgaXMgJ2dyYW1tYXInCi1QQVNTIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3Vz
ZWRFbGVtZW50LnN0cmluZ0F0dHJpYnV0ZVZhbHVlKCdBWEludmFsaWQnKSBpcyAnc3BlbGxpbmcn
Ci1QQVNTIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LnN0cmluZ0F0dHJp
YnV0ZVZhbHVlKCdBWEludmFsaWQnKSBpcyAndHJ1ZScKLVBBU1MgYWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXIuZm9jdXNlZEVsZW1lbnQuc3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FYSW52YWxpZCcpIGlz
ICdmYWxzZScKLVBBU1MgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuc3Ry
aW5nQXR0cmlidXRlVmFsdWUoJ0FYSW52YWxpZCcpIGlzICdmYWxzZScKLVBBU1MgYWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuc3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FYSW52
YWxpZCcpIGlzICdmYWxzZScKK1BBU1M6IEFYSW52YWxpZCBpcyBmYWxzZS4KK1BBU1M6IEFYSW52
YWxpZCBpcyBmYWxzZS4KK1BBU1M6IEFYSW52YWxpZCBpcyBmYWxzZS4KK1BBU1M6IEFYSW52YWxp
ZCBpcyBmYWxzZS4KK1BBU1M6IEFYSW52YWxpZCBpcyBmYWxzZS4KK1BBU1M6IEFYSW52YWxpZCBp
cyBmYWxzZS4KK1BBU1M6IEFYSW52YWxpZCBpcyBmYWxzZS4KK1BBU1M6IEFYSW52YWxpZCBpcyBm
YWxzZS4KK1BBU1M6IEFYSW52YWxpZCBpcyBncmFtbWFyLgorUEFTUzogQVhJbnZhbGlkIGlzIGdy
YW1tYXIuCitQQVNTOiBBWEludmFsaWQgaXMgc3BlbGxpbmcuCitQQVNTOiBBWEludmFsaWQgaXMg
c3BlbGxpbmcuCitQQVNTOiBBWEludmFsaWQgaXMgdHJ1ZS4KK1BBU1M6IEFYSW52YWxpZCBpcyB0
cnVlLgorUEFTUzogQVhJbnZhbGlkIGlzIHRydWUuCitQQVNTOiBBWEludmFsaWQgaXMgdHJ1ZS4K
K1BBU1M6IEFYSW52YWxpZCBpcyB0cnVlLgorUEFTUzogQVhJbnZhbGlkIGlzIHRydWUuCitQQVNT
OiBBWEludmFsaWQgaXMgdHJ1ZS4KIFBBU1MgYWRkZWROb3RpZmljYXRpb24gaXMgdHJ1ZQorUEFT
UzogQVhJbnZhbGlkIGlzIHNwZWxsaW5nLgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQogCiBURVNUIENPTVBMRVRFCkluZGV4OiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEt
aW52YWxpZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJp
YS1pbnZhbGlkLmh0bWwJKHJldmlzaW9uIDE2NTYzMSkKKysrIExheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvYXJpYS1pbnZhbGlkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTUsMTQgKzUsMzUgQEAK
IDwvaGVhZD4KIDxib2R5IGlkPSJib2R5Ij4KIAotCi08aW5wdXQgdHlwZT0idGV4dCIgaWQ9InRl
eHQxIiBhcmlhLWludmFsaWQ9InRydWUiPgotPGlucHV0IHR5cGU9InRleHQiIGlkPSJ0ZXh0MiIg
YXJpYS1pbnZhbGlkPSJncmFtbWFyIj4KLTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0idGV4dDMiIGFy
aWEtaW52YWxpZD0ic3BlbGxpbmciPgotPGlucHV0IHR5cGU9InRleHQiIGlkPSJ0ZXh0NCIgYXJp
YS1pbnZhbGlkPSJub3RhbGxvd2VkIj4KLTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0idGV4dDUiIGFy
aWEtaW52YWxpZD0iZmFsc2UiPgotPGlucHV0IHR5cGU9InRleHQiIGlkPSJ0ZXh0NiIgYXJpYS1p
bnZhbGlkPSIiPgotPGlucHV0IHR5cGU9InRleHQiIGlkPSJ0ZXh0NyI+Cis8ZGl2IGlkPSJleGFt
cGxlcyI+CisgICAgPCEtLSBBbGwgb2YgdGhlc2UgZXZhbCB0byBBWEludmFsaWQ6ICdmYWxzZScg
LS0+CisgICAgPGlucHV0IGNsYXNzPSJleCIgZGF0YS1leHBlY3RlZD0iZmFsc2UiIHR5cGU9InRl
eHQiPgorICAgIDxpbnB1dCBjbGFzcz0iZXgiIGRhdGEtZXhwZWN0ZWQ9ImZhbHNlIiB0eXBlPSJ0
ZXh0IiBhcmlhLWludmFsaWQ+CisgICAgPGlucHV0IGNsYXNzPSJleCIgZGF0YS1leHBlY3RlZD0i
ZmFsc2UiIHR5cGU9InRleHQiIGFyaWEtaW52YWxpZD0iIj4KKyAgICA8aW5wdXQgY2xhc3M9ImV4
IiBkYXRhLWV4cGVjdGVkPSJmYWxzZSIgdHlwZT0idGV4dCIgYXJpYS1pbnZhbGlkPSIgIj4KKyAg
ICA8aW5wdXQgY2xhc3M9ImV4IiBkYXRhLWV4cGVjdGVkPSJmYWxzZSIgdHlwZT0idGV4dCIgYXJp
YS1pbnZhbGlkPSIJIj48IS0tIFtzaWNdIHRhYiBjaGFyIC0tPgorICAgIDxpbnB1dCBjbGFzcz0i
ZXgiIGRhdGEtZXhwZWN0ZWQ9ImZhbHNlIiB0eXBlPSJ0ZXh0IiBhcmlhLWludmFsaWQ9IgorICAg
ICI+PCEtLSBbc2ljXSBuZXdsaW5lIGNoYXIgLS0+CisgICAgPGlucHV0IGNsYXNzPSJleCIgZGF0
YS1leHBlY3RlZD0iZmFsc2UiIHR5cGU9InRleHQiIGFyaWEtaW52YWxpZD0iZmFsc2UiPgorICAg
IDxpbnB1dCBjbGFzcz0iZXgiIGRhdGEtZXhwZWN0ZWQ9ImZhbHNlIiB0eXBlPSJ0ZXh0IiBhcmlh
LWludmFsaWQ9InVuZGVmaW5lZCI+CisKKyAgICA8IS0tIEtub3duIHRva2VuIHZhbHVlcyBpbiBB
UklBIDEuMC4gLS0+CisgICAgPGlucHV0IGNsYXNzPSJleCIgZGF0YS1leHBlY3RlZD0iZ3JhbW1h
ciIgdHlwZT0idGV4dCIgYXJpYS1pbnZhbGlkPSJncmFtbWFyIj4KKyAgICA8aW5wdXQgY2xhc3M9
ImV4IiBkYXRhLWV4cGVjdGVkPSJncmFtbWFyIiB0eXBlPSJ0ZXh0IiBhcmlhLWludmFsaWQ9Imdy
YW1tYXIJIj48IS0tIFtzaWNdIHRhYiBjaGFyIC0tPgorICAgIDxpbnB1dCBjbGFzcz0iZXgiIGRh
dGEtZXhwZWN0ZWQ9InNwZWxsaW5nIiB0eXBlPSJ0ZXh0IiBhcmlhLWludmFsaWQ9InNwZWxsaW5n
Ij4KKyAgICA8aW5wdXQgY2xhc3M9ImV4IiBkYXRhLWV4cGVjdGVkPSJzcGVsbGluZyIgdHlwZT0i
dGV4dCIgYXJpYS1pbnZhbGlkPSJzcGVsbGluZworICAgICI+PCEtLSBbc2ljXSBuZXdsaW5lIGNo
YXIgLS0+CisKKyAgICA8IS0tIEFsbCBvdGhlciBzdHJpbmcgdmFsdWVzIGFyZSB0cnV0aHksIGlu
Y2x1ZGluZyBhIGNvbWJpbmF0aW9uIG9mIG90aGVyd2lzZSB2YWxpZCB0b2tlbnMuIC0tPgorICAg
IDxpbnB1dCBjbGFzcz0iZXgiIGRhdGEtZXhwZWN0ZWQ9InRydWUiIHR5cGU9InRleHQiIGFyaWEt
aW52YWxpZD0idHJ1ZSI+CisgICAgPGlucHV0IGNsYXNzPSJleCIgZGF0YS1leHBlY3RlZD0idHJ1
ZSIgdHlwZT0idGV4dCIgYXJpYS1pbnZhbGlkPSJub3RhbGxvd2VkIj4KKyAgICA8aW5wdXQgY2xh
c3M9ImV4IiBkYXRhLWV4cGVjdGVkPSJ0cnVlIiB0eXBlPSJ0ZXh0IiBhcmlhLWludmFsaWQ9IuKA
piI+CisgICAgPGlucHV0IGNsYXNzPSJleCIgZGF0YS1leHBlY3RlZD0idHJ1ZSIgdHlwZT0idGV4
dCIgYXJpYS1pbnZhbGlkPSLDhyI+CisgICAgPGlucHV0IGNsYXNzPSJleCIgZGF0YS1leHBlY3Rl
ZD0idHJ1ZSIgdHlwZT0idGV4dCIgYXJpYS1pbnZhbGlkPSJzcGVsbGluZyBncmFtbWFyIj4KKyAg
ICA8aW5wdXQgY2xhc3M9ImV4IiBkYXRhLWV4cGVjdGVkPSJ0cnVlIiB0eXBlPSJ0ZXh0IiBhcmlh
LWludmFsaWQ9InNwZWxsaW5nCWdyYW1tYXIiPjwhLS0gW3NpY10gdGFiIGNoYXIgLS0+CisgICAg
PGlucHV0IGNsYXNzPSJleCIgZGF0YS1leHBlY3RlZD0idHJ1ZSIgdHlwZT0idGV4dCIgYXJpYS1p
bnZhbGlkPSJzcGVsbGluZworICAgIGdyYW1tYXIiPjwhLS0gW3NpY10gbmV3bGluZSBjaGFyIC0t
PgorPC9kaXY+CiAKIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgogPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CkBAIC0yMiw0NCArNDMsNDcgQEAKIAogICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Rz
IHRoYXQgYXJpYS1pbnZhbGlkIGNhdXNlcyB0aGUgcmlnaHQgYXR0cmlidXRlIHRvIGJlIHJldHVy
bmVkIGFuZCBpdCBlbnN1cmVzIGEgbm90aWZpY2F0aW9uIGlzIHNlbnQgd2hlbiBpdCBjaGFuZ2Vz
LiIpOwogCi0gICAgdmFyIG5vdGlmaWNhdGlvbkVsZW1lbnQgPSAwOworICAgIGZ1bmN0aW9uICQo
aWQpeworICAgICAgICByZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpOworICAgIH0K
KworICAgIHZhciBheE5vdGlmaWNhdGlvbkVsZW1lbnQgPSBudWxsOwogICAgIGZ1bmN0aW9uIG5v
dGlmaWNhdGlvbkNhbGxiYWNrKG5vdGlmaWNhdGlvbikgewogICAgICAgICBpZiAobm90aWZpY2F0
aW9uID09ICJBWEludmFsaWRTdGF0dXNDaGFuZ2VkIikgewotICAgICAgICAgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoIm5vdGlmaWNhdGlvbnMiKS5pbm5lckhUTUwgKz0gIk5vdGlmaWNhdGlv
biByZWNlaXZlZCBzdWNjZXNzZnVsbHkuIjsKLSAgICAgICAgICAgIG5vdGlmaWNhdGlvbkVsZW1l
bnQucmVtb3ZlTm90aWZpY2F0aW9uTGlzdGVuZXIoKTsKKyAgICAgICAgICAgICQoIm5vdGlmaWNh
dGlvbnMiKS5pbm5lckhUTUwgKz0gIk5vdGlmaWNhdGlvbiByZWNlaXZlZCBzdWNjZXNzZnVsbHku
IjsKKyAgICAgICAgICAgIGF4Tm90aWZpY2F0aW9uRWxlbWVudC5yZW1vdmVOb3RpZmljYXRpb25M
aXN0ZW5lcigpOworICAgICAgICAgICAgJCgiZXhhbXBsZXMiKS5oaWRkZW4gPSB0cnVlOwogICAg
ICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAgICB9CiAgICAg
fQogCisgICAgdmFyIHJlc3VsdCA9ICQoJ2NvbnNvbGUnKTsKKyAgICBmdW5jdGlvbiB2ZXJpZnko
dmFsdWUsIGV4cGVjdGF0aW9uLCBlbGVtZW50KSB7CisgICAgICBpZiAodmFsdWUgPT09IGV4cGVj
dGF0aW9uKQorICAgICAgICByZXN1bHQuaW5uZXJUZXh0ICs9ICJQQVNTOiBBWEludmFsaWQgaXMg
IiArIHZhbHVlICsgIi5cbiI7CisgICAgICBlbHNlCisgICAgICAgIHJlc3VsdC5pbm5lclRleHQg
Kz0gIkZBSUw6IEFYSW52YWxpZCBpcyAiICsgdmFsdWUgKyAiLiBFeHBlY3RlZDogIiArIGV4cGVj
dGF0aW9uICsgIi4gIiArIChlbGVtZW50ID8gZWxlbWVudC5vdXRlckhUTUwgOiAiIikgKyAiXG4i
OworICAgIH0KKwogICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKICAg
ICAgICAgd2luZG93LnRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCi0gICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXh0MSIpLmZvY3VzKCk7Ci0gICAgICAgIHNob3VsZEJlKCJh
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5zdHJpbmdBdHRyaWJ1dGVWYWx1
ZSgnQVhJbnZhbGlkJykiLCAiJ3RydWUnIik7Ci0KLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInRleHQyIikuZm9jdXMoKTsKLSAgICAgICAgc2hvdWxkQmUoImFjY2Vzc2liaWxpdHlD
b250cm9sbGVyLmZvY3VzZWRFbGVtZW50LnN0cmluZ0F0dHJpYnV0ZVZhbHVlKCdBWEludmFsaWQn
KSIsICInZ3JhbW1hciciKTsKLQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4
dDMiKS5mb2N1cygpOwotICAgICAgICBzaG91bGRCZSgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIu
Zm9jdXNlZEVsZW1lbnQuc3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FYSW52YWxpZCcpIiwgIidzcGVs
bGluZyciKTsKLQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4dDQiKS5mb2N1
cygpOwotICAgICAgICBzaG91bGRCZSgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVs
ZW1lbnQuc3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FYSW52YWxpZCcpIiwgIid0cnVlJyIpOwotCi0g
ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXh0NSIpLmZvY3VzKCk7Ci0gICAgICAg
IHNob3VsZEJlKCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5zdHJpbmdB
dHRyaWJ1dGVWYWx1ZSgnQVhJbnZhbGlkJykiLCAiJ2ZhbHNlJyIpOwotCi0gICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXh0NiIpLmZvY3VzKCk7Ci0gICAgICAgIHNob3VsZEJlKCJh
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5zdHJpbmdBdHRyaWJ1dGVWYWx1
ZSgnQVhJbnZhbGlkJykiLCAiJ2ZhbHNlJyIpOwotCi0gICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ0ZXh0NyIpLmZvY3VzKCk7Ci0gICAgICAgIHNob3VsZEJlKCJhY2Nlc3NpYmlsaXR5
Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5zdHJpbmdBdHRyaWJ1dGVWYWx1ZSgnQVhJbnZhbGlk
JykiLCAiJ2ZhbHNlJyIpOwotCi0gICAgICAgIG5vdGlmaWNhdGlvbkVsZW1lbnQgPSBhY2Nlc3Np
YmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudDsKLSAgICAgICAgdmFyIGFkZGVkTm90aWZp
Y2F0aW9uID0gbm90aWZpY2F0aW9uRWxlbWVudC5hZGROb3RpZmljYXRpb25MaXN0ZW5lcihub3Rp
ZmljYXRpb25DYWxsYmFjayk7CisgICAgICAgIHZhciBleGFtcGxlcyA9IGRvY3VtZW50LnF1ZXJ5
U2VsZWN0b3JBbGwoIi5leCIpOworICAgICAgICBmb3IgKHZhciBpID0gMCwgYyA9IGV4YW1wbGVz
Lmxlbmd0aDsgaSA8IGM7IGkrKykgeworICAgICAgICAgICAgdmFyIGVsID0gZXhhbXBsZXNbaV07
CisgICAgICAgICAgICBlbC5mb2N1cygpOworICAgICAgICAgICAgdmFyIGV4cGVjdGF0aW9uID0g
ZWwuZ2V0QXR0cmlidXRlKCJkYXRhLWV4cGVjdGVkIik7CisgICAgICAgICAgICB2YXIgdmFsdWUg
PSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5zdHJpbmdBdHRyaWJ1dGVW
YWx1ZSgnQVhJbnZhbGlkJyk7CisgICAgICAgICAgICB2ZXJpZnkodmFsdWUsIGV4cGVjdGF0aW9u
LCBlbCk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIHZhciBkb21Ob3RpZmljYXRpb25F
bGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmV4Iik7CisgICAgICAgIGRvbU5vdGlm
aWNhdGlvbkVsZW1lbnQuZm9jdXMoKTsKKyAgICAgICAgYXhOb3RpZmljYXRpb25FbGVtZW50ID0g
YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7CisgICAgICAgIHZhciBhZGRl
ZE5vdGlmaWNhdGlvbiA9IGF4Tm90aWZpY2F0aW9uRWxlbWVudC5hZGROb3RpZmljYXRpb25MaXN0
ZW5lcihub3RpZmljYXRpb25DYWxsYmFjayk7CiAgICAgICAgIHNob3VsZEJlVHJ1ZSgiYWRkZWRO
b3RpZmljYXRpb24iKTsKLQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4dDci
KS5zZXRBdHRyaWJ1dGUoImFyaWEtaW52YWxpZCIsICJzcGVsbGluZyIpOworICAgICAgICBkb21O
b3RpZmljYXRpb25FbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1pbnZhbGlkIiwgInNwZWxsaW5n
Iik7CisgICAgICAgIHZlcmlmeShheE5vdGlmaWNhdGlvbkVsZW1lbnQuc3RyaW5nQXR0cmlidXRl
VmFsdWUoJ0FYSW52YWxpZCcpLCAic3BlbGxpbmciLCBkb21Ob3RpZmljYXRpb25FbGVtZW50KTsK
ICAgICB9CiAKIDwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226756</attachid>
            <date>2014-03-14 13:19:43 -0700</date>
            <delta_ts>2014-03-14 15:02:31 -0700</delta_ts>
            <desc>previous patch -virtual</desc>
            <filename>webkit130071.diff</filename>
            <type>text/plain</type>
            <size>14034</size>
            <attacher name="James Craig">jcraig</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NTYzMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE0LTAzLTE0ICBKYW1lcyBD
cmFpZyAgPGpjcmFpZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEFjY2Vzc2liaWxpdHlPYmpl
Y3Q6OmludmFsaWRTdGF0dXMoKSBpcyBpbmNvcnJlY3Qgd2hlbiBhcmlhLWludmFsaWQ9InVuZGVm
aW5lZCIgb3Igd2hpdGVzcGFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTMwMDcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWNjb3VudGVkIGZvciB3aGl0ZXNwYWNlIHZhbHVlcyBhbmQgdGhlIGV4cGxp
Y2l0IHN0cmluZywgInVuZGVmaW5lZCIuCisKKyAgICAgICAgVGVzdDogYWNjZXNzaWJpbGl0eS9h
cmlhLWludmFsaWQuaHRtbAorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmludmFs
aWRTdGF0dXMpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5o
OgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VU
ZXh0LmNwcDoKKyAgICAgICAgKGdldEF0dHJpYnV0ZVNldEZvckFjY2Vzc2liaWxpdHlPYmplY3Qp
OgorCiAyMDE0LTAzLTE0ICBBbmRyZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbTWFjXSBSZW1vdmUgTlNVUkxDYWNoZSBsb2dpYyBmcm9tIFdlYkNvcmUgcHJlc3N1cmUg
cmVsaWVmIGNvZGUuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAJKHJldmlzaW9uIDE2NTYzMikKKysrIFNvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQwLDYgKzQwLDcgQEAKICNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgogI2luY2x1ZGUg
IkZyYW1lU2VsZWN0aW9uLmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSAiSFRN
TFBhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUgIkxvY2FsaXplZFN0cmluZ3MuaCIKICNpbmNsdWRl
ICJNYWluRnJhbWUuaCIKICNpbmNsdWRlICJNYXRoTUxOYW1lcy5oIgpAQCAtMTUyOCwyMyArMTUy
OSwyOCBAQCBib29sIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFyaWFJc011bHRpbGluCiAgICAgcmV0
dXJuIGVxdWFsSWdub3JpbmdDYXNlKGdldEF0dHJpYnV0ZShhcmlhX211bHRpbGluZUF0dHIpLCAi
dHJ1ZSIpOwogfQogCi1jb25zdCBBdG9taWNTdHJpbmcmIEFjY2Vzc2liaWxpdHlPYmplY3Q6Omlu
dmFsaWRTdGF0dXMoKSBjb25zdAorU3RyaW5nIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmludmFsaWRT
dGF0dXMoKSBjb25zdAogewotICAgIERFUFJFQ0FURURfREVGSU5FX1NUQVRJQ19MT0NBTChjb25z
dCBBdG9taWNTdHJpbmcsIGludmFsaWRTdGF0dXNGYWxzZSwgKCJmYWxzZSIsIEF0b21pY1N0cmlu
Zzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKLSAgICBERVBSRUNBVEVEX0RFRklORV9TVEFUSUNf
TE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBpbnZhbGlkU3RhdHVzVHJ1ZSwgKCJ0cnVlIiwgQXRv
bWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwotICAgIAotICAgIC8vIGFyaWEtaW52
YWxpZCBjYW4gcmV0dXJuIGZhbHNlIChkZWZhdWx0KSwgZ3JhbW1lciwgc3BlbGxpbmcsIG9yIHRy
dWUuCi0gICAgY29uc3QgQXRvbWljU3RyaW5nJiBhcmlhSW52YWxpZCA9IGdldEF0dHJpYnV0ZShh
cmlhX2ludmFsaWRBdHRyKTsKLSAgICAKLSAgICAvLyBJZiAnZmFsc2UnLCBlbXB0eSBvciBub3Qg
cHJlc2VudCwgaXQgc2hvdWxkIHJldHVybiBmYWxzZS4KLSAgICBpZiAoYXJpYUludmFsaWQuaXNF
bXB0eSgpIHx8IGVxdWFsSWdub3JpbmdDYXNlKGFyaWFJbnZhbGlkLCBpbnZhbGlkU3RhdHVzRmFs
c2UpKQotICAgICAgICByZXR1cm4gaW52YWxpZFN0YXR1c0ZhbHNlOwotICAgIAotICAgIC8vIE9u
bHkgJ3RydWUnLCAnZ3JhbW1hcicgYW5kICdzcGVsbGluZycgYXJlIHZhbHVlcyByZWNvZ25pc2Vk
IGJ5IHRoZSBXQUktQVJJQQotICAgIC8vIHNwZWNpZmljYXRpb24uIEFueSBvdGhlciBub24gZW1w
dHkgc3RyaW5nIHNob3VsZCBiZSB0cmVhdGVkIGFzICd0cnVlJy4KLSAgICBpZiAoZXF1YWxJZ25v
cmluZ0Nhc2UoYXJpYUludmFsaWQsICJzcGVsbGluZyIpIHx8IGVxdWFsSWdub3JpbmdDYXNlKGFy
aWFJbnZhbGlkLCAiZ3JhbW1hciIpKQotICAgICAgICByZXR1cm4gYXJpYUludmFsaWQ7Ci0gICAg
cmV0dXJuIGludmFsaWRTdGF0dXNUcnVlOworICAgIFN0cmluZyBncmFtbWFyVmFsdWUgPSBBU0NJ
SUxpdGVyYWwoImdyYW1tYXIiKTsKKyAgICBTdHJpbmcgZmFsc2VWYWx1ZSA9IEFTQ0lJTGl0ZXJh
bCgiZmFsc2UiKTsKKyAgICBTdHJpbmcgc3BlbGxpbmdWYWx1ZSA9IEFTQ0lJTGl0ZXJhbCgic3Bl
bGxpbmciKTsKKyAgICBTdHJpbmcgdHJ1ZVZhbHVlID0gQVNDSUlMaXRlcmFsKCJ0cnVlIik7Cisg
ICAgU3RyaW5nIHVuZGVmaW5lZFZhbHVlID0gQVNDSUlMaXRlcmFsKCJ1bmRlZmluZWQiKTsKKwor
ICAgIC8vIGFyaWEtaW52YWxpZCBjYW4gcmV0dXJuIGZhbHNlIChkZWZhdWx0KSwgZ3JhbW1hciwg
c3BlbGxpbmcsIG9yIHRydWUuCisgICAgU3RyaW5nIGFyaWFJbnZhbGlkID0gc3RyaXBMZWFkaW5n
QW5kVHJhaWxpbmdIVE1MU3BhY2VzKGdldEF0dHJpYnV0ZShhcmlhX2ludmFsaWRBdHRyKSk7Cisg
ICAgCisgICAgLy8gSWYgImZhbHNlIiwgInVuZGVmaW5lZCIgW3NpYywgc3RyaW5nIHZhbHVlXSwg
ZW1wdHksIG9yIG1pc3NpbmcsIHJldHVybiAiZmFsc2UiLgorICAgIGlmIChhcmlhSW52YWxpZC5p
c0VtcHR5KCkgfHwgYXJpYUludmFsaWQgPT0gZmFsc2VWYWx1ZSB8fCBhcmlhSW52YWxpZCA9PSB1
bmRlZmluZWRWYWx1ZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlVmFsdWU7CisgICAgLy8gQmVzaWRl
cyB0cnVlL2ZhbHNlL3VuZGVmaW5lZCwgdGhlIG9ubHkgdG9rZW5zIGRlZmluZWQgYnkgV0FJLUFS
SUEgMS4wLi4uCisgICAgLy8gLi4uZm9yIEBhcmlhLWludmFsaWQgYXJlICJncmFtbWFyIiBhbmQg
InNwZWxsaW5nIi4KKyAgICBpZiAoYXJpYUludmFsaWQgPT0gZ3JhbW1hclZhbHVlKQorICAgICAg
ICByZXR1cm4gZ3JhbW1hclZhbHVlOworICAgIGlmIChhcmlhSW52YWxpZCA9PSBzcGVsbGluZ1Zh
bHVlKQorICAgICAgICByZXR1cm4gc3BlbGxpbmdWYWx1ZTsKKyAgICAvLyBBbnkgb3RoZXIgbm9u
IGVtcHR5IHN0cmluZyBzaG91bGQgYmUgdHJlYXRlZCBhcyAidHJ1ZSIuCisgICAgcmV0dXJuIHRy
dWVWYWx1ZTsKIH0KICAKIGJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6aGFzVGFnTmFtZShjb25z
dCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lKSBjb25zdApJbmRleDogU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgJKHJldmlzaW9uIDE2NTYz
MikKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5o
CSh3b3JraW5nIGNvcHkpCkBAIC01ODUsNyArNTg1LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
Ym9vbCBhcmlhSGFzUG9wdXAoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwg
Ym9vbCBhcmlhUHJlc3NlZElzUHJlc2VudCgpIGNvbnN0OwogICAgIGJvb2wgYXJpYUlzTXVsdGls
aW5lKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGludmFsaWRTdGF0
dXMoKSBjb25zdDsKKyAgICBTdHJpbmcgaW52YWxpZFN0YXR1cygpIGNvbnN0OwogICAgIGJvb2wg
c3VwcG9ydHNBUklBRXhwYW5kZWQoKSBjb25zdDsKICAgICBib29sIHN1cHBvcnRzQ2hlY2tlZCgp
IGNvbnN0OwogICAgIEFjY2Vzc2liaWxpdHlTb3J0RGlyZWN0aW9uIHNvcnREaXJlY3Rpb24oKSBj
b25zdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vz
c2libGVJbnRlcmZhY2VUZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5jcHAJKHJldmlzaW9u
IDE2NTYzMikKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vz
c2libGVJbnRlcmZhY2VUZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjA0LDcgKzIwNCw3IEBA
IHN0YXRpYyBBdGtBdHRyaWJ1dGVTZXQqIGdldEF0dHJpYnV0ZVNldEYKICAgICBpZiAoIWxhbmd1
YWdlLmlzRW1wdHkoKSkKICAgICAgICAgcmVzdWx0ID0gYWRkVG9BdGtBdHRyaWJ1dGVTZXQocmVz
dWx0LCBhdGtfdGV4dF9hdHRyaWJ1dGVfZ2V0X25hbWUoQVRLX1RFWFRfQVRUUl9MQU5HVUFHRSks
IGxhbmd1YWdlLnV0ZjgoKS5kYXRhKCkpOwogCi0gICAgU3RyaW5nIGludmFsaWRTdGF0dXMgPSBv
YmplY3QtPmludmFsaWRTdGF0dXMoKS5zdHJpbmcoKTsKKyAgICBTdHJpbmcgaW52YWxpZFN0YXR1
cyA9IG9iamVjdC0+aW52YWxpZFN0YXR1cygpOwogICAgIGlmIChpbnZhbGlkU3RhdHVzICE9ICJm
YWxzZSIpIHsKICAgICAgICAgLy8gUmVnaXN0ZXIgdGhlIGN1c3RvbSBhdHRyaWJ1dGUgZm9yICdh
cmlhLWludmFsaWQnIGlmIG5vdCBkb25lIHlldC4KICAgICAgICAgaWYgKGF0a1RleHRBdHRyaWJ1
dGVJbnZhbGlkID09IEFUS19URVhUX0FUVFJfSU5WQUxJRCkKSW5kZXg6IExheW91dFRlc3RzL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2
NTYzMikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDE1IEBACisyMDE0LTAzLTE0ICBKYW1lcyBDcmFpZyAgPGpjcmFpZ0BhcHBsZS5jb20+CisKKyAg
ICAgICAgQVg6IEFjY2Vzc2liaWxpdHlPYmplY3Q6OmludmFsaWRTdGF0dXMoKSBpcyBpbmNvcnJl
Y3Qgd2hlbiBhcmlhLWludmFsaWQ9InVuZGVmaW5lZCIgb3Igd2hpdGVzcGFjZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwMDcxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWNjb3VudGVkIGZvciB3aGl0
ZXNwYWNlIHZhbHVlcyBhbmQgdGhlIGV4cGxpY2l0IHN0cmluZywgInVuZGVmaW5lZCIuCisKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L2FyaWEtaW52YWxpZC1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogYWNjZXNzaWJpbGl0eS9hcmlhLWludmFsaWQuaHRtbDoKKwogMjAxNC0wMy0xNCAgWmFsYW4g
QnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFN1YnBpeGVsIHJlbmRlcmluZzog
TGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaGlkcGktc2ltcGxlLWNvbnRhaW5lci1sYXllci1vbi1k
ZXZpY2UtcGl4ZWwtZXhwZWN0ZWQuaHRtbCBmYWlscyBvbiBNb3VudGFpbiBMaW9uIFdLMiBkZWJ1
ZwpJbmRleDogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWludmFsaWQtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1pbnZhbGlk
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTY1NjMyKQorKysgTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS9hcmlhLWludmFsaWQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE3ICsx
LDI5IEBACi0gICAgICAKIFRoaXMgdGVzdHMgdGhhdCBhcmlhLWludmFsaWQgY2F1c2VzIHRoZSBy
aWdodCBhdHRyaWJ1dGUgdG8gYmUgcmV0dXJuZWQgYW5kIGl0IGVuc3VyZXMgYSBub3RpZmljYXRp
b24gaXMgc2VudCB3aGVuIGl0IGNoYW5nZXMuCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
IAogCi1QQVNTIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LnN0cmluZ0F0
dHJpYnV0ZVZhbHVlKCdBWEludmFsaWQnKSBpcyAndHJ1ZScKLVBBU1MgYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuc3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FYSW52YWxpZCcp
IGlzICdncmFtbWFyJwotUEFTUyBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVu
dC5zdHJpbmdBdHRyaWJ1dGVWYWx1ZSgnQVhJbnZhbGlkJykgaXMgJ3NwZWxsaW5nJwotUEFTUyBh
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5zdHJpbmdBdHRyaWJ1dGVWYWx1
ZSgnQVhJbnZhbGlkJykgaXMgJ3RydWUnCi1QQVNTIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZv
Y3VzZWRFbGVtZW50LnN0cmluZ0F0dHJpYnV0ZVZhbHVlKCdBWEludmFsaWQnKSBpcyAnZmFsc2Un
Ci1QQVNTIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LnN0cmluZ0F0dHJp
YnV0ZVZhbHVlKCdBWEludmFsaWQnKSBpcyAnZmFsc2UnCi1QQVNTIGFjY2Vzc2liaWxpdHlDb250
cm9sbGVyLmZvY3VzZWRFbGVtZW50LnN0cmluZ0F0dHJpYnV0ZVZhbHVlKCdBWEludmFsaWQnKSBp
cyAnZmFsc2UnCitQQVNTOiBBWEludmFsaWQgaXMgZmFsc2UuCitQQVNTOiBBWEludmFsaWQgaXMg
ZmFsc2UuCitQQVNTOiBBWEludmFsaWQgaXMgZmFsc2UuCitQQVNTOiBBWEludmFsaWQgaXMgZmFs
c2UuCitQQVNTOiBBWEludmFsaWQgaXMgZmFsc2UuCitQQVNTOiBBWEludmFsaWQgaXMgZmFsc2Uu
CitQQVNTOiBBWEludmFsaWQgaXMgZmFsc2UuCitQQVNTOiBBWEludmFsaWQgaXMgZmFsc2UuCitQ
QVNTOiBBWEludmFsaWQgaXMgZ3JhbW1hci4KK1BBU1M6IEFYSW52YWxpZCBpcyBncmFtbWFyLgor
UEFTUzogQVhJbnZhbGlkIGlzIHNwZWxsaW5nLgorUEFTUzogQVhJbnZhbGlkIGlzIHNwZWxsaW5n
LgorUEFTUzogQVhJbnZhbGlkIGlzIHRydWUuCitQQVNTOiBBWEludmFsaWQgaXMgdHJ1ZS4KK1BB
U1M6IEFYSW52YWxpZCBpcyB0cnVlLgorUEFTUzogQVhJbnZhbGlkIGlzIHRydWUuCitQQVNTOiBB
WEludmFsaWQgaXMgdHJ1ZS4KK1BBU1M6IEFYSW52YWxpZCBpcyB0cnVlLgorUEFTUzogQVhJbnZh
bGlkIGlzIHRydWUuCiBQQVNTIGFkZGVkTm90aWZpY2F0aW9uIGlzIHRydWUKK1BBU1M6IEFYSW52
YWxpZCBpcyBzcGVsbGluZy4KIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVT
VCBDT01QTEVURQpJbmRleDogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWludmFsaWQu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtaW52YWxp
ZC5odG1sCShyZXZpc2lvbiAxNjU2MzIpCisrKyBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2Fy
aWEtaW52YWxpZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC01LDE0ICs1LDM1IEBACiA8L2hlYWQ+
CiA8Ym9keSBpZD0iYm9keSI+CiAKLQotPGlucHV0IHR5cGU9InRleHQiIGlkPSJ0ZXh0MSIgYXJp
YS1pbnZhbGlkPSJ0cnVlIj4KLTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0idGV4dDIiIGFyaWEtaW52
YWxpZD0iZ3JhbW1hciI+Ci08aW5wdXQgdHlwZT0idGV4dCIgaWQ9InRleHQzIiBhcmlhLWludmFs
aWQ9InNwZWxsaW5nIj4KLTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0idGV4dDQiIGFyaWEtaW52YWxp
ZD0ibm90YWxsb3dlZCI+Ci08aW5wdXQgdHlwZT0idGV4dCIgaWQ9InRleHQ1IiBhcmlhLWludmFs
aWQ9ImZhbHNlIj4KLTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0idGV4dDYiIGFyaWEtaW52YWxpZD0i
Ij4KLTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0idGV4dDciPgorPGRpdiBpZD0iZXhhbXBsZXMiPgor
ICAgIDwhLS0gQWxsIG9mIHRoZXNlIGV2YWwgdG8gQVhJbnZhbGlkOiAnZmFsc2UnIC0tPgorICAg
IDxpbnB1dCBjbGFzcz0iZXgiIGRhdGEtZXhwZWN0ZWQ9ImZhbHNlIiB0eXBlPSJ0ZXh0Ij4KKyAg
ICA8aW5wdXQgY2xhc3M9ImV4IiBkYXRhLWV4cGVjdGVkPSJmYWxzZSIgdHlwZT0idGV4dCIgYXJp
YS1pbnZhbGlkPgorICAgIDxpbnB1dCBjbGFzcz0iZXgiIGRhdGEtZXhwZWN0ZWQ9ImZhbHNlIiB0
eXBlPSJ0ZXh0IiBhcmlhLWludmFsaWQ9IiI+CisgICAgPGlucHV0IGNsYXNzPSJleCIgZGF0YS1l
eHBlY3RlZD0iZmFsc2UiIHR5cGU9InRleHQiIGFyaWEtaW52YWxpZD0iICI+CisgICAgPGlucHV0
IGNsYXNzPSJleCIgZGF0YS1leHBlY3RlZD0iZmFsc2UiIHR5cGU9InRleHQiIGFyaWEtaW52YWxp
ZD0iCSI+PCEtLSBbc2ljXSB0YWIgY2hhciAtLT4KKyAgICA8aW5wdXQgY2xhc3M9ImV4IiBkYXRh
LWV4cGVjdGVkPSJmYWxzZSIgdHlwZT0idGV4dCIgYXJpYS1pbnZhbGlkPSIKKyAgICAiPjwhLS0g
W3NpY10gbmV3bGluZSBjaGFyIC0tPgorICAgIDxpbnB1dCBjbGFzcz0iZXgiIGRhdGEtZXhwZWN0
ZWQ9ImZhbHNlIiB0eXBlPSJ0ZXh0IiBhcmlhLWludmFsaWQ9ImZhbHNlIj4KKyAgICA8aW5wdXQg
Y2xhc3M9ImV4IiBkYXRhLWV4cGVjdGVkPSJmYWxzZSIgdHlwZT0idGV4dCIgYXJpYS1pbnZhbGlk
PSJ1bmRlZmluZWQiPgorCisgICAgPCEtLSBLbm93biB0b2tlbiB2YWx1ZXMgaW4gQVJJQSAxLjAu
IC0tPgorICAgIDxpbnB1dCBjbGFzcz0iZXgiIGRhdGEtZXhwZWN0ZWQ9ImdyYW1tYXIiIHR5cGU9
InRleHQiIGFyaWEtaW52YWxpZD0iZ3JhbW1hciI+CisgICAgPGlucHV0IGNsYXNzPSJleCIgZGF0
YS1leHBlY3RlZD0iZ3JhbW1hciIgdHlwZT0idGV4dCIgYXJpYS1pbnZhbGlkPSJncmFtbWFyCSI+
PCEtLSBbc2ljXSB0YWIgY2hhciAtLT4KKyAgICA8aW5wdXQgY2xhc3M9ImV4IiBkYXRhLWV4cGVj
dGVkPSJzcGVsbGluZyIgdHlwZT0idGV4dCIgYXJpYS1pbnZhbGlkPSJzcGVsbGluZyI+CisgICAg
PGlucHV0IGNsYXNzPSJleCIgZGF0YS1leHBlY3RlZD0ic3BlbGxpbmciIHR5cGU9InRleHQiIGFy
aWEtaW52YWxpZD0ic3BlbGxpbmcKKyAgICAiPjwhLS0gW3NpY10gbmV3bGluZSBjaGFyIC0tPgor
CisgICAgPCEtLSBBbGwgb3RoZXIgc3RyaW5nIHZhbHVlcyBhcmUgdHJ1dGh5LCBpbmNsdWRpbmcg
YSBjb21iaW5hdGlvbiBvZiBvdGhlcndpc2UgdmFsaWQgdG9rZW5zLiAtLT4KKyAgICA8aW5wdXQg
Y2xhc3M9ImV4IiBkYXRhLWV4cGVjdGVkPSJ0cnVlIiB0eXBlPSJ0ZXh0IiBhcmlhLWludmFsaWQ9
InRydWUiPgorICAgIDxpbnB1dCBjbGFzcz0iZXgiIGRhdGEtZXhwZWN0ZWQ9InRydWUiIHR5cGU9
InRleHQiIGFyaWEtaW52YWxpZD0ibm90YWxsb3dlZCI+CisgICAgPGlucHV0IGNsYXNzPSJleCIg
ZGF0YS1leHBlY3RlZD0idHJ1ZSIgdHlwZT0idGV4dCIgYXJpYS1pbnZhbGlkPSLigKYiPgorICAg
IDxpbnB1dCBjbGFzcz0iZXgiIGRhdGEtZXhwZWN0ZWQ9InRydWUiIHR5cGU9InRleHQiIGFyaWEt
aW52YWxpZD0iw4ciPgorICAgIDxpbnB1dCBjbGFzcz0iZXgiIGRhdGEtZXhwZWN0ZWQ9InRydWUi
IHR5cGU9InRleHQiIGFyaWEtaW52YWxpZD0ic3BlbGxpbmcgZ3JhbW1hciI+CisgICAgPGlucHV0
IGNsYXNzPSJleCIgZGF0YS1leHBlY3RlZD0idHJ1ZSIgdHlwZT0idGV4dCIgYXJpYS1pbnZhbGlk
PSJzcGVsbGluZwlncmFtbWFyIj48IS0tIFtzaWNdIHRhYiBjaGFyIC0tPgorICAgIDxpbnB1dCBj
bGFzcz0iZXgiIGRhdGEtZXhwZWN0ZWQ9InRydWUiIHR5cGU9InRleHQiIGFyaWEtaW52YWxpZD0i
c3BlbGxpbmcKKyAgICBncmFtbWFyIj48IS0tIFtzaWNdIG5ld2xpbmUgY2hhciAtLT4KKzwvZGl2
PgogCiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgpA
QCAtMjIsNDQgKzQzLDQ3IEBACiAKICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IGFy
aWEtaW52YWxpZCBjYXVzZXMgdGhlIHJpZ2h0IGF0dHJpYnV0ZSB0byBiZSByZXR1cm5lZCBhbmQg
aXQgZW5zdXJlcyBhIG5vdGlmaWNhdGlvbiBpcyBzZW50IHdoZW4gaXQgY2hhbmdlcy4iKTsKIAot
ICAgIHZhciBub3RpZmljYXRpb25FbGVtZW50ID0gMDsKKyAgICBmdW5jdGlvbiAkKGlkKXsKKyAg
ICAgICAgcmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTsKKyAgICB9CisKKyAgICB2
YXIgYXhOb3RpZmljYXRpb25FbGVtZW50ID0gbnVsbDsKICAgICBmdW5jdGlvbiBub3RpZmljYXRp
b25DYWxsYmFjayhub3RpZmljYXRpb24pIHsKICAgICAgICAgaWYgKG5vdGlmaWNhdGlvbiA9PSAi
QVhJbnZhbGlkU3RhdHVzQ2hhbmdlZCIpIHsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJub3RpZmljYXRpb25zIikuaW5uZXJIVE1MICs9ICJOb3RpZmljYXRpb24gcmVjZWl2
ZWQgc3VjY2Vzc2Z1bGx5LiI7Ci0gICAgICAgICAgICBub3RpZmljYXRpb25FbGVtZW50LnJlbW92
ZU5vdGlmaWNhdGlvbkxpc3RlbmVyKCk7CisgICAgICAgICAgICAkKCJub3RpZmljYXRpb25zIiku
aW5uZXJIVE1MICs9ICJOb3RpZmljYXRpb24gcmVjZWl2ZWQgc3VjY2Vzc2Z1bGx5LiI7CisgICAg
ICAgICAgICBheE5vdGlmaWNhdGlvbkVsZW1lbnQucmVtb3ZlTm90aWZpY2F0aW9uTGlzdGVuZXIo
KTsKKyAgICAgICAgICAgICQoImV4YW1wbGVzIikuaGlkZGVuID0gdHJ1ZTsKICAgICAgICAgICAg
IHdpbmRvdy50ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAgICAgfQogICAgIH0KIAorICAg
IHZhciByZXN1bHQgPSAkKCdjb25zb2xlJyk7CisgICAgZnVuY3Rpb24gdmVyaWZ5KHZhbHVlLCBl
eHBlY3RhdGlvbiwgZWxlbWVudCkgeworICAgICAgaWYgKHZhbHVlID09PSBleHBlY3RhdGlvbikK
KyAgICAgICAgcmVzdWx0LmlubmVyVGV4dCArPSAiUEFTUzogQVhJbnZhbGlkIGlzICIgKyB2YWx1
ZSArICIuXG4iOworICAgICAgZWxzZQorICAgICAgICByZXN1bHQuaW5uZXJUZXh0ICs9ICJGQUlM
OiBBWEludmFsaWQgaXMgIiArIHZhbHVlICsgIi4gRXhwZWN0ZWQ6ICIgKyBleHBlY3RhdGlvbiAr
ICIuICIgKyAoZWxlbWVudCA/IGVsZW1lbnQub3V0ZXJIVE1MIDogIiIpICsgIlxuIjsKKyAgICB9
CisKICAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CiAgICAgICAgIHdp
bmRvdy50ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAotICAgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgidGV4dDEiKS5mb2N1cygpOwotICAgICAgICBzaG91bGRCZSgiYWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuc3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FYSW52
YWxpZCcpIiwgIid0cnVlJyIpOwotCi0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0
ZXh0MiIpLmZvY3VzKCk7Ci0gICAgICAgIHNob3VsZEJlKCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxl
ci5mb2N1c2VkRWxlbWVudC5zdHJpbmdBdHRyaWJ1dGVWYWx1ZSgnQVhJbnZhbGlkJykiLCAiJ2dy
YW1tYXInIik7Ci0KLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHQzIikuZm9j
dXMoKTsKLSAgICAgICAgc2hvdWxkQmUoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRF
bGVtZW50LnN0cmluZ0F0dHJpYnV0ZVZhbHVlKCdBWEludmFsaWQnKSIsICInc3BlbGxpbmcnIik7
Ci0KLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHQ0IikuZm9jdXMoKTsKLSAg
ICAgICAgc2hvdWxkQmUoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LnN0
cmluZ0F0dHJpYnV0ZVZhbHVlKCdBWEludmFsaWQnKSIsICIndHJ1ZSciKTsKLQotICAgICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4dDUiKS5mb2N1cygpOwotICAgICAgICBzaG91bGRC
ZSgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuc3RyaW5nQXR0cmlidXRl
VmFsdWUoJ0FYSW52YWxpZCcpIiwgIidmYWxzZSciKTsKLQotICAgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgidGV4dDYiKS5mb2N1cygpOwotICAgICAgICBzaG91bGRCZSgiYWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuc3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FYSW52
YWxpZCcpIiwgIidmYWxzZSciKTsKLQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
dGV4dDciKS5mb2N1cygpOwotICAgICAgICBzaG91bGRCZSgiYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIuZm9jdXNlZEVsZW1lbnQuc3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FYSW52YWxpZCcpIiwgIidm
YWxzZSciKTsKLQotICAgICAgICBub3RpZmljYXRpb25FbGVtZW50ID0gYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7Ci0gICAgICAgIHZhciBhZGRlZE5vdGlmaWNhdGlvbiA9
IG5vdGlmaWNhdGlvbkVsZW1lbnQuYWRkTm90aWZpY2F0aW9uTGlzdGVuZXIobm90aWZpY2F0aW9u
Q2FsbGJhY2spOworICAgICAgICB2YXIgZXhhbXBsZXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9y
QWxsKCIuZXgiKTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDAsIGMgPSBleGFtcGxlcy5sZW5ndGg7
IGkgPCBjOyBpKyspIHsKKyAgICAgICAgICAgIHZhciBlbCA9IGV4YW1wbGVzW2ldOworICAgICAg
ICAgICAgZWwuZm9jdXMoKTsKKyAgICAgICAgICAgIHZhciBleHBlY3RhdGlvbiA9IGVsLmdldEF0
dHJpYnV0ZSgiZGF0YS1leHBlY3RlZCIpOworICAgICAgICAgICAgdmFyIHZhbHVlID0gYWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuc3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FY
SW52YWxpZCcpOworICAgICAgICAgICAgdmVyaWZ5KHZhbHVlLCBleHBlY3RhdGlvbiwgZWwpOwor
ICAgICAgICB9CisgICAgICAgIAorICAgICAgICB2YXIgZG9tTm90aWZpY2F0aW9uRWxlbWVudCA9
IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5leCIpOworICAgICAgICBkb21Ob3RpZmljYXRpb25F
bGVtZW50LmZvY3VzKCk7CisgICAgICAgIGF4Tm90aWZpY2F0aW9uRWxlbWVudCA9IGFjY2Vzc2li
aWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OworICAgICAgICB2YXIgYWRkZWROb3RpZmlj
YXRpb24gPSBheE5vdGlmaWNhdGlvbkVsZW1lbnQuYWRkTm90aWZpY2F0aW9uTGlzdGVuZXIobm90
aWZpY2F0aW9uQ2FsbGJhY2spOwogICAgICAgICBzaG91bGRCZVRydWUoImFkZGVkTm90aWZpY2F0
aW9uIik7Ci0KLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHQ3Iikuc2V0QXR0
cmlidXRlKCJhcmlhLWludmFsaWQiLCAic3BlbGxpbmciKTsKKyAgICAgICAgZG9tTm90aWZpY2F0
aW9uRWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtaW52YWxpZCIsICJzcGVsbGluZyIpOworICAg
ICAgICB2ZXJpZnkoYXhOb3RpZmljYXRpb25FbGVtZW50LnN0cmluZ0F0dHJpYnV0ZVZhbHVlKCdB
WEludmFsaWQnKSwgInNwZWxsaW5nIiwgZG9tTm90aWZpY2F0aW9uRWxlbWVudCk7CiAgICAgfQog
CiA8L3NjcmlwdD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>