<?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>71430</bug_id>
          
          <creation_ts>2011-11-02 18:30:19 -0700</creation_ts>
          <short_desc>De-virtualize JSObject::hasInstance</short_desc>
          <delta_ts>2011-11-04 13:37:53 -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>
          
          <blocked>70960</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Hahnenberg">mhahnenberg</reporter>
          <assigned_to name="Mark Hahnenberg">mhahnenberg</assigned_to>
          <cc>ossy</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>495129</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-11-02 18:30:19 -0700</bug_when>
    <thetext>We&apos;re de-virtualizing JSObject. hasInstance is a virtual method in JSObject.  Thus, we need to de-virtualize hasInstance.  We&apos;ll put it in the MethodTable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495658</commentid>
    <comment_count>1</comment_count>
      <attachid>113527</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-11-03 11:19:18 -0700</bug_when>
    <thetext>Created attachment 113527
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495757</commentid>
    <comment_count>2</comment_count>
      <attachid>113549</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-11-03 13:33:07 -0700</bug_when>
    <thetext>Created attachment 113549
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495830</commentid>
    <comment_count>3</comment_count>
      <attachid>113549</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-03 15:40:57 -0700</bug_when>
    <thetext>Comment on attachment 113549
Patch

Clearing flags on attachment: 113549

Committed r99238: &lt;http://trac.webkit.org/changeset/99238&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495831</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-03 15:41:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496067</commentid>
    <comment_count>5</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-11-03 23:48:45 -0700</bug_when>
    <thetext>It made fast/js/function-bind.html crash on SL, GTK and on Qt:
http://build.webkit.org/results/SnowLeopard%20Intel%20Release%20%28Tests%29/r99262%20%2834441%29/fast/js/function-bind-crash-log.txt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496088</commentid>
    <comment_count>6</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-11-04 00:37:18 -0700</bug_when>
    <thetext>Sorry, but I had to roll this patch out to make buildbot happier: http://trac.webkit.org/changeset/99264

Could you check what happened, please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496374</commentid>
    <comment_count>7</comment_count>
      <attachid>113694</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-11-04 12:03:56 -0700</bug_when>
    <thetext>Created attachment 113694
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496421</commentid>
    <comment_count>8</comment_count>
      <attachid>113694</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-04 13:37:49 -0700</bug_when>
    <thetext>Comment on attachment 113694
Patch

Clearing flags on attachment: 113694

Committed r99312: &lt;http://trac.webkit.org/changeset/99312&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496422</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-04 13:37:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113527</attachid>
            <date>2011-11-03 11:19:18 -0700</date>
            <delta_ts>2011-11-03 13:33:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71430-20111103111917.patch</filename>
            <type>text/plain</type>
            <size>13995</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkyMTAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGEw
