<?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>140272</bug_id>
          
          <creation_ts>2015-01-08 15:21:05 -0800</creation_ts>
          <short_desc>Make WKNavigation bridged to API::Navigation</short_desc>
          <delta_ts>2015-01-09 12:10:28 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>140294</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1059973</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2015-01-08 15:21:05 -0800</bug_when>
    <thetext>Make WKNavigation bridged to API::Navigation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059977</commentid>
    <comment_count>1</comment_count>
      <attachid>244301</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2015-01-08 15:23:58 -0800</bug_when>
    <thetext>Created attachment 244301
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059979</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-08 15:26:44 -0800</bug_when>
    <thetext>Attachment 244301 did not pass style-queue:


ERROR: Source/WebKit2/UIProcess/API/Cocoa/WKNavigation.mm:29:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 11 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059989</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2015-01-08 15:48:31 -0800</bug_when>
    <thetext>Committed r178141: &lt;http://trac.webkit.org/changeset/178141&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060153</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-01-09 09:44:20 -0800</bug_when>
    <thetext>This broke multiple API tests, I&apos;m going to roll out.

https://build.webkit.org/builders/Apple%20Yosemite%20Debug%20WK2%20%28Tests%29/builds/1325/steps/run-api-tests/logs/stdio</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060158</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-09 09:46:32 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 140294</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060223</commentid>
    <comment_count>6</comment_count>
      <attachid>244361</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2015-01-09 12:07:41 -0800</bug_when>
    <thetext>Created attachment 244361
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060225</commentid>
    <comment_count>7</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2015-01-09 12:08:16 -0800</bug_when>
    <thetext>New patch fixes the tests by fixing the overreleasing of WKNavigations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060229</commentid>
    <comment_count>8</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2015-01-09 12:10:28 -0800</bug_when>
    <thetext>Committed r178185: &lt;http://trac.webkit.org/changeset/178185&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244301</attachid>
            <date>2015-01-08 15:23:58 -0800</date>
            <delta_ts>2015-01-09 12:07:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140272-20150108152401.patch</filename>
            <type>text/plain</type>
            <size>27149</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3ODEzNykKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDYyIEBACisyMDE1LTAxLTA4ICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTWFrZSBXS05hdmlnYXRpb24gYnJpZGdl
