From: Sangil Jung Date: 2012-05-22T14:14:30+09:00 Subject: [ruby-core:45175] [PATCH] Add HTTP status codes from RFC 6585 --000e0cd1e08297cf8204c09917cc Content-Type: multipart/alternative; boundary=000e0cd1e08297cf7c04c09917ca --000e0cd1e08297cf7c04c09917ca Content-Type: text/plain; charset=UTF-8 Hi, Matz and rubyists. I attach a patch that contains additional HTTP status codes from RFC 6585 - http://tools.ietf.org/html/rfc6585. * lib/net/http.rb : add HTTP status codes from RFC 6585. * lib/webrick/httpstatus.rb : add HTTP status codes from RFC 6585. It's simple, isn't it? Thanks. -- ---------------------------------------- Sangil Jung. +82.10.6402-4639 http://humbroll.com Index: lib/webrick/httpstatus.rb =================================================================== --- lib/webrick/httpstatus.rb (revision 35666) +++ lib/webrick/httpstatus.rb (working copy) @@ -88,12 +88,16 @@ 415 => 'Unsupported Media Type', 416 => 'Request Range Not Satisfiable', 417 => 'Expectation Failed', + 428 => 'Precondition Required', + 429 => 'Too Many Requests', + 431 => 'Request Header Fields Too Large', 500 => 'Internal Server Error', 501 => 'Not Implemented', 502 => 'Bad Gateway', 503 => 'Service Unavailable', 504 => 'Gateway Timeout', - 505 => 'HTTP Version Not Supported' + 505 => 'HTTP Version Not Supported', + 511 => 'Network Authentication Required' } # Maps a status code to the corresponding Status class Index: lib/net/http.rb =================================================================== --- lib/net/http.rb (revision 35666) +++ lib/net/http.rb (working copy) @@ -347,6 +347,9 @@ # HTTPUnsupportedMediaType:: 415 # HTTPRequestedRangeNotSatisfiable:: 416 # HTTPExpectationFailed:: 417 + # HTTPPreconditionRequired:: 428 + # HTTPTooManyRequests:: 429 + # HTTPRequestHeaderFieldsTooLarge:: 431 # HTTPServerError:: 5xx # HTTPInternalServerError:: 500 # HTTPNotImplemented:: 501 @@ -354,6 +357,7 @@ # HTTPServiceUnavailable:: 503 # HTTPGatewayTimeOut:: 504 # HTTPVersionNotSupported:: 505 + # HTTPNetworkAuthenticationRequired:: 511 # # There is also the Net::HTTPBadResponse exception which is raised when # there is a protocol error. @@ -2387,6 +2391,9 @@ # 415 HTTPUnsupportedMediaType # 416 HTTPRequestedRangeNotSatisfiable # 417 HTTPExpectationFailed + # 428 HTTPPreconditionRequired + # 429 HTTPTooManyRequests + # 431 HTTPRequestHeaderFieldsTooLarge # # 5xx HTTPServerError # 500 HTTPInternalServerError @@ -2395,6 +2402,7 @@ # 503 HTTPServiceUnavailable # 504 HTTPGatewayTimeOut # 505 HTTPVersionNotSupported + # 511 HTTPNetworkAuthenticationRequired # # xxx HTTPUnknownResponse # @@ -2544,25 +2552,37 @@ class HTTPExpectationFailed < HTTPClientError # 417 HAS_BODY = true end + class HTTPPreconditionRequired < HTTPClientError # 428 + HAS_BODY = true + end + class HTTPTooManyRequests < HTTPClientError # 429 + HAS_BODY = true + end + class HTTPRequestHeaderFieldsTooLarge < HTTPClientError # 431 + HAS_BODY = true + end - class HTTPInternalServerError < HTTPServerError # 500 + class HTTPInternalServerError < HTTPServerError # 500 HAS_BODY = true end - class HTTPNotImplemented < HTTPServerError # 501 + class HTTPNotImplemented < HTTPServerError # 501 HAS_BODY = true end - class HTTPBadGateway < HTTPServerError # 502 + class HTTPBadGateway < HTTPServerError # 502 HAS_BODY = true end - class HTTPServiceUnavailable < HTTPServerError # 503 + class HTTPServiceUnavailable < HTTPServerError # 503 HAS_BODY = true end - class HTTPGatewayTimeOut < HTTPServerError # 504 + class HTTPGatewayTimeOut < HTTPServerError # 504 HAS_BODY = true end - class HTTPVersionNotSupported < HTTPServerError # 505 + class HTTPVersionNotSupported < HTTPServerError # 505 HAS_BODY = true end + class HTTPNetworkAuthenticationRequired < HTTPServerError # 511 + HAS_BODY = true + end # :startdoc: @@ -2614,13 +2634,17 @@ '415' => HTTPUnsupportedMediaType, '416' => HTTPRequestedRangeNotSatisfiable, '417' => HTTPExpectationFailed, + '428' => HTTPPreconditionRequired, + '429' => HTTPTooManyRequests, + '431' => HTTPRequestHeaderFieldsTooLarge, '500' => HTTPInternalServerError, '501' => HTTPNotImplemented, '502' => HTTPBadGateway, '503' => HTTPServiceUnavailable, '504' => HTTPGatewayTimeOut, - '505' => HTTPVersionNotSupported + '505' => HTTPVersionNotSupported, + '511' => HTTPNetworkAuthenticationRequired } class << HTTPResponse -- ---------------------------------------- Sangil Jung. +82.10.6402-4639 http://humbroll.com --000e0cd1e08297cf7c04c09917ca Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi, Matz and rubyists.=C2=A0
I at= tach a patch that contains additional HTTP status codes from RFC 6585 -=C2= =A0http://= tools.ietf.org/html/rfc6585.

