<?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>90634</bug_id>
          
          <creation_ts>2012-07-05 14:28:08 -0700</creation_ts>
          <short_desc>JavaScriptCore doesn&apos;t build with recent clang (w/ patch)</short_desc>
          <delta_ts>2012-07-06 10:39:42 -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>JavaScriptCore</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>0</everconfirmed>
          <reporter name="Nuno Lopes">nlopes</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>barraclough</cc>
    
    <cc>fpizlo</cc>
    
    <cc>oliver</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>663729</commentid>
    <comment_count>0</comment_count>
    <who name="Nuno Lopes">nlopes</who>
    <bug_when>2012-07-05 14:28:08 -0700</bug_when>
    <thetext>JavaScriptCore doesn&apos;t build with recent clang (w/ patch).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>663730</commentid>
    <comment_count>1</comment_count>
      <attachid>150984</attachid>
    <who name="Nuno Lopes">nlopes</who>
    <bug_when>2012-07-05 14:32:27 -0700</bug_when>
    <thetext>Created attachment 150984
fix warnings by the new -Wunused-private-field.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>663732</commentid>
    <comment_count>2</comment_count>
      <attachid>150985</attachid>
    <who name="Nuno Lopes">nlopes</who>
    <bug_when>2012-07-05 14:39:48 -0700</bug_when>
    <thetext>Created attachment 150985