ZCB0byBBUEk6Ok5hdmlnYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE0MDI3MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogU2hhcmVkL0FQSS9BUElPYmplY3QuaDoKKyAgICAgICAgQWRkIE5hdmln
YXRpb24uCisKKyAgICAgICAgKiBTaGFyZWQvQ29jb2EvQVBJT2JqZWN0Lm1tOgorICAgICAgICAo
QVBJOjpPYmplY3Q6Om5ld09iamVjdCk6CisgICAgICAgIEJyaWRnZSB0byBXS05hdmlnYXRpb24u
CisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRpb24uY3BwOiBBZGRlZC4KKyAg
ICAgICAgKEFQSTo6TmF2aWdhdGlvbjo6TmF2aWdhdGlvbik6CisgICAgICAgIChBUEk6Ok5hdmln
YXRpb246On5OYXZpZ2F0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRp
b24uaDogQWRkZWQuCisgICAgICAgIChBUEk6Ok5hdmlnYXRpb246OmNyZWF0ZSk6CisgICAgICAg
IChBUEk6Ok5hdmlnYXRpb246OnJlcXVlc3QpOgorICAgICAgICBBZGQgaW5pdGlhbCBpbXBsZW1l
bnRhdGlvbi4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tOYXZpZ2F0aW9uLm1t
OgorICAgICAgICAoLVtXS05hdmlnYXRpb24gZGVhbGxvY10pOgorICAgICAgICAoLVtXS05hdmln
YXRpb24gX3JlcXVlc3RdKToKKyAgICAgICAgKC1bV0tOYXZpZ2F0aW9uIF9hcGlPYmplY3RdKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLTmF2aWdhdGlvbkludGVybmFsLmg6Cisg
ICAgICAgIChBUEk6OndyYXBwZXIpOgorICAgICAgICBJbXBsZW1lbnQgYnJpZGdpbmcgdG8gQVBJ
OjpOYXZpZ2F0aW9uIGFuZCBnZXQgdGhlIHJlcXVlc3QgZnJvbSB0aGUgdW5kZXJseWluZyBvYmpl
Y3QuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAg
ICAgKC1bV0tXZWJWaWV3IGxvYWRSZXF1ZXN0Ol0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgbG9h
ZEZpbGVVUkw6YWxsb3dpbmdSZWFkQWNjZXNzVG9VUkw6XSk6CisgICAgICAgICgtW1dLV2ViVmll
dyBsb2FkRGF0YTpNSU1FVHlwZTpjaGFyYWN0ZXJFbmNvZGluZ05hbWU6YmFzZVVSTDpdKToKKyAg
ICAgICAgKC1bV0tXZWJWaWV3IGdvVG9CYWNrRm9yd2FyZExpc3RJdGVtOl0pOgorICAgICAgICAo
LVtXS1dlYlZpZXcgZ29CYWNrXSk6CisgICAgICAgICgtW1dLV2ViVmlldyBnb0ZvcndhcmRdKToK
KyAgICAgICAgKC1bV0tXZWJWaWV3IHJlbG9hZF0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgcmVs
b2FkRnJvbU9yaWdpbl0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX3Jlc3RvcmVTZXNzaW9uU3Rh
dGU6YW5kTmF2aWdhdGU6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25T
dGF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW06Cisg
ICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRpb25TdGF0ZTo6Y3JlYXRlTG9hZFJlcXVlc3ROYXZpZ2F0
aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmF2aWdhdGlvblN0YXRlOjpjcmVhdGVCYWNrRm9yd2Fy
ZE5hdmlnYXRpb24pOgorICAgICAgICAoV2ViS2l0OjpOYXZpZ2F0aW9uU3RhdGU6OmNyZWF0ZVJl
bG9hZE5hdmlnYXRpb24pOgorICAgICAgICAoV2ViS2l0OjpOYXZpZ2F0aW9uU3RhdGU6OmNyZWF0
ZUxvYWREYXRhTmF2aWdhdGlvbik6CisgICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRpb25TdGF0ZTo6
TG9hZGVyQ2xpZW50OjpkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKToKKyAgICAgICAg
KFdlYktpdDo6TmF2aWdhdGlvblN0YXRlOjpMb2FkZXJDbGllbnQ6OmRpZFJlY2VpdmVTZXJ2ZXJS
ZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKToKKyAgICAgICAgKFdlYktpdDo6TmF2
aWdhdGlvblN0YXRlOjpMb2FkZXJDbGllbnQ6OmRpZEZhaWxQcm92aXNpb25hbExvYWRXaXRoRXJy
b3JGb3JGcmFtZSk6CisgICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRpb25TdGF0ZTo6TG9hZGVyQ2xp
ZW50OjpkaWRDb21taXRMb2FkRm9yRnJhbWUpOgorICAgICAgICAoV2ViS2l0OjpOYXZpZ2F0aW9u
U3RhdGU6OkxvYWRlckNsaWVudDo6ZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUpOgorICAg
ICAgICAoV2ViS2l0OjpOYXZpZ2F0aW9uU3RhdGU6OkxvYWRlckNsaWVudDo6ZGlkRmluaXNoTG9h
ZEZvckZyYW1lKToKKyAgICAgICAgKFdlYktpdDo6TmF2aWdhdGlvblN0YXRlOjpMb2FkZXJDbGll
bnQ6OmRpZEZhaWxMb2FkV2l0aEVycm9yRm9yRnJhbWUpOgorICAgICAgICAoV2ViS2l0OjpOYXZp
Z2F0aW9uU3RhdGU6OkxvYWRlckNsaWVudDo6ZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbkZvckZy
YW1lKToKKyAgICAgICAgU3dpdGNoIHRvIHN0b3JpbmcgQVBJOjpOYXZpZ2F0aW9ucy4KKworICAg
ICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgQWRkIHRo
ZSBuZXcgZmlsZXMuCisKIDIwMTUtMDEtMDggIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29t
PgogCiAgICAgICAgIFRleHQgbm90IGRyYXduIG9yIHdoaXRlLW9uLXdoaXRlIGZvciAiQ2xvc2Ug
UGFnZSIvIkdvIEJhY2siIGJ1dHRvbiBvbiBzYWZlIGJyb3dzaW5nIHdhcm5pbmcgcGFnZQpJbmRl
eDogU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9BUElPYmplY3QuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0FQSU9iamVjdC5oCShyZXZpc2lvbiAxNzgxMzcpCisr
KyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0FQSU9iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0xMTgsNiArMTE4LDcgQEAgcHVibGljOgogICAgICAgICBJbnNwZWN0b3IsCiAgICAgICAgIEtl
eVZhbHVlU3RvcmFnZU1hbmFnZXIsCiAgICAgICAgIE1lZGlhQ2FjaGVNYW5hZ2VyLAorICAgICAg
ICBOYXZpZ2F0aW9uLAogICAgICAgICBOYXZpZ2F0aW9uRGF0YSwKICAgICAgICAgTm90aWZpY2F0
aW9uLAogICAgICAgICBOb3RpZmljYXRpb25NYW5hZ2VyLApJbmRleDogU291cmNlL1dlYktpdDIv
U2hhcmVkL0NvY29hL0FQSU9iamVjdC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQ29jb2EvQVBJT2JqZWN0Lm1tCShyZXZpc2lvbiAxNzgxMzcpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvQ29jb2EvQVBJT2JqZWN0Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0
Miw3IEBACiAjaW1wb3J0ICJXS05TVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaCIKICNpbXBv
cnQgIldLTlNVUkxSZXF1ZXN0LmgiCiAjaW1wb3J0ICJXS05hdmlnYXRpb25EYXRhSW50ZXJuYWwu
aCIKKyNpbXBvcnQgIldLTmF2aWdhdGlvbkludGVybmFsLmgiCiAjaW1wb3J0ICJXS1Byb2Nlc3NQ
b29sSW50ZXJuYWwuaCIKICNpbXBvcnQgIldLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0
Q29udHJvbGxlckludGVybmFsLmgiCiAjaW1wb3J0ICJXS1dlYlByb2Nlc3NQbHVnSW5GcmFtZUlu
dGVybmFsLmgiCkBAIC0xMjgsNiArMTI5LDEwIEBAIHZvaWQqIE9iamVjdDo6bmV3T2JqZWN0KHNp
emVfdCBzaXplLCBUeXAKICAgICAgICAgd3JhcHBlciA9IFtfV0tGcmFtZUhhbmRsZSBhbGxvY107
CiAgICAgICAgIGJyZWFrOwogCisgICAgY2FzZSBUeXBlOjpOYXZpZ2F0aW9uOgorICAgICAgICB3
cmFwcGVyID0gW1dLTmF2aWdhdGlvbiBhbGxvY107CisgICAgICAgIGJyZWFrOworCiAgICAgY2Fz
ZSBUeXBlOjpOYXZpZ2F0aW9uRGF0YToKICAgICAgICAgd3JhcHBlciA9IFtXS05hdmlnYXRpb25E
YXRhIGFsbG9jXTsKICAgICAgICAgYnJlYWs7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0FQSU5hdmlnYXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQVBJTmF2aWdhdGlvbi5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
QVBJTmF2aWdhdGlvbi5oIgorCituYW1lc3BhY2UgQVBJIHsKKworTmF2aWdhdGlvbjo6TmF2aWdh
dGlvbigpCit7Cit9CisKK05hdmlnYXRpb246Ok5hdmlnYXRpb24oY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQorICAgIDogbV9yZXF1ZXN0KHJlcXVlc3QpCit7Cit9CisK
K05hdmlnYXRpb246On5OYXZpZ2F0aW9uKCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRpb24uaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRpb24uaAko
cmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJTmF2aWdhdGlv
bi5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVm
IEFQSU5hdmlnYXRpb25faAorI2RlZmluZSBBUElOYXZpZ2F0aW9uX2gKKworI2luY2x1ZGUgIkFQ
SU9iamVjdC5oIgorI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CisjaW5jbHVk
ZSA8d3RmL1JlZi5oPgorCituYW1lc3BhY2UgQVBJIHsKKworY2xhc3MgTmF2aWdhdGlvbiA6IHB1
YmxpYyBPYmplY3RJbXBsPE9iamVjdDo6VHlwZTo6TmF2aWdhdGlvbj4geworcHVibGljOgorICAg
IHN0YXRpYyBSZWY8TmF2aWdhdGlvbj4gY3JlYXRlKCkKKyAgICB7CisgICAgICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IE5hdmlnYXRpb24pOworICAgIH0KKworICAgIHN0YXRpYyBSZWY8TmF2aWdh
dGlvbj4gY3JlYXRlKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKKyAg
ICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE5hdmlnYXRpb24ocmVxdWVzdCkpOwor
ICAgIH0KKworICAgIHZpcnR1YWwgfk5hdmlnYXRpb24oKTsKKworICAgIGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVxdWVzdDsgfQor
Citwcml2YXRlOgorICAgIGV4cGxpY2l0IE5hdmlnYXRpb24oKTsKKyAgICBleHBsaWNpdCBOYXZp
Z2F0aW9uKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpOworCisgICAgV2ViQ29yZTo6
UmVzb3VyY2VSZXF1ZXN0IG1fcmVxdWVzdDsKK307CisKK30gLy8gbmFtZXNwYWNlIEFQSQorCisK
KyNlbmRpZiAvLyBBUElOYXZpZ2F0aW9uX2gKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tOYXZpZ2F0aW9uLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tOYXZpZ2F0aW9uLm1tCShyZXZpc2lvbiAxNzgxMzcpCisr
KyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLTmF2aWdhdGlvbi5tbQkod29y
a2luZyBjb3B5KQpAQCAtMjYsMTcgKzI2LDMyIEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBv
cnQgIldLTmF2aWdhdGlvbkludGVybmFsLmgiCiAKLSNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4K
KyNpbXBvcnQgIkFQSU5hdmlnYXRpb24uaCIKIAogI2lmIFdLX0FQSV9FTkFCTEVECiAKLUBpbXBs
ZW1lbnRhdGlvbiBXS05hdmlnYXRpb24KK0BpbXBsZW1lbnRhdGlvbiBXS05hdmlnYXRpb24gewor
ICAgIEFQSTo6T2JqZWN0U3RvcmFnZTxBUEk6Ok5hdmlnYXRpb24+IF9uYXZpZ2F0aW9uOworfQor
CistICh2b2lkKWRlYWxsb2MKK3sKKyAgICBfbmF2aWdhdGlvbi0+fk5hdmlnYXRpb24oKTsKKwor
ICAgIFtzdXBlciBkZWFsbG9jXTsKK30KIAogLSAoTlNVUkxSZXF1ZXN0ICopX3JlcXVlc3QKIHsK
LSAgICByZXR1cm4gX3JlcXVlc3QuZ2V0KCk7CisgICAgcmV0dXJuIF9uYXZpZ2F0aW9uLT5yZXF1
ZXN0KCkubnNVUkxSZXF1ZXN0KFdlYkNvcmU6OkRvTm90VXBkYXRlSFRUUEJvZHkpOwogfQogCisj
cHJhZ21hIG1hcmsgV0tPYmplY3QgcHJvdG9jb2wgaW1wbGVtZW50YXRpb24KKworLSAoQVBJOjpP
YmplY3QmKV9hcGlPYmplY3QKK3sKKyAgICByZXR1cm4gKl9uYXZpZ2F0aW9uOworfQogCiBAZW5k
CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tOYXZpZ2F0aW9u
SW50ZXJuYWwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLTmF2aWdhdGlvbkludGVybmFsLmgJKHJldmlzaW9uIDE3ODEzNykKKysrIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tOYXZpZ2F0aW9uSW50ZXJuYWwuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMjcsMTMgKzI3LDIxIEBACiAKICNpZiBXS19BUElfRU5BQkxFRAogCi0jaW1w
b3J0IDx3dGYvUmV0YWluUHRyLmg+CisjaW1wb3J0ICJBUElOYXZpZ2F0aW9uLmgiCisjaW1wb3J0
ICJXS09iamVjdC5oIgorCituYW1lc3BhY2UgQVBJIHsKKworaW5saW5lIFdLTmF2aWdhdGlvbiAq
d3JhcHBlcihBUEk6Ok5hdmlnYXRpb24mIG5hdmlnYXRpb24pCit7CisgICAgQVNTRVJUKFtuYXZp
Z2F0aW9uLndyYXBwZXIoKSBpc0tpbmRPZkNsYXNzOltXS05hdmlnYXRpb24gY2xhc3NdXSk7CisK
KyAgICByZXR1cm4gKFdLTmF2aWdhdGlvbiAqKW5hdmlnYXRpb24ud3JhcHBlcigpOworfQogCi1A
aW50ZXJmYWNlIFdLTmF2aWdhdGlvbiAoKSB7Ci1AcGFja2FnZQotICAgIFJldGFpblB0cjxOU1VS
TFJlcXVlc3Q+IF9yZXF1ZXN0OwogfQogCitAaW50ZXJmYWNlIFdLTmF2aWdhdGlvbiAoKSA8V0tP
YmplY3Q+CiBAZW5kCiAKICNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0JKHJldmlzaW9uIDE3ODEzNykKKysrIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBA
IC00MjgsNyArNDI4LDcgQEAgLSAoV0tOYXZpZ2F0aW9uICopbG9hZFJlcXVlc3Q6KE5TVVJMUmVx
dQogICAgIHVpbnQ2NF90IG5hdmlnYXRpb25JRCA9IF9wYWdlLT5sb2FkUmVxdWVzdChyZXF1ZXN0
KTsKICAgICBhdXRvIG5hdmlnYXRpb24gPSBfbmF2aWdhdGlvblN0YXRlLT5jcmVhdGVMb2FkUmVx
dWVzdE5hdmlnYXRpb24obmF2aWdhdGlvbklELCByZXF1ZXN0KTsKIAotICAgIHJldHVybiBuYXZp
Z2F0aW9uLmF1dG9yZWxlYXNlKCk7CisgICAgcmV0dXJuIFt3cmFwcGVyKG5hdmlnYXRpb24uZ2V0
KCkpIGF1dG9yZWxlYXNlXTsKIH0KIAogLSAoV0tOYXZpZ2F0aW9uICopbG9hZEZpbGVVUkw6KE5T
VVJMICopVVJMIGFsbG93aW5nUmVhZEFjY2Vzc1RvVVJMOihOU1VSTCAqKXJlYWRBY2Nlc3NVUkwK
QEAgLTQ0NSw3ICs0NDUsNyBAQCAtIChXS05hdmlnYXRpb24gKilsb2FkRmlsZVVSTDooTlNVUkwg
KilVCiAKICAgICBhdXRvIG5hdmlnYXRpb24gPSBfbmF2aWdhdGlvblN0YXRlLT5jcmVhdGVMb2Fk
UmVxdWVzdE5hdmlnYXRpb24obmF2aWdhdGlvbklELCBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRo
VVJMOlVSTF0pOwogCi0gICAgcmV0dXJuIG5hdmlnYXRpb24uYXV0b3JlbGVhc2UoKTsKKyAgICBy
ZXR1cm4gW3dyYXBwZXIobmF2aWdhdGlvbi5nZXQoKSkgYXV0b3JlbGVhc2VdOwogfQogCiAtIChX
S05hdmlnYXRpb24gKilsb2FkSFRNTFN0cmluZzooTlNTdHJpbmcgKilzdHJpbmcgYmFzZVVSTDoo
TlNVUkwgKiliYXNlVVJMCkBAIC00NjMsNyArNDYzLDcgQEAgLSAoV0tOYXZpZ2F0aW9uICopbG9h
ZERhdGE6KE5TRGF0YSAqKWRhdAogCiAgICAgYXV0byBuYXZpZ2F0aW9uID0gX25hdmlnYXRpb25T
dGF0ZS0+Y3JlYXRlTG9hZERhdGFOYXZpZ2F0aW9uKG5hdmlnYXRpb25JRCk7CiAKLSAgICByZXR1
cm4gbmF2aWdhdGlvbi5hdXRvcmVsZWFzZSgpOworICAgIHJldHVybiBbd3JhcHBlcihuYXZpZ2F0
aW9uLmdldCgpKSBhdXRvcmVsZWFzZV07CiB9CiAKIC0gKFdLTmF2aWdhdGlvbiAqKWdvVG9CYWNr
Rm9yd2FyZExpc3RJdGVtOihXS0JhY2tGb3J3YXJkTGlzdEl0ZW0gKilpdGVtCkBAIC00NzIsNyAr
NDcyLDcgQEAgLSAoV0tOYXZpZ2F0aW9uICopZ29Ub0JhY2tGb3J3YXJkTGlzdEl0ZQogCiAgICAg
YXV0byBuYXZpZ2F0aW9uID0gX25hdmlnYXRpb25TdGF0ZS0+Y3JlYXRlQmFja0ZvcndhcmROYXZp
Z2F0aW9uKG5hdmlnYXRpb25JRCwgaXRlbS5faXRlbSk7CiAKLSAgICByZXR1cm4gbmF2aWdhdGlv
bi5hdXRvcmVsZWFzZSgpOworICAgIHJldHVybiBbd3JhcHBlcihuYXZpZ2F0aW9uLmdldCgpKSBh
dXRvcmVsZWFzZV07CiB9CiAKIC0gKE5TU3RyaW5nICopdGl0bGUKQEAgLTUxOSw3ICs1MTksNyBA
QCAtIChXS05hdmlnYXRpb24gKilnb0JhY2sKICAgICBBU1NFUlQoX3BhZ2UtPmJhY2tGb3J3YXJk
TGlzdCgpLmN1cnJlbnRJdGVtKCkpOwogICAgIGF1dG8gbmF2aWdhdGlvbiA9IF9uYXZpZ2F0aW9u
U3RhdGUtPmNyZWF0ZUJhY2tGb3J3YXJkTmF2aWdhdGlvbihuYXZpZ2F0aW9uSUQsICpfcGFnZS0+
YmFja0ZvcndhcmRMaXN0KCkuY3VycmVudEl0ZW0oKSk7CiAgCi0gICAgcmV0dXJuIG5hdmlnYXRp
b24uYXV0b3JlbGVhc2UoKTsKKyAgICByZXR1cm4gW3dyYXBwZXIobmF2aWdhdGlvbi5nZXQoKSkg
YXV0b3JlbGVhc2VdOwogfQogCiAtIChXS05hdmlnYXRpb24gKilnb0ZvcndhcmQKQEAgLTUzMSw3
ICs1MzEsNyBAQCAtIChXS05hdmlnYXRpb24gKilnb0ZvcndhcmQKICAgICBBU1NFUlQoX3BhZ2Ut
PmJhY2tGb3J3YXJkTGlzdCgpLmN1cnJlbnRJdGVtKCkpOwogICAgIGF1dG8gbmF2aWdhdGlvbiA9
IF9uYXZpZ2F0aW9uU3RhdGUtPmNyZWF0ZUJhY2tGb3J3YXJkTmF2aWdhdGlvbihuYXZpZ2F0aW9u
SUQsICpfcGFnZS0+YmFja0ZvcndhcmRMaXN0KCkuY3VycmVudEl0ZW0oKSk7CiAKLSAgICByZXR1
cm4gbmF2aWdhdGlvbi5hdXRvcmVsZWFzZSgpOworICAgIHJldHVybiBbd3JhcHBlcihuYXZpZ2F0
aW9uLmdldCgpKSBhdXRvcmVsZWFzZV07CiB9CiAKIC0gKFdLTmF2aWdhdGlvbiAqKXJlbG9hZApA
QCAtNTQxLDcgKzU0MSw3IEBAIC0gKFdLTmF2aWdhdGlvbiAqKXJlbG9hZAogICAgICAgICByZXR1
cm4gbmlsOwogCiAgICAgYXV0byBuYXZpZ2F0aW9uID0gX25hdmlnYXRpb25TdGF0ZS0+Y3JlYXRl
UmVsb2FkTmF2aWdhdGlvbihuYXZpZ2F0aW9uSUQpOwotICAgIHJldHVybiBuYXZpZ2F0aW9uLmF1
dG9yZWxlYXNlKCk7CisgICAgcmV0dXJuIFt3cmFwcGVyKG5hdmlnYXRpb24uZ2V0KCkpIGF1dG9y
ZWxlYXNlXTsKIH0KIAogLSAoV0tOYXZpZ2F0aW9uICopcmVsb2FkRnJvbU9yaWdpbgpAQCAtNTUx
LDcgKzU1MSw3IEBAIC0gKFdLTmF2aWdhdGlvbiAqKXJlbG9hZEZyb21PcmlnaW4KICAgICAgICAg
cmV0dXJuIG5pbDsKIAogICAgIGF1dG8gbmF2aWdhdGlvbiA9IF9uYXZpZ2F0aW9uU3RhdGUtPmNy
ZWF0ZVJlbG9hZE5hdmlnYXRpb24obmF2aWdhdGlvbklEKTsKLSAgICByZXR1cm4gbmF2aWdhdGlv
bi5hdXRvcmVsZWFzZSgpOworICAgIHJldHVybiBbd3JhcHBlcihuYXZpZ2F0aW9uLmdldCgpKSBh
dXRvcmVsZWFzZV07CiB9CiAKIC0gKHZvaWQpc3RvcExvYWRpbmcKQEAgLTE3NzMsNyArMTc3Myw5
IEBAIC0gKFdLTmF2aWdhdGlvbiAqKV9yZXN0b3JlU2Vzc2lvblN0YXRlOigKIHsKICAgICBpZiAo
dWludDY0X3QgbmF2aWdhdGlvbklEID0gX3BhZ2UtPnJlc3RvcmVGcm9tU2Vzc2lvblN0YXRlKHNl
c3Npb25TdGF0ZS0+X3Nlc3Npb25TdGF0ZSwgbmF2aWdhdGUpKSB7CiAgICAgICAgIC8vIEZJWE1F
OiBUaGlzIGlzIG5vdCBuZWNlc3NhcmlseSBhbHdheXMgYSByZWxvYWQgbmF2aWdhdGlvbi4KLSAg
ICAgICAgcmV0dXJuIF9uYXZpZ2F0aW9uU3RhdGUtPmNyZWF0ZVJlbG9hZE5hdmlnYXRpb24obmF2
aWdhdGlvbklEKS5hdXRvcmVsZWFzZSgpOworICAgICAgICBhdXRvIG5hdmlnYXRpb24gPSBfbmF2
aWdhdGlvblN0YXRlLT5jcmVhdGVSZWxvYWROYXZpZ2F0aW9uKG5hdmlnYXRpb25JRCk7CisKKyAg
ICAgICAgcmV0dXJuIFt3cmFwcGVyKG5hdmlnYXRpb24uZ2V0KCkpIGF1dG9yZWxlYXNlXTsKICAg
ICB9CiAKICAgICByZXR1cm4gbmlsOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
Y29hL05hdmlnYXRpb25TdGF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUuaAkocmV2aXNpb24gMTc4MTM3KQorKysgU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0zOCwxMSArMzgsMTQgQEAKICNpbXBvcnQgIlByb2Nlc3NUaHJvdHRsZXIuaCIKICNpbXBv
cnQgIldlYWtPYmpDUHRyLmgiCiAKLUBjbGFzcyBXS05hdmlnYXRpb247CiBAY2xhc3MgV0tXZWJW
aWV3OwogQHByb3RvY29sIFdLSGlzdG9yeURlbGVnYXRlUHJpdmF0ZTsKIEBwcm90b2NvbCBXS05h
dmlnYXRpb25EZWxlZ2F0ZTsKIAorbmFtZXNwYWNlIEFQSSB7CitjbGFzcyBOYXZpZ2F0aW9uOwor
fQorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogc3RydWN0IFdlYk5hdmlnYXRpb25EYXRhU3RvcmU7
CkBAIC02MywxMCArNjYsMTAgQEAgcHVibGljOgogICAgIFJldGFpblB0cjxpZCA8V0tIaXN0b3J5
RGVsZWdhdGVQcml2YXRlPiA+IGhpc3RvcnlEZWxlZ2F0ZSgpOwogICAgIHZvaWQgc2V0SGlzdG9y
eURlbGVnYXRlKGlkIDxXS0hpc3RvcnlEZWxlZ2F0ZVByaXZhdGU+KTsKIAotICAgIFJldGFpblB0
cjxXS05hdmlnYXRpb24+IGNyZWF0ZUJhY2tGb3J3YXJkTmF2aWdhdGlvbih1aW50NjRfdCBuYXZp
Z2F0aW9uSUQsIGNvbnN0IFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0mKTsKLSAgICBSZXRhaW5QdHI8
V0tOYXZpZ2F0aW9uPiBjcmVhdGVMb2FkUmVxdWVzdE5hdmlnYXRpb24odWludDY0X3QgbmF2aWdh
dGlvbklELCBOU1VSTFJlcXVlc3QgKik7Ci0gICAgUmV0YWluUHRyPFdLTmF2aWdhdGlvbj4gY3Jl
YXRlUmVsb2FkTmF2aWdhdGlvbih1aW50NjRfdCBuYXZpZ2F0aW9uSUQpOwotICAgIFJldGFpblB0
cjxXS05hdmlnYXRpb24+IGNyZWF0ZUxvYWREYXRhTmF2aWdhdGlvbih1aW50NjRfdCBuYXZpZ2F0
aW9uSUQpOworICAgIFJlZjxBUEk6Ok5hdmlnYXRpb24+IGNyZWF0ZUJhY2tGb3J3YXJkTmF2aWdh
dGlvbih1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIGNvbnN0IFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0m
KTsKKyAgICBSZWY8QVBJOjpOYXZpZ2F0aW9uPiBjcmVhdGVMb2FkUmVxdWVzdE5hdmlnYXRpb24o
dWludDY0X3QgbmF2aWdhdGlvbklELCBOU1VSTFJlcXVlc3QgKik7CisgICAgUmVmPEFQSTo6TmF2
aWdhdGlvbj4gY3JlYXRlUmVsb2FkTmF2aWdhdGlvbih1aW50NjRfdCBuYXZpZ2F0aW9uSUQpOwor
ICAgIFJlZjxBUEk6Ok5hdmlnYXRpb24+IGNyZWF0ZUxvYWREYXRhTmF2aWdhdGlvbih1aW50NjRf
dCBuYXZpZ2F0aW9uSUQpOwogCiAgICAgLy8gQ2FsbGVkIGJ5IHRoZSBwYWdlIGNsaWVudC4KICAg
ICB2b2lkIG5hdmlnYXRpb25HZXN0dXJlRGlkQmVnaW4oKTsKQEAgLTE3NCw3ICsxNzcsNyBAQCBw
cml2YXRlOgogI2VuZGlmCiAgICAgfSBtX25hdmlnYXRpb25EZWxlZ2F0ZU1ldGhvZHM7CiAKLSAg
ICBIYXNoTWFwPHVpbnQ2NF90LCBSZXRhaW5QdHI8V0tOYXZpZ2F0aW9uPj4gbV9uYXZpZ2F0aW9u
czsKKyAgICBIYXNoTWFwPHVpbnQ2NF90LCBSZWZQdHI8QVBJOjpOYXZpZ2F0aW9uPj4gbV9uYXZp
Z2F0aW9uczsKIAogICAgIFdlYWtPYmpDUHRyPGlkIDxXS0hpc3RvcnlEZWxlZ2F0ZVByaXZhdGU+
ID4gbV9oaXN0b3J5RGVsZWdhdGU7CiAgICAgc3RydWN0IHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbQkocmV2aXNpb24gMTc4
MTM3KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5t
bQkod29ya2luZyBjb3B5KQpAQCAtMTY0LDQ3ICsxNjQsNDYgQEAgdm9pZCBOYXZpZ2F0aW9uU3Rh
dGU6OnNldEhpc3RvcnlEZWxlZ2F0ZQogICAgIG1faGlzdG9yeURlbGVnYXRlTWV0aG9kcy53ZWJW
aWV3RGlkVXBkYXRlSGlzdG9yeVRpdGxlRm9yVVJMID0gW2hpc3RvcnlEZWxlZ2F0ZSByZXNwb25k
c1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OmRpZFVwZGF0ZUhpc3RvcnlUaXRsZTpmb3JV
Ukw6KV07CiB9CiAKLVJldGFpblB0cjxXS05hdmlnYXRpb24+IE5hdmlnYXRpb25TdGF0ZTo6Y3Jl
YXRlTG9hZFJlcXVlc3ROYXZpZ2F0aW9uKHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgTlNVUkxSZXF1
ZXN0ICpyZXF1ZXN0KQorUmVmPEFQSTo6TmF2aWdhdGlvbj4gTmF2aWdhdGlvblN0YXRlOjpjcmVh
dGVMb2FkUmVxdWVzdE5hdmlnYXRpb24odWludDY0X3QgbmF2aWdhdGlvbklELCBOU1VSTFJlcXVl
c3QgKnJlcXVlc3QpCiB7CiAgICAgQVNTRVJUKCFtX25hdmlnYXRpb25zLmNvbnRhaW5zKG5hdmln
YXRpb25JRCkpOwogCi0gICAgUmV0YWluUHRyPFdLTmF2aWdhdGlvbj4gbmF2aWdhdGlvbiA9IGFk
b3B0TlMoW1tXS05hdmlnYXRpb24gYWxsb2NdIGluaXRdKTsKLSAgICBuYXZpZ2F0aW9uLT5fcmVx
dWVzdCA9IHJlcXVlc3Q7CisgICAgYXV0byBuYXZpZ2F0aW9uID0gQVBJOjpOYXZpZ2F0aW9uOjpj
cmVhdGUoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0KHJlcXVlc3QpKTsKIAotICAgIG1fbmF2aWdh
dGlvbnMuc2V0KG5hdmlnYXRpb25JRCwgbmF2aWdhdGlvbik7CisgICAgbV9uYXZpZ2F0aW9ucy5z
ZXQobmF2aWdhdGlvbklELCBuYXZpZ2F0aW9uLnB0cigpKTsKIAogICAgIHJldHVybiBuYXZpZ2F0
aW9uOwogfQogCi1SZXRhaW5QdHI8V0tOYXZpZ2F0aW9uPiBOYXZpZ2F0aW9uU3RhdGU6OmNyZWF0
ZUJhY2tGb3J3YXJkTmF2aWdhdGlvbih1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIGNvbnN0IFdlYkJh
Y2tGb3J3YXJkTGlzdEl0ZW0mIGl0ZW0pCitSZWY8QVBJOjpOYXZpZ2F0aW9uPiBOYXZpZ2F0aW9u
U3RhdGU6OmNyZWF0ZUJhY2tGb3J3YXJkTmF2aWdhdGlvbih1aW50NjRfdCBuYXZpZ2F0aW9uSUQs
IGNvbnN0IFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0mIGl0ZW0pCiB7CiAgICAgQVNTRVJUKCFtX25h
dmlnYXRpb25zLmNvbnRhaW5zKG5hdmlnYXRpb25JRCkpOwogCi0gICAgYXV0byBuYXZpZ2F0aW9u
ID0gYWRvcHROUyhbW1dLTmF2aWdhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIGF1dG8gbmF2aWdh
dGlvbiA9IEFQSTo6TmF2aWdhdGlvbjo6Y3JlYXRlKCk7CiAKLSAgICBtX25hdmlnYXRpb25zLnNl
dChuYXZpZ2F0aW9uSUQsIG5hdmlnYXRpb24pOworICAgIG1fbmF2aWdhdGlvbnMuc2V0KG5hdmln
YXRpb25JRCwgbmF2aWdhdGlvbi5wdHIoKSk7CiAKICAgICByZXR1cm4gbmF2aWdhdGlvbjsKIH0K
IAotUmV0YWluUHRyPFdLTmF2aWdhdGlvbj4gTmF2aWdhdGlvblN0YXRlOjpjcmVhdGVSZWxvYWRO
YXZpZ2F0aW9uKHVpbnQ2NF90IG5hdmlnYXRpb25JRCkKK1JlZjxBUEk6Ok5hdmlnYXRpb24+IE5h
dmlnYXRpb25TdGF0ZTo6Y3JlYXRlUmVsb2FkTmF2aWdhdGlvbih1aW50NjRfdCBuYXZpZ2F0aW9u
SUQpCiB7CiAgICAgQVNTRVJUKCFtX25hdmlnYXRpb25zLmNvbnRhaW5zKG5hdmlnYXRpb25JRCkp
OwogCi0gICAgYXV0byBuYXZpZ2F0aW9uID0gYWRvcHROUyhbW1dLTmF2aWdhdGlvbiBhbGxvY10g
aW5pdF0pOworICAgIGF1dG8gbmF2aWdhdGlvbiA9IEFQSTo6TmF2aWdhdGlvbjo6Y3JlYXRlKCk7
CiAKLSAgICBtX25hdmlnYXRpb25zLnNldChuYXZpZ2F0aW9uSUQsIG5hdmlnYXRpb24pOworICAg
IG1fbmF2aWdhdGlvbnMuc2V0KG5hdmlnYXRpb25JRCwgbmF2aWdhdGlvbi5wdHIoKSk7CiAKICAg
ICByZXR1cm4gbmF2aWdhdGlvbjsKIH0KIAotUmV0YWluUHRyPFdLTmF2aWdhdGlvbj4gTmF2aWdh
dGlvblN0YXRlOjpjcmVhdGVMb2FkRGF0YU5hdmlnYXRpb24odWludDY0X3QgbmF2aWdhdGlvbklE
KQorUmVmPEFQSTo6TmF2aWdhdGlvbj4gTmF2aWdhdGlvblN0YXRlOjpjcmVhdGVMb2FkRGF0YU5h
dmlnYXRpb24odWludDY0X3QgbmF2aWdhdGlvbklEKQogewogICAgIEFTU0VSVCghbV9uYXZpZ2F0
aW9ucy5jb250YWlucyhuYXZpZ2F0aW9uSUQpKTsKIAotICAgIGF1dG8gbmF2aWdhdGlvbiA9IGFk
b3B0TlMoW1tXS05hdmlnYXRpb24gYWxsb2NdIGluaXRdKTsKKyAgICBhdXRvIG5hdmlnYXRpb24g
PSBBUEk6Ok5hdmlnYXRpb246OmNyZWF0ZSgpOwogCi0gICAgbV9uYXZpZ2F0aW9ucy5zZXQobmF2
aWdhdGlvbklELCBuYXZpZ2F0aW9uKTsKKyAgICBtX25hdmlnYXRpb25zLnNldChuYXZpZ2F0aW9u
SUQsIG5hdmlnYXRpb24ucHRyKCkpOwogCiAgICAgcmV0dXJuIG5hdmlnYXRpb247CiB9CkBAIC00
MjMsNyArNDIyLDcgQEAgdm9pZCBOYXZpZ2F0aW9uU3RhdGU6OkxvYWRlckNsaWVudDo6ZGlkUwog
ICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgYXNzZXJ0IHRoYXQgbmF2aWdhdGlvbklEIGlzIG5vdCB6
ZXJvIGhlcmUsIGJ1dCBpdCdzIGN1cnJlbnRseSB6ZXJvIGZvciBzb21lIG5hdmlnYXRpb25zIHRo
cm91Z2ggdGhlIHBhZ2UgY2FjaGUuCiAgICAgV0tOYXZpZ2F0aW9uICpuYXZpZ2F0aW9uID0gbmls
OwogICAgIGlmIChuYXZpZ2F0aW9uSUQpCi0gICAgICAgIG5hdmlnYXRpb24gPSBtX25hdmlnYXRp
b25TdGF0ZS5tX25hdmlnYXRpb25zLmdldChuYXZpZ2F0aW9uSUQpLmdldCgpOworICAgICAgICBu
YXZpZ2F0aW9uID0gd3JhcHBlcigqbV9uYXZpZ2F0aW9uU3RhdGUubV9uYXZpZ2F0aW9ucy5nZXQo
bmF2aWdhdGlvbklEKSk7CiAKICAgICBbbmF2aWdhdGlvbkRlbGVnYXRlIHdlYlZpZXc6bV9uYXZp
Z2F0aW9uU3RhdGUubV93ZWJWaWV3IGRpZFN0YXJ0UHJvdmlzaW9uYWxOYXZpZ2F0aW9uOm5hdmln
YXRpb25dOwogfQpAQCAtNDQzLDcgKzQ0Miw3IEBAIHZvaWQgTmF2aWdhdGlvblN0YXRlOjpMb2Fk
ZXJDbGllbnQ6OmRpZFIKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGFzc2VydCB0aGF0IG5hdmln
YXRpb25JRCBpcyBub3QgemVybyBoZXJlLCBidXQgaXQncyBjdXJyZW50bHkgemVybyBmb3Igc29t
ZSBuYXZpZ2F0aW9ucyB0aHJvdWdoIHRoZSBwYWdlIGNhY2hlLgogICAgIFdLTmF2aWdhdGlvbiAq
bmF2aWdhdGlvbiA9IG5pbDsKICAgICBpZiAobmF2aWdhdGlvbklEKQotICAgICAgICBuYXZpZ2F0
aW9uID0gbV9uYXZpZ2F0aW9uU3RhdGUubV9uYXZpZ2F0aW9ucy5nZXQobmF2aWdhdGlvbklEKS5n
ZXQoKTsKKyAgICAgICAgbmF2aWdhdGlvbiA9IHdyYXBwZXIoKm1fbmF2aWdhdGlvblN0YXRlLm1f
bmF2aWdhdGlvbnMuZ2V0KG5hdmlnYXRpb25JRCkpOwogCiAgICAgW25hdmlnYXRpb25EZWxlZ2F0
ZSB3ZWJWaWV3Om1fbmF2aWdhdGlvblN0YXRlLm1fd2ViVmlldyBkaWRSZWNlaXZlU2VydmVyUmVk
aXJlY3RGb3JQcm92aXNpb25hbE5hdmlnYXRpb246bmF2aWdhdGlvbl07CiB9CkBAIC00NzksNyAr
NDc4LDcgQEAgdm9pZCBOYXZpZ2F0aW9uU3RhdGU6OkxvYWRlckNsaWVudDo6ZGlkRgogICAgIC8v
IEZJWE1FOiBXZSBzaG91bGQgYXNzZXJ0IHRoYXQgbmF2aWdhdGlvbklEIGlzIG5vdCB6ZXJvIGhl
cmUsIGJ1dCBpdCdzIGN1cnJlbnRseSB6ZXJvIGZvciBzb21lIG5hdmlnYXRpb25zIHRocm91Z2gg
dGhlIHBhZ2UgY2FjaGUuCiAgICAgUmV0YWluUHRyPFdLTmF2aWdhdGlvbj4gbmF2aWdhdGlvbjsK
ICAgICBpZiAobmF2aWdhdGlvbklEKQotICAgICAgICBuYXZpZ2F0aW9uID0gbV9uYXZpZ2F0aW9u
U3RhdGUubV9uYXZpZ2F0aW9ucy50YWtlKG5hdmlnYXRpb25JRCk7CisgICAgICAgIG5hdmlnYXRp
b24gPSB3cmFwcGVyKCptX25hdmlnYXRpb25TdGF0ZS5tX25hdmlnYXRpb25zLnRha2UobmF2aWdh
dGlvbklEKSk7CiAKICAgICAvLyBGSVhNRTogU2V0IHRoZSBlcnJvciBvbiB0aGUgbmF2aWdhdGlv
biBvYmplY3QuCiAKQEAgLTUwOSw3ICs1MDgsNyBAQCB2b2lkIE5hdmlnYXRpb25TdGF0ZTo6TG9h
ZGVyQ2xpZW50OjpkaWRDCiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBhc3NlcnQgdGhhdCBuYXZp
Z2F0aW9uSUQgaXMgbm90IHplcm8gaGVyZSwgYnV0IGl0J3MgY3VycmVudGx5IHplcm8gZm9yIHNv
bWUgbmF2aWdhdGlvbnMgdGhyb3VnaCB0aGUgcGFnZSBjYWNoZS4KICAgICBXS05hdmlnYXRpb24g
Km5hdmlnYXRpb24gPSBuaWw7CiAgICAgaWYgKG5hdmlnYXRpb25JRCkKLSAgICAgICAgbmF2aWdh
dGlvbiA9IG1fbmF2aWdhdGlvblN0YXRlLm1fbmF2aWdhdGlvbnMuZ2V0KG5hdmlnYXRpb25JRCku
Z2V0KCk7CisgICAgICAgIG5hdmlnYXRpb24gPSB3cmFwcGVyKCptX25hdmlnYXRpb25TdGF0ZS5t
X25hdmlnYXRpb25zLmdldChuYXZpZ2F0aW9uSUQpKTsKIAogICAgIFtuYXZpZ2F0aW9uRGVsZWdh
dGUgd2ViVmlldzptX25hdmlnYXRpb25TdGF0ZS5tX3dlYlZpZXcgZGlkQ29tbWl0TmF2aWdhdGlv
bjpuYXZpZ2F0aW9uXTsKIH0KQEAgLTUyOSw3ICs1MjgsNyBAQCB2b2lkIE5hdmlnYXRpb25TdGF0
ZTo6TG9hZGVyQ2xpZW50OjpkaWRGCiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBhc3NlcnQgdGhh
dCBuYXZpZ2F0aW9uSUQgaXMgbm90IHplcm8gaGVyZSwgYnV0IGl0J3MgY3VycmVudGx5IHplcm8g
Zm9yIHNvbWUgbmF2aWdhdGlvbnMgdGhyb3VnaCB0aGUgcGFnZSBjYWNoZS4KICAgICBXS05hdmln
YXRpb24gKm5hdmlnYXRpb24gPSBuaWw7CiAgICAgaWYgKG5hdmlnYXRpb25JRCkKLSAgICAgICAg
bmF2aWdhdGlvbiA9IG1fbmF2aWdhdGlvblN0YXRlLm1fbmF2aWdhdGlvbnMuZ2V0KG5hdmlnYXRp
b25JRCkuZ2V0KCk7CisgICAgICAgIG5hdmlnYXRpb24gPSB3cmFwcGVyKCptX25hdmlnYXRpb25T
dGF0ZS5tX25hdmlnYXRpb25zLmdldChuYXZpZ2F0aW9uSUQpKTsKIAogICAgIFtzdGF0aWNfY2Fz
dDxpZCA8V0tOYXZpZ2F0aW9uRGVsZWdhdGVQcml2YXRlPj4obmF2aWdhdGlvbkRlbGVnYXRlLmdl
dCgpKSBfd2ViVmlldzptX25hdmlnYXRpb25TdGF0ZS5tX3dlYlZpZXcgbmF2aWdhdGlvbkRpZEZp
bmlzaERvY3VtZW50TG9hZDpuYXZpZ2F0aW9uXTsKIH0KQEAgLTU0OSw3ICs1NDgsNyBAQCB2b2lk
IE5hdmlnYXRpb25TdGF0ZTo6TG9hZGVyQ2xpZW50OjpkaWRGCiAgICAgLy8gRklYTUU6IFdlIHNo
b3VsZCBhc3NlcnQgdGhhdCBuYXZpZ2F0aW9uSUQgaXMgbm90IHplcm8gaGVyZSwgYnV0IGl0J3Mg
Y3VycmVudGx5IHplcm8gZm9yIHNvbWUgbmF2aWdhdGlvbnMgdGhyb3VnaCB0aGUgcGFnZSBjYWNo
ZS4KICAgICBXS05hdmlnYXRpb24gKm5hdmlnYXRpb24gPSBuaWw7CiAgICAgaWYgKG5hdmlnYXRp
b25JRCkKLSAgICAgICAgbmF2aWdhdGlvbiA9IG1fbmF2aWdhdGlvblN0YXRlLm1fbmF2aWdhdGlv
bnMuZ2V0KG5hdmlnYXRpb25JRCkuZ2V0KCk7CisgICAgICAgIG5hdmlnYXRpb24gPSB3cmFwcGVy
KCptX25hdmlnYXRpb25TdGF0ZS5tX25hdmlnYXRpb25zLmdldChuYXZpZ2F0aW9uSUQpKTsKIAog
ICAgIFtuYXZpZ2F0aW9uRGVsZWdhdGUgd2ViVmlldzptX25hdmlnYXRpb25TdGF0ZS5tX3dlYlZp
ZXcgZGlkRmluaXNoTmF2aWdhdGlvbjpuYXZpZ2F0aW9uXTsKIH0KQEAgLTU2OSw3ICs1NjgsNyBA
QCB2b2lkIE5hdmlnYXRpb25TdGF0ZTo6TG9hZGVyQ2xpZW50OjpkaWRGCiAgICAgLy8gRklYTUU6
IFdlIHNob3VsZCBhc3NlcnQgdGhhdCBuYXZpZ2F0aW9uSUQgaXMgbm90IHplcm8gaGVyZSwgYnV0
IGl0J3MgY3VycmVudGx5IHplcm8gZm9yIHNvbWUgbmF2aWdhdGlvbnMgdGhyb3VnaCB0aGUgcGFn
ZSBjYWNoZS4KICAgICBXS05hdmlnYXRpb24gKm5hdmlnYXRpb24gPSBuaWw7CiAgICAgaWYgKG5h
dmlnYXRpb25JRCkKLSAgICAgICAgbmF2aWdhdGlvbiA9IG1fbmF2aWdhdGlvblN0YXRlLm1fbmF2
aWdhdGlvbnMuZ2V0KG5hdmlnYXRpb25JRCkuZ2V0KCk7CisgICAgICAgIG5hdmlnYXRpb24gPSB3
cmFwcGVyKCptX25hdmlnYXRpb25TdGF0ZS5tX25hdmlnYXRpb25zLmdldChuYXZpZ2F0aW9uSUQp
KTsKIAogICAgIGF1dG8gZXJyb3JXaXRoUmVjb3ZlcnlBdHRlbXB0ZXIgPSBjcmVhdGVFcnJvcldp
dGhSZWNvdmVyeUF0dGVtcHRlcihtX25hdmlnYXRpb25TdGF0ZS5tX3dlYlZpZXcsICp3ZWJGcmFt
ZVByb3h5LCBlcnJvcik7CiAgICAgW25hdmlnYXRpb25EZWxlZ2F0ZSB3ZWJWaWV3Om1fbmF2aWdh
dGlvblN0YXRlLm1fd2ViVmlldyBkaWRGYWlsTmF2aWdhdGlvbjpuYXZpZ2F0aW9uIHdpdGhFcnJv
cjplcnJvcldpdGhSZWNvdmVyeUF0dGVtcHRlci5nZXQoKV07CkBAIC01OTAsNyArNTg5LDcgQEAg
dm9pZCBOYXZpZ2F0aW9uU3RhdGU6OkxvYWRlckNsaWVudDo6ZGlkUwogICAgIC8vIEZJWE1FOiBX
ZSBzaG91bGQgYXNzZXJ0IHRoYXQgbmF2aWdhdGlvbklEIGlzIG5vdCB6ZXJvIGhlcmUsIGJ1dCBp
dCdzIGN1cnJlbnRseSB6ZXJvIGZvciBzb21lIG5hdmlnYXRpb25zIHRocm91Z2ggdGhlIHBhZ2Ug
Y2FjaGUuCiAgICAgV0tOYXZpZ2F0aW9uICpuYXZpZ2F0aW9uID0gbmlsOwogICAgIGlmIChuYXZp
Z2F0aW9uSUQpCi0gICAgICAgIG5hdmlnYXRpb24gPSBtX25hdmlnYXRpb25TdGF0ZS5tX25hdmln
YXRpb25zLmdldChuYXZpZ2F0aW9uSUQpLmdldCgpOworICAgICAgICBuYXZpZ2F0aW9uID0gd3Jh
cHBlcigqbV9uYXZpZ2F0aW9uU3RhdGUubV9uYXZpZ2F0aW9ucy5nZXQobmF2aWdhdGlvbklEKSk7
CiAKICAgICBbc3RhdGljX2Nhc3Q8aWQgPFdLTmF2aWdhdGlvbkRlbGVnYXRlUHJpdmF0ZT4+KG5h
dmlnYXRpb25EZWxlZ2F0ZS5nZXQoKSkgX3dlYlZpZXc6bV9uYXZpZ2F0aW9uU3RhdGUubV93ZWJW
aWV3IG5hdmlnYXRpb246bmF2aWdhdGlvbiBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uOnRvV0tT
YW1lRG9jdW1lbnROYXZpZ2F0aW9uVHlwZShuYXZpZ2F0aW9uVHlwZSldOwogfQpJbmRleDogU291
cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2
aXNpb24gMTc4MTM3KQorKysgU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMDc3LDYgKzEwNzcsOCBAQAogCQk3Q0IxNkZG
NDE3MjRCQTMwMDA3QTBBOTUgLyogY29tLm9yYWNsZS5qYXZhLkphdmFBcHBsZXRQbHVnaW4uc2Ig
aW4gQ29weSBQbHVnLWluIFNhbmRib3ggUHJvZmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gN0NCMTZGRTcxNzI0QjlCNTAwN0EwQTk1IC8qIGNvbS5vcmFjbGUuamF2YS5K
YXZhQXBwbGV0UGx1Z2luLnNiICovOyB9OwogCQk3Q0M5OUEzNjE4RUY3Q0JDMDA0OEM4QjQgLyog
V0tTY3JpcHRNZXNzYWdlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDdDQzk5QTM1MThFRjdDQkMwMDQ4QzhCNCAvKiBXS1NjcmlwdE1lc3Nh
Z2VJbnRlcm5hbC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTdDRDEwMkRBMTg2Njc3MDYwMEVENDI5RCAvKiBBdXRvQ29ycmVjdGlvbkNhbGxiYWNr
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0QxMDJE
OTE4NjY3NzA2MDBFRDQyOUQgLyogQXV0b0NvcnJlY3Rpb25DYWxsYmFjay5oICovOyB9OworCQk3
Q0QzQTQ4MjFBNUQwMkZBMDA5NjIzQjggLyogQVBJTmF2aWdhdGlvbi5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0QzQTQ4MDFBNUQwMkZBMDA5NjIz
QjggLyogQVBJTmF2aWdhdGlvbi5jcHAgKi87IH07CisJCTdDRDNBNDgzMUE1RDAyRkEwMDk2MjNC
OCAvKiBBUElOYXZpZ2F0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3Q0QzQTQ4MTFBNUQwMkZBMDA5NjIzQjggLyogQVBJTmF2aWdhdGlvbi5oICov
OyB9OwogCQk3Q0Q1RUJCODE3NDZBMTVCMDAwQzFDNDUgLyogV0tPYmpDVHlwZVdyYXBwZXJSZWYu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0Q1RUJC
NjE3NDZBMTVCMDAwQzFDNDUgLyogV0tPYmpDVHlwZVdyYXBwZXJSZWYubW0gKi87IH07CiAJCTdD
RDVFQkI5MTc0NkExNUIwMDBDMUM0NSAvKiBXS09iakNUeXBlV3JhcHBlclJlZi5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NENUVCQjcxNzQ2QTE1QjAw
MEMxQzQ1IC8qIFdLT2JqQ1R5cGVXcmFwcGVyUmVmLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0NENUVCQkIxNzQ2QTgzRTAwMEMxQzQ1IC8qIFdL
QmFzZU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
N0NENUVCQkExNzQ2QTgzRTAwMEMxQzQ1IC8qIFdLQmFzZU1hYy5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0zMTc3LDYgKzMxNzksOCBAQAogCQk3
Q0IxNkZFNzE3MjRCOUI1MDA3QTBBOTUgLyogY29tLm9yYWNsZS5qYXZhLkphdmFBcHBsZXRQbHVn
aW4uc2IgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gY29tLm9yYWNsZS5qYXZhLkphdmFBcHBsZXRQ
bHVnaW4uc2I7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDQzk5QTM1MThFRjdDQkMw
MDQ4QzhCNCAvKiBXS1NjcmlwdE1lc3NhZ2VJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXS1NjcmlwdE1lc3NhZ2VJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk3Q0QxMDJEOTE4NjY3NzA2MDBFRDQyOUQgLyogQXV0b0NvcnJlY3Rpb25D
YWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBdXRvQ29ycmVjdGlv
bkNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdDRDNBNDgwMUE1RDAy
RkEwMDk2MjNCOCAvKiBBUElOYXZpZ2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEFQSU5hdmlnYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk3Q0QzQTQ4MTFBNUQwMkZBMDA5NjIzQjggLyogQVBJTmF2aWdhdGlvbi5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBUElOYXZpZ2F0aW9uLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTdDRDVFQkI2MTc0NkExNUIwMDBDMUM0NSAvKiBXS09iakNUeXBlV3Jh
cHBlclJlZi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLT2Jq
Q1R5cGVXcmFwcGVyUmVmLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3Q0Q1RUJC
NzE3NDZBMTVCMDAwQzFDNDUgLyogV0tPYmpDVHlwZVdyYXBwZXJSZWYuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV0tPYmpDVHlwZVdyYXBwZXJSZWYuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJN0NENUVCQkExNzQ2QTgzRTAwMEMxQzQ1IC8qIFdLQmFzZU1hYy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0Jhc2VNYWMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTYwNDUsNiArNjA0OSw4IEBACiAJCQkJMUE0RDY2NDcxOEEy
RDkxQTAwRDgyRTIxIC8qIEFQSVVJQ2xpZW50LmggKi8sCiAJCQkJMUEzNjM1QTcxQTMxNDRBMzAw
RUQ2MTk3IC8qIEFQSVdlYnNpdGVEYXRhU3RvcmUuY3BwICovLAogCQkJCTFBMzYzNUE4MUEzMTQ0
QTMwMEVENjE5NyAvKiBBUElXZWJzaXRlRGF0YVN0b3JlLmggKi8sCisJCQkJN0NEM0E0ODAxQTVE
MDJGQTAwOTYyM0I4IC8qIEFQSU5hdmlnYXRpb24uY3BwICovLAorCQkJCTdDRDNBNDgxMUE1RDAy
RkEwMDk2MjNCOCAvKiBBUElOYXZpZ2F0aW9uLmggKi8sCiAJCQkpOwogCQkJcGF0aCA9IEFQSTsK
IAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC03MzE3LDYgKzczMjMsNyBAQAogCQkJCUM1
OUM0QTU5MThCODExNzQwMDdCRENCNiAvKiBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNTE1RTc3MjgxODNERDZGNjAwMDcyMDNGIC8qIEFzeW5jUmVxdWVzdC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNTFCQTI0NDQxODU4RUUzMDAwRUEyODExIC8qIEFzeW5jVGFz
ay5oIGluIEhlYWRlcnMgKi8sCisJCQkJN0NEM0E0ODMxQTVEMDJGQTAwOTYyM0I4IC8qIEFQSU5h
dmlnYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRUU5NjZEMTEyRkFGNTcwMDZCQ0MyNCAv
KiBBdHRhY2htZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUEzMTczMjEzNENFQTZDMDA3QzlB
NEYgLyogQXR0cmlidXRlZFN0cmluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEyRjU4OTcxMkE4
ODM4ODAwNjI5NTMwIC8qIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkuaCBpbiBIZWFkZXJz
ICovLApAQCAtOTEyMiw2ICs5MTI5LDcgQEAKIAkJCQlDMEUzQUE3QTEyMDlFODMwMDBBNDlEMDEg
LyogTW9kdWxlQ0YuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkRBOTQ0OUUxODg0RTRGMDAwRUQ4
NkRCIC8qIE5hdGl2ZVdlYktleWJvYXJkRXZlbnRJT1MubW0gaW4gU291cmNlcyAqLywKIAkJCQlD
MDJCRkYxRTEyNTE1MDJFMDA5Q0NCRUEgLyogTmF0aXZlV2ViS2V5Ym9hcmRFdmVudE1hYy5tbSBp
biBTb3VyY2VzICovLAorCQkJCTdDRDNBNDgyMUE1RDAyRkEwMDk2MjNCOCAvKiBBUElOYXZpZ2F0
aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMxRUEyNUQyMTM0Rjc4QzAwMDVCMTQ1MiAvKiBO
YXRpdmVXZWJNb3VzZUV2ZW50TWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkRBOTQ0OUYxODg0
RTRGMDAwRUQ4NkRCIC8qIE5hdGl2ZVdlYlRvdWNoRXZlbnRJT1MubW0gaW4gU291cmNlcyAqLywK
IAkJCQlERjU4QzYzNjEzNzFBQ0EwMDBGOUEzN0MgLyogTmF0aXZlV2ViV2hlZWxFdmVudE1hYy5t
bSBpbiBTb3VyY2VzICovLAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244361</attachid>
            <date>2015-01-09 12:07:41 -0800</date>
            <delta_ts>2015-01-09 12:09:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140272-20150109120745.patch</filename>
            <type>text/plain</type>
            <size>27166</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3ODE3NikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDYyIEBACisyMDE1LTAxLTA5ICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTWFrZSBXS05hdmlnYXRpb24gYnJpZGdl