* lib/net/http.rb : add HTTP status codes from RFC 6585.
* l= ib/webrick/httpstatus.rb : add HTTP status codes from RFC 6585.
=

It's simple, isn't it?
Thanks.
--=C2=A0
----------------------------------------
Sangil Jung.
+82.10.6402-4639=C2=A0
http://humbroll.com




Index: lib/webrick/httpstatus.rb
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- lib/we= brick/httpstatus.rb (revision 3= 5666)
+++ lib/webrick/httpstatus.rb (working copy)
@@ -88,12 +88,16 @@
=C2=A0 =C2=A0 = =C2=A0 =C2=A0415 =3D> 'Unsupported Media Type',
=C2=A0= =C2=A0 =C2=A0 =C2=A0416 =3D> 'Request Range Not Satisfiable',
=C2=A0 =C2=A0 =C2=A0 =C2=A0417 =3D> 'Expectation Failed',
+ =C2=A0 =C2=A0 =C2=A0428 =3D> 'Precondition Required',=
+ =C2=A0 =C2=A0 =C2=A0429 =3D> 'Too Many Requests',
+ =C2=A0 =C2=A0 =C2=A0431 =3D> 'Request Header Fields Too L= arge',
=C2=A0 =C2=A0 =C2=A0 =C2=A0500 =3D> 'Internal Server Error'= ,
=C2=A0 =C2=A0 =C2=A0 =C2=A0501 =3D> 'Not Implemented'= ;,
=C2=A0 =C2=A0 =C2=A0 =C2=A0502 =3D> 'Bad Gateway',<= /div>
=C2=A0 =C2=A0 =C2=A0 =C2=A0503 =3D> 'Service Unavailable&#= 39;,
=C2=A0 =C2=A0 =C2=A0 =C2=A0504 =3D> 'Gateway Timeout',
- =C2=A0 =C2=A0 =C2=A0505 =3D> 'HTTP Version Not Supported'= ;
+ =C2=A0 =C2=A0 =C2=A0505 =3D> 'HTTP Version Not Support= ed',
+ =C2=A0 =C2=A0 =C2=A0511 =3D> 'Network Authentic= ation Required'
=C2=A0 =C2=A0 =C2=A0}
=C2=A0
=C2=A0 =C2=A0 =C2=A0#= Maps a status code to the corresponding Status class
Index: lib/= net/http.rb
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
--- lib/net/http.rb = (revision 35666)
+++ lib/net/http.rb (worki= ng copy)
@@ -347,6 +347,9 @@
=C2=A0 =C2=A0# =C2=A0 HTTP= UnsupportedMediaType:: =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0415
=C2=A0 =C2=A0# =C2=A0 HTTPRequestedRangeNotSatisfiable:: =C2=A0 =C2=A041= 6
=C2=A0 =C2=A0# =C2=A0 HTTPExpectationFailed:: =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 417
+ =C2=A0# =C2=A0 HTTPPreconditionReq= uired:: =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0428
+ =C2=A0# = =C2=A0 HTTPTooManyRequests:: =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 429
+ =C2=A0# =C2=A0 HTTPRequestHeaderFieldsTooLarge::= =C2=A0 =C2=A0 431
=C2=A0 =C2=A0# HTTPServerError:: =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A05xx
=C2=A0 =C2=A0# =C2=A0 HTTPI= nternalServerError:: =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 500
=C2=A0 =C2=A0# =C2=A0 HTTPNotImplemented:: =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0501
@@ -354,6 +357,7 @@
=C2=A0 =C2=A0# =C2=A0 HTTPServiceUnavailable:: =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0503
=C2=A0 =C2=A0# =C2=A0 HTTPGatewayTimeOut:: =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0504
=C2=A0 =C2=A0# =C2=A0 HTTP= VersionNotSupported:: =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 505
+ =C2=A0# =C2=A0 HTTPNetworkAuthenticationRequired:: =C2=A0 511
=C2=A0 =C2=A0#
=C2=A0 =C2=A0# There is also the Net::HTTPBadRes= ponse exception which is raised when
=C2=A0 =C2=A0# there is a protocol error.
@@ -2387,6 +2391,9= @@
=C2=A0 =C2=A0# =C2=A0 =C2=A0 =C2=A0 415 =C2=A0 =C2=A0 =C2=A0 = =C2=A0HTTPUnsupportedMediaType
=C2=A0 =C2=A0# =C2=A0 =C2=A0 =C2= =A0 416 =C2=A0 =C2=A0 =C2=A0 =C2=A0HTTPRequestedRangeNotSatisfiable
=C2=A0 =C2=A0# =C2=A0 =C2=A0 =C2=A0 417 =C2=A0 =C2=A0 =C2=A0 =C2=A0HTTPE= xpectationFailed
+ =C2=A0# =C2=A0 =C2=A0 =C2=A0 428 =C2=A0 =C2=A0 =C2=A0 =C2=A0HTTPPrec= onditionRequired
+ =C2=A0# =C2=A0 =C2=A0 =C2=A0 429 =C2=A0 =C2=A0= =C2=A0 =C2=A0HTTPTooManyRequests
+ =C2=A0# =C2=A0 =C2=A0 =C2=A0 = 431 =C2=A0 =C2=A0 =C2=A0 =C2=A0HTTPRequestHeaderFieldsTooLarge
= =C2=A0 =C2=A0#
=C2=A0 =C2=A0# =C2=A0 =C2=A0 5xx =C2=A0 =C2=A0 =C2= =A0 =C2=A0HTTPServerError
=C2=A0 =C2=A0# =C2=A0 =C2=A0 =C2=A0 500 =C2=A0 =C2=A0 =C2=A0 =C2=A0HTT= PInternalServerError
@@ -2395,6 +2402,7 @@
=C2=A0 =C2= =A0# =C2=A0 =C2=A0 =C2=A0 503 =C2=A0 =C2=A0 =C2=A0 =C2=A0HTTPServiceUnavail= able
=C2=A0 =C2=A0# =C2=A0 =C2=A0 =C2=A0 504 =C2=A0 =C2=A0 =C2=A0= =C2=A0HTTPGatewayTimeOut
=C2=A0 =C2=A0# =C2=A0 =C2=A0 =C2=A0 505= =C2=A0 =C2=A0 =C2=A0 =C2=A0HTTPVersionNotSupported
+ =C2=A0# =C2=A0 =C2=A0 =C2=A0 511 =C2=A0 =C2=A0 =C2=A0 =C2=A0HTTPNetw= orkAuthenticationRequired
=C2=A0 =C2=A0#
=C2=A0 =C2=A0#= =C2=A0 =C2=A0 xxx =C2=A0 =C2=A0 =C2=A0 =C2=A0HTTPUnknownResponse
=C2=A0 =C2=A0#
@@ -2544,25 +2552,37 @@
=C2=A0 =C2=A0cl= ass HTTPExpectationFailed < HTTPClientError =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 # 417
=C2=A0 =C2=A0 =C2=A0HAS_BODY =3D true
=C2=A0 =C2=A0end
=
+ =C2=A0class HTTPPreconditionRequired < HTTPClientError =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0# 428
+ =C2=A0 =C2=A0HAS_BODY =3D true
+ =C2=A0end
+ =C2=A0class HTTPTooManyRequests < HTTPCl= ientError =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 # 429
+ =C2=A0 =C2=A0HAS_BODY =3D true
+ =C2=A0end
+ =C2= =A0class HTTPRequestHeaderFieldsTooLarge < HTTPClientError =C2=A0 # 431<= /div>
+ =C2=A0 =C2=A0HAS_BODY =3D true
+ =C2=A0end
= =C2=A0
- =C2=A0class HTTPInternalServerError < HTTPServerError= =C2=A0 # 500
+ =C2=A0class HTTPInternalServerError < HTTPServerError =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 # 500
=C2=A0 =C2=A0 =C2=A0HAS_BODY =3D t= rue
=C2=A0 =C2=A0end
- =C2=A0class HTTPNotImplemented &= lt; HTTPServerError =C2=A0 =C2=A0 =C2=A0 =C2=A0# 501
+ =C2=A0clas= s HTTPNotImplemented < HTTPServerError =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0# 501
=C2=A0 =C2=A0 =C2=A0HAS_BODY =3D true
=C2=A0 =C2=A0end
=
- =C2=A0class HTTPBadGateway < HTTPServerError =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0# 502
+ =C2=A0class HTTPBadGateway < HTTP= ServerError =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0# 502
=C2=A0 =C2=A0 =C2=A0HAS_BODY =3D true
=C2=A0 =C2=A0end
- =C2=A0class HTTPServiceUnavailable < H= TTPServerError =C2=A0 =C2=A0# 503
+ =C2=A0class HTTPServiceUnavai= lable < HTTPServerError =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0# 503
=C2=A0 =C2=A0 =C2=A0HAS_BODY =3D true
=C2=A0 =C2=A0end
- =C2=A0class HTTPGatewayTimeOut < HTTPServerError =C2=A0 =C2=A0 =C2=A0 = =C2=A0# 504
+ =C2=A0class HTTPGatewayTimeOut < HTTPServerError= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0# 504
=C2= =A0 =C2=A0 =C2=A0HAS_BODY =3D true
=C2=A0 =C2=A0end
- = =C2=A0class HTTPVersionNotSupported < HTTPServerError =C2=A0 # 505
+ =C2=A0class HTTPVersionNotSupported < HTTPServerError =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 # 505
=C2=A0 =C2=A0 =C2=A0HAS_BODY =3D t= rue
=C2=A0 =C2=A0end
+ =C2=A0class HTTPNetworkAuthentic= ationRequired < HTTPServerError # 511
+ =C2=A0 =C2=A0HAS_BODY = =3D true
+ =C2=A0end
=C2=A0
=C2=A0 =C2=A0# :startdoc:
=
=C2=A0
@@ -2614,13 +2634,17 @@
=C2=A0 =C2=A0 =C2= =A0 =C2=A0'415' =3D> HTTPUnsupportedMediaType,
=C2=A0 = =C2=A0 =C2=A0 =C2=A0'416' =3D> HTTPRequestedRangeNotSatisfiable,=
=C2=A0 =C2=A0 =C2=A0 =C2=A0'417' =3D> HTTPExpectationFailed= ,
+ =C2=A0 =C2=A0 =C2=A0'428' =3D> HTTPPreconditionReq= uired,
+ =C2=A0 =C2=A0 =C2=A0'429' =3D> HTTPTooManyReq= uests,
+ =C2=A0 =C2=A0 =C2=A0'431' =3D> HTTPRequestHea= derFieldsTooLarge,
=C2=A0
=C2=A0 =C2=A0 =C2=A0 =C2=A0'500' =3D> HTTP= InternalServerError,
=C2=A0 =C2=A0 =C2=A0 =C2=A0'501' =3D= > HTTPNotImplemented,
=C2=A0 =C2=A0 =C2=A0 =C2=A0'502'= =3D> HTTPBadGateway,
=C2=A0 =C2=A0 =C2=A0 =C2=A0'503'= =3D> HTTPServiceUnavailable,
=C2=A0 =C2=A0 =C2=A0 =C2=A0'504' =3D> HTTPGatewayTimeOut,
- =C2=A0 =C2=A0 =C2=A0'505' =3D> HTTPVersionNotSupporte= d
+ =C2=A0 =C2=A0 =C2=A0'505' =3D> HTTPVersionNotSuppo= rted,
+ =C2=A0 =C2=A0 =C2=A0'511' =3D> HTTPNetworkAuth= enticationRequired
=C2=A0 =C2=A0 =C2=A0}
=C2=A0
=C2=A0 =C2=A0 =C2=A0c= lass << HTTPResponse






