<?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>41232</bug_id>
          
          <creation_ts>2010-06-25 15:56:45 -0700</creation_ts>
          <short_desc>HTMLTreeBuilder should branch first on token type and then on insertion mode</short_desc>
          <delta_ts>2010-06-25 17:07:52 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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>41123</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>eric</cc>
    
    <cc>mike</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>243236</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-06-25 15:56:45 -0700</bug_when>
    <thetext>HTMLTreeBuilder should branch first on token type and then on insertion mode</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243237</commentid>
    <comment_count>1</comment_count>
      <attachid>59807</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-06-25 15:59:17 -0700</bug_when>
    <thetext>Created attachment 59807
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243240</commentid>
    <comment_count>2</comment_count>
      <attachid>59807</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-06-25 16:02:13 -0700</bug_when>
    <thetext>Comment on attachment 59807
Patch

What are the ASSERTS for?
483     switch (insertionMode()) {
 484     case InitialMode:
 485         ASSERT(insertionMode() == InitialMode)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243241</commentid>
    <comment_count>3</comment_count>
      <attachid>59807</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-06-25 16:05:42 -0700</bug_when>
    <thetext>Comment on attachment 59807
Patch

I think this is going to end up much nicer, yes.  Harder to compare the implementation to the spec though.  We may need to keep some sort of document as to implementation status to help us make sure we cover all the spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243250</commentid>
    <comment_count>4</comment_count>
      <attachid>59807</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-06-25 16:36:48 -0700</bug_when>
    <thetext>Comment on attachment 59807
Patch

Clearing flags on attachment: 59807

Committed r61915: &lt;http://trac.webkit.org/changeset/61915&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243251</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-06-25 16:36:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>59807</attachid>
            <date>2010-06-25 15:59:17 -0700</date>
            <delta_ts>2010-06-25 16:36:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-41232-20100625155915.patch</filename>
            <type>text/plain</type>
            <size>24004</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NWZhZmI3ZGZkOTc5ZTVlZmMzYTM2MTQ1YzE2ZjQ1NDFhMmI0YWZlOS4uMzhhY2U0OWYzYTBkMjM5
MjhiODU0ZjMwMGM5NDQ0OTBkNTA2YTU2ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwzNyBAQAogMjAxMC0wNi0yNSAgQWRh
bSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEhUTUxUcmVlQnVpbGRlciBzaG91bGQgYnJhbmNoIGZpcnN0
IG9uIHRva2VuIHR5cGUgYW5kIHRoZW4gb24gaW5zZXJ0aW9uIG1vZGUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQxMjMyCisKKyAgICAgICAgVGhpcyBp
cyBkaWZmZXJlbnQgdGhhbiBob3cgdGhlIHNwZWMgaXMgd3JpdHRlbiwgYnV0IGl0IGxldHMgdXMg
cmVtb3ZlIGEKKyAgICAgICAgbG90IG9mIHJlZHVkYW5jeSBpbiB0aGUgYWxnb3JpdGhtLiAgV2Ug
bWlnaHQgZXZlbiB3YW50IHRvIHB1bGwgc29tZSBvZgorICAgICAgICB0aGUgYnJhbmNoZXMgb24g
dG9rZW4gbmFtZSBvdXRzaWRlIHRoZSBpbnNlcnRpb24gbW9kZSBicmFuY2gsIGJ1dCBJJ2xsCisg
ICAgICAgIGxlYXZlIHRoYXQgZm9yIGEgZnV0dXJlIHBhdGNoLgorCisgICAgICAgIEFsdGhvdWdo
IHRoaXMgbG9va3MgbGlrZSBhIGJpZyBwYXRjaCwgaXQncyBtb3N0bHkganVzdCBhIG1lY2hhbmlj
YWwKKyAgICAgICAgc3dpdGNoIHBlcm11dGF0aW9uLgorCisgICAgICAgICogaHRtbC9IVE1MVHJl
ZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRyZWVCdWlsZGVyOjpjb25zdHJ1
Y3RUcmVlRnJvbVRva2VuKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmVlQnVpbGRlcjo6cHJv
Y2Vzc1Rva2VuKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc0Rv
Y3R5cGVUb2tlbik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NT
dGFydFRhZyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NFbmRU
YWcpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzQ29tbWVudCk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NDaGFyYWN0ZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzRW5kT2ZGaWxlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc0RlZmF1bHRGb3JJbml0aWFs
TW9kZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NEZWZhdWx0
Rm9yQmVmb3JlSFRNTE1vZGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRyZWVCdWlsZGVyOjpw
cm9jZXNzRGVmYXVsdEZvckJlZm9yZUhlYWRNb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxU
cmVlQnVpbGRlcjo6cHJvY2Vzc0RlZmF1bHRGb3JJbkhlYWRNb2RlKToKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc0RlZmF1bHRGb3JJbkhlYWROb3NjcmlwdE1vZGUp
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzRGVmYXVsdEZvckFm
dGVySGVhZE1vZGUpOgorICAgICAgICAqIGh0bWwvSFRNTFRyZWVCdWlsZGVyLmg6CisKKzIwMTAt
MDYtMjUgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKwogICAgICAgICBSZXZpZXdl
ZCBieSBEYXJpbiBBZGxlci4KIAogICAgICAgICBUcmVlIGJ1aWxkZXIgZG9lc24ndCBuZWVkIHRv
IHJldHVybiBhIE5vZGUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MVHJlZUJ1aWxkZXIu
Y3BwIGIvV2ViQ29yZS9odG1sL0hUTUxUcmVlQnVpbGRlci5jcHAKaW5kZXggOWViYzVhMWViNDEy
ODdlZDYzYmU5YTQ3YTc2NWFlZDYzMzc4ZWM2ZC4uYWY0NjA5MmFhYmVhOGQ2ZWEyN2IwYzJmNTJh
YWVlM2QwYzJkMmIxNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxUcmVlQnVpbGRlci5j
cHAKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxUcmVlQnVpbGRlci5jcHAKQEAgLTIyNSwzMjUgKzIy
NSwzMzEgQEAgdm9pZCBIVE1MVHJlZUJ1aWxkZXI6OmNvbnN0cnVjdFRyZWVGcm9tVG9rZW4oSFRN
TFRva2VuJiByYXdUb2tlbikKICAgICB9CiAKICAgICBBdG9taWNIVE1MVG9rZW4gdG9rZW4ocmF3
VG9rZW4pOworICAgIHJldHVybiBwcm9jZXNzVG9rZW4odG9rZW4pOworfQogCi0gICAgLy8gSFRN
TDUgZXhwZWN0cyB0aGUgdG9rZW5pemVyIHRvIGNhbGwgdGhlIHBhcnNlciBldmVyeSB0aW1lIGEg
Y2hhcmFjdGVyIGlzCi0gICAgLy8gZW1pdHRlZC4gIFdlIGluc3RlYWQgY29sbGVjdCBjaGFyYWN0
ZXJzIGFuZCBjYWxsIHRoZSBwYXJzZXIgd2l0aCBhIGJhdGNoLgotICAgIC8vIEluIG9yZGVyIHRv
IG1ha2Ugb3VyIGZpcnN0LXBhc3MgcGFyc2VyIGNvZGUgc2ltcGxlLCBwcm9jZXNzVG9rZW4gbWF0
Y2hlcwotICAgIC8vIHRoZSBzcGVjIGluIG9ubHkgaGFuZGxpbmcgb25lIGNoYXJhY3RlciBhdCBh
IHRpbWUuCi0gICAgaWYgKHRva2VuLnR5cGUoKSA9PSBIVE1MVG9rZW46OkNoYXJhY3Rlcikgewot
ICAgICAgICBTdHJpbmdJbXBsKiBjaGFyYWN0ZXJzID0gdG9rZW4uY2hhcmFjdGVycygpLmltcGwo
KTsKLSAgICAgICAgLy8gRklYTUU6IENhbGxpbmcgcHJvY2Vzc1Rva2VuIGZvciBlYWNoIGNoYXJh
Y3RlciBpcyBwcm9iYWJseSBzbG93LgotICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwg
Y2hhcmFjdGVycy0+bGVuZ3RoKCk7ICsraSkKLSAgICAgICAgICAgIHByb2Nlc3NUb2tlbih0b2tl
biwgKCpjaGFyYWN0ZXJzKVtpXSk7Cit2b2lkIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc1Rva2Vu
KEF0b21pY0hUTUxUb2tlbiYgdG9rZW4pCit7CisgICAgc3dpdGNoICh0b2tlbi50eXBlKCkpIHsK
KyAgICBjYXNlIEhUTUxUb2tlbjo6VW5pbml0aWFsaXplZDoKKyAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSFRNTFRva2VuOjpET0NUWVBFOgor
ICAgICAgICBwcm9jZXNzRG9jdHlwZVRva2VuKHRva2VuKTsKKyAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBIVE1MVG9rZW46OlN0YXJ0VGFnOgorICAgICAgICBwcm9jZXNzU3RhcnRUYWcodG9rZW4p
OworICAgICAgICBicmVhazsKKyAgICBjYXNlIEhUTUxUb2tlbjo6RW5kVGFnOgorICAgICAgICBw
cm9jZXNzRW5kVGFnKHRva2VuKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBIVE1MVG9rZW46
OkNvbW1lbnQ6CisgICAgICAgIHByb2Nlc3NDb21tZW50KHRva2VuKTsKICAgICAgICAgcmV0dXJu
OworICAgIGNhc2UgSFRNTFRva2VuOjpDaGFyYWN0ZXI6CisgICAgICAgIHByb2Nlc3NDaGFyYWN0
ZXIodG9rZW4pOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEhUTUxUb2tlbjo6RW5kT2ZGaWxl
OgorICAgICAgICBwcm9jZXNzRW5kT2ZGaWxlKHRva2VuKTsKKyAgICAgICAgYnJlYWs7CiAgICAg
fQotICAgIHJldHVybiBwcm9jZXNzVG9rZW4odG9rZW4pOwogfQogCi12b2lkIEhUTUxUcmVlQnVp
bGRlcjo6cHJvY2Vzc1Rva2VuKEF0b21pY0hUTUxUb2tlbiYgdG9rZW4sIFVDaGFyIGNjKQordm9p
ZCBIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NEb2N0eXBlVG9rZW4oQXRvbWljSFRNTFRva2VuJiB0
b2tlbikKK3sKKyAgICBpZiAoaW5zZXJ0aW9uTW9kZSgpID09IEluaXRpYWxNb2RlKSB7CisgICAg
ICAgIGluc2VydERvY3R5cGUodG9rZW4pOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIHBh
cnNlRXJyb3IodG9rZW4pOworfQorCit2b2lkIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc1N0YXJ0
VGFnKEF0b21pY0hUTUxUb2tlbiYgdG9rZW4pCiB7Ci1yZXByb2Nlc3NUb2tlbjoKICAgICBzd2l0
Y2ggKGluc2VydGlvbk1vZGUoKSkgewotICAgIGNhc2UgSW5pdGlhbE1vZGU6IHsKLSAgICAgICAg
c3dpdGNoICh0b2tlbi50eXBlKCkpIHsKLSAgICAgICAgY2FzZSBIVE1MVG9rZW46OlVuaW5pdGlh
bGl6ZWQ6Ci0gICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICBjYXNlIEhUTUxUb2tlbjo6RE9DVFlQRToKLSAgICAgICAgICAgIGluc2Vy
dERvY3R5cGUodG9rZW4pOworICAgIGNhc2UgSW5pdGlhbE1vZGU6CisgICAgICAgIEFTU0VSVChp
bnNlcnRpb25Nb2RlKCkgPT0gSW5pdGlhbE1vZGUpOworICAgICAgICBwcm9jZXNzRGVmYXVsdEZv
ckluaXRpYWxNb2RlKHRva2VuKTsKKyAgICAgICAgLy8gRmFsbCB0aHJvdWdoLgorICAgIGNhc2Ug
QmVmb3JlSFRNTE1vZGU6CisgICAgICAgIEFTU0VSVChpbnNlcnRpb25Nb2RlKCkgPT0gQmVmb3Jl
SFRNTE1vZGUpOworICAgICAgICBpZiAodG9rZW4ubmFtZSgpID09IGh0bWxUYWcpIHsKKyAgICAg
ICAgICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgICAgICAgICBzZXRJbnNlcnRpb25Nb2RlKEJl
Zm9yZUhlYWRNb2RlKTsKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgY2FzZSBIVE1MVG9r
ZW46OkNvbW1lbnQ6Ci0gICAgICAgICAgICBpbnNlcnRDb21tZW50KHRva2VuKTsKKyAgICAgICAg
fQorICAgICAgICBwcm9jZXNzRGVmYXVsdEZvckJlZm9yZUhUTUxNb2RlKHRva2VuKTsKKyAgICAg
ICAgLy8gRmFsbCB0aHJvdWdoLgorICAgIGNhc2UgQmVmb3JlSGVhZE1vZGU6CisgICAgICAgIEFT
U0VSVChpbnNlcnRpb25Nb2RlKCkgPT0gQmVmb3JlSGVhZE1vZGUpOworICAgICAgICBpZiAodG9r
ZW4ubmFtZSgpID09IGh0bWxUYWcpIHsKKyAgICAgICAgICAgIG5vdEltcGxlbWVudGVkKCk7CiAg
ICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGNhc2UgSFRNTFRva2VuOjpDaGFyYWN0ZXI6Ci0g
ICAgICAgICAgICBpZiAoaXNUcmVlQnVpbGRlcldoaXRlU3BhY2UoY2MpKQotICAgICAgICAgICAg
ICAgIHJldHVybjsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIEhUTUxUb2tlbjo6
U3RhcnRUYWc6Ci0gICAgICAgIGNhc2UgSFRNTFRva2VuOjpFbmRUYWc6Ci0gICAgICAgIGNhc2Ug
SFRNTFRva2VuOjpFbmRPZkZpbGU6Ci0gICAgICAgICAgICBicmVhazsKICAgICAgICAgfQotICAg
ICAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgICAgICBwYXJzZUVycm9yKHRva2VuKTsKLSAgICAg
ICAgc2V0SW5zZXJ0aW9uTW9kZShCZWZvcmVIVE1MTW9kZSk7Ci0gICAgICAgIGdvdG8gcmVwcm9j
ZXNzVG9rZW47Ci0gICAgfQotICAgIGNhc2UgQmVmb3JlSFRNTE1vZGU6IHsKLSAgICAgICAgc3dp
dGNoICh0b2tlbi50eXBlKCkpIHsKLSAgICAgICAgY2FzZSBIVE1MVG9rZW46OlVuaW5pdGlhbGl6
ZWQ6Ci0gICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICBjYXNlIEhUTUxUb2tlbjo6RE9DVFlQRToKLSAgICAgICAgICAgIHBhcnNlRXJy
b3IodG9rZW4pOworICAgICAgICBpZiAodG9rZW4ubmFtZSgpID09IGhlYWRUYWcpIHsKKyAgICAg
ICAgICAgIG1faGVhZEVsZW1lbnQgPSBpbnNlcnRFbGVtZW50KHRva2VuKTsKKyAgICAgICAgICAg
IHNldEluc2VydGlvbk1vZGUoSW5IZWFkTW9kZSk7CiAgICAgICAgICAgICByZXR1cm47Ci0gICAg
ICAgIGNhc2UgSFRNTFRva2VuOjpDb21tZW50OgotICAgICAgICAgICAgaW5zZXJ0Q29tbWVudCh0
b2tlbik7CisgICAgICAgIH0KKyAgICAgICAgcHJvY2Vzc0RlZmF1bHRGb3JCZWZvcmVIZWFkTW9k
ZSh0b2tlbik7CisgICAgICAgIC8vIEZhbGwgdGhyb3VnaC4KKyAgICBjYXNlIEluSGVhZE1vZGU6
CisgICAgICAgIEFTU0VSVChpbnNlcnRpb25Nb2RlKCkgPT0gSW5IZWFkTW9kZSk7CisgICAgICAg
IGlmICh0b2tlbi5uYW1lKCkgPT0gaHRtbFRhZykgeworICAgICAgICAgICAgbm90SW1wbGVtZW50
ZWQoKTsKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgY2FzZSBIVE1MVG9rZW46OkNoYXJh
Y3RlcjoKLSAgICAgICAgICAgIGlmIChpc1RyZWVCdWlsZGVyV2hpdGVTcGFjZShjYykpCi0gICAg
ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgSFRN
TFRva2VuOjpTdGFydFRhZzoKLSAgICAgICAgICAgIGlmICh0b2tlbi5uYW1lKCkgPT0gaHRtbFRh
ZykgewotICAgICAgICAgICAgICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgICAgICAgICAgICAg
c2V0SW5zZXJ0aW9uTW9kZShCZWZvcmVIZWFkTW9kZSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJu
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgSFRNTFRv
a2VuOjpFbmRUYWc6Ci0gICAgICAgICAgICBpZiAodG9rZW4ubmFtZSgpID09IGhlYWRUYWcgfHwg
dG9rZW4ubmFtZSgpID09IGJvZHlUYWcgfHwgdG9rZW4ubmFtZSgpID09IGh0bWxUYWcgfHwgdG9r
ZW4ubmFtZSgpID09IGJyVGFnKQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAg
cGFyc2VFcnJvcih0b2tlbik7CisgICAgICAgIH0KKyAgICAgICAgLy8gRklYTUU6IEF0b21pemUg
ImNvbW1hbmQiLgorICAgICAgICBpZiAodG9rZW4ubmFtZSgpID09IGJhc2VUYWcgfHwgdG9rZW4u
bmFtZSgpID09ICJjb21tYW5kIiB8fCB0b2tlbi5uYW1lKCkgPT0gbGlua1RhZykgeworICAgICAg
ICAgICAgaW5zZXJ0RWxlbWVudCh0b2tlbik7CisgICAgICAgICAgICBtX29wZW5FbGVtZW50cy5w
b3AoKTsKKyAgICAgICAgICAgIG5vdEltcGxlbWVudGVkKCk7CiAgICAgICAgICAgICByZXR1cm47
Ci0gICAgICAgIGNhc2UgSFRNTFRva2VuOjpFbmRPZkZpbGU6Ci0gICAgICAgICAgICBicmVhazsK
ICAgICAgICAgfQotICAgICAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgICAgICBzZXRJbnNlcnRp
b25Nb2RlKEJlZm9yZUhlYWRNb2RlKTsKLSAgICAgICAgZ290byByZXByb2Nlc3NUb2tlbjsKLSAg
ICB9Ci0gICAgY2FzZSBCZWZvcmVIZWFkTW9kZTogewotICAgICAgICBzd2l0Y2ggKHRva2VuLnR5
cGUoKSkgewotICAgICAgICBjYXNlIEhUTUxUb2tlbjo6VW5pbml0aWFsaXplZDoKLSAgICAgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNh
c2UgSFRNTFRva2VuOjpDaGFyYWN0ZXI6Ci0gICAgICAgICAgICBpZiAoaXNUcmVlQnVpbGRlcldo
aXRlU3BhY2UoY2MpKQotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICBjYXNlIEhUTUxUb2tlbjo6Q29tbWVudDoKLSAgICAgICAgICAgIGluc2VydENv
bW1lbnQodG9rZW4pOworICAgICAgICBpZiAodG9rZW4ubmFtZSgpID09IG1ldGFUYWcpIHsKKyAg
ICAgICAgICAgIGluc2VydEVsZW1lbnQodG9rZW4pOworICAgICAgICAgICAgbV9vcGVuRWxlbWVu
dHMucG9wKCk7CisgICAgICAgICAgICBub3RJbXBsZW1lbnRlZCgpOwogICAgICAgICAgICAgcmV0
dXJuOwotICAgICAgICBjYXNlIEhUTUxUb2tlbjo6RE9DVFlQRToKLSAgICAgICAgICAgIHBhcnNl
RXJyb3IodG9rZW4pOworICAgICAgICB9CisgICAgICAgIGlmICh0b2tlbi5uYW1lKCkgPT0gdGl0
bGVUYWcpIHsKKyAgICAgICAgICAgIGluc2VydEdlbmVyaWNSQ0RBVEFFbGVtZW50KHRva2VuKTsK
ICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgY2FzZSBIVE1MVG9rZW46OlN0YXJ0VGFnOgot
ICAgICAgICAgICAgaWYgKHRva2VuLm5hbWUoKSA9PSBodG1sVGFnKSB7Ci0gICAgICAgICAgICAg
ICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgICAgICBpZiAodG9rZW4ubmFtZSgpID09IGhlYWRUYWcpIHsKLSAgICAgICAg
ICAgICAgICBtX2hlYWRFbGVtZW50ID0gaW5zZXJ0RWxlbWVudCh0b2tlbik7Ci0gICAgICAgICAg
ICAgICAgc2V0SW5zZXJ0aW9uTW9kZShJbkhlYWRNb2RlKTsKKyAgICAgICAgfQorICAgICAgICBp
ZiAodG9rZW4ubmFtZSgpID09IG5vc2NyaXB0VGFnKSB7CisgICAgICAgICAgICBpZiAoaXNTY3Jp
cHRpbmdGbGFnRW5hYmxlZChtX2RvY3VtZW50LT5mcmFtZSgpKSkgeworICAgICAgICAgICAgICAg
IGluc2VydEdlbmVyaWNSYXdUZXh0RWxlbWVudCh0b2tlbik7CiAgICAgICAgICAgICAgICAgcmV0
dXJuOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgSFRN
TFRva2VuOjpFbmRUYWc6Ci0gICAgICAgICAgICBpZiAodG9rZW4ubmFtZSgpID09IGhlYWRUYWcg
fHwgdG9rZW4ubmFtZSgpID09IGJvZHlUYWcgfHwgdG9rZW4ubmFtZSgpID09IGJyVGFnKSB7Ci0g
ICAgICAgICAgICAgICAgQXRvbWljSFRNTFRva2VuIGZha2VIZWFkKEhUTUxUb2tlbjo6U3RhcnRU
YWcsIGhlYWRUYWcubG9jYWxOYW1lKCkpOwotICAgICAgICAgICAgICAgIHByb2Nlc3NUb2tlbihm
YWtlSGVhZCk7Ci0gICAgICAgICAgICAgICAgZ290byByZXByb2Nlc3NUb2tlbjsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIHBhcnNlRXJyb3IodG9rZW4pOworICAgICAgICAgICAgaW5zZXJ0
RWxlbWVudCh0b2tlbik7CisgICAgICAgICAgICBzZXRJbnNlcnRpb25Nb2RlKEluSGVhZE5vc2Ny
aXB0TW9kZSk7CiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGNhc2UgSFRNTFRva2VuOjpF
bmRPZkZpbGU6Ci0gICAgICAgICAgICBicmVhazsKICAgICAgICAgfQotICAgICAgICBBdG9taWNI
VE1MVG9rZW4gZmFrZUhlYWQoSFRNTFRva2VuOjpTdGFydFRhZywgaGVhZFRhZy5sb2NhbE5hbWUo
KSk7Ci0gICAgICAgIHByb2Nlc3NUb2tlbihmYWtlSGVhZCk7Ci0gICAgICAgIGdvdG8gcmVwcm9j
ZXNzVG9rZW47Ci0gICAgfQotICAgIGNhc2UgSW5IZWFkTW9kZTogewotICAgICAgICBzd2l0Y2gg
KHRva2VuLnR5cGUoKSkgewotICAgICAgICBjYXNlIEhUTUxUb2tlbjo6VW5pbml0aWFsaXplZDoK
LSAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIGNhc2UgSFRNTFRva2VuOjpDaGFyYWN0ZXI6Ci0gICAgICAgICAgICBpbnNlcnRDaGFy
YWN0ZXIoY2MpOworICAgICAgICBpZiAodG9rZW4ubmFtZSgpID09IG5vZnJhbWVzVGFnIHx8IHRv
a2VuLm5hbWUoKSA9PSBzdHlsZVRhZykgeworICAgICAgICAgICAgaW5zZXJ0R2VuZXJpY1Jhd1Rl
eHRFbGVtZW50KHRva2VuKTsKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgY2FzZSBIVE1M
VG9rZW46OkNvbW1lbnQ6Ci0gICAgICAgICAgICBpbnNlcnRDb21tZW50KHRva2VuKTsKKyAgICAg
ICAgfQorICAgICAgICBpZiAodG9rZW4ubmFtZSgpID09IHNjcmlwdFRhZykgeworICAgICAgICAg
ICAgaW5zZXJ0U2NyaXB0RWxlbWVudCh0b2tlbik7CiAgICAgICAgICAgICByZXR1cm47Ci0gICAg
ICAgIGNhc2UgSFRNTFRva2VuOjpET0NUWVBFOgotICAgICAgICAgICAgcGFyc2VFcnJvcih0b2tl
bik7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHRva2VuLm5hbWUoKSA9PSBoZWFkVGFnKSB7Cisg
ICAgICAgICAgICBub3RJbXBsZW1lbnRlZCgpOwogICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICBjYXNlIEhUTUxUb2tlbjo6U3RhcnRUYWc6Ci0gICAgICAgICAgICBpZiAodG9rZW4ubmFtZSgp
ID09IGh0bWxUYWcpIHsKLSAgICAgICAgICAgICAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgICAg
ICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIC8vIEZJWE1FOiBB
dG9taXplICJjb21tYW5kIi4KLSAgICAgICAgICAgIGlmICh0b2tlbi5uYW1lKCkgPT0gYmFzZVRh
ZyB8fCB0b2tlbi5uYW1lKCkgPT0gImNvbW1hbmQiIHx8IHRva2VuLm5hbWUoKSA9PSBsaW5rVGFn
KSB7Ci0gICAgICAgICAgICAgICAgaW5zZXJ0RWxlbWVudCh0b2tlbik7Ci0gICAgICAgICAgICAg
ICAgbV9vcGVuRWxlbWVudHMucG9wKCk7Ci0gICAgICAgICAgICAgICAgbm90SW1wbGVtZW50ZWQo
KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmICh0b2tlbi5uYW1lKCkgPT0gbWV0YVRh
ZykgewotICAgICAgICAgICAgICAgIGluc2VydEVsZW1lbnQodG9rZW4pOwotICAgICAgICAgICAg
ICAgIG1fb3BlbkVsZW1lbnRzLnBvcCgpOwotICAgICAgICAgICAgICAgIG5vdEltcGxlbWVudGVk
KCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAodG9rZW4ubmFtZSgpID09IHRpdGxl
VGFnKSB7Ci0gICAgICAgICAgICAgICAgaW5zZXJ0R2VuZXJpY1JDREFUQUVsZW1lbnQodG9rZW4p
OwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlm
ICh0b2tlbi5uYW1lKCkgPT0gbm9zY3JpcHRUYWcpIHsKLSAgICAgICAgICAgICAgICBpZiAoaXNT
Y3JpcHRpbmdGbGFnRW5hYmxlZChtX2RvY3VtZW50LT5mcmFtZSgpKSkgewotICAgICAgICAgICAg
ICAgICAgICBpbnNlcnRHZW5lcmljUmF3VGV4dEVsZW1lbnQodG9rZW4pOwotICAgICAgICAgICAg
ICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGluc2Vy
dEVsZW1lbnQodG9rZW4pOwotICAgICAgICAgICAgICAgIHNldEluc2VydGlvbk1vZGUoSW5IZWFk
Tm9zY3JpcHRNb2RlKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmICh0b2tlbi5uYW1l
KCkgPT0gbm9mcmFtZXNUYWcgfHwgdG9rZW4ubmFtZSgpID09IHN0eWxlVGFnKSB7Ci0gICAgICAg
ICAgICAgICAgaW5zZXJ0R2VuZXJpY1Jhd1RleHRFbGVtZW50KHRva2VuKTsKLSAgICAgICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAodG9rZW4ubmFtZSgp
ID09IHNjcmlwdFRhZykgewotICAgICAgICAgICAgICAgIGluc2VydFNjcmlwdEVsZW1lbnQodG9r
ZW4pOwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IGlmICh0b2tlbi5uYW1lKCkgPT0gaGVhZFRhZykgewotICAgICAgICAgICAgICAgIG5vdEltcGxl
bWVudGVkKCk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgfQotICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgSFRNTFRva2VuOjpFbmRUYWc6Ci0gICAgICAgICAg
ICBpZiAodG9rZW4ubmFtZSgpID09IGhlYWRUYWcpIHsKLSAgICAgICAgICAgICAgICBBU1NFUlQo
bV9vcGVuRWxlbWVudHMudG9wKCktPnRhZ1FOYW1lKCkgPT0gaGVhZFRhZyk7Ci0gICAgICAgICAg
ICAgICAgbV9vcGVuRWxlbWVudHMucG9wKCk7Ci0gICAgICAgICAgICAgICAgc2V0SW5zZXJ0aW9u
TW9kZShBZnRlckhlYWRNb2RlKTsKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgICAgICBpZiAodG9rZW4ubmFtZSgpID09IGJvZHlUYWcgfHwgdG9rZW4ubmFt
ZSgpID09IGh0bWxUYWcgfHwgdG9rZW4ubmFtZSgpID09IGJyVGFnKQotICAgICAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICAgICAgcGFyc2VFcnJvcih0b2tlbik7CisgICAgICAgIH0KKyAgICAg
ICAgcHJvY2Vzc0RlZmF1bHRGb3JJbkhlYWRNb2RlKHRva2VuKTsKKyAgICAgICAgLy8gRmFsbCB0
aHJvdWdoLgorICAgIGNhc2UgQWZ0ZXJIZWFkTW9kZToKKyAgICAgICAgQVNTRVJUKGluc2VydGlv
bk1vZGUoKSA9PSBBZnRlckhlYWRNb2RlKTsKKyAgICAgICAgaWYgKHRva2VuLm5hbWUoKSA9PSBo
dG1sVGFnKSB7CisgICAgICAgICAgICBub3RJbXBsZW1lbnRlZCgpOwogICAgICAgICAgICAgcmV0
dXJuOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgSFRNTFRva2VuOjpFbmRPZkZp
bGU6Ci0gICAgICAgICAgICBicmVhazsKICAgICAgICAgfQotICAgICAgICBBdG9taWNIVE1MVG9r
ZW4gZmFrZUhlYWQoSFRNTFRva2VuOjpFbmRUYWcsIGhlYWRUYWcubG9jYWxOYW1lKCkpOwotICAg
ICAgICBwcm9jZXNzVG9rZW4oZmFrZUhlYWQpOwotICAgICAgICBnb3RvIHJlcHJvY2Vzc1Rva2Vu
OwotICAgIH0KLSAgICBjYXNlIEluSGVhZE5vc2NyaXB0TW9kZTogewotICAgICAgICBzd2l0Y2gg
KHRva2VuLnR5cGUoKSkgewotICAgICAgICBjYXNlIEhUTUxUb2tlbjo6VW5pbml0aWFsaXplZDoK
LSAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIGNhc2UgSFRNTFRva2VuOjpET0NUWVBFOgorICAgICAgICBpZiAodG9rZW4ubmFtZSgp
ID09IGJvZHlUYWcpIHsKKyAgICAgICAgICAgIG1fZnJhbWVzZXRPayA9IGZhbHNlOworICAgICAg
ICAgICAgaW5zZXJ0RWxlbWVudCh0b2tlbik7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAg
IH0KKyAgICAgICAgaWYgKHRva2VuLm5hbWUoKSA9PSBmcmFtZXNldFRhZykgeworICAgICAgICAg
ICAgaW5zZXJ0RWxlbWVudCh0b2tlbik7CisgICAgICAgICAgICBzZXRJbnNlcnRpb25Nb2RlKElu
RnJhbWVzZXRNb2RlKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBp
ZiAodG9rZW4ubmFtZSgpID09IGJhc2VUYWcgfHwgdG9rZW4ubmFtZSgpID09IGxpbmtUYWcgfHwg
dG9rZW4ubmFtZSgpID09IG1ldGFUYWcgfHwgdG9rZW4ubmFtZSgpID09IG5vZnJhbWVzVGFnIHx8
IHRva2VuLm5hbWUoKSA9PSBzY3JpcHRUYWcgfHwgdG9rZW4ubmFtZSgpID09IHN0eWxlVGFnIHx8
IHRva2VuLm5hbWUoKSA9PSB0aXRsZVRhZykgewogICAgICAgICAgICAgcGFyc2VFcnJvcih0b2tl
bik7CisgICAgICAgICAgICBBU1NFUlQobV9oZWFkRWxlbWVudCk7CisgICAgICAgICAgICBtX29w
ZW5FbGVtZW50cy5wdXNoKG1faGVhZEVsZW1lbnQuZ2V0KCkpOworICAgICAgICAgICAgbm90SW1w
bGVtZW50ZWQoKTsKKyAgICAgICAgICAgIG1fb3BlbkVsZW1lbnRzLnJlbW92ZShtX2hlYWRFbGVt
ZW50LmdldCgpKTsKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgY2FzZSBIVE1MVG9rZW46
OlN0YXJ0VGFnOgotICAgICAgICAgICAgaWYgKHRva2VuLm5hbWUoKSA9PSBodG1sVGFnKSB7Ci0g
ICAgICAgICAgICAgICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICAgICAgICAgICAgICByZXR1cm47
Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAodG9rZW4ubmFtZSgpID09IGxpbmtUYWcg
fHwgdG9rZW4ubmFtZSgpID09IG1ldGFUYWcgfHwgdG9rZW4ubmFtZSgpID09IG5vZnJhbWVzVGFn
IHx8IHRva2VuLm5hbWUoKSA9PSBzdHlsZVRhZykgewotICAgICAgICAgICAgICAgIG5vdEltcGxl
bWVudGVkKCk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgfQotICAgICAg
ICAgICAgaWYgKHRva2VuLm5hbWUoKSA9PSBodG1sVGFnIHx8IHRva2VuLm5hbWUoKSA9PSBub3Nj
cmlwdFRhZykgewotICAgICAgICAgICAgICAgIHBhcnNlRXJyb3IodG9rZW4pOwotICAgICAgICAg
ICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICBjYXNlIEhUTUxUb2tlbjo6RW5kVGFnOgotICAgICAgICAgICAgaWYgKHRva2VuLm5hbWUoKSA9
PSBub3NjcmlwdFRhZykgewotICAgICAgICAgICAgICAgIEFTU0VSVChtX29wZW5FbGVtZW50cy50
b3AoKS0+dGFnUU5hbWUoKSA9PSBub3NjcmlwdFRhZyk7Ci0gICAgICAgICAgICAgICAgbV9vcGVu
RWxlbWVudHMucG9wKCk7Ci0gICAgICAgICAgICAgICAgQVNTRVJUKG1fb3BlbkVsZW1lbnRzLnRv
cCgpLT50YWdRTmFtZSgpID09IGhlYWRUYWcpOwotICAgICAgICAgICAgICAgIHNldEluc2VydGlv
bk1vZGUoSW5IZWFkTW9kZSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAg
fQotICAgICAgICAgICAgaWYgKHRva2VuLm5hbWUoKSA9PSBiclRhZykKLSAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBpZiAodG9rZW4ubmFtZSgpID09IGhlYWRUYWcp
IHsKICAgICAgICAgICAgIHBhcnNlRXJyb3IodG9rZW4pOwogICAgICAgICAgICAgcmV0dXJuOwot
ICAgICAgICBjYXNlIEhUTUxUb2tlbjo6Q2hhcmFjdGVyOgorICAgICAgICB9CisgICAgICAgIHBy
b2Nlc3NEZWZhdWx0Rm9yQWZ0ZXJIZWFkTW9kZSh0b2tlbik7CisgICAgICAgIC8vIEZhbGwgdGhy
b3VnaAorICAgIGNhc2UgSW5Cb2R5TW9kZToKKyAgICAgICAgQVNTRVJUKGluc2VydGlvbk1vZGUo
KSA9PSBJbkJvZHlNb2RlKTsKKyAgICAgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICAgICAgYnJl
YWs7CisgICAgY2FzZSBJbkhlYWROb3NjcmlwdE1vZGU6CisgICAgICAgIEFTU0VSVChpbnNlcnRp
b25Nb2RlKCkgPT0gSW5IZWFkTm9zY3JpcHRNb2RlKTsKKyAgICAgICAgaWYgKHRva2VuLm5hbWUo
KSA9PSBodG1sVGFnKSB7CiAgICAgICAgICAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgSFRNTFRva2VuOjpDb21tZW50OgorICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICB9CisgICAgICAgIGlmICh0b2tlbi5uYW1lKCkgPT0gbGlua1RhZyB8
fCB0b2tlbi5uYW1lKCkgPT0gbWV0YVRhZyB8fCB0b2tlbi5uYW1lKCkgPT0gbm9mcmFtZXNUYWcg
fHwgdG9rZW4ubmFtZSgpID09IHN0eWxlVGFnKSB7CiAgICAgICAgICAgICBub3RJbXBsZW1lbnRl
ZCgpOwogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBjYXNlIEhUTUxUb2tlbjo6RW5kT2ZG
aWxlOgotICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KLSAgICAgICAgQXRvbWljSFRNTFRv
a2VuIGZha2VOb3NjcmlwdChIVE1MVG9rZW46OkVuZFRhZywgbm9zY3JpcHRUYWcubG9jYWxOYW1l
KCkpOwotICAgICAgICBwcm9jZXNzVG9rZW4oZmFrZU5vc2NyaXB0KTsKLSAgICAgICAgZ290byBy
ZXByb2Nlc3NUb2tlbjsKKyAgICAgICAgaWYgKHRva2VuLm5hbWUoKSA9PSBodG1sVGFnIHx8IHRv
a2VuLm5hbWUoKSA9PSBub3NjcmlwdFRhZykgeworICAgICAgICAgICAgcGFyc2VFcnJvcih0b2tl
bik7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgcHJvY2Vzc0RlZmF1
bHRGb3JJbkhlYWROb3NjcmlwdE1vZGUodG9rZW4pOworICAgICAgICBwcm9jZXNzVG9rZW4odG9r
ZW4pOworICAgIGRlZmF1bHQ6CisgICAgICAgIG5vdEltcGxlbWVudGVkKCk7CiAgICAgfQotICAg
IGNhc2UgQWZ0ZXJIZWFkTW9kZTogewotICAgICAgICBzd2l0Y2ggKHRva2VuLnR5cGUoKSkgewot
ICAgICAgICBjYXNlIEhUTUxUb2tlbjo6VW5pbml0aWFsaXplZDoKLSAgICAgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgSFRNTFRv
a2VuOjpDaGFyYWN0ZXI6Ci0gICAgICAgICAgICBpZiAoaXNUcmVlQnVpbGRlcldoaXRlU3BhY2Uo
Y2MpKSB7Ci0gICAgICAgICAgICAgICAgaW5zZXJ0Q2hhcmFjdGVyKGNjKTsKLSAgICAgICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAg
Y2FzZSBIVE1MVG9rZW46OkNvbW1lbnQ6Ci0gICAgICAgICAgICBpbnNlcnRDb21tZW50KHRva2Vu
KTsKK30KKwordm9pZCBIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NFbmRUYWcoQXRvbWljSFRNTFRv
a2VuJiB0b2tlbikKK3sKKyAgICBzd2l0Y2ggKGluc2VydGlvbk1vZGUoKSkgeworICAgIGNhc2Ug
SW5pdGlhbE1vZGU6CisgICAgICAgIEFTU0VSVChpbnNlcnRpb25Nb2RlKCkgPT0gSW5pdGlhbE1v
ZGUpOworICAgICAgICBwcm9jZXNzRGVmYXVsdEZvckluaXRpYWxNb2RlKHRva2VuKTsKKyAgICAg
ICAgLy8gRmFsbCB0aHJvdWdoLgorICAgIGNhc2UgQmVmb3JlSFRNTE1vZGU6CisgICAgICAgIEFT
U0VSVChpbnNlcnRpb25Nb2RlKCkgPT0gQmVmb3JlSFRNTE1vZGUpOworICAgICAgICBpZiAodG9r
ZW4ubmFtZSgpICE9IGhlYWRUYWcgJiYgdG9rZW4ubmFtZSgpICE9IGJvZHlUYWcgJiYgdG9rZW4u
bmFtZSgpICE9IGh0bWxUYWcgJiYgdG9rZW4ubmFtZSgpICE9IGJyVGFnKSB7CisgICAgICAgICAg
ICBwYXJzZUVycm9yKHRva2VuKTsKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgY2FzZSBI
VE1MVG9rZW46OkRPQ1RZUEU6CisgICAgICAgIH0KKyAgICAgICAgcHJvY2Vzc0RlZmF1bHRGb3JC
ZWZvcmVIVE1MTW9kZSh0b2tlbik7CisgICAgICAgIC8vIEZhbGwgdGhyb3VnaC4KKyAgICBjYXNl
IEJlZm9yZUhlYWRNb2RlOgorICAgICAgICBBU1NFUlQoaW5zZXJ0aW9uTW9kZSgpID09IEJlZm9y
ZUhlYWRNb2RlKTsKKyAgICAgICAgaWYgKHRva2VuLm5hbWUoKSAhPSBoZWFkVGFnICYmIHRva2Vu
Lm5hbWUoKSAhPSBib2R5VGFnICYmIHRva2VuLm5hbWUoKSAhPSBiclRhZykgewogICAgICAgICAg
ICAgcGFyc2VFcnJvcih0b2tlbik7CiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGNhc2Ug
SFRNTFRva2VuOjpTdGFydFRhZzoKLSAgICAgICAgICAgIGlmICh0b2tlbi5uYW1lKCkgPT0gaHRt
bFRhZykgewotICAgICAgICAgICAgICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgICAgICAgICAg
ICAgcmV0dXJuOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKHRva2VuLm5hbWUoKSA9
PSBib2R5VGFnKSB7Ci0gICAgICAgICAgICAgICAgbV9mcmFtZXNldE9rID0gZmFsc2U7Ci0gICAg
ICAgICAgICAgICAgaW5zZXJ0RWxlbWVudCh0b2tlbik7Ci0gICAgICAgICAgICAgICAgcmV0dXJu
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKHRva2VuLm5hbWUoKSA9PSBmcmFtZXNl
dFRhZykgewotICAgICAgICAgICAgICAgIGluc2VydEVsZW1lbnQodG9rZW4pOwotICAgICAgICAg
ICAgICAgIHNldEluc2VydGlvbk1vZGUoSW5GcmFtZXNldE1vZGUpOwotICAgICAgICAgICAgICAg
IHJldHVybjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmICh0b2tlbi5uYW1lKCkgPT0g
YmFzZVRhZyB8fCB0b2tlbi5uYW1lKCkgPT0gbGlua1RhZyB8fCB0b2tlbi5uYW1lKCkgPT0gbWV0
YVRhZyB8fCB0b2tlbi5uYW1lKCkgPT0gbm9mcmFtZXNUYWcgfHwgdG9rZW4ubmFtZSgpID09IHNj
cmlwdFRhZyB8fCB0b2tlbi5uYW1lKCkgPT0gc3R5bGVUYWcgfHwgdG9rZW4ubmFtZSgpID09IHRp
dGxlVGFnKSB7Ci0gICAgICAgICAgICAgICAgcGFyc2VFcnJvcih0b2tlbik7Ci0gICAgICAgICAg
ICAgICAgQVNTRVJUKG1faGVhZEVsZW1lbnQpOwotICAgICAgICAgICAgICAgIG1fb3BlbkVsZW1l
bnRzLnB1c2gobV9oZWFkRWxlbWVudC5nZXQoKSk7Ci0gICAgICAgICAgICAgICAgbm90SW1wbGVt
ZW50ZWQoKTsKLSAgICAgICAgICAgICAgICBtX29wZW5FbGVtZW50cy5yZW1vdmUobV9oZWFkRWxl
bWVudC5nZXQoKSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgfQotICAg
ICAgICAgICAgaWYgKHRva2VuLm5hbWUoKSA9PSBoZWFkVGFnKSB7Ci0gICAgICAgICAgICAgICAg
cGFyc2VFcnJvcih0b2tlbik7Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAg
fQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgSFRNTFRva2VuOjpFbmRUYWc6Ci0g
ICAgICAgICAgICBpZiAodG9rZW4ubmFtZSgpID09IGJvZHlUYWcgfHwgdG9rZW4ubmFtZSgpID09
IGh0bWxUYWcgfHwgdG9rZW4ubmFtZSgpID09IGJyVGFnKSAgICAKLSAgICAgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgfQorICAgICAgICBwcm9jZXNzRGVmYXVsdEZvckJlZm9yZUhlYWRNb2Rl
KHRva2VuKTsKKyAgICAgICAgLy8gRmFsbCB0aHJvdWdoLgorICAgIGNhc2UgSW5IZWFkTW9kZToK
KyAgICAgICAgQVNTRVJUKGluc2VydGlvbk1vZGUoKSA9PSBJbkhlYWRNb2RlKTsKKyAgICAgICAg
aWYgKHRva2VuLm5hbWUoKSA9PSBoZWFkVGFnKSB7CisgICAgICAgICAgICBBU1NFUlQobV9vcGVu
RWxlbWVudHMudG9wKCktPnRhZ1FOYW1lKCkgPT0gaGVhZFRhZyk7CisgICAgICAgICAgICBtX29w
ZW5FbGVtZW50cy5wb3AoKTsKKyAgICAgICAgICAgIHNldEluc2VydGlvbk1vZGUoQWZ0ZXJIZWFk
TW9kZSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgaWYgKHRva2Vu
Lm5hbWUoKSAhPSBib2R5VGFnICYmIHRva2VuLm5hbWUoKSAhPSBodG1sVGFnICYmIHRva2VuLm5h
bWUoKSAhPSBiclRhZykgewogICAgICAgICAgICAgcGFyc2VFcnJvcih0b2tlbik7CiAgICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgIGNhc2UgSFRNTFRva2VuOjpFbmRPZkZpbGU6Ci0gICAgICAg
ICAgICBicmVhazsKICAgICAgICAgfQotICAgICAgICBBdG9taWNIVE1MVG9rZW4gZmFrZUJvZHko
SFRNTFRva2VuOjpTdGFydFRhZywgYm9keVRhZy5sb2NhbE5hbWUoKSk7Ci0gICAgICAgIHByb2Nl
c3NUb2tlbihmYWtlQm9keSk7Ci0gICAgICAgIG1fZnJhbWVzZXRPayA9IHRydWU7Ci0gICAgICAg
IGdvdG8gcmVwcm9jZXNzVG9rZW47CisgICAgICAgIHByb2Nlc3NEZWZhdWx0Rm9ySW5IZWFkTW9k
ZSh0b2tlbik7CisgICAgICAgIC8vIEZhbGwgdGhyb3VnaC4KKyAgICBjYXNlIEFmdGVySGVhZE1v
ZGU6CisgICAgICAgIEFTU0VSVChpbnNlcnRpb25Nb2RlKCkgPT0gQWZ0ZXJIZWFkTW9kZSk7Cisg
ICAgICAgIGlmICh0b2tlbi5uYW1lKCkgIT0gYm9keVRhZyAmJiB0b2tlbi5uYW1lKCkgIT0gaHRt
bFRhZyAmJiB0b2tlbi5uYW1lKCkgIT0gYnJUYWcpIHsKKyAgICAgICAgICAgIHBhcnNlRXJyb3Io
dG9rZW4pOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIHByb2Nlc3NE
ZWZhdWx0Rm9yQWZ0ZXJIZWFkTW9kZSh0b2tlbik7CisgICAgICAgIC8vIEZhbGwgdGhyb3VnaAor
ICAgIGNhc2UgSW5Cb2R5TW9kZToKKyAgICAgICAgQVNTRVJUKGluc2VydGlvbk1vZGUoKSA9PSBJ
bkJvZHlNb2RlKTsKKyAgICAgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBJbkhlYWROb3NjcmlwdE1vZGU6CisgICAgICAgIEFTU0VSVChpbnNlcnRpb25Nb2Rl
KCkgPT0gSW5IZWFkTm9zY3JpcHRNb2RlKTsKKyAgICAgICAgaWYgKHRva2VuLm5hbWUoKSA9PSBu
b3NjcmlwdFRhZykgeworICAgICAgICAgICAgQVNTRVJUKG1fb3BlbkVsZW1lbnRzLnRvcCgpLT50
YWdRTmFtZSgpID09IG5vc2NyaXB0VGFnKTsKKyAgICAgICAgICAgIG1fb3BlbkVsZW1lbnRzLnBv
cCgpOworICAgICAgICAgICAgQVNTRVJUKG1fb3BlbkVsZW1lbnRzLnRvcCgpLT50YWdRTmFtZSgp
ID09IGhlYWRUYWcpOworICAgICAgICAgICAgc2V0SW5zZXJ0aW9uTW9kZShJbkhlYWRNb2RlKTsK
KyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBpZiAodG9rZW4ubmFtZSgp
ICE9IGJyVGFnKSB7CisgICAgICAgICAgICBwYXJzZUVycm9yKHRva2VuKTsKKyAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBwcm9jZXNzRGVmYXVsdEZvckluSGVhZE5vc2Ny
aXB0TW9kZSh0b2tlbik7CisgICAgICAgIHByb2Nlc3NUb2tlbih0b2tlbik7CisgICAgZGVmYXVs
dDoKKyAgICAgICAgbm90SW1wbGVtZW50ZWQoKTsKICAgICB9Cit9CisKK3ZvaWQgSFRNTFRyZWVC
dWlsZGVyOjpwcm9jZXNzQ29tbWVudChBdG9taWNIVE1MVG9rZW4mIHRva2VuKQoreworICAgIGlm
IChpbnNlcnRpb25Nb2RlKCkgPT0gSW5IZWFkTm9zY3JpcHRNb2RlKSB7CisgICAgICAgIG5vdElt
cGxlbWVudGVkKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaW5zZXJ0Q29tbWVudCh0
b2tlbik7Cit9CisKK3ZvaWQgSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzQ2hhcmFjdGVyKEF0b21p
Y0hUTUxUb2tlbiYpCit7CisgICAgLy8gRklYTUU6IFdlIG5lZWQgdG8gZmlndXJlIG91dCBob3cg
dG8gaGFuZGxlIGVhY2ggY2hhcmFjdGVyIGluZGl2aWR1YWxseS4KKyAgICBub3RJbXBsZW1lbnRl
ZCgpOworfQorCit2b2lkIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc0VuZE9mRmlsZShBdG9taWNI
VE1MVG9rZW4mIHRva2VuKQoreworICAgIHN3aXRjaCAoaW5zZXJ0aW9uTW9kZSgpKSB7CisgICAg
Y2FzZSBJbml0aWFsTW9kZToKKyAgICAgICAgQVNTRVJUKGluc2VydGlvbk1vZGUoKSA9PSBJbml0
aWFsTW9kZSk7CisgICAgICAgIHByb2Nlc3NEZWZhdWx0Rm9ySW5pdGlhbE1vZGUodG9rZW4pOwor
ICAgICAgICAvLyBGYWxsIHRocm91Z2guCisgICAgY2FzZSBCZWZvcmVIVE1MTW9kZToKKyAgICAg
ICAgQVNTRVJUKGluc2VydGlvbk1vZGUoKSA9PSBCZWZvcmVIVE1MTW9kZSk7CisgICAgICAgIHBy
b2Nlc3NEZWZhdWx0Rm9yQmVmb3JlSFRNTE1vZGUodG9rZW4pOworICAgICAgICAvLyBGYWxsIHRo
cm91Z2guCisgICAgY2FzZSBCZWZvcmVIZWFkTW9kZToKKyAgICAgICAgQVNTRVJUKGluc2VydGlv
bk1vZGUoKSA9PSBCZWZvcmVIZWFkTW9kZSk7CisgICAgICAgIHByb2Nlc3NEZWZhdWx0Rm9yQmVm
b3JlSGVhZE1vZGUodG9rZW4pOworICAgICAgICAvLyBGYWxsIHRocm91Z2guCisgICAgY2FzZSBJ
bkhlYWRNb2RlOgorICAgICAgICBBU1NFUlQoaW5zZXJ0aW9uTW9kZSgpID09IEluSGVhZE1vZGUp
OworICAgICAgICBwcm9jZXNzRGVmYXVsdEZvckluSGVhZE1vZGUodG9rZW4pOworICAgICAgICAv
LyBGYWxsIHRocm91Z2guCisgICAgY2FzZSBBZnRlckhlYWRNb2RlOgorICAgICAgICBBU1NFUlQo
aW5zZXJ0aW9uTW9kZSgpID09IEFmdGVySGVhZE1vZGUpOworICAgICAgICBwcm9jZXNzRGVmYXVs
dEZvckFmdGVySGVhZE1vZGUodG9rZW4pOworICAgICAgICAvLyBGYWxsIHRocm91Z2gKICAgICBj
YXNlIEluQm9keU1vZGU6Ci0gICAgY2FzZSBUZXh0TW9kZToKLSAgICBjYXNlIEluVGFibGVNb2Rl
OgotICAgIGNhc2UgSW5UYWJsZVRleHRNb2RlOgotICAgIGNhc2UgSW5DYXB0aW9uTW9kZToKLSAg
ICBjYXNlIEluQ29sdW1uR3JvdXBNb2RlOgotICAgIGNhc2UgSW5UYWJsZUJvZHlNb2RlOgotICAg
IGNhc2UgSW5Sb3dNb2RlOgotICAgIGNhc2UgSW5DZWxsTW9kZToKLSAgICBjYXNlIEluU2VsZWN0
TW9kZToKLSAgICBjYXNlIEluU2VsZWN0SW5UYWJsZU1vZGU6Ci0gICAgY2FzZSBJbkZvcmVpZ25D
b250ZW50TW9kZToKLSAgICBjYXNlIEFmdGVyQm9keU1vZGU6Ci0gICAgY2FzZSBJbkZyYW1lc2V0
TW9kZToKLSAgICBjYXNlIEFmdGVyRnJhbWVzZXRNb2RlOgotICAgIGNhc2UgQWZ0ZXJBZnRlckJv
ZHlNb2RlOgotICAgIGNhc2UgQWZ0ZXJBZnRlckZyYW1lc2V0TW9kZToKKyAgICAgICAgQVNTRVJU
KGluc2VydGlvbk1vZGUoKSA9PSBJbkJvZHlNb2RlKTsKKyAgICAgICAgbm90SW1wbGVtZW50ZWQo
KTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBJbkhlYWROb3NjcmlwdE1vZGU6CisgICAgICAg
IEFTU0VSVChpbnNlcnRpb25Nb2RlKCkgPT0gSW5IZWFkTm9zY3JpcHRNb2RlKTsKKyAgICAgICAg
cHJvY2Vzc0RlZmF1bHRGb3JJbkhlYWROb3NjcmlwdE1vZGUodG9rZW4pOworICAgICAgICBwcm9j
ZXNzVG9rZW4odG9rZW4pOworICAgIGRlZmF1bHQ6CiAgICAgICAgIG5vdEltcGxlbWVudGVkKCk7
Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KLSAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKK30KKwordm9pZCBIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NEZWZhdWx0Rm9ySW5p
dGlhbE1vZGUoQXRvbWljSFRNTFRva2VuJiB0b2tlbikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgp
OworICAgIHBhcnNlRXJyb3IodG9rZW4pOworICAgIHNldEluc2VydGlvbk1vZGUoQmVmb3JlSFRN
TE1vZGUpOworfQorCit2b2lkIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc0RlZmF1bHRGb3JCZWZv
cmVIVE1MTW9kZShBdG9taWNIVE1MVG9rZW4mKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cisg
ICAgc2V0SW5zZXJ0aW9uTW9kZShCZWZvcmVIZWFkTW9kZSk7Cit9CisKK3ZvaWQgSFRNTFRyZWVC
dWlsZGVyOjpwcm9jZXNzRGVmYXVsdEZvckJlZm9yZUhlYWRNb2RlKEF0b21pY0hUTUxUb2tlbiYp
Cit7CisgICAgQXRvbWljSFRNTFRva2VuIHN0YXJ0SGVhZChIVE1MVG9rZW46OlN0YXJ0VGFnLCBo
ZWFkVGFnLmxvY2FsTmFtZSgpKTsKKyAgICBwcm9jZXNzU3RhcnRUYWcoc3RhcnRIZWFkKTsKK30K
Kwordm9pZCBIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NEZWZhdWx0Rm9ySW5IZWFkTW9kZShBdG9t
aWNIVE1MVG9rZW4mKQoreworICAgIEF0b21pY0hUTUxUb2tlbiBlbmRIZWFkKEhUTUxUb2tlbjo6
RW5kVGFnLCBoZWFkVGFnLmxvY2FsTmFtZSgpKTsKKyAgICBwcm9jZXNzRW5kVGFnKGVuZEhlYWQp
OworfQorCit2b2lkIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc0RlZmF1bHRGb3JJbkhlYWROb3Nj
cmlwdE1vZGUoQXRvbWljSFRNTFRva2VuJikKK3sKKyAgICBBdG9taWNIVE1MVG9rZW4gZW5kTm9z
Y3JpcHQoSFRNTFRva2VuOjpFbmRUYWcsIG5vc2NyaXB0VGFnLmxvY2FsTmFtZSgpKTsKKyAgICBw
cm9jZXNzRW5kVGFnKGVuZE5vc2NyaXB0KTsKK30KKwordm9pZCBIVE1MVHJlZUJ1aWxkZXI6OnBy
b2Nlc3NEZWZhdWx0Rm9yQWZ0ZXJIZWFkTW9kZShBdG9taWNIVE1MVG9rZW4mKQoreworICAgIEF0
b21pY0hUTUxUb2tlbiBzdGFydEJvZHkoSFRNTFRva2VuOjpTdGFydFRhZywgYm9keVRhZy5sb2Nh
bE5hbWUoKSk7CisgICAgcHJvY2Vzc1N0YXJ0VGFnKHN0YXJ0Qm9keSk7CisgICAgbV9mcmFtZXNl
dE9rID0gdHJ1ZTsKIH0KIAogdm9pZCBIVE1MVHJlZUJ1aWxkZXI6Omluc2VydERvY3R5cGUoQXRv
bWljSFRNTFRva2VuJiB0b2tlbikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MVHJlZUJ1
aWxkZXIuaCBiL1dlYkNvcmUvaHRtbC9IVE1MVHJlZUJ1aWxkZXIuaAppbmRleCAzMGUxN2MzM2Iz
M2I1NjQ0NDA1ODkyNWY3MzE1NzM0ZDRiNjgzMmE1Li5iZGNjZDNiYmJkZThkN2M0NDVmZTg2MWI3
NWQ3M2ViZWY5ODZkY2IzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTFRyZWVCdWlsZGVy
LmgKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxUcmVlQnVpbGRlci5oCkBAIC0xMDgsNyArMTA4LDIz
IEBAIHByaXZhdGU6CiAgICAgfTsKIAogICAgIHZvaWQgcGFzc1Rva2VuVG9MZWdhY3lQYXJzZXIo
SFRNTFRva2VuJik7Ci0gICAgdm9pZCBwcm9jZXNzVG9rZW4oQXRvbWljSFRNTFRva2VuJiwgVUNo
YXIgY2MgPSAwKTsKKworICAgIC8vIFNwZWNpYWxpemVkIGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2lu
ZyB0aGUgZGlmZmVyZW50IHR5cGVzIG9mIHRva2Vucy4KKyAgICB2b2lkIHByb2Nlc3NUb2tlbihB
dG9taWNIVE1MVG9rZW4mKTsKKyAgICB2b2lkIHByb2Nlc3NEb2N0eXBlVG9rZW4oQXRvbWljSFRN
TFRva2VuJik7CisgICAgdm9pZCBwcm9jZXNzU3RhcnRUYWcoQXRvbWljSFRNTFRva2VuJik7Cisg
ICAgdm9pZCBwcm9jZXNzRW5kVGFnKEF0b21pY0hUTUxUb2tlbiYpOworICAgIHZvaWQgcHJvY2Vz
c0NvbW1lbnQoQXRvbWljSFRNTFRva2VuJik7CisgICAgdm9pZCBwcm9jZXNzQ2hhcmFjdGVyKEF0
b21pY0hUTUxUb2tlbiYpOworICAgIHZvaWQgcHJvY2Vzc0VuZE9mRmlsZShBdG9taWNIVE1MVG9r
ZW4mKTsKKworICAgIC8vIERlZmF1bHQgcHJvY2Vzc2luZyBmb3IgdGhlIGRpZmZlcmVudCBpbnNl
cnRpb24gbW9kZXMuCisgICAgdm9pZCBwcm9jZXNzRGVmYXVsdEZvckluaXRpYWxNb2RlKEF0b21p
Y0hUTUxUb2tlbiYpOworICAgIHZvaWQgcHJvY2Vzc0RlZmF1bHRGb3JCZWZvcmVIVE1MTW9kZShB
dG9taWNIVE1MVG9rZW4mKTsKKyAgICB2b2lkIHByb2Nlc3NEZWZhdWx0Rm9yQmVmb3JlSGVhZE1v
ZGUoQXRvbWljSFRNTFRva2VuJik7CisgICAgdm9pZCBwcm9jZXNzRGVmYXVsdEZvckluSGVhZE1v
ZGUoQXRvbWljSFRNTFRva2VuJik7CisgICAgdm9pZCBwcm9jZXNzRGVmYXVsdEZvckluSGVhZE5v
c2NyaXB0TW9kZShBdG9taWNIVE1MVG9rZW4mKTsKKyAgICB2b2lkIHByb2Nlc3NEZWZhdWx0Rm9y
QWZ0ZXJIZWFkTW9kZShBdG9taWNIVE1MVG9rZW4mKTsKIAogICAgIHZvaWQgaW5zZXJ0RG9jdHlw
ZShBdG9taWNIVE1MVG9rZW4mKTsKICAgICB2b2lkIGluc2VydENvbW1lbnQoQXRvbWljSFRNTFRv
a2VuJik7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>