<?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>190219</bug_id>
          
          <creation_ts>2018-10-02 14:29:48 -0700</creation_ts>
          <short_desc>Prepare WebCoreNSURLExtras for ARC</short_desc>
          <delta_ts>2018-10-02 15:35:23 -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>New Bugs</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1465760</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-10-02 14:29:48 -0700</bug_when>
    <thetext>Prepare WebCoreNSURLExtras for ARC</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1465761</commentid>
    <comment_count>1</comment_count>
      <attachid>351440</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-10-02 14:30:47 -0700</bug_when>
    <thetext>Created attachment 351440
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1465785</commentid>
    <comment_count>2</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-10-02 15:34:24 -0700</bug_when>
    <thetext>http://trac.webkit.org/r236767</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1465786</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-10-02 15:35:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/44956089&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>351440</attachid>
            <date>2018-10-02 14:30:47 -0700</date>
            <delta_ts>2018-10-02 15:31:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190219-20181002143047.patch</filename>
            <type>text/plain</type>
            <size>16257</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzNjc2NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDE4LTEwLTAyICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUHJlcGFyZSBX
ZWJDb3JlTlNVUkxFeHRyYXMgZm9yIEFSQworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTkwMjE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQVJDIGRvZXNuJ3QgbGlrZSB0aGUgZXhwbGljaXQgc2VuZGluZyBv
ZiAtcmVsZWFzZS4KKyAgICAgICAgVXNlIFJldGFpblB0ciBpbnN0ZWFkLgorCisgICAgICAgICog
cGxhdGZvcm0vbWFjL1dlYkNvcmVOU1VSTEV4dHJhcy5tbToKKyAgICAgICAgKFdlYkNvcmU6OmNv
bGxlY3RSYW5nZXNUaGF0TmVlZE1hcHBpbmcpOgorICAgICAgICAoV2ViQ29yZTo6Y29sbGVjdFJh
bmdlc1RoYXROZWVkRW5jb2RpbmcpOgorICAgICAgICAoV2ViQ29yZTo6Y29sbGVjdFJhbmdlc1Ro
YXROZWVkRGVjb2RpbmcpOgorICAgICAgICAoV2ViQ29yZTo6YXBwbHlIb3N0TmFtZUZ1bmN0aW9u
VG9NYWlsVG9VUkxTdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6YXBwbHlIb3N0TmFtZUZ1bmN0
aW9uVG9VUkxTdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6bWFwSG9zdE5hbWVzKToKKyAgICAg
ICAgKFdlYkNvcmU6OnN0cmluZ0J5VHJpbW1pbmdXaGl0ZXNwYWNlKToKKyAgICAgICAgKFdlYkNv
cmU6OlVSTFdpdGhVc2VyVHlwZWRTdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6dXNlclZpc2li
bGVTdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6cmFuZ2VPZlVSTFNjaGVtZSk6CisgICAgICAg
IChXZWJDb3JlOjpsb29rc0xpa2VBYnNvbHV0ZVVSTCk6CisgICAgICAgIChXZWJDb3JlOjpyZXRh
aW4pOiBEZWxldGVkLgorCiAyMDE4LTEwLTAyICBCYXN1a2UgU3V6dWtpICA8QmFzdWtlLlN1enVr
aUBzb255LmNvbT4KIAogICAgICAgICBbQ3VybF0gRml4IG1pc3NpbmcgdmFsdWVzIG9mICByZXNv
dXJjZSB0aW1pbmcgQVBJLgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNv
cmVOU1VSTEV4dHJhcy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
YWMvV2ViQ29yZU5TVVJMRXh0cmFzLm1tCShyZXZpc2lvbiAyMzY3NjUpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZU5TVVJMRXh0cmFzLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC00NCw3ICs0NCw3IEBACiAjZGVmaW5lIEhPU1RfTkFNRV9CVUZGRVJfTEVOR1RIIDIwNDgKICNk
ZWZpbmUgVVJMX0JZVEVTX0JVRkZFUl9MRU5HVEggMjA0OAogCi10eXBlZGVmIHZvaWQgKCogU3Ry
aW5nUmFuZ2VBcHBsaWVyRnVuY3Rpb24pKE5TU3RyaW5nICpzdHJpbmcsIE5TUmFuZ2UgcmFuZ2Us
IHZvaWQgKmNvbnRleHQpOwordHlwZWRlZiB2b2lkICgqIFN0cmluZ1JhbmdlQXBwbGllckZ1bmN0
aW9uKShOU1N0cmluZyAqLCBOU1JhbmdlLCBSZXRhaW5QdHI8TlNNdXRhYmxlQXJyYXk+Jik7CiAK
IHN0YXRpYyB1aW50MzJfdCBJRE5TY3JpcHRXaGl0ZUxpc3RbKFVTQ1JJUFRfQ09ERV9MSU1JVCAr
IDMxKSAvIDMyXTsKIApAQCAtNjMxLDcgKzYzMSw3IEBAIE5TU3RyaW5nICplbmNvZGVIb3N0TmFt
ZShOU1N0cmluZyAqc3RyaW4KICAgICByZXR1cm4gIWhvc3QgPyBzdHJpbmcgOiBob3N0OwogfQog
Ci1zdGF0aWMgdm9pZCBjb2xsZWN0UmFuZ2VzVGhhdE5lZWRNYXBwaW5nKE5TU3RyaW5nICpzdHJp
bmcsIE5TUmFuZ2UgcmFuZ2UsIHZvaWQgKmNvbnRleHQsIEJPT0wgZW5jb2RlKQorc3RhdGljIHZv
aWQgY29sbGVjdFJhbmdlc1RoYXROZWVkTWFwcGluZyhOU1N0cmluZyAqc3RyaW5nLCBOU1Jhbmdl
IHJhbmdlLCBSZXRhaW5QdHI8TlNNdXRhYmxlQXJyYXk+JiBhcnJheSwgQk9PTCBlbmNvZGUpCiB7
CiAgICAgLy8gR2VuZXJhbGx5LCB3ZSB3YW50IHRvIG9wdGltaXplIGZvciB0aGUgY2FzZSB3aGVy
ZSB0aGVyZSBpcyBvbmUgaG9zdCBuYW1lIHRoYXQgZG9lcyBub3QgbmVlZCBtYXBwaW5nLgogICAg
IC8vIFRoZXJlZm9yZSwgd2UgdXNlIG5pbCB0byBpbmRpY2F0ZSBubyBtYXBwaW5nIGhlcmUgYW5k
IGFuIGVtcHR5IGFycmF5IHRvIGluZGljYXRlIGVycm9yLgpAQCAtNjQxLDQ2ICs2NDEsMzkgQEAg
c3RhdGljIHZvaWQgY29sbGVjdFJhbmdlc1RoYXROZWVkTWFwcGluZwogICAgIGlmICghZXJyb3Ig
JiYgIW5lZWRzTWFwcGluZykKICAgICAgICAgcmV0dXJuOwogICAgIAotICAgIF9fc3Ryb25nIE5T
TXV0YWJsZUFycmF5ICoqYXJyYXkgPSAoX19zdHJvbmcgTlNNdXRhYmxlQXJyYXkgKiopY29udGV4
dDsKLSAgICBpZiAoISphcnJheSkKLSAgICAgICAgKmFycmF5ID0gW1tOU011dGFibGVBcnJheSBh
bGxvY10gaW5pdF07Ci0gICAgCi0gICAgaWYgKCFlcnJvcikKLSAgICAgICAgWyphcnJheSBhZGRP
YmplY3Q6W05TVmFsdWUgdmFsdWVXaXRoUmFuZ2U6cmFuZ2VdXTsKLX0KKyAgICBpZiAoIWFycmF5
KQorICAgICAgICBhcnJheSA9IGFkb3B0TlMoW05TTXV0YWJsZUFycmF5IG5ld10pOwogCi1zdGF0
aWMgdm9pZCBjb2xsZWN0UmFuZ2VzVGhhdE5lZWRFbmNvZGluZyhOU1N0cmluZyAqc3RyaW5nLCBO
U1JhbmdlIHJhbmdlLCB2b2lkICpjb250ZXh0KQotewotICAgIHJldHVybiBjb2xsZWN0UmFuZ2Vz
VGhhdE5lZWRNYXBwaW5nKHN0cmluZywgcmFuZ2UsIGNvbnRleHQsIFlFUyk7CisgICAgaWYgKCFl
cnJvcikKKyAgICAgICAgW2FycmF5IGFkZE9iamVjdDpbTlNWYWx1ZSB2YWx1ZVdpdGhSYW5nZTpy
YW5nZV1dOwogfQogCi1zdGF0aWMgdm9pZCBjb2xsZWN0UmFuZ2VzVGhhdE5lZWREZWNvZGluZyhO
U1N0cmluZyAqc3RyaW5nLCBOU1JhbmdlIHJhbmdlLCB2b2lkICpjb250ZXh0KQorc3RhdGljIHZv
aWQgY29sbGVjdFJhbmdlc1RoYXROZWVkRW5jb2RpbmcoTlNTdHJpbmcgKnN0cmluZywgTlNSYW5n
ZSByYW5nZSwgUmV0YWluUHRyPE5TTXV0YWJsZUFycmF5PiYgYXJyYXkpCiB7Ci0gICAgcmV0dXJu
IGNvbGxlY3RSYW5nZXNUaGF0TmVlZE1hcHBpbmcoc3RyaW5nLCByYW5nZSwgY29udGV4dCwgTk8p
OworICAgIHJldHVybiBjb2xsZWN0UmFuZ2VzVGhhdE5lZWRNYXBwaW5nKHN0cmluZywgcmFuZ2Us
IGFycmF5LCBZRVMpOwogfQogCi1zdGF0aWMgaW5saW5lIE5TQ2hhcmFjdGVyU2V0ICpyZXRhaW4o
TlNDaGFyYWN0ZXJTZXQgKmNoYXJzZXQpCitzdGF0aWMgdm9pZCBjb2xsZWN0UmFuZ2VzVGhhdE5l
ZWREZWNvZGluZyhOU1N0cmluZyAqc3RyaW5nLCBOU1JhbmdlIHJhbmdlLCBSZXRhaW5QdHI8TlNN
dXRhYmxlQXJyYXk+JiBhcnJheSkKIHsKLSAgICBDRlJldGFpbihjaGFyc2V0KTsKLSAgICByZXR1
cm4gY2hhcnNldDsKKyAgICByZXR1cm4gY29sbGVjdFJhbmdlc1RoYXROZWVkTWFwcGluZyhzdHJp
bmcsIHJhbmdlLCBhcnJheSwgTk8pOwogfQogCi1zdGF0aWMgdm9pZCBhcHBseUhvc3ROYW1lRnVu
Y3Rpb25Ub01haWxUb1VSTFN0cmluZyhOU1N0cmluZyAqc3RyaW5nLCBTdHJpbmdSYW5nZUFwcGxp
ZXJGdW5jdGlvbiBmLCB2b2lkICpjb250ZXh0KQorc3RhdGljIHZvaWQgYXBwbHlIb3N0TmFtZUZ1
bmN0aW9uVG9NYWlsVG9VUkxTdHJpbmcoTlNTdHJpbmcgKnN0cmluZywgU3RyaW5nUmFuZ2VBcHBs
aWVyRnVuY3Rpb24gZiwgUmV0YWluUHRyPE5TTXV0YWJsZUFycmF5PiYgYXJyYXkpCiB7CiAgICAg
Ly8gSW4gYSBtYWlsdG86IFVSTCwgaG9zdCBuYW1lcyBjb21lIGFmdGVyIGEgJ0AnIGNoYXJhY3Rl
ciBhbmQgZW5kIHdpdGggYSAnPicgb3IgJywnIG9yICc/JyBjaGFyYWN0ZXIuCiAgICAgLy8gU2tp
cCBxdW90ZWQgc3RyaW5ncyBzbyB0aGF0IGNoYXJhY3RlcnMgaW4gdGhlbSBkb24ndCBjb25mdXNl
IHVzLgogICAgIC8vIFdoZW4gd2UgZmluZCBhICc/JyBjaGFyYWN0ZXIsIHdlIGFyZSBwYXN0IHRo
ZSBwYXJ0IG9mIHRoZSBVUkwgdGhhdCBjb250YWlucyBob3N0IG5hbWVzLgogICAgIAotICAgIHN0
YXRpYyBOU0NoYXJhY3RlclNldCAqaG9zdE5hbWVPclN0cmluZ1N0YXJ0Q2hhcmFjdGVycyA9IHJl
dGFpbihbTlNDaGFyYWN0ZXJTZXQgY2hhcmFjdGVyU2V0V2l0aENoYXJhY3RlcnNJblN0cmluZzpA
IlwiQD8iXSk7Ci0gICAgc3RhdGljIE5TQ2hhcmFjdGVyU2V0ICpob3N0TmFtZUVuZENoYXJhY3Rl
cnMgPSByZXRhaW4oW05TQ2hhcmFjdGVyU2V0IGNoYXJhY3RlclNldFdpdGhDaGFyYWN0ZXJzSW5T
dHJpbmc6QCI+LD8iXSk7Ci0gICAgc3RhdGljIE5TQ2hhcmFjdGVyU2V0ICpxdW90ZWRTdHJpbmdD
aGFyYWN0ZXJzID0gcmV0YWluKFtOU0NoYXJhY3RlclNldCBjaGFyYWN0ZXJTZXRXaXRoQ2hhcmFj
dGVyc0luU3RyaW5nOkAiXCJcXCJdKTsKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8UmV0YWlu
UHRyPE5TQ2hhcmFjdGVyU2V0Pj4gaG9zdE5hbWVPclN0cmluZ1N0YXJ0Q2hhcmFjdGVycyA9IFtO
U0NoYXJhY3RlclNldCBjaGFyYWN0ZXJTZXRXaXRoQ2hhcmFjdGVyc0luU3RyaW5nOkAiXCJAPyJd
OworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxSZXRhaW5QdHI8TlNDaGFyYWN0ZXJTZXQ+PiBo
b3N0TmFtZUVuZENoYXJhY3RlcnMgPSBbTlNDaGFyYWN0ZXJTZXQgY2hhcmFjdGVyU2V0V2l0aENo
YXJhY3RlcnNJblN0cmluZzpAIj4sPyJdOworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxSZXRh
aW5QdHI8TlNDaGFyYWN0ZXJTZXQ+PiBxdW90ZWRTdHJpbmdDaGFyYWN0ZXJzID0gW05TQ2hhcmFj
dGVyU2V0IGNoYXJhY3RlclNldFdpdGhDaGFyYWN0ZXJzSW5TdHJpbmc6QCJcIlxcIl07CiAgICAg
CiAgICAgdW5zaWduZWQgc3RyaW5nTGVuZ3RoID0gW3N0cmluZyBsZW5ndGhdOwogICAgIE5TUmFu
Z2UgcmVtYWluaW5nID0gTlNNYWtlUmFuZ2UoMCwgc3RyaW5nTGVuZ3RoKTsKICAgICAKICAgICB3
aGlsZSAoMSkgewogICAgICAgICAvLyBGaW5kIHN0YXJ0IG9mIGhvc3QgbmFtZSBvciBvZiBxdW90
ZWQgc3RyaW5nLgotICAgICAgICBOU1JhbmdlIGhvc3ROYW1lT3JTdHJpbmdTdGFydCA9IFtzdHJp
bmcgcmFuZ2VPZkNoYXJhY3RlckZyb21TZXQ6aG9zdE5hbWVPclN0cmluZ1N0YXJ0Q2hhcmFjdGVy
cyBvcHRpb25zOjAgcmFuZ2U6cmVtYWluaW5nXTsKKyAgICAgICAgTlNSYW5nZSBob3N0TmFtZU9y
U3RyaW5nU3RhcnQgPSBbc3RyaW5nIHJhbmdlT2ZDaGFyYWN0ZXJGcm9tU2V0Omhvc3ROYW1lT3JT
dHJpbmdTdGFydENoYXJhY3RlcnMuZ2V0KCkuZ2V0KCkgb3B0aW9uczowIHJhbmdlOnJlbWFpbmlu
Z107CiAgICAgICAgIGlmIChob3N0TmFtZU9yU3RyaW5nU3RhcnQubG9jYXRpb24gPT0gTlNOb3RG
b3VuZCkKICAgICAgICAgICAgIHJldHVybjsKIApAQCAtNjk0LDcgKzY4Nyw3IEBAIHN0YXRpYyB2
b2lkIGFwcGx5SG9zdE5hbWVGdW5jdGlvblRvTWFpbFQKICAgICAgICAgaWYgKGMgPT0gJ0AnKSB7
CiAgICAgICAgICAgICAvLyBGaW5kIGVuZCBvZiBob3N0IG5hbWUuCiAgICAgICAgICAgICB1bnNp
Z25lZCBob3N0TmFtZVN0YXJ0ID0gcmVtYWluaW5nLmxvY2F0aW9uOwotICAgICAgICAgICAgTlNS
YW5nZSBob3N0TmFtZUVuZCA9IFtzdHJpbmcgcmFuZ2VPZkNoYXJhY3RlckZyb21TZXQ6aG9zdE5h
bWVFbmRDaGFyYWN0ZXJzIG9wdGlvbnM6MCByYW5nZTpyZW1haW5pbmddOworICAgICAgICAgICAg
TlNSYW5nZSBob3N0TmFtZUVuZCA9IFtzdHJpbmcgcmFuZ2VPZkNoYXJhY3RlckZyb21TZXQ6aG9z
dE5hbWVFbmRDaGFyYWN0ZXJzLmdldCgpLmdldCgpIG9wdGlvbnM6MCByYW5nZTpyZW1haW5pbmdd
OwogICAgICAgICAgICAgQk9PTCBkb25lOwogICAgICAgICAgICAgaWYgKGhvc3ROYW1lRW5kLmxv
Y2F0aW9uID09IE5TTm90Rm91bmQpIHsKICAgICAgICAgICAgICAgICBob3N0TmFtZUVuZC5sb2Nh
dGlvbiA9IHN0cmluZ0xlbmd0aDsKQEAgLTcwNiw3ICs2OTksNyBAQCBzdGF0aWMgdm9pZCBhcHBs
eUhvc3ROYW1lRnVuY3Rpb25Ub01haWxUCiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAKICAg
ICAgICAgICAgIC8vIFByb2Nlc3MgaG9zdCBuYW1lIHJhbmdlLgotICAgICAgICAgICAgZihzdHJp
bmcsIE5TTWFrZVJhbmdlKGhvc3ROYW1lU3RhcnQsIGhvc3ROYW1lRW5kLmxvY2F0aW9uIC0gaG9z
dE5hbWVTdGFydCksIGNvbnRleHQpOworICAgICAgICAgICAgZihzdHJpbmcsIE5TTWFrZVJhbmdl
KGhvc3ROYW1lU3RhcnQsIGhvc3ROYW1lRW5kLmxvY2F0aW9uIC0gaG9zdE5hbWVTdGFydCksIGFy
cmF5KTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgaWYgKGRvbmUpCiAgICAgICAgICAgICAg
ICAgcmV0dXJuOwpAQCAtNzE0LDcgKzcwNyw3IEBAIHN0YXRpYyB2b2lkIGFwcGx5SG9zdE5hbWVG
dW5jdGlvblRvTWFpbFQKICAgICAgICAgICAgIC8vIFNraXAgcXVvdGVkIHN0cmluZy4KICAgICAg
ICAgICAgIEFTU0VSVChjID09ICciJyk7CiAgICAgICAgICAgICB3aGlsZSAoMSkgewotICAgICAg
ICAgICAgICAgIE5TUmFuZ2UgZXNjYXBlZENoYXJhY3Rlck9yU3RyaW5nRW5kID0gW3N0cmluZyBy
YW5nZU9mQ2hhcmFjdGVyRnJvbVNldDpxdW90ZWRTdHJpbmdDaGFyYWN0ZXJzIG9wdGlvbnM6MCBy
YW5nZTpyZW1haW5pbmddOworICAgICAgICAgICAgICAgIE5TUmFuZ2UgZXNjYXBlZENoYXJhY3Rl
ck9yU3RyaW5nRW5kID0gW3N0cmluZyByYW5nZU9mQ2hhcmFjdGVyRnJvbVNldDpxdW90ZWRTdHJp
bmdDaGFyYWN0ZXJzLmdldCgpLmdldCgpIG9wdGlvbnM6MCByYW5nZTpyZW1haW5pbmddOwogICAg
ICAgICAgICAgICAgIGlmIChlc2NhcGVkQ2hhcmFjdGVyT3JTdHJpbmdFbmQubG9jYXRpb24gPT0g
TlNOb3RGb3VuZCkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogCkBAIC03MzgsNyArNzMx
LDcgQEAgc3RhdGljIHZvaWQgYXBwbHlIb3N0TmFtZUZ1bmN0aW9uVG9NYWlsVAogICAgIH0KIH0K
IAotc3RhdGljIHZvaWQgYXBwbHlIb3N0TmFtZUZ1bmN0aW9uVG9VUkxTdHJpbmcoTlNTdHJpbmcg
KnN0cmluZywgU3RyaW5nUmFuZ2VBcHBsaWVyRnVuY3Rpb24gZiwgdm9pZCAqY29udGV4dCkKK3N0
YXRpYyB2b2lkIGFwcGx5SG9zdE5hbWVGdW5jdGlvblRvVVJMU3RyaW5nKE5TU3RyaW5nICpzdHJp
bmcsIFN0cmluZ1JhbmdlQXBwbGllckZ1bmN0aW9uIGYsIFJldGFpblB0cjxOU011dGFibGVBcnJh
eT4mIGFycmF5KQogewogICAgIC8vIEZpbmQgaG9zdG5hbWVzLiBUb28gYmFkIHdlIGNhbid0IHVz
ZSBhbnkgcmVhbCBVUkwtcGFyc2luZyBjb2RlIHRvIGRvIHRoaXMsCiAgICAgLy8gYnV0IHdlIGhh
dmUgdG8gZG8gaXQgYmVmb3JlIGRvaW5nIGFsbCB0aGUgJS1lc2NhcGluZywgYW5kIHRoaXMgaXMg
dGhlIG9ubHkKQEAgLTc0Nyw3ICs3NDAsNyBAQCBzdGF0aWMgdm9pZCBhcHBseUhvc3ROYW1lRnVu
Y3Rpb25Ub1VSTFN0CiAgICAgLy8gTWF5YmUgd2Ugc2hvdWxkIGltcGxlbWVudCB0aGlzIHVzaW5n
IGEgY2hhcmFjdGVyIGJ1ZmZlciBpbnN0ZWFkPwogICAgIAogICAgIGlmIChwcm90b2NvbElzKHN0
cmluZywgIm1haWx0byIpKSB7Ci0gICAgICAgIGFwcGx5SG9zdE5hbWVGdW5jdGlvblRvTWFpbFRv
VVJMU3RyaW5nKHN0cmluZywgZiwgY29udGV4dCk7CisgICAgICAgIGFwcGx5SG9zdE5hbWVGdW5j
dGlvblRvTWFpbFRvVVJMU3RyaW5nKHN0cmluZywgZiwgYXJyYXkpOwogICAgICAgICByZXR1cm47
CiAgICAgfQogICAgIApAQCAtNzYwLDI5ICs3NTMsMjkgQEAgc3RhdGljIHZvaWQgYXBwbHlIb3N0
TmFtZUZ1bmN0aW9uVG9VUkxTdAogICAgICAgICByZXR1cm47CiAgICAgCiAgICAgLy8gQ2hlY2sg
dGhhdCBhbGwgY2hhcmFjdGVycyBiZWZvcmUgdGhlIDovLyBhcmUgdmFsaWQgc2NoZW1lIGNoYXJh
Y3RlcnMuCi0gICAgc3RhdGljIE5TQ2hhcmFjdGVyU2V0ICpub25TY2hlbWVDaGFyYWN0ZXJzID0g
cmV0YWluKFtbTlNDaGFyYWN0ZXJTZXQgY2hhcmFjdGVyU2V0V2l0aENoYXJhY3RlcnNJblN0cmlu
ZzpAIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXow
MTIzNDU2Nzg5Ky0uIl0gaW52ZXJ0ZWRTZXRdKTsKLSAgICBpZiAoW3N0cmluZyByYW5nZU9mQ2hh
cmFjdGVyRnJvbVNldDpub25TY2hlbWVDaGFyYWN0ZXJzIG9wdGlvbnM6MCByYW5nZTpOU01ha2VS
YW5nZSgwLCBzZXBhcmF0b3JSYW5nZS5sb2NhdGlvbildLmxvY2F0aW9uICE9IE5TTm90Rm91bmQp
CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFJldGFpblB0cjxOU0NoYXJhY3RlclNldD4+IG5v
blNjaGVtZUNoYXJhY3RlcnMgPSBbW05TQ2hhcmFjdGVyU2V0IGNoYXJhY3RlclNldFdpdGhDaGFy
YWN0ZXJzSW5TdHJpbmc6QCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1u
b3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSstLiJdIGludmVydGVkU2V0XTsKKyAgICBpZiAoW3N0cmlu
ZyByYW5nZU9mQ2hhcmFjdGVyRnJvbVNldDpub25TY2hlbWVDaGFyYWN0ZXJzLmdldCgpLmdldCgp
IG9wdGlvbnM6MCByYW5nZTpOU01ha2VSYW5nZSgwLCBzZXBhcmF0b3JSYW5nZS5sb2NhdGlvbild
LmxvY2F0aW9uICE9IE5TTm90Rm91bmQpCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICB1bnNp
Z25lZCBzdHJpbmdMZW5ndGggPSBbc3RyaW5nIGxlbmd0aF07CiAgICAgCi0gICAgc3RhdGljIE5T
Q2hhcmFjdGVyU2V0ICpob3N0VGVybWluYXRvcnMgPSByZXRhaW4oW05TQ2hhcmFjdGVyU2V0IGNo
YXJhY3RlclNldFdpdGhDaGFyYWN0ZXJzSW5TdHJpbmc6QCI6Lz8jIl0pOworICAgIHN0YXRpYyBO
ZXZlckRlc3Ryb3llZDxSZXRhaW5QdHI8TlNDaGFyYWN0ZXJTZXQ+PiBob3N0VGVybWluYXRvcnMg
PSBbTlNDaGFyYWN0ZXJTZXQgY2hhcmFjdGVyU2V0V2l0aENoYXJhY3RlcnNJblN0cmluZzpAIjov
PyMiXTsKICAgICAKICAgICAvLyBTdGFydCBhZnRlciB0aGUgc2VwYXJhdG9yLgogICAgIHVuc2ln
bmVkIGF1dGhvcml0eVN0YXJ0ID0gTlNNYXhSYW5nZShzZXBhcmF0b3JSYW5nZSk7CiAgICAgCiAg
ICAgLy8gRmluZCB0ZXJtaW5hdGluZyBjaGFyYWN0ZXIuCi0gICAgTlNSYW5nZSBob3N0TmFtZVRl
cm1pbmF0b3IgPSBbc3RyaW5nIHJhbmdlT2ZDaGFyYWN0ZXJGcm9tU2V0Omhvc3RUZXJtaW5hdG9y
cyBvcHRpb25zOjAgcmFuZ2U6TlNNYWtlUmFuZ2UoYXV0aG9yaXR5U3RhcnQsIHN0cmluZ0xlbmd0
aCAtIGF1dGhvcml0eVN0YXJ0KV07CisgICAgTlNSYW5nZSBob3N0TmFtZVRlcm1pbmF0b3IgPSBb
c3RyaW5nIHJhbmdlT2ZDaGFyYWN0ZXJGcm9tU2V0Omhvc3RUZXJtaW5hdG9ycy5nZXQoKS5nZXQo
KSBvcHRpb25zOjAgcmFuZ2U6TlNNYWtlUmFuZ2UoYXV0aG9yaXR5U3RhcnQsIHN0cmluZ0xlbmd0
aCAtIGF1dGhvcml0eVN0YXJ0KV07CiAgICAgdW5zaWduZWQgaG9zdE5hbWVFbmQgPSBob3N0TmFt
ZVRlcm1pbmF0b3IubG9jYXRpb24gPT0gTlNOb3RGb3VuZCA/IHN0cmluZ0xlbmd0aCA6IGhvc3RO
YW1lVGVybWluYXRvci5sb2NhdGlvbjsKICAgICAKICAgICAvLyBGaW5kICJAIiBmb3IgdGhlIHN0
YXJ0IG9mIHRoZSBob3N0IG5hbWUuCiAgICAgTlNSYW5nZSB1c2VySW5mb1Rlcm1pbmF0b3IgPSBb
c3RyaW5nIHJhbmdlT2ZTdHJpbmc6QCJAIiBvcHRpb25zOjAgcmFuZ2U6TlNNYWtlUmFuZ2UoYXV0
aG9yaXR5U3RhcnQsIGhvc3ROYW1lRW5kIC0gYXV0aG9yaXR5U3RhcnQpXTsKICAgICB1bnNpZ25l
ZCBob3N0TmFtZVN0YXJ0ID0gdXNlckluZm9UZXJtaW5hdG9yLmxvY2F0aW9uID09IE5TTm90Rm91
bmQgPyBhdXRob3JpdHlTdGFydCA6IE5TTWF4UmFuZ2UodXNlckluZm9UZXJtaW5hdG9yKTsKICAg
ICAKLSAgICBmKHN0cmluZywgTlNNYWtlUmFuZ2UoaG9zdE5hbWVTdGFydCwgaG9zdE5hbWVFbmQg
LSBob3N0TmFtZVN0YXJ0KSwgY29udGV4dCk7CisgICAgcmV0dXJuIGYoc3RyaW5nLCBOU01ha2VS
YW5nZShob3N0TmFtZVN0YXJ0LCBob3N0TmFtZUVuZCAtIGhvc3ROYW1lU3RhcnQpLCBhcnJheSk7
CiB9CiAKLXN0YXRpYyBOU1N0cmluZyAqbWFwSG9zdE5hbWVzKE5TU3RyaW5nICpzdHJpbmcsIEJP
T0wgZW5jb2RlKQorc3RhdGljIFJldGFpblB0cjxOU1N0cmluZz4gbWFwSG9zdE5hbWVzKE5TU3Ry
aW5nICpzdHJpbmcsIEJPT0wgZW5jb2RlKQogewogICAgIC8vIEdlbmVyYWxseSwgd2Ugd2FudCB0
byBvcHRpbWl6ZSBmb3IgdGhlIGNhc2Ugd2hlcmUgdGhlcmUgaXMgb25lIGhvc3QgbmFtZSB0aGF0
IGRvZXMgbm90IG5lZWQgbWFwcGluZy4KICAgICAKQEAgLTc5MCwzMyArNzgzLDMwIEBAIHN0YXRp
YyBOU1N0cmluZyAqbWFwSG9zdE5hbWVzKE5TU3RyaW5nICoKICAgICAgICAgcmV0dXJuIHN0cmlu
ZzsKICAgICAKICAgICAvLyBNYWtlIGEgbGlzdCBvZiByYW5nZXMgdGhhdCBhY3R1YWxseSBuZWVk
IG1hcHBpbmcuCi0gICAgTlNNdXRhYmxlQXJyYXkgKmhvc3ROYW1lUmFuZ2VzID0gbmlsOworICAg
IFJldGFpblB0cjxOU011dGFibGVBcnJheT4gaG9zdE5hbWVSYW5nZXM7CiAgICAgU3RyaW5nUmFu
Z2VBcHBsaWVyRnVuY3Rpb24gZiA9IGVuY29kZSA/IGNvbGxlY3RSYW5nZXNUaGF0TmVlZEVuY29k
aW5nIDogY29sbGVjdFJhbmdlc1RoYXROZWVkRGVjb2Rpbmc7Ci0gICAgYXBwbHlIb3N0TmFtZUZ1
bmN0aW9uVG9VUkxTdHJpbmcoc3RyaW5nLCBmLCAmaG9zdE5hbWVSYW5nZXMpOworICAgIGFwcGx5
SG9zdE5hbWVGdW5jdGlvblRvVVJMU3RyaW5nKHN0cmluZywgZiwgaG9zdE5hbWVSYW5nZXMpOwog
ICAgIGlmICghaG9zdE5hbWVSYW5nZXMpCiAgICAgICAgIHJldHVybiBzdHJpbmc7CiAKLSAgICBp
ZiAoIVtob3N0TmFtZVJhbmdlcyBjb3VudF0pIHsKLSAgICAgICAgW2hvc3ROYW1lUmFuZ2VzIHJl
bGVhc2VdOworICAgIGlmICghW2hvc3ROYW1lUmFuZ2VzIGNvdW50XSkKICAgICAgICAgcmV0dXJu
IG5pbDsKLSAgICB9CiAgICAgCiAgICAgLy8gRG8gdGhlIG1hcHBpbmcuCi0gICAgTlNNdXRhYmxl
U3RyaW5nICptdXRhYmxlQ29weSA9IFtzdHJpbmcgbXV0YWJsZUNvcHldOworICAgIGF1dG8gbXV0
YWJsZUNvcHkgPSBhZG9wdE5TKFtzdHJpbmcgbXV0YWJsZUNvcHldKTsKICAgICB1bnNpZ25lZCBp
ID0gW2hvc3ROYW1lUmFuZ2VzIGNvdW50XTsKICAgICB3aGlsZSAoaS0tKSB7CiAgICAgICAgIE5T
UmFuZ2UgaG9zdE5hbWVSYW5nZSA9IFtbaG9zdE5hbWVSYW5nZXMgb2JqZWN0QXRJbmRleDppXSBy
YW5nZVZhbHVlXTsKICAgICAgICAgTlNTdHJpbmcgKm1hcHBlZEhvc3ROYW1lID0gZW5jb2RlID8g
ZW5jb2RlSG9zdE5hbWVXaXRoUmFuZ2Uoc3RyaW5nLCBob3N0TmFtZVJhbmdlKSA6IGRlY29kZUhv
c3ROYW1lV2l0aFJhbmdlKHN0cmluZywgaG9zdE5hbWVSYW5nZSk7CiAgICAgICAgIFttdXRhYmxl
Q29weSByZXBsYWNlQ2hhcmFjdGVyc0luUmFuZ2U6aG9zdE5hbWVSYW5nZSB3aXRoU3RyaW5nOm1h
cHBlZEhvc3ROYW1lXTsKICAgICB9Ci0gICAgW2hvc3ROYW1lUmFuZ2VzIHJlbGVhc2VdOwotICAg
IHJldHVybiBbbXV0YWJsZUNvcHkgYXV0b3JlbGVhc2VdOworICAgIHJldHVybiBtdXRhYmxlQ29w
eTsKIH0KIAotc3RhdGljIE5TU3RyaW5nICpzdHJpbmdCeVRyaW1taW5nV2hpdGVzcGFjZShOU1N0
cmluZyAqc3RyaW5nKQorc3RhdGljIFJldGFpblB0cjxOU1N0cmluZz4gc3RyaW5nQnlUcmltbWlu
Z1doaXRlc3BhY2UoTlNTdHJpbmcgKnN0cmluZykKIHsKLSAgICBOU011dGFibGVTdHJpbmcgKnRy
aW1tZWQgPSBbW3N0cmluZyBtdXRhYmxlQ29weV0gYXV0b3JlbGVhc2VdOwotICAgIENGU3RyaW5n
VHJpbVdoaXRlc3BhY2UoKF9fYnJpZGdlIENGTXV0YWJsZVN0cmluZ1JlZil0cmltbWVkKTsKKyAg
ICBhdXRvIHRyaW1tZWQgPSBhZG9wdE5TKFtzdHJpbmcgbXV0YWJsZUNvcHldKTsKKyAgICBDRlN0
cmluZ1RyaW1XaGl0ZXNwYWNlKChfX2JyaWRnZSBDRk11dGFibGVTdHJpbmdSZWYpdHJpbW1lZC5n
ZXQoKSk7CiAgICAgcmV0dXJuIHRyaW1tZWQ7CiB9CiAKQEAgLTkxMiwxOCArOTAyLDE4IEBAIE5T
VVJMICpVUkxXaXRoVXNlclR5cGVkU3RyaW5nKE5TU3RyaW5nICoKICAgICBpZiAoIXN0cmluZykK
ICAgICAgICAgcmV0dXJuIG5pbDsKIAotICAgIHN0cmluZyA9IG1hcEhvc3ROYW1lcyhzdHJpbmdC
eVRyaW1taW5nV2hpdGVzcGFjZShzdHJpbmcpLCBZRVMpOwotICAgIGlmICghc3RyaW5nKQorICAg
IGF1dG8gbWFwcGVkU3RyaW5nID0gbWFwSG9zdE5hbWVzKHN0cmluZ0J5VHJpbW1pbmdXaGl0ZXNw
YWNlKHN0cmluZykuZ2V0KCksIFlFUyk7CisgICAgaWYgKCFtYXBwZWRTdHJpbmcpCiAgICAgICAg
IHJldHVybiBuaWw7CiAKICAgICAvLyBMZXQncyBjaGVjayB3aGV0aGVyIHRoZSBVUkwgaXMgYm9n
dXMuCi0gICAgVVJMIHVybCB7IFVSTCB7IG5zVVJMIH0sIHN0cmluZyB9OworICAgIFVSTCB1cmwg
eyBVUkwgeyBuc1VSTCB9LCBtYXBwZWRTdHJpbmcuZ2V0KCkgfTsKICAgICBpZiAoIXVybC5jcmVh
dGVDRlVSTCgpKQogICAgICAgICByZXR1cm4gbmlsOwogCiAgICAgLy8gRklYTUU6IGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODYwNTcKICAgICAvLyBXZSBzaG91bGQg
YmUgYWJsZSB0byB1c2UgdXJsLmNyZWF0ZUNGVVJMIGluc3RlYWQgb2YgdXNpbmcgZGlyZWN0bHkg
Q0ZVUkwgcGFyc2luZyByb3V0aW5lcy4KLSAgICBOU0RhdGEgKmRhdGEgPSBkYXRhV2l0aFVzZXJU
eXBlZFN0cmluZyhzdHJpbmcpOworICAgIE5TRGF0YSAqZGF0YSA9IGRhdGFXaXRoVXNlclR5cGVk
U3RyaW5nKG1hcHBlZFN0cmluZy5nZXQoKSk7CiAgICAgaWYgKCFkYXRhKQogICAgICAgICByZXR1
cm4gW05TVVJMIFVSTFdpdGhTdHJpbmc6QCIiXTsKIApAQCAtMTE1OCw3ICsxMTQ4LDcgQEAgTlNT
dHJpbmcgKnVzZXJWaXNpYmxlU3RyaW5nKE5TVVJMICpVUkwpCiAgICAgKnEgPSAnXDAnOwogICAg
IAogICAgIC8vIENoZWNrIHN0cmluZyB0byBzZWUgaWYgaXQgY2FuIGJlIGNvbnZlcnRlZCB0byBk
aXNwbGF5IHVzaW5nIFVURi04ICAKLSAgICBOU1N0cmluZyAqcmVzdWx0ID0gW05TU3RyaW5nIHN0
cmluZ1dpdGhVVEY4U3RyaW5nOmFmdGVyLmRhdGEoKV07CisgICAgUmV0YWluUHRyPE5TU3RyaW5n
PiByZXN1bHQgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aFVURjhTdHJpbmc6YWZ0ZXIuZGF0YSgpXTsK
ICAgICBpZiAoIXJlc3VsdCkgewogICAgICAgICAvLyBDb3VsZCBub3QgY29udmVydCB0byBVVEYt
OC4KICAgICAgICAgLy8gQ29udmVydCBjaGFyYWN0ZXJzIGdyZWF0ZXIgdGhhbiAweDdmIHRvIGVz
Y2FwZSBzZXF1ZW5jZXMuCkBAIC0xMTg1LDEzICsxMTc1LDEzIEBAIE5TU3RyaW5nICp1c2VyVmlz
aWJsZVN0cmluZyhOU1VSTCAqVVJMKQogICAgIAogICAgIGlmIChtYXlOZWVkSG9zdE5hbWVEZWNv
ZGluZykgewogICAgICAgICAvLyBGSVhNRTogSXMgaXQgZ29vZCB0byBpZ25vcmUgdGhlIGZhaWx1
cmUgb2YgbWFwSG9zdE5hbWVzIGFuZCBrZWVwIHJlc3VsdCBpbnRhY3Q/Ci0gICAgICAgIE5TU3Ry
aW5nICptYXBwZWRSZXN1bHQgPSBtYXBIb3N0TmFtZXMocmVzdWx0LCBOTyk7CisgICAgICAgIGF1
dG8gbWFwcGVkUmVzdWx0ID0gbWFwSG9zdE5hbWVzKHJlc3VsdC5nZXQoKSwgTk8pOwogICAgICAg
ICBpZiAobWFwcGVkUmVzdWx0KQogICAgICAgICAgICAgcmVzdWx0ID0gbWFwcGVkUmVzdWx0Owog
ICAgIH0KIAogICAgIHJlc3VsdCA9IFtyZXN1bHQgcHJlY29tcG9zZWRTdHJpbmdXaXRoQ2Fub25p
Y2FsTWFwcGluZ107Ci0gICAgcmV0dXJuIENGQnJpZGdpbmdSZWxlYXNlKGNyZWF0ZVN0cmluZ1dp
dGhFc2NhcGVkVW5zYWZlQ2hhcmFjdGVycygoX19icmlkZ2UgQ0ZTdHJpbmdSZWYpcmVzdWx0KSk7
CisgICAgcmV0dXJuIENGQnJpZGdpbmdSZWxlYXNlKGNyZWF0ZVN0cmluZ1dpdGhFc2NhcGVkVW5z
YWZlQ2hhcmFjdGVycygoX19icmlkZ2UgQ0ZTdHJpbmdSZWYpcmVzdWx0LmdldCgpKSk7CiB9CiAK
IEJPT0wgaXNVc2VyVmlzaWJsZVVSTChOU1N0cmluZyAqc3RyaW5nKQpAQCAtMTIzOCwxNyArMTIy
OCwxNCBAQCBOU1JhbmdlIHJhbmdlT2ZVUkxTY2hlbWUoTlNTdHJpbmcgKnN0cmluCiAgICAgTlNS
YW5nZSBjb2xvbiA9IFtzdHJpbmcgcmFuZ2VPZlN0cmluZzpAIjoiXTsKICAgICBpZiAoY29sb24u
bG9jYXRpb24gIT0gTlNOb3RGb3VuZCAmJiBjb2xvbi5sb2NhdGlvbiA+IDApIHsKICAgICAgICAg
TlNSYW5nZSBzY2hlbWUgPSB7MCwgY29sb24ubG9jYXRpb259OwotICAgICAgICBzdGF0aWMgTlND
aGFyYWN0ZXJTZXQgKkludmVyc2VTY2hlbWVDaGFyYWN0ZXJTZXQgPSBuaWw7Ci0gICAgICAgIGlm
ICghSW52ZXJzZVNjaGVtZUNoYXJhY3RlclNldCkgewotICAgICAgICAgICAgLyoKLSAgICAgICAg
ICAgICBUaGlzIHN0dWZmIGlzIHZlcnkgZXhwZW5zaXZlLiAgMTAtMTUgbXNlYyBvbiBhIDJ4MS4y
R0h6LiAgSWYgbm90IGNhY2hlZCBpdCBzd2FtcHMKLSAgICAgICAgICAgICBldmVyeXRoaW5nIGVs
c2Ugd2hlbiBhZGRpbmcgaXRlbXMgdG8gdGhlIGF1dG9jb21wbGV0ZSBEQi4gIE1ha2VzIG1lIHdv
bmRlciBpZiB3ZQotICAgICAgICAgICAgIGV2ZW4gbmVlZCB0byBlbmZvcmNlIHRoZSBjaGFyYWN0
ZXIgc2V0IGhlcmUuCi0gICAgICAgICAgICAqLwotICAgICAgICAgICAgTlNTdHJpbmcgKmFjY2Vw
dGFibGVDaGFyYWN0ZXJzID0gQCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWpr
bG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsuLSI7Ci0gICAgICAgICAgICBJbnZlcnNlU2NoZW1l
Q2hhcmFjdGVyU2V0ID0gW1tbTlNDaGFyYWN0ZXJTZXQgY2hhcmFjdGVyU2V0V2l0aENoYXJhY3Rl
cnNJblN0cmluZzphY2NlcHRhYmxlQ2hhcmFjdGVyc10gaW52ZXJ0ZWRTZXRdIHJldGFpbl07Ci0g
ICAgICAgIH0KLSAgICAgICAgTlNSYW5nZSBpbGxlZ2FscyA9IFtzdHJpbmcgcmFuZ2VPZkNoYXJh
Y3RlckZyb21TZXQ6SW52ZXJzZVNjaGVtZUNoYXJhY3RlclNldCBvcHRpb25zOjAgcmFuZ2U6c2No
ZW1lXTsKKyAgICAgICAgLyoKKyAgICAgICAgIFRoaXMgc3R1ZmYgaXMgdmVyeSBleHBlbnNpdmUu
ICAxMC0xNSBtc2VjIG9uIGEgMngxLjJHSHouICBJZiBub3QgY2FjaGVkIGl0IHN3YW1wcworICAg
ICAgICAgZXZlcnl0aGluZyBlbHNlIHdoZW4gYWRkaW5nIGl0ZW1zIHRvIHRoZSBhdXRvY29tcGxl
dGUgREIuICBNYWtlcyBtZSB3b25kZXIgaWYgd2UKKyAgICAgICAgIGV2ZW4gbmVlZCB0byBlbmZv
cmNlIHRoZSBjaGFyYWN0ZXIgc2V0IGhlcmUuCisgICAgICAgICAqLworICAgICAgICBOU1N0cmlu
ZyAqYWNjZXB0YWJsZUNoYXJhY3RlcnMgPSBAIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJj
ZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky4tIjsKKyAgICAgICAgc3RhdGljIE5l
dmVyRGVzdHJveWVkPFJldGFpblB0cjxOU0NoYXJhY3RlclNldD4+IEludmVyc2VTY2hlbWVDaGFy
YWN0ZXJTZXQoW1tOU0NoYXJhY3RlclNldCBjaGFyYWN0ZXJTZXRXaXRoQ2hhcmFjdGVyc0luU3Ry
aW5nOmFjY2VwdGFibGVDaGFyYWN0ZXJzXSBpbnZlcnRlZFNldF0pOworICAgICAgICBOU1Jhbmdl
IGlsbGVnYWxzID0gW3N0cmluZyByYW5nZU9mQ2hhcmFjdGVyRnJvbVNldDpJbnZlcnNlU2NoZW1l
Q2hhcmFjdGVyU2V0LmdldCgpLmdldCgpIG9wdGlvbnM6MCByYW5nZTpzY2hlbWVdOwogICAgICAg
ICBpZiAoaWxsZWdhbHMubG9jYXRpb24gPT0gTlNOb3RGb3VuZCkKICAgICAgICAgICAgIHJldHVy
biBzY2hlbWU7CiAgICAgfQpAQCAtMTI1OCw3ICsxMjQ1LDcgQEAgTlNSYW5nZSByYW5nZU9mVVJM
U2NoZW1lKE5TU3RyaW5nICpzdHJpbgogQk9PTCBsb29rc0xpa2VBYnNvbHV0ZVVSTChOU1N0cmlu
ZyAqc3RyaW5nKQogewogICAgIC8vIFRyaW0gd2hpdGVzcGFjZSBiZWNhdXNlIF93ZWJfVVJMV2l0
aFN0cmluZyBhbGxvd3Mgd2hpdGVzcGFjZS4KLSAgICByZXR1cm4gcmFuZ2VPZlVSTFNjaGVtZShz
dHJpbmdCeVRyaW1taW5nV2hpdGVzcGFjZShzdHJpbmcpKS5sb2NhdGlvbiAhPSBOU05vdEZvdW5k
OworICAgIHJldHVybiByYW5nZU9mVVJMU2NoZW1lKHN0cmluZ0J5VHJpbW1pbmdXaGl0ZXNwYWNl
KHN0cmluZykuZ2V0KCkpLmxvY2F0aW9uICE9IE5TTm90Rm91bmQ7CiB9CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUK
</data>
<flag name="review"
          id="368788"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>