<?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>119700</bug_id>
          
          <creation_ts>2013-08-12 14:37:13 -0700</creation_ts>
          <short_desc>Use const AtomicStringImpl* in DocumentOrderedMap</short_desc>
          <delta_ts>2013-08-12 14:48:50 -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>119701</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>andersca</cc>
    
    <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ggaren</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>916409</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-08-12 14:37:13 -0700</bug_when>
    <thetext>Use AtomicStringImpl* in DocumentOrderedMap</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916412</commentid>
    <comment_count>1</comment_count>
      <attachid>208565</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-08-12 14:41:52 -0700</bug_when>
    <thetext>Created attachment 208565
Cleanup</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916414</commentid>
    <comment_count>2</comment_count>
      <attachid>208565</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-08-12 14:46:58 -0700</bug_when>
    <thetext>Comment on attachment 208565
Cleanup

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        Use const AtomicStringImpl* in DocumentOrderedMap. It caught at least one bug that HTMLNameCollection&apos;
&gt; +        subclasses&apos; nodeMatches were taking const AtomicString&amp; instead of AtomicStringImpl*.

I think you should detail this a little more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916415</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-08-12 14:48:50 -0700</bug_when>
    <thetext>Committed r153959: &lt;http://trac.webkit.org/changeset/153959&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>208565</attachid>
            <date>2013-08-12 14:41:52 -0700</date>
            <delta_ts>2013-08-12 14:46:58 -0700</delta_ts>
            <desc>Cleanup</desc>
            <filename>bug-119700-20130812144151.patch</filename>
            <type>text/plain</type>
            <size>15730</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nSW1wbC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nSW1wbC5oCShyZXZpc2lvbiAxNTM5
