<?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>126469</bug_id>
          
          <creation_ts>2014-01-03 16:08:33 -0800</creation_ts>
          <short_desc>Convert HandleMessage.h to use variadic templates</short_desc>
          <delta_ts>2014-01-10 22:29:40 -0800</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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>964306</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-01-03 16:08:33 -0800</bug_when>
    <thetext>Convert HandleMessage.h to use variadic templates</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>964309</commentid>
    <comment_count>1</comment_count>
      <attachid>220350</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-01-03 16:10:06 -0800</bug_when>
    <thetext>Created attachment 220350
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>964499</commentid>
    <comment_count>2</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-01-05 07:30:43 -0800</bug_when>
    <thetext>*** Bug 125423 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>966756</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-01-10 22:29:40 -0800</bug_when>
    <thetext>Committed r161745: &lt;http://trac.webkit.org/changeset/161745&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220350</attachid>
            <date>2014-01-03 16:10:06 -0800</date>
            <delta_ts>2014-01-06 14:46:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-126469-20140103161005.patch</filename>
            <type>text/plain</type>
            <size>26551</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2MTI5MikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE0LTAxLTAzICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQ29udmVydCBIYW5kbGVNZXNzYWdlLmgg
dG8gdXNlIHZhcmlhZGljIHRlbXBsYXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTI2NDY5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvSGFuZGxlTWVzc2FnZS5oOgorICAgICAg
ICAoSVBDOjpjYWxsTWVtYmVyRnVuY3Rpb25JbXBsKToKKyAgICAgICAgKElQQzo6Y2FsbE1lbWJl
ckZ1bmN0aW9uKToKKyAgICAgICAgUmVwbGFjZSBtYXNzaXZlIGNvcHkgYW5kIHBhc3RlZCBjb2Rl
IHdpdGggdmFyaWFkaWMgbWFnaWMuCisKIDIwMTQtMDEtMDMgIERhbiBCZXJuc3RlaW4gIDxtaXR6
QGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIEV4cG9zZSBzZXNzaW9uIHN0YXRlIEFQSQpJ
bmRleDogU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0hhbmRsZU1lc3NhZ2UuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvSGFuZGxlTWVzc2FnZS5oCShyZXZp
c2lvbiAxNjEyODApCisrKyBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvSGFuZGxlTWVzc2Fn
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00LDM3MyArNCwxMTAgQEAKICNpbmNsdWRlICJBcmd1bWVu
dHMuaCIKICNpbmNsdWRlICJNZXNzYWdlRGVjb2Rlci5oIgogI2luY2x1ZGUgIk1lc3NhZ2VFbmNv
ZGVyLmgiCisjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCiBuYW1lc3BhY2UgSVBDIHsK
IAogLy8gRGlzcGF0Y2ggZnVuY3Rpb25zIHdpdGggbm8gcmVwbHkgYXJndW1lbnRzLgotdGVtcGxh
dGU8dHlwZW5hbWUgQywgdHlwZW5hbWUgTUY+Ci12b2lkIGNhbGxNZW1iZXJGdW5jdGlvbihzdGQ6
OnR1cGxlPD4mJiwgQyogb2JqZWN0LCBNRiBmdW5jdGlvbikKLXsKLSAgICAob2JqZWN0LT4qZnVu
Y3Rpb24pKCk7Ci19Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIEMsIHR5cGVuYW1lIE1GLCB0eXBlbmFt
ZSBQMT4KLXZvaWQgY2FsbE1lbWJlckZ1bmN0aW9uKHN0ZDo6dHVwbGU8UDE+JiYgYXJncywgQyog
b2JqZWN0LCBNRiBmdW5jdGlvbikKLXsKLSAgICAob2JqZWN0LT4qZnVuY3Rpb24pKHN0ZDo6Z2V0
PDA+KGFyZ3MpKTsKLX0KIAotdGVtcGxhdGU8dHlwZW5hbWUgQywgdHlwZW5hbWUgTUYsIHR5cGVu
YW1lIFAxLCB0eXBlbmFtZSBQMj4KLXZvaWQgY2FsbE1lbWJlckZ1bmN0aW9uKHN0ZDo6dHVwbGU8
UDEsIFAyPiYmIGFyZ3MsIEMqIG9iamVjdCwgTUYgZnVuY3Rpb24pCit0ZW1wbGF0ZSA8dHlwZW5h
bWUgQywgdHlwZW5hbWUgTUYsIHR5cGVuYW1lIEFyZ3NUdXBsZSwgc2l6ZV90Li4uIEFyZ3NJbmRl
eD4KK3ZvaWQgY2FsbE1lbWJlckZ1bmN0aW9uSW1wbChDKiBvYmplY3QsIE1GIGZ1bmN0aW9uLCBB
cmdzVHVwbGUmJiBhcmdzLCBzdGQ6OmluZGV4X3NlcXVlbmNlPEFyZ3NJbmRleC4uLj4pCiB7Ci0g
ICAgKG9iamVjdC0+KmZ1bmN0aW9uKShzdGQ6OmdldDwwPihhcmdzKSwgc3RkOjpnZXQ8MT4oYXJn
cykpOworICAgIChvYmplY3QtPipmdW5jdGlvbikoc3RkOjpnZXQ8QXJnc0luZGV4PihhcmdzKS4u
Lik7CiB9CiAKLXRlbXBsYXRlPHR5cGVuYW1lIEMsIHR5cGVuYW1lIE1GLCB0eXBlbmFtZSBQMSwg
dHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzPgotdm9pZCBjYWxsTWVtYmVyRnVuY3Rpb24oc3RkOjp0
dXBsZTxQMSwgUDIsIFAzPiYmIGFyZ3MsIEMqIG9iamVjdCwgTUYgZnVuY3Rpb24pCit0ZW1wbGF0
ZTx0eXBlbmFtZSBDLCB0eXBlbmFtZSBNRiwgdHlwZW5hbWUgQXJnc1R1cGxlLCB0eXBlbmFtZSBB
cmdzSW5kaWNpZXMgPSBzdGQ6Om1ha2VfaW5kZXhfc2VxdWVuY2U8c3RkOjp0dXBsZV9zaXplPEFy
Z3NUdXBsZT46OnZhbHVlPj4KK3ZvaWQgY2FsbE1lbWJlckZ1bmN0aW9uKEFyZ3NUdXBsZSYmIGFy
Z3MsIEMqIG9iamVjdCwgTUYgZnVuY3Rpb24pCiB7Ci0gICAgKG9iamVjdC0+KmZ1bmN0aW9uKShz
dGQ6OmdldDwwPihhcmdzKSwgc3RkOjpnZXQ8MT4oYXJncyksIHN0ZDo6Z2V0PDI+KGFyZ3MpKTsK
LX0KLQotdGVtcGxhdGU8dHlwZW5hbWUgQywgdHlwZW5hbWUgTUYsIHR5cGVuYW1lIFAxLCB0eXBl
bmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIFA0Pgotdm9pZCBjYWxsTWVtYmVyRnVuY3Rp
b24oc3RkOjp0dXBsZTxQMSwgUDIsIFAzLCBQND4mJiBhcmdzLCBDKiBvYmplY3QsIE1GIGZ1bmN0
aW9uKQotewotICAgIChvYmplY3QtPipmdW5jdGlvbikoc3RkOjpnZXQ8MD4oYXJncyksIHN0ZDo6
Z2V0PDE+KGFyZ3MpLCBzdGQ6OmdldDwyPihhcmdzKSwgc3RkOjpnZXQ8Mz4oYXJncykpOwotfQot
Ci10ZW1wbGF0ZTx0eXBlbmFtZSBDLCB0eXBlbmFtZSBNRiwgdHlwZW5hbWUgUDEsIHR5cGVuYW1l
IFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQsIHR5cGVuYW1lIFA1Pgotdm9pZCBjYWxsTWVt
YmVyRnVuY3Rpb24oc3RkOjp0dXBsZTxQMSwgUDIsIFAzLCBQNCwgUDU+JiYgYXJncywgQyogb2Jq
ZWN0LCBNRiBmdW5jdGlvbikKLXsKLSAgICAob2JqZWN0LT4qZnVuY3Rpb24pKHN0ZDo6Z2V0PDA+
KGFyZ3MpLCBzdGQ6OmdldDwxPihhcmdzKSwgc3RkOjpnZXQ8Mj4oYXJncyksIHN0ZDo6Z2V0PDM+
KGFyZ3MpLCBzdGQ6OmdldDw0PihhcmdzKSk7Ci19Ci0gICAgCi10ZW1wbGF0ZTx0eXBlbmFtZSBD
LCB0eXBlbmFtZSBNRiwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlw
ZW5hbWUgUDQsIHR5cGVuYW1lIFA1LCB0eXBlbmFtZSBQNj4KLXZvaWQgY2FsbE1lbWJlckZ1bmN0
aW9uKHN0ZDo6dHVwbGU8UDEsIFAyLCBQMywgUDQsIFA1LCBQNj4mJiBhcmdzLCBDKiBvYmplY3Qs
IE1GIGZ1bmN0aW9uKQotewotICAgIChvYmplY3QtPipmdW5jdGlvbikoc3RkOjpnZXQ8MD4oYXJn
cyksIHN0ZDo6Z2V0PDE+KGFyZ3MpLCBzdGQ6OmdldDwyPihhcmdzKSwgc3RkOjpnZXQ8Mz4oYXJn
cyksIHN0ZDo6Z2V0PDQ+KGFyZ3MpLCBzdGQ6OmdldDw1PihhcmdzKSk7Ci19Ci0KLXRlbXBsYXRl
PHR5cGVuYW1lIEMsIHR5cGVuYW1lIE1GLCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVu
YW1lIFAzLCB0eXBlbmFtZSBQNCwgdHlwZW5hbWUgUDUsIHR5cGVuYW1lIFA2LCB0eXBlbmFtZSBQ
Nz4KLXZvaWQgY2FsbE1lbWJlckZ1bmN0aW9uKHN0ZDo6dHVwbGU8UDEsIFAyLCBQMywgUDQsIFA1
LCBQNiwgUDc+JiYgYXJncywgQyogb2JqZWN0LCBNRiBmdW5jdGlvbikKLXsKLSAgICAob2JqZWN0
LT4qZnVuY3Rpb24pKHN0ZDo6Z2V0PDA+KGFyZ3MpLCBzdGQ6OmdldDwxPihhcmdzKSwgc3RkOjpn
ZXQ8Mj4oYXJncyksIHN0ZDo6Z2V0PDM+KGFyZ3MpLCBzdGQ6OmdldDw0PihhcmdzKSwgc3RkOjpn
ZXQ8NT4oYXJncyksIHN0ZDo6Z2V0PDY+KGFyZ3MpKTsKLX0KLQotdGVtcGxhdGU8dHlwZW5hbWUg
QywgdHlwZW5hbWUgTUYsIHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5
cGVuYW1lIFA0LCB0eXBlbmFtZSBQNSwgdHlwZW5hbWUgUDYsIHR5cGVuYW1lIFA3LCB0eXBlbmFt
ZSBQOD4KLXZvaWQgY2FsbE1lbWJlckZ1bmN0aW9uKHN0ZDo6dHVwbGU8UDEsIFAyLCBQMywgUDQs
IFA1LCBQNiwgUDcsIFA4PiYmIGFyZ3MsIEMqIG9iamVjdCwgTUYgZnVuY3Rpb24pCi17Ci0gICAg
KG9iamVjdC0+KmZ1bmN0aW9uKShzdGQ6OmdldDwwPihhcmdzKSwgc3RkOjpnZXQ8MT4oYXJncyks
IHN0ZDo6Z2V0PDI+KGFyZ3MpLCBzdGQ6OmdldDwzPihhcmdzKSwgc3RkOjpnZXQ8ND4oYXJncyks
IHN0ZDo6Z2V0PDU+KGFyZ3MpLCBzdGQ6OmdldDw2PihhcmdzKSwgc3RkOjpnZXQ8Nz4oYXJncykp
OwotfQotCi10ZW1wbGF0ZTx0eXBlbmFtZSBDLCB0eXBlbmFtZSBNRiwgdHlwZW5hbWUgUDEsIHR5
cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQsIHR5cGVuYW1lIFA1LCB0eXBlbmFt
ZSBQNiwgdHlwZW5hbWUgUDcsIHR5cGVuYW1lIFA4LCB0eXBlbmFtZSBQOSwgdHlwZW5hbWUgUDEw
Pgotdm9pZCBjYWxsTWVtYmVyRnVuY3Rpb24oc3RkOjp0dXBsZTxQMSwgUDIsIFAzLCBQNCwgUDUs
IFA2LCBQNywgUDgsIFA5LCBQMTA+JiYgYXJncywgQyogb2JqZWN0LCBNRiBmdW5jdGlvbikKLXsK
LSAgICAob2JqZWN0LT4qZnVuY3Rpb24pKHN0ZDo6Z2V0PDA+KGFyZ3MpLCBzdGQ6OmdldDwxPihh
cmdzKSwgc3RkOjpnZXQ8Mj4oYXJncyksIHN0ZDo6Z2V0PDM+KGFyZ3MpLCBzdGQ6OmdldDw0Pihh
cmdzKSwgc3RkOjpnZXQ8NT4oYXJncyksIHN0ZDo6Z2V0PDY+KGFyZ3MpLCBzdGQ6OmdldDw3Pihh
cmdzKSwgc3RkOjpnZXQ8OD4oYXJncyksIHN0ZDo6Z2V0PDk+KGFyZ3MpKTsKKyAgICBjYWxsTWVt
YmVyRnVuY3Rpb25JbXBsKG9iamVjdCwgZnVuY3Rpb24sIHN0ZDo6Zm9yd2FyZDxBcmdzVHVwbGU+
KGFyZ3MpLCBBcmdzSW5kaWNpZXMoKSk7CiB9CiAKIC8vIERpc3BhdGNoIGZ1bmN0aW9ucyB3aXRo
IHJlcGx5IGFyZ3VtZW50cy4KIAotdGVtcGxhdGU8dHlwZW5hbWUgQywgdHlwZW5hbWUgTUY+Ci12
b2lkIGNhbGxNZW1iZXJGdW5jdGlvbihzdGQ6OnR1cGxlPD4mJiwgc3RkOjp0dXBsZTw+JiwgQyog
b2JqZWN0LCBNRiBmdW5jdGlvbikKLXsKLSAgICAob2JqZWN0LT4qZnVuY3Rpb24pKCk7Ci19Ci0K
LXRlbXBsYXRlPHR5cGVuYW1lIEMsIHR5cGVuYW1lIE1GLCB0eXBlbmFtZSBSMT4KLXZvaWQgY2Fs
bE1lbWJlckZ1bmN0aW9uKHN0ZDo6dHVwbGU8PiYmLCBzdGQ6OnR1cGxlPFIxPiYgcmVwbHlBcmdz
LCBDKiBvYmplY3QsIE1GIGZ1bmN0aW9uKQotewotICAgIChvYmplY3QtPipmdW5jdGlvbikoc3Rk
OjpnZXQ8MD4ocmVwbHlBcmdzKSk7Ci19Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIEMsIHR5cGVuYW1l
IE1GLCB0eXBlbmFtZSBSMSwgdHlwZW5hbWUgUjI+Ci12b2lkIGNhbGxNZW1iZXJGdW5jdGlvbihz
dGQ6OnR1cGxlPD4mJiwgc3RkOjp0dXBsZTxSMSwgUjI+JiByZXBseUFyZ3MsIEMqIG9iamVjdCwg
TUYgZnVuY3Rpb24pCi17Ci0gICAgKG9iamVjdC0+KmZ1bmN0aW9uKShzdGQ6OmdldDwwPihyZXBs
eUFyZ3MpLCBzdGQ6OmdldDwxPihyZXBseUFyZ3MpKTsKLX0KLQotdGVtcGxhdGU8dHlwZW5hbWUg
QywgdHlwZW5hbWUgTUYsIHR5cGVuYW1lIFAxPgotdm9pZCBjYWxsTWVtYmVyRnVuY3Rpb24oc3Rk
Ojp0dXBsZTxQMT4mJiBhcmdzLCBzdGQ6OnR1cGxlPD4mLCBDKiBvYmplY3QsIE1GIGZ1bmN0aW9u
KQotewotICAgIChvYmplY3QtPipmdW5jdGlvbikoc3RkOjpnZXQ8MD4oYXJncykpOwotfQotCi10
ZW1wbGF0ZTx0eXBlbmFtZSBDLCB0eXBlbmFtZSBNRiwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFIx
Pgotdm9pZCBjYWxsTWVtYmVyRnVuY3Rpb24oc3RkOjp0dXBsZTxQMT4mJiBhcmdzLCBzdGQ6OnR1
cGxlPFIxPiYgcmVwbHlBcmdzLCBDKiBvYmplY3QsIE1GIGZ1bmN0aW9uKQotewotICAgIChvYmpl
Y3QtPipmdW5jdGlvbikoc3RkOjpnZXQ8MD4oYXJncyksIHN0ZDo6Z2V0PDA+KHJlcGx5QXJncykp
OwotfQotCi10ZW1wbGF0ZTx0eXBlbmFtZSBDLCB0eXBlbmFtZSBNRiwgdHlwZW5hbWUgUDEsIHR5
cGVuYW1lIFIxLCB0eXBlbmFtZSBSMj4KLXZvaWQgY2FsbE1lbWJlckZ1bmN0aW9uKHN0ZDo6dHVw
bGU8UDE+JiYgYXJncywgc3RkOjp0dXBsZTxSMSwgUjI+JiByZXBseUFyZ3MsIEMqIG9iamVjdCwg
TUYgZnVuY3Rpb24pCi17Ci0gICAgKG9iamVjdC0+KmZ1bmN0aW9uKShzdGQ6OmdldDwwPihhcmdz
KSwgc3RkOjpnZXQ8MD4ocmVwbHlBcmdzKSwgc3RkOjpnZXQ8MT4ocmVwbHlBcmdzKSk7Ci19Ci0K
LXRlbXBsYXRlPHR5cGVuYW1lIEMsIHR5cGVuYW1lIE1GLCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUg
UjEsIHR5cGVuYW1lIFIyLCB0eXBlbmFtZSBSMz4KLXZvaWQgY2FsbE1lbWJlckZ1bmN0aW9uKHN0
ZDo6dHVwbGU8UDE+JiYgYXJncywgc3RkOjp0dXBsZTxSMSwgUjIsIFIzPiYgcmVwbHlBcmdzLCBD
KiBvYmplY3QsIE1GIGZ1bmN0aW9uKQotewotICAgIChvYmplY3QtPipmdW5jdGlvbikoc3RkOjpn
ZXQ8MD4oYXJncyksIHN0ZDo6Z2V0PDA+KHJlcGx5QXJncyksIHN0ZDo6Z2V0PDE+KHJlcGx5QXJn
cyksIHN0ZDo6Z2V0PDI+KHJlcGx5QXJncykpOwotfQotCi10ZW1wbGF0ZTx0eXBlbmFtZSBDLCB0
eXBlbmFtZSBNRiwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyPgotdm9pZCBjYWxsTWVtYmVyRnVu
Y3Rpb24oc3RkOjp0dXBsZTxQMSwgUDI+JiYgYXJncywgc3RkOjp0dXBsZTw+JiwgQyogb2JqZWN0
LCBNRiBmdW5jdGlvbikKLXsKLSAgICAob2JqZWN0LT4qZnVuY3Rpb24pKHN0ZDo6Z2V0PDA+KGFy
Z3MpLCBzdGQ6OmdldDwxPihhcmdzKSk7Ci19Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIEMsIHR5cGVu
YW1lIE1GLCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUjEsIHR5cGVuYW1lIFIyLCB0eXBlbmFtZSBS
MywgdHlwZW5hbWUgUjQ+Ci12b2lkIGNhbGxNZW1iZXJGdW5jdGlvbihzdGQ6OnR1cGxlPFAxPiYm
IGFyZ3MsIEFyZ3VtZW50czQ8UjEsIFIyLCBSMywgUjQ+JiByZXBseUFyZ3MsIEMqIG9iamVjdCwg
TUYgZnVuY3Rpb24pCi17Ci0gICAgKG9iamVjdC0+KmZ1bmN0aW9uKShzdGQ6OmdldDwwPihhcmdz
KSwgc3RkOjpnZXQ8MD4ocmVwbHlBcmdzKSwgc3RkOjpnZXQ8MT4ocmVwbHlBcmdzKSwgc3RkOjpn
ZXQ8Mj4ocmVwbHlBcmdzKSwgc3RkOjpnZXQ8Mz4ocmVwbHlBcmdzKSk7Ci19Ci0KLXRlbXBsYXRl
PHR5cGVuYW1lIEMsIHR5cGVuYW1lIE1GLCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVu
YW1lIFIxPgotdm9pZCBjYWxsTWVtYmVyRnVuY3Rpb24oc3RkOjp0dXBsZTxQMSwgUDI+JiYgYXJn
cywgc3RkOjp0dXBsZTxSMT4mIHJlcGx5QXJncywgQyogb2JqZWN0LCBNRiBmdW5jdGlvbikKLXsK
LSAgICAob2JqZWN0LT4qZnVuY3Rpb24pKHN0ZDo6Z2V0PDA+KGFyZ3MpLCBzdGQ6OmdldDwxPihh
cmdzKSwgc3RkOjpnZXQ8MD4ocmVwbHlBcmdzKSk7Ci19Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIEMs
IHR5cGVuYW1lIE1GLCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFIxLCB0eXBl
bmFtZSBSMj4KLXZvaWQgY2FsbE1lbWJlckZ1bmN0aW9uKHN0ZDo6dHVwbGU8UDEsIFAyPiYmIGFy
Z3MsIHN0ZDo6dHVwbGU8UjEsIFIyPiYgcmVwbHlBcmdzLCBDKiBvYmplY3QsIE1GIGZ1bmN0aW9u
KQotewotICAgIChvYmplY3QtPipmdW5jdGlvbikoc3RkOjpnZXQ8MD4oYXJncyksIHN0ZDo6Z2V0
PDE+KGFyZ3MpLCBzdGQ6OmdldDwwPihyZXBseUFyZ3MpLCBzdGQ6OmdldDwxPihyZXBseUFyZ3Mp
KTsKLX0KLQotdGVtcGxhdGU8dHlwZW5hbWUgQywgdHlwZW5hbWUgTUYsIHR5cGVuYW1lIFAxLCB0
eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIFIxPgotdm9pZCBjYWxsTWVtYmVyRnVu
Y3Rpb24oc3RkOjp0dXBsZTxQMSwgUDIsIFAzPiYmIGFyZ3MsIHN0ZDo6dHVwbGU8UjE+JiByZXBs
eUFyZ3MsIEMqIG9iamVjdCwgTUYgZnVuY3Rpb24pCi17Ci0gICAgKG9iamVjdC0+KmZ1bmN0aW9u
KShzdGQ6OmdldDwwPihhcmdzKSwgc3RkOjpnZXQ8MT4oYXJncyksIHN0ZDo6Z2V0PDI+KGFyZ3Mp
LCBzdGQ6OmdldDwwPihyZXBseUFyZ3MpKTsKLX0KLQotdGVtcGxhdGU8dHlwZW5hbWUgQywgdHlw
ZW5hbWUgTUYsIHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1l
IFIxLCB0eXBlbmFtZSBSMj4KLXZvaWQgY2FsbE1lbWJlckZ1bmN0aW9uKHN0ZDo6dHVwbGU8UDEs
IFAyLCBQMz4mJiBhcmdzLCBzdGQ6OnR1cGxlPFIxLCBSMj4mIHJlcGx5QXJncywgQyogb2JqZWN0
LCBNRiBmdW5jdGlvbikKLXsKLSAgICAob2JqZWN0LT4qZnVuY3Rpb24pKHN0ZDo6Z2V0PDA+KGFy
Z3MpLCBzdGQ6OmdldDwxPihhcmdzKSwgc3RkOjpnZXQ8Mj4oYXJncyksIHN0ZDo6Z2V0PDA+KHJl
cGx5QXJncyksIHN0ZDo6Z2V0PDE+KHJlcGx5QXJncykpOwotfQotCi10ZW1wbGF0ZTx0eXBlbmFt
ZSBDLCB0eXBlbmFtZSBNRiwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywg
dHlwZW5hbWUgUDQsIHR5cGVuYW1lIFIxPgotdm9pZCBjYWxsTWVtYmVyRnVuY3Rpb24oc3RkOjp0
dXBsZTxQMSwgUDIsIFAzLCBQND4mJiBhcmdzLCBzdGQ6OnR1cGxlPFIxPiYgcmVwbHlBcmdzLCBD
KiBvYmplY3QsIE1GIGZ1bmN0aW9uKQotewotICAgIChvYmplY3QtPipmdW5jdGlvbikoc3RkOjpn
ZXQ8MD4oYXJncyksIHN0ZDo6Z2V0PDE+KGFyZ3MpLCBzdGQ6OmdldDwyPihhcmdzKSwgc3RkOjpn
ZXQ8Mz4oYXJncyksIHN0ZDo6Z2V0PDA+KHJlcGx5QXJncykpOwotfQotCi10ZW1wbGF0ZTx0eXBl
bmFtZSBDLCB0eXBlbmFtZSBNRiwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQ
MywgdHlwZW5hbWUgUDQsIHR5cGVuYW1lIFA1LCB0eXBlbmFtZSBQNiwgdHlwZW5hbWUgUjE+Ci12
b2lkIGNhbGxNZW1iZXJGdW5jdGlvbihzdGQ6OnR1cGxlPFAxLCBQMiwgUDMsIFA0LCBQNSwgUDY+
JiYgYXJncywgc3RkOjp0dXBsZTxSMT4mIHJlcGx5QXJncywgQyogb2JqZWN0LCBNRiBmdW5jdGlv
bikKLXsKLSAgICAob2JqZWN0LT4qZnVuY3Rpb24pKHN0ZDo6Z2V0PDA+KGFyZ3MpLCBzdGQ6Omdl
dDwxPihhcmdzKSwgc3RkOjpnZXQ8Mj4oYXJncyksIHN0ZDo6Z2V0PDM+KGFyZ3MpLCBzdGQ6Omdl
dDw0PihhcmdzKSwgc3RkOjpnZXQ8NT4oYXJncyksIHN0ZDo6Z2V0PDA+KHJlcGx5QXJncykpOwot
fQotCi10ZW1wbGF0ZTx0eXBlbmFtZSBDLCB0eXBlbmFtZSBNRiwgdHlwZW5hbWUgUDEsIHR5cGVu
YW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQsIHR5cGVuYW1lIFA1LCB0eXBlbmFtZSBQ
NiwgdHlwZW5hbWUgUDcsIHR5cGVuYW1lIFIxPgotdm9pZCBjYWxsTWVtYmVyRnVuY3Rpb24oc3Rk
Ojp0dXBsZTxQMSwgUDIsIFAzLCBQNCwgUDUsIFA2LCBQNz4mJiBhcmdzLCBzdGQ6OnR1cGxlPFIx
PiYgcmVwbHlBcmdzLCBDKiBvYmplY3QsIE1GIGZ1bmN0aW9uKQotewotICAgIChvYmplY3QtPipm
dW5jdGlvbikoc3RkOjpnZXQ8MD4oYXJncyksIHN0ZDo6Z2V0PDE+KGFyZ3MpLCBzdGQ6OmdldDwy
PihhcmdzKSwgc3RkOjpnZXQ8Mz4oYXJncyksIHN0ZDo6Z2V0PDQ+KGFyZ3MpLCBzdGQ6OmdldDw1
PihhcmdzKSwgc3RkOjpnZXQ8Nj4oYXJncyksIHN0ZDo6Z2V0PDA+KHJlcGx5QXJncykpOwotfQot
Ci10ZW1wbGF0ZTx0eXBlbmFtZSBDLCB0eXBlbmFtZSBNRiwgdHlwZW5hbWUgUDEsIHR5cGVuYW1l
IFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQsIHR5cGVuYW1lIFA1LCB0eXBlbmFtZSBQNiwg
dHlwZW5hbWUgUDcsIHR5cGVuYW1lIFA4LCB0eXBlbmFtZSBSMT4KLXZvaWQgY2FsbE1lbWJlckZ1
bmN0aW9uKHN0ZDo6dHVwbGU8UDEsIFAyLCBQMywgUDQsIFA1LCBQNiwgUDcsIFA4PiYmIGFyZ3Ms
IHN0ZDo6dHVwbGU8UjE+JiByZXBseUFyZ3MsIEMqIG9iamVjdCwgTUYgZnVuY3Rpb24pCi17Ci0g
ICAgKG9iamVjdC0+KmZ1bmN0aW9uKShzdGQ6OmdldDwwPihhcmdzKSwgc3RkOjpnZXQ8MT4oYXJn
cyksIHN0ZDo6Z2V0PDI+KGFyZ3MpLCBzdGQ6OmdldDwzPihhcmdzKSwgc3RkOjpnZXQ8ND4oYXJn
cyksIHN0ZDo6Z2V0PDU+KGFyZ3MpLCBzdGQ6OmdldDw2PihhcmdzKSwgc3RkOjpnZXQ8Nz4oYXJn
cyksIHN0ZDo6Z2V0PDA+KHJlcGx5QXJncykpOwotfQotCi10ZW1wbGF0ZTx0eXBlbmFtZSBDLCB0
eXBlbmFtZSBNRiwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5h
bWUgUDQsIHR5cGVuYW1lIFIxLCB0eXBlbmFtZSBSMj4KLXZvaWQgY2FsbE1lbWJlckZ1bmN0aW9u
KHN0ZDo6dHVwbGU8UDEsIFAyLCBQMywgUDQ+JiYgYXJncywgc3RkOjp0dXBsZTxSMSwgUjI+JiBy
ZXBseUFyZ3MsIEMqIG9iamVjdCwgTUYgZnVuY3Rpb24pCi17Ci0gICAgKG9iamVjdC0+KmZ1bmN0
aW9uKShzdGQ6OmdldDwwPihhcmdzKSwgc3RkOjpnZXQ8MT4oYXJncyksIHN0ZDo6Z2V0PDI+KGFy
Z3MpLCBzdGQ6OmdldDwzPihhcmdzKSwgc3RkOjpnZXQ8MD4ocmVwbHlBcmdzKSwgc3RkOjpnZXQ8
MT4ocmVwbHlBcmdzKSk7Ci19Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIEMsIHR5cGVuYW1lIE1GLCB0
eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzLCB0eXBlbmFtZSBQNCwgdHlwZW5h
bWUgUDUsIHR5cGVuYW1lIFIxLCB0eXBlbmFtZSBSMj4KLXZvaWQgY2FsbE1lbWJlckZ1bmN0aW9u
KHN0ZDo6dHVwbGU8UDEsIFAyLCBQMywgUDQsIFA1PiYmIGFyZ3MsIHN0ZDo6dHVwbGU8UjEsIFIy
PiYgcmVwbHlBcmdzLCBDKiBvYmplY3QsIE1GIGZ1bmN0aW9uKQotewotICAgIChvYmplY3QtPipm
dW5jdGlvbikoc3RkOjpnZXQ8MD4oYXJncyksIHN0ZDo6Z2V0PDE+KGFyZ3MpLCBzdGQ6OmdldDwy
PihhcmdzKSwgc3RkOjpnZXQ8Mz4oYXJncyksIHN0ZDo6Z2V0PDQ+KGFyZ3MpLCBzdGQ6OmdldDww
PihyZXBseUFyZ3MpLCBzdGQ6OmdldDwxPihyZXBseUFyZ3MpKTsKLX0KLQotdGVtcGxhdGU8dHlw
ZW5hbWUgQywgdHlwZW5hbWUgTUYsIHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUg
UDMsIHR5cGVuYW1lIFA0LCB0eXBlbmFtZSBSMSwgdHlwZW5hbWUgUjIsIHR5cGVuYW1lIFIzPgot
dm9pZCBjYWxsTWVtYmVyRnVuY3Rpb24oc3RkOjp0dXBsZTxQMSwgUDIsIFAzLCBQND4mJiBhcmdz
LCBzdGQ6OnR1cGxlPFIxLCBSMiwgUjM+JiByZXBseUFyZ3MsIEMqIG9iamVjdCwgTUYgZnVuY3Rp
b24pCi17Ci0gICAgKG9iamVjdC0+KmZ1bmN0aW9uKShzdGQ6OmdldDwwPihhcmdzKSwgc3RkOjpn
ZXQ8MT4oYXJncyksIHN0ZDo6Z2V0PDI+KGFyZ3MpLCBzdGQ6OmdldDwzPihhcmdzKSwgc3RkOjpn
ZXQ8MD4ocmVwbHlBcmdzKSwgc3RkOjpnZXQ8MT4ocmVwbHlBcmdzKSwgc3RkOjpnZXQ8Mj4ocmVw
bHlBcmdzKSk7Ci19Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIEMsIHR5cGVuYW1lIE1GLCB0eXBlbmFt
ZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzLCB0eXBlbmFtZSBQNCwgdHlwZW5hbWUgUDUs
IHR5cGVuYW1lIFIxLCB0eXBlbmFtZSBSMiwgdHlwZW5hbWUgUjM+Ci12b2lkIGNhbGxNZW1iZXJG
dW5jdGlvbihzdGQ6OnR1cGxlPFAxLCBQMiwgUDMsIFA0LCBQNT4mJiBhcmdzLCBzdGQ6OnR1cGxl
PFIxLCBSMiwgUjM+JiByZXBseUFyZ3MsIEMqIG9iamVjdCwgTUYgZnVuY3Rpb24pCit0ZW1wbGF0
ZSA8dHlwZW5hbWUgQywgdHlwZW5hbWUgTUYsIHR5cGVuYW1lIEFyZ3NUdXBsZSwgc2l6ZV90Li4u
IEFyZ3NJbmRleCwgdHlwZW5hbWUgUmVwbHlBcmdzVHVwbGUsIHNpemVfdC4uLiBSZXBseUFyZ3NJ
bmRleD4KK3ZvaWQgY2FsbE1lbWJlckZ1bmN0aW9uSW1wbChDKiBvYmplY3QsIE1GIGZ1bmN0aW9u
LCBBcmdzVHVwbGUmJiBhcmdzLCBSZXBseUFyZ3NUdXBsZSYgcmVwbHlBcmdzLCBzdGQ6OmluZGV4
X3NlcXVlbmNlPEFyZ3NJbmRleC4uLj4sIHN0ZDo6aW5kZXhfc2VxdWVuY2U8UmVwbHlBcmdzSW5k
ZXguLi4+KQogewotICAgIChvYmplY3QtPipmdW5jdGlvbikoc3RkOjpnZXQ8MD4oYXJncyksIHN0
ZDo6Z2V0PDE+KGFyZ3MpLCBzdGQ6OmdldDwyPihhcmdzKSwgc3RkOjpnZXQ8Mz4oYXJncyksIHN0
ZDo6Z2V0PDQ+KGFyZ3MpLCBzdGQ6OmdldDwwPihyZXBseUFyZ3MpLCBzdGQ6OmdldDwxPihyZXBs
eUFyZ3MpLCBzdGQ6OmdldDwyPihyZXBseUFyZ3MpKTsKKyAgICAob2JqZWN0LT4qZnVuY3Rpb24p
KHN0ZDo6Z2V0PEFyZ3NJbmRleD4oc3RkOjpmb3J3YXJkPEFyZ3NUdXBsZT4oYXJncykpLi4uLCBz
dGQ6OmdldDxSZXBseUFyZ3NJbmRleD4ocmVwbHlBcmdzKS4uLik7CiB9CiAKLXRlbXBsYXRlPHR5
cGVuYW1lIEMsIHR5cGVuYW1lIE1GLCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1l
IFAzLCB0eXBlbmFtZSBQNCwgdHlwZW5hbWUgUDUsIHR5cGVuYW1lIFA2LCB0eXBlbmFtZSBSMSwg
dHlwZW5hbWUgUjI+Ci12b2lkIGNhbGxNZW1iZXJGdW5jdGlvbihzdGQ6OnR1cGxlPFAxLCBQMiwg
UDMsIFA0LCBQNSwgUDY+JiYgYXJncywgc3RkOjp0dXBsZTxSMSwgUjI+JiByZXBseUFyZ3MsIEMq
IG9iamVjdCwgTUYgZnVuY3Rpb24pCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQywgdHlwZW5hbWUgTUYs
IHR5cGVuYW1lIEFyZ3NUdXBsZSwgdHlwZW5hbWUgQXJnc0luZGljaWVzID0gc3RkOjptYWtlX2lu
ZGV4X3NlcXVlbmNlPHN0ZDo6dHVwbGVfc2l6ZTxBcmdzVHVwbGU+Ojp2YWx1ZT4sIHR5cGVuYW1l
IFJlcGx5QXJnc1R1cGxlLCB0eXBlbmFtZSBSZXBseUFyZ3NJbmRpY2llcyA9IHN0ZDo6bWFrZV9p
bmRleF9zZXF1ZW5jZTxzdGQ6OnR1cGxlX3NpemU8UmVwbHlBcmdzVHVwbGU+Ojp2YWx1ZT4+Cit2
b2lkIGNhbGxNZW1iZXJGdW5jdGlvbihBcmdzVHVwbGUmJiBhcmdzLCBSZXBseUFyZ3NUdXBsZSYg
cmVwbHlBcmdzLCBDKiBvYmplY3QsIE1GIGZ1bmN0aW9uKQogewotICAgIChvYmplY3QtPipmdW5j
dGlvbikoc3RkOjpnZXQ8MD4oYXJncyksIHN0ZDo6Z2V0PDE+KGFyZ3MpLCBzdGQ6OmdldDwyPihh
cmdzKSwgc3RkOjpnZXQ8Mz4oYXJncyksIHN0ZDo6Z2V0PDQ+KGFyZ3MpLCBzdGQ6OmdldDw1Pihh
cmdzKSwgc3RkOjpnZXQ8MD4ocmVwbHlBcmdzKSwgc3RkOjpnZXQ8MT4ocmVwbHlBcmdzKSk7Ci19
Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIEMsIHR5cGVuYW1lIE1GLCB0eXBlbmFtZSBQMSwgdHlwZW5h
bWUgUDIsIHR5cGVuYW1lIFAzLCB0eXBlbmFtZSBQNCwgdHlwZW5hbWUgUDUsIHR5cGVuYW1lIFA2
LCB0eXBlbmFtZSBSMSwgdHlwZW5hbWUgUjIsIHR5cGVuYW1lIFIzPgotdm9pZCBjYWxsTWVtYmVy
RnVuY3Rpb24oc3RkOjp0dXBsZTxQMSwgUDIsIFAzLCBQNCwgUDUsIFA2PiYmIGFyZ3MsIHN0ZDo6
dHVwbGU8UjEsIFIyLCBSMz4mIHJlcGx5QXJncywgQyogb2JqZWN0LCBNRiBmdW5jdGlvbikKLXsK
LSAgICAob2JqZWN0LT4qZnVuY3Rpb24pKHN0ZDo6Z2V0PDA+KGFyZ3MpLCBzdGQ6OmdldDwxPihh
cmdzKSwgc3RkOjpnZXQ8Mj4oYXJncyksIHN0ZDo6Z2V0PDM+KGFyZ3MpLCBzdGQ6OmdldDw0Pihh
cmdzKSwgc3RkOjpnZXQ8NT4oYXJncyksIHN0ZDo6Z2V0PDA+KHJlcGx5QXJncyksIHN0ZDo6Z2V0
PDE+KHJlcGx5QXJncyksIHN0ZDo6Z2V0PDI+KHJlcGx5QXJncykpOwotfQotCi10ZW1wbGF0ZTx0
eXBlbmFtZSBDLCB0eXBlbmFtZSBNRiwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFt
ZSBQMywgdHlwZW5hbWUgUDQsIHR5cGVuYW1lIFA1LCB0eXBlbmFtZSBQNiwgdHlwZW5hbWUgUjEs
IHR5cGVuYW1lIFIyLCB0eXBlbmFtZSBSMywgdHlwZW5hbWUgUjQ+Ci12b2lkIGNhbGxNZW1iZXJG
dW5jdGlvbihzdGQ6OnR1cGxlPFAxLCBQMiwgUDMsIFA0LCBQNSwgUDY+JiYgYXJncywgc3RkOjp0
dXBsZTxSMSwgUjIsIFIzLCBSND4mIHJlcGx5QXJncywgQyogb2JqZWN0LCBNRiBmdW5jdGlvbikK
LXsKLSAgICAob2JqZWN0LT4qZnVuY3Rpb24pKHN0ZDo6Z2V0PDA+KGFyZ3MpLCBzdGQ6OmdldDwx
PihhcmdzKSwgc3RkOjpnZXQ8Mj4oYXJncyksIHN0ZDo6Z2V0PDM+KGFyZ3MpLCBzdGQ6OmdldDw0
PihhcmdzKSwgc3RkOjpnZXQ8NT4oYXJncyksIHN0ZDo6Z2V0PDA+KHJlcGx5QXJncyksIHN0ZDo6
Z2V0PDE+KHJlcGx5QXJncyksIHN0ZDo6Z2V0PDI+KHJlcGx5QXJncyksIHN0ZDo6Z2V0PDM+KHJl
cGx5QXJncykpOworICAgIGNhbGxNZW1iZXJGdW5jdGlvbkltcGwob2JqZWN0LCBmdW5jdGlvbiwg
c3RkOjpmb3J3YXJkPEFyZ3NUdXBsZT4oYXJncyksIHJlcGx5QXJncywgQXJnc0luZGljaWVzKCks
IFJlcGx5QXJnc0luZGljaWVzKCkpOwogfQogCiAvLyBEaXNwYXRjaCBmdW5jdGlvbnMgd2l0aCBk
ZWxheWVkIHJlcGx5IGFyZ3VtZW50cy4KLXRlbXBsYXRlPHR5cGVuYW1lIEMsIHR5cGVuYW1lIE1G
LCB0eXBlbmFtZSBSPgotdm9pZCBjYWxsTWVtYmVyRnVuY3Rpb24oc3RkOjp0dXBsZTw+JiYsIFBh
c3NSZWZQdHI8Uj4gZGVsYXllZFJlcGx5LCBDKiBvYmplY3QsIE1GIGZ1bmN0aW9uKQotewotICAg
IChvYmplY3QtPipmdW5jdGlvbikoZGVsYXllZFJlcGx5KTsKLX0KIAotdGVtcGxhdGU8dHlwZW5h
bWUgQywgdHlwZW5hbWUgTUYsIHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBSPgotdm9pZCBjYWxsTWVt
YmVyRnVuY3Rpb24oc3RkOjp0dXBsZTxQMT4mJiBhcmdzLCBQYXNzUmVmUHRyPFI+IGRlbGF5ZWRS
ZXBseSwgQyogb2JqZWN0LCBNRiBmdW5jdGlvbikKK3RlbXBsYXRlIDx0eXBlbmFtZSBDLCB0eXBl
bmFtZSBNRiwgdHlwZW5hbWUgUiwgdHlwZW5hbWUgQXJnc1R1cGxlLCBzaXplX3QuLi4gQXJnc0lu
ZGV4Pgordm9pZCBjYWxsTWVtYmVyRnVuY3Rpb25JbXBsKEMqIG9iamVjdCwgTUYgZnVuY3Rpb24s
IFBhc3NSZWZQdHI8Uj4gZGVsYXllZFJlcGx5LCBBcmdzVHVwbGUmJiBhcmdzLCBzdGQ6OmluZGV4
X3NlcXVlbmNlPEFyZ3NJbmRleC4uLj4pCiB7Ci0gICAgKG9iamVjdC0+KmZ1bmN0aW9uKShzdGQ6
OmdldDwwPihhcmdzKSwgZGVsYXllZFJlcGx5KTsKKyAgICAob2JqZWN0LT4qZnVuY3Rpb24pKHN0
ZDo6Z2V0PEFyZ3NJbmRleD4oYXJncykuLi4sIGRlbGF5ZWRSZXBseSk7CiB9CiAKLXRlbXBsYXRl
PHR5cGVuYW1lIEMsIHR5cGVuYW1lIE1GLCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVu
YW1lIFI+Ci12b2lkIGNhbGxNZW1iZXJGdW5jdGlvbihzdGQ6OnR1cGxlPFAxLCBQMj4mJiBhcmdz
LCBQYXNzUmVmUHRyPFI+IGRlbGF5ZWRSZXBseSwgQyogb2JqZWN0LCBNRiBmdW5jdGlvbikKK3Rl
bXBsYXRlPHR5cGVuYW1lIEMsIHR5cGVuYW1lIE1GLCB0eXBlbmFtZSBSLCB0eXBlbmFtZSBBcmdz
VHVwbGUsIHR5cGVuYW1lIEFyZ3NJbmRpY2llcyA9IHN0ZDo6bWFrZV9pbmRleF9zZXF1ZW5jZTxz
dGQ6OnR1cGxlX3NpemU8QXJnc1R1cGxlPjo6dmFsdWU+Pgordm9pZCBjYWxsTWVtYmVyRnVuY3Rp
b24oQXJnc1R1cGxlJiYgYXJncywgUGFzc1JlZlB0cjxSPiBkZWxheWVkUmVwbHksIEMqIG9iamVj
dCwgTUYgZnVuY3Rpb24pCiB7Ci0gICAgKG9iamVjdC0+KmZ1bmN0aW9uKShzdGQ6OmdldDwwPihh
cmdzKSwgc3RkOjpnZXQ8MT4oYXJncyksIGRlbGF5ZWRSZXBseSk7CisgICAgY2FsbE1lbWJlckZ1
bmN0aW9uSW1wbChvYmplY3QsIGZ1bmN0aW9uLCBkZWxheWVkUmVwbHksIHN0ZDo6Zm9yd2FyZDxB
cmdzVHVwbGU+KGFyZ3MpLCBBcmdzSW5kaWNpZXMoKSk7CiB9CiAKLXRlbXBsYXRlPHR5cGVuYW1l
IEMsIHR5cGVuYW1lIE1GLCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzLCB0
eXBlbmFtZSBQNCwgdHlwZW5hbWUgUDUsIHR5cGVuYW1lIFA2LCB0eXBlbmFtZSBQNywgdHlwZW5h
bWUgUDgsIHR5cGVuYW1lIFI+Ci12b2lkIGNhbGxNZW1iZXJGdW5jdGlvbihzdGQ6OnR1cGxlPFAx
LCBQMiwgUDMsIFA0LCBQNSwgUDYsIFA3LCBQOD4mJiBhcmdzLCBQYXNzUmVmUHRyPFI+IGRlbGF5
ZWRSZXBseSwgQyogb2JqZWN0LCBNRiBmdW5jdGlvbikKLXsKLSAgICAob2JqZWN0LT4qZnVuY3Rp
b24pKHN0ZDo6Z2V0PDA+KGFyZ3MpLCBzdGQ6OmdldDwxPihhcmdzKSwgc3RkOjpnZXQ8Mj4oYXJn
cyksIHN0ZDo6Z2V0PDM+KGFyZ3MpLCBzdGQ6OmdldDw0PihhcmdzKSwgc3RkOjpnZXQ8NT4oYXJn
cyksIHN0ZDo6Z2V0PDY+KGFyZ3MpLCBzdGQ6OmdldDw3PihhcmdzKSwgZGVsYXllZFJlcGx5KTsK
LX0KLQotLy8gRGlzcGF0Y2ggZnVuY3Rpb25zIHdpdGggY29ubmVjdGlvbiBwYXJhbWV0ZXIuCi10
ZW1wbGF0ZTx0eXBlbmFtZSBDLCB0eXBlbmFtZSBNRj4KLXZvaWQgY2FsbE1lbWJlckZ1bmN0aW9u
KENvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIHN0ZDo6dHVwbGU8PiYmLCBDKiBvYmplY3QsIE1GIGZ1
bmN0aW9uKQotewotICAgIChvYmplY3QtPipmdW5jdGlvbikoY29ubmVjdGlvbik7Ci19CisvLyBE
aXNwYXRjaCBmdW5jdGlvbnMgd2l0aCBjb25uZWN0aW9uIHBhcmFtZXRlciB3aXRoIG5vIHJlcGx5
IGFyZ3VtZW50cy4KIAotdGVtcGxhdGU8dHlwZW5hbWUgQywgdHlwZW5hbWUgTUYsIHR5cGVuYW1l
IFAxPgotdm9pZCBjYWxsTWVtYmVyRnVuY3Rpb24oQ29ubmVjdGlvbiogY29ubmVjdGlvbiwgc3Rk
Ojp0dXBsZTxQMT4mJiBhcmdzLCBDKiBvYmplY3QsIE1GIGZ1bmN0aW9uKQordGVtcGxhdGUgPHR5
cGVuYW1lIEMsIHR5cGVuYW1lIE1GLCB0eXBlbmFtZSBBcmdzVHVwbGUsIHNpemVfdC4uLiBBcmdz
SW5kZXg+Cit2b2lkIGNhbGxNZW1iZXJGdW5jdGlvbkltcGwoQyogb2JqZWN0LCBNRiBmdW5jdGlv
biwgQ29ubmVjdGlvbiogY29ubmVjdGlvbiwgQXJnc1R1cGxlJiYgYXJncywgc3RkOjppbmRleF9z
ZXF1ZW5jZTxBcmdzSW5kZXguLi4+KQogewotICAgIChvYmplY3QtPipmdW5jdGlvbikoY29ubmVj
dGlvbiwgc3RkOjpnZXQ8MD4oYXJncykpOworICAgIChvYmplY3QtPipmdW5jdGlvbikoY29ubmVj
dGlvbiwgc3RkOjpnZXQ8QXJnc0luZGV4PihhcmdzKS4uLik7CiB9CiAKLXRlbXBsYXRlPHR5cGVu
YW1lIEMsIHR5cGVuYW1lIE1GLCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDI+Ci12b2lkIGNhbGxN
ZW1iZXJGdW5jdGlvbihDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBzdGQ6OnR1cGxlPFAxLCBQMj4m
JiBhcmdzLCBDKiBvYmplY3QsIE1GIGZ1bmN0aW9uKQordGVtcGxhdGU8dHlwZW5hbWUgQywgdHlw
ZW5hbWUgTUYsIHR5cGVuYW1lIEFyZ3NUdXBsZSwgdHlwZW5hbWUgQXJnc0luZGljaWVzID0gc3Rk
OjptYWtlX2luZGV4X3NlcXVlbmNlPHN0ZDo6dHVwbGVfc2l6ZTxBcmdzVHVwbGU+Ojp2YWx1ZT4+
Cit2b2lkIGNhbGxNZW1iZXJGdW5jdGlvbihDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBBcmdzVHVw
bGUmJiBhcmdzLCBDKiBvYmplY3QsIE1GIGZ1bmN0aW9uKQogewotICAgIChvYmplY3QtPipmdW5j
dGlvbikoY29ubmVjdGlvbiwgc3RkOjpnZXQ8MD4oYXJncyksIHN0ZDo6Z2V0PDE+KGFyZ3MpKTsK
KyAgICBjYWxsTWVtYmVyRnVuY3Rpb25JbXBsKG9iamVjdCwgZnVuY3Rpb24sIGNvbm5lY3Rpb24s
IHN0ZDo6Zm9yd2FyZDxBcmdzVHVwbGU+KGFyZ3MpLCBBcmdzSW5kaWNpZXMoKSk7CiB9CiAKLXRl
bXBsYXRlPHR5cGVuYW1lIEMsIHR5cGVuYW1lIE1GLCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIs
IHR5cGVuYW1lIFAzPgotdm9pZCBjYWxsTWVtYmVyRnVuY3Rpb24oQ29ubmVjdGlvbiogY29ubmVj
dGlvbiwgc3RkOjp0dXBsZTxQMSwgUDIsIFAzPiYmIGFyZ3MsIEMqIG9iamVjdCwgTUYgZnVuY3Rp
b24pCi17Ci0gICAgKG9iamVjdC0+KmZ1bmN0aW9uKShjb25uZWN0aW9uLCBzdGQ6OmdldDwwPihh
cmdzKSwgc3RkOjpnZXQ8MT4oYXJncyksIHN0ZDo6Z2V0PDI+KGFyZ3MpKTsKLX0KKy8vIERpc3Bh
dGNoIGZ1bmN0aW9ucyB3aXRoIGNvbm5lY3Rpb24gcGFyYW1ldGVyIHdpdGggcmVwbHkgYXJndW1l
bnRzLgogCi10ZW1wbGF0ZTx0eXBlbmFtZSBDLCB0eXBlbmFtZSBNRiwgdHlwZW5hbWUgUDEsIHR5
cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQ+Ci12b2lkIGNhbGxNZW1iZXJGdW5j
dGlvbihDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBzdGQ6OnR1cGxlPFAxLCBQMiwgUDMsIFA0PiYm
IGFyZ3MsIEMqIG9iamVjdCwgTUYgZnVuY3Rpb24pCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQywgdHlw
ZW5hbWUgTUYsIHR5cGVuYW1lIEFyZ3NUdXBsZSwgc2l6ZV90Li4uIEFyZ3NJbmRleCwgdHlwZW5h
bWUgUmVwbHlBcmdzVHVwbGUsIHNpemVfdC4uLiBSZXBseUFyZ3NJbmRleD4KK3ZvaWQgY2FsbE1l
bWJlckZ1bmN0aW9uSW1wbChDKiBvYmplY3QsIE1GIGZ1bmN0aW9uLCBDb25uZWN0aW9uKiBjb25u
ZWN0aW9uLCBBcmdzVHVwbGUmJiBhcmdzLCBSZXBseUFyZ3NUdXBsZSYgcmVwbHlBcmdzLCBzdGQ6
OmluZGV4X3NlcXVlbmNlPEFyZ3NJbmRleC4uLj4sIHN0ZDo6aW5kZXhfc2VxdWVuY2U8UmVwbHlB
cmdzSW5kZXguLi4+KQogewotICAgIChvYmplY3QtPipmdW5jdGlvbikoY29ubmVjdGlvbiwgc3Rk
OjpnZXQ8MD4oYXJncyksIHN0ZDo6Z2V0PDE+KGFyZ3MpLCBzdGQ6OmdldDwyPihhcmdzKSwgc3Rk
OjpnZXQ8Mz4oYXJncykpOworICAgIChvYmplY3QtPipmdW5jdGlvbikoY29ubmVjdGlvbiwgc3Rk
OjpnZXQ8QXJnc0luZGV4PihzdGQ6OmZvcndhcmQ8QXJnc1R1cGxlPihhcmdzKSkuLi4sIHN0ZDo6
Z2V0PFJlcGx5QXJnc0luZGV4PihyZXBseUFyZ3MpLi4uKTsKIH0KIAotdGVtcGxhdGU8dHlwZW5h
bWUgQywgdHlwZW5hbWUgTUYsIHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMs
IHR5cGVuYW1lIFA0LCB0eXBlbmFtZSBQNT4KLXZvaWQgY2FsbE1lbWJlckZ1bmN0aW9uKENvbm5l
Y3Rpb24qIGNvbm5lY3Rpb24sIHN0ZDo6dHVwbGU8UDEsIFAyLCBQMywgUDQsIFA1PiYmIGFyZ3Ms
IEMqIG9iamVjdCwgTUYgZnVuY3Rpb24pCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQywgdHlwZW5hbWUg
TUYsIHR5cGVuYW1lIEFyZ3NUdXBsZSwgdHlwZW5hbWUgQXJnc0luZGljaWVzID0gc3RkOjptYWtl
X2luZGV4X3NlcXVlbmNlPHN0ZDo6dHVwbGVfc2l6ZTxBcmdzVHVwbGU+Ojp2YWx1ZT4sIHR5cGVu
YW1lIFJlcGx5QXJnc1R1cGxlLCB0eXBlbmFtZSBSZXBseUFyZ3NJbmRpY2llcyA9IHN0ZDo6bWFr
ZV9pbmRleF9zZXF1ZW5jZTxzdGQ6OnR1cGxlX3NpemU8UmVwbHlBcmdzVHVwbGU+Ojp2YWx1ZT4+
Cit2b2lkIGNhbGxNZW1iZXJGdW5jdGlvbihDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBBcmdzVHVw
bGUmJiBhcmdzLCBSZXBseUFyZ3NUdXBsZSYgcmVwbHlBcmdzLCBDKiBvYmplY3QsIE1GIGZ1bmN0
aW9uKQogewotICAgIChvYmplY3QtPipmdW5jdGlvbikoY29ubmVjdGlvbiwgc3RkOjpnZXQ8MD4o
YXJncyksIHN0ZDo6Z2V0PDE+KGFyZ3MpLCBzdGQ6OmdldDwyPihhcmdzKSwgc3RkOjpnZXQ8Mz4o
YXJncyksIHN0ZDo6Z2V0PDQ+KGFyZ3MpKTsKLX0KLQotdGVtcGxhdGU8dHlwZW5hbWUgQywgdHlw
ZW5hbWUgTUYsIHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1l
IFA0LCB0eXBlbmFtZSBQNSwgdHlwZW5hbWUgUDY+Ci12b2lkIGNhbGxNZW1iZXJGdW5jdGlvbihD
b25uZWN0aW9uKiBjb25uZWN0aW9uLCBzdGQ6OnR1cGxlPFAxLCBQMiwgUDMsIFA0LCBQNSwgUDY+
JiYgYXJncywgQyogb2JqZWN0LCBNRiBmdW5jdGlvbikKLXsKLSAgICAob2JqZWN0LT4qZnVuY3Rp
b24pKGNvbm5lY3Rpb24sIHN0ZDo6Z2V0PDA+KGFyZ3MpLCBzdGQ6OmdldDwxPihhcmdzKSwgc3Rk
OjpnZXQ8Mj4oYXJncyksIHN0ZDo6Z2V0PDM+KGFyZ3MpLCBzdGQ6OmdldDw0PihhcmdzKSwgc3Rk
OjpnZXQ8NT4oYXJncykpOwotfQotCi10ZW1wbGF0ZTx0eXBlbmFtZSBDLCB0eXBlbmFtZSBNRiwg
dHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBSMT4KLXZvaWQgY2FsbE1lbWJlckZ1
bmN0aW9uKENvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIHN0ZDo6dHVwbGU8UDEsIFAyPiYmIGFyZ3Ms
IHN0ZDo6dHVwbGU8UjE+JiByZXBseUFyZ3MsIEMqIG9iamVjdCwgTUYgZnVuY3Rpb24pCi17Ci0g
ICAgKG9iamVjdC0+KmZ1bmN0aW9uKShjb25uZWN0aW9uLCBzdGQ6OmdldDwwPihhcmdzKSwgc3Rk
OjpnZXQ8MT4oYXJncyksIHN0ZDo6Z2V0PDA+KHJlcGx5QXJncykpOwotfQotCi10ZW1wbGF0ZTx0
eXBlbmFtZSBDLCB0eXBlbmFtZSBNRiwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFIxPgotdm9pZCBj
YWxsTWVtYmVyRnVuY3Rpb24oQ29ubmVjdGlvbiogY29ubmVjdGlvbiwgc3RkOjp0dXBsZTxQMT4m
JiBhcmdzLCBzdGQ6OnR1cGxlPFIxPiYgcmVwbHlBcmdzLCBDKiBvYmplY3QsIE1GIGZ1bmN0aW9u
KQotewotICAgIChvYmplY3QtPipmdW5jdGlvbikoY29ubmVjdGlvbiwgc3RkOjpnZXQ8MD4oYXJn
cyksIHN0ZDo6Z2V0PDA+KHJlcGx5QXJncykpOworICAgIGNhbGxNZW1iZXJGdW5jdGlvbkltcGwo
b2JqZWN0LCBmdW5jdGlvbiwgY29ubmVjdGlvbiwgc3RkOjpmb3J3YXJkPEFyZ3NUdXBsZT4oYXJn
cyksIHJlcGx5QXJncywgQXJnc0luZGljaWVzKCksIFJlcGx5QXJnc0luZGljaWVzKCkpOwogfQog
CiAvLyBWYXJpYWRpYyBkaXNwYXRjaCBmdW5jdGlvbnMuCiAKLXRlbXBsYXRlPHR5cGVuYW1lIEMs
IHR5cGVuYW1lIE1GPgotdm9pZCBjYWxsTWVtYmVyRnVuY3Rpb24oc3RkOjp0dXBsZTw+JiYsIE1l
c3NhZ2VEZWNvZGVyJiBkZWNvZGVyLCBDKiBvYmplY3QsIE1GIGZ1bmN0aW9uKQotewotICAgIChv
YmplY3QtPipmdW5jdGlvbikoZGVjb2Rlcik7Ci19Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIEMsIHR5
cGVuYW1lIE1GLCB0eXBlbmFtZSBQMT4KLXZvaWQgY2FsbE1lbWJlckZ1bmN0aW9uKHN0ZDo6dHVw
bGU8UDE+JiYgYXJncywgTWVzc2FnZURlY29kZXImIGRlY29kZXIsIEMqIG9iamVjdCwgTUYgZnVu
Y3Rpb24pCi17Ci0gICAgKG9iamVjdC0+KmZ1bmN0aW9uKShzdGQ6OmdldDwwPihhcmdzKSwgZGVj
b2Rlcik7Ci19Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIEMsIHR5cGVuYW1lIE1GLCB0eXBlbmFtZSBQ
MSwgdHlwZW5hbWUgUDI+Ci12b2lkIGNhbGxNZW1iZXJGdW5jdGlvbihzdGQ6OnR1cGxlPFAxLCBQ
Mj4mJiBhcmdzLCBNZXNzYWdlRGVjb2RlciYgZGVjb2RlciwgQyogb2JqZWN0LCBNRiBmdW5jdGlv
bikKLXsKLSAgICAob2JqZWN0LT4qZnVuY3Rpb24pKHN0ZDo6Z2V0PDA+KGFyZ3MpLCBzdGQ6Omdl
dDwxPihhcmdzKSwgZGVjb2Rlcik7Ci19Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIEMsIHR5cGVuYW1l
IE1GLCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzPgotdm9pZCBjYWxsTWVt
YmVyRnVuY3Rpb24oc3RkOjp0dXBsZTxQMSwgUDIsIFAzPiYmIGFyZ3MsIE1lc3NhZ2VEZWNvZGVy
JiBkZWNvZGVyLCBDKiBvYmplY3QsIE1GIGZ1bmN0aW9uKQotewotICAgIChvYmplY3QtPipmdW5j
dGlvbikoc3RkOjpnZXQ8MD4oYXJncyksIHN0ZDo6Z2V0PDE+KGFyZ3MpLCBzdGQ6OmdldDwyPihh
cmdzKSwgZGVjb2Rlcik7Ci19Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIEMsIHR5cGVuYW1lIE1GLCB0
eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzLCB0eXBlbmFtZSBQND4KLXZvaWQg
Y2FsbE1lbWJlckZ1bmN0aW9uKHN0ZDo6dHVwbGU8UDEsIFAyLCBQMywgUDQ+JiYgYXJncywgTWVz
c2FnZURlY29kZXImIGRlY29kZXIsIEMqIG9iamVjdCwgTUYgZnVuY3Rpb24pCi17Ci0gICAgKG9i
amVjdC0+KmZ1bmN0aW9uKShzdGQ6OmdldDwwPihhcmdzKSwgc3RkOjpnZXQ8MT4oYXJncyksIHN0
ZDo6Z2V0PDI+KGFyZ3MpLCBzdGQ6OmdldDwzPihhcmdzKSwgZGVjb2Rlcik7Ci19Ci0KLXRlbXBs
YXRlPHR5cGVuYW1lIEMsIHR5cGVuYW1lIE1GLCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5
cGVuYW1lIFAzLCB0eXBlbmFtZSBQNCwgdHlwZW5hbWUgUDU+Ci12b2lkIGNhbGxNZW1iZXJGdW5j
dGlvbihzdGQ6OnR1cGxlPFAxLCBQMiwgUDMsIFA0LCBQNT4mJiBhcmdzLCBNZXNzYWdlRGVjb2Rl
ciYgZGVjb2RlciwgQyogb2JqZWN0LCBNRiBmdW5jdGlvbikKLXsKLSAgICAob2JqZWN0LT4qZnVu
Y3Rpb24pKHN0ZDo6Z2V0PDA+KGFyZ3MpLCBzdGQ6OmdldDwxPihhcmdzKSwgc3RkOjpnZXQ8Mj4o
YXJncyksIHN0ZDo6Z2V0PDM+KGFyZ3MpLCBzdGQ6OmdldDw0PihhcmdzKSwgZGVjb2Rlcik7Ci19
Ci0gICAgCi10ZW1wbGF0ZTx0eXBlbmFtZSBDLCB0eXBlbmFtZSBNRiwgdHlwZW5hbWUgUDEsIHR5
cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQsIHR5cGVuYW1lIFA1LCB0eXBlbmFt
ZSBQNj4KLXZvaWQgY2FsbE1lbWJlckZ1bmN0aW9uKHN0ZDo6dHVwbGU8UDEsIFAyLCBQMywgUDQs
IFA1LCBQNj4mJiBhcmdzLCBNZXNzYWdlRGVjb2RlciYgZGVjb2RlciwgQyogb2JqZWN0LCBNRiBm
dW5jdGlvbikKK3RlbXBsYXRlIDx0eXBlbmFtZSBDLCB0eXBlbmFtZSBNRiwgdHlwZW5hbWUgQXJn
c1R1cGxlLCBzaXplX3QuLi4gQXJnc0luZGV4Pgordm9pZCBjYWxsTWVtYmVyRnVuY3Rpb25JbXBs
KEMqIG9iamVjdCwgTUYgZnVuY3Rpb24sIE1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyLCBBcmdzVHVw
bGUmJiBhcmdzLCBzdGQ6OmluZGV4X3NlcXVlbmNlPEFyZ3NJbmRleC4uLj4pCiB7Ci0gICAgKG9i
amVjdC0+KmZ1bmN0aW9uKShzdGQ6OmdldDwwPihhcmdzKSwgc3RkOjpnZXQ8MT4oYXJncyksIHN0
ZDo6Z2V0PDI+KGFyZ3MpLCBzdGQ6OmdldDwzPihhcmdzKSwgc3RkOjpnZXQ8ND4oYXJncyksIHN0
ZDo6Z2V0PDU+KGFyZ3MpLCBkZWNvZGVyKTsKKyAgICAob2JqZWN0LT4qZnVuY3Rpb24pKHN0ZDo6
Z2V0PEFyZ3NJbmRleD4oYXJncykuLi4sIGRlY29kZXIpOwogfQogCi10ZW1wbGF0ZTx0eXBlbmFt
ZSBDLCB0eXBlbmFtZSBNRiwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywg
dHlwZW5hbWUgUDQsIHR5cGVuYW1lIFA1LCB0eXBlbmFtZSBQNiwgdHlwZW5hbWUgUDc+Ci12b2lk
IGNhbGxNZW1iZXJGdW5jdGlvbihzdGQ6OnR1cGxlPFAxLCBQMiwgUDMsIFA0LCBQNSwgUDYsIFA3
PiYmIGFyZ3MsIE1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyLCBDKiBvYmplY3QsIE1GIGZ1bmN0aW9u
KQordGVtcGxhdGU8dHlwZW5hbWUgQywgdHlwZW5hbWUgTUYsIHR5cGVuYW1lIEFyZ3NUdXBsZSwg
dHlwZW5hbWUgQXJnc0luZGljaWVzID0gc3RkOjptYWtlX2luZGV4X3NlcXVlbmNlPHN0ZDo6dHVw
bGVfc2l6ZTxBcmdzVHVwbGU+Ojp2YWx1ZT4+Cit2b2lkIGNhbGxNZW1iZXJGdW5jdGlvbihBcmdz
VHVwbGUmJiBhcmdzLCBNZXNzYWdlRGVjb2RlciYgZGVjb2RlciwgQyogb2JqZWN0LCBNRiBmdW5j
dGlvbikKIHsKLSAgICAob2JqZWN0LT4qZnVuY3Rpb24pKHN0ZDo6Z2V0PDA+KGFyZ3MpLCBzdGQ6
OmdldDwxPihhcmdzKSwgc3RkOjpnZXQ8Mj4oYXJncyksIHN0ZDo6Z2V0PDM+KGFyZ3MpLCBzdGQ6
OmdldDw0PihhcmdzKSwgc3RkOjpnZXQ8NT4oYXJncyksIHN0ZDo6Z2V0PDY+KGFyZ3MpLCBkZWNv
ZGVyKTsKKyAgICBjYWxsTWVtYmVyRnVuY3Rpb25JbXBsKG9iamVjdCwgZnVuY3Rpb24sIGRlY29k
ZXIsIHN0ZDo6Zm9yd2FyZDxBcmdzVHVwbGU+KGFyZ3MpLCBBcmdzSW5kaWNpZXMoKSk7CiB9CiAK
IC8vIFZhcmlhZGljIGRpc3BhdGNoIGZ1bmN0aW9ucyB3aXRoIG5vbi12YXJpYWRpYyByZXBseSBh
cmd1bWVudHMuCiAKLXRlbXBsYXRlPHR5cGVuYW1lIEMsIHR5cGVuYW1lIE1GLCB0eXBlbmFtZSBQ
MSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzLCB0eXBlbmFtZSBQNCwgdHlwZW5hbWUgUDUsIHR5
cGVuYW1lIFIxLCB0eXBlbmFtZSBSMiwgdHlwZW5hbWUgUjM+Ci12b2lkIGNhbGxNZW1iZXJGdW5j
dGlvbihzdGQ6OnR1cGxlPFAxLCBQMiwgUDMsIFA0LCBQNT4mJiBhcmdzLCBNZXNzYWdlRGVjb2Rl
ciYgZGVjb2Rlciwgc3RkOjp0dXBsZTxSMSwgUjIsIFIzPiYgcmVwbHlBcmdzLCBDKiBvYmplY3Qs
IE1GIGZ1bmN0aW9uKQotewotICAgIChvYmplY3QtPipmdW5jdGlvbikoc3RkOjpnZXQ8MD4oYXJn
cyksIHN0ZDo6Z2V0PDE+KGFyZ3MpLCBzdGQ6OmdldDwyPihhcmdzKSwgc3RkOjpnZXQ8Mz4oYXJn
cyksIHN0ZDo6Z2V0PDQ+KGFyZ3MpLCBkZWNvZGVyLCBzdGQ6OmdldDwwPihyZXBseUFyZ3MpLCBz
dGQ6OmdldDwxPihyZXBseUFyZ3MpLCBzdGQ6OmdldDwyPihyZXBseUFyZ3MpKTsKLX0KLQotdGVt
cGxhdGU8dHlwZW5hbWUgQywgdHlwZW5hbWUgTUYsIHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwg
dHlwZW5hbWUgUDMsIHR5cGVuYW1lIFA0LCB0eXBlbmFtZSBQNSwgdHlwZW5hbWUgUDYsIHR5cGVu
YW1lIFIxLCB0eXBlbmFtZSBSMj4KLXZvaWQgY2FsbE1lbWJlckZ1bmN0aW9uKHN0ZDo6dHVwbGU8
UDEsIFAyLCBQMywgUDQsIFA1LCBQNj4mJiBhcmdzLCBNZXNzYWdlRGVjb2RlciYgZGVjb2Rlciwg
c3RkOjp0dXBsZTxSMSwgUjI+JiByZXBseUFyZ3MsIEMqIG9iamVjdCwgTUYgZnVuY3Rpb24pCit0
ZW1wbGF0ZSA8dHlwZW5hbWUgQywgdHlwZW5hbWUgTUYsIHR5cGVuYW1lIEFyZ3NUdXBsZSwgc2l6
ZV90Li4uIEFyZ3NJbmRleCwgdHlwZW5hbWUgUmVwbHlBcmdzVHVwbGUsIHNpemVfdC4uLiBSZXBs
eUFyZ3NJbmRleD4KK3ZvaWQgY2FsbE1lbWJlckZ1bmN0aW9uSW1wbChDKiBvYmplY3QsIE1GIGZ1
bmN0aW9uLCBNZXNzYWdlRGVjb2RlciYgZGVjb2RlciwgQXJnc1R1cGxlJiYgYXJncywgUmVwbHlB
cmdzVHVwbGUmIHJlcGx5QXJncywgc3RkOjppbmRleF9zZXF1ZW5jZTxBcmdzSW5kZXguLi4+LCBz
dGQ6OmluZGV4X3NlcXVlbmNlPFJlcGx5QXJnc0luZGV4Li4uPikKIHsKLSAgICAob2JqZWN0LT4q
ZnVuY3Rpb24pKHN0ZDo6Z2V0PDA+KGFyZ3MpLCBzdGQ6OmdldDwxPihhcmdzKSwgc3RkOjpnZXQ8
Mj4oYXJncyksIHN0ZDo6Z2V0PDM+KGFyZ3MpLCBzdGQ6OmdldDw0PihhcmdzKSwgc3RkOjpnZXQ8
NT4oYXJncyksIGRlY29kZXIsIHN0ZDo6Z2V0PDA+KHJlcGx5QXJncyksIHN0ZDo6Z2V0PDE+KHJl
cGx5QXJncykpOworICAgIChvYmplY3QtPipmdW5jdGlvbikoc3RkOjpnZXQ8QXJnc0luZGV4Pihz
dGQ6OmZvcndhcmQ8QXJnc1R1cGxlPihhcmdzKSkuLi4sIGRlY29kZXIsIHN0ZDo6Z2V0PFJlcGx5
QXJnc0luZGV4PihyZXBseUFyZ3MpLi4uKTsKIH0KIAotdGVtcGxhdGU8dHlwZW5hbWUgQywgdHlw
ZW5hbWUgTUYsIHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1l
IFA0LCB0eXBlbmFtZSBQNSwgdHlwZW5hbWUgUDYsIHR5cGVuYW1lIFA3LCB0eXBlbmFtZSBSMSwg
dHlwZW5hbWUgUjIsIHR5cGVuYW1lIFIzPgotdm9pZCBjYWxsTWVtYmVyRnVuY3Rpb24oc3RkOjp0
dXBsZTxQMSwgUDIsIFAzLCBQNCwgUDUsIFA2LCBQNz4mJiBhcmdzLCBNZXNzYWdlRGVjb2RlciYg
ZGVjb2Rlciwgc3RkOjp0dXBsZTxSMSwgUjIsIFIzPiYgcmVwbHlBcmdzLCBDKiBvYmplY3QsIE1G
IGZ1bmN0aW9uKQordGVtcGxhdGUgPHR5cGVuYW1lIEMsIHR5cGVuYW1lIE1GLCB0eXBlbmFtZSBB
cmdzVHVwbGUsIHR5cGVuYW1lIEFyZ3NJbmRpY2llcyA9IHN0ZDo6bWFrZV9pbmRleF9zZXF1ZW5j
ZTxzdGQ6OnR1cGxlX3NpemU8QXJnc1R1cGxlPjo6dmFsdWU+LCB0eXBlbmFtZSBSZXBseUFyZ3NU
dXBsZSwgdHlwZW5hbWUgUmVwbHlBcmdzSW5kaWNpZXMgPSBzdGQ6Om1ha2VfaW5kZXhfc2VxdWVu
Y2U8c3RkOjp0dXBsZV9zaXplPFJlcGx5QXJnc1R1cGxlPjo6dmFsdWU+Pgordm9pZCBjYWxsTWVt
YmVyRnVuY3Rpb24oQXJnc1R1cGxlJiYgYXJncywgTWVzc2FnZURlY29kZXImIGRlY29kZXIsIFJl
cGx5QXJnc1R1cGxlJiByZXBseUFyZ3MsIEMqIG9iamVjdCwgTUYgZnVuY3Rpb24pCiB7Ci0gICAg
KG9iamVjdC0+KmZ1bmN0aW9uKShzdGQ6OmdldDwwPihhcmdzKSwgc3RkOjpnZXQ8MT4oYXJncyks
IHN0ZDo6Z2V0PDI+KGFyZ3MpLCBzdGQ6OmdldDwzPihhcmdzKSwgc3RkOjpnZXQ8ND4oYXJncyks
IHN0ZDo6Z2V0PDU+KGFyZ3MpLCBzdGQ6OmdldDw2PihhcmdzKSwgZGVjb2Rlciwgc3RkOjpnZXQ8
MD4ocmVwbHlBcmdzKSwgc3RkOjpnZXQ8MT4ocmVwbHlBcmdzKSwgc3RkOjpnZXQ8Mj4ocmVwbHlB
cmdzKSk7Ci19Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIEMsIHR5cGVuYW1lIE1GLCB0eXBlbmFtZSBQ
MSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzLCB0eXBlbmFtZSBQNCwgdHlwZW5hbWUgUDUsIHR5
cGVuYW1lIFA2LCB0eXBlbmFtZSBQNywgdHlwZW5hbWUgUDgsIHR5cGVuYW1lIFIxLCB0eXBlbmFt
ZSBSMiwgdHlwZW5hbWUgUjM+Ci12b2lkIGNhbGxNZW1iZXJGdW5jdGlvbihzdGQ6OnR1cGxlPFAx
LCBQMiwgUDMsIFA0LCBQNSwgUDYsIFA3LCBQOD4mJiBhcmdzLCBNZXNzYWdlRGVjb2RlciYgZGVj
b2Rlciwgc3RkOjp0dXBsZTxSMSwgUjIsIFIzPiYgcmVwbHlBcmdzLCBDKiBvYmplY3QsIE1GIGZ1
bmN0aW9uKQotewotICAgIChvYmplY3QtPipmdW5jdGlvbikoc3RkOjpnZXQ8MD4oYXJncyksIHN0
ZDo6Z2V0PDE+KGFyZ3MpLCBzdGQ6OmdldDwyPihhcmdzKSwgc3RkOjpnZXQ8Mz4oYXJncyksIHN0
ZDo6Z2V0PDQ+KGFyZ3MpLCBzdGQ6OmdldDw1PihhcmdzKSwgc3RkOjpnZXQ8Nj4oYXJncyksIHN0
ZDo6Z2V0PDc+KGFyZ3MpLCBkZWNvZGVyLCBzdGQ6OmdldDwwPihyZXBseUFyZ3MpLCBzdGQ6Omdl
dDwxPihyZXBseUFyZ3MpLCBzdGQ6OmdldDwyPihyZXBseUFyZ3MpKTsKKyAgICBjYWxsTWVtYmVy
RnVuY3Rpb25JbXBsKG9iamVjdCwgZnVuY3Rpb24sIGRlY29kZXIsIHN0ZDo6Zm9yd2FyZDxBcmdz
VHVwbGU+KGFyZ3MpLCByZXBseUFyZ3MsIEFyZ3NJbmRpY2llcygpLCBSZXBseUFyZ3NJbmRpY2ll
cygpKTsKIH0KIAogLy8gTWFpbiBkaXNwYXRjaCBmdW5jdGlvbnMKKwogdGVtcGxhdGU8dHlwZW5h
bWUgVCwgdHlwZW5hbWUgQywgdHlwZW5hbWUgTUY+CiB2b2lkIGhhbmRsZU1lc3NhZ2UoTWVzc2Fn
ZURlY29kZXImIGRlY29kZXIsIEMqIG9iamVjdCwgTUYgZnVuY3Rpb24pCiB7Cg==
</data>
<flag name="review"
          id="244052"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>