<?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>39129</bug_id>
          
          <creation_ts>2010-05-14 11:54:35 -0700</creation_ts>
          <short_desc>Remove the ENABLE(WORKERS) guard from GenericWorkerTask.h and update the names in this file</short_desc>
          <delta_ts>2010-05-14 13:27:54 -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>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Jian Li">jianli</reporter>
          <assigned_to name="Jian Li">jianli</assigned_to>
          <cc>levin</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>225932</commentid>
    <comment_count>0</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-05-14 11:54:35 -0700</bug_when>
    <thetext>We now have more code components that depend on GenericWorkerTask, not just limiting to workers. So we need to remove the ENABLE(WORKERS) guard and rename it.

This is the first issue to address this:
1) Remove the ENABLE(WORKERS) guard.
2) Rename GenericWorkerTask* to GenericTask* in GenericWorkerTask.h

A second issue will be created to rename the file and move it to other place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225933</commentid>
    <comment_count>1</comment_count>
      <attachid>56091</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-05-14 11:56:36 -0700</bug_when>
    <thetext>Created attachment 56091
Proposed Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225935</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-05-14 11:58:08 -0700</bug_when>
    <thetext>Attachment 56091 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
WebCore/workers/GenericWorkerTask.h:31:  #ifndef header guard has wrong style, please use: GenericWorkerTask_h  [build/header_guard] [5]
WebCore/workers/GenericWorkerTask.h:44:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 2 in 2 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>225939</commentid>
    <comment_count>3</comment_count>
      <attachid>56091</attachid>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2010-05-14 12:04:20 -0700</bug_when>
    <thetext>Comment on attachment 56091
Proposed Patch

WebCore/ChangeLog:5
 +          Remove the ENABLE(WORKERS) guard from GenericWorkerTask.h and update the
Could you mention the actual rename of the classes instead of &apos;update&apos; and also that the rename of the file will be another patch very soon?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225976</commentid>
    <comment_count>4</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-05-14 13:27:54 -0700</bug_when>
    <thetext>Fixed and committed as http://trac.webkit.org/changeset/59484.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56091</attachid>
            <date>2010-05-14 11:56:36 -0700</date>
            <delta_ts>2010-05-14 12:04:20 -0700</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>39129</filename>
            <type>text/plain</type>
            <size>26025</size>
            <attacher name="Jian Li">jianli</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MjhjNTQ0Yi4uNDYyMjM2ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMSBAQAorMjAxMC0wNS0xNCAgSmlhbiBMaSAgPGpp
