<?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>94187</bug_id>
          
          <creation_ts>2012-08-15 22:19:21 -0700</creation_ts>
          <short_desc>Share the StringImpl the CSS property names</short_desc>
          <delta_ts>2012-08-17 14:24:25 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>ap</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>kling</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>696746</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-15 22:19:21 -0700</bug_when>
    <thetext>We allocate one new StringImpl every time we need a CSS property name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>696754</commentid>
    <comment_count>1</comment_count>
      <attachid>158713</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-15 22:41:15 -0700</bug_when>
    <thetext>Created attachment 158713
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>697505</commentid>
    <comment_count>2</comment_count>
      <attachid>158713</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-08-16 14:11:02 -0700</bug_when>
    <thetext>Comment on attachment 158713
Patch

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

&gt; Source/WebCore/css/makeprop.pl:141
&gt; +    static AtomicString* propertyStrings = new AtomicString[numCSSProperties]; // Leaked intentionally.

It&apos;s not &quot;leaked&quot;, it&apos;s just never destroyed.

&gt; Source/WebCore/css/makeprop.pl:153
&gt; +    return String(getPropertyNameAtomicString(id).impl());

Why not AtomicString::string()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>697692</commentid>
    <comment_count>3</comment_count>
      <attachid>158950</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-16 17:03:08 -0700</bug_when>
    <thetext>Created attachment 158950
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>697694</commentid>
    <comment_count>4</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-16 17:03:58 -0700</bug_when>
    <thetext>Addressed Alexey&apos;s comments + added perf numbers.

My microbenchmark: http://jsperf.com/getpropertyname-memory-wasting</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>697700</commentid>
    <comment_count>5</comment_count>
      <attachid>158950</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-08-16 17:08:05 -0700</bug_when>
    <thetext>Comment on attachment 158950
Patch

ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>698654</commentid>
    <comment_count>6</comment_count>
      <attachid>158950</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-17 14:24:21 -0700</bug_when>
    <thetext>Comment on attachment 158950
Patch

Clearing flags on attachment: 158950

Committed r125934: &lt;http://trac.webkit.org/changeset/125934&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>698655</commentid>
    <comment_count>7</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-17 14:24:25 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>158713</attachid>
            <date>2012-08-15 22:41:15 -0700</date>
            <delta_ts>2012-08-16 17:03:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-94187-20120815224041.patch</filename>
            <type>text/plain</type>
            <size>11197</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1NzQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTFlM2JhMzcxMDZlMDMz