OWM0ZGUyNzFiYWZjZWNiMDcxYzk5MGMxNzQzNmViMzg2M2I2ZjUuLjA2MjE3NzE1ZjZlZmMwZjg4
MzZjYjQ2ZWFjZGM5YzJhZDU1NjQxY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDM2IEBACisyMDExLTExLTAzICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBs
ZS5jb20+CisKKyAgICAgICAgRGUtdmlydHVhbGl6ZSBKU09iamVjdDo6aGFzSW5zdGFuY2UKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNDMwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgaGFzSW5z
dGFuY2UgdG8gdGhlIE1ldGhvZFRhYmxlLCBjaGFuZ2VkIGFsbCB0aGUgdmlydHVhbCAKKyAgICAg
ICAgaW1wbGVtZW50YXRpb25zIG9mIGhhc0luc3RhbmNlIHRvIHN0YXRpYyBvbmVzLCBhbmQgcmVw
bGFjZWQgCisgICAgICAgIGFsbCBjYWxsIHNpdGVzIHdpdGggY29ycmVzcG9uZGluZyBsb29rdXBz
IGluIHRoZSBNZXRob2RUYWJsZS4KKworICAgICAgICAqIEFQSS9KU0NhbGxiYWNrT2JqZWN0Lmg6
CisgICAgICAgICogQVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaDoKKyAgICAgICAgKEpT
Qzo6OjpoYXNJbnN0YW5jZSk6CisgICAgICAgICogQVBJL0pTVmFsdWVSZWYuY3BwOgorICAgICAg
ICAoSlNWYWx1ZUlzSW5zdGFuY2VPZkNvbnN0cnVjdG9yKToKKyAgICAgICAgKiBKYXZhU2NyaXB0
Q29yZS5leHA6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLmRlZjoKKyAgICAgICAgKiBpbnRlcnByZXRlci9JbnRlcnByZXRlci5j
cHA6CisgICAgICAgIChKU0M6OkludGVycHJldGVyOjpwcml2YXRlRXhlY3V0ZSk6CisgICAgICAg
ICogaml0L0pJVFN0dWJzLmNwcDoKKyAgICAgICAgKEpTQzo6REVGSU5FX1NUVUJfRlVOQ1RJT04p
OgorICAgICAgICAqIHJ1bnRpbWUvQ2xhc3NJbmZvLmg6CisgICAgICAgICogcnVudGltZS9KU0Jv
dW5kRnVuY3Rpb24uY3BwOgorICAgICAgICAoSlNDOjpKU0JvdW5kRnVuY3Rpb246Omhhc0luc3Rh
bmNlKToKKyAgICAgICAgKiBydW50aW1lL0pTQm91bmRGdW5jdGlvbi5oOgorICAgICAgICAqIHJ1
bnRpbWUvSlNDZWxsLmNwcDoKKyAgICAgICAgKEpTQzo6SlNDZWxsOjpoYXNJbnN0YW5jZSk6Cisg
ICAgICAgICogcnVudGltZS9KU0NlbGwuaDoKKyAgICAgICAgKiBydW50aW1lL0pTT2JqZWN0LmNw
cDoKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6Omhhc0luc3RhbmNlKToKKyAgICAgICAgKiBydW50
aW1lL0pTT2JqZWN0Lmg6CisKIDIwMTEtMTEtMDMgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgTm90IHJldmlld2VkOiBmaXhpbmcgd2luIGJ1aWxkLiBz
dGVwMi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09i
amVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmgKaW5k
ZXggNDA4MTQzNGQ3N2NmZjA1ZTc3NjNhNTFmODcwM2QyMDhlMThjNDBiOC4uMzQxODg1ZmE0MTE0
N2YzYzJhMzE4MzYyNjYzY2M5NDY4ZDNjYmNkNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU0NhbGxiYWNrT2JqZWN0LmgKQEAgLTE4NSw3ICsxODUsNyBAQCBwcml2YXRlOgogICAg
IHN0YXRpYyBib29sIGRlbGV0ZVByb3BlcnR5KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0IElk
ZW50aWZpZXImKTsKICAgICBzdGF0aWMgYm9vbCBkZWxldGVQcm9wZXJ0eUJ5SW5kZXgoSlNDZWxs
KiwgRXhlY1N0YXRlKiwgdW5zaWduZWQpOwogCi0gICAgdmlydHVhbCBib29sIGhhc0luc3RhbmNl
KEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSB2YWx1ZSwgSlNWYWx1ZSBwcm90byk7CisgICAgc3Rh
dGljIGJvb2wgaGFzSW5zdGFuY2UoSlNPYmplY3QqLCBFeGVjU3RhdGUqLCBKU1ZhbHVlLCBKU1Zh
bHVlIHByb3RvKTsKIAogICAgIHN0YXRpYyB2b2lkIGdldE93blByb3BlcnR5TmFtZXMoSlNPYmpl
Y3QqLCBFeGVjU3RhdGUqLCBQcm9wZXJ0eU5hbWVBcnJheSYsIEVudW1lcmF0aW9uTW9kZSk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdEZ1
bmN0aW9ucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0RnVu
Y3Rpb25zLmgKaW5kZXggMTgwYzA0MzMyOWQ4YjAwNWUzOGMxM2E0Y2JlNmY2Nzg5ZDdiZDQ1Ny4u
ZjZlZGIzNmM5M2M5MWVhN2ExMjVhMzUwMWM3Yjg1ZjFmM2VkNjIxNyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0RnVuY3Rpb25zLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0RnVuY3Rpb25zLmgKQEAg
LTM1NCwxMiArMzU0LDEzIEBAIEVuY29kZWRKU1ZhbHVlIEpTQ2FsbGJhY2tPYmplY3Q8UGFyZW50
Pjo6Y29uc3RydWN0KEV4ZWNTdGF0ZSogZXhlYykKIH0KIAogdGVtcGxhdGUgPGNsYXNzIFBhcmVu
dD4KLWJvb2wgSlNDYWxsYmFja09iamVjdDxQYXJlbnQ+OjpoYXNJbnN0YW5jZShFeGVjU3RhdGUq
IGV4ZWMsIEpTVmFsdWUgdmFsdWUsIEpTVmFsdWUpCitib29sIEpTQ2FsbGJhY2tPYmplY3Q8UGFy
ZW50Pjo6aGFzSW5zdGFuY2UoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCBKU1Zh
bHVlIHZhbHVlLCBKU1ZhbHVlKQogeworICAgIEpTQ2FsbGJhY2tPYmplY3QqIHRoaXNPYmplY3Qg
PSBzdGF0aWNfY2FzdDxKU0NhbGxiYWNrT2JqZWN0Kj4ob2JqZWN0KTsKICAgICBKU0NvbnRleHRS
ZWYgZXhlY1JlZiA9IHRvUmVmKGV4ZWMpOwotICAgIEpTT2JqZWN0UmVmIHRoaXNSZWYgPSB0b1Jl
Zih0aGlzKTsKKyAgICBKU09iamVjdFJlZiB0aGlzUmVmID0gdG9SZWYodGhpc09iamVjdCk7CiAg
ICAgCi0gICAgZm9yIChKU0NsYXNzUmVmIGpzQ2xhc3MgPSBjbGFzc1JlZigpOyBqc0NsYXNzOyBq
c0NsYXNzID0ganNDbGFzcy0+cGFyZW50Q2xhc3MpIHsKKyAgICBmb3IgKEpTQ2xhc3NSZWYganND
bGFzcyA9IHRoaXNPYmplY3QtPmNsYXNzUmVmKCk7IGpzQ2xhc3M7IGpzQ2xhc3MgPSBqc0NsYXNz
LT5wYXJlbnRDbGFzcykgewogICAgICAgICBpZiAoSlNPYmplY3RIYXNJbnN0YW5jZUNhbGxiYWNr
IGhhc0luc3RhbmNlID0ganNDbGFzcy0+aGFzSW5zdGFuY2UpIHsKICAgICAgICAgICAgIEpTVmFs
dWVSZWYgdmFsdWVSZWYgPSB0b1JlZihleGVjLCB2YWx1ZSk7CiAgICAgICAgICAgICBKU1ZhbHVl
UmVmIGV4Y2VwdGlvbiA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTVmFsdWVSZWYuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1ZhbHVlUmVmLmNw
cAppbmRleCA4MDNjY2Q5MWZlOGNjNjE2NDhhODg4ZTg3ZDUzOGVjZGVkY2VlNDJlLi45YjNlN2Iy
NzU3NmJkMGU3YmQ4YjU1Y2I5MDExNWFlZTEyYjc5NWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL0pTVmFsdWVSZWYuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvSlNWYWx1ZVJlZi5jcHAKQEAgLTE3NSw3ICsxNzUsNyBAQCBib29sIEpTVmFsdWVJc0lu
c3RhbmNlT2ZDb25zdHJ1Y3RvcihKU0NvbnRleHRSZWYgY3R4LCBKU1ZhbHVlUmVmIHZhbHVlLCBK
U09iamVjdAogICAgIEpTT2JqZWN0KiBqc0NvbnN0cnVjdG9yID0gdG9KUyhjb25zdHJ1Y3Rvcik7
CiAgICAgaWYgKCFqc0NvbnN0cnVjdG9yLT5zdHJ1Y3R1cmUoKS0+dHlwZUluZm8oKS5pbXBsZW1l
bnRzSGFzSW5zdGFuY2UoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGJvb2wgcmVzdWx0
ID0ganNDb25zdHJ1Y3Rvci0+aGFzSW5zdGFuY2UoZXhlYywganNWYWx1ZSwganNDb25zdHJ1Y3Rv
ci0+Z2V0KGV4ZWMsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5wcm90b3R5cGUpKTsgLy8gZmFsc2Ug
aWYgYW4gZXhjZXB0aW9uIGlzIHRocm93bgorICAgIGJvb2wgcmVzdWx0ID0ganNDb25zdHJ1Y3Rv
ci0+bWV0aG9kVGFibGUoKS0+aGFzSW5zdGFuY2UoanNDb25zdHJ1Y3RvciwgZXhlYywganNWYWx1
ZSwganNDb25zdHJ1Y3Rvci0+Z2V0KGV4ZWMsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5wcm90b3R5
cGUpKTsgLy8gZmFsc2UgaWYgYW4gZXhjZXB0aW9uIGlzIHRocm93bgogICAgIGlmIChleGVjLT5o
YWRFeGNlcHRpb24oKSkgewogICAgICAgICBpZiAoZXhjZXB0aW9uKQogICAgICAgICAgICAgKmV4
Y2VwdGlvbiA9IHRvUmVmKGV4ZWMsIGV4ZWMtPmV4Y2VwdGlvbigpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCmluZGV4IDg4Nzg1OWYxZGE1YTQ4ZDNlZjBiYjU5M2Zh
NTQ5YjM0ZDM2MWYyZDMuLjBkMTNiZjMxYmY2ZTRiOTZkMGI4NjZhOWNhNjZjY2EyZDc5MzlmMmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cApAQCAtMzAzLDcgKzMw
Myw3IEBAIF9fWk4zSlNDOERlYnVnZ2VyNmF0dGFjaEVQTlNfMTRKU0dsb2JhbE9iamVjdEUKIF9f
Wk4zSlNDOERlYnVnZ2VyNmRldGFjaEVQTlNfMTRKU0dsb2JhbE9iamVjdEUKIF9fWk4zSlNDOERl
YnVnZ2VyRDJFdgogX19aTjNKU0M4SlNPYmplY3QxMHB1dEJ5SW5kZXhFUE5TXzZKU0NlbGxFUE5T
XzlFeGVjU3RhdGVFak5TXzdKU1ZhbHVlRQotX19aTjNKU0M4SlNPYmplY3QxMWhhc0luc3RhbmNl
RVBOU185RXhlY1N0YXRlRU5TXzdKU1ZhbHVlRVMzXworX19aTjNKU0M4SlNPYmplY3QxMWhhc0lu
c3RhbmNlRVBTMF9QTlNfOUV4ZWNTdGF0ZUVOU183SlNWYWx1ZUVTNF8KIF9fWk4zSlNDOEpTT2Jq
ZWN0MTJkZWZpbmVHZXR0ZXJFUFMwX1BOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRVMx
X2oKIF9fWk4zSlNDOEpTT2JqZWN0MTJkZWZhdWx0VmFsdWVFUEtTMF9QTlNfOUV4ZWNTdGF0ZUVO
U18yMlByZWZlcnJlZFByaW1pdGl2ZVR5cGVFCiBfX1pOM0pTQzhKU09iamVjdDEyZGVmaW5lU2V0
dGVyRVBTMF9QTlNfOUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckVTMV9qCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLmRlZiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmCmluZGV4IDZmMGZj
M2M3NDc5MTk4NzAwZGIzYTdjNzg2NmFlNWE4MjlmZWI0N2MuLmRlMTkzYzk0YTgyMGM0Mjc4ZDA4
MTJlOGM2ZmEwNDI0NzI2MDM4NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUuZGVmCkBAIC0yMTEsNyArMjExLDcgQEAgRVhQT1JUUwogICAg
ID9nbG9iYWxFeGVjQEpTR2xvYmFsT2JqZWN0QEpTQ0BAUUFFUEFWRXhlY1N0YXRlQDJAWFoKICAg
ICA/Z2xvYmFsT2JqZWN0Q291bnRASGVhcEBKU0NAQFFBRUlYWgogICAgID9ncm93QEhhbmRsZUhl
YXBASlNDQEBBQUVYWFoKLSAgICA/aGFzSW5zdGFuY2VASlNPYmplY3RASlNDQEBVQUVfTlBBVkV4
ZWNTdGF0ZUAyQFZKU1ZhbHVlQDJAMUBaCisgICAgP2hhc0luc3RhbmNlQEpTT2JqZWN0QEpTQ0BA
U0FfTlBBVjEyQFBBVkV4ZWNTdGF0ZUAyQFZKU1ZhbHVlQDJAMkBaCiAgICAgP2hhc1Byb3BlcnR5
QEpTT2JqZWN0QEpTQ0BAUUJFX05QQVZFeGVjU3RhdGVAMkBBQlZJZGVudGlmaWVyQDJAQFoKICAg
ICA/aGFzUHJvcGVydHlASlNPYmplY3RASlNDQEBRQkVfTlBBVkV4ZWNTdGF0ZUAyQElAWgogICAg
ID9oZWFwQEhlYXBASlNDQEBTQVBBVjEyQFZKU1ZhbHVlQDJAQFoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCmluZGV4IDQ5NjIzODQyMWYx
ZTdmM2RiZjcxOGM2YzRkNjE2NWU3OGNlMDUxOTEuLjliZDk3YTViNzBjNzlkYzg4MWU5ZDBiZmU5
NzYxZTExODFiYmU3MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnBy
ZXRlci9JbnRlcnByZXRlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL0ludGVycHJldGVyLmNwcApAQCAtMjM1NCw3ICsyMzU0LDcgQEAgSlNWYWx1ZSBJbnRlcnBy
ZXRlcjo6cHJpdmF0ZUV4ZWN1dGUoRXhlY3V0aW9uRmxhZyBmbGFnLCBSZWdpc3RlckZpbGUqIHJl
Z2lzdGVyRmkKIAogICAgICAgICBBU1NFUlQoIWlzSW52YWxpZFBhcmFtRm9ySW5zdGFuY2VPZihj
YWxsRnJhbWUsIGJhc2VWYWwsIGV4Y2VwdGlvblZhbHVlKSk7CiAKLSAgICAgICAgYm9vbCByZXN1
bHQgPSBhc09iamVjdChiYXNlVmFsKS0+aGFzSW5zdGFuY2UoY2FsbEZyYW1lLCBjYWxsRnJhbWUt
PnIodmFsdWUpLmpzVmFsdWUoKSwgY2FsbEZyYW1lLT5yKGJhc2VQcm90bykuanNWYWx1ZSgpKTsK
KyAgICAgICAgYm9vbCByZXN1bHQgPSBhc09iamVjdChiYXNlVmFsKS0+bWV0aG9kVGFibGUoKS0+
aGFzSW5zdGFuY2UoYXNPYmplY3QoYmFzZVZhbCksIGNhbGxGcmFtZSwgY2FsbEZyYW1lLT5yKHZh
bHVlKS5qc1ZhbHVlKCksIGNhbGxGcmFtZS0+cihiYXNlUHJvdG8pLmpzVmFsdWUoKSk7CiAgICAg
ICAgIENIRUNLX0ZPUl9FWENFUFRJT04oKTsKICAgICAgICAgY2FsbEZyYW1lLT51bmNoZWNrZWRS
KGRzdCkgPSBqc0Jvb2xlYW4ocmVzdWx0KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRTdHVicy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0
dWJzLmNwcAppbmRleCAxYjAyNTQxZjI2NTQxY2Q5MTdiZTBjMzU5YWUyOGUyZDUxZGU5YTEwLi5i
ZWIwNTFjODFjYTRmYjIzZjc5YzM5NjgxZTNiM2JkOWY1NmJkM2NlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVFN0dWJzLmNwcApAQCAtMjA5Miw3ICsyMDkyLDcgQEAgREVGSU5FX1NUVUJf
RlVOQ1RJT04oRW5jb2RlZEpTVmFsdWUsIG9wX2luc3RhbmNlb2YpCiAgICAgaWYgKCF0eXBlSW5m
by5vdmVycmlkZXNIYXNJbnN0YW5jZSgpICYmICF2YWx1ZS5pc09iamVjdCgpKQogICAgICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbihmYWxzZSkpOwogCi0gICAgSlNWYWx1ZSBy
ZXN1bHQgPSBqc0Jvb2xlYW4oYXNPYmplY3QoYmFzZVZhbCktPmhhc0luc3RhbmNlKGNhbGxGcmFt
ZSwgdmFsdWUsIHByb3RvKSk7CisgICAgSlNWYWx1ZSByZXN1bHQgPSBqc0Jvb2xlYW4oYXNPYmpl
Y3QoYmFzZVZhbCktPm1ldGhvZFRhYmxlKCktPmhhc0luc3RhbmNlKGFzT2JqZWN0KGJhc2VWYWwp
LCBjYWxsRnJhbWUsIHZhbHVlLCBwcm90bykpOwogICAgIENIRUNLX0ZPUl9FWENFUFRJT05fQVRf
RU5EKCk7CiAKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DbGFzc0luZm8uaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0NsYXNzSW5mby5oCmluZGV4IGUxMTY1MTc4OTNlNzIxOTgzNTlj
ZDY5M2RlMWRlNzhhNmE2ZjA2NDguLjhlNDcwMjcxOWEzOGNjMGQzMjE0ZjdlYmFmYzFmODJmMzg2
NjJiMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NsYXNzSW5m
by5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NsYXNzSW5mby5oCkBAIC03
NCw2ICs3NCw5IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIHR5cGVkZWYgdm9pZCAoKkdl
dE93blByb3BlcnR5TmFtZXNGdW5jdGlvblB0cikoSlNPYmplY3QqLCBFeGVjU3RhdGUqLCBQcm9w
ZXJ0eU5hbWVBcnJheSYsIEVudW1lcmF0aW9uTW9kZSk7CiAgICAgICAgIEdldE93blByb3BlcnR5
TmFtZXNGdW5jdGlvblB0ciBnZXRPd25Qcm9wZXJ0eU5hbWVzOworCisgICAgICAgIHR5cGVkZWYg
Ym9vbCAoKkhhc0luc3RhbmNlRnVuY3Rpb25QdHIpKEpTT2JqZWN0KiwgRXhlY1N0YXRlKiwgSlNW
YWx1ZSwgSlNWYWx1ZSk7CisgICAgICAgIEhhc0luc3RhbmNlRnVuY3Rpb25QdHIgaGFzSW5zdGFu
Y2U7CiAgICAgfTsKIAogI2RlZmluZSBDUkVBVEVfTUVNQkVSX0NIRUNLRVIobWVtYmVyKSBcCkBA
IC0xMTAsNiArMTEzLDcgQEAgc3RydWN0IE1lbWJlckNoZWNrIyNtZW1iZXIgeyBcCiAgICAgICAg
ICZDbGFzc05hbWU6OmRlZmluZVNldHRlciwgXAogICAgICAgICAmQ2xhc3NOYW1lOjpkZWZhdWx0
VmFsdWUsIFwKICAgICAgICAgJkNsYXNzTmFtZTo6Z2V0T3duUHJvcGVydHlOYW1lcywgXAorICAg
ICAgICAmQ2xhc3NOYW1lOjpoYXNJbnN0YW5jZSwgXAogICAgIH0sIFwKICAgICBzaXplb2YoQ2xh
c3NOYW1lKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Jv
dW5kRnVuY3Rpb24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCb3VuZEZ1
bmN0aW9uLmNwcAppbmRleCBmYzIzN2ZmZWY4YTYwYTI4MWY0MWQ5MzA1ZGJhNTY5MGE0YWZhOTk1
Li5jZDNlZDI3MjMxMGNlMDkwMTkwZjc3M2Y5YWNhNWQ3YWNhMWEwYzE1IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JvdW5kRnVuY3Rpb24uY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQm91bmRGdW5jdGlvbi5jcHAKQEAgLTg3LDEz
ICs4NywxNCBAQCBKU0JvdW5kRnVuY3Rpb24qIEpTQm91bmRGdW5jdGlvbjo6Y3JlYXRlKEV4ZWNT
dGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbAogICAgIHJldHVybiBmdW5jdGlvbjsK
IH0KIAotYm9vbCBKU0JvdW5kRnVuY3Rpb246Omhhc0luc3RhbmNlKEV4ZWNTdGF0ZSogZXhlYywg
SlNWYWx1ZSB2YWx1ZSwgSlNWYWx1ZSkKK2Jvb2wgSlNCb3VuZEZ1bmN0aW9uOjpoYXNJbnN0YW5j
ZShKU09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgdmFsdWUsIEpTVmFs
dWUpCiB7CisgICAgSlNCb3VuZEZ1bmN0aW9uKiB0aGlzT2JqZWN0ID0gc3RhdGljX2Nhc3Q8SlNC
b3VuZEZ1bmN0aW9uKj4ob2JqZWN0KTsKICAgICAvLyBGSVhNRTogb3VyIGluc3RhbmNlb2YgaW1w
bGVtZW50YXRpb24gd2lsbCBoYXZlIGFscmVhZHkgKGluY29ycmVjdGx5KSBwZXJmb3JtZWQKICAg
ICAvLyBhIFtbR2V0XV0gb2YgLnByb3RvdHlwZSBmcm9tIHRoZSBib3VuZCBmdW5jdGlvbiBvYmpl
Y3QsIHdoaWNoIGlzIGluY29ycmVjdCEKICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9Njg2NTYKLSAgICBKU1ZhbHVlIHByb3RvID0gbV90YXJnZXRGdW5jdGlv
bi0+Z2V0KGV4ZWMsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5wcm90b3R5cGUpOwotICAgIHJldHVy
biBtX3RhcmdldEZ1bmN0aW9uLT5oYXNJbnN0YW5jZShleGVjLCB2YWx1ZSwgcHJvdG8pOworICAg
IEpTVmFsdWUgcHJvdG8gPSB0aGlzT2JqZWN0LT5tX3RhcmdldEZ1bmN0aW9uLT5nZXQoZXhlYywg
ZXhlYy0+cHJvcGVydHlOYW1lcygpLnByb3RvdHlwZSk7CisgICAgcmV0dXJuIHRoaXNPYmplY3Qt
Pm1fdGFyZ2V0RnVuY3Rpb24tPm1ldGhvZFRhYmxlKCktPmhhc0luc3RhbmNlKHRoaXNPYmplY3Qs
IGV4ZWMsIHZhbHVlLCBwcm90byk7CiB9CiAKIEpTQm91bmRGdW5jdGlvbjo6SlNCb3VuZEZ1bmN0
aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUsIEpTT2JqZWN0KiB0YXJnZXRGdW5jdGlvbiwgSlNWYWx1ZSBib3VuZFRo
aXMsIEpTVmFsdWUgYm91bmRBcmdzKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNCb3VuZEZ1bmN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0JvdW5kRnVuY3Rpb24uaAppbmRleCBkZjg0ZjcxZTg2YTAyMzk1NTRlNzA3NzQ2ZDFjODFj
MzQyZjk4ZDNkLi5jNjBkN2RiMDE5ZTExZmE3ZDRjYThkMDlmNTFjZWNjYTA4ODkwODBlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JvdW5kRnVuY3Rpb24uaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JvdW5kRnVuY3Rpb24uaApAQCAt
MzksNyArMzksNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgSlNCb3VuZEZ1bmN0aW9uKiBjcmVh
dGUoRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogdGFyZ2V0RnVuY3Rpb24s
IEpTVmFsdWUgYm91bmRUaGlzLCBKU1ZhbHVlIGJvdW5kQXJncywgaW50LCBjb25zdCBJZGVudGlm
aWVyJik7CiAKLSAgICB2aXJ0dWFsIGJvb2wgaGFzSW5zdGFuY2UoRXhlY1N0YXRlKiwgSlNWYWx1
ZSB2YWx1ZSwgSlNWYWx1ZSBwcm90byk7CisgICAgc3RhdGljIGJvb2wgaGFzSW5zdGFuY2UoSlNP
YmplY3QqLCBFeGVjU3RhdGUqLCBKU1ZhbHVlLCBKU1ZhbHVlIHByb3RvKTsKIAogICAgIEpTT2Jq
ZWN0KiB0YXJnZXRGdW5jdGlvbigpIHsgcmV0dXJuIG1fdGFyZ2V0RnVuY3Rpb24uZ2V0KCk7IH0K
ICAgICBKU1ZhbHVlIGJvdW5kVGhpcygpIHsgcmV0dXJuIG1fYm91bmRUaGlzLmdldCgpOyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmNwcAppbmRleCAyZDQ4ZWMzNTk1MzZh
YjlmM2RmYjQ0NzhmYWY1Njk0NDRjZTJjMTY1Li5hMDk4NzczNGUzZDlkNTc2YTM4MzNmNDVmYzc2
YWIxMmY1MDJjZjk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0NlbGwuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAK
QEAgLTE3OSw0ICsxNzksMTAgQEAgdm9pZCBKU0NlbGw6OmdldE93blByb3BlcnR5TmFtZXMoSlNP
YmplY3QqLCBFeGVjU3RhdGUqLCBQcm9wZXJ0eU5hbWVBcnJheSYsIEVudW0KICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKIH0KIAorYm9vbCBKU0NlbGw6Omhhc0luc3RhbmNlKEpTT2JqZWN0Kiwg
RXhlY1N0YXRlKiwgSlNWYWx1ZSwgSlNWYWx1ZSkKK3sKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0NlbGwuaAppbmRleCAwZDVkYTRlZDFhMTdlM2E2YmFiMTlhZTAz
NmMwMWNiYTNkNjc1MDE3Li40ZDJiZmMzMWIxODQ5NzZkYTM2MTc1ZmEzOTg1ZWJiYTE4MjI1NmU5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaApAQCAtMTQ0LDYgKzE0NCw3
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBzdGF0aWMgTk9fUkVUVVJOX0RVRV9UT19BU1NF
UlQgdm9pZCBkZWZpbmVTZXR0ZXIoSlNPYmplY3QqLCBFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlm
aWVyJiBwcm9wZXJ0eU5hbWUsIEpTT2JqZWN0KiBzZXR0ZXJGdW5jdGlvbiwgdW5zaWduZWQgYXR0
cmlidXRlcyA9IDApOwogICAgICAgICBzdGF0aWMgSlNWYWx1ZSBkZWZhdWx0VmFsdWUoY29uc3Qg
SlNPYmplY3QqLCBFeGVjU3RhdGUqLCBQcmVmZXJyZWRQcmltaXRpdmVUeXBlKTsKICAgICAgICAg
c3RhdGljIE5PX1JFVFVSTl9EVUVfVE9fQVNTRVJUIHZvaWQgZ2V0T3duUHJvcGVydHlOYW1lcyhK
U09iamVjdCosIEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFtZUFycmF5JiwgRW51bWVyYXRpb25Nb2Rl
KTsKKyAgICAgICAgc3RhdGljIGJvb2wgaGFzSW5zdGFuY2UoSlNPYmplY3QqLCBFeGVjU3RhdGUq
LCBKU1ZhbHVlLCBKU1ZhbHVlIHByb3RvdHlwZVByb3BlcnR5KTsKIAogICAgIHByaXZhdGU6CiAg
ICAgICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fc3RydWN0dXJlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCmluZGV4IDVlMGY3OWMzNDk4NmQ4N2Y3M2Ix
MGU4MDQ1YTcwN2EwMDBjZjU4NGEuLjU3NDQzNjFkZjE2MDQwMThmZWU0ZGM5OWMyYWFmNDg1ZjYx
MDZjYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKQEAg
LTQ1Niw3ICs0NTYsNyBAQCBKU1ZhbHVlIEpTT2JqZWN0Ojpsb29rdXBTZXR0ZXIoRXhlY1N0YXRl
KiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpCiAgICAgcmV0dXJuIGRlc2Ny
aXB0b3Iuc2V0dGVyKCk7CiB9CiAKLWJvb2wgSlNPYmplY3Q6Omhhc0luc3RhbmNlKEV4ZWNTdGF0
ZSogZXhlYywgSlNWYWx1ZSB2YWx1ZSwgSlNWYWx1ZSBwcm90bykKK2Jvb2wgSlNPYmplY3Q6Omhh
c0luc3RhbmNlKEpTT2JqZWN0KiwgRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHZhbHVlLCBKU1Zh
bHVlIHByb3RvKQogewogICAgIGlmICghdmFsdWUuaXNPYmplY3QoKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmpl
Y3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKaW5kZXggNDYz
MGFmY2NjMDk0YmJhNDNhNDMzZjA3ODQwMzAwYWU5MDczZjRiYi4uMTQ0NmQxZTE5ZTFjM2M3ZTY5
MjY0ODIxMWM2NDRhNDBkODBjYWU3OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U09iamVjdC5oCkBAIC0xMjQsNyArMTI0LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAg
c3RhdGljIEpTVmFsdWUgZGVmYXVsdFZhbHVlKGNvbnN0IEpTT2JqZWN0KiwgRXhlY1N0YXRlKiwg
UHJlZmVycmVkUHJpbWl0aXZlVHlwZSk7CiAKLSAgICAgICAgdmlydHVhbCBib29sIGhhc0luc3Rh
bmNlKEV4ZWNTdGF0ZSosIEpTVmFsdWUsIEpTVmFsdWUgcHJvdG90eXBlUHJvcGVydHkpOworICAg
ICAgICBzdGF0aWMgYm9vbCBoYXNJbnN0YW5jZShKU09iamVjdCosIEV4ZWNTdGF0ZSosIEpTVmFs
dWUsIEpTVmFsdWUgcHJvdG90eXBlUHJvcGVydHkpOwogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBn
ZXRQcm9wZXJ0eU5hbWVzKEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFtZUFycmF5JiwgRW51bWVyYXRp
b25Nb2RlIG1vZGUgPSBFeGNsdWRlRG9udEVudW1Qcm9wZXJ0aWVzKTsKICAgICAgICAgc3RhdGlj
IHZvaWQgZ2V0T3duUHJvcGVydHlOYW1lcyhKU09iamVjdCosIEV4ZWNTdGF0ZSosIFByb3BlcnR5
TmFtZUFycmF5JiwgRW51bWVyYXRpb25Nb2RlKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113549</attachid>
            <date>2011-11-03 13:33:07 -0700</date>
            <delta_ts>2011-11-04 12:03:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71430-20111103133306.patch</filename>
            <type>text/plain</type>
            <size>13821</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkyMjMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDQ0
