<?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>130866</bug_id>
          
          <creation_ts>2014-03-27 15:09:24 -0700</creation_ts>
          <short_desc>Remove LiveNodeList::Type</short_desc>
          <delta_ts>2014-03-27 15:48: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>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kling</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>995082</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-03-27 15:09:24 -0700</bug_when>
    <thetext>We don&apos;t need dynamic type information anymore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995084</commentid>
    <comment_count>1</comment_count>
      <attachid>227990</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-03-27 15:13:11 -0700</bug_when>
    <thetext>Created attachment 227990
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995087</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-27 15:15:17 -0700</bug_when>
    <thetext>Attachment 227990 did not pass style-queue:


ERROR: Source/WebCore/dom/NodeRareData.h:53:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/dom/NodeRareData.h:54:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/dom/NodeRareData.h:55:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/dom/NodeRareData.h:56:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/dom/NodeRareData.h:57:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/dom/NodeRareData.h:58:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 6 in 15 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995117</commentid>
    <comment_count>3</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-03-27 15:48:25 -0700</bug_when>
    <thetext>https://trac.webkit.org/r166377</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227990</attachid>
            <date>2014-03-27 15:13:11 -0700</date>
            <delta_ts>2014-03-27 15:17:37 -0700</delta_ts>
            <desc>patch</desc>
            <filename>livenodelist-type.patch</filename>
            <type>text/plain</type>
            <size>20785</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NjM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU4IEBACisyMDE0LTAzLTI3ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgTGl2ZU5vZGVMaXN0
OjpUeXBlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MzA4NjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBX
ZSBkb24ndCBuZWVkIGR5bmFtaWMgdHlwZSBpbmZvcm1hdGlvbiBhbnltb3JlLgorCisgICAgICAg
ICogZG9tL0NsYXNzTm9kZUxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2xhc3NOb2RlTGlz
dDo6Q2xhc3NOb2RlTGlzdCk6CisgICAgICAgICogZG9tL0NvbnRhaW5lck5vZGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q29udGFpbmVyTm9kZTo6Z2V0RWxlbWVudHNCeVRhZ05hbWUpOgorICAg
ICAgICAoV2ViQ29yZTo6Q29udGFpbmVyTm9kZTo6Z2V0RWxlbWVudHNCeU5hbWUpOgorICAgICAg
ICAoV2ViQ29yZTo6Q29udGFpbmVyTm9kZTo6Z2V0RWxlbWVudHNCeUNsYXNzTmFtZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDb250YWluZXJOb2RlOjpyYWRpb05vZGVMaXN0KToKKyAgICAgICAgKiBk
b20vTGl2ZU5vZGVMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxpdmVOb2RlTGlzdDo6TGl2
ZU5vZGVMaXN0KToKKyAgICAgICAgKiBkb20vTGl2ZU5vZGVMaXN0Lmg6CisgICAgICAgIChXZWJD
b3JlOjpMaXZlTm9kZUxpc3Q6OmludmFsaWRhdGlvblR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6
Q2FjaGVkTGl2ZU5vZGVMaXN0PE5vZGVMaXN0VHlwZT46OkNhY2hlZExpdmVOb2RlTGlzdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpMaXZlTm9kZUxpc3Q6OnR5cGUpOiBEZWxldGVkLgorICAgICAgICAq
IGRvbS9OYW1lTm9kZUxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmFtZU5vZGVMaXN0OjpO
YW1lTm9kZUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6TmFtZU5vZGVMaXN0Ojpub2RlTWF0Y2hl
cyk6IERlbGV0ZWQuCisgICAgICAgICogZG9tL05hbWVOb2RlTGlzdC5oOgorICAgICAgICAoV2Vi
Q29yZTo6TmFtZU5vZGVMaXN0Ojpub2RlTWF0Y2hlcyk6CisgICAgICAgICogZG9tL05vZGVSYXJl
RGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZUxpc3RUeXBlSWRlbnRpZmllcjxDbGFzc05v
ZGVMaXN0Pjo6dmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZUxpc3RUeXBlSWRlbnRpZmll
cjxOYW1lTm9kZUxpc3Q+Ojp2YWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlTGlzdFR5cGVJ
ZGVudGlmaWVyPFRhZ05vZGVMaXN0Pjo6dmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZUxp
c3RUeXBlSWRlbnRpZmllcjxIVE1MVGFnTm9kZUxpc3Q+Ojp2YWx1ZSk6CisgICAgICAgIChXZWJD
b3JlOjpOb2RlTGlzdFR5cGVJZGVudGlmaWVyPFJhZGlvTm9kZUxpc3Q+Ojp2YWx1ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpOb2RlTGlzdFR5cGVJZGVudGlmaWVyPExhYmVsc05vZGVMaXN0Pjo6dmFs
dWUpOgorICAgICAgICAKKyAgICAgICAgICAgIEdldCB1bmlxdWUgaWQgZnJvbSB0eXBlIGZvciBr
ZXkgZ2VuZXJhdGlvbiBwdXJwb3NlcyBvbmx5LgorCisgICAgICAgIChXZWJDb3JlOjpOb2RlTGlz
dHNOb2RlRGF0YTo6YWRkQ2FjaGVXaXRoQXRvbWljTmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpO
b2RlTGlzdHNOb2RlRGF0YTo6YWRkQ2FjaGVXaXRoTmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpO
b2RlTGlzdHNOb2RlRGF0YTo6cmVtb3ZlQ2FjaGVXaXRoQXRvbWljTmFtZSk6CisgICAgICAgIChX
ZWJDb3JlOjpOb2RlTGlzdHNOb2RlRGF0YTo6cmVtb3ZlQ2FjaGVXaXRoTmFtZSk6CisgICAgICAg
IChXZWJDb3JlOjpOb2RlTGlzdHNOb2RlRGF0YTo6bmFtZWROb2RlTGlzdEtleSk6CisgICAgICAg
ICogZG9tL1RhZ05vZGVMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRhZ05vZGVMaXN0OjpU
YWdOb2RlTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVGFnTm9kZUxpc3Q6OkhUTUxUYWdO
b2RlTGlzdCk6CisgICAgICAgICogZG9tL1RhZ05vZGVMaXN0Lmg6CisgICAgICAgICogaHRtbC9M
YWJlbGFibGVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxhYmVsYWJsZUVsZW1lbnQ6
OmxhYmVscyk6CisgICAgICAgICogaHRtbC9MYWJlbHNOb2RlTGlzdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpMYWJlbHNOb2RlTGlzdDo6TGFiZWxzTm9kZUxpc3QpOgorICAgICAgICAqIGh0bWwv
TGFiZWxzTm9kZUxpc3QuaDoKKyAgICAgICAgKiBodG1sL1JhZGlvTm9kZUxpc3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmFkaW9Ob2RlTGlzdDo6UmFkaW9Ob2RlTGlzdCk6CisgICAgICAgICog
aHRtbC9SYWRpb05vZGVMaXN0Lmg6CisKIDIwMTQtMDMtMjcgIEFudHRpIEtvaXZpc3RvICA8YW50
dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBzb21lIHVubmVjZXNzYXJ5IGJyYW5jaGVz
IGZyb20gTGl2ZU5vZGVMaXN0IHRyYXZlcnNhbApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0Ns
YXNzTm9kZUxpc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9DbGFzc05v
ZGVMaXN0LmNwcAkocmV2aXNpb24gMTY2MzY5KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0NsYXNz
Tm9kZUxpc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3IEBACiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIENsYXNzTm9kZUxpc3Q6OkNsYXNzTm9kZUxpc3QoQ29udGFpbmVyTm9kZSYg
cm9vdE5vZGUsIGNvbnN0IFN0cmluZyYgY2xhc3NOYW1lcykKLSAgICA6IENhY2hlZExpdmVOb2Rl
TGlzdChyb290Tm9kZSwgVHlwZTo6Q2xhc3NOb2RlTGlzdFR5cGUsIEludmFsaWRhdGVPbkNsYXNz
QXR0ckNoYW5nZSkKKyAgICA6IENhY2hlZExpdmVOb2RlTGlzdChyb290Tm9kZSwgSW52YWxpZGF0
ZU9uQ2xhc3NBdHRyQ2hhbmdlKQogICAgICwgbV9jbGFzc05hbWVzKGNsYXNzTmFtZXMsIGRvY3Vt
ZW50KCkuaW5RdWlya3NNb2RlKCkpCiAgICAgLCBtX29yaWdpbmFsQ2xhc3NOYW1lcyhjbGFzc05h
bWVzKQogewpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcAkocmV2aXNpb24g
MTY2MjkwKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xMDE4LDggKzEwMTgsOCBAQCBQYXNzUmVmUHRyPE5vZGVMaXN0PiBDb250YWlu
ZXJOb2RlOjpnZXRFCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgaWYgKGRvY3VtZW50KCkuaXNI
VE1MRG9jdW1lbnQoKSkKLSAgICAgICAgcmV0dXJuIGVuc3VyZVJhcmVEYXRhKCkuZW5zdXJlTm9k
ZUxpc3RzKCkuYWRkQ2FjaGVXaXRoQXRvbWljTmFtZTxIVE1MVGFnTm9kZUxpc3Q+KCp0aGlzLCBM
aXZlTm9kZUxpc3Q6OlR5cGU6OkhUTUxUYWdOb2RlTGlzdFR5cGUsIGxvY2FsTmFtZSk7Ci0gICAg
cmV0dXJuIGVuc3VyZVJhcmVEYXRhKCkuZW5zdXJlTm9kZUxpc3RzKCkuYWRkQ2FjaGVXaXRoQXRv
bWljTmFtZTxUYWdOb2RlTGlzdD4oKnRoaXMsIExpdmVOb2RlTGlzdDo6VHlwZTo6VGFnTm9kZUxp
c3RUeXBlLCBsb2NhbE5hbWUpOworICAgICAgICByZXR1cm4gZW5zdXJlUmFyZURhdGEoKS5lbnN1
cmVOb2RlTGlzdHMoKS5hZGRDYWNoZVdpdGhBdG9taWNOYW1lPEhUTUxUYWdOb2RlTGlzdD4oKnRo
aXMsIGxvY2FsTmFtZSk7CisgICAgcmV0dXJuIGVuc3VyZVJhcmVEYXRhKCkuZW5zdXJlTm9kZUxp
c3RzKCkuYWRkQ2FjaGVXaXRoQXRvbWljTmFtZTxUYWdOb2RlTGlzdD4oKnRoaXMsIGxvY2FsTmFt
ZSk7CiB9CiAKIFBhc3NSZWZQdHI8Tm9kZUxpc3Q+IENvbnRhaW5lck5vZGU6OmdldEVsZW1lbnRz
QnlUYWdOYW1lTlMoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lc3BhY2VVUkksIGNvbnN0IEF0b21p
Y1N0cmluZyYgbG9jYWxOYW1lKQpAQCAtMTAzNSwxOCArMTAzNSwxOCBAQCBQYXNzUmVmUHRyPE5v
ZGVMaXN0PiBDb250YWluZXJOb2RlOjpnZXRFCiAKIFBhc3NSZWZQdHI8Tm9kZUxpc3Q+IENvbnRh
aW5lck5vZGU6OmdldEVsZW1lbnRzQnlOYW1lKGNvbnN0IFN0cmluZyYgZWxlbWVudE5hbWUpCiB7
Ci0gICAgcmV0dXJuIGVuc3VyZVJhcmVEYXRhKCkuZW5zdXJlTm9kZUxpc3RzKCkuYWRkQ2FjaGVX
aXRoQXRvbWljTmFtZTxOYW1lTm9kZUxpc3Q+KCp0aGlzLCBMaXZlTm9kZUxpc3Q6OlR5cGU6Ok5h
bWVOb2RlTGlzdFR5cGUsIGVsZW1lbnROYW1lKTsKKyAgICByZXR1cm4gZW5zdXJlUmFyZURhdGEo
KS5lbnN1cmVOb2RlTGlzdHMoKS5hZGRDYWNoZVdpdGhBdG9taWNOYW1lPE5hbWVOb2RlTGlzdD4o
KnRoaXMsIGVsZW1lbnROYW1lKTsKIH0KIAogUGFzc1JlZlB0cjxOb2RlTGlzdD4gQ29udGFpbmVy
Tm9kZTo6Z2V0RWxlbWVudHNCeUNsYXNzTmFtZShjb25zdCBTdHJpbmcmIGNsYXNzTmFtZXMpCiB7
Ci0gICAgcmV0dXJuIGVuc3VyZVJhcmVEYXRhKCkuZW5zdXJlTm9kZUxpc3RzKCkuYWRkQ2FjaGVX
aXRoTmFtZTxDbGFzc05vZGVMaXN0PigqdGhpcywgTGl2ZU5vZGVMaXN0OjpUeXBlOjpDbGFzc05v
ZGVMaXN0VHlwZSwgY2xhc3NOYW1lcyk7CisgICAgcmV0dXJuIGVuc3VyZVJhcmVEYXRhKCkuZW5z
dXJlTm9kZUxpc3RzKCkuYWRkQ2FjaGVXaXRoTmFtZTxDbGFzc05vZGVMaXN0PigqdGhpcywgY2xh
c3NOYW1lcyk7CiB9CiAKIFBhc3NSZWZQdHI8UmFkaW9Ob2RlTGlzdD4gQ29udGFpbmVyTm9kZTo6
cmFkaW9Ob2RlTGlzdChjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUpCiB7CiAgICAgQVNTRVJUKGhh
c1RhZ05hbWUoSFRNTE5hbWVzOjpmb3JtVGFnKSB8fCBoYXNUYWdOYW1lKEhUTUxOYW1lczo6Zmll
bGRzZXRUYWcpKTsKLSAgICByZXR1cm4gZW5zdXJlUmFyZURhdGEoKS5lbnN1cmVOb2RlTGlzdHMo
KS5hZGRDYWNoZVdpdGhBdG9taWNOYW1lPFJhZGlvTm9kZUxpc3Q+KCp0aGlzLCBMaXZlTm9kZUxp
c3Q6OlR5cGU6OlJhZGlvTm9kZUxpc3RUeXBlLCBuYW1lKTsKKyAgICByZXR1cm4gZW5zdXJlUmFy
ZURhdGEoKS5lbnN1cmVOb2RlTGlzdHMoKS5hZGRDYWNoZVdpdGhBdG9taWNOYW1lPFJhZGlvTm9k
ZUxpc3Q+KCp0aGlzLCBuYW1lKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDog
U291cmNlL1dlYkNvcmUvZG9tL0xpdmVOb2RlTGlzdC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvZG9tL0xpdmVOb2RlTGlzdC5jcHAJKHJldmlzaW9uIDE2NjM2OSkKKysrIFNvdXJj
ZS9XZWJDb3JlL2RvbS9MaXZlTm9kZUxpc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSwxNSAr
MzEsMTMgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1MaXZlTm9kZUxpc3Q6OkxpdmVOb2Rl
TGlzdChDb250YWluZXJOb2RlJiBvd25lck5vZGUsIFR5cGUgdHlwZSwgTm9kZUxpc3RJbnZhbGlk
YXRpb25UeXBlIGludmFsaWRhdGlvblR5cGUsIE5vZGVMaXN0Um9vdFR5cGUgcm9vdFR5cGUpCitM
aXZlTm9kZUxpc3Q6OkxpdmVOb2RlTGlzdChDb250YWluZXJOb2RlJiBvd25lck5vZGUsIE5vZGVM
aXN0SW52YWxpZGF0aW9uVHlwZSBpbnZhbGlkYXRpb25UeXBlLCBOb2RlTGlzdFJvb3RUeXBlIHJv
b3RUeXBlKQogICAgIDogbV9vd25lck5vZGUob3duZXJOb2RlKQogICAgICwgbV9yb290VHlwZShy
b290VHlwZSkKICAgICAsIG1faW52YWxpZGF0aW9uVHlwZShpbnZhbGlkYXRpb25UeXBlKQotICAg
ICwgbV90eXBlKHN0YXRpY19jYXN0PHVuc2lnbmVkPih0eXBlKSkKIHsKICAgICBBU1NFUlQobV9y
b290VHlwZSA9PSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4ocm9vdFR5cGUpKTsKICAgICBBU1NFUlQo
bV9pbnZhbGlkYXRpb25UeXBlID09IHN0YXRpY19jYXN0PHVuc2lnbmVkPihpbnZhbGlkYXRpb25U
eXBlKSk7Ci0gICAgQVNTRVJUKG1fdHlwZSA9PSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4odHlwZSkp
OwogfQogCiBMaXZlTm9kZUxpc3Q6On5MaXZlTm9kZUxpc3QoKQpJbmRleDogU291cmNlL1dlYkNv
cmUvZG9tL0xpdmVOb2RlTGlzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9M
aXZlTm9kZUxpc3QuaAkocmV2aXNpb24gMTY2MzY5KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0xp
dmVOb2RlTGlzdC5oCSh3b3JraW5nIGNvcHkpCkBAIC00NiwxNiArNDYsNyBAQCBzdGF0aWMgYm9v
bCBzaG91bGRJbnZhbGlkYXRlVHlwZU9uQXR0cmliCiAKIGNsYXNzIExpdmVOb2RlTGlzdCA6IHB1
YmxpYyBOb2RlTGlzdCB7CiBwdWJsaWM6Ci0gICAgZW51bSBjbGFzcyBUeXBlIHsKLSAgICAgICAg
Q2xhc3NOb2RlTGlzdFR5cGUsCi0gICAgICAgIE5hbWVOb2RlTGlzdFR5cGUsCi0gICAgICAgIFRh
Z05vZGVMaXN0VHlwZSwKLSAgICAgICAgSFRNTFRhZ05vZGVMaXN0VHlwZSwKLSAgICAgICAgUmFk
aW9Ob2RlTGlzdFR5cGUsCi0gICAgICAgIExhYmVsc05vZGVMaXN0VHlwZSwKLSAgICB9OwotCi0g
ICAgTGl2ZU5vZGVMaXN0KENvbnRhaW5lck5vZGUmIG93bmVyTm9kZSwgVHlwZSwgTm9kZUxpc3RJ
bnZhbGlkYXRpb25UeXBlLCBOb2RlTGlzdFJvb3RUeXBlKTsKKyAgICBMaXZlTm9kZUxpc3QoQ29u
dGFpbmVyTm9kZSYgb3duZXJOb2RlLCBOb2RlTGlzdEludmFsaWRhdGlvblR5cGUsIE5vZGVMaXN0
Um9vdFR5cGUpOwogICAgIHZpcnR1YWwgTm9kZSogbmFtZWRJdGVtKGNvbnN0IEF0b21pY1N0cmlu
ZyYpIGNvbnN0IG92ZXJyaWRlIGZpbmFsOwogICAgIHZpcnR1YWwgYm9vbCBub2RlTWF0Y2hlcyhF
bGVtZW50KikgY29uc3QgPSAwOwogCkBAIC02Myw3ICs1NCw2IEBAIHB1YmxpYzoKIAogICAgIEFM
V0FZU19JTkxJTkUgYm9vbCBpc1Jvb3RlZEF0RG9jdW1lbnQoKSBjb25zdCB7IHJldHVybiBtX3Jv
b3RUeXBlID09IE5vZGVMaXN0SXNSb290ZWRBdERvY3VtZW50OyB9CiAgICAgQUxXQVlTX0lOTElO
RSBOb2RlTGlzdEludmFsaWRhdGlvblR5cGUgaW52YWxpZGF0aW9uVHlwZSgpIGNvbnN0IHsgcmV0
dXJuIHN0YXRpY19jYXN0PE5vZGVMaXN0SW52YWxpZGF0aW9uVHlwZT4obV9pbnZhbGlkYXRpb25U
eXBlKTsgfQotICAgIEFMV0FZU19JTkxJTkUgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gc3Rh
dGljX2Nhc3Q8VHlwZT4obV90eXBlKTsgfQogICAgIENvbnRhaW5lck5vZGUmIG93bmVyTm9kZSgp
IGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8Q29udGFpbmVyTm9kZSY+KG1fb3duZXJOb2RlLmdl
dCgpKTsgfQogICAgIEFMV0FZU19JTkxJTkUgdm9pZCBpbnZhbGlkYXRlQ2FjaGVGb3JBdHRyaWJ1
dGUoY29uc3QgUXVhbGlmaWVkTmFtZSogYXR0ck5hbWUpIGNvbnN0CiAgICAgewpAQCAtODcsNyAr
NzcsNiBAQCBwcml2YXRlOgogCiAgICAgY29uc3QgdW5zaWduZWQgbV9yb290VHlwZSA6IDE7CiAg
ICAgY29uc3QgdW5zaWduZWQgbV9pbnZhbGlkYXRpb25UeXBlIDogNDsKLSAgICBjb25zdCB1bnNp
Z25lZCBtX3R5cGUgOiAzOwogfTsKIAogdGVtcGxhdGUgPGNsYXNzIE5vZGVMaXN0VHlwZT4KQEAg
LTExMCw3ICs5OSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHNpemVfdCBtZW1vcnlDb3N0KCkg
Y29uc3Qgb3ZlcnJpZGU7CiAKIHByb3RlY3RlZDoKLSAgICBDYWNoZWRMaXZlTm9kZUxpc3QoQ29u
dGFpbmVyTm9kZSYgcm9vdE5vZGUsIFR5cGUsIE5vZGVMaXN0SW52YWxpZGF0aW9uVHlwZSwgTm9k
ZUxpc3RSb290VHlwZSA9IE5vZGVMaXN0SXNSb290ZWRBdE5vZGUpOworICAgIENhY2hlZExpdmVO
b2RlTGlzdChDb250YWluZXJOb2RlJiByb290Tm9kZSwgTm9kZUxpc3RJbnZhbGlkYXRpb25UeXBl
LCBOb2RlTGlzdFJvb3RUeXBlID0gTm9kZUxpc3RJc1Jvb3RlZEF0Tm9kZSk7CiAKIHByaXZhdGU6
CiAgICAgbXV0YWJsZSBDb2xsZWN0aW9uSW5kZXhDYWNoZTxOb2RlTGlzdFR5cGUsIEVsZW1lbnQ+
IG1faW5kZXhDYWNoZTsKQEAgLTE0OSw4ICsxMzgsOCBAQCBpbmxpbmUgQ29udGFpbmVyTm9kZSYg
TGl2ZU5vZGVMaXN0Ojpyb290CiB9CiAKIHRlbXBsYXRlIDxjbGFzcyBOb2RlTGlzdFR5cGU+Ci1D
YWNoZWRMaXZlTm9kZUxpc3Q8Tm9kZUxpc3RUeXBlPjo6Q2FjaGVkTGl2ZU5vZGVMaXN0KENvbnRh
aW5lck5vZGUmIG93bmVyTm9kZSwgVHlwZSB0eXBlLCBOb2RlTGlzdEludmFsaWRhdGlvblR5cGUg
aW52YWxpZGF0aW9uVHlwZSwgTm9kZUxpc3RSb290VHlwZSByb290VHlwZSkKLSAgICA6IExpdmVO
b2RlTGlzdChvd25lck5vZGUsIHR5cGUsIGludmFsaWRhdGlvblR5cGUsIHJvb3RUeXBlKQorQ2Fj
aGVkTGl2ZU5vZGVMaXN0PE5vZGVMaXN0VHlwZT46OkNhY2hlZExpdmVOb2RlTGlzdChDb250YWlu
ZXJOb2RlJiBvd25lck5vZGUsIE5vZGVMaXN0SW52YWxpZGF0aW9uVHlwZSBpbnZhbGlkYXRpb25U
eXBlLCBOb2RlTGlzdFJvb3RUeXBlIHJvb3RUeXBlKQorICAgIDogTGl2ZU5vZGVMaXN0KG93bmVy
Tm9kZSwgaW52YWxpZGF0aW9uVHlwZSwgcm9vdFR5cGUpCiB7CiB9CiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2RvbS9OYW1lTm9kZUxpc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2RvbS9OYW1lTm9kZUxpc3QuY3BwCShyZXZpc2lvbiAxNjYzNjkpCisrKyBTb3VyY2UvV2ViQ29y
ZS9kb20vTmFtZU5vZGVMaXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCiBOYW1lTm9k
ZUxpc3Q6Ok5hbWVOb2RlTGlzdChDb250YWluZXJOb2RlJiByb290Tm9kZSwgY29uc3QgQXRvbWlj
U3RyaW5nJiBuYW1lKQotICAgIDogQ2FjaGVkTGl2ZU5vZGVMaXN0KHJvb3ROb2RlLCBUeXBlOjpO
YW1lTm9kZUxpc3RUeXBlLCBJbnZhbGlkYXRlT25OYW1lQXR0ckNoYW5nZSkKKyAgICA6IENhY2hl
ZExpdmVOb2RlTGlzdChyb290Tm9kZSwgSW52YWxpZGF0ZU9uTmFtZUF0dHJDaGFuZ2UpCiAgICAg
LCBtX25hbWUobmFtZSkKIHsKIH0KQEAgLTQwLDkgKzQwLDQgQEAgTmFtZU5vZGVMaXN0Ojp+TmFt
ZU5vZGVMaXN0KCkKICAgICBvd25lck5vZGUoKS5ub2RlTGlzdHMoKS0+cmVtb3ZlQ2FjaGVXaXRo
QXRvbWljTmFtZSh0aGlzLCBtX25hbWUpOwogfSAKIAotYm9vbCBOYW1lTm9kZUxpc3Q6Om5vZGVN
YXRjaGVzKEVsZW1lbnQqIHRlc3ROb2RlKSBjb25zdAotewotICAgIHJldHVybiB0ZXN0Tm9kZS0+
Z2V0TmFtZUF0dHJpYnV0ZSgpID09IG1fbmFtZTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL05hbWVOb2RlTGlzdC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2RvbS9OYW1lTm9kZUxpc3QuaAkocmV2aXNpb24gMTY2MzY5KQorKysg
U291cmNlL1dlYkNvcmUvZG9tL05hbWVOb2RlTGlzdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw5
ICszMyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIE5vZGVMaXN0IHdoaWNoIGxpc3RzIGFs
bCBOb2RlcyBpbiBhIEVsZW1lbnQgd2l0aCBhIGdpdmVuICJuYW1lIiBhdHRyaWJ1dGUKIGNsYXNz
IE5hbWVOb2RlTGlzdCBmaW5hbCA6IHB1YmxpYyBDYWNoZWRMaXZlTm9kZUxpc3Q8TmFtZU5vZGVM
aXN0PiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8TmFtZU5vZGVMaXN0PiBjcmVh
dGUoQ29udGFpbmVyTm9kZSYgcm9vdE5vZGUsIFR5cGUgdHlwZSwgY29uc3QgQXRvbWljU3RyaW5n
JiBuYW1lKQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5hbWVOb2RlTGlzdD4gY3JlYXRlKENvbnRh
aW5lck5vZGUmIHJvb3ROb2RlLCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUpCiAgICAgewotICAg
ICAgICBBU1NFUlRfVU5VU0VEKHR5cGUsIHR5cGUgPT0gVHlwZTo6TmFtZU5vZGVMaXN0VHlwZSk7
CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgTmFtZU5vZGVMaXN0KHJvb3ROb2RlLCBuYW1l
KSk7CiAgICAgfQogCkBAIC00OSw2ICs0OCwxMSBAQCBwcml2YXRlOgogICAgIEF0b21pY1N0cmlu
ZyBtX25hbWU7CiB9OwogCitpbmxpbmUgYm9vbCBOYW1lTm9kZUxpc3Q6Om5vZGVNYXRjaGVzKEVs
ZW1lbnQqIGVsZW1lbnQpIGNvbnN0Cit7CisgICAgcmV0dXJuIGVsZW1lbnQtPmdldE5hbWVBdHRy
aWJ1dGUoKSA9PSBtX25hbWU7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlm
IC8vIE5hbWVOb2RlTGlzdF9oCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRh
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCShyZXZp
c2lvbiAxNjYyOTApCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmgJKHdvcmtp
bmcgY29weSkKQEAgLTQ5LDYgKzQ5LDE0IEBAIGNsYXNzIExhYmVsc05vZGVMaXN0OwogY2xhc3Mg
UmFkaW9Ob2RlTGlzdDsKIGNsYXNzIFRyZWVTY29wZTsKIAordGVtcGxhdGUgPGNsYXNzIExpc3RU
eXBlPiBzdHJ1Y3QgTm9kZUxpc3RUeXBlSWRlbnRpZmllcjsKK3RlbXBsYXRlIDw+IHN0cnVjdCBO
b2RlTGlzdFR5cGVJZGVudGlmaWVyPENsYXNzTm9kZUxpc3Q+IHsgc3RhdGljIGludCB2YWx1ZSgp
IHsgcmV0dXJuIDA7IH0gfTsKK3RlbXBsYXRlIDw+IHN0cnVjdCBOb2RlTGlzdFR5cGVJZGVudGlm
aWVyPE5hbWVOb2RlTGlzdD4geyBzdGF0aWMgaW50IHZhbHVlKCkgeyByZXR1cm4gMTsgfSB9Owor
dGVtcGxhdGUgPD4gc3RydWN0IE5vZGVMaXN0VHlwZUlkZW50aWZpZXI8VGFnTm9kZUxpc3Q+IHsg
c3RhdGljIGludCB2YWx1ZSgpIHsgcmV0dXJuIDI7IH0gfTsKK3RlbXBsYXRlIDw+IHN0cnVjdCBO
b2RlTGlzdFR5cGVJZGVudGlmaWVyPEhUTUxUYWdOb2RlTGlzdD4geyBzdGF0aWMgaW50IHZhbHVl
KCkgeyByZXR1cm4gMzsgfSB9OwordGVtcGxhdGUgPD4gc3RydWN0IE5vZGVMaXN0VHlwZUlkZW50
aWZpZXI8UmFkaW9Ob2RlTGlzdD4geyBzdGF0aWMgaW50IHZhbHVlKCkgeyByZXR1cm4gNDsgfSB9
OwordGVtcGxhdGUgPD4gc3RydWN0IE5vZGVMaXN0VHlwZUlkZW50aWZpZXI8TGFiZWxzTm9kZUxp
c3Q+IHsgc3RhdGljIGludCB2YWx1ZSgpIHsgcmV0dXJuIDU7IH0gfTsKKwogY2xhc3MgTm9kZUxp
c3RzTm9kZURhdGEgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5vZGVMaXN0c05vZGVEYXRh
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CkBAIC0xMTAsMjEgKzExOCwyMSBA
QCBwdWJsaWM6CiAgICAgdHlwZWRlZiBIYXNoTWFwPFF1YWxpZmllZE5hbWUsIFRhZ05vZGVMaXN0
Kj4gVGFnTm9kZUxpc3RDYWNoZU5TOwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5h
bWUgQ29udGFpbmVyVHlwZT4KLSAgICBQYXNzUmVmUHRyPFQ+IGFkZENhY2hlV2l0aEF0b21pY05h
bWUoQ29udGFpbmVyVHlwZSYgY29udGFpbmVyLCBMaXZlTm9kZUxpc3Q6OlR5cGUgdHlwZSwgY29u
c3QgQXRvbWljU3RyaW5nJiBuYW1lKQorICAgIFBhc3NSZWZQdHI8VD4gYWRkQ2FjaGVXaXRoQXRv
bWljTmFtZShDb250YWluZXJUeXBlJiBjb250YWluZXIsIGNvbnN0IEF0b21pY1N0cmluZyYgbmFt
ZSkKICAgICB7Ci0gICAgICAgIE5vZGVMaXN0QXRvbWljTmFtZUNhY2hlTWFwOjpBZGRSZXN1bHQg
cmVzdWx0ID0gbV9hdG9taWNOYW1lQ2FjaGVzLmFkZChuYW1lZE5vZGVMaXN0S2V5KHR5cGUsIG5h
bWUpLCBudWxscHRyKTsKKyAgICAgICAgTm9kZUxpc3RBdG9taWNOYW1lQ2FjaGVNYXA6OkFkZFJl
c3VsdCByZXN1bHQgPSBtX2F0b21pY05hbWVDYWNoZXMuYWRkKG5hbWVkTm9kZUxpc3RLZXk8VD4o
bmFtZSksIG51bGxwdHIpOwogICAgICAgICBpZiAoIXJlc3VsdC5pc05ld0VudHJ5KQogICAgICAg
ICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFQqPihyZXN1bHQuaXRlcmF0b3ItPnZhbHVlKTsKIAot
ICAgICAgICBSZWZQdHI8VD4gbGlzdCA9IFQ6OmNyZWF0ZShjb250YWluZXIsIHR5cGUsIG5hbWUp
OworICAgICAgICBSZWZQdHI8VD4gbGlzdCA9IFQ6OmNyZWF0ZShjb250YWluZXIsIG5hbWUpOwog
ICAgICAgICByZXN1bHQuaXRlcmF0b3ItPnZhbHVlID0gbGlzdC5nZXQoKTsKICAgICAgICAgcmV0
dXJuIGxpc3QucmVsZWFzZSgpOwogICAgIH0KIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0g
ICAgUGFzc1JlZlB0cjxUPiBhZGRDYWNoZVdpdGhOYW1lKENvbnRhaW5lck5vZGUmIG5vZGUsIExp
dmVOb2RlTGlzdDo6VHlwZSB0eXBlLCBjb25zdCBTdHJpbmcmIG5hbWUpCisgICAgUGFzc1JlZlB0
cjxUPiBhZGRDYWNoZVdpdGhOYW1lKENvbnRhaW5lck5vZGUmIG5vZGUsIGNvbnN0IFN0cmluZyYg
bmFtZSkKICAgICB7Ci0gICAgICAgIE5vZGVMaXN0TmFtZUNhY2hlTWFwOjpBZGRSZXN1bHQgcmVz
dWx0ID0gbV9uYW1lQ2FjaGVzLmFkZChuYW1lZE5vZGVMaXN0S2V5KHR5cGUsIG5hbWUpLCBudWxs
cHRyKTsKKyAgICAgICAgTm9kZUxpc3ROYW1lQ2FjaGVNYXA6OkFkZFJlc3VsdCByZXN1bHQgPSBt
X25hbWVDYWNoZXMuYWRkKG5hbWVkTm9kZUxpc3RLZXk8VD4obmFtZSksIG51bGxwdHIpOwogICAg
ICAgICBpZiAoIXJlc3VsdC5pc05ld0VudHJ5KQogICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19j
YXN0PFQqPihyZXN1bHQuaXRlcmF0b3ItPnZhbHVlKTsKIApAQCAtMTc1LDIwICsxODMsMjIgQEAg
cHVibGljOgogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VCo+KG1fY2FjaGVkQ29sbGVjdGlv
bnMuZ2V0KG5hbWVkQ29sbGVjdGlvbktleShjb2xsZWN0aW9uVHlwZSwgc3RhckF0b20pKSk7CiAg
ICAgfQogCi0gICAgdm9pZCByZW1vdmVDYWNoZVdpdGhBdG9taWNOYW1lKExpdmVOb2RlTGlzdCog
bGlzdCwgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lID0gc3RhckF0b20pCisgICAgdGVtcGxhdGUg
PGNsYXNzIE5vZGVMaXN0VHlwZT4KKyAgICB2b2lkIHJlbW92ZUNhY2hlV2l0aEF0b21pY05hbWUo
Tm9kZUxpc3RUeXBlKiBsaXN0LCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUgPSBzdGFyQXRvbSkK
ICAgICB7Ci0gICAgICAgIEFTU0VSVChsaXN0ID09IG1fYXRvbWljTmFtZUNhY2hlcy5nZXQobmFt
ZWROb2RlTGlzdEtleShsaXN0LT50eXBlKCksIG5hbWUpKSk7CisgICAgICAgIEFTU0VSVChsaXN0
ID09IG1fYXRvbWljTmFtZUNhY2hlcy5nZXQobmFtZWROb2RlTGlzdEtleTxOb2RlTGlzdFR5cGU+
KG5hbWUpKSk7CiAgICAgICAgIGlmIChkZWxldGVUaGlzQW5kVXBkYXRlTm9kZVJhcmVEYXRhSWZB
Ym91dFRvUmVtb3ZlTGFzdExpc3QobGlzdC0+b3duZXJOb2RlKCkpKQogICAgICAgICAgICAgcmV0
dXJuOwotICAgICAgICBtX2F0b21pY05hbWVDYWNoZXMucmVtb3ZlKG5hbWVkTm9kZUxpc3RLZXko
bGlzdC0+dHlwZSgpLCBuYW1lKSk7CisgICAgICAgIG1fYXRvbWljTmFtZUNhY2hlcy5yZW1vdmUo
bmFtZWROb2RlTGlzdEtleTxOb2RlTGlzdFR5cGU+KG5hbWUpKTsKICAgICB9CiAKLSAgICB2b2lk
IHJlbW92ZUNhY2hlV2l0aE5hbWUoTGl2ZU5vZGVMaXN0KiBsaXN0LCBjb25zdCBTdHJpbmcmIG5h
bWUpCisgICAgdGVtcGxhdGUgPGNsYXNzIE5vZGVMaXN0VHlwZT4KKyAgICB2b2lkIHJlbW92ZUNh
Y2hlV2l0aE5hbWUoTm9kZUxpc3RUeXBlKiBsaXN0LCBjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAg
ewotICAgICAgICBBU1NFUlQobGlzdCA9PSBtX25hbWVDYWNoZXMuZ2V0KG5hbWVkTm9kZUxpc3RL
ZXkobGlzdC0+dHlwZSgpLCBuYW1lKSkpOworICAgICAgICBBU1NFUlQobGlzdCA9PSBtX25hbWVD
YWNoZXMuZ2V0KG5hbWVkTm9kZUxpc3RLZXk8Tm9kZUxpc3RUeXBlPihuYW1lKSkpOwogICAgICAg
ICBpZiAoZGVsZXRlVGhpc0FuZFVwZGF0ZU5vZGVSYXJlRGF0YUlmQWJvdXRUb1JlbW92ZUxhc3RM
aXN0KGxpc3QtPm93bmVyTm9kZSgpKSkKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgbV9u
YW1lQ2FjaGVzLnJlbW92ZShuYW1lZE5vZGVMaXN0S2V5KGxpc3QtPnR5cGUoKSwgbmFtZSkpOwor
ICAgICAgICBtX25hbWVDYWNoZXMucmVtb3ZlKG5hbWVkTm9kZUxpc3RLZXk8Tm9kZUxpc3RUeXBl
PihuYW1lKSk7CiAgICAgfQogCiAgICAgdm9pZCByZW1vdmVDYWNoZVdpdGhRdWFsaWZpZWROYW1l
KExpdmVOb2RlTGlzdCogbGlzdCwgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lc3BhY2VVUkksIGNv
bnN0IEF0b21pY1N0cmluZyYgbG9jYWxOYW1lKQpAQCAtMjU5LDkgKzI2OSwxMCBAQCBwcml2YXRl
OgogICAgICAgICByZXR1cm4gc3RkOjpwYWlyPHVuc2lnbmVkIGNoYXIsIEF0b21pY1N0cmluZz4o
dHlwZSwgbmFtZSk7CiAgICAgfQogCi0gICAgc3RkOjpwYWlyPHVuc2lnbmVkIGNoYXIsIFN0cmlu
Zz4gbmFtZWROb2RlTGlzdEtleShMaXZlTm9kZUxpc3Q6OlR5cGUgdHlwZSwgY29uc3QgU3RyaW5n
JiBuYW1lKQorICAgIHRlbXBsYXRlIDxjbGFzcyBOb2RlTGlzdFR5cGU+CisgICAgc3RkOjpwYWly
PHVuc2lnbmVkIGNoYXIsIFN0cmluZz4gbmFtZWROb2RlTGlzdEtleShjb25zdCBTdHJpbmcmIG5h
bWUpCiAgICAgewotICAgICAgICByZXR1cm4gc3RkOjpwYWlyPHVuc2lnbmVkIGNoYXIsIFN0cmlu
Zz4oc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcj4odHlwZSksIG5hbWUpOworICAgICAgICByZXR1
cm4gc3RkOjpwYWlyPHVuc2lnbmVkIGNoYXIsIFN0cmluZz4oTm9kZUxpc3RUeXBlSWRlbnRpZmll
cjxOb2RlTGlzdFR5cGU+Ojp2YWx1ZSgpLCBuYW1lKTsKICAgICB9CiAKICAgICBib29sIGRlbGV0
ZVRoaXNBbmRVcGRhdGVOb2RlUmFyZURhdGFJZkFib3V0VG9SZW1vdmVMYXN0TGlzdChOb2RlJik7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vVGFnTm9kZUxpc3QuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2RvbS9UYWdOb2RlTGlzdC5jcHAJKHJldmlzaW9uIDE2NjM2OSkKKysr
IFNvdXJjZS9XZWJDb3JlL2RvbS9UYWdOb2RlTGlzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5
LDcgKzI5LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogVGFnTm9kZUxpc3Q6OlRhZ05vZGVM
aXN0KENvbnRhaW5lck5vZGUmIHJvb3ROb2RlLCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWVzcGFj
ZVVSSSwgY29uc3QgQXRvbWljU3RyaW5nJiBsb2NhbE5hbWUpCi0gICAgOiBDYWNoZWRMaXZlTm9k
ZUxpc3Qocm9vdE5vZGUsIFR5cGU6OlRhZ05vZGVMaXN0VHlwZSwgRG9Ob3RJbnZhbGlkYXRlT25B
dHRyaWJ1dGVDaGFuZ2VzKQorICAgIDogQ2FjaGVkTGl2ZU5vZGVMaXN0KHJvb3ROb2RlLCBEb05v
dEludmFsaWRhdGVPbkF0dHJpYnV0ZUNoYW5nZXMpCiAgICAgLCBtX25hbWVzcGFjZVVSSShuYW1l
c3BhY2VVUkkpCiAgICAgLCBtX2xvY2FsTmFtZShsb2NhbE5hbWUpCiB7CkBAIC00NSw3ICs0NSw3
IEBAIFRhZ05vZGVMaXN0Ojp+VGFnTm9kZUxpc3QoKQogfQogCiBIVE1MVGFnTm9kZUxpc3Q6OkhU
TUxUYWdOb2RlTGlzdChDb250YWluZXJOb2RlJiByb290Tm9kZSwgY29uc3QgQXRvbWljU3RyaW5n
JiBsb2NhbE5hbWUpCi0gICAgOiBDYWNoZWRMaXZlTm9kZUxpc3Qocm9vdE5vZGUsIFR5cGU6OkhU
TUxUYWdOb2RlTGlzdFR5cGUsIERvTm90SW52YWxpZGF0ZU9uQXR0cmlidXRlQ2hhbmdlcykKKyAg
ICA6IENhY2hlZExpdmVOb2RlTGlzdChyb290Tm9kZSwgRG9Ob3RJbnZhbGlkYXRlT25BdHRyaWJ1
dGVDaGFuZ2VzKQogICAgICwgbV9sb2NhbE5hbWUobG9jYWxOYW1lKQogICAgICwgbV9sb3dlcmVk
TG9jYWxOYW1lKGxvY2FsTmFtZS5sb3dlcigpKQogewpJbmRleDogU291cmNlL1dlYkNvcmUvZG9t
L1RhZ05vZGVMaXN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1RhZ05vZGVM
aXN0LmgJKHJldmlzaW9uIDE2NjM2OSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9UYWdOb2RlTGlz
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw5ICszOSw4IEBAIHB1YmxpYzoKICAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBUYWdOb2RlTGlzdChyb290Tm9kZSwgbmFtZXNwYWNlVVJJLCBsb2Nh
bE5hbWUpKTsKICAgICB9CiAKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxUYWdOb2RlTGlzdD4gY3Jl
YXRlKENvbnRhaW5lck5vZGUmIHJvb3ROb2RlLCBUeXBlIHR5cGUsIGNvbnN0IEF0b21pY1N0cmlu
ZyYgbG9jYWxOYW1lKQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRhZ05vZGVMaXN0PiBjcmVhdGUo
Q29udGFpbmVyTm9kZSYgcm9vdE5vZGUsIGNvbnN0IEF0b21pY1N0cmluZyYgbG9jYWxOYW1lKQog
ICAgIHsKLSAgICAgICAgQVNTRVJUX1VOVVNFRCh0eXBlLCB0eXBlID09IFR5cGU6OlRhZ05vZGVM
aXN0VHlwZSk7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgVGFnTm9kZUxpc3Qocm9vdE5v
ZGUsIHN0YXJBdG9tLCBsb2NhbE5hbWUpKTsKICAgICB9CiAKQEAgLTY3LDkgKzY2LDggQEAgaW5s
aW5lIGJvb2wgVGFnTm9kZUxpc3Q6Om5vZGVNYXRjaGVzKEVsZQogCiBjbGFzcyBIVE1MVGFnTm9k
ZUxpc3QgZmluYWwgOiBwdWJsaWMgQ2FjaGVkTGl2ZU5vZGVMaXN0PEhUTUxUYWdOb2RlTGlzdD4g
ewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPEhUTUxUYWdOb2RlTGlzdD4gY3JlYXRl
KENvbnRhaW5lck5vZGUmIHJvb3ROb2RlLCBUeXBlIHR5cGUsIGNvbnN0IEF0b21pY1N0cmluZyYg
bG9jYWxOYW1lKQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEhUTUxUYWdOb2RlTGlzdD4gY3JlYXRl
KENvbnRhaW5lck5vZGUmIHJvb3ROb2RlLCBjb25zdCBBdG9taWNTdHJpbmcmIGxvY2FsTmFtZSkK
ICAgICB7Ci0gICAgICAgIEFTU0VSVF9VTlVTRUQodHlwZSwgdHlwZSA9PSBUeXBlOjpIVE1MVGFn
Tm9kZUxpc3RUeXBlKTsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBIVE1MVGFnTm9kZUxp
c3Qocm9vdE5vZGUsIGxvY2FsTmFtZSkpOwogICAgIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUv
aHRtbC9MYWJlbGFibGVFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL0xhYmVsYWJsZUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNjYyOTApCisrKyBTb3VyY2UvV2Vi
Q29yZS9odG1sL0xhYmVsYWJsZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NSw3ICs0
NSw3IEBAIFBhc3NSZWZQdHI8Tm9kZUxpc3Q+IExhYmVsYWJsZUVsZW1lbnQ6OmwKICAgICBpZiAo
IXN1cHBvcnRMYWJlbHMoKSkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICByZXR1cm4gZW5zdXJl
UmFyZURhdGEoKS5lbnN1cmVOb2RlTGlzdHMoKS5hZGRDYWNoZVdpdGhBdG9taWNOYW1lPExhYmVs
c05vZGVMaXN0PigqdGhpcywgTGl2ZU5vZGVMaXN0OjpUeXBlOjpMYWJlbHNOb2RlTGlzdFR5cGUs
IHN0YXJBdG9tKTsKKyAgICByZXR1cm4gZW5zdXJlUmFyZURhdGEoKS5lbnN1cmVOb2RlTGlzdHMo
KS5hZGRDYWNoZVdpdGhBdG9taWNOYW1lPExhYmVsc05vZGVMaXN0PigqdGhpcywgc3RhckF0b20p
OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJjb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1s
L0xhYmVsc05vZGVMaXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0xh
YmVsc05vZGVMaXN0LmNwcAkocmV2aXNpb24gMTY2MzY5KQorKysgU291cmNlL1dlYkNvcmUvaHRt
bC9MYWJlbHNOb2RlTGlzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDcgKzM0LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAogTGFiZWxzTm9k
ZUxpc3Q6OkxhYmVsc05vZGVMaXN0KExhYmVsYWJsZUVsZW1lbnQmIGZvck5vZGUpCi0gICAgOiBD
YWNoZWRMaXZlTm9kZUxpc3QoZm9yTm9kZSwgVHlwZTo6TGFiZWxzTm9kZUxpc3RUeXBlLCBJbnZh
bGlkYXRlT25Gb3JBdHRyQ2hhbmdlLCBOb2RlTGlzdElzUm9vdGVkQXREb2N1bWVudCkKKyAgICA6
IENhY2hlZExpdmVOb2RlTGlzdChmb3JOb2RlLCBJbnZhbGlkYXRlT25Gb3JBdHRyQ2hhbmdlLCBO
b2RlTGlzdElzUm9vdGVkQXREb2N1bWVudCkKIHsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUv
aHRtbC9MYWJlbHNOb2RlTGlzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwv
TGFiZWxzTm9kZUxpc3QuaAkocmV2aXNpb24gMTY2MzY5KQorKysgU291cmNlL1dlYkNvcmUvaHRt
bC9MYWJlbHNOb2RlTGlzdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw5ICszMiw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgTGFiZWxzTm9kZUxpc3QgZmluYWwgOiBwdWJsaWMgQ2Fj
aGVkTGl2ZU5vZGVMaXN0PExhYmVsc05vZGVMaXN0PiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBh
c3NSZWY8TGFiZWxzTm9kZUxpc3Q+IGNyZWF0ZShMYWJlbGFibGVFbGVtZW50JiBmb3JOb2RlLCBU
eXBlIHR5cGUsIGNvbnN0IEF0b21pY1N0cmluZyYpCisgICAgc3RhdGljIFBhc3NSZWY8TGFiZWxz
Tm9kZUxpc3Q+IGNyZWF0ZShMYWJlbGFibGVFbGVtZW50JiBmb3JOb2RlLCBjb25zdCBBdG9taWNT
dHJpbmcmKQogICAgIHsKLSAgICAgICAgQVNTRVJUX1VOVVNFRCh0eXBlLCB0eXBlID09IFR5cGU6
OkxhYmVsc05vZGVMaXN0VHlwZSk7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IExhYmVs
c05vZGVMaXN0KGZvck5vZGUpKTsKICAgICB9CiAgICAgfkxhYmVsc05vZGVMaXN0KCk7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9odG1sL1JhZGlvTm9kZUxpc3QuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2h0bWwvUmFkaW9Ob2RlTGlzdC5jcHAJKHJldmlzaW9uIDE2NjM2OSkKKysr
IFNvdXJjZS9XZWJDb3JlL2h0bWwvUmFkaW9Ob2RlTGlzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTM4LDcgKzM4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIEhUTUxO
YW1lczsKIAogUmFkaW9Ob2RlTGlzdDo6UmFkaW9Ob2RlTGlzdChDb250YWluZXJOb2RlJiByb290
Tm9kZSwgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lKQotICAgIDogQ2FjaGVkTGl2ZU5vZGVMaXN0
KHJvb3ROb2RlLCBUeXBlOjpSYWRpb05vZGVMaXN0VHlwZSwgSW52YWxpZGF0ZUZvckZvcm1Db250
cm9scywgaXNIVE1MRm9ybUVsZW1lbnQocm9vdE5vZGUpID8gTm9kZUxpc3RJc1Jvb3RlZEF0RG9j
dW1lbnQgOiBOb2RlTGlzdElzUm9vdGVkQXROb2RlKQorICAgIDogQ2FjaGVkTGl2ZU5vZGVMaXN0
KHJvb3ROb2RlLCBJbnZhbGlkYXRlRm9yRm9ybUNvbnRyb2xzLCBpc0hUTUxGb3JtRWxlbWVudChy
b290Tm9kZSkgPyBOb2RlTGlzdElzUm9vdGVkQXREb2N1bWVudCA6IE5vZGVMaXN0SXNSb290ZWRB
dE5vZGUpCiAgICAgLCBtX25hbWUobmFtZSkKIHsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0
bWwvUmFkaW9Ob2RlTGlzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvUmFk
aW9Ob2RlTGlzdC5oCShyZXZpc2lvbiAxNjYzNjkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL1Jh
ZGlvTm9kZUxpc3QuaAkod29ya2luZyBjb3B5KQpAQCAtMzQsOSArMzQsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIFJhZGlvTm9kZUxpc3QgZmluYWwgOiBwdWJsaWMgQ2FjaGVkTGl2
ZU5vZGVMaXN0PFJhZGlvTm9kZUxpc3Q+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0
cjxSYWRpb05vZGVMaXN0PiBjcmVhdGUoQ29udGFpbmVyTm9kZSYgcm9vdE5vZGUsIFR5cGUgdHlw
ZSwgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lKQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFJhZGlv
Tm9kZUxpc3Q+IGNyZWF0ZShDb250YWluZXJOb2RlJiByb290Tm9kZSwgY29uc3QgQXRvbWljU3Ry
aW5nJiBuYW1lKQogICAgIHsKLSAgICAgICAgQVNTRVJUX1VOVVNFRCh0eXBlLCB0eXBlID09IFR5
cGU6OlJhZGlvTm9kZUxpc3RUeXBlKTsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBSYWRp
b05vZGVMaXN0KHJvb3ROb2RlLCBuYW1lKSk7CiAgICAgfQogCg==
</data>
<flag name="review"
          id="252244"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>