ZDQ1MjU4NGYxNDU3MjVmYTI3Y2JlZTg3OS4uODVlODMwZGU3NWQ2OTlhMTdjYTQ3NGE5YTEyYThh
NWFlMjJlY2Y4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTA4LTE1ICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIFNoYXJlIHRoZSBT
dHJpbmdJbXBsIHRoZSBDU1MgcHJvcGVydHkgbmFtZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0MTg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgUHJldmlvdXNseSwgd2Ugd291bGQgaW5zdGFuY2lhdGUg
YSBuZXcgU3RyaW5nIGV2ZXJ5IHRpbWUgYSBDU1MgcHJvcGVydHkgbmFtZSB3YXMgbmVlZGVkLgor
CisgICAgICAgIFRoaXMgcGF0Y2hlcyBtb3ZlcyB0aGUgY3JlYXRpb24gb2YgdGhlIEF0b21pY1N0
cmluZyB0byBDU1NQcm9wZXJ0eU5hbWVzIGFuZCByZXVzZSB0aGF0CisgICAgICAgIFN0cmluZ0lt
cGwgd2hlbmV2ZXIgbmVlZGVkLgorCisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRp
b246OmdldFByb3BlcnR5Q1NTVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ29tcHV0ZWRT
dHlsZURlY2xhcmF0aW9uOjppdGVtKToKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6dmFsdWVPclByb3BlcnR5TmFtZSk6CisgICAgICAgICog
Y3NzL0NTU1Byb3BlcnR5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5Ojpjc3NO
YW1lKToKKyAgICAgICAgKiBjc3MvUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlByb3BlcnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbjo6aXRlbSk6
CisgICAgICAgIChXZWJDb3JlOjpQcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb246OmdldFBy
b3BlcnR5U2hvcnRoYW5kKToKKyAgICAgICAgKiBjc3MvbWFrZXByb3AucGw6CisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3RvckNTU0FnZW50OjpnZXRTdXBwb3J0ZWRDU1NQcm9wZXJ0aWVzKToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JTdHlsZTo6c3R5bGVXaXRoUHJvcGVydGllcyk6CisgICAgICAgICogcGFnZS9hbmltYXRpb24v
SW1wbGljaXRBbmltYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1wbGljaXRBbmltYXRp
b246OnNlbmRUcmFuc2l0aW9uRXZlbnQpOgorCiAyMDEyLTA4LTE1ICBBZGFtIEJhcnRoICA8YWJh
cnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVm9pZENhbGxiYWNrIHNob3VsZCBub3QgYmUgYSBz
cGVjaWFsIHNub3dmbGFrZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1
dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRT
dHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCBhNzhkMWZjMTBhZjk3OWJmYjE2NDBiZmFkZDA3YjIx
YmYxOTE1N2VhLi4zOTNkODdmZDM4NjJhN2E0NDJkNWI5OThkZGZlZjI0YjIxMDVhMzA5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNw
cApAQCAtMjM0Niw3ICsyMzQ2LDcgQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTQ29tcHV0ZWRT
dHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnQKICAgICAgICAg
ICAgICAgICAgICAgZWxzZSBpZiAoYW5pbWF0aW9uLT5hbmltYXRpb25Nb2RlKCkgPT0gQW5pbWF0
aW9uOjpBbmltYXRlQWxsKQogICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlWYWx1ZSA9
IGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZUFsbCk7CiAgICAg
ICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5VmFs
dWUgPSBjc3NWYWx1ZVBvb2woKS5jcmVhdGVWYWx1ZShnZXRQcm9wZXJ0eU5hbWUoYW5pbWF0aW9u
LT5wcm9wZXJ0eSgpKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TVFJJTkcpOworICAgICAgICAg
ICAgICAgICAgICAgICAgcHJvcGVydHlWYWx1ZSA9IGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZVZhbHVl
KGdldFByb3BlcnR5TmFtZVN0cmluZyhhbmltYXRpb24tPnByb3BlcnR5KCkpLCBDU1NQcmltaXRp
dmVWYWx1ZTo6Q1NTX1NUUklORyk7CiAgICAgICAgICAgICAgICAgICAgIGxpc3QtPmFwcGVuZChw
cm9wZXJ0eVZhbHVlKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9IGVsc2UKQEAg
LTI2MjIsNyArMjYyMiw3IEBAIFN0cmluZyBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246Oml0
ZW0odW5zaWduZWQgaSkgY29uc3QKICAgICBpZiAoaSA+PSBsZW5ndGgoKSkKICAgICAgICAgcmV0
dXJuICIiOwogCi0gICAgcmV0dXJuIGdldFByb3BlcnR5TmFtZShjb21wdXRlZFByb3BlcnRpZXNb
aV0pOworICAgIHJldHVybiBnZXRQcm9wZXJ0eU5hbWVTdHJpbmcoY29tcHV0ZWRQcm9wZXJ0aWVz
W2ldKTsKIH0KIAogYm9vbCBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmNzc1Byb3BlcnR5
TWF0Y2hlcyhjb25zdCBDU1NQcm9wZXJ0eSogcHJvcGVydHkpIGNvbnN0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAppbmRleCA2NWNhODA0MjdjNmJlNTQyMzY0YjI1ZDM1
ZTI3MTg5NDE4MzdiOWViLi5hMWVmYTgxNjlmYTQ2NmI3ZTdiOGFhMWU2ODE3Y2VmN2Q0ZDg1MjZl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAKQEAgLTIwNywxNSAr
MjA3LDcgQEAgc3RhdGljIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWVPclByb3BlcnR5TmFtZShp
bnQgdmFsdWVPclByb3BlcnR5SUQpCiAgICAgICAgIHJldHVybiBrZXl3b3JkU3RyaW5nOwogICAg
IH0KIAotICAgIGlmICh2YWx1ZU9yUHJvcGVydHlJRCA+PSBmaXJzdENTU1Byb3BlcnR5ICYmIHZh
bHVlT3JQcm9wZXJ0eUlEIDwgZmlyc3RDU1NQcm9wZXJ0eSArIG51bUNTU1Byb3BlcnRpZXMpIHsK
LSAgICAgICAgc3RhdGljIEF0b21pY1N0cmluZyogcHJvcGVydHlTdHJpbmdzID0gbmV3IEF0b21p
Y1N0cmluZ1tudW1DU1NQcm9wZXJ0aWVzXTsgLy8gTGVha2VkIGludGVudGlvbmFsbHkuCi0gICAg
ICAgIEF0b21pY1N0cmluZyYgcHJvcGVydHlTdHJpbmcgPSBwcm9wZXJ0eVN0cmluZ3NbdmFsdWVP
clByb3BlcnR5SUQgLSBmaXJzdENTU1Byb3BlcnR5XTsKLSAgICAgICAgaWYgKHByb3BlcnR5U3Ry
aW5nLmlzTnVsbCgpKQotICAgICAgICAgICAgcHJvcGVydHlTdHJpbmcgPSBnZXRQcm9wZXJ0eU5h
bWUoc3RhdGljX2Nhc3Q8Q1NTUHJvcGVydHlJRD4odmFsdWVPclByb3BlcnR5SUQpKTsKLSAgICAg
ICAgcmV0dXJuIHByb3BlcnR5U3RyaW5nOwotICAgIH0KLQotICAgIHJldHVybiBudWxsQXRvbTsK
KyAgICByZXR1cm4gZ2V0UHJvcGVydHlOYW1lQXRvbWljU3RyaW5nKHN0YXRpY19jYXN0PENTU1By
b3BlcnR5SUQ+KHZhbHVlT3JQcm9wZXJ0eUlEKSk7CiB9CiAKIENTU1ByaW1pdGl2ZVZhbHVlOjpD
U1NQcmltaXRpdmVWYWx1ZShpbnQgaWRlbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUHJvcGVydHkuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcApp
bmRleCBmNDhlOWYwNDViNThjMzAwY2I0YjVlNjFlODIxYzk5NGJkZmJmMDE2Li40N2ZhNjcwMzhm
NjJhZWQ3ZDhkZDQ3YTMyZTBhNGEyYjVlMzQ0ZTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUHJvcGVydHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0
eS5jcHAKQEAgLTQ4LDcgKzQ4LDcgQEAgU3RyaW5nIENTU1Byb3BlcnR5Ojpjc3NOYW1lKCkgY29u
c3QKICAgICAgICAgcmV0dXJuICItd2Via2l0LXZhci0iICsgc3RhdGljX2Nhc3Q8Q1NTVmFyaWFi
bGVWYWx1ZSo+KHZhbHVlKCkpLT5uYW1lKCk7CiAgICAgfQogI2VuZGlmCi0gICAgcmV0dXJuIFN0
cmluZyhnZXRQcm9wZXJ0eU5hbWUoaWQoKSkpOworICAgIHJldHVybiBnZXRQcm9wZXJ0eU5hbWVT
dHJpbmcoaWQoKSk7CiB9CiAKIFN0cmluZyBDU1NQcm9wZXJ0eTo6Y3NzVGV4dCgpIGNvbnN0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Qcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRp
b24uY3BwCmluZGV4IDBjNTU1ODA0ZWViYjRjM2JlNTFkMTU0MThmNDU1MzBmNmU3ZjA0OTcuLjI3
YTU3MmFlNzU2YWFiMWY2YzVmOGIzMWFlOTI4NzgyZmJmMzAzMTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9Qcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9Qcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0x
NDgsNyArMTQ4LDcgQEAgU3RyaW5nIFByb3BlcnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbjo6aXRl
bSh1bnNpZ25lZCBpKSBjb25zdAogewogICAgIGlmIChpID49IG1fcHJvcGVydHlTZXQtPnByb3Bl
cnR5Q291bnQoKSkKICAgICAgICAgcmV0dXJuICIiOwotICAgIHJldHVybiBnZXRQcm9wZXJ0eU5h
bWUobV9wcm9wZXJ0eVNldC0+cHJvcGVydHlBdChpKS5pZCgpKTsKKyAgICByZXR1cm4gZ2V0UHJv
cGVydHlOYW1lU3RyaW5nKG1fcHJvcGVydHlTZXQtPnByb3BlcnR5QXQoaSkuaWQoKSk7CiB9CiAK
IFN0cmluZyBQcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb246OmNzc1RleHQoKSBjb25zdApA
QCAtMjA2LDcgKzIwNiw3IEBAIFN0cmluZyBQcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb246
OmdldFByb3BlcnR5U2hvcnRoYW5kKGNvbnN0IFN0cmluZyYgcHJvcGVyCiAgICAgQ1NTUHJvcGVy
dHlJRCBzaG9ydGhhbmRJRCA9IG1fcHJvcGVydHlTZXQtPmdldFByb3BlcnR5U2hvcnRoYW5kKHBy
b3BlcnR5SUQpOwogICAgIGlmICghc2hvcnRoYW5kSUQpCiAgICAgICAgIHJldHVybiBTdHJpbmco
KTsKLSAgICByZXR1cm4gZ2V0UHJvcGVydHlOYW1lKHNob3J0aGFuZElEKTsKKyAgICByZXR1cm4g
Z2V0UHJvcGVydHlOYW1lU3RyaW5nKHNob3J0aGFuZElEKTsKIH0KIAogYm9vbCBQcm9wZXJ0eVNl
dENTU1N0eWxlRGVjbGFyYXRpb246OmlzUHJvcGVydHlJbXBsaWNpdChjb25zdCBTdHJpbmcmIHBy
b3BlcnR5TmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9tYWtlcHJvcC5wbCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9tYWtlcHJvcC5wbAppbmRleCAxOWY5YTRjNTE5YTRhM2NlMjMy
Mjc1YTVkMmY5NTk3ZjQ2NzU4ZTY1Li5hZGYwYzhkM2UzZDZjMjY5ZWQxZWY3MjliNTU1Y2NkYzBk
OWI1ZDBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvbWFrZXByb3AucGwKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBsCkBAIC03MCw2ICs3MCw3IEBAIHByaW50IEdQ
RVJGIDw8ICJFT0YiOwogI2luY2x1ZGUgPHN0cmluZy5oPgogCiAjaW5jbHVkZSA8d3RmL0FTQ0lJ
Q1R5cGUuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMTI5LDcgKzEz
MCwzMCBAQCBjb25zdCBjaGFyKiBnZXRQcm9wZXJ0eU5hbWUoQ1NTUHJvcGVydHlJRCBpZCkKICAg
ICByZXR1cm4gcHJvcGVydHlOYW1lU3RyaW5nc1tpbmRleF07CiB9CiAKLVdURjo6U3RyaW5nIGdl
dEpTUHJvcGVydHlOYW1lKENTU1Byb3BlcnR5SUQgaWQpCitjb25zdCBBdG9taWNTdHJpbmcmIGdl
dFByb3BlcnR5TmFtZUF0b21pY1N0cmluZyhDU1NQcm9wZXJ0eUlEIGlkKQoreworICAgIGlmIChp
ZCA8IGZpcnN0Q1NTUHJvcGVydHkpCisgICAgICAgIHJldHVybiBudWxsQXRvbTsKKyAgICBpbnQg
aW5kZXggPSBpZCAtIGZpcnN0Q1NTUHJvcGVydHk7CisgICAgaWYgKGluZGV4ID49IG51bUNTU1By
b3BlcnRpZXMpCisgICAgICAgIHJldHVybiBudWxsQXRvbTsKKworICAgIHN0YXRpYyBBdG9taWNT
dHJpbmcqIHByb3BlcnR5U3RyaW5ncyA9IG5ldyBBdG9taWNTdHJpbmdbbnVtQ1NTUHJvcGVydGll
c107IC8vIExlYWtlZCBpbnRlbnRpb25hbGx5LgorICAgIEF0b21pY1N0cmluZyYgcHJvcGVydHlT
dHJpbmcgPSBwcm9wZXJ0eVN0cmluZ3NbaW5kZXhdOworICAgIGlmIChwcm9wZXJ0eVN0cmluZy5p
c051bGwoKSkgeworICAgICAgICBjb25zdCBjaGFyKiBwcm9wZXJ0eU5hbWUgPSBwcm9wZXJ0eU5h
bWVTdHJpbmdzW2luZGV4XTsKKyAgICAgICAgcHJvcGVydHlTdHJpbmcgPSBBdG9taWNTdHJpbmco
cHJvcGVydHlOYW1lLCBzdHJsZW4ocHJvcGVydHlOYW1lKSwgQXRvbWljU3RyaW5nOjpDb25zdHJ1
Y3RGcm9tTGl0ZXJhbCk7CisgICAgfQorICAgIHJldHVybiBwcm9wZXJ0eVN0cmluZzsKK30KKwor
U3RyaW5nIGdldFByb3BlcnR5TmFtZVN0cmluZyhDU1NQcm9wZXJ0eUlEIGlkKQoreworICAgIC8v
IFdlIHNoYXJlIHRoZSBTdHJpbmdJbXBsIHdpdGggdGhlIEF0b21pY1N0cmluZ3MuCisgICAgcmV0
dXJuIFN0cmluZyhnZXRQcm9wZXJ0eU5hbWVBdG9taWNTdHJpbmcoaWQpLmltcGwoKSk7Cit9CisK
K1N0cmluZyBnZXRKU1Byb3BlcnR5TmFtZShDU1NQcm9wZXJ0eUlEIGlkKQogewogICAgIGNoYXIg
cmVzdWx0W21heENTU1Byb3BlcnR5TmFtZUxlbmd0aCArIDFdOwogICAgIGNvbnN0IGNoYXIqIGNz
c1Byb3BlcnR5TmFtZSA9IGdldFByb3BlcnR5TmFtZShpZCk7CkBAIC0xNjYsNiArMTkwLDcgQEAg
cHJpbnQgSEVBREVSIDw8ICJFT0YiOwogI2luY2x1ZGUgPHd0Zi9IYXNoVHJhaXRzLmg+CiAKIG5h
bWVzcGFjZSBXVEYgeworY2xhc3MgQXRvbWljU3RyaW5nOwogY2xhc3MgU3RyaW5nOwogfQogCkBA
IC0yMDIsNiArMjI3LDggQEAgcHJpbnQgSEVBREVSICJjb25zdCBzaXplX3QgbWF4Q1NTUHJvcGVy
dHlOYW1lTGVuZ3RoID0gJG1heExlbjtcbiI7CiBwcmludCBIRUFERVIgPDwgIkVPRiI7CiAKIGNv
bnN0IGNoYXIqIGdldFByb3BlcnR5TmFtZShDU1NQcm9wZXJ0eUlEKTsKK2NvbnN0IFdURjo6QXRv
bWljU3RyaW5nJiBnZXRQcm9wZXJ0eU5hbWVBdG9taWNTdHJpbmcoQ1NTUHJvcGVydHlJRCBpZCk7
CitXVEY6OlN0cmluZyBnZXRQcm9wZXJ0eU5hbWVTdHJpbmcoQ1NTUHJvcGVydHlJRCBpZCk7CiBX
VEY6OlN0cmluZyBnZXRKU1Byb3BlcnR5TmFtZShDU1NQcm9wZXJ0eUlEKTsKIAogaW5saW5lIENT
U1Byb3BlcnR5SUQgY29udmVydFRvQ1NTUHJvcGVydHlJRChpbnQgdmFsdWUpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcAppbmRleCA1NzY4OGJiMzEz
YzU0MTM5NjQ1NWNiMTE1NzlhZDY5YWMxYjIzM2JmLi45ZDYyNjk4ZGU1YzhiZjE0ODQ4ODkyYTU4
MTgwNjc4YjFmZmIzNDEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQ1NTQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JDU1NBZ2VudC5jcHAKQEAgLTc4Myw3ICs3ODMsNyBAQCB2b2lkIEluc3BlY3RvckNTU0FnZW50
OjpnZXRTdXBwb3J0ZWRDU1NQcm9wZXJ0aWVzKEVycm9yU3RyaW5nKiwgUmVmUHRyPFR5cGVCdWls
ZAogICAgIGZvciAoaW50IGkgPSBmaXJzdENTU1Byb3BlcnR5OyBpIDw9IGxhc3RDU1NQcm9wZXJ0
eTsgKytpKSB7CiAgICAgICAgIENTU1Byb3BlcnR5SUQgaWQgPSBjb252ZXJ0VG9DU1NQcm9wZXJ0
eUlEKGkpOwogICAgICAgICBSZWZQdHI8VHlwZUJ1aWxkZXI6OkNTUzo6Q1NTUHJvcGVydHlJbmZv
PiBwcm9wZXJ0eSA9IFR5cGVCdWlsZGVyOjpDU1M6OkNTU1Byb3BlcnR5SW5mbzo6Y3JlYXRlKCkK
LSAgICAgICAgICAgIC5zZXROYW1lKGdldFByb3BlcnR5TmFtZShpZCkpOworICAgICAgICAgICAg
LnNldE5hbWUoZ2V0UHJvcGVydHlOYW1lU3RyaW5nKGlkKSk7CiAKICAgICAgICAgY29uc3QgU3R5
bGVQcm9wZXJ0eVNob3J0aGFuZCYgc2hvcnRoYW5kID0gc2hvcnRoYW5kRm9yUHJvcGVydHkoaWQp
OwogICAgICAgICBpZiAoIXNob3J0aGFuZC5sZW5ndGgoKSkgewpAQCAtNzkzLDcgKzc5Myw3IEBA
IHZvaWQgSW5zcGVjdG9yQ1NTQWdlbnQ6OmdldFN1cHBvcnRlZENTU1Byb3BlcnRpZXMoRXJyb3JT
dHJpbmcqLCBSZWZQdHI8VHlwZUJ1aWxkCiAgICAgICAgIFJlZlB0cjxUeXBlQnVpbGRlcjo6QXJy
YXk8U3RyaW5nPiA+IGxvbmdoYW5kcyA9IFR5cGVCdWlsZGVyOjpBcnJheTxTdHJpbmc+OjpjcmVh
dGUoKTsKICAgICAgICAgZm9yICh1bnNpZ25lZCBqID0gMDsgaiA8IHNob3J0aGFuZC5sZW5ndGgo
KTsgKytqKSB7CiAgICAgICAgICAgICBDU1NQcm9wZXJ0eUlEIGxvbmdoYW5kSUQgPSBzaG9ydGhh
bmQucHJvcGVydGllcygpW2pdOwotICAgICAgICAgICAgbG9uZ2hhbmRzLT5hZGRJdGVtKGdldFBy
b3BlcnR5TmFtZShsb25naGFuZElEKSk7CisgICAgICAgICAgICBsb25naGFuZHMtPmFkZEl0ZW0o
Z2V0UHJvcGVydHlOYW1lU3RyaW5nKGxvbmdoYW5kSUQpKTsKICAgICAgICAgfQogICAgICAgICBw
cm9wZXJ0eS0+c2V0TG9uZ2hhbmRzKGxvbmdoYW5kcyk7CiAgICAgICAgIHByb3BlcnRpZXMtPmFk
ZEl0ZW0ocHJvcGVydHkucmVsZWFzZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JTdHlsZVNoZWV0LmNwcAppbmRleCA2YTNkZTA5NmMyZDEzZTVhNDZiZTAyZDI2
ZDQzZDVkNmFlYzE5N2QwLi5mYmJlNTQwZmZhM2EyOTAyMzI4MjZjNDI4ZDhmNjBmOGFiZjAxODgy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVl
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlU2hlZXQu
Y3BwCkBAIC01MjgsNyArNTI4LDcgQEAgUGFzc1JlZlB0cjxUeXBlQnVpbGRlcjo6Q1NTOjpDU1NT
dHlsZT4gSW5zcGVjdG9yU3R5bGU6OnN0eWxlV2l0aFByb3BlcnRpZXMoKSBjb24KICAgICAgICAg
ICAgICAgICBib29sIHNob3VsZEluYWN0aXZhdGUgPSBmYWxzZTsKICAgICAgICAgICAgICAgICBD
U1NQcm9wZXJ0eUlEIHByb3BlcnR5SWQgPSBjc3NQcm9wZXJ0eUlEKG5hbWUpOwogICAgICAgICAg
ICAgICAgIC8vIENhbm9uaWNhbGl6ZSBwcm9wZXJ0eSBuYW1lcyB0byB0cmVhdCBub24tcHJlZml4
ZWQgYW5kIHZlbmRvci1wcmVmaXhlZCBwcm9wZXJ0eSBuYW1lcyB0aGUgc2FtZSAob3BhY2l0eSB2
cy4gLXdlYmtpdC1vcGFjaXR5KS4KLSAgICAgICAgICAgICAgICBTdHJpbmcgY2Fub25pY2FsUHJv
cGVydHlOYW1lID0gcHJvcGVydHlJZCA/IFN0cmluZyhnZXRQcm9wZXJ0eU5hbWUocHJvcGVydHlJ
ZCkpIDogbmFtZTsKKyAgICAgICAgICAgICAgICBTdHJpbmcgY2Fub25pY2FsUHJvcGVydHlOYW1l
ID0gcHJvcGVydHlJZCA/IGdldFByb3BlcnR5TmFtZVN0cmluZyhwcm9wZXJ0eUlkKSA6IG5hbWU7
CiAgICAgICAgICAgICAgICAgSGFzaE1hcDxTdHJpbmcsIFJlZlB0cjxUeXBlQnVpbGRlcjo6Q1NT
OjpDU1NQcm9wZXJ0eT4gPjo6aXRlcmF0b3IgYWN0aXZlSXQgPSBwcm9wZXJ0eU5hbWVUb1ByZXZp
b3VzQWN0aXZlUHJvcGVydHkuZmluZChjYW5vbmljYWxQcm9wZXJ0eU5hbWUpOwogICAgICAgICAg
ICAgICAgIGlmIChhY3RpdmVJdCAhPSBwcm9wZXJ0eU5hbWVUb1ByZXZpb3VzQWN0aXZlUHJvcGVy
dHkuZW5kKCkpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKHByb3BlcnR5RW50cnkucGFyc2Vk
T2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9JbXBsaWNpdEFu
aW1hdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9JbXBsaWNpdEFuaW1h
dGlvbi5jcHAKaW5kZXggZjcxYTE1MzZmNmExZTUwNjY3MGE4YTE1NGI3NDc2NmQ1OGQzOTFlYS4u
NDk3Y2EzZjU0ODc4NjBhODFlMjAzZWE4YTYxNTJlNDQ1MjBkYmYyNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vSW1wbGljaXRBbmltYXRpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0ltcGxpY2l0QW5pbWF0aW9uLmNwcApAQCAtMTYx
LDcgKzE2MSw3IEBAIGJvb2wgSW1wbGljaXRBbmltYXRpb246OnNlbmRUcmFuc2l0aW9uRXZlbnQo
Y29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGRvdWJsCiAgICAgICAgIERvY3VtZW50OjpM
aXN0ZW5lclR5cGUgbGlzdGVuZXJUeXBlID0gRG9jdW1lbnQ6OlRSQU5TSVRJT05FTkRfTElTVEVO
RVI7CiAKICAgICAgICAgaWYgKHNob3VsZFNlbmRFdmVudEZvckxpc3RlbmVyKGxpc3RlbmVyVHlw
ZSkpIHsKLSAgICAgICAgICAgIFN0cmluZyBwcm9wZXJ0eU5hbWUgPSBnZXRQcm9wZXJ0eU5hbWUo
bV9hbmltYXRpbmdQcm9wZXJ0eSk7CisgICAgICAgICAgICBTdHJpbmcgcHJvcGVydHlOYW1lID0g
Z2V0UHJvcGVydHlOYW1lU3RyaW5nKG1fYW5pbWF0aW5nUHJvcGVydHkpOwogICAgICAgICAgICAg
ICAgIAogICAgICAgICAgICAgLy8gRGlzcGF0Y2ggdGhlIGV2ZW50CiAgICAgICAgICAgICBSZWZQ
dHI8RWxlbWVudD4gZWxlbWVudCA9IDA7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>158950</attachid>
            <date>2012-08-16 17:03:08 -0700</date>
            <delta_ts>2012-08-17 14:24:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-94187-20120816170233.patch</filename>
            <type>text/plain</type>
            <size>11335</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1ODI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2E0MjYyM2Y0NGQxNmQw