ZWVmMDZhODJjNWU3ZTQ2ZmY5YWZiMmUxMzI5OGQ1YTM1ZmFjNWQuLjg0OGEzM2Y2NTE2ODQxZGYz
MmU5MmJmOWYxNWQzNjJmMGNjNGQxNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSw1
ICsxLDM4IEBACiAyMDExLTExLTAzICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBs
ZS5jb20+CiAKKyAgICAgICAgRGUtdmlydHVhbGl6ZSBKU09iamVjdDo6aGFzSW5zdGFuY2UKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNDMwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgaGFzSW5z
dGFuY2UgdG8gdGhlIE1ldGhvZFRhYmxlLCBjaGFuZ2VkIGFsbCB0aGUgdmlydHVhbCAKKyAgICAg
ICAgaW1wbGVtZW50YXRpb25zIG9mIGhhc0luc3RhbmNlIHRvIHN0YXRpYyBvbmVzLCBhbmQgcmVw
bGFjZWQgCisgICAgICAgIGFsbCBjYWxsIHNpdGVzIHdpdGggY29ycmVzcG9uZGluZyBsb29rdXBz
IGluIHRoZSBNZXRob2RUYWJsZS4KKworICAgICAgICAqIEFQSS9KU0NhbGxiYWNrT2JqZWN0Lmg6
CisgICAgICAgICogQVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaDoKKyAgICAgICAgKEpT
Qzo6OjpoYXNJbnN0YW5jZSk6CisgICAgICAgICogQVBJL0pTVmFsdWVSZWYuY3BwOgorICAgICAg
ICAoSlNWYWx1ZUlzSW5zdGFuY2VPZkNvbnN0cnVjdG9yKToKKyAgICAgICAgKiBKYXZhU2NyaXB0
Q29yZS5leHA6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLmRlZjoKKyAgICAgICAgKiBpbnRlcnByZXRlci9JbnRlcnByZXRlci5j
cHA6CisgICAgICAgIChKU0M6OkludGVycHJldGVyOjpwcml2YXRlRXhlY3V0ZSk6CisgICAgICAg
ICogaml0L0pJVFN0dWJzLmNwcDoKKyAgICAgICAgKEpTQzo6REVGSU5FX1NUVUJfRlVOQ1RJT04p
OgorICAgICAgICAqIHJ1bnRpbWUvQ2xhc3NJbmZvLmg6CisgICAgICAgICogcnVudGltZS9KU0Jv
dW5kRnVuY3Rpb24uY3BwOgorICAgICAgICAoSlNDOjpKU0JvdW5kRnVuY3Rpb246Omhhc0luc3Rh
bmNlKToKKyAgICAgICAgKiBydW50aW1lL0pTQm91bmRGdW5jdGlvbi5oOgorICAgICAgICAqIHJ1
bnRpbWUvSlNDZWxsLmNwcDoKKyAgICAgICAgKEpTQzo6SlNDZWxsOjpoYXNJbnN0YW5jZSk6Cisg
ICAgICAgICogcnVudGltZS9KU0NlbGwuaDoKKyAgICAgICAgKiBydW50aW1lL0pTT2JqZWN0LmNw
cDoKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6Omhhc0luc3RhbmNlKToKKyAgICAgICAgKiBydW50
aW1lL0pTT2JqZWN0Lmg6CisKKzIwMTEtMTEtMDMgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5i
ZXJnQGFwcGxlLmNvbT4KKwogICAgICAgICBEZS12aXJ0dWFsaXplIEpTT2JqZWN0OjpjbGFzc05h
bWUKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNDI4
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVj
dC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmgKaW5kZXgg
NjI1MDgyZWQzMWFmMzBhMDllMWZiNThiODBkY2Q5MzEwZDhlZGQ3MS4uNDY5MjRhMGMzNmY0OWIz
NmVlNDA5Y2ExMDdkYmY5YzZmNmY4NTI1MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9KU0NhbGxiYWNrT2JqZWN0LmgKQEAgLTE4NSw3ICsxODUsNyBAQCBwcml2YXRlOgogICAgIHN0
YXRpYyBib29sIGRlbGV0ZVByb3BlcnR5KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50
aWZpZXImKTsKICAgICBzdGF0aWMgYm9vbCBkZWxldGVQcm9wZXJ0eUJ5SW5kZXgoSlNDZWxsKiwg
RXhlY1N0YXRlKiwgdW5zaWduZWQpOwogCi0gICAgdmlydHVhbCBib29sIGhhc0luc3RhbmNlKEV4
ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSB2YWx1ZSwgSlNWYWx1ZSBwcm90byk7CisgICAgc3RhdGlj
IGJvb2wgaGFzSW5zdGFuY2UoSlNPYmplY3QqLCBFeGVjU3RhdGUqLCBKU1ZhbHVlLCBKU1ZhbHVl
IHByb3RvKTsKIAogICAgIHN0YXRpYyB2b2lkIGdldE93blByb3BlcnR5TmFtZXMoSlNPYmplY3Qq
LCBFeGVjU3RhdGUqLCBQcm9wZXJ0eU5hbWVBcnJheSYsIEVudW1lcmF0aW9uTW9kZSk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdEZ1bmN0
aW9ucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0RnVuY3Rp
b25zLmgKaW5kZXggOWIxMDBiY2Q4MmY3OTQ1MDAwYjdlZDM0ZjUyYTQyZGVhZDY5NTA0MS4uZGQ1
ZWJkODY5OTczN2E5NGI0YTRhMWU0NDQyN2UxNjdmMzAxMmUwNCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0RnVuY3Rpb25zLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0RnVuY3Rpb25zLmgKQEAgLTM1
NSwxMiArMzU1LDEzIEBAIEVuY29kZWRKU1ZhbHVlIEpTQ2FsbGJhY2tPYmplY3Q8UGFyZW50Pjo6
Y29uc3RydWN0KEV4ZWNTdGF0ZSogZXhlYykKIH0KIAogdGVtcGxhdGUgPGNsYXNzIFBhcmVudD4K
LWJvb2wgSlNDYWxsYmFja09iamVjdDxQYXJlbnQ+OjpoYXNJbnN0YW5jZShFeGVjU3RhdGUqIGV4
ZWMsIEpTVmFsdWUgdmFsdWUsIEpTVmFsdWUpCitib29sIEpTQ2FsbGJhY2tPYmplY3Q8UGFyZW50
Pjo6aGFzSW5zdGFuY2UoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVl
IHZhbHVlLCBKU1ZhbHVlKQogeworICAgIEpTQ2FsbGJhY2tPYmplY3QqIHRoaXNPYmplY3QgPSBz
dGF0aWNfY2FzdDxKU0NhbGxiYWNrT2JqZWN0Kj4ob2JqZWN0KTsKICAgICBKU0NvbnRleHRSZWYg
ZXhlY1JlZiA9IHRvUmVmKGV4ZWMpOwotICAgIEpTT2JqZWN0UmVmIHRoaXNSZWYgPSB0b1JlZih0
aGlzKTsKKyAgICBKU09iamVjdFJlZiB0aGlzUmVmID0gdG9SZWYodGhpc09iamVjdCk7CiAgICAg
Ci0gICAgZm9yIChKU0NsYXNzUmVmIGpzQ2xhc3MgPSBjbGFzc1JlZigpOyBqc0NsYXNzOyBqc0Ns
YXNzID0ganNDbGFzcy0+cGFyZW50Q2xhc3MpIHsKKyAgICBmb3IgKEpTQ2xhc3NSZWYganNDbGFz
cyA9IHRoaXNPYmplY3QtPmNsYXNzUmVmKCk7IGpzQ2xhc3M7IGpzQ2xhc3MgPSBqc0NsYXNzLT5w
YXJlbnRDbGFzcykgewogICAgICAgICBpZiAoSlNPYmplY3RIYXNJbnN0YW5jZUNhbGxiYWNrIGhh
c0luc3RhbmNlID0ganNDbGFzcy0+aGFzSW5zdGFuY2UpIHsKICAgICAgICAgICAgIEpTVmFsdWVS
ZWYgdmFsdWVSZWYgPSB0b1JlZihleGVjLCB2YWx1ZSk7CiAgICAgICAgICAgICBKU1ZhbHVlUmVm
IGV4Y2VwdGlvbiA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pT
VmFsdWVSZWYuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1ZhbHVlUmVmLmNwcApp
bmRleCA4MDNjY2Q5MWZlOGNjNjE2NDhhODg4ZTg3ZDUzOGVjZGVkY2VlNDJlLi45YjNlN2IyNzU3
NmJkMGU3YmQ4YjU1Y2I5MDExNWFlZTEyYjc5NWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL0pTVmFsdWVSZWYuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9B
UEkvSlNWYWx1ZVJlZi5jcHAKQEAgLTE3NSw3ICsxNzUsNyBAQCBib29sIEpTVmFsdWVJc0luc3Rh
bmNlT2ZDb25zdHJ1Y3RvcihKU0NvbnRleHRSZWYgY3R4LCBKU1ZhbHVlUmVmIHZhbHVlLCBKU09i
amVjdAogICAgIEpTT2JqZWN0KiBqc0NvbnN0cnVjdG9yID0gdG9KUyhjb25zdHJ1Y3Rvcik7CiAg
ICAgaWYgKCFqc0NvbnN0cnVjdG9yLT5zdHJ1Y3R1cmUoKS0+dHlwZUluZm8oKS5pbXBsZW1lbnRz
SGFzSW5zdGFuY2UoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGJvb2wgcmVzdWx0ID0g
anNDb25zdHJ1Y3Rvci0+aGFzSW5zdGFuY2UoZXhlYywganNWYWx1ZSwganNDb25zdHJ1Y3Rvci0+
Z2V0KGV4ZWMsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5wcm90b3R5cGUpKTsgLy8gZmFsc2UgaWYg
YW4gZXhjZXB0aW9uIGlzIHRocm93bgorICAgIGJvb2wgcmVzdWx0ID0ganNDb25zdHJ1Y3Rvci0+
bWV0aG9kVGFibGUoKS0+aGFzSW5zdGFuY2UoanNDb25zdHJ1Y3RvciwgZXhlYywganNWYWx1ZSwg
anNDb25zdHJ1Y3Rvci0+Z2V0KGV4ZWMsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5wcm90b3R5cGUp
KTsgLy8gZmFsc2UgaWYgYW4gZXhjZXB0aW9uIGlzIHRocm93bgogICAgIGlmIChleGVjLT5oYWRF
eGNlcHRpb24oKSkgewogICAgICAgICBpZiAoZXhjZXB0aW9uKQogICAgICAgICAgICAgKmV4Y2Vw
dGlvbiA9IHRvUmVmKGV4ZWMsIGV4ZWMtPmV4Y2VwdGlvbigpKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUuZXhwCmluZGV4IGFkM2UwZTcyNjc2NTc1ODk1MTAxMmI4MzEwOTRm
Zjg1MjdmZWQ5ZTguLmFjMjQ1M2E3OGE2MjAxMjE0YjI0OWNiMGYwMWMwZjI1Mjk2NTgwODQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cApAQCAtMzAzLDcgKzMwMyw3
IEBAIF9fWk4zSlNDOERlYnVnZ2VyNmF0dGFjaEVQTlNfMTRKU0dsb2JhbE9iamVjdEUKIF9fWk4z
SlNDOERlYnVnZ2VyNmRldGFjaEVQTlNfMTRKU0dsb2JhbE9iamVjdEUKIF9fWk4zSlNDOERlYnVn
Z2VyRDJFdgogX19aTjNKU0M4SlNPYmplY3QxMHB1dEJ5SW5kZXhFUE5TXzZKU0NlbGxFUE5TXzlF
eGVjU3RhdGVFak5TXzdKU1ZhbHVlRQotX19aTjNKU0M4SlNPYmplY3QxMWhhc0luc3RhbmNlRVBO
U185RXhlY1N0YXRlRU5TXzdKU1ZhbHVlRVMzXworX19aTjNKU0M4SlNPYmplY3QxMWhhc0luc3Rh
bmNlRVBTMF9QTlNfOUV4ZWNTdGF0ZUVOU183SlNWYWx1ZUVTNF8KIF9fWk4zSlNDOEpTT2JqZWN0
MTJkZWZpbmVHZXR0ZXJFUFMwX1BOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRVMxX2oK
IF9fWk4zSlNDOEpTT2JqZWN0MTJkZWZhdWx0VmFsdWVFUEtTMF9QTlNfOUV4ZWNTdGF0ZUVOU18y
MlByZWZlcnJlZFByaW1pdGl2ZVR5cGVFCiBfX1pOM0pTQzhKU09iamVjdDEyZGVmaW5lU2V0dGVy
RVBTMF9QTlNfOUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckVTMV9qCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLmRlZiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmCmluZGV4IDk0MzE1MGI1
YWVkZTcyZjcwMjhmM2YyYmFhNDA1ZDQ2ZTY0ZWM0ODYuLjJjZTFkN2JiMzczMDY0N2IyZWI3MzAw
NTViM2M4ODk2MWMzNmE5NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUuZGVmCkBAIC0yMTEsNyArMjExLDcgQEAgRVhQT1JUUwogICAgID9n
bG9iYWxFeGVjQEpTR2xvYmFsT2JqZWN0QEpTQ0BAUUFFUEFWRXhlY1N0YXRlQDJAWFoKICAgICA/
Z2xvYmFsT2JqZWN0Q291bnRASGVhcEBKU0NAQFFBRUlYWgogICAgID9ncm93QEhhbmRsZUhlYXBA
SlNDQEBBQUVYWFoKLSAgICA/aGFzSW5zdGFuY2VASlNPYmplY3RASlNDQEBVQUVfTlBBVkV4ZWNT
dGF0ZUAyQFZKU1ZhbHVlQDJAMUBaCisgICAgP2hhc0luc3RhbmNlQEpTT2JqZWN0QEpTQ0BAU0Ff
TlBBVjEyQFBBVkV4ZWNTdGF0ZUAyQFZKU1ZhbHVlQDJAMkBaCiAgICAgP2hhc1Byb3BlcnR5QEpT
T2JqZWN0QEpTQ0BAUUJFX05QQVZFeGVjU3RhdGVAMkBBQlZJZGVudGlmaWVyQDJAQFoKICAgICA/
aGFzUHJvcGVydHlASlNPYmplY3RASlNDQEBRQkVfTlBBVkV4ZWNTdGF0ZUAyQElAWgogICAgID9o
ZWFwQEhlYXBASlNDQEBTQVBBVjEyQFZKU1ZhbHVlQDJAQFoKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCmluZGV4IDQ5NjIzODQyMWYxZTdm
M2RiZjcxOGM2YzRkNjE2NWU3OGNlMDUxOTEuLjliZDk3YTViNzBjNzlkYzg4MWU5ZDBiZmU5NzYx
ZTExODFiYmU3MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9JbnRlcnByZXRlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVy
L0ludGVycHJldGVyLmNwcApAQCAtMjM1NCw3ICsyMzU0LDcgQEAgSlNWYWx1ZSBJbnRlcnByZXRl
cjo6cHJpdmF0ZUV4ZWN1dGUoRXhlY3V0aW9uRmxhZyBmbGFnLCBSZWdpc3RlckZpbGUqIHJlZ2lz
dGVyRmkKIAogICAgICAgICBBU1NFUlQoIWlzSW52YWxpZFBhcmFtRm9ySW5zdGFuY2VPZihjYWxs
RnJhbWUsIGJhc2VWYWwsIGV4Y2VwdGlvblZhbHVlKSk7CiAKLSAgICAgICAgYm9vbCByZXN1bHQg
PSBhc09iamVjdChiYXNlVmFsKS0+aGFzSW5zdGFuY2UoY2FsbEZyYW1lLCBjYWxsRnJhbWUtPnIo
dmFsdWUpLmpzVmFsdWUoKSwgY2FsbEZyYW1lLT5yKGJhc2VQcm90bykuanNWYWx1ZSgpKTsKKyAg
ICAgICAgYm9vbCByZXN1bHQgPSBhc09iamVjdChiYXNlVmFsKS0+bWV0aG9kVGFibGUoKS0+aGFz
SW5zdGFuY2UoYXNPYmplY3QoYmFzZVZhbCksIGNhbGxGcmFtZSwgY2FsbEZyYW1lLT5yKHZhbHVl
KS5qc1ZhbHVlKCksIGNhbGxGcmFtZS0+cihiYXNlUHJvdG8pLmpzVmFsdWUoKSk7CiAgICAgICAg
IENIRUNLX0ZPUl9FWENFUFRJT04oKTsKICAgICAgICAgY2FsbEZyYW1lLT51bmNoZWNrZWRSKGRz
dCkgPSBqc0Jvb2xlYW4ocmVzdWx0KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRTdHVicy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJz
LmNwcAppbmRleCAxYjAyNTQxZjI2NTQxY2Q5MTdiZTBjMzU5YWUyOGUyZDUxZGU5YTEwLi5iZWIw
NTFjODFjYTRmYjIzZjc5YzM5NjgxZTNiM2JkOWY1NmJkM2NlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVFN0dWJzLmNwcApAQCAtMjA5Miw3ICsyMDkyLDcgQEAgREVGSU5FX1NUVUJfRlVO
Q1RJT04oRW5jb2RlZEpTVmFsdWUsIG9wX2luc3RhbmNlb2YpCiAgICAgaWYgKCF0eXBlSW5mby5v
dmVycmlkZXNIYXNJbnN0YW5jZSgpICYmICF2YWx1ZS5pc09iamVjdCgpKQogICAgICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbihmYWxzZSkpOwogCi0gICAgSlNWYWx1ZSByZXN1
bHQgPSBqc0Jvb2xlYW4oYXNPYmplY3QoYmFzZVZhbCktPmhhc0luc3RhbmNlKGNhbGxGcmFtZSwg
dmFsdWUsIHByb3RvKSk7CisgICAgSlNWYWx1ZSByZXN1bHQgPSBqc0Jvb2xlYW4oYXNPYmplY3Qo
YmFzZVZhbCktPm1ldGhvZFRhYmxlKCktPmhhc0luc3RhbmNlKGFzT2JqZWN0KGJhc2VWYWwpLCBj
YWxsRnJhbWUsIHZhbHVlLCBwcm90bykpOwogICAgIENIRUNLX0ZPUl9FWENFUFRJT05fQVRfRU5E
KCk7CiAKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DbGFzc0luZm8uaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0NsYXNzSW5mby5oCmluZGV4IDUzODJhMTNjNTYwY2FhMzRjMTY4N2U1
NjkyMzJmMmIyMTA5NTFkM2EuLmZjMTFlZWZiOTc2MDI1NTI3MTVmYTI5Njc3MTBjYjNlNGQ4YmQw
YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NsYXNzSW5mby5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NsYXNzSW5mby5oCkBAIC03Nyw2
ICs3Nyw5IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIHR5cGVkZWYgVVN0cmluZyAoKkNs
YXNzTmFtZUZ1bmN0aW9uUHRyKShjb25zdCBKU09iamVjdCopOwogICAgICAgICBDbGFzc05hbWVG
dW5jdGlvblB0ciBjbGFzc05hbWU7CisKKyAgICAgICAgdHlwZWRlZiBib29sICgqSGFzSW5zdGFu
Y2VGdW5jdGlvblB0cikoSlNPYmplY3QqLCBFeGVjU3RhdGUqLCBKU1ZhbHVlLCBKU1ZhbHVlKTsK
KyAgICAgICAgSGFzSW5zdGFuY2VGdW5jdGlvblB0ciBoYXNJbnN0YW5jZTsKICAgICB9OwogCiAj
ZGVmaW5lIENSRUFURV9NRU1CRVJfQ0hFQ0tFUihtZW1iZXIpIFwKQEAgLTExNCw2ICsxMTcsNyBA
QCBzdHJ1Y3QgTWVtYmVyQ2hlY2sjI21lbWJlciB7IFwKICAgICAgICAgJkNsYXNzTmFtZTo6ZGVm
YXVsdFZhbHVlLCBcCiAgICAgICAgICZDbGFzc05hbWU6OmdldE93blByb3BlcnR5TmFtZXMsIFwK
ICAgICAgICAgJkNsYXNzTmFtZTo6Y2xhc3NOYW1lLCBcCisgICAgICAgICZDbGFzc05hbWU6Omhh
c0luc3RhbmNlLCBcCiAgICAgfSwgXAogICAgIHNpemVvZihDbGFzc05hbWUpCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQm91bmRGdW5jdGlvbi5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JvdW5kRnVuY3Rpb24uY3BwCmluZGV4IGZj
MjM3ZmZlZjhhNjBhMjgxZjQxZDkzMDVkYmE1NjkwYTRhZmE5OTUuLmNkM2VkMjcyMzEwY2UwOTAx
OTBmNzczZjlhY2E1ZDdhY2ExYTBjMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQm91bmRGdW5jdGlvbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNCb3VuZEZ1bmN0aW9uLmNwcApAQCAtODcsMTMgKzg3LDE0IEBAIEpTQm91bmRG
dW5jdGlvbiogSlNCb3VuZEZ1bmN0aW9uOjpjcmVhdGUoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsCiAgICAgcmV0dXJuIGZ1bmN0aW9uOwogfQogCi1ib29sIEpTQm91bmRG
dW5jdGlvbjo6aGFzSW5zdGFuY2UoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHZhbHVlLCBKU1Zh
bHVlKQorYm9vbCBKU0JvdW5kRnVuY3Rpb246Omhhc0luc3RhbmNlKEpTT2JqZWN0KiBvYmplY3Qs
IEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSB2YWx1ZSwgSlNWYWx1ZSkKIHsKKyAgICBKU0JvdW5k
RnVuY3Rpb24qIHRoaXNPYmplY3QgPSBzdGF0aWNfY2FzdDxKU0JvdW5kRnVuY3Rpb24qPihvYmpl
Y3QpOwogICAgIC8vIEZJWE1FOiBvdXIgaW5zdGFuY2VvZiBpbXBsZW1lbnRhdGlvbiB3aWxsIGhh
dmUgYWxyZWFkeSAoaW5jb3JyZWN0bHkpIHBlcmZvcm1lZAogICAgIC8vIGEgW1tHZXRdXSBvZiAu
cHJvdG90eXBlIGZyb20gdGhlIGJvdW5kIGZ1bmN0aW9uIG9iamVjdCwgd2hpY2ggaXMgaW5jb3Jy
ZWN0IQogICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY1
NgotICAgIEpTVmFsdWUgcHJvdG8gPSBtX3RhcmdldEZ1bmN0aW9uLT5nZXQoZXhlYywgZXhlYy0+
cHJvcGVydHlOYW1lcygpLnByb3RvdHlwZSk7Ci0gICAgcmV0dXJuIG1fdGFyZ2V0RnVuY3Rpb24t
Pmhhc0luc3RhbmNlKGV4ZWMsIHZhbHVlLCBwcm90byk7CisgICAgSlNWYWx1ZSBwcm90byA9IHRo
aXNPYmplY3QtPm1fdGFyZ2V0RnVuY3Rpb24tPmdldChleGVjLCBleGVjLT5wcm9wZXJ0eU5hbWVz
KCkucHJvdG90eXBlKTsKKyAgICByZXR1cm4gdGhpc09iamVjdC0+bV90YXJnZXRGdW5jdGlvbi0+
bWV0aG9kVGFibGUoKS0+aGFzSW5zdGFuY2UodGhpc09iamVjdCwgZXhlYywgdmFsdWUsIHByb3Rv
KTsKIH0KIAogSlNCb3VuZEZ1bmN0aW9uOjpKU0JvdW5kRnVuY3Rpb24oRXhlY1N0YXRlKiBleGVj
LCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNP
YmplY3QqIHRhcmdldEZ1bmN0aW9uLCBKU1ZhbHVlIGJvdW5kVGhpcywgSlNWYWx1ZSBib3VuZEFy
Z3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JvdW5kRnVu
Y3Rpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQm91bmRGdW5jdGlvbi5o
CmluZGV4IGRmODRmNzFlODZhMDIzOTU1NGU3MDc3NDZkMWM4MWMzNDJmOThkM2QuLmM2MGQ3ZGIw
MTllMTFmYTdkNGNhOGQwOWY1MWNlY2NhMDg4OTA4MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQm91bmRGdW5jdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTQm91bmRGdW5jdGlvbi5oCkBAIC0zOSw3ICszOSw3IEBAIHB1Ymxp
YzoKIAogICAgIHN0YXRpYyBKU0JvdW5kRnVuY3Rpb24qIGNyZWF0ZShFeGVjU3RhdGUqLCBKU0ds
b2JhbE9iamVjdCosIEpTT2JqZWN0KiB0YXJnZXRGdW5jdGlvbiwgSlNWYWx1ZSBib3VuZFRoaXMs
IEpTVmFsdWUgYm91bmRBcmdzLCBpbnQsIGNvbnN0IElkZW50aWZpZXImKTsKIAotICAgIHZpcnR1
YWwgYm9vbCBoYXNJbnN0YW5jZShFeGVjU3RhdGUqLCBKU1ZhbHVlIHZhbHVlLCBKU1ZhbHVlIHBy
b3RvKTsKKyAgICBzdGF0aWMgYm9vbCBoYXNJbnN0YW5jZShKU09iamVjdCosIEV4ZWNTdGF0ZSos
IEpTVmFsdWUsIEpTVmFsdWUgcHJvdG8pOwogCiAgICAgSlNPYmplY3QqIHRhcmdldEZ1bmN0aW9u
KCkgeyByZXR1cm4gbV90YXJnZXRGdW5jdGlvbi5nZXQoKTsgfQogICAgIEpTVmFsdWUgYm91bmRU
aGlzKCkgeyByZXR1cm4gbV9ib3VuZFRoaXMuZ2V0KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0NlbGwuY3BwCmluZGV4IGUyMmY1YjQ0ODZkMjdjMDhkMjVjMzRhNmYzYzkwNWJj
NTVmYWZjYTkuLmJmNWZmYjhmNDZjNWZlOTNlZGY4NjA3ODZhZWY5NzQ2YWZkMGYwYjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmNwcApAQCAtMTg1LDQgKzE4NSwxMCBA
QCBVU3RyaW5nIEpTQ2VsbDo6Y2xhc3NOYW1lKGNvbnN0IEpTT2JqZWN0KikKICAgICByZXR1cm4g
VVN0cmluZygpOwogfQogCitib29sIEpTQ2VsbDo6aGFzSW5zdGFuY2UoSlNPYmplY3QqLCBFeGVj
U3RhdGUqLCBKU1ZhbHVlLCBKU1ZhbHVlKQoreworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgIHJldHVybiBmYWxzZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQ2VsbC5oCmluZGV4IGZkNzlkYTIwYjJhNThhNzVmYjlmZGI4OTZlZWEy
Y2U3ZDkyNWI3YmQuLmY0YzE0N2JlNTg3MzA2NTU2ZTE1NWZhMmNhMjU4M2Y4MjFiNmUzM2YgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCkBAIC0xNDUsNiArMTQ1LDcgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHN0YXRpYyBKU1ZhbHVlIGRlZmF1bHRWYWx1ZShjb25z
dCBKU09iamVjdCosIEV4ZWNTdGF0ZSosIFByZWZlcnJlZFByaW1pdGl2ZVR5cGUpOwogICAgICAg
ICBzdGF0aWMgTk9fUkVUVVJOX0RVRV9UT19BU1NFUlQgdm9pZCBnZXRPd25Qcm9wZXJ0eU5hbWVz
KEpTT2JqZWN0KiwgRXhlY1N0YXRlKiwgUHJvcGVydHlOYW1lQXJyYXkmLCBFbnVtZXJhdGlvbk1v
ZGUpOwogICAgICAgICBzdGF0aWMgVVN0cmluZyBjbGFzc05hbWUoY29uc3QgSlNPYmplY3QqKTsK
KyAgICAgICAgc3RhdGljIGJvb2wgaGFzSW5zdGFuY2UoSlNPYmplY3QqLCBFeGVjU3RhdGUqLCBK
U1ZhbHVlLCBKU1ZhbHVlIHByb3RvdHlwZVByb3BlcnR5KTsKIAogICAgIHByaXZhdGU6CiAgICAg
ICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fc3RydWN0dXJlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCmluZGV4IGExMzEyYTMyZDhhMGJkMDkzOWYzNTkz
ZWE1MmI5NmRlMjgyODUzNGIuLjY2NDM4MTcxYjRhZWJhNWE0NzM3OTBlODI5ZjU3ODIwYWE3MmRi
NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKQEAgLTQ1
Niw3ICs0NTYsNyBAQCBKU1ZhbHVlIEpTT2JqZWN0Ojpsb29rdXBTZXR0ZXIoRXhlY1N0YXRlKiBl
eGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpCiAgICAgcmV0dXJuIGRlc2NyaXB0
b3Iuc2V0dGVyKCk7CiB9CiAKLWJvb2wgSlNPYmplY3Q6Omhhc0luc3RhbmNlKEV4ZWNTdGF0ZSog
ZXhlYywgSlNWYWx1ZSB2YWx1ZSwgSlNWYWx1ZSBwcm90bykKK2Jvb2wgSlNPYmplY3Q6Omhhc0lu
c3RhbmNlKEpTT2JqZWN0KiwgRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHZhbHVlLCBKU1ZhbHVl
IHByb3RvKQogewogICAgIGlmICghdmFsdWUuaXNPYmplY3QoKSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3Qu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKaW5kZXggNWFkOWVi
NTkzZjFmN2E5OWE4YzZlMGVjNGJkZjg4ODlkODQ1ZTQ5Ny4uYzYwNTU2NDViNmE1NDA1MjM1ODEx
MGRhMTUzMjJiZTBlYzIwOWFjZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09i
amVjdC5oCkBAIC0xMjQsNyArMTI0LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgc3Rh
dGljIEpTVmFsdWUgZGVmYXVsdFZhbHVlKGNvbnN0IEpTT2JqZWN0KiwgRXhlY1N0YXRlKiwgUHJl
ZmVycmVkUHJpbWl0aXZlVHlwZSk7CiAKLSAgICAgICAgdmlydHVhbCBib29sIGhhc0luc3RhbmNl
KEV4ZWNTdGF0ZSosIEpTVmFsdWUsIEpTVmFsdWUgcHJvdG90eXBlUHJvcGVydHkpOworICAgICAg
ICBzdGF0aWMgYm9vbCBoYXNJbnN0YW5jZShKU09iamVjdCosIEV4ZWNTdGF0ZSosIEpTVmFsdWUs
IEpTVmFsdWUgcHJvdG90eXBlUHJvcGVydHkpOwogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBnZXRQ
cm9wZXJ0eU5hbWVzKEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFtZUFycmF5JiwgRW51bWVyYXRpb25N
b2RlIG1vZGUgPSBFeGNsdWRlRG9udEVudW1Qcm9wZXJ0aWVzKTsKICAgICAgICAgc3RhdGljIHZv
aWQgZ2V0T3duUHJvcGVydHlOYW1lcyhKU09iamVjdCosIEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFt
ZUFycmF5JiwgRW51bWVyYXRpb25Nb2RlKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113694</attachid>
            <date>2011-11-04 12:03:56 -0700</date>
            <delta_ts>2011-11-04 13:37:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71430-20111104120354.patch</filename>
            <type>text/plain</type>
            <size>13864</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkyOTEKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGE3