fix warnings by the new -Wunused-private-field (take #2)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>664191</commentid>
    <comment_count>3</comment_count>
      <attachid>150985</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-06 10:39:37 -0700</bug_when>
    <thetext>Comment on attachment 150985
fix warnings by the new -Wunused-private-field (take #2)

Clearing flags on attachment: 150985

Committed r121986: &lt;http://trac.webkit.org/changeset/121986&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>664192</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-06 10:39:42 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150984</attachid>
            <date>2012-07-05 14:32:27 -0700</date>
            <delta_ts>2012-07-05 14:39:48 -0700</delta_ts>
            <desc>fix warnings by the new -Wunused-private-field.</desc>
            <filename>webkit.90634.patch</filename>
            <type>text/plain</type>
            <size>23221</size>
            <attacher name="Nuno Lopes">nlopes</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDEyMTky
NCkKKysrIENoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU1IEBACisyMDEyLTA3
LTA1ICBOdW5vIExvcGVzICA8bmxvcGVzQGFwcGxlLmNvbT4KKworICAgICAgICBGaXggYnVpbGQg
d2l0aCByZWNlbnQgY2xhbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05MDYzNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogaml0L1NwZWNpYWxpemVkVGh1bmtKSVQuaDoKKyAgICAgICAgKEpTQzo6U3Bl
Y2lhbGl6ZWRUaHVua0pJVDo6U3BlY2lhbGl6ZWRUaHVua0pJVCk6CisgICAgICAgIChTcGVjaWFs
aXplZFRodW5rSklUKToKKyAgICAgICAgKiBqaXQvVGh1bmtHZW5lcmF0b3JzLmNwcDoKKyAgICAg
ICAgKEpTQzo6Y2hhckNvZGVBdFRodW5rR2VuZXJhdG9yKToKKyAgICAgICAgKEpTQzo6Y2hhckF0
VGh1bmtHZW5lcmF0b3IpOgorICAgICAgICAoSlNDOjpmcm9tQ2hhckNvZGVUaHVua0dlbmVyYXRv
cik6CisgICAgICAgIChKU0M6OnNxcnRUaHVua0dlbmVyYXRvcik6CisgICAgICAgIChKU0M6OmZs
b29yVGh1bmtHZW5lcmF0b3IpOgorICAgICAgICAoSlNDOjpjZWlsVGh1bmtHZW5lcmF0b3IpOgor
ICAgICAgICAoSlNDOjpyb3VuZFRodW5rR2VuZXJhdG9yKToKKyAgICAgICAgKEpTQzo6ZXhwVGh1
bmtHZW5lcmF0b3IpOgorICAgICAgICAoSlNDOjpsb2dUaHVua0dlbmVyYXRvcik6CisgICAgICAg
IChKU0M6OmFic1RodW5rR2VuZXJhdG9yKToKKyAgICAgICAgKEpTQzo6cG93VGh1bmtHZW5lcmF0
b3IpOgorICAgICAgICAqIHBhcnNlci9BU1RCdWlsZGVyLmg6CisgICAgICAgIChKU0M6OkFTVEJ1
aWxkZXI6OmNyZWF0ZUFzc2lnblJlc29sdmUpOgorICAgICAgICAoSlNDOjpBU1RCdWlsZGVyOjpj
cmVhdGVGb3JMb29wKToKKyAgICAgICAgKEpTQzo6QVNUQnVpbGRlcjo6Y3JlYXRlRm9ySW5Mb29w
KToKKyAgICAgICAgKEpTQzo6QVNUQnVpbGRlcjo6bWFrZUFzc2lnbk5vZGUpOgorICAgICAgICAo
SlNDOjpBU1RCdWlsZGVyOjptYWtlUHJlZml4Tm9kZSk6CisgICAgICAgIChKU0M6OkFTVEJ1aWxk
ZXI6Om1ha2VQb3N0Zml4Tm9kZSk6CisgICAgICAgICogcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMu
aDoKKyAgICAgICAgKEpTQzo6UG9zdGZpeEVycm9yTm9kZTo6UG9zdGZpeEVycm9yTm9kZSk6Cisg
ICAgICAgIChKU0M6OlByZWZpeEVycm9yTm9kZTo6UHJlZml4RXJyb3JOb2RlKToKKyAgICAgICAg
KEpTQzo6QXNzaWduUmVzb2x2ZU5vZGU6OkFzc2lnblJlc29sdmVOb2RlKToKKyAgICAgICAgKEpT
Qzo6QXNzaWduRXJyb3JOb2RlOjpBc3NpZ25FcnJvck5vZGUpOgorICAgICAgICAoSlNDOjpGb3JO
b2RlOjpGb3JOb2RlKToKKyAgICAgICAgKEpTQzo6Rm9ySW5Ob2RlOjpGb3JJbk5vZGUpOgorICAg
ICAgICAqIHBhcnNlci9Ob2Rlcy5oOgorICAgICAgICAoRnVuY3Rpb25DYWxsUmVzb2x2ZU5vZGUp
OgorICAgICAgICAoUG9zdGZpeEVycm9yTm9kZSk6CisgICAgICAgIChQcmVmaXhFcnJvck5vZGUp
OgorICAgICAgICAoUmVhZE1vZGlmeVJlc29sdmVOb2RlKToKKyAgICAgICAgKEFzc2lnblJlc29s
dmVOb2RlKToKKyAgICAgICAgKEFzc2lnbkVycm9yTm9kZSk6CisgICAgICAgIChGb3JOb2RlKToK
KyAgICAgICAgKEZvckluTm9kZSk6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5jcHA6CisgICAg
ICAgIChKU0M6Ojo6cGFyc2VWYXJEZWNsYXJhdGlvbkxpc3QpOgorICAgICAgICAoSlNDOjo6OnBh
cnNlRm9yU3RhdGVtZW50KToKKyAgICAgICAgKiBwYXJzZXIvU3ludGF4Q2hlY2tlci5oOgorICAg
ICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVhdGVBc3NpZ25SZXNvbHZlKToKKyAgICAgICAg
KEpTQzo6U3ludGF4Q2hlY2tlcjo6Y3JlYXRlRm9yTG9vcCk6CisKIDIwMTItMDctMDUgIE9saXZl
ciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBKU09iamVjdENhbGxBc0Z1bmN0
aW9uIHNob3VsZCB0aGlzQ29udmVydCB0aGUgcHJvdmlkZWQgdGhpc09iamVjdApJbmRleDogcGFy
c2VyL0FTVEJ1aWxkZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBwYXJzZXIvQVNUQnVpbGRlci5oCShyZXZp
c2lvbiAxMjE5MTMpCisrKyBwYXJzZXIvQVNUQnVpbGRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
NDcsMTEgKzI0NywxMSBAQAogICAgICAgICByZXR1cm4gbmV3IChtX2dsb2JhbERhdGEpIENvbmRp
dGlvbmFsTm9kZShsaW5lTnVtYmVyLCBjb25kaXRpb24sIGxocywgcmhzKTsKICAgICB9CiAKLSAg
ICBFeHByZXNzaW9uTm9kZSogY3JlYXRlQXNzaWduUmVzb2x2ZShpbnQgbGluZU51bWJlciwgY29u
c3QgSWRlbnRpZmllciYgaWRlbnQsIEV4cHJlc3Npb25Ob2RlKiByaHMsIGJvb2wgcmhzSGFzQXNz
aWdubWVudCwgaW50IHN0YXJ0LCBpbnQgZGl2b3QsIGludCBlbmQpCisgICAgRXhwcmVzc2lvbk5v
ZGUqIGNyZWF0ZUFzc2lnblJlc29sdmUoaW50IGxpbmVOdW1iZXIsIGNvbnN0IElkZW50aWZpZXIm
IGlkZW50LCBFeHByZXNzaW9uTm9kZSogcmhzLCBpbnQgc3RhcnQsIGludCBkaXZvdCwgaW50IGVu
ZCkKICAgICB7CiAgICAgICAgIGlmIChyaHMtPmlzRnVuY0V4cHJOb2RlKCkpCiAgICAgICAgICAg
ICBzdGF0aWNfY2FzdDxGdW5jRXhwck5vZGUqPihyaHMpLT5ib2R5KCktPnNldEluZmVycmVkTmFt
ZShpZGVudCk7Ci0gICAgICAgIEFzc2lnblJlc29sdmVOb2RlKiBub2RlID0gbmV3IChtX2dsb2Jh
bERhdGEpIEFzc2lnblJlc29sdmVOb2RlKGxpbmVOdW1iZXIsIGlkZW50LCByaHMsIHJoc0hhc0Fz
c2lnbm1lbnQpOworICAgICAgICBBc3NpZ25SZXNvbHZlTm9kZSogbm9kZSA9IG5ldyAobV9nbG9i
YWxEYXRhKSBBc3NpZ25SZXNvbHZlTm9kZShsaW5lTnVtYmVyLCBpZGVudCwgcmhzKTsKICAgICAg
ICAgc2V0RXhjZXB0aW9uTG9jYXRpb24obm9kZSwgc3RhcnQsIGRpdm90LCBlbmQpOwogICAgICAg
ICByZXR1cm4gbm9kZTsKICAgICB9CkBAIC0zNDcsOSArMzQ3LDkgQEAKICAgICAgICAgcmV0dXJu
IHJlc3VsdDsKICAgICB9CiAKLSAgICBTdGF0ZW1lbnROb2RlKiBjcmVhdGVGb3JMb29wKGludCBs
aW5lTnVtYmVyLCBFeHByZXNzaW9uTm9kZSogaW5pdGlhbGl6ZXIsIEV4cHJlc3Npb25Ob2RlKiBj
b25kaXRpb24sIEV4cHJlc3Npb25Ob2RlKiBpdGVyLCBTdGF0ZW1lbnROb2RlKiBzdGF0ZW1lbnRz
LCBib29sIGIsIGludCBzdGFydCwgaW50IGVuZCkKKyAgICBTdGF0ZW1lbnROb2RlKiBjcmVhdGVG
b3JMb29wKGludCBsaW5lTnVtYmVyLCBFeHByZXNzaW9uTm9kZSogaW5pdGlhbGl6ZXIsIEV4cHJl
c3Npb25Ob2RlKiBjb25kaXRpb24sIEV4cHJlc3Npb25Ob2RlKiBpdGVyLCBTdGF0ZW1lbnROb2Rl
KiBzdGF0ZW1lbnRzLCBpbnQgc3RhcnQsIGludCBlbmQpCiAgICAgewotICAgICAgICBGb3JOb2Rl
KiByZXN1bHQgPSBuZXcgKG1fZ2xvYmFsRGF0YSkgRm9yTm9kZShsaW5lTnVtYmVyLCBpbml0aWFs
aXplciwgY29uZGl0aW9uLCBpdGVyLCBzdGF0ZW1lbnRzLCBiKTsKKyAgICAgICAgRm9yTm9kZSog
cmVzdWx0ID0gbmV3IChtX2dsb2JhbERhdGEpIEZvck5vZGUobGluZU51bWJlciwgaW5pdGlhbGl6
ZXIsIGNvbmRpdGlvbiwgaXRlciwgc3RhdGVtZW50cyk7CiAgICAgICAgIHJlc3VsdC0+c2V0TG9j
KHN0YXJ0LCBlbmQpOwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KQEAgLTM2NCw3ICsz
NjQsNyBAQAogCiAgICAgU3RhdGVtZW50Tm9kZSogY3JlYXRlRm9ySW5Mb29wKGludCBsaW5lTnVt
YmVyLCBFeHByZXNzaW9uTm9kZSogbGhzLCBFeHByZXNzaW9uTm9kZSogaXRlciwgU3RhdGVtZW50
Tm9kZSogc3RhdGVtZW50cywgaW50IGVTdGFydCwgaW50IGVEaXZvdCwgaW50IGVFbmQsIGludCBz
dGFydCwgaW50IGVuZCkKICAgICB7Ci0gICAgICAgIEZvckluTm9kZSogcmVzdWx0ID0gbmV3ICht
X2dsb2JhbERhdGEpIEZvckluTm9kZShtX2dsb2JhbERhdGEsIGxpbmVOdW1iZXIsIGxocywgaXRl
ciwgc3RhdGVtZW50cyk7CisgICAgICAgIEZvckluTm9kZSogcmVzdWx0ID0gbmV3IChtX2dsb2Jh
bERhdGEpIEZvckluTm9kZShsaW5lTnVtYmVyLCBsaHMsIGl0ZXIsIHN0YXRlbWVudHMpOwogICAg
ICAgICByZXN1bHQtPnNldExvYyhzdGFydCwgZW5kKTsKICAgICAgICAgc2V0RXhjZXB0aW9uTG9j
YXRpb24ocmVzdWx0LCBlU3RhcnQsIGVEaXZvdCwgZUVuZCk7CiAgICAgICAgIHJldHVybiByZXN1
bHQ7CkBAIC05MDcsMTQgKzkwNywxNCBAQAogRXhwcmVzc2lvbk5vZGUqIEFTVEJ1aWxkZXI6Om1h
a2VBc3NpZ25Ob2RlKGludCBsaW5lTnVtYmVyLCBFeHByZXNzaW9uTm9kZSogbG9jLCBPcGVyYXRv
ciBvcCwgRXhwcmVzc2lvbk5vZGUqIGV4cHIsIGJvb2wgbG9jSGFzQXNzaWdubWVudHMsIGJvb2wg
ZXhwckhhc0Fzc2lnbm1lbnRzLCBpbnQgc3RhcnQsIGludCBkaXZvdCwgaW50IGVuZCkKIHsKICAg
ICBpZiAoIWxvYy0+aXNMb2NhdGlvbigpKQotICAgICAgICByZXR1cm4gbmV3IChtX2dsb2JhbERh
dGEpIEFzc2lnbkVycm9yTm9kZShsaW5lTnVtYmVyLCBsb2MsIG9wLCBleHByLCBkaXZvdCwgZGl2
b3QgLSBzdGFydCwgZW5kIC0gZGl2b3QpOworICAgICAgICByZXR1cm4gbmV3IChtX2dsb2JhbERh
dGEpIEFzc2lnbkVycm9yTm9kZShsaW5lTnVtYmVyLCBkaXZvdCwgZGl2b3QgLSBzdGFydCwgZW5k
IC0gZGl2b3QpOwogCiAgICAgaWYgKGxvYy0+aXNSZXNvbHZlTm9kZSgpKSB7CiAgICAgICAgIFJl
c29sdmVOb2RlKiByZXNvbHZlID0gc3RhdGljX2Nhc3Q8UmVzb2x2ZU5vZGUqPihsb2MpOwogICAg
ICAgICBpZiAob3AgPT0gT3BFcXVhbCkgewogICAgICAgICAgICAgaWYgKGV4cHItPmlzRnVuY0V4
cHJOb2RlKCkpCiAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8RnVuY0V4cHJOb2RlKj4oZXhw
ciktPmJvZHkoKS0+c2V0SW5mZXJyZWROYW1lKHJlc29sdmUtPmlkZW50aWZpZXIoKSk7Ci0gICAg
ICAgICAgICBBc3NpZ25SZXNvbHZlTm9kZSogbm9kZSA9IG5ldyAobV9nbG9iYWxEYXRhKSBBc3Np
Z25SZXNvbHZlTm9kZShsaW5lTnVtYmVyLCByZXNvbHZlLT5pZGVudGlmaWVyKCksIGV4cHIsIGV4
cHJIYXNBc3NpZ25tZW50cyk7CisgICAgICAgICAgICBBc3NpZ25SZXNvbHZlTm9kZSogbm9kZSA9
IG5ldyAobV9nbG9iYWxEYXRhKSBBc3NpZ25SZXNvbHZlTm9kZShsaW5lTnVtYmVyLCByZXNvbHZl
LT5pZGVudGlmaWVyKCksIGV4cHIpOwogICAgICAgICAgICAgc2V0RXhjZXB0aW9uTG9jYXRpb24o
bm9kZSwgc3RhcnQsIGRpdm90LCBlbmQpOwogICAgICAgICAgICAgcmV0dXJuIG5vZGU7CiAgICAg
ICAgIH0KQEAgLTk0NCw3ICs5NDQsNyBAQAogRXhwcmVzc2lvbk5vZGUqIEFTVEJ1aWxkZXI6Om1h
a2VQcmVmaXhOb2RlKGludCBsaW5lTnVtYmVyLCBFeHByZXNzaW9uTm9kZSogZXhwciwgT3BlcmF0
b3Igb3AsIGludCBzdGFydCwgaW50IGRpdm90LCBpbnQgZW5kKQogewogICAgIGlmICghZXhwci0+
aXNMb2NhdGlvbigpKQotICAgICAgICByZXR1cm4gbmV3IChtX2dsb2JhbERhdGEpIFByZWZpeEVy
cm9yTm9kZShsaW5lTnVtYmVyLCBleHByLCBvcCwgZGl2b3QsIGRpdm90IC0gc3RhcnQsIGVuZCAt
IGRpdm90KTsKKyAgICAgICAgcmV0dXJuIG5ldyAobV9nbG9iYWxEYXRhKSBQcmVmaXhFcnJvck5v
ZGUobGluZU51bWJlciwgb3AsIGRpdm90LCBkaXZvdCAtIHN0YXJ0LCBlbmQgLSBkaXZvdCk7CiAK
ICAgICBpZiAoZXhwci0+aXNSZXNvbHZlTm9kZSgpKSB7CiAgICAgICAgIFJlc29sdmVOb2RlKiBy
ZXNvbHZlID0gc3RhdGljX2Nhc3Q8UmVzb2x2ZU5vZGUqPihleHByKTsKQEAgLTk2Niw3ICs5NjYs
NyBAQAogRXhwcmVzc2lvbk5vZGUqIEFTVEJ1aWxkZXI6Om1ha2VQb3N0Zml4Tm9kZShpbnQgbGlu
ZU51bWJlciwgRXhwcmVzc2lvbk5vZGUqIGV4cHIsIE9wZXJhdG9yIG9wLCBpbnQgc3RhcnQsIGlu
dCBkaXZvdCwgaW50IGVuZCkKIHsKICAgICBpZiAoIWV4cHItPmlzTG9jYXRpb24oKSkKLSAgICAg
ICAgcmV0dXJuIG5ldyAobV9nbG9iYWxEYXRhKSBQb3N0Zml4RXJyb3JOb2RlKGxpbmVOdW1iZXIs
IGV4cHIsIG9wLCBkaXZvdCwgZGl2b3QgLSBzdGFydCwgZW5kIC0gZGl2b3QpOworICAgICAgICBy
ZXR1cm4gbmV3IChtX2dsb2JhbERhdGEpIFBvc3RmaXhFcnJvck5vZGUobGluZU51bWJlciwgb3As
IGRpdm90LCBkaXZvdCAtIHN0YXJ0LCBlbmQgLSBkaXZvdCk7CiAKICAgICBpZiAoZXhwci0+aXNS
ZXNvbHZlTm9kZSgpKSB7CiAgICAgICAgIFJlc29sdmVOb2RlKiByZXNvbHZlID0gc3RhdGljX2Nh
c3Q8UmVzb2x2ZU5vZGUqPihleHByKTsKSW5kZXg6IHBhcnNlci9Ob2Rlcy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIHBhcnNlci9Ob2Rlcy5oCShyZXZpc2lvbiAxMjE5MTMpCisrKyBwYXJzZXIvTm9kZXMuaAko
d29ya2luZyBjb3B5KQpAQCAtNTQ2LDggKzU0Niw2IEBACiAKICAgICAgICAgY29uc3QgSWRlbnRp
ZmllciYgbV9pZGVudDsKICAgICAgICAgQXJndW1lbnRzTm9kZSogbV9hcmdzOwotICAgICAgICBz
aXplX3QgbV9pbmRleDsgLy8gVXNlZCBieSBMb2NhbFZhckZ1bmN0aW9uQ2FsbE5vZGUuCi0gICAg
ICAgIHNpemVfdCBtX3Njb3BlRGVwdGg7IC8vIFVzZWQgYnkgU2NvcGVkVmFyRnVuY3Rpb25DYWxs
Tm9kZSBhbmQgTm9uTG9jYWxWYXJGdW5jdGlvbkNhbGxOb2RlCiAgICAgfTsKICAgICAKICAgICBj
bGFzcyBGdW5jdGlvbkNhbGxCcmFja2V0Tm9kZSA6IHB1YmxpYyBFeHByZXNzaW9uTm9kZSwgcHVi
bGljIFRocm93YWJsZVN1YkV4cHJlc3Npb25EYXRhIHsKQEAgLTYzNSwxMiArNjMzLDExIEBACiAK
ICAgICBjbGFzcyBQb3N0Zml4RXJyb3JOb2RlIDogcHVibGljIEV4cHJlc3Npb25Ob2RlLCBwdWJs
aWMgVGhyb3dhYmxlU3ViRXhwcmVzc2lvbkRhdGEgewogICAgIHB1YmxpYzoKLSAgICAgICAgUG9z
dGZpeEVycm9yTm9kZShpbnQsIEV4cHJlc3Npb25Ob2RlKiwgT3BlcmF0b3IsIHVuc2lnbmVkIGRp
dm90LCB1bnNpZ25lZCBzdGFydE9mZnNldCwgdW5zaWduZWQgZW5kT2Zmc2V0KTsKKyAgICAgICAg
UG9zdGZpeEVycm9yTm9kZShpbnQsIE9wZXJhdG9yLCB1bnNpZ25lZCBkaXZvdCwgdW5zaWduZWQg
c3RhcnRPZmZzZXQsIHVuc2lnbmVkIGVuZE9mZnNldCk7CiAKICAgICBwcml2YXRlOgogICAgICAg
ICB2aXJ0dWFsIFJlZ2lzdGVySUQqIGVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYsIFJl
Z2lzdGVySUQqID0gMCk7CiAKLSAgICAgICAgRXhwcmVzc2lvbk5vZGUqIG1fZXhwcjsKICAgICAg
ICAgT3BlcmF0b3IgbV9vcGVyYXRvcjsKICAgICB9OwogCkBAIC03NTQsMTIgKzc1MSwxMSBAQAog
CiAgICAgY2xhc3MgUHJlZml4RXJyb3JOb2RlIDogcHVibGljIEV4cHJlc3Npb25Ob2RlLCBwdWJs
aWMgVGhyb3dhYmxlRXhwcmVzc2lvbkRhdGEgewogICAgIHB1YmxpYzoKLSAgICAgICAgUHJlZml4
RXJyb3JOb2RlKGludCwgRXhwcmVzc2lvbk5vZGUqLCBPcGVyYXRvciwgdW5zaWduZWQgZGl2b3Qs
IHVuc2lnbmVkIHN0YXJ0T2Zmc2V0LCB1bnNpZ25lZCBlbmRPZmZzZXQpOworICAgICAgICBQcmVm
aXhFcnJvck5vZGUoaW50LCBPcGVyYXRvciwgdW5zaWduZWQgZGl2b3QsIHVuc2lnbmVkIHN0YXJ0
T2Zmc2V0LCB1bnNpZ25lZCBlbmRPZmZzZXQpOwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgdmly
dHVhbCBSZWdpc3RlcklEKiBlbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImLCBSZWdpc3Rl
cklEKiA9IDApOwogCi0gICAgICAgIEV4cHJlc3Npb25Ob2RlKiBtX2V4cHI7CiAgICAgICAgIE9w
ZXJhdG9yIG1fb3BlcmF0b3I7CiAgICAgfTsKIApAQCAtMTAwNCwyMiArMTAwMCwxOSBAQAogCiAg
ICAgICAgIGNvbnN0IElkZW50aWZpZXImIG1faWRlbnQ7CiAgICAgICAgIEV4cHJlc3Npb25Ob2Rl
KiBtX3JpZ2h0OwotICAgICAgICBzaXplX3QgbV9pbmRleDsgLy8gVXNlZCBieSBSZWFkTW9kaWZ5
TG9jYWxWYXJOb2RlLgogICAgICAgICBPcGVyYXRvciBtX29wZXJhdG9yOwogICAgICAgICBib29s
IG1fcmlnaHRIYXNBc3NpZ25tZW50czsKICAgICB9OwogCiAgICAgY2xhc3MgQXNzaWduUmVzb2x2
ZU5vZGUgOiBwdWJsaWMgRXhwcmVzc2lvbk5vZGUsIHB1YmxpYyBUaHJvd2FibGVFeHByZXNzaW9u
RGF0YSB7CiAgICAgcHVibGljOgotICAgICAgICBBc3NpZ25SZXNvbHZlTm9kZShpbnQsIGNvbnN0
IElkZW50aWZpZXImLCBFeHByZXNzaW9uTm9kZSogcmlnaHQsIGJvb2wgcmlnaHRIYXNBc3NpZ25t
ZW50cyk7CisgICAgICAgIEFzc2lnblJlc29sdmVOb2RlKGludCwgY29uc3QgSWRlbnRpZmllciYs
IEV4cHJlc3Npb25Ob2RlKiByaWdodCk7CiAKICAgICBwcml2YXRlOgogICAgICAgICB2aXJ0dWFs
IFJlZ2lzdGVySUQqIGVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYsIFJlZ2lzdGVySUQq
ID0gMCk7CiAKICAgICAgICAgY29uc3QgSWRlbnRpZmllciYgbV9pZGVudDsKICAgICAgICAgRXhw
cmVzc2lvbk5vZGUqIG1fcmlnaHQ7Ci0gICAgICAgIHNpemVfdCBtX2luZGV4OyAvLyBVc2VkIGJ5
IFJlYWRNb2RpZnlMb2NhbFZhck5vZGUuCi0gICAgICAgIGJvb2wgbV9yaWdodEhhc0Fzc2lnbm1l
bnRzOwogICAgIH07CiAKICAgICBjbGFzcyBSZWFkTW9kaWZ5QnJhY2tldE5vZGUgOiBwdWJsaWMg
RXhwcmVzc2lvbk5vZGUsIHB1YmxpYyBUaHJvd2FibGVTdWJFeHByZXNzaW9uRGF0YSB7CkBAIC0x
MDgwLDE0ICsxMDczLDEwIEBACiAKICAgICBjbGFzcyBBc3NpZ25FcnJvck5vZGUgOiBwdWJsaWMg
RXhwcmVzc2lvbk5vZGUsIHB1YmxpYyBUaHJvd2FibGVFeHByZXNzaW9uRGF0YSB7CiAgICAgcHVi
bGljOgotICAgICAgICBBc3NpZ25FcnJvck5vZGUoaW50LCBFeHByZXNzaW9uTm9kZSogbGVmdCwg
T3BlcmF0b3IsIEV4cHJlc3Npb25Ob2RlKiByaWdodCwgdW5zaWduZWQgZGl2b3QsIHVuc2lnbmVk
IHN0YXJ0T2Zmc2V0LCB1bnNpZ25lZCBlbmRPZmZzZXQpOworICAgICAgICBBc3NpZ25FcnJvck5v
ZGUoaW50LCB1bnNpZ25lZCBkaXZvdCwgdW5zaWduZWQgc3RhcnRPZmZzZXQsIHVuc2lnbmVkIGVu
ZE9mZnNldCk7CiAKICAgICBwcml2YXRlOgogICAgICAgICB2aXJ0dWFsIFJlZ2lzdGVySUQqIGVt
aXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYsIFJlZ2lzdGVySUQqID0gMCk7Ci0KLSAgICAg
ICAgRXhwcmVzc2lvbk5vZGUqIG1fbGVmdDsKLSAgICAgICAgT3BlcmF0b3IgbV9vcGVyYXRvcjsK
LSAgICAgICAgRXhwcmVzc2lvbk5vZGUqIG1fcmlnaHQ7CiAgICAgfTsKICAgICAKICAgICB0eXBl
ZGVmIFZlY3RvcjxFeHByZXNzaW9uTm9kZSosIDg+IEV4cHJlc3Npb25WZWN0b3I7CkBAIC0xMjU0
LDcgKzEyNDMsNyBAQAogCiAgICAgY2xhc3MgRm9yTm9kZSA6IHB1YmxpYyBTdGF0ZW1lbnROb2Rl
IHsKICAgICBwdWJsaWM6Ci0gICAgICAgIEZvck5vZGUoaW50LCBFeHByZXNzaW9uTm9kZSogZXhw
cjEsIEV4cHJlc3Npb25Ob2RlKiBleHByMiwgRXhwcmVzc2lvbk5vZGUqIGV4cHIzLCBTdGF0ZW1l
bnROb2RlKiwgYm9vbCBleHByMVdhc1ZhckRlY2wpOworICAgICAgICBGb3JOb2RlKGludCwgRXhw
cmVzc2lvbk5vZGUqIGV4cHIxLCBFeHByZXNzaW9uTm9kZSogZXhwcjIsIEV4cHJlc3Npb25Ob2Rl
KiBleHByMywgU3RhdGVtZW50Tm9kZSopOwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgdmlydHVh
bCBSZWdpc3RlcklEKiBlbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImLCBSZWdpc3RlcklE
KiA9IDApOwpAQCAtMTI2MywxOCArMTI1MiwxNiBAQAogICAgICAgICBFeHByZXNzaW9uTm9kZSog
bV9leHByMjsKICAgICAgICAgRXhwcmVzc2lvbk5vZGUqIG1fZXhwcjM7CiAgICAgICAgIFN0YXRl
bWVudE5vZGUqIG1fc3RhdGVtZW50OwotICAgICAgICBib29sIG1fZXhwcjFXYXNWYXJEZWNsOwog
ICAgIH07CiAKICAgICBjbGFzcyBGb3JJbk5vZGUgOiBwdWJsaWMgU3RhdGVtZW50Tm9kZSwgcHVi
bGljIFRocm93YWJsZUV4cHJlc3Npb25EYXRhIHsKICAgICBwdWJsaWM6Ci0gICAgICAgIEZvcklu
Tm9kZShKU0dsb2JhbERhdGEqLCBpbnQsIEV4cHJlc3Npb25Ob2RlKiwgRXhwcmVzc2lvbk5vZGUq
LCBTdGF0ZW1lbnROb2RlKik7CisgICAgICAgIEZvckluTm9kZShpbnQsIEV4cHJlc3Npb25Ob2Rl
KiwgRXhwcmVzc2lvbk5vZGUqLCBTdGF0ZW1lbnROb2RlKik7CiAgICAgICAgIEZvckluTm9kZShK
U0dsb2JhbERhdGEqLCBpbnQsIGNvbnN0IElkZW50aWZpZXImLCBFeHByZXNzaW9uTm9kZSosIEV4
cHJlc3Npb25Ob2RlKiwgU3RhdGVtZW50Tm9kZSosIGludCBkaXZvdCwgaW50IHN0YXJ0T2Zmc2V0
LCBpbnQgZW5kT2Zmc2V0KTsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIHZpcnR1YWwgUmVnaXN0
ZXJJRCogZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiwgUmVnaXN0ZXJJRCogPSAwKTsK
IAotICAgICAgICBjb25zdCBJZGVudGlmaWVyJiBtX2lkZW50OwogICAgICAgICBFeHByZXNzaW9u
Tm9kZSogbV9pbml0OwogICAgICAgICBFeHByZXNzaW9uTm9kZSogbV9sZXhwcjsKICAgICAgICAg
RXhwcmVzc2lvbk5vZGUqIG1fZXhwcjsKSW5kZXg6IHBhcnNlci9TeW50YXhDaGVja2VyLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gcGFyc2VyL1N5bnRheENoZWNrZXIuaAkocmV2aXNpb24gMTIxOTEzKQorKysg
cGFyc2VyL1N5bnRheENoZWNrZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMTQ4LDcgKzE0OCw3IEBA
CiAgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlTmV3RXhwcihpbnQsIEV4cHJlc3Npb25UeXBlLCBp
bnQsIGludCwgaW50LCBpbnQpIHsgcmV0dXJuIE5ld0V4cHI7IH0KICAgICBFeHByZXNzaW9uVHlw
ZSBjcmVhdGVOZXdFeHByKGludCwgRXhwcmVzc2lvblR5cGUsIGludCwgaW50KSB7IHJldHVybiBO
ZXdFeHByOyB9CiAgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlQ29uZGl0aW9uYWxFeHByKGludCwg
RXhwcmVzc2lvblR5cGUsIEV4cHJlc3Npb25UeXBlLCBFeHByZXNzaW9uVHlwZSkgeyByZXR1cm4g
Q29uZGl0aW9uYWxFeHByOyB9Ci0gICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlQXNzaWduUmVzb2x2
ZShpbnQsIGNvbnN0IElkZW50aWZpZXImLCBFeHByZXNzaW9uVHlwZSwgYm9vbCwgaW50LCBpbnQs
IGludCkgeyByZXR1cm4gQXNzaWdubWVudEV4cHI7IH0KKyAgICBFeHByZXNzaW9uVHlwZSBjcmVh
dGVBc3NpZ25SZXNvbHZlKGludCwgY29uc3QgSWRlbnRpZmllciYsIEV4cHJlc3Npb25UeXBlLCBp
bnQsIGludCwgaW50KSB7IHJldHVybiBBc3NpZ25tZW50RXhwcjsgfQogICAgIEV4cHJlc3Npb25U
eXBlIGNyZWF0ZUZ1bmN0aW9uRXhwcihpbnQsIGNvbnN0IElkZW50aWZpZXIqLCBpbnQsIGludCwg
aW50LCBpbnQsIGludCwgaW50KSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0KICAgICBpbnQgY3Jl
YXRlRnVuY3Rpb25Cb2R5KGludCwgYm9vbCkgeyByZXR1cm4gMTsgfQogICAgIGludCBjcmVhdGVB
cmd1bWVudHMoKSB7IHJldHVybiAxOyB9CkBAIC0xODMsNyArMTgzLDcgQEAKICAgICBpbnQgY3Jl
YXRlRXhwclN0YXRlbWVudChpbnQsIGludCwgaW50LCBpbnQpIHsgcmV0dXJuIDE7IH0KICAgICBp
bnQgY3JlYXRlSWZTdGF0ZW1lbnQoaW50LCBpbnQsIGludCwgaW50LCBpbnQpIHsgcmV0dXJuIDE7
IH0KICAgICBpbnQgY3JlYXRlSWZTdGF0ZW1lbnQoaW50LCBpbnQsIGludCwgaW50LCBpbnQsIGlu
dCkgeyByZXR1cm4gMTsgfQotICAgIGludCBjcmVhdGVGb3JMb29wKGludCwgaW50LCBpbnQsIGlu
dCwgaW50LCBib29sLCBpbnQsIGludCkgeyByZXR1cm4gMTsgfQorICAgIGludCBjcmVhdGVGb3JM
b29wKGludCwgaW50LCBpbnQsIGludCwgaW50LCBpbnQsIGludCkgeyByZXR1cm4gMTsgfQogICAg
IGludCBjcmVhdGVGb3JJbkxvb3AoaW50LCBjb25zdCBJZGVudGlmaWVyKiwgaW50LCBpbnQsIGlu
dCwgaW50LCBpbnQsIGludCwgaW50LCBpbnQsIGludCwgaW50KSB7IHJldHVybiAxOyB9CiAgICAg
aW50IGNyZWF0ZUZvckluTG9vcChpbnQsIGludCwgaW50LCBpbnQsIGludCwgaW50LCBpbnQsIGlu
dCwgaW50KSB7IHJldHVybiAxOyB9CiAgICAgaW50IGNyZWF0ZUVtcHR5U3RhdGVtZW50KGludCkg
eyByZXR1cm4gMTsgfQpJbmRleDogcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBwYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCShyZXZpc2lvbiAxMjE5MTMpCisrKyBwYXJz
ZXIvTm9kZUNvbnN0cnVjdG9ycy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMTcsMTAgKzMxNyw5IEBA
CiAgICAgewogICAgIH0KIAotICAgIGlubGluZSBQb3N0Zml4RXJyb3JOb2RlOjpQb3N0Zml4RXJy
b3JOb2RlKGludCBsaW5lTnVtYmVyLCBFeHByZXNzaW9uTm9kZSogZXhwciwgT3BlcmF0b3Igb3Bl
ciwgdW5zaWduZWQgZGl2b3QsIHVuc2lnbmVkIHN0YXJ0T2Zmc2V0LCB1bnNpZ25lZCBlbmRPZmZz
ZXQpCisgICAgaW5saW5lIFBvc3RmaXhFcnJvck5vZGU6OlBvc3RmaXhFcnJvck5vZGUoaW50IGxp
bmVOdW1iZXIsIE9wZXJhdG9yIG9wZXIsIHVuc2lnbmVkIGRpdm90LCB1bnNpZ25lZCBzdGFydE9m
ZnNldCwgdW5zaWduZWQgZW5kT2Zmc2V0KQogICAgICAgICA6IEV4cHJlc3Npb25Ob2RlKGxpbmVO
dW1iZXIpCiAgICAgICAgICwgVGhyb3dhYmxlU3ViRXhwcmVzc2lvbkRhdGEoZGl2b3QsIHN0YXJ0
T2Zmc2V0LCBlbmRPZmZzZXQpCi0gICAgICAgICwgbV9leHByKGV4cHIpCiAgICAgICAgICwgbV9v
cGVyYXRvcihvcGVyKQogICAgIHsKICAgICB9CkBAIC0zOTYsMTAgKzM5NSw5IEBACiAgICAgewog
ICAgIH0KIAotICAgIGlubGluZSBQcmVmaXhFcnJvck5vZGU6OlByZWZpeEVycm9yTm9kZShpbnQg
bGluZU51bWJlciwgRXhwcmVzc2lvbk5vZGUqIGV4cHIsIE9wZXJhdG9yIG9wZXIsIHVuc2lnbmVk
IGRpdm90LCB1bnNpZ25lZCBzdGFydE9mZnNldCwgdW5zaWduZWQgZW5kT2Zmc2V0KQorICAgIGlu
bGluZSBQcmVmaXhFcnJvck5vZGU6OlByZWZpeEVycm9yTm9kZShpbnQgbGluZU51bWJlciwgT3Bl
cmF0b3Igb3BlciwgdW5zaWduZWQgZGl2b3QsIHVuc2lnbmVkIHN0YXJ0T2Zmc2V0LCB1bnNpZ25l
ZCBlbmRPZmZzZXQpCiAgICAgICAgIDogRXhwcmVzc2lvbk5vZGUobGluZU51bWJlcikKICAgICAg
ICAgLCBUaHJvd2FibGVFeHByZXNzaW9uRGF0YShkaXZvdCwgc3RhcnRPZmZzZXQsIGVuZE9mZnNl
dCkKLSAgICAgICAgLCBtX2V4cHIoZXhwcikKICAgICAgICAgLCBtX29wZXJhdG9yKG9wZXIpCiAg
ICAgewogICAgIH0KQEAgLTU5MiwxMSArNTkwLDEwIEBACiAgICAgewogICAgIH0KIAotICAgIGlu
bGluZSBBc3NpZ25SZXNvbHZlTm9kZTo6QXNzaWduUmVzb2x2ZU5vZGUoaW50IGxpbmVOdW1iZXIs
IGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBFeHByZXNzaW9uTm9kZSogcmlnaHQsIGJvb2wgcmln
aHRIYXNBc3NpZ25tZW50cykKKyAgICBpbmxpbmUgQXNzaWduUmVzb2x2ZU5vZGU6OkFzc2lnblJl
c29sdmVOb2RlKGludCBsaW5lTnVtYmVyLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgRXhwcmVz
c2lvbk5vZGUqIHJpZ2h0KQogICAgICAgICA6IEV4cHJlc3Npb25Ob2RlKGxpbmVOdW1iZXIpCiAg
ICAgICAgICwgbV9pZGVudChpZGVudCkKICAgICAgICAgLCBtX3JpZ2h0KHJpZ2h0KQotICAgICAg
ICAsIG1fcmlnaHRIYXNBc3NpZ25tZW50cyhyaWdodEhhc0Fzc2lnbm1lbnRzKQogICAgIHsKICAg
ICB9CiAKQEAgLTY0NCwxMiArNjQxLDkgQEAKICAgICB7CiAgICAgfQogCi0gICAgaW5saW5lIEFz
c2lnbkVycm9yTm9kZTo6QXNzaWduRXJyb3JOb2RlKGludCBsaW5lTnVtYmVyLCBFeHByZXNzaW9u
Tm9kZSogbGVmdCwgT3BlcmF0b3Igb3BlciwgRXhwcmVzc2lvbk5vZGUqIHJpZ2h0LCB1bnNpZ25l
ZCBkaXZvdCwgdW5zaWduZWQgc3RhcnRPZmZzZXQsIHVuc2lnbmVkIGVuZE9mZnNldCkKKyAgICBp
bmxpbmUgQXNzaWduRXJyb3JOb2RlOjpBc3NpZ25FcnJvck5vZGUoaW50IGxpbmVOdW1iZXIsIHVu
c2lnbmVkIGRpdm90LCB1bnNpZ25lZCBzdGFydE9mZnNldCwgdW5zaWduZWQgZW5kT2Zmc2V0KQog
ICAgICAgICA6IEV4cHJlc3Npb25Ob2RlKGxpbmVOdW1iZXIpCiAgICAgICAgICwgVGhyb3dhYmxl
RXhwcmVzc2lvbkRhdGEoZGl2b3QsIHN0YXJ0T2Zmc2V0LCBlbmRPZmZzZXQpCi0gICAgICAgICwg
bV9sZWZ0KGxlZnQpCi0gICAgICAgICwgbV9vcGVyYXRvcihvcGVyKQotICAgICAgICAsIG1fcmln
aHQocmlnaHQpCiAgICAgewogICAgIH0KIApAQCAtNzE5LDEzICs3MTMsMTIgQEAKICAgICB7CiAg
ICAgfQogCi0gICAgaW5saW5lIEZvck5vZGU6OkZvck5vZGUoaW50IGxpbmVOdW1iZXIsIEV4cHJl
c3Npb25Ob2RlKiBleHByMSwgRXhwcmVzc2lvbk5vZGUqIGV4cHIyLCBFeHByZXNzaW9uTm9kZSog
ZXhwcjMsIFN0YXRlbWVudE5vZGUqIHN0YXRlbWVudCwgYm9vbCBleHByMVdhc1ZhckRlY2wpCisg
ICAgaW5saW5lIEZvck5vZGU6OkZvck5vZGUoaW50IGxpbmVOdW1iZXIsIEV4cHJlc3Npb25Ob2Rl
KiBleHByMSwgRXhwcmVzc2lvbk5vZGUqIGV4cHIyLCBFeHByZXNzaW9uTm9kZSogZXhwcjMsIFN0
YXRlbWVudE5vZGUqIHN0YXRlbWVudCkKICAgICAgICAgOiBTdGF0ZW1lbnROb2RlKGxpbmVOdW1i
ZXIpCiAgICAgICAgICwgbV9leHByMShleHByMSkKICAgICAgICAgLCBtX2V4cHIyKGV4cHIyKQog
ICAgICAgICAsIG1fZXhwcjMoZXhwcjMpCiAgICAgICAgICwgbV9zdGF0ZW1lbnQoc3RhdGVtZW50
KQotICAgICAgICAsIG1fZXhwcjFXYXNWYXJEZWNsKGV4cHIxICYmIGV4cHIxV2FzVmFyRGVjbCkK
ICAgICB7CiAgICAgICAgIEFTU0VSVChzdGF0ZW1lbnQpOwogICAgIH0KQEAgLTg2NSw5ICs4NTgs
OCBAQAogICAgIHsKICAgICB9CiAKLSAgICBpbmxpbmUgRm9ySW5Ob2RlOjpGb3JJbk5vZGUoSlNH
bG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBpbnQgbGluZU51bWJlciwgRXhwcmVzc2lvbk5vZGUqIGws
IEV4cHJlc3Npb25Ob2RlKiBleHByLCBTdGF0ZW1lbnROb2RlKiBzdGF0ZW1lbnQpCisgICAgaW5s
aW5lIEZvckluTm9kZTo6Rm9ySW5Ob2RlKGludCBsaW5lTnVtYmVyLCBFeHByZXNzaW9uTm9kZSog
bCwgRXhwcmVzc2lvbk5vZGUqIGV4cHIsIFN0YXRlbWVudE5vZGUqIHN0YXRlbWVudCkKICAgICAg
ICAgOiBTdGF0ZW1lbnROb2RlKGxpbmVOdW1iZXIpCi0gICAgICAgICwgbV9pZGVudChnbG9iYWxE
YXRhLT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllcikKICAgICAgICAgLCBtX2luaXQoMCkK
ICAgICAgICAgLCBtX2xleHByKGwpCiAgICAgICAgICwgbV9leHByKGV4cHIpCkBAIC04NzgsNyAr
ODcwLDYgQEAKIAogICAgIGlubGluZSBGb3JJbk5vZGU6OkZvckluTm9kZShKU0dsb2JhbERhdGEq
IGdsb2JhbERhdGEsIGludCBsaW5lTnVtYmVyLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgRXhw
cmVzc2lvbk5vZGUqIGluLCBFeHByZXNzaW9uTm9kZSogZXhwciwgU3RhdGVtZW50Tm9kZSogc3Rh
dGVtZW50LCBpbnQgZGl2b3QsIGludCBzdGFydE9mZnNldCwgaW50IGVuZE9mZnNldCkKICAgICAg
ICAgOiBTdGF0ZW1lbnROb2RlKGxpbmVOdW1iZXIpCi0gICAgICAgICwgbV9pZGVudChpZGVudCkK
ICAgICAgICAgLCBtX2luaXQoMCkKICAgICAgICAgLCBtX2xleHByKG5ldyAoZ2xvYmFsRGF0YSkg
UmVzb2x2ZU5vZGUobGluZU51bWJlciwgaWRlbnQsIGRpdm90IC0gc3RhcnRPZmZzZXQpKQogICAg
ICAgICAsIG1fZXhwcihleHByKQpAQCAtODg2LDcgKzg3Nyw3IEBACiAgICAgICAgICwgbV9pZGVu
dElzVmFyRGVjbCh0cnVlKQogICAgIHsKICAgICAgICAgaWYgKGluKSB7Ci0gICAgICAgICAgICBB
c3NpZ25SZXNvbHZlTm9kZSogbm9kZSA9IG5ldyAoZ2xvYmFsRGF0YSkgQXNzaWduUmVzb2x2ZU5v
ZGUobGluZU51bWJlciwgaWRlbnQsIGluLCB0cnVlKTsKKyAgICAgICAgICAgIEFzc2lnblJlc29s
dmVOb2RlKiBub2RlID0gbmV3IChnbG9iYWxEYXRhKSBBc3NpZ25SZXNvbHZlTm9kZShsaW5lTnVt
YmVyLCBpZGVudCwgaW4pOwogICAgICAgICAgICAgbm9kZS0+c2V0RXhjZXB0aW9uU291cmNlQ29k
ZShkaXZvdCwgZGl2b3QgLSBzdGFydE9mZnNldCwgZW5kT2Zmc2V0IC0gZGl2b3QpOwogICAgICAg
ICAgICAgbV9pbml0ID0gbm9kZTsKICAgICAgICAgfQpJbmRleDogcGFyc2VyL1BhcnNlci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gcGFyc2VyL1BhcnNlci5jcHAJKHJldmlzaW9uIDEyMTkxMykKKysrIHBh
cnNlci9QYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjAsMTMgKzI2MCwxMiBAQAogICAg
ICAgICAgICAgaW50IHZhckRpdm90ID0gdG9rZW5TdGFydCgpICsgMTsKICAgICAgICAgICAgIGlu
aXRTdGFydCA9IHRva2VuU3RhcnQoKTsKICAgICAgICAgICAgIG5leHQoVHJlZUJ1aWxkZXI6OkRv
bnRCdWlsZFN0cmluZ3MpOyAvLyBjb25zdW1lICc9JwotICAgICAgICAgICAgaW50IGluaXRpYWxB
c3NpZ25tZW50cyA9IG1fYXNzaWdubWVudENvdW50OwogICAgICAgICAgICAgVHJlZUV4cHJlc3Np
b24gaW5pdGlhbGl6ZXIgPSBwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKGNvbnRleHQpOwogICAg
ICAgICAgICAgaW5pdEVuZCA9IGxhc3RUb2tlbkVuZCgpOwogICAgICAgICAgICAgbGFzdEluaXRp
YWxpemVyID0gaW5pdGlhbGl6ZXI7CiAgICAgICAgICAgICBmYWlsSWZGYWxzZShpbml0aWFsaXpl
cik7CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIFRyZWVFeHByZXNzaW9uIG5vZGUgPSBjb250
ZXh0LmNyZWF0ZUFzc2lnblJlc29sdmUobV9sZXhlci0+bGFzdExpbmVOdW1iZXIoKSwgKm5hbWUs
IGluaXRpYWxpemVyLCBpbml0aWFsQXNzaWdubWVudHMgIT0gbV9hc3NpZ25tZW50Q291bnQsIHZh
clN0YXJ0LCB2YXJEaXZvdCwgbGFzdFRva2VuRW5kKCkpOworICAgICAgICAgICAgVHJlZUV4cHJl
c3Npb24gbm9kZSA9IGNvbnRleHQuY3JlYXRlQXNzaWduUmVzb2x2ZShtX2xleGVyLT5sYXN0TGlu
ZU51bWJlcigpLCAqbmFtZSwgaW5pdGlhbGl6ZXIsIHZhclN0YXJ0LCB2YXJEaXZvdCwgbGFzdFRv
a2VuRW5kKCkpOwogICAgICAgICAgICAgaWYgKCF2YXJEZWNscykKICAgICAgICAgICAgICAgICB2
YXJEZWNscyA9IG5vZGU7CiAgICAgICAgICAgICBlbHNlCkBAIC0zOTEsNyArMzkwLDcgQEAKICAg
ICAgICAgVHJlZVN0YXRlbWVudCBzdGF0ZW1lbnQgPSBwYXJzZVN0YXRlbWVudChjb250ZXh0LCB1
bnVzZWQpOwogICAgICAgICBlbmRMb29wKCk7CiAgICAgICAgIGZhaWxJZkZhbHNlKHN0YXRlbWVu
dCk7Ci0gICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZvckxvb3AobV9sZXhlci0+bGFzdExp
bmVOdW1iZXIoKSwgZGVjbHMsIGNvbmRpdGlvbiwgaW5jcmVtZW50LCBzdGF0ZW1lbnQsIGhhc0Rl
Y2xhcmF0aW9uLCBzdGFydExpbmUsIGVuZExpbmUpOworICAgICAgICByZXR1cm4gY29udGV4dC5j
cmVhdGVGb3JMb29wKG1fbGV4ZXItPmxhc3RMaW5lTnVtYmVyKCksIGRlY2xzLCBjb25kaXRpb24s
IGluY3JlbWVudCwgc3RhdGVtZW50LCBzdGFydExpbmUsIGVuZExpbmUpOwogICAgIH0KICAgICAK
ICAgICAvLyBGb3ItaW4gbG9vcApJbmRleDogaml0L1NwZWNpYWxpemVkVGh1bmtKSVQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBqaXQvU3BlY2lhbGl6ZWRUaHVua0pJVC5oCShyZXZpc2lvbiAxMjE5MTMpCisr
KyBqaXQvU3BlY2lhbGl6ZWRUaHVua0pJVC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw5ICszNyw3
IEBACiAgICAgY2xhc3MgU3BlY2lhbGl6ZWRUaHVua0pJVCA6IHB1YmxpYyBKU0ludGVyZmFjZUpJ
VCB7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgY29uc3QgaW50IFRoaXNBcmd1bWVudCA9
IC0xOwotICAgICAgICBTcGVjaWFsaXplZFRodW5rSklUKGludCBleHBlY3RlZEFyZ0NvdW50LCBK
U0dsb2JhbERhdGEqIGdsb2JhbERhdGEpCi0gICAgICAgICAgICA6IG1fZXhwZWN0ZWRBcmdDb3Vu
dChleHBlY3RlZEFyZ0NvdW50KQotICAgICAgICAgICAgLCBtX2dsb2JhbERhdGEoZ2xvYmFsRGF0
YSkKKyAgICAgICAgU3BlY2lhbGl6ZWRUaHVua0pJVChpbnQgZXhwZWN0ZWRBcmdDb3VudCkKICAg
ICAgICAgewogICAgICAgICAgICAgLy8gQ2hlY2sgdGhhdCB3ZSBoYXZlIHRoZSBleHBlY3RlZCBu
dW1iZXIgb2YgYXJndW1lbnRzCiAgICAgICAgICAgICBtX2ZhaWx1cmVzLmFwcGVuZChicmFuY2gz
MihOb3RFcXVhbCwgcGF5bG9hZEZvcihSZWdpc3RlckZpbGU6OkFyZ3VtZW50Q291bnQpLCBUcnVz
dGVkSW1tMzIoZXhwZWN0ZWRBcmdDb3VudCArIDEpKSk7CkBAIC0xNjYsOCArMTY0LDYgQEAKICNl
bmRpZgogICAgICAgICB9CiAgICAgICAgIAotICAgICAgICBpbnQgbV9leHBlY3RlZEFyZ0NvdW50
OwotICAgICAgICBKU0dsb2JhbERhdGEqIG1fZ2xvYmFsRGF0YTsKICAgICAgICAgTWFjcm9Bc3Nl
bWJsZXI6Okp1bXBMaXN0IG1fZmFpbHVyZXM7CiAgICAgICAgIFZlY3RvcjxzdGQ6OnBhaXI8Q2Fs
bCwgRnVuY3Rpb25QdHI+ID4gbV9jYWxsczsKICAgICB9OwpJbmRleDogaml0L1RodW5rR2VuZXJh
dG9ycy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gaml0L1RodW5rR2VuZXJhdG9ycy5jcHAJKHJldmlzaW9u
IDEyMTkxMykKKysrIGppdC9UaHVua0dlbmVyYXRvcnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03
NSw3ICs3NSw3IEBACiAKIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBjaGFyQ29kZUF0VGh1bmtHZW5l
cmF0b3IoSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhKQogewotICAgIFNwZWNpYWxpemVkVGh1bmtK
SVQgaml0KDEsIGdsb2JhbERhdGEpOworICAgIFNwZWNpYWxpemVkVGh1bmtKSVQgaml0KDEpOwog
ICAgIHN0cmluZ0NoYXJMb2FkKGppdCk7CiAgICAgaml0LnJldHVybkludDMyKFNwZWNpYWxpemVk
VGh1bmtKSVQ6OnJlZ1QwKTsKICAgICByZXR1cm4gaml0LmZpbmFsaXplKCpnbG9iYWxEYXRhLCBn
bG9iYWxEYXRhLT5qaXRTdHVicy0+Y3RpTmF0aXZlQ2FsbCgpLCAiY2hhckNvZGVBdCIpOwpAQCAt
ODMsNyArODMsNyBAQAogCiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgY2hhckF0VGh1bmtHZW5lcmF0
b3IoSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhKQogewotICAgIFNwZWNpYWxpemVkVGh1bmtKSVQg
aml0KDEsIGdsb2JhbERhdGEpOworICAgIFNwZWNpYWxpemVkVGh1bmtKSVQgaml0KDEpOwogICAg
IHN0cmluZ0NoYXJMb2FkKGppdCk7CiAgICAgY2hhclRvU3RyaW5nKGppdCwgZ2xvYmFsRGF0YSwg
U3BlY2lhbGl6ZWRUaHVua0pJVDo6cmVnVDAsIFNwZWNpYWxpemVkVGh1bmtKSVQ6OnJlZ1QwLCBT
cGVjaWFsaXplZFRodW5rSklUOjpyZWdUMSk7CiAgICAgaml0LnJldHVybkpTQ2VsbChTcGVjaWFs
aXplZFRodW5rSklUOjpyZWdUMCk7CkBAIC05Miw3ICs5Miw3IEBACiAKIE1hY3JvQXNzZW1ibGVy
Q29kZVJlZiBmcm9tQ2hhckNvZGVUaHVua0dlbmVyYXRvcihKU0dsb2JhbERhdGEqIGdsb2JhbERh
dGEpCiB7Ci0gICAgU3BlY2lhbGl6ZWRUaHVua0pJVCBqaXQoMSwgZ2xvYmFsRGF0YSk7CisgICAg
U3BlY2lhbGl6ZWRUaHVua0pJVCBqaXQoMSk7CiAgICAgLy8gbG9hZCBjaGFyIGNvZGUKICAgICBq
aXQubG9hZEludDMyQXJndW1lbnQoMCwgU3BlY2lhbGl6ZWRUaHVua0pJVDo6cmVnVDApOwogICAg
IGNoYXJUb1N0cmluZyhqaXQsIGdsb2JhbERhdGEsIFNwZWNpYWxpemVkVGh1bmtKSVQ6OnJlZ1Qw
LCBTcGVjaWFsaXplZFRodW5rSklUOjpyZWdUMCwgU3BlY2lhbGl6ZWRUaHVua0pJVDo6cmVnVDEp
OwpAQCAtMTAyLDcgKzEwMiw3IEBACiAKIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBzcXJ0VGh1bmtH
ZW5lcmF0b3IoSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhKQogewotICAgIFNwZWNpYWxpemVkVGh1
bmtKSVQgaml0KDEsIGdsb2JhbERhdGEpOworICAgIFNwZWNpYWxpemVkVGh1bmtKSVQgaml0KDEp
OwogICAgIGlmICghaml0LnN1cHBvcnRzRmxvYXRpbmdQb2ludFNxcnQoKSkKICAgICAgICAgcmV0
dXJuIE1hY3JvQXNzZW1ibGVyQ29kZVJlZjo6Y3JlYXRlU2VsZk1hbmFnZWRDb2RlUmVmKGdsb2Jh
bERhdGEtPmppdFN0dWJzLT5jdGlOYXRpdmVDYWxsKCkpOwogCkBAIC0xODIsNyArMTgyLDcgQEAK
ICAgICAKIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBmbG9vclRodW5rR2VuZXJhdG9yKEpTR2xvYmFs
RGF0YSogZ2xvYmFsRGF0YSkKIHsKLSAgICBTcGVjaWFsaXplZFRodW5rSklUIGppdCgxLCBnbG9i
YWxEYXRhKTsKKyAgICBTcGVjaWFsaXplZFRodW5rSklUIGppdCgxKTsKICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6SnVtcCBub25JbnRKdW1wOwogICAgIGlmICghVW5hcnlEb3VibGVPcFdyYXBwZXIoZmxv
b3IpIHx8ICFqaXQuc3VwcG9ydHNGbG9hdGluZ1BvaW50KCkpCiAgICAgICAgIHJldHVybiBNYWNy
b0Fzc2VtYmxlckNvZGVSZWY6OmNyZWF0ZVNlbGZNYW5hZ2VkQ29kZVJlZihnbG9iYWxEYXRhLT5q
aXRTdHVicy0+Y3RpTmF0aXZlQ2FsbCgpKTsKQEAgLTIxNCw3ICsyMTQsNyBAQAogCiBNYWNyb0Fz
c2VtYmxlckNvZGVSZWYgY2VpbFRodW5rR2VuZXJhdG9yKEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0
YSkKIHsKLSAgICBTcGVjaWFsaXplZFRodW5rSklUIGppdCgxLCBnbG9iYWxEYXRhKTsKKyAgICBT
cGVjaWFsaXplZFRodW5rSklUIGppdCgxKTsKICAgICBpZiAoIVVuYXJ5RG91YmxlT3BXcmFwcGVy
KGNlaWwpIHx8ICFqaXQuc3VwcG9ydHNGbG9hdGluZ1BvaW50KCkpCiAgICAgICAgIHJldHVybiBN
YWNyb0Fzc2VtYmxlckNvZGVSZWY6OmNyZWF0ZVNlbGZNYW5hZ2VkQ29kZVJlZihnbG9iYWxEYXRh
LT5qaXRTdHVicy0+Y3RpTmF0aXZlQ2FsbCgpKTsKICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBu
b25JbnRKdW1wOwpAQCAtMjMzLDcgKzIzMyw3IEBACiAKIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBy
b3VuZFRodW5rR2VuZXJhdG9yKEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSkKIHsKLSAgICBTcGVj
aWFsaXplZFRodW5rSklUIGppdCgxLCBnbG9iYWxEYXRhKTsKKyAgICBTcGVjaWFsaXplZFRodW5r
SklUIGppdCgxKTsKICAgICBpZiAoIVVuYXJ5RG91YmxlT3BXcmFwcGVyKGpzUm91bmQpIHx8ICFq
aXQuc3VwcG9ydHNGbG9hdGluZ1BvaW50KCkpCiAgICAgICAgIHJldHVybiBNYWNyb0Fzc2VtYmxl
ckNvZGVSZWY6OmNyZWF0ZVNlbGZNYW5hZ2VkQ29kZVJlZihnbG9iYWxEYXRhLT5qaXRTdHVicy0+
Y3RpTmF0aXZlQ2FsbCgpKTsKICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBub25JbnRKdW1wOwpA
QCAtMjY5LDcgKzI2OSw3IEBACiB7CiAgICAgaWYgKCFVbmFyeURvdWJsZU9wV3JhcHBlcihleHAp
KQogICAgICAgICByZXR1cm4gTWFjcm9Bc3NlbWJsZXJDb2RlUmVmOjpjcmVhdGVTZWxmTWFuYWdl
ZENvZGVSZWYoZ2xvYmFsRGF0YS0+aml0U3R1YnMtPmN0aU5hdGl2ZUNhbGwoKSk7Ci0gICAgU3Bl
Y2lhbGl6ZWRUaHVua0pJVCBqaXQoMSwgZ2xvYmFsRGF0YSk7CisgICAgU3BlY2lhbGl6ZWRUaHVu
a0pJVCBqaXQoMSk7CiAgICAgaWYgKCFqaXQuc3VwcG9ydHNGbG9hdGluZ1BvaW50KCkpCiAgICAg
ICAgIHJldHVybiBNYWNyb0Fzc2VtYmxlckNvZGVSZWY6OmNyZWF0ZVNlbGZNYW5hZ2VkQ29kZVJl
ZihnbG9iYWxEYXRhLT5qaXRTdHVicy0+Y3RpTmF0aXZlQ2FsbCgpKTsKICAgICBqaXQubG9hZERv
dWJsZUFyZ3VtZW50KDAsIFNwZWNpYWxpemVkVGh1bmtKSVQ6OmZwUmVnVDAsIFNwZWNpYWxpemVk
VGh1bmtKSVQ6OnJlZ1QwKTsKQEAgLTI4Miw3ICsyODIsNyBAQAogewogICAgIGlmICghVW5hcnlE
b3VibGVPcFdyYXBwZXIobG9nKSkKICAgICAgICAgcmV0dXJuIE1hY3JvQXNzZW1ibGVyQ29kZVJl
Zjo6Y3JlYXRlU2VsZk1hbmFnZWRDb2RlUmVmKGdsb2JhbERhdGEtPmppdFN0dWJzLT5jdGlOYXRp
dmVDYWxsKCkpOwotICAgIFNwZWNpYWxpemVkVGh1bmtKSVQgaml0KDEsIGdsb2JhbERhdGEpOwor
ICAgIFNwZWNpYWxpemVkVGh1bmtKSVQgaml0KDEpOwogICAgIGlmICghaml0LnN1cHBvcnRzRmxv
YXRpbmdQb2ludCgpKQogICAgICAgICByZXR1cm4gTWFjcm9Bc3NlbWJsZXJDb2RlUmVmOjpjcmVh
dGVTZWxmTWFuYWdlZENvZGVSZWYoZ2xvYmFsRGF0YS0+aml0U3R1YnMtPmN0aU5hdGl2ZUNhbGwo
KSk7CiAgICAgaml0LmxvYWREb3VibGVBcmd1bWVudCgwLCBTcGVjaWFsaXplZFRodW5rSklUOjpm
cFJlZ1QwLCBTcGVjaWFsaXplZFRodW5rSklUOjpyZWdUMCk7CkBAIC0yOTMsNyArMjkzLDcgQEAK
IAogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGFic1RodW5rR2VuZXJhdG9yKEpTR2xvYmFsRGF0YSog
Z2xvYmFsRGF0YSkKIHsKLSAgICBTcGVjaWFsaXplZFRodW5rSklUIGppdCgxLCBnbG9iYWxEYXRh
KTsKKyAgICBTcGVjaWFsaXplZFRodW5rSklUIGppdCgxKTsKICAgICBpZiAoIWppdC5zdXBwb3J0
c0Zsb2F0aW5nUG9pbnRBYnMoKSkKICAgICAgICAgcmV0dXJuIE1hY3JvQXNzZW1ibGVyQ29kZVJl
Zjo6Y3JlYXRlU2VsZk1hbmFnZWRDb2RlUmVmKGdsb2JhbERhdGEtPmppdFN0dWJzLT5jdGlOYXRp
dmVDYWxsKCkpOwogICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIG5vbkludEp1bXA7CkBAIC0zMTMs
NyArMzEzLDcgQEAKIAogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIHBvd1RodW5rR2VuZXJhdG9yKEpT
R2xvYmFsRGF0YSogZ2xvYmFsRGF0YSkKIHsKLSAgICBTcGVjaWFsaXplZFRodW5rSklUIGppdCgy
LCBnbG9iYWxEYXRhKTsKKyAgICBTcGVjaWFsaXplZFRodW5rSklUIGppdCgyKTsKICAgICBpZiAo
IWppdC5zdXBwb3J0c0Zsb2F0aW5nUG9pbnQoKSkKICAgICAgICAgcmV0dXJuIE1hY3JvQXNzZW1i
bGVyQ29kZVJlZjo6Y3JlYXRlU2VsZk1hbmFnZWRDb2RlUmVmKGdsb2JhbERhdGEtPmppdFN0dWJz
LT5jdGlOYXRpdmVDYWxsKCkpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150985</attachid>
            <date>2012-07-05 14:39:48 -0700</date>
            <delta_ts>2012-07-06 10:39:37 -0700</delta_ts>
            <desc>fix warnings by the new -Wunused-private-field (take #2)</desc>
            <filename>webkit.90634.patch</filename>
            <type>text/plain</type>
            <size>24716</size>
            <attacher name="Nuno Lopes">nlopes</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTIxOTI0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU1IEBA
CisyMDEyLTA3LTA1ICBOdW5vIExvcGVzICA8bmxvcGVzQGFwcGxlLmNvbT4KKworICAgICAgICBG
aXggYnVpbGQgd2l0aCByZWNlbnQgY2xhbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05MDYzNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogaml0L1NwZWNpYWxpemVkVGh1bmtKSVQuaDoKKyAgICAgICAg
KEpTQzo6U3BlY2lhbGl6ZWRUaHVua0pJVDo6U3BlY2lhbGl6ZWRUaHVua0pJVCk6CisgICAgICAg
IChTcGVjaWFsaXplZFRodW5rSklUKToKKyAgICAgICAgKiBqaXQvVGh1bmtHZW5lcmF0b3JzLmNw
cDoKKyAgICAgICAgKEpTQzo6Y2hhckNvZGVBdFRodW5rR2VuZXJhdG9yKToKKyAgICAgICAgKEpT
Qzo6Y2hhckF0VGh1bmtHZW5lcmF0b3IpOgorICAgICAgICAoSlNDOjpmcm9tQ2hhckNvZGVUaHVu
a0dlbmVyYXRvcik6CisgICAgICAgIChKU0M6OnNxcnRUaHVua0dlbmVyYXRvcik6CisgICAgICAg
IChKU0M6OmZsb29yVGh1bmtHZW5lcmF0b3IpOgorICAgICAgICAoSlNDOjpjZWlsVGh1bmtHZW5l
cmF0b3IpOgorICAgICAgICAoSlNDOjpyb3VuZFRodW5rR2VuZXJhdG9yKToKKyAgICAgICAgKEpT
Qzo6ZXhwVGh1bmtHZW5lcmF0b3IpOgorICAgICAgICAoSlNDOjpsb2dUaHVua0dlbmVyYXRvcik6
CisgICAgICAgIChKU0M6OmFic1RodW5rR2VuZXJhdG9yKToKKyAgICAgICAgKEpTQzo6cG93VGh1
bmtHZW5lcmF0b3IpOgorICAgICAgICAqIHBhcnNlci9BU1RCdWlsZGVyLmg6CisgICAgICAgIChK
U0M6OkFTVEJ1aWxkZXI6OmNyZWF0ZUFzc2lnblJlc29sdmUpOgorICAgICAgICAoSlNDOjpBU1RC
dWlsZGVyOjpjcmVhdGVGb3JMb29wKToKKyAgICAgICAgKEpTQzo6QVNUQnVpbGRlcjo6Y3JlYXRl
Rm9ySW5Mb29wKToKKyAgICAgICAgKEpTQzo6QVNUQnVpbGRlcjo6bWFrZUFzc2lnbk5vZGUpOgor
ICAgICAgICAoSlNDOjpBU1RCdWlsZGVyOjptYWtlUHJlZml4Tm9kZSk6CisgICAgICAgIChKU0M6
OkFTVEJ1aWxkZXI6Om1ha2VQb3N0Zml4Tm9kZSk6CisgICAgICAgICogcGFyc2VyL05vZGVDb25z
dHJ1Y3RvcnMuaDoKKyAgICAgICAgKEpTQzo6UG9zdGZpeEVycm9yTm9kZTo6UG9zdGZpeEVycm9y
Tm9kZSk6CisgICAgICAgIChKU0M6OlByZWZpeEVycm9yTm9kZTo6UHJlZml4RXJyb3JOb2RlKToK
KyAgICAgICAgKEpTQzo6QXNzaWduUmVzb2x2ZU5vZGU6OkFzc2lnblJlc29sdmVOb2RlKToKKyAg
ICAgICAgKEpTQzo6QXNzaWduRXJyb3JOb2RlOjpBc3NpZ25FcnJvck5vZGUpOgorICAgICAgICAo
SlNDOjpGb3JOb2RlOjpGb3JOb2RlKToKKyAgICAgICAgKEpTQzo6Rm9ySW5Ob2RlOjpGb3JJbk5v
ZGUpOgorICAgICAgICAqIHBhcnNlci9Ob2Rlcy5oOgorICAgICAgICAoRnVuY3Rpb25DYWxsUmVz
b2x2ZU5vZGUpOgorICAgICAgICAoUG9zdGZpeEVycm9yTm9kZSk6CisgICAgICAgIChQcmVmaXhF
cnJvck5vZGUpOgorICAgICAgICAoUmVhZE1vZGlmeVJlc29sdmVOb2RlKToKKyAgICAgICAgKEFz
c2lnblJlc29sdmVOb2RlKToKKyAgICAgICAgKEFzc2lnbkVycm9yTm9kZSk6CisgICAgICAgIChG
b3JOb2RlKToKKyAgICAgICAgKEZvckluTm9kZSk6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5j
cHA6CisgICAgICAgIChKU0M6Ojo6cGFyc2VWYXJEZWNsYXJhdGlvbkxpc3QpOgorICAgICAgICAo
SlNDOjo6OnBhcnNlRm9yU3RhdGVtZW50KToKKyAgICAgICAgKiBwYXJzZXIvU3ludGF4Q2hlY2tl
ci5oOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVhdGVBc3NpZ25SZXNvbHZlKToK
KyAgICAgICAgKEpTQzo6U3ludGF4Q2hlY2tlcjo6Y3JlYXRlRm9yTG9vcCk6CisKIDIwMTItMDct
MDUgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBKU09iamVjdENh
bGxBc0Z1bmN0aW9uIHNob3VsZCB0aGlzQ29udmVydCB0aGUgcHJvdmlkZWQgdGhpc09iamVjdApJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9TcGVjaWFsaXplZFRodW5rSklULmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9TcGVjaWFsaXplZFRodW5rSklU
LmgJKHJldmlzaW9uIDEyMTkyNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvU3BlY2lh
bGl6ZWRUaHVua0pJVC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw5ICszNyw3IEBAIG5hbWVzcGFj
ZSBKU0MgewogICAgIGNsYXNzIFNwZWNpYWxpemVkVGh1bmtKSVQgOiBwdWJsaWMgSlNJbnRlcmZh
Y2VKSVQgewogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIGNvbnN0IGludCBUaGlzQXJndW1l
bnQgPSAtMTsKLSAgICAgICAgU3BlY2lhbGl6ZWRUaHVua0pJVChpbnQgZXhwZWN0ZWRBcmdDb3Vu
dCwgSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhKQotICAgICAgICAgICAgOiBtX2V4cGVjdGVkQXJn
Q291bnQoZXhwZWN0ZWRBcmdDb3VudCkKLSAgICAgICAgICAgICwgbV9nbG9iYWxEYXRhKGdsb2Jh
bERhdGEpCisgICAgICAgIFNwZWNpYWxpemVkVGh1bmtKSVQoaW50IGV4cGVjdGVkQXJnQ291bnQp
CiAgICAgICAgIHsKICAgICAgICAgICAgIC8vIENoZWNrIHRoYXQgd2UgaGF2ZSB0aGUgZXhwZWN0
ZWQgbnVtYmVyIG9mIGFyZ3VtZW50cwogICAgICAgICAgICAgbV9mYWlsdXJlcy5hcHBlbmQoYnJh
bmNoMzIoTm90RXF1YWwsIHBheWxvYWRGb3IoUmVnaXN0ZXJGaWxlOjpBcmd1bWVudENvdW50KSwg
VHJ1c3RlZEltbTMyKGV4cGVjdGVkQXJnQ291bnQgKyAxKSkpOwpAQCAtMTY2LDggKzE2NCw2IEBA
IG5hbWVzcGFjZSBKU0MgewogI2VuZGlmCiAgICAgICAgIH0KICAgICAgICAgCi0gICAgICAgIGlu
dCBtX2V4cGVjdGVkQXJnQ291bnQ7Ci0gICAgICAgIEpTR2xvYmFsRGF0YSogbV9nbG9iYWxEYXRh
OwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcExpc3QgbV9mYWlsdXJlczsKICAgICAgICAg
VmVjdG9yPHN0ZDo6cGFpcjxDYWxsLCBGdW5jdGlvblB0cj4gPiBtX2NhbGxzOwogICAgIH07Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9UaHVua0dlbmVyYXRvcnMuY3BwCShy
ZXZpc2lvbiAxMjE5MjQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RodW5rR2VuZXJh
dG9ycy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc1LDcgKzc1LDcgQEAgc3RhdGljIHZvaWQgY2hh
clRvU3RyaW5nKFNwZWNpYWxpemVkVGh1bgogCiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgY2hhckNv
ZGVBdFRodW5rR2VuZXJhdG9yKEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSkKIHsKLSAgICBTcGVj
aWFsaXplZFRodW5rSklUIGppdCgxLCBnbG9iYWxEYXRhKTsKKyAgICBTcGVjaWFsaXplZFRodW5r
SklUIGppdCgxKTsKICAgICBzdHJpbmdDaGFyTG9hZChqaXQpOwogICAgIGppdC5yZXR1cm5JbnQz
MihTcGVjaWFsaXplZFRodW5rSklUOjpyZWdUMCk7CiAgICAgcmV0dXJuIGppdC5maW5hbGl6ZSgq
Z2xvYmFsRGF0YSwgZ2xvYmFsRGF0YS0+aml0U3R1YnMtPmN0aU5hdGl2ZUNhbGwoKSwgImNoYXJD
b2RlQXQiKTsKQEAgLTgzLDcgKzgzLDcgQEAgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGNoYXJDb2Rl
QXRUaHVua0dlbgogCiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgY2hhckF0VGh1bmtHZW5lcmF0b3Io
SlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhKQogewotICAgIFNwZWNpYWxpemVkVGh1bmtKSVQgaml0
KDEsIGdsb2JhbERhdGEpOworICAgIFNwZWNpYWxpemVkVGh1bmtKSVQgaml0KDEpOwogICAgIHN0
cmluZ0NoYXJMb2FkKGppdCk7CiAgICAgY2hhclRvU3RyaW5nKGppdCwgZ2xvYmFsRGF0YSwgU3Bl
Y2lhbGl6ZWRUaHVua0pJVDo6cmVnVDAsIFNwZWNpYWxpemVkVGh1bmtKSVQ6OnJlZ1QwLCBTcGVj
aWFsaXplZFRodW5rSklUOjpyZWdUMSk7CiAgICAgaml0LnJldHVybkpTQ2VsbChTcGVjaWFsaXpl
ZFRodW5rSklUOjpyZWdUMCk7CkBAIC05Miw3ICs5Miw3IEBAIE1hY3JvQXNzZW1ibGVyQ29kZVJl
ZiBjaGFyQXRUaHVua0dlbmVyYXQKIAogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGZyb21DaGFyQ29k
ZVRodW5rR2VuZXJhdG9yKEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSkKIHsKLSAgICBTcGVjaWFs
aXplZFRodW5rSklUIGppdCgxLCBnbG9iYWxEYXRhKTsKKyAgICBTcGVjaWFsaXplZFRodW5rSklU
IGppdCgxKTsKICAgICAvLyBsb2FkIGNoYXIgY29kZQogICAgIGppdC5sb2FkSW50MzJBcmd1bWVu
dCgwLCBTcGVjaWFsaXplZFRodW5rSklUOjpyZWdUMCk7CiAgICAgY2hhclRvU3RyaW5nKGppdCwg
Z2xvYmFsRGF0YSwgU3BlY2lhbGl6ZWRUaHVua0pJVDo6cmVnVDAsIFNwZWNpYWxpemVkVGh1bmtK
SVQ6OnJlZ1QwLCBTcGVjaWFsaXplZFRodW5rSklUOjpyZWdUMSk7CkBAIC0xMDIsNyArMTAyLDcg
QEAgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGZyb21DaGFyQ29kZVRodW5rRwogCiBNYWNyb0Fzc2Vt
YmxlckNvZGVSZWYgc3FydFRodW5rR2VuZXJhdG9yKEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSkK
IHsKLSAgICBTcGVjaWFsaXplZFRodW5rSklUIGppdCgxLCBnbG9iYWxEYXRhKTsKKyAgICBTcGVj
aWFsaXplZFRodW5rSklUIGppdCgxKTsKICAgICBpZiAoIWppdC5zdXBwb3J0c0Zsb2F0aW5nUG9p
bnRTcXJ0KCkpCiAgICAgICAgIHJldHVybiBNYWNyb0Fzc2VtYmxlckNvZGVSZWY6OmNyZWF0ZVNl
bGZNYW5hZ2VkQ29kZVJlZihnbG9iYWxEYXRhLT5qaXRTdHVicy0+Y3RpTmF0aXZlQ2FsbCgpKTsK
IApAQCAtMTgyLDcgKzE4Miw3IEBAIHN0YXRpYyBjb25zdCBkb3VibGUgaGFsZkNvbnN0YW50ID0g
MC41OwogICAgIAogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGZsb29yVGh1bmtHZW5lcmF0b3IoSlNH
bG9iYWxEYXRhKiBnbG9iYWxEYXRhKQogewotICAgIFNwZWNpYWxpemVkVGh1bmtKSVQgaml0KDEs
IGdsb2JhbERhdGEpOworICAgIFNwZWNpYWxpemVkVGh1bmtKSVQgaml0KDEpOwogICAgIE1hY3Jv
QXNzZW1ibGVyOjpKdW1wIG5vbkludEp1bXA7CiAgICAgaWYgKCFVbmFyeURvdWJsZU9wV3JhcHBl
cihmbG9vcikgfHwgIWppdC5zdXBwb3J0c0Zsb2F0aW5nUG9pbnQoKSkKICAgICAgICAgcmV0dXJu
IE1hY3JvQXNzZW1ibGVyQ29kZVJlZjo6Y3JlYXRlU2VsZk1hbmFnZWRDb2RlUmVmKGdsb2JhbERh
dGEtPmppdFN0dWJzLT5jdGlOYXRpdmVDYWxsKCkpOwpAQCAtMjE0LDcgKzIxNCw3IEBAIE1hY3Jv
QXNzZW1ibGVyQ29kZVJlZiBmbG9vclRodW5rR2VuZXJhdG8KIAogTWFjcm9Bc3NlbWJsZXJDb2Rl
UmVmIGNlaWxUaHVua0dlbmVyYXRvcihKU0dsb2JhbERhdGEqIGdsb2JhbERhdGEpCiB7Ci0gICAg
U3BlY2lhbGl6ZWRUaHVua0pJVCBqaXQoMSwgZ2xvYmFsRGF0YSk7CisgICAgU3BlY2lhbGl6ZWRU
aHVua0pJVCBqaXQoMSk7CiAgICAgaWYgKCFVbmFyeURvdWJsZU9wV3JhcHBlcihjZWlsKSB8fCAh
aml0LnN1cHBvcnRzRmxvYXRpbmdQb2ludCgpKQogICAgICAgICByZXR1cm4gTWFjcm9Bc3NlbWJs
ZXJDb2RlUmVmOjpjcmVhdGVTZWxmTWFuYWdlZENvZGVSZWYoZ2xvYmFsRGF0YS0+aml0U3R1YnMt
PmN0aU5hdGl2ZUNhbGwoKSk7CiAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgbm9uSW50SnVtcDsK
QEAgLTIzMyw3ICsyMzMsNyBAQCBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgY2VpbFRodW5rR2VuZXJh
dG9yCiAKIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiByb3VuZFRodW5rR2VuZXJhdG9yKEpTR2xvYmFs
RGF0YSogZ2xvYmFsRGF0YSkKIHsKLSAgICBTcGVjaWFsaXplZFRodW5rSklUIGppdCgxLCBnbG9i
YWxEYXRhKTsKKyAgICBTcGVjaWFsaXplZFRodW5rSklUIGppdCgxKTsKICAgICBpZiAoIVVuYXJ5
RG91YmxlT3BXcmFwcGVyKGpzUm91bmQpIHx8ICFqaXQuc3VwcG9ydHNGbG9hdGluZ1BvaW50KCkp
CiAgICAgICAgIHJldHVybiBNYWNyb0Fzc2VtYmxlckNvZGVSZWY6OmNyZWF0ZVNlbGZNYW5hZ2Vk
Q29kZVJlZihnbG9iYWxEYXRhLT5qaXRTdHVicy0+Y3RpTmF0aXZlQ2FsbCgpKTsKICAgICBNYWNy
b0Fzc2VtYmxlcjo6SnVtcCBub25JbnRKdW1wOwpAQCAtMjY5LDcgKzI2OSw3IEBAIE1hY3JvQXNz
ZW1ibGVyQ29kZVJlZiBleHBUaHVua0dlbmVyYXRvcigKIHsKICAgICBpZiAoIVVuYXJ5RG91Ymxl
T3BXcmFwcGVyKGV4cCkpCiAgICAgICAgIHJldHVybiBNYWNyb0Fzc2VtYmxlckNvZGVSZWY6OmNy
ZWF0ZVNlbGZNYW5hZ2VkQ29kZVJlZihnbG9iYWxEYXRhLT5qaXRTdHVicy0+Y3RpTmF0aXZlQ2Fs
bCgpKTsKLSAgICBTcGVjaWFsaXplZFRodW5rSklUIGppdCgxLCBnbG9iYWxEYXRhKTsKKyAgICBT
cGVjaWFsaXplZFRodW5rSklUIGppdCgxKTsKICAgICBpZiAoIWppdC5zdXBwb3J0c0Zsb2F0aW5n
UG9pbnQoKSkKICAgICAgICAgcmV0dXJuIE1hY3JvQXNzZW1ibGVyQ29kZVJlZjo6Y3JlYXRlU2Vs
Zk1hbmFnZWRDb2RlUmVmKGdsb2JhbERhdGEtPmppdFN0dWJzLT5jdGlOYXRpdmVDYWxsKCkpOwog
ICAgIGppdC5sb2FkRG91YmxlQXJndW1lbnQoMCwgU3BlY2lhbGl6ZWRUaHVua0pJVDo6ZnBSZWdU
MCwgU3BlY2lhbGl6ZWRUaHVua0pJVDo6cmVnVDApOwpAQCAtMjgyLDcgKzI4Miw3IEBAIE1hY3Jv
QXNzZW1ibGVyQ29kZVJlZiBsb2dUaHVua0dlbmVyYXRvcigKIHsKICAgICBpZiAoIVVuYXJ5RG91
YmxlT3BXcmFwcGVyKGxvZykpCiAgICAgICAgIHJldHVybiBNYWNyb0Fzc2VtYmxlckNvZGVSZWY6
OmNyZWF0ZVNlbGZNYW5hZ2VkQ29kZVJlZihnbG9iYWxEYXRhLT5qaXRTdHVicy0+Y3RpTmF0aXZl
Q2FsbCgpKTsKLSAgICBTcGVjaWFsaXplZFRodW5rSklUIGppdCgxLCBnbG9iYWxEYXRhKTsKKyAg
ICBTcGVjaWFsaXplZFRodW5rSklUIGppdCgxKTsKICAgICBpZiAoIWppdC5zdXBwb3J0c0Zsb2F0
aW5nUG9pbnQoKSkKICAgICAgICAgcmV0dXJuIE1hY3JvQXNzZW1ibGVyQ29kZVJlZjo6Y3JlYXRl
U2VsZk1hbmFnZWRDb2RlUmVmKGdsb2JhbERhdGEtPmppdFN0dWJzLT5jdGlOYXRpdmVDYWxsKCkp
OwogICAgIGppdC5sb2FkRG91YmxlQXJndW1lbnQoMCwgU3BlY2lhbGl6ZWRUaHVua0pJVDo6ZnBS
ZWdUMCwgU3BlY2lhbGl6ZWRUaHVua0pJVDo6cmVnVDApOwpAQCAtMjkzLDcgKzI5Myw3IEBAIE1h
Y3JvQXNzZW1ibGVyQ29kZVJlZiBsb2dUaHVua0dlbmVyYXRvcigKIAogTWFjcm9Bc3NlbWJsZXJD
b2RlUmVmIGFic1RodW5rR2VuZXJhdG9yKEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSkKIHsKLSAg
ICBTcGVjaWFsaXplZFRodW5rSklUIGppdCgxLCBnbG9iYWxEYXRhKTsKKyAgICBTcGVjaWFsaXpl
ZFRodW5rSklUIGppdCgxKTsKICAgICBpZiAoIWppdC5zdXBwb3J0c0Zsb2F0aW5nUG9pbnRBYnMo
KSkKICAgICAgICAgcmV0dXJuIE1hY3JvQXNzZW1ibGVyQ29kZVJlZjo6Y3JlYXRlU2VsZk1hbmFn
ZWRDb2RlUmVmKGdsb2JhbERhdGEtPmppdFN0dWJzLT5jdGlOYXRpdmVDYWxsKCkpOwogICAgIE1h
Y3JvQXNzZW1ibGVyOjpKdW1wIG5vbkludEp1bXA7CkBAIC0zMTMsNyArMzEzLDcgQEAgTWFjcm9B
c3NlbWJsZXJDb2RlUmVmIGFic1RodW5rR2VuZXJhdG9yKAogCiBNYWNyb0Fzc2VtYmxlckNvZGVS
ZWYgcG93VGh1bmtHZW5lcmF0b3IoSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhKQogewotICAgIFNw
ZWNpYWxpemVkVGh1bmtKSVQgaml0KDIsIGdsb2JhbERhdGEpOworICAgIFNwZWNpYWxpemVkVGh1
bmtKSVQgaml0KDIpOwogICAgIGlmICghaml0LnN1cHBvcnRzRmxvYXRpbmdQb2ludCgpKQogICAg
ICAgICByZXR1cm4gTWFjcm9Bc3NlbWJsZXJDb2RlUmVmOjpjcmVhdGVTZWxmTWFuYWdlZENvZGVS
ZWYoZ2xvYmFsRGF0YS0+aml0U3R1YnMtPmN0aU5hdGl2ZUNhbGwoKSk7CiAKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCShyZXZpc2lvbiAxMjE5MjQpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAkod29ya2luZyBjb3B5
KQpAQCAtMjQ3LDExICsyNDcsMTEgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gbmV3IChtX2ds
b2JhbERhdGEpIENvbmRpdGlvbmFsTm9kZShsaW5lTnVtYmVyLCBjb25kaXRpb24sIGxocywgcmhz
KTsKICAgICB9CiAKLSAgICBFeHByZXNzaW9uTm9kZSogY3JlYXRlQXNzaWduUmVzb2x2ZShpbnQg
bGluZU51bWJlciwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQsIEV4cHJlc3Npb25Ob2RlKiByaHMs
IGJvb2wgcmhzSGFzQXNzaWdubWVudCwgaW50IHN0YXJ0LCBpbnQgZGl2b3QsIGludCBlbmQpCisg
ICAgRXhwcmVzc2lvbk5vZGUqIGNyZWF0ZUFzc2lnblJlc29sdmUoaW50IGxpbmVOdW1iZXIsIGNv
bnN0IElkZW50aWZpZXImIGlkZW50LCBFeHByZXNzaW9uTm9kZSogcmhzLCBpbnQgc3RhcnQsIGlu
dCBkaXZvdCwgaW50IGVuZCkKICAgICB7CiAgICAgICAgIGlmIChyaHMtPmlzRnVuY0V4cHJOb2Rl
KCkpCiAgICAgICAgICAgICBzdGF0aWNfY2FzdDxGdW5jRXhwck5vZGUqPihyaHMpLT5ib2R5KCkt
PnNldEluZmVycmVkTmFtZShpZGVudCk7Ci0gICAgICAgIEFzc2lnblJlc29sdmVOb2RlKiBub2Rl
ID0gbmV3IChtX2dsb2JhbERhdGEpIEFzc2lnblJlc29sdmVOb2RlKGxpbmVOdW1iZXIsIGlkZW50
LCByaHMsIHJoc0hhc0Fzc2lnbm1lbnQpOworICAgICAgICBBc3NpZ25SZXNvbHZlTm9kZSogbm9k
ZSA9IG5ldyAobV9nbG9iYWxEYXRhKSBBc3NpZ25SZXNvbHZlTm9kZShsaW5lTnVtYmVyLCBpZGVu
dCwgcmhzKTsKICAgICAgICAgc2V0RXhjZXB0aW9uTG9jYXRpb24obm9kZSwgc3RhcnQsIGRpdm90
LCBlbmQpOwogICAgICAgICByZXR1cm4gbm9kZTsKICAgICB9CkBAIC0zNDcsOSArMzQ3LDkgQEAg
cHVibGljOgogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KIAotICAgIFN0YXRlbWVudE5v
ZGUqIGNyZWF0ZUZvckxvb3AoaW50IGxpbmVOdW1iZXIsIEV4cHJlc3Npb25Ob2RlKiBpbml0aWFs
aXplciwgRXhwcmVzc2lvbk5vZGUqIGNvbmRpdGlvbiwgRXhwcmVzc2lvbk5vZGUqIGl0ZXIsIFN0
YXRlbWVudE5vZGUqIHN0YXRlbWVudHMsIGJvb2wgYiwgaW50IHN0YXJ0LCBpbnQgZW5kKQorICAg
IFN0YXRlbWVudE5vZGUqIGNyZWF0ZUZvckxvb3AoaW50IGxpbmVOdW1iZXIsIEV4cHJlc3Npb25O
b2RlKiBpbml0aWFsaXplciwgRXhwcmVzc2lvbk5vZGUqIGNvbmRpdGlvbiwgRXhwcmVzc2lvbk5v
ZGUqIGl0ZXIsIFN0YXRlbWVudE5vZGUqIHN0YXRlbWVudHMsIGludCBzdGFydCwgaW50IGVuZCkK
ICAgICB7Ci0gICAgICAgIEZvck5vZGUqIHJlc3VsdCA9IG5ldyAobV9nbG9iYWxEYXRhKSBGb3JO
b2RlKGxpbmVOdW1iZXIsIGluaXRpYWxpemVyLCBjb25kaXRpb24sIGl0ZXIsIHN0YXRlbWVudHMs
IGIpOworICAgICAgICBGb3JOb2RlKiByZXN1bHQgPSBuZXcgKG1fZ2xvYmFsRGF0YSkgRm9yTm9k
ZShsaW5lTnVtYmVyLCBpbml0aWFsaXplciwgY29uZGl0aW9uLCBpdGVyLCBzdGF0ZW1lbnRzKTsK
ICAgICAgICAgcmVzdWx0LT5zZXRMb2Moc3RhcnQsIGVuZCk7CiAgICAgICAgIHJldHVybiByZXN1
bHQ7CiAgICAgfQpAQCAtMzY0LDcgKzM2NCw3IEBAIHB1YmxpYzoKIAogICAgIFN0YXRlbWVudE5v
ZGUqIGNyZWF0ZUZvckluTG9vcChpbnQgbGluZU51bWJlciwgRXhwcmVzc2lvbk5vZGUqIGxocywg
RXhwcmVzc2lvbk5vZGUqIGl0ZXIsIFN0YXRlbWVudE5vZGUqIHN0YXRlbWVudHMsIGludCBlU3Rh
cnQsIGludCBlRGl2b3QsIGludCBlRW5kLCBpbnQgc3RhcnQsIGludCBlbmQpCiAgICAgewotICAg
ICAgICBGb3JJbk5vZGUqIHJlc3VsdCA9IG5ldyAobV9nbG9iYWxEYXRhKSBGb3JJbk5vZGUobV9n
bG9iYWxEYXRhLCBsaW5lTnVtYmVyLCBsaHMsIGl0ZXIsIHN0YXRlbWVudHMpOworICAgICAgICBG
b3JJbk5vZGUqIHJlc3VsdCA9IG5ldyAobV9nbG9iYWxEYXRhKSBGb3JJbk5vZGUobGluZU51bWJl
ciwgbGhzLCBpdGVyLCBzdGF0ZW1lbnRzKTsKICAgICAgICAgcmVzdWx0LT5zZXRMb2Moc3RhcnQs
IGVuZCk7CiAgICAgICAgIHNldEV4Y2VwdGlvbkxvY2F0aW9uKHJlc3VsdCwgZVN0YXJ0LCBlRGl2
b3QsIGVFbmQpOwogICAgICAgICByZXR1cm4gcmVzdWx0OwpAQCAtOTA3LDE0ICs5MDcsMTQgQEAg
RXhwcmVzc2lvbk5vZGUqIEFTVEJ1aWxkZXI6Om1ha2VCaW5hcnlObwogRXhwcmVzc2lvbk5vZGUq
IEFTVEJ1aWxkZXI6Om1ha2VBc3NpZ25Ob2RlKGludCBsaW5lTnVtYmVyLCBFeHByZXNzaW9uTm9k
ZSogbG9jLCBPcGVyYXRvciBvcCwgRXhwcmVzc2lvbk5vZGUqIGV4cHIsIGJvb2wgbG9jSGFzQXNz
aWdubWVudHMsIGJvb2wgZXhwckhhc0Fzc2lnbm1lbnRzLCBpbnQgc3RhcnQsIGludCBkaXZvdCwg
aW50IGVuZCkKIHsKICAgICBpZiAoIWxvYy0+aXNMb2NhdGlvbigpKQotICAgICAgICByZXR1cm4g
bmV3IChtX2dsb2JhbERhdGEpIEFzc2lnbkVycm9yTm9kZShsaW5lTnVtYmVyLCBsb2MsIG9wLCBl
eHByLCBkaXZvdCwgZGl2b3QgLSBzdGFydCwgZW5kIC0gZGl2b3QpOworICAgICAgICByZXR1cm4g
bmV3IChtX2dsb2JhbERhdGEpIEFzc2lnbkVycm9yTm9kZShsaW5lTnVtYmVyLCBkaXZvdCwgZGl2
b3QgLSBzdGFydCwgZW5kIC0gZGl2b3QpOwogCiAgICAgaWYgKGxvYy0+aXNSZXNvbHZlTm9kZSgp
KSB7CiAgICAgICAgIFJlc29sdmVOb2RlKiByZXNvbHZlID0gc3RhdGljX2Nhc3Q8UmVzb2x2ZU5v
ZGUqPihsb2MpOwogICAgICAgICBpZiAob3AgPT0gT3BFcXVhbCkgewogICAgICAgICAgICAgaWYg
KGV4cHItPmlzRnVuY0V4cHJOb2RlKCkpCiAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8RnVu
Y0V4cHJOb2RlKj4oZXhwciktPmJvZHkoKS0+c2V0SW5mZXJyZWROYW1lKHJlc29sdmUtPmlkZW50
aWZpZXIoKSk7Ci0gICAgICAgICAgICBBc3NpZ25SZXNvbHZlTm9kZSogbm9kZSA9IG5ldyAobV9n
bG9iYWxEYXRhKSBBc3NpZ25SZXNvbHZlTm9kZShsaW5lTnVtYmVyLCByZXNvbHZlLT5pZGVudGlm
aWVyKCksIGV4cHIsIGV4cHJIYXNBc3NpZ25tZW50cyk7CisgICAgICAgICAgICBBc3NpZ25SZXNv
bHZlTm9kZSogbm9kZSA9IG5ldyAobV9nbG9iYWxEYXRhKSBBc3NpZ25SZXNvbHZlTm9kZShsaW5l
TnVtYmVyLCByZXNvbHZlLT5pZGVudGlmaWVyKCksIGV4cHIpOwogICAgICAgICAgICAgc2V0RXhj
ZXB0aW9uTG9jYXRpb24obm9kZSwgc3RhcnQsIGRpdm90LCBlbmQpOwogICAgICAgICAgICAgcmV0
dXJuIG5vZGU7CiAgICAgICAgIH0KQEAgLTk0NCw3ICs5NDQsNyBAQCBFeHByZXNzaW9uTm9kZSog
QVNUQnVpbGRlcjo6bWFrZUFzc2lnbk5vCiBFeHByZXNzaW9uTm9kZSogQVNUQnVpbGRlcjo6bWFr
ZVByZWZpeE5vZGUoaW50IGxpbmVOdW1iZXIsIEV4cHJlc3Npb25Ob2RlKiBleHByLCBPcGVyYXRv
ciBvcCwgaW50IHN0YXJ0LCBpbnQgZGl2b3QsIGludCBlbmQpCiB7CiAgICAgaWYgKCFleHByLT5p
c0xvY2F0aW9uKCkpCi0gICAgICAgIHJldHVybiBuZXcgKG1fZ2xvYmFsRGF0YSkgUHJlZml4RXJy
b3JOb2RlKGxpbmVOdW1iZXIsIGV4cHIsIG9wLCBkaXZvdCwgZGl2b3QgLSBzdGFydCwgZW5kIC0g
ZGl2b3QpOworICAgICAgICByZXR1cm4gbmV3IChtX2dsb2JhbERhdGEpIFByZWZpeEVycm9yTm9k
ZShsaW5lTnVtYmVyLCBvcCwgZGl2b3QsIGRpdm90IC0gc3RhcnQsIGVuZCAtIGRpdm90KTsKIAog
ICAgIGlmIChleHByLT5pc1Jlc29sdmVOb2RlKCkpIHsKICAgICAgICAgUmVzb2x2ZU5vZGUqIHJl
c29sdmUgPSBzdGF0aWNfY2FzdDxSZXNvbHZlTm9kZSo+KGV4cHIpOwpAQCAtOTY2LDcgKzk2Niw3
IEBAIEV4cHJlc3Npb25Ob2RlKiBBU1RCdWlsZGVyOjptYWtlUHJlZml4Tm8KIEV4cHJlc3Npb25O
b2RlKiBBU1RCdWlsZGVyOjptYWtlUG9zdGZpeE5vZGUoaW50IGxpbmVOdW1iZXIsIEV4cHJlc3Np
b25Ob2RlKiBleHByLCBPcGVyYXRvciBvcCwgaW50IHN0YXJ0LCBpbnQgZGl2b3QsIGludCBlbmQp
CiB7CiAgICAgaWYgKCFleHByLT5pc0xvY2F0aW9uKCkpCi0gICAgICAgIHJldHVybiBuZXcgKG1f
Z2xvYmFsRGF0YSkgUG9zdGZpeEVycm9yTm9kZShsaW5lTnVtYmVyLCBleHByLCBvcCwgZGl2b3Qs
IGRpdm90IC0gc3RhcnQsIGVuZCAtIGRpdm90KTsKKyAgICAgICAgcmV0dXJuIG5ldyAobV9nbG9i
YWxEYXRhKSBQb3N0Zml4RXJyb3JOb2RlKGxpbmVOdW1iZXIsIG9wLCBkaXZvdCwgZGl2b3QgLSBz
dGFydCwgZW5kIC0gZGl2b3QpOwogCiAgICAgaWYgKGV4cHItPmlzUmVzb2x2ZU5vZGUoKSkgewog
ICAgICAgICBSZXNvbHZlTm9kZSogcmVzb2x2ZSA9IHN0YXRpY19jYXN0PFJlc29sdmVOb2RlKj4o
ZXhwcik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3Rv
cnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25z
dHJ1Y3RvcnMuaAkocmV2aXNpb24gMTIxOTI0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9Ob2RlQ29uc3RydWN0b3JzLmgJKHdvcmtpbmcgY29weSkKQEAgLTMxNywxMCArMzE3LDkg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgewogICAgIH0KIAotICAgIGlubGluZSBQb3N0Zml4RXJy
b3JOb2RlOjpQb3N0Zml4RXJyb3JOb2RlKGludCBsaW5lTnVtYmVyLCBFeHByZXNzaW9uTm9kZSog
ZXhwciwgT3BlcmF0b3Igb3BlciwgdW5zaWduZWQgZGl2b3QsIHVuc2lnbmVkIHN0YXJ0T2Zmc2V0
LCB1bnNpZ25lZCBlbmRPZmZzZXQpCisgICAgaW5saW5lIFBvc3RmaXhFcnJvck5vZGU6OlBvc3Rm
aXhFcnJvck5vZGUoaW50IGxpbmVOdW1iZXIsIE9wZXJhdG9yIG9wZXIsIHVuc2lnbmVkIGRpdm90
LCB1bnNpZ25lZCBzdGFydE9mZnNldCwgdW5zaWduZWQgZW5kT2Zmc2V0KQogICAgICAgICA6IEV4
cHJlc3Npb25Ob2RlKGxpbmVOdW1iZXIpCiAgICAgICAgICwgVGhyb3dhYmxlU3ViRXhwcmVzc2lv
bkRhdGEoZGl2b3QsIHN0YXJ0T2Zmc2V0LCBlbmRPZmZzZXQpCi0gICAgICAgICwgbV9leHByKGV4
cHIpCiAgICAgICAgICwgbV9vcGVyYXRvcihvcGVyKQogICAgIHsKICAgICB9CkBAIC0zOTYsMTAg
KzM5NSw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIHsKICAgICB9CiAKLSAgICBpbmxpbmUgUHJl
Zml4RXJyb3JOb2RlOjpQcmVmaXhFcnJvck5vZGUoaW50IGxpbmVOdW1iZXIsIEV4cHJlc3Npb25O
b2RlKiBleHByLCBPcGVyYXRvciBvcGVyLCB1bnNpZ25lZCBkaXZvdCwgdW5zaWduZWQgc3RhcnRP
ZmZzZXQsIHVuc2lnbmVkIGVuZE9mZnNldCkKKyAgICBpbmxpbmUgUHJlZml4RXJyb3JOb2RlOjpQ
cmVmaXhFcnJvck5vZGUoaW50IGxpbmVOdW1iZXIsIE9wZXJhdG9yIG9wZXIsIHVuc2lnbmVkIGRp
dm90LCB1bnNpZ25lZCBzdGFydE9mZnNldCwgdW5zaWduZWQgZW5kT2Zmc2V0KQogICAgICAgICA6
IEV4cHJlc3Npb25Ob2RlKGxpbmVOdW1iZXIpCiAgICAgICAgICwgVGhyb3dhYmxlRXhwcmVzc2lv
bkRhdGEoZGl2b3QsIHN0YXJ0T2Zmc2V0LCBlbmRPZmZzZXQpCi0gICAgICAgICwgbV9leHByKGV4
cHIpCiAgICAgICAgICwgbV9vcGVyYXRvcihvcGVyKQogICAgIHsKICAgICB9CkBAIC01OTIsMTEg
KzU5MCwxMCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB7CiAgICAgfQogCi0gICAgaW5saW5lIEFz
c2lnblJlc29sdmVOb2RlOjpBc3NpZ25SZXNvbHZlTm9kZShpbnQgbGluZU51bWJlciwgY29uc3Qg
SWRlbnRpZmllciYgaWRlbnQsIEV4cHJlc3Npb25Ob2RlKiByaWdodCwgYm9vbCByaWdodEhhc0Fz
c2lnbm1lbnRzKQorICAgIGlubGluZSBBc3NpZ25SZXNvbHZlTm9kZTo6QXNzaWduUmVzb2x2ZU5v
ZGUoaW50IGxpbmVOdW1iZXIsIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBFeHByZXNzaW9uTm9k
ZSogcmlnaHQpCiAgICAgICAgIDogRXhwcmVzc2lvbk5vZGUobGluZU51bWJlcikKICAgICAgICAg
LCBtX2lkZW50KGlkZW50KQogICAgICAgICAsIG1fcmlnaHQocmlnaHQpCi0gICAgICAgICwgbV9y
aWdodEhhc0Fzc2lnbm1lbnRzKHJpZ2h0SGFzQXNzaWdubWVudHMpCiAgICAgewogICAgIH0KIApA
QCAtNjQ0LDEyICs2NDEsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB7CiAgICAgfQogCi0gICAg
aW5saW5lIEFzc2lnbkVycm9yTm9kZTo6QXNzaWduRXJyb3JOb2RlKGludCBsaW5lTnVtYmVyLCBF
eHByZXNzaW9uTm9kZSogbGVmdCwgT3BlcmF0b3Igb3BlciwgRXhwcmVzc2lvbk5vZGUqIHJpZ2h0
LCB1bnNpZ25lZCBkaXZvdCwgdW5zaWduZWQgc3RhcnRPZmZzZXQsIHVuc2lnbmVkIGVuZE9mZnNl
dCkKKyAgICBpbmxpbmUgQXNzaWduRXJyb3JOb2RlOjpBc3NpZ25FcnJvck5vZGUoaW50IGxpbmVO
dW1iZXIsIHVuc2lnbmVkIGRpdm90LCB1bnNpZ25lZCBzdGFydE9mZnNldCwgdW5zaWduZWQgZW5k
T2Zmc2V0KQogICAgICAgICA6IEV4cHJlc3Npb25Ob2RlKGxpbmVOdW1iZXIpCiAgICAgICAgICwg
VGhyb3dhYmxlRXhwcmVzc2lvbkRhdGEoZGl2b3QsIHN0YXJ0T2Zmc2V0LCBlbmRPZmZzZXQpCi0g
ICAgICAgICwgbV9sZWZ0KGxlZnQpCi0gICAgICAgICwgbV9vcGVyYXRvcihvcGVyKQotICAgICAg
ICAsIG1fcmlnaHQocmlnaHQpCiAgICAgewogICAgIH0KIApAQCAtNzE5LDEzICs3MTMsMTIgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgewogICAgIH0KIAotICAgIGlubGluZSBGb3JOb2RlOjpGb3JO
b2RlKGludCBsaW5lTnVtYmVyLCBFeHByZXNzaW9uTm9kZSogZXhwcjEsIEV4cHJlc3Npb25Ob2Rl
KiBleHByMiwgRXhwcmVzc2lvbk5vZGUqIGV4cHIzLCBTdGF0ZW1lbnROb2RlKiBzdGF0ZW1lbnQs
IGJvb2wgZXhwcjFXYXNWYXJEZWNsKQorICAgIGlubGluZSBGb3JOb2RlOjpGb3JOb2RlKGludCBs
aW5lTnVtYmVyLCBFeHByZXNzaW9uTm9kZSogZXhwcjEsIEV4cHJlc3Npb25Ob2RlKiBleHByMiwg
RXhwcmVzc2lvbk5vZGUqIGV4cHIzLCBTdGF0ZW1lbnROb2RlKiBzdGF0ZW1lbnQpCiAgICAgICAg
IDogU3RhdGVtZW50Tm9kZShsaW5lTnVtYmVyKQogICAgICAgICAsIG1fZXhwcjEoZXhwcjEpCiAg
ICAgICAgICwgbV9leHByMihleHByMikKICAgICAgICAgLCBtX2V4cHIzKGV4cHIzKQogICAgICAg
ICAsIG1fc3RhdGVtZW50KHN0YXRlbWVudCkKLSAgICAgICAgLCBtX2V4cHIxV2FzVmFyRGVjbChl
eHByMSAmJiBleHByMVdhc1ZhckRlY2wpCiAgICAgewogICAgICAgICBBU1NFUlQoc3RhdGVtZW50
KTsKICAgICB9CkBAIC04NjUsOSArODU4LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgewogICAg
IH0KIAotICAgIGlubGluZSBGb3JJbk5vZGU6OkZvckluTm9kZShKU0dsb2JhbERhdGEqIGdsb2Jh
bERhdGEsIGludCBsaW5lTnVtYmVyLCBFeHByZXNzaW9uTm9kZSogbCwgRXhwcmVzc2lvbk5vZGUq
IGV4cHIsIFN0YXRlbWVudE5vZGUqIHN0YXRlbWVudCkKKyAgICBpbmxpbmUgRm9ySW5Ob2RlOjpG
b3JJbk5vZGUoaW50IGxpbmVOdW1iZXIsIEV4cHJlc3Npb25Ob2RlKiBsLCBFeHByZXNzaW9uTm9k
ZSogZXhwciwgU3RhdGVtZW50Tm9kZSogc3RhdGVtZW50KQogICAgICAgICA6IFN0YXRlbWVudE5v
ZGUobGluZU51bWJlcikKLSAgICAgICAgLCBtX2lkZW50KGdsb2JhbERhdGEtPnByb3BlcnR5TmFt
ZXMtPm51bGxJZGVudGlmaWVyKQogICAgICAgICAsIG1faW5pdCgwKQogICAgICAgICAsIG1fbGV4
cHIobCkKICAgICAgICAgLCBtX2V4cHIoZXhwcikKQEAgLTg3OCw3ICs4NzAsNiBAQCBuYW1lc3Bh
Y2UgSlNDIHsKIAogICAgIGlubGluZSBGb3JJbk5vZGU6OkZvckluTm9kZShKU0dsb2JhbERhdGEq
IGdsb2JhbERhdGEsIGludCBsaW5lTnVtYmVyLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgRXhw
cmVzc2lvbk5vZGUqIGluLCBFeHByZXNzaW9uTm9kZSogZXhwciwgU3RhdGVtZW50Tm9kZSogc3Rh
dGVtZW50LCBpbnQgZGl2b3QsIGludCBzdGFydE9mZnNldCwgaW50IGVuZE9mZnNldCkKICAgICAg
ICAgOiBTdGF0ZW1lbnROb2RlKGxpbmVOdW1iZXIpCi0gICAgICAgICwgbV9pZGVudChpZGVudCkK
ICAgICAgICAgLCBtX2luaXQoMCkKICAgICAgICAgLCBtX2xleHByKG5ldyAoZ2xvYmFsRGF0YSkg
UmVzb2x2ZU5vZGUobGluZU51bWJlciwgaWRlbnQsIGRpdm90IC0gc3RhcnRPZmZzZXQpKQogICAg
ICAgICAsIG1fZXhwcihleHByKQpAQCAtODg2LDcgKzg3Nyw3IEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgICAgICAsIG1faWRlbnRJc1ZhckRlY2wodHJ1ZSkKICAgICB7CiAgICAgICAgIGlmIChpbikg
ewotICAgICAgICAgICAgQXNzaWduUmVzb2x2ZU5vZGUqIG5vZGUgPSBuZXcgKGdsb2JhbERhdGEp
IEFzc2lnblJlc29sdmVOb2RlKGxpbmVOdW1iZXIsIGlkZW50LCBpbiwgdHJ1ZSk7CisgICAgICAg
ICAgICBBc3NpZ25SZXNvbHZlTm9kZSogbm9kZSA9IG5ldyAoZ2xvYmFsRGF0YSkgQXNzaWduUmVz
b2x2ZU5vZGUobGluZU51bWJlciwgaWRlbnQsIGluKTsKICAgICAgICAgICAgIG5vZGUtPnNldEV4
Y2VwdGlvblNvdXJjZUNvZGUoZGl2b3QsIGRpdm90IC0gc3RhcnRPZmZzZXQsIGVuZE9mZnNldCAt
IGRpdm90KTsKICAgICAgICAgICAgIG1faW5pdCA9IG5vZGU7CiAgICAgICAgIH0KSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgJKHJldmlzaW9uIDEyMTkyNCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNTQ2LDgg
KzU0Niw2IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIGNvbnN0IElkZW50aWZpZXImIG1f
aWRlbnQ7CiAgICAgICAgIEFyZ3VtZW50c05vZGUqIG1fYXJnczsKLSAgICAgICAgc2l6ZV90IG1f
aW5kZXg7IC8vIFVzZWQgYnkgTG9jYWxWYXJGdW5jdGlvbkNhbGxOb2RlLgotICAgICAgICBzaXpl
X3QgbV9zY29wZURlcHRoOyAvLyBVc2VkIGJ5IFNjb3BlZFZhckZ1bmN0aW9uQ2FsbE5vZGUgYW5k
IE5vbkxvY2FsVmFyRnVuY3Rpb25DYWxsTm9kZQogICAgIH07CiAgICAgCiAgICAgY2xhc3MgRnVu
Y3Rpb25DYWxsQnJhY2tldE5vZGUgOiBwdWJsaWMgRXhwcmVzc2lvbk5vZGUsIHB1YmxpYyBUaHJv
d2FibGVTdWJFeHByZXNzaW9uRGF0YSB7CkBAIC02MzUsMTIgKzYzMywxMSBAQCBuYW1lc3BhY2Ug
SlNDIHsKIAogICAgIGNsYXNzIFBvc3RmaXhFcnJvck5vZGUgOiBwdWJsaWMgRXhwcmVzc2lvbk5v
ZGUsIHB1YmxpYyBUaHJvd2FibGVTdWJFeHByZXNzaW9uRGF0YSB7CiAgICAgcHVibGljOgotICAg
ICAgICBQb3N0Zml4RXJyb3JOb2RlKGludCwgRXhwcmVzc2lvbk5vZGUqLCBPcGVyYXRvciwgdW5z
aWduZWQgZGl2b3QsIHVuc2lnbmVkIHN0YXJ0T2Zmc2V0LCB1bnNpZ25lZCBlbmRPZmZzZXQpOwor
ICAgICAgICBQb3N0Zml4RXJyb3JOb2RlKGludCwgT3BlcmF0b3IsIHVuc2lnbmVkIGRpdm90LCB1
bnNpZ25lZCBzdGFydE9mZnNldCwgdW5zaWduZWQgZW5kT2Zmc2V0KTsKIAogICAgIHByaXZhdGU6
CiAgICAgICAgIHZpcnR1YWwgUmVnaXN0ZXJJRCogZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJh
dG9yJiwgUmVnaXN0ZXJJRCogPSAwKTsKIAotICAgICAgICBFeHByZXNzaW9uTm9kZSogbV9leHBy
OwogICAgICAgICBPcGVyYXRvciBtX29wZXJhdG9yOwogICAgIH07CiAKQEAgLTc1NCwxMiArNzUx
LDExIEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3MgUHJlZml4RXJyb3JOb2RlIDogcHVi
bGljIEV4cHJlc3Npb25Ob2RlLCBwdWJsaWMgVGhyb3dhYmxlRXhwcmVzc2lvbkRhdGEgewogICAg
IHB1YmxpYzoKLSAgICAgICAgUHJlZml4RXJyb3JOb2RlKGludCwgRXhwcmVzc2lvbk5vZGUqLCBP
cGVyYXRvciwgdW5zaWduZWQgZGl2b3QsIHVuc2lnbmVkIHN0YXJ0T2Zmc2V0LCB1bnNpZ25lZCBl
bmRPZmZzZXQpOworICAgICAgICBQcmVmaXhFcnJvck5vZGUoaW50LCBPcGVyYXRvciwgdW5zaWdu
ZWQgZGl2b3QsIHVuc2lnbmVkIHN0YXJ0T2Zmc2V0LCB1bnNpZ25lZCBlbmRPZmZzZXQpOwogCiAg
ICAgcHJpdmF0ZToKICAgICAgICAgdmlydHVhbCBSZWdpc3RlcklEKiBlbWl0Qnl0ZWNvZGUoQnl0
ZWNvZGVHZW5lcmF0b3ImLCBSZWdpc3RlcklEKiA9IDApOwogCi0gICAgICAgIEV4cHJlc3Npb25O
b2RlKiBtX2V4cHI7CiAgICAgICAgIE9wZXJhdG9yIG1fb3BlcmF0b3I7CiAgICAgfTsKIApAQCAt
MTAwNCwyMiArMTAwMCwxOSBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBjb25zdCBJZGVu
dGlmaWVyJiBtX2lkZW50OwogICAgICAgICBFeHByZXNzaW9uTm9kZSogbV9yaWdodDsKLSAgICAg
ICAgc2l6ZV90IG1faW5kZXg7IC8vIFVzZWQgYnkgUmVhZE1vZGlmeUxvY2FsVmFyTm9kZS4KICAg
ICAgICAgT3BlcmF0b3IgbV9vcGVyYXRvcjsKICAgICAgICAgYm9vbCBtX3JpZ2h0SGFzQXNzaWdu
bWVudHM7CiAgICAgfTsKIAogICAgIGNsYXNzIEFzc2lnblJlc29sdmVOb2RlIDogcHVibGljIEV4
cHJlc3Npb25Ob2RlLCBwdWJsaWMgVGhyb3dhYmxlRXhwcmVzc2lvbkRhdGEgewogICAgIHB1Ymxp
YzoKLSAgICAgICAgQXNzaWduUmVzb2x2ZU5vZGUoaW50LCBjb25zdCBJZGVudGlmaWVyJiwgRXhw
cmVzc2lvbk5vZGUqIHJpZ2h0LCBib29sIHJpZ2h0SGFzQXNzaWdubWVudHMpOworICAgICAgICBB
c3NpZ25SZXNvbHZlTm9kZShpbnQsIGNvbnN0IElkZW50aWZpZXImLCBFeHByZXNzaW9uTm9kZSog
cmlnaHQpOwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgdmlydHVhbCBSZWdpc3RlcklEKiBlbWl0
Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImLCBSZWdpc3RlcklEKiA9IDApOwogCiAgICAgICAg
IGNvbnN0IElkZW50aWZpZXImIG1faWRlbnQ7CiAgICAgICAgIEV4cHJlc3Npb25Ob2RlKiBtX3Jp
Z2h0OwotICAgICAgICBzaXplX3QgbV9pbmRleDsgLy8gVXNlZCBieSBSZWFkTW9kaWZ5TG9jYWxW
YXJOb2RlLgotICAgICAgICBib29sIG1fcmlnaHRIYXNBc3NpZ25tZW50czsKICAgICB9OwogCiAg
ICAgY2xhc3MgUmVhZE1vZGlmeUJyYWNrZXROb2RlIDogcHVibGljIEV4cHJlc3Npb25Ob2RlLCBw
dWJsaWMgVGhyb3dhYmxlU3ViRXhwcmVzc2lvbkRhdGEgewpAQCAtMTA4MCwxNCArMTA3MywxMCBA
QCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGNsYXNzIEFzc2lnbkVycm9yTm9kZSA6IHB1YmxpYyBF
eHByZXNzaW9uTm9kZSwgcHVibGljIFRocm93YWJsZUV4cHJlc3Npb25EYXRhIHsKICAgICBwdWJs
aWM6Ci0gICAgICAgIEFzc2lnbkVycm9yTm9kZShpbnQsIEV4cHJlc3Npb25Ob2RlKiBsZWZ0LCBP
cGVyYXRvciwgRXhwcmVzc2lvbk5vZGUqIHJpZ2h0LCB1bnNpZ25lZCBkaXZvdCwgdW5zaWduZWQg
c3RhcnRPZmZzZXQsIHVuc2lnbmVkIGVuZE9mZnNldCk7CisgICAgICAgIEFzc2lnbkVycm9yTm9k
ZShpbnQsIHVuc2lnbmVkIGRpdm90LCB1bnNpZ25lZCBzdGFydE9mZnNldCwgdW5zaWduZWQgZW5k
T2Zmc2V0KTsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIHZpcnR1YWwgUmVnaXN0ZXJJRCogZW1p
dEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiwgUmVnaXN0ZXJJRCogPSAwKTsKLQotICAgICAg
ICBFeHByZXNzaW9uTm9kZSogbV9sZWZ0OwotICAgICAgICBPcGVyYXRvciBtX29wZXJhdG9yOwot
ICAgICAgICBFeHByZXNzaW9uTm9kZSogbV9yaWdodDsKICAgICB9OwogICAgIAogICAgIHR5cGVk
ZWYgVmVjdG9yPEV4cHJlc3Npb25Ob2RlKiwgOD4gRXhwcmVzc2lvblZlY3RvcjsKQEAgLTEyNTQs
NyArMTI0Myw3IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3MgRm9yTm9kZSA6IHB1Ymxp
YyBTdGF0ZW1lbnROb2RlIHsKICAgICBwdWJsaWM6Ci0gICAgICAgIEZvck5vZGUoaW50LCBFeHBy
ZXNzaW9uTm9kZSogZXhwcjEsIEV4cHJlc3Npb25Ob2RlKiBleHByMiwgRXhwcmVzc2lvbk5vZGUq
IGV4cHIzLCBTdGF0ZW1lbnROb2RlKiwgYm9vbCBleHByMVdhc1ZhckRlY2wpOworICAgICAgICBG
b3JOb2RlKGludCwgRXhwcmVzc2lvbk5vZGUqIGV4cHIxLCBFeHByZXNzaW9uTm9kZSogZXhwcjIs
IEV4cHJlc3Npb25Ob2RlKiBleHByMywgU3RhdGVtZW50Tm9kZSopOwogCiAgICAgcHJpdmF0ZToK
ICAgICAgICAgdmlydHVhbCBSZWdpc3RlcklEKiBlbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0
b3ImLCBSZWdpc3RlcklEKiA9IDApOwpAQCAtMTI2MywxOCArMTI1MiwxNiBAQCBuYW1lc3BhY2Ug
SlNDIHsKICAgICAgICAgRXhwcmVzc2lvbk5vZGUqIG1fZXhwcjI7CiAgICAgICAgIEV4cHJlc3Np
b25Ob2RlKiBtX2V4cHIzOwogICAgICAgICBTdGF0ZW1lbnROb2RlKiBtX3N0YXRlbWVudDsKLSAg
ICAgICAgYm9vbCBtX2V4cHIxV2FzVmFyRGVjbDsKICAgICB9OwogCiAgICAgY2xhc3MgRm9ySW5O
b2RlIDogcHVibGljIFN0YXRlbWVudE5vZGUsIHB1YmxpYyBUaHJvd2FibGVFeHByZXNzaW9uRGF0
YSB7CiAgICAgcHVibGljOgotICAgICAgICBGb3JJbk5vZGUoSlNHbG9iYWxEYXRhKiwgaW50LCBF
eHByZXNzaW9uTm9kZSosIEV4cHJlc3Npb25Ob2RlKiwgU3RhdGVtZW50Tm9kZSopOworICAgICAg
ICBGb3JJbk5vZGUoaW50LCBFeHByZXNzaW9uTm9kZSosIEV4cHJlc3Npb25Ob2RlKiwgU3RhdGVt
ZW50Tm9kZSopOwogICAgICAgICBGb3JJbk5vZGUoSlNHbG9iYWxEYXRhKiwgaW50LCBjb25zdCBJ
ZGVudGlmaWVyJiwgRXhwcmVzc2lvbk5vZGUqLCBFeHByZXNzaW9uTm9kZSosIFN0YXRlbWVudE5v
ZGUqLCBpbnQgZGl2b3QsIGludCBzdGFydE9mZnNldCwgaW50IGVuZE9mZnNldCk7CiAKICAgICBw
cml2YXRlOgogICAgICAgICB2aXJ0dWFsIFJlZ2lzdGVySUQqIGVtaXRCeXRlY29kZShCeXRlY29k
ZUdlbmVyYXRvciYsIFJlZ2lzdGVySUQqID0gMCk7CiAKLSAgICAgICAgY29uc3QgSWRlbnRpZmll
ciYgbV9pZGVudDsKICAgICAgICAgRXhwcmVzc2lvbk5vZGUqIG1faW5pdDsKICAgICAgICAgRXhw
cmVzc2lvbk5vZGUqIG1fbGV4cHI7CiAgICAgICAgIEV4cHJlc3Npb25Ob2RlKiBtX2V4cHI7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCShyZXZpc2lvbiAxMjE5
MjQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI2MCwxMyArMjYwLDEyIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZUV4cHJlc3MKICAgICAgICAgICAgIGludCB2YXJEaXZvdCA9IHRva2VuU3RhcnQoKSArIDE7
CiAgICAgICAgICAgICBpbml0U3RhcnQgPSB0b2tlblN0YXJ0KCk7CiAgICAgICAgICAgICBuZXh0
KFRyZWVCdWlsZGVyOjpEb250QnVpbGRTdHJpbmdzKTsgLy8gY29uc3VtZSAnPScKLSAgICAgICAg
ICAgIGludCBpbml0aWFsQXNzaWdubWVudHMgPSBtX2Fzc2lnbm1lbnRDb3VudDsKICAgICAgICAg
ICAgIFRyZWVFeHByZXNzaW9uIGluaXRpYWxpemVyID0gcGFyc2VBc3NpZ25tZW50RXhwcmVzc2lv
bihjb250ZXh0KTsKICAgICAgICAgICAgIGluaXRFbmQgPSBsYXN0VG9rZW5FbmQoKTsKICAgICAg
ICAgICAgIGxhc3RJbml0aWFsaXplciA9IGluaXRpYWxpemVyOwogICAgICAgICAgICAgZmFpbElm
RmFsc2UoaW5pdGlhbGl6ZXIpOwogICAgICAgICAgICAgCi0gICAgICAgICAgICBUcmVlRXhwcmVz
c2lvbiBub2RlID0gY29udGV4dC5jcmVhdGVBc3NpZ25SZXNvbHZlKG1fbGV4ZXItPmxhc3RMaW5l
TnVtYmVyKCksICpuYW1lLCBpbml0aWFsaXplciwgaW5pdGlhbEFzc2lnbm1lbnRzICE9IG1fYXNz
aWdubWVudENvdW50LCB2YXJTdGFydCwgdmFyRGl2b3QsIGxhc3RUb2tlbkVuZCgpKTsKKyAgICAg
ICAgICAgIFRyZWVFeHByZXNzaW9uIG5vZGUgPSBjb250ZXh0LmNyZWF0ZUFzc2lnblJlc29sdmUo
bV9sZXhlci0+bGFzdExpbmVOdW1iZXIoKSwgKm5hbWUsIGluaXRpYWxpemVyLCB2YXJTdGFydCwg
dmFyRGl2b3QsIGxhc3RUb2tlbkVuZCgpKTsKICAgICAgICAgICAgIGlmICghdmFyRGVjbHMpCiAg
ICAgICAgICAgICAgICAgdmFyRGVjbHMgPSBub2RlOwogICAgICAgICAgICAgZWxzZQpAQCAtMzkx
LDcgKzM5MCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWUKICAg
ICAgICAgVHJlZVN0YXRlbWVudCBzdGF0ZW1lbnQgPSBwYXJzZVN0YXRlbWVudChjb250ZXh0LCB1
bnVzZWQpOwogICAgICAgICBlbmRMb29wKCk7CiAgICAgICAgIGZhaWxJZkZhbHNlKHN0YXRlbWVu
dCk7Ci0gICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZvckxvb3AobV9sZXhlci0+bGFzdExp
bmVOdW1iZXIoKSwgZGVjbHMsIGNvbmRpdGlvbiwgaW5jcmVtZW50LCBzdGF0ZW1lbnQsIGhhc0Rl
Y2xhcmF0aW9uLCBzdGFydExpbmUsIGVuZExpbmUpOworICAgICAgICByZXR1cm4gY29udGV4dC5j
cmVhdGVGb3JMb29wKG1fbGV4ZXItPmxhc3RMaW5lTnVtYmVyKCksIGRlY2xzLCBjb25kaXRpb24s
IGluY3JlbWVudCwgc3RhdGVtZW50LCBzdGFydExpbmUsIGVuZExpbmUpOwogICAgIH0KICAgICAK
ICAgICAvLyBGb3ItaW4gbG9vcApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9T
eW50YXhDaGVja2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9TeW50YXhDaGVja2VyLmgJKHJldmlzaW9uIDEyMTkyNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDgsNyArMTQ4
LDcgQEAgcHVibGljOgogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZU5ld0V4cHIoaW50LCBFeHBy
ZXNzaW9uVHlwZSwgaW50LCBpbnQsIGludCwgaW50KSB7IHJldHVybiBOZXdFeHByOyB9CiAgICAg
RXhwcmVzc2lvblR5cGUgY3JlYXRlTmV3RXhwcihpbnQsIEV4cHJlc3Npb25UeXBlLCBpbnQsIGlu
dCkgeyByZXR1cm4gTmV3RXhwcjsgfQogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZUNvbmRpdGlv
bmFsRXhwcihpbnQsIEV4cHJlc3Npb25UeXBlLCBFeHByZXNzaW9uVHlwZSwgRXhwcmVzc2lvblR5
cGUpIHsgcmV0dXJuIENvbmRpdGlvbmFsRXhwcjsgfQotICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0
ZUFzc2lnblJlc29sdmUoaW50LCBjb25zdCBJZGVudGlmaWVyJiwgRXhwcmVzc2lvblR5cGUsIGJv
b2wsIGludCwgaW50LCBpbnQpIHsgcmV0dXJuIEFzc2lnbm1lbnRFeHByOyB9CisgICAgRXhwcmVz
c2lvblR5cGUgY3JlYXRlQXNzaWduUmVzb2x2ZShpbnQsIGNvbnN0IElkZW50aWZpZXImLCBFeHBy
ZXNzaW9uVHlwZSwgaW50LCBpbnQsIGludCkgeyByZXR1cm4gQXNzaWdubWVudEV4cHI7IH0KICAg
ICBFeHByZXNzaW9uVHlwZSBjcmVhdGVGdW5jdGlvbkV4cHIoaW50LCBjb25zdCBJZGVudGlmaWVy
KiwgaW50LCBpbnQsIGludCwgaW50LCBpbnQsIGludCkgeyByZXR1cm4gRnVuY3Rpb25FeHByOyB9
CiAgICAgaW50IGNyZWF0ZUZ1bmN0aW9uQm9keShpbnQsIGJvb2wpIHsgcmV0dXJuIDE7IH0KICAg
ICBpbnQgY3JlYXRlQXJndW1lbnRzKCkgeyByZXR1cm4gMTsgfQpAQCAtMTgzLDcgKzE4Myw3IEBA
IHB1YmxpYzoKICAgICBpbnQgY3JlYXRlRXhwclN0YXRlbWVudChpbnQsIGludCwgaW50LCBpbnQp
IHsgcmV0dXJuIDE7IH0KICAgICBpbnQgY3JlYXRlSWZTdGF0ZW1lbnQoaW50LCBpbnQsIGludCwg
aW50LCBpbnQpIHsgcmV0dXJuIDE7IH0KICAgICBpbnQgY3JlYXRlSWZTdGF0ZW1lbnQoaW50LCBp
bnQsIGludCwgaW50LCBpbnQsIGludCkgeyByZXR1cm4gMTsgfQotICAgIGludCBjcmVhdGVGb3JM
b29wKGludCwgaW50LCBpbnQsIGludCwgaW50LCBib29sLCBpbnQsIGludCkgeyByZXR1cm4gMTsg
fQorICAgIGludCBjcmVhdGVGb3JMb29wKGludCwgaW50LCBpbnQsIGludCwgaW50LCBpbnQsIGlu
dCkgeyByZXR1cm4gMTsgfQogICAgIGludCBjcmVhdGVGb3JJbkxvb3AoaW50LCBjb25zdCBJZGVu
dGlmaWVyKiwgaW50LCBpbnQsIGludCwgaW50LCBpbnQsIGludCwgaW50LCBpbnQsIGludCwgaW50
KSB7IHJldHVybiAxOyB9CiAgICAgaW50IGNyZWF0ZUZvckluTG9vcChpbnQsIGludCwgaW50LCBp
bnQsIGludCwgaW50LCBpbnQsIGludCwgaW50KSB7IHJldHVybiAxOyB9CiAgICAgaW50IGNyZWF0
ZUVtcHR5U3RhdGVtZW50KGludCkgeyByZXR1cm4gMTsgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>