YTdhMzQyMzUwOTlhYTM2MzE2YzNkZDVlNC4uOGYzN2JlMDA3NzUyMmQzOGE0YzgwZjc2OTRkMzYw
MzdhNzhkNzEzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEyLTA4LTE2ICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIFNoYXJlIHRoZSBT
dHJpbmdJbXBsIHRoZSBDU1MgcHJvcGVydHkgbmFtZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0MTg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgUHJldmlvdXNseSwgd2Ugd291bGQgaW5zdGFuY2lhdGUg
YSBuZXcgU3RyaW5nIGV2ZXJ5IHRpbWUgYSBDU1MgcHJvcGVydHkgbmFtZSB3YXMgbmVlZGVkLgor
CisgICAgICAgIFRoaXMgcGF0Y2hlcyBtb3ZlcyB0aGUgY3JlYXRpb24gb2YgdGhlIEF0b21pY1N0
cmluZyB0byBDU1NQcm9wZXJ0eU5hbWVzIGFuZCByZXVzZSB0aGF0CisgICAgICAgIFN0cmluZ0lt
cGwgd2hlbmV2ZXIgbmVlZGVkLgorCisgICAgICAgIFdpdGggdGhlIHBhdGNoLCBhY2Nlc3Npbmcg
Q1NTIHByb3BlcnR5IG5hbWVzIGZyb20gSmF2YVNjcmlwdCBnZXRzIGFib3V0IDIuMSB0aW1lcyBm
YXN0ZXIuCisKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVy
dHlDU1NWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRp
b246Oml0ZW0pOgorICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjp2YWx1ZU9yUHJvcGVydHlOYW1lKToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVy
dHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHk6OmNzc05hbWUpOgorICAgICAg
ICAqIGNzcy9Qcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uOjppdGVtKToKKyAgICAgICAgKFdl
YkNvcmU6OlByb3BlcnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlTaG9ydGhh
bmQpOgorICAgICAgICAqIGNzcy9tYWtlcHJvcC5wbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5z
cGVjdG9yQ1NTQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ1NTQWdlbnQ6
OmdldFN1cHBvcnRlZENTU1Byb3BlcnRpZXMpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0
b3JTdHlsZVNoZWV0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclN0eWxlOjpzdHls
ZVdpdGhQcm9wZXJ0aWVzKToKKyAgICAgICAgKiBwYWdlL2FuaW1hdGlvbi9JbXBsaWNpdEFuaW1h
dGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbXBsaWNpdEFuaW1hdGlvbjo6c2VuZFRyYW5z
aXRpb25FdmVudCk6CisKIDIwMTItMDgtMTYgIEphbWVzIFJvYmluc29uICA8amFtZXNyQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIFJlbW92ZSB1bm5lY2Vzc2FyeSB0cmVlIGhp
ZXJhcmNoeSBpbnNwZWN0aW9uIEFQSXMgZnJvbSBXZWJMYXllcgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCBhODNkN2NmNmUw
NjJmMjU5MDJkM2M3OTc0Yjk4MGYzYjZkYjI3MGI1Li4wYjVmMmRmNjc5NWVjOWU5MGY2MTQ5ZTg2
Y2MzZGMyN2Q5ZTRmMmYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0
ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0
ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMjM1NSw3ICsyMzU1LDcgQEAgUGFzc1JlZlB0cjxD
U1NWYWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVl
KENTU1Byb3BlcnQKICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoYW5pbWF0aW9uLT5hbmlt
YXRpb25Nb2RlKCkgPT0gQW5pbWF0aW9uOjpBbmltYXRlQWxsKQogICAgICAgICAgICAgICAgICAg
ICAgICAgcHJvcGVydHlWYWx1ZSA9IGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1
ZShDU1NWYWx1ZUFsbCk7CiAgICAgICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHByb3BlcnR5VmFsdWUgPSBjc3NWYWx1ZVBvb2woKS5jcmVhdGVWYWx1ZShnZXRQ
cm9wZXJ0eU5hbWUoYW5pbWF0aW9uLT5wcm9wZXJ0eSgpKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNT
U19TVFJJTkcpOworICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlWYWx1ZSA9IGNzc1Zh
bHVlUG9vbCgpLmNyZWF0ZVZhbHVlKGdldFByb3BlcnR5TmFtZVN0cmluZyhhbmltYXRpb24tPnBy
b3BlcnR5KCkpLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1NUUklORyk7CiAgICAgICAgICAgICAg
ICAgICAgIGxpc3QtPmFwcGVuZChwcm9wZXJ0eVZhbHVlKTsKICAgICAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICB9IGVsc2UKQEAgLTI2MzEsNyArMjYzMSw3IEBAIFN0cmluZyBDU1NDb21wdXRl
ZFN0eWxlRGVjbGFyYXRpb246Oml0ZW0odW5zaWduZWQgaSkgY29uc3QKICAgICBpZiAoaSA+PSBs
ZW5ndGgoKSkKICAgICAgICAgcmV0dXJuICIiOwogCi0gICAgcmV0dXJuIGdldFByb3BlcnR5TmFt
ZShjb21wdXRlZFByb3BlcnRpZXNbaV0pOworICAgIHJldHVybiBnZXRQcm9wZXJ0eU5hbWVTdHJp
bmcoY29tcHV0ZWRQcm9wZXJ0aWVzW2ldKTsKIH0KIAogYm9vbCBDU1NDb21wdXRlZFN0eWxlRGVj
bGFyYXRpb246OmNzc1Byb3BlcnR5TWF0Y2hlcyhjb25zdCBDU1NQcm9wZXJ0eSogcHJvcGVydHkp
IGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAppbmRleCA2NWNh
ODA0MjdjNmJlNTQyMzY0YjI1ZDM1ZTI3MTg5NDE4MzdiOWViLi5hMWVmYTgxNjlmYTQ2NmI3ZTdi
OGFhMWU2ODE3Y2VmN2Q0ZDg1MjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJpbWl0aXZlVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVW
YWx1ZS5jcHAKQEAgLTIwNywxNSArMjA3LDcgQEAgc3RhdGljIGNvbnN0IEF0b21pY1N0cmluZyYg
dmFsdWVPclByb3BlcnR5TmFtZShpbnQgdmFsdWVPclByb3BlcnR5SUQpCiAgICAgICAgIHJldHVy
biBrZXl3b3JkU3RyaW5nOwogICAgIH0KIAotICAgIGlmICh2YWx1ZU9yUHJvcGVydHlJRCA+PSBm
aXJzdENTU1Byb3BlcnR5ICYmIHZhbHVlT3JQcm9wZXJ0eUlEIDwgZmlyc3RDU1NQcm9wZXJ0eSAr
IG51bUNTU1Byb3BlcnRpZXMpIHsKLSAgICAgICAgc3RhdGljIEF0b21pY1N0cmluZyogcHJvcGVy
dHlTdHJpbmdzID0gbmV3IEF0b21pY1N0cmluZ1tudW1DU1NQcm9wZXJ0aWVzXTsgLy8gTGVha2Vk
IGludGVudGlvbmFsbHkuCi0gICAgICAgIEF0b21pY1N0cmluZyYgcHJvcGVydHlTdHJpbmcgPSBw
cm9wZXJ0eVN0cmluZ3NbdmFsdWVPclByb3BlcnR5SUQgLSBmaXJzdENTU1Byb3BlcnR5XTsKLSAg
ICAgICAgaWYgKHByb3BlcnR5U3RyaW5nLmlzTnVsbCgpKQotICAgICAgICAgICAgcHJvcGVydHlT
dHJpbmcgPSBnZXRQcm9wZXJ0eU5hbWUoc3RhdGljX2Nhc3Q8Q1NTUHJvcGVydHlJRD4odmFsdWVP
clByb3BlcnR5SUQpKTsKLSAgICAgICAgcmV0dXJuIHByb3BlcnR5U3RyaW5nOwotICAgIH0KLQot
ICAgIHJldHVybiBudWxsQXRvbTsKKyAgICByZXR1cm4gZ2V0UHJvcGVydHlOYW1lQXRvbWljU3Ry
aW5nKHN0YXRpY19jYXN0PENTU1Byb3BlcnR5SUQ+KHZhbHVlT3JQcm9wZXJ0eUlEKSk7CiB9CiAK
IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShpbnQgaWRlbnQpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1Byb3BlcnR5LmNwcAppbmRleCBmNDhlOWYwNDViNThjMzAwY2I0YjVlNjFlODIxYzk5
NGJkZmJmMDE2Li40N2ZhNjcwMzhmNjJhZWQ3ZDhkZDQ3YTMyZTBhNGEyYjVlMzQ0ZTRmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKQEAgLTQ4LDcgKzQ4LDcgQEAgU3RyaW5nIENTU1By
b3BlcnR5Ojpjc3NOYW1lKCkgY29uc3QKICAgICAgICAgcmV0dXJuICItd2Via2l0LXZhci0iICsg
c3RhdGljX2Nhc3Q8Q1NTVmFyaWFibGVWYWx1ZSo+KHZhbHVlKCkpLT5uYW1lKCk7CiAgICAgfQog
I2VuZGlmCi0gICAgcmV0dXJuIFN0cmluZyhnZXRQcm9wZXJ0eU5hbWUoaWQoKSkpOworICAgIHJl
dHVybiBnZXRQcm9wZXJ0eU5hbWVTdHJpbmcoaWQoKSk7CiB9CiAKIFN0cmluZyBDU1NQcm9wZXJ0
eTo6Y3NzVGV4dCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvUHJvcGVy
dHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Qcm9wZXJ0
eVNldENTU1N0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IDBjNTU1ODA0ZWViYjRjM2JlNTFkMTU0
MThmNDU1MzBmNmU3ZjA0OTcuLjI3YTU3MmFlNzU2YWFiMWY2YzVmOGIzMWFlOTI4NzgyZmJmMzAz
MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Qcm9wZXJ0eVNldENTU1N0eWxlRGVj
bGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Qcm9wZXJ0eVNldENTU1N0eWxl
RGVjbGFyYXRpb24uY3BwCkBAIC0xNDgsNyArMTQ4LDcgQEAgU3RyaW5nIFByb3BlcnR5U2V0Q1NT
U3R5bGVEZWNsYXJhdGlvbjo6aXRlbSh1bnNpZ25lZCBpKSBjb25zdAogewogICAgIGlmIChpID49
IG1fcHJvcGVydHlTZXQtPnByb3BlcnR5Q291bnQoKSkKICAgICAgICAgcmV0dXJuICIiOwotICAg
IHJldHVybiBnZXRQcm9wZXJ0eU5hbWUobV9wcm9wZXJ0eVNldC0+cHJvcGVydHlBdChpKS5pZCgp
KTsKKyAgICByZXR1cm4gZ2V0UHJvcGVydHlOYW1lU3RyaW5nKG1fcHJvcGVydHlTZXQtPnByb3Bl
cnR5QXQoaSkuaWQoKSk7CiB9CiAKIFN0cmluZyBQcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRp
b246OmNzc1RleHQoKSBjb25zdApAQCAtMjA2LDcgKzIwNiw3IEBAIFN0cmluZyBQcm9wZXJ0eVNl
dENTU1N0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5U2hvcnRoYW5kKGNvbnN0IFN0cmluZyYg
cHJvcGVyCiAgICAgQ1NTUHJvcGVydHlJRCBzaG9ydGhhbmRJRCA9IG1fcHJvcGVydHlTZXQtPmdl
dFByb3BlcnR5U2hvcnRoYW5kKHByb3BlcnR5SUQpOwogICAgIGlmICghc2hvcnRoYW5kSUQpCiAg
ICAgICAgIHJldHVybiBTdHJpbmcoKTsKLSAgICByZXR1cm4gZ2V0UHJvcGVydHlOYW1lKHNob3J0
aGFuZElEKTsKKyAgICByZXR1cm4gZ2V0UHJvcGVydHlOYW1lU3RyaW5nKHNob3J0aGFuZElEKTsK
IH0KIAogYm9vbCBQcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb246OmlzUHJvcGVydHlJbXBs
aWNpdChjb25zdCBTdHJpbmcmIHByb3BlcnR5TmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9tYWtlcHJvcC5wbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9tYWtlcHJvcC5wbAppbmRl
eCAxOWY5YTRjNTE5YTRhM2NlMjMyMjc1YTVkMmY5NTk3ZjQ2NzU4ZTY1Li43NzM0MzU2ODc3MmMy
MzdkOTFkMmRiNWJkOTk2NjZkMTQ5MTIyMjM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvbWFrZXByb3AucGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBsCkBAIC03
MCw2ICs3MCw3IEBAIHByaW50IEdQRVJGIDw8ICJFT0YiOwogI2luY2x1ZGUgPHN0cmluZy5oPgog
CiAjaW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNT
dHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtMTI5LDcgKzEzMCwzMCBAQCBjb25zdCBjaGFyKiBnZXRQcm9wZXJ0eU5hbWUo
Q1NTUHJvcGVydHlJRCBpZCkKICAgICByZXR1cm4gcHJvcGVydHlOYW1lU3RyaW5nc1tpbmRleF07
CiB9CiAKLVdURjo6U3RyaW5nIGdldEpTUHJvcGVydHlOYW1lKENTU1Byb3BlcnR5SUQgaWQpCitj
b25zdCBBdG9taWNTdHJpbmcmIGdldFByb3BlcnR5TmFtZUF0b21pY1N0cmluZyhDU1NQcm9wZXJ0
eUlEIGlkKQoreworICAgIGlmIChpZCA8IGZpcnN0Q1NTUHJvcGVydHkpCisgICAgICAgIHJldHVy
biBudWxsQXRvbTsKKyAgICBpbnQgaW5kZXggPSBpZCAtIGZpcnN0Q1NTUHJvcGVydHk7CisgICAg
aWYgKGluZGV4ID49IG51bUNTU1Byb3BlcnRpZXMpCisgICAgICAgIHJldHVybiBudWxsQXRvbTsK
KworICAgIHN0YXRpYyBBdG9taWNTdHJpbmcqIHByb3BlcnR5U3RyaW5ncyA9IG5ldyBBdG9taWNT
dHJpbmdbbnVtQ1NTUHJvcGVydGllc107IC8vIEludGVudGlvbmFsbHkgbmV2ZXIgZGVzdHJveWVk
LgorICAgIEF0b21pY1N0cmluZyYgcHJvcGVydHlTdHJpbmcgPSBwcm9wZXJ0eVN0cmluZ3NbaW5k
ZXhdOworICAgIGlmIChwcm9wZXJ0eVN0cmluZy5pc051bGwoKSkgeworICAgICAgICBjb25zdCBj
aGFyKiBwcm9wZXJ0eU5hbWUgPSBwcm9wZXJ0eU5hbWVTdHJpbmdzW2luZGV4XTsKKyAgICAgICAg
cHJvcGVydHlTdHJpbmcgPSBBdG9taWNTdHJpbmcocHJvcGVydHlOYW1lLCBzdHJsZW4ocHJvcGVy
dHlOYW1lKSwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CisgICAgfQorICAg
IHJldHVybiBwcm9wZXJ0eVN0cmluZzsKK30KKworU3RyaW5nIGdldFByb3BlcnR5TmFtZVN0cmlu
ZyhDU1NQcm9wZXJ0eUlEIGlkKQoreworICAgIC8vIFdlIHNoYXJlIHRoZSBTdHJpbmdJbXBsIHdp
dGggdGhlIEF0b21pY1N0cmluZ3MuCisgICAgcmV0dXJuIGdldFByb3BlcnR5TmFtZUF0b21pY1N0
cmluZyhpZCkuc3RyaW5nKCk7Cit9CisKK1N0cmluZyBnZXRKU1Byb3BlcnR5TmFtZShDU1NQcm9w
ZXJ0eUlEIGlkKQogewogICAgIGNoYXIgcmVzdWx0W21heENTU1Byb3BlcnR5TmFtZUxlbmd0aCAr
IDFdOwogICAgIGNvbnN0IGNoYXIqIGNzc1Byb3BlcnR5TmFtZSA9IGdldFByb3BlcnR5TmFtZShp
ZCk7CkBAIC0xNjYsNiArMTkwLDcgQEAgcHJpbnQgSEVBREVSIDw8ICJFT0YiOwogI2luY2x1ZGUg
PHd0Zi9IYXNoVHJhaXRzLmg+CiAKIG5hbWVzcGFjZSBXVEYgeworY2xhc3MgQXRvbWljU3RyaW5n
OwogY2xhc3MgU3RyaW5nOwogfQogCkBAIC0yMDIsNiArMjI3LDggQEAgcHJpbnQgSEVBREVSICJj
b25zdCBzaXplX3QgbWF4Q1NTUHJvcGVydHlOYW1lTGVuZ3RoID0gJG1heExlbjtcbiI7CiBwcmlu
dCBIRUFERVIgPDwgIkVPRiI7CiAKIGNvbnN0IGNoYXIqIGdldFByb3BlcnR5TmFtZShDU1NQcm9w
ZXJ0eUlEKTsKK2NvbnN0IFdURjo6QXRvbWljU3RyaW5nJiBnZXRQcm9wZXJ0eU5hbWVBdG9taWNT
dHJpbmcoQ1NTUHJvcGVydHlJRCBpZCk7CitXVEY6OlN0cmluZyBnZXRQcm9wZXJ0eU5hbWVTdHJp
bmcoQ1NTUHJvcGVydHlJRCBpZCk7CiBXVEY6OlN0cmluZyBnZXRKU1Byb3BlcnR5TmFtZShDU1NQ
cm9wZXJ0eUlEKTsKIAogaW5saW5lIENTU1Byb3BlcnR5SUQgY29udmVydFRvQ1NTUHJvcGVydHlJ
RChpbnQgdmFsdWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQ1NTQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0Fn
ZW50LmNwcAppbmRleCA1NzY4OGJiMzEzYzU0MTM5NjQ1NWNiMTE1NzlhZDY5YWMxYjIzM2JmLi45
ZDYyNjk4ZGU1YzhiZjE0ODQ4ODkyYTU4MTgwNjc4YjFmZmIzNDEyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKQEAgLTc4Myw3ICs3ODMsNyBA
QCB2b2lkIEluc3BlY3RvckNTU0FnZW50OjpnZXRTdXBwb3J0ZWRDU1NQcm9wZXJ0aWVzKEVycm9y
U3RyaW5nKiwgUmVmUHRyPFR5cGVCdWlsZAogICAgIGZvciAoaW50IGkgPSBmaXJzdENTU1Byb3Bl
cnR5OyBpIDw9IGxhc3RDU1NQcm9wZXJ0eTsgKytpKSB7CiAgICAgICAgIENTU1Byb3BlcnR5SUQg
aWQgPSBjb252ZXJ0VG9DU1NQcm9wZXJ0eUlEKGkpOwogICAgICAgICBSZWZQdHI8VHlwZUJ1aWxk
ZXI6OkNTUzo6Q1NTUHJvcGVydHlJbmZvPiBwcm9wZXJ0eSA9IFR5cGVCdWlsZGVyOjpDU1M6OkNT
U1Byb3BlcnR5SW5mbzo6Y3JlYXRlKCkKLSAgICAgICAgICAgIC5zZXROYW1lKGdldFByb3BlcnR5
TmFtZShpZCkpOworICAgICAgICAgICAgLnNldE5hbWUoZ2V0UHJvcGVydHlOYW1lU3RyaW5nKGlk
KSk7CiAKICAgICAgICAgY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgc2hvcnRoYW5kID0g
c2hvcnRoYW5kRm9yUHJvcGVydHkoaWQpOwogICAgICAgICBpZiAoIXNob3J0aGFuZC5sZW5ndGgo
KSkgewpAQCAtNzkzLDcgKzc5Myw3IEBAIHZvaWQgSW5zcGVjdG9yQ1NTQWdlbnQ6OmdldFN1cHBv
cnRlZENTU1Byb3BlcnRpZXMoRXJyb3JTdHJpbmcqLCBSZWZQdHI8VHlwZUJ1aWxkCiAgICAgICAg
IFJlZlB0cjxUeXBlQnVpbGRlcjo6QXJyYXk8U3RyaW5nPiA+IGxvbmdoYW5kcyA9IFR5cGVCdWls
ZGVyOjpBcnJheTxTdHJpbmc+OjpjcmVhdGUoKTsKICAgICAgICAgZm9yICh1bnNpZ25lZCBqID0g
MDsgaiA8IHNob3J0aGFuZC5sZW5ndGgoKTsgKytqKSB7CiAgICAgICAgICAgICBDU1NQcm9wZXJ0
eUlEIGxvbmdoYW5kSUQgPSBzaG9ydGhhbmQucHJvcGVydGllcygpW2pdOwotICAgICAgICAgICAg
bG9uZ2hhbmRzLT5hZGRJdGVtKGdldFByb3BlcnR5TmFtZShsb25naGFuZElEKSk7CisgICAgICAg
ICAgICBsb25naGFuZHMtPmFkZEl0ZW0oZ2V0UHJvcGVydHlOYW1lU3RyaW5nKGxvbmdoYW5kSUQp
KTsKICAgICAgICAgfQogICAgICAgICBwcm9wZXJ0eS0+c2V0TG9uZ2hhbmRzKGxvbmdoYW5kcyk7
CiAgICAgICAgIHByb3BlcnRpZXMtPmFkZEl0ZW0ocHJvcGVydHkucmVsZWFzZSgpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmNwcAppbmRleCBm
YjU1MGRjYTBiZTFjYjIyNzc2Nzc4ODAwOWI4NzIyYTNkMThlNDVkLi43MzBlMzZiYjg1NzgwZThl
MDNhMmMxMGNmMGNkZTQ4ZWU3OWIyNDA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclN0eWxlU2hlZXQuY3BwCkBAIC01MjgsNyArNTI4LDcgQEAgUGFzc1JlZlB0
cjxUeXBlQnVpbGRlcjo6Q1NTOjpDU1NTdHlsZT4gSW5zcGVjdG9yU3R5bGU6OnN0eWxlV2l0aFBy
b3BlcnRpZXMoKSBjb24KICAgICAgICAgICAgICAgICBib29sIHNob3VsZEluYWN0aXZhdGUgPSBm
YWxzZTsKICAgICAgICAgICAgICAgICBDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SWQgPSBjc3NQcm9w
ZXJ0eUlEKG5hbWUpOwogICAgICAgICAgICAgICAgIC8vIENhbm9uaWNhbGl6ZSBwcm9wZXJ0eSBu
YW1lcyB0byB0cmVhdCBub24tcHJlZml4ZWQgYW5kIHZlbmRvci1wcmVmaXhlZCBwcm9wZXJ0eSBu
YW1lcyB0aGUgc2FtZSAob3BhY2l0eSB2cy4gLXdlYmtpdC1vcGFjaXR5KS4KLSAgICAgICAgICAg
ICAgICBTdHJpbmcgY2Fub25pY2FsUHJvcGVydHlOYW1lID0gcHJvcGVydHlJZCA/IFN0cmluZyhn
ZXRQcm9wZXJ0eU5hbWUocHJvcGVydHlJZCkpIDogbmFtZTsKKyAgICAgICAgICAgICAgICBTdHJp
bmcgY2Fub25pY2FsUHJvcGVydHlOYW1lID0gcHJvcGVydHlJZCA/IGdldFByb3BlcnR5TmFtZVN0
cmluZyhwcm9wZXJ0eUlkKSA6IG5hbWU7CiAgICAgICAgICAgICAgICAgSGFzaE1hcDxTdHJpbmcs
IFJlZlB0cjxUeXBlQnVpbGRlcjo6Q1NTOjpDU1NQcm9wZXJ0eT4gPjo6aXRlcmF0b3IgYWN0aXZl
SXQgPSBwcm9wZXJ0eU5hbWVUb1ByZXZpb3VzQWN0aXZlUHJvcGVydHkuZmluZChjYW5vbmljYWxQ
cm9wZXJ0eU5hbWUpOwogICAgICAgICAgICAgICAgIGlmIChhY3RpdmVJdCAhPSBwcm9wZXJ0eU5h
bWVUb1ByZXZpb3VzQWN0aXZlUHJvcGVydHkuZW5kKCkpIHsKICAgICAgICAgICAgICAgICAgICAg
aWYgKHByb3BlcnR5RW50cnkucGFyc2VkT2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL2FuaW1hdGlvbi9JbXBsaWNpdEFuaW1hdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L2FuaW1hdGlvbi9JbXBsaWNpdEFuaW1hdGlvbi5jcHAKaW5kZXggZjcxYTE1MzZmNmExZTUwNjY3
MGE4YTE1NGI3NDc2NmQ1OGQzOTFlYS4uNDk3Y2EzZjU0ODc4NjBhODFlMjAzZWE4YTYxNTJlNDQ1
MjBkYmYyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vSW1wbGlj
aXRBbmltYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0ltcGxp
Y2l0QW5pbWF0aW9uLmNwcApAQCAtMTYxLDcgKzE2MSw3IEBAIGJvb2wgSW1wbGljaXRBbmltYXRp
b246OnNlbmRUcmFuc2l0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGRv
dWJsCiAgICAgICAgIERvY3VtZW50OjpMaXN0ZW5lclR5cGUgbGlzdGVuZXJUeXBlID0gRG9jdW1l
bnQ6OlRSQU5TSVRJT05FTkRfTElTVEVORVI7CiAKICAgICAgICAgaWYgKHNob3VsZFNlbmRFdmVu
dEZvckxpc3RlbmVyKGxpc3RlbmVyVHlwZSkpIHsKLSAgICAgICAgICAgIFN0cmluZyBwcm9wZXJ0
eU5hbWUgPSBnZXRQcm9wZXJ0eU5hbWUobV9hbmltYXRpbmdQcm9wZXJ0eSk7CisgICAgICAgICAg
ICBTdHJpbmcgcHJvcGVydHlOYW1lID0gZ2V0UHJvcGVydHlOYW1lU3RyaW5nKG1fYW5pbWF0aW5n
UHJvcGVydHkpOwogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgLy8gRGlzcGF0Y2ggdGhl
IGV2ZW50CiAgICAgICAgICAgICBSZWZQdHI8RWxlbWVudD4gZWxlbWVudCA9IDA7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>