<?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>128386</bug_id>
          
          <creation_ts>2014-02-07 11:53:18 -0800</creation_ts>
          <short_desc>Objective-C API NSDate conversion is off by 1000x (ms vs s)</short_desc>
          <delta_ts>2014-02-09 16:05:54 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>1</everconfirmed>
          <reporter name="Mark Hahnenberg">mhahnenberg</reporter>
          <assigned_to name="Mark Hahnenberg">mhahnenberg</assigned_to>
          <cc>mitz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>977966</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-02-07 11:53:18 -0800</bug_when>
    <thetext>Dates are hard.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977974</commentid>
    <comment_count>1</comment_count>
      <attachid>223480</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-02-07 11:57:31 -0800</bug_when>
    <thetext>Created attachment 223480
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977976</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-02-07 11:58:01 -0800</bug_when>
    <thetext>&lt;rdar://problem/15920754&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977992</commentid>
    <comment_count>3</comment_count>
      <attachid>223485</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-02-07 12:55:42 -0800</bug_when>
    <thetext>Created attachment 223485
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977994</commentid>
    <comment_count>4</comment_count>
      <attachid>223485</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-02-07 12:58:54 -0800</bug_when>
    <thetext>Comment on attachment 223485
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978657</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-02-09 15:27:31 -0800</bug_when>
    <thetext>Committed r163756: &lt;http://trac.webkit.org/changeset/163756&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978663</commentid>
    <comment_count>6</comment_count>
    <who name="">mitz</who>
    <bug_when>2014-02-09 16:05:54 -0800</bug_when>
    <thetext>Do we need to keep the bad behavior for clients linked against versions that had it?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223480</attachid>
            <date>2014-02-07 11:57:31 -0800</date>
            <delta_ts>2014-02-07 12:55:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-128386-20140207115730.patch</filename>
            <type>text/plain</type>
            <size>22434</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTYzNjM4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBA
CisyMDE0LTAyLTA3ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgT2JqZWN0aXZlLUMgQVBJIE5TRGF0ZSBjb252ZXJzaW9uIGlzIG9mZiBieSAxMDAw
eCAobXMgdnMgcykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEyODM4NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEZpeGVkIHRoZSBjb252ZXJzaW9uIGJldHdlZW4gTlNEYXRlIGFuZCBKYXZhU2NyaXB0IERh
dGVzIGFuZAorICAgICAgICBhZGRlZCBzb21lIHRlc3RzIGZvciBjb252ZXJ0aW5nIGJldHdlZW4g
dGhlIHR3by4KKworICAgICAgICAqIEFQSS9KU1ZhbHVlLm1tOgorICAgICAgICAodmFsdWVUb09i
amVjdFdpdGhvdXRDb3B5KToKKyAgICAgICAgKHZhbHVlVG9EYXRlKToKKyAgICAgICAgKG9iamVj
dFRvVmFsdWVXaXRob3V0Q29weSk6CisgICAgICAgICogQVBJL3Rlc3RzL0RhdGVUZXN0cy5oOiBB
ZGRlZC4KKyAgICAgICAgKiBBUEkvdGVzdHMvRGF0ZVRlc3RzLm1tOiBBZGRlZC4KKyAgICAgICAg
KCtbRGF0ZVRlc3RzIE5TRGF0ZVRvSlNEYXRlVGVzdF0pOgorICAgICAgICAoK1tEYXRlVGVzdHMg
SlNEYXRlVG9OU0RhdGVUZXN0XSk6CisgICAgICAgICgrW0RhdGVUZXN0cyByb3VuZFRyaXBUaHJv
dWdoSlNEYXRlVGVzdF0pOgorICAgICAgICAoK1tEYXRlVGVzdHMgcm91bmRUcmlwVGhyb3VnaE9i
akNEYXRlVGVzdF0pOgorICAgICAgICAqIEFQSS90ZXN0cy90ZXN0YXBpLm1tOgorICAgICAgICAo
Y2hlY2tSZXN1bHQpOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisKIDIwMTQtMDItMDYgIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5j
b20+CiAKICAgICAgICAgV29ya2Fyb3VuZCBSRUdSRVNTSU9OKHIxNjMxOTUtcjE2MzIyNyk6IENy
YXNoIGJlbmVhdGggTlNFcnJvclVzZXJJbmZvRnJvbUpTRXhjZXB0aW9uIHdoZW4gaW5zdGFsbGlu
ZyBBcHBsZUludGVybmFsLm1wa2cKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNW
YWx1ZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmFsdWUu
bW0JKHJldmlzaW9uIDE2MzYyMykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1
ZS5tbQkod29ya2luZyBjb3B5KQpAQCAtNjU2LDcgKzY1Niw3IEBAIHN0YXRpYyBKU0NvbnRhaW5l
ckNvbnZlcnRvcjo6VGFzayB2YWx1ZVQKICAgICAgICAgcmV0dXJuIChKU0NvbnRhaW5lckNvbnZl
cnRvcjo6VGFzayl7IG9iamVjdCwgd3JhcHBlZCwgQ29udGFpbmVyTm9uZSB9OwogCiAgICAgaWYg
KGlzRGF0ZShvYmplY3QsIGNvbnRleHQpKQotICAgICAgICByZXR1cm4gKEpTQ29udGFpbmVyQ29u
dmVydG9yOjpUYXNrKXsgb2JqZWN0LCBbTlNEYXRlIGRhdGVXaXRoVGltZUludGVydmFsU2luY2Ux
OTcwOkpTVmFsdWVUb051bWJlcihjb250ZXh0LCBvYmplY3QsIDApXSwgQ29udGFpbmVyTm9uZSB9
OworICAgICAgICByZXR1cm4gKEpTQ29udGFpbmVyQ29udmVydG9yOjpUYXNrKXsgb2JqZWN0LCBb
TlNEYXRlIGRhdGVXaXRoVGltZUludGVydmFsU2luY2UxOTcwOkpTVmFsdWVUb051bWJlcihjb250
ZXh0LCBvYmplY3QsIDApIC8gMTAwMC4wXSwgQ29udGFpbmVyTm9uZSB9OwogCiAgICAgaWYgKGlz
QXJyYXkob2JqZWN0LCBjb250ZXh0KSkKICAgICAgICAgcmV0dXJuIChKU0NvbnRhaW5lckNvbnZl
cnRvcjo6VGFzayl7IG9iamVjdCwgW05TTXV0YWJsZUFycmF5IGFycmF5XSwgQ29udGFpbmVyQXJy
YXkgfTsKQEAgLTc1OSw3ICs3NTksNyBAQCBpZCB2YWx1ZVRvRGF0ZShKU0dsb2JhbENvbnRleHRS
ZWYgY29udGV4CiAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZDsKICAgICB9CiAKLSAgICBkb3Vi
bGUgcmVzdWx0ID0gSlNWYWx1ZVRvTnVtYmVyKGNvbnRleHQsIHZhbHVlLCBleGNlcHRpb24pOwor
ICAgIGRvdWJsZSByZXN1bHQgPSBKU1ZhbHVlVG9OdW1iZXIoY29udGV4dCwgdmFsdWUsIGV4Y2Vw
dGlvbikgLyAxMDAwLjA7CiAgICAgcmV0dXJuICpleGNlcHRpb24gPyBuaWwgOiBbTlNEYXRlIGRh
dGVXaXRoVGltZUludGVydmFsU2luY2UxOTcwOnJlc3VsdF07CiB9CiAKQEAgLTg4OSw3ICs4ODks
NyBAQCBzdGF0aWMgT2JqY0NvbnRhaW5lckNvbnZlcnRvcjo6VGFzayBvYmplCiAgICAgICAgIH0K
IAogICAgICAgICBpZiAoW29iamVjdCBpc0tpbmRPZkNsYXNzOltOU0RhdGUgY2xhc3NdXSkgewot
ICAgICAgICAgICAgSlNWYWx1ZVJlZiBhcmd1bWVudCA9IEpTVmFsdWVNYWtlTnVtYmVyKGNvbnRl
eHRSZWYsIFtvYmplY3QgdGltZUludGVydmFsU2luY2UxOTcwXSk7CisgICAgICAgICAgICBKU1Zh
bHVlUmVmIGFyZ3VtZW50ID0gSlNWYWx1ZU1ha2VOdW1iZXIoY29udGV4dFJlZiwgW29iamVjdCB0
aW1lSW50ZXJ2YWxTaW5jZTE5NzBdICogMTAwMC4wKTsKICAgICAgICAgICAgIEpTT2JqZWN0UmVm
IHJlc3VsdCA9IEpTT2JqZWN0TWFrZURhdGUoY29udGV4dFJlZiwgMSwgJmFyZ3VtZW50LCAwKTsK
ICAgICAgICAgICAgIHJldHVybiAoT2JqY0NvbnRhaW5lckNvbnZlcnRvcjo6VGFzayl7IG9iamVj
dCwgcmVzdWx0LCBDb250YWluZXJOb25lIH07CiAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvdGVzdHMvRGF0ZVRlc3RzLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS90ZXN0cy9EYXRlVGVzdHMuaAkocmV2aXNpb24gMCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvRGF0ZVRlc3RzLmgJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLmg+CisKKyNpZiBKU0NfT0JKQ19BUElfRU5BQkxFRAorCit2b2lkIHJ1bkRhdGVU
ZXN0cygpOworCisjZW5kaWYgLy8gSlNDX09CSkNfQVBJX0VOQUJMRUQKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvRGF0ZVRlc3RzLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvRGF0ZVRlc3RzLm1tCShyZXZpc2lvbiAwKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy9EYXRlVGVzdHMubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwxNzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJEYXRlVGVzdHMuaCIK
KyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgorCisjaWYgSlNDX09CSkNfQVBJX0VO
QUJMRUQKKworZXh0ZXJuICJDIiB2b2lkIGNoZWNrUmVzdWx0KE5TU3RyaW5nICpkZXNjcmlwdGlv
biwgYm9vbCBwYXNzZWQpOworCitAaW50ZXJmYWNlIERhdGVUZXN0cyA6IE5TT2JqZWN0CisrICh2
b2lkKSBOU0RhdGVUb0pTRGF0ZVRlc3Q7CisrICh2b2lkKSBKU0RhdGVUb05TRGF0ZVRlc3Q7Cisr
ICh2b2lkKSByb3VuZFRyaXBUaHJvdWdoSlNEYXRlVGVzdDsKKysgKHZvaWQpIHJvdW5kVHJpcFRo
cm91Z2hPYmpDRGF0ZVRlc3Q7CitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBEYXRlVGVzdHMKKysg
KHZvaWQpIE5TRGF0ZVRvSlNEYXRlVGVzdAoreworICAgIEpTQ29udGV4dCAqY29udGV4dCA9IFtb
SlNDb250ZXh0IGFsbG9jXSBpbml0XTsKKyAgICBOU0RhdGUgKm5vdyA9IFtOU0RhdGUgZGF0ZVdp
dGhUaW1lSW50ZXJ2YWxTaW5jZU5vdzowXTsKKyAgICBOU0RhdGVDb21wb25lbnRzICpjb21wb25l
bnRzID0gW1tOU0NhbGVuZGFyIGN1cnJlbnRDYWxlbmRhcl0gY29tcG9uZW50czooCisgICAgICAg
IE5TQ2FsZW5kYXJVbml0TmFub3NlY29uZCB8CisgICAgICAgIE5TQ2FsZW5kYXJVbml0U2Vjb25k
IHwKKyAgICAgICAgTlNDYWxlbmRhclVuaXRNaW51dGUgfAorICAgICAgICBOU0NhbGVuZGFyVW5p
dEhvdXIgfAorICAgICAgICBOU0NhbGVuZGFyVW5pdERheSB8CisgICAgICAgIE5TQ2FsZW5kYXJV
bml0TW9udGggfAorICAgICAgICBOU0NhbGVuZGFyVW5pdFllYXIpIGZyb21EYXRlOm5vd107Cisg
ICAgSlNWYWx1ZSAqanNOb3cgPSBbSlNWYWx1ZSB2YWx1ZVdpdGhPYmplY3Q6bm93IGluQ29udGV4
dDpjb250ZXh0XTsKKyAgICB1aW50MzJfdCB5ZWFyID0gW1tqc05vdyBpbnZva2VNZXRob2Q6QCJn
ZXRGdWxsWWVhciIgd2l0aEFyZ3VtZW50czpAW11dIHRvVUludDMyXTsKKyAgICB1aW50MzJfdCBt
b250aCA9IFtbanNOb3cgaW52b2tlTWV0aG9kOkAiZ2V0TW9udGgiIHdpdGhBcmd1bWVudHM6QFtd
XSB0b1VJbnQzMl0gKyAxOworICAgIHVpbnQzMl90IGRheSA9IFtbanNOb3cgaW52b2tlTWV0aG9k
OkAiZ2V0RGF0ZSIgd2l0aEFyZ3VtZW50czpAW11dIHRvVUludDMyXTsKKyAgICB1aW50MzJfdCBo
b3VyID0gW1tqc05vdyBpbnZva2VNZXRob2Q6QCJnZXRIb3VycyIgd2l0aEFyZ3VtZW50czpAW11d
IHRvVUludDMyXTsKKyAgICB1aW50MzJfdCBtaW51dGUgPSBbW2pzTm93IGludm9rZU1ldGhvZDpA
ImdldE1pbnV0ZXMiIHdpdGhBcmd1bWVudHM6QFtdXSB0b1VJbnQzMl07CisgICAgdWludDMyX3Qg
c2Vjb25kID0gW1tqc05vdyBpbnZva2VNZXRob2Q6QCJnZXRTZWNvbmRzIiB3aXRoQXJndW1lbnRz
OkBbXV0gdG9VSW50MzJdOworICAgIHVpbnQzMl90IG1pbGxpc2Vjb25kcyA9IFtbanNOb3cgaW52
b2tlTWV0aG9kOkAiZ2V0TWlsbGlzZWNvbmRzIiB3aXRoQXJndW1lbnRzOkBbXV0gdG9VSW50MzJd
OworCisgICAgdWludDMyX3QgZXhwZWN0ZWRZZWFyID0gW2NvbXBvbmVudHMgeWVhcl07CisgICAg
dWludDMyX3QgZXhwZWN0ZWRNb250aCA9IFtjb21wb25lbnRzIG1vbnRoXTsKKyAgICB1aW50MzJf
dCBleHBlY3RlZERheSA9IFtjb21wb25lbnRzIGRheV07CisgICAgdWludDMyX3QgZXhwZWN0ZWRI
b3VyID0gW2NvbXBvbmVudHMgaG91cl07CisgICAgdWludDMyX3QgZXhwZWN0ZWRNaW51dGUgPSBb
Y29tcG9uZW50cyBtaW51dGVdOworICAgIHVpbnQzMl90IGV4cGVjdGVkU2Vjb25kID0gW2NvbXBv
bmVudHMgc2Vjb25kXTsKKyAgICB1aW50MzJfdCBleHBlY3RlZE1pbGxpc2Vjb25kcyA9IFtjb21w
b25lbnRzIG5hbm9zZWNvbmRdIC8gMTAwMCAvIDEwMDA7CisKKyAgICBjaGVja1Jlc3VsdChAIk5T
RGF0ZSB0byBKUyBEYXRlIiwgeWVhciA9PSBleHBlY3RlZFllYXIKKyAgICAgICAgJiYgbW9udGgg
PT0gZXhwZWN0ZWRNb250aAorICAgICAgICAmJiBkYXkgPT0gZXhwZWN0ZWREYXkKKyAgICAgICAg
JiYgaG91ciA9PSBleHBlY3RlZEhvdXIKKyAgICAgICAgJiYgbWludXRlID09IGV4cGVjdGVkTWlu
dXRlCisgICAgICAgICYmIHNlY29uZCA9PSBleHBlY3RlZFNlY29uZAorICAgICAgICAmJiBtaWxs
aXNlY29uZHMgPT0gZXhwZWN0ZWRNaWxsaXNlY29uZHMpOworfQorCisrICh2b2lkKSBKU0RhdGVU
b05TRGF0ZVRlc3QKK3sKKyAgICBKU0NvbnRleHQgKmNvbnRleHQgPSBbW0pTQ29udGV4dCBhbGxv
Y10gaW5pdF07CisgICAgTlNEYXRlICpmZWJydWFyeUZvdXJ0aDIwMTQgPSBbTlNEYXRlIGRhdGVX
aXRoTmF0dXJhbExhbmd1YWdlU3RyaW5nOkAiRmVicnVhcnkgNCwgMjAxNCAxMTo0MDowMyJdOwor
ICAgIE5TRGF0ZUNvbXBvbmVudHMgKmNvbXBvbmVudHMgPSBbW05TQ2FsZW5kYXIgY3VycmVudENh
bGVuZGFyXSBjb21wb25lbnRzOigKKyAgICAgICAgTlNDYWxlbmRhclVuaXROYW5vc2Vjb25kIHwK
KyAgICAgICAgTlNDYWxlbmRhclVuaXRTZWNvbmQgfAorICAgICAgICBOU0NhbGVuZGFyVW5pdE1p
bnV0ZSB8CisgICAgICAgIE5TQ2FsZW5kYXJVbml0SG91ciB8CisgICAgICAgIE5TQ2FsZW5kYXJV
bml0RGF5IHwKKyAgICAgICAgTlNDYWxlbmRhclVuaXRNb250aCB8CisgICAgICAgIE5TQ2FsZW5k
YXJVbml0WWVhcikgZnJvbURhdGU6ZmVicnVhcnlGb3VydGgyMDE0XTsKKyAgICAvLyBNb250aHMg
YXJlIDAtaW5kZXhlZCBmb3IgSmF2YVNjcmlwdCBEYXRlcy4KKyAgICBKU1ZhbHVlICpqc0RhdGUg
PSBbY29udGV4dFtAIkRhdGUiXSBjb25zdHJ1Y3RXaXRoQXJndW1lbnRzOkBbQDIwMTQsIEAxLCBA
NCwgQDExLCBANDAsIEAzXV07CisgICAgCisgICAgdWludDMyX3QgeWVhciA9IFtbanNEYXRlIGlu
dm9rZU1ldGhvZDpAImdldEZ1bGxZZWFyIiB3aXRoQXJndW1lbnRzOkBbXV0gdG9VSW50MzJdOwor
ICAgIHVpbnQzMl90IG1vbnRoID0gW1tqc0RhdGUgaW52b2tlTWV0aG9kOkAiZ2V0TW9udGgiIHdp
dGhBcmd1bWVudHM6QFtdXSB0b1VJbnQzMl0gKyAxOworICAgIHVpbnQzMl90IGRheSA9IFtbanNE
YXRlIGludm9rZU1ldGhvZDpAImdldERhdGUiIHdpdGhBcmd1bWVudHM6QFtdXSB0b1VJbnQzMl07
CisgICAgdWludDMyX3QgaG91ciA9IFtbanNEYXRlIGludm9rZU1ldGhvZDpAImdldEhvdXJzIiB3
aXRoQXJndW1lbnRzOkBbXV0gdG9VSW50MzJdOworICAgIHVpbnQzMl90IG1pbnV0ZSA9IFtbanNE
YXRlIGludm9rZU1ldGhvZDpAImdldE1pbnV0ZXMiIHdpdGhBcmd1bWVudHM6QFtdXSB0b1VJbnQz
Ml07CisgICAgdWludDMyX3Qgc2Vjb25kID0gW1tqc0RhdGUgaW52b2tlTWV0aG9kOkAiZ2V0U2Vj
b25kcyIgd2l0aEFyZ3VtZW50czpAW11dIHRvVUludDMyXTsKKyAgICB1aW50MzJfdCBtaWxsaXNl
Y29uZHMgPSBbW2pzRGF0ZSBpbnZva2VNZXRob2Q6QCJnZXRNaWxsaXNlY29uZHMiIHdpdGhBcmd1
bWVudHM6QFtdXSB0b1VJbnQzMl07CisKKyAgICB1aW50MzJfdCBleHBlY3RlZE1pbGxpc2Vjb25k
cyA9IFtjb21wb25lbnRzIG5hbm9zZWNvbmRdIC8gMTAwMCAvIDEwMDA7CisKKyAgICBjaGVja1Jl
c3VsdChAIkpTIERhdGUgdG8gTlNEYXRlIiwgeWVhciA9PSBbY29tcG9uZW50cyB5ZWFyXQorICAg
ICAgICAmJiBtb250aCA9PSBbY29tcG9uZW50cyBtb250aF0KKyAgICAgICAgJiYgZGF5ID09IFtj
b21wb25lbnRzIGRheV0KKyAgICAgICAgJiYgaG91ciA9PSBbY29tcG9uZW50cyBob3VyXQorICAg
ICAgICAmJiBtaW51dGUgPT0gW2NvbXBvbmVudHMgbWludXRlXQorICAgICAgICAmJiBzZWNvbmQg
PT0gW2NvbXBvbmVudHMgc2Vjb25kXQorICAgICAgICAmJiBtaWxsaXNlY29uZHMgPT0gZXhwZWN0
ZWRNaWxsaXNlY29uZHMpOworfQorCisrICh2b2lkKSByb3VuZFRyaXBUaHJvdWdoSlNEYXRlVGVz
dAoreworICAgIEpTQ29udGV4dCAqY29udGV4dCA9IFtbSlNDb250ZXh0IGFsbG9jXSBpbml0XTsK
KyAgICBbY29udGV4dCBldmFsdWF0ZVNjcmlwdDpAImZ1bmN0aW9uIGpzUmV0dXJuRGF0ZShkYXRl
KSB7IHJldHVybiBkYXRlOyB9Il07CisgICAgTlNEYXRlICpmZWJydWFyeUZvdXJ0aDIwMTQgPSBb
TlNEYXRlIGRhdGVXaXRoTmF0dXJhbExhbmd1YWdlU3RyaW5nOkAiRmVicnVhcnkgNCwgMjAxNCAx
MTo0MDowMyJdOworICAgIE5TRGF0ZUNvbXBvbmVudHMgKmNvbXBvbmVudHMgPSBbW05TQ2FsZW5k
YXIgY3VycmVudENhbGVuZGFyXSBjb21wb25lbnRzOigKKyAgICAgICAgTlNDYWxlbmRhclVuaXRO
YW5vc2Vjb25kIHwKKyAgICAgICAgTlNDYWxlbmRhclVuaXRTZWNvbmQgfAorICAgICAgICBOU0Nh
bGVuZGFyVW5pdE1pbnV0ZSB8CisgICAgICAgIE5TQ2FsZW5kYXJVbml0SG91ciB8CisgICAgICAg
IE5TQ2FsZW5kYXJVbml0RGF5IHwKKyAgICAgICAgTlNDYWxlbmRhclVuaXRNb250aCB8CisgICAg
ICAgIE5TQ2FsZW5kYXJVbml0WWVhcikgZnJvbURhdGU6ZmVicnVhcnlGb3VydGgyMDE0XTsKKyAg
ICAKKyAgICBKU1ZhbHVlICpyb3VuZFRyaXBUaHJvdWdoSlMgPSBbY29udGV4dFtAImpzUmV0dXJu
RGF0ZSJdIGNhbGxXaXRoQXJndW1lbnRzOkBbZmVicnVhcnlGb3VydGgyMDE0XV07CisgICAgdWlu
dDMyX3QgeWVhciA9IFtbcm91bmRUcmlwVGhyb3VnaEpTIGludm9rZU1ldGhvZDpAImdldEZ1bGxZ
ZWFyIiB3aXRoQXJndW1lbnRzOkBbXV0gdG9VSW50MzJdOworICAgIHVpbnQzMl90IG1vbnRoID0g
W1tyb3VuZFRyaXBUaHJvdWdoSlMgaW52b2tlTWV0aG9kOkAiZ2V0TW9udGgiIHdpdGhBcmd1bWVu
dHM6QFtdXSB0b1VJbnQzMl0gKyAxOworICAgIHVpbnQzMl90IGRheSA9IFtbcm91bmRUcmlwVGhy
b3VnaEpTIGludm9rZU1ldGhvZDpAImdldERhdGUiIHdpdGhBcmd1bWVudHM6QFtdXSB0b1VJbnQz
Ml07CisgICAgdWludDMyX3QgaG91ciA9IFtbcm91bmRUcmlwVGhyb3VnaEpTIGludm9rZU1ldGhv
ZDpAImdldEhvdXJzIiB3aXRoQXJndW1lbnRzOkBbXV0gdG9VSW50MzJdOworICAgIHVpbnQzMl90
IG1pbnV0ZSA9IFtbcm91bmRUcmlwVGhyb3VnaEpTIGludm9rZU1ldGhvZDpAImdldE1pbnV0ZXMi
IHdpdGhBcmd1bWVudHM6QFtdXSB0b1VJbnQzMl07CisgICAgdWludDMyX3Qgc2Vjb25kID0gW1ty
b3VuZFRyaXBUaHJvdWdoSlMgaW52b2tlTWV0aG9kOkAiZ2V0U2Vjb25kcyIgd2l0aEFyZ3VtZW50
czpAW11dIHRvVUludDMyXTsKKyAgICB1aW50MzJfdCBtaWxsaXNlY29uZHMgPSBbW3JvdW5kVHJp
cFRocm91Z2hKUyBpbnZva2VNZXRob2Q6QCJnZXRNaWxsaXNlY29uZHMiIHdpdGhBcmd1bWVudHM6
QFtdXSB0b1VJbnQzMl07CisKKyAgICB1aW50MzJfdCBleHBlY3RlZE1pbGxpc2Vjb25kcyA9IFtj
b21wb25lbnRzIG5hbm9zZWNvbmRdIC8gMTAwMCAvIDEwMDA7CisKKyAgICBjaGVja1Jlc3VsdChA
IkpTIGRhdGUgcm91bmQgdHJpcCIsIHllYXIgPT0gW2NvbXBvbmVudHMgeWVhcl0KKyAgICAgICAg
JiYgbW9udGggPT0gW2NvbXBvbmVudHMgbW9udGhdCisgICAgICAgICYmIGRheSA9PSBbY29tcG9u
ZW50cyBkYXldCisgICAgICAgICYmIGhvdXIgPT0gW2NvbXBvbmVudHMgaG91cl0KKyAgICAgICAg
JiYgbWludXRlID09IFtjb21wb25lbnRzIG1pbnV0ZV0KKyAgICAgICAgJiYgc2Vjb25kID09IFtj
b21wb25lbnRzIHNlY29uZF0KKyAgICAgICAgJiYgbWlsbGlzZWNvbmRzID09IGV4cGVjdGVkTWls
bGlzZWNvbmRzKTsKK30KKworKyAodm9pZCkgcm91bmRUcmlwVGhyb3VnaE9iakNEYXRlVGVzdAor
eworICAgIEpTQ29udGV4dCAqY29udGV4dCA9IFtbSlNDb250ZXh0IGFsbG9jXSBpbml0XTsKKyAg
ICBjb250ZXh0W0Aib2JqY1JldHVybkRhdGUiXSA9IF4oTlNEYXRlICpkYXRlKSB7CisgICAgICAg
IHJldHVybiBkYXRlOworICAgIH07CisgICAgW2NvbnRleHQgZXZhbHVhdGVTY3JpcHQ6QCJmdW5j
dGlvbiB0ZXN0KCkge1wKKyAgICAgICAgdmFyIGRhdGUgPSBuZXcgRGF0ZSgyMDE0LCAyLCA0LCAx
MSwgNDAsIDMpOyBcCisgICAgICAgIHZhciByZXN1bHQgPSBvYmpjUmV0dXJuRGF0ZShkYXRlKTsg
XAorICAgICAgICByZXR1cm4gZGF0ZS5nZXRZZWFyKCkgPT09IHJlc3VsdC5nZXRZZWFyKCkgXAor
ICAgICAgICAgICAgJiYgZGF0ZS5nZXRNb250aCgpID09PSByZXN1bHQuZ2V0TW9udGgoKSBcCisg
ICAgICAgICAgICAmJiBkYXRlLmdldERhdGUoKSA9PT0gcmVzdWx0LmdldERhdGUoKSBcCisgICAg
ICAgICAgICAmJiBkYXRlLmdldEhvdXJzKCkgPT09IHJlc3VsdC5nZXRIb3VycygpIFwKKyAgICAg
ICAgICAgICYmIGRhdGUuZ2V0TWludXRlcygpID09PSByZXN1bHQuZ2V0TWludXRlcygpIFwKKyAg
ICAgICAgICAgICYmIGRhdGUuZ2V0U2Vjb25kcygpID09PSByZXN1bHQuZ2V0U2Vjb25kcygpIFwK
KyAgICAgICAgICAgICYmIGRhdGUuZ2V0TWlsbGlzZWNvbmRzKCkgPT09IHJlc3VsdC5nZXRNaWxs
aXNlY29uZHMoKTtcCisgICAgfSJdOworICAgIAorICAgIGNoZWNrUmVzdWx0KEAiT2JqQyBkYXRl
IHJvdW5kIHRyaXAiLCBbW2NvbnRleHRbQCJ0ZXN0Il0gY2FsbFdpdGhBcmd1bWVudHM6QFtdXSB0
b0Jvb2xdKTsKK30KKworQGVuZAorCit2b2lkIHJ1bkRhdGVUZXN0cygpCit7CisgICAgW0RhdGVU
ZXN0cyBOU0RhdGVUb0pTRGF0ZVRlc3RdOworICAgIFtEYXRlVGVzdHMgSlNEYXRlVG9OU0RhdGVU
ZXN0XTsKKyAgICBbRGF0ZVRlc3RzIHJvdW5kVHJpcFRocm91Z2hKU0RhdGVUZXN0XTsKKyAgICBb
RGF0ZVRlc3RzIHJvdW5kVHJpcFRocm91Z2hPYmpDRGF0ZVRlc3RdOworfQorCisjZW5kaWYgLy8g
SlNDX09CSkNfQVBJX0VOQUJMRUQKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVz
dHMvdGVzdGFwaS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rl
c3RzL3Rlc3RhcGkubW0JKHJldmlzaW9uIDE2MzYyMykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvdGVzdHMvdGVzdGFwaS5tbQkod29ya2luZyBjb3B5KQpAQCAtMjYsNiArMjYsNyBAQAog
I2ltcG9ydCA8SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuaD4KIAogI2ltcG9ydCAiQ3Vy
cmVudFRoaXNJbnNpZGVCbG9ja0dldHRlclRlc3QuaCIKKyNpbXBvcnQgIkRhdGVUZXN0cy5oIgog
CiBleHRlcm4gIkMiIHZvaWQgSlNTeW5jaHJvbm91c0dhcmJhZ2VDb2xsZWN0Rm9yRGVidWdnaW5n
KEpTQ29udGV4dFJlZik7CiAKQEAgLTM0LDYgKzM1LDcgQEAgZXh0ZXJuICJDIiBjb25zdCBjaGFy
ICogX0Jsb2NrX3NpZ25hdHVyZQogCiBleHRlcm4gaW50IGZhaWxlZDsKIGV4dGVybiAiQyIgdm9p
ZCB0ZXN0T2JqZWN0aXZlQ0FQSSh2b2lkKTsKK2V4dGVybiAiQyIgdm9pZCBjaGVja1Jlc3VsdChO
U1N0cmluZyAqLCBib29sKTsKIAogI2lmIEpTQ19PQkpDX0FQSV9FTkFCTEVECiAKQEAgLTQ1MCw3
ICs0NTIsNyBAQCAtIChKU1ZhbHVlICopZG9FdmlsVGhpbmdzV2l0aENvbnRleHQ6KEpTCiB9CiBA
ZW5kCiAKLXN0YXRpYyB2b2lkIGNoZWNrUmVzdWx0KE5TU3RyaW5nICpkZXNjcmlwdGlvbiwgYm9v
bCBwYXNzZWQpCitleHRlcm4gIkMiIHZvaWQgY2hlY2tSZXN1bHQoTlNTdHJpbmcgKmRlc2NyaXB0
aW9uLCBib29sIHBhc3NlZCkKIHsKICAgICBOU0xvZyhAIlRFU1Q6IFwiJUBcIjogJUAiLCBkZXNj
cmlwdGlvbiwgcGFzc2VkID8gQCJQQVNTRUQiIDogQCJGQUlMRUQiKTsKICAgICBpZiAoIXBhc3Nl
ZCkKQEAgLTEyNTYsNiArMTI1OCw3IEBAIHZvaWQgdGVzdE9iamVjdGl2ZUNBUEkoKQogICAgIH0K
IAogICAgIGN1cnJlbnRUaGlzSW5zaWRlQmxvY2tHZXR0ZXJUZXN0KCk7CisgICAgcnVuRGF0ZVRl
c3RzKCk7CiB9CiAKICNlbHNlCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2
aXNpb24gMTYzNjIzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTEzNDUsMTMgKzEzNDUs
MTQgQEAKIAkJQzI1RjhCQ0UxNTc1NDRBOTAwMjQ1QjcxIC8qIEluY3JlbWVudGFsU3dlZXBlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzI1RjhCQ0Mx
NTc1NDRBOTAwMjQ1QjcxIC8qIEluY3JlbWVudGFsU3dlZXBlci5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUMyODMxOTAwMTZGRTRCN0QwMDE1N0JG
RCAvKiBIYW5kbGVCbG9jay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQzI4MzE4RkYxNkZFNEI3RDAwMTU3QkZEIC8qIEhhbmRsZUJsb2NrLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQzI4MzE5MDIxNkZF
NTMzRTAwMTU3QkZEIC8qIEhhbmRsZUJsb2NrSW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzI4MzE5MDExNkZFNTMzRTAwMTU3QkZEIC8qIEhh
bmRsZUJsb2NrSW5saW5lcy5oICovOyB9OworCQlDMjg4QjJERTE4QTU0RDNFMDA3QkU0MEIgLyog
RGF0ZVRlc3RzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQzI4OEIyREQxOEE1NEQzRTAwN0JFNDBCIC8qIERhdGVUZXN0cy5tbSAqLzsgfTsKIAkJQzI5
ODFGRDgxN0JBRUU0QjAwQTNCQzk4IC8qIERGR0Rlc2lyZWRXZWFrUmVmZXJlbmNlcy5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjk4MUZENjE3QkFF
RTRCMDBBM0JDOTggLyogREZHRGVzaXJlZFdlYWtSZWZlcmVuY2VzLmNwcCAqLzsgfTsKIAkJQzI5
ODFGRDkxN0JBRUU0QjAwQTNCQzk4IC8qIERGR0Rlc2lyZWRXZWFrUmVmZXJlbmNlcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzI5ODFGRDcxN0JBRUU0
QjAwQTNCQzk4IC8qIERGR0Rlc2lyZWRXZWFrUmVmZXJlbmNlcy5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUMyOTgxRkRDMTdCQUZGNDQwMEEzQkM5
OCAvKiBERkdEZXNpcmVkV3JpdGVCYXJyaWVycy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjk4MUZEQTE3QkFGRjQ0MDBBM0JDOTggLyogREZHRGVz
aXJlZFdyaXRlQmFycmllcnMuY3BwICovOyB9OwogCQlDMjk4MUZERDE3QkFGRjQ0MDBBM0JDOTgg
LyogREZHRGVzaXJlZFdyaXRlQmFycmllcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEMyOTgxRkRCMTdCQUZGNDQwMEEzQkM5OCAvKiBERkdEZXNpcmVk
V3JpdGVCYXJyaWVycy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCUMyOUVDQjAzMTgwNEQwRUQwMEQyQ0JCNCAvKiBDdXJyZW50VGhpc0luc2lkZUJs
b2NrR2V0dGVyVGVzdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEMyOUVDQjAxMTgwNEQwRUQwMEQyQ0JCNCAvKiBDdXJyZW50VGhpc0luc2lkZUJsb2Nr
R2V0dGVyVGVzdC5tbSAqLzsgfTsKIAkJQzJBN0Y2ODgxNjA0MzJENDAwRjc2Qjk4IC8qIEpTRGVz
dHJ1Y3RpYmxlT2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDMkE3RjY4NzE2MDQzMkQ0MDBGNzZCOTggLyogSlNEZXN0cnVjdGlibGVPYmplY3Qu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotICAgICAg
IEMyQjZENzUzMThBMzM3OTMwMDRBOTMwMSAvKiBXcml0ZUJhcnJpZXJJbmxpbmVzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMkI2RDc1MjE4QTMzNzkz
MDA0QTkzMDEgLyogV3JpdGVCYXJyaWVySW5saW5lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUMyQjZENzUzMThBMzM3OTMwMDRBOTMwMSAvKiBX
cml0ZUJhcnJpZXJJbmxpbmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDMkI2RDc1MjE4QTMzNzkzMDA0QTkzMDEgLyogV3JpdGVCYXJyaWVySW5saW5l
cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUMy
QjkxNkMyMTREQTAxNEUwMENCQUM4NiAvKiBNYXJrZWRBbGxvY2F0b3IuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyQjkxNkMxMTREQTAxNEUwMENCQUM4
NiAvKiBNYXJrZWRBbGxvY2F0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQlDMkI5MTZDNTE0REEwNDBDMDBDQkFDODYgLyogTWFya2VkQWxsb2Nh
dG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMy
QjkxNkM0MTREQTA0MEMwMENCQUM4NiAvKiBNYXJrZWRBbGxvY2F0b3IuY3BwICovOyB9OwogCQlD
MkMwRjdDRDE3QkJGQzVCMDA0NjRGRTQgLyogREZHRGVzaXJlZFRyYW5zaXRpb25zLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyQzBGN0NCMTdCQkZD
NUIwMDQ2NEZFNCAvKiBERkdEZXNpcmVkVHJhbnNpdGlvbnMuY3BwICovOyB9OwpAQCAtMjc5NSw2
ICsyNzk2LDggQEAKIAkJQzI1RjhCQ0MxNTc1NDRBOTAwMjQ1QjcxIC8qIEluY3JlbWVudGFsU3dl
ZXBlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbmNyZW1lbnRhbFN3ZWVw
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzI4MzE4RkYxNkZFNEI3RDAwMTU3
QkZEIC8qIEhhbmRsZUJsb2NrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhh
bmRsZUJsb2NrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMyODMxOTAxMTZGRTUz
M0UwMDE1N0JGRCAvKiBIYW5kbGVCbG9ja0lubGluZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSGFuZGxlQmxvY2tJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUMyODhCMkRDMThBNTREM0UwMDdCRTQwQiAvKiBEYXRlVGVzdHMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRGF0ZVRlc3RzLmg7IHBhdGggPSBBUEkvdGVzdHMvRGF0
ZVRlc3RzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMyODhCMkREMThBNTREM0Uw
MDdCRTQwQiAvKiBEYXRlVGVzdHMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IG5hbWUgPSBEYXRlVGVzdHMubW07IHBhdGggPSBBUEkvdGVzdHMvRGF0ZVRlc3RzLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMjk4MUZENjE3QkFFRTRCMDBBM0JDOTggLyogREZH
RGVzaXJlZFdlYWtSZWZlcmVuY2VzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IERGR0Rlc2lyZWRXZWFrUmVmZXJlbmNlcy5jcHA7IHBhdGggPSBkZmcvREZHRGVzaXJl
ZFdlYWtSZWZlcmVuY2VzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzI5ODFG
RDcxN0JBRUU0QjAwQTNCQzk4IC8qIERGR0Rlc2lyZWRXZWFrUmVmZXJlbmNlcy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdEZXNpcmVkV2Vha1JlZmVyZW5jZXMuaDsgcGF0
aCA9IGRmZy9ERkdEZXNpcmVkV2Vha1JlZmVyZW5jZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQzI5ODFGREExN0JBRkY0NDAwQTNCQzk4IC8qIERGR0Rlc2lyZWRXcml0ZUJhcnJp
ZXJzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0Rlc2lyZWRX
cml0ZUJhcnJpZXJzLmNwcDsgcGF0aCA9IGRmZy9ERkdEZXNpcmVkV3JpdGVCYXJyaWVycy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yODAyLDcgKzI4MDUsNyBAQAogCQlDMjlF
Q0IwMTE4MDREMEVEMDBEMkNCQjQgLyogQ3VycmVudFRoaXNJbnNpZGVCbG9ja0dldHRlclRlc3Qu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBDdXJyZW50VGhpc0lu
c2lkZUJsb2NrR2V0dGVyVGVzdC5tbTsgcGF0aCA9IEFQSS90ZXN0cy9DdXJyZW50VGhpc0luc2lk
ZUJsb2NrR2V0dGVyVGVzdC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzI5RUNC
MDIxODA0RDBFRDAwRDJDQkI0IC8qIEN1cnJlbnRUaGlzSW5zaWRlQmxvY2tHZXR0ZXJUZXN0Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEN1cnJlbnRUaGlzSW5zaWRlQmxvY2tH
ZXR0ZXJUZXN0Lmg7IHBhdGggPSBBUEkvdGVzdHMvQ3VycmVudFRoaXNJbnNpZGVCbG9ja0dldHRl
clRlc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzJBN0Y2ODcxNjA0MzJENDAw
Rjc2Qjk4IC8qIEpTRGVzdHJ1Y3RpYmxlT2JqZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0gICAgICAgQzJCNkQ3NTIxOEEzMzc5MzAwNEE5MzAxIC8qIFdyaXRlQmFycmllcklubGlu
ZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV3JpdGVCYXJyaWVySW5saW5l
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMkI2RDc1MjE4QTMzNzkzMDA0QTkz
MDEgLyogV3JpdGVCYXJyaWVySW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXcml0ZUJhcnJpZXJJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUMyQjkxNkMxMTREQTAxNEUwMENCQUM4NiAvKiBNYXJrZWRBbGxvY2F0b3IuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWFya2VkQWxsb2NhdG9yLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUMyQjkxNkM0MTREQTA0MEMwMENCQUM4NiAvKiBNYXJrZWRBbGxvY2F0
b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWFya2VkQWxsb2Nh
dG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzJDMEY3Q0IxN0JCRkM1QjAw
NDY0RkU0IC8qIERGR0Rlc2lyZWRUcmFuc2l0aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBERkdEZXNpcmVkVHJhbnNpdGlvbnMuY3BwOyBwYXRoID0gZGZnL0RG
R0Rlc2lyZWRUcmFuc2l0aW9ucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0z
MjI4LDYgKzMyMzEsOCBAQAogCQkJCTE0RDg1Nzc0MEE0Njk2QzgwMDMyMTQ2QyAvKiB0ZXN0YXBp
LmpzICovLAogCQkJCTg2RDIyMjE5MTY3RUY5NDQwMDI0QzgwNCAvKiB0ZXN0YXBpLm1tICovLAog
CQkJCTY1MTEyMkU1MTQwNDY5QkEwMDJCMTAxRCAvKiB0ZXN0UmVnRXhwLmNwcCAqLywKKwkJCQlD
Mjg4QjJEQzE4QTU0RDNFMDA3QkU0MEIgLyogRGF0ZVRlc3RzLmggKi8sCisJCQkJQzI4OEIyREQx
OEE1NEQzRTAwN0JFNDBCIC8qIERhdGVUZXN0cy5tbSAqLywKIAkJCSk7CiAJCQluYW1lID0gdGVz
dHM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMzY2Myw3ICszNjY4LDcgQEAKIAkJ
N0VGNkUwQkIwRUI3QTFFQzAwNzlBRkFGIC8qIHJ1bnRpbWUgKi8gPSB7CiAJCQlpc2EgPSBQQlhH
cm91cDsKIAkJCWNoaWxkcmVuID0gKAotICAgICAgICAgICAgICAgQzJCNkQ3NTIxOEEzMzc5MzAw
NEE5MzAxIC8qIFdyaXRlQmFycmllcklubGluZXMuaCAqLywKKwkJCQlDMkI2RDc1MjE4QTMzNzkz
MDA0QTkzMDEgLyogV3JpdGVCYXJyaWVySW5saW5lcy5oICovLAogCQkJCUJDRjYwNTExMEUyMDNF
RjgwMEI5QTY0RCAvKiBBcmdMaXN0LmNwcCAqLywKIAkJCQlCQ0Y2MDUxMjBFMjAzRUY4MDBCOUE2
NEQgLyogQXJnTGlzdC5oICovLAogCQkJCUJDMjU3REU1MEUxRjUxQzUwMDE2QjZDOSAvKiBBcmd1
bWVudHMuY3BwICovLApAQCAtNDY5OCw3ICs0NzAzLDcgQEAKIAkJCQk2NUMwMjg1RDE3MTc5NjY4
MDAzNTFFMzUgLyogQVJNdjdET3Bjb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyQTY4Mjk1QjE4
NzVGODA1MDBCNkMzRTIgLyogQ29weVdyaXRlQmFycmllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MkE0RUM5MEMxODYwRDZDMjAwOTRGNzgyIC8qIFdyaXRlQmFycmllckJ1ZmZlci5oIGluIEhlYWRl
cnMgKi8sCi0gICAgICAgICAgICAgICBDMkI2RDc1MzE4QTMzNzkzMDA0QTkzMDEgLyogV3JpdGVC
YXJyaWVySW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQzJCNkQ3NTMxOEEzMzc5MzAwNEE5
MzAxIC8qIFdyaXRlQmFycmllcklubGluZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUZFNTkzMkE4
MTgzQzVBMjYwMEExRUNDQyAvKiBWTUVudHJ5U2NvcGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1
MzI0MzkzMTg1Njk3MDkwMDJFRDY5MiAvKiBDb2RlR2VuZXJhdG9ySW5zcGVjdG9yU3RyaW5ncy5w
eSBpbiBIZWFkZXJzICovLAogCQkJCUE1MzI0MzkyMTg1Njk3MDkwMDJFRDY5MiAvKiBDb2RlR2Vu
ZXJhdG9ySW5zcGVjdG9yLnB5IGluIEhlYWRlcnMgKi8sCkBAIC01ODUxLDYgKzU4NTYsNyBAQAog
CQkJCUMyOUVDQjAzMTgwNEQwRUQwMEQyQ0JCNCAvKiBDdXJyZW50VGhpc0luc2lkZUJsb2NrR2V0
dGVyVGVzdC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTE0NDBGNjEwMEE0Rjg1NjcwMDA1RjA2MSAv
KiB0ZXN0YXBpLmMgaW4gU291cmNlcyAqLywKIAkJCQk4NkQyMjIxQTE2N0VGOTQ0MDAyNEM4MDQg
LyogdGVzdGFwaS5tbSBpbiBTb3VyY2VzICovLAorCQkJCUMyODhCMkRFMThBNTREM0UwMDdCRTQw
QiAvKiBEYXRlVGVzdHMubW0gaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVw
bG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223485</attachid>
            <date>2014-02-07 12:55:42 -0800</date>
            <delta_ts>2014-02-07 12:58:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-128386-20140207125536.patch</filename>
            <type>text/plain</type>
            <size>21307</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTYzNjQwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBA
CisyMDE0LTAyLTA3ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgT2JqZWN0aXZlLUMgQVBJIE5TRGF0ZSBjb252ZXJzaW9uIGlzIG9mZiBieSAxMDAw
eCAobXMgdnMgcykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEyODM4NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEZpeGVkIHRoZSBjb252ZXJzaW9uIGJldHdlZW4gTlNEYXRlIGFuZCBKYXZhU2NyaXB0IERh
dGVzIGFuZAorICAgICAgICBhZGRlZCBzb21lIHRlc3RzIGZvciBjb252ZXJ0aW5nIGJldHdlZW4g
dGhlIHR3by4KKworICAgICAgICAqIEFQSS9KU1ZhbHVlLm1tOgorICAgICAgICAodmFsdWVUb09i
amVjdFdpdGhvdXRDb3B5KToKKyAgICAgICAgKHZhbHVlVG9EYXRlKToKKyAgICAgICAgKG9iamVj
dFRvVmFsdWVXaXRob3V0Q29weSk6CisgICAgICAgICogQVBJL3Rlc3RzL0RhdGVUZXN0cy5oOiBB
ZGRlZC4KKyAgICAgICAgKiBBUEkvdGVzdHMvRGF0ZVRlc3RzLm1tOiBBZGRlZC4KKyAgICAgICAg
KCtbRGF0ZVRlc3RzIE5TRGF0ZVRvSlNEYXRlVGVzdF0pOgorICAgICAgICAoK1tEYXRlVGVzdHMg
SlNEYXRlVG9OU0RhdGVUZXN0XSk6CisgICAgICAgICgrW0RhdGVUZXN0cyByb3VuZFRyaXBUaHJv
dWdoSlNEYXRlVGVzdF0pOgorICAgICAgICAoK1tEYXRlVGVzdHMgcm91bmRUcmlwVGhyb3VnaE9i
akNEYXRlVGVzdF0pOgorICAgICAgICAqIEFQSS90ZXN0cy90ZXN0YXBpLm1tOgorICAgICAgICAo
Y2hlY2tSZXN1bHQpOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisKIDIwMTQtMDItMDcgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4K
IAogICAgICAgICBSRUdSRVNTSU9OIChyMTYwNjI4KTogTExpbnQgZG9lcyBub3QgYXBwZWFyIHRv
IGhhbmRsZSBpbXB1cmUgZ2V0IG93biBwcm9wZXJ0eSBwcm9wZXJseQpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS9KU1ZhbHVlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9BUEkvSlNWYWx1ZS5tbQkocmV2aXNpb24gMTYzNjM5KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL0FQSS9KU1ZhbHVlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02NTYsNyArNjU2LDcg
QEAgc3RhdGljIEpTQ29udGFpbmVyQ29udmVydG9yOjpUYXNrIHZhbHVlVAogICAgICAgICByZXR1
cm4gKEpTQ29udGFpbmVyQ29udmVydG9yOjpUYXNrKXsgb2JqZWN0LCB3cmFwcGVkLCBDb250YWlu
ZXJOb25lIH07CiAKICAgICBpZiAoaXNEYXRlKG9iamVjdCwgY29udGV4dCkpCi0gICAgICAgIHJl
dHVybiAoSlNDb250YWluZXJDb252ZXJ0b3I6OlRhc2speyBvYmplY3QsIFtOU0RhdGUgZGF0ZVdp
dGhUaW1lSW50ZXJ2YWxTaW5jZTE5NzA6SlNWYWx1ZVRvTnVtYmVyKGNvbnRleHQsIG9iamVjdCwg
MCldLCBDb250YWluZXJOb25lIH07CisgICAgICAgIHJldHVybiAoSlNDb250YWluZXJDb252ZXJ0
b3I6OlRhc2speyBvYmplY3QsIFtOU0RhdGUgZGF0ZVdpdGhUaW1lSW50ZXJ2YWxTaW5jZTE5NzA6
SlNWYWx1ZVRvTnVtYmVyKGNvbnRleHQsIG9iamVjdCwgMCkgLyAxMDAwLjBdLCBDb250YWluZXJO
b25lIH07CiAKICAgICBpZiAoaXNBcnJheShvYmplY3QsIGNvbnRleHQpKQogICAgICAgICByZXR1
cm4gKEpTQ29udGFpbmVyQ29udmVydG9yOjpUYXNrKXsgb2JqZWN0LCBbTlNNdXRhYmxlQXJyYXkg
YXJyYXldLCBDb250YWluZXJBcnJheSB9OwpAQCAtNzU5LDcgKzc1OSw3IEBAIGlkIHZhbHVlVG9E
YXRlKEpTR2xvYmFsQ29udGV4dFJlZiBjb250ZXgKICAgICAgICAgICAgIHJldHVybiB3cmFwcGVk
OwogICAgIH0KIAotICAgIGRvdWJsZSByZXN1bHQgPSBKU1ZhbHVlVG9OdW1iZXIoY29udGV4dCwg
dmFsdWUsIGV4Y2VwdGlvbik7CisgICAgZG91YmxlIHJlc3VsdCA9IEpTVmFsdWVUb051bWJlcihj
b250ZXh0LCB2YWx1ZSwgZXhjZXB0aW9uKSAvIDEwMDAuMDsKICAgICByZXR1cm4gKmV4Y2VwdGlv
biA/IG5pbCA6IFtOU0RhdGUgZGF0ZVdpdGhUaW1lSW50ZXJ2YWxTaW5jZTE5NzA6cmVzdWx0XTsK
IH0KIApAQCAtODg5LDcgKzg4OSw3IEBAIHN0YXRpYyBPYmpjQ29udGFpbmVyQ29udmVydG9yOjpU
YXNrIG9iamUKICAgICAgICAgfQogCiAgICAgICAgIGlmIChbb2JqZWN0IGlzS2luZE9mQ2xhc3M6
W05TRGF0ZSBjbGFzc11dKSB7Ci0gICAgICAgICAgICBKU1ZhbHVlUmVmIGFyZ3VtZW50ID0gSlNW
YWx1ZU1ha2VOdW1iZXIoY29udGV4dFJlZiwgW29iamVjdCB0aW1lSW50ZXJ2YWxTaW5jZTE5NzBd
KTsKKyAgICAgICAgICAgIEpTVmFsdWVSZWYgYXJndW1lbnQgPSBKU1ZhbHVlTWFrZU51bWJlcihj
b250ZXh0UmVmLCBbb2JqZWN0IHRpbWVJbnRlcnZhbFNpbmNlMTk3MF0gKiAxMDAwLjApOwogICAg
ICAgICAgICAgSlNPYmplY3RSZWYgcmVzdWx0ID0gSlNPYmplY3RNYWtlRGF0ZShjb250ZXh0UmVm
LCAxLCAmYXJndW1lbnQsIDApOwogICAgICAgICAgICAgcmV0dXJuIChPYmpjQ29udGFpbmVyQ29u
dmVydG9yOjpUYXNrKXsgb2JqZWN0LCByZXN1bHQsIENvbnRhaW5lck5vbmUgfTsKICAgICAgICAg
fQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy9EYXRlVGVzdHMuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL0RhdGVUZXN0cy5oCShy
ZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy9EYXRlVGVzdHMu
aAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCA8
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuaD4KKworI2lmIEpTQ19PQkpDX0FQSV9FTkFC
TEVECisKK3ZvaWQgcnVuRGF0ZVRlc3RzKCk7CisKKyNlbmRpZiAvLyBKU0NfT0JKQ19BUElfRU5B
QkxFRApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy9EYXRlVGVzdHMubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy9EYXRlVGVzdHMu
bW0JKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL0RhdGVU
ZXN0cy5tbQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE0NyBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bXBvcnQgIkRhdGVUZXN0cy5oIgorI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisK
KyNpZiBKU0NfT0JKQ19BUElfRU5BQkxFRAorCitleHRlcm4gIkMiIHZvaWQgY2hlY2tSZXN1bHQo
TlNTdHJpbmcgKmRlc2NyaXB0aW9uLCBib29sIHBhc3NlZCk7CisKK0BpbnRlcmZhY2UgRGF0ZVRl
c3RzIDogTlNPYmplY3QKKysgKHZvaWQpIE5TRGF0ZVRvSlNEYXRlVGVzdDsKKysgKHZvaWQpIEpT
RGF0ZVRvTlNEYXRlVGVzdDsKKysgKHZvaWQpIHJvdW5kVHJpcFRocm91Z2hKU0RhdGVUZXN0Owor
KyAodm9pZCkgcm91bmRUcmlwVGhyb3VnaE9iakNEYXRlVGVzdDsKK0BlbmQKKworI2lmIChUQVJH
RVRfT1NfSVBIT05FICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDcwMDAw
KSB8fCAoVEFSR0VUX09TX01BQyAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEwOTApCitzdGF0aWMgdW5zaWduZWQgdW5pdEZsYWdzID0gTlNDYWxlbmRhclVuaXRTZWNvbmQg
fCBOU0NhbGVuZGFyVW5pdE1pbnV0ZSB8IE5TQ2FsZW5kYXJVbml0SG91ciB8IE5TQ2FsZW5kYXJV
bml0RGF5IHwgTlNDYWxlbmRhclVuaXRNb250aCB8IE5TQ2FsZW5kYXJVbml0WWVhcjsKKyNlbHNl
CitzdGF0aWMgdW5zaWduZWQgdW5pdEZsYWdzID0gTlNTZWNvbmRDYWxlbmRhclVuaXQgfCBOU01p
bnV0ZUNhbGVuZGFyVW5pdCB8IE5TSG91ckNhbGVuZGFyVW5pdCB8IE5TRGF5Q2FsZW5kYXJVbml0
IHwgTlNNb250aENhbGVuZGFyVW5pdCB8IE5TWWVhckNhbGVuZGFyVW5pdDsKKyNlbmRpZgorCitA
aW1wbGVtZW50YXRpb24gRGF0ZVRlc3RzCisrICh2b2lkKSBOU0RhdGVUb0pTRGF0ZVRlc3QKK3sK
KyAgICBKU0NvbnRleHQgKmNvbnRleHQgPSBbW0pTQ29udGV4dCBhbGxvY10gaW5pdF07CisgICAg
TlNEYXRlICpub3cgPSBbTlNEYXRlIGRhdGVXaXRoVGltZUludGVydmFsU2luY2VOb3c6MF07Cisg
ICAgTlNEYXRlQ29tcG9uZW50cyAqY29tcG9uZW50cyA9IFtbTlNDYWxlbmRhciBjdXJyZW50Q2Fs
ZW5kYXJdIGNvbXBvbmVudHM6dW5pdEZsYWdzIGZyb21EYXRlOm5vd107CisgICAgSlNWYWx1ZSAq
anNOb3cgPSBbSlNWYWx1ZSB2YWx1ZVdpdGhPYmplY3Q6bm93IGluQ29udGV4dDpjb250ZXh0XTsK
KyAgICB1aW50MzJfdCB5ZWFyID0gW1tqc05vdyBpbnZva2VNZXRob2Q6QCJnZXRGdWxsWWVhciIg
d2l0aEFyZ3VtZW50czpAW11dIHRvVUludDMyXTsKKyAgICAvLyBNb250aHMgYXJlIDAtaW5kZXhl
ZCBmb3IgSmF2YVNjcmlwdCBEYXRlcy4KKyAgICB1aW50MzJfdCBtb250aCA9IFtbanNOb3cgaW52
b2tlTWV0aG9kOkAiZ2V0TW9udGgiIHdpdGhBcmd1bWVudHM6QFtdXSB0b1VJbnQzMl0gKyAxOwor
ICAgIHVpbnQzMl90IGRheSA9IFtbanNOb3cgaW52b2tlTWV0aG9kOkAiZ2V0RGF0ZSIgd2l0aEFy
Z3VtZW50czpAW11dIHRvVUludDMyXTsKKyAgICB1aW50MzJfdCBob3VyID0gW1tqc05vdyBpbnZv
a2VNZXRob2Q6QCJnZXRIb3VycyIgd2l0aEFyZ3VtZW50czpAW11dIHRvVUludDMyXTsKKyAgICB1
aW50MzJfdCBtaW51dGUgPSBbW2pzTm93IGludm9rZU1ldGhvZDpAImdldE1pbnV0ZXMiIHdpdGhB
cmd1bWVudHM6QFtdXSB0b1VJbnQzMl07CisgICAgdWludDMyX3Qgc2Vjb25kID0gW1tqc05vdyBp
bnZva2VNZXRob2Q6QCJnZXRTZWNvbmRzIiB3aXRoQXJndW1lbnRzOkBbXV0gdG9VSW50MzJdOwor
CisgICAgY2hlY2tSZXN1bHQoQCJOU0RhdGUgdG8gSlMgRGF0ZSIsIHllYXIgPT0gW2NvbXBvbmVu
dHMgeWVhcl0KKyAgICAgICAgJiYgbW9udGggPT0gW2NvbXBvbmVudHMgbW9udGhdCisgICAgICAg
ICYmIGRheSA9PSBbY29tcG9uZW50cyBkYXldCisgICAgICAgICYmIGhvdXIgPT0gW2NvbXBvbmVu
dHMgaG91cl0KKyAgICAgICAgJiYgbWludXRlID09IFtjb21wb25lbnRzIG1pbnV0ZV0KKyAgICAg
ICAgJiYgc2Vjb25kID09IFtjb21wb25lbnRzIHNlY29uZF0pOworfQorCisrICh2b2lkKSBKU0Rh
dGVUb05TRGF0ZVRlc3QKK3sKKyAgICBKU0NvbnRleHQgKmNvbnRleHQgPSBbW0pTQ29udGV4dCBh
bGxvY10gaW5pdF07CisgICAgTlNEYXRlICpmZWJydWFyeUZvdXJ0aDIwMTQgPSBbTlNEYXRlIGRh
dGVXaXRoTmF0dXJhbExhbmd1YWdlU3RyaW5nOkAiRmVicnVhcnkgNCwgMjAxNCAxMTo0MDowMyJd
OworICAgIE5TRGF0ZUNvbXBvbmVudHMgKmNvbXBvbmVudHMgPSBbW05TQ2FsZW5kYXIgY3VycmVu
dENhbGVuZGFyXSBjb21wb25lbnRzOnVuaXRGbGFncyBmcm9tRGF0ZTpmZWJydWFyeUZvdXJ0aDIw
MTRdOworICAgIC8vIE1vbnRocyBhcmUgMC1pbmRleGVkIGZvciBKYXZhU2NyaXB0IERhdGVzLgor
ICAgIEpTVmFsdWUgKmpzRGF0ZSA9IFtjb250ZXh0W0AiRGF0ZSJdIGNvbnN0cnVjdFdpdGhBcmd1
bWVudHM6QFtAMjAxNCwgQDEsIEA0LCBAMTEsIEA0MCwgQDNdXTsKKyAgICAKKyAgICB1aW50MzJf
dCB5ZWFyID0gW1tqc0RhdGUgaW52b2tlTWV0aG9kOkAiZ2V0RnVsbFllYXIiIHdpdGhBcmd1bWVu
dHM6QFtdXSB0b1VJbnQzMl07CisgICAgdWludDMyX3QgbW9udGggPSBbW2pzRGF0ZSBpbnZva2VN
ZXRob2Q6QCJnZXRNb250aCIgd2l0aEFyZ3VtZW50czpAW11dIHRvVUludDMyXSArIDE7CisgICAg
dWludDMyX3QgZGF5ID0gW1tqc0RhdGUgaW52b2tlTWV0aG9kOkAiZ2V0RGF0ZSIgd2l0aEFyZ3Vt
ZW50czpAW11dIHRvVUludDMyXTsKKyAgICB1aW50MzJfdCBob3VyID0gW1tqc0RhdGUgaW52b2tl
TWV0aG9kOkAiZ2V0SG91cnMiIHdpdGhBcmd1bWVudHM6QFtdXSB0b1VJbnQzMl07CisgICAgdWlu
dDMyX3QgbWludXRlID0gW1tqc0RhdGUgaW52b2tlTWV0aG9kOkAiZ2V0TWludXRlcyIgd2l0aEFy
Z3VtZW50czpAW11dIHRvVUludDMyXTsKKyAgICB1aW50MzJfdCBzZWNvbmQgPSBbW2pzRGF0ZSBp
bnZva2VNZXRob2Q6QCJnZXRTZWNvbmRzIiB3aXRoQXJndW1lbnRzOkBbXV0gdG9VSW50MzJdOwor
CisgICAgY2hlY2tSZXN1bHQoQCJKUyBEYXRlIHRvIE5TRGF0ZSIsIHllYXIgPT0gW2NvbXBvbmVu
dHMgeWVhcl0KKyAgICAgICAgJiYgbW9udGggPT0gW2NvbXBvbmVudHMgbW9udGhdCisgICAgICAg
ICYmIGRheSA9PSBbY29tcG9uZW50cyBkYXldCisgICAgICAgICYmIGhvdXIgPT0gW2NvbXBvbmVu
dHMgaG91cl0KKyAgICAgICAgJiYgbWludXRlID09IFtjb21wb25lbnRzIG1pbnV0ZV0KKyAgICAg
ICAgJiYgc2Vjb25kID09IFtjb21wb25lbnRzIHNlY29uZF0pOworfQorCisrICh2b2lkKSByb3Vu
ZFRyaXBUaHJvdWdoSlNEYXRlVGVzdAoreworICAgIEpTQ29udGV4dCAqY29udGV4dCA9IFtbSlND
b250ZXh0IGFsbG9jXSBpbml0XTsKKyAgICBbY29udGV4dCBldmFsdWF0ZVNjcmlwdDpAImZ1bmN0
aW9uIGpzUmV0dXJuRGF0ZShkYXRlKSB7IHJldHVybiBkYXRlOyB9Il07CisgICAgTlNEYXRlICpm
ZWJydWFyeUZvdXJ0aDIwMTQgPSBbTlNEYXRlIGRhdGVXaXRoTmF0dXJhbExhbmd1YWdlU3RyaW5n
OkAiRmVicnVhcnkgNCwgMjAxNCAxMTo0MDowMyJdOworICAgIE5TRGF0ZUNvbXBvbmVudHMgKmNv
bXBvbmVudHMgPSBbW05TQ2FsZW5kYXIgY3VycmVudENhbGVuZGFyXSBjb21wb25lbnRzOnVuaXRG
bGFncyBmcm9tRGF0ZTpmZWJydWFyeUZvdXJ0aDIwMTRdOworICAgIAorICAgIEpTVmFsdWUgKnJv
dW5kVHJpcFRocm91Z2hKUyA9IFtjb250ZXh0W0AianNSZXR1cm5EYXRlIl0gY2FsbFdpdGhBcmd1
bWVudHM6QFtmZWJydWFyeUZvdXJ0aDIwMTRdXTsKKyAgICB1aW50MzJfdCB5ZWFyID0gW1tyb3Vu
ZFRyaXBUaHJvdWdoSlMgaW52b2tlTWV0aG9kOkAiZ2V0RnVsbFllYXIiIHdpdGhBcmd1bWVudHM6
QFtdXSB0b1VJbnQzMl07CisgICAgLy8gTW9udGhzIGFyZSAwLWluZGV4ZWQgZm9yIEphdmFTY3Jp
cHQgRGF0ZXMuCisgICAgdWludDMyX3QgbW9udGggPSBbW3JvdW5kVHJpcFRocm91Z2hKUyBpbnZv
a2VNZXRob2Q6QCJnZXRNb250aCIgd2l0aEFyZ3VtZW50czpAW11dIHRvVUludDMyXSArIDE7Cisg
ICAgdWludDMyX3QgZGF5ID0gW1tyb3VuZFRyaXBUaHJvdWdoSlMgaW52b2tlTWV0aG9kOkAiZ2V0
RGF0ZSIgd2l0aEFyZ3VtZW50czpAW11dIHRvVUludDMyXTsKKyAgICB1aW50MzJfdCBob3VyID0g
W1tyb3VuZFRyaXBUaHJvdWdoSlMgaW52b2tlTWV0aG9kOkAiZ2V0SG91cnMiIHdpdGhBcmd1bWVu
dHM6QFtdXSB0b1VJbnQzMl07CisgICAgdWludDMyX3QgbWludXRlID0gW1tyb3VuZFRyaXBUaHJv
dWdoSlMgaW52b2tlTWV0aG9kOkAiZ2V0TWludXRlcyIgd2l0aEFyZ3VtZW50czpAW11dIHRvVUlu
dDMyXTsKKyAgICB1aW50MzJfdCBzZWNvbmQgPSBbW3JvdW5kVHJpcFRocm91Z2hKUyBpbnZva2VN
ZXRob2Q6QCJnZXRTZWNvbmRzIiB3aXRoQXJndW1lbnRzOkBbXV0gdG9VSW50MzJdOworCisgICAg
Y2hlY2tSZXN1bHQoQCJKUyBkYXRlIHJvdW5kIHRyaXAiLCB5ZWFyID09IFtjb21wb25lbnRzIHll
YXJdCisgICAgICAgICYmIG1vbnRoID09IFtjb21wb25lbnRzIG1vbnRoXQorICAgICAgICAmJiBk
YXkgPT0gW2NvbXBvbmVudHMgZGF5XQorICAgICAgICAmJiBob3VyID09IFtjb21wb25lbnRzIGhv
dXJdCisgICAgICAgICYmIG1pbnV0ZSA9PSBbY29tcG9uZW50cyBtaW51dGVdCisgICAgICAgICYm
IHNlY29uZCA9PSBbY29tcG9uZW50cyBzZWNvbmRdKTsKK30KKworKyAodm9pZCkgcm91bmRUcmlw
VGhyb3VnaE9iakNEYXRlVGVzdAoreworICAgIEpTQ29udGV4dCAqY29udGV4dCA9IFtbSlNDb250
ZXh0IGFsbG9jXSBpbml0XTsKKyAgICBjb250ZXh0W0Aib2JqY1JldHVybkRhdGUiXSA9IF4oTlNE
YXRlICpkYXRlKSB7CisgICAgICAgIHJldHVybiBkYXRlOworICAgIH07CisgICAgW2NvbnRleHQg
ZXZhbHVhdGVTY3JpcHQ6QCJmdW5jdGlvbiB0ZXN0KCkge1wKKyAgICAgICAgdmFyIGRhdGUgPSBu
ZXcgRGF0ZSgyMDE0LCAxLCA0LCAxMSwgNDAsIDMpOyBcCisgICAgICAgIHZhciByZXN1bHQgPSBv
YmpjUmV0dXJuRGF0ZShkYXRlKTsgXAorICAgICAgICByZXR1cm4gZGF0ZS5nZXRZZWFyKCkgPT09
IHJlc3VsdC5nZXRZZWFyKCkgXAorICAgICAgICAgICAgJiYgZGF0ZS5nZXRNb250aCgpID09PSBy
ZXN1bHQuZ2V0TW9udGgoKSBcCisgICAgICAgICAgICAmJiBkYXRlLmdldERhdGUoKSA9PT0gcmVz
dWx0LmdldERhdGUoKSBcCisgICAgICAgICAgICAmJiBkYXRlLmdldEhvdXJzKCkgPT09IHJlc3Vs
dC5nZXRIb3VycygpIFwKKyAgICAgICAgICAgICYmIGRhdGUuZ2V0TWludXRlcygpID09PSByZXN1
bHQuZ2V0TWludXRlcygpIFwKKyAgICAgICAgICAgICYmIGRhdGUuZ2V0U2Vjb25kcygpID09PSBy
ZXN1bHQuZ2V0U2Vjb25kcygpIFwKKyAgICAgICAgICAgICYmIGRhdGUuZ2V0TWlsbGlzZWNvbmRz
KCkgPT09IHJlc3VsdC5nZXRNaWxsaXNlY29uZHMoKTtcCisgICAgfSJdOworICAgIAorICAgIGNo
ZWNrUmVzdWx0KEAiT2JqQyBkYXRlIHJvdW5kIHRyaXAiLCBbW2NvbnRleHRbQCJ0ZXN0Il0gY2Fs
bFdpdGhBcmd1bWVudHM6QFtdXSB0b0Jvb2xdKTsKK30KKworQGVuZAorCit2b2lkIHJ1bkRhdGVU
ZXN0cygpCit7CisgICAgW0RhdGVUZXN0cyBOU0RhdGVUb0pTRGF0ZVRlc3RdOworICAgIFtEYXRl
VGVzdHMgSlNEYXRlVG9OU0RhdGVUZXN0XTsKKyAgICBbRGF0ZVRlc3RzIHJvdW5kVHJpcFRocm91
Z2hKU0RhdGVUZXN0XTsKKyAgICBbRGF0ZVRlc3RzIHJvdW5kVHJpcFRocm91Z2hPYmpDRGF0ZVRl
c3RdOworfQorCisjZW5kaWYgLy8gSlNDX09CSkNfQVBJX0VOQUJMRUQKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvdGVzdGFwaS5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL3Rlc3RhcGkubW0JKHJldmlzaW9uIDE2MzYzOSkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvdGVzdGFwaS5tbQkod29ya2luZyBjb3B5
KQpAQCAtMjYsNiArMjYsNyBAQAogI2ltcG9ydCA8SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUuaD4KIAogI2ltcG9ydCAiQ3VycmVudFRoaXNJbnNpZGVCbG9ja0dldHRlclRlc3QuaCIKKyNp
bXBvcnQgIkRhdGVUZXN0cy5oIgogCiBleHRlcm4gIkMiIHZvaWQgSlNTeW5jaHJvbm91c0dhcmJh
Z2VDb2xsZWN0Rm9yRGVidWdnaW5nKEpTQ29udGV4dFJlZik7CiAKQEAgLTM0LDYgKzM1LDcgQEAg
ZXh0ZXJuICJDIiBjb25zdCBjaGFyICogX0Jsb2NrX3NpZ25hdHVyZQogCiBleHRlcm4gaW50IGZh
aWxlZDsKIGV4dGVybiAiQyIgdm9pZCB0ZXN0T2JqZWN0aXZlQ0FQSSh2b2lkKTsKK2V4dGVybiAi
QyIgdm9pZCBjaGVja1Jlc3VsdChOU1N0cmluZyAqLCBib29sKTsKIAogI2lmIEpTQ19PQkpDX0FQ
SV9FTkFCTEVECiAKQEAgLTQ1MCw3ICs0NTIsNyBAQCAtIChKU1ZhbHVlICopZG9FdmlsVGhpbmdz
V2l0aENvbnRleHQ6KEpTCiB9CiBAZW5kCiAKLXN0YXRpYyB2b2lkIGNoZWNrUmVzdWx0KE5TU3Ry
aW5nICpkZXNjcmlwdGlvbiwgYm9vbCBwYXNzZWQpCitleHRlcm4gIkMiIHZvaWQgY2hlY2tSZXN1
bHQoTlNTdHJpbmcgKmRlc2NyaXB0aW9uLCBib29sIHBhc3NlZCkKIHsKICAgICBOU0xvZyhAIlRF
U1Q6IFwiJUBcIjogJUAiLCBkZXNjcmlwdGlvbiwgcGFzc2VkID8gQCJQQVNTRUQiIDogQCJGQUlM
RUQiKTsKICAgICBpZiAoIXBhc3NlZCkKQEAgLTEyNTYsNiArMTI1OCw3IEBAIHZvaWQgdGVzdE9i
amVjdGl2ZUNBUEkoKQogICAgIH0KIAogICAgIGN1cnJlbnRUaGlzSW5zaWRlQmxvY2tHZXR0ZXJU
ZXN0KCk7CisgICAgcnVuRGF0ZVRlc3RzKCk7CiB9CiAKICNlbHNlCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTYzNjM5KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29w
eSkKQEAgLTc0OSw2ICs3NDksNyBAQAogCQkyQTY4Mjk1QjE4NzVGODA1MDBCNkMzRTIgLyogQ29w
eVdyaXRlQmFycmllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMkE2ODI5NUExODc1RjgwNTAwQjZDM0UyIC8qIENvcHlXcml0ZUJhcnJpZXIuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyQTZGNDYyNjE3
RTk1OUNFMDBDNDVDOTggLyogSGVhcE9wZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkE2RjQ2MjUxN0U5NTlDRTAwQzQ1Qzk4IC8qIEhlYXBP
cGVyYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQkyQTdBNThFRjE4MDhBNEM0MDAyMEJERjcgLyogRGVmZXJHQy5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQTdBNThFRTE4MDhBNEM0MDAyMEJE
RjcgLyogRGVmZXJHQy5jcHAgKi87IH07CisJCTJBOUEyMjc1MThBNTc5QjEwMDRFRUQ1OCAvKiBE
YXRlVGVzdHMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAyQTlBMjI3NDE4QTU3OUIxMDA0RUVENTggLyogRGF0ZVRlc3RzLm1tICovOyB9OwogCQkyQUFE
OTY0QTE4NTY5NDE3MDAxRjkzQkUgLyogUmVjdXJzaXZlQWxsb2NhdGlvblNjb3BlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQUFEOTY0OTE4NTY5NDE3
MDAxRjkzQkUgLyogUmVjdXJzaXZlQWxsb2NhdGlvblNjb3BlLmggKi87IH07CiAJCTJBQzkyMkJC
MThBMTYxODIwMDNDRTBGQiAvKiBGVExEV0FSRkRlYnVnTGluZUluZm8uY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkFDOTIyQjkxOEExNjE4MjAwM0NF
MEZCIC8qIEZUTERXQVJGRGVidWdMaW5lSW5mby5jcHAgKi87IH07CiAJCTJBQzkyMkJDMThBMTYx
ODIwMDNDRTBGQiAvKiBGVExEV0FSRkRlYnVnTGluZUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJBQzkyMkJBMThBMTYxODIwMDNDRTBGQiAvKiBG
VExEV0FSRkRlYnVnTGluZUluZm8uaCAqLzsgfTsKQEAgLTEzNTEsNyArMTM1Miw3IEBACiAJCUMy
OTgxRkREMTdCQUZGNDQwMEEzQkM5OCAvKiBERkdEZXNpcmVkV3JpdGVCYXJyaWVycy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzI5ODFGREIxN0JBRkY0
NDAwQTNCQzk4IC8qIERGR0Rlc2lyZWRXcml0ZUJhcnJpZXJzLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQzI5RUNCMDMxODA0RDBFRDAwRDJDQkI0
IC8qIEN1cnJlbnRUaGlzSW5zaWRlQmxvY2tHZXR0ZXJUZXN0Lm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzI5RUNCMDExODA0RDBFRDAwRDJDQkI0IC8q
IEN1cnJlbnRUaGlzSW5zaWRlQmxvY2tHZXR0ZXJUZXN0Lm1tICovOyB9OwogCQlDMkE3RjY4ODE2
MDQzMkQ0MDBGNzZCOTggLyogSlNEZXN0cnVjdGlibGVPYmplY3QuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyQTdGNjg3MTYwNDMyRDQwMEY3NkI5OCAv
KiBKU0Rlc3RydWN0aWJsZU9iamVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07Ci0gICAgICAgQzJCNkQ3NTMxOEEzMzc5MzAwNEE5MzAxIC8qIFdyaXRl
QmFycmllcklubGluZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEMyQjZENzUyMThBMzM3OTMwMDRBOTMwMSAvKiBXcml0ZUJhcnJpZXJJbmxpbmVzLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQzJCNkQ3
NTMxOEEzMzc5MzAwNEE5MzAxIC8qIFdyaXRlQmFycmllcklubGluZXMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyQjZENzUyMThBMzM3OTMwMDRBOTMw
MSAvKiBXcml0ZUJhcnJpZXJJbmxpbmVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJQzJCOTE2QzIxNERBMDE0RTAwQ0JBQzg2IC8qIE1hcmtlZEFs
bG9jYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QzJCOTE2QzExNERBMDE0RTAwQ0JBQzg2IC8qIE1hcmtlZEFsbG9jYXRvci5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUMyQjkxNkM1MTREQTA0MEMw
MENCQUM4NiAvKiBNYXJrZWRBbGxvY2F0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQzJCOTE2QzQxNERBMDQwQzAwQ0JBQzg2IC8qIE1hcmtlZEFs
bG9jYXRvci5jcHAgKi87IH07CiAJCUMyQzBGN0NEMTdCQkZDNUIwMDQ2NEZFNCAvKiBERkdEZXNp
cmVkVHJhbnNpdGlvbnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQzJDMEY3Q0IxN0JCRkM1QjAwNDY0RkU0IC8qIERGR0Rlc2lyZWRUcmFuc2l0aW9u
cy5jcHAgKi87IH07CkBAIC0yMTU1LDYgKzIxNTYsOCBAQAogCQkyQTY4Mjk1QTE4NzVGODA1MDBC
NkMzRTIgLyogQ29weVdyaXRlQmFycmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBDb3B5V3JpdGVCYXJyaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJB
NkY0NjI1MTdFOTU5Q0UwMEM0NUM5OCAvKiBIZWFwT3BlcmF0aW9uLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEhlYXBPcGVyYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMkE3QTU4RUUxODA4QTRDNDAwMjBCREY3IC8qIERlZmVyR0MuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGVmZXJHQy5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTJBOUEyMjczMThBNTc5QjEwMDRFRUQ1OCAvKiBEYXRlVGVzdHMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRGF0ZVRlc3RzLmg7IHBhdGggPSBBUEkv
dGVzdHMvRGF0ZVRlc3RzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJBOUEyMjc0
MThBNTc5QjEwMDRFRUQ1OCAvKiBEYXRlVGVzdHMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IG5hbWUgPSBEYXRlVGVzdHMubW07IHBhdGggPSBBUEkvdGVzdHMvRGF0ZVRlc3Rz
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyQUFEOTY0OTE4NTY5NDE3MDAxRjkz
QkUgLyogUmVjdXJzaXZlQWxsb2NhdGlvblNjb3BlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFJlY3Vyc2l2ZUFsbG9jYXRpb25TY29wZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkyQUM5MjJCOTE4QTE2MTgyMDAzQ0UwRkIgLyogRlRMRFdBUkZEZWJ1Z0xpbmVJ
bmZvLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEZUTERXQVJGRGVi
dWdMaW5lSW5mby5jcHA7IHBhdGggPSBmdGwvRlRMRFdBUkZEZWJ1Z0xpbmVJbmZvLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkFDOTIyQkExOEExNjE4MjAwM0NFMEZCIC8qIEZU
TERXQVJGRGVidWdMaW5lSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBG
VExEV0FSRkRlYnVnTGluZUluZm8uaDsgcGF0aCA9IGZ0bC9GVExEV0FSRkRlYnVnTGluZUluZm8u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI4MDIsNyArMjgwNSw3IEBACiAJCUMy
OUVDQjAxMTgwNEQwRUQwMEQyQ0JCNCAvKiBDdXJyZW50VGhpc0luc2lkZUJsb2NrR2V0dGVyVGVz
dC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IEN1cnJlbnRUaGlz
SW5zaWRlQmxvY2tHZXR0ZXJUZXN0Lm1tOyBwYXRoID0gQVBJL3Rlc3RzL0N1cnJlbnRUaGlzSW5z
aWRlQmxvY2tHZXR0ZXJUZXN0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMjlF
Q0IwMjE4MDREMEVEMDBEMkNCQjQgLyogQ3VycmVudFRoaXNJbnNpZGVCbG9ja0dldHRlclRlc3Qu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gQ3VycmVudFRoaXNJbnNpZGVCbG9j
a0dldHRlclRlc3QuaDsgcGF0aCA9IEFQSS90ZXN0cy9DdXJyZW50VGhpc0luc2lkZUJsb2NrR2V0
dGVyVGVzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMkE3RjY4NzE2MDQzMkQ0
MDBGNzZCOTggLyogSlNEZXN0cnVjdGlibGVPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNEZXN0cnVjdGlibGVPYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLSAgICAgICBDMkI2RDc1MjE4QTMzNzkzMDA0QTkzMDEgLyogV3JpdGVCYXJyaWVySW5s
aW5lcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXcml0ZUJhcnJpZXJJbmxp
bmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMyQjZENzUyMThBMzM3OTMwMDRB
OTMwMSAvKiBXcml0ZUJhcnJpZXJJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFdyaXRlQmFycmllcklubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQzJCOTE2QzExNERBMDE0RTAwQ0JBQzg2IC8qIE1hcmtlZEFsbG9jYXRvci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNYXJrZWRBbGxvY2F0b3IuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQzJCOTE2QzQxNERBMDQwQzAwQ0JBQzg2IC8qIE1hcmtlZEFsbG9j
YXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXJrZWRBbGxv
Y2F0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMkMwRjdDQjE3QkJGQzVC
MDA0NjRGRTQgLyogREZHRGVzaXJlZFRyYW5zaXRpb25zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgbmFtZSA9IERGR0Rlc2lyZWRUcmFuc2l0aW9ucy5jcHA7IHBhdGggPSBkZmcv
REZHRGVzaXJlZFRyYW5zaXRpb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTMyMjEsNiArMzIyNCw4IEBACiAJCTE0MTIxMTAwMEE0ODc3MjYwMDQ4MDI1NSAvKiB0ZXN0cyAq
LyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJMkE5QTIyNzMx
OEE1NzlCMTAwNEVFRDU4IC8qIERhdGVUZXN0cy5oICovLAorCQkJCTJBOUEyMjc0MThBNTc5QjEw
MDRFRUQ1OCAvKiBEYXRlVGVzdHMubW0gKi8sCiAJCQkJQzI5RUNCMDIxODA0RDBFRDAwRDJDQkI0
IC8qIEN1cnJlbnRUaGlzSW5zaWRlQmxvY2tHZXR0ZXJUZXN0LmggKi8sCiAJCQkJQzI5RUNCMDEx
ODA0RDBFRDAwRDJDQkI0IC8qIEN1cnJlbnRUaGlzSW5zaWRlQmxvY2tHZXR0ZXJUZXN0Lm1tICov
LAogCQkJCTE0NDAwNTE3MEE1MzFDQjUwMDA1RjA2MSAvKiBtaW5pZG9tICovLApAQCAtMzY2Myw3
ICszNjY4LDcgQEAKIAkJN0VGNkUwQkIwRUI3QTFFQzAwNzlBRkFGIC8qIHJ1bnRpbWUgKi8gPSB7
CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAotICAgICAgICAgICAgICAgQzJC
NkQ3NTIxOEEzMzc5MzAwNEE5MzAxIC8qIFdyaXRlQmFycmllcklubGluZXMuaCAqLywKKwkJCQlD
MkI2RDc1MjE4QTMzNzkzMDA0QTkzMDEgLyogV3JpdGVCYXJyaWVySW5saW5lcy5oICovLAogCQkJ
CUJDRjYwNTExMEUyMDNFRjgwMEI5QTY0RCAvKiBBcmdMaXN0LmNwcCAqLywKIAkJCQlCQ0Y2MDUx
MjBFMjAzRUY4MDBCOUE2NEQgLyogQXJnTGlzdC5oICovLAogCQkJCUJDMjU3REU1MEUxRjUxQzUw
MDE2QjZDOSAvKiBBcmd1bWVudHMuY3BwICovLApAQCAtNDY5OCw3ICs0NzAzLDcgQEAKIAkJCQk2
NUMwMjg1RDE3MTc5NjY4MDAzNTFFMzUgLyogQVJNdjdET3Bjb2RlLmggaW4gSGVhZGVycyAqLywK
IAkJCQkyQTY4Mjk1QjE4NzVGODA1MDBCNkMzRTIgLyogQ29weVdyaXRlQmFycmllci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMkE0RUM5MEMxODYwRDZDMjAwOTRGNzgyIC8qIFdyaXRlQmFycmllckJ1
ZmZlci5oIGluIEhlYWRlcnMgKi8sCi0gICAgICAgICAgICAgICBDMkI2RDc1MzE4QTMzNzkzMDA0
QTkzMDEgLyogV3JpdGVCYXJyaWVySW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQzJCNkQ3
NTMxOEEzMzc5MzAwNEE5MzAxIC8qIFdyaXRlQmFycmllcklubGluZXMuaCBpbiBIZWFkZXJzICov
LAogCQkJCUZFNTkzMkE4MTgzQzVBMjYwMEExRUNDQyAvKiBWTUVudHJ5U2NvcGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE1MzI0MzkzMTg1Njk3MDkwMDJFRDY5MiAvKiBDb2RlR2VuZXJhdG9ySW5z
cGVjdG9yU3RyaW5ncy5weSBpbiBIZWFkZXJzICovLAogCQkJCUE1MzI0MzkyMTg1Njk3MDkwMDJF
RDY5MiAvKiBDb2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5IGluIEhlYWRlcnMgKi8sCkBAIC01ODQ5
LDYgKzU4NTQsNyBAQAogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKIAkJCWZpbGVz
ID0gKAogCQkJCUMyOUVDQjAzMTgwNEQwRUQwMEQyQ0JCNCAvKiBDdXJyZW50VGhpc0luc2lkZUJs
b2NrR2V0dGVyVGVzdC5tbSBpbiBTb3VyY2VzICovLAorCQkJCTJBOUEyMjc1MThBNTc5QjEwMDRF
RUQ1OCAvKiBEYXRlVGVzdHMubW0gaW4gU291cmNlcyAqLywKIAkJCQkxNDQwRjYxMDBBNEY4NTY3
MDAwNUYwNjEgLyogdGVzdGFwaS5jIGluIFNvdXJjZXMgKi8sCiAJCQkJODZEMjIyMUExNjdFRjk0
NDAwMjRDODA0IC8qIHRlc3RhcGkubW0gaW4gU291cmNlcyAqLywKIAkJCSk7Cg==
</data>
<flag name="review"
          id="247522"
          type_id="1"
          status="+"
          setter="msaboff"
    />
          </attachment>
      

    </bug>

</bugzilla>