<?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>95169</bug_id>
          
          <creation_ts>2012-08-27 21:35:44 -0700</creation_ts>
          <short_desc>[ShadowDOM] Shadow elements in the input element should be focusable.</short_desc>
          <delta_ts>2012-08-30 05:56:52 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>95168</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter>yosin</reporter>
          <assigned_to>yosin</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>hayato</cc>
    
    <cc>mifenton</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>706051</commentid>
    <comment_count>0</comment_count>
    <who name="">yosin</who>
    <bug_when>2012-08-27 21:35:44 -0700</bug_when>
    <thetext>The implementation of multiple fields time input UI wants to have focusable shadow elements for focus navigation.
For this purpose, FocusController should walk through shadow elements for &quot;time&quot; input type. 

Although, current implementation of focus navigation in FocusController class introduced by r112511 treats all
input types in same way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706063</commentid>
    <comment_count>1</comment_count>
      <attachid>160898</attachid>
    <who name="">yosin</who>
    <bug_when>2012-08-27 22:17:19 -0700</bug_when>
    <thetext>Created attachment 160898
Patch 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706064</commentid>
    <comment_count>2</comment_count>
      <attachid>160898</attachid>
    <who name="">yosin</who>
    <bug_when>2012-08-27 22:18:03 -0700</bug_when>
    <thetext>Comment on attachment 160898
Patch 1

Could you review this patch?
Thanks in advance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706067</commentid>
    <comment_count>3</comment_count>
      <attachid>160898</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-08-27 22:28:23 -0700</bug_when>
    <thetext>Comment on attachment 160898
Patch 1

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

&gt; Source/WebCore/html/HTMLAudioElement.h:51
&gt; +    virtual bool hasCustomFocusLogic() const OVERRIDE;

This should be defined at HTMLMediaElement instead of HTMLAudioElement and HTMLVideoElement because HTMLMediaElement is responsible to build shadow sub tree for media control UI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706069</commentid>
    <comment_count>4</comment_count>
      <attachid>160901</attachid>
    <who name="">yosin</who>
    <bug_when>2012-08-27 22:34:47 -0700</bug_when>
    <thetext>Created attachment 160901
Patch 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706070</commentid>
    <comment_count>5</comment_count>
      <attachid>160901</attachid>
    <who name="">yosin</who>
    <bug_when>2012-08-27 22:36:19 -0700</bug_when>
    <thetext>Comment on attachment 160901
Patch 2

Could you review this patch?
Thanks in advance.

= Changes since the last review =
* Add hasCustomFocusLogic() to HTMLMediaElement instead of HTMLAudioElement and HTMLVideoElement</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706072</commentid>
    <comment_count>6</comment_count>
      <attachid>160901</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-08-27 22:40:11 -0700</bug_when>
    <thetext>Comment on attachment 160901
Patch 2

ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706074</commentid>
    <comment_count>7</comment_count>
      <attachid>160901</attachid>
    <who name="">yosin</who>
    <bug_when>2012-08-27 22:41:23 -0700</bug_when>
    <thetext>Comment on attachment 160901
Patch 2

Clearing flags on attachment: 160901

Committed r126842: &lt;http://trac.webkit.org/changeset/126842&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706076</commentid>
    <comment_count>8</comment_count>
    <who name="">yosin</who>
    <bug_when>2012-08-27 22:41:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706410</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-08-28 09:18:00 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 160901 [details])
&gt; * Add hasCustomFocusLogic() to HTMLMediaElement instead of HTMLAudioElement and HTMLVideoElement

What is &quot;multiple fields time input UI&quot; and what does it have to do with HTMLMediaElement?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706965</commentid>
    <comment_count>10</comment_count>
    <who name="">yosin</who>
    <bug_when>2012-08-28 18:21:33 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #5)
&gt; &gt; (From update of attachment 160901 [details] [details])
&gt; &gt; * Add hasCustomFocusLogic() to HTMLMediaElement instead of HTMLAudioElement and HTMLVideoElement
&gt; 
&gt; What is &quot;multiple fields time input UI&quot;?
Multiple fields time input UI is introduced by bug 88970.
It is text field like UI but it has fields for hour, minute and second. It is similar to platform provided DateTime control.