--
-------------------------= ---------------
Sangil Jung.

+82.10.6402-4639
http://humbroll.com
--000e0cd1e08297cf7c04c09917ca-- --000e0cd1e08297cf8204c09917cc Content-Type: application/octet-stream; name="additional_http_status_code_from_rfc_6585.patch" Content-Disposition: attachment; filename="additional_http_status_code_from_rfc_6585.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h2abh22r0 SW5kZXg6IGxpYi93ZWJyaWNrL2h0dHBzdGF0dXMucmIKPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gbGliL3dlYnJp Y2svaHR0cHN0YXR1cy5yYgkocmV2aXNpb24gMzU2NjYpCisrKyBsaWIvd2Vicmljay9odHRwc3Rh dHVzLnJiCSh3b3JraW5nIGNvcHkpCkBAIC04OCwxMiArODgsMTYgQEAKICAgICAgIDQxNSA9PiAn VW5zdXBwb3J0ZWQgTWVkaWEgVHlwZScsCiAgICAgICA0MTYgPT4gJ1JlcXVlc3QgUmFuZ2UgTm90 IFNhdGlzZmlhYmxlJywKICAgICAgIDQxNyA9PiAnRXhwZWN0YXRpb24gRmFpbGVkJywKKyAgICAg IDQyOCA9PiAnUHJlY29uZGl0aW9uIFJlcXVpcmVkJywKKyAgICAgIDQyOSA9PiAnVG9vIE1hbnkg UmVxdWVzdHMnLAorICAgICAgNDMxID0+ICdSZXF1ZXN0IEhlYWRlciBGaWVsZHMgVG9vIExhcmdl JywKICAgICAgIDUwMCA9PiAnSW50ZXJuYWwgU2VydmVyIEVycm9yJywKICAgICAgIDUwMSA9PiAn Tm90IEltcGxlbWVudGVkJywKICAgICAgIDUwMiA9PiAnQmFkIEdhdGV3YXknLAogICAgICAgNTAz ID0+ICdTZXJ2aWNlIFVuYXZhaWxhYmxlJywKICAgICAgIDUwNCA9PiAnR2F0ZXdheSBUaW1lb3V0 JywKLSAgICAgIDUwNSA9PiAnSFRUUCBWZXJzaW9uIE5vdCBTdXBwb3J0ZWQnCisgICAgICA1MDUg PT4gJ0hUVFAgVmVyc2lvbiBOb3QgU3VwcG9ydGVkJywKKyAgICAgIDUxMSA9PiAnTmV0d29yayBB dXRoZW50aWNhdGlvbiBSZXF1aXJlZCcKICAgICB9CiAKICAgICAjIE1hcHMgYSBzdGF0dXMgY29k ZSB0byB0aGUgY29ycmVzcG9uZGluZyBTdGF0dXMgY2xhc3MKSW5kZXg6IGxpYi9uZXQvaHR0cC5y Ygo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLSBsaWIvbmV0L2h0dHAucmIJKHJldmlzaW9uIDM1NjY2KQorKysgbGli L25ldC9odHRwLnJiCSh3b3JraW5nIGNvcHkpCkBAIC0zNDcsNiArMzQ3LDkgQEAKICAgIyAgIEhU VFBVbnN1cHBvcnRlZE1lZGlhVHlwZTo6ICAgICAgICAgICAgNDE1CiAgICMgICBIVFRQUmVxdWVz dGVkUmFuZ2VOb3RTYXRpc2ZpYWJsZTo6ICAgIDQxNgogICAjICAgSFRUUEV4cGVjdGF0aW9uRmFp bGVkOjogICAgICAgICAgICAgICA0MTcKKyAgIyAgIEhUVFBQcmVjb25kaXRpb25SZXF1aXJlZDo6 ICAgICAgICAgICAgNDI4CisgICMgICBIVFRQVG9vTWFueVJlcXVlc3RzOjogICAgICAgICAgICAg ICAgIDQyOQorICAjICAgSFRUUFJlcXVlc3RIZWFkZXJGaWVsZHNUb29MYXJnZTo6ICAgICA0MzEK ICAgIyBIVFRQU2VydmVyRXJyb3I6OiAgICAgICAgICAgICAgICAgICAgNXh4CiAgICMgICBIVFRQ SW50ZXJuYWxTZXJ2ZXJFcnJvcjo6ICAgICAgICAgICAgIDUwMAogICAjICAgSFRUUE5vdEltcGxl bWVudGVkOjogICAgICAgICAgICAgICAgICA1MDEKQEAgLTM1NCw2ICszNTcsNyBAQAogICAjICAg SFRUUFNlcnZpY2VVbmF2YWlsYWJsZTo6ICAgICAgICAgICAgICA1MDMKICAgIyAgIEhUVFBHYXRl d2F5VGltZU91dDo6ICAgICAgICAgICAgICAgICAgNTA0CiAgICMgICBIVFRQVmVyc2lvbk5vdFN1 cHBvcnRlZDo6ICAgICAgICAgICAgIDUwNQorICAjICAgSFRUUE5ldHdvcmtBdXRoZW50aWNhdGlv blJlcXVpcmVkOjogICA1MTEKICAgIwogICAjIFRoZXJlIGlzIGFsc28gdGhlIE5ldDo6SFRUUEJh ZFJlc3BvbnNlIGV4Y2VwdGlvbiB3aGljaCBpcyByYWlzZWQgd2hlbgogICAjIHRoZXJlIGlzIGEg cHJvdG9jb2wgZXJyb3IuCkBAIC0yMzg3LDYgKzIzOTEsOSBAQAogICAjICAgICAgIDQxNSAgICAg ICAgSFRUUFVuc3VwcG9ydGVkTWVkaWFUeXBlCiAgICMgICAgICAgNDE2ICAgICAgICBIVFRQUmVx dWVzdGVkUmFuZ2VOb3RTYXRpc2ZpYWJsZQogICAjICAgICAgIDQxNyAgICAgICAgSFRUUEV4cGVj dGF0aW9uRmFpbGVkCisgICMgICAgICAgNDI4ICAgICAgICBIVFRQUHJlY29uZGl0aW9uUmVxdWly ZWQKKyAgIyAgICAgICA0MjkgICAgICAgIEhUVFBUb29NYW55UmVxdWVzdHMKKyAgIyAgICAgICA0 MzEgICAgICAgIEhUVFBSZXF1ZXN0SGVhZGVyRmllbGRzVG9vTGFyZ2UKICAgIwogICAjICAgICA1 eHggICAgICAgIEhUVFBTZXJ2ZXJFcnJvcgogICAjICAgICAgIDUwMCAgICAgICAgSFRUUEludGVy bmFsU2VydmVyRXJyb3IKQEAgLTIzOTUsNiArMjQwMiw3IEBACiAgICMgICAgICAgNTAzICAgICAg ICBIVFRQU2VydmljZVVuYXZhaWxhYmxlCiAgICMgICAgICAgNTA0ICAgICAgICBIVFRQR2F0ZXdh eVRpbWVPdXQKICAgIyAgICAgICA1MDUgICAgICAgIEhUVFBWZXJzaW9uTm90U3VwcG9ydGVkCisg ICMgICAgICAgNTExICAgICAgICBIVFRQTmV0d29ya0F1dGhlbnRpY2F0aW9uUmVxdWlyZWQKICAg IwogICAjICAgICB4eHggICAgICAgIEhUVFBVbmtub3duUmVzcG9uc2UKICAgIwpAQCAtMjU0NCwy NSArMjU1MiwzNyBAQAogICBjbGFzcyBIVFRQRXhwZWN0YXRpb25GYWlsZWQgPCBIVFRQQ2xpZW50 RXJyb3IgICAgICAgICAgICAgIyA0MTcKICAgICBIQVNfQk9EWSA9IHRydWUKICAgZW5kCisgIGNs YXNzIEhUVFBQcmVjb25kaXRpb25SZXF1aXJlZCA8IEhUVFBDbGllbnRFcnJvciAgICAgICAgICAj IDQyOAorICAgIEhBU19CT0RZID0gdHJ1ZQorICBlbmQKKyAgY2xhc3MgSFRUUFRvb01hbnlSZXF1 ZXN0cyA8IEhUVFBDbGllbnRFcnJvciAgICAgICAgICAgICAgICMgNDI5CisgICAgSEFTX0JPRFkg PSB0cnVlCisgIGVuZAorICBjbGFzcyBIVFRQUmVxdWVzdEhlYWRlckZpZWxkc1Rvb0xhcmdlIDwg SFRUUENsaWVudEVycm9yICAgIyA0MzEKKyAgICBIQVNfQk9EWSA9IHRydWUKKyAgZW5kCiAKLSAg Y2xhc3MgSFRUUEludGVybmFsU2VydmVyRXJyb3IgPCBIVFRQU2VydmVyRXJyb3IgICAjIDUwMAor ICBjbGFzcyBIVFRQSW50ZXJuYWxTZXJ2ZXJFcnJvciA8IEhUVFBTZXJ2ZXJFcnJvciAgICAgICAg ICAgIyA1MDAKICAgICBIQVNfQk9EWSA9IHRydWUKICAgZW5kCi0gIGNsYXNzIEhUVFBOb3RJbXBs ZW1lbnRlZCA8IEhUVFBTZXJ2ZXJFcnJvciAgICAgICAgIyA1MDEKKyAgY2xhc3MgSFRUUE5vdElt cGxlbWVudGVkIDwgSFRUUFNlcnZlckVycm9yICAgICAgICAgICAgICAgICMgNTAxCiAgICAgSEFT X0JPRFkgPSB0cnVlCiAgIGVuZAotICBjbGFzcyBIVFRQQmFkR2F0ZXdheSA8IEhUVFBTZXJ2ZXJF cnJvciAgICAgICAgICAgICMgNTAyCisgIGNsYXNzIEhUVFBCYWRHYXRld2F5IDwgSFRUUFNlcnZl ckVycm9yICAgICAgICAgICAgICAgICAgICAjIDUwMgogICAgIEhBU19CT0RZID0gdHJ1ZQogICBl bmQKLSAgY2xhc3MgSFRUUFNlcnZpY2VVbmF2YWlsYWJsZSA8IEhUVFBTZXJ2ZXJFcnJvciAgICAj IDUwMworICBjbGFzcyBIVFRQU2VydmljZVVuYXZhaWxhYmxlIDwgSFRUUFNlcnZlckVycm9yICAg ICAgICAgICAgIyA1MDMKICAgICBIQVNfQk9EWSA9IHRydWUKICAgZW5kCi0gIGNsYXNzIEhUVFBH YXRld2F5VGltZU91dCA8IEhUVFBTZXJ2ZXJFcnJvciAgICAgICAgIyA1MDQKKyAgY2xhc3MgSFRU UEdhdGV3YXlUaW1lT3V0IDwgSFRUUFNlcnZlckVycm9yICAgICAgICAgICAgICAgICMgNTA0CiAg ICAgSEFTX0JPRFkgPSB0cnVlCiAgIGVuZAotICBjbGFzcyBIVFRQVmVyc2lvbk5vdFN1cHBvcnRl ZCA8IEhUVFBTZXJ2ZXJFcnJvciAgICMgNTA1CisgIGNsYXNzIEhUVFBWZXJzaW9uTm90U3VwcG9y dGVkIDwgSFRUUFNlcnZlckVycm9yICAgICAgICAgICAjIDUwNQogICAgIEhBU19CT0RZID0gdHJ1 ZQogICBlbmQKKyAgY2xhc3MgSFRUUE5ldHdvcmtBdXRoZW50aWNhdGlvblJlcXVpcmVkIDwgSFRU UFNlcnZlckVycm9yICMgNTExCisgICAgSEFTX0JPRFkgPSB0cnVlCisgIGVuZAogCiAgICMgOnN0 YXJ0ZG9jOgogCkBAIC0yNjE0LDEzICsyNjM0LDE3IEBACiAgICAgICAnNDE1JyA9PiBIVFRQVW5z dXBwb3J0ZWRNZWRpYVR5cGUsCiAgICAgICAnNDE2JyA9PiBIVFRQUmVxdWVzdGVkUmFuZ2VOb3RT YXRpc2ZpYWJsZSwKICAgICAgICc0MTcnID0+IEhUVFBFeHBlY3RhdGlvbkZhaWxlZCwKKyAgICAg ICc0MjgnID0+IEhUVFBQcmVjb25kaXRpb25SZXF1aXJlZCwKKyAgICAgICc0MjknID0+IEhUVFBU b29NYW55UmVxdWVzdHMsCisgICAgICAnNDMxJyA9PiBIVFRQUmVxdWVzdEhlYWRlckZpZWxkc1Rv b0xhcmdlLAogCiAgICAgICAnNTAwJyA9PiBIVFRQSW50ZXJuYWxTZXJ2ZXJFcnJvciwKICAgICAg ICc1MDEnID0+IEhUVFBOb3RJbXBsZW1lbnRlZCwKICAgICAgICc1MDInID0+IEhUVFBCYWRHYXRl d2F5LAogICAgICAgJzUwMycgPT4gSFRUUFNlcnZpY2VVbmF2YWlsYWJsZSwKICAgICAgICc1MDQn ID0+IEhUVFBHYXRld2F5VGltZU91dCwKLSAgICAgICc1MDUnID0+IEhUVFBWZXJzaW9uTm90U3Vw cG9ydGVkCisgICAgICAnNTA1JyA9PiBIVFRQVmVyc2lvbk5vdFN1cHBvcnRlZCwKKyAgICAgICc1 MTEnID0+IEhUVFBOZXR3b3JrQXV0aGVudGljYXRpb25SZXF1aXJlZAogICAgIH0KIAogICAgIGNs YXNzIDw8IEhUVFBSZXNwb25zZQo= --000e0cd1e08297cf8204c09917cc--