YTNlYjk2YTc3MWNiY2RkYmMzYjVhMjMwZjI1YzlmODE5ZjdmMTEuLjgzNDE2MjkyODEzZjhiNzM0
M2YwMDU3YzdjYzIxYzAyNGJhNmRlODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDM2IEBACisyMDExLTExLTA0ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBs
ZS5jb20+CisKKyAgICAgICAgRGUtdmlydHVhbGl6ZSBKU09iamVjdDo6aGFzSW5zdGFuY2UKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNDMwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgaGFzSW5z
dGFuY2UgdG8gdGhlIE1ldGhvZFRhYmxlLCBjaGFuZ2VkIGFsbCB0aGUgdmlydHVhbCAKKyAgICAg
ICAgaW1wbGVtZW50YXRpb25zIG9mIGhhc0luc3RhbmNlIHRvIHN0YXRpYyBvbmVzLCBhbmQgcmVw
bGFjZWQgCisgICAgICAgIGFsbCBjYWxsIHNpdGVzIHdpdGggY29ycmVzcG9uZGluZyBsb29rdXBz
IGluIHRoZSBNZXRob2RUYWJsZS4KKworICAgICAgICAqIEFQSS9KU0NhbGxiYWNrT2JqZWN0Lmg6
CisgICAgICAgICogQVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaDoKKyAgICAgICAgKEpT
Qzo6OjpoYXNJbnN0YW5jZSk6CisgICAgICAgICogQVBJL0pTVmFsdWVSZWYuY3BwOgorICAgICAg
ICAoSlNWYWx1ZUlzSW5zdGFuY2VPZkNvbnN0cnVjdG9yKToKKyAgICAgICAgKiBKYXZhU2NyaXB0
Q29yZS5leHA6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLmRlZjoKKyAgICAgICAgKiBpbnRlcnByZXRlci9JbnRlcnByZXRlci5j
cHA6CisgICAgICAgIChKU0M6OkludGVycHJldGVyOjpwcml2YXRlRXhlY3V0ZSk6CisgICAgICAg
ICogaml0L0pJVFN0dWJzLmNwcDoKKyAgICAgICAgKEpTQzo6REVGSU5FX1NUVUJfRlVOQ1RJT04p
OgorICAgICAgICAqIHJ1bnRpbWUvQ2xhc3NJbmZvLmg6CisgICAgICAgICogcnVudGltZS9KU0Jv
dW5kRnVuY3Rpb24uY3BwOgorICAgICAgICAoSlNDOjpKU0JvdW5kRnVuY3Rpb246Omhhc0luc3Rh
bmNlKToKKyAgICAgICAgKiBydW50aW1lL0pTQm91bmRGdW5jdGlvbi5oOgorICAgICAgICAqIHJ1
bnRpbWUvSlNDZWxsLmNwcDoKKyAgICAgICAgKEpTQzo6SlNDZWxsOjpoYXNJbnN0YW5jZSk6Cisg
ICAgICAgICogcnVudGltZS9KU0NlbGwuaDoKKyAgICAgICAgKiBydW50aW1lL0pTT2JqZWN0LmNw
cDoKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6Omhhc0luc3RhbmNlKToKKyAgICAgICAgKiBydW50
aW1lL0pTT2JqZWN0Lmg6CisKIDIwMTEtMTEtMDQgIFRvciBBcm5lIFZlc3Riw7ggIDx0b3IuYXJu
ZS52ZXN0Ym9Abm9raWEuY29tPgogCiAgICAgICAgIFtRdF0gUmVmYWN0b3IgYW5kIGNsZWFuIHVw
IHRoZSBxbWFrZSBidWlsZCBzeXN0ZW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvSlNDYWxsYmFja09iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0Nh
bGxiYWNrT2JqZWN0LmgKaW5kZXggNjI1MDgyZWQzMWFmMzBhMDllMWZiNThiODBkY2Q5MzEwZDhl
ZGQ3MS4uNDY5MjRhMGMzNmY0OWIzNmVlNDA5Y2ExMDdkYmY5YzZmNmY4NTI1MSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmgKQEAgLTE4NSw3ICsxODUs
NyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBib29sIGRlbGV0ZVByb3BlcnR5KEpTQ2VsbCosIEV4
ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImKTsKICAgICBzdGF0aWMgYm9vbCBkZWxldGVQcm9w
ZXJ0eUJ5SW5kZXgoSlNDZWxsKiwgRXhlY1N0YXRlKiwgdW5zaWduZWQpOwogCi0gICAgdmlydHVh
bCBib29sIGhhc0luc3RhbmNlKEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSB2YWx1ZSwgSlNWYWx1
ZSBwcm90byk7CisgICAgc3RhdGljIGJvb2wgaGFzSW5zdGFuY2UoSlNPYmplY3QqLCBFeGVjU3Rh
dGUqLCBKU1ZhbHVlLCBKU1ZhbHVlIHByb3RvKTsKIAogICAgIHN0YXRpYyB2b2lkIGdldE93blBy
b3BlcnR5TmFtZXMoSlNPYmplY3QqLCBFeGVjU3RhdGUqLCBQcm9wZXJ0eU5hbWVBcnJheSYsIEVu
dW1lcmF0aW9uTW9kZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkv
SlNDYWxsYmFja09iamVjdEZ1bmN0aW9ucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9K
U0NhbGxiYWNrT2JqZWN0RnVuY3Rpb25zLmgKaW5kZXggOWIxMDBiY2Q4MmY3OTQ1MDAwYjdlZDM0
ZjUyYTQyZGVhZDY5NTA0MS4uZGQ1ZWJkODY5OTczN2E5NGI0YTRhMWU0NDQyN2UxNjdmMzAxMmUw
NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0
RnVuY3Rpb25zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2Jq
ZWN0RnVuY3Rpb25zLmgKQEAgLTM1NSwxMiArMzU1LDEzIEBAIEVuY29kZWRKU1ZhbHVlIEpTQ2Fs
bGJhY2tPYmplY3Q8UGFyZW50Pjo6Y29uc3RydWN0KEV4ZWNTdGF0ZSogZXhlYykKIH0KIAogdGVt
cGxhdGUgPGNsYXNzIFBhcmVudD4KLWJvb2wgSlNDYWxsYmFja09iamVjdDxQYXJlbnQ+OjpoYXNJ
bnN0YW5jZShFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgdmFsdWUsIEpTVmFsdWUpCitib29sIEpT
Q2FsbGJhY2tPYmplY3Q8UGFyZW50Pjo6aGFzSW5zdGFuY2UoSlNPYmplY3QqIG9iamVjdCwgRXhl
Y1N0YXRlKiBleGVjLCBKU1ZhbHVlIHZhbHVlLCBKU1ZhbHVlKQogeworICAgIEpTQ2FsbGJhY2tP
YmplY3QqIHRoaXNPYmplY3QgPSBzdGF0aWNfY2FzdDxKU0NhbGxiYWNrT2JqZWN0Kj4ob2JqZWN0
KTsKICAgICBKU0NvbnRleHRSZWYgZXhlY1JlZiA9IHRvUmVmKGV4ZWMpOwotICAgIEpTT2JqZWN0
UmVmIHRoaXNSZWYgPSB0b1JlZih0aGlzKTsKKyAgICBKU09iamVjdFJlZiB0aGlzUmVmID0gdG9S
ZWYodGhpc09iamVjdCk7CiAgICAgCi0gICAgZm9yIChKU0NsYXNzUmVmIGpzQ2xhc3MgPSBjbGFz
c1JlZigpOyBqc0NsYXNzOyBqc0NsYXNzID0ganNDbGFzcy0+cGFyZW50Q2xhc3MpIHsKKyAgICBm
b3IgKEpTQ2xhc3NSZWYganNDbGFzcyA9IHRoaXNPYmplY3QtPmNsYXNzUmVmKCk7IGpzQ2xhc3M7
IGpzQ2xhc3MgPSBqc0NsYXNzLT5wYXJlbnRDbGFzcykgewogICAgICAgICBpZiAoSlNPYmplY3RI
YXNJbnN0YW5jZUNhbGxiYWNrIGhhc0luc3RhbmNlID0ganNDbGFzcy0+aGFzSW5zdGFuY2UpIHsK
ICAgICAgICAgICAgIEpTVmFsdWVSZWYgdmFsdWVSZWYgPSB0b1JlZihleGVjLCB2YWx1ZSk7CiAg
ICAgICAgICAgICBKU1ZhbHVlUmVmIGV4Y2VwdGlvbiA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQVBJL0pTVmFsdWVSZWYuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU1ZhbHVlUmVmLmNwcAppbmRleCA4MDNjY2Q5MWZlOGNjNjE2NDhhODg4ZTg3ZDUzOGVj
ZGVkY2VlNDJlLi45YjNlN2IyNzU3NmJkMGU3YmQ4YjU1Y2I5MDExNWFlZTEyYjc5NWFmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmFsdWVSZWYuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZVJlZi5jcHAKQEAgLTE3NSw3ICsxNzUsNyBA
QCBib29sIEpTVmFsdWVJc0luc3RhbmNlT2ZDb25zdHJ1Y3RvcihKU0NvbnRleHRSZWYgY3R4LCBK
U1ZhbHVlUmVmIHZhbHVlLCBKU09iamVjdAogICAgIEpTT2JqZWN0KiBqc0NvbnN0cnVjdG9yID0g
dG9KUyhjb25zdHJ1Y3Rvcik7CiAgICAgaWYgKCFqc0NvbnN0cnVjdG9yLT5zdHJ1Y3R1cmUoKS0+
dHlwZUluZm8oKS5pbXBsZW1lbnRzSGFzSW5zdGFuY2UoKSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgIGJvb2wgcmVzdWx0ID0ganNDb25zdHJ1Y3Rvci0+aGFzSW5zdGFuY2UoZXhlYywganNW
YWx1ZSwganNDb25zdHJ1Y3Rvci0+Z2V0KGV4ZWMsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5wcm90
b3R5cGUpKTsgLy8gZmFsc2UgaWYgYW4gZXhjZXB0aW9uIGlzIHRocm93bgorICAgIGJvb2wgcmVz
dWx0ID0ganNDb25zdHJ1Y3Rvci0+bWV0aG9kVGFibGUoKS0+aGFzSW5zdGFuY2UoanNDb25zdHJ1
Y3RvciwgZXhlYywganNWYWx1ZSwganNDb25zdHJ1Y3Rvci0+Z2V0KGV4ZWMsIGV4ZWMtPnByb3Bl
cnR5TmFtZXMoKS5wcm90b3R5cGUpKTsgLy8gZmFsc2UgaWYgYW4gZXhjZXB0aW9uIGlzIHRocm93
bgogICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkgewogICAgICAgICBpZiAoZXhjZXB0aW9u
KQogICAgICAgICAgICAgKmV4Y2VwdGlvbiA9IHRvUmVmKGV4ZWMsIGV4ZWMtPmV4Y2VwdGlvbigp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCmluZGV4IDk2YTVjMDYy
NmNiMGIyYmYyZTA2YjlhYjI1MDExODNmZDM5ZTRlNzIuLmU4MDFkOGVkZjVkNmNlZTI4NTkwZDdm
YWMyNDYzNGFmMTEzY2U2MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS5leHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LmV4cApAQCAtMzAzLDcgKzMwMyw3IEBAIF9fWk4zSlNDOERlYnVnZ2VyNmF0dGFjaEVQTlNfMTRK
U0dsb2JhbE9iamVjdEUKIF9fWk4zSlNDOERlYnVnZ2VyNmRldGFjaEVQTlNfMTRKU0dsb2JhbE9i
amVjdEUKIF9fWk4zSlNDOERlYnVnZ2VyRDJFdgogX19aTjNKU0M4SlNPYmplY3QxMHB1dEJ5SW5k
ZXhFUE5TXzZKU0NlbGxFUE5TXzlFeGVjU3RhdGVFak5TXzdKU1ZhbHVlRQotX19aTjNKU0M4SlNP
YmplY3QxMWhhc0luc3RhbmNlRVBOU185RXhlY1N0YXRlRU5TXzdKU1ZhbHVlRVMzXworX19aTjNK
U0M4SlNPYmplY3QxMWhhc0luc3RhbmNlRVBTMF9QTlNfOUV4ZWNTdGF0ZUVOU183SlNWYWx1ZUVT
NF8KIF9fWk4zSlNDOEpTT2JqZWN0MTJkZWZpbmVHZXR0ZXJFUFMwX1BOU185RXhlY1N0YXRlRVJL
TlNfMTBJZGVudGlmaWVyRVMxX2oKIF9fWk4zSlNDOEpTT2JqZWN0MTJkZWZhdWx0VmFsdWVFUEtT
MF9QTlNfOUV4ZWNTdGF0ZUVOU18yMlByZWZlcnJlZFByaW1pdGl2ZVR5cGVFCiBfX1pOM0pTQzhK
U09iamVjdDEyZGVmaW5lU2V0dGVyRVBTMF9QTlNfOUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmll
ckVTMV9qCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
dmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZiBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUuZGVmCmluZGV4IGY2MTU4NDdmNTMxOTVkM2RhZTBlZDVjYmE4YTM5OWFlNmU1NDdmYWIuLmM2
OGVjMWQ2NDE2Y2U1ZDljMGQ1MGNjMjA2ZWMwYjcxZTU4YzQ0MTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUuZGVmCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmCkBAIC0yMTEsNyArMjEx
LDcgQEAgRVhQT1JUUwogICAgID9nbG9iYWxFeGVjQEpTR2xvYmFsT2JqZWN0QEpTQ0BAUUFFUEFW
RXhlY1N0YXRlQDJAWFoKICAgICA/Z2xvYmFsT2JqZWN0Q291bnRASGVhcEBKU0NAQFFBRUlYWgog
ICAgID9ncm93QEhhbmRsZUhlYXBASlNDQEBBQUVYWFoKLSAgICA/aGFzSW5zdGFuY2VASlNPYmpl
Y3RASlNDQEBVQUVfTlBBVkV4ZWNTdGF0ZUAyQFZKU1ZhbHVlQDJAMUBaCisgICAgP2hhc0luc3Rh
bmNlQEpTT2JqZWN0QEpTQ0BAU0FfTlBBVjEyQFBBVkV4ZWNTdGF0ZUAyQFZKU1ZhbHVlQDJAMkBa
CiAgICAgP2hhc1Byb3BlcnR5QEpTT2JqZWN0QEpTQ0BAUUJFX05QQVZFeGVjU3RhdGVAMkBBQlZJ
ZGVudGlmaWVyQDJAQFoKICAgICA/aGFzUHJvcGVydHlASlNPYmplY3RASlNDQEBRQkVfTlBBVkV4
ZWNTdGF0ZUAyQElAWgogICAgID9oZWFwQEhlYXBASlNDQEBTQVBBVjEyQFZKU1ZhbHVlQDJAQFoK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRl
ci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3Bw
CmluZGV4IDQ5NjIzODQyMWYxZTdmM2RiZjcxOGM2YzRkNjE2NWU3OGNlMDUxOTEuLjliZDk3YTVi
NzBjNzlkYzg4MWU5ZDBiZmU5NzYxZTExODFiYmU3MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcApAQCAtMjM1NCw3ICsyMzU0LDcg
QEAgSlNWYWx1ZSBJbnRlcnByZXRlcjo6cHJpdmF0ZUV4ZWN1dGUoRXhlY3V0aW9uRmxhZyBmbGFn
LCBSZWdpc3RlckZpbGUqIHJlZ2lzdGVyRmkKIAogICAgICAgICBBU1NFUlQoIWlzSW52YWxpZFBh
cmFtRm9ySW5zdGFuY2VPZihjYWxsRnJhbWUsIGJhc2VWYWwsIGV4Y2VwdGlvblZhbHVlKSk7CiAK
LSAgICAgICAgYm9vbCByZXN1bHQgPSBhc09iamVjdChiYXNlVmFsKS0+aGFzSW5zdGFuY2UoY2Fs
bEZyYW1lLCBjYWxsRnJhbWUtPnIodmFsdWUpLmpzVmFsdWUoKSwgY2FsbEZyYW1lLT5yKGJhc2VQ
cm90bykuanNWYWx1ZSgpKTsKKyAgICAgICAgYm9vbCByZXN1bHQgPSBhc09iamVjdChiYXNlVmFs
KS0+bWV0aG9kVGFibGUoKS0+aGFzSW5zdGFuY2UoYXNPYmplY3QoYmFzZVZhbCksIGNhbGxGcmFt
ZSwgY2FsbEZyYW1lLT5yKHZhbHVlKS5qc1ZhbHVlKCksIGNhbGxGcmFtZS0+cihiYXNlUHJvdG8p
LmpzVmFsdWUoKSk7CiAgICAgICAgIENIRUNLX0ZPUl9FWENFUFRJT04oKTsKICAgICAgICAgY2Fs
bEZyYW1lLT51bmNoZWNrZWRSKGRzdCkgPSBqc0Jvb2xlYW4ocmVzdWx0KTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVFN0dWJzLmNwcAppbmRleCAxYjAyNTQxZjI2NTQxY2Q5MTdiZTBjMzU5
YWUyOGUyZDUxZGU5YTEwLi5iZWIwNTFjODFjYTRmYjIzZjc5YzM5NjgxZTNiM2JkOWY1NmJkM2Nl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmNwcApAQCAtMjA5Miw3ICsyMDky
LDcgQEAgREVGSU5FX1NUVUJfRlVOQ1RJT04oRW5jb2RlZEpTVmFsdWUsIG9wX2luc3RhbmNlb2Yp
CiAgICAgaWYgKCF0eXBlSW5mby5vdmVycmlkZXNIYXNJbnN0YW5jZSgpICYmICF2YWx1ZS5pc09i
amVjdCgpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbihmYWxzZSkp
OwogCi0gICAgSlNWYWx1ZSByZXN1bHQgPSBqc0Jvb2xlYW4oYXNPYmplY3QoYmFzZVZhbCktPmhh
c0luc3RhbmNlKGNhbGxGcmFtZSwgdmFsdWUsIHByb3RvKSk7CisgICAgSlNWYWx1ZSByZXN1bHQg
PSBqc0Jvb2xlYW4oYXNPYmplY3QoYmFzZVZhbCktPm1ldGhvZFRhYmxlKCktPmhhc0luc3RhbmNl
KGFzT2JqZWN0KGJhc2VWYWwpLCBjYWxsRnJhbWUsIHZhbHVlLCBwcm90bykpOwogICAgIENIRUNL
X0ZPUl9FWENFUFRJT05fQVRfRU5EKCk7CiAKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJl
c3VsdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DbGFzc0lu
Zm8uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NsYXNzSW5mby5oCmluZGV4IDFi
ZDRiMWYwYmQyMDBjYTY0ZTU4ZWU5MWMwOGZmMTYzZWE2ZWNjY2QuLmU0ZTIwMmQ4OTNhMzMxMzkz
OTQyYmFiOTg3MWI2ZjU3ZmJhZTcyYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0NsYXNzSW5mby5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0NsYXNzSW5mby5oCkBAIC04MCw2ICs4MCw5IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAg
IHR5cGVkZWYgVVN0cmluZyAoKkNsYXNzTmFtZUZ1bmN0aW9uUHRyKShjb25zdCBKU09iamVjdCop
OwogICAgICAgICBDbGFzc05hbWVGdW5jdGlvblB0ciBjbGFzc05hbWU7CisKKyAgICAgICAgdHlw
ZWRlZiBib29sICgqSGFzSW5zdGFuY2VGdW5jdGlvblB0cikoSlNPYmplY3QqLCBFeGVjU3RhdGUq
LCBKU1ZhbHVlLCBKU1ZhbHVlKTsKKyAgICAgICAgSGFzSW5zdGFuY2VGdW5jdGlvblB0ciBoYXNJ
bnN0YW5jZTsKICAgICB9OwogCiAjZGVmaW5lIENSRUFURV9NRU1CRVJfQ0hFQ0tFUihtZW1iZXIp
IFwKQEAgLTExOCw2ICsxMjEsNyBAQCBzdHJ1Y3QgTWVtYmVyQ2hlY2sjI21lbWJlciB7IFwKICAg
ICAgICAgJkNsYXNzTmFtZTo6Z2V0T3duUHJvcGVydHlOYW1lcywgXAogICAgICAgICAmQ2xhc3NO
YW1lOjpnZXRQcm9wZXJ0eU5hbWVzLCBcCiAgICAgICAgICZDbGFzc05hbWU6OmNsYXNzTmFtZSwg
XAorICAgICAgICAmQ2xhc3NOYW1lOjpoYXNJbnN0YW5jZSwgXAogICAgIH0sIFwKICAgICBzaXpl
b2YoQ2xhc3NOYW1lKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0JvdW5kRnVuY3Rpb24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNC
b3VuZEZ1bmN0aW9uLmNwcAppbmRleCBmYzIzN2ZmZWY4YTYwYTI4MWY0MWQ5MzA1ZGJhNTY5MGE0
YWZhOTk1Li44NDVhOWYzYjg2NjI3MzM4OGRhMDhjODU1ZmIzOTcxZDFjZjRiYTZmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JvdW5kRnVuY3Rpb24uY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQm91bmRGdW5jdGlvbi5jcHAKQEAg
LTg3LDEzICs4NywxNCBAQCBKU0JvdW5kRnVuY3Rpb24qIEpTQm91bmRGdW5jdGlvbjo6Y3JlYXRl
KEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbAogICAgIHJldHVybiBmdW5j
dGlvbjsKIH0KIAotYm9vbCBKU0JvdW5kRnVuY3Rpb246Omhhc0luc3RhbmNlKEV4ZWNTdGF0ZSog
ZXhlYywgSlNWYWx1ZSB2YWx1ZSwgSlNWYWx1ZSkKK2Jvb2wgSlNCb3VuZEZ1bmN0aW9uOjpoYXNJ
bnN0YW5jZShKU09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgdmFsdWUs
IEpTVmFsdWUpCiB7CisgICAgSlNCb3VuZEZ1bmN0aW9uKiB0aGlzT2JqZWN0ID0gc3RhdGljX2Nh
c3Q8SlNCb3VuZEZ1bmN0aW9uKj4ob2JqZWN0KTsKICAgICAvLyBGSVhNRTogb3VyIGluc3RhbmNl
b2YgaW1wbGVtZW50YXRpb24gd2lsbCBoYXZlIGFscmVhZHkgKGluY29ycmVjdGx5KSBwZXJmb3Jt
ZWQKICAgICAvLyBhIFtbR2V0XV0gb2YgLnByb3RvdHlwZSBmcm9tIHRoZSBib3VuZCBmdW5jdGlv
biBvYmplY3QsIHdoaWNoIGlzIGluY29ycmVjdCEKICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NTYKLSAgICBKU1ZhbHVlIHByb3RvID0gbV90YXJnZXRG
dW5jdGlvbi0+Z2V0KGV4ZWMsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5wcm90b3R5cGUpOwotICAg
IHJldHVybiBtX3RhcmdldEZ1bmN0aW9uLT5oYXNJbnN0YW5jZShleGVjLCB2YWx1ZSwgcHJvdG8p
OworICAgIEpTVmFsdWUgcHJvdG8gPSB0aGlzT2JqZWN0LT5tX3RhcmdldEZ1bmN0aW9uLT5nZXQo
ZXhlYywgZXhlYy0+cHJvcGVydHlOYW1lcygpLnByb3RvdHlwZSk7CisgICAgcmV0dXJuIHRoaXNP
YmplY3QtPm1fdGFyZ2V0RnVuY3Rpb24tPm1ldGhvZFRhYmxlKCktPmhhc0luc3RhbmNlKHRoaXNP
YmplY3QtPm1fdGFyZ2V0RnVuY3Rpb24uZ2V0KCksIGV4ZWMsIHZhbHVlLCBwcm90byk7CiB9CiAK
IEpTQm91bmRGdW5jdGlvbjo6SlNCb3VuZEZ1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTT2JqZWN0KiB0
YXJnZXRGdW5jdGlvbiwgSlNWYWx1ZSBib3VuZFRoaXMsIEpTVmFsdWUgYm91bmRBcmdzKQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCb3VuZEZ1bmN0aW9uLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JvdW5kRnVuY3Rpb24uaAppbmRleCBk
Zjg0ZjcxZTg2YTAyMzk1NTRlNzA3NzQ2ZDFjODFjMzQyZjk4ZDNkLi5jNjBkN2RiMDE5ZTExZmE3
ZDRjYThkMDlmNTFjZWNjYTA4ODkwODBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0JvdW5kRnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0JvdW5kRnVuY3Rpb24uaApAQCAtMzksNyArMzksNyBAQCBwdWJsaWM6CiAKICAg
ICBzdGF0aWMgSlNCb3VuZEZ1bmN0aW9uKiBjcmVhdGUoRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmpl
Y3QqLCBKU09iamVjdCogdGFyZ2V0RnVuY3Rpb24sIEpTVmFsdWUgYm91bmRUaGlzLCBKU1ZhbHVl
IGJvdW5kQXJncywgaW50LCBjb25zdCBJZGVudGlmaWVyJik7CiAKLSAgICB2aXJ0dWFsIGJvb2wg
aGFzSW5zdGFuY2UoRXhlY1N0YXRlKiwgSlNWYWx1ZSB2YWx1ZSwgSlNWYWx1ZSBwcm90byk7Cisg
ICAgc3RhdGljIGJvb2wgaGFzSW5zdGFuY2UoSlNPYmplY3QqLCBFeGVjU3RhdGUqLCBKU1ZhbHVl
LCBKU1ZhbHVlIHByb3RvKTsKIAogICAgIEpTT2JqZWN0KiB0YXJnZXRGdW5jdGlvbigpIHsgcmV0
dXJuIG1fdGFyZ2V0RnVuY3Rpb24uZ2V0KCk7IH0KICAgICBKU1ZhbHVlIGJvdW5kVGhpcygpIHsg
cmV0dXJuIG1fYm91bmRUaGlzLmdldCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0NlbGwuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNDZWxsLmNwcAppbmRleCBmMWU2YzEwNGNlMmNiYTdhYzhiYTNmYjQ0Yzg4NmI1NTU1NTQxNmM5
Li45MzFlM2RhNjgxZDMwZjczMmQ5ZjMxNjgyMDA2MWViMWU0YTNiNmJhIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAKQEAgLTE5MCw0ICsxOTAsMTAgQEAgdm9pZCBK
U0NlbGw6OmdldFByb3BlcnR5TmFtZXMoSlNPYmplY3QqLCBFeGVjU3RhdGUqLCBQcm9wZXJ0eU5h
bWVBcnJheSYsIEVudW1lcmEKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAorYm9vbCBK
U0NlbGw6Omhhc0luc3RhbmNlKEpTT2JqZWN0KiwgRXhlY1N0YXRlKiwgSlNWYWx1ZSwgSlNWYWx1
ZSkKK3sKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisK
IH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNDZWxsLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaApp
bmRleCBiYzFkNWVhNmEyOTczNjRlMmYwNGRkOGIyMzc0ZTFhZjgxMTNkYjY5Li45NzRhZDU5OWNj
ZDVmYWIwMGU3MmI4MzZhNGZiN2IwN2EzM2Q3YzI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0NlbGwuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0NlbGwuaApAQCAtMTQ2LDYgKzE0Niw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAg
ICBzdGF0aWMgTk9fUkVUVVJOX0RVRV9UT19BU1NFUlQgdm9pZCBnZXRPd25Qcm9wZXJ0eU5hbWVz
KEpTT2JqZWN0KiwgRXhlY1N0YXRlKiwgUHJvcGVydHlOYW1lQXJyYXkmLCBFbnVtZXJhdGlvbk1v
ZGUpOwogICAgICAgICBzdGF0aWMgTk9fUkVUVVJOX0RVRV9UT19BU1NFUlQgdm9pZCBnZXRQcm9w
ZXJ0eU5hbWVzKEpTT2JqZWN0KiwgRXhlY1N0YXRlKiwgUHJvcGVydHlOYW1lQXJyYXkmLCBFbnVt
ZXJhdGlvbk1vZGUpOwogICAgICAgICBzdGF0aWMgVVN0cmluZyBjbGFzc05hbWUoY29uc3QgSlNP
YmplY3QqKTsKKyAgICAgICAgc3RhdGljIGJvb2wgaGFzSW5zdGFuY2UoSlNPYmplY3QqLCBFeGVj
U3RhdGUqLCBKU1ZhbHVlLCBKU1ZhbHVlIHByb3RvdHlwZVByb3BlcnR5KTsKIAogICAgIHByaXZh
dGU6CiAgICAgICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fc3RydWN0dXJlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCmluZGV4IGU3Y2FkODhjMjIzM2I1
OWJiOGJkMmNjZjNmNjgyZTBkNmZlMjcxYTguLjZlMDIwYjBlYmI5MjMxZDYwYWNkNjQ3NzAzMzhl
MjM2MmUyMzgzZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5j
cHAKQEAgLTQ1Niw3ICs0NTYsNyBAQCBKU1ZhbHVlIEpTT2JqZWN0Ojpsb29rdXBTZXR0ZXIoRXhl
Y1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpCiAgICAgcmV0dXJu
IGRlc2NyaXB0b3Iuc2V0dGVyKCk7CiB9CiAKLWJvb2wgSlNPYmplY3Q6Omhhc0luc3RhbmNlKEV4
ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSB2YWx1ZSwgSlNWYWx1ZSBwcm90bykKK2Jvb2wgSlNPYmpl
Y3Q6Omhhc0luc3RhbmNlKEpTT2JqZWN0KiwgRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHZhbHVl
LCBKU1ZhbHVlIHByb3RvKQogewogICAgIGlmICghdmFsdWUuaXNPYmplY3QoKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKaW5k
ZXggM2U4OTZlNmNiMzEyNzJlY2IzMjU4NzllYmQ4OGM5ZjMzMzM1ZDNkYy4uZThlNTA4ZmU3YjNm
MzYwZTk0OGZlNjE5ZDZiMDk2NjllOWJkOWM3MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU09iamVjdC5oCkBAIC0xMjQsNyArMTI0LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAg
ICAgICAgc3RhdGljIEpTVmFsdWUgZGVmYXVsdFZhbHVlKGNvbnN0IEpTT2JqZWN0KiwgRXhlY1N0
YXRlKiwgUHJlZmVycmVkUHJpbWl0aXZlVHlwZSk7CiAKLSAgICAgICAgdmlydHVhbCBib29sIGhh
c0luc3RhbmNlKEV4ZWNTdGF0ZSosIEpTVmFsdWUsIEpTVmFsdWUgcHJvdG90eXBlUHJvcGVydHkp
OworICAgICAgICBzdGF0aWMgYm9vbCBoYXNJbnN0YW5jZShKU09iamVjdCosIEV4ZWNTdGF0ZSos
IEpTVmFsdWUsIEpTVmFsdWUgcHJvdG90eXBlUHJvcGVydHkpOwogCiAgICAgICAgIHN0YXRpYyB2
b2lkIGdldE93blByb3BlcnR5TmFtZXMoSlNPYmplY3QqLCBFeGVjU3RhdGUqLCBQcm9wZXJ0eU5h
bWVBcnJheSYsIEVudW1lcmF0aW9uTW9kZSk7CiAgICAgICAgIHN0YXRpYyB2b2lkIGdldFByb3Bl
cnR5TmFtZXMoSlNPYmplY3QqLCBFeGVjU3RhdGUqLCBQcm9wZXJ0eU5hbWVBcnJheSYsIEVudW1l
cmF0aW9uTW9kZSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>