&gt;what does it have to do with HTMLMediaElement?
&quot;audio&quot; and &quot;video&quot; elements uses shadow DOM for implementing their UI, focus controller hasn&apos;t supported their detail of focus navigation yet. &quot;input&quot; element is same situation. But, I would like to override this focus navigation behavior based on input type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708065</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-08-29 16:57:25 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; (In reply to comment #5)
&gt; &gt; 
&gt; &gt; What is &quot;multiple fields time input UI&quot;?
&gt; Multiple fields time input UI is introduced by bug 88970.
&gt; It is text field like UI but it has fields for hour, minute and second. It is similar to platform provided DateTime control.
&gt; 
&gt; &gt;what does it have to do with HTMLMediaElement?
&gt; &quot;audio&quot; and &quot;video&quot; elements uses shadow DOM for implementing their UI, focus controller hasn&apos;t supported their detail of focus navigation yet. &quot;input&quot; element is same situation. But, I would like to override this focus navigation behavior based on input type.

I am sorry, but I still don&apos;t understand - maybe because I don&apos;t know what the focus controller or focus navigation are. Can you please explain in more detail or point me to something I can read to educate myself?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708417</commentid>
    <comment_count>12</comment_count>
    <who name="">yosin</who>
    <bug_when>2012-08-30 01:38:25 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; (In reply to comment #9)
&gt; &gt; &gt; (In reply to comment #5)
&gt; &gt; &gt; 
&gt; &gt; &gt; What is &quot;multiple fields time input UI&quot;?
&gt; &gt; Multiple fields time input UI is introduced by bug 88970.
&gt; &gt; It is text field like UI but it has fields for hour, minute and second. It is similar to platform provided DateTime control.
&gt; &gt; 
&gt; &gt; &gt;what does it have to do with HTMLMediaElement?
&gt; &gt; &quot;audio&quot; and &quot;video&quot; elements uses shadow DOM for implementing their UI, focus controller hasn&apos;t supported their detail of focus navigation yet. &quot;input&quot; element is same situation. But, I would like to override this focus navigation behavior based on input type.
&gt; 
&gt; I am sorry, but I still don&apos;t understand - maybe because I don&apos;t know what the focus controller or focus navigation are. Can you please explain in more detail or point me to something I can read to educate myself?

Actually, I&apos;m not familiar with FocusController. When I study how Shift+Tab handled, I saw page/EventHandler.cpp, then I reached page/FocusController.cpp

My trouble was FocusController didn&apos;t walk into shadow DOM tree hosted by &quot;input&quot; element. My experiment proofs FocusController walks into the &quot;span&quot; element. Simple search &quot;input&quot; gave me what I need to change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708540</commentid>
    <comment_count>13</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-08-30 05:56:52 -0700</bug_when>
    <thetext>Let me comment briefly. I&apos;ll take a look at the patch tomorrow.

When I supported Shadow DOM in regard to focus navigations, I found that input element has a special focus logic. That caused me to exclude input elements from general focus navigation. So we cannot enter a shadow DOM of input elements in focus navigations.

I think we need to update input elements somehow before we get rid of such special treatment. Let me take a look at the patch tomorrow.

(In reply to comment #12)
&gt; (In reply to comment #11)
&gt; &gt; (In reply to comment #10)
&gt; &gt; &gt; (In reply to comment #9)
&gt; &gt; &gt; &gt; (In reply to comment #5)
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; What is &quot;multiple fields time input UI&quot;?
&gt; &gt; &gt; Multiple fields time input UI is introduced by bug 88970.
&gt; &gt; &gt; It is text field like UI but it has fields for hour, minute and second. It is similar to platform provided DateTime control.
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt;what does it have to do with HTMLMediaElement?
&gt; &gt; &gt; &quot;audio&quot; and &quot;video&quot; elements uses shadow DOM for implementing their UI, focus controller hasn&apos;t supported their detail of focus navigation yet. &quot;input&quot; element is same situation. But, I would like to override this focus navigation behavior based on input type.
&gt; &gt; 
&gt; &gt; I am sorry, but I still don&apos;t understand - maybe because I don&apos;t know what the focus controller or focus navigation are. Can you please explain in more detail or point me to something I can read to educate myself?
&gt; 
&gt; Actually, I&apos;m not familiar with FocusController. When I study how Shift+Tab handled, I saw page/EventHandler.cpp, then I reached page/FocusController.cpp
&gt; 
&gt; My trouble was FocusController didn&apos;t walk into shadow DOM tree hosted by &quot;input&quot; element. My experiment proofs FocusController walks into the &quot;span&quot; element. Simple search &quot;input&quot; gave me what I need to change.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160898</attachid>
            <date>2012-08-27 22:17:19 -0700</date>
            <delta_ts>2012-08-27 22:34:43 -0700</delta_ts>
            <desc>Patch 1</desc>
            <filename>bug-95169-20120828141711.patch</filename>
            <type>text/plain</type>
            <size>10734</size>
            <attacher>yosin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2ODQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTJhODZlZjY4OGQzMmE4
ZTFjZmZlZGQ4YzY4ZGIzYTJiODU5Y2ExNy4uZDNjNTI0NTA3MmRlNzYzZjJjZWJlNzk4ZjY3MGUy
ZjlkMmY0MjI5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDEyLTA4LTI3ICBZb3No
aWZ1bWkgSW5vdWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW1NoYWRvd0RPTV0g
U2hhZG93IGVsZW1lbnRzIGluIHRoZSBpbnB1dCBlbGVtZW50IHNob3VsZCBiZSBmb2N1c2FibGUu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTE2OQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0
Y2ggaW50cm9kdWNlcyBuZXcgdmlydHVhbCBmdW5jdGlvbiBIVE1MRWxlbWVudDo6aGFzQ3VzdG9t
Rm9jdXNMb2dpYygpCisgICAgICAgIHRvIGFsbG93IGlucHV0IHR5cGUgaW1wbGVtZW50YXRpb25z
IHRvIHVzZSBzaGFkb3cgZWxlbWVudCB3aXRoIGZvY3VzCisgICAgICAgIG5hdmlnYXRpb24uCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzLiBUaGlzIHBhdGNoIGRvZXNuJ3QgY2hhbmdlIGJlaGF2aW9y
LgorCisgICAgICAgICogaHRtbC9IVE1MQXVkaW9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxBdWRpb0VsZW1lbnQ6Omhhc0N1c3RvbUZvY3VzTG9naWMpOiBBZGRlZCB0byByZXR1
cm4gdHJ1ZS4KKyAgICAgICAgKiBodG1sL0hUTUxBdWRpb0VsZW1lbnQuaDoKKyAgICAgICAgKEhU
TUxBdWRpb0VsZW1lbnQpOiBBZGRlZCBhIGRlY2xhcmF0aW9uIG9mIGhhc0N1c3RvbUZvY3VzTG9n
aWMoKS4KKyAgICAgICAgKiBodG1sL0hUTUxFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxFbGVtZW50OjpoYXNDdXN0b21Gb2N1c0xvZ2ljKTogQWRkZWQgdG8gcmV0dXJuIGZhbHNl
IGFzCisgICAgICAgIGRlZmF1bHQgdmFsdWUuCisgICAgICAgICogaHRtbC9IVE1MRWxlbWVudC5o
OgorICAgICAgICAoSFRNTEVsZW1lbnQpOiBBZGRlZCBhIGRlY2xhcmF0aW9uIG9mIGhhc0N1c3Rv
bUZvY3VzTG9naWMoKS4KKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6aGFzQ3VzdG9tRm9jdXNMb2dpYyk6IEFk
ZGVkIHRvIGNhbGwgSW5wdXRUeXBlOjpoYXNDdXN0b21Gb2N1c0xvZ2ljKCksCisgICAgICAgICog
aHRtbC9IVE1MSW5wdXRFbGVtZW50Lmg6CisgICAgICAgIChIVE1MSW5wdXRFbGVtZW50KTogQWRk
ZWQgYSBkZWNsYXJhdGlvbiBvZiBoYXNDdXN0b21Gb2N1c0xvZ2ljKCkuCisgICAgICAgICogaHRt
bC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUZXh0QXJl
YUVsZW1lbnQ6Omhhc0N1c3RvbUZvY3VzTG9naWMpOiBBZGRlZCB0byByZXR1cm4gdHJ1ZS4KKyAg
ICAgICAgKiBodG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaDoKKyAgICAgICAgKEhUTUxUZXh0QXJl
YUVsZW1lbnQpOiBBZGQgYSBkZWNsYXJhdGlvbiBvZiBoYXNDdXN0b21Gb2N1c0xvZ2ljKCkuCisg
ICAgICAgICogaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxWaWRlb0VsZW1lbnQ6Omhhc0N1c3RvbUZvY3VzTG9naWMpOiBBZGRlZCB0byByZXR1cm4gdHJ1
ZS4KKyAgICAgICAgKiBodG1sL0hUTUxWaWRlb0VsZW1lbnQuaDoKKyAgICAgICAgKEhUTUxWaWRl
b0VsZW1lbnQpOiBBZGQgYSBkZWNsYXJhdGlvbiBvZiBoYXNDdXN0b21Gb2N1c0xvZ2ljKCkKKyAg
ICAgICAgKiBwYWdlL0ZvY3VzQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpoYXND
dXN0b21Gb2N1c0xvZ2ljKTogQ2hhbmdlZCB0byBjYWxsIEhUTUxFbGVtZW50OjpoYXNDdXN0b21G
b2N1c0xvZ2ljKCkKKyAgICAgICAgcmF0aGVyIHRoYW4gY2hlY2tpbmcgdGFnIG5hbWVzLgorICAg
ICAgICAqIGh0bWwvSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6
aGFzQ3VzdG9tRm9jdXNMb2dpYyk6IEFkZGVkIHRvIHJldHVybiB0cnVlIGFzIGRlZmF1bHQgdmFs
dWUuCisgICAgICAgICogaHRtbC9JbnB1dFR5cGUuaDoKKyAgICAgICAgKElucHV0VHlwZSk6IEFk
ZGVkIGEgZGVjbGFyYXRpb24gb2YgaGFzQ3VzdG9tRm9jdXNMb2dpYygpLgorCiAyMDEyLTA4LTI3
ICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ4NDgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEF1ZGlvRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxB
dWRpb0VsZW1lbnQuY3BwCmluZGV4IDk4ZGVjYzE1MjBhZTkyYjM4ODhlNmMwOGVmMWEzMmQ2Yzkz
YTVhMDYuLjM4MzRlNGY0Yzk4OWU4MGE0NTA1YzdiMzdhNmY1MmFjYmI1ZmRmNGEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF1ZGlvRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MQXVkaW9FbGVtZW50LmNwcApAQCAtNjAsNSArNjAsMTAgQEAgUGFz
c1JlZlB0cjxIVE1MQXVkaW9FbGVtZW50PiBIVE1MQXVkaW9FbGVtZW50OjpjcmVhdGVGb3JKU0Nv
bnN0cnVjdG9yKERvY3VtZW50KgogICAgIHJldHVybiBhdWRpby5yZWxlYXNlKCk7CiB9CiAKK2Jv
b2wgSFRNTEF1ZGlvRWxlbWVudDo6aGFzQ3VzdG9tRm9jdXNMb2dpYygpIGNvbnN0Cit7CisgICAg
cmV0dXJuIHRydWU7Cit9CisKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MQXVkaW9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdWRpb0Vs
ZW1lbnQuaAppbmRleCBjZmEyNzZjNWEwMGY4ZGRmZTI1YzRhMDcyYjMxODM3ZjkzNzQxZGNhLi5l
ODA4MmExMjVlNGJhNjY5OGE3ZDI1MjlmMGJiZmM4M2VhNWYwOTgyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxBdWRpb0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxBdWRpb0VsZW1lbnQuaApAQCAtNDgsNiArNDgsNyBAQCBwcml2YXRlOgogICAgIEhU
TUxBdWRpb0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50KiwgYm9vbCk7CiAK
ICAgICB2aXJ0dWFsIGJvb2wgaXNWaWRlbygpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAg
dmlydHVhbCBib29sIGhhc0N1c3RvbUZvY3VzTG9naWMoKSBjb25zdCBPVkVSUklERTsKIH07CiAK
IH0gLy9uYW1lc3BhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKaW5kZXggZjY3YWJj
M2ZkYmZkOGU3YjcxZDVhNzUwYjAzN2FlOTIyNDBiYTkwOC4uNjQxYzBiODkwYjJhZDcxMzMxMTgy
ZjNhNmEwMjI1MzhmYTNhNzM1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKQEAg
LTYyOCw2ICs2MjgsMTEgQEAgdm9pZCBIVE1MRWxlbWVudDo6YXBwbHlBbGlnbm1lbnRBdHRyaWJ1
dGVUb1N0eWxlKGNvbnN0IEF0dHJpYnV0ZSYgYXR0cmlidXRlLCBTdHkKICAgICAgICAgYWRkUHJv
cGVydHlUb0F0dHJpYnV0ZVN0eWxlKHN0eWxlLCBDU1NQcm9wZXJ0eVZlcnRpY2FsQWxpZ24sIHZl
cnRpY2FsQWxpZ25WYWx1ZSk7CiB9CiAKK2Jvb2wgSFRNTEVsZW1lbnQ6Omhhc0N1c3RvbUZvY3Vz
TG9naWMoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKwogYm9vbCBIVE1MRWxlbWVu
dDo6c3VwcG9ydHNGb2N1cygpIGNvbnN0CiB7CiAgICAgcmV0dXJuIEVsZW1lbnQ6OnN1cHBvcnRz
Rm9jdXMoKSB8fCAocmVuZGVyZXJJc0VkaXRhYmxlKCkgJiYgcGFyZW50Tm9kZSgpICYmICFwYXJl
bnROb2RlKCktPnJlbmRlcmVySXNFZGl0YWJsZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQu
aAppbmRleCA1MWZiMDk2ZDQxZTI3MGExM2M3M2I0OTZhYzRiZjQyNzRmZGI1NWQzLi4zYWQ0MDYz
NGJhYjUzMDIyODYyOTAwNDIzNWIzNzBjYzExOTI0MGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxl
bWVudC5oCkBAIC02NCw2ICs2NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGluc2VydEFkamFjZW50
SFRNTChjb25zdCBTdHJpbmcmIHdoZXJlLCBjb25zdCBTdHJpbmcmIGh0bWwsIEV4Y2VwdGlvbkNv
ZGUmKTsKICAgICB2b2lkIGluc2VydEFkamFjZW50VGV4dChjb25zdCBTdHJpbmcmIHdoZXJlLCBj
b25zdCBTdHJpbmcmIHRleHQsIEV4Y2VwdGlvbkNvZGUmKTsKIAorICAgIHZpcnR1YWwgYm9vbCBo
YXNDdXN0b21Gb2N1c0xvZ2ljKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzRm9j
dXMoKSBjb25zdDsKIAogICAgIFN0cmluZyBjb250ZW50RWRpdGFibGUoKSBjb25zdDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCmluZGV4IDkyNGRiNDE4YjYxZGQxMWZk
ZjQ1MTNkMTJlZTc1OGY1ZThhOGY2OTguLjQ3OWM5YTVkNWI3MzY4NjcxNzJkMGVlMzc3ZWJiZjNm
MjMzODBlNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcApAQCAt
MzM4LDYgKzMzOCwxMiBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnN0ZXBEb3duKGludCBuLCBF
eGNlcHRpb25Db2RlJiBlYykKICAgICBtX2lucHV0VHlwZS0+c3RlcFVwKC1uLCBlYyk7CiB9CiAK
KworYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpoYXNDdXN0b21Gb2N1c0xvZ2ljKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gbV9pbnB1dFR5cGUtPmhhc0N1c3RvbUZvY3VzTG9naWMoKTsKK30KKwogYm9v
bCBIVE1MSW5wdXRFbGVtZW50Ojppc0tleWJvYXJkRm9jdXNhYmxlKEtleWJvYXJkRXZlbnQqIGV2
ZW50KSBjb25zdAogewogICAgIHJldHVybiBtX2lucHV0VHlwZS0+aXNLZXlib2FyZEZvY3VzYWJs
ZShldmVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCmluZGV4IDhhMGU0
ZDRiNzJhOTJjNjhhODE4YzJkYzE3ZDI1YTI0NjgyM2FkZDguLmI1MTJlYmRhNzNiM2VlMmRjODc2
ZTU0YjNlOWY1YmE3ZmQyNTE4MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TElucHV0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVu
dC5oCkBAIC0yOTQsNiArMjk0LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgcmVtb3Zl
ZEZyb20oQ29udGFpbmVyTm9kZSopIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBkaWRNb3Zl
VG9OZXdEb2N1bWVudChEb2N1bWVudCogb2xkRG9jdW1lbnQpIE9WRVJSSURFOwogCisgICAgdmly
dHVhbCBib29sIGhhc0N1c3RvbUZvY3VzTG9naWMoKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0
dWFsIGJvb2wgaXNLZXlib2FyZEZvY3VzYWJsZShLZXlib2FyZEV2ZW50KikgY29uc3Q7CiAgICAg
dmlydHVhbCBib29sIGlzTW91c2VGb2N1c2FibGUoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wg
aXNFbnVtZXJhdGFibGUoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFRleHRBcmVhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJl
YUVsZW1lbnQuY3BwCmluZGV4IDcyODJhNWNlZDM1NDk5ODI1MTY2M2JjZmJiOWRhNDRlM2NjMzc3
MGQuLmE0MmFhNzgzMWYwN2M1NjdlNDUwYjNmM2I3ZDg1N2M3NWE4YmUxNmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcApAQCAtMjE2LDYgKzIxNiwxMSBA
QCB2b2lkIEhUTUxUZXh0QXJlYUVsZW1lbnQ6OnJlc2V0KCkKICAgICBzZXROb25EaXJ0eVZhbHVl
KGRlZmF1bHRWYWx1ZSgpKTsKIH0KIAorYm9vbCBIVE1MVGV4dEFyZWFFbGVtZW50OjpoYXNDdXN0
b21Gb2N1c0xvZ2ljKCkgY29uc3QKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogYm9vbCBIVE1M
VGV4dEFyZWFFbGVtZW50Ojppc0tleWJvYXJkRm9jdXNhYmxlKEtleWJvYXJkRXZlbnQqKSBjb25z
dAogewogICAgIC8vIElmIGEgZ2l2ZW4gdGV4dCBhcmVhIGNhbiBiZSBmb2N1c2VkIGF0IGFsbCwg
dGhlbiBpdCB3aWxsIGFsd2F5cyBiZSBrZXlib2FyZCBmb2N1c2FibGUuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5oCmluZGV4IDZlMmFhNThiOTY4YzZkZGU3NDMxMjAx
NDc3MGU2NDczMDA1NDNjMGUuLmFlNDY3OGRhM2Q1OTAzZmM4MTdjNmIyMmYzY2NiODY0YmFhODI2
ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5oCkBAIC0xMDIs
NiArMTAyLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIFJlbmRlck9iamVjdCogY3JlYXRlUmVu
ZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSopOwogICAgIHZpcnR1YWwgYm9vbCBhcHBl
bmRGb3JtRGF0YShGb3JtRGF0YUxpc3QmLCBib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVzZXQo
KTsKKyAgICB2aXJ0dWFsIGJvb2wgaGFzQ3VzdG9tRm9jdXNMb2dpYygpIGNvbnN0IE9WRVJSSURF
OwogICAgIHZpcnR1YWwgYm9vbCBpc01vdXNlRm9jdXNhYmxlKCkgY29uc3Q7CiAgICAgdmlydHVh
bCBib29sIGlzS2V5Ym9hcmRGb2N1c2FibGUoS2V5Ym9hcmRFdmVudCopIGNvbnN0OwogICAgIHZp
cnR1YWwgdm9pZCB1cGRhdGVGb2N1c0FwcGVhcmFuY2UoYm9vbCByZXN0b3JlUHJldmlvdXNTZWxl
Y3Rpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHAKaW5kZXggMGUw
ZTIyZjcxNjhmZDU2MTJiMTViODY0YTZhMWRmMWYwYzFlMTYwMi4uOTkxYjRjOGRiNGEzZmM3OGEy
YzQ0NDgxZjM3NDY0YWEyMDM3YTg3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MVmlkZW9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0Vs
ZW1lbnQuY3BwCkBAIC05Nyw2ICs5NywxMSBAQCB2b2lkIEhUTUxWaWRlb0VsZW1lbnQ6OmNvbGxl
Y3RTdHlsZUZvckF0dHJpYnV0ZShjb25zdCBBdHRyaWJ1dGUmIGF0dHJpYnV0ZSwgU3R5bAogICAg
ICAgICBIVE1MTWVkaWFFbGVtZW50Ojpjb2xsZWN0U3R5bGVGb3JBdHRyaWJ1dGUoYXR0cmlidXRl
LCBzdHlsZSk7CiB9CiAKK2Jvb2wgSFRNTFZpZGVvRWxlbWVudDo6aGFzQ3VzdG9tRm9jdXNMb2dp
YygpIGNvbnN0Cit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIGJvb2wgSFRNTFZpZGVvRWxlbWVu
dDo6aXNQcmVzZW50YXRpb25BdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSkgY29u
c3QKIHsKICAgICBpZiAobmFtZSA9PSB3aWR0aEF0dHIgfHwgbmFtZSA9PSBoZWlnaHRBdHRyKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuaAppbmRleCBkYmU1MmE0MDM4YjYzNmNk
YWU3Nzg1YWI0N2RkODA2MDA5NjZlYWUwLi4yNWM2MGIxZjk0NDExOWQ5N2Q0YjI2M2NiNmQwMjk0
OTdjZjllOGRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuaApAQCAtNzks
NiArNzksNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBpc1ByZXNlbnRhdGlvbkF0dHJp
YnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJikgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2
b2lkIGNvbGxlY3RTdHlsZUZvckF0dHJpYnV0ZShjb25zdCBBdHRyaWJ1dGUmLCBTdHlsZVByb3Bl
cnR5U2V0KikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIGlzVmlkZW8oKSBjb25zdCB7IHJl
dHVybiB0cnVlOyB9CisgICAgdmlydHVhbCBib29sIGhhc0N1c3RvbUZvY3VzTG9naWMoKSBjb25z
dCBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgaGFzVmlkZW8oKSBjb25zdCB7IHJldHVybiBw
bGF5ZXIoKSAmJiBwbGF5ZXIoKS0+aGFzVmlkZW8oKTsgfQogICAgIHZpcnR1YWwgYm9vbCBzdXBw
b3J0c0Z1bGxzY3JlZW4oKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgaXNVUkxBdHRyaWJ1dGUo
Y29uc3QgQXR0cmlidXRlJikgY29uc3QgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0lucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5j
cHAKaW5kZXggZGJhOTAyZWJhN2VjYzIzYWE4MGI2YTk3YjBiMDY0NGVmZGFiOTdkOS4uZGViZjZl
N2U4OGEyMDBiNzZiN2JlNDc4MWRiZjZiOTU5ZDQzMjcwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRU
eXBlLmNwcApAQCAtNTExLDYgKzUxMSwxMSBAQCBib29sIElucHV0VHlwZTo6Y2FuU2V0U3RyaW5n
VmFsdWUoKSBjb25zdAogICAgIHJldHVybiB0cnVlOwogfQogCitib29sIElucHV0VHlwZTo6aGFz
Q3VzdG9tRm9jdXNMb2dpYygpIGNvbnN0Cit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIGJvb2wg
SW5wdXRUeXBlOjppc0tleWJvYXJkRm9jdXNhYmxlKEtleWJvYXJkRXZlbnQqIGV2ZW50KSBjb25z
dAogewogICAgIHJldHVybiBlbGVtZW50KCktPmlzVGV4dEZvcm1Db250cm9sS2V5Ym9hcmRGb2N1
c2FibGUoZXZlbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUu
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKaW5kZXggNjE1OWY3Nzk2ZmZhYTA2
OGFhOTZiMWQwODBjZmI5YmEzMjNjZjRiOC4uYjUzNjhkMWYyYmY1M2I1YzQ4NTA2YWM0ODdiNzkw
NWFmNjA0MmFiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCkBAIC0yMDAsNiArMjAwLDcgQEAg
cHVibGljOgogICAgIC8vIEhlbHBlcnMgZm9yIGV2ZW50IGhhbmRsZXJzLgogICAgIHZpcnR1YWwg
Ym9vbCBzaG91bGRTdWJtaXRJbXBsaWNpdGx5KEV2ZW50Kik7CiAgICAgdmlydHVhbCBQYXNzUmVm
UHRyPEhUTUxGb3JtRWxlbWVudD4gZm9ybUZvclN1Ym1pc3Npb24oKSBjb25zdDsKKyAgICB2aXJ0
dWFsIGJvb2wgaGFzQ3VzdG9tRm9jdXNMb2dpYygpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBp
c0tleWJvYXJkRm9jdXNhYmxlKEtleWJvYXJkRXZlbnQqKSBjb25zdDsKICAgICB2aXJ0dWFsIGJv
b2wgaXNNb3VzZUZvY3VzYWJsZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRVc2VJ
bnB1dE1ldGhvZCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1
c0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3Bw
CmluZGV4IDQxZTlmZmRkNTQ5Njg0NDE2MDYwNjY2NDA0M2E5YWEzYmU1YTQyODQuLjBiOTQxOGJh
MzJiYjljNGM1N2JkNjI1NDU1ZDgyMGJjODlkYzFhMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zv
Y3VzQ29udHJvbGxlci5jcHAKQEAgLTE2Myw3ICsxNjMsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQg
ZGlzcGF0Y2hFdmVudHNPbldpbmRvd0FuZEZvY3VzZWROb2RlKERvY3VtZW50KiBkb2N1bWVudCwg
Ym9vbAogCiBzdGF0aWMgaW5saW5lIGJvb2wgaGFzQ3VzdG9tRm9jdXNMb2dpYyhOb2RlKiBub2Rl
KQogewotICAgIHJldHVybiBub2RlLT5oYXNUYWdOYW1lKGlucHV0VGFnKSB8fCBub2RlLT5oYXNU
YWdOYW1lKHRleHRhcmVhVGFnKSB8fCBub2RlLT5oYXNUYWdOYW1lKHZpZGVvVGFnKSB8fCBub2Rl
LT5oYXNUYWdOYW1lKGF1ZGlvVGFnKTsKKyAgICByZXR1cm4gbm9kZS0+aXNIVE1MRWxlbWVudCgp
ICYmIHRvSFRNTEVsZW1lbnQobm9kZSktPmhhc0N1c3RvbUZvY3VzTG9naWMoKTsKIH0KIAogc3Rh
dGljIGlubGluZSBib29sIGlzTm9uRm9jdXNhYmxlU2hhZG93SG9zdChOb2RlKiBub2RlLCBLZXli
b2FyZEV2ZW50KiBldmVudCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160901</attachid>
            <date>2012-08-27 22:34:47 -0700</date>
            <delta_ts>2012-08-27 22:41:23 -0700</delta_ts>
            <desc>Patch 2</desc>
            <filename>bug-95169-20120828143438.patch</filename>
            <type>text/plain</type>
            <size>9209</size>
            <attacher>yosin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2ODQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTJhODZlZjY4OGQzMmE4
ZTFjZmZlZGQ4YzY4ZGIzYTJiODU5Y2ExNy4uYThlN2RmZWFhMTY3MmJjNDg3YThjYjQ2MWU0ZjI1
MTZmYmY0NDFhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEyLTA4LTI3ICBZb3No
aWZ1bWkgSW5vdWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW1NoYWRvd0RPTV0g
U2hhZG93IGVsZW1lbnRzIGluIHRoZSBpbnB1dCBlbGVtZW50IHNob3VsZCBiZSBmb2N1c2FibGUu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTE2OQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0
Y2ggaW50cm9kdWNlcyBuZXcgdmlydHVhbCBmdW5jdGlvbiBIVE1MRWxlbWVudDo6aGFzQ3VzdG9t
Rm9jdXNMb2dpYygpCisgICAgICAgIHRvIGFsbG93IGlucHV0IHR5cGUgaW1wbGVtZW50YXRpb25z
IHRvIHVzZSBzaGFkb3cgZWxlbWVudCB3aXRoIGZvY3VzCisgICAgICAgIG5hdmlnYXRpb24uCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzLiBUaGlzIHBhdGNoIGRvZXNuJ3QgY2hhbmdlIGJlaGF2aW9y
LgorCisgICAgICAgIChXZWJDb3JlOjpIVE1MRWxlbWVudDo6aGFzQ3VzdG9tRm9jdXNMb2dpYyk6
IEFkZGVkIHRvIHJldHVybiBmYWxzZSBhcworICAgICAgICBkZWZhdWx0IHZhbHVlLgorICAgICAg
ICAqIGh0bWwvSFRNTEVsZW1lbnQuaDoKKyAgICAgICAgKEhUTUxFbGVtZW50KTogQWRkZWQgYSBk
ZWNsYXJhdGlvbiBvZiBoYXNDdXN0b21Gb2N1c0xvZ2ljKCkuCisgICAgICAgICogaHRtbC9IVE1M
SW5wdXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6Omhh
c0N1c3RvbUZvY3VzTG9naWMpOiBBZGRlZCB0byBjYWxsIElucHV0VHlwZTo6aGFzQ3VzdG9tRm9j
dXNMb2dpYygpLAorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5oOgorICAgICAgICAo
SFRNTElucHV0RWxlbWVudCk6IEFkZGVkIGEgZGVjbGFyYXRpb24gb2YgaGFzQ3VzdG9tRm9jdXNM
b2dpYygpLgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpoYXNDdXN0b21Gb2N1c0xvZ2ljKTogQWRkZWQgdG8g
cmV0dXJuIHRydWUgZm9yICJhdWRpbyIgYW5kICJ2aWRlbyIgZWxlbWVudHMuCisgICAgICAgICog
aHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgIChIVE1MTWVkaWFFbGVtZW50KTogQWRk
IGEgZGVjbGFyYXRpb24gb2YgaGFzQ3VzdG9tRm9jdXNMb2dpYygpCisgICAgICAgICogaHRtbC9I
VE1MVGV4dEFyZWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUZXh0QXJlYUVs
ZW1lbnQ6Omhhc0N1c3RvbUZvY3VzTG9naWMpOiBBZGRlZCB0byByZXR1cm4gdHJ1ZS4KKyAgICAg
ICAgKiBodG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaDoKKyAgICAgICAgKEhUTUxUZXh0QXJlYUVs
ZW1lbnQpOiBBZGQgYSBkZWNsYXJhdGlvbiBvZiBoYXNDdXN0b21Gb2N1c0xvZ2ljKCkuCisgICAg
ICAgICogcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aGFzQ3Vz
dG9tRm9jdXNMb2dpYyk6IENoYW5nZWQgdG8gY2FsbCBIVE1MRWxlbWVudDo6aGFzQ3VzdG9tRm9j
dXNMb2dpYygpCisgICAgICAgIHJhdGhlciB0aGFuIGNoZWNraW5nIHRhZyBuYW1lcy4KKyAgICAg
ICAgKiBodG1sL0lucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6Omhh
c0N1c3RvbUZvY3VzTG9naWMpOiBBZGRlZCB0byByZXR1cm4gdHJ1ZSBhcyBkZWZhdWx0IHZhbHVl
LgorICAgICAgICAqIGh0bWwvSW5wdXRUeXBlLmg6CisgICAgICAgIChJbnB1dFR5cGUpOiBBZGRl
ZCBhIGRlY2xhcmF0aW9uIG9mIGhhc0N1c3RvbUZvY3VzTG9naWMoKS4KKwogMjAxMi0wOC0yNyAg
QmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0ODQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQu
Y3BwCmluZGV4IGY2N2FiYzNmZGJmZDhlN2I3MWQ1YTc1MGIwMzdhZTkyMjQwYmE5MDguLjY0MWMw
Yjg5MGIyYWQ3MTMzMTE4MmYzYTZhMDIyNTM4ZmEzYTczNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEVsZW1lbnQuY3BwCkBAIC02MjgsNiArNjI4LDExIEBAIHZvaWQgSFRNTEVsZW1lbnQ6OmFwcGx5
QWxpZ25tZW50QXR0cmlidXRlVG9TdHlsZShjb25zdCBBdHRyaWJ1dGUmIGF0dHJpYnV0ZSwgU3R5
CiAgICAgICAgIGFkZFByb3BlcnR5VG9BdHRyaWJ1dGVTdHlsZShzdHlsZSwgQ1NTUHJvcGVydHlW
ZXJ0aWNhbEFsaWduLCB2ZXJ0aWNhbEFsaWduVmFsdWUpOwogfQogCitib29sIEhUTUxFbGVtZW50
OjpoYXNDdXN0b21Gb2N1c0xvZ2ljKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisK
IGJvb2wgSFRNTEVsZW1lbnQ6OnN1cHBvcnRzRm9jdXMoKSBjb25zdAogewogICAgIHJldHVybiBF
bGVtZW50OjpzdXBwb3J0c0ZvY3VzKCkgfHwgKHJlbmRlcmVySXNFZGl0YWJsZSgpICYmIHBhcmVu
dE5vZGUoKSAmJiAhcGFyZW50Tm9kZSgpLT5yZW5kZXJlcklzRWRpdGFibGUoKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxFbGVtZW50LmgKaW5kZXggNTFmYjA5NmQ0MWUyNzBhMTNjNzNiNDk2YWM0YmY0Mjc0
ZmRiNTVkMy4uM2FkNDA2MzRiYWI1MzAyMjg2MjkwMDQyMzViMzcwY2MxMTkyNDBjMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEVsZW1lbnQuaApAQCAtNjQsNiArNjQsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBpbnNlcnRBZGphY2VudEhUTUwoY29uc3QgU3RyaW5nJiB3aGVyZSwgY29uc3QgU3RyaW5nJiBo
dG1sLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCBpbnNlcnRBZGphY2VudFRleHQoY29uc3Qg
U3RyaW5nJiB3aGVyZSwgY29uc3QgU3RyaW5nJiB0ZXh0LCBFeGNlcHRpb25Db2RlJik7CiAKKyAg
ICB2aXJ0dWFsIGJvb2wgaGFzQ3VzdG9tRm9jdXNMb2dpYygpIGNvbnN0OwogICAgIHZpcnR1YWwg
Ym9vbCBzdXBwb3J0c0ZvY3VzKCkgY29uc3Q7CiAKICAgICBTdHJpbmcgY29udGVudEVkaXRhYmxl
KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAppbmRleCA5
MjRkYjQxOGI2MWRkMTFmZGY0NTEzZDEyZWU3NThmNWU4YThmNjk4Li40NzljOWE1ZDViNzM2ODY3
MTcyZDBlZTM3N2ViYmYzZjIzMzgwZTVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxJbnB1dEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0
RWxlbWVudC5jcHAKQEAgLTMzOCw2ICszMzgsMTIgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50Ojpz
dGVwRG93bihpbnQgbiwgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgbV9pbnB1dFR5cGUtPnN0ZXBV
cCgtbiwgZWMpOwogfQogCisKK2Jvb2wgSFRNTElucHV0RWxlbWVudDo6aGFzQ3VzdG9tRm9jdXNM
b2dpYygpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1faW5wdXRUeXBlLT5oYXNDdXN0b21Gb2N1c0xv
Z2ljKCk7Cit9CisKIGJvb2wgSFRNTElucHV0RWxlbWVudDo6aXNLZXlib2FyZEZvY3VzYWJsZShL
ZXlib2FyZEV2ZW50KiBldmVudCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9pbnB1dFR5cGUtPmlz
S2V5Ym9hcmRGb2N1c2FibGUoZXZlbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1l
bnQuaAppbmRleCA4YTBlNGQ0YjcyYTkyYzY4YTgxOGMyZGMxN2QyNWEyNDY4MjNhZGQ4Li5iNTEy
ZWJkYTczYjNlZTJkYzg3NmU1NGIzZTlmNWJhN2ZkMjUxODMxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxJbnB1dEVsZW1lbnQuaApAQCAtMjk0LDYgKzI5NCw3IEBAIHByaXZhdGU6CiAgICAgdmly
dHVhbCB2b2lkIHJlbW92ZWRGcm9tKENvbnRhaW5lck5vZGUqKSBPVkVSUklERTsKICAgICB2aXJ0
dWFsIHZvaWQgZGlkTW92ZVRvTmV3RG9jdW1lbnQoRG9jdW1lbnQqIG9sZERvY3VtZW50KSBPVkVS
UklERTsKIAorICAgIHZpcnR1YWwgYm9vbCBoYXNDdXN0b21Gb2N1c0xvZ2ljKCkgY29uc3QgT1ZF
UlJJREU7CiAgICAgdmlydHVhbCBib29sIGlzS2V5Ym9hcmRGb2N1c2FibGUoS2V5Ym9hcmRFdmVu
dCopIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBpc01vdXNlRm9jdXNhYmxlKCkgY29uc3Q7CiAg
ICAgdmlydHVhbCBib29sIGlzRW51bWVyYXRhYmxlKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCBkNDYwM2ZkYjUzMTNiODZmNWRlNzZjYmY2NzQ1
YWY1NDFlMTE4NWM3Li5mZjRiOTBhNGZlNTdmZWE0NDU0ZGQ3MjQ2NDQ4Njg0Y2Y0NDFkM2VjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTMzMCw2ICszMzAs
MTEgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpkaWRNb3ZlVG9OZXdEb2N1bWVudChEb2N1bWVu
dCogb2xkRG9jdW1lbnQpCiAgICAgSFRNTEVsZW1lbnQ6OmRpZE1vdmVUb05ld0RvY3VtZW50KG9s
ZERvY3VtZW50KTsKIH0KIAorYm9vbCBIVE1MTWVkaWFFbGVtZW50OjpoYXNDdXN0b21Gb2N1c0xv
Z2ljKCkgY29uc3QKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogYm9vbCBIVE1MTWVkaWFFbGVt
ZW50OjpzdXBwb3J0c0ZvY3VzKCkgY29uc3QKIHsKICAgICBpZiAob3duZXJEb2N1bWVudCgpLT5p
c01lZGlhRG9jdW1lbnQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5k
ZXggMzJiNTQ3ZDMyZmJkM2MwZDU1OTcwMTgzOGJkYmRhNGMxZTNmZWQ5OS4uZjZlMzFlNjg1NTE0
NWIxMmM3MjA3OTg3Y2FkYWYyODM1MDkzMTliMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmgKQEAgLTM1NCw2ICszNTQsNyBAQCBwcm90ZWN0ZWQ6CiBwcml2YXRlOgogICAg
IHZvaWQgY3JlYXRlTWVkaWFQbGF5ZXIoKTsKIAorICAgIHZpcnR1YWwgYm9vbCBoYXNDdXN0b21G
b2N1c0xvZ2ljKCkgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzRm9j
dXMoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgaXNNb3VzZUZvY3VzYWJsZSgpIGNvbnN0Owog
ICAgIHZpcnR1YWwgYm9vbCByZW5kZXJlcklzTmVlZGVkKGNvbnN0IE5vZGVSZW5kZXJpbmdDb250
ZXh0Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcAppbmRl
eCA3MjgyYTVjZWQzNTQ5OTgyNTE2NjNiY2ZiYjlkYTQ0ZTNjYzM3NzBkLi5hNDJhYTc4MzFmMDdj
NTY3ZTQ1MGIzZjNiN2Q4NTdjNzVhOGJlMTZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRleHRBcmVhRWxlbWVudC5jcHAKQEAgLTIxNiw2ICsyMTYsMTEgQEAgdm9pZCBIVE1MVGV4dEFy
ZWFFbGVtZW50OjpyZXNldCgpCiAgICAgc2V0Tm9uRGlydHlWYWx1ZShkZWZhdWx0VmFsdWUoKSk7
CiB9CiAKK2Jvb2wgSFRNTFRleHRBcmVhRWxlbWVudDo6aGFzQ3VzdG9tRm9jdXNMb2dpYygpIGNv
bnN0Cit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIGJvb2wgSFRNTFRleHRBcmVhRWxlbWVudDo6
aXNLZXlib2FyZEZvY3VzYWJsZShLZXlib2FyZEV2ZW50KikgY29uc3QKIHsKICAgICAvLyBJZiBh
IGdpdmVuIHRleHQgYXJlYSBjYW4gYmUgZm9jdXNlZCBhdCBhbGwsIHRoZW4gaXQgd2lsbCBhbHdh
eXMgYmUga2V5Ym9hcmQgZm9jdXNhYmxlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MVGV4dEFyZWFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJl
YUVsZW1lbnQuaAppbmRleCA2ZTJhYTU4Yjk2OGM2ZGRlNzQzMTIwMTQ3NzBlNjQ3MzAwNTQzYzBl
Li5hZTQ2NzhkYTNkNTkwM2ZjODE3YzZiMjJmM2NjYjg2NGJhYTgyNmY5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaApAQCAtMTAyLDYgKzEwMiw3IEBAIHByaXZh
dGU6CiAgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5h
KiwgUmVuZGVyU3R5bGUqKTsKICAgICB2aXJ0dWFsIGJvb2wgYXBwZW5kRm9ybURhdGEoRm9ybURh
dGFMaXN0JiwgYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHJlc2V0KCk7CisgICAgdmlydHVhbCBi
b29sIGhhc0N1c3RvbUZvY3VzTG9naWMoKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJv
b2wgaXNNb3VzZUZvY3VzYWJsZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBpc0tleWJvYXJk
Rm9jdXNhYmxlKEtleWJvYXJkRXZlbnQqKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRl
Rm9jdXNBcHBlYXJhbmNlKGJvb2wgcmVzdG9yZVByZXZpb3VzU2VsZWN0aW9uKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSW5wdXRUeXBlLmNwcAppbmRleCBkYmE5MDJlYmE3ZWNjMjNhYTgwYjZhOTdiMGIwNjQ0ZWZk
YWI5N2Q5Li5kZWJmNmU3ZTg4YTIwMGI3NmI3YmU0NzgxZGJmNmI5NTlkNDMyNzBhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9JbnB1dFR5cGUuY3BwCkBAIC01MTEsNiArNTExLDExIEBAIGJvb2wgSW5wdXRUeXBl
OjpjYW5TZXRTdHJpbmdWYWx1ZSgpIGNvbnN0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wg
SW5wdXRUeXBlOjpoYXNDdXN0b21Gb2N1c0xvZ2ljKCkgY29uc3QKK3sKKyAgICByZXR1cm4gdHJ1
ZTsKK30KKwogYm9vbCBJbnB1dFR5cGU6OmlzS2V5Ym9hcmRGb2N1c2FibGUoS2V5Ym9hcmRFdmVu
dCogZXZlbnQpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGVsZW1lbnQoKS0+aXNUZXh0Rm9ybUNvbnRy
b2xLZXlib2FyZEZvY3VzYWJsZShldmVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0lucHV0VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAppbmRleCA2
MTU5Zjc3OTZmZmFhMDY4YWE5NmIxZDA4MGNmYjliYTMyM2NmNGI4Li5iNTM2OGQxZjJiZjUzYjVj
NDg1MDZhYzQ4N2I3OTA1YWY2MDQyYWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0lucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKQEAgLTIw
MCw2ICsyMDAsNyBAQCBwdWJsaWM6CiAgICAgLy8gSGVscGVycyBmb3IgZXZlbnQgaGFuZGxlcnMu
CiAgICAgdmlydHVhbCBib29sIHNob3VsZFN1Ym1pdEltcGxpY2l0bHkoRXZlbnQqKTsKICAgICB2
aXJ0dWFsIFBhc3NSZWZQdHI8SFRNTEZvcm1FbGVtZW50PiBmb3JtRm9yU3VibWlzc2lvbigpIGNv
bnN0OworICAgIHZpcnR1YWwgYm9vbCBoYXNDdXN0b21Gb2N1c0xvZ2ljKCkgY29uc3Q7CiAgICAg
dmlydHVhbCBib29sIGlzS2V5Ym9hcmRGb2N1c2FibGUoS2V5Ym9hcmRFdmVudCopIGNvbnN0Owog
ICAgIHZpcnR1YWwgYm9vbCBpc01vdXNlRm9jdXNhYmxlKCkgY29uc3Q7CiAgICAgdmlydHVhbCBi
b29sIHNob3VsZFVzZUlucHV0TWV0aG9kKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3Vz
Q29udHJvbGxlci5jcHAKaW5kZXggNDFlOWZmZGQ1NDk2ODQ0MTYwNjA2NjY0MDQzYTlhYTNiZTVh
NDI4NC4uMGI5NDE4YmEzMmJiOWM0YzU3YmQ2MjU0NTVkODIwYmM4OWRjMWEwMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcApAQCAtMTYzLDcgKzE2Myw3IEBAIHN0YXRp
YyBpbmxpbmUgdm9pZCBkaXNwYXRjaEV2ZW50c09uV2luZG93QW5kRm9jdXNlZE5vZGUoRG9jdW1l
bnQqIGRvY3VtZW50LCBib29sCiAKIHN0YXRpYyBpbmxpbmUgYm9vbCBoYXNDdXN0b21Gb2N1c0xv
Z2ljKE5vZGUqIG5vZGUpCiB7Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoaW5wdXRUYWcp
IHx8IG5vZGUtPmhhc1RhZ05hbWUodGV4dGFyZWFUYWcpIHx8IG5vZGUtPmhhc1RhZ05hbWUodmlk
ZW9UYWcpIHx8IG5vZGUtPmhhc1RhZ05hbWUoYXVkaW9UYWcpOworICAgIHJldHVybiBub2RlLT5p
c0hUTUxFbGVtZW50KCkgJiYgdG9IVE1MRWxlbWVudChub2RlKS0+aGFzQ3VzdG9tRm9jdXNMb2dp
YygpOwogfQogCiBzdGF0aWMgaW5saW5lIGJvb2wgaXNOb25Gb2N1c2FibGVTaGFkb3dIb3N0KE5v
ZGUqIG5vZGUsIEtleWJvYXJkRXZlbnQqIGV2ZW50KQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>