NTMpCisrKyBTb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZ0ltcGwuaAkod29ya2luZyBj
b3B5KQpAQCAtNDEsNiArNDEsMTEgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QKIFZhbHVlQ2hlY2s8QXRv
bWljU3RyaW5nSW1wbCo+IHsKICAgICBzdGF0aWMgdm9pZCBjaGVja0NvbnNpc3RlbmN5KGNvbnN0
IEF0b21pY1N0cmluZ0ltcGwqKSB7IH0KIH07CisKK3RlbXBsYXRlPD4gc3RydWN0CitWYWx1ZUNo
ZWNrPGNvbnN0IEF0b21pY1N0cmluZ0ltcGwqPiB7CisgICAgc3RhdGljIHZvaWQgY2hlY2tDb25z
aXN0ZW5jeShjb25zdCBBdG9taWNTdHJpbmdJbXBsKikgeyB9Cit9OwogI2VuZGlmCiAKIH0KSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1Mzk1OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQzIEBACisyMDEzLTA4LTEyICBSeW9zdWtlIE5p
d2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFVzZSBjb25zdCBBdG9taWNTdHJpbmdJ
bXBsKiBpbiBEb2N1bWVudE9yZGVyZWRNYXAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTExOTcwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFVzZSBjb25zdCBBdG9taWNTdHJpbmdJbXBsKiBpbiBEb2N1bWVu
dE9yZGVyZWRNYXAuIEl0IGNhdWdodCBhdCBsZWFzdCBvbmUgYnVnIHRoYXQgSFRNTE5hbWVDb2xs
ZWN0aW9uJworICAgICAgICBzdWJjbGFzc2VzJyBub2RlTWF0Y2hlcyB3ZXJlIHRha2luZyBjb25z
dCBBdG9taWNTdHJpbmcmIGluc3RlYWQgb2YgQXRvbWljU3RyaW5nSW1wbCouCisKKyAgICAgICAg
KiBkb20vRG9jdW1lbnRPcmRlcmVkTWFwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmtleU1hdGNo
ZXNJZCk6CisgICAgICAgIChXZWJDb3JlOjprZXlNYXRjaGVzTmFtZSk6CisgICAgICAgIChXZWJD
b3JlOjprZXlNYXRjaGVzTWFwTmFtZSk6CisgICAgICAgIChXZWJDb3JlOjprZXlNYXRjaGVzTG93
ZXJjYXNlZE1hcE5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6a2V5TWF0Y2hlc0xhYmVsRm9yQXR0
cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OmtleU1hdGNoZXNXaW5kb3dOYW1lZEl0ZW0pOgor
ICAgICAgICAoV2ViQ29yZTo6a2V5TWF0Y2hlc0RvY3VtZW50TmFtZWRJdGVtKToKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50T3JkZXJlZE1hcDo6YWRkKToKKyAgICAgICAgKFdlYkNvcmU6OkRv
Y3VtZW50T3JkZXJlZE1hcDo6cmVtb3ZlKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50T3Jk
ZXJlZE1hcDo6Z2V0KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50T3JkZXJlZE1hcDo6Z2V0
RWxlbWVudEJ5SWQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRPcmRlcmVkTWFwOjpnZXRF
bGVtZW50QnlOYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50T3JkZXJlZE1hcDo6Z2V0
RWxlbWVudEJ5TWFwTmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudE9yZGVyZWRNYXA6
OmdldEVsZW1lbnRCeUxvd2VyY2FzZWRNYXBOYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3Vt
ZW50T3JkZXJlZE1hcDo6Z2V0RWxlbWVudEJ5TGFiZWxGb3JBdHRyaWJ1dGUpOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnRPcmRlcmVkTWFwOjpnZXRFbGVtZW50QnlXaW5kb3dOYW1lZEl0ZW0p
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRPcmRlcmVkTWFwOjpnZXRFbGVtZW50QnlEb2N1
bWVudE5hbWVkSXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudE9yZGVyZWRNYXA6Omdl
dEFsbEVsZW1lbnRzQnlJZCk6CisgICAgICAgICogZG9tL0RvY3VtZW50T3JkZXJlZE1hcC5oOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRPcmRlcmVkTWFwOjpjb250YWluc1NpbmdsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpEb2N1bWVudE9yZGVyZWRNYXA6OmNvbnRhaW5zKToKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50T3JkZXJlZE1hcDo6Y29udGFpbnNNdWx0aXBsZSk6CisgICAgICAg
ICogaHRtbC9IVE1MTmFtZUNvbGxlY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2luZG93
TmFtZUNvbGxlY3Rpb246Om5vZGVNYXRjaGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
TmFtZUNvbGxlY3Rpb246Om5vZGVNYXRjaGVzKToKKyAgICAgICAgKiBodG1sL0hUTUxOYW1lQ29s
bGVjdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6V2luZG93TmFtZUNvbGxlY3Rpb246Om5vZGVN
YXRjaGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TmFtZUNvbGxlY3Rpb246Om5vZGVN
YXRjaGVzKToKKwogMjAxMy0wOC0xMiAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgVGhlIExheW91dE1pbGVzdG9uZXMgZGlkTGF5b3V0IGNhbGxiYWNrIHNob3VsZCBv
bmx5IGZpcmUgZm9yIHRoZSBtYWluIGZyYW1lCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnRPcmRlcmVkTWFwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnRPcmRlcmVkTWFwLmNwcAkocmV2aXNpb24gMTUzOTUzKQorKysgU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50T3JkZXJlZE1hcC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzLDM3ICs0Mywz
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAK
LWlubGluZSBib29sIGtleU1hdGNoZXNJZChBdG9taWNTdHJpbmdJbXBsKiBrZXksIEVsZW1lbnQq
IGVsZW1lbnQpCitpbmxpbmUgYm9vbCBrZXlNYXRjaGVzSWQoY29uc3QgQXRvbWljU3RyaW5nSW1w
bCoga2V5LCBFbGVtZW50KiBlbGVtZW50KQogewogICAgIHJldHVybiBlbGVtZW50LT5nZXRJZEF0
dHJpYnV0ZSgpLmltcGwoKSA9PSBrZXk7CiB9CiAKLWlubGluZSBib29sIGtleU1hdGNoZXNOYW1l
KEF0b21pY1N0cmluZ0ltcGwqIGtleSwgRWxlbWVudCogZWxlbWVudCkKK2lubGluZSBib29sIGtl
eU1hdGNoZXNOYW1lKGNvbnN0IEF0b21pY1N0cmluZ0ltcGwqIGtleSwgRWxlbWVudCogZWxlbWVu
dCkKIHsKICAgICByZXR1cm4gZWxlbWVudC0+Z2V0TmFtZUF0dHJpYnV0ZSgpLmltcGwoKSA9PSBr
ZXk7CiB9CiAKLWlubGluZSBib29sIGtleU1hdGNoZXNNYXBOYW1lKEF0b21pY1N0cmluZ0ltcGwq
IGtleSwgRWxlbWVudCogZWxlbWVudCkKK2lubGluZSBib29sIGtleU1hdGNoZXNNYXBOYW1lKGNv
bnN0IEF0b21pY1N0cmluZ0ltcGwqIGtleSwgRWxlbWVudCogZWxlbWVudCkKIHsKICAgICByZXR1
cm4gaXNIVE1MTWFwRWxlbWVudChlbGVtZW50KSAmJiB0b0hUTUxNYXBFbGVtZW50KGVsZW1lbnQp
LT5nZXROYW1lKCkuaW1wbCgpID09IGtleTsKIH0KIAotaW5saW5lIGJvb2wga2V5TWF0Y2hlc0xv
d2VyY2FzZWRNYXBOYW1lKEF0b21pY1N0cmluZ0ltcGwqIGtleSwgRWxlbWVudCogZWxlbWVudCkK
K2lubGluZSBib29sIGtleU1hdGNoZXNMb3dlcmNhc2VkTWFwTmFtZShjb25zdCBBdG9taWNTdHJp
bmdJbXBsKiBrZXksIEVsZW1lbnQqIGVsZW1lbnQpCiB7CiAgICAgcmV0dXJuIGlzSFRNTE1hcEVs
ZW1lbnQoZWxlbWVudCkgJiYgdG9IVE1MTWFwRWxlbWVudChlbGVtZW50KS0+Z2V0TmFtZSgpLmxv
d2VyKCkuaW1wbCgpID09IGtleTsKIH0KIAotaW5saW5lIGJvb2wga2V5TWF0Y2hlc0xhYmVsRm9y
QXR0cmlidXRlKEF0b21pY1N0cmluZ0ltcGwqIGtleSwgRWxlbWVudCogZWxlbWVudCkKK2lubGlu
ZSBib29sIGtleU1hdGNoZXNMYWJlbEZvckF0dHJpYnV0ZShjb25zdCBBdG9taWNTdHJpbmdJbXBs
KiBrZXksIEVsZW1lbnQqIGVsZW1lbnQpCiB7CiAgICAgcmV0dXJuIGlzSFRNTExhYmVsRWxlbWVu
dChlbGVtZW50KSAmJiBlbGVtZW50LT5nZXRBdHRyaWJ1dGUoZm9yQXR0cikuaW1wbCgpID09IGtl
eTsKIH0KIAotaW5saW5lIGJvb2wga2V5TWF0Y2hlc1dpbmRvd05hbWVkSXRlbShBdG9taWNTdHJp
bmdJbXBsKiBrZXksIEVsZW1lbnQqIGVsZW1lbnQpCitpbmxpbmUgYm9vbCBrZXlNYXRjaGVzV2lu
ZG93TmFtZWRJdGVtKGNvbnN0IEF0b21pY1N0cmluZ0ltcGwqIGtleSwgRWxlbWVudCogZWxlbWVu
dCkKIHsKICAgICByZXR1cm4gV2luZG93TmFtZUNvbGxlY3Rpb246Om5vZGVNYXRjaGVzKGVsZW1l
bnQsIGtleSk7CiB9CiAKLWlubGluZSBib29sIGtleU1hdGNoZXNEb2N1bWVudE5hbWVkSXRlbShB
dG9taWNTdHJpbmdJbXBsKiBrZXksIEVsZW1lbnQqIGVsZW1lbnQpCitpbmxpbmUgYm9vbCBrZXlN
YXRjaGVzRG9jdW1lbnROYW1lZEl0ZW0oY29uc3QgQXRvbWljU3RyaW5nSW1wbCoga2V5LCBFbGVt
ZW50KiBlbGVtZW50KQogewogICAgIHJldHVybiBEb2N1bWVudE5hbWVDb2xsZWN0aW9uOjpub2Rl
TWF0Y2hlcyhlbGVtZW50LCBrZXkpOwogfQpAQCAtODMsNyArODMsNyBAQCB2b2lkIERvY3VtZW50
T3JkZXJlZE1hcDo6Y2xlYXIoKQogICAgIG1fbWFwLmNsZWFyKCk7CiB9CiAKLXZvaWQgRG9jdW1l
bnRPcmRlcmVkTWFwOjphZGQoQXRvbWljU3RyaW5nSW1wbCoga2V5LCBFbGVtZW50KiBlbGVtZW50
KQordm9pZCBEb2N1bWVudE9yZGVyZWRNYXA6OmFkZChjb25zdCBBdG9taWNTdHJpbmdJbXBsKiBr
ZXksIEVsZW1lbnQqIGVsZW1lbnQpCiB7CiAgICAgQVNTRVJUKGtleSk7CiAgICAgQVNTRVJUKGVs
ZW1lbnQpOwpAQCAtOTksNyArOTksNyBAQCB2b2lkIERvY3VtZW50T3JkZXJlZE1hcDo6YWRkKEF0
b21pY1N0cmluCiAgICAgZW50cnkub3JkZXJlZExpc3QuY2xlYXIoKTsKIH0KIAotdm9pZCBEb2N1
bWVudE9yZGVyZWRNYXA6OnJlbW92ZShBdG9taWNTdHJpbmdJbXBsKiBrZXksIEVsZW1lbnQqIGVs
ZW1lbnQpCit2b2lkIERvY3VtZW50T3JkZXJlZE1hcDo6cmVtb3ZlKGNvbnN0IEF0b21pY1N0cmlu
Z0ltcGwqIGtleSwgRWxlbWVudCogZWxlbWVudCkKIHsKICAgICBBU1NFUlQoa2V5KTsKICAgICBB
U1NFUlQoZWxlbWVudCk7CkBAIC0xMjEsOCArMTIxLDggQEAgdm9pZCBEb2N1bWVudE9yZGVyZWRN
YXA6OnJlbW92ZShBdG9taWNTdAogICAgIH0KIH0KIAotdGVtcGxhdGU8Ym9vbCBrZXlNYXRjaGVz
KEF0b21pY1N0cmluZ0ltcGwqLCBFbGVtZW50Kik+Ci1pbmxpbmUgRWxlbWVudCogRG9jdW1lbnRP
cmRlcmVkTWFwOjpnZXQoQXRvbWljU3RyaW5nSW1wbCoga2V5LCBjb25zdCBUcmVlU2NvcGUqIHNj
b3BlKSBjb25zdAordGVtcGxhdGU8Ym9vbCBrZXlNYXRjaGVzKGNvbnN0IEF0b21pY1N0cmluZ0lt
cGwqLCBFbGVtZW50Kik+CitpbmxpbmUgRWxlbWVudCogRG9jdW1lbnRPcmRlcmVkTWFwOjpnZXQo
Y29uc3QgQXRvbWljU3RyaW5nSW1wbCoga2V5LCBjb25zdCBUcmVlU2NvcGUqIHNjb3BlKSBjb25z
dAogewogICAgIEFTU0VSVChrZXkpOwogICAgIEFTU0VSVChzY29wZSk7CkBAIC0xNDksNDIgKzE0
OSw0MiBAQCBpbmxpbmUgRWxlbWVudCogRG9jdW1lbnRPcmRlcmVkTWFwOjpnZXQoCiAgICAgcmV0
dXJuIDA7CiB9CiAKLUVsZW1lbnQqIERvY3VtZW50T3JkZXJlZE1hcDo6Z2V0RWxlbWVudEJ5SWQo
QXRvbWljU3RyaW5nSW1wbCoga2V5LCBjb25zdCBUcmVlU2NvcGUqIHNjb3BlKSBjb25zdAorRWxl
bWVudCogRG9jdW1lbnRPcmRlcmVkTWFwOjpnZXRFbGVtZW50QnlJZChjb25zdCBBdG9taWNTdHJp
bmdJbXBsKiBrZXksIGNvbnN0IFRyZWVTY29wZSogc2NvcGUpIGNvbnN0CiB7CiAgICAgcmV0dXJu
IGdldDxrZXlNYXRjaGVzSWQ+KGtleSwgc2NvcGUpOwogfQogCi1FbGVtZW50KiBEb2N1bWVudE9y
ZGVyZWRNYXA6OmdldEVsZW1lbnRCeU5hbWUoQXRvbWljU3RyaW5nSW1wbCoga2V5LCBjb25zdCBU
cmVlU2NvcGUqIHNjb3BlKSBjb25zdAorRWxlbWVudCogRG9jdW1lbnRPcmRlcmVkTWFwOjpnZXRF
bGVtZW50QnlOYW1lKGNvbnN0IEF0b21pY1N0cmluZ0ltcGwqIGtleSwgY29uc3QgVHJlZVNjb3Bl
KiBzY29wZSkgY29uc3QKIHsKICAgICByZXR1cm4gZ2V0PGtleU1hdGNoZXNOYW1lPihrZXksIHNj
b3BlKTsKIH0KIAotRWxlbWVudCogRG9jdW1lbnRPcmRlcmVkTWFwOjpnZXRFbGVtZW50QnlNYXBO
YW1lKEF0b21pY1N0cmluZ0ltcGwqIGtleSwgY29uc3QgVHJlZVNjb3BlKiBzY29wZSkgY29uc3QK
K0VsZW1lbnQqIERvY3VtZW50T3JkZXJlZE1hcDo6Z2V0RWxlbWVudEJ5TWFwTmFtZShjb25zdCBB
dG9taWNTdHJpbmdJbXBsKiBrZXksIGNvbnN0IFRyZWVTY29wZSogc2NvcGUpIGNvbnN0CiB7CiAg
ICAgcmV0dXJuIGdldDxrZXlNYXRjaGVzTWFwTmFtZT4oa2V5LCBzY29wZSk7CiB9CiAKLUVsZW1l
bnQqIERvY3VtZW50T3JkZXJlZE1hcDo6Z2V0RWxlbWVudEJ5TG93ZXJjYXNlZE1hcE5hbWUoQXRv
bWljU3RyaW5nSW1wbCoga2V5LCBjb25zdCBUcmVlU2NvcGUqIHNjb3BlKSBjb25zdAorRWxlbWVu
dCogRG9jdW1lbnRPcmRlcmVkTWFwOjpnZXRFbGVtZW50QnlMb3dlcmNhc2VkTWFwTmFtZShjb25z
dCBBdG9taWNTdHJpbmdJbXBsKiBrZXksIGNvbnN0IFRyZWVTY29wZSogc2NvcGUpIGNvbnN0CiB7
CiAgICAgcmV0dXJuIGdldDxrZXlNYXRjaGVzTG93ZXJjYXNlZE1hcE5hbWU+KGtleSwgc2NvcGUp
OwogfQogCi1FbGVtZW50KiBEb2N1bWVudE9yZGVyZWRNYXA6OmdldEVsZW1lbnRCeUxhYmVsRm9y
QXR0cmlidXRlKEF0b21pY1N0cmluZ0ltcGwqIGtleSwgY29uc3QgVHJlZVNjb3BlKiBzY29wZSkg
Y29uc3QKK0VsZW1lbnQqIERvY3VtZW50T3JkZXJlZE1hcDo6Z2V0RWxlbWVudEJ5TGFiZWxGb3JB
dHRyaWJ1dGUoY29uc3QgQXRvbWljU3RyaW5nSW1wbCoga2V5LCBjb25zdCBUcmVlU2NvcGUqIHNj
b3BlKSBjb25zdAogewogICAgIHJldHVybiBnZXQ8a2V5TWF0Y2hlc0xhYmVsRm9yQXR0cmlidXRl
PihrZXksIHNjb3BlKTsKIH0KIAotRWxlbWVudCogRG9jdW1lbnRPcmRlcmVkTWFwOjpnZXRFbGVt
ZW50QnlXaW5kb3dOYW1lZEl0ZW0oQXRvbWljU3RyaW5nSW1wbCoga2V5LCBjb25zdCBUcmVlU2Nv
cGUqIHNjb3BlKSBjb25zdAorRWxlbWVudCogRG9jdW1lbnRPcmRlcmVkTWFwOjpnZXRFbGVtZW50
QnlXaW5kb3dOYW1lZEl0ZW0oY29uc3QgQXRvbWljU3RyaW5nSW1wbCoga2V5LCBjb25zdCBUcmVl
U2NvcGUqIHNjb3BlKSBjb25zdAogewogICAgIHJldHVybiBnZXQ8a2V5TWF0Y2hlc1dpbmRvd05h
bWVkSXRlbT4oa2V5LCBzY29wZSk7CiB9CiAKLUVsZW1lbnQqIERvY3VtZW50T3JkZXJlZE1hcDo6
Z2V0RWxlbWVudEJ5RG9jdW1lbnROYW1lZEl0ZW0oQXRvbWljU3RyaW5nSW1wbCoga2V5LCBjb25z
dCBUcmVlU2NvcGUqIHNjb3BlKSBjb25zdAorRWxlbWVudCogRG9jdW1lbnRPcmRlcmVkTWFwOjpn
ZXRFbGVtZW50QnlEb2N1bWVudE5hbWVkSXRlbShjb25zdCBBdG9taWNTdHJpbmdJbXBsKiBrZXks
IGNvbnN0IFRyZWVTY29wZSogc2NvcGUpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGdldDxrZXlNYXRj
aGVzRG9jdW1lbnROYW1lZEl0ZW0+KGtleSwgc2NvcGUpOwogfQogCi1jb25zdCBWZWN0b3I8RWxl
bWVudCo+KiBEb2N1bWVudE9yZGVyZWRNYXA6OmdldEFsbEVsZW1lbnRzQnlJZChBdG9taWNTdHJp
bmdJbXBsKiBrZXksIGNvbnN0IFRyZWVTY29wZSogc2NvcGUpIGNvbnN0Citjb25zdCBWZWN0b3I8
RWxlbWVudCo+KiBEb2N1bWVudE9yZGVyZWRNYXA6OmdldEFsbEVsZW1lbnRzQnlJZChjb25zdCBB
dG9taWNTdHJpbmdJbXBsKiBrZXksIGNvbnN0IFRyZWVTY29wZSogc2NvcGUpIGNvbnN0CiB7CiAg
ICAgQVNTRVJUKGtleSk7CiAgICAgQVNTRVJUKHNjb3BlKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudE9yZGVyZWRNYXAuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnRPcmRlcmVkTWFwLmgJKHJldmlzaW9uIDE1Mzk1MykKKysrIFNvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudE9yZGVyZWRNYXAuaAkod29ya2luZyBjb3B5KQpAQCAtNDMsMjkgKzQz
LDI5IEBAIGNsYXNzIFRyZWVTY29wZTsKIAogY2xhc3MgRG9jdW1lbnRPcmRlcmVkTWFwIHsKIHB1
YmxpYzoKLSAgICB2b2lkIGFkZChBdG9taWNTdHJpbmdJbXBsKiwgRWxlbWVudCopOwotICAgIHZv
aWQgcmVtb3ZlKEF0b21pY1N0cmluZ0ltcGwqLCBFbGVtZW50Kik7CisgICAgdm9pZCBhZGQoY29u
c3QgQXRvbWljU3RyaW5nSW1wbCosIEVsZW1lbnQqKTsKKyAgICB2b2lkIHJlbW92ZShjb25zdCBB
dG9taWNTdHJpbmdJbXBsKiwgRWxlbWVudCopOwogICAgIHZvaWQgY2xlYXIoKTsKIAotICAgIGJv
b2wgY29udGFpbnMoQXRvbWljU3RyaW5nSW1wbCopIGNvbnN0OwotICAgIGJvb2wgY29udGFpbnNT
aW5nbGUoQXRvbWljU3RyaW5nSW1wbCopIGNvbnN0OwotICAgIGJvb2wgY29udGFpbnNNdWx0aXBs
ZShBdG9taWNTdHJpbmdJbXBsKikgY29uc3Q7CisgICAgYm9vbCBjb250YWlucyhjb25zdCBBdG9t
aWNTdHJpbmdJbXBsKikgY29uc3Q7CisgICAgYm9vbCBjb250YWluc1NpbmdsZShjb25zdCBBdG9t
aWNTdHJpbmdJbXBsKikgY29uc3Q7CisgICAgYm9vbCBjb250YWluc011bHRpcGxlKGNvbnN0IEF0
b21pY1N0cmluZ0ltcGwqKSBjb25zdDsKIAogICAgIC8vIGNvbmNyZXRlIGluc3RhbnRpYXRpb25z
IG9mIHRoZSBnZXQ8PigpIG1ldGhvZCB0ZW1wbGF0ZQotICAgIEVsZW1lbnQqIGdldEVsZW1lbnRC
eUlkKEF0b21pY1N0cmluZ0ltcGwqLCBjb25zdCBUcmVlU2NvcGUqKSBjb25zdDsKLSAgICBFbGVt
ZW50KiBnZXRFbGVtZW50QnlOYW1lKEF0b21pY1N0cmluZ0ltcGwqLCBjb25zdCBUcmVlU2NvcGUq
KSBjb25zdDsKLSAgICBFbGVtZW50KiBnZXRFbGVtZW50QnlNYXBOYW1lKEF0b21pY1N0cmluZ0lt
cGwqLCBjb25zdCBUcmVlU2NvcGUqKSBjb25zdDsKLSAgICBFbGVtZW50KiBnZXRFbGVtZW50QnlM
b3dlcmNhc2VkTWFwTmFtZShBdG9taWNTdHJpbmdJbXBsKiwgY29uc3QgVHJlZVNjb3BlKikgY29u
c3Q7Ci0gICAgRWxlbWVudCogZ2V0RWxlbWVudEJ5TGFiZWxGb3JBdHRyaWJ1dGUoQXRvbWljU3Ry
aW5nSW1wbCosIGNvbnN0IFRyZWVTY29wZSopIGNvbnN0OwotICAgIEVsZW1lbnQqIGdldEVsZW1l
bnRCeVdpbmRvd05hbWVkSXRlbShBdG9taWNTdHJpbmdJbXBsKiwgY29uc3QgVHJlZVNjb3BlKikg
Y29uc3Q7Ci0gICAgRWxlbWVudCogZ2V0RWxlbWVudEJ5RG9jdW1lbnROYW1lZEl0ZW0oQXRvbWlj
U3RyaW5nSW1wbCosIGNvbnN0IFRyZWVTY29wZSopIGNvbnN0OworICAgIEVsZW1lbnQqIGdldEVs
ZW1lbnRCeUlkKGNvbnN0IEF0b21pY1N0cmluZ0ltcGwqLCBjb25zdCBUcmVlU2NvcGUqKSBjb25z
dDsKKyAgICBFbGVtZW50KiBnZXRFbGVtZW50QnlOYW1lKGNvbnN0IEF0b21pY1N0cmluZ0ltcGwq
LCBjb25zdCBUcmVlU2NvcGUqKSBjb25zdDsKKyAgICBFbGVtZW50KiBnZXRFbGVtZW50QnlNYXBO
YW1lKGNvbnN0IEF0b21pY1N0cmluZ0ltcGwqLCBjb25zdCBUcmVlU2NvcGUqKSBjb25zdDsKKyAg
ICBFbGVtZW50KiBnZXRFbGVtZW50QnlMb3dlcmNhc2VkTWFwTmFtZShjb25zdCBBdG9taWNTdHJp
bmdJbXBsKiwgY29uc3QgVHJlZVNjb3BlKikgY29uc3Q7CisgICAgRWxlbWVudCogZ2V0RWxlbWVu
dEJ5TGFiZWxGb3JBdHRyaWJ1dGUoY29uc3QgQXRvbWljU3RyaW5nSW1wbCosIGNvbnN0IFRyZWVT
Y29wZSopIGNvbnN0OworICAgIEVsZW1lbnQqIGdldEVsZW1lbnRCeVdpbmRvd05hbWVkSXRlbShj
b25zdCBBdG9taWNTdHJpbmdJbXBsKiwgY29uc3QgVHJlZVNjb3BlKikgY29uc3Q7CisgICAgRWxl
bWVudCogZ2V0RWxlbWVudEJ5RG9jdW1lbnROYW1lZEl0ZW0oY29uc3QgQXRvbWljU3RyaW5nSW1w
bCosIGNvbnN0IFRyZWVTY29wZSopIGNvbnN0OwogCi0gICAgY29uc3QgVmVjdG9yPEVsZW1lbnQq
PiogZ2V0QWxsRWxlbWVudHNCeUlkKEF0b21pY1N0cmluZ0ltcGwqLCBjb25zdCBUcmVlU2NvcGUq
KSBjb25zdDsKKyAgICBjb25zdCBWZWN0b3I8RWxlbWVudCo+KiBnZXRBbGxFbGVtZW50c0J5SWQo
Y29uc3QgQXRvbWljU3RyaW5nSW1wbCosIGNvbnN0IFRyZWVTY29wZSopIGNvbnN0OwogCiAgICAg
dm9pZCBjaGVja0NvbnNpc3RlbmN5KCkgY29uc3Q7CiAKIHByaXZhdGU6Ci0gICAgdGVtcGxhdGU8
Ym9vbCBrZXlNYXRjaGVzKEF0b21pY1N0cmluZ0ltcGwqLCBFbGVtZW50Kik+IEVsZW1lbnQqIGdl
dChBdG9taWNTdHJpbmdJbXBsKiwgY29uc3QgVHJlZVNjb3BlKikgY29uc3Q7CisgICAgdGVtcGxh
dGU8Ym9vbCBrZXlNYXRjaGVzKGNvbnN0IEF0b21pY1N0cmluZ0ltcGwqLCBFbGVtZW50Kik+IEVs
ZW1lbnQqIGdldChjb25zdCBBdG9taWNTdHJpbmdJbXBsKiwgY29uc3QgVHJlZVNjb3BlKikgY29u
c3Q7CiAKICAgICBzdHJ1Y3QgTWFwRW50cnkgewogICAgICAgICBNYXBFbnRyeSgpCkBAIC04Miwy
MyArODIsMjMgQEAgcHJpdmF0ZToKICAgICAgICAgVmVjdG9yPEVsZW1lbnQqPiBvcmRlcmVkTGlz
dDsKICAgICB9OwogCi0gICAgdHlwZWRlZiBIYXNoTWFwPEF0b21pY1N0cmluZ0ltcGwqLCBNYXBF
bnRyeT4gTWFwOworICAgIHR5cGVkZWYgSGFzaE1hcDxjb25zdCBBdG9taWNTdHJpbmdJbXBsKiwg
TWFwRW50cnk+IE1hcDsKIAogICAgIG11dGFibGUgTWFwIG1fbWFwOwogfTsKIAotaW5saW5lIGJv
b2wgRG9jdW1lbnRPcmRlcmVkTWFwOjpjb250YWluc1NpbmdsZShBdG9taWNTdHJpbmdJbXBsKiBp
ZCkgY29uc3QKK2lubGluZSBib29sIERvY3VtZW50T3JkZXJlZE1hcDo6Y29udGFpbnNTaW5nbGUo
Y29uc3QgQXRvbWljU3RyaW5nSW1wbCogaWQpIGNvbnN0CiB7CiAgICAgTWFwOjpjb25zdF9pdGVy
YXRvciBpdCA9IG1fbWFwLmZpbmQoaWQpOwogICAgIHJldHVybiBpdCAhPSBtX21hcC5lbmQoKSAm
JiBpdC0+dmFsdWUuY291bnQgPT0gMTsKIH0KIAotaW5saW5lIGJvb2wgRG9jdW1lbnRPcmRlcmVk
TWFwOjpjb250YWlucyhBdG9taWNTdHJpbmdJbXBsKiBpZCkgY29uc3QKK2lubGluZSBib29sIERv
Y3VtZW50T3JkZXJlZE1hcDo6Y29udGFpbnMoY29uc3QgQXRvbWljU3RyaW5nSW1wbCogaWQpIGNv
bnN0CiB7CiAgICAgcmV0dXJuIG1fbWFwLmNvbnRhaW5zKGlkKTsKIH0KIAotaW5saW5lIGJvb2wg
RG9jdW1lbnRPcmRlcmVkTWFwOjpjb250YWluc011bHRpcGxlKEF0b21pY1N0cmluZ0ltcGwqIGlk
KSBjb25zdAoraW5saW5lIGJvb2wgRG9jdW1lbnRPcmRlcmVkTWFwOjpjb250YWluc011bHRpcGxl
KGNvbnN0IEF0b21pY1N0cmluZ0ltcGwqIGlkKSBjb25zdAogewogICAgIE1hcDo6Y29uc3RfaXRl
cmF0b3IgaXQgPSBtX21hcC5maW5kKGlkKTsKICAgICByZXR1cm4gaXQgIT0gbV9tYXAuZW5kKCkg
JiYgaXQtPnZhbHVlLmNvdW50ID4gMTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE5h
bWVDb2xsZWN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxO
YW1lQ29sbGVjdGlvbi5jcHAJKHJldmlzaW9uIDE1Mzk1MykKKysrIFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE5hbWVDb2xsZWN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTcsMTIgKzU3LDEy
IEBAIGJvb2wgV2luZG93TmFtZUNvbGxlY3Rpb246Om5vZGVNYXRjaGVzSWYKICAgICAgICAgfHwg
ZWxlbWVudC0+aGFzVGFnTmFtZShlbWJlZFRhZykgfHwgZWxlbWVudC0+aGFzVGFnTmFtZShvYmpl
Y3RUYWcpOwogfQogCi1ib29sIFdpbmRvd05hbWVDb2xsZWN0aW9uOjpub2RlTWF0Y2hlcyhFbGVt
ZW50KiBlbGVtZW50LCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUpCitib29sIFdpbmRvd05hbWVD
b2xsZWN0aW9uOjpub2RlTWF0Y2hlcyhFbGVtZW50KiBlbGVtZW50LCBjb25zdCBBdG9taWNTdHJp
bmdJbXBsKiBuYW1lKQogewogICAgIC8vIEZpbmQgb25seSBpbWFnZXMsIGZvcm1zLCBhcHBsZXRz
LCBlbWJlZHMgYW5kIG9iamVjdHMgYnkgbmFtZSwgYnV0IGFueXRoaW5nIGJ5IGlkCi0gICAgaWYg
KG5vZGVNYXRjaGVzSWZOYW1lQXR0cmlidXRlTWF0Y2goZWxlbWVudCkgJiYgZWxlbWVudC0+Z2V0
TmFtZUF0dHJpYnV0ZSgpID09IG5hbWUpCisgICAgaWYgKG5vZGVNYXRjaGVzSWZOYW1lQXR0cmli
dXRlTWF0Y2goZWxlbWVudCkgJiYgZWxlbWVudC0+Z2V0TmFtZUF0dHJpYnV0ZSgpLmltcGwoKSA9
PSBuYW1lKQogICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICByZXR1cm4gZWxlbWVudC0+Z2V0SWRB
dHRyaWJ1dGUoKSA9PSBuYW1lOworICAgIHJldHVybiBlbGVtZW50LT5nZXRJZEF0dHJpYnV0ZSgp
LmltcGwoKSA9PSBuYW1lOwogfQogCiBib29sIERvY3VtZW50TmFtZUNvbGxlY3Rpb246Om5vZGVN
YXRjaGVzSWZJZEF0dHJpYnV0ZU1hdGNoKEVsZW1lbnQqIGVsZW1lbnQpCkBAIC03OSwxOCArNzks
MTggQEAgYm9vbCBEb2N1bWVudE5hbWVDb2xsZWN0aW9uOjpub2RlTWF0Y2hlcwogICAgICAgICB8
fCBpc0hUTUxJbWFnZUVsZW1lbnQoZWxlbWVudCk7CiB9CiAKLWJvb2wgRG9jdW1lbnROYW1lQ29s
bGVjdGlvbjo6bm9kZU1hdGNoZXMoRWxlbWVudCogZWxlbWVudCwgY29uc3QgQXRvbWljU3RyaW5n
JiBuYW1lKQorYm9vbCBEb2N1bWVudE5hbWVDb2xsZWN0aW9uOjpub2RlTWF0Y2hlcyhFbGVtZW50
KiBlbGVtZW50LCBjb25zdCBBdG9taWNTdHJpbmdJbXBsKiBuYW1lKQogewogICAgIC8vIEZpbmQg
aW1hZ2VzLCBmb3JtcywgYXBwbGV0cywgZW1iZWRzLCBvYmplY3RzIGFuZCBpZnJhbWVzIGJ5IG5h
bWUsIGFwcGxldHMgYW5kIG9iamVjdCBieSBpZCwgYW5kIGltYWdlcyBieSBpZAogICAgIC8vIGJ1
dCBvbmx5IGlmIHRoZXkgaGF2ZSBhIG5hbWUgYXR0cmlidXRlICh0aGlzIHZlcnkgc3RyYW5nZSBy
dWxlIG1hdGNoZXMgSUUpCiAgICAgaWYgKGlzSFRNTEZvcm1FbGVtZW50KGVsZW1lbnQpIHx8IGVs
ZW1lbnQtPmhhc1RhZ05hbWUoZW1iZWRUYWcpIHx8IGVsZW1lbnQtPmhhc1RhZ05hbWUoaWZyYW1l
VGFnKSkKLSAgICAgICAgcmV0dXJuIGVsZW1lbnQtPmdldE5hbWVBdHRyaWJ1dGUoKSA9PSBuYW1l
OworICAgICAgICByZXR1cm4gZWxlbWVudC0+Z2V0TmFtZUF0dHJpYnV0ZSgpLmltcGwoKSA9PSBu
YW1lOwogICAgIGlmIChlbGVtZW50LT5oYXNUYWdOYW1lKGFwcGxldFRhZykpCi0gICAgICAgIHJl
dHVybiBlbGVtZW50LT5nZXROYW1lQXR0cmlidXRlKCkgPT0gbmFtZSB8fCBlbGVtZW50LT5nZXRJ
ZEF0dHJpYnV0ZSgpID09IG5hbWU7CisgICAgICAgIHJldHVybiBlbGVtZW50LT5nZXROYW1lQXR0
cmlidXRlKCkuaW1wbCgpID09IG5hbWUgfHwgZWxlbWVudC0+Z2V0SWRBdHRyaWJ1dGUoKS5pbXBs
KCkgPT0gbmFtZTsKICAgICBpZiAoZWxlbWVudC0+aGFzVGFnTmFtZShvYmplY3RUYWcpKQotICAg
ICAgICByZXR1cm4gKGVsZW1lbnQtPmdldE5hbWVBdHRyaWJ1dGUoKSA9PSBuYW1lIHx8IGVsZW1l
bnQtPmdldElkQXR0cmlidXRlKCkgPT0gbmFtZSkgJiYgdG9IVE1MT2JqZWN0RWxlbWVudChlbGVt
ZW50KS0+aXNEb2NOYW1lZEl0ZW0oKTsKKyAgICAgICAgcmV0dXJuIChlbGVtZW50LT5nZXROYW1l
QXR0cmlidXRlKCkuaW1wbCgpID09IG5hbWUgfHwgZWxlbWVudC0+Z2V0SWRBdHRyaWJ1dGUoKS5p
bXBsKCkgPT0gbmFtZSkgJiYgdG9IVE1MT2JqZWN0RWxlbWVudChlbGVtZW50KS0+aXNEb2NOYW1l
ZEl0ZW0oKTsKICAgICBpZiAoaXNIVE1MSW1hZ2VFbGVtZW50KGVsZW1lbnQpKQotICAgICAgICBy
ZXR1cm4gZWxlbWVudC0+Z2V0TmFtZUF0dHJpYnV0ZSgpID09IG5hbWUgfHwgKGVsZW1lbnQtPmdl
dElkQXR0cmlidXRlKCkgPT0gbmFtZSAmJiBlbGVtZW50LT5oYXNOYW1lKCkpOworICAgICAgICBy
ZXR1cm4gZWxlbWVudC0+Z2V0TmFtZUF0dHJpYnV0ZSgpLmltcGwoKSA9PSBuYW1lIHx8IChlbGVt
ZW50LT5nZXRJZEF0dHJpYnV0ZSgpLmltcGwoKSA9PSBuYW1lICYmIGVsZW1lbnQtPmhhc05hbWUo
KSk7CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxOYW1lQ29sbGVjdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE5hbWVDb2xsZWN0aW9uLmgJKHJldmlzaW9uIDE1Mzk1MykKKysrIFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE5hbWVDb2xsZWN0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDExICs0OCwxMSBA
QCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2luZG93TmFtZUNvbGxlY3Rp
b24oZG9jdW1lbnQsIHR5cGUsIG5hbWUpKTsKICAgICB9CiAKLSAgICBib29sIG5vZGVNYXRjaGVz
KEVsZW1lbnQqIGVsZW1lbnQpIGNvbnN0IHsgcmV0dXJuIG5vZGVNYXRjaGVzKGVsZW1lbnQsIG1f
bmFtZSk7IH0KKyAgICBib29sIG5vZGVNYXRjaGVzKEVsZW1lbnQqIGVsZW1lbnQpIGNvbnN0IHsg
cmV0dXJuIG5vZGVNYXRjaGVzKGVsZW1lbnQsIG1fbmFtZS5pbXBsKCkpOyB9CiAKICAgICBzdGF0
aWMgYm9vbCBub2RlTWF0Y2hlc0lmSWRBdHRyaWJ1dGVNYXRjaChFbGVtZW50KikgeyByZXR1cm4g
dHJ1ZTsgfQogICAgIHN0YXRpYyBib29sIG5vZGVNYXRjaGVzSWZOYW1lQXR0cmlidXRlTWF0Y2go
RWxlbWVudCopOwotICAgIHN0YXRpYyBib29sIG5vZGVNYXRjaGVzKEVsZW1lbnQqLCBjb25zdCBB
dG9taWNTdHJpbmcmKTsKKyAgICBzdGF0aWMgYm9vbCBub2RlTWF0Y2hlcyhFbGVtZW50KiwgY29u
c3QgQXRvbWljU3RyaW5nSW1wbCopOwogCiBwcml2YXRlOgogICAgIFdpbmRvd05hbWVDb2xsZWN0
aW9uKE5vZGUqIGRvY3VtZW50LCBDb2xsZWN0aW9uVHlwZSB0eXBlLCBjb25zdCBBdG9taWNTdHJp
bmcmIG5hbWUpCkBAIC03MSw5ICs3MSw5IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBib29sIG5v
ZGVNYXRjaGVzSWZJZEF0dHJpYnV0ZU1hdGNoKEVsZW1lbnQqKTsKICAgICBzdGF0aWMgYm9vbCBu
b2RlTWF0Y2hlc0lmTmFtZUF0dHJpYnV0ZU1hdGNoKEVsZW1lbnQqKTsKLSAgICBib29sIG5vZGVN
YXRjaGVzKEVsZW1lbnQqIGVsZW1lbnQpIGNvbnN0IHsgcmV0dXJuIG5vZGVNYXRjaGVzKGVsZW1l
bnQsIG1fbmFtZSk7IH0KKyAgICBib29sIG5vZGVNYXRjaGVzKEVsZW1lbnQqIGVsZW1lbnQpIGNv
bnN0IHsgcmV0dXJuIG5vZGVNYXRjaGVzKGVsZW1lbnQsIG1fbmFtZS5pbXBsKCkpOyB9CiAKLSAg
ICBzdGF0aWMgYm9vbCBub2RlTWF0Y2hlcyhFbGVtZW50KiwgY29uc3QgQXRvbWljU3RyaW5nJik7
CisgICAgc3RhdGljIGJvb2wgbm9kZU1hdGNoZXMoRWxlbWVudCosIGNvbnN0IEF0b21pY1N0cmlu
Z0ltcGwqKTsKIAogcHJpdmF0ZToKICAgICBEb2N1bWVudE5hbWVDb2xsZWN0aW9uKE5vZGUqIGRv
Y3VtZW50LCBDb2xsZWN0aW9uVHlwZSB0eXBlLCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUpCg==
</data>
<flag name="review"
          id="230475"
          type_id="1"
          status="+"
          setter="benjamin"
    />
          </attachment>
      

    </bug>

</bugzilla>