ZCB0byBBUEk6Ok5hdmlnYXRpb24gKFRha2UgMikKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDI3MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVkL0FQSS9BUElPYmplY3QuaDoKKyAgICAgICAg
QWRkIE5hdmlnYXRpb24uCisKKyAgICAgICAgKiBTaGFyZWQvQ29jb2EvQVBJT2JqZWN0Lm1tOgor
ICAgICAgICAoQVBJOjpPYmplY3Q6Om5ld09iamVjdCk6CisgICAgICAgIEJyaWRnZSB0byBXS05h
dmlnYXRpb24uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRpb24uY3BwOiBB
ZGRlZC4KKyAgICAgICAgKEFQSTo6TmF2aWdhdGlvbjo6TmF2aWdhdGlvbik6CisgICAgICAgIChB
UEk6Ok5hdmlnYXRpb246On5OYXZpZ2F0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQ
SU5hdmlnYXRpb24uaDogQWRkZWQuCisgICAgICAgIChBUEk6Ok5hdmlnYXRpb246OmNyZWF0ZSk6
CisgICAgICAgIChBUEk6Ok5hdmlnYXRpb246OnJlcXVlc3QpOgorICAgICAgICBBZGQgaW5pdGlh
bCBpbXBsZW1lbnRhdGlvbi4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tOYXZp
Z2F0aW9uLm1tOgorICAgICAgICAoLVtXS05hdmlnYXRpb24gZGVhbGxvY10pOgorICAgICAgICAo
LVtXS05hdmlnYXRpb24gX3JlcXVlc3RdKToKKyAgICAgICAgKC1bV0tOYXZpZ2F0aW9uIF9hcGlP
YmplY3RdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLTmF2aWdhdGlvbkludGVy
bmFsLmg6CisgICAgICAgIChBUEk6OndyYXBwZXIpOgorICAgICAgICBJbXBsZW1lbnQgYnJpZGdp
bmcgdG8gQVBJOjpOYXZpZ2F0aW9uIGFuZCBnZXQgdGhlIHJlcXVlc3QgZnJvbSB0aGUgdW5kZXJs
eWluZyBvYmplY3QuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5t
bToKKyAgICAgICAgKC1bV0tXZWJWaWV3IGxvYWRSZXF1ZXN0Ol0pOgorICAgICAgICAoLVtXS1dl
YlZpZXcgbG9hZEZpbGVVUkw6YWxsb3dpbmdSZWFkQWNjZXNzVG9VUkw6XSk6CisgICAgICAgICgt
W1dLV2ViVmlldyBsb2FkRGF0YTpNSU1FVHlwZTpjaGFyYWN0ZXJFbmNvZGluZ05hbWU6YmFzZVVS
TDpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IGdvVG9CYWNrRm9yd2FyZExpc3RJdGVtOl0pOgor
ICAgICAgICAoLVtXS1dlYlZpZXcgZ29CYWNrXSk6CisgICAgICAgICgtW1dLV2ViVmlldyBnb0Zv
cndhcmRdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IHJlbG9hZF0pOgorICAgICAgICAoLVtXS1dl
YlZpZXcgcmVsb2FkRnJvbU9yaWdpbl0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX3Jlc3RvcmVT
ZXNzaW9uU3RhdGU6YW5kTmF2aWdhdGU6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL05h
dmlnYXRpb25TdGF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3Rh
dGUubW06CisgICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRpb25TdGF0ZTo6Y3JlYXRlTG9hZFJlcXVl
c3ROYXZpZ2F0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmF2aWdhdGlvblN0YXRlOjpjcmVhdGVC
YWNrRm9yd2FyZE5hdmlnYXRpb24pOgorICAgICAgICAoV2ViS2l0OjpOYXZpZ2F0aW9uU3RhdGU6
OmNyZWF0ZVJlbG9hZE5hdmlnYXRpb24pOgorICAgICAgICAoV2ViS2l0OjpOYXZpZ2F0aW9uU3Rh
dGU6OmNyZWF0ZUxvYWREYXRhTmF2aWdhdGlvbik6CisgICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRp
b25TdGF0ZTo6TG9hZGVyQ2xpZW50OjpkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKToK
KyAgICAgICAgKFdlYktpdDo6TmF2aWdhdGlvblN0YXRlOjpMb2FkZXJDbGllbnQ6OmRpZFJlY2Vp
dmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKToKKyAgICAgICAgKFdl
YktpdDo6TmF2aWdhdGlvblN0YXRlOjpMb2FkZXJDbGllbnQ6OmRpZEZhaWxQcm92aXNpb25hbExv
YWRXaXRoRXJyb3JGb3JGcmFtZSk6CisgICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRpb25TdGF0ZTo6
TG9hZGVyQ2xpZW50OjpkaWRDb21taXRMb2FkRm9yRnJhbWUpOgorICAgICAgICAoV2ViS2l0OjpO
YXZpZ2F0aW9uU3RhdGU6OkxvYWRlckNsaWVudDo6ZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJh
bWUpOgorICAgICAgICAoV2ViS2l0OjpOYXZpZ2F0aW9uU3RhdGU6OkxvYWRlckNsaWVudDo6ZGlk
RmluaXNoTG9hZEZvckZyYW1lKToKKyAgICAgICAgKFdlYktpdDo6TmF2aWdhdGlvblN0YXRlOjpM
b2FkZXJDbGllbnQ6OmRpZEZhaWxMb2FkV2l0aEVycm9yRm9yRnJhbWUpOgorICAgICAgICAoV2Vi
S2l0OjpOYXZpZ2F0aW9uU3RhdGU6OkxvYWRlckNsaWVudDo6ZGlkU2FtZURvY3VtZW50TmF2aWdh
dGlvbkZvckZyYW1lKToKKyAgICAgICAgU3dpdGNoIHRvIHN0b3JpbmcgQVBJOjpOYXZpZ2F0aW9u
cy4KKworICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAg
ICAgQWRkIHRoZSBuZXcgZmlsZXMuCisKIDIwMTUtMDEtMDggIEVucmljYSBDYXN1Y2NpICA8ZW5y
aWNhQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBDYW5ub3QgcGFzdGUgYW4gaW1hZ2UgVVJM
IGluIGEgcGxhaW4gdGV4dCBmaWVsZCBpbiBhIHBhZ2UuCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQVBJL0FQSU9iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9BUEkvQVBJT2JqZWN0LmgJKHJldmlzaW9uIDE3ODE3NikKKysrIFNvdXJjZS9XZWJLaXQyL1No
YXJlZC9BUEkvQVBJT2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTExOCw2ICsxMTgsNyBAQCBw
dWJsaWM6CiAgICAgICAgIEluc3BlY3RvciwKICAgICAgICAgS2V5VmFsdWVTdG9yYWdlTWFuYWdl
ciwKICAgICAgICAgTWVkaWFDYWNoZU1hbmFnZXIsCisgICAgICAgIE5hdmlnYXRpb24sCiAgICAg
ICAgIE5hdmlnYXRpb25EYXRhLAogICAgICAgICBOb3RpZmljYXRpb24sCiAgICAgICAgIE5vdGlm
aWNhdGlvbk1hbmFnZXIsCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29jb2EvQVBJT2Jq
ZWN0Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db2NvYS9BUElPYmpl
Y3QubW0JKHJldmlzaW9uIDE3ODE3NikKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db2NvYS9B
UElPYmplY3QubW0JKHdvcmtpbmcgY29weSkKQEAgLTQyLDYgKzQyLDcgQEAKICNpbXBvcnQgIldL
TlNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oIgogI2ltcG9ydCAiV0tOU1VSTFJlcXVlc3Qu
aCIKICNpbXBvcnQgIldLTmF2aWdhdGlvbkRhdGFJbnRlcm5hbC5oIgorI2ltcG9ydCAiV0tOYXZp
Z2F0aW9uSW50ZXJuYWwuaCIKICNpbXBvcnQgIldLUHJvY2Vzc1Bvb2xJbnRlcm5hbC5oIgogI2lt
cG9ydCAiV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVySW50ZXJuYWwu
aCIKICNpbXBvcnQgIldLV2ViUHJvY2Vzc1BsdWdJbkZyYW1lSW50ZXJuYWwuaCIKQEAgLTEyOCw2
ICsxMjksMTAgQEAgdm9pZCogT2JqZWN0OjpuZXdPYmplY3Qoc2l6ZV90IHNpemUsIFR5cAogICAg
ICAgICB3cmFwcGVyID0gW19XS0ZyYW1lSGFuZGxlIGFsbG9jXTsKICAgICAgICAgYnJlYWs7CiAK
KyAgICBjYXNlIFR5cGU6Ok5hdmlnYXRpb246CisgICAgICAgIHdyYXBwZXIgPSBbV0tOYXZpZ2F0
aW9uIGFsbG9jXTsKKyAgICAgICAgYnJlYWs7CisKICAgICBjYXNlIFR5cGU6Ok5hdmlnYXRpb25E
YXRhOgogICAgICAgICB3cmFwcGVyID0gW1dLTmF2aWdhdGlvbkRhdGEgYWxsb2NdOwogICAgICAg
ICBicmVhazsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJTmF2aWdhdGlv
bi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElOYXZp
Z2F0aW9uLmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
QVBJTmF2aWdhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJBUElOYXZpZ2F0aW9uLmgiCisK
K25hbWVzcGFjZSBBUEkgeworCitOYXZpZ2F0aW9uOjpOYXZpZ2F0aW9uKCkKK3sKK30KKworTmF2
aWdhdGlvbjo6TmF2aWdhdGlvbihjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVl
c3QpCisgICAgOiBtX3JlcXVlc3QocmVxdWVzdCkKK3sKK30KKworTmF2aWdhdGlvbjo6fk5hdmln
YXRpb24oKQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQVBJTmF2aWdhdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJTmF2aWdhdGlvbi5oCShyZXZpc2lvbiAwKQorKysgU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElOYXZpZ2F0aW9uLmgJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgQVBJTmF2aWdhdGlvbl9oCisj
ZGVmaW5lIEFQSU5hdmlnYXRpb25faAorCisjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCisjaW5jbHVk
ZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KKyNpbmNsdWRlIDx3dGYvUmVmLmg+CisKK25h
bWVzcGFjZSBBUEkgeworCitjbGFzcyBOYXZpZ2F0aW9uIDogcHVibGljIE9iamVjdEltcGw8T2Jq
ZWN0OjpUeXBlOjpOYXZpZ2F0aW9uPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxOYXZpZ2F0
aW9uPiBjcmVhdGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTmF2aWdh
dGlvbik7CisgICAgfQorCisgICAgc3RhdGljIFJlZjxOYXZpZ2F0aW9uPiBjcmVhdGUoY29uc3Qg
V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQorICAgIHsKKyAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgTmF2aWdhdGlvbihyZXF1ZXN0KSk7CisgICAgfQorCisgICAgdmlydHVh
bCB+TmF2aWdhdGlvbigpOworCisgICAgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiBy
ZXF1ZXN0KCkgY29uc3QgeyByZXR1cm4gbV9yZXF1ZXN0OyB9CisKK3ByaXZhdGU6CisgICAgZXhw
bGljaXQgTmF2aWdhdGlvbigpOworICAgIGV4cGxpY2l0IE5hdmlnYXRpb24oY29uc3QgV2ViQ29y
ZTo6UmVzb3VyY2VSZXF1ZXN0Jik7CisKKyAgICBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgbV9y
ZXF1ZXN0OworfTsKKworfSAvLyBuYW1lc3BhY2UgQVBJCisKKworI2VuZGlmIC8vIEFQSU5hdmln
YXRpb25faApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS05hdmln
YXRpb24ubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS05hdmlnYXRpb24ubW0JKHJldmlzaW9uIDE3ODE3NikKKysrIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tOYXZpZ2F0aW9uLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNiwx
NyArMjYsMzIgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiV0tOYXZpZ2F0aW9uSW50
ZXJuYWwuaCIKIAotI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgorI2ltcG9ydCAiQVBJTmF2aWdh
dGlvbi5oIgogCiAjaWYgV0tfQVBJX0VOQUJMRUQKIAotQGltcGxlbWVudGF0aW9uIFdLTmF2aWdh
dGlvbgorQGltcGxlbWVudGF0aW9uIFdLTmF2aWdhdGlvbiB7CisgICAgQVBJOjpPYmplY3RTdG9y
YWdlPEFQSTo6TmF2aWdhdGlvbj4gX25hdmlnYXRpb247Cit9CisKKy0gKHZvaWQpZGVhbGxvYwor
eworICAgIF9uYXZpZ2F0aW9uLT5+TmF2aWdhdGlvbigpOworCisgICAgW3N1cGVyIGRlYWxsb2Nd
OworfQogCiAtIChOU1VSTFJlcXVlc3QgKilfcmVxdWVzdAogewotICAgIHJldHVybiBfcmVxdWVz
dC5nZXQoKTsKKyAgICByZXR1cm4gX25hdmlnYXRpb24tPnJlcXVlc3QoKS5uc1VSTFJlcXVlc3Qo
V2ViQ29yZTo6RG9Ob3RVcGRhdGVIVFRQQm9keSk7CiB9CiAKKyNwcmFnbWEgbWFyayBXS09iamVj
dCBwcm90b2NvbCBpbXBsZW1lbnRhdGlvbgorCistIChBUEk6Ok9iamVjdCYpX2FwaU9iamVjdAor
eworICAgIHJldHVybiAqX25hdmlnYXRpb247Cit9CiAKIEBlbmQKIApJbmRleDogU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS05hdmlnYXRpb25JbnRlcm5hbC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tOYXZpZ2F0aW9uSW50
ZXJuYWwuaAkocmV2aXNpb24gMTc4MTc2KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS05hdmlnYXRpb25JbnRlcm5hbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNywxMyAr
MjcsMjEgQEAKIAogI2lmIFdLX0FQSV9FTkFCTEVECiAKLSNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIu
aD4KKyNpbXBvcnQgIkFQSU5hdmlnYXRpb24uaCIKKyNpbXBvcnQgIldLT2JqZWN0LmgiCisKK25h
bWVzcGFjZSBBUEkgeworCitpbmxpbmUgV0tOYXZpZ2F0aW9uICp3cmFwcGVyKEFQSTo6TmF2aWdh
dGlvbiYgbmF2aWdhdGlvbikKK3sKKyAgICBBU1NFUlQoW25hdmlnYXRpb24ud3JhcHBlcigpIGlz
S2luZE9mQ2xhc3M6W1dLTmF2aWdhdGlvbiBjbGFzc11dKTsKKworICAgIHJldHVybiAoV0tOYXZp
Z2F0aW9uICopbmF2aWdhdGlvbi53cmFwcGVyKCk7Cit9CiAKLUBpbnRlcmZhY2UgV0tOYXZpZ2F0
aW9uICgpIHsKLUBwYWNrYWdlCi0gICAgUmV0YWluUHRyPE5TVVJMUmVxdWVzdD4gX3JlcXVlc3Q7
CiB9CiAKK0BpbnRlcmZhY2UgV0tOYXZpZ2F0aW9uICgpIDxXS09iamVjdD4KIEBlbmQKIAogI2Vu
ZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5t
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlldy5tbQkocmV2aXNpb24gMTc4MTc2KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTQyOCw3ICs0MjgsNyBAQCAt
IChXS05hdmlnYXRpb24gKilsb2FkUmVxdWVzdDooTlNVUkxSZXF1CiAgICAgdWludDY0X3QgbmF2
aWdhdGlvbklEID0gX3BhZ2UtPmxvYWRSZXF1ZXN0KHJlcXVlc3QpOwogICAgIGF1dG8gbmF2aWdh
dGlvbiA9IF9uYXZpZ2F0aW9uU3RhdGUtPmNyZWF0ZUxvYWRSZXF1ZXN0TmF2aWdhdGlvbihuYXZp
Z2F0aW9uSUQsIHJlcXVlc3QpOwogCi0gICAgcmV0dXJuIG5hdmlnYXRpb24uYXV0b3JlbGVhc2Uo
KTsKKyAgICByZXR1cm4gW3dyYXBwZXIobmF2aWdhdGlvbi5sZWFrUmVmKCkpIGF1dG9yZWxlYXNl
XTsKIH0KIAogLSAoV0tOYXZpZ2F0aW9uICopbG9hZEZpbGVVUkw6KE5TVVJMICopVVJMIGFsbG93
aW5nUmVhZEFjY2Vzc1RvVVJMOihOU1VSTCAqKXJlYWRBY2Nlc3NVUkwKQEAgLTQ0NSw3ICs0NDUs
NyBAQCAtIChXS05hdmlnYXRpb24gKilsb2FkRmlsZVVSTDooTlNVUkwgKilVCiAKICAgICBhdXRv
IG5hdmlnYXRpb24gPSBfbmF2aWdhdGlvblN0YXRlLT5jcmVhdGVMb2FkUmVxdWVzdE5hdmlnYXRp
b24obmF2aWdhdGlvbklELCBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOlVSTF0pOwogCi0g
ICAgcmV0dXJuIG5hdmlnYXRpb24uYXV0b3JlbGVhc2UoKTsKKyAgICByZXR1cm4gW3dyYXBwZXIo
bmF2aWdhdGlvbi5sZWFrUmVmKCkpIGF1dG9yZWxlYXNlXTsKIH0KIAogLSAoV0tOYXZpZ2F0aW9u
ICopbG9hZEhUTUxTdHJpbmc6KE5TU3RyaW5nICopc3RyaW5nIGJhc2VVUkw6KE5TVVJMICopYmFz
ZVVSTApAQCAtNDYzLDcgKzQ2Myw3IEBAIC0gKFdLTmF2aWdhdGlvbiAqKWxvYWREYXRhOihOU0Rh
dGEgKilkYXQKIAogICAgIGF1dG8gbmF2aWdhdGlvbiA9IF9uYXZpZ2F0aW9uU3RhdGUtPmNyZWF0
ZUxvYWREYXRhTmF2aWdhdGlvbihuYXZpZ2F0aW9uSUQpOwogCi0gICAgcmV0dXJuIG5hdmlnYXRp
b24uYXV0b3JlbGVhc2UoKTsKKyAgICByZXR1cm4gW3dyYXBwZXIobmF2aWdhdGlvbi5sZWFrUmVm
KCkpIGF1dG9yZWxlYXNlXTsKIH0KIAogLSAoV0tOYXZpZ2F0aW9uICopZ29Ub0JhY2tGb3J3YXJk
TGlzdEl0ZW06KFdLQmFja0ZvcndhcmRMaXN0SXRlbSAqKWl0ZW0KQEAgLTQ3Miw3ICs0NzIsNyBA
QCAtIChXS05hdmlnYXRpb24gKilnb1RvQmFja0ZvcndhcmRMaXN0SXRlCiAKICAgICBhdXRvIG5h
dmlnYXRpb24gPSBfbmF2aWdhdGlvblN0YXRlLT5jcmVhdGVCYWNrRm9yd2FyZE5hdmlnYXRpb24o
bmF2aWdhdGlvbklELCBpdGVtLl9pdGVtKTsKIAotICAgIHJldHVybiBuYXZpZ2F0aW9uLmF1dG9y
ZWxlYXNlKCk7CisgICAgcmV0dXJuIFt3cmFwcGVyKG5hdmlnYXRpb24ubGVha1JlZigpKSBhdXRv
cmVsZWFzZV07CiB9CiAKIC0gKE5TU3RyaW5nICopdGl0bGUKQEAgLTUxOSw3ICs1MTksNyBAQCAt
IChXS05hdmlnYXRpb24gKilnb0JhY2sKICAgICBBU1NFUlQoX3BhZ2UtPmJhY2tGb3J3YXJkTGlz
dCgpLmN1cnJlbnRJdGVtKCkpOwogICAgIGF1dG8gbmF2aWdhdGlvbiA9IF9uYXZpZ2F0aW9uU3Rh
dGUtPmNyZWF0ZUJhY2tGb3J3YXJkTmF2aWdhdGlvbihuYXZpZ2F0aW9uSUQsICpfcGFnZS0+YmFj
a0ZvcndhcmRMaXN0KCkuY3VycmVudEl0ZW0oKSk7CiAgCi0gICAgcmV0dXJuIG5hdmlnYXRpb24u
YXV0b3JlbGVhc2UoKTsKKyAgICByZXR1cm4gW3dyYXBwZXIobmF2aWdhdGlvbi5sZWFrUmVmKCkp
IGF1dG9yZWxlYXNlXTsKIH0KIAogLSAoV0tOYXZpZ2F0aW9uICopZ29Gb3J3YXJkCkBAIC01MzEs
NyArNTMxLDcgQEAgLSAoV0tOYXZpZ2F0aW9uICopZ29Gb3J3YXJkCiAgICAgQVNTRVJUKF9wYWdl
LT5iYWNrRm9yd2FyZExpc3QoKS5jdXJyZW50SXRlbSgpKTsKICAgICBhdXRvIG5hdmlnYXRpb24g
PSBfbmF2aWdhdGlvblN0YXRlLT5jcmVhdGVCYWNrRm9yd2FyZE5hdmlnYXRpb24obmF2aWdhdGlv
bklELCAqX3BhZ2UtPmJhY2tGb3J3YXJkTGlzdCgpLmN1cnJlbnRJdGVtKCkpOwogCi0gICAgcmV0
dXJuIG5hdmlnYXRpb24uYXV0b3JlbGVhc2UoKTsKKyAgICByZXR1cm4gW3dyYXBwZXIobmF2aWdh
dGlvbi5sZWFrUmVmKCkpIGF1dG9yZWxlYXNlXTsKIH0KIAogLSAoV0tOYXZpZ2F0aW9uICopcmVs
b2FkCkBAIC01NDEsNyArNTQxLDcgQEAgLSAoV0tOYXZpZ2F0aW9uICopcmVsb2FkCiAgICAgICAg
IHJldHVybiBuaWw7CiAKICAgICBhdXRvIG5hdmlnYXRpb24gPSBfbmF2aWdhdGlvblN0YXRlLT5j
cmVhdGVSZWxvYWROYXZpZ2F0aW9uKG5hdmlnYXRpb25JRCk7Ci0gICAgcmV0dXJuIG5hdmlnYXRp
b24uYXV0b3JlbGVhc2UoKTsKKyAgICByZXR1cm4gW3dyYXBwZXIobmF2aWdhdGlvbi5sZWFrUmVm
KCkpIGF1dG9yZWxlYXNlXTsKIH0KIAogLSAoV0tOYXZpZ2F0aW9uICopcmVsb2FkRnJvbU9yaWdp
bgpAQCAtNTUxLDcgKzU1MSw3IEBAIC0gKFdLTmF2aWdhdGlvbiAqKXJlbG9hZEZyb21PcmlnaW4K
ICAgICAgICAgcmV0dXJuIG5pbDsKIAogICAgIGF1dG8gbmF2aWdhdGlvbiA9IF9uYXZpZ2F0aW9u
U3RhdGUtPmNyZWF0ZVJlbG9hZE5hdmlnYXRpb24obmF2aWdhdGlvbklEKTsKLSAgICByZXR1cm4g
bmF2aWdhdGlvbi5hdXRvcmVsZWFzZSgpOworICAgIHJldHVybiBbd3JhcHBlcihuYXZpZ2F0aW9u
LmxlYWtSZWYoKSkgYXV0b3JlbGVhc2VdOwogfQogCiAtICh2b2lkKXN0b3BMb2FkaW5nCkBAIC0x
NzczLDcgKzE3NzMsOSBAQCAtIChXS05hdmlnYXRpb24gKilfcmVzdG9yZVNlc3Npb25TdGF0ZToo
CiB7CiAgICAgaWYgKHVpbnQ2NF90IG5hdmlnYXRpb25JRCA9IF9wYWdlLT5yZXN0b3JlRnJvbVNl
c3Npb25TdGF0ZShzZXNzaW9uU3RhdGUtPl9zZXNzaW9uU3RhdGUsIG5hdmlnYXRlKSkgewogICAg
ICAgICAvLyBGSVhNRTogVGhpcyBpcyBub3QgbmVjZXNzYXJpbHkgYWx3YXlzIGEgcmVsb2FkIG5h
dmlnYXRpb24uCi0gICAgICAgIHJldHVybiBfbmF2aWdhdGlvblN0YXRlLT5jcmVhdGVSZWxvYWRO
YXZpZ2F0aW9uKG5hdmlnYXRpb25JRCkuYXV0b3JlbGVhc2UoKTsKKyAgICAgICAgYXV0byBuYXZp
Z2F0aW9uID0gX25hdmlnYXRpb25TdGF0ZS0+Y3JlYXRlUmVsb2FkTmF2aWdhdGlvbihuYXZpZ2F0
aW9uSUQpOworCisgICAgICAgIHJldHVybiBbd3JhcHBlcihuYXZpZ2F0aW9uLmxlYWtSZWYoKSkg
YXV0b3JlbGVhc2VdOwogICAgIH0KIAogICAgIHJldHVybiBuaWw7CkluZGV4OiBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5oCShyZXZpc2lvbiAx
NzgxNzYpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDExICszOCwxNCBAQAogI2ltcG9ydCAiUHJvY2Vzc1Ro
cm90dGxlci5oIgogI2ltcG9ydCAiV2Vha09iakNQdHIuaCIKIAotQGNsYXNzIFdLTmF2aWdhdGlv
bjsKIEBjbGFzcyBXS1dlYlZpZXc7CiBAcHJvdG9jb2wgV0tIaXN0b3J5RGVsZWdhdGVQcml2YXRl
OwogQHByb3RvY29sIFdLTmF2aWdhdGlvbkRlbGVnYXRlOwogCituYW1lc3BhY2UgQVBJIHsKK2Ns
YXNzIE5hdmlnYXRpb247Cit9CisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBzdHJ1Y3QgV2ViTmF2
aWdhdGlvbkRhdGFTdG9yZTsKQEAgLTYzLDEwICs2NiwxMCBAQCBwdWJsaWM6CiAgICAgUmV0YWlu
UHRyPGlkIDxXS0hpc3RvcnlEZWxlZ2F0ZVByaXZhdGU+ID4gaGlzdG9yeURlbGVnYXRlKCk7CiAg
ICAgdm9pZCBzZXRIaXN0b3J5RGVsZWdhdGUoaWQgPFdLSGlzdG9yeURlbGVnYXRlUHJpdmF0ZT4p
OwogCi0gICAgUmV0YWluUHRyPFdLTmF2aWdhdGlvbj4gY3JlYXRlQmFja0ZvcndhcmROYXZpZ2F0
aW9uKHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgY29uc3QgV2ViQmFja0ZvcndhcmRMaXN0SXRlbSYp
OwotICAgIFJldGFpblB0cjxXS05hdmlnYXRpb24+IGNyZWF0ZUxvYWRSZXF1ZXN0TmF2aWdhdGlv
bih1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIE5TVVJMUmVxdWVzdCAqKTsKLSAgICBSZXRhaW5QdHI8
V0tOYXZpZ2F0aW9uPiBjcmVhdGVSZWxvYWROYXZpZ2F0aW9uKHVpbnQ2NF90IG5hdmlnYXRpb25J
RCk7Ci0gICAgUmV0YWluUHRyPFdLTmF2aWdhdGlvbj4gY3JlYXRlTG9hZERhdGFOYXZpZ2F0aW9u
KHVpbnQ2NF90IG5hdmlnYXRpb25JRCk7CisgICAgUmVmPEFQSTo6TmF2aWdhdGlvbj4gY3JlYXRl
QmFja0ZvcndhcmROYXZpZ2F0aW9uKHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgY29uc3QgV2ViQmFj
a0ZvcndhcmRMaXN0SXRlbSYpOworICAgIFJlZjxBUEk6Ok5hdmlnYXRpb24+IGNyZWF0ZUxvYWRS
ZXF1ZXN0TmF2aWdhdGlvbih1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIE5TVVJMUmVxdWVzdCAqKTsK
KyAgICBSZWY8QVBJOjpOYXZpZ2F0aW9uPiBjcmVhdGVSZWxvYWROYXZpZ2F0aW9uKHVpbnQ2NF90
IG5hdmlnYXRpb25JRCk7CisgICAgUmVmPEFQSTo6TmF2aWdhdGlvbj4gY3JlYXRlTG9hZERhdGFO
YXZpZ2F0aW9uKHVpbnQ2NF90IG5hdmlnYXRpb25JRCk7CiAKICAgICAvLyBDYWxsZWQgYnkgdGhl
IHBhZ2UgY2xpZW50LgogICAgIHZvaWQgbmF2aWdhdGlvbkdlc3R1cmVEaWRCZWdpbigpOwpAQCAt
MTc0LDcgKzE3Nyw3IEBAIHByaXZhdGU6CiAjZW5kaWYKICAgICB9IG1fbmF2aWdhdGlvbkRlbGVn
YXRlTWV0aG9kczsKIAotICAgIEhhc2hNYXA8dWludDY0X3QsIFJldGFpblB0cjxXS05hdmlnYXRp
b24+PiBtX25hdmlnYXRpb25zOworICAgIEhhc2hNYXA8dWludDY0X3QsIFJlZlB0cjxBUEk6Ok5h
dmlnYXRpb24+PiBtX25hdmlnYXRpb25zOwogCiAgICAgV2Vha09iakNQdHI8aWQgPFdLSGlzdG9y
eURlbGVnYXRlUHJpdmF0ZT4gPiBtX2hpc3RvcnlEZWxlZ2F0ZTsKICAgICBzdHJ1Y3QgewpJbmRl
eDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRl
Lm1tCShyZXZpc2lvbiAxNzgxNzYpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2Ev
TmF2aWdhdGlvblN0YXRlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xNjQsNDcgKzE2NCw0NiBAQCB2
b2lkIE5hdmlnYXRpb25TdGF0ZTo6c2V0SGlzdG9yeURlbGVnYXRlCiAgICAgbV9oaXN0b3J5RGVs
ZWdhdGVNZXRob2RzLndlYlZpZXdEaWRVcGRhdGVIaXN0b3J5VGl0bGVGb3JVUkwgPSBbaGlzdG9y
eURlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6ZGlkVXBkYXRl
SGlzdG9yeVRpdGxlOmZvclVSTDopXTsKIH0KIAotUmV0YWluUHRyPFdLTmF2aWdhdGlvbj4gTmF2
aWdhdGlvblN0YXRlOjpjcmVhdGVMb2FkUmVxdWVzdE5hdmlnYXRpb24odWludDY0X3QgbmF2aWdh
dGlvbklELCBOU1VSTFJlcXVlc3QgKnJlcXVlc3QpCitSZWY8QVBJOjpOYXZpZ2F0aW9uPiBOYXZp
Z2F0aW9uU3RhdGU6OmNyZWF0ZUxvYWRSZXF1ZXN0TmF2aWdhdGlvbih1aW50NjRfdCBuYXZpZ2F0
aW9uSUQsIE5TVVJMUmVxdWVzdCAqcmVxdWVzdCkKIHsKICAgICBBU1NFUlQoIW1fbmF2aWdhdGlv
bnMuY29udGFpbnMobmF2aWdhdGlvbklEKSk7CiAKLSAgICBSZXRhaW5QdHI8V0tOYXZpZ2F0aW9u
PiBuYXZpZ2F0aW9uID0gYWRvcHROUyhbW1dLTmF2aWdhdGlvbiBhbGxvY10gaW5pdF0pOwotICAg
IG5hdmlnYXRpb24tPl9yZXF1ZXN0ID0gcmVxdWVzdDsKKyAgICBhdXRvIG5hdmlnYXRpb24gPSBB
UEk6Ok5hdmlnYXRpb246OmNyZWF0ZShXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QocmVxdWVzdCkp
OwogCi0gICAgbV9uYXZpZ2F0aW9ucy5zZXQobmF2aWdhdGlvbklELCBuYXZpZ2F0aW9uKTsKKyAg
ICBtX25hdmlnYXRpb25zLnNldChuYXZpZ2F0aW9uSUQsIG5hdmlnYXRpb24ucHRyKCkpOwogCiAg
ICAgcmV0dXJuIG5hdmlnYXRpb247CiB9CiAKLVJldGFpblB0cjxXS05hdmlnYXRpb24+IE5hdmln
YXRpb25TdGF0ZTo6Y3JlYXRlQmFja0ZvcndhcmROYXZpZ2F0aW9uKHVpbnQ2NF90IG5hdmlnYXRp
b25JRCwgY29uc3QgV2ViQmFja0ZvcndhcmRMaXN0SXRlbSYgaXRlbSkKK1JlZjxBUEk6Ok5hdmln
YXRpb24+IE5hdmlnYXRpb25TdGF0ZTo6Y3JlYXRlQmFja0ZvcndhcmROYXZpZ2F0aW9uKHVpbnQ2
NF90IG5hdmlnYXRpb25JRCwgY29uc3QgV2ViQmFja0ZvcndhcmRMaXN0SXRlbSYgaXRlbSkKIHsK
ICAgICBBU1NFUlQoIW1fbmF2aWdhdGlvbnMuY29udGFpbnMobmF2aWdhdGlvbklEKSk7CiAKLSAg
ICBhdXRvIG5hdmlnYXRpb24gPSBhZG9wdE5TKFtbV0tOYXZpZ2F0aW9uIGFsbG9jXSBpbml0XSk7
CisgICAgYXV0byBuYXZpZ2F0aW9uID0gQVBJOjpOYXZpZ2F0aW9uOjpjcmVhdGUoKTsKIAotICAg
IG1fbmF2aWdhdGlvbnMuc2V0KG5hdmlnYXRpb25JRCwgbmF2aWdhdGlvbik7CisgICAgbV9uYXZp
Z2F0aW9ucy5zZXQobmF2aWdhdGlvbklELCBuYXZpZ2F0aW9uLnB0cigpKTsKIAogICAgIHJldHVy
biBuYXZpZ2F0aW9uOwogfQogCi1SZXRhaW5QdHI8V0tOYXZpZ2F0aW9uPiBOYXZpZ2F0aW9uU3Rh
dGU6OmNyZWF0ZVJlbG9hZE5hdmlnYXRpb24odWludDY0X3QgbmF2aWdhdGlvbklEKQorUmVmPEFQ
STo6TmF2aWdhdGlvbj4gTmF2aWdhdGlvblN0YXRlOjpjcmVhdGVSZWxvYWROYXZpZ2F0aW9uKHVp
bnQ2NF90IG5hdmlnYXRpb25JRCkKIHsKICAgICBBU1NFUlQoIW1fbmF2aWdhdGlvbnMuY29udGFp
bnMobmF2aWdhdGlvbklEKSk7CiAKLSAgICBhdXRvIG5hdmlnYXRpb24gPSBhZG9wdE5TKFtbV0tO
YXZpZ2F0aW9uIGFsbG9jXSBpbml0XSk7CisgICAgYXV0byBuYXZpZ2F0aW9uID0gQVBJOjpOYXZp
Z2F0aW9uOjpjcmVhdGUoKTsKIAotICAgIG1fbmF2aWdhdGlvbnMuc2V0KG5hdmlnYXRpb25JRCwg
bmF2aWdhdGlvbik7CisgICAgbV9uYXZpZ2F0aW9ucy5zZXQobmF2aWdhdGlvbklELCBuYXZpZ2F0
aW9uLnB0cigpKTsKIAogICAgIHJldHVybiBuYXZpZ2F0aW9uOwogfQogCi1SZXRhaW5QdHI8V0tO
YXZpZ2F0aW9uPiBOYXZpZ2F0aW9uU3RhdGU6OmNyZWF0ZUxvYWREYXRhTmF2aWdhdGlvbih1aW50
NjRfdCBuYXZpZ2F0aW9uSUQpCitSZWY8QVBJOjpOYXZpZ2F0aW9uPiBOYXZpZ2F0aW9uU3RhdGU6
OmNyZWF0ZUxvYWREYXRhTmF2aWdhdGlvbih1aW50NjRfdCBuYXZpZ2F0aW9uSUQpCiB7CiAgICAg
QVNTRVJUKCFtX25hdmlnYXRpb25zLmNvbnRhaW5zKG5hdmlnYXRpb25JRCkpOwogCi0gICAgYXV0
byBuYXZpZ2F0aW9uID0gYWRvcHROUyhbW1dLTmF2aWdhdGlvbiBhbGxvY10gaW5pdF0pOworICAg
IGF1dG8gbmF2aWdhdGlvbiA9IEFQSTo6TmF2aWdhdGlvbjo6Y3JlYXRlKCk7CiAKLSAgICBtX25h
dmlnYXRpb25zLnNldChuYXZpZ2F0aW9uSUQsIG5hdmlnYXRpb24pOworICAgIG1fbmF2aWdhdGlv
bnMuc2V0KG5hdmlnYXRpb25JRCwgbmF2aWdhdGlvbi5wdHIoKSk7CiAKICAgICByZXR1cm4gbmF2
aWdhdGlvbjsKIH0KQEAgLTQyMyw3ICs0MjIsNyBAQCB2b2lkIE5hdmlnYXRpb25TdGF0ZTo6TG9h
ZGVyQ2xpZW50OjpkaWRTCiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBhc3NlcnQgdGhhdCBuYXZp
Z2F0aW9uSUQgaXMgbm90IHplcm8gaGVyZSwgYnV0IGl0J3MgY3VycmVudGx5IHplcm8gZm9yIHNv
bWUgbmF2aWdhdGlvbnMgdGhyb3VnaCB0aGUgcGFnZSBjYWNoZS4KICAgICBXS05hdmlnYXRpb24g
Km5hdmlnYXRpb24gPSBuaWw7CiAgICAgaWYgKG5hdmlnYXRpb25JRCkKLSAgICAgICAgbmF2aWdh
dGlvbiA9IG1fbmF2aWdhdGlvblN0YXRlLm1fbmF2aWdhdGlvbnMuZ2V0KG5hdmlnYXRpb25JRCku
Z2V0KCk7CisgICAgICAgIG5hdmlnYXRpb24gPSB3cmFwcGVyKCptX25hdmlnYXRpb25TdGF0ZS5t
X25hdmlnYXRpb25zLmdldChuYXZpZ2F0aW9uSUQpKTsKIAogICAgIFtuYXZpZ2F0aW9uRGVsZWdh
dGUgd2ViVmlldzptX25hdmlnYXRpb25TdGF0ZS5tX3dlYlZpZXcgZGlkU3RhcnRQcm92aXNpb25h
bE5hdmlnYXRpb246bmF2aWdhdGlvbl07CiB9CkBAIC00NDMsNyArNDQyLDcgQEAgdm9pZCBOYXZp
Z2F0aW9uU3RhdGU6OkxvYWRlckNsaWVudDo6ZGlkUgogICAgIC8vIEZJWE1FOiBXZSBzaG91bGQg
YXNzZXJ0IHRoYXQgbmF2aWdhdGlvbklEIGlzIG5vdCB6ZXJvIGhlcmUsIGJ1dCBpdCdzIGN1cnJl
bnRseSB6ZXJvIGZvciBzb21lIG5hdmlnYXRpb25zIHRocm91Z2ggdGhlIHBhZ2UgY2FjaGUuCiAg
ICAgV0tOYXZpZ2F0aW9uICpuYXZpZ2F0aW9uID0gbmlsOwogICAgIGlmIChuYXZpZ2F0aW9uSUQp
Ci0gICAgICAgIG5hdmlnYXRpb24gPSBtX25hdmlnYXRpb25TdGF0ZS5tX25hdmlnYXRpb25zLmdl
dChuYXZpZ2F0aW9uSUQpLmdldCgpOworICAgICAgICBuYXZpZ2F0aW9uID0gd3JhcHBlcigqbV9u
YXZpZ2F0aW9uU3RhdGUubV9uYXZpZ2F0aW9ucy5nZXQobmF2aWdhdGlvbklEKSk7CiAKICAgICBb
bmF2aWdhdGlvbkRlbGVnYXRlIHdlYlZpZXc6bV9uYXZpZ2F0aW9uU3RhdGUubV93ZWJWaWV3IGRp
ZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTmF2aWdhdGlvbjpuYXZpZ2F0aW9u
XTsKIH0KQEAgLTQ3OSw3ICs0NzgsNyBAQCB2b2lkIE5hdmlnYXRpb25TdGF0ZTo6TG9hZGVyQ2xp
ZW50OjpkaWRGCiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBhc3NlcnQgdGhhdCBuYXZpZ2F0aW9u
SUQgaXMgbm90IHplcm8gaGVyZSwgYnV0IGl0J3MgY3VycmVudGx5IHplcm8gZm9yIHNvbWUgbmF2
aWdhdGlvbnMgdGhyb3VnaCB0aGUgcGFnZSBjYWNoZS4KICAgICBSZXRhaW5QdHI8V0tOYXZpZ2F0
aW9uPiBuYXZpZ2F0aW9uOwogICAgIGlmIChuYXZpZ2F0aW9uSUQpCi0gICAgICAgIG5hdmlnYXRp
b24gPSBtX25hdmlnYXRpb25TdGF0ZS5tX25hdmlnYXRpb25zLnRha2UobmF2aWdhdGlvbklEKTsK
KyAgICAgICAgbmF2aWdhdGlvbiA9IHdyYXBwZXIoKm1fbmF2aWdhdGlvblN0YXRlLm1fbmF2aWdh
dGlvbnMudGFrZShuYXZpZ2F0aW9uSUQpKTsKIAogICAgIC8vIEZJWE1FOiBTZXQgdGhlIGVycm9y
IG9uIHRoZSBuYXZpZ2F0aW9uIG9iamVjdC4KIApAQCAtNTA5LDcgKzUwOCw3IEBAIHZvaWQgTmF2
aWdhdGlvblN0YXRlOjpMb2FkZXJDbGllbnQ6OmRpZEMKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxk
IGFzc2VydCB0aGF0IG5hdmlnYXRpb25JRCBpcyBub3QgemVybyBoZXJlLCBidXQgaXQncyBjdXJy
ZW50bHkgemVybyBmb3Igc29tZSBuYXZpZ2F0aW9ucyB0aHJvdWdoIHRoZSBwYWdlIGNhY2hlLgog
ICAgIFdLTmF2aWdhdGlvbiAqbmF2aWdhdGlvbiA9IG5pbDsKICAgICBpZiAobmF2aWdhdGlvbklE
KQotICAgICAgICBuYXZpZ2F0aW9uID0gbV9uYXZpZ2F0aW9uU3RhdGUubV9uYXZpZ2F0aW9ucy5n
ZXQobmF2aWdhdGlvbklEKS5nZXQoKTsKKyAgICAgICAgbmF2aWdhdGlvbiA9IHdyYXBwZXIoKm1f
bmF2aWdhdGlvblN0YXRlLm1fbmF2aWdhdGlvbnMuZ2V0KG5hdmlnYXRpb25JRCkpOwogCiAgICAg
W25hdmlnYXRpb25EZWxlZ2F0ZSB3ZWJWaWV3Om1fbmF2aWdhdGlvblN0YXRlLm1fd2ViVmlldyBk
aWRDb21taXROYXZpZ2F0aW9uOm5hdmlnYXRpb25dOwogfQpAQCAtNTI5LDcgKzUyOCw3IEBAIHZv
aWQgTmF2aWdhdGlvblN0YXRlOjpMb2FkZXJDbGllbnQ6OmRpZEYKICAgICAvLyBGSVhNRTogV2Ug
c2hvdWxkIGFzc2VydCB0aGF0IG5hdmlnYXRpb25JRCBpcyBub3QgemVybyBoZXJlLCBidXQgaXQn
cyBjdXJyZW50bHkgemVybyBmb3Igc29tZSBuYXZpZ2F0aW9ucyB0aHJvdWdoIHRoZSBwYWdlIGNh
Y2hlLgogICAgIFdLTmF2aWdhdGlvbiAqbmF2aWdhdGlvbiA9IG5pbDsKICAgICBpZiAobmF2aWdh
dGlvbklEKQotICAgICAgICBuYXZpZ2F0aW9uID0gbV9uYXZpZ2F0aW9uU3RhdGUubV9uYXZpZ2F0
aW9ucy5nZXQobmF2aWdhdGlvbklEKS5nZXQoKTsKKyAgICAgICAgbmF2aWdhdGlvbiA9IHdyYXBw
ZXIoKm1fbmF2aWdhdGlvblN0YXRlLm1fbmF2aWdhdGlvbnMuZ2V0KG5hdmlnYXRpb25JRCkpOwog
CiAgICAgW3N0YXRpY19jYXN0PGlkIDxXS05hdmlnYXRpb25EZWxlZ2F0ZVByaXZhdGU+PihuYXZp
Z2F0aW9uRGVsZWdhdGUuZ2V0KCkpIF93ZWJWaWV3Om1fbmF2aWdhdGlvblN0YXRlLm1fd2ViVmll
dyBuYXZpZ2F0aW9uRGlkRmluaXNoRG9jdW1lbnRMb2FkOm5hdmlnYXRpb25dOwogfQpAQCAtNTQ5
LDcgKzU0OCw3IEBAIHZvaWQgTmF2aWdhdGlvblN0YXRlOjpMb2FkZXJDbGllbnQ6OmRpZEYKICAg
ICAvLyBGSVhNRTogV2Ugc2hvdWxkIGFzc2VydCB0aGF0IG5hdmlnYXRpb25JRCBpcyBub3QgemVy
byBoZXJlLCBidXQgaXQncyBjdXJyZW50bHkgemVybyBmb3Igc29tZSBuYXZpZ2F0aW9ucyB0aHJv
dWdoIHRoZSBwYWdlIGNhY2hlLgogICAgIFdLTmF2aWdhdGlvbiAqbmF2aWdhdGlvbiA9IG5pbDsK
ICAgICBpZiAobmF2aWdhdGlvbklEKQotICAgICAgICBuYXZpZ2F0aW9uID0gbV9uYXZpZ2F0aW9u
U3RhdGUubV9uYXZpZ2F0aW9ucy5nZXQobmF2aWdhdGlvbklEKS5nZXQoKTsKKyAgICAgICAgbmF2
aWdhdGlvbiA9IHdyYXBwZXIoKm1fbmF2aWdhdGlvblN0YXRlLm1fbmF2aWdhdGlvbnMuZ2V0KG5h
dmlnYXRpb25JRCkpOwogCiAgICAgW25hdmlnYXRpb25EZWxlZ2F0ZSB3ZWJWaWV3Om1fbmF2aWdh
dGlvblN0YXRlLm1fd2ViVmlldyBkaWRGaW5pc2hOYXZpZ2F0aW9uOm5hdmlnYXRpb25dOwogfQpA
QCAtNTY5LDcgKzU2OCw3IEBAIHZvaWQgTmF2aWdhdGlvblN0YXRlOjpMb2FkZXJDbGllbnQ6OmRp
ZEYKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGFzc2VydCB0aGF0IG5hdmlnYXRpb25JRCBpcyBu
b3QgemVybyBoZXJlLCBidXQgaXQncyBjdXJyZW50bHkgemVybyBmb3Igc29tZSBuYXZpZ2F0aW9u
cyB0aHJvdWdoIHRoZSBwYWdlIGNhY2hlLgogICAgIFdLTmF2aWdhdGlvbiAqbmF2aWdhdGlvbiA9
IG5pbDsKICAgICBpZiAobmF2aWdhdGlvbklEKQotICAgICAgICBuYXZpZ2F0aW9uID0gbV9uYXZp
Z2F0aW9uU3RhdGUubV9uYXZpZ2F0aW9ucy5nZXQobmF2aWdhdGlvbklEKS5nZXQoKTsKKyAgICAg
ICAgbmF2aWdhdGlvbiA9IHdyYXBwZXIoKm1fbmF2aWdhdGlvblN0YXRlLm1fbmF2aWdhdGlvbnMu
Z2V0KG5hdmlnYXRpb25JRCkpOwogCiAgICAgYXV0byBlcnJvcldpdGhSZWNvdmVyeUF0dGVtcHRl
ciA9IGNyZWF0ZUVycm9yV2l0aFJlY292ZXJ5QXR0ZW1wdGVyKG1fbmF2aWdhdGlvblN0YXRlLm1f
d2ViVmlldywgKndlYkZyYW1lUHJveHksIGVycm9yKTsKICAgICBbbmF2aWdhdGlvbkRlbGVnYXRl
IHdlYlZpZXc6bV9uYXZpZ2F0aW9uU3RhdGUubV93ZWJWaWV3IGRpZEZhaWxOYXZpZ2F0aW9uOm5h
dmlnYXRpb24gd2l0aEVycm9yOmVycm9yV2l0aFJlY292ZXJ5QXR0ZW1wdGVyLmdldCgpXTsKQEAg
LTU5MCw3ICs1ODksNyBAQCB2b2lkIE5hdmlnYXRpb25TdGF0ZTo6TG9hZGVyQ2xpZW50OjpkaWRT
CiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBhc3NlcnQgdGhhdCBuYXZpZ2F0aW9uSUQgaXMgbm90
IHplcm8gaGVyZSwgYnV0IGl0J3MgY3VycmVudGx5IHplcm8gZm9yIHNvbWUgbmF2aWdhdGlvbnMg
dGhyb3VnaCB0aGUgcGFnZSBjYWNoZS4KICAgICBXS05hdmlnYXRpb24gKm5hdmlnYXRpb24gPSBu
aWw7CiAgICAgaWYgKG5hdmlnYXRpb25JRCkKLSAgICAgICAgbmF2aWdhdGlvbiA9IG1fbmF2aWdh
dGlvblN0YXRlLm1fbmF2aWdhdGlvbnMuZ2V0KG5hdmlnYXRpb25JRCkuZ2V0KCk7CisgICAgICAg
IG5hdmlnYXRpb24gPSB3cmFwcGVyKCptX25hdmlnYXRpb25TdGF0ZS5tX25hdmlnYXRpb25zLmdl
dChuYXZpZ2F0aW9uSUQpKTsKIAogICAgIFtzdGF0aWNfY2FzdDxpZCA8V0tOYXZpZ2F0aW9uRGVs
ZWdhdGVQcml2YXRlPj4obmF2aWdhdGlvbkRlbGVnYXRlLmdldCgpKSBfd2ViVmlldzptX25hdmln
YXRpb25TdGF0ZS5tX3dlYlZpZXcgbmF2aWdhdGlvbjpuYXZpZ2F0aW9uIGRpZFNhbWVEb2N1bWVu
dE5hdmlnYXRpb246dG9XS1NhbWVEb2N1bWVudE5hdmlnYXRpb25UeXBlKG5hdmlnYXRpb25UeXBl
KV07CiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCShyZXZpc2lvbiAxNzgxNzYpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQy
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTEwNzcsNiArMTA3
Nyw4IEBACiAJCTdDQjE2RkY0MTcyNEJBMzAwMDdBMEE5NSAvKiBjb20ub3JhY2xlLmphdmEuSmF2
YUFwcGxldFBsdWdpbi5zYiBpbiBDb3B5IFBsdWctaW4gU2FuZGJveCBQcm9maWxlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0IxNkZFNzE3MjRCOUI1MDA3QTBBOTUgLyog
Y29tLm9yYWNsZS5qYXZhLkphdmFBcHBsZXRQbHVnaW4uc2IgKi87IH07CiAJCTdDQzk5QTM2MThF
RjdDQkMwMDQ4QzhCNCAvKiBXS1NjcmlwdE1lc3NhZ2VJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NDOTlBMzUxOEVGN0NCQzAwNDhDOEI0
IC8qIFdLU2NyaXB0TWVzc2FnZUludGVybmFsLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0NEMTAyREExODY2NzcwNjAwRUQ0MjlEIC8qIEF1dG9D
b3JyZWN0aW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDdDRDEwMkQ5MTg2Njc3MDYwMEVENDI5RCAvKiBBdXRvQ29ycmVjdGlvbkNhbGxi
YWNrLmggKi87IH07CisJCTdDRDNBNDgyMUE1RDAyRkEwMDk2MjNCOCAvKiBBUElOYXZpZ2F0aW9u
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDRDNB
NDgwMUE1RDAyRkEwMDk2MjNCOCAvKiBBUElOYXZpZ2F0aW9uLmNwcCAqLzsgfTsKKwkJN0NEM0E0
ODMxQTVEMDJGQTAwOTYyM0I4IC8qIEFQSU5hdmlnYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDRDNBNDgxMUE1RDAyRkEwMDk2MjNCOCAvKiBB
UElOYXZpZ2F0aW9uLmggKi87IH07CiAJCTdDRDVFQkI4MTc0NkExNUIwMDBDMUM0NSAvKiBXS09i
akNUeXBlV3JhcHBlclJlZi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDdDRDVFQkI2MTc0NkExNUIwMDBDMUM0NSAvKiBXS09iakNUeXBlV3JhcHBlclJl
Zi5tbSAqLzsgfTsKIAkJN0NENUVCQjkxNzQ2QTE1QjAwMEMxQzQ1IC8qIFdLT2JqQ1R5cGVXcmFw
cGVyUmVmLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
Q0Q1RUJCNzE3NDZBMTVCMDAwQzFDNDUgLyogV0tPYmpDVHlwZVdyYXBwZXJSZWYuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3Q0Q1RUJCQjE3NDZB
ODNFMDAwQzFDNDUgLyogV0tCYXNlTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3Q0Q1RUJCQTE3NDZBODNFMDAwQzFDNDUgLyogV0tCYXNlTWFjLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTMxNzcs
NiArMzE3OSw4IEBACiAJCTdDQjE2RkU3MTcyNEI5QjUwMDdBMEE5NSAvKiBjb20ub3JhY2xlLmph
dmEuSmF2YUFwcGxldFBsdWdpbi5zYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBjb20ub3JhY2xl
LmphdmEuSmF2YUFwcGxldFBsdWdpbi5zYjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
N0NDOTlBMzUxOEVGN0NCQzAwNDhDOEI0IC8qIFdLU2NyaXB0TWVzc2FnZUludGVybmFsLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLU2NyaXB0TWVzc2FnZUludGVybmFsLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDRDEwMkQ5MTg2Njc3MDYwMEVENDI5RCAv
KiBBdXRvQ29ycmVjdGlvbkNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEF1dG9Db3JyZWN0aW9uQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJN0NEM0E0ODAxQTVEMDJGQTAwOTYyM0I4IC8qIEFQSU5hdmlnYXRpb24uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQVBJTmF2aWdhdGlvbi5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTdDRDNBNDgxMUE1RDAyRkEwMDk2MjNCOCAvKiBBUElOYXZp
Z2F0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFQSU5hdmlnYXRpb24u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0NENUVCQjYxNzQ2QTE1QjAwMEMxQzQ1
IC8qIFdLT2JqQ1R5cGVXcmFwcGVyUmVmLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gV0tPYmpDVHlwZVdyYXBwZXJSZWYubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTdDRDVFQkI3MTc0NkExNUIwMDBDMUM0NSAvKiBXS09iakNUeXBlV3JhcHBlclJl
Zi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS09iakNUeXBlV3JhcHBlclJl
Zi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3Q0Q1RUJCQTE3NDZBODNFMDAwQzFD
NDUgLyogV0tCYXNlTWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLQmFz
ZU1hYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNjA0NSw2ICs2MDQ5LDggQEAK
IAkJCQkxQTRENjY0NzE4QTJEOTFBMDBEODJFMjEgLyogQVBJVUlDbGllbnQuaCAqLywKIAkJCQkx
QTM2MzVBNzFBMzE0NEEzMDBFRDYxOTcgLyogQVBJV2Vic2l0ZURhdGFTdG9yZS5jcHAgKi8sCiAJ
CQkJMUEzNjM1QTgxQTMxNDRBMzAwRUQ2MTk3IC8qIEFQSVdlYnNpdGVEYXRhU3RvcmUuaCAqLywK
KwkJCQk3Q0QzQTQ4MDFBNUQwMkZBMDA5NjIzQjggLyogQVBJTmF2aWdhdGlvbi5jcHAgKi8sCisJ
CQkJN0NEM0E0ODExQTVEMDJGQTAwOTYyM0I4IC8qIEFQSU5hdmlnYXRpb24uaCAqLywKIAkJCSk7
CiAJCQlwYXRoID0gQVBJOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTczMTcsNiAr
NzMyMyw3IEBACiAJCQkJQzU5QzRBNTkxOEI4MTE3NDAwN0JEQ0I2IC8qIEFzc2lzdGVkTm9kZUlu
Zm9ybWF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTVFNzcyODE4M0RENkY2MDAwNzIwM0Yg
LyogQXN5bmNSZXF1ZXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUJBMjQ0NDE4NThFRTMwMDBF
QTI4MTEgLyogQXN5bmNUYXNrLmggaW4gSGVhZGVycyAqLywKKwkJCQk3Q0QzQTQ4MzFBNUQwMkZB
MDA5NjIzQjggLyogQVBJTmF2aWdhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNFRTk2NkQx
MTJGQUY1NzAwNkJDQzI0IC8qIEF0dGFjaG1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxQTMx
NzMyMTM0Q0VBNkMwMDdDOUE0RiAvKiBBdHRyaWJ1dGVkU3RyaW5nLmggaW4gSGVhZGVycyAqLywK
IAkJCQk1MTJGNTg5NzEyQTg4Mzg4MDA2Mjk1MzAgLyogQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQ
cm94eS5oIGluIEhlYWRlcnMgKi8sCkBAIC05MTIyLDYgKzkxMjksNyBAQAogCQkJCUMwRTNBQTdB
MTIwOUU4MzAwMEE0OUQwMSAvKiBNb2R1bGVDRi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyREE5
NDQ5RTE4ODRFNEYwMDBFRDg2REIgLyogTmF0aXZlV2ViS2V5Ym9hcmRFdmVudElPUy5tbSBpbiBT
b3VyY2VzICovLAogCQkJCUMwMkJGRjFFMTI1MTUwMkUwMDlDQ0JFQSAvKiBOYXRpdmVXZWJLZXli
b2FyZEV2ZW50TWFjLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJN0NEM0E0ODIxQTVEMDJGQTAwOTYy
M0I4IC8qIEFQSU5hdmlnYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzFFQTI1RDIxMzRG
NzhDMDAwNUIxNDUyIC8qIE5hdGl2ZVdlYk1vdXNlRXZlbnRNYWMubW0gaW4gU291cmNlcyAqLywK
IAkJCQkyREE5NDQ5RjE4ODRFNEYwMDBFRDg2REIgLyogTmF0aXZlV2ViVG91Y2hFdmVudElPUy5t
bSBpbiBTb3VyY2VzICovLAogCQkJCURGNThDNjM2MTM3MUFDQTAwMEY5QTM3QyAvKiBOYXRpdmVX
ZWJXaGVlbEV2ZW50TWFjLm1tIGluIFNvdXJjZXMgKi8sCg==
</data>
<flag name="review"
          id="269287"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>