YW5saUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUmVtb3ZlIHRoZSBFTkFCTEUoV09SS0VSUykgZ3VhcmQgZnJvbSBHZW5lcmlj
V29ya2VyVGFzay5oIGFuZCB1cGRhdGUgdGhlCisgICAgICAgIG5hbWVzIGluIHRoaXMgZmlsZS4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM5MTI5CisK
KyAgICAgICAgKiB3b3JrZXJzL0dlbmVyaWNXb3JrZXJUYXNrLmg6CisgICAgICAgIChXZWJDb3Jl
OjopOgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJpY1Rhc2sxOjpjcmVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6R2VuZXJpY1Rhc2sxOjpHZW5lcmljVGFzazEpOgorICAgICAgICAoV2ViQ29yZTo6
R2VuZXJpY1Rhc2syOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJpY1Rhc2syOjpH
ZW5lcmljVGFzazIpOgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJpY1Rhc2szOjpjcmVhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6R2VuZXJpY1Rhc2szOjpHZW5lcmljVGFzazMpOgorICAgICAgICAo
V2ViQ29yZTo6R2VuZXJpY1Rhc2s0OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJp
Y1Rhc2s0OjpHZW5lcmljVGFzazQpOgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJpY1Rhc2s1Ojpj
cmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJpY1Rhc2s1OjpHZW5lcmljVGFzazUpOgor
ICAgICAgICAoV2ViQ29yZTo6R2VuZXJpY1Rhc2s2OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6R2VuZXJpY1Rhc2s2OjpHZW5lcmljVGFzazYpOgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJp
Y1Rhc2s3OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJpY1Rhc2s3OjpHZW5lcmlj
VGFzazcpOgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJpY1Rhc2s4OjpjcmVhdGUpOgorICAgICAg
ICAoV2ViQ29yZTo6R2VuZXJpY1Rhc2s4OjpHZW5lcmljVGFzazgpOgorICAgICAgICAoV2ViQ29y
ZTo6Y3JlYXRlQ2FsbGJhY2tUYXNrKToKKwogMjAxMC0wNS0xNCAgU2hpbmljaGlybyBIYW1hamkg
IDxoYW1hamlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuICBBdHRlbXB0IHRv
IGZpeCBjaHJvbWl1bSdzIG1lbW9yeSBib3QgZXJyb3IuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3dv
cmtlcnMvR2VuZXJpY1dvcmtlclRhc2suaCBiL1dlYkNvcmUvd29ya2Vycy9HZW5lcmljV29ya2Vy
VGFzay5oCmluZGV4IGE5ODM5YzYuLjgyZWMyNWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vy
cy9HZW5lcmljV29ya2VyVGFzay5oCisrKyBiL1dlYkNvcmUvd29ya2Vycy9HZW5lcmljV29ya2Vy
VGFzay5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5LTIwMTAgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKQEAgLTI4LDEwICsyOCw4IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZm5k
ZWYgR2VuZXJpY1dvcmtlclRhc2tfaAotI2RlZmluZSBHZW5lcmljV29ya2VyVGFza19oCi0KLSNp
ZiBFTkFCTEUoV09SS0VSUykKKyNpZm5kZWYgR2VuZXJpY1Rhc2tfaAorI2RlZmluZSBHZW5lcmlj
VGFza19oCiAKICNpbmNsdWRlICJDcm9zc1RocmVhZENvcGllci5oIgogI2luY2x1ZGUgIlNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQuaCIKQEAgLTQyLDM3ICs0MCwzNyBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLSAgICAvLyBUcmFpdHMgZm9yIHRoZSBHZW5lcmljV29ya2VyVGFzay4KLSAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgR2VuZXJpY1dvcmtlclRhc2tUcmFpdHMgeworICAg
IC8vIFRyYWl0cyBmb3IgdGhlIEdlbmVyaWNUYXNrLgorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IHN0cnVjdCBHZW5lcmljVGFza1RyYWl0cyB7CiAgICAgICAgIHR5cGVkZWYgY29uc3QgVCYgUGFy
YW1UeXBlOwogICAgIH07CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgR2VuZXJp
Y1dvcmtlclRhc2tUcmFpdHM8VCo+IHsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3Qg
R2VuZXJpY1Rhc2tUcmFpdHM8VCo+IHsKICAgICAgICAgdHlwZWRlZiBUKiBQYXJhbVR5cGU7CiAg
ICAgfTsKIAotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBHZW5lcmljV29ya2VyVGFz
a1RyYWl0czxQYXNzUmVmUHRyPFQ+ID4geworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVj
dCBHZW5lcmljVGFza1RyYWl0czxQYXNzUmVmUHRyPFQ+ID4gewogICAgICAgICB0eXBlZGVmIFBh
c3NSZWZQdHI8VD4gUGFyYW1UeXBlOwogICAgIH07CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBU
PiBzdHJ1Y3QgR2VuZXJpY1dvcmtlclRhc2tUcmFpdHM8UGFzc093blB0cjxUPiA+IHsKKyAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgR2VuZXJpY1Rhc2tUcmFpdHM8UGFzc093blB0cjxU
PiA+IHsKICAgICAgICAgdHlwZWRlZiBQYXNzT3duUHRyPFQ+IFBhcmFtVHlwZTsKICAgICB9Owog
CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgUDEsIHR5cGVuYW1lIE1QMT4KLSAgICBjbGFzcyBHZW5l
cmljV29ya2VyVGFzazEgOiBwdWJsaWMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzayB7Cisg
ICAgY2xhc3MgR2VuZXJpY1Rhc2sxIDogcHVibGljIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRh
c2sgewogICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiB2b2lkICgqTWV0aG9kKShTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiwgTVAxKTsKLSAgICAgICAgdHlwZWRlZiBHZW5lcmljV29ya2VyVGFz
azE8UDEsIE1QMT4gR2VuZXJpY1dvcmtlclRhc2s7Ci0gICAgICAgIHR5cGVkZWYgdHlwZW5hbWUg
R2VuZXJpY1dvcmtlclRhc2tUcmFpdHM8UDE+OjpQYXJhbVR5cGUgUGFyYW0xOworICAgICAgICB0
eXBlZGVmIEdlbmVyaWNUYXNrMTxQMSwgTVAxPiBHZW5lcmljVGFzazsKKyAgICAgICAgdHlwZWRl
ZiB0eXBlbmFtZSBHZW5lcmljVGFza1RyYWl0czxQMT46OlBhcmFtVHlwZSBQYXJhbTE7CiAKLSAg
ICAgICAgc3RhdGljIFBhc3NPd25QdHI8R2VuZXJpY1dvcmtlclRhc2s+IGNyZWF0ZShNZXRob2Qg
bWV0aG9kLCBQYXJhbTEgcGFyYW1ldGVyMSkKKyAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8R2Vu
ZXJpY1Rhc2s+IGNyZWF0ZShNZXRob2QgbWV0aG9kLCBQYXJhbTEgcGFyYW1ldGVyMSkKICAgICAg
ICAgewotICAgICAgICAgICAgcmV0dXJuIG5ldyBHZW5lcmljV29ya2VyVGFzayhtZXRob2QsIHBh
cmFtZXRlcjEpOworICAgICAgICAgICAgcmV0dXJuIG5ldyBHZW5lcmljVGFzayhtZXRob2QsIHBh
cmFtZXRlcjEpOwogICAgICAgICB9CiAKICAgICBwcml2YXRlOgotICAgICAgICBHZW5lcmljV29y
a2VyVGFzazEoTWV0aG9kIG1ldGhvZCwgUGFyYW0xIHBhcmFtZXRlcjEpCisgICAgICAgIEdlbmVy
aWNUYXNrMShNZXRob2QgbWV0aG9kLCBQYXJhbTEgcGFyYW1ldGVyMSkKICAgICAgICAgICAgIDog
bV9tZXRob2QobWV0aG9kKQogICAgICAgICAgICAgLCBtX3BhcmFtZXRlcjEocGFyYW1ldGVyMSkK
ICAgICAgICAgewpAQCAtODksMjAgKzg3LDIwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB9
OwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgUDEsIHR5cGVuYW1lIE1QMSwgdHlwZW5hbWUgUDIs
IHR5cGVuYW1lIE1QMj4KLSAgICBjbGFzcyBHZW5lcmljV29ya2VyVGFzazIgOiBwdWJsaWMgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzayB7CisgICAgY2xhc3MgR2VuZXJpY1Rhc2syIDogcHVi
bGljIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2sgewogICAgIHB1YmxpYzoKICAgICAgICAg
dHlwZWRlZiB2b2lkICgqTWV0aG9kKShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgTVAxLCBNUDIp
OwotICAgICAgICB0eXBlZGVmIEdlbmVyaWNXb3JrZXJUYXNrMjxQMSwgTVAxLCBQMiwgTVAyPiBH
ZW5lcmljV29ya2VyVGFzazsKLSAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBHZW5lcmljV29ya2Vy
VGFza1RyYWl0czxQMT46OlBhcmFtVHlwZSBQYXJhbTE7Ci0gICAgICAgIHR5cGVkZWYgdHlwZW5h
bWUgR2VuZXJpY1dvcmtlclRhc2tUcmFpdHM8UDI+OjpQYXJhbVR5cGUgUGFyYW0yOworICAgICAg
ICB0eXBlZGVmIEdlbmVyaWNUYXNrMjxQMSwgTVAxLCBQMiwgTVAyPiBHZW5lcmljVGFzazsKKyAg
ICAgICAgdHlwZWRlZiB0eXBlbmFtZSBHZW5lcmljVGFza1RyYWl0czxQMT46OlBhcmFtVHlwZSBQ
YXJhbTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgR2VuZXJpY1Rhc2tUcmFpdHM8UDI+OjpQ
YXJhbVR5cGUgUGFyYW0yOwogCi0gICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPEdlbmVyaWNXb3Jr
ZXJUYXNrPiBjcmVhdGUoTWV0aG9kIG1ldGhvZCwgUGFyYW0xIHBhcmFtZXRlcjEsIFBhcmFtMiBw
YXJhbWV0ZXIyKQorICAgICAgICBzdGF0aWMgUGFzc093blB0cjxHZW5lcmljVGFzaz4gY3JlYXRl
KE1ldGhvZCBtZXRob2QsIFBhcmFtMSBwYXJhbWV0ZXIxLCBQYXJhbTIgcGFyYW1ldGVyMikKICAg
ICAgICAgewotICAgICAgICAgICAgcmV0dXJuIG5ldyBHZW5lcmljV29ya2VyVGFzayhtZXRob2Qs
IHBhcmFtZXRlcjEsIHBhcmFtZXRlcjIpOworICAgICAgICAgICAgcmV0dXJuIG5ldyBHZW5lcmlj
VGFzayhtZXRob2QsIHBhcmFtZXRlcjEsIHBhcmFtZXRlcjIpOwogICAgICAgICB9CiAKICAgICBw
cml2YXRlOgotICAgICAgICBHZW5lcmljV29ya2VyVGFzazIoTWV0aG9kIG1ldGhvZCwgUGFyYW0x
IHBhcmFtZXRlcjEsIFBhcmFtMiBwYXJhbWV0ZXIyKQorICAgICAgICBHZW5lcmljVGFzazIoTWV0
aG9kIG1ldGhvZCwgUGFyYW0xIHBhcmFtZXRlcjEsIFBhcmFtMiBwYXJhbWV0ZXIyKQogICAgICAg
ICAgICAgOiBtX21ldGhvZChtZXRob2QpCiAgICAgICAgICAgICAsIG1fcGFyYW1ldGVyMShwYXJh
bWV0ZXIxKQogICAgICAgICAgICAgLCBtX3BhcmFtZXRlcjIocGFyYW1ldGVyMikKQEAgLTEyMSwy
MSArMTE5LDIxIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB9OwogCiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUgUDEsIHR5cGVuYW1lIE1QMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIE1QMiwgdHlw
ZW5hbWUgUDMsIHR5cGVuYW1lIE1QMz4KLSAgICBjbGFzcyBHZW5lcmljV29ya2VyVGFzazMgOiBw
dWJsaWMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzayB7CisgICAgY2xhc3MgR2VuZXJpY1Rh
c2szIDogcHVibGljIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2sgewogICAgIHB1YmxpYzoK
ICAgICAgICAgdHlwZWRlZiB2b2lkICgqTWV0aG9kKShTY3JpcHRFeGVjdXRpb25Db250ZXh0Kiwg
TVAxLCBNUDIsIE1QMyk7Ci0gICAgICAgIHR5cGVkZWYgR2VuZXJpY1dvcmtlclRhc2szPFAxLCBN
UDEsIFAyLCBNUDIsIFAzLCBNUDM+IEdlbmVyaWNXb3JrZXJUYXNrOwotICAgICAgICB0eXBlZGVm
IHR5cGVuYW1lIEdlbmVyaWNXb3JrZXJUYXNrVHJhaXRzPFAxPjo6UGFyYW1UeXBlIFBhcmFtMTsK
LSAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBHZW5lcmljV29ya2VyVGFza1RyYWl0czxQMj46OlBh
cmFtVHlwZSBQYXJhbTI7Ci0gICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgR2VuZXJpY1dvcmtlclRh
c2tUcmFpdHM8UDM+OjpQYXJhbVR5cGUgUGFyYW0zOworICAgICAgICB0eXBlZGVmIEdlbmVyaWNU
YXNrMzxQMSwgTVAxLCBQMiwgTVAyLCBQMywgTVAzPiBHZW5lcmljVGFzazsKKyAgICAgICAgdHlw
ZWRlZiB0eXBlbmFtZSBHZW5lcmljVGFza1RyYWl0czxQMT46OlBhcmFtVHlwZSBQYXJhbTE7Cisg
ICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgR2VuZXJpY1Rhc2tUcmFpdHM8UDI+OjpQYXJhbVR5cGUg
UGFyYW0yOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIEdlbmVyaWNUYXNrVHJhaXRzPFAzPjo6
UGFyYW1UeXBlIFBhcmFtMzsKIAotICAgICAgICBzdGF0aWMgUGFzc093blB0cjxHZW5lcmljV29y
a2VyVGFzaz4gY3JlYXRlKE1ldGhvZCBtZXRob2QsIFBhcmFtMSBwYXJhbWV0ZXIxLCBQYXJhbTIg
cGFyYW1ldGVyMiwgUGFyYW0zIHBhcmFtZXRlcjMpCisgICAgICAgIHN0YXRpYyBQYXNzT3duUHRy
PEdlbmVyaWNUYXNrPiBjcmVhdGUoTWV0aG9kIG1ldGhvZCwgUGFyYW0xIHBhcmFtZXRlcjEsIFBh
cmFtMiBwYXJhbWV0ZXIyLCBQYXJhbTMgcGFyYW1ldGVyMykKICAgICAgICAgewotICAgICAgICAg
ICAgcmV0dXJuIG5ldyBHZW5lcmljV29ya2VyVGFzayhtZXRob2QsIHBhcmFtZXRlcjEsIHBhcmFt
ZXRlcjIsIHBhcmFtZXRlcjMpOworICAgICAgICAgICAgcmV0dXJuIG5ldyBHZW5lcmljVGFzayht
ZXRob2QsIHBhcmFtZXRlcjEsIHBhcmFtZXRlcjIsIHBhcmFtZXRlcjMpOwogICAgICAgICB9CiAK
ICAgICBwcml2YXRlOgotICAgICAgICBHZW5lcmljV29ya2VyVGFzazMoTWV0aG9kIG1ldGhvZCwg
UGFyYW0xIHBhcmFtZXRlcjEsIFBhcmFtMiBwYXJhbWV0ZXIyLCBQYXJhbTMgcGFyYW1ldGVyMykK
KyAgICAgICAgR2VuZXJpY1Rhc2szKE1ldGhvZCBtZXRob2QsIFBhcmFtMSBwYXJhbWV0ZXIxLCBQ
YXJhbTIgcGFyYW1ldGVyMiwgUGFyYW0zIHBhcmFtZXRlcjMpCiAgICAgICAgICAgICA6IG1fbWV0
aG9kKG1ldGhvZCkKICAgICAgICAgICAgICwgbV9wYXJhbWV0ZXIxKHBhcmFtZXRlcjEpCiAgICAg
ICAgICAgICAsIG1fcGFyYW1ldGVyMihwYXJhbWV0ZXIyKQpAQCAtMTU2LDIyICsxNTQsMjIgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIH07CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBQMSwg
dHlwZW5hbWUgTVAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgTVAyLCB0eXBlbmFtZSBQMywgdHlw
ZW5hbWUgTVAzLCB0eXBlbmFtZSBQNCwgdHlwZW5hbWUgTVA0PgotICAgIGNsYXNzIEdlbmVyaWNX
b3JrZXJUYXNrNCA6IHB1YmxpYyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrIHsKKyAgICBj
bGFzcyBHZW5lcmljVGFzazQgOiBwdWJsaWMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzayB7
CiAgICAgcHVibGljOgogICAgICAgICB0eXBlZGVmIHZvaWQgKCpNZXRob2QpKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqLCBNUDEsIE1QMiwgTVAzLCBNUDQpOwotICAgICAgICB0eXBlZGVmIEdlbmVy
aWNXb3JrZXJUYXNrNDxQMSwgTVAxLCBQMiwgTVAyLCBQMywgTVAzLCBQNCwgTVA0PiBHZW5lcmlj
V29ya2VyVGFzazsKLSAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBHZW5lcmljV29ya2VyVGFza1Ry
YWl0czxQMT46OlBhcmFtVHlwZSBQYXJhbTE7Ci0gICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgR2Vu
ZXJpY1dvcmtlclRhc2tUcmFpdHM8UDI+OjpQYXJhbVR5cGUgUGFyYW0yOwotICAgICAgICB0eXBl
ZGVmIHR5cGVuYW1lIEdlbmVyaWNXb3JrZXJUYXNrVHJhaXRzPFAzPjo6UGFyYW1UeXBlIFBhcmFt
MzsKLSAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBHZW5lcmljV29ya2VyVGFza1RyYWl0czxQND46
OlBhcmFtVHlwZSBQYXJhbTQ7CisgICAgICAgIHR5cGVkZWYgR2VuZXJpY1Rhc2s0PFAxLCBNUDEs
IFAyLCBNUDIsIFAzLCBNUDMsIFA0LCBNUDQ+IEdlbmVyaWNUYXNrOworICAgICAgICB0eXBlZGVm
IHR5cGVuYW1lIEdlbmVyaWNUYXNrVHJhaXRzPFAxPjo6UGFyYW1UeXBlIFBhcmFtMTsKKyAgICAg
ICAgdHlwZWRlZiB0eXBlbmFtZSBHZW5lcmljVGFza1RyYWl0czxQMj46OlBhcmFtVHlwZSBQYXJh
bTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgR2VuZXJpY1Rhc2tUcmFpdHM8UDM+OjpQYXJh
bVR5cGUgUGFyYW0zOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIEdlbmVyaWNUYXNrVHJhaXRz
PFA0Pjo6UGFyYW1UeXBlIFBhcmFtNDsKIAotICAgICAgICBzdGF0aWMgUGFzc093blB0cjxHZW5l
cmljV29ya2VyVGFzaz4gY3JlYXRlKE1ldGhvZCBtZXRob2QsIFBhcmFtMSBwYXJhbWV0ZXIxLCBQ
YXJhbTIgcGFyYW1ldGVyMiwgUGFyYW0zIHBhcmFtZXRlcjMsIFBhcmFtNCBwYXJhbWV0ZXI0KQor
ICAgICAgICBzdGF0aWMgUGFzc093blB0cjxHZW5lcmljVGFzaz4gY3JlYXRlKE1ldGhvZCBtZXRo
b2QsIFBhcmFtMSBwYXJhbWV0ZXIxLCBQYXJhbTIgcGFyYW1ldGVyMiwgUGFyYW0zIHBhcmFtZXRl
cjMsIFBhcmFtNCBwYXJhbWV0ZXI0KQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3
IEdlbmVyaWNXb3JrZXJUYXNrKG1ldGhvZCwgcGFyYW1ldGVyMSwgcGFyYW1ldGVyMiwgcGFyYW1l
dGVyMywgcGFyYW1ldGVyNCk7CisgICAgICAgICAgICByZXR1cm4gbmV3IEdlbmVyaWNUYXNrKG1l
dGhvZCwgcGFyYW1ldGVyMSwgcGFyYW1ldGVyMiwgcGFyYW1ldGVyMywgcGFyYW1ldGVyNCk7CiAg
ICAgICAgIH0KIAogICAgIHByaXZhdGU6Ci0gICAgICAgIEdlbmVyaWNXb3JrZXJUYXNrNChNZXRo
b2QgbWV0aG9kLCBQYXJhbTEgcGFyYW1ldGVyMSwgUGFyYW0yIHBhcmFtZXRlcjIsIFBhcmFtMyBw
YXJhbWV0ZXIzLCBQYXJhbTQgcGFyYW1ldGVyNCkKKyAgICAgICAgR2VuZXJpY1Rhc2s0KE1ldGhv
ZCBtZXRob2QsIFBhcmFtMSBwYXJhbWV0ZXIxLCBQYXJhbTIgcGFyYW1ldGVyMiwgUGFyYW0zIHBh
cmFtZXRlcjMsIFBhcmFtNCBwYXJhbWV0ZXI0KQogICAgICAgICAgICAgOiBtX21ldGhvZChtZXRo
b2QpCiAgICAgICAgICAgICAsIG1fcGFyYW1ldGVyMShwYXJhbWV0ZXIxKQogICAgICAgICAgICAg
LCBtX3BhcmFtZXRlcjIocGFyYW1ldGVyMikKQEAgLTE5NCwyMyArMTkyLDIzIEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICB9OwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgUDEsIHR5cGVuYW1l
IE1QMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIE1QMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIE1Q
MywgdHlwZW5hbWUgUDQsIHR5cGVuYW1lIE1QNCwgdHlwZW5hbWUgUDUsIHR5cGVuYW1lIE1QNT4K
LSAgICBjbGFzcyBHZW5lcmljV29ya2VyVGFzazUgOiBwdWJsaWMgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dDo6VGFzayB7CisgICAgY2xhc3MgR2VuZXJpY1Rhc2s1IDogcHVibGljIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ6OlRhc2sgewogICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiB2b2lkICgq
TWV0aG9kKShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgTVAxLCBNUDIsIE1QMywgTVA0LCBNUDUp
OwotICAgICAgICB0eXBlZGVmIEdlbmVyaWNXb3JrZXJUYXNrNTxQMSwgTVAxLCBQMiwgTVAyLCBQ
MywgTVAzLCBQNCwgTVA0LCBQNSwgTVA1PiBHZW5lcmljV29ya2VyVGFzazsKLSAgICAgICAgdHlw
ZWRlZiB0eXBlbmFtZSBHZW5lcmljV29ya2VyVGFza1RyYWl0czxQMT46OlBhcmFtVHlwZSBQYXJh
bTE7Ci0gICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgR2VuZXJpY1dvcmtlclRhc2tUcmFpdHM8UDI+
OjpQYXJhbVR5cGUgUGFyYW0yOwotICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIEdlbmVyaWNXb3Jr
ZXJUYXNrVHJhaXRzPFAzPjo6UGFyYW1UeXBlIFBhcmFtMzsKLSAgICAgICAgdHlwZWRlZiB0eXBl
bmFtZSBHZW5lcmljV29ya2VyVGFza1RyYWl0czxQND46OlBhcmFtVHlwZSBQYXJhbTQ7Ci0gICAg
ICAgIHR5cGVkZWYgdHlwZW5hbWUgR2VuZXJpY1dvcmtlclRhc2tUcmFpdHM8UDU+OjpQYXJhbVR5
cGUgUGFyYW01OwotCi0gICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPEdlbmVyaWNXb3JrZXJUYXNr
PiBjcmVhdGUoTWV0aG9kIG1ldGhvZCwgUGFyYW0xIHBhcmFtZXRlcjEsIFBhcmFtMiBwYXJhbWV0
ZXIyLCBQYXJhbTMgcGFyYW1ldGVyMywgUGFyYW00IHBhcmFtZXRlcjQsIFBhcmFtNSBwYXJhbWV0
ZXI1KQorICAgICAgICB0eXBlZGVmIEdlbmVyaWNUYXNrNTxQMSwgTVAxLCBQMiwgTVAyLCBQMywg
TVAzLCBQNCwgTVA0LCBQNSwgTVA1PiBHZW5lcmljVGFzazsKKyAgICAgICAgdHlwZWRlZiB0eXBl
bmFtZSBHZW5lcmljVGFza1RyYWl0czxQMT46OlBhcmFtVHlwZSBQYXJhbTE7CisgICAgICAgIHR5
cGVkZWYgdHlwZW5hbWUgR2VuZXJpY1Rhc2tUcmFpdHM8UDI+OjpQYXJhbVR5cGUgUGFyYW0yOwor
ICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIEdlbmVyaWNUYXNrVHJhaXRzPFAzPjo6UGFyYW1UeXBl
IFBhcmFtMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBHZW5lcmljVGFza1RyYWl0czxQND46
OlBhcmFtVHlwZSBQYXJhbTQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgR2VuZXJpY1Rhc2tU
cmFpdHM8UDU+OjpQYXJhbVR5cGUgUGFyYW01OworCisgICAgICAgIHN0YXRpYyBQYXNzT3duUHRy
PEdlbmVyaWNUYXNrPiBjcmVhdGUoTWV0aG9kIG1ldGhvZCwgUGFyYW0xIHBhcmFtZXRlcjEsIFBh
cmFtMiBwYXJhbWV0ZXIyLCBQYXJhbTMgcGFyYW1ldGVyMywgUGFyYW00IHBhcmFtZXRlcjQsIFBh
cmFtNSBwYXJhbWV0ZXI1KQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IEdlbmVy
aWNXb3JrZXJUYXNrKG1ldGhvZCwgcGFyYW1ldGVyMSwgcGFyYW1ldGVyMiwgcGFyYW1ldGVyMywg
cGFyYW1ldGVyNCwgcGFyYW1ldGVyNSk7CisgICAgICAgICAgICByZXR1cm4gbmV3IEdlbmVyaWNU
YXNrKG1ldGhvZCwgcGFyYW1ldGVyMSwgcGFyYW1ldGVyMiwgcGFyYW1ldGVyMywgcGFyYW1ldGVy
NCwgcGFyYW1ldGVyNSk7CiAgICAgICAgIH0KIAogICAgIHByaXZhdGU6Ci0gICAgICAgIEdlbmVy
aWNXb3JrZXJUYXNrNShNZXRob2QgbWV0aG9kLCBQYXJhbTEgcGFyYW1ldGVyMSwgUGFyYW0yIHBh
cmFtZXRlcjIsIFBhcmFtMyBwYXJhbWV0ZXIzLCBQYXJhbTQgcGFyYW1ldGVyNCwgUGFyYW01IHBh
cmFtZXRlcjUpCisgICAgICAgIEdlbmVyaWNUYXNrNShNZXRob2QgbWV0aG9kLCBQYXJhbTEgcGFy
YW1ldGVyMSwgUGFyYW0yIHBhcmFtZXRlcjIsIFBhcmFtMyBwYXJhbWV0ZXIzLCBQYXJhbTQgcGFy
YW1ldGVyNCwgUGFyYW01IHBhcmFtZXRlcjUpCiAgICAgICAgICAgICA6IG1fbWV0aG9kKG1ldGhv
ZCkKICAgICAgICAgICAgICwgbV9wYXJhbWV0ZXIxKHBhcmFtZXRlcjEpCiAgICAgICAgICAgICAs
IG1fcGFyYW1ldGVyMihwYXJhbWV0ZXIyKQpAQCAtMjM1LDI0ICsyMzMsMjQgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIH07CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBQMSwgdHlwZW5hbWUg
TVAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgTVAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgTVAz
LCB0eXBlbmFtZSBQNCwgdHlwZW5hbWUgTVA0LCB0eXBlbmFtZSBQNSwgdHlwZW5hbWUgTVA1LCB0
eXBlbmFtZSBQNiwgdHlwZW5hbWUgTVA2PgotICAgIGNsYXNzIEdlbmVyaWNXb3JrZXJUYXNrNiA6
IHB1YmxpYyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrIHsKKyAgICBjbGFzcyBHZW5lcmlj
VGFzazYgOiBwdWJsaWMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzayB7CiAgICAgcHVibGlj
OgogICAgICAgICB0eXBlZGVmIHZvaWQgKCpNZXRob2QpKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
LCBNUDEsIE1QMiwgTVAzLCBNUDQsIE1QNSwgTVA2KTsKLSAgICAgICAgdHlwZWRlZiBHZW5lcmlj
V29ya2VyVGFzazY8UDEsIE1QMSwgUDIsIE1QMiwgUDMsIE1QMywgUDQsIE1QNCwgUDUsIE1QNSwg
UDYsIE1QNj4gR2VuZXJpY1dvcmtlclRhc2s7Ci0gICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgR2Vu
ZXJpY1dvcmtlclRhc2tUcmFpdHM8UDE+OjpQYXJhbVR5cGUgUGFyYW0xOwotICAgICAgICB0eXBl
ZGVmIHR5cGVuYW1lIEdlbmVyaWNXb3JrZXJUYXNrVHJhaXRzPFAyPjo6UGFyYW1UeXBlIFBhcmFt
MjsKLSAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBHZW5lcmljV29ya2VyVGFza1RyYWl0czxQMz46
OlBhcmFtVHlwZSBQYXJhbTM7Ci0gICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgR2VuZXJpY1dvcmtl
clRhc2tUcmFpdHM8UDQ+OjpQYXJhbVR5cGUgUGFyYW00OwotICAgICAgICB0eXBlZGVmIHR5cGVu
YW1lIEdlbmVyaWNXb3JrZXJUYXNrVHJhaXRzPFA1Pjo6UGFyYW1UeXBlIFBhcmFtNTsKLSAgICAg
ICAgdHlwZWRlZiB0eXBlbmFtZSBHZW5lcmljV29ya2VyVGFza1RyYWl0czxQNj46OlBhcmFtVHlw
ZSBQYXJhbTY7Ci0KLSAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8R2VuZXJpY1dvcmtlclRhc2s+
IGNyZWF0ZShNZXRob2QgbWV0aG9kLCBQYXJhbTEgcGFyYW1ldGVyMSwgUGFyYW0yIHBhcmFtZXRl
cjIsIFBhcmFtMyBwYXJhbWV0ZXIzLCBQYXJhbTQgcGFyYW1ldGVyNCwgUGFyYW01IHBhcmFtZXRl
cjUsIFBhcmFtNiBwYXJhbWV0ZXI2KQorICAgICAgICB0eXBlZGVmIEdlbmVyaWNUYXNrNjxQMSwg
TVAxLCBQMiwgTVAyLCBQMywgTVAzLCBQNCwgTVA0LCBQNSwgTVA1LCBQNiwgTVA2PiBHZW5lcmlj
VGFzazsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBHZW5lcmljVGFza1RyYWl0czxQMT46OlBh
cmFtVHlwZSBQYXJhbTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgR2VuZXJpY1Rhc2tUcmFp
dHM8UDI+OjpQYXJhbVR5cGUgUGFyYW0yOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIEdlbmVy
aWNUYXNrVHJhaXRzPFAzPjo6UGFyYW1UeXBlIFBhcmFtMzsKKyAgICAgICAgdHlwZWRlZiB0eXBl
bmFtZSBHZW5lcmljVGFza1RyYWl0czxQND46OlBhcmFtVHlwZSBQYXJhbTQ7CisgICAgICAgIHR5
cGVkZWYgdHlwZW5hbWUgR2VuZXJpY1Rhc2tUcmFpdHM8UDU+OjpQYXJhbVR5cGUgUGFyYW01Owor
ICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIEdlbmVyaWNUYXNrVHJhaXRzPFA2Pjo6UGFyYW1UeXBl
IFBhcmFtNjsKKworICAgICAgICBzdGF0aWMgUGFzc093blB0cjxHZW5lcmljVGFzaz4gY3JlYXRl
KE1ldGhvZCBtZXRob2QsIFBhcmFtMSBwYXJhbWV0ZXIxLCBQYXJhbTIgcGFyYW1ldGVyMiwgUGFy
YW0zIHBhcmFtZXRlcjMsIFBhcmFtNCBwYXJhbWV0ZXI0LCBQYXJhbTUgcGFyYW1ldGVyNSwgUGFy
YW02IHBhcmFtZXRlcjYpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgR2VuZXJp
Y1dvcmtlclRhc2sobWV0aG9kLCBwYXJhbWV0ZXIxLCBwYXJhbWV0ZXIyLCBwYXJhbWV0ZXIzLCBw
YXJhbWV0ZXI0LCBwYXJhbWV0ZXI1LCBwYXJhbWV0ZXI2KTsKKyAgICAgICAgICAgIHJldHVybiBu
ZXcgR2VuZXJpY1Rhc2sobWV0aG9kLCBwYXJhbWV0ZXIxLCBwYXJhbWV0ZXIyLCBwYXJhbWV0ZXIz
LCBwYXJhbWV0ZXI0LCBwYXJhbWV0ZXI1LCBwYXJhbWV0ZXI2KTsKICAgICAgICAgfQogCiAgICAg
cHJpdmF0ZToKLSAgICAgICAgR2VuZXJpY1dvcmtlclRhc2s2KE1ldGhvZCBtZXRob2QsIFBhcmFt
MSBwYXJhbWV0ZXIxLCBQYXJhbTIgcGFyYW1ldGVyMiwgUGFyYW0zIHBhcmFtZXRlcjMsIFBhcmFt
NCBwYXJhbWV0ZXI0LCBQYXJhbTUgcGFyYW1ldGVyNSwgUGFyYW02IHBhcmFtZXRlcjYpCisgICAg
ICAgIEdlbmVyaWNUYXNrNihNZXRob2QgbWV0aG9kLCBQYXJhbTEgcGFyYW1ldGVyMSwgUGFyYW0y
IHBhcmFtZXRlcjIsIFBhcmFtMyBwYXJhbWV0ZXIzLCBQYXJhbTQgcGFyYW1ldGVyNCwgUGFyYW01
IHBhcmFtZXRlcjUsIFBhcmFtNiBwYXJhbWV0ZXI2KQogICAgICAgICAgICAgOiBtX21ldGhvZCht
ZXRob2QpCiAgICAgICAgICAgICAsIG1fcGFyYW1ldGVyMShwYXJhbWV0ZXIxKQogICAgICAgICAg
ICAgLCBtX3BhcmFtZXRlcjIocGFyYW1ldGVyMikKQEAgLTI3OSwyNSArMjc3LDI1IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICB9OwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgUDEsIHR5cGVu
YW1lIE1QMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIE1QMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1l
IE1QMywgdHlwZW5hbWUgUDQsIHR5cGVuYW1lIE1QNCwgdHlwZW5hbWUgUDUsIHR5cGVuYW1lIE1Q
NSwgdHlwZW5hbWUgUDYsIHR5cGVuYW1lIE1QNiwgdHlwZW5hbWUgUDcsIHR5cGVuYW1lIE1QNz4K
LSAgICBjbGFzcyBHZW5lcmljV29ya2VyVGFzazcgOiBwdWJsaWMgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dDo6VGFzayB7CisgICAgY2xhc3MgR2VuZXJpY1Rhc2s3IDogcHVibGljIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ6OlRhc2sgewogICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiB2b2lkICgq
TWV0aG9kKShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgTVAxLCBNUDIsIE1QMywgTVA0LCBNUDUs
IE1QNiwgTVA3KTsKLSAgICAgICAgdHlwZWRlZiBHZW5lcmljV29ya2VyVGFzazc8UDEsIE1QMSwg
UDIsIE1QMiwgUDMsIE1QMywgUDQsIE1QNCwgUDUsIE1QNSwgUDYsIE1QNiwgUDcsIE1QNz4gR2Vu
ZXJpY1dvcmtlclRhc2s7Ci0gICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgR2VuZXJpY1dvcmtlclRh
c2tUcmFpdHM8UDE+OjpQYXJhbVR5cGUgUGFyYW0xOwotICAgICAgICB0eXBlZGVmIHR5cGVuYW1l
IEdlbmVyaWNXb3JrZXJUYXNrVHJhaXRzPFAyPjo6UGFyYW1UeXBlIFBhcmFtMjsKLSAgICAgICAg
dHlwZWRlZiB0eXBlbmFtZSBHZW5lcmljV29ya2VyVGFza1RyYWl0czxQMz46OlBhcmFtVHlwZSBQ
YXJhbTM7Ci0gICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgR2VuZXJpY1dvcmtlclRhc2tUcmFpdHM8
UDQ+OjpQYXJhbVR5cGUgUGFyYW00OwotICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIEdlbmVyaWNX
b3JrZXJUYXNrVHJhaXRzPFA1Pjo6UGFyYW1UeXBlIFBhcmFtNTsKLSAgICAgICAgdHlwZWRlZiB0
eXBlbmFtZSBHZW5lcmljV29ya2VyVGFza1RyYWl0czxQNj46OlBhcmFtVHlwZSBQYXJhbTY7Ci0g
ICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgR2VuZXJpY1dvcmtlclRhc2tUcmFpdHM8UDc+OjpQYXJh
bVR5cGUgUGFyYW03OwotCi0gICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPEdlbmVyaWNXb3JrZXJU
YXNrPiBjcmVhdGUoTWV0aG9kIG1ldGhvZCwgUGFyYW0xIHBhcmFtZXRlcjEsIFBhcmFtMiBwYXJh
bWV0ZXIyLCBQYXJhbTMgcGFyYW1ldGVyMywgUGFyYW00IHBhcmFtZXRlcjQsIFBhcmFtNSBwYXJh
bWV0ZXI1LCBQYXJhbTYgcGFyYW1ldGVyNiwgUGFyYW03IHBhcmFtZXRlcjcpCisgICAgICAgIHR5
cGVkZWYgR2VuZXJpY1Rhc2s3PFAxLCBNUDEsIFAyLCBNUDIsIFAzLCBNUDMsIFA0LCBNUDQsIFA1
LCBNUDUsIFA2LCBNUDYsIFA3LCBNUDc+IEdlbmVyaWNUYXNrOworICAgICAgICB0eXBlZGVmIHR5
cGVuYW1lIEdlbmVyaWNUYXNrVHJhaXRzPFAxPjo6UGFyYW1UeXBlIFBhcmFtMTsKKyAgICAgICAg
dHlwZWRlZiB0eXBlbmFtZSBHZW5lcmljVGFza1RyYWl0czxQMj46OlBhcmFtVHlwZSBQYXJhbTI7
CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgR2VuZXJpY1Rhc2tUcmFpdHM8UDM+OjpQYXJhbVR5
cGUgUGFyYW0zOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIEdlbmVyaWNUYXNrVHJhaXRzPFA0
Pjo6UGFyYW1UeXBlIFBhcmFtNDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBHZW5lcmljVGFz
a1RyYWl0czxQNT46OlBhcmFtVHlwZSBQYXJhbTU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUg
R2VuZXJpY1Rhc2tUcmFpdHM8UDY+OjpQYXJhbVR5cGUgUGFyYW02OworICAgICAgICB0eXBlZGVm
IHR5cGVuYW1lIEdlbmVyaWNUYXNrVHJhaXRzPFA3Pjo6UGFyYW1UeXBlIFBhcmFtNzsKKworICAg
ICAgICBzdGF0aWMgUGFzc093blB0cjxHZW5lcmljVGFzaz4gY3JlYXRlKE1ldGhvZCBtZXRob2Qs
IFBhcmFtMSBwYXJhbWV0ZXIxLCBQYXJhbTIgcGFyYW1ldGVyMiwgUGFyYW0zIHBhcmFtZXRlcjMs
IFBhcmFtNCBwYXJhbWV0ZXI0LCBQYXJhbTUgcGFyYW1ldGVyNSwgUGFyYW02IHBhcmFtZXRlcjYs
IFBhcmFtNyBwYXJhbWV0ZXI3KQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IEdl
bmVyaWNXb3JrZXJUYXNrKG1ldGhvZCwgcGFyYW1ldGVyMSwgcGFyYW1ldGVyMiwgcGFyYW1ldGVy
MywgcGFyYW1ldGVyNCwgcGFyYW1ldGVyNSwgcGFyYW1ldGVyNiwgcGFyYW1ldGVyNyk7CisgICAg
ICAgICAgICByZXR1cm4gbmV3IEdlbmVyaWNUYXNrKG1ldGhvZCwgcGFyYW1ldGVyMSwgcGFyYW1l
dGVyMiwgcGFyYW1ldGVyMywgcGFyYW1ldGVyNCwgcGFyYW1ldGVyNSwgcGFyYW1ldGVyNiwgcGFy
YW1ldGVyNyk7CiAgICAgICAgIH0KIAogICAgIHByaXZhdGU6Ci0gICAgICAgIEdlbmVyaWNXb3Jr
ZXJUYXNrNyhNZXRob2QgbWV0aG9kLCBQYXJhbTEgcGFyYW1ldGVyMSwgUGFyYW0yIHBhcmFtZXRl
cjIsIFBhcmFtMyBwYXJhbWV0ZXIzLCBQYXJhbTQgcGFyYW1ldGVyNCwgUGFyYW01IHBhcmFtZXRl
cjUsIFBhcmFtNiBwYXJhbWV0ZXI2LCBQYXJhbTcgcGFyYW1ldGVyNykKKyAgICAgICAgR2VuZXJp
Y1Rhc2s3KE1ldGhvZCBtZXRob2QsIFBhcmFtMSBwYXJhbWV0ZXIxLCBQYXJhbTIgcGFyYW1ldGVy
MiwgUGFyYW0zIHBhcmFtZXRlcjMsIFBhcmFtNCBwYXJhbWV0ZXI0LCBQYXJhbTUgcGFyYW1ldGVy
NSwgUGFyYW02IHBhcmFtZXRlcjYsIFBhcmFtNyBwYXJhbWV0ZXI3KQogICAgICAgICAgICAgOiBt
X21ldGhvZChtZXRob2QpCiAgICAgICAgICAgICAsIG1fcGFyYW1ldGVyMShwYXJhbWV0ZXIxKQog
ICAgICAgICAgICAgLCBtX3BhcmFtZXRlcjIocGFyYW1ldGVyMikKQEAgLTMyNiwyNiArMzI0LDI2
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB9OwogICAgIAogICAgIHRlbXBsYXRlPHR5cGVu
YW1lIFAxLCB0eXBlbmFtZSBNUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBNUDIsIHR5cGVuYW1l
IFAzLCB0eXBlbmFtZSBNUDMsIHR5cGVuYW1lIFA0LCB0eXBlbmFtZSBNUDQsIHR5cGVuYW1lIFA1
LCB0eXBlbmFtZSBNUDUsIHR5cGVuYW1lIFA2LCB0eXBlbmFtZSBNUDYsIHR5cGVuYW1lIFA3LCB0
eXBlbmFtZSBNUDcsIHR5cGVuYW1lIFA4LCB0eXBlbmFtZSBNUDg+Ci0gICAgY2xhc3MgR2VuZXJp
Y1dvcmtlclRhc2s4IDogcHVibGljIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2sgeworICAg
IGNsYXNzIEdlbmVyaWNUYXNrOCA6IHB1YmxpYyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNr
IHsKICAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVkZWYgdm9pZCAoKk1ldGhvZCkoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCosIE1QMSwgTVAyLCBNUDMsIE1QNCwgTVA1LCBNUDYsIE1QNywgTVA4KTsK
LSAgICAgICAgdHlwZWRlZiBHZW5lcmljV29ya2VyVGFzazg8UDEsIE1QMSwgUDIsIE1QMiwgUDMs
IE1QMywgUDQsIE1QNCwgUDUsIE1QNSwgUDYsIE1QNiwgUDcsIE1QNywgUDgsIE1QOD4gR2VuZXJp
Y1dvcmtlclRhc2s7Ci0gICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgR2VuZXJpY1dvcmtlclRhc2tU
cmFpdHM8UDE+OjpQYXJhbVR5cGUgUGFyYW0xOwotICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIEdl
bmVyaWNXb3JrZXJUYXNrVHJhaXRzPFAyPjo6UGFyYW1UeXBlIFBhcmFtMjsKLSAgICAgICAgdHlw
ZWRlZiB0eXBlbmFtZSBHZW5lcmljV29ya2VyVGFza1RyYWl0czxQMz46OlBhcmFtVHlwZSBQYXJh
bTM7Ci0gICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgR2VuZXJpY1dvcmtlclRhc2tUcmFpdHM8UDQ+
OjpQYXJhbVR5cGUgUGFyYW00OwotICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIEdlbmVyaWNXb3Jr
ZXJUYXNrVHJhaXRzPFA1Pjo6UGFyYW1UeXBlIFBhcmFtNTsKLSAgICAgICAgdHlwZWRlZiB0eXBl
bmFtZSBHZW5lcmljV29ya2VyVGFza1RyYWl0czxQNj46OlBhcmFtVHlwZSBQYXJhbTY7Ci0gICAg
ICAgIHR5cGVkZWYgdHlwZW5hbWUgR2VuZXJpY1dvcmtlclRhc2tUcmFpdHM8UDc+OjpQYXJhbVR5
cGUgUGFyYW03OwotICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIEdlbmVyaWNXb3JrZXJUYXNrVHJh
aXRzPFA4Pjo6UGFyYW1UeXBlIFBhcmFtODsKKyAgICAgICAgdHlwZWRlZiBHZW5lcmljVGFzazg8
UDEsIE1QMSwgUDIsIE1QMiwgUDMsIE1QMywgUDQsIE1QNCwgUDUsIE1QNSwgUDYsIE1QNiwgUDcs
IE1QNywgUDgsIE1QOD4gR2VuZXJpY1Rhc2s7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgR2Vu
ZXJpY1Rhc2tUcmFpdHM8UDE+OjpQYXJhbVR5cGUgUGFyYW0xOworICAgICAgICB0eXBlZGVmIHR5
cGVuYW1lIEdlbmVyaWNUYXNrVHJhaXRzPFAyPjo6UGFyYW1UeXBlIFBhcmFtMjsKKyAgICAgICAg
dHlwZWRlZiB0eXBlbmFtZSBHZW5lcmljVGFza1RyYWl0czxQMz46OlBhcmFtVHlwZSBQYXJhbTM7
CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgR2VuZXJpY1Rhc2tUcmFpdHM8UDQ+OjpQYXJhbVR5
cGUgUGFyYW00OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIEdlbmVyaWNUYXNrVHJhaXRzPFA1
Pjo6UGFyYW1UeXBlIFBhcmFtNTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBHZW5lcmljVGFz
a1RyYWl0czxQNj46OlBhcmFtVHlwZSBQYXJhbTY7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUg
R2VuZXJpY1Rhc2tUcmFpdHM8UDc+OjpQYXJhbVR5cGUgUGFyYW03OworICAgICAgICB0eXBlZGVm
IHR5cGVuYW1lIEdlbmVyaWNUYXNrVHJhaXRzPFA4Pjo6UGFyYW1UeXBlIFBhcmFtODsKICAgICAg
ICAgCi0gICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPEdlbmVyaWNXb3JrZXJUYXNrPiBjcmVhdGUo
TWV0aG9kIG1ldGhvZCwgUGFyYW0xIHBhcmFtZXRlcjEsIFBhcmFtMiBwYXJhbWV0ZXIyLCBQYXJh
bTMgcGFyYW1ldGVyMywgUGFyYW00IHBhcmFtZXRlcjQsIFBhcmFtNSBwYXJhbWV0ZXI1LCBQYXJh
bTYgcGFyYW1ldGVyNiwgUGFyYW03IHBhcmFtZXRlcjcsIFBhcmFtOCBwYXJhbWV0ZXI4KQorICAg
ICAgICBzdGF0aWMgUGFzc093blB0cjxHZW5lcmljVGFzaz4gY3JlYXRlKE1ldGhvZCBtZXRob2Qs
IFBhcmFtMSBwYXJhbWV0ZXIxLCBQYXJhbTIgcGFyYW1ldGVyMiwgUGFyYW0zIHBhcmFtZXRlcjMs
IFBhcmFtNCBwYXJhbWV0ZXI0LCBQYXJhbTUgcGFyYW1ldGVyNSwgUGFyYW02IHBhcmFtZXRlcjYs
IFBhcmFtNyBwYXJhbWV0ZXI3LCBQYXJhbTggcGFyYW1ldGVyOCkKICAgICAgICAgewotICAgICAg
ICAgICAgcmV0dXJuIG5ldyBHZW5lcmljV29ya2VyVGFzayhtZXRob2QsIHBhcmFtZXRlcjEsIHBh
cmFtZXRlcjIsIHBhcmFtZXRlcjMsIHBhcmFtZXRlcjQsIHBhcmFtZXRlcjUsIHBhcmFtZXRlcjYs
IHBhcmFtZXRlcjcsIHBhcmFtZXRlcjgpOworICAgICAgICAgICAgcmV0dXJuIG5ldyBHZW5lcmlj
VGFzayhtZXRob2QsIHBhcmFtZXRlcjEsIHBhcmFtZXRlcjIsIHBhcmFtZXRlcjMsIHBhcmFtZXRl
cjQsIHBhcmFtZXRlcjUsIHBhcmFtZXRlcjYsIHBhcmFtZXRlcjcsIHBhcmFtZXRlcjgpOwogICAg
ICAgICB9CiAgICAgICAgIAogICAgIHByaXZhdGU6Ci0gICAgICAgIEdlbmVyaWNXb3JrZXJUYXNr
OChNZXRob2QgbWV0aG9kLCBQYXJhbTEgcGFyYW1ldGVyMSwgUGFyYW0yIHBhcmFtZXRlcjIsIFBh
cmFtMyBwYXJhbWV0ZXIzLCBQYXJhbTQgcGFyYW1ldGVyNCwgUGFyYW01IHBhcmFtZXRlcjUsIFBh
cmFtNiBwYXJhbWV0ZXI2LCBQYXJhbTcgcGFyYW1ldGVyNywgUGFyYW04IHBhcmFtZXRlcjgpCisg
ICAgICAgIEdlbmVyaWNUYXNrOChNZXRob2QgbWV0aG9kLCBQYXJhbTEgcGFyYW1ldGVyMSwgUGFy
YW0yIHBhcmFtZXRlcjIsIFBhcmFtMyBwYXJhbWV0ZXIzLCBQYXJhbTQgcGFyYW1ldGVyNCwgUGFy
YW01IHBhcmFtZXRlcjUsIFBhcmFtNiBwYXJhbWV0ZXI2LCBQYXJhbTcgcGFyYW1ldGVyNywgUGFy
YW04IHBhcmFtZXRlcjgpCiAgICAgICAgIDogbV9tZXRob2QobWV0aG9kKQogICAgICAgICAsIG1f
cGFyYW1ldGVyMShwYXJhbWV0ZXIxKQogICAgICAgICAsIG1fcGFyYW1ldGVyMihwYXJhbWV0ZXIy
KQpAQCAtMzgwLDcgKzM3OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCAo
Km1ldGhvZCkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIE1QMSksCiAgICAgICAgIGNvbnN0IFAx
JiBwYXJhbWV0ZXIxKQogICAgIHsKLSAgICAgICAgcmV0dXJuIEdlbmVyaWNXb3JrZXJUYXNrMTx0
eXBlbmFtZSBDcm9zc1RocmVhZENvcGllcjxQMT46OlR5cGUsIE1QMT46OmNyZWF0ZSgKKyAgICAg
ICAgcmV0dXJuIEdlbmVyaWNUYXNrMTx0eXBlbmFtZSBDcm9zc1RocmVhZENvcGllcjxQMT46OlR5
cGUsIE1QMT46OmNyZWF0ZSgKICAgICAgICAgICAgIG1ldGhvZCwKICAgICAgICAgICAgIENyb3Nz
VGhyZWFkQ29waWVyPFAxPjo6Y29weShwYXJhbWV0ZXIxKSk7CiAgICAgfQpAQCAtMzkwLDcgKzM4
OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCAoKm1ldGhvZCkoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCosIE1QMSwgTVAyKSwKICAgICAgICAgY29uc3QgUDEmIHBhcmFtZXRl
cjEsIGNvbnN0IFAyJiBwYXJhbWV0ZXIyKQogICAgIHsKLSAgICAgICAgcmV0dXJuIEdlbmVyaWNX
b3JrZXJUYXNrMjx0eXBlbmFtZSBDcm9zc1RocmVhZENvcGllcjxQMT46OlR5cGUsIE1QMSwgdHlw
ZW5hbWUgQ3Jvc3NUaHJlYWRDb3BpZXI8UDI+OjpUeXBlLCBNUDI+OjpjcmVhdGUoCisgICAgICAg
IHJldHVybiBHZW5lcmljVGFzazI8dHlwZW5hbWUgQ3Jvc3NUaHJlYWRDb3BpZXI8UDE+OjpUeXBl
LCBNUDEsIHR5cGVuYW1lIENyb3NzVGhyZWFkQ29waWVyPFAyPjo6VHlwZSwgTVAyPjo6Y3JlYXRl
KAogICAgICAgICAgICAgbWV0aG9kLAogICAgICAgICAgICAgQ3Jvc3NUaHJlYWRDb3BpZXI8UDE+
Ojpjb3B5KHBhcmFtZXRlcjEpLCBDcm9zc1RocmVhZENvcGllcjxQMj46OmNvcHkocGFyYW1ldGVy
MikpOwogICAgIH0KQEAgLTQwMCw3ICszOTgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIHZvaWQgKCptZXRob2QpKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBNUDEsIE1QMiwgTVAz
KSwKICAgICAgICAgY29uc3QgUDEmIHBhcmFtZXRlcjEsIGNvbnN0IFAyJiBwYXJhbWV0ZXIyLCBj
b25zdCBQMyYgcGFyYW1ldGVyMykKICAgICB7Ci0gICAgICAgIHJldHVybiBHZW5lcmljV29ya2Vy
VGFzazM8dHlwZW5hbWUgQ3Jvc3NUaHJlYWRDb3BpZXI8UDE+OjpUeXBlLCBNUDEsIHR5cGVuYW1l
IENyb3NzVGhyZWFkQ29waWVyPFAyPjo6VHlwZSwgTVAyLCB0eXBlbmFtZSBDcm9zc1RocmVhZENv
cGllcjxQMz46OlR5cGUsIE1QMz46OmNyZWF0ZSgKKyAgICAgICAgcmV0dXJuIEdlbmVyaWNUYXNr
Mzx0eXBlbmFtZSBDcm9zc1RocmVhZENvcGllcjxQMT46OlR5cGUsIE1QMSwgdHlwZW5hbWUgQ3Jv
c3NUaHJlYWRDb3BpZXI8UDI+OjpUeXBlLCBNUDIsIHR5cGVuYW1lIENyb3NzVGhyZWFkQ29waWVy
PFAzPjo6VHlwZSwgTVAzPjo6Y3JlYXRlKAogICAgICAgICAgICAgbWV0aG9kLAogICAgICAgICAg
ICAgQ3Jvc3NUaHJlYWRDb3BpZXI8UDE+Ojpjb3B5KHBhcmFtZXRlcjEpLCBDcm9zc1RocmVhZENv
cGllcjxQMj46OmNvcHkocGFyYW1ldGVyMiksCiAgICAgICAgICAgICBDcm9zc1RocmVhZENvcGll
cjxQMz46OmNvcHkocGFyYW1ldGVyMykpOwpAQCAtNDExLDcgKzQwOSw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgdm9pZCAoKm1ldGhvZCkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCos
IE1QMSwgTVAyLCBNUDMsIE1QNCksCiAgICAgICAgIGNvbnN0IFAxJiBwYXJhbWV0ZXIxLCBjb25z
dCBQMiYgcGFyYW1ldGVyMiwgY29uc3QgUDMmIHBhcmFtZXRlcjMsIGNvbnN0IFA0JiBwYXJhbWV0
ZXI0KQogICAgIHsKLSAgICAgICAgcmV0dXJuIEdlbmVyaWNXb3JrZXJUYXNrNDx0eXBlbmFtZSBD
cm9zc1RocmVhZENvcGllcjxQMT46OlR5cGUsIE1QMSwgdHlwZW5hbWUgQ3Jvc3NUaHJlYWRDb3Bp
ZXI8UDI+OjpUeXBlLCBNUDIsIHR5cGVuYW1lIENyb3NzVGhyZWFkQ29waWVyPFAzPjo6VHlwZSwg
TVAzLAorICAgICAgICByZXR1cm4gR2VuZXJpY1Rhc2s0PHR5cGVuYW1lIENyb3NzVGhyZWFkQ29w
aWVyPFAxPjo6VHlwZSwgTVAxLCB0eXBlbmFtZSBDcm9zc1RocmVhZENvcGllcjxQMj46OlR5cGUs
IE1QMiwgdHlwZW5hbWUgQ3Jvc3NUaHJlYWRDb3BpZXI8UDM+OjpUeXBlLCBNUDMsCiAgICAgICAg
ICAgICB0eXBlbmFtZSBDcm9zc1RocmVhZENvcGllcjxQND46OlR5cGUsIE1QND46OmNyZWF0ZSgK
ICAgICAgICAgICAgICAgICBtZXRob2QsCiAgICAgICAgICAgICAgICAgQ3Jvc3NUaHJlYWRDb3Bp
ZXI8UDE+Ojpjb3B5KHBhcmFtZXRlcjEpLCBDcm9zc1RocmVhZENvcGllcjxQMj46OmNvcHkocGFy
YW1ldGVyMiksCkBAIC00MjMsNyArNDIxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICB2b2lkICgqbWV0aG9kKShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgTVAxLCBNUDIsIE1QMywg
TVA0LCBNUDUpLAogICAgICAgICBjb25zdCBQMSYgcGFyYW1ldGVyMSwgY29uc3QgUDImIHBhcmFt
ZXRlcjIsIGNvbnN0IFAzJiBwYXJhbWV0ZXIzLCBjb25zdCBQNCYgcGFyYW1ldGVyNCwgY29uc3Qg
UDUmIHBhcmFtZXRlcjUpCiAgICAgewotICAgICAgICByZXR1cm4gR2VuZXJpY1dvcmtlclRhc2s1
PHR5cGVuYW1lIENyb3NzVGhyZWFkQ29waWVyPFAxPjo6VHlwZSwgTVAxLCB0eXBlbmFtZSBDcm9z
c1RocmVhZENvcGllcjxQMj46OlR5cGUsIE1QMiwgdHlwZW5hbWUgQ3Jvc3NUaHJlYWRDb3BpZXI8
UDM+OjpUeXBlLCBNUDMsCisgICAgICAgIHJldHVybiBHZW5lcmljVGFzazU8dHlwZW5hbWUgQ3Jv
c3NUaHJlYWRDb3BpZXI8UDE+OjpUeXBlLCBNUDEsIHR5cGVuYW1lIENyb3NzVGhyZWFkQ29waWVy
PFAyPjo6VHlwZSwgTVAyLCB0eXBlbmFtZSBDcm9zc1RocmVhZENvcGllcjxQMz46OlR5cGUsIE1Q
MywKICAgICAgICAgICAgIHR5cGVuYW1lIENyb3NzVGhyZWFkQ29waWVyPFA0Pjo6VHlwZSwgTVA0
LCB0eXBlbmFtZSBDcm9zc1RocmVhZENvcGllcjxQNT46OlR5cGUsIE1QNT46OmNyZWF0ZSgKICAg
ICAgICAgICAgICAgICBtZXRob2QsCiAgICAgICAgICAgICAgICAgQ3Jvc3NUaHJlYWRDb3BpZXI8
UDE+Ojpjb3B5KHBhcmFtZXRlcjEpLCBDcm9zc1RocmVhZENvcGllcjxQMj46OmNvcHkocGFyYW1l
dGVyMiksCkBAIC00MzYsNyArNDM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2
b2lkICgqbWV0aG9kKShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgTVAxLCBNUDIsIE1QMywgTVA0
LCBNUDUsIE1QNiksCiAgICAgICAgIGNvbnN0IFAxJiBwYXJhbWV0ZXIxLCBjb25zdCBQMiYgcGFy
YW1ldGVyMiwgY29uc3QgUDMmIHBhcmFtZXRlcjMsIGNvbnN0IFA0JiBwYXJhbWV0ZXI0LCBjb25z
dCBQNSYgcGFyYW1ldGVyNSwgY29uc3QgUDYmIHBhcmFtZXRlcjYpCiAgICAgewotICAgICAgICBy
ZXR1cm4gR2VuZXJpY1dvcmtlclRhc2s2PHR5cGVuYW1lIENyb3NzVGhyZWFkQ29waWVyPFAxPjo6
VHlwZSwgTVAxLCB0eXBlbmFtZSBDcm9zc1RocmVhZENvcGllcjxQMj46OlR5cGUsIE1QMiwgdHlw
ZW5hbWUgQ3Jvc3NUaHJlYWRDb3BpZXI8UDM+OjpUeXBlLCBNUDMsCisgICAgICAgIHJldHVybiBH
ZW5lcmljVGFzazY8dHlwZW5hbWUgQ3Jvc3NUaHJlYWRDb3BpZXI8UDE+OjpUeXBlLCBNUDEsIHR5
cGVuYW1lIENyb3NzVGhyZWFkQ29waWVyPFAyPjo6VHlwZSwgTVAyLCB0eXBlbmFtZSBDcm9zc1Ro
cmVhZENvcGllcjxQMz46OlR5cGUsIE1QMywKICAgICAgICAgICAgIHR5cGVuYW1lIENyb3NzVGhy
ZWFkQ29waWVyPFA0Pjo6VHlwZSwgTVA0LCB0eXBlbmFtZSBDcm9zc1RocmVhZENvcGllcjxQNT46
OlR5cGUsIE1QNSwgdHlwZW5hbWUgQ3Jvc3NUaHJlYWRDb3BpZXI8UDY+OjpUeXBlLCBNUDY+Ojpj
cmVhdGUoCiAgICAgICAgICAgICAgICAgbWV0aG9kLAogICAgICAgICAgICAgICAgIENyb3NzVGhy
ZWFkQ29waWVyPFAxPjo6Y29weShwYXJhbWV0ZXIxKSwgQ3Jvc3NUaHJlYWRDb3BpZXI8UDI+Ojpj
b3B5KHBhcmFtZXRlcjIpLApAQCAtNDQ5LDcgKzQ0Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgdm9pZCAoKm1ldGhvZCkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIE1QMSwgTVAy
LCBNUDMsIE1QNCwgTVA1LCBNUDYsIE1QNyksCiAgICAgICAgIGNvbnN0IFAxJiBwYXJhbWV0ZXIx
LCBjb25zdCBQMiYgcGFyYW1ldGVyMiwgY29uc3QgUDMmIHBhcmFtZXRlcjMsIGNvbnN0IFA0JiBw
YXJhbWV0ZXI0LCBjb25zdCBQNSYgcGFyYW1ldGVyNSwgY29uc3QgUDYmIHBhcmFtZXRlcjYsIGNv
bnN0IFA3JiBwYXJhbWV0ZXI3KQogICAgIHsKLSAgICAgICAgcmV0dXJuIEdlbmVyaWNXb3JrZXJU
YXNrNzx0eXBlbmFtZSBDcm9zc1RocmVhZENvcGllcjxQMT46OlR5cGUsIE1QMSwgdHlwZW5hbWUg
Q3Jvc3NUaHJlYWRDb3BpZXI8UDI+OjpUeXBlLCBNUDIsIHR5cGVuYW1lIENyb3NzVGhyZWFkQ29w
aWVyPFAzPjo6VHlwZSwgTVAzLAorICAgICAgICByZXR1cm4gR2VuZXJpY1Rhc2s3PHR5cGVuYW1l
IENyb3NzVGhyZWFkQ29waWVyPFAxPjo6VHlwZSwgTVAxLCB0eXBlbmFtZSBDcm9zc1RocmVhZENv
cGllcjxQMj46OlR5cGUsIE1QMiwgdHlwZW5hbWUgQ3Jvc3NUaHJlYWRDb3BpZXI8UDM+OjpUeXBl
LCBNUDMsCiAgICAgICAgICAgICB0eXBlbmFtZSBDcm9zc1RocmVhZENvcGllcjxQND46OlR5cGUs
IE1QNCwgdHlwZW5hbWUgQ3Jvc3NUaHJlYWRDb3BpZXI8UDU+OjpUeXBlLCBNUDUsIHR5cGVuYW1l
IENyb3NzVGhyZWFkQ29waWVyPFA2Pjo6VHlwZSwgTVA2LAogICAgICAgICAgICAgdHlwZW5hbWUg
Q3Jvc3NUaHJlYWRDb3BpZXI8UDc+OjpUeXBlLCBNUDc+OjpjcmVhdGUoCiAgICAgICAgICAgICAg
ICAgbWV0aG9kLApAQCAtNDY0LDcgKzQ2Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB2b2lkICgqbWV0aG9kKShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgTVAxLCBNUDIsIE1QMywg
TVA0LCBNUDUsIE1QNiwgTVA3LCBNUDgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFAxJiBwYXJhbWV0ZXIxLCBj
b25zdCBQMiYgcGFyYW1ldGVyMiwgY29uc3QgUDMmIHBhcmFtZXRlcjMsIGNvbnN0IFA0JiBwYXJh
bWV0ZXI0LCBjb25zdCBQNSYgcGFyYW1ldGVyNSwgY29uc3QgUDYmIHBhcmFtZXRlcjYsIGNvbnN0
IFA3JiBwYXJhbWV0ZXI3LCBjb25zdCBQOCYgcGFyYW1ldGVyOCkKICAgICB7Ci0gICAgICAgIHJl
dHVybiBHZW5lcmljV29ya2VyVGFzazg8dHlwZW5hbWUgQ3Jvc3NUaHJlYWRDb3BpZXI8UDE+OjpU
eXBlLCBNUDEsIHR5cGVuYW1lIENyb3NzVGhyZWFkQ29waWVyPFAyPjo6VHlwZSwgTVAyLCB0eXBl
bmFtZSBDcm9zc1RocmVhZENvcGllcjxQMz46OlR5cGUsIE1QMywKKyAgICAgICAgcmV0dXJuIEdl
bmVyaWNUYXNrODx0eXBlbmFtZSBDcm9zc1RocmVhZENvcGllcjxQMT46OlR5cGUsIE1QMSwgdHlw
ZW5hbWUgQ3Jvc3NUaHJlYWRDb3BpZXI8UDI+OjpUeXBlLCBNUDIsIHR5cGVuYW1lIENyb3NzVGhy
ZWFkQ29waWVyPFAzPjo6VHlwZSwgTVAzLAogICAgICAgICB0eXBlbmFtZSBDcm9zc1RocmVhZENv
cGllcjxQND46OlR5cGUsIE1QNCwgdHlwZW5hbWUgQ3Jvc3NUaHJlYWRDb3BpZXI8UDU+OjpUeXBl
LCBNUDUsIHR5cGVuYW1lIENyb3NzVGhyZWFkQ29waWVyPFA2Pjo6VHlwZSwgTVA2LAogICAgICAg
ICB0eXBlbmFtZSBDcm9zc1RocmVhZENvcGllcjxQNz46OlR5cGUsIE1QNywgdHlwZW5hbWUgQ3Jv
c3NUaHJlYWRDb3BpZXI8UDg+OjpUeXBlLCBNUDg+OjpjcmVhdGUoCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZCwKQEAgLTQ3
Niw2ICs0NzQsNCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIAotI2VuZGlmIC8vIEVOQUJMRShXT1JLRVJTKQotCi0jZW5kaWYgLy8gR2VuZXJpY1dvcmtl
clRhc2tfaAorI2VuZGlmIC8vIEdlbmVyaWNUYXNrX2gK
</data>
<flag name="review"
          id="40433"
          type_id="1"
          status="+"
          setter="dimich"
    />
    <flag name="commit-queue"
          id="40434"
          type_id="3"
          status="-"
          setter="jianli"
    />
          </attachment>
      

    </bug>

</bugzilla>