diff --git a/api/client/client.go b/api/client/client.go index dbde6f943f97d..7c7c242781084 100644 --- a/api/client/client.go +++ b/api/client/client.go @@ -746,14 +746,22 @@ func (c *Client) GetBotUsers(ctx context.Context) ([]types.User, error) { // GetAccessRequests retrieves a list of all access requests matching the provided filter. func (c *Client) GetAccessRequests(ctx context.Context, filter types.AccessRequestFilter) ([]types.AccessRequest, error) { - rsp, err := c.grpc.GetAccessRequests(ctx, &filter, c.callOpts...) + stream, err := c.grpc.GetAccessRequestsV2(ctx, &filter, c.callOpts...) if err != nil { return nil, trail.FromGRPC(err) } - reqs := make([]types.AccessRequest, 0, len(rsp.AccessRequests)) - for _, req := range rsp.AccessRequests { + var reqs []types.AccessRequest + for { + req, err := stream.Recv() + if err == io.EOF { + break + } + if err != nil { + return nil, trail.FromGRPC(err) + } reqs = append(reqs, req) } + return reqs, nil } diff --git a/api/client/proto/authservice.pb.go b/api/client/proto/authservice.pb.go index a8ad235169599..386cd39818091 100644 --- a/api/client/proto/authservice.pb.go +++ b/api/client/proto/authservice.pb.go @@ -10637,611 +10637,612 @@ func init() { func init() { proto.RegisterFile("authservice.proto", fileDescriptor_ce8bd90b12161215) } var fileDescriptor_ce8bd90b12161215 = []byte{ - // 9659 bytes of a gzipped FileDescriptorProto + // 9672 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x7d, 0x4b, 0x70, 0x1c, 0xc9, 0xb6, 0x90, 0xbb, 0xf5, 0x6b, 0x1d, 0x7d, 0xdc, 0x4a, 0x49, 0x56, 0xbb, 0x2d, 0xab, 0x3d, 0xe5, - 0x3b, 0xbe, 0x9e, 0x79, 0xf7, 0xc9, 0x1e, 0x69, 0xfe, 0x33, 0x77, 0xe6, 0x76, 0xb7, 0x64, 0x49, - 0x63, 0x59, 0xd6, 0x54, 0x4b, 0xf2, 0x30, 0x77, 0xde, 0xeb, 0x5b, 0xea, 0x4e, 0x4b, 0x85, 0x5a, - 0x55, 0x7d, 0xab, 0xaa, 0xed, 0x11, 0x04, 0x04, 0xbf, 0x07, 0x04, 0x01, 0xc1, 0x5b, 0xc0, 0x82, - 0x15, 0x2f, 0x80, 0x15, 0x04, 0x1b, 0x82, 0x20, 0x58, 0xf0, 0x89, 0x60, 0xc3, 0x40, 0x04, 0x01, - 0x9b, 0x17, 0x44, 0xbc, 0x85, 0xb8, 0xdc, 0x15, 0xa1, 0x15, 0x11, 0x04, 0x44, 0x70, 0x57, 0x44, - 0x7e, 0x2b, 0xb3, 0xaa, 0xb2, 0x5b, 0xb2, 0xcd, 0x7b, 0x1b, 0x5b, 0x75, 0x32, 0xcf, 0xc9, 0xcc, - 0x73, 0x4e, 0x9e, 0x3c, 0x79, 0x32, 0xf3, 0x34, 0xcc, 0x38, 0xbd, 0xe8, 0x38, 0xc4, 0xc1, 0x0b, - 0xb7, 0x85, 0x97, 0xbb, 0x81, 0x1f, 0xf9, 0x68, 0x84, 0xfe, 0x57, 0x9e, 0x3b, 0xf2, 0x8f, 0x7c, - 0xfa, 0xe7, 0x03, 0xf2, 0x17, 0x2b, 0x2c, 0xdf, 0x3a, 0xf2, 0xfd, 0xa3, 0x0e, 0x7e, 0x40, 0xbf, - 0x0e, 0x7b, 0xcf, 0x1f, 0xe0, 0xd3, 0x6e, 0x74, 0xc6, 0x0b, 0x2b, 0xc9, 0xc2, 0xc8, 0x3d, 0xc5, - 0x61, 0xe4, 0x9c, 0x76, 0x79, 0x85, 0x89, 0x16, 0x0e, 0xa2, 0x90, 0x7f, 0x7c, 0x74, 0xe4, 0x46, - 0xc7, 0xbd, 0xc3, 0xe5, 0x96, 0x7f, 0xfa, 0xe0, 0x28, 0x70, 0x5e, 0xb8, 0x91, 0x13, 0xb9, 0xbe, - 0xe7, 0x74, 0x1e, 0x44, 0xb8, 0x83, 0xbb, 0x7e, 0x10, 0x3d, 0x70, 0xba, 0xee, 0x83, 0xe8, 0xac, - 0x8b, 0x43, 0xf6, 0x2f, 0x47, 0xac, 0x5f, 0x05, 0xf1, 0x25, 0x3e, 0x24, 0x43, 0xf4, 0xe4, 0x1f, - 0xaf, 0x44, 0x24, 0x70, 0xba, 0x5d, 0x1c, 0xc4, 0x7f, 0x70, 0x22, 0x5f, 0x5e, 0x85, 0x08, 0x7e, - 0x81, 0xbd, 0x48, 0xfc, 0xc7, 0x08, 0x58, 0xff, 0x64, 0x0e, 0x46, 0xd6, 0x09, 0x00, 0x7d, 0x0c, - 0xc3, 0x7b, 0x67, 0x5d, 0x5c, 0xca, 0xdd, 0xc9, 0xdd, 0x9f, 0x5e, 0x29, 0xb2, 0xf2, 0xe5, 0xa7, - 0x5d, 0x1c, 0x50, 0x92, 0x35, 0x74, 0x71, 0x5e, 0x99, 0x26, 0x84, 0x7e, 0xe2, 0x9f, 0xba, 0x11, - 0xe5, 0xba, 0x4d, 0x31, 0xd0, 0x33, 0x98, 0xb6, 0x71, 0xe8, 0xf7, 0x82, 0x16, 0xde, 0xc4, 0x4e, - 0x1b, 0x07, 0xa5, 0xfc, 0x9d, 0xdc, 0xfd, 0x89, 0x95, 0xf9, 0x65, 0xc6, 0x34, 0xbd, 0xb0, 0x76, - 0xe3, 0xe2, 0xbc, 0x82, 0x02, 0x0e, 0x8b, 0x89, 0x6d, 0x5e, 0xb3, 0x13, 0x64, 0xd0, 0x77, 0x30, - 0x55, 0xc7, 0x41, 0x54, 0xed, 0x45, 0xc7, 0x7e, 0xe0, 0x46, 0x67, 0xa5, 0x21, 0x4a, 0xf7, 0x06, - 0xa7, 0xab, 0x95, 0x1d, 0xac, 0xd4, 0x16, 0x2f, 0xce, 0x2b, 0x25, 0x22, 0xe0, 0xa6, 0x23, 0xa0, - 0x1a, 0x79, 0x9d, 0x18, 0xfa, 0x06, 0x26, 0x1b, 0x84, 0x5d, 0xad, 0x3d, 0xff, 0x04, 0x7b, 0x61, - 0x69, 0x58, 0xeb, 0xb4, 0x5a, 0x74, 0xb0, 0x52, 0xbb, 0x75, 0x71, 0x5e, 0x59, 0x08, 0x29, 0xac, - 0x19, 0x51, 0xa0, 0x46, 0x5a, 0xa3, 0x84, 0x7e, 0x01, 0xd3, 0xbb, 0x81, 0xff, 0xc2, 0x0d, 0x5d, - 0xdf, 0xa3, 0xa0, 0xd2, 0x08, 0xa5, 0xbd, 0xc0, 0x69, 0xeb, 0x85, 0x07, 0x2b, 0xb5, 0xdb, 0x17, - 0xe7, 0x95, 0x9b, 0x5d, 0x01, 0x65, 0x0d, 0xe8, 0x9c, 0xd1, 0x51, 0xd0, 0x1e, 0x4c, 0xd4, 0x3b, - 0xbd, 0x30, 0xc2, 0xc1, 0x8e, 0x73, 0x8a, 0x4b, 0xa3, 0x94, 0xfc, 0x9c, 0xe0, 0x4b, 0x5c, 0x72, - 0xb0, 0x52, 0x2b, 0x5f, 0x9c, 0x57, 0x6e, 0xb4, 0x18, 0xa8, 0xe9, 0x39, 0xa7, 0x3a, 0xcb, 0x55, - 0x32, 0xe8, 0x23, 0x18, 0xde, 0x0f, 0x71, 0x50, 0x2a, 0x50, 0x72, 0x53, 0x9c, 0x1c, 0x01, 0x1d, - 0xac, 0x30, 0xf9, 0xf7, 0x42, 0x1c, 0x68, 0xf8, 0x14, 0x81, 0x20, 0xda, 0x7e, 0x07, 0x97, 0xc6, - 0x35, 0x44, 0x02, 0x3a, 0xf8, 0x80, 0x21, 0x06, 0x7e, 0x47, 0x6f, 0x98, 0x22, 0xa0, 0x2d, 0x18, - 0x27, 0x2d, 0x87, 0x5d, 0xa7, 0x85, 0x4b, 0x40, 0xb1, 0x8b, 0x1c, 0x5b, 0xc2, 0x6b, 0x0b, 0x17, - 0xe7, 0x95, 0x59, 0x4f, 0x7c, 0x6a, 0x54, 0x62, 0x6c, 0xf4, 0x25, 0x8c, 0x36, 0x70, 0xf0, 0x02, - 0x07, 0xa5, 0x09, 0x4a, 0xe7, 0xba, 0x10, 0x24, 0x05, 0x1e, 0xac, 0xd4, 0xe6, 0x2e, 0xce, 0x2b, - 0xc5, 0x90, 0x7e, 0x69, 0x34, 0x38, 0x1a, 0xd1, 0x36, 0x1b, 0xbf, 0xc0, 0x41, 0x88, 0xf7, 0x7a, - 0x9e, 0x87, 0x3b, 0xa5, 0x49, 0x4d, 0xdb, 0xb4, 0x32, 0xa1, 0x6d, 0x01, 0x03, 0x36, 0x23, 0x0a, - 0xd5, 0xb5, 0x4d, 0x43, 0x40, 0xc7, 0x50, 0x64, 0x7f, 0xd5, 0x7d, 0xcf, 0xc3, 0x2d, 0x32, 0xa5, - 0x4a, 0x53, 0xb4, 0x81, 0x9b, 0xbc, 0x81, 0x64, 0xf1, 0xc1, 0x4a, 0xad, 0x72, 0x71, 0x5e, 0xb9, - 0xc5, 0x68, 0x37, 0x5b, 0xb2, 0x40, 0x6b, 0x26, 0x45, 0x95, 0x8c, 0xa3, 0xda, 0x6a, 0xe1, 0x30, - 0xb4, 0xf1, 0x2f, 0x7b, 0x38, 0x8c, 0x4a, 0xd3, 0xda, 0x38, 0xb4, 0xb2, 0x83, 0x55, 0x36, 0x0e, - 0x87, 0x02, 0x9b, 0x01, 0x83, 0xea, 0xe3, 0xd0, 0x10, 0xd0, 0x2e, 0x40, 0xb5, 0xdb, 0x6d, 0xe0, - 0x90, 0x28, 0x63, 0xe9, 0x3a, 0x25, 0x3d, 0xcb, 0x49, 0x3f, 0xc3, 0x87, 0xbc, 0xe0, 0x60, 0xa5, - 0x76, 0xf3, 0xe2, 0xbc, 0x32, 0xef, 0x74, 0xbb, 0xcd, 0x90, 0x81, 0x34, 0xa2, 0x0a, 0x0d, 0xc6, - 0xf7, 0x53, 0x3f, 0xc2, 0x5c, 0x15, 0x4b, 0xc5, 0x04, 0xdf, 0x95, 0x32, 0xd1, 0xdf, 0x80, 0x02, - 0x9b, 0x5c, 0xad, 0x93, 0x7c, 0x57, 0x10, 0xc8, 0x5c, 0x5c, 0x73, 0x22, 0xe7, 0xd0, 0x09, 0x31, - 0x57, 0x8f, 0x19, 0x6d, 0x2e, 0xea, 0x85, 0x07, 0xab, 0x6c, 0x2e, 0xb6, 0x39, 0xb4, 0x99, 0xa1, - 0x2f, 0x09, 0x7a, 0x84, 0x23, 0xf1, 0xc0, 0x4b, 0x68, 0x00, 0x47, 0x5e, 0xe2, 0xc3, 0x6c, 0x8e, - 0xc4, 0x55, 0xd1, 0x26, 0x14, 0x9e, 0xe1, 0x43, 0x66, 0x39, 0x66, 0x29, 0xbd, 0x99, 0x98, 0x1e, - 0xb3, 0x19, 0xab, 0x6c, 0x56, 0x10, 0x6a, 0x69, 0x6b, 0x21, 0xb1, 0xd1, 0xef, 0xe5, 0x60, 0x41, - 0xcc, 0x70, 0x1c, 0xbd, 0xf4, 0x83, 0x13, 0xd7, 0x3b, 0xaa, 0xfb, 0xde, 0x73, 0xf7, 0xa8, 0x34, - 0x47, 0x29, 0xdf, 0x49, 0x18, 0x8d, 0x44, 0xad, 0x83, 0x95, 0xda, 0x8f, 0x2f, 0xce, 0x2b, 0x77, - 0xa5, 0x01, 0x91, 0xe5, 0x44, 0x21, 0x9f, 0xbb, 0x47, 0x5a, 0xc3, 0xa6, 0xb6, 0xd0, 0x5f, 0xcc, - 0xc1, 0x0d, 0x3e, 0x3a, 0x1b, 0xb7, 0xfc, 0xa0, 0x1d, 0x77, 0x63, 0x9e, 0x76, 0xa3, 0x22, 0x67, - 0x6b, 0x56, 0xa5, 0x83, 0x95, 0xda, 0xbd, 0x8b, 0xf3, 0x8a, 0xc5, 0x19, 0xd7, 0x0c, 0x44, 0x71, - 0x56, 0x27, 0x0c, 0x0d, 0x11, 0x4d, 0x20, 0xc6, 0x7f, 0x37, 0xc0, 0xcf, 0x71, 0x80, 0xbd, 0x16, - 0x2e, 0xdd, 0xd0, 0x34, 0x41, 0x2f, 0x14, 0x56, 0x99, 0x2c, 0x25, 0xcd, 0xae, 0x04, 0xeb, 0x9a, - 0xa0, 0xa3, 0xa0, 0x5f, 0x02, 0xe2, 0x0c, 0xa8, 0xf6, 0xda, 0x6e, 0xc4, 0x07, 0xb8, 0x40, 0x5b, - 0xb9, 0xa5, 0xf3, 0x59, 0xa9, 0x70, 0xb0, 0x52, 0xb3, 0x2e, 0xce, 0x2b, 0x4b, 0x82, 0xc5, 0x0e, - 0x29, 0xca, 0x1a, 0x58, 0x06, 0x71, 0x62, 0x79, 0xb7, 0xfd, 0xd6, 0x49, 0xa9, 0xa4, 0x59, 0x5e, - 0x02, 0x12, 0x26, 0xbb, 0xe3, 0xb7, 0x4e, 0x74, 0xcb, 0x4b, 0x4a, 0x51, 0x04, 0xb3, 0x5c, 0x4a, - 0x36, 0x0e, 0xa3, 0xc0, 0xa5, 0xb6, 0x23, 0x2c, 0xdd, 0xa4, 0x74, 0x16, 0x85, 0x0d, 0x4e, 0xd7, - 0x38, 0x78, 0x9f, 0xf5, 0x96, 0x2b, 0x42, 0x33, 0x50, 0xca, 0xb4, 0x66, 0xb2, 0xc8, 0xa3, 0x3f, - 0x07, 0xf3, 0xcf, 0x5c, 0xaf, 0xed, 0xbf, 0x0c, 0xd7, 0x70, 0x78, 0x12, 0xf9, 0xdd, 0x06, 0xf3, - 0xfc, 0x4a, 0x65, 0xda, 0xee, 0x92, 0x50, 0xf3, 0xac, 0x3a, 0x07, 0xab, 0xb5, 0xb7, 0x2f, 0xce, - 0x2b, 0x6f, 0xbd, 0x64, 0x85, 0xcd, 0x36, 0x2b, 0x6d, 0x72, 0xe7, 0x51, 0x6b, 0x3c, 0xbb, 0x15, - 0xa2, 0x02, 0x7a, 0x41, 0xe9, 0x96, 0xa6, 0x02, 0x7a, 0xa1, 0x30, 0x06, 0x89, 0x06, 0x75, 0x15, - 0xd0, 0x51, 0xd0, 0x06, 0x14, 0x84, 0x79, 0x28, 0x2d, 0x6a, 0x53, 0x57, 0x80, 0x0f, 0x56, 0x99, - 0x07, 0x24, 0x4c, 0x8c, 0x3e, 0x73, 0x45, 0x2d, 0xb4, 0x0d, 0xe3, 0xd4, 0x46, 0x52, 0x93, 0x75, - 0x9b, 0x52, 0x42, 0x42, 0x51, 0x05, 0xfc, 0x60, 0xb5, 0x56, 0xba, 0x38, 0xaf, 0xcc, 0x31, 0x2b, - 0x9b, 0x32, 0x54, 0x31, 0x01, 0xb4, 0x0a, 0x43, 0xd5, 0x6e, 0xb7, 0xb4, 0x44, 0xe9, 0x4c, 0xc6, - 0x74, 0x0e, 0x56, 0x6b, 0x33, 0x17, 0xe7, 0x95, 0x29, 0xa7, 0xab, 0x0f, 0x8b, 0xd4, 0xae, 0x01, - 0x14, 0x84, 0x43, 0xf6, 0xd5, 0x70, 0x61, 0xac, 0x58, 0xb0, 0x36, 0x61, 0xe4, 0x99, 0x13, 0xb5, - 0x8e, 0xd1, 0x97, 0x30, 0xf2, 0xd8, 0xf5, 0xda, 0x61, 0x29, 0x77, 0x67, 0x88, 0xae, 0xd9, 0xcc, - 0x5b, 0xa4, 0x85, 0xa4, 0xa0, 0xb6, 0xf0, 0xc3, 0x79, 0xe5, 0xda, 0xc5, 0x79, 0xe5, 0xfa, 0x09, - 0xa9, 0xa6, 0xb8, 0x8c, 0x0c, 0xcf, 0xfa, 0xe7, 0x79, 0x18, 0x97, 0xb5, 0xd1, 0x22, 0x0c, 0x93, - 0xff, 0xa9, 0xef, 0x39, 0x5e, 0x2b, 0x5c, 0x9c, 0x57, 0x86, 0x09, 0x9e, 0x4d, 0xa1, 0x68, 0x05, - 0x26, 0xb6, 0x7d, 0xa7, 0xdd, 0xc0, 0xad, 0x00, 0x47, 0x21, 0x75, 0x2e, 0x0b, 0xb5, 0xe2, 0xc5, - 0x79, 0x65, 0xb2, 0xe3, 0x3b, 0xed, 0x66, 0xc8, 0xe0, 0xb6, 0x5a, 0x89, 0x50, 0xa4, 0x9e, 0xd1, - 0x50, 0x4c, 0x91, 0x78, 0x10, 0x36, 0x85, 0xa2, 0xaf, 0x60, 0xf4, 0x91, 0xdb, 0x21, 0x6b, 0xcd, - 0x30, 0xed, 0xff, 0x62, 0xb2, 0xff, 0xcb, 0xac, 0x78, 0xdd, 0x8b, 0x82, 0x33, 0xe6, 0x38, 0x3c, - 0xa7, 0x00, 0x65, 0x20, 0x9c, 0x02, 0x7a, 0x08, 0x63, 0x8d, 0xde, 0x21, 0xed, 0xfe, 0x08, 0x6d, - 0x8c, 0x4a, 0x37, 0xec, 0x1d, 0x36, 0xc9, 0x10, 0x14, 0x04, 0x51, 0xad, 0xfc, 0x09, 0x4c, 0x28, - 0xe4, 0x51, 0x11, 0x86, 0x4e, 0xf0, 0x19, 0x1b, 0xbb, 0x4d, 0xfe, 0x44, 0x73, 0x30, 0xf2, 0xc2, - 0xe9, 0xf4, 0x30, 0x1d, 0xea, 0xb8, 0xcd, 0x3e, 0x3e, 0xcd, 0x7f, 0x9c, 0xb3, 0xfe, 0xf3, 0x30, - 0x14, 0x37, 0xfd, 0x30, 0x22, 0x9e, 0xac, 0x5c, 0x92, 0xef, 0xc2, 0x28, 0x81, 0x6d, 0xad, 0x71, - 0xfe, 0x4d, 0x5c, 0x9c, 0x57, 0xc6, 0x8e, 0xfd, 0x30, 0x6a, 0xba, 0x6d, 0x9b, 0x17, 0xa1, 0x77, - 0xa0, 0xb0, 0xe3, 0xb7, 0x31, 0x65, 0x0a, 0x25, 0x5b, 0x9b, 0xba, 0x38, 0xaf, 0x8c, 0x7b, 0x7e, - 0x1b, 0x53, 0xaf, 0xd0, 0x96, 0xc5, 0xe8, 0x80, 0x7b, 0x73, 0x8c, 0x77, 0x35, 0xc2, 0x3b, 0xe2, - 0xbe, 0xfd, 0xe6, 0xbc, 0xf2, 0xe1, 0x15, 0xb6, 0x1b, 0xcb, 0x8d, 0xb3, 0x30, 0xc2, 0xa7, 0x84, - 0x12, 0x77, 0xf6, 0x9e, 0xc1, 0x5c, 0xb5, 0xdd, 0x76, 0x19, 0xc6, 0x6e, 0xe0, 0x7a, 0x2d, 0xb7, - 0xeb, 0x74, 0x42, 0x2a, 0x83, 0xf1, 0xda, 0xdd, 0x8b, 0xf3, 0x4a, 0xc5, 0x91, 0xe5, 0xcd, 0xae, - 0xac, 0xa0, 0xf0, 0x30, 0x93, 0x00, 0x5a, 0x85, 0xc2, 0xda, 0x4e, 0x83, 0xba, 0x82, 0xa5, 0x11, - 0x4a, 0x8c, 0x2e, 0x8e, 0x6d, 0x2f, 0xa4, 0x43, 0x53, 0x09, 0xc8, 0x8a, 0xe8, 0x43, 0x98, 0xdc, - 0xed, 0x1d, 0x76, 0xdc, 0xd6, 0xde, 0x76, 0xe3, 0x31, 0x3e, 0xa3, 0x3e, 0xf4, 0x24, 0x33, 0x99, - 0x5d, 0x0a, 0x6f, 0x46, 0x9d, 0xb0, 0x79, 0x82, 0xcf, 0x6c, 0xad, 0x5e, 0x8c, 0xd7, 0x68, 0x6c, - 0x12, 0xbc, 0xb1, 0x14, 0x5e, 0x18, 0x1e, 0xab, 0x78, 0xac, 0x1e, 0x7a, 0x00, 0xc0, 0x3c, 0x93, - 0x6a, 0xbb, 0xcd, 0x5c, 0xec, 0xf1, 0xda, 0xf5, 0x8b, 0xf3, 0xca, 0x04, 0xf7, 0x65, 0x9c, 0x76, - 0x3b, 0xb0, 0x95, 0x2a, 0xa8, 0x0e, 0x05, 0xdb, 0x67, 0x0c, 0xe6, 0x8e, 0xf5, 0x75, 0xe9, 0x58, - 0x33, 0x30, 0xdf, 0x4a, 0xf1, 0x2f, 0x75, 0x94, 0xa2, 0x06, 0xaa, 0xc0, 0xd8, 0x8e, 0x5f, 0x77, - 0x5a, 0xc7, 0xcc, 0xbd, 0x2e, 0xd4, 0x46, 0x2e, 0xce, 0x2b, 0xb9, 0xdf, 0xb6, 0x05, 0xd4, 0xfa, - 0x47, 0x05, 0x28, 0x12, 0x1f, 0x5e, 0xd3, 0xa8, 0x9f, 0xc0, 0x38, 0xeb, 0xfb, 0x63, 0xae, 0x98, - 0x93, 0xb5, 0xe9, 0x8b, 0xf3, 0x0a, 0xf0, 0x01, 0x92, 0xc1, 0xc5, 0x15, 0xd0, 0x7d, 0x28, 0x10, - 0x0a, 0x5e, 0xac, 0x5a, 0x93, 0x17, 0xe7, 0x95, 0x42, 0x8f, 0xc3, 0x6c, 0x59, 0x8a, 0x1a, 0x30, - 0xb6, 0xfe, 0x7d, 0xd7, 0x0d, 0x70, 0xc8, 0xb7, 0x72, 0xe5, 0x65, 0xb6, 0x63, 0x5f, 0x16, 0x3b, - 0xf6, 0xe5, 0x3d, 0xb1, 0x63, 0xaf, 0xdd, 0xe6, 0x26, 0x64, 0x06, 0x33, 0x94, 0x78, 0x7c, 0xbf, - 0xff, 0xdf, 0x2a, 0x39, 0x5b, 0x50, 0x42, 0x3f, 0x81, 0xd1, 0x47, 0x7e, 0x70, 0xea, 0x44, 0x74, - 0x07, 0x37, 0xce, 0xa7, 0x2b, 0x85, 0x68, 0xd3, 0x95, 0x42, 0xd0, 0x23, 0x98, 0xb6, 0xfd, 0x5e, - 0x84, 0xf7, 0x7c, 0xe1, 0x6e, 0xb2, 0x59, 0xbb, 0x74, 0x71, 0x5e, 0x29, 0x07, 0xa4, 0xa4, 0x19, - 0xf9, 0x69, 0xc7, 0xd2, 0x4e, 0x60, 0xa1, 0x75, 0x98, 0xd6, 0x1c, 0xe3, 0xb0, 0x34, 0x4a, 0x35, - 0x8f, 0x39, 0x0d, 0x9a, 0x3b, 0xad, 0xea, 0x5f, 0x02, 0x09, 0xed, 0xc0, 0xcc, 0xe3, 0xde, 0x21, - 0x0e, 0x3c, 0x1c, 0xe1, 0x50, 0xf4, 0x68, 0x8c, 0xf6, 0xe8, 0xce, 0xc5, 0x79, 0x65, 0xf1, 0x44, - 0x16, 0x66, 0xf4, 0x29, 0x8d, 0x8a, 0x30, 0x5c, 0xe7, 0x1d, 0x95, 0xcb, 0x50, 0x81, 0xbb, 0xd3, - 0xcc, 0xc4, 0x25, 0x4a, 0x6b, 0x77, 0x39, 0x97, 0x6f, 0xc9, 0xb1, 0xa7, 0x17, 0x26, 0x3b, 0x49, - 0x93, 0xcc, 0x38, 0x69, 0x4d, 0xc6, 0x69, 0x6f, 0xd9, 0x26, 0x4d, 0x58, 0x13, 0x55, 0x17, 0xa5, - 0x5d, 0xd9, 0x86, 0x91, 0xfd, 0xd0, 0x39, 0x62, 0x9a, 0x38, 0xbd, 0xf2, 0x16, 0xef, 0x51, 0x52, - 0xfb, 0xe8, 0xbe, 0x9e, 0x56, 0xac, 0xcd, 0x92, 0x15, 0xa4, 0x47, 0xfe, 0x54, 0x57, 0x10, 0x5a, - 0x86, 0xbe, 0x06, 0xe0, 0xbd, 0x22, 0x2b, 0xdb, 0x04, 0x5f, 0x6b, 0xb5, 0x41, 0x92, 0x45, 0x6c, - 0x89, 0x8f, 0xef, 0x86, 0x1c, 0x9f, 0xb6, 0xd6, 0xd9, 0x0a, 0x11, 0xf4, 0x25, 0x4c, 0x52, 0x73, - 0x25, 0x24, 0x3a, 0x49, 0x25, 0x4a, 0xb7, 0xfe, 0xc4, 0x00, 0x66, 0xc9, 0x53, 0x43, 0x40, 0x7f, - 0x1e, 0xe6, 0x39, 0xb9, 0x84, 0x9b, 0x31, 0xc5, 0xdd, 0x2a, 0xad, 0x7b, 0x7a, 0x9d, 0xda, 0xbb, - 0xbc, 0xa7, 0x96, 0xec, 0xa9, 0xd1, 0xf1, 0xb0, 0xb3, 0x9b, 0xb1, 0xbe, 0x81, 0x71, 0xc9, 0x3c, - 0x34, 0x06, 0x43, 0xd5, 0x4e, 0xa7, 0x78, 0x8d, 0xfc, 0xd1, 0x68, 0x6c, 0x16, 0x73, 0x68, 0x1a, - 0x20, 0xd6, 0x98, 0x62, 0x1e, 0x4d, 0xc6, 0xce, 0x4a, 0x71, 0x88, 0xd6, 0xef, 0x76, 0x8b, 0xc3, - 0x08, 0x25, 0xbd, 0xa4, 0xe2, 0x88, 0xf5, 0x5f, 0x73, 0x29, 0xc5, 0x22, 0xeb, 0x32, 0x77, 0xac, - 0xa8, 0x1e, 0xb0, 0xc5, 0x87, 0xae, 0xcb, 0xdc, 0x25, 0x63, 0x0b, 0x8b, 0x5a, 0x89, 0xd8, 0x8a, - 0x5d, 0xc2, 0x83, 0x96, 0xdf, 0x51, 0x6d, 0x45, 0x97, 0xc3, 0x6c, 0x59, 0x8a, 0x56, 0x14, 0xab, - 0x32, 0x14, 0x2f, 0xac, 0xc2, 0xaa, 0xa8, 0x1a, 0x26, 0xed, 0xcb, 0x8a, 0xe2, 0x7d, 0x0d, 0xc7, - 0x38, 0x19, 0x1a, 0x2d, 0xeb, 0x59, 0x3d, 0x83, 0xcc, 0xd0, 0x67, 0x29, 0x67, 0x91, 0x8d, 0x90, - 0x2a, 0x65, 0x42, 0x34, 0x29, 0x3f, 0xb0, 0x02, 0x23, 0xdb, 0xfe, 0x91, 0xeb, 0xf1, 0x41, 0x8e, - 0x5f, 0x9c, 0x57, 0x46, 0x3a, 0x04, 0x60, 0x33, 0xb8, 0xf5, 0x7f, 0x73, 0xaa, 0xfe, 0x4a, 0x7f, - 0x25, 0x97, 0xe9, 0xaf, 0xfc, 0x04, 0xc6, 0xf9, 0xa6, 0x66, 0x6b, 0x8d, 0x53, 0xa4, 0xf6, 0x58, - 0xec, 0x87, 0xdc, 0xb6, 0x1d, 0x57, 0x20, 0x2b, 0x0d, 0x33, 0xce, 0x74, 0xa5, 0x19, 0x8a, 0x57, - 0x1a, 0x6e, 0xbe, 0xd9, 0x4a, 0x13, 0x57, 0x21, 0x82, 0x54, 0xa3, 0x49, 0xc3, 0xb1, 0x20, 0xd5, - 0xb8, 0x91, 0x1e, 0x2b, 0xfa, 0x14, 0xa0, 0xfa, 0xac, 0x41, 0xb4, 0xbf, 0x6a, 0xef, 0x70, 0x1b, - 0x4a, 0x43, 0x4d, 0xce, 0xcb, 0xb0, 0x49, 0x67, 0x8b, 0x13, 0xa8, 0x4b, 0x92, 0x52, 0xdb, 0xea, - 0xc0, 0xf4, 0x06, 0x8e, 0x88, 0xd4, 0xc4, 0x82, 0xd3, 0x7f, 0xf8, 0x9f, 0xc3, 0xc4, 0x33, 0x37, - 0x3a, 0xd6, 0x1d, 0x40, 0xda, 0xd8, 0x4b, 0x37, 0x3a, 0x16, 0x0e, 0xa0, 0xd2, 0x98, 0x5a, 0xdd, - 0x5a, 0x87, 0xeb, 0xbc, 0x35, 0xb9, 0xbe, 0xad, 0xe8, 0x04, 0x73, 0xb1, 0x47, 0xa9, 0x12, 0xd4, - 0xc9, 0xe0, 0xa4, 0xc1, 0x47, 0x8d, 0xd4, 0x12, 0xc0, 0xbc, 0x61, 0x53, 0xa4, 0x85, 0x2a, 0x4e, - 0x62, 0x69, 0x48, 0x2e, 0x08, 0xd6, 0x3e, 0x4c, 0xed, 0x76, 0x7a, 0x47, 0xae, 0x47, 0x14, 0xb4, - 0x81, 0x7f, 0x89, 0xd6, 0x00, 0x62, 0x00, 0x6f, 0x41, 0x84, 0x17, 0xe2, 0x82, 0x83, 0x55, 0x2e, - 0x62, 0x0a, 0xa1, 0x36, 0xdc, 0x56, 0xf0, 0xac, 0xbf, 0x31, 0x04, 0x88, 0xb7, 0xd1, 0x88, 0x9c, - 0x08, 0x37, 0x70, 0x44, 0x96, 0x8b, 0x1b, 0x90, 0x97, 0x6e, 0xe3, 0xe8, 0xc5, 0x79, 0x25, 0xef, - 0xb6, 0xed, 0xfc, 0xd6, 0x1a, 0x7a, 0x1f, 0x46, 0x68, 0x35, 0xca, 0xeb, 0x69, 0xd9, 0x9e, 0x4a, - 0x81, 0xe9, 0x74, 0x48, 0xfe, 0xb4, 0x59, 0x65, 0xf4, 0x01, 0x8c, 0xaf, 0xe1, 0x0e, 0x3e, 0x72, - 0x22, 0x5f, 0xe8, 0x1d, 0x73, 0xc4, 0x04, 0x50, 0x11, 0x51, 0x5c, 0x93, 0x2c, 0xe0, 0x36, 0x76, - 0x42, 0xdf, 0x53, 0x17, 0xf0, 0x80, 0x42, 0xd4, 0x05, 0x9c, 0xd5, 0x41, 0x7f, 0x37, 0x07, 0x13, - 0x55, 0xcf, 0xe3, 0x0e, 0x4e, 0xc8, 0x43, 0xab, 0xf3, 0xcb, 0x32, 0x32, 0xbe, 0xed, 0x1c, 0xe2, - 0xce, 0x01, 0x71, 0x99, 0xc3, 0xda, 0x77, 0xc4, 0xa6, 0xfe, 0xd1, 0x79, 0xe5, 0xb3, 0x57, 0x09, - 0xb6, 0x2f, 0xef, 0x05, 0x8e, 0x1b, 0x85, 0x34, 0x8e, 0x15, 0x37, 0xa8, 0xaa, 0x99, 0xd2, 0x0f, - 0xf4, 0x0e, 0x8c, 0x10, 0xfd, 0x16, 0x7e, 0x00, 0x15, 0x36, 0x99, 0x07, 0xda, 0xe6, 0x87, 0xd6, - 0xb0, 0xee, 0xc2, 0x38, 0xe7, 0xe4, 0xd6, 0x9a, 0x49, 0x04, 0xd6, 0x1a, 0xdc, 0xa6, 0x5e, 0x1c, - 0x26, 0x9a, 0x4b, 0xa3, 0x39, 0x5c, 0x13, 0x63, 0xb7, 0x7f, 0x8c, 0x82, 0x25, 0x36, 0x15, 0x08, - 0x8d, 0x06, 0xd9, 0xa2, 0xc4, 0xaa, 0xc3, 0xe2, 0x06, 0x8e, 0x6c, 0x1c, 0xe2, 0x68, 0xd7, 0x09, - 0xc3, 0x97, 0x7e, 0xd0, 0xa6, 0x45, 0x57, 0x22, 0xf2, 0x57, 0x72, 0x50, 0xa9, 0x07, 0x98, 0x48, - 0xda, 0x48, 0xa8, 0xff, 0x0c, 0x5e, 0xe4, 0x87, 0x0b, 0xf9, 0xb8, 0x94, 0xf0, 0x9a, 0x1f, 0x20, - 0xbc, 0x0d, 0x43, 0x7b, 0x7b, 0xdb, 0x54, 0x63, 0x86, 0x28, 0xe3, 0x86, 0xa2, 0xa8, 0xf3, 0x9b, - 0xf3, 0x4a, 0x61, 0xad, 0xc7, 0x0e, 0x1f, 0x6c, 0x52, 0x6e, 0x3d, 0x87, 0x79, 0x1b, 0x7b, 0xf8, - 0xa5, 0x73, 0xd8, 0xc1, 0x9a, 0xbb, 0x5a, 0x81, 0x11, 0x16, 0x2c, 0x4b, 0x0d, 0x81, 0xc1, 0x75, - 0x7f, 0x36, 0x3f, 0xc0, 0x9f, 0xb5, 0xfe, 0x20, 0x07, 0x45, 0x36, 0xdc, 0x9a, 0x1f, 0x5d, 0x6e, - 0x7c, 0x7c, 0x04, 0xf9, 0xfe, 0x23, 0x40, 0xf7, 0x62, 0x6e, 0x0f, 0xc5, 0x8b, 0x1f, 0xed, 0x2a, - 0xb1, 0xe1, 0xa2, 0x90, 0x0c, 0x88, 0xe9, 0x12, 0xdb, 0x1a, 0xd1, 0x01, 0x51, 0x5d, 0x12, 0x1a, - 0xf4, 0x4f, 0xf3, 0x30, 0xa3, 0x74, 0x31, 0xec, 0xfa, 0x5e, 0x88, 0xc9, 0x1e, 0x8f, 0x28, 0x8b, - 0xd2, 0x4f, 0xba, 0xc7, 0x23, 0x4b, 0x66, 0x33, 0xf6, 0xc4, 0x69, 0x87, 0xdf, 0x21, 0x9b, 0x8b, - 0x4e, 0x6a, 0x3b, 0x48, 0x0d, 0x37, 0xab, 0x2a, 0x8a, 0x2f, 0xdd, 0xe9, 0x07, 0x50, 0xa0, 0x7f, - 0x12, 0x46, 0x0c, 0x9b, 0x19, 0x21, 0x2b, 0x21, 0x17, 0xe0, 0x2b, 0xdf, 0xf5, 0x9e, 0xe0, 0xe8, - 0xd8, 0x17, 0x9b, 0xe7, 0x2d, 0x62, 0xc4, 0xfe, 0xb4, 0xef, 0x7a, 0xcd, 0x53, 0x0a, 0xbe, 0xea, - 0xa6, 0x33, 0x26, 0x68, 0x2b, 0xc4, 0xad, 0x87, 0x50, 0x24, 0xf6, 0xe6, 0xf2, 0x12, 0xb5, 0xe6, - 0x00, 0x6d, 0xe0, 0xa8, 0xe6, 0x6b, 0x0b, 0x87, 0x35, 0x05, 0x13, 0xbb, 0xae, 0x77, 0x24, 0x3e, - 0xff, 0x45, 0x1e, 0x26, 0xd9, 0x37, 0x97, 0x40, 0x62, 0x25, 0xcd, 0x5d, 0x66, 0x25, 0xfd, 0x18, - 0xa6, 0x78, 0x38, 0x07, 0x07, 0x34, 0x84, 0xcc, 0xe4, 0x41, 0x77, 0x94, 0x2c, 0xaa, 0xd3, 0x7c, - 0xc1, 0x4a, 0x6c, 0xbd, 0x22, 0xda, 0x86, 0x69, 0x06, 0x78, 0x84, 0x9d, 0xa8, 0x17, 0xef, 0xaa, - 0xae, 0x73, 0x3f, 0x53, 0x80, 0x99, 0x31, 0xe2, 0xb4, 0x9e, 0x73, 0xa0, 0x9d, 0xc0, 0x45, 0x5f, - 0xc2, 0xf5, 0xdd, 0xc0, 0xff, 0xfe, 0x4c, 0xf1, 0x1d, 0x98, 0x3d, 0x9e, 0x27, 0x9b, 0xb0, 0x2e, - 0x29, 0x6a, 0xaa, 0x1e, 0x44, 0xb2, 0x36, 0xd1, 0xa9, 0xad, 0xb0, 0xe6, 0x07, 0xae, 0x77, 0x44, - 0xa5, 0x59, 0x60, 0x3a, 0xe5, 0x86, 0xcd, 0x43, 0x0a, 0xb4, 0x65, 0xb1, 0xf5, 0x3f, 0x86, 0xa0, - 0x20, 0x1b, 0x5e, 0x56, 0xdd, 0x52, 0xbe, 0x18, 0xd3, 0xe9, 0x19, 0x6f, 0x7e, 0x6c, 0xa5, 0x06, - 0xba, 0xc9, 0x82, 0x59, 0xcc, 0x0d, 0x18, 0x23, 0x3a, 0xe6, 0x74, 0xbb, 0x34, 0x64, 0x45, 0x8c, - 0xe9, 0x5a, 0x8d, 0x72, 0xa1, 0xc0, 0x8c, 0x69, 0xfb, 0xd0, 0xce, 0xaf, 0xd5, 0x88, 0xac, 0x9f, - 0x6e, 0xad, 0xd5, 0xe9, 0x80, 0x0a, 0x4c, 0xd6, 0xbe, 0xdb, 0x6e, 0xd9, 0x14, 0x4a, 0x4a, 0x1b, - 0xd5, 0x27, 0xdb, 0xbc, 0xd3, 0xb4, 0x34, 0x74, 0x4e, 0x3b, 0x36, 0x85, 0x12, 0x3f, 0x90, 0xad, - 0xd1, 0x75, 0xdf, 0x8b, 0x02, 0xbf, 0x13, 0xd2, 0x50, 0x41, 0x41, 0x5b, 0xce, 0x5b, 0xbc, 0xc8, - 0x4e, 0x54, 0x45, 0xcf, 0x60, 0xa1, 0xda, 0x7e, 0xe1, 0x78, 0x2d, 0xdc, 0x66, 0x25, 0xcf, 0xfc, - 0xe0, 0xe4, 0x79, 0xc7, 0x7f, 0x19, 0xd2, 0x5d, 0x5e, 0x81, 0xef, 0x17, 0x79, 0x95, 0x26, 0x27, - 0xf7, 0x52, 0x54, 0xb2, 0x4d, 0xd8, 0xc4, 0x44, 0xd4, 0x3b, 0x7e, 0xaf, 0x4d, 0xb7, 0x77, 0x05, - 0x66, 0x22, 0x5a, 0x04, 0x60, 0x33, 0x38, 0xe1, 0xd2, 0x66, 0xe3, 0x09, 0xdd, 0x9d, 0x71, 0x2e, - 0x1d, 0x87, 0xa7, 0x36, 0x81, 0xa1, 0xb7, 0x61, 0x4c, 0xb8, 0xb4, 0x2c, 0x28, 0x40, 0x23, 0x46, - 0xc2, 0x95, 0x15, 0x65, 0x68, 0x0d, 0x66, 0x9e, 0xf8, 0x6d, 0x1c, 0x38, 0x11, 0x6e, 0x73, 0xef, - 0x32, 0xa4, 0x1b, 0xad, 0x02, 0x73, 0xab, 0x4f, 0x45, 0xa1, 0x38, 0xd0, 0x08, 0xed, 0x34, 0x82, - 0xf5, 0x1e, 0xcc, 0xb0, 0xa9, 0x77, 0x69, 0x7f, 0xcf, 0xda, 0x05, 0x68, 0xe0, 0x53, 0xa7, 0x7b, - 0xec, 0x13, 0xf5, 0xa8, 0xa9, 0x5f, 0xdc, 0x01, 0x42, 0xf2, 0xb8, 0x80, 0x17, 0x1c, 0xac, 0x0a, - 0x8f, 0x58, 0xd4, 0xb4, 0x15, 0x2c, 0xeb, 0x3f, 0xe5, 0x01, 0xd1, 0xb0, 0x79, 0x23, 0x0a, 0xb0, - 0x73, 0x2a, 0xba, 0xf1, 0x09, 0x4c, 0x32, 0x2b, 0xca, 0xc0, 0xb4, 0x3b, 0xc4, 0xbb, 0x62, 0xd3, - 0x47, 0x2d, 0xda, 0xbc, 0x66, 0x6b, 0x55, 0x09, 0xaa, 0x8d, 0xc3, 0xde, 0xa9, 0x40, 0xcd, 0x6b, - 0xa8, 0x6a, 0x11, 0x41, 0x55, 0xbf, 0xd1, 0x97, 0x30, 0x5d, 0xf7, 0x4f, 0xbb, 0x84, 0x27, 0x1c, - 0x79, 0x88, 0xfb, 0x30, 0xbc, 0x5d, 0xad, 0x70, 0xf3, 0x9a, 0x9d, 0xa8, 0x8e, 0x76, 0x60, 0xf6, - 0x51, 0xa7, 0x17, 0x1e, 0x57, 0xbd, 0x76, 0xbd, 0xe3, 0x87, 0x82, 0xca, 0x30, 0x0f, 0xa9, 0xf0, - 0xc9, 0x9f, 0xae, 0xb1, 0x79, 0xcd, 0xce, 0x42, 0x44, 0x6f, 0xf3, 0x3b, 0x00, 0xdc, 0x97, 0x9a, - 0x5a, 0xe6, 0x57, 0x04, 0x9e, 0x7a, 0xf8, 0xe9, 0xf3, 0xcd, 0x6b, 0x36, 0x2b, 0xad, 0x8d, 0xc3, - 0x98, 0x30, 0x7c, 0x0f, 0x60, 0x46, 0x61, 0x27, 0xf1, 0xfe, 0x7a, 0x21, 0x2a, 0x43, 0x61, 0xbf, - 0xdb, 0xf1, 0x9d, 0xb6, 0x70, 0x26, 0x6c, 0xf9, 0x6d, 0xfd, 0x44, 0xe7, 0x34, 0x5a, 0x54, 0x77, - 0x34, 0xac, 0x72, 0x0c, 0xb0, 0x36, 0x75, 0xe6, 0xf6, 0xaf, 0xad, 0xb5, 0x9b, 0x4f, 0xb4, 0x5b, - 0x4c, 0xf2, 0xda, 0x9a, 0xcf, 0x64, 0x9e, 0xf5, 0x98, 0x3a, 0x4a, 0xd5, 0x6e, 0xb7, 0xe3, 0xb6, - 0xe8, 0xfa, 0xc2, 0xac, 0xa3, 0xf4, 0x31, 0x7e, 0x4b, 0x3d, 0xa9, 0x56, 0x16, 0x57, 0x79, 0x2e, - 0xad, 0x9c, 0x45, 0x5b, 0xdf, 0xc2, 0x6d, 0x03, 0x31, 0xbe, 0x4e, 0x7c, 0x02, 0x63, 0x1c, 0x94, - 0x50, 0x68, 0x35, 0xb6, 0x4f, 0x67, 0x65, 0xc8, 0x31, 0x45, 0x7d, 0xeb, 0x1b, 0x58, 0xda, 0xef, - 0x86, 0x38, 0x48, 0x93, 0x17, 0x5d, 0xfd, 0x50, 0x9e, 0x84, 0xe7, 0x8c, 0xe7, 0x06, 0x70, 0x71, - 0x5e, 0x19, 0x65, 0xb4, 0xc5, 0x01, 0xb8, 0xf5, 0xfb, 0x39, 0x58, 0x62, 0x53, 0xd5, 0x48, 0xfa, - 0x2a, 0x5c, 0x50, 0xe2, 0xd2, 0x79, 0x73, 0x5c, 0xba, 0x6f, 0xa0, 0xde, 0xfa, 0x1a, 0x2c, 0xde, - 0xa3, 0x4e, 0xe7, 0x0d, 0xc9, 0xe6, 0x2f, 0xe5, 0x60, 0x8e, 0x09, 0xe7, 0x35, 0xa8, 0xa0, 0x9f, - 0xc2, 0x74, 0xe3, 0xc4, 0xed, 0x1e, 0x38, 0x1d, 0xb7, 0xcd, 0x42, 0xb4, 0x6c, 0x39, 0x9a, 0xa7, - 0x2b, 0xed, 0x89, 0xdb, 0x6d, 0xbe, 0x88, 0x8b, 0x72, 0x76, 0xa2, 0xb2, 0xf5, 0x14, 0xe6, 0x13, - 0x7d, 0xe0, 0x8a, 0xf1, 0x61, 0x52, 0x31, 0x52, 0xd7, 0x18, 0xb2, 0xb5, 0xe2, 0x09, 0xdc, 0x90, - 0x5a, 0xa1, 0x8b, 0x6c, 0x35, 0xa1, 0x0d, 0x29, 0x82, 0x59, 0xaa, 0xd0, 0x82, 0x1b, 0x52, 0x13, - 0x5e, 0x43, 0x03, 0x84, 0x70, 0xf3, 0x99, 0xc2, 0xdd, 0x82, 0xb2, 0x2a, 0xdc, 0xd7, 0x11, 0xea, - 0x7f, 0xcc, 0xc1, 0xc2, 0x06, 0xf6, 0xe8, 0xd2, 0x53, 0xed, 0x76, 0xb5, 0x9d, 0x89, 0x1a, 0x9e, - 0xce, 0xf5, 0x0d, 0x4f, 0x4b, 0xb7, 0x3b, 0x9f, 0xed, 0x76, 0x93, 0x35, 0x75, 0xdf, 0xde, 0xe2, - 0xba, 0x4a, 0xd7, 0xd4, 0x5e, 0xe0, 0xda, 0x04, 0x86, 0xb6, 0xe2, 0xd0, 0xf6, 0xf0, 0xc0, 0xd0, - 0xf6, 0x2c, 0x0f, 0xf5, 0x8d, 0xf1, 0xd0, 0xb6, 0x16, 0xd0, 0xb6, 0x3e, 0x83, 0x52, 0x7a, 0x2c, - 0x5c, 0x3f, 0x06, 0x6d, 0x75, 0xac, 0xb5, 0x58, 0xbb, 0xf9, 0x29, 0xb8, 0x0c, 0xe9, 0x27, 0x4c, - 0x68, 0x9f, 0x10, 0x92, 0xd5, 0x88, 0xf5, 0x93, 0x53, 0xe1, 0xed, 0x7f, 0x4a, 0xf4, 0x93, 0xdd, - 0x74, 0xc8, 0x99, 0x6f, 0x3a, 0x70, 0x1d, 0x65, 0xa8, 0x02, 0xc1, 0x7a, 0x06, 0x37, 0x34, 0xa2, - 0xb1, 0xd6, 0xff, 0x14, 0x0a, 0xd2, 0xc1, 0xd0, 0x23, 0x1c, 0x1a, 0x59, 0x2a, 0x37, 0xe9, 0x6b, - 0x48, 0x14, 0xeb, 0x57, 0x39, 0x58, 0x60, 0xab, 0x4b, 0x7a, 0xdc, 0x97, 0x97, 0xfe, 0x1f, 0x4b, - 0xd8, 0xec, 0x61, 0x46, 0xd8, 0x8c, 0xa2, 0xa8, 0x61, 0x33, 0x35, 0x58, 0xf6, 0xd5, 0x70, 0x21, - 0x5f, 0x1c, 0xb2, 0x0e, 0xa0, 0x94, 0x1e, 0xe1, 0x1b, 0x90, 0xc9, 0x06, 0x2c, 0x28, 0x13, 0xfd, - 0x35, 0x34, 0x66, 0x13, 0x16, 0x63, 0x37, 0x4f, 0x93, 0xf1, 0x15, 0xe5, 0xc0, 0x75, 0x2f, 0xee, - 0xfb, 0x1b, 0xd4, 0xbd, 0xb8, 0xe2, 0x1b, 0xd3, 0xbd, 0x2d, 0x98, 0x65, 0x84, 0xf5, 0x79, 0xba, - 0xa2, 0xce, 0xd3, 0xcc, 0xfb, 0x3b, 0xe9, 0xa9, 0xfb, 0x84, 0x4e, 0x5d, 0x51, 0x25, 0xee, 0xe1, - 0x07, 0x30, 0xca, 0xaf, 0x28, 0xb2, 0xfe, 0x65, 0x10, 0xa3, 0x36, 0x9c, 0xdd, 0x4b, 0xb4, 0x79, - 0x65, 0xab, 0x44, 0x87, 0x4c, 0xf6, 0x4d, 0x3c, 0x00, 0x2f, 0x77, 0xb1, 0x5f, 0x13, 0x63, 0x99, - 0x28, 0x79, 0xcd, 0xf5, 0xe7, 0x29, 0x94, 0xd8, 0xfa, 0xa3, 0x50, 0x7d, 0xad, 0x15, 0xe8, 0x63, - 0x28, 0x31, 0x7d, 0xca, 0x20, 0xd8, 0x7f, 0x59, 0x59, 0x12, 0x9a, 0x58, 0xed, 0x74, 0xb2, 0x46, - 0xff, 0xd7, 0x72, 0x70, 0x73, 0x03, 0x47, 0xfa, 0x2d, 0xae, 0x3f, 0x11, 0x2f, 0xe0, 0x3b, 0x28, - 0x67, 0x75, 0x84, 0x8b, 0xe2, 0x8b, 0xa4, 0x28, 0x8c, 0x57, 0xd6, 0xb2, 0x45, 0xf2, 0x2d, 0xdc, - 0x62, 0x22, 0xd1, 0xeb, 0x8b, 0x81, 0x7e, 0x96, 0x90, 0x8a, 0x91, 0x7a, 0x96, 0x74, 0xfe, 0x56, - 0x0e, 0x6e, 0x31, 0x26, 0x67, 0x13, 0xff, 0xe3, 0xf6, 0x13, 0x77, 0xa0, 0x22, 0x65, 0xfe, 0x06, - 0x04, 0x6b, 0xb5, 0x00, 0x09, 0x32, 0xf5, 0x86, 0x2d, 0x48, 0xdc, 0x84, 0xa1, 0x7a, 0xc3, 0xe6, - 0x07, 0xe2, 0x74, 0xf9, 0x6f, 0x85, 0x81, 0x4d, 0x60, 0xc9, 0xb5, 0x20, 0x7f, 0x89, 0xb5, 0xc0, - 0xfa, 0x39, 0xcc, 0x6a, 0x8d, 0x70, 0xb9, 0x2f, 0xc2, 0x70, 0x1d, 0x07, 0x11, 0x6f, 0x86, 0x8e, - 0xb4, 0x85, 0x83, 0xc8, 0xa6, 0x50, 0x74, 0x0f, 0xc6, 0xea, 0x55, 0x1a, 0xfd, 0xa4, 0x5e, 0xca, - 0x24, 0x33, 0x4c, 0x2d, 0xa7, 0x49, 0x6f, 0xb6, 0xdb, 0xa2, 0xd0, 0xfa, 0x37, 0x39, 0x85, 0x3a, - 0x41, 0x1f, 0x3c, 0x86, 0xf7, 0xc8, 0x46, 0x9b, 0xf0, 0x4c, 0x19, 0xc2, 0x0c, 0x59, 0x00, 0x79, - 0xe4, 0x88, 0xd9, 0x6e, 0x5b, 0xa9, 0x74, 0xc9, 0xc8, 0xad, 0x38, 0x29, 0x64, 0x48, 0x22, 0xaa, - 0x29, 0x4f, 0x0a, 0x39, 0xe9, 0xd0, 0x56, 0x2b, 0x59, 0xdf, 0xc1, 0x9c, 0xde, 0xff, 0x37, 0xca, - 0x9e, 0x1f, 0xd1, 0x23, 0x28, 0xe5, 0xf0, 0x16, 0x21, 0x35, 0x24, 0xc1, 0xd5, 0xea, 0x23, 0x28, - 0xf2, 0x5a, 0xf1, 0xb4, 0xbc, 0x2b, 0x9c, 0x44, 0x36, 0x29, 0xf5, 0xcb, 0xce, 0x22, 0x3e, 0xfb, - 0x63, 0x11, 0xf4, 0x18, 0xd4, 0xc2, 0xbf, 0xcc, 0x41, 0xe9, 0xc9, 0xa3, 0x6a, 0xb5, 0x17, 0x1d, - 0x63, 0x2f, 0x22, 0xdb, 0x1b, 0x5c, 0x3f, 0x76, 0x3a, 0x1d, 0xec, 0x1d, 0x51, 0xee, 0xee, 0xaf, - 0x3c, 0x92, 0xab, 0x12, 0x3f, 0x2e, 0x5f, 0x79, 0x24, 0x6b, 0xd8, 0xa4, 0x1c, 0xdd, 0x87, 0xe1, - 0xbd, 0xa7, 0x7b, 0xbb, 0x3c, 0x04, 0x31, 0xc7, 0xeb, 0x11, 0x50, 0x5c, 0x91, 0xd6, 0x40, 0x8f, - 0x61, 0xe6, 0x19, 0x7f, 0x85, 0x20, 0x8b, 0x78, 0xf0, 0xe1, 0xf6, 0xb2, 0x7c, 0x9f, 0x50, 0x0f, - 0x70, 0x9b, 0x74, 0xc6, 0xe9, 0x54, 0x43, 0x62, 0x3f, 0x88, 0x18, 0xd3, 0x78, 0xd6, 0xbf, 0xce, - 0xc1, 0x42, 0xa2, 0xeb, 0x92, 0x49, 0xf7, 0x44, 0xcf, 0xd9, 0xfe, 0x53, 0xf6, 0x5c, 0x54, 0xd8, - 0xbc, 0xc6, 0xba, 0xfe, 0x8e, 0xd6, 0xf5, 0x59, 0xa5, 0xeb, 0x4a, 0x4d, 0xd6, 0xf7, 0x3a, 0xbd, - 0x14, 0x4b, 0xfb, 0xc0, 0xbb, 0xfc, 0x76, 0xff, 0x2e, 0xc7, 0x04, 0x24, 0x22, 0xbf, 0xd2, 0x46, - 0xe1, 0xd6, 0x9f, 0x81, 0x49, 0x95, 0x97, 0x68, 0x11, 0xc6, 0x1f, 0xe3, 0xb3, 0x4d, 0xc7, 0x6b, - 0x77, 0x84, 0x8c, 0x62, 0x00, 0x29, 0x8d, 0x59, 0xc6, 0xa2, 0x0c, 0x31, 0x00, 0xcd, 0xc1, 0x48, - 0xb5, 0xdb, 0x15, 0x11, 0x72, 0x9b, 0x7d, 0xa0, 0x12, 0x8c, 0x89, 0x98, 0x2e, 0x75, 0x0e, 0x6d, - 0xf1, 0x69, 0xb9, 0x30, 0xa1, 0x70, 0x63, 0x40, 0xd3, 0x4b, 0x00, 0xf5, 0x8e, 0x8b, 0x3d, 0x6a, - 0xc8, 0x79, 0xdb, 0x0a, 0x84, 0x46, 0x47, 0xdc, 0x23, 0x8f, 0x46, 0x53, 0x79, 0x07, 0x62, 0x80, - 0x75, 0x1d, 0xa6, 0x34, 0x55, 0xb0, 0x2c, 0x98, 0x54, 0x19, 0x4c, 0xd4, 0xb2, 0xee, 0xb7, 0xa5, - 0x5a, 0x92, 0xbf, 0xad, 0x7f, 0x97, 0x83, 0xb9, 0x27, 0x8f, 0xaa, 0x36, 0x3e, 0x72, 0x89, 0xb9, - 0x8a, 0x07, 0xfa, 0x40, 0x15, 0xec, 0x2d, 0x55, 0xb0, 0x89, 0x9a, 0x42, 0xc2, 0x2b, 0x9a, 0x84, - 0x17, 0x35, 0x09, 0xa7, 0x51, 0x98, 0xa8, 0x3f, 0x4d, 0x89, 0x7a, 0x31, 0x4b, 0xd4, 0xd4, 0x21, - 0x76, 0x7d, 0x4f, 0x93, 0xb0, 0x12, 0xa4, 0xfa, 0x21, 0x07, 0xb3, 0xca, 0x20, 0xe4, 0x80, 0x97, - 0xd5, 0x31, 0x94, 0xd3, 0x63, 0x48, 0x2a, 0xe9, 0x7b, 0xda, 0x10, 0x6e, 0x65, 0x0c, 0x21, 0xa5, - 0xac, 0xb5, 0xd4, 0x08, 0x7e, 0xd4, 0x6f, 0x04, 0x03, 0x75, 0xb5, 0x0d, 0x73, 0x59, 0x4c, 0xd6, - 0xb5, 0x32, 0x67, 0xd4, 0xca, 0xbc, 0x41, 0x2b, 0x87, 0x74, 0xad, 0x74, 0x60, 0x36, 0x83, 0x0d, - 0xe8, 0x5d, 0x28, 0x32, 0x18, 0x33, 0xe9, 0xfc, 0x1c, 0x9a, 0x60, 0xa6, 0xe0, 0x83, 0x74, 0xd5, - 0xfa, 0xc3, 0x1c, 0xcc, 0x67, 0x0a, 0x1f, 0xdd, 0x20, 0xfe, 0x48, 0x2b, 0xc0, 0x11, 0xa7, 0xcd, - 0xbf, 0x08, 0x7c, 0x2b, 0x0c, 0x7b, 0xfc, 0x55, 0xd1, 0xb8, 0xcd, 0xbf, 0xd0, 0x8f, 0x60, 0x6a, - 0x17, 0x07, 0xae, 0xdf, 0x6e, 0xe0, 0x96, 0xef, 0xb5, 0xd9, 0xd9, 0xc7, 0x94, 0xad, 0x03, 0x09, - 0x83, 0xaa, 0x9d, 0x23, 0x3f, 0x70, 0xa3, 0xe3, 0x53, 0x3e, 0x09, 0x63, 0x00, 0xa1, 0xbd, 0xe6, - 0x1e, 0xb9, 0x11, 0x3b, 0x45, 0x9e, 0xb2, 0xf9, 0x17, 0x61, 0x51, 0xb5, 0xd5, 0xf2, 0x7b, 0x5e, - 0x44, 0x63, 0xfd, 0xe3, 0xb6, 0xf8, 0x24, 0x18, 0x5f, 0xdb, 0x74, 0xba, 0xd0, 0x7b, 0x7f, 0x36, - 0xff, 0xb2, 0xde, 0x85, 0xb9, 0x2c, 0x85, 0xc8, 0x9c, 0x5c, 0x7f, 0x21, 0x0f, 0xb3, 0xd5, 0x76, - 0xfb, 0xc9, 0xa3, 0xea, 0x1a, 0x56, 0xdd, 0xda, 0xf7, 0x61, 0x78, 0xcb, 0x73, 0x23, 0xae, 0x98, - 0x4b, 0x5c, 0xcf, 0x32, 0x6a, 0x92, 0x5a, 0x44, 0xd5, 0xc8, 0xff, 0xc8, 0x86, 0xd9, 0xf5, 0xef, - 0xdd, 0x30, 0x72, 0xbd, 0x23, 0xaa, 0xec, 0xac, 0x61, 0xae, 0xac, 0x82, 0x88, 0xc1, 0x4e, 0x6f, - 0x5e, 0xb3, 0xb3, 0x90, 0xd1, 0x1e, 0xdc, 0xd8, 0xc1, 0x2f, 0x33, 0xe6, 0x8e, 0xbc, 0xb6, 0x27, - 0xc9, 0x66, 0x4c, 0x01, 0x03, 0xae, 0x3a, 0x35, 0xff, 0x6a, 0x9e, 0xde, 0x05, 0x55, 0x06, 0xc6, - 0x5b, 0xde, 0x87, 0x39, 0xa5, 0x43, 0xba, 0x6e, 0x4f, 0xac, 0x54, 0xb2, 0x87, 0xa3, 0x5a, 0x90, - 0x4c, 0x74, 0xf4, 0x0c, 0x16, 0xf4, 0x4e, 0xe9, 0xb6, 0x3c, 0x9e, 0xd5, 0x59, 0x55, 0x36, 0xaf, - 0xd9, 0x26, 0x6c, 0xb4, 0x02, 0x43, 0xd5, 0xd6, 0x09, 0x67, 0x4b, 0xb6, 0xc8, 0xd8, 0xc8, 0xaa, - 0xad, 0x13, 0x7a, 0xaf, 0xba, 0x75, 0xa2, 0x4d, 0xec, 0xff, 0x93, 0x83, 0x05, 0x83, 0x84, 0x51, - 0x03, 0x60, 0x1b, 0x1f, 0x39, 0xad, 0x33, 0x79, 0x74, 0x3e, 0xbd, 0xf2, 0xa0, 0xbf, 0x56, 0x2c, - 0x33, 0x04, 0x06, 0x27, 0x68, 0xb5, 0x3c, 0xf1, 0xd8, 0x62, 0x32, 0x64, 0x82, 0xb2, 0x52, 0xc5, - 0x15, 0x51, 0x20, 0xc4, 0x09, 0x8c, 0xb1, 0xe9, 0xb8, 0xa6, 0xe5, 0xb5, 0xba, 0xb8, 0xc0, 0x56, - 0x2a, 0x59, 0xab, 0x50, 0x4c, 0x36, 0x8b, 0x0a, 0xcc, 0x66, 0xb2, 0xdb, 0x67, 0xfb, 0x2b, 0x8f, - 0x8a, 0x39, 0x34, 0x19, 0xdb, 0xc4, 0x62, 0xde, 0xaa, 0x27, 0xc7, 0x2d, 0xd9, 0x84, 0xee, 0xc3, - 0x28, 0x03, 0x72, 0xa9, 0x8b, 0x17, 0x61, 0x71, 0x65, 0x5e, 0x6e, 0xfd, 0x41, 0x4e, 0xc4, 0x29, - 0x53, 0x93, 0xe9, 0x23, 0x6d, 0x32, 0xbd, 0x25, 0x47, 0x90, 0x55, 0x59, 0x9b, 0x4f, 0x35, 0x98, - 0x78, 0x95, 0x79, 0xa4, 0x22, 0xa9, 0x9a, 0xfe, 0x0f, 0x73, 0x22, 0xc2, 0x92, 0x56, 0xf6, 0x75, - 0x98, 0x7c, 0x35, 0x25, 0xd7, 0xd0, 0xd0, 0x07, 0x4c, 0x07, 0xf3, 0xfd, 0x47, 0xda, 0x57, 0x0d, - 0x3f, 0x17, 0xa1, 0xd8, 0x4c, 0x45, 0x1c, 0xa0, 0x33, 0xd6, 0x62, 0x06, 0xb6, 0x6c, 0xce, 0xea, - 0xa5, 0x4a, 0x1b, 0x67, 0x5e, 0x4b, 0xc8, 0xe9, 0x5e, 0xf2, 0x02, 0x8a, 0xf1, 0x76, 0x81, 0xda, - 0x87, 0x7c, 0x1c, 0x9d, 0x6b, 0xe3, 0xf8, 0xaa, 0xa1, 0xda, 0xa9, 0x8b, 0xc4, 0xcc, 0x7a, 0x95, - 0x46, 0xeb, 0x30, 0xb5, 0x83, 0x5f, 0xa6, 0xda, 0xa5, 0x67, 0xb6, 0x1e, 0x7e, 0xd9, 0x54, 0xda, - 0x56, 0x6e, 0xf9, 0xe8, 0x38, 0xe8, 0x10, 0xa6, 0x85, 0xf5, 0xb8, 0xac, 0x11, 0x65, 0xb7, 0x91, - 0x49, 0x0b, 0xa7, 0xcf, 0x9d, 0x66, 0xc0, 0xa1, 0xea, 0x35, 0x62, 0x9d, 0xa2, 0xb5, 0x0b, 0xa5, - 0xf4, 0x58, 0xb9, 0x96, 0xbd, 0x3f, 0x68, 0x3a, 0xb1, 0x1d, 0x7e, 0x5b, 0x9f, 0x5a, 0x9b, 0x34, - 0x18, 0x25, 0xeb, 0xc8, 0x6d, 0xf4, 0xc3, 0x24, 0xeb, 0xe8, 0x51, 0xb0, 0x60, 0x9d, 0xfa, 0xdc, - 0x21, 0xbe, 0x82, 0x34, 0x9f, 0xa0, 0x24, 0xfd, 0x8a, 0x31, 0x0e, 0x92, 0xcf, 0x48, 0x92, 0x13, - 0x5d, 0x54, 0xb0, 0xfe, 0x5e, 0x0e, 0x6e, 0xee, 0x87, 0x38, 0x68, 0xb8, 0xde, 0x51, 0x07, 0xef, - 0x87, 0xfa, 0x05, 0xa0, 0xdf, 0xd6, 0x26, 0xfb, 0x82, 0xe1, 0x62, 0xf1, 0xff, 0xaf, 0x29, 0xfe, - 0xf7, 0x73, 0x50, 0xce, 0xea, 0xdb, 0x9b, 0x9d, 0xe5, 0xcb, 0x7c, 0xdf, 0xcb, 0x7a, 0x5b, 0xe2, - 0xe8, 0xb2, 0x4d, 0x31, 0x58, 0x32, 0x48, 0xf2, 0x7f, 0x72, 0x95, 0x99, 0xdb, 0x0a, 0x69, 0xf7, - 0x7f, 0xd9, 0x73, 0x03, 0xdc, 0x16, 0x8c, 0x5b, 0xce, 0xba, 0x7e, 0x4e, 0xe5, 0xba, 0x79, 0x2d, - 0xeb, 0x7a, 0xf9, 0xfb, 0xca, 0x05, 0xdb, 0x7c, 0xbf, 0x7b, 0xe5, 0xda, 0x5b, 0xa6, 0x7b, 0x30, - 0xbc, 0x43, 0x9c, 0xa0, 0x21, 0xae, 0x7f, 0x0c, 0x83, 0x80, 0xe8, 0x5d, 0x58, 0xd2, 0x65, 0xf2, - 0x81, 0x1e, 0xa5, 0x6e, 0xdc, 0x0e, 0x0f, 0xbe, 0x37, 0x9d, 0x7e, 0x84, 0x55, 0x2b, 0xc0, 0xe8, - 0x9e, 0x13, 0x1c, 0xe1, 0xc8, 0xfa, 0x16, 0xca, 0xfc, 0x88, 0x9a, 0xc5, 0x6b, 0xe9, 0x41, 0x76, - 0x18, 0xc7, 0x11, 0xfb, 0x1d, 0x2b, 0x2f, 0x01, 0x34, 0x22, 0x27, 0x88, 0xb6, 0xbc, 0x36, 0xfe, - 0x9e, 0x8e, 0x76, 0xc4, 0x56, 0x20, 0xd6, 0x07, 0x30, 0x2e, 0x87, 0x40, 0xf7, 0xf6, 0x8a, 0x9f, - 0x47, 0x87, 0x33, 0xa7, 0xdd, 0x01, 0x16, 0x17, 0x7f, 0x57, 0x61, 0x3e, 0x21, 0x0a, 0xae, 0x27, - 0x65, 0x22, 0x30, 0x06, 0x63, 0x97, 0x60, 0x6c, 0xf9, 0x6d, 0xd5, 0x61, 0x26, 0x25, 0x69, 0x84, - 0xe8, 0xbd, 0x6e, 0x16, 0x08, 0x21, 0x46, 0xbd, 0xd1, 0xd8, 0x24, 0xb0, 0xbd, 0xed, 0x06, 0xbb, - 0xe3, 0x46, 0x60, 0x7b, 0xdb, 0x8d, 0xda, 0x28, 0xd3, 0x1c, 0xeb, 0x1f, 0xe7, 0x69, 0x38, 0x23, - 0xc5, 0x83, 0x44, 0x58, 0x4c, 0x0d, 0xcd, 0xd5, 0x60, 0x9c, 0x8e, 0x78, 0x4d, 0xdc, 0x05, 0xed, - 0x7f, 0xae, 0x55, 0xf8, 0xe1, 0xbc, 0x72, 0x8d, 0x1e, 0x66, 0xc5, 0x68, 0xe8, 0x0b, 0x18, 0x5b, - 0xf7, 0xda, 0x94, 0xc2, 0xd0, 0x15, 0x28, 0x08, 0x24, 0x22, 0x07, 0xda, 0x65, 0xe2, 0x57, 0xf0, - 0xd8, 0x91, 0xad, 0x40, 0x28, 0x9b, 0xdd, 0x53, 0x97, 0xdd, 0x5e, 0x18, 0xb1, 0xd9, 0x07, 0xe1, - 0x26, 0xed, 0x82, 0x78, 0xda, 0x33, 0x6e, 0xcb, 0x6f, 0x64, 0xc1, 0xc8, 0xd3, 0xa0, 0xcd, 0x1f, - 0x5a, 0x4c, 0xaf, 0x4c, 0x8a, 0x5c, 0x07, 0x04, 0x66, 0xb3, 0x22, 0xeb, 0x7f, 0xd1, 0x13, 0xc5, - 0x28, 0x53, 0x6f, 0x34, 0xae, 0xe4, 0x5e, 0x9b, 0x2b, 0xf9, 0x57, 0xe1, 0x8a, 0x1c, 0xf5, 0x90, - 0x69, 0xd4, 0xc3, 0xa6, 0x51, 0x8f, 0x98, 0x47, 0xbd, 0x01, 0xa3, 0x6c, 0xa8, 0xe8, 0x2e, 0x8c, - 0x6c, 0x45, 0xf8, 0x34, 0x0e, 0x73, 0xa9, 0x77, 0x42, 0x6c, 0x56, 0x46, 0xf6, 0x49, 0xdb, 0x4e, - 0x18, 0x89, 0x5b, 0x95, 0xe3, 0xb6, 0xf8, 0xb4, 0xfe, 0x28, 0x07, 0xc5, 0x6d, 0x37, 0x8c, 0xc8, - 0x44, 0xb8, 0xa4, 0xae, 0xc9, 0x11, 0xe5, 0x4d, 0x23, 0x1a, 0x4a, 0x8c, 0xe8, 0x33, 0x18, 0xa5, - 0x97, 0x7d, 0x43, 0xfe, 0x8c, 0xef, 0x2e, 0x1f, 0x52, 0xb2, 0x61, 0x76, 0x25, 0x38, 0xa4, 0xcf, - 0xed, 0x6c, 0x8e, 0x52, 0xfe, 0x04, 0x26, 0x14, 0xf0, 0x95, 0x5e, 0xe1, 0x7d, 0x03, 0x33, 0x4a, - 0x13, 0xf2, 0xf2, 0xe5, 0x80, 0x93, 0x13, 0x19, 0x99, 0x27, 0x6c, 0xdb, 0xc1, 0xdf, 0xab, 0x6c, - 0xe3, 0x9f, 0xd6, 0x2f, 0xe8, 0x5d, 0xf5, 0x6d, 0xbf, 0x75, 0xa2, 0xc4, 0xad, 0xc7, 0x98, 0x31, - 0x4b, 0x1e, 0xff, 0x90, 0x5a, 0xac, 0xc4, 0x16, 0x35, 0xd0, 0x1d, 0x98, 0xd8, 0xf2, 0x1e, 0xf9, - 0x41, 0x0b, 0x3f, 0xf5, 0x3a, 0x8c, 0x7a, 0xc1, 0x56, 0x41, 0x3c, 0xa4, 0xc9, 0x5b, 0x88, 0x43, - 0x9a, 0x14, 0x90, 0x08, 0x69, 0xb2, 0x57, 0xc4, 0x36, 0x2b, 0xe3, 0x11, 0x53, 0xf2, 0x77, 0xbf, - 0x78, 0xa6, 0x0c, 0x7c, 0x0e, 0xaa, 0x78, 0x08, 0x37, 0x6d, 0xdc, 0xed, 0x38, 0xc4, 0x57, 0x3c, - 0xf5, 0x59, 0x7d, 0x39, 0xe6, 0x3b, 0x19, 0xd7, 0x28, 0xf5, 0x73, 0x54, 0xd9, 0xe5, 0x7c, 0x9f, - 0x2e, 0x9f, 0xc2, 0x5b, 0x1b, 0x38, 0xca, 0x7c, 0x0a, 0x1c, 0x0f, 0x7e, 0x13, 0x0a, 0xfc, 0xb9, - 0x8a, 0x18, 0xff, 0xa0, 0x57, 0xc8, 0xfc, 0x28, 0x90, 0xd3, 0x91, 0x7f, 0x59, 0x5f, 0x42, 0xc5, - 0xd4, 0xdc, 0xe5, 0xee, 0xbd, 0xb9, 0x70, 0xc7, 0x4c, 0x40, 0x7a, 0x13, 0x63, 0xbc, 0x41, 0x19, - 0x27, 0xe8, 0xdf, 0x5b, 0x79, 0x38, 0x44, 0xfd, 0x29, 0xfe, 0x87, 0x55, 0x13, 0x17, 0x6b, 0x5e, - 0xa3, 0xbb, 0x4d, 0x7a, 0x7c, 0xa5, 0x13, 0x88, 0xf9, 0x5a, 0x85, 0x82, 0x80, 0x25, 0xce, 0xaf, - 0x52, 0xaf, 0xac, 0x29, 0x43, 0xdb, 0x82, 0x80, 0x44, 0xb3, 0x7e, 0x21, 0x0e, 0x99, 0x74, 0x8c, - 0xcb, 0x5d, 0xc9, 0xbe, 0xcc, 0xa9, 0x92, 0xe5, 0xc3, 0x4d, 0x9d, 0xb6, 0x7a, 0x54, 0x52, 0x54, - 0x8e, 0x4a, 0xd8, 0x09, 0x09, 0xd1, 0x4b, 0x7b, 0x7b, 0xdd, 0x6b, 0x77, 0x7d, 0xd7, 0x8b, 0xf8, - 0xe4, 0x55, 0x41, 0x68, 0x49, 0x3d, 0x10, 0x99, 0x4c, 0xdf, 0x61, 0x7f, 0x08, 0xe5, 0xac, 0x06, - 0x95, 0x68, 0x91, 0x3c, 0xdb, 0x60, 0x7e, 0x9c, 0x75, 0x0c, 0x73, 0x5a, 0xde, 0x9a, 0x38, 0x11, - 0x47, 0x9c, 0xaf, 0x67, 0xbc, 0xf6, 0xf9, 0x6f, 0xce, 0x2b, 0x1f, 0x5f, 0xe5, 0xa2, 0xb4, 0xa0, - 0xb9, 0x27, 0xaf, 0xe1, 0x5b, 0x0b, 0x30, 0x54, 0xb7, 0xb7, 0xe9, 0xb0, 0xed, 0x6d, 0x39, 0x6c, - 0x7b, 0xdb, 0xfa, 0x4d, 0x0e, 0x2a, 0xf5, 0x63, 0xc7, 0x3b, 0x62, 0x87, 0xfb, 0xb1, 0xbb, 0xaa, - 0xdc, 0x16, 0xb8, 0xec, 0x96, 0x6a, 0x05, 0x26, 0x76, 0xf0, 0x4b, 0xf1, 0x84, 0x80, 0x5f, 0xc6, - 0xa7, 0x47, 0x41, 0x64, 0xbb, 0xd3, 0xe5, 0x70, 0x5b, 0xad, 0x84, 0xfe, 0xec, 0xab, 0x87, 0xa3, - 0x58, 0xf6, 0x8a, 0x78, 0x27, 0xc5, 0x4a, 0xb3, 0xb6, 0x54, 0x86, 0x26, 0xac, 0x7f, 0x96, 0x83, - 0x3b, 0xe6, 0xc1, 0x73, 0xc1, 0xad, 0x69, 0x39, 0x40, 0xfa, 0xdc, 0x4e, 0xa0, 0x5b, 0x56, 0x25, - 0x07, 0x48, 0x32, 0xef, 0x87, 0x8d, 0x5b, 0xfe, 0x0b, 0x1c, 0x9c, 0x25, 0x0e, 0x73, 0x04, 0xb8, - 0x4e, 0x96, 0x1c, 0x91, 0x41, 0x89, 0x81, 0xb4, 0x67, 0xbf, 0x1c, 0x66, 0xfd, 0x87, 0x1c, 0xdc, - 0xa2, 0xcb, 0x24, 0x8f, 0x5b, 0x8a, 0x82, 0xab, 0xdf, 0x8a, 0xf9, 0x00, 0x26, 0xd5, 0xc6, 0xb9, - 0xc0, 0x68, 0xd2, 0x00, 0xd1, 0x83, 0x66, 0xcb, 0x6f, 0x63, 0x5b, 0xab, 0x86, 0xb6, 0x60, 0x82, - 0x7f, 0x2b, 0x71, 0xa4, 0x79, 0x25, 0xa3, 0x10, 0xd5, 0x07, 0xf6, 0xca, 0x93, 0x4a, 0x9f, 0x13, - 0x6b, 0xd2, 0x67, 0x21, 0x2a, 0xae, 0xf5, 0xeb, 0x3c, 0x2c, 0x1e, 0xe0, 0xc0, 0x7d, 0x7e, 0x66, - 0x18, 0xcc, 0x53, 0x98, 0x13, 0x20, 0x3a, 0x66, 0x5d, 0x0f, 0xd9, 0xf3, 0x4d, 0xd1, 0xd5, 0x90, - 0x54, 0x68, 0x4a, 0xb5, 0xcc, 0x44, 0xbc, 0xc2, 0x83, 0xe6, 0xf7, 0xa1, 0x20, 0x55, 0x79, 0x88, - 0x72, 0x86, 0xca, 0x46, 0xa8, 0xb1, 0x9e, 0xdb, 0x41, 0xea, 0xf3, 0x5f, 0x36, 0x9f, 0x9c, 0xf1, - 0x1d, 0xcf, 0x80, 0xcd, 0x28, 0xd3, 0x6a, 0xa2, 0xd1, 0x8e, 0x52, 0x9a, 0xa1, 0xd5, 0x9b, 0xd7, - 0x6c, 0x53, 0x4b, 0xb5, 0x09, 0x18, 0xaf, 0xd2, 0x13, 0x3d, 0xb2, 0xc1, 0xf8, 0xdf, 0x79, 0x58, - 0x12, 0x17, 0x65, 0x0d, 0x6c, 0xfe, 0x06, 0x16, 0x04, 0xa8, 0xda, 0xed, 0x06, 0xfe, 0x0b, 0xdc, - 0xd6, 0x39, 0xcd, 0x9e, 0x50, 0x0b, 0x4e, 0x3b, 0xbc, 0x4e, 0xcc, 0x6c, 0x13, 0xfa, 0x9b, 0x09, - 0xb3, 0x7c, 0xa1, 0x1b, 0x16, 0x26, 0x0d, 0xfa, 0x48, 0x50, 0x35, 0x2c, 0x7a, 0xf2, 0x2b, 0xd5, - 0xc8, 0xb4, 0x53, 0x61, 0x9a, 0xe1, 0xd7, 0x0d, 0xd3, 0x90, 0xad, 0xa9, 0x4e, 0xb3, 0x36, 0x0d, - 0x93, 0x3b, 0xf8, 0x65, 0xcc, 0xf7, 0xdf, 0xcb, 0xc1, 0x94, 0x36, 0xb9, 0xd1, 0x3b, 0x30, 0x42, - 0xff, 0xa0, 0x8b, 0x26, 0x7f, 0x47, 0x46, 0x26, 0x98, 0xf6, 0x8e, 0x8c, 0x55, 0xdd, 0x82, 0x31, - 0x76, 0x29, 0xac, 0x7d, 0x89, 0x3d, 0x84, 0xbc, 0x73, 0xd8, 0x62, 0x28, 0x6c, 0x3b, 0xc1, 0xf1, - 0xad, 0xc7, 0xf0, 0x16, 0xbf, 0x5f, 0xa6, 0x0b, 0xbf, 0xae, 0xfa, 0xef, 0x97, 0xb4, 0xf1, 0x96, - 0x03, 0x4b, 0x1b, 0x38, 0x69, 0x7a, 0xb4, 0x3b, 0x99, 0x5f, 0xc2, 0x75, 0x0d, 0x2e, 0x29, 0xd2, - 0xb7, 0x26, 0x52, 0x87, 0x24, 0xe9, 0x64, 0x6d, 0xeb, 0x4e, 0x56, 0x13, 0x6a, 0x67, 0x2d, 0x0c, - 0xd7, 0xe9, 0x4e, 0x59, 0x1e, 0xb6, 0x85, 0x57, 0xb0, 0x7a, 0xf7, 0x95, 0x79, 0xcd, 0x2c, 0x1e, - 0x7b, 0xa6, 0x2c, 0x96, 0x27, 0x59, 0x6a, 0xfd, 0xcf, 0x1c, 0x58, 0x9c, 0x73, 0x59, 0x61, 0x1c, - 0x31, 0xe0, 0xc3, 0x54, 0x6f, 0xf8, 0x2a, 0x71, 0x43, 0x0d, 0x56, 0xc5, 0xa5, 0x4c, 0xb5, 0xe8, - 0xcb, 0xad, 0x56, 0x0c, 0xd5, 0x54, 0x2b, 0x35, 0xbc, 0x9f, 0x1b, 0xec, 0x20, 0x9b, 0x4d, 0x34, - 0x77, 0x8e, 0xc1, 0x0e, 0x6a, 0x74, 0x33, 0x89, 0xa8, 0xf1, 0xae, 0xbf, 0x93, 0x83, 0x5b, 0x6c, - 0xc8, 0xbb, 0x81, 0xfb, 0xc2, 0xed, 0xe0, 0x23, 0xac, 0x09, 0xb7, 0x97, 0x7d, 0x22, 0x95, 0xbb, - 0x94, 0x65, 0xa3, 0x69, 0x40, 0x30, 0x47, 0x37, 0x85, 0x3f, 0xb3, 0xe8, 0x5b, 0x7f, 0x33, 0x07, - 0x4b, 0xe2, 0x95, 0x62, 0xe2, 0x98, 0xe6, 0xaa, 0x4e, 0x4a, 0x4d, 0x3b, 0x04, 0xc9, 0x1b, 0x0e, - 0x41, 0xb4, 0xf8, 0x73, 0x94, 0x3c, 0x15, 0xf9, 0xd5, 0x10, 0xcc, 0xec, 0x3a, 0x47, 0xae, 0x47, - 0xe6, 0x97, 0xc8, 0xa3, 0x83, 0xaa, 0xa9, 0x74, 0x64, 0xfd, 0x6f, 0x5f, 0x65, 0xe4, 0x1b, 0x5b, - 0x51, 0x33, 0x03, 0xe5, 0x4d, 0x37, 0xfc, 0xf5, 0xfc, 0x3f, 0x9f, 0x68, 0x11, 0xb8, 0xd4, 0x05, - 0x3c, 0xfa, 0xd6, 0xcc, 0xf3, 0xdb, 0x89, 0x14, 0x7d, 0x34, 0x8a, 0xf5, 0x14, 0x26, 0x94, 0x5b, - 0x74, 0xdc, 0x28, 0xa6, 0x28, 0x50, 0x43, 0x7b, 0xd2, 0x3b, 0xc4, 0x99, 0xe9, 0x98, 0x54, 0x0a, - 0x19, 0x49, 0x98, 0x46, 0xde, 0x70, 0x12, 0xa6, 0x6f, 0x59, 0x97, 0x45, 0x3c, 0x73, 0x94, 0xdb, - 0x46, 0x46, 0x3e, 0x15, 0xd4, 0x3c, 0x58, 0x55, 0x7a, 0x9f, 0x95, 0x51, 0x4e, 0x25, 0x56, 0x03, - 0x28, 0x88, 0xdc, 0x95, 0xd6, 0x3f, 0x18, 0x85, 0xb9, 0x6d, 0x37, 0x8c, 0x84, 0x74, 0xc3, 0xd8, - 0xbc, 0x4d, 0x0a, 0x98, 0xe2, 0xa3, 0x73, 0x4f, 0x84, 0xc1, 0x9b, 0x89, 0x54, 0x9a, 0x1a, 0x02, - 0xfa, 0x40, 0x8d, 0x94, 0xe4, 0x95, 0x04, 0x1b, 0xe9, 0x2c, 0x88, 0x6a, 0x08, 0xe5, 0x1d, 0x2d, - 0x28, 0xc4, 0xd6, 0x8e, 0x0e, 0x01, 0xa8, 0x6b, 0x07, 0x8b, 0xab, 0xac, 0x26, 0x23, 0x45, 0xac, - 0x01, 0x66, 0x17, 0x4e, 0xb0, 0xe6, 0x56, 0xca, 0x80, 0xcb, 0xbe, 0x0c, 0xb8, 0x8c, 0xd0, 0x1d, - 0xdd, 0x8f, 0x95, 0x80, 0x4b, 0x92, 0x09, 0x6a, 0xd0, 0x85, 0x3d, 0xe9, 0xee, 0x50, 0x80, 0xfa, - 0xa4, 0x9b, 0x55, 0x41, 0x7b, 0x30, 0xbb, 0x1b, 0xe0, 0x36, 0x35, 0x04, 0xeb, 0xdf, 0x77, 0x03, - 0xee, 0x46, 0xd3, 0xb0, 0x1d, 0xcb, 0x36, 0xd6, 0x15, 0xc5, 0x4d, 0x2c, 0xcb, 0x55, 0x7b, 0x90, - 0x81, 0x8e, 0xd6, 0x61, 0xba, 0x81, 0x9d, 0xa0, 0x75, 0xfc, 0x18, 0x9f, 0x11, 0x53, 0x1d, 0x96, - 0xc6, 0xe2, 0x0c, 0x2d, 0x21, 0x2d, 0x21, 0x03, 0xa5, 0x45, 0xea, 0xd1, 0x8a, 0x8e, 0x84, 0x7e, - 0x06, 0xa3, 0x0d, 0x3f, 0x88, 0x6a, 0x67, 0x89, 0xb4, 0x98, 0x0c, 0x58, 0xbb, 0x29, 0xb2, 0xd4, - 0x84, 0x7e, 0x10, 0x35, 0x0f, 0x55, 0xbe, 0x71, 0x3c, 0xf4, 0x88, 0x78, 0x16, 0xc4, 0xdb, 0x89, - 0x9c, 0x4e, 0x9d, 0x5e, 0x2a, 0x60, 0x8f, 0xf2, 0xb8, 0xf7, 0x40, 0x5d, 0xa4, 0xc8, 0xe9, 0x34, - 0xe9, 0x5a, 0xa6, 0x1f, 0xf2, 0xa8, 0x58, 0xe8, 0x0c, 0xe6, 0x74, 0x45, 0xe7, 0x39, 0xac, 0x40, - 0x4b, 0x30, 0x97, 0x55, 0xa5, 0x76, 0x9f, 0xf7, 0xf2, 0x4e, 0x32, 0x79, 0x5a, 0x2a, 0xad, 0x55, - 0x66, 0x13, 0xaf, 0x13, 0x2c, 0xfb, 0xc3, 0x1c, 0xcc, 0x27, 0xf4, 0x83, 0x6f, 0x9a, 0x9e, 0xc2, - 0xb8, 0x04, 0xf2, 0x10, 0x81, 0x38, 0xd6, 0x48, 0x19, 0x4e, 0xa6, 0x9d, 0x62, 0xf2, 0xa8, 0xf2, - 0x8a, 0x69, 0xa0, 0x87, 0x89, 0xb8, 0x1a, 0x73, 0xc6, 0x3d, 0xfc, 0x7d, 0x52, 0xa3, 0x45, 0x35, - 0xf4, 0x09, 0x80, 0x22, 0x16, 0x36, 0x6b, 0x68, 0x9a, 0xc6, 0x6c, 0x89, 0x28, 0x95, 0xad, 0x7f, - 0x3b, 0x26, 0x56, 0x41, 0xbe, 0x7d, 0xdb, 0x0b, 0x9c, 0xd6, 0x49, 0x7c, 0x05, 0xf6, 0x83, 0xf4, - 0x7d, 0xd3, 0xcb, 0x4c, 0xe1, 0x7b, 0xda, 0x4b, 0x79, 0x73, 0xd2, 0xdd, 0x38, 0x69, 0xc2, 0xd0, - 0x25, 0x92, 0x26, 0x3c, 0x80, 0xb1, 0x2d, 0xef, 0x85, 0x4b, 0x3c, 0x45, 0x76, 0xf9, 0x92, 0xfa, - 0x59, 0x2e, 0x03, 0xa9, 0x8c, 0xe1, 0xb5, 0xd0, 0x27, 0x50, 0xd8, 0xf4, 0xc3, 0x88, 0xba, 0x4a, - 0x23, 0xb1, 0x37, 0x1e, 0xd1, 0x38, 0x63, 0xf3, 0x98, 0x17, 0xa9, 0x46, 0x42, 0x54, 0x47, 0x1f, - 0xc2, 0x58, 0xb5, 0xdd, 0x26, 0xb3, 0x90, 0xcf, 0x60, 0x9a, 0xb1, 0x93, 0x63, 0x3a, 0xac, 0x44, - 0x6d, 0x92, 0x57, 0x46, 0x9f, 0xeb, 0x41, 0xbf, 0xb1, 0x38, 0xa5, 0x48, 0x76, 0xf6, 0x5a, 0x3d, - 0x20, 0xf8, 0x8e, 0x38, 0x6c, 0x29, 0xc4, 0x49, 0x5a, 0x68, 0xc2, 0x15, 0xcd, 0xf4, 0xd1, 0xb3, - 0x9a, 0x2d, 0x18, 0xdf, 0xf2, 0xdc, 0xc8, 0xa5, 0x69, 0x2a, 0xc6, 0xb5, 0x05, 0x74, 0xd7, 0x09, - 0x22, 0xb7, 0xe5, 0x76, 0x1d, 0x2f, 0x62, 0xd2, 0x72, 0x45, 0x45, 0x55, 0x5a, 0x12, 0x5b, 0x4d, - 0x68, 0x05, 0x6f, 0x2c, 0xa1, 0x55, 0x66, 0x4e, 0xa8, 0x89, 0x57, 0xcf, 0x09, 0xb5, 0xca, 0x64, - 0x49, 0x53, 0xfb, 0x4e, 0xc6, 0x8a, 0x48, 0x63, 0x61, 0x7a, 0x42, 0x5f, 0x5b, 0x56, 0x44, 0x77, - 0x68, 0x5a, 0x8a, 0xa9, 0xf8, 0x1e, 0xb3, 0x76, 0xb8, 0x9b, 0xdf, 0x5a, 0x43, 0x4d, 0x98, 0x24, - 0xb5, 0x77, 0xfd, 0x8e, 0xdb, 0x72, 0x71, 0x58, 0x9a, 0xd6, 0x82, 0xa7, 0xfa, 0xa4, 0xa0, 0x95, - 0xce, 0x1a, 0x38, 0x62, 0x8b, 0x20, 0x6d, 0xba, 0xcb, 0x11, 0xd5, 0x45, 0x50, 0x25, 0x88, 0x7e, - 0x97, 0x18, 0x70, 0x95, 0x0a, 0x4f, 0x37, 0xbb, 0x90, 0xd9, 0xc4, 0xc1, 0x7b, 0xc2, 0xb2, 0xb3, - 0xe7, 0x29, 0x11, 0x03, 0xeb, 0x96, 0x5d, 0x45, 0xb0, 0x6c, 0x28, 0xc5, 0x27, 0x3c, 0x89, 0xd9, - 0xfb, 0x61, 0xfa, 0xf1, 0x0b, 0x4d, 0xb5, 0x18, 0x3f, 0x7e, 0x51, 0x15, 0x22, 0x7e, 0x06, 0xb3, - 0x0f, 0xb7, 0x6c, 0x7c, 0xea, 0xbf, 0xc0, 0x6f, 0x96, 0xec, 0xcf, 0xe1, 0xa6, 0x4e, 0x70, 0xbf, - 0xdb, 0xa6, 0x8f, 0x69, 0xd9, 0x51, 0x52, 0x66, 0xb2, 0x16, 0x8e, 0xc0, 0x92, 0xb5, 0xb0, 0x0c, - 0x00, 0xe4, 0x4f, 0x75, 0x3e, 0xd0, 0x32, 0xcb, 0x87, 0x45, 0x9d, 0x78, 0xb5, 0xdd, 0x56, 0x26, - 0x02, 0xf1, 0x00, 0x95, 0xcf, 0x84, 0xcb, 0xa9, 0xce, 0x18, 0x6a, 0x39, 0xbb, 0x31, 0x40, 0x9d, - 0xab, 0x4a, 0x3d, 0x0b, 0x43, 0x25, 0xc9, 0x1e, 0xc2, 0x32, 0xb5, 0xcd, 0x1a, 0x4c, 0x29, 0x9f, - 0x72, 0x13, 0x43, 0x4d, 0x89, 0xd2, 0x82, 0xce, 0x30, 0x1d, 0xc5, 0x6a, 0x41, 0x39, 0x8b, 0x69, - 0x74, 0x9a, 0x9d, 0xa1, 0xf5, 0x78, 0xea, 0x0e, 0x3e, 0xc2, 0xbb, 0x6e, 0x7c, 0xac, 0xf7, 0xb7, - 0x87, 0xe1, 0x16, 0x17, 0xc6, 0x9b, 0x94, 0x38, 0xfa, 0x05, 0x4c, 0x28, 0x32, 0xe6, 0x4c, 0xbf, - 0x23, 0x4e, 0xfd, 0x4d, 0xba, 0xc0, 0xec, 0x65, 0x8f, 0x02, 0x9a, 0x09, 0x71, 0x13, 0x4f, 0x56, - 0x55, 0x9b, 0x0e, 0x4c, 0xeb, 0x82, 0xe6, 0xbb, 0x83, 0xbb, 0x99, 0x8d, 0xe8, 0x55, 0x45, 0xda, - 0x82, 0x76, 0x33, 0x53, 0xdc, 0x34, 0x37, 0xae, 0xae, 0x44, 0xdf, 0xc3, 0x4c, 0x4a, 0xca, 0x7c, - 0x33, 0x71, 0x2f, 0xb3, 0xc1, 0x54, 0x6d, 0x66, 0xfc, 0x02, 0x0a, 0x36, 0x36, 0x9b, 0x6e, 0x04, - 0xb5, 0x61, 0x52, 0x15, 0x3c, 0xdf, 0x6d, 0xbc, 0xd5, 0x87, 0x95, 0xac, 0x22, 0x33, 0x55, 0x9c, - 0x97, 0x54, 0xf6, 0x7a, 0x3a, 0x79, 0x8d, 0x6a, 0xad, 0x00, 0xa3, 0xec, 0x9b, 0x98, 0x80, 0xdd, - 0x00, 0x87, 0xd8, 0x6b, 0x61, 0xf5, 0x02, 0xc7, 0xeb, 0x9a, 0x80, 0x7f, 0x9f, 0x83, 0x52, 0x16, - 0xdd, 0x06, 0xf6, 0xda, 0x68, 0x17, 0x8a, 0xc9, 0x86, 0xb8, 0x56, 0x5b, 0xc2, 0xa3, 0x32, 0x77, - 0x69, 0xf3, 0x9a, 0x9d, 0xc2, 0x26, 0x8b, 0x90, 0x02, 0xbb, 0xe2, 0x4d, 0x99, 0x34, 0xaa, 0x12, - 0x3f, 0x78, 0xf7, 0x5d, 0x18, 0x97, 0x3f, 0x2b, 0x80, 0x0a, 0x30, 0xbc, 0xb5, 0xb3, 0xb5, 0xc7, - 0x2e, 0x0a, 0xee, 0xee, 0xef, 0x15, 0x73, 0x08, 0x60, 0x74, 0x6d, 0x7d, 0x7b, 0x7d, 0x6f, 0xbd, - 0x98, 0x7f, 0xd7, 0x53, 0x77, 0xe2, 0xe8, 0x16, 0x2c, 0xac, 0xad, 0x1f, 0x6c, 0xd5, 0xd7, 0x9b, - 0x7b, 0x7f, 0x6a, 0x77, 0xbd, 0xb9, 0xbf, 0xd3, 0xd8, 0x5d, 0xaf, 0x6f, 0x3d, 0xda, 0x5a, 0x5f, - 0x2b, 0x5e, 0x43, 0x73, 0x50, 0x54, 0x0b, 0xe9, 0xf5, 0xc3, 0x1c, 0x9a, 0x85, 0xeb, 0x1a, 0xca, - 0xca, 0xa3, 0x62, 0x1e, 0x95, 0x60, 0x4e, 0x05, 0x3e, 0x5b, 0xaf, 0x55, 0xf7, 0xf7, 0x36, 0x77, - 0x8a, 0x43, 0xef, 0xde, 0xe3, 0x87, 0xe4, 0x68, 0x1a, 0x60, 0x6d, 0xbd, 0x51, 0x5f, 0xdf, 0x59, - 0xdb, 0xda, 0xd9, 0x28, 0x5e, 0x43, 0x53, 0x30, 0x5e, 0x95, 0x9f, 0xb9, 0x95, 0x7f, 0xe5, 0xc0, - 0x04, 0x19, 0xbc, 0xd8, 0xd4, 0x36, 0x61, 0xe1, 0x89, 0xe3, 0x7a, 0x91, 0xe3, 0x7a, 0x5c, 0x64, - 0x82, 0xe1, 0xa8, 0xd2, 0x47, 0x02, 0x44, 0x78, 0xe5, 0x41, 0x57, 0x81, 0xee, 0xe7, 0x1e, 0xe6, - 0x50, 0x03, 0xe6, 0xb2, 0xbc, 0x4d, 0x64, 0xe9, 0xc9, 0x2a, 0xb2, 0x6c, 0x50, 0xd9, 0xb4, 0x60, - 0xa2, 0x27, 0x30, 0x93, 0x5a, 0x01, 0x65, 0x7f, 0x4d, 0x6b, 0x63, 0x3f, 0x72, 0x25, 0x1a, 0x94, - 0x8b, 0xdc, 0xe4, 0xfa, 0x17, 0xa2, 0x1b, 0x29, 0xeb, 0xba, 0x4e, 0x34, 0xdc, 0x48, 0xec, 0x61, - 0x0e, 0xd9, 0x30, 0x97, 0xb5, 0x96, 0xca, 0x21, 0xf7, 0x59, 0x68, 0xcb, 0x86, 0xe6, 0x08, 0xcd, - 0x2c, 0x6b, 0x2d, 0x69, 0xf6, 0x31, 0xe5, 0x46, 0x9a, 0x9f, 0x13, 0x3f, 0xc5, 0x6b, 0x3f, 0xc6, - 0xb8, 0x5b, 0xed, 0xb8, 0x2f, 0x70, 0x88, 0xc4, 0x45, 0x36, 0x09, 0x32, 0xe1, 0xde, 0xcf, 0xa1, - 0xdf, 0x82, 0x09, 0x9a, 0x76, 0x98, 0xdf, 0xbb, 0x98, 0x54, 0x53, 0x11, 0x97, 0xc5, 0x17, 0x2d, - 0x7c, 0x98, 0x43, 0x3f, 0x85, 0xb1, 0x0d, 0x4c, 0x2f, 0x1e, 0xa0, 0xb7, 0x12, 0xbf, 0xae, 0xb1, - 0xe5, 0xc9, 0x4d, 0x84, 0xe8, 0x70, 0x32, 0x4a, 0x83, 0xea, 0x50, 0xe0, 0xe8, 0x21, 0xb2, 0x12, - 0xf8, 0x61, 0x06, 0x81, 0xd9, 0x04, 0x01, 0xb2, 0x8f, 0x43, 0x75, 0x18, 0x97, 0xb7, 0x1f, 0xd0, - 0x82, 0xe1, 0xca, 0x45, 0xb9, 0x94, 0x2e, 0xe0, 0x71, 0xba, 0xa1, 0xbf, 0x9e, 0xcf, 0xa1, 0x07, - 0x00, 0xec, 0x71, 0x22, 0x1d, 0x4b, 0xb2, 0xa3, 0xe5, 0x14, 0x03, 0xd1, 0x06, 0x31, 0x04, 0x1d, - 0x1c, 0xe1, 0xcb, 0x0e, 0xde, 0x24, 0xad, 0x6d, 0x98, 0x96, 0x4f, 0x05, 0x2f, 0xcf, 0x09, 0x13, - 0xb5, 0x4f, 0xc9, 0x0c, 0x62, 0x6f, 0xf5, 0xe5, 0x75, 0x43, 0x64, 0xba, 0x80, 0x28, 0xc5, 0xc9, - 0xaa, 0x29, 0xb8, 0x32, 0xa7, 0xb3, 0xc4, 0x4d, 0x66, 0x79, 0x4e, 0xe0, 0x62, 0x28, 0xab, 0xed, - 0xea, 0x57, 0x0f, 0xd1, 0x1d, 0xa5, 0x03, 0x99, 0x37, 0x26, 0xcb, 0x6f, 0xf5, 0xa9, 0xc1, 0xe4, - 0x44, 0xad, 0xce, 0x57, 0x30, 0xa5, 0x5d, 0x56, 0x43, 0xe2, 0x9e, 0x7c, 0xd6, 0x6d, 0xc2, 0xf2, - 0x62, 0x76, 0x21, 0xdf, 0xee, 0x3f, 0xa2, 0xc6, 0x26, 0x91, 0x43, 0xb1, 0x9c, 0x95, 0x2b, 0x91, - 0x07, 0x1d, 0x44, 0x3e, 0x9c, 0x04, 0xca, 0x3a, 0xcc, 0xca, 0xa3, 0x0a, 0xe5, 0x87, 0x29, 0x0c, - 0x59, 0x17, 0x8d, 0x92, 0xfb, 0x12, 0x66, 0xb9, 0x1e, 0x68, 0x64, 0x8a, 0xd2, 0xb8, 0xf0, 0x04, - 0x7d, 0x46, 0x02, 0x5f, 0xc1, 0x7c, 0x23, 0x31, 0x1e, 0xe6, 0x58, 0xdd, 0xd4, 0x49, 0x28, 0xf9, - 0x16, 0x8d, 0xb4, 0x1e, 0x03, 0x6a, 0xf4, 0x0e, 0x4f, 0x5d, 0x49, 0xee, 0x85, 0x8b, 0x5f, 0xa2, - 0xdb, 0x89, 0x21, 0x11, 0x20, 0xad, 0x46, 0xad, 0x53, 0xd9, 0x30, 0x62, 0xb4, 0xc7, 0x92, 0x37, - 0xb0, 0x44, 0x54, 0x4e, 0xd7, 0x39, 0x74, 0x3b, 0x6e, 0x44, 0x36, 0x54, 0x77, 0x34, 0x04, 0xb5, - 0x48, 0x48, 0xf0, 0xa6, 0xb1, 0x06, 0xfa, 0x02, 0xa6, 0x36, 0x70, 0x14, 0xa7, 0x94, 0x44, 0x0b, - 0xa9, 0x24, 0x94, 0x5c, 0x6e, 0xe2, 0xd0, 0x5a, 0xcf, 0x63, 0xb9, 0x05, 0x45, 0x66, 0x5c, 0x15, - 0x12, 0xb7, 0x53, 0x24, 0x78, 0x15, 0x27, 0x70, 0x4e, 0x43, 0x23, 0xb7, 0x1e, 0xc0, 0xf0, 0xae, - 0xeb, 0x1d, 0x21, 0xf1, 0xb0, 0x50, 0x49, 0xc9, 0x56, 0x9e, 0xd5, 0x60, 0x5c, 0xf5, 0x0e, 0xa1, - 0xc2, 0x72, 0x29, 0xa6, 0xf3, 0x17, 0x8a, 0x84, 0xf1, 0x3f, 0x92, 0x77, 0x4c, 0xfb, 0xe4, 0x5c, - 0x94, 0xfc, 0x49, 0x96, 0x1f, 0xac, 0xa2, 0x5d, 0xca, 0xf5, 0x74, 0x03, 0xe8, 0x6e, 0xbc, 0x9e, - 0x1a, 0xd3, 0x27, 0x96, 0x51, 0x92, 0xf0, 0xc1, 0x2a, 0x92, 0x39, 0x1f, 0x32, 0x88, 0xde, 0xd3, - 0x96, 0xfd, 0xab, 0xd1, 0xfd, 0x02, 0xc6, 0x65, 0xee, 0x40, 0x69, 0x6f, 0x92, 0x09, 0x0f, 0xa5, - 0x01, 0x4f, 0xa7, 0x19, 0xfc, 0x9c, 0xa5, 0xf9, 0xd4, 0xf1, 0x93, 0xe9, 0xf5, 0x8c, 0xc2, 0xfb, - 0x04, 0x26, 0x94, 0xc4, 0x7a, 0x72, 0xb2, 0xa4, 0x93, 0xed, 0x95, 0xf5, 0x1f, 0x20, 0x7a, 0x48, - 0x16, 0x8d, 0x31, 0x9e, 0xc9, 0x15, 0xcd, 0xc7, 0x68, 0x4a, 0x5e, 0xb1, 0x04, 0x0a, 0xfa, 0x88, - 0xde, 0x59, 0xab, 0xf7, 0x82, 0x00, 0x7b, 0x0c, 0xcf, 0xe4, 0x86, 0x24, 0x10, 0x57, 0xe9, 0x42, - 0xc9, 0x7a, 0x78, 0x43, 0x6f, 0xca, 0xdc, 0xbd, 0x55, 0x00, 0xc6, 0x2c, 0xda, 0x92, 0x5e, 0x6c, - 0x64, 0xc7, 0x2a, 0x59, 0x08, 0xdb, 0x57, 0x44, 0xfa, 0x42, 0x2c, 0x86, 0x14, 0xa9, 0xa4, 0x89, - 0x40, 0x65, 0x87, 0x09, 0x7f, 0x0b, 0x8a, 0xd5, 0x16, 0x35, 0xcf, 0x32, 0x47, 0x1a, 0x5a, 0x92, - 0x53, 0x5f, 0x2f, 0x10, 0xb4, 0xe6, 0x93, 0x29, 0xd7, 0xb6, 0xb1, 0x43, 0xaf, 0xcf, 0x2d, 0xc8, - 0x45, 0x3a, 0x51, 0x94, 0x8d, 0x61, 0xec, 0xd4, 0x3a, 0xcc, 0xd5, 0x1d, 0xaf, 0x85, 0x3b, 0xaf, - 0x47, 0xe6, 0x53, 0x6a, 0xa7, 0x94, 0xfc, 0x71, 0x37, 0x92, 0xf8, 0xdc, 0x4c, 0xcd, 0xc8, 0x1d, - 0xa0, 0xac, 0x5a, 0x85, 0xeb, 0x8c, 0x89, 0x31, 0x5b, 0x4c, 0xd8, 0xa6, 0xe6, 0x3f, 0x82, 0xe9, - 0x75, 0x62, 0xc7, 0x7b, 0x6d, 0x97, 0xdd, 0xb4, 0x46, 0xfa, 0xd5, 0x59, 0x23, 0xe2, 0xa6, 0xc8, - 0xe8, 0xa9, 0x24, 0x56, 0x93, 0xb3, 0x23, 0x9d, 0xbb, 0xae, 0x3c, 0x27, 0xc8, 0xaa, 0x39, 0xd8, - 0xe8, 0xa2, 0x7d, 0x24, 0x92, 0xf7, 0x24, 0xd2, 0x65, 0xa9, 0x96, 0xc8, 0x98, 0x4c, 0xab, 0xfc, - 0xa3, 0xfe, 0x95, 0x54, 0x27, 0xce, 0x86, 0x05, 0x43, 0x2a, 0x32, 0xf4, 0xb6, 0xf4, 0xa7, 0xfb, - 0xa5, 0x2a, 0xcb, 0xf0, 0xf3, 0xbe, 0x51, 0x12, 0xd2, 0x18, 0x68, 0xf6, 0xcf, 0x51, 0x66, 0x64, - 0xb0, 0xbc, 0x4d, 0x98, 0x99, 0x4b, 0x0c, 0xbd, 0xa3, 0x53, 0xef, 0x93, 0x6f, 0xcc, 0xd8, 0xc2, - 0x53, 0xaa, 0x7a, 0x71, 0x2a, 0x2b, 0xe9, 0x2d, 0x65, 0xe5, 0x1b, 0x93, 0xde, 0x52, 0x66, 0x22, - 0x30, 0xc6, 0xe0, 0x0d, 0xb8, 0x9e, 0xc8, 0xea, 0x85, 0x6e, 0x27, 0x19, 0x3b, 0x80, 0xa1, 0x8c, - 0xd0, 0x13, 0xa1, 0xd8, 0x69, 0x42, 0xd9, 0x79, 0xbe, 0x4c, 0x63, 0x64, 0xe4, 0xf6, 0xa5, 0xef, - 0xa4, 0x66, 0xee, 0x42, 0x6f, 0x65, 0xb0, 0xf0, 0x72, 0xac, 0x63, 0x64, 0x1b, 0x50, 0x4c, 0x26, - 0xbe, 0x42, 0x4b, 0x92, 0x4b, 0x99, 0xd9, 0xbd, 0xca, 0x15, 0x63, 0x39, 0x5f, 0xad, 0xbe, 0x8a, - 0x85, 0xc2, 0xce, 0x05, 0x93, 0x42, 0x51, 0x93, 0x1e, 0xa5, 0x84, 0xa2, 0x67, 0x20, 0xda, 0xa0, - 0xeb, 0x89, 0x92, 0xdd, 0xc8, 0xb8, 0x9e, 0xdc, 0xce, 0xa2, 0x13, 0x1f, 0x7d, 0x35, 0x44, 0x86, - 0x61, 0xa5, 0x5f, 0x4b, 0xda, 0x82, 0x9b, 0xee, 0x5a, 0xc5, 0x58, 0x2e, 0x47, 0x5a, 0x4c, 0xe6, - 0x72, 0x92, 0x44, 0x0d, 0x49, 0x9e, 0x8c, 0xaa, 0xfc, 0x08, 0xe6, 0x74, 0x29, 0x0e, 0x18, 0xaf, - 0x89, 0xce, 0x1e, 0xcc, 0x67, 0xa6, 0x85, 0x92, 0xb6, 0xa8, 0x5f, 0xd2, 0xa8, 0x3e, 0xae, 0xf7, - 0x94, 0x96, 0xcd, 0x09, 0x89, 0xc3, 0xcf, 0x44, 0xe2, 0xa8, 0x94, 0x4c, 0x33, 0xb2, 0x4a, 0x31, - 0x99, 0x2a, 0x99, 0xa1, 0x2e, 0x23, 0xd3, 0xac, 0x44, 0x52, 0x92, 0xfd, 0x4a, 0xbf, 0xc4, 0xa2, - 0x9a, 0x2c, 0xb8, 0x0a, 0xfb, 0x2f, 0xd3, 0x35, 0x13, 0x9d, 0x35, 0xea, 0x6c, 0xc9, 0x9f, 0x83, - 0xbb, 0xa9, 0xb1, 0x49, 0x9b, 0x47, 0x65, 0x6d, 0x70, 0xfa, 0x14, 0xaa, 0xc3, 0xa4, 0x9a, 0x98, - 0xca, 0xd8, 0x8b, 0x5b, 0x69, 0x1a, 0xa1, 0xb2, 0xfd, 0x9b, 0x96, 0x5c, 0x60, 0xbd, 0x59, 0x4c, - 0x32, 0x47, 0xeb, 0x90, 0x79, 0x48, 0x48, 0x65, 0xcd, 0x80, 0x2e, 0x99, 0x9d, 0x8d, 0x59, 0xe6, - 0x76, 0xe9, 0xbf, 0x16, 0x68, 0xf8, 0xd1, 0x41, 0x23, 0x99, 0x7d, 0xfa, 0x5e, 0x43, 0xcd, 0x32, - 0x85, 0x14, 0x2d, 0xc9, 0xc8, 0x3e, 0x55, 0x5e, 0x32, 0x15, 0xab, 0x76, 0xff, 0x6b, 0x98, 0x49, - 0x65, 0xd3, 0x92, 0x71, 0x39, 0x53, 0x9e, 0xad, 0xfe, 0xb6, 0x75, 0x93, 0x0c, 0x38, 0x81, 0x78, - 0xb0, 0x32, 0x98, 0x68, 0x7a, 0x85, 0xde, 0x16, 0x4f, 0x3c, 0xb2, 0x3a, 0x67, 0xca, 0xd9, 0x35, - 0xd8, 0x40, 0x24, 0xb2, 0x75, 0x25, 0x0c, 0x44, 0x76, 0x2e, 0x2f, 0x23, 0xd5, 0xdf, 0xa5, 0xd9, - 0xbb, 0x13, 0x99, 0xa0, 0x64, 0x58, 0xc4, 0x98, 0xfd, 0x4b, 0x86, 0x45, 0xcc, 0x69, 0xb9, 0x18, - 0x37, 0xb7, 0x61, 0x2e, 0x2b, 0xb7, 0x96, 0x12, 0x46, 0x34, 0x26, 0xde, 0xca, 0xe0, 0xa8, 0x2d, - 0x66, 0xbb, 0x81, 0x5a, 0x9f, 0x4c, 0x5b, 0x46, 0x0e, 0x7c, 0x2b, 0xf2, 0xa7, 0xa5, 0x33, 0x62, - 0xc9, 0xcd, 0xe3, 0x80, 0x94, 0x59, 0x7d, 0x5c, 0xd5, 0xeb, 0x0d, 0xf7, 0xc8, 0x53, 0x92, 0x57, - 0x49, 0x47, 0x35, 0x9d, 0x35, 0x4b, 0x5a, 0x96, 0xac, 0x5c, 0x57, 0x4f, 0x61, 0x4e, 0x2c, 0xdc, - 0x6a, 0xb2, 0x27, 0x94, 0xc2, 0x89, 0x9f, 0x65, 0x48, 0x2b, 0x93, 0x99, 0x1d, 0x8a, 0x6d, 0x11, - 0xe9, 0xcf, 0x8d, 0x29, 0x5b, 0x44, 0x25, 0x0b, 0x53, 0x59, 0x4f, 0xd8, 0x84, 0x3e, 0xa3, 0x3b, - 0x3d, 0x96, 0xde, 0xd3, 0x1c, 0xa3, 0xd6, 0x28, 0xc5, 0x36, 0x6d, 0x55, 0x44, 0x31, 0x69, 0x83, - 0x3a, 0xe5, 0xc1, 0x9b, 0x37, 0x8a, 0xa4, 0x6f, 0xde, 0xd4, 0x8e, 0x9a, 0x63, 0x45, 0x93, 0xea, - 0x5b, 0x6f, 0xc9, 0xab, 0x8c, 0x94, 0x10, 0x92, 0x57, 0x59, 0xa9, 0x16, 0xe8, 0x5e, 0x61, 0x4f, - 0x38, 0x86, 0x31, 0xbd, 0xdb, 0x7d, 0x73, 0x25, 0x94, 0x97, 0xfa, 0x27, 0x18, 0xe0, 0x87, 0x15, - 0xc5, 0xe4, 0x73, 0x74, 0x94, 0x95, 0x1c, 0x43, 0x79, 0x93, 0x2f, 0xdd, 0x1b, 0xe3, 0x3b, 0xf6, - 0x5d, 0xe1, 0x74, 0xea, 0x74, 0x0d, 0x09, 0x0f, 0x54, 0xd2, 0xfd, 0xdd, 0x88, 0xf8, 0x65, 0xba, - 0xea, 0x1a, 0xa6, 0x5e, 0xbe, 0xab, 0x6e, 0x44, 0xc6, 0x63, 0x76, 0x57, 0xdc, 0x06, 0xca, 0x4e, - 0xe5, 0xf5, 0x8e, 0xee, 0xbc, 0xf5, 0xb9, 0x2a, 0x3c, 0xf0, 0x38, 0x08, 0xfd, 0x8e, 0xc8, 0x76, - 0x9a, 0x4e, 0x47, 0xf2, 0x76, 0x22, 0x2c, 0x94, 0x7d, 0x0f, 0xb6, 0xdc, 0x2f, 0xdb, 0x09, 0x7a, - 0x42, 0x5f, 0x08, 0x3e, 0xdd, 0x5a, 0xab, 0xf3, 0x1f, 0x15, 0xf6, 0x83, 0x54, 0xbc, 0x5d, 0xf9, - 0x61, 0x9c, 0x98, 0xc9, 0xac, 0x8a, 0x86, 0x78, 0xb0, 0x8a, 0x1a, 0x34, 0xec, 0xab, 0x41, 0x33, - 0x42, 0xee, 0x19, 0x04, 0xcb, 0xd9, 0x04, 0xe9, 0x19, 0xc4, 0xba, 0x58, 0xcd, 0xf4, 0x6e, 0x1a, - 0xfa, 0xd0, 0xcf, 0x0b, 0x60, 0x6a, 0x93, 0x4d, 0x46, 0xf4, 0x6e, 0x90, 0x1e, 0x31, 0x8e, 0x35, - 0xaa, 0x4f, 0xb6, 0x5f, 0x89, 0x63, 0x1a, 0xe2, 0xc1, 0x0a, 0xe7, 0x98, 0x06, 0xbd, 0x1a, 0xc7, - 0x12, 0x04, 0x75, 0x8e, 0xe9, 0xdd, 0x34, 0xf4, 0x61, 0x30, 0xc7, 0xb2, 0xc9, 0x5c, 0x96, 0x63, - 0x5f, 0xd3, 0xf5, 0x79, 0x83, 0xbe, 0x57, 0xbb, 0x12, 0xcf, 0x4a, 0xc2, 0x83, 0xd5, 0x51, 0x0f, - 0x56, 0xd1, 0x33, 0x9a, 0x88, 0x35, 0x01, 0xbf, 0x1c, 0xdf, 0x16, 0x4d, 0x44, 0x29, 0xe7, 0xb6, - 0x60, 0x9e, 0x71, 0x2e, 0xd9, 0x5d, 0x63, 0x5f, 0x8c, 0xc3, 0xde, 0x10, 0xce, 0x4e, 0x92, 0xd4, - 0x55, 0xf9, 0xb7, 0x46, 0x55, 0x64, 0x2f, 0x20, 0xfe, 0x69, 0x3b, 0xed, 0xbc, 0xea, 0x44, 0x44, - 0xa0, 0x5e, 0xaf, 0x7e, 0xb0, 0x82, 0xb6, 0xa8, 0x14, 0x74, 0x70, 0x3f, 0xef, 0x3e, 0x9b, 0x0c, - 0x65, 0xd2, 0xa6, 0x70, 0x88, 0x12, 0x7d, 0x32, 0xb5, 0x6d, 0xee, 0x94, 0xdc, 0xfa, 0x5c, 0x72, - 0x74, 0x26, 0x16, 0xb1, 0x85, 0x9d, 0xed, 0x34, 0x06, 0x71, 0x26, 0xf9, 0x83, 0xfc, 0xe8, 0x67, - 0x30, 0x2e, 0x90, 0x07, 0x33, 0x24, 0x89, 0x4d, 0x19, 0xf2, 0x05, 0x4c, 0x70, 0x86, 0xd0, 0x1e, - 0x98, 0x5a, 0x32, 0x76, 0xff, 0xa7, 0x30, 0xc1, 0xd9, 0xd0, 0x77, 0x04, 0xe6, 0x53, 0xce, 0xf9, - 0x0d, 0x1c, 0x65, 0xfc, 0x60, 0xf4, 0xa0, 0xc1, 0x64, 0xfd, 0x3e, 0x35, 0x3a, 0xa0, 0x2f, 0x7d, - 0x4d, 0x3f, 0xee, 0x6d, 0x22, 0x39, 0xf0, 0xa7, 0xc5, 0x09, 0xdd, 0x86, 0x99, 0xee, 0x40, 0x7c, - 0xe3, 0xe8, 0x77, 0x60, 0x91, 0x1e, 0x89, 0x5c, 0xb5, 0xc7, 0xe6, 0x4d, 0xca, 0xcd, 0xf8, 0x36, - 0x44, 0xf2, 0x77, 0xc5, 0x4d, 0xc4, 0x06, 0xfd, 0xa4, 0x39, 0xa1, 0xda, 0x30, 0x52, 0x1d, 0x84, - 0xdd, 0x67, 0x31, 0xba, 0x45, 0xc7, 0x7e, 0xc5, 0xde, 0xf6, 0xb7, 0x34, 0x89, 0x1f, 0x3a, 0x1f, - 0x74, 0x99, 0x23, 0xf9, 0x53, 0xea, 0x84, 0x4a, 0x23, 0x45, 0xc5, 0x54, 0xbb, 0xdf, 0xe2, 0x43, - 0x87, 0x76, 0xc9, 0xde, 0x98, 0x8f, 0x5c, 0xc6, 0x65, 0x1a, 0x14, 0xa4, 0xf8, 0xf6, 0x5a, 0x92, - 0x8f, 0xf2, 0x94, 0x7a, 0xf5, 0x22, 0x44, 0x55, 0xb6, 0xc6, 0xab, 0xe9, 0x40, 0x94, 0xd8, 0x64, - 0x66, 0x9e, 0x90, 0x24, 0x09, 0xb6, 0x37, 0xa1, 0xbf, 0xbe, 0xae, 0xec, 0x4d, 0x94, 0x44, 0x09, - 0x65, 0x3d, 0x8d, 0x01, 0x37, 0x61, 0x34, 0x97, 0x81, 0x7a, 0x0a, 0xa5, 0xa6, 0x4a, 0x50, 0xf7, - 0x26, 0x7a, 0x52, 0x07, 0xb9, 0x37, 0xa1, 0x0d, 0xea, 0x94, 0x07, 0xef, 0x4d, 0x28, 0x92, 0xbe, - 0x37, 0x51, 0x3b, 0x6a, 0x9e, 0x78, 0x28, 0x9d, 0xd5, 0x41, 0xee, 0xbb, 0x8d, 0x09, 0x1f, 0xfa, - 0x1c, 0x54, 0xcd, 0x66, 0xe4, 0xef, 0x91, 0x3e, 0xbf, 0x39, 0xb7, 0x4f, 0x59, 0x3f, 0x75, 0x79, - 0x98, 0x43, 0x3b, 0x34, 0x1d, 0x7a, 0xd6, 0x8f, 0xd2, 0x9b, 0xf4, 0xa7, 0xef, 0xaf, 0xe0, 0x13, - 0x7a, 0x8d, 0x6c, 0x7a, 0x7d, 0xf1, 0xfa, 0x6c, 0xeb, 0x6e, 0xf2, 0x0b, 0x2e, 0x57, 0xe8, 0xa2, - 0x59, 0xc5, 0xc7, 0x58, 0xe4, 0xd9, 0x8c, 0x5a, 0x54, 0x7f, 0x05, 0x9e, 0x2e, 0x59, 0xcb, 0x30, - 0xca, 0x90, 0x8c, 0xab, 0x8d, 0xf6, 0xcb, 0xf1, 0xe8, 0x3d, 0x71, 0x8e, 0x4c, 0x50, 0xb4, 0x22, - 0x63, 0xbf, 0xde, 0x83, 0x71, 0x16, 0x76, 0xbb, 0x3c, 0xca, 0x67, 0xe2, 0xb4, 0xb9, 0x5f, 0xc7, - 0xcc, 0x97, 0x3c, 0xa6, 0xd4, 0x30, 0xf6, 0xd5, 0x19, 0xf9, 0x53, 0x1a, 0xfa, 0x14, 0xa1, 0x06, - 0x33, 0xfe, 0x7c, 0xea, 0x57, 0xfe, 0x29, 0x4b, 0x3f, 0xa6, 0xf1, 0x57, 0x99, 0x08, 0xcb, 0xd4, - 0xfd, 0x99, 0x14, 0x36, 0xfa, 0x0c, 0xa6, 0x19, 0x73, 0x25, 0x72, 0xba, 0x52, 0x1f, 0x9e, 0x4d, - 0x33, 0x36, 0xbf, 0x0a, 0xf2, 0xcf, 0x44, 0xa0, 0x76, 0x60, 0xb7, 0x2f, 0x13, 0xa2, 0x1d, 0xcc, - 0x3a, 0x13, 0x95, 0xdf, 0xa1, 0x8b, 0x6e, 0x76, 0xf6, 0x16, 0x23, 0xb1, 0xfb, 0x4a, 0x08, 0xba, - 0x7f, 0xde, 0x97, 0x13, 0x7a, 0x59, 0x31, 0xb3, 0x92, 0x0c, 0x90, 0x0d, 0x48, 0xe7, 0x52, 0xfe, - 0xf1, 0xc0, 0x7a, 0x32, 0xce, 0xc5, 0x73, 0xf1, 0x67, 0xb7, 0x37, 0x20, 0x87, 0x4b, 0x46, 0xc8, - 0xd0, 0x90, 0x1a, 0x45, 0x10, 0xd4, 0x0f, 0x33, 0xfb, 0x8e, 0xc1, 0xbc, 0x45, 0x8b, 0x53, 0xea, - 0x5f, 0x51, 0x08, 0x66, 0x37, 0x0a, 0xa5, 0x13, 0xc6, 0xa0, 0x7e, 0x0f, 0xd7, 0xd4, 0x80, 0xac, - 0x29, 0xd1, 0xcc, 0x86, 0xb8, 0x19, 0x9b, 0x78, 0x05, 0x6a, 0x7a, 0x4f, 0xda, 0x67, 0x77, 0xc6, - 0xef, 0x86, 0xbe, 0x11, 0x42, 0x69, 0x69, 0x5f, 0x9d, 0x90, 0x0c, 0x0c, 0x27, 0x08, 0x59, 0x7d, - 0xc4, 0x3b, 0x38, 0xe8, 0x55, 0x32, 0xc8, 0xf5, 0xea, 0x02, 0x75, 0xe2, 0x5b, 0x88, 0xe9, 0xac, - 0x36, 0x72, 0xd9, 0x37, 0x66, 0xd8, 0x91, 0xd2, 0xed, 0x93, 0x12, 0xa7, 0x1e, 0xff, 0x18, 0x92, - 0x96, 0x06, 0xa7, 0x6e, 0x6f, 0xcb, 0x70, 0x5d, 0x56, 0x7e, 0x9c, 0x32, 0x88, 0x42, 0x7b, 0x9b, - 0xcc, 0x75, 0x53, 0x0a, 0x97, 0xf8, 0x26, 0x55, 0xff, 0x04, 0x37, 0x72, 0xae, 0x0f, 0xcc, 0x05, - 0xb3, 0x03, 0x73, 0x59, 0xa9, 0x57, 0xa4, 0xd0, 0xfa, 0xe4, 0x65, 0xc9, 0xbc, 0xae, 0xb5, 0x0b, - 0xf3, 0x99, 0xe9, 0x4f, 0xe4, 0x09, 0x49, 0xbf, 0xe4, 0x28, 0x99, 0x14, 0xbf, 0x81, 0x05, 0x43, - 0xae, 0x8f, 0x38, 0x80, 0xd8, 0x37, 0x17, 0x88, 0x51, 0x21, 0xbe, 0x83, 0xb2, 0x39, 0x8d, 0x04, - 0xba, 0xaf, 0x07, 0x41, 0xcd, 0xc9, 0x1b, 0xca, 0x99, 0x79, 0x6f, 0xd0, 0x1e, 0x4d, 0xc9, 0x97, - 0x95, 0x57, 0x42, 0xf6, 0xbb, 0x7f, 0xde, 0x09, 0xc3, 0x35, 0xbb, 0x05, 0x43, 0x2a, 0x89, 0x3e, - 0x54, 0x2f, 0xd1, 0xdb, 0x1d, 0x61, 0x97, 0xf4, 0x2c, 0x09, 0x89, 0x1b, 0xfb, 0x99, 0x29, 0x14, - 0x32, 0xfb, 0xf9, 0x15, 0x4c, 0x69, 0xef, 0x68, 0xa5, 0xfa, 0x67, 0xbd, 0xbe, 0x96, 0xd1, 0xea, - 0xcc, 0xa7, 0xb7, 0xb5, 0xe2, 0x0f, 0xff, 0x7d, 0x29, 0xf7, 0xc3, 0xaf, 0x97, 0x72, 0xff, 0xe5, - 0xd7, 0x4b, 0xb9, 0x5f, 0xfd, 0x7a, 0x29, 0x77, 0x38, 0x4a, 0xab, 0xaf, 0xfe, 0xbf, 0x00, 0x00, - 0x00, 0xff, 0xff, 0x71, 0xbd, 0x07, 0xb3, 0x90, 0x93, 0x00, 0x00, + 0x3b, 0xbe, 0x9e, 0x79, 0xf7, 0xd9, 0x1e, 0x69, 0xfe, 0x33, 0x77, 0xe6, 0x76, 0xb7, 0x64, 0x49, + 0x63, 0x59, 0xd6, 0x54, 0xcb, 0xed, 0x61, 0xee, 0xbc, 0xd7, 0xb7, 0xd4, 0x9d, 0x96, 0x0a, 0xb5, + 0xaa, 0xfa, 0x56, 0x55, 0xdb, 0x23, 0x08, 0x08, 0x7e, 0x8f, 0x5f, 0x40, 0xf0, 0x16, 0xb0, 0x60, + 0xc5, 0x0b, 0x60, 0x05, 0xc1, 0x86, 0x20, 0x08, 0x36, 0x40, 0x04, 0x1b, 0x06, 0x22, 0x08, 0xd8, + 0xbc, 0x20, 0xe2, 0x2d, 0xc4, 0xe5, 0xae, 0x08, 0xad, 0x88, 0x20, 0x20, 0x82, 0xbb, 0x22, 0xf2, + 0x5b, 0x99, 0x55, 0x95, 0xdd, 0x92, 0x6d, 0xde, 0xdb, 0xd8, 0xaa, 0x93, 0x79, 0x4e, 0x66, 0x9e, + 0x73, 0xf2, 0xe4, 0xc9, 0x93, 0x99, 0xa7, 0x61, 0xce, 0xe9, 0x47, 0x47, 0x21, 0x0e, 0x5e, 0xb8, + 0x6d, 0x7c, 0xaf, 0x17, 0xf8, 0x91, 0x8f, 0xc6, 0xe8, 0x7f, 0xe5, 0x85, 0x43, 0xff, 0xd0, 0xa7, + 0x7f, 0xde, 0x27, 0x7f, 0xb1, 0xc2, 0xf2, 0x8d, 0x43, 0xdf, 0x3f, 0xec, 0xe2, 0xfb, 0xf4, 0xeb, + 0xa0, 0xff, 0xfc, 0x3e, 0x3e, 0xe9, 0x45, 0xa7, 0xbc, 0xb0, 0x92, 0x2c, 0x8c, 0xdc, 0x13, 0x1c, + 0x46, 0xce, 0x49, 0x8f, 0x57, 0x98, 0x6a, 0xe3, 0x20, 0x0a, 0xf9, 0xc7, 0x47, 0x87, 0x6e, 0x74, + 0xd4, 0x3f, 0xb8, 0xd7, 0xf6, 0x4f, 0xee, 0x1f, 0x06, 0xce, 0x0b, 0x37, 0x72, 0x22, 0xd7, 0xf7, + 0x9c, 0xee, 0xfd, 0x08, 0x77, 0x71, 0xcf, 0x0f, 0xa2, 0xfb, 0x4e, 0xcf, 0xbd, 0x1f, 0x9d, 0xf6, + 0x70, 0xc8, 0xfe, 0xe5, 0x88, 0xf5, 0xcb, 0x20, 0xbe, 0xc4, 0x07, 0x64, 0x88, 0x9e, 0xfc, 0xe3, + 0x95, 0x88, 0x04, 0x4e, 0xaf, 0x87, 0x83, 0xf8, 0x0f, 0x4e, 0xe4, 0xcb, 0xcb, 0x10, 0xc1, 0x2f, + 0xb0, 0x17, 0x89, 0xff, 0x18, 0x01, 0xeb, 0x9f, 0x2e, 0xc0, 0xd8, 0x06, 0x01, 0xa0, 0x8f, 0x61, + 0x74, 0xff, 0xb4, 0x87, 0x4b, 0xb9, 0x5b, 0xb9, 0xbb, 0xb3, 0xab, 0x45, 0x56, 0x7e, 0xef, 0x49, + 0x0f, 0x07, 0x94, 0x64, 0x0d, 0x9d, 0x9f, 0x55, 0x66, 0x09, 0xa1, 0x9f, 0xf8, 0x27, 0x6e, 0x44, + 0xb9, 0x6e, 0x53, 0x0c, 0xf4, 0x0c, 0x66, 0x6d, 0x1c, 0xfa, 0xfd, 0xa0, 0x8d, 0xb7, 0xb0, 0xd3, + 0xc1, 0x41, 0x29, 0x7f, 0x2b, 0x77, 0x77, 0x6a, 0x75, 0xf1, 0x1e, 0x63, 0x9a, 0x5e, 0x58, 0xbb, + 0x76, 0x7e, 0x56, 0x41, 0x01, 0x87, 0xc5, 0xc4, 0xb6, 0xae, 0xd8, 0x09, 0x32, 0xe8, 0x3b, 0x98, + 0xa9, 0xe3, 0x20, 0xaa, 0xf6, 0xa3, 0x23, 0x3f, 0x70, 0xa3, 0xd3, 0xd2, 0x08, 0xa5, 0x7b, 0x8d, + 0xd3, 0xd5, 0xca, 0x9a, 0xab, 0xb5, 0xe5, 0xf3, 0xb3, 0x4a, 0x89, 0x08, 0xb8, 0xe5, 0x08, 0xa8, + 0x46, 0x5e, 0x27, 0x86, 0xbe, 0x81, 0xe9, 0x06, 0x61, 0x57, 0x7b, 0xdf, 0x3f, 0xc6, 0x5e, 0x58, + 0x1a, 0xd5, 0x3a, 0xad, 0x16, 0x35, 0x57, 0x6b, 0x37, 0xce, 0xcf, 0x2a, 0x4b, 0x21, 0x85, 0xb5, + 0x22, 0x0a, 0xd4, 0x48, 0x6b, 0x94, 0xd0, 0x2f, 0x60, 0x76, 0x2f, 0xf0, 0x5f, 0xb8, 0xa1, 0xeb, + 0x7b, 0x14, 0x54, 0x1a, 0xa3, 0xb4, 0x97, 0x38, 0x6d, 0xbd, 0xb0, 0xb9, 0x5a, 0xbb, 0x79, 0x7e, + 0x56, 0xb9, 0xde, 0x13, 0x50, 0xd6, 0x80, 0xce, 0x19, 0x1d, 0x05, 0xed, 0xc3, 0x54, 0xbd, 0xdb, + 0x0f, 0x23, 0x1c, 0xec, 0x3a, 0x27, 0xb8, 0x34, 0x4e, 0xc9, 0x2f, 0x08, 0xbe, 0xc4, 0x25, 0xcd, + 0xd5, 0x5a, 0xf9, 0xfc, 0xac, 0x72, 0xad, 0xcd, 0x40, 0x2d, 0xcf, 0x39, 0xd1, 0x59, 0xae, 0x92, + 0x41, 0x1f, 0xc1, 0xe8, 0xd3, 0x10, 0x07, 0xa5, 0x02, 0x25, 0x37, 0xc3, 0xc9, 0x11, 0x50, 0x73, + 0x95, 0xc9, 0xbf, 0x1f, 0xe2, 0x40, 0xc3, 0xa7, 0x08, 0x04, 0xd1, 0xf6, 0xbb, 0xb8, 0x34, 0xa9, + 0x21, 0x12, 0x50, 0xf3, 0x03, 0x86, 0x18, 0xf8, 0x5d, 0xbd, 0x61, 0x8a, 0x80, 0xb6, 0x61, 0x92, + 0xb4, 0x1c, 0xf6, 0x9c, 0x36, 0x2e, 0x01, 0xc5, 0x2e, 0x72, 0x6c, 0x09, 0xaf, 0x2d, 0x9d, 0x9f, + 0x55, 0xe6, 0x3d, 0xf1, 0xa9, 0x51, 0x89, 0xb1, 0xd1, 0x97, 0x30, 0xde, 0xc0, 0xc1, 0x0b, 0x1c, + 0x94, 0xa6, 0x28, 0x9d, 0xab, 0x42, 0x90, 0x14, 0xd8, 0x5c, 0xad, 0x2d, 0x9c, 0x9f, 0x55, 0x8a, + 0x21, 0xfd, 0xd2, 0x68, 0x70, 0x34, 0xa2, 0x6d, 0x36, 0x7e, 0x81, 0x83, 0x10, 0xef, 0xf7, 0x3d, + 0x0f, 0x77, 0x4b, 0xd3, 0x9a, 0xb6, 0x69, 0x65, 0x42, 0xdb, 0x02, 0x06, 0x6c, 0x45, 0x14, 0xaa, + 0x6b, 0x9b, 0x86, 0x80, 0x8e, 0xa0, 0xc8, 0xfe, 0xaa, 0xfb, 0x9e, 0x87, 0xdb, 0x64, 0x4a, 0x95, + 0x66, 0x68, 0x03, 0xd7, 0x79, 0x03, 0xc9, 0xe2, 0xe6, 0x6a, 0xad, 0x72, 0x7e, 0x56, 0xb9, 0xc1, + 0x68, 0xb7, 0xda, 0xb2, 0x40, 0x6b, 0x26, 0x45, 0x95, 0x8c, 0xa3, 0xda, 0x6e, 0xe3, 0x30, 0xb4, + 0xf1, 0x2f, 0xfb, 0x38, 0x8c, 0x4a, 0xb3, 0xda, 0x38, 0xb4, 0xb2, 0xe6, 0x1a, 0x1b, 0x87, 0x43, + 0x81, 0xad, 0x80, 0x41, 0xf5, 0x71, 0x68, 0x08, 0x68, 0x0f, 0xa0, 0xda, 0xeb, 0x35, 0x70, 0x48, + 0x94, 0xb1, 0x74, 0x95, 0x92, 0x9e, 0xe7, 0xa4, 0x9f, 0xe1, 0x03, 0x5e, 0xd0, 0x5c, 0xad, 0x5d, + 0x3f, 0x3f, 0xab, 0x2c, 0x3a, 0xbd, 0x5e, 0x2b, 0x64, 0x20, 0x8d, 0xa8, 0x42, 0x83, 0xf1, 0xfd, + 0xc4, 0x8f, 0x30, 0x57, 0xc5, 0x52, 0x31, 0xc1, 0x77, 0xa5, 0x4c, 0xf4, 0x37, 0xa0, 0xc0, 0x16, + 0x57, 0xeb, 0x24, 0xdf, 0x15, 0x04, 0x32, 0x17, 0xd7, 0x9d, 0xc8, 0x39, 0x70, 0x42, 0xcc, 0xd5, + 0x63, 0x4e, 0x9b, 0x8b, 0x7a, 0x61, 0x73, 0x8d, 0xcd, 0xc5, 0x0e, 0x87, 0xb6, 0x32, 0xf4, 0x25, + 0x41, 0x8f, 0x70, 0x24, 0x1e, 0x78, 0x09, 0x0d, 0xe1, 0xc8, 0x4b, 0x7c, 0x90, 0xcd, 0x91, 0xb8, + 0x2a, 0xda, 0x82, 0xc2, 0x33, 0x7c, 0xc0, 0x2c, 0xc7, 0x3c, 0xa5, 0x37, 0x17, 0xd3, 0x63, 0x36, + 0x63, 0x8d, 0xcd, 0x0a, 0x42, 0x2d, 0x6d, 0x2d, 0x24, 0x36, 0xfa, 0xbd, 0x1c, 0x2c, 0x89, 0x19, + 0x8e, 0xa3, 0x97, 0x7e, 0x70, 0xec, 0x7a, 0x87, 0x75, 0xdf, 0x7b, 0xee, 0x1e, 0x96, 0x16, 0x28, + 0xe5, 0x5b, 0x09, 0xa3, 0x91, 0xa8, 0xd5, 0x5c, 0xad, 0xfd, 0xf8, 0xfc, 0xac, 0x72, 0x5b, 0x1a, + 0x10, 0x59, 0x4e, 0x14, 0xf2, 0xb9, 0x7b, 0xa8, 0x35, 0x6c, 0x6a, 0x0b, 0xfd, 0xc5, 0x1c, 0x5c, + 0xe3, 0xa3, 0xb3, 0x71, 0xdb, 0x0f, 0x3a, 0x71, 0x37, 0x16, 0x69, 0x37, 0x2a, 0x72, 0xb6, 0x66, + 0x55, 0x6a, 0xae, 0xd6, 0xee, 0x9c, 0x9f, 0x55, 0x2c, 0xce, 0xb8, 0x56, 0x20, 0x8a, 0xb3, 0x3a, + 0x61, 0x68, 0x88, 0x68, 0x02, 0x31, 0xfe, 0x7b, 0x01, 0x7e, 0x8e, 0x03, 0xec, 0xb5, 0x71, 0xe9, + 0x9a, 0xa6, 0x09, 0x7a, 0xa1, 0xb0, 0xca, 0x64, 0x29, 0x69, 0xf5, 0x24, 0x58, 0xd7, 0x04, 0x1d, + 0x05, 0xfd, 0x12, 0x10, 0x67, 0x40, 0xb5, 0xdf, 0x71, 0x23, 0x3e, 0xc0, 0x25, 0xda, 0xca, 0x0d, + 0x9d, 0xcf, 0x4a, 0x85, 0xe6, 0x6a, 0xcd, 0x3a, 0x3f, 0xab, 0xac, 0x08, 0x16, 0x3b, 0xa4, 0x28, + 0x6b, 0x60, 0x19, 0xc4, 0x89, 0xe5, 0xdd, 0xf1, 0xdb, 0xc7, 0xa5, 0x92, 0x66, 0x79, 0x09, 0x48, + 0x98, 0xec, 0xae, 0xdf, 0x3e, 0xd6, 0x2d, 0x2f, 0x29, 0x45, 0x11, 0xcc, 0x73, 0x29, 0xd9, 0x38, + 0x8c, 0x02, 0x97, 0xda, 0x8e, 0xb0, 0x74, 0x9d, 0xd2, 0x59, 0x16, 0x36, 0x38, 0x5d, 0xa3, 0xf9, + 0x3e, 0xeb, 0x2d, 0x57, 0x84, 0x56, 0xa0, 0x94, 0x69, 0xcd, 0x64, 0x91, 0x47, 0x7f, 0x0e, 0x16, + 0x9f, 0xb9, 0x5e, 0xc7, 0x7f, 0x19, 0xae, 0xe3, 0xf0, 0x38, 0xf2, 0x7b, 0x0d, 0xe6, 0xf9, 0x95, + 0xca, 0xb4, 0xdd, 0x15, 0xa1, 0xe6, 0x59, 0x75, 0x9a, 0x6b, 0xb5, 0xb7, 0xcf, 0xcf, 0x2a, 0x6f, + 0xbd, 0x64, 0x85, 0xad, 0x0e, 0x2b, 0x6d, 0x71, 0xe7, 0x51, 0x6b, 0x3c, 0xbb, 0x15, 0xa2, 0x02, + 0x7a, 0x41, 0xe9, 0x86, 0xa6, 0x02, 0x7a, 0xa1, 0x30, 0x06, 0x89, 0x06, 0x75, 0x15, 0xd0, 0x51, + 0xd0, 0x26, 0x14, 0x84, 0x79, 0x28, 0x2d, 0x6b, 0x53, 0x57, 0x80, 0x9b, 0x6b, 0xcc, 0x03, 0x12, + 0x26, 0x46, 0x9f, 0xb9, 0xa2, 0x16, 0xda, 0x81, 0x49, 0x6a, 0x23, 0xa9, 0xc9, 0xba, 0x49, 0x29, + 0x21, 0xa1, 0xa8, 0x02, 0xde, 0x5c, 0xab, 0x95, 0xce, 0xcf, 0x2a, 0x0b, 0xcc, 0xca, 0xa6, 0x0c, + 0x55, 0x4c, 0x00, 0xad, 0xc1, 0x48, 0xb5, 0xd7, 0x2b, 0xad, 0x50, 0x3a, 0xd3, 0x31, 0x9d, 0xe6, + 0x5a, 0x6d, 0xee, 0xfc, 0xac, 0x32, 0xe3, 0xf4, 0xf4, 0x61, 0x91, 0xda, 0x35, 0x80, 0x82, 0x70, + 0xc8, 0xbe, 0x1a, 0x2d, 0x4c, 0x14, 0x0b, 0xd6, 0x16, 0x8c, 0x3d, 0x73, 0xa2, 0xf6, 0x11, 0xfa, + 0x12, 0xc6, 0x1e, 0xb9, 0x5e, 0x27, 0x2c, 0xe5, 0x6e, 0x8d, 0xd0, 0x35, 0x9b, 0x79, 0x8b, 0xb4, + 0x90, 0x14, 0xd4, 0x96, 0x7e, 0x38, 0xab, 0x5c, 0x39, 0x3f, 0xab, 0x5c, 0x3d, 0x26, 0xd5, 0x14, + 0x97, 0x91, 0xe1, 0x59, 0xff, 0x22, 0x0f, 0x93, 0xb2, 0x36, 0x5a, 0x86, 0x51, 0xf2, 0x3f, 0xf5, + 0x3d, 0x27, 0x6b, 0x85, 0xf3, 0xb3, 0xca, 0x28, 0xc1, 0xb3, 0x29, 0x14, 0xad, 0xc2, 0xd4, 0x8e, + 0xef, 0x74, 0x1a, 0xb8, 0x1d, 0xe0, 0x28, 0xa4, 0xce, 0x65, 0xa1, 0x56, 0x3c, 0x3f, 0xab, 0x4c, + 0x77, 0x7d, 0xa7, 0xd3, 0x0a, 0x19, 0xdc, 0x56, 0x2b, 0x11, 0x8a, 0xd4, 0x33, 0x1a, 0x89, 0x29, + 0x12, 0x0f, 0xc2, 0xa6, 0x50, 0xf4, 0x15, 0x8c, 0x3f, 0x74, 0xbb, 0x64, 0xad, 0x19, 0xa5, 0xfd, + 0x5f, 0x4e, 0xf6, 0xff, 0x1e, 0x2b, 0xde, 0xf0, 0xa2, 0xe0, 0x94, 0x39, 0x0e, 0xcf, 0x29, 0x40, + 0x19, 0x08, 0xa7, 0x80, 0x1e, 0xc0, 0x44, 0xa3, 0x7f, 0x40, 0xbb, 0x3f, 0x46, 0x1b, 0xa3, 0xd2, + 0x0d, 0xfb, 0x07, 0x2d, 0x32, 0x04, 0x05, 0x41, 0x54, 0x2b, 0x7f, 0x02, 0x53, 0x0a, 0x79, 0x54, + 0x84, 0x91, 0x63, 0x7c, 0xca, 0xc6, 0x6e, 0x93, 0x3f, 0xd1, 0x02, 0x8c, 0xbd, 0x70, 0xba, 0x7d, + 0x4c, 0x87, 0x3a, 0x69, 0xb3, 0x8f, 0x4f, 0xf3, 0x1f, 0xe7, 0xac, 0xff, 0x3c, 0x0a, 0xc5, 0x2d, + 0x3f, 0x8c, 0x88, 0x27, 0x2b, 0x97, 0xe4, 0xdb, 0x30, 0x4e, 0x60, 0xdb, 0xeb, 0x9c, 0x7f, 0x53, + 0xe7, 0x67, 0x95, 0x89, 0x23, 0x3f, 0x8c, 0x5a, 0x6e, 0xc7, 0xe6, 0x45, 0xe8, 0x1d, 0x28, 0xec, + 0xfa, 0x1d, 0x4c, 0x99, 0x42, 0xc9, 0xd6, 0x66, 0xce, 0xcf, 0x2a, 0x93, 0x9e, 0xdf, 0xc1, 0xd4, + 0x2b, 0xb4, 0x65, 0x31, 0x6a, 0x72, 0x6f, 0x8e, 0xf1, 0xae, 0x46, 0x78, 0x47, 0xdc, 0xb7, 0xdf, + 0x9c, 0x55, 0x3e, 0xbc, 0xc4, 0x76, 0xe3, 0x5e, 0xe3, 0x34, 0x8c, 0xf0, 0x09, 0xa1, 0xc4, 0x9d, + 0xbd, 0x67, 0xb0, 0x50, 0xed, 0x74, 0x5c, 0x86, 0xb1, 0x17, 0xb8, 0x5e, 0xdb, 0xed, 0x39, 0xdd, + 0x90, 0xca, 0x60, 0xb2, 0x76, 0xfb, 0xfc, 0xac, 0x52, 0x71, 0x64, 0x79, 0xab, 0x27, 0x2b, 0x28, + 0x3c, 0xcc, 0x24, 0x80, 0xd6, 0xa0, 0xb0, 0xbe, 0xdb, 0xa0, 0xae, 0x60, 0x69, 0x8c, 0x12, 0xa3, + 0x8b, 0x63, 0xc7, 0x0b, 0xe9, 0xd0, 0x54, 0x02, 0xb2, 0x22, 0xfa, 0x10, 0xa6, 0xf7, 0xfa, 0x07, + 0x5d, 0xb7, 0xbd, 0xbf, 0xd3, 0x78, 0x84, 0x4f, 0xa9, 0x0f, 0x3d, 0xcd, 0x4c, 0x66, 0x8f, 0xc2, + 0x5b, 0x51, 0x37, 0x6c, 0x1d, 0xe3, 0x53, 0x5b, 0xab, 0x17, 0xe3, 0x35, 0x1a, 0x5b, 0x04, 0x6f, + 0x22, 0x85, 0x17, 0x86, 0x47, 0x2a, 0x1e, 0xab, 0x87, 0xee, 0x03, 0x30, 0xcf, 0xa4, 0xda, 0xe9, + 0x30, 0x17, 0x7b, 0xb2, 0x76, 0xf5, 0xfc, 0xac, 0x32, 0xc5, 0x7d, 0x19, 0xa7, 0xd3, 0x09, 0x6c, + 0xa5, 0x0a, 0xaa, 0x43, 0xc1, 0xf6, 0x19, 0x83, 0xb9, 0x63, 0x7d, 0x55, 0x3a, 0xd6, 0x0c, 0xcc, + 0xb7, 0x52, 0xfc, 0x4b, 0x1d, 0xa5, 0xa8, 0x81, 0x2a, 0x30, 0xb1, 0xeb, 0xd7, 0x9d, 0xf6, 0x11, + 0x73, 0xaf, 0x0b, 0xb5, 0xb1, 0xf3, 0xb3, 0x4a, 0xee, 0xb7, 0x6d, 0x01, 0xb5, 0xfe, 0x71, 0x01, + 0x8a, 0xc4, 0x87, 0xd7, 0x34, 0xea, 0x27, 0x30, 0xc9, 0xfa, 0xfe, 0x88, 0x2b, 0xe6, 0x74, 0x6d, + 0xf6, 0xfc, 0xac, 0x02, 0x7c, 0x80, 0x64, 0x70, 0x71, 0x05, 0x74, 0x17, 0x0a, 0x84, 0x82, 0x17, + 0xab, 0xd6, 0xf4, 0xf9, 0x59, 0xa5, 0xd0, 0xe7, 0x30, 0x5b, 0x96, 0xa2, 0x06, 0x4c, 0x6c, 0x7c, + 0xdf, 0x73, 0x03, 0x1c, 0xf2, 0xad, 0x5c, 0xf9, 0x1e, 0xdb, 0xb1, 0xdf, 0x13, 0x3b, 0xf6, 0x7b, + 0xfb, 0x62, 0xc7, 0x5e, 0xbb, 0xc9, 0x4d, 0xc8, 0x1c, 0x66, 0x28, 0xf1, 0xf8, 0x7e, 0xff, 0xbf, + 0x55, 0x72, 0xb6, 0xa0, 0x84, 0x7e, 0x02, 0xe3, 0x0f, 0xfd, 0xe0, 0xc4, 0x89, 0xe8, 0x0e, 0x6e, + 0x92, 0x4f, 0x57, 0x0a, 0xd1, 0xa6, 0x2b, 0x85, 0xa0, 0x87, 0x30, 0x6b, 0xfb, 0xfd, 0x08, 0xef, + 0xfb, 0xc2, 0xdd, 0x64, 0xb3, 0x76, 0xe5, 0xfc, 0xac, 0x52, 0x0e, 0x48, 0x49, 0x2b, 0xf2, 0xd3, + 0x8e, 0xa5, 0x9d, 0xc0, 0x42, 0x1b, 0x30, 0xab, 0x39, 0xc6, 0x61, 0x69, 0x9c, 0x6a, 0x1e, 0x73, + 0x1a, 0x34, 0x77, 0x5a, 0xd5, 0xbf, 0x04, 0x12, 0xda, 0x85, 0xb9, 0x47, 0xfd, 0x03, 0x1c, 0x78, + 0x38, 0xc2, 0xa1, 0xe8, 0xd1, 0x04, 0xed, 0xd1, 0xad, 0xf3, 0xb3, 0xca, 0xf2, 0xb1, 0x2c, 0xcc, + 0xe8, 0x53, 0x1a, 0x15, 0x61, 0xb8, 0xca, 0x3b, 0x2a, 0x97, 0xa1, 0x02, 0x77, 0xa7, 0x99, 0x89, + 0x4b, 0x94, 0xd6, 0x6e, 0x73, 0x2e, 0xdf, 0x90, 0x63, 0x4f, 0x2f, 0x4c, 0x76, 0x92, 0x26, 0x99, + 0x71, 0xd2, 0x9a, 0x4c, 0xd2, 0xde, 0xb2, 0x4d, 0x9a, 0xb0, 0x26, 0xaa, 0x2e, 0x4a, 0xbb, 0xb2, + 0x03, 0x63, 0x4f, 0x43, 0xe7, 0x90, 0x69, 0xe2, 0xec, 0xea, 0x5b, 0xbc, 0x47, 0x49, 0xed, 0xa3, + 0xfb, 0x7a, 0x5a, 0xb1, 0x36, 0x4f, 0x56, 0x90, 0x3e, 0xf9, 0x53, 0x5d, 0x41, 0x68, 0x19, 0xfa, + 0x1a, 0x80, 0xf7, 0x8a, 0xac, 0x6c, 0x53, 0x7c, 0xad, 0xd5, 0x06, 0x49, 0x16, 0xb1, 0x15, 0x3e, + 0xbe, 0x6b, 0x72, 0x7c, 0xda, 0x5a, 0x67, 0x2b, 0x44, 0xd0, 0x97, 0x30, 0x4d, 0xcd, 0x95, 0x90, + 0xe8, 0x34, 0x95, 0x28, 0xdd, 0xfa, 0x13, 0x03, 0x98, 0x25, 0x4f, 0x0d, 0x01, 0xfd, 0x79, 0x58, + 0xe4, 0xe4, 0x12, 0x6e, 0xc6, 0x0c, 0x77, 0xab, 0xb4, 0xee, 0xe9, 0x75, 0x6a, 0xef, 0xf2, 0x9e, + 0x5a, 0xb2, 0xa7, 0x46, 0xc7, 0xc3, 0xce, 0x6e, 0xc6, 0xfa, 0x06, 0x26, 0x25, 0xf3, 0xd0, 0x04, + 0x8c, 0x54, 0xbb, 0xdd, 0xe2, 0x15, 0xf2, 0x47, 0xa3, 0xb1, 0x55, 0xcc, 0xa1, 0x59, 0x80, 0x58, + 0x63, 0x8a, 0x79, 0x34, 0x1d, 0x3b, 0x2b, 0xc5, 0x11, 0x5a, 0xbf, 0xd7, 0x2b, 0x8e, 0x22, 0x94, + 0xf4, 0x92, 0x8a, 0x63, 0xd6, 0x7f, 0xcd, 0xa5, 0x14, 0x8b, 0xac, 0xcb, 0xdc, 0xb1, 0xa2, 0x7a, + 0xc0, 0x16, 0x1f, 0xba, 0x2e, 0x73, 0x97, 0x8c, 0x2d, 0x2c, 0x6a, 0x25, 0x62, 0x2b, 0xf6, 0x08, + 0x0f, 0xda, 0x7e, 0x57, 0xb5, 0x15, 0x3d, 0x0e, 0xb3, 0x65, 0x29, 0x5a, 0x55, 0xac, 0xca, 0x48, + 0xbc, 0xb0, 0x0a, 0xab, 0xa2, 0x6a, 0x98, 0xb4, 0x2f, 0xab, 0x8a, 0xf7, 0x35, 0x1a, 0xe3, 0x64, + 0x68, 0xb4, 0xac, 0x67, 0xf5, 0x0d, 0x32, 0x43, 0x9f, 0xa5, 0x9c, 0x45, 0x36, 0x42, 0xaa, 0x94, + 0x09, 0xd1, 0xa4, 0xfc, 0xc0, 0x0a, 0x8c, 0xed, 0xf8, 0x87, 0xae, 0xc7, 0x07, 0x39, 0x79, 0x7e, + 0x56, 0x19, 0xeb, 0x12, 0x80, 0xcd, 0xe0, 0xd6, 0xff, 0xcd, 0xa9, 0xfa, 0x2b, 0xfd, 0x95, 0x5c, + 0xa6, 0xbf, 0xf2, 0x13, 0x98, 0xe4, 0x9b, 0x9a, 0xed, 0x75, 0x4e, 0x91, 0xda, 0x63, 0xb1, 0x1f, + 0x72, 0x3b, 0x76, 0x5c, 0x81, 0xac, 0x34, 0xcc, 0x38, 0xd3, 0x95, 0x66, 0x24, 0x5e, 0x69, 0xb8, + 0xf9, 0x66, 0x2b, 0x4d, 0x5c, 0x85, 0x08, 0x52, 0x8d, 0x26, 0x8d, 0xc6, 0x82, 0x54, 0xe3, 0x46, + 0x7a, 0xac, 0xe8, 0x53, 0x80, 0xea, 0xb3, 0x06, 0xd1, 0xfe, 0xaa, 0xbd, 0xcb, 0x6d, 0x28, 0x0d, + 0x35, 0x39, 0x2f, 0xc3, 0x16, 0x9d, 0x2d, 0x4e, 0xa0, 0x2e, 0x49, 0x4a, 0x6d, 0xab, 0x0b, 0xb3, + 0x9b, 0x38, 0x22, 0x52, 0x13, 0x0b, 0xce, 0xe0, 0xe1, 0x7f, 0x0e, 0x53, 0xcf, 0xdc, 0xe8, 0x48, + 0x77, 0x00, 0x69, 0x63, 0x2f, 0xdd, 0xe8, 0x48, 0x38, 0x80, 0x4a, 0x63, 0x6a, 0x75, 0x6b, 0x03, + 0xae, 0xf2, 0xd6, 0xe4, 0xfa, 0xb6, 0xaa, 0x13, 0xcc, 0xc5, 0x1e, 0xa5, 0x4a, 0x50, 0x27, 0x83, + 0x93, 0x06, 0x1f, 0x35, 0x52, 0x4b, 0x00, 0xf3, 0x86, 0x4d, 0x91, 0x16, 0xaa, 0x38, 0x89, 0xa5, + 0x21, 0xb9, 0x20, 0x58, 0x4f, 0x61, 0x66, 0xaf, 0xdb, 0x3f, 0x74, 0x3d, 0xa2, 0xa0, 0x0d, 0xfc, + 0x4b, 0xb4, 0x0e, 0x10, 0x03, 0x78, 0x0b, 0x22, 0xbc, 0x10, 0x17, 0x34, 0xd7, 0xb8, 0x88, 0x29, + 0x84, 0xda, 0x70, 0x5b, 0xc1, 0xb3, 0xfe, 0xe6, 0x08, 0x20, 0xde, 0x46, 0x23, 0x72, 0x22, 0xdc, + 0xc0, 0x11, 0x59, 0x2e, 0xae, 0x41, 0x5e, 0xba, 0x8d, 0xe3, 0xe7, 0x67, 0x95, 0xbc, 0xdb, 0xb1, + 0xf3, 0xdb, 0xeb, 0xe8, 0x7d, 0x18, 0xa3, 0xd5, 0x28, 0xaf, 0x67, 0x65, 0x7b, 0x2a, 0x05, 0xa6, + 0xd3, 0x21, 0xf9, 0xd3, 0x66, 0x95, 0xd1, 0x07, 0x30, 0xb9, 0x8e, 0xbb, 0xf8, 0xd0, 0x89, 0x7c, + 0xa1, 0x77, 0xcc, 0x11, 0x13, 0x40, 0x45, 0x44, 0x71, 0x4d, 0xb2, 0x80, 0xdb, 0xd8, 0x09, 0x7d, + 0x4f, 0x5d, 0xc0, 0x03, 0x0a, 0x51, 0x17, 0x70, 0x56, 0x07, 0xfd, 0xbd, 0x1c, 0x4c, 0x55, 0x3d, + 0x8f, 0x3b, 0x38, 0x21, 0x0f, 0xad, 0x2e, 0xde, 0x93, 0x91, 0xf1, 0x1d, 0xe7, 0x00, 0x77, 0x9b, + 0xc4, 0x65, 0x0e, 0x6b, 0xdf, 0x11, 0x9b, 0xfa, 0x47, 0x67, 0x95, 0xcf, 0x5e, 0x25, 0xd8, 0x7e, + 0x6f, 0x3f, 0x70, 0xdc, 0x28, 0xa4, 0x71, 0xac, 0xb8, 0x41, 0x55, 0xcd, 0x94, 0x7e, 0xa0, 0x77, + 0x60, 0x8c, 0xe8, 0xb7, 0xf0, 0x03, 0xa8, 0xb0, 0xc9, 0x3c, 0xd0, 0x36, 0x3f, 0xb4, 0x86, 0x75, + 0x1b, 0x26, 0x39, 0x27, 0xb7, 0xd7, 0x4d, 0x22, 0xb0, 0xd6, 0xe1, 0x26, 0xf5, 0xe2, 0x30, 0xd1, + 0x5c, 0x1a, 0xcd, 0xe1, 0x9a, 0x18, 0xbb, 0xfd, 0x13, 0x14, 0x2c, 0xb1, 0xa9, 0x40, 0x68, 0x34, + 0xc8, 0x16, 0x25, 0x56, 0x1d, 0x96, 0x37, 0x71, 0x64, 0xe3, 0x10, 0x47, 0x7b, 0x4e, 0x18, 0xbe, + 0xf4, 0x83, 0x0e, 0x2d, 0xba, 0x14, 0x91, 0xbf, 0x92, 0x83, 0x4a, 0x3d, 0xc0, 0x44, 0xd2, 0x46, + 0x42, 0x83, 0x67, 0xf0, 0x32, 0x3f, 0x5c, 0xc8, 0xc7, 0xa5, 0x84, 0xd7, 0xfc, 0x00, 0xe1, 0x6d, + 0x18, 0xd9, 0xdf, 0xdf, 0xa1, 0x1a, 0x33, 0x42, 0x19, 0x37, 0x12, 0x45, 0xdd, 0xdf, 0x9c, 0x55, + 0x0a, 0xeb, 0x7d, 0x76, 0xf8, 0x60, 0x93, 0x72, 0xeb, 0x39, 0x2c, 0xda, 0xd8, 0xc3, 0x2f, 0x9d, + 0x83, 0x2e, 0xd6, 0xdc, 0xd5, 0x0a, 0x8c, 0xb1, 0x60, 0x59, 0x6a, 0x08, 0x0c, 0xae, 0xfb, 0xb3, + 0xf9, 0x21, 0xfe, 0xac, 0xf5, 0x07, 0x39, 0x28, 0xb2, 0xe1, 0xd6, 0xfc, 0xe8, 0x62, 0xe3, 0xe3, + 0x23, 0xc8, 0x0f, 0x1e, 0x01, 0xba, 0x13, 0x73, 0x7b, 0x24, 0x5e, 0xfc, 0x68, 0x57, 0x89, 0x0d, + 0x17, 0x85, 0x64, 0x40, 0x4c, 0x97, 0xd8, 0xd6, 0x88, 0x0e, 0x88, 0xea, 0x92, 0xd0, 0xa0, 0x7f, + 0x96, 0x87, 0x39, 0xa5, 0x8b, 0x61, 0xcf, 0xf7, 0x42, 0x4c, 0xf6, 0x78, 0x44, 0x59, 0x94, 0x7e, + 0xd2, 0x3d, 0x1e, 0x59, 0x32, 0x5b, 0xb1, 0x27, 0x4e, 0x3b, 0xfc, 0x0e, 0xd9, 0x5c, 0x74, 0x53, + 0xdb, 0x41, 0x6a, 0xb8, 0x59, 0x55, 0x51, 0x7c, 0xe1, 0x4e, 0xdf, 0x87, 0x02, 0xfd, 0x93, 0x30, + 0x62, 0xd4, 0xcc, 0x08, 0x59, 0x09, 0xb9, 0x00, 0x5f, 0xf9, 0xae, 0xf7, 0x18, 0x47, 0x47, 0xbe, + 0xd8, 0x3c, 0x6f, 0x13, 0x23, 0xf6, 0xa7, 0x7d, 0xd7, 0x6b, 0x9d, 0x50, 0xf0, 0x65, 0x37, 0x9d, + 0x31, 0x41, 0x5b, 0x21, 0x6e, 0x3d, 0x80, 0x22, 0xb1, 0x37, 0x17, 0x97, 0xa8, 0xb5, 0x00, 0x68, + 0x13, 0x47, 0x35, 0x5f, 0x5b, 0x38, 0xac, 0x19, 0x98, 0xda, 0x73, 0xbd, 0x43, 0xf1, 0xf9, 0x2f, + 0xf3, 0x30, 0xcd, 0xbe, 0xb9, 0x04, 0x12, 0x2b, 0x69, 0xee, 0x22, 0x2b, 0xe9, 0xc7, 0x30, 0xc3, + 0xc3, 0x39, 0x38, 0xa0, 0x21, 0x64, 0x26, 0x0f, 0xba, 0xa3, 0x64, 0x51, 0x9d, 0xd6, 0x0b, 0x56, + 0x62, 0xeb, 0x15, 0xd1, 0x0e, 0xcc, 0x32, 0xc0, 0x43, 0xec, 0x44, 0xfd, 0x78, 0x57, 0x75, 0x95, + 0xfb, 0x99, 0x02, 0xcc, 0x8c, 0x11, 0xa7, 0xf5, 0x9c, 0x03, 0xed, 0x04, 0x2e, 0xfa, 0x12, 0xae, + 0xee, 0x05, 0xfe, 0xf7, 0xa7, 0x8a, 0xef, 0xc0, 0xec, 0xf1, 0x22, 0xd9, 0x84, 0xf5, 0x48, 0x51, + 0x4b, 0xf5, 0x20, 0x92, 0xb5, 0x89, 0x4e, 0x6d, 0x87, 0x35, 0x3f, 0x70, 0xbd, 0x43, 0x2a, 0xcd, + 0x02, 0xd3, 0x29, 0x37, 0x6c, 0x1d, 0x50, 0xa0, 0x2d, 0x8b, 0xad, 0xff, 0x31, 0x02, 0x05, 0xd9, + 0xf0, 0x3d, 0xd5, 0x2d, 0xe5, 0x8b, 0x31, 0x9d, 0x9e, 0xf1, 0xe6, 0xc7, 0x56, 0x6a, 0xa0, 0xeb, + 0x2c, 0x98, 0xc5, 0xdc, 0x80, 0x09, 0xa2, 0x63, 0x4e, 0xaf, 0x47, 0x43, 0x56, 0xc4, 0x98, 0xae, + 0xd7, 0x28, 0x17, 0x0a, 0xcc, 0x98, 0x76, 0x0e, 0xec, 0xfc, 0x7a, 0x8d, 0xc8, 0xfa, 0xc9, 0xf6, + 0x7a, 0x9d, 0x0e, 0xa8, 0xc0, 0x64, 0xed, 0xbb, 0x9d, 0xb6, 0x4d, 0xa1, 0xa4, 0xb4, 0x51, 0x7d, + 0xbc, 0xc3, 0x3b, 0x4d, 0x4b, 0x43, 0xe7, 0xa4, 0x6b, 0x53, 0x28, 0xf1, 0x03, 0xd9, 0x1a, 0x5d, + 0xf7, 0xbd, 0x28, 0xf0, 0xbb, 0x21, 0x0d, 0x15, 0x14, 0xb4, 0xe5, 0xbc, 0xcd, 0x8b, 0xec, 0x44, + 0x55, 0xf4, 0x0c, 0x96, 0xaa, 0x9d, 0x17, 0x8e, 0xd7, 0xc6, 0x1d, 0x56, 0xf2, 0xcc, 0x0f, 0x8e, + 0x9f, 0x77, 0xfd, 0x97, 0x21, 0xdd, 0xe5, 0x15, 0xf8, 0x7e, 0x91, 0x57, 0x69, 0x71, 0x72, 0x2f, + 0x45, 0x25, 0xdb, 0x84, 0x4d, 0x4c, 0x44, 0xbd, 0xeb, 0xf7, 0x3b, 0x74, 0x7b, 0x57, 0x60, 0x26, + 0xa2, 0x4d, 0x00, 0x36, 0x83, 0x13, 0x2e, 0x6d, 0x35, 0x1e, 0xd3, 0xdd, 0x19, 0xe7, 0xd2, 0x51, + 0x78, 0x62, 0x13, 0x18, 0x7a, 0x1b, 0x26, 0x84, 0x4b, 0xcb, 0x82, 0x02, 0x34, 0x62, 0x24, 0x5c, + 0x59, 0x51, 0x86, 0xd6, 0x61, 0xee, 0xb1, 0xdf, 0xc1, 0x81, 0x13, 0xe1, 0x0e, 0xf7, 0x2e, 0x43, + 0xba, 0xd1, 0x2a, 0x30, 0xb7, 0xfa, 0x44, 0x14, 0x8a, 0x03, 0x8d, 0xd0, 0x4e, 0x23, 0x58, 0xef, + 0xc1, 0x1c, 0x9b, 0x7a, 0x17, 0xf6, 0xf7, 0xac, 0x3d, 0x80, 0x06, 0x3e, 0x71, 0x7a, 0x47, 0x3e, + 0x51, 0x8f, 0x9a, 0xfa, 0xc5, 0x1d, 0x20, 0x24, 0x8f, 0x0b, 0x78, 0x41, 0x73, 0x4d, 0x78, 0xc4, + 0xa2, 0xa6, 0xad, 0x60, 0x59, 0xff, 0x29, 0x0f, 0x88, 0x86, 0xcd, 0x1b, 0x51, 0x80, 0x9d, 0x13, + 0xd1, 0x8d, 0x4f, 0x60, 0x9a, 0x59, 0x51, 0x06, 0xa6, 0xdd, 0x21, 0xde, 0x15, 0x9b, 0x3e, 0x6a, + 0xd1, 0xd6, 0x15, 0x5b, 0xab, 0x4a, 0x50, 0x6d, 0x1c, 0xf6, 0x4f, 0x04, 0x6a, 0x5e, 0x43, 0x55, + 0x8b, 0x08, 0xaa, 0xfa, 0x8d, 0xbe, 0x84, 0xd9, 0xba, 0x7f, 0xd2, 0x23, 0x3c, 0xe1, 0xc8, 0x23, + 0xdc, 0x87, 0xe1, 0xed, 0x6a, 0x85, 0x5b, 0x57, 0xec, 0x44, 0x75, 0xb4, 0x0b, 0xf3, 0x0f, 0xbb, + 0xfd, 0xf0, 0xa8, 0xea, 0x75, 0xea, 0x5d, 0x3f, 0x14, 0x54, 0x46, 0x79, 0x48, 0x85, 0x4f, 0xfe, + 0x74, 0x8d, 0xad, 0x2b, 0x76, 0x16, 0x22, 0x7a, 0x9b, 0xdf, 0x01, 0xe0, 0xbe, 0xd4, 0xcc, 0x3d, + 0x7e, 0x45, 0xe0, 0x89, 0x87, 0x9f, 0x3c, 0xdf, 0xba, 0x62, 0xb3, 0xd2, 0xda, 0x24, 0x4c, 0x08, + 0xc3, 0x77, 0x1f, 0xe6, 0x14, 0x76, 0x12, 0xef, 0xaf, 0x1f, 0xa2, 0x32, 0x14, 0x9e, 0xf6, 0xba, + 0xbe, 0xd3, 0x11, 0xce, 0x84, 0x2d, 0xbf, 0xad, 0x9f, 0xe8, 0x9c, 0x46, 0xcb, 0xea, 0x8e, 0x86, + 0x55, 0x8e, 0x01, 0xd6, 0x96, 0xce, 0xdc, 0xc1, 0xb5, 0xb5, 0x76, 0xf3, 0x89, 0x76, 0x8b, 0x49, + 0x5e, 0x5b, 0x8b, 0x99, 0xcc, 0xb3, 0x1e, 0x51, 0x47, 0xa9, 0xda, 0xeb, 0x75, 0xdd, 0x36, 0x5d, + 0x5f, 0x98, 0x75, 0x94, 0x3e, 0xc6, 0x6f, 0xa9, 0x27, 0xd5, 0xca, 0xe2, 0x2a, 0xcf, 0xa5, 0x95, + 0xb3, 0x68, 0xeb, 0x5b, 0xb8, 0x69, 0x20, 0xc6, 0xd7, 0x89, 0x4f, 0x60, 0x82, 0x83, 0x12, 0x0a, + 0xad, 0xc6, 0xf6, 0xe9, 0xac, 0x0c, 0x39, 0xa6, 0xa8, 0x6f, 0x7d, 0x03, 0x2b, 0x4f, 0x7b, 0x21, + 0x0e, 0xd2, 0xe4, 0x45, 0x57, 0x3f, 0x94, 0x27, 0xe1, 0x39, 0xe3, 0xb9, 0x01, 0x9c, 0x9f, 0x55, + 0xc6, 0x19, 0x6d, 0x71, 0x00, 0x6e, 0xfd, 0x7e, 0x0e, 0x56, 0xd8, 0x54, 0x35, 0x92, 0xbe, 0x0c, + 0x17, 0x94, 0xb8, 0x74, 0xde, 0x1c, 0x97, 0x1e, 0x18, 0xa8, 0xb7, 0xbe, 0x06, 0x8b, 0xf7, 0xa8, + 0xdb, 0x7d, 0x43, 0xb2, 0xf9, 0x4b, 0x39, 0x58, 0x60, 0xc2, 0x79, 0x0d, 0x2a, 0xe8, 0xa7, 0x30, + 0xdb, 0x38, 0x76, 0x7b, 0x4d, 0xa7, 0xeb, 0x76, 0x58, 0x88, 0x96, 0x2d, 0x47, 0x8b, 0x74, 0xa5, + 0x3d, 0x76, 0x7b, 0xad, 0x17, 0x71, 0x51, 0xce, 0x4e, 0x54, 0xb6, 0x9e, 0xc0, 0x62, 0xa2, 0x0f, + 0x5c, 0x31, 0x3e, 0x4c, 0x2a, 0x46, 0xea, 0x1a, 0x43, 0xb6, 0x56, 0x3c, 0x86, 0x6b, 0x52, 0x2b, + 0x74, 0x91, 0xad, 0x25, 0xb4, 0x21, 0x45, 0x30, 0x4b, 0x15, 0xda, 0x70, 0x4d, 0x6a, 0xc2, 0x6b, + 0x68, 0x80, 0x10, 0x6e, 0x3e, 0x53, 0xb8, 0xdb, 0x50, 0x56, 0x85, 0xfb, 0x3a, 0x42, 0xfd, 0x8f, + 0x39, 0x58, 0xda, 0xc4, 0x1e, 0x5d, 0x7a, 0xaa, 0xbd, 0x9e, 0xb6, 0x33, 0x51, 0xc3, 0xd3, 0xb9, + 0x81, 0xe1, 0x69, 0xe9, 0x76, 0xe7, 0xb3, 0xdd, 0x6e, 0xb2, 0xa6, 0x3e, 0xb5, 0xb7, 0xb9, 0xae, + 0xd2, 0x35, 0xb5, 0x1f, 0xb8, 0x36, 0x81, 0xa1, 0xed, 0x38, 0xb4, 0x3d, 0x3a, 0x34, 0xb4, 0x3d, + 0xcf, 0x43, 0x7d, 0x13, 0x3c, 0xb4, 0xad, 0x05, 0xb4, 0xad, 0xcf, 0xa0, 0x94, 0x1e, 0x0b, 0xd7, + 0x8f, 0x61, 0x5b, 0x1d, 0x6b, 0x3d, 0xd6, 0x6e, 0x7e, 0x0a, 0x2e, 0x43, 0xfa, 0x09, 0x13, 0x3a, + 0x20, 0x84, 0x64, 0x35, 0x62, 0xfd, 0xe4, 0x54, 0x78, 0xfb, 0x9f, 0x12, 0xfd, 0x64, 0x37, 0x1d, + 0x72, 0xe6, 0x9b, 0x0e, 0x5c, 0x47, 0x19, 0xaa, 0x40, 0xb0, 0x9e, 0xc1, 0x35, 0x8d, 0x68, 0xac, + 0xf5, 0x3f, 0x85, 0x82, 0x74, 0x30, 0xf4, 0x08, 0x87, 0x46, 0x96, 0xca, 0x4d, 0xfa, 0x1a, 0x12, + 0xc5, 0xfa, 0x55, 0x0e, 0x96, 0xd8, 0xea, 0x92, 0x1e, 0xf7, 0xc5, 0xa5, 0xff, 0xc7, 0x12, 0x36, + 0x7b, 0x90, 0x11, 0x36, 0xa3, 0x28, 0x6a, 0xd8, 0x4c, 0x0d, 0x96, 0x7d, 0x35, 0x5a, 0xc8, 0x17, + 0x47, 0xac, 0x26, 0x94, 0xd2, 0x23, 0x7c, 0x03, 0x32, 0xd9, 0x84, 0x25, 0x65, 0xa2, 0xbf, 0x86, + 0xc6, 0x6c, 0xc1, 0x72, 0xec, 0xe6, 0x69, 0x32, 0xbe, 0xa4, 0x1c, 0xb8, 0xee, 0xc5, 0x7d, 0x7f, + 0x83, 0xba, 0x17, 0x57, 0x7c, 0x63, 0xba, 0xb7, 0x0d, 0xf3, 0x8c, 0xb0, 0x3e, 0x4f, 0x57, 0xd5, + 0x79, 0x9a, 0x79, 0x7f, 0x27, 0x3d, 0x75, 0x1f, 0xd3, 0xa9, 0x2b, 0xaa, 0xc4, 0x3d, 0xfc, 0x00, + 0xc6, 0xf9, 0x15, 0x45, 0xd6, 0xbf, 0x0c, 0x62, 0xd4, 0x86, 0xb3, 0x7b, 0x89, 0x36, 0xaf, 0x6c, + 0x95, 0xe8, 0x90, 0xc9, 0xbe, 0x89, 0x07, 0xe0, 0xe5, 0x2e, 0xf6, 0x6b, 0x62, 0x2c, 0x13, 0x25, + 0xaf, 0xb9, 0xfe, 0x3c, 0x81, 0x12, 0x5b, 0x7f, 0x14, 0xaa, 0xaf, 0xb5, 0x02, 0x7d, 0x0c, 0x25, + 0xa6, 0x4f, 0x19, 0x04, 0x07, 0x2f, 0x2b, 0x2b, 0x42, 0x13, 0xab, 0xdd, 0x6e, 0xd6, 0xe8, 0xff, + 0x5a, 0x0e, 0xae, 0x6f, 0xe2, 0x48, 0xbf, 0xc5, 0xf5, 0x27, 0xe2, 0x05, 0x7c, 0x07, 0xe5, 0xac, + 0x8e, 0x70, 0x51, 0x7c, 0x91, 0x14, 0x85, 0xf1, 0xca, 0x5a, 0xb6, 0x48, 0xbe, 0x85, 0x1b, 0x4c, + 0x24, 0x7a, 0x7d, 0x31, 0xd0, 0xcf, 0x12, 0x52, 0x31, 0x52, 0xcf, 0x92, 0xce, 0xdf, 0xce, 0xc1, + 0x0d, 0xc6, 0xe4, 0x6c, 0xe2, 0x7f, 0xdc, 0x7e, 0xe2, 0x2e, 0x54, 0xa4, 0xcc, 0xdf, 0x80, 0x60, + 0xad, 0x36, 0x20, 0x41, 0xa6, 0xde, 0xb0, 0x05, 0x89, 0xeb, 0x30, 0x52, 0x6f, 0xd8, 0xfc, 0x40, + 0x9c, 0x2e, 0xff, 0xed, 0x30, 0xb0, 0x09, 0x2c, 0xb9, 0x16, 0xe4, 0x2f, 0xb0, 0x16, 0x58, 0x3f, + 0x87, 0x79, 0xad, 0x11, 0x2e, 0xf7, 0x65, 0x18, 0xad, 0xe3, 0x20, 0xe2, 0xcd, 0xd0, 0x91, 0xb6, + 0x71, 0x10, 0xd9, 0x14, 0x8a, 0xee, 0xc0, 0x44, 0xbd, 0x4a, 0xa3, 0x9f, 0xd4, 0x4b, 0x99, 0x66, + 0x86, 0xa9, 0xed, 0xb4, 0xe8, 0xcd, 0x76, 0x5b, 0x14, 0x5a, 0xff, 0x26, 0xa7, 0x50, 0x27, 0xe8, + 0xc3, 0xc7, 0xf0, 0x1e, 0xd9, 0x68, 0x13, 0x9e, 0x29, 0x43, 0x98, 0x23, 0x0b, 0x20, 0x8f, 0x1c, + 0x31, 0xdb, 0x6d, 0x2b, 0x95, 0x2e, 0x18, 0xb9, 0x15, 0x27, 0x85, 0x0c, 0x49, 0x44, 0x35, 0xe5, + 0x49, 0x21, 0x27, 0x1d, 0xda, 0x6a, 0x25, 0xeb, 0x3b, 0x58, 0xd0, 0xfb, 0xff, 0x46, 0xd9, 0xf3, + 0x23, 0x7a, 0x04, 0xa5, 0x1c, 0xde, 0x22, 0xa4, 0x86, 0x24, 0xb8, 0x5a, 0x7d, 0x04, 0x45, 0x5e, + 0x2b, 0x9e, 0x96, 0xb7, 0x85, 0x93, 0xc8, 0x26, 0xa5, 0x7e, 0xd9, 0x59, 0xc4, 0x67, 0x7f, 0x2c, + 0x82, 0x1e, 0xc3, 0x5a, 0xf8, 0x57, 0x39, 0x28, 0x3d, 0x7e, 0x58, 0xad, 0xf6, 0xa3, 0x23, 0xec, + 0x45, 0x64, 0x7b, 0x83, 0xeb, 0x47, 0x4e, 0xb7, 0x8b, 0xbd, 0x43, 0xca, 0xdd, 0xa7, 0xab, 0x0f, + 0xe5, 0xaa, 0xc4, 0x8f, 0xcb, 0x57, 0x1f, 0xca, 0x1a, 0x36, 0x29, 0x47, 0x77, 0x61, 0x74, 0xff, + 0xc9, 0xfe, 0x1e, 0x0f, 0x41, 0x2c, 0xf0, 0x7a, 0x04, 0x14, 0x57, 0xa4, 0x35, 0xd0, 0x23, 0x98, + 0x7b, 0xc6, 0x5f, 0x21, 0xc8, 0x22, 0x1e, 0x7c, 0xb8, 0x79, 0x4f, 0xbe, 0x4f, 0xa8, 0x07, 0xb8, + 0x43, 0x3a, 0xe3, 0x74, 0xab, 0x21, 0xb1, 0x1f, 0x44, 0x8c, 0x69, 0x3c, 0xeb, 0x5f, 0xe7, 0x60, + 0x29, 0xd1, 0x75, 0xc9, 0xa4, 0x3b, 0xa2, 0xe7, 0x6c, 0xff, 0x29, 0x7b, 0x2e, 0x2a, 0x6c, 0x5d, + 0x61, 0x5d, 0x7f, 0x47, 0xeb, 0xfa, 0xbc, 0xd2, 0x75, 0xa5, 0x26, 0xeb, 0x7b, 0x9d, 0x5e, 0x8a, + 0xa5, 0x7d, 0xe0, 0x5d, 0x7e, 0x7b, 0x70, 0x97, 0x63, 0x02, 0x12, 0x91, 0x5f, 0x69, 0xa3, 0x70, + 0xeb, 0xcf, 0xc0, 0xb4, 0xca, 0x4b, 0xb4, 0x0c, 0x93, 0x8f, 0xf0, 0xe9, 0x96, 0xe3, 0x75, 0xba, + 0x42, 0x46, 0x31, 0x80, 0x94, 0xc6, 0x2c, 0x63, 0x51, 0x86, 0x18, 0x80, 0x16, 0x60, 0xac, 0xda, + 0xeb, 0x89, 0x08, 0xb9, 0xcd, 0x3e, 0x50, 0x09, 0x26, 0x44, 0x4c, 0x97, 0x3a, 0x87, 0xb6, 0xf8, + 0xb4, 0x5c, 0x98, 0x52, 0xb8, 0x31, 0xa4, 0xe9, 0x15, 0x80, 0x7a, 0xd7, 0xc5, 0x1e, 0x35, 0xe4, + 0xbc, 0x6d, 0x05, 0x42, 0xa3, 0x23, 0xee, 0xa1, 0x47, 0xa3, 0xa9, 0xbc, 0x03, 0x31, 0xc0, 0xba, + 0x0a, 0x33, 0x9a, 0x2a, 0x58, 0x16, 0x4c, 0xab, 0x0c, 0x26, 0x6a, 0x59, 0xf7, 0x3b, 0x52, 0x2d, + 0xc9, 0xdf, 0xd6, 0xbf, 0xcb, 0xc1, 0xc2, 0xe3, 0x87, 0x55, 0x1b, 0x1f, 0xba, 0xc4, 0x5c, 0xc5, + 0x03, 0xbd, 0xaf, 0x0a, 0xf6, 0x86, 0x2a, 0xd8, 0x44, 0x4d, 0x21, 0xe1, 0x55, 0x4d, 0xc2, 0xcb, + 0x9a, 0x84, 0xd3, 0x28, 0x4c, 0xd4, 0x9f, 0xa6, 0x44, 0xbd, 0x9c, 0x25, 0x6a, 0xea, 0x10, 0xbb, + 0xbe, 0xa7, 0x49, 0x58, 0x09, 0x52, 0xfd, 0x90, 0x83, 0x79, 0x65, 0x10, 0x72, 0xc0, 0xf7, 0xd4, + 0x31, 0x94, 0xd3, 0x63, 0x48, 0x2a, 0xe9, 0x7b, 0xda, 0x10, 0x6e, 0x64, 0x0c, 0x21, 0xa5, 0xac, + 0xb5, 0xd4, 0x08, 0x7e, 0x34, 0x68, 0x04, 0x43, 0x75, 0xb5, 0x03, 0x0b, 0x59, 0x4c, 0xd6, 0xb5, + 0x32, 0x67, 0xd4, 0xca, 0xbc, 0x41, 0x2b, 0x47, 0x74, 0xad, 0x74, 0x60, 0x3e, 0x83, 0x0d, 0xe8, + 0x5d, 0x28, 0x32, 0x18, 0x33, 0xe9, 0xfc, 0x1c, 0x9a, 0x60, 0xa6, 0xe0, 0xc3, 0x74, 0xd5, 0xfa, + 0xc3, 0x1c, 0x2c, 0x66, 0x0a, 0x1f, 0x5d, 0x23, 0xfe, 0x48, 0x3b, 0xc0, 0x11, 0xa7, 0xcd, 0xbf, + 0x08, 0x7c, 0x3b, 0x0c, 0xfb, 0xfc, 0x55, 0xd1, 0xa4, 0xcd, 0xbf, 0xd0, 0x8f, 0x60, 0x66, 0x0f, + 0x07, 0xae, 0xdf, 0x69, 0xe0, 0xb6, 0xef, 0x75, 0xd8, 0xd9, 0xc7, 0x8c, 0xad, 0x03, 0x09, 0x83, + 0xaa, 0xdd, 0x43, 0x3f, 0x70, 0xa3, 0xa3, 0x13, 0x3e, 0x09, 0x63, 0x00, 0xa1, 0xbd, 0xee, 0x1e, + 0xba, 0x11, 0x3b, 0x45, 0x9e, 0xb1, 0xf9, 0x17, 0x61, 0x51, 0xb5, 0xdd, 0xf6, 0xfb, 0x5e, 0x44, + 0x63, 0xfd, 0x93, 0xb6, 0xf8, 0x24, 0x18, 0x5f, 0xdb, 0x74, 0xba, 0xd0, 0x7b, 0x7f, 0x36, 0xff, + 0xb2, 0xde, 0x85, 0x85, 0x2c, 0x85, 0xc8, 0x9c, 0x5c, 0x7f, 0x21, 0x0f, 0xf3, 0xd5, 0x4e, 0xe7, + 0xf1, 0xc3, 0xea, 0x3a, 0x56, 0xdd, 0xda, 0xf7, 0x61, 0x74, 0xdb, 0x73, 0x23, 0xae, 0x98, 0x2b, + 0x5c, 0xcf, 0x32, 0x6a, 0x92, 0x5a, 0x44, 0xd5, 0xc8, 0xff, 0xc8, 0x86, 0xf9, 0x8d, 0xef, 0xdd, + 0x30, 0x72, 0xbd, 0x43, 0xaa, 0xec, 0xac, 0x61, 0xae, 0xac, 0x82, 0x88, 0xc1, 0x4e, 0x6f, 0x5d, + 0xb1, 0xb3, 0x90, 0xd1, 0x3e, 0x5c, 0xdb, 0xc5, 0x2f, 0x33, 0xe6, 0x8e, 0xbc, 0xb6, 0x27, 0xc9, + 0x66, 0x4c, 0x01, 0x03, 0xae, 0x3a, 0x35, 0xff, 0x6a, 0x9e, 0xde, 0x05, 0x55, 0x06, 0xc6, 0x5b, + 0x7e, 0x0a, 0x0b, 0x4a, 0x87, 0x74, 0xdd, 0x9e, 0x5a, 0xad, 0x64, 0x0f, 0x47, 0xb5, 0x20, 0x99, + 0xe8, 0xe8, 0x19, 0x2c, 0xe9, 0x9d, 0xd2, 0x6d, 0x79, 0x3c, 0xab, 0xb3, 0xaa, 0x6c, 0x5d, 0xb1, + 0x4d, 0xd8, 0x68, 0x15, 0x46, 0xaa, 0xed, 0x63, 0xce, 0x96, 0x6c, 0x91, 0xb1, 0x91, 0x55, 0xdb, + 0xc7, 0xf4, 0x5e, 0x75, 0xfb, 0x58, 0x9b, 0xd8, 0xff, 0x27, 0x07, 0x4b, 0x06, 0x09, 0xa3, 0x06, + 0xc0, 0x0e, 0x3e, 0x74, 0xda, 0xa7, 0xf2, 0xe8, 0x7c, 0x76, 0xf5, 0xfe, 0x60, 0xad, 0xb8, 0xc7, + 0x10, 0x18, 0x9c, 0xa0, 0xd5, 0xf2, 0xc4, 0x63, 0x8b, 0xc9, 0x90, 0x09, 0xca, 0x4a, 0x15, 0x57, + 0x44, 0x81, 0x10, 0x27, 0x30, 0xc6, 0xa6, 0xe3, 0x9a, 0x95, 0xd7, 0xea, 0xe2, 0x02, 0x5b, 0xa9, + 0x64, 0xad, 0x41, 0x31, 0xd9, 0x2c, 0x2a, 0x30, 0x9b, 0xc9, 0x6e, 0x9f, 0x3d, 0x5d, 0x7d, 0x58, + 0xcc, 0xa1, 0xe9, 0xd8, 0x26, 0x16, 0xf3, 0x56, 0x3d, 0x39, 0x6e, 0xc9, 0x26, 0x74, 0x17, 0xc6, + 0x19, 0x90, 0x4b, 0x5d, 0xbc, 0x08, 0x8b, 0x2b, 0xf3, 0x72, 0xeb, 0x0f, 0x72, 0x22, 0x4e, 0x99, + 0x9a, 0x4c, 0x1f, 0x69, 0x93, 0xe9, 0x2d, 0x39, 0x82, 0xac, 0xca, 0xda, 0x7c, 0xaa, 0xc1, 0xd4, + 0xab, 0xcc, 0x23, 0x15, 0x49, 0xd5, 0xf4, 0x7f, 0x94, 0x13, 0x11, 0x96, 0xb4, 0xb2, 0x6f, 0xc0, + 0xf4, 0xab, 0x29, 0xb9, 0x86, 0x86, 0x3e, 0x60, 0x3a, 0x98, 0x1f, 0x3c, 0xd2, 0x81, 0x6a, 0xf8, + 0xb9, 0x08, 0xc5, 0x66, 0x2a, 0xe2, 0x10, 0x9d, 0xb1, 0x96, 0x33, 0xb0, 0x65, 0x73, 0x56, 0x3f, + 0x55, 0xda, 0x38, 0xf5, 0xda, 0x42, 0x4e, 0x77, 0x92, 0x17, 0x50, 0x8c, 0xb7, 0x0b, 0xd4, 0x3e, + 0xe4, 0xe3, 0xe8, 0x5c, 0x07, 0xc7, 0x57, 0x0d, 0xd5, 0x4e, 0x9d, 0x27, 0x66, 0xd6, 0xab, 0x34, + 0x5a, 0x87, 0x99, 0x5d, 0xfc, 0x32, 0xd5, 0x2e, 0x3d, 0xb3, 0xf5, 0xf0, 0xcb, 0x96, 0xd2, 0xb6, + 0x72, 0xcb, 0x47, 0xc7, 0x41, 0x07, 0x30, 0x2b, 0xac, 0xc7, 0x45, 0x8d, 0x28, 0xbb, 0x8d, 0x4c, + 0x5a, 0x38, 0x79, 0xee, 0xb4, 0x02, 0x0e, 0x55, 0xaf, 0x11, 0xeb, 0x14, 0xad, 0x3d, 0x28, 0xa5, + 0xc7, 0xca, 0xb5, 0xec, 0xfd, 0x61, 0xd3, 0x89, 0xed, 0xf0, 0x3b, 0xfa, 0xd4, 0xda, 0xa2, 0xc1, + 0x28, 0x59, 0x47, 0x6e, 0xa3, 0x1f, 0x24, 0x59, 0x47, 0x8f, 0x82, 0x05, 0xeb, 0xd4, 0xe7, 0x0e, + 0xf1, 0x15, 0xa4, 0xc5, 0x04, 0x25, 0xe9, 0x57, 0x4c, 0x70, 0x90, 0x7c, 0x46, 0x92, 0x9c, 0xe8, + 0xa2, 0x82, 0xf5, 0xf7, 0x73, 0x70, 0xfd, 0x69, 0x88, 0x83, 0x86, 0xeb, 0x1d, 0x76, 0xf1, 0xd3, + 0x50, 0xbf, 0x00, 0xf4, 0xdb, 0xda, 0x64, 0x5f, 0x32, 0x5c, 0x2c, 0xfe, 0xff, 0x35, 0xc5, 0xff, + 0x41, 0x0e, 0xca, 0x59, 0x7d, 0x7b, 0xb3, 0xb3, 0xfc, 0x1e, 0xdf, 0xf7, 0xb2, 0xde, 0x96, 0x38, + 0xba, 0x6c, 0x53, 0x0c, 0x96, 0x0c, 0x92, 0xfc, 0x9f, 0x5c, 0x65, 0x16, 0xb6, 0x43, 0xda, 0xfd, + 0x5f, 0xf6, 0xdd, 0x00, 0x77, 0x04, 0xe3, 0xee, 0x65, 0x5d, 0x3f, 0xa7, 0x72, 0xdd, 0xba, 0x92, + 0x75, 0xbd, 0xfc, 0x7d, 0xe5, 0x82, 0x6d, 0x7e, 0xd0, 0xbd, 0x72, 0xed, 0x2d, 0xd3, 0x1d, 0x18, + 0xdd, 0x25, 0x4e, 0xd0, 0x08, 0xd7, 0x3f, 0x86, 0x41, 0x40, 0xf4, 0x2e, 0x2c, 0xe9, 0x32, 0xf9, + 0x40, 0x0f, 0x53, 0x37, 0x6e, 0x47, 0x87, 0xdf, 0x9b, 0x4e, 0x3f, 0xc2, 0xaa, 0x15, 0x60, 0x7c, + 0xdf, 0x09, 0x0e, 0x71, 0x64, 0x7d, 0x0b, 0x65, 0x7e, 0x44, 0xcd, 0xe2, 0xb5, 0xf4, 0x20, 0x3b, + 0x8c, 0xe3, 0x88, 0x83, 0x8e, 0x95, 0x57, 0x00, 0x1a, 0x91, 0x13, 0x44, 0xdb, 0x5e, 0x07, 0x7f, + 0x4f, 0x47, 0x3b, 0x66, 0x2b, 0x10, 0xeb, 0x03, 0x98, 0x94, 0x43, 0xa0, 0x7b, 0x7b, 0xc5, 0xcf, + 0xa3, 0xc3, 0x59, 0xd0, 0xee, 0x00, 0x8b, 0x8b, 0xbf, 0x6b, 0xb0, 0x98, 0x10, 0x05, 0xd7, 0x93, + 0x32, 0x11, 0x18, 0x83, 0xb1, 0x4b, 0x30, 0xb6, 0xfc, 0xb6, 0xea, 0x30, 0x97, 0x92, 0x34, 0x42, + 0xf4, 0x5e, 0x37, 0x0b, 0x84, 0x10, 0xa3, 0xde, 0x68, 0x6c, 0x11, 0xd8, 0xfe, 0x4e, 0x83, 0xdd, + 0x71, 0x23, 0xb0, 0xfd, 0x9d, 0x46, 0x6d, 0x9c, 0x69, 0x8e, 0xf5, 0x4f, 0xf2, 0x34, 0x9c, 0x91, + 0xe2, 0x41, 0x22, 0x2c, 0xa6, 0x86, 0xe6, 0x6a, 0x30, 0x49, 0x47, 0xbc, 0x2e, 0xee, 0x82, 0x0e, + 0x3e, 0xd7, 0x2a, 0xfc, 0x70, 0x56, 0xb9, 0x42, 0x0f, 0xb3, 0x62, 0x34, 0xf4, 0x05, 0x4c, 0x6c, + 0x78, 0x1d, 0x4a, 0x61, 0xe4, 0x12, 0x14, 0x04, 0x12, 0x91, 0x03, 0xed, 0x32, 0xf1, 0x2b, 0x78, + 0xec, 0xc8, 0x56, 0x20, 0x94, 0xcd, 0xee, 0x89, 0xcb, 0x6e, 0x2f, 0x8c, 0xd9, 0xec, 0x83, 0x70, + 0x93, 0x76, 0x41, 0x3c, 0xed, 0x99, 0xb4, 0xe5, 0x37, 0xb2, 0x60, 0xec, 0x49, 0xd0, 0xe1, 0x0f, + 0x2d, 0x66, 0x57, 0xa7, 0x45, 0xae, 0x03, 0x02, 0xb3, 0x59, 0x91, 0xf5, 0xbf, 0xe8, 0x89, 0x62, + 0x94, 0xa9, 0x37, 0x1a, 0x57, 0x72, 0xaf, 0xcd, 0x95, 0xfc, 0xab, 0x70, 0x45, 0x8e, 0x7a, 0xc4, + 0x34, 0xea, 0x51, 0xd3, 0xa8, 0xc7, 0xcc, 0xa3, 0xde, 0x84, 0x71, 0x36, 0x54, 0x74, 0x1b, 0xc6, + 0xb6, 0x23, 0x7c, 0x12, 0x87, 0xb9, 0xd4, 0x3b, 0x21, 0x36, 0x2b, 0x23, 0xfb, 0xa4, 0x1d, 0x27, + 0x8c, 0xc4, 0xad, 0xca, 0x49, 0x5b, 0x7c, 0x5a, 0x7f, 0x94, 0x83, 0xe2, 0x8e, 0x1b, 0x46, 0x64, + 0x22, 0x5c, 0x50, 0xd7, 0xe4, 0x88, 0xf2, 0xa6, 0x11, 0x8d, 0x24, 0x46, 0xf4, 0x19, 0x8c, 0xd3, + 0xcb, 0xbe, 0x21, 0x7f, 0xc6, 0x77, 0x9b, 0x0f, 0x29, 0xd9, 0x30, 0xbb, 0x12, 0x1c, 0xd2, 0xe7, + 0x76, 0x36, 0x47, 0x29, 0x7f, 0x02, 0x53, 0x0a, 0xf8, 0x52, 0xaf, 0xf0, 0xbe, 0x81, 0x39, 0xa5, + 0x09, 0x79, 0xf9, 0x72, 0xc8, 0xc9, 0x89, 0x8c, 0xcc, 0x13, 0xb6, 0xed, 0xe2, 0xef, 0x55, 0xb6, + 0xf1, 0x4f, 0xeb, 0x17, 0xf4, 0xae, 0xfa, 0x8e, 0xdf, 0x3e, 0x56, 0xe2, 0xd6, 0x13, 0xcc, 0x98, + 0x25, 0x8f, 0x7f, 0x48, 0x2d, 0x56, 0x62, 0x8b, 0x1a, 0xe8, 0x16, 0x4c, 0x6d, 0x7b, 0x0f, 0xfd, + 0xa0, 0x8d, 0x9f, 0x78, 0x5d, 0x46, 0xbd, 0x60, 0xab, 0x20, 0x1e, 0xd2, 0xe4, 0x2d, 0xc4, 0x21, + 0x4d, 0x0a, 0x48, 0x84, 0x34, 0xd9, 0x2b, 0x62, 0x9b, 0x95, 0xf1, 0x88, 0x29, 0xf9, 0x7b, 0x50, + 0x3c, 0x53, 0x06, 0x3e, 0x87, 0x55, 0x3c, 0x80, 0xeb, 0x36, 0xee, 0x75, 0x1d, 0xe2, 0x2b, 0x9e, + 0xf8, 0xac, 0xbe, 0x1c, 0xf3, 0xad, 0x8c, 0x6b, 0x94, 0xfa, 0x39, 0xaa, 0xec, 0x72, 0x7e, 0x40, + 0x97, 0x4f, 0xe0, 0xad, 0x4d, 0x1c, 0x65, 0x3e, 0x05, 0x8e, 0x07, 0xbf, 0x05, 0x05, 0xfe, 0x5c, + 0x45, 0x8c, 0x7f, 0xd8, 0x2b, 0x64, 0x7e, 0x14, 0xc8, 0xe9, 0xc8, 0xbf, 0xac, 0x2f, 0xa1, 0x62, + 0x6a, 0xee, 0x62, 0xf7, 0xde, 0x5c, 0xb8, 0x65, 0x26, 0x20, 0xbd, 0x89, 0x09, 0xde, 0xa0, 0x8c, + 0x13, 0x0c, 0xee, 0xad, 0x3c, 0x1c, 0xa2, 0xfe, 0x14, 0xff, 0xc3, 0xaa, 0x89, 0x8b, 0x35, 0xaf, + 0xd1, 0xdd, 0x16, 0x3d, 0xbe, 0xd2, 0x09, 0xc4, 0x7c, 0xad, 0x42, 0x41, 0xc0, 0x12, 0xe7, 0x57, + 0xa9, 0x57, 0xd6, 0x94, 0xa1, 0x1d, 0x41, 0x40, 0xa2, 0x59, 0xbf, 0x10, 0x87, 0x4c, 0x3a, 0xc6, + 0xc5, 0xae, 0x64, 0x5f, 0xe4, 0x54, 0xc9, 0xf2, 0xe1, 0xba, 0x4e, 0x5b, 0x3d, 0x2a, 0x29, 0x2a, + 0x47, 0x25, 0xec, 0x84, 0x84, 0xe8, 0xa5, 0xbd, 0xb3, 0xe1, 0x75, 0x7a, 0xbe, 0xeb, 0x45, 0x7c, + 0xf2, 0xaa, 0x20, 0xb4, 0xa2, 0x1e, 0x88, 0x4c, 0xa7, 0xef, 0xb0, 0x3f, 0x80, 0x72, 0x56, 0x83, + 0x4a, 0xb4, 0x48, 0x9e, 0x6d, 0x30, 0x3f, 0xce, 0x3a, 0x82, 0x05, 0x2d, 0x6f, 0x4d, 0x9c, 0x88, + 0x23, 0xce, 0xd7, 0x33, 0x59, 0xfb, 0xfc, 0x37, 0x67, 0x95, 0x8f, 0x2f, 0x73, 0x51, 0x5a, 0xd0, + 0xdc, 0x97, 0xd7, 0xf0, 0xad, 0x25, 0x18, 0xa9, 0xdb, 0x3b, 0x74, 0xd8, 0xf6, 0x8e, 0x1c, 0xb6, + 0xbd, 0x63, 0xfd, 0x26, 0x07, 0x95, 0xfa, 0x91, 0xe3, 0x1d, 0xb2, 0xc3, 0xfd, 0xd8, 0x5d, 0x55, + 0x6e, 0x0b, 0x5c, 0x74, 0x4b, 0xb5, 0x0a, 0x53, 0xbb, 0xf8, 0xa5, 0x78, 0x42, 0xc0, 0x2f, 0xe3, + 0xd3, 0xa3, 0x20, 0xb2, 0xdd, 0xe9, 0x71, 0xb8, 0xad, 0x56, 0x42, 0x7f, 0xf6, 0xd5, 0xc3, 0x51, + 0x2c, 0x7b, 0x45, 0xbc, 0x93, 0x62, 0xa5, 0x59, 0x5b, 0x2a, 0x43, 0x13, 0xd6, 0x3f, 0xcf, 0xc1, + 0x2d, 0xf3, 0xe0, 0xb9, 0xe0, 0xd6, 0xb5, 0x1c, 0x20, 0x03, 0x6e, 0x27, 0xd0, 0x2d, 0xab, 0x92, + 0x03, 0x24, 0x99, 0xf7, 0xc3, 0xc6, 0x6d, 0xff, 0x05, 0x0e, 0x4e, 0x13, 0x87, 0x39, 0x02, 0x5c, + 0x27, 0x4b, 0x8e, 0xc8, 0xa0, 0xc4, 0x40, 0xda, 0xb3, 0x5f, 0x0e, 0xb3, 0xfe, 0x43, 0x0e, 0x6e, + 0xd0, 0x65, 0x92, 0xc7, 0x2d, 0x45, 0xc1, 0xe5, 0x6f, 0xc5, 0x7c, 0x00, 0xd3, 0x6a, 0xe3, 0x5c, + 0x60, 0x34, 0x69, 0x80, 0xe8, 0x41, 0xab, 0xed, 0x77, 0xb0, 0xad, 0x55, 0x43, 0xdb, 0x30, 0xc5, + 0xbf, 0x95, 0x38, 0xd2, 0xa2, 0x92, 0x51, 0x88, 0xea, 0x03, 0x7b, 0xe5, 0x49, 0xa5, 0xcf, 0x89, + 0xb5, 0xe8, 0xb3, 0x10, 0x15, 0xd7, 0xfa, 0x75, 0x1e, 0x96, 0x9b, 0x38, 0x70, 0x9f, 0x9f, 0x1a, + 0x06, 0xf3, 0x04, 0x16, 0x04, 0x88, 0x8e, 0x59, 0xd7, 0x43, 0xf6, 0x7c, 0x53, 0x74, 0x35, 0x24, + 0x15, 0x5a, 0x52, 0x2d, 0x33, 0x11, 0x2f, 0xf1, 0xa0, 0xf9, 0x7d, 0x28, 0x48, 0x55, 0x1e, 0xa1, + 0x9c, 0xa1, 0xb2, 0x11, 0x6a, 0xac, 0xe7, 0x76, 0x90, 0xfa, 0xfc, 0x97, 0xcd, 0x27, 0x67, 0x7c, + 0xc7, 0x33, 0x64, 0x33, 0xca, 0xb4, 0x9a, 0x68, 0xb4, 0xa3, 0x94, 0x66, 0x68, 0xf5, 0xd6, 0x15, + 0xdb, 0xd4, 0x52, 0x6d, 0x0a, 0x26, 0xab, 0xf4, 0x44, 0x8f, 0x6c, 0x30, 0xfe, 0x77, 0x1e, 0x56, + 0xc4, 0x45, 0x59, 0x03, 0x9b, 0xbf, 0x81, 0x25, 0x01, 0xaa, 0xf6, 0x7a, 0x81, 0xff, 0x02, 0x77, + 0x74, 0x4e, 0xb3, 0x27, 0xd4, 0x82, 0xd3, 0x0e, 0xaf, 0x13, 0x33, 0xdb, 0x84, 0xfe, 0x66, 0xc2, + 0x2c, 0x5f, 0xe8, 0x86, 0x85, 0x49, 0x83, 0x3e, 0x12, 0x54, 0x0d, 0x8b, 0x9e, 0xfc, 0x4a, 0x35, + 0x32, 0x9d, 0x54, 0x98, 0x66, 0xf4, 0x75, 0xc3, 0x34, 0x64, 0x6b, 0xaa, 0xd3, 0xac, 0xcd, 0xc2, + 0xf4, 0x2e, 0x7e, 0x19, 0xf3, 0xfd, 0xf7, 0x72, 0x30, 0xa3, 0x4d, 0x6e, 0xf4, 0x0e, 0x8c, 0xd1, + 0x3f, 0xe8, 0xa2, 0xc9, 0xdf, 0x91, 0x91, 0x09, 0xa6, 0xbd, 0x23, 0x63, 0x55, 0xb7, 0x61, 0x82, + 0x5d, 0x0a, 0xeb, 0x5c, 0x60, 0x0f, 0x21, 0xef, 0x1c, 0xb6, 0x19, 0x0a, 0xdb, 0x4e, 0x70, 0x7c, + 0xeb, 0x11, 0xbc, 0xc5, 0xef, 0x97, 0xe9, 0xc2, 0xaf, 0xab, 0xfe, 0xfb, 0x05, 0x6d, 0xbc, 0xe5, + 0xc0, 0xca, 0x26, 0x4e, 0x9a, 0x1e, 0xed, 0x4e, 0xe6, 0x97, 0x70, 0x55, 0x83, 0x4b, 0x8a, 0xf4, + 0xad, 0x89, 0xd4, 0x21, 0x49, 0x3a, 0x59, 0xdb, 0xba, 0x95, 0xd5, 0x84, 0xda, 0x59, 0x0b, 0xc3, + 0x55, 0xba, 0x53, 0x96, 0x87, 0x6d, 0xe1, 0x25, 0xac, 0xde, 0x5d, 0x65, 0x5e, 0x33, 0x8b, 0xc7, + 0x9e, 0x29, 0x8b, 0xe5, 0x49, 0x96, 0x5a, 0xff, 0x33, 0x07, 0x16, 0xe7, 0x5c, 0x56, 0x18, 0x47, + 0x0c, 0xf8, 0x20, 0xd5, 0x1b, 0xbe, 0x4a, 0x5c, 0x53, 0x83, 0x55, 0x71, 0x29, 0x53, 0x2d, 0xfa, + 0x72, 0xab, 0x1d, 0x43, 0x35, 0xd5, 0x4a, 0x0d, 0xef, 0xe7, 0x06, 0x3b, 0xc8, 0x66, 0x13, 0xcd, + 0x9d, 0x63, 0xb0, 0x83, 0x1a, 0xdd, 0x4c, 0x22, 0x6a, 0xbc, 0xeb, 0xef, 0xe6, 0xe0, 0x06, 0x1b, + 0xf2, 0x5e, 0xe0, 0xbe, 0x70, 0xbb, 0xf8, 0x10, 0x6b, 0xc2, 0xed, 0x67, 0x9f, 0x48, 0xe5, 0x2e, + 0x64, 0xd9, 0x68, 0x1a, 0x10, 0xcc, 0xd1, 0x4d, 0xe1, 0xcf, 0x2c, 0xfa, 0xd6, 0xdf, 0xca, 0xc1, + 0x8a, 0x78, 0xa5, 0x98, 0x38, 0xa6, 0xb9, 0xac, 0x93, 0x52, 0xd3, 0x0e, 0x41, 0xf2, 0x86, 0x43, + 0x10, 0x2d, 0xfe, 0x1c, 0x25, 0x4f, 0x45, 0x7e, 0x35, 0x02, 0x73, 0x7b, 0xce, 0xa1, 0xeb, 0x91, + 0xf9, 0x25, 0xf2, 0xe8, 0xa0, 0x6a, 0x2a, 0x1d, 0xd9, 0xe0, 0xdb, 0x57, 0x19, 0xf9, 0xc6, 0x56, + 0xd5, 0xcc, 0x40, 0x79, 0xd3, 0x0d, 0x7f, 0x3d, 0xff, 0xcf, 0x27, 0x5a, 0x04, 0x2e, 0x75, 0x01, + 0x8f, 0xbe, 0x35, 0xf3, 0xfc, 0x4e, 0x22, 0x45, 0x1f, 0x8d, 0x62, 0x3d, 0x81, 0x29, 0xe5, 0x16, + 0x1d, 0x37, 0x8a, 0x29, 0x0a, 0xd4, 0xd0, 0x1e, 0xf7, 0x0f, 0x70, 0x66, 0x3a, 0x26, 0x95, 0x42, + 0x46, 0x12, 0xa6, 0xb1, 0x37, 0x9c, 0x84, 0xe9, 0x5b, 0xd6, 0x65, 0x11, 0xcf, 0x1c, 0xe7, 0xb6, + 0x91, 0x91, 0x4f, 0x05, 0x35, 0x9b, 0x6b, 0x4a, 0xef, 0xb3, 0x32, 0xca, 0xa9, 0xc4, 0x6a, 0x00, + 0x05, 0x91, 0xbb, 0xd2, 0xfa, 0x87, 0xe3, 0xb0, 0xb0, 0xe3, 0x86, 0x91, 0x90, 0x6e, 0x18, 0x9b, + 0xb7, 0x69, 0x01, 0x53, 0x7c, 0x74, 0xee, 0x89, 0x30, 0x78, 0x2b, 0x91, 0x4a, 0x53, 0x43, 0x40, + 0x1f, 0xa8, 0x91, 0x92, 0xbc, 0x92, 0x60, 0x23, 0x9d, 0x05, 0x51, 0x0d, 0xa1, 0xbc, 0xa3, 0x05, + 0x85, 0xd8, 0xda, 0xd1, 0x25, 0x00, 0x75, 0xed, 0x60, 0x71, 0x95, 0xb5, 0x64, 0xa4, 0x88, 0x35, + 0xc0, 0xec, 0xc2, 0x31, 0xd6, 0xdc, 0x4a, 0x19, 0x70, 0x79, 0x2a, 0x03, 0x2e, 0x63, 0x74, 0x47, + 0xf7, 0x63, 0x25, 0xe0, 0x92, 0x64, 0x82, 0x1a, 0x74, 0x61, 0x4f, 0xba, 0xbb, 0x14, 0xa0, 0x3e, + 0xe9, 0x66, 0x55, 0xd0, 0x3e, 0xcc, 0xef, 0x05, 0xb8, 0x43, 0x0d, 0xc1, 0xc6, 0xf7, 0xbd, 0x80, + 0xbb, 0xd1, 0x34, 0x6c, 0xc7, 0xb2, 0x8d, 0xf5, 0x44, 0x71, 0x0b, 0xcb, 0x72, 0xd5, 0x1e, 0x64, + 0xa0, 0xa3, 0x0d, 0x98, 0x6d, 0x60, 0x27, 0x68, 0x1f, 0x3d, 0xc2, 0xa7, 0xc4, 0x54, 0x87, 0xa5, + 0x89, 0x38, 0x43, 0x4b, 0x48, 0x4b, 0xc8, 0x40, 0x69, 0x91, 0x7a, 0xb4, 0xa2, 0x23, 0xa1, 0x9f, + 0xc1, 0x78, 0xc3, 0x0f, 0xa2, 0xda, 0x69, 0x22, 0x2d, 0x26, 0x03, 0xd6, 0xae, 0x8b, 0x2c, 0x35, + 0xa1, 0x1f, 0x44, 0xad, 0x03, 0x95, 0x6f, 0x1c, 0x0f, 0x3d, 0x24, 0x9e, 0x05, 0xf1, 0x76, 0x22, + 0xa7, 0x5b, 0xa7, 0x97, 0x0a, 0xd8, 0xa3, 0x3c, 0xee, 0x3d, 0x50, 0x17, 0x29, 0x72, 0xba, 0x2d, + 0xba, 0x96, 0xe9, 0x87, 0x3c, 0x2a, 0x16, 0x3a, 0x85, 0x05, 0x5d, 0xd1, 0x79, 0x0e, 0x2b, 0xd0, + 0x12, 0xcc, 0x65, 0x55, 0xa9, 0xdd, 0xe5, 0xbd, 0xbc, 0x95, 0x4c, 0x9e, 0x96, 0x4a, 0x6b, 0x95, + 0xd9, 0xc4, 0xeb, 0x04, 0xcb, 0xfe, 0x30, 0x07, 0x8b, 0x09, 0xfd, 0xe0, 0x9b, 0xa6, 0x27, 0x30, + 0x29, 0x81, 0x3c, 0x44, 0x20, 0x8e, 0x35, 0x52, 0x86, 0x93, 0x69, 0xa7, 0x98, 0x3c, 0xaa, 0xbc, + 0x62, 0x1a, 0xe8, 0x41, 0x22, 0xae, 0xc6, 0x9c, 0x71, 0x0f, 0x7f, 0x9f, 0xd4, 0x68, 0x51, 0x0d, + 0x7d, 0x02, 0xa0, 0x88, 0x85, 0xcd, 0x1a, 0x9a, 0xa6, 0x31, 0x5b, 0x22, 0x4a, 0x65, 0xeb, 0xdf, + 0x4e, 0x88, 0x55, 0x90, 0x6f, 0xdf, 0xf6, 0x03, 0xa7, 0x7d, 0x1c, 0x5f, 0x81, 0xfd, 0x20, 0x7d, + 0xdf, 0xf4, 0x22, 0x53, 0xf8, 0x8e, 0xf6, 0x52, 0xde, 0x9c, 0x74, 0x37, 0x4e, 0x9a, 0x30, 0x72, + 0x81, 0xa4, 0x09, 0xf7, 0x61, 0x62, 0xdb, 0x7b, 0xe1, 0x12, 0x4f, 0x91, 0x5d, 0xbe, 0xa4, 0x7e, + 0x96, 0xcb, 0x40, 0x2a, 0x63, 0x78, 0x2d, 0xf4, 0x09, 0x14, 0xb6, 0xfc, 0x30, 0xa2, 0xae, 0xd2, + 0x58, 0xec, 0x8d, 0x47, 0x34, 0xce, 0xd8, 0x3a, 0xe2, 0x45, 0xaa, 0x91, 0x10, 0xd5, 0xd1, 0x87, + 0x30, 0x51, 0xed, 0x74, 0xc8, 0x2c, 0xe4, 0x33, 0x98, 0x66, 0xec, 0xe4, 0x98, 0x0e, 0x2b, 0x51, + 0x9b, 0xe4, 0x95, 0xd1, 0xe7, 0x7a, 0xd0, 0x6f, 0x22, 0x4e, 0x29, 0x92, 0x9d, 0xbd, 0x56, 0x0f, + 0x08, 0xbe, 0x23, 0x0e, 0x5b, 0x0a, 0x71, 0x92, 0x16, 0x9a, 0x70, 0x45, 0x33, 0x7d, 0xf4, 0xac, + 0x66, 0x1b, 0x26, 0xb7, 0x3d, 0x37, 0x72, 0x69, 0x9a, 0x8a, 0x49, 0x6d, 0x01, 0xdd, 0x73, 0x82, + 0xc8, 0x6d, 0xbb, 0x3d, 0xc7, 0x8b, 0x98, 0xb4, 0x5c, 0x51, 0x51, 0x95, 0x96, 0xc4, 0x56, 0x13, + 0x5a, 0xc1, 0x1b, 0x4b, 0x68, 0x95, 0x99, 0x13, 0x6a, 0xea, 0xd5, 0x73, 0x42, 0xad, 0x31, 0x59, + 0xd2, 0xd4, 0xbe, 0xd3, 0xb1, 0x22, 0xd2, 0x58, 0x98, 0x9e, 0xd0, 0xd7, 0x96, 0x15, 0xd1, 0x2d, + 0x9a, 0x96, 0x62, 0x26, 0xbe, 0xc7, 0xac, 0x1d, 0xee, 0xe6, 0xb7, 0xd7, 0x51, 0x0b, 0xa6, 0x49, + 0xed, 0x3d, 0xbf, 0xeb, 0xb6, 0x5d, 0x1c, 0x96, 0x66, 0xb5, 0xe0, 0xa9, 0x3e, 0x29, 0x68, 0xa5, + 0xd3, 0x06, 0x8e, 0xd8, 0x22, 0x48, 0x9b, 0xee, 0x71, 0x44, 0x75, 0x11, 0x54, 0x09, 0xa2, 0xdf, + 0x25, 0x06, 0x5c, 0xa5, 0xc2, 0xd3, 0xcd, 0x2e, 0x65, 0x36, 0xd1, 0x7c, 0x4f, 0x58, 0x76, 0xf6, + 0x3c, 0x25, 0x62, 0x60, 0xdd, 0xb2, 0xab, 0x08, 0x96, 0x0d, 0xa5, 0xf8, 0x84, 0x27, 0x31, 0x7b, + 0x3f, 0x4c, 0x3f, 0x7e, 0xa1, 0xa9, 0x16, 0xe3, 0xc7, 0x2f, 0xaa, 0x42, 0xc4, 0xcf, 0x60, 0x9e, + 0xc2, 0x0d, 0x1b, 0x9f, 0xf8, 0x2f, 0xf0, 0x9b, 0x25, 0xfb, 0x73, 0xb8, 0xae, 0x13, 0x7c, 0xda, + 0xeb, 0xd0, 0xc7, 0xb4, 0xec, 0x28, 0x29, 0x33, 0x59, 0x0b, 0x47, 0x60, 0xc9, 0x5a, 0x58, 0x06, + 0x00, 0xf2, 0xa7, 0x3a, 0x1f, 0x68, 0x99, 0xe5, 0xc3, 0xb2, 0x4e, 0xbc, 0xda, 0xe9, 0x28, 0x13, + 0x81, 0x78, 0x80, 0xca, 0x67, 0xc2, 0xe5, 0x54, 0x67, 0x0c, 0xb5, 0x9c, 0xbd, 0x18, 0xa0, 0xce, + 0x55, 0xa5, 0x9e, 0x85, 0xa1, 0x92, 0x64, 0x0f, 0x61, 0x99, 0xda, 0x66, 0x0d, 0x66, 0x94, 0x4f, + 0xb9, 0x89, 0xa1, 0xa6, 0x44, 0x69, 0x41, 0x67, 0x98, 0x8e, 0x62, 0xb5, 0xa1, 0x9c, 0xc5, 0x34, + 0x3a, 0xcd, 0x4e, 0xd1, 0x46, 0x3c, 0x75, 0x87, 0x1f, 0xe1, 0x5d, 0x35, 0x3e, 0xd6, 0xfb, 0x3b, + 0xa3, 0x70, 0x83, 0x0b, 0xe3, 0x4d, 0x4a, 0x1c, 0xfd, 0x02, 0xa6, 0x14, 0x19, 0x73, 0xa6, 0xdf, + 0x12, 0xa7, 0xfe, 0x26, 0x5d, 0x60, 0xf6, 0xb2, 0x4f, 0x01, 0xad, 0x84, 0xb8, 0x89, 0x27, 0xab, + 0xaa, 0x4d, 0x17, 0x66, 0x75, 0x41, 0xf3, 0xdd, 0xc1, 0xed, 0xcc, 0x46, 0xf4, 0xaa, 0x22, 0x6d, + 0x41, 0xa7, 0x95, 0x29, 0x6e, 0x9a, 0x1b, 0x57, 0x57, 0xa2, 0xef, 0x61, 0x2e, 0x25, 0x65, 0xbe, + 0x99, 0xb8, 0x93, 0xd9, 0x60, 0xaa, 0x36, 0x33, 0x7e, 0x01, 0x05, 0x1b, 0x9b, 0x4d, 0x37, 0x82, + 0x3a, 0x30, 0xad, 0x0a, 0x9e, 0xef, 0x36, 0xde, 0x1a, 0xc0, 0x4a, 0x56, 0x91, 0x99, 0x2a, 0xce, + 0x4b, 0x2a, 0x7b, 0x3d, 0x9d, 0xbc, 0x46, 0xb5, 0x56, 0x80, 0x71, 0xf6, 0x4d, 0x4c, 0xc0, 0x5e, + 0x80, 0x43, 0xec, 0xb5, 0xb1, 0x7a, 0x81, 0xe3, 0x75, 0x4d, 0xc0, 0xbf, 0xcf, 0x41, 0x29, 0x8b, + 0x6e, 0x03, 0x7b, 0x1d, 0xb4, 0x07, 0xc5, 0x64, 0x43, 0x5c, 0xab, 0x2d, 0xe1, 0x51, 0x99, 0xbb, + 0xb4, 0x75, 0xc5, 0x4e, 0x61, 0x93, 0x45, 0x48, 0x81, 0x5d, 0xf2, 0xa6, 0x4c, 0x1a, 0x55, 0x89, + 0x1f, 0xbc, 0xfb, 0x2e, 0x4c, 0xca, 0x9f, 0x15, 0x40, 0x05, 0x18, 0xdd, 0xde, 0xdd, 0xde, 0x67, + 0x17, 0x05, 0xf7, 0x9e, 0xee, 0x17, 0x73, 0x08, 0x60, 0x7c, 0x7d, 0x63, 0x67, 0x63, 0x7f, 0xa3, + 0x98, 0x7f, 0xd7, 0x53, 0x77, 0xe2, 0xe8, 0x06, 0x2c, 0xad, 0x6f, 0x34, 0xb7, 0xeb, 0x1b, 0xad, + 0xfd, 0x3f, 0xb5, 0xb7, 0xd1, 0x7a, 0xba, 0xdb, 0xd8, 0xdb, 0xa8, 0x6f, 0x3f, 0xdc, 0xde, 0x58, + 0x2f, 0x5e, 0x41, 0x0b, 0x50, 0x54, 0x0b, 0xe9, 0xf5, 0xc3, 0x1c, 0x9a, 0x87, 0xab, 0x1a, 0xca, + 0xea, 0xc3, 0x62, 0x1e, 0x95, 0x60, 0x41, 0x05, 0x3e, 0xdb, 0xa8, 0x55, 0x9f, 0xee, 0x6f, 0xed, + 0x16, 0x47, 0xde, 0xbd, 0xc3, 0x0f, 0xc9, 0xd1, 0x2c, 0xc0, 0xfa, 0x46, 0xa3, 0xbe, 0xb1, 0xbb, + 0xbe, 0xbd, 0xbb, 0x59, 0xbc, 0x82, 0x66, 0x60, 0xb2, 0x2a, 0x3f, 0x73, 0xab, 0x7f, 0xe3, 0x00, + 0xa6, 0xc8, 0xe0, 0xc5, 0xa6, 0xb6, 0x05, 0x4b, 0x8f, 0x1d, 0xd7, 0x8b, 0x1c, 0xd7, 0xe3, 0x22, + 0x13, 0x0c, 0x47, 0x95, 0x01, 0x12, 0x20, 0xc2, 0x2b, 0x0f, 0xbb, 0x0a, 0x74, 0x37, 0xf7, 0x20, + 0x87, 0x1a, 0xb0, 0x90, 0xe5, 0x6d, 0x22, 0x4b, 0x4f, 0x56, 0x91, 0x65, 0x83, 0xca, 0xa6, 0x05, + 0x13, 0x3d, 0x86, 0xb9, 0xd4, 0x0a, 0x28, 0xfb, 0x6b, 0x5a, 0x1b, 0x07, 0x91, 0x2b, 0xd1, 0xa0, + 0x5c, 0xe4, 0x26, 0xd7, 0xbf, 0x10, 0x5d, 0x4b, 0x59, 0xd7, 0x0d, 0xa2, 0xe1, 0x46, 0x62, 0x0f, + 0x72, 0xc8, 0x86, 0x85, 0xac, 0xb5, 0x54, 0x0e, 0x79, 0xc0, 0x42, 0x5b, 0x36, 0x34, 0x47, 0x68, + 0x66, 0x59, 0x6b, 0x49, 0x73, 0x80, 0x29, 0x37, 0xd2, 0xfc, 0x9c, 0xf8, 0x29, 0x5e, 0xe7, 0x11, + 0xc6, 0xbd, 0x6a, 0xd7, 0x7d, 0x81, 0x43, 0x24, 0x2e, 0xb2, 0x49, 0x90, 0x09, 0xf7, 0x6e, 0x0e, + 0xfd, 0x16, 0x4c, 0xd1, 0xb4, 0xc3, 0xfc, 0xde, 0xc5, 0xb4, 0x9a, 0x8a, 0xb8, 0x2c, 0xbe, 0x68, + 0xe1, 0x83, 0x1c, 0xfa, 0x29, 0x4c, 0x6c, 0x62, 0x7a, 0xf1, 0x00, 0xbd, 0x95, 0xf8, 0x75, 0x8d, + 0x6d, 0x4f, 0x6e, 0x22, 0x44, 0x87, 0x93, 0x51, 0x1a, 0x54, 0x87, 0x02, 0x47, 0x0f, 0x91, 0x95, + 0xc0, 0x0f, 0x33, 0x08, 0xcc, 0x27, 0x08, 0x90, 0x7d, 0x1c, 0xaa, 0xc3, 0xa4, 0xbc, 0xfd, 0x80, + 0x96, 0x0c, 0x57, 0x2e, 0xca, 0xa5, 0x74, 0x01, 0x8f, 0xd3, 0x8d, 0xfc, 0xf5, 0x7c, 0x0e, 0xdd, + 0x07, 0x60, 0x8f, 0x13, 0xe9, 0x58, 0x92, 0x1d, 0x2d, 0xa7, 0x18, 0x88, 0x36, 0x89, 0x21, 0xe8, + 0xe2, 0x08, 0x5f, 0x74, 0xf0, 0x26, 0x69, 0xed, 0xc0, 0xac, 0x7c, 0x2a, 0x78, 0x71, 0x4e, 0x98, + 0xa8, 0x7d, 0x4a, 0x66, 0x10, 0x7b, 0xab, 0x2f, 0xaf, 0x1b, 0x22, 0xd3, 0x05, 0x44, 0x29, 0x4e, + 0x56, 0x4d, 0xc1, 0x95, 0x39, 0x9d, 0x25, 0x6e, 0x32, 0xcb, 0x73, 0x02, 0x17, 0x43, 0x59, 0x6d, + 0x57, 0xbf, 0x7a, 0x88, 0x6e, 0x29, 0x1d, 0xc8, 0xbc, 0x31, 0x59, 0x7e, 0x6b, 0x40, 0x0d, 0x26, + 0x27, 0x6a, 0x75, 0xbe, 0x82, 0x19, 0xed, 0xb2, 0x1a, 0x12, 0xf7, 0xe4, 0xb3, 0x6e, 0x13, 0x96, + 0x97, 0xb3, 0x0b, 0xf9, 0x76, 0xff, 0x21, 0x35, 0x36, 0x89, 0x1c, 0x8a, 0xe5, 0xac, 0x5c, 0x89, + 0x3c, 0xe8, 0x20, 0xf2, 0xe1, 0x24, 0x50, 0x1e, 0xd1, 0x17, 0xd7, 0x3a, 0xb0, 0xb9, 0x3a, 0x90, + 0x92, 0x21, 0x23, 0xe3, 0x83, 0x1c, 0xda, 0x80, 0x79, 0x79, 0xee, 0xa1, 0xfc, 0xca, 0x85, 0x01, + 0xc1, 0xa8, 0x06, 0x5f, 0xc2, 0x3c, 0x57, 0x2a, 0x8d, 0x4c, 0x51, 0x5a, 0x2a, 0x9e, 0xed, 0xcf, + 0x48, 0xe0, 0x2b, 0x58, 0x6c, 0x24, 0x06, 0xc5, 0xbc, 0xb4, 0xeb, 0x3a, 0x09, 0x25, 0x79, 0xa3, + 0x91, 0xd6, 0x23, 0x40, 0x8d, 0xfe, 0xc1, 0x89, 0x2b, 0xc9, 0xbd, 0x70, 0xf1, 0x4b, 0x74, 0x33, + 0x31, 0x24, 0x02, 0xa4, 0xd5, 0xa8, 0xa9, 0x33, 0xb1, 0x08, 0xed, 0xb3, 0x4c, 0x10, 0x2c, 0xab, + 0x95, 0xd3, 0x73, 0x0e, 0xdc, 0xae, 0x1b, 0x91, 0xdd, 0xd9, 0x2d, 0x0d, 0x41, 0x2d, 0x12, 0xea, + 0x70, 0xdd, 0x58, 0x03, 0x7d, 0x01, 0x33, 0x9b, 0x38, 0x8a, 0xf3, 0x53, 0xa2, 0xa5, 0x54, 0x46, + 0x4b, 0x2e, 0x3a, 0x71, 0x02, 0xae, 0x27, 0xc5, 0xdc, 0x86, 0x22, 0xb3, 0xd4, 0x0a, 0x89, 0x9b, + 0x29, 0x12, 0xbc, 0x8a, 0x13, 0x38, 0x27, 0xa1, 0x91, 0x5b, 0xf7, 0x61, 0x74, 0xcf, 0xf5, 0x0e, + 0x91, 0x78, 0xa5, 0xa8, 0xe4, 0x77, 0x2b, 0xcf, 0x6b, 0x30, 0xae, 0xc7, 0x07, 0x50, 0x61, 0x89, + 0x19, 0xd3, 0xc9, 0x10, 0x45, 0xf6, 0xf9, 0x1f, 0xc9, 0x0b, 0xab, 0x03, 0x12, 0x38, 0x4a, 0xfe, + 0x24, 0xcb, 0x9b, 0x6b, 0x68, 0x8f, 0x72, 0x3d, 0xdd, 0x00, 0xba, 0x1d, 0x2f, 0xce, 0xc6, 0x5c, + 0x8c, 0x65, 0x94, 0x24, 0xdc, 0x5c, 0x43, 0x32, 0x81, 0x44, 0x06, 0xd1, 0x3b, 0x9a, 0x0f, 0x71, + 0x39, 0xba, 0x5f, 0xc0, 0xa4, 0x4c, 0x44, 0x28, 0x8d, 0x57, 0x32, 0x7b, 0xa2, 0x5c, 0x0d, 0xd2, + 0x39, 0x0b, 0x3f, 0x67, 0x39, 0x43, 0x75, 0xfc, 0x64, 0xae, 0x3e, 0xa3, 0xf0, 0x3e, 0x81, 0x29, + 0x25, 0x4b, 0x9f, 0x9c, 0x2c, 0xe9, 0xcc, 0x7d, 0x65, 0xfd, 0xd7, 0x8c, 0x1e, 0x90, 0x15, 0x68, + 0x82, 0xa7, 0x85, 0x45, 0x8b, 0x31, 0x9a, 0x92, 0xa4, 0x2c, 0x81, 0x82, 0x3e, 0xa2, 0x17, 0xe0, + 0xea, 0xfd, 0x20, 0xc0, 0x1e, 0xc3, 0x33, 0xf9, 0x34, 0x09, 0xc4, 0x35, 0xba, 0xea, 0xb2, 0x1e, + 0x5e, 0xd3, 0x9b, 0x32, 0x77, 0x6f, 0x0d, 0x80, 0x31, 0x8b, 0xb6, 0xa4, 0x17, 0x1b, 0xd9, 0xb1, + 0x46, 0x56, 0xd5, 0xce, 0x25, 0x91, 0xbe, 0x10, 0x2b, 0x2b, 0x45, 0x2a, 0x69, 0x22, 0x50, 0xd9, + 0x61, 0xc2, 0xdf, 0x86, 0x62, 0xb5, 0x4d, 0x6d, 0xbd, 0x4c, 0xb8, 0x86, 0x56, 0xe4, 0xd4, 0xd7, + 0x0b, 0x04, 0xad, 0xc5, 0x64, 0xfe, 0xb6, 0x1d, 0xec, 0xd0, 0xbb, 0x78, 0x4b, 0x72, 0xc5, 0x4f, + 0x14, 0x65, 0x63, 0x18, 0x3b, 0xb5, 0x01, 0x0b, 0x75, 0xc7, 0x6b, 0xe3, 0xee, 0xeb, 0x91, 0xf9, + 0x94, 0xda, 0x29, 0x25, 0x19, 0xdd, 0xb5, 0x24, 0x3e, 0x37, 0x53, 0x73, 0x72, 0x3b, 0x29, 0xab, + 0x56, 0xe1, 0x2a, 0x63, 0x62, 0xcc, 0x16, 0x13, 0xb6, 0xa9, 0xf9, 0x8f, 0x60, 0x76, 0x83, 0xd8, + 0xf1, 0x7e, 0xc7, 0x65, 0xd7, 0xb6, 0x91, 0x7e, 0x0f, 0xd7, 0x88, 0xb8, 0x25, 0xd2, 0x83, 0x2a, + 0x59, 0xda, 0xe4, 0xec, 0x48, 0x27, 0xc2, 0x2b, 0x2f, 0x08, 0xb2, 0x6a, 0x42, 0x37, 0xea, 0x01, + 0x1c, 0x8a, 0x4c, 0x40, 0x89, 0xdc, 0x5b, 0xaa, 0x25, 0x32, 0x66, 0xe6, 0x2a, 0xff, 0x68, 0x70, + 0x25, 0xd5, 0x23, 0xb4, 0x61, 0xc9, 0x90, 0xd7, 0x0c, 0xbd, 0x2d, 0x9d, 0xf3, 0x41, 0x79, 0xcf, + 0x32, 0x9c, 0xc6, 0x6f, 0x94, 0xec, 0x36, 0x06, 0x9a, 0x83, 0x13, 0x9e, 0x19, 0x19, 0x2c, 0xaf, + 0x26, 0x66, 0x26, 0x26, 0x43, 0xef, 0xe8, 0xd4, 0x07, 0x24, 0x2f, 0x33, 0xb6, 0xf0, 0x84, 0xaa, + 0x5e, 0x9c, 0x17, 0x4b, 0xba, 0x5e, 0x59, 0xc9, 0xcb, 0xa4, 0xeb, 0x95, 0x99, 0x55, 0x8c, 0x31, + 0x78, 0x13, 0xae, 0x26, 0x52, 0x84, 0xa1, 0x9b, 0x49, 0xc6, 0x0e, 0x61, 0x28, 0x23, 0xf4, 0x58, + 0x28, 0x76, 0x9a, 0x50, 0x76, 0xd2, 0x30, 0xd3, 0x18, 0x19, 0xb9, 0xa7, 0xd2, 0x77, 0x52, 0xd3, + 0x80, 0xa1, 0xb7, 0x32, 0x58, 0x78, 0x31, 0xd6, 0x31, 0xb2, 0x0d, 0x28, 0x26, 0xb3, 0x68, 0xa1, + 0x15, 0xc9, 0xa5, 0xcc, 0x54, 0x61, 0xe5, 0x8a, 0xb1, 0x9c, 0xaf, 0x56, 0x5f, 0xc5, 0x42, 0x61, + 0x87, 0x8c, 0x49, 0xa1, 0xa8, 0x19, 0x94, 0x52, 0x42, 0xd1, 0xd3, 0x19, 0x6d, 0xd2, 0xf5, 0x44, + 0x49, 0x95, 0x64, 0x5c, 0x4f, 0x6e, 0x66, 0xd1, 0x89, 0xcf, 0xd1, 0x1a, 0x22, 0x5d, 0xb1, 0xd2, + 0xaf, 0x15, 0x6d, 0xc1, 0x4d, 0x77, 0xad, 0x62, 0x2c, 0x97, 0x23, 0x2d, 0x26, 0x13, 0x43, 0x49, + 0xa2, 0x86, 0x8c, 0x51, 0x46, 0x55, 0x7e, 0x08, 0x0b, 0xba, 0x14, 0x87, 0x8c, 0xd7, 0x44, 0x67, + 0x1f, 0x16, 0x33, 0x73, 0x4c, 0x49, 0x5b, 0x34, 0x28, 0x03, 0xd5, 0x00, 0xd7, 0x7b, 0x46, 0x4b, + 0x0d, 0x85, 0xc4, 0x49, 0x6a, 0x22, 0x0b, 0x55, 0x4a, 0xa6, 0x19, 0x29, 0xaa, 0x98, 0x4c, 0x95, + 0x34, 0x53, 0x17, 0x91, 0x69, 0x56, 0x56, 0x2a, 0xc9, 0x7e, 0xa5, 0x5f, 0x62, 0x51, 0x4d, 0x16, + 0x5c, 0x86, 0xfd, 0x17, 0xe9, 0x9a, 0x89, 0xce, 0x3a, 0x75, 0xb6, 0xe4, 0x6f, 0xcb, 0x5d, 0xd7, + 0xd8, 0xa4, 0xcd, 0xa3, 0xb2, 0x36, 0x38, 0x7d, 0x0a, 0xd5, 0x61, 0x5a, 0xcd, 0x72, 0x65, 0xec, + 0xc5, 0x8d, 0x34, 0x8d, 0x50, 0xd9, 0x4b, 0xce, 0x4a, 0x2e, 0xb0, 0xde, 0x2c, 0x27, 0x99, 0xa3, + 0x75, 0xc8, 0x3c, 0x24, 0xa4, 0xb2, 0x66, 0x48, 0x97, 0xcc, 0xce, 0xc6, 0x3c, 0x73, 0xbb, 0xf4, + 0x9f, 0x1e, 0x34, 0xfc, 0x82, 0xa1, 0x91, 0xcc, 0x53, 0xfa, 0xf8, 0x43, 0x4d, 0x59, 0x85, 0x14, + 0x2d, 0xc9, 0x48, 0x65, 0x55, 0x5e, 0x31, 0x15, 0xab, 0x76, 0xff, 0x6b, 0x98, 0x4b, 0xa5, 0xe6, + 0x92, 0x41, 0x3e, 0x53, 0xd2, 0xae, 0xc1, 0xb6, 0x75, 0x8b, 0x0c, 0x38, 0x81, 0xd8, 0x5c, 0x1d, + 0x4e, 0x34, 0xbd, 0x42, 0xef, 0x88, 0xf7, 0x22, 0x59, 0x9d, 0x33, 0x25, 0x00, 0x1b, 0x6e, 0x20, + 0x12, 0xa9, 0xbf, 0x12, 0x06, 0x22, 0x3b, 0x31, 0x98, 0x91, 0xea, 0xef, 0xd2, 0x54, 0xe0, 0x89, + 0xb4, 0x52, 0x32, 0xc6, 0x62, 0x4c, 0x25, 0x26, 0x63, 0x2c, 0xe6, 0x1c, 0x5f, 0x8c, 0x9b, 0x3b, + 0xb0, 0x90, 0x95, 0xa8, 0x4b, 0x89, 0x49, 0x1a, 0xb3, 0x78, 0x65, 0x70, 0xd4, 0x16, 0xb3, 0xdd, + 0x40, 0x6d, 0x40, 0xda, 0x2e, 0x23, 0x07, 0xbe, 0x15, 0xc9, 0xd8, 0xd2, 0xe9, 0xb5, 0xe4, 0xe6, + 0x71, 0x48, 0xfe, 0xad, 0x01, 0xae, 0xea, 0xd5, 0x86, 0x7b, 0xe8, 0x29, 0x99, 0xb0, 0xa4, 0xa3, + 0x9a, 0x4e, 0xc1, 0x25, 0x2d, 0x4b, 0x56, 0xe2, 0xac, 0x27, 0xb0, 0x20, 0x16, 0x6e, 0x35, 0x73, + 0x14, 0x4a, 0xe1, 0xc4, 0x6f, 0x3c, 0xa4, 0x95, 0xc9, 0x4c, 0x35, 0xc5, 0xb6, 0x88, 0xf4, 0xb7, + 0xcb, 0x94, 0x2d, 0xa2, 0x92, 0xd2, 0xa9, 0xac, 0x67, 0x7f, 0x42, 0x9f, 0xd1, 0x9d, 0x1e, 0xcb, + 0x15, 0x6a, 0x0e, 0x78, 0x6b, 0x94, 0x62, 0x9b, 0xb6, 0x26, 0x42, 0xa2, 0xb4, 0x41, 0x9d, 0xf2, + 0xf0, 0xcd, 0x1b, 0x45, 0xd2, 0x37, 0x6f, 0x6a, 0x47, 0xcd, 0xb1, 0xa2, 0x69, 0xf5, 0xe1, 0xb8, + 0xe4, 0x55, 0x46, 0x7e, 0x09, 0xc9, 0xab, 0xac, 0xbc, 0x0d, 0x74, 0xaf, 0xb0, 0x2f, 0x1c, 0xc3, + 0x98, 0xde, 0xcd, 0x81, 0x89, 0x17, 0xca, 0x2b, 0x83, 0xb3, 0x15, 0xf0, 0x93, 0x8f, 0x62, 0xf2, + 0x6d, 0x3b, 0xca, 0xca, 0xb4, 0xa1, 0x3c, 0xf0, 0x97, 0xee, 0x8d, 0xf1, 0x51, 0xfc, 0x9e, 0x70, + 0x3a, 0x75, 0xba, 0x86, 0xec, 0x09, 0x2a, 0xe9, 0xc1, 0x6e, 0x44, 0xfc, 0xcc, 0x5d, 0x75, 0x0d, + 0x53, 0xcf, 0xe8, 0x55, 0x37, 0x22, 0xe3, 0x65, 0xbc, 0x2b, 0xae, 0x16, 0x65, 0xe7, 0x05, 0x7b, + 0x47, 0x77, 0xde, 0x06, 0xdc, 0x3b, 0x1e, 0x7a, 0xb6, 0x84, 0x7e, 0x47, 0xa4, 0x4e, 0x4d, 0xe7, + 0x36, 0x79, 0x3b, 0x11, 0x16, 0xca, 0xbe, 0x54, 0x5b, 0x1e, 0x94, 0x3a, 0x05, 0x3d, 0xa6, 0xcf, + 0x0d, 0x9f, 0x6c, 0xaf, 0xd7, 0xf9, 0x2f, 0x14, 0xfb, 0x41, 0x2a, 0x78, 0xaf, 0xfc, 0xca, 0x4e, + 0xcc, 0x64, 0x56, 0x45, 0x43, 0x6c, 0xae, 0xa1, 0x06, 0x8d, 0x21, 0x6b, 0xd0, 0x8c, 0xf8, 0x7d, + 0x06, 0xc1, 0x72, 0x36, 0x41, 0x7a, 0xa0, 0xb1, 0x21, 0x56, 0x33, 0xbd, 0x9b, 0x86, 0x3e, 0x0c, + 0xf2, 0x02, 0x98, 0xda, 0x64, 0x93, 0x11, 0xbd, 0x1b, 0xa6, 0x47, 0x8c, 0x63, 0x8d, 0xea, 0xe3, + 0x9d, 0x57, 0xe2, 0x98, 0x86, 0xd8, 0x5c, 0xe5, 0x1c, 0xd3, 0xa0, 0x97, 0xe3, 0x58, 0x82, 0xa0, + 0xce, 0x31, 0xbd, 0x9b, 0x86, 0x3e, 0x0c, 0xe7, 0x58, 0x36, 0x99, 0x8b, 0x72, 0xec, 0x6b, 0xba, + 0x3e, 0x6f, 0xd2, 0xc7, 0x6f, 0x97, 0xe2, 0x59, 0x49, 0x78, 0xb0, 0x3a, 0x6a, 0x73, 0x0d, 0x3d, + 0xa3, 0x67, 0x0c, 0x09, 0xf8, 0xc5, 0xf8, 0xb6, 0x6c, 0x22, 0x4a, 0x39, 0xb7, 0x0d, 0x8b, 0x8c, + 0x73, 0xc9, 0xee, 0x1a, 0xfb, 0x62, 0x1c, 0xf6, 0xa6, 0x70, 0x76, 0x92, 0xa4, 0x2e, 0xcb, 0xbf, + 0x75, 0xaa, 0x22, 0xfb, 0x01, 0xf1, 0x4f, 0x3b, 0x69, 0xe7, 0x55, 0x27, 0x22, 0x02, 0xf5, 0x7a, + 0xf5, 0xe6, 0x2a, 0xda, 0xa6, 0x52, 0xd0, 0xc1, 0x83, 0xbc, 0xfb, 0x6c, 0x32, 0x94, 0x49, 0x5b, + 0xc2, 0x21, 0x4a, 0xf4, 0xc9, 0xd4, 0xb6, 0xb9, 0x53, 0x72, 0xeb, 0x73, 0xc1, 0xd1, 0x99, 0x58, + 0xc4, 0x16, 0x76, 0xb6, 0xd3, 0x18, 0xc6, 0x99, 0xe4, 0xaf, 0xfb, 0xa3, 0x9f, 0xc1, 0xa4, 0x40, + 0x1e, 0xce, 0x90, 0x24, 0x36, 0x65, 0xc8, 0x17, 0x30, 0xc5, 0x19, 0x42, 0x7b, 0x60, 0x6a, 0xc9, + 0xd8, 0xfd, 0x9f, 0xc2, 0x14, 0x67, 0xc3, 0xc0, 0x11, 0x98, 0x8f, 0x4c, 0x17, 0x37, 0x71, 0x94, + 0xf1, 0xeb, 0xd3, 0xc3, 0x06, 0x93, 0xf5, 0x63, 0xd7, 0xa8, 0x49, 0x9f, 0x0d, 0x9b, 0x7e, 0x29, + 0xdc, 0x44, 0x72, 0xe8, 0xef, 0x94, 0x13, 0xba, 0x0d, 0x33, 0xdd, 0xa1, 0xf8, 0xc6, 0xd1, 0xef, + 0xc2, 0x32, 0x3d, 0x12, 0xb9, 0x6c, 0x8f, 0xcd, 0x9b, 0x94, 0xeb, 0xf1, 0xd5, 0x8a, 0xe4, 0x8f, + 0x94, 0x9b, 0x88, 0x0d, 0xfb, 0x7d, 0x74, 0x42, 0xb5, 0x61, 0xa4, 0x3a, 0x0c, 0x7b, 0xc0, 0x62, + 0x74, 0x83, 0x8e, 0xfd, 0x92, 0xbd, 0x1d, 0x6c, 0x69, 0x12, 0xbf, 0x9a, 0x3e, 0xec, 0x66, 0x48, + 0xf2, 0x77, 0xd9, 0x09, 0x95, 0x46, 0x8a, 0x8a, 0xa9, 0xf6, 0xa0, 0xc5, 0x87, 0x0e, 0xed, 0x82, + 0xbd, 0x31, 0x1f, 0xb9, 0x4c, 0xca, 0x9c, 0x2a, 0x48, 0xf1, 0xed, 0xb5, 0x8c, 0x21, 0xe5, 0x19, + 0xf5, 0x1e, 0x47, 0x88, 0xaa, 0x6c, 0x8d, 0x57, 0x73, 0x8b, 0x28, 0xb1, 0xc9, 0xcc, 0xa4, 0x23, + 0x49, 0x12, 0x6c, 0x6f, 0x42, 0x7f, 0xca, 0x5d, 0xd9, 0x9b, 0x28, 0x59, 0x17, 0xca, 0x7a, 0x4e, + 0x04, 0x6e, 0xc2, 0x68, 0x62, 0x04, 0xf5, 0x14, 0x4a, 0xcd, 0xbb, 0xa0, 0xee, 0x4d, 0xf4, 0x0c, + 0x11, 0x72, 0x6f, 0x42, 0x1b, 0xd4, 0x29, 0x0f, 0xdf, 0x9b, 0x50, 0x24, 0x7d, 0x6f, 0xa2, 0x76, + 0xd4, 0x3c, 0xf1, 0x50, 0x3a, 0x45, 0x84, 0xdc, 0x77, 0x1b, 0xb3, 0x47, 0x0c, 0x38, 0xa8, 0x9a, + 0xcf, 0x48, 0x06, 0x24, 0x7d, 0x7e, 0x73, 0xa2, 0xa0, 0xb2, 0x7e, 0xea, 0xf2, 0x20, 0x87, 0x76, + 0x69, 0x6e, 0xf5, 0xac, 0x5f, 0xb8, 0x37, 0xe9, 0xcf, 0xc0, 0x9f, 0xd4, 0x27, 0xf4, 0x1a, 0xd9, + 0xf4, 0x06, 0xe2, 0x0d, 0xd8, 0xd6, 0x5d, 0xe7, 0xb7, 0x65, 0x2e, 0xd1, 0x45, 0xb3, 0x8a, 0x4f, + 0xb0, 0xc8, 0xb3, 0x19, 0xb5, 0xa8, 0xfe, 0xa4, 0x3c, 0x5d, 0xb2, 0xee, 0xc1, 0x38, 0x43, 0x32, + 0xae, 0x36, 0xda, 0xcf, 0xd0, 0xa3, 0xf7, 0xc4, 0x39, 0x32, 0x41, 0xd1, 0x8a, 0x8c, 0xfd, 0x7a, + 0x0f, 0x26, 0x59, 0xd8, 0xed, 0xe2, 0x28, 0x9f, 0x89, 0xd3, 0xe6, 0x41, 0x1d, 0x33, 0x5f, 0xf2, + 0x98, 0x51, 0xc3, 0xd8, 0x97, 0x67, 0xe4, 0x4f, 0x69, 0xe8, 0x53, 0x84, 0x1a, 0xcc, 0xf8, 0x8b, + 0x89, 0xc7, 0x80, 0x9c, 0xa5, 0x1f, 0xd3, 0xf8, 0xab, 0xcc, 0xaa, 0x65, 0xea, 0xfe, 0x5c, 0x0a, + 0x1b, 0x7d, 0x06, 0xb3, 0x8c, 0xb9, 0x12, 0x39, 0x5d, 0x69, 0x00, 0xcf, 0x66, 0x19, 0x9b, 0x5f, + 0x05, 0xf9, 0x67, 0x22, 0x50, 0x3b, 0xb4, 0xdb, 0x17, 0x09, 0xd1, 0x0e, 0x67, 0x9d, 0x89, 0xca, + 0xef, 0xd0, 0x45, 0x37, 0x3b, 0x15, 0x8c, 0x91, 0xd8, 0x5d, 0x25, 0x04, 0x3d, 0x38, 0x89, 0xcc, + 0x31, 0xbd, 0xf9, 0x98, 0x59, 0x49, 0x06, 0xc8, 0x86, 0xe4, 0x86, 0x29, 0xff, 0x78, 0x68, 0x3d, + 0x19, 0xe7, 0xe2, 0x89, 0xfd, 0xb3, 0xdb, 0x1b, 0x92, 0x10, 0x26, 0x23, 0x64, 0x68, 0xc8, 0xb3, + 0x22, 0x08, 0xea, 0x87, 0x99, 0x03, 0xc7, 0x60, 0xde, 0xa2, 0xc5, 0xf9, 0xf9, 0x2f, 0x29, 0x04, + 0xb3, 0x1b, 0x85, 0xd2, 0xd9, 0x67, 0xd0, 0xa0, 0x57, 0x70, 0x6a, 0x40, 0xd6, 0x94, 0xb5, 0x66, + 0x53, 0x5c, 0xb3, 0x4d, 0x3c, 0x29, 0x35, 0x3d, 0x4e, 0x1d, 0xb0, 0x3b, 0xe3, 0x17, 0x4d, 0xdf, + 0x08, 0xa1, 0xb4, 0xb4, 0x2f, 0x4f, 0x48, 0x06, 0x86, 0x13, 0x84, 0xac, 0x01, 0xe2, 0x1d, 0x1e, + 0xf4, 0x2a, 0x19, 0xe4, 0x7a, 0x79, 0x81, 0x3a, 0xf1, 0x95, 0xc6, 0x74, 0x8a, 0x1c, 0xb9, 0xec, + 0x1b, 0xd3, 0xf5, 0x48, 0xe9, 0x0e, 0xc8, 0xaf, 0x53, 0x8f, 0x7f, 0x59, 0x49, 0xcb, 0xa9, 0x53, + 0xb7, 0x77, 0x64, 0xb8, 0x2e, 0x2b, 0xd9, 0x4e, 0x19, 0x44, 0xa1, 0xbd, 0x43, 0xe6, 0xba, 0x29, + 0x1f, 0x4c, 0x7c, 0x93, 0x6a, 0x70, 0xb6, 0x1c, 0x39, 0xd7, 0x87, 0x26, 0x96, 0xd9, 0x85, 0x85, + 0xac, 0x3c, 0x2e, 0x52, 0x68, 0x03, 0x92, 0xbc, 0x64, 0x5e, 0xd7, 0xda, 0x83, 0xc5, 0xcc, 0x5c, + 0x2a, 0xf2, 0x84, 0x64, 0x50, 0xa6, 0x95, 0x4c, 0x8a, 0xdf, 0xc0, 0x92, 0x21, 0x71, 0x48, 0x1c, + 0x40, 0x1c, 0x98, 0x58, 0xc4, 0xa8, 0x10, 0xdf, 0x41, 0xd9, 0x9c, 0x93, 0x02, 0xdd, 0xd5, 0x83, + 0xa0, 0xe6, 0x4c, 0x10, 0xe5, 0xcc, 0x24, 0x3a, 0x68, 0x9f, 0xe6, 0xf7, 0xcb, 0x4a, 0x52, 0x21, + 0xfb, 0x3d, 0x38, 0x89, 0x85, 0xe1, 0x9a, 0xdd, 0x92, 0x21, 0x2f, 0xc5, 0x00, 0xaa, 0x17, 0xe8, + 0xed, 0xae, 0xb0, 0x4b, 0x7a, 0xca, 0x85, 0xc4, 0xf5, 0xff, 0xcc, 0x7c, 0x0c, 0x99, 0xfd, 0xfc, + 0x0a, 0x66, 0xb4, 0x47, 0xb9, 0x52, 0xfd, 0xb3, 0x9e, 0x72, 0xcb, 0x68, 0x75, 0xe6, 0x3b, 0xde, + 0x5a, 0xf1, 0x87, 0xff, 0xbe, 0x92, 0xfb, 0xe1, 0xd7, 0x2b, 0xb9, 0xff, 0xf2, 0xeb, 0x95, 0xdc, + 0xaf, 0x7e, 0xbd, 0x92, 0x3b, 0x18, 0xa7, 0xd5, 0xd7, 0xfe, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x79, 0x66, 0xb3, 0xe9, 0xdd, 0x93, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -11298,7 +11299,10 @@ type AuthServiceClient interface { // target. IsMFARequired(ctx context.Context, in *IsMFARequiredRequest, opts ...grpc.CallOption) (*IsMFARequiredResponse, error) // GetAccessRequests gets all pending access requests. + // DEPRECATED, DELETE IN 11.0.0: Use GetAccessRequestsV2 instead. GetAccessRequests(ctx context.Context, in *types.AccessRequestFilter, opts ...grpc.CallOption) (*AccessRequests, error) + // GetAccessRequestsV2 gets all pending access requests. + GetAccessRequestsV2(ctx context.Context, in *types.AccessRequestFilter, opts ...grpc.CallOption) (AuthService_GetAccessRequestsV2Client, error) // CreateAccessRequest creates a new access request. CreateAccessRequest(ctx context.Context, in *types.AccessRequestV3, opts ...grpc.CallOption) (*empty.Empty, error) // DeleteAccessRequest deletes an access request. @@ -11978,6 +11982,38 @@ func (c *authServiceClient) GetAccessRequests(ctx context.Context, in *types.Acc return out, nil } +func (c *authServiceClient) GetAccessRequestsV2(ctx context.Context, in *types.AccessRequestFilter, opts ...grpc.CallOption) (AuthService_GetAccessRequestsV2Client, error) { + stream, err := c.cc.NewStream(ctx, &_AuthService_serviceDesc.Streams[5], "/proto.AuthService/GetAccessRequestsV2", opts...) + if err != nil { + return nil, err + } + x := &authServiceGetAccessRequestsV2Client{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type AuthService_GetAccessRequestsV2Client interface { + Recv() (*types.AccessRequestV3, error) + grpc.ClientStream +} + +type authServiceGetAccessRequestsV2Client struct { + grpc.ClientStream +} + +func (x *authServiceGetAccessRequestsV2Client) Recv() (*types.AccessRequestV3, error) { + m := new(types.AccessRequestV3) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + func (c *authServiceClient) CreateAccessRequest(ctx context.Context, in *types.AccessRequestV3, opts ...grpc.CallOption) (*empty.Empty, error) { out := new(empty.Empty) err := c.cc.Invoke(ctx, "/proto.AuthService/CreateAccessRequest", in, out, opts...) @@ -12096,7 +12132,7 @@ func (c *authServiceClient) DeleteBot(ctx context.Context, in *DeleteBotRequest, } func (c *authServiceClient) GetBotUsers(ctx context.Context, in *GetBotUsersRequest, opts ...grpc.CallOption) (AuthService_GetBotUsersClient, error) { - stream, err := c.cc.NewStream(ctx, &_AuthService_serviceDesc.Streams[5], "/proto.AuthService/GetBotUsers", opts...) + stream, err := c.cc.NewStream(ctx, &_AuthService_serviceDesc.Streams[6], "/proto.AuthService/GetBotUsers", opts...) if err != nil { return nil, err } @@ -12146,7 +12182,7 @@ func (c *authServiceClient) GetCurrentUser(ctx context.Context, in *empty.Empty, } func (c *authServiceClient) GetUsers(ctx context.Context, in *GetUsersRequest, opts ...grpc.CallOption) (AuthService_GetUsersClient, error) { - stream, err := c.cc.NewStream(ctx, &_AuthService_serviceDesc.Streams[6], "/proto.AuthService/GetUsers", opts...) + stream, err := c.cc.NewStream(ctx, &_AuthService_serviceDesc.Streams[7], "/proto.AuthService/GetUsers", opts...) if err != nil { return nil, err } @@ -12259,7 +12295,7 @@ func (c *authServiceClient) EmitAuditEvent(ctx context.Context, in *events.OneOf } func (c *authServiceClient) CreateAuditStream(ctx context.Context, opts ...grpc.CallOption) (AuthService_CreateAuditStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &_AuthService_serviceDesc.Streams[7], "/proto.AuthService/CreateAuditStream", opts...) + stream, err := c.cc.NewStream(ctx, &_AuthService_serviceDesc.Streams[8], "/proto.AuthService/CreateAuditStream", opts...) if err != nil { return nil, err } @@ -12649,7 +12685,7 @@ func (c *authServiceClient) DeleteRole(ctx context.Context, in *DeleteRoleReques } func (c *authServiceClient) AddMFADevice(ctx context.Context, opts ...grpc.CallOption) (AuthService_AddMFADeviceClient, error) { - stream, err := c.cc.NewStream(ctx, &_AuthService_serviceDesc.Streams[8], "/proto.AuthService/AddMFADevice", opts...) + stream, err := c.cc.NewStream(ctx, &_AuthService_serviceDesc.Streams[9], "/proto.AuthService/AddMFADevice", opts...) if err != nil { return nil, err } @@ -12680,7 +12716,7 @@ func (x *authServiceAddMFADeviceClient) Recv() (*AddMFADeviceResponse, error) { } func (c *authServiceClient) DeleteMFADevice(ctx context.Context, opts ...grpc.CallOption) (AuthService_DeleteMFADeviceClient, error) { - stream, err := c.cc.NewStream(ctx, &_AuthService_serviceDesc.Streams[9], "/proto.AuthService/DeleteMFADevice", opts...) + stream, err := c.cc.NewStream(ctx, &_AuthService_serviceDesc.Streams[10], "/proto.AuthService/DeleteMFADevice", opts...) if err != nil { return nil, err } @@ -13089,7 +13125,7 @@ func (c *authServiceClient) ReplaceRemoteLocks(ctx context.Context, in *ReplaceR } func (c *authServiceClient) StreamSessionEvents(ctx context.Context, in *StreamSessionEventsRequest, opts ...grpc.CallOption) (AuthService_StreamSessionEventsClient, error) { - stream, err := c.cc.NewStream(ctx, &_AuthService_serviceDesc.Streams[10], "/proto.AuthService/StreamSessionEvents", opts...) + stream, err := c.cc.NewStream(ctx, &_AuthService_serviceDesc.Streams[11], "/proto.AuthService/StreamSessionEvents", opts...) if err != nil { return nil, err } @@ -13497,7 +13533,10 @@ type AuthServiceServer interface { // target. IsMFARequired(context.Context, *IsMFARequiredRequest) (*IsMFARequiredResponse, error) // GetAccessRequests gets all pending access requests. + // DEPRECATED, DELETE IN 11.0.0: Use GetAccessRequestsV2 instead. GetAccessRequests(context.Context, *types.AccessRequestFilter) (*AccessRequests, error) + // GetAccessRequestsV2 gets all pending access requests. + GetAccessRequestsV2(*types.AccessRequestFilter, AuthService_GetAccessRequestsV2Server) error // CreateAccessRequest creates a new access request. CreateAccessRequest(context.Context, *types.AccessRequestV3) (*empty.Empty, error) // DeleteAccessRequest deletes an access request. @@ -13943,6 +13982,9 @@ func (*UnimplementedAuthServiceServer) IsMFARequired(ctx context.Context, req *I func (*UnimplementedAuthServiceServer) GetAccessRequests(ctx context.Context, req *types.AccessRequestFilter) (*AccessRequests, error) { return nil, status.Errorf(codes.Unimplemented, "method GetAccessRequests not implemented") } +func (*UnimplementedAuthServiceServer) GetAccessRequestsV2(req *types.AccessRequestFilter, srv AuthService_GetAccessRequestsV2Server) error { + return status.Errorf(codes.Unimplemented, "method GetAccessRequestsV2 not implemented") +} func (*UnimplementedAuthServiceServer) CreateAccessRequest(ctx context.Context, req *types.AccessRequestV3) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateAccessRequest not implemented") } @@ -14764,6 +14806,27 @@ func _AuthService_GetAccessRequests_Handler(srv interface{}, ctx context.Context return interceptor(ctx, in, info, handler) } +func _AuthService_GetAccessRequestsV2_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(types.AccessRequestFilter) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(AuthServiceServer).GetAccessRequestsV2(m, &authServiceGetAccessRequestsV2Server{stream}) +} + +type AuthService_GetAccessRequestsV2Server interface { + Send(*types.AccessRequestV3) error + grpc.ServerStream +} + +type authServiceGetAccessRequestsV2Server struct { + grpc.ServerStream +} + +func (x *authServiceGetAccessRequestsV2Server) Send(m *types.AccessRequestV3) error { + return x.ServerStream.SendMsg(m) +} + func _AuthService_CreateAccessRequest_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(types.AccessRequestV3) if err := dec(in); err != nil { @@ -18118,6 +18181,11 @@ var _AuthService_serviceDesc = grpc.ServiceDesc{ ServerStreams: true, ClientStreams: true, }, + { + StreamName: "GetAccessRequestsV2", + Handler: _AuthService_GetAccessRequestsV2_Handler, + ServerStreams: true, + }, { StreamName: "GetBotUsers", Handler: _AuthService_GetBotUsers_Handler, diff --git a/api/client/proto/authservice.proto b/api/client/proto/authservice.proto index 1b961a521e26d..ecce502c766e8 100644 --- a/api/client/proto/authservice.proto +++ b/api/client/proto/authservice.proto @@ -1718,7 +1718,10 @@ service AuthService { rpc IsMFARequired(IsMFARequiredRequest) returns (IsMFARequiredResponse); // GetAccessRequests gets all pending access requests. + // DEPRECATED, DELETE IN 11.0.0: Use GetAccessRequestsV2 instead. rpc GetAccessRequests(types.AccessRequestFilter) returns (AccessRequests); + // GetAccessRequestsV2 gets all pending access requests. + rpc GetAccessRequestsV2(types.AccessRequestFilter) returns (stream types.AccessRequestV3); // CreateAccessRequest creates a new access request. rpc CreateAccessRequest(types.AccessRequestV3) returns (google.protobuf.Empty); // DeleteAccessRequest deletes an access request. diff --git a/integration/agent_forwarding_test.go b/integration/agent_forwarding_test.go new file mode 100644 index 0000000000000..12e97faddc3f5 --- /dev/null +++ b/integration/agent_forwarding_test.go @@ -0,0 +1,82 @@ +/* +Copyright 2022 Gravitational, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package integration + +import ( + "os" + "os/user" + "runtime" + "syscall" + "testing" + + "github.com/gravitational/teleport/lib/teleagent" + "github.com/stretchr/testify/require" + "golang.org/x/sys/unix" +) + +func TestAgentSocketPermissions(t *testing.T) { + if !isRoot() { + t.Skip("This test will be skipped because tests are not being run as root.") + } + + agentServer := teleagent.NewServer(nil) + + agentServer.SetTestPermissions(func() { + // ListenUnixSocket should not have its uid changed from root + require.True(t, isRoot()) + + done := make(chan struct{}) + + // Start goroutine to attempt privilege escalation during + // permission updates on the unix socket. + // + // For each step of permission updating, it should be impossible + // for the user to unlink/remove the socket. If they can unlink + // or remove the socket, then it could be replaced with a symlink + // which can be used to acquire the permissions of the original socket. + go func() { + defer close(done) + + // Update uid to nonroot + _, _, serr := syscall.Syscall(syscall.SYS_SETUID, 1000, 0, 0) + require.Zero(t, serr) + require.True(t, !isRoot()) + + err := unix.Unlink(agentServer.Path) + require.Error(t, err) + err = os.Remove(agentServer.Path) + require.Error(t, err) + err = os.Rename(agentServer.Path, agentServer.Path) + require.Error(t, err) + }() + <-done + + // ListenUnixSocket should not have its uid changed from root + require.True(t, isRoot()) + }) + + nonRoot, err := user.LookupId("1000") + require.NoError(t, err) + + // lock goroutine to root so that ListenUnixSocket doesn't + // pick up the syscall in the testPermissions func + runtime.LockOSThread() + defer runtime.UnlockOSThread() + + err = agentServer.ListenUnixSocket("test", "sock.agent", nonRoot) + require.NoError(t, err) +} diff --git a/integration/app_integration_test.go b/integration/app_integration_test.go index 51b243e8eb405..953590e88dfbd 100644 --- a/integration/app_integration_test.go +++ b/integration/app_integration_test.go @@ -1288,6 +1288,7 @@ func (p *pack) makeWebapiRequest(method, endpoint string, payload []byte) (int, Value: p.webCookie, }) req.Header.Add("Authorization", fmt.Sprintf("Bearer %v", p.webToken)) + req.Header.Add("Content-Type", "application/json") statusCode, body, err := p.sendRequest(req, nil) return statusCode, []byte(body), trace.Wrap(err) diff --git a/integration/helpers.go b/integration/helpers.go index dc44fc096d2b4..9eccf79d2a024 100644 --- a/integration/helpers.go +++ b/integration/helpers.go @@ -1695,20 +1695,8 @@ func externalSSHCommand(o commandOptions) (*exec.Cmd, error) { // clobber your system agent. func createAgent(me *user.User, privateKeyByte []byte, certificateBytes []byte) (*teleagent.AgentServer, string, string, error) { // create a path to the unix socket - sockDir, err := ioutil.TempDir("", "int-test") - if err != nil { - return nil, "", "", trace.Wrap(err) - } - sockPath := filepath.Join(sockDir, "agent.sock") - - uid, err := strconv.Atoi(me.Uid) - if err != nil { - return nil, "", "", trace.Wrap(err) - } - gid, err := strconv.Atoi(me.Gid) - if err != nil { - return nil, "", "", trace.Wrap(err) - } + sockDirName := "int-test" + sockName := "agent.sock" // transform the key and certificate bytes into something the agent can understand publicKey, _, _, _, err := ssh.ParseAuthorizedKey(certificateBytes) @@ -1737,13 +1725,13 @@ func createAgent(me *user.User, privateKeyByte []byte, certificateBytes []byte) }) // start the SSH agent - err = teleAgent.ListenUnixSocket(sockPath, uid, gid, 0600) + err = teleAgent.ListenUnixSocket(sockDirName, sockName, me) if err != nil { return nil, "", "", trace.Wrap(err) } go teleAgent.Serve() - return teleAgent, sockDir, sockPath, nil + return teleAgent, teleAgent.Dir, teleAgent.Path, nil } func closeAgent(teleAgent *teleagent.AgentServer, socketDirPath string) error { diff --git a/lib/auth/apiserver_test.go b/lib/auth/apiserver_test.go index 8e4f0f6992421..51fc45ab4acf9 100644 --- a/lib/auth/apiserver_test.go +++ b/lib/auth/apiserver_test.go @@ -117,6 +117,7 @@ func TestUpsertServer(t *testing.T) { require.NoError(t, err) req := httptest.NewRequest(http.MethodPost, "http://localhost", bytes.NewReader(body)) req.RemoteAddr = remoteAddr + req.Header.Add("Content-Type", "application/json") _, err = new(APIServer).upsertServer(s, tt.role, req, httprouter.Params{httprouter.Param{Key: "namespace", Value: apidefaults.Namespace}}) tt.assertErr(t, err) diff --git a/lib/auth/grpcserver.go b/lib/auth/grpcserver.go index c5516cb272d73..f32ae5159a740 100644 --- a/lib/auth/grpcserver.go +++ b/lib/auth/grpcserver.go @@ -514,6 +514,7 @@ func (g *GRPCServer) GetUsers(req *proto.GetUsersRequest, stream proto.AuthServi return nil } +// DEPRECATED, DELETE IN 11.0.0: Use GetAccessRequestsV2 instead. func (g *GRPCServer) GetAccessRequests(ctx context.Context, f *types.AccessRequestFilter) (*proto.AccessRequests, error) { auth, err := g.authenticate(ctx) if err != nil { @@ -541,6 +542,34 @@ func (g *GRPCServer) GetAccessRequests(ctx context.Context, f *types.AccessReque }, nil } +func (g *GRPCServer) GetAccessRequestsV2(f *types.AccessRequestFilter, stream proto.AuthService_GetAccessRequestsV2Server) error { + ctx := stream.Context() + auth, err := g.authenticate(ctx) + if err != nil { + return trace.Wrap(err) + } + var filter types.AccessRequestFilter + if f != nil { + filter = *f + } + reqs, err := auth.ServerWithRoles.GetAccessRequests(ctx, filter) + if err != nil { + return trace.Wrap(err) + } + for _, req := range reqs { + r, ok := req.(*types.AccessRequestV3) + if !ok { + err = trace.BadParameter("unexpected access request type %T", req) + return trace.Wrap(err) + } + + if err := stream.Send(r); err != nil { + return trace.Wrap(err) + } + } + return nil +} + func (g *GRPCServer) CreateAccessRequest(ctx context.Context, req *types.AccessRequestV3) (*empty.Empty, error) { auth, err := g.authenticate(ctx) if err != nil { diff --git a/lib/httplib/httplib.go b/lib/httplib/httplib.go index 395261b1b78e7..a56facf3ffbca 100644 --- a/lib/httplib/httplib.go +++ b/lib/httplib/httplib.go @@ -21,6 +21,7 @@ package httplib import ( "encoding/json" "errors" + "mime" "net" "net/http" "net/url" @@ -115,6 +116,18 @@ func WithCSRFProtection(fn HandlerFunc) httprouter.Handle { // ReadJSON reads HTTP json request and unmarshals it // into passed interface{} obj func ReadJSON(r *http.Request, val interface{}) error { + // Check content type to mitigate CSRF attack. + contentType, _, err := mime.ParseMediaType(r.Header.Get("Content-Type")) + if err != nil { + log.Warningf("Error parsing media type for reading JSON: %v", err) + return trace.BadParameter("invalid request") + } + + if contentType != "application/json" { + log.Warningf("Invalid HTTP request header content-type %q for reading JSON", contentType) + return trace.BadParameter("invalid request") + } + data, err := utils.ReadAtMost(r.Body, teleport.MaxHTTPRequestSize) if err != nil { return trace.Wrap(err) diff --git a/lib/httplib/httplib_test.go b/lib/httplib/httplib_test.go index ce69f6d91a71c..3208232f1537f 100644 --- a/lib/httplib/httplib_test.go +++ b/lib/httplib/httplib_test.go @@ -17,11 +17,15 @@ limitations under the License. package httplib import ( + "bytes" + "encoding/json" "net/http" "net/http/httptest" + "strings" "testing" "github.com/julienschmidt/httprouter" + "github.com/stretchr/testify/require" . "gopkg.in/check.v1" ) @@ -77,3 +81,59 @@ func (h *testHandler) postSessionChunkNamespace(w http.ResponseWriter, r *http.R h.capturedID = p.ByName("id") return "ok", nil } + +func TestReadJSON_ContentType(t *testing.T) { + t.Parallel() + + type TestJSON struct { + Name string `json:"name"` + Age int `json:"age"` + } + + testCases := []struct { + name string + contentType string + wantErr bool + }{ + { + name: "empty value", + contentType: "", + wantErr: true, + }, + { + name: "invalid type", + contentType: "multipart/form-data", + wantErr: true, + }, + { + name: "just type/subtype", + contentType: "application/json", + }, + { + name: "type/subtype with params", + contentType: "application/json; charset=utf-8", + }, + } + + body := TestJSON{Name: "foo", Age: 60} + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + payloadBuf := new(bytes.Buffer) + require.NoError(t, json.NewEncoder(payloadBuf).Encode(body)) + + httpReq, err := http.NewRequest("", "", payloadBuf) + require.NoError(t, err) + httpReq.Header.Add("Content-Type", tc.contentType) + + output := TestJSON{} + err = ReadJSON(httpReq, &output) + if tc.wantErr { + require.True(t, strings.Contains(err.Error(), "invalid request")) + require.Empty(t, output) + } else { + require.NoError(t, err) + require.Equal(t, body, output) + } + }) + } +} diff --git a/lib/services/access_request.go b/lib/services/access_request.go index 463e4cbcc416d..5db1bc78a4290 100644 --- a/lib/services/access_request.go +++ b/lib/services/access_request.go @@ -32,6 +32,8 @@ import ( "github.com/vulcand/predicate" ) +const maxAccessRequestReasonSize = 4096 + // ValidateAccessRequest validates the AccessRequest and sets default values func ValidateAccessRequest(ar types.AccessRequest) error { if err := ar.CheckAndSetDefaults(); err != nil { @@ -41,6 +43,12 @@ func ValidateAccessRequest(ar types.AccessRequest) error { if err != nil { return trace.BadParameter("invalid access request id %q", ar.GetName()) } + if len(ar.GetRequestReason()) > maxAccessRequestReasonSize { + return trace.BadParameter("access request reason is too long, max %v bytes", maxAccessRequestReasonSize) + } + if len(ar.GetResolveReason()) > maxAccessRequestReasonSize { + return trace.BadParameter("access request resolve reason is too long, max %v bytes", maxAccessRequestReasonSize) + } return nil } diff --git a/lib/services/access_request_test.go b/lib/services/access_request_test.go index f1bbd5584fac0..ca1db89cc9c77 100644 --- a/lib/services/access_request_test.go +++ b/lib/services/access_request_test.go @@ -519,6 +519,20 @@ func TestReviewThresholds(t *testing.T) { } } +// TestMaxLength tests that we reject too large access requests. +func TestMaxLength(t *testing.T) { + req, err := types.NewAccessRequest("some-id", "dave", "dictator", "never") + require.NoError(t, err) + + var s []byte + for i := 0; i <= maxAccessRequestReasonSize; i++ { + s = append(s, 'a') + } + + req.SetRequestReason(string(s)) + require.Error(t, ValidateAccessRequest(req)) +} + // TestThresholdReviewFilter verifies basic filter syntax. func TestThresholdReviewFilter(t *testing.T) { diff --git a/lib/srv/regular/sshserver.go b/lib/srv/regular/sshserver.go index f7cd21b59e5be..53e6c3f93f5c4 100644 --- a/lib/srv/regular/sshserver.go +++ b/lib/srv/regular/sshserver.go @@ -22,11 +22,9 @@ import ( "context" "fmt" "io" - "io/ioutil" "net" "os" "os/user" - "path/filepath" "strconv" "strings" "sync" @@ -886,42 +884,24 @@ func (s *Server) serveAgent(ctx *srv.ServerContext) error { if err != nil { return trace.ConvertSystemError(err) } - uid, err := strconv.Atoi(systemUser.Uid) - if err != nil { - return trace.Wrap(err) - } - gid, err := strconv.Atoi(systemUser.Gid) - if err != nil { - return trace.Wrap(err) - } + pid := os.Getpid() - // build the socket path and set permissions - socketDir, err := ioutil.TempDir(os.TempDir(), "teleport-") - if err != nil { - return trace.Wrap(err) - } - dirCloser := &utils.RemoveDirCloser{Path: socketDir} - socketPath := filepath.Join(socketDir, fmt.Sprintf("teleport-%v.socket", pid)) - if err := os.Chown(socketDir, uid, gid); err != nil { - if err := dirCloser.Close(); err != nil { - log.Warnf("failed to remove directory: %v", err) - } - return trace.ConvertSystemError(err) - } + socketDir := "teleport" + socketName := fmt.Sprintf("teleport-%v.socket", pid) // start an agent server on a unix socket. each incoming connection // will result in a separate agent request. agentServer := teleagent.NewServer(ctx.Parent().StartAgentChannel) - err = agentServer.ListenUnixSocket(socketPath, uid, gid, 0600) + err = agentServer.ListenUnixSocket(socketDir, socketName, systemUser) if err != nil { return trace.Wrap(err) } - ctx.Parent().SetEnv(teleport.SSHAuthSock, socketPath) + + ctx.Parent().SetEnv(teleport.SSHAuthSock, agentServer.Path) ctx.Parent().SetEnv(teleport.SSHAgentPID, fmt.Sprintf("%v", pid)) ctx.Parent().AddCloser(agentServer) - ctx.Parent().AddCloser(dirCloser) - ctx.Debugf("Starting agent server for Teleport user %v and socket %v.", ctx.Identity.TeleportUser, socketPath) + ctx.Debugf("Starting agent server for Teleport user %v and socket %v.", ctx.Identity.TeleportUser, agentServer.Path) go func() { if err := agentServer.Serve(); err != nil { ctx.Errorf("agent server for user %q stopped: %v", ctx.Identity.TeleportUser, err) diff --git a/lib/srv/termmanager.go b/lib/srv/termmanager.go index fe1fd6e34a439..0cd4b15ae0b83 100644 --- a/lib/srv/termmanager.go +++ b/lib/srv/termmanager.go @@ -243,8 +243,13 @@ func (g *TermManager) AddReader(name string, r io.Reader) { } } - g.incoming <- buf[:n] g.mu.Lock() + + if g.on { + g.mu.Unlock() + g.incoming <- buf[:n] + g.mu.Lock() + } if g.isClosed() || g.readerState[name] { g.mu.Unlock() return diff --git a/lib/srv/termmanager_test.go b/lib/srv/termmanager_test.go index b1bc322135bf8..1ca8f7a369dfc 100644 --- a/lib/srv/termmanager_test.go +++ b/lib/srv/termmanager_test.go @@ -17,12 +17,14 @@ limitations under the License. package srv import ( + "context" "crypto/rand" "io" "testing" "time" "github.com/stretchr/testify/require" + "golang.org/x/sync/semaphore" ) func TestCTRLCPassthrough(t *testing.T) { @@ -86,3 +88,42 @@ func TestBufferedKept(t *testing.T) { kept := data[len(data)-maxPausedHistoryBytes:] require.Equal(t, m.buffer, kept) } + +type funcReader func(p []byte) (n int, err error) + +func (f funcReader) Read(p []byte) (n int, err error) { + return f(p) +} + +func TestNoReadWhenOff(t *testing.T) { + m := NewTermManager() + + r, w := io.Pipe() + data := make([]byte, 90) + n, err := rand.Read(data) + require.NoError(t, err) + + s := semaphore.NewWeighted(1) + require.NoError(t, s.Acquire(context.Background(), 1)) + var fr funcReader = func(p []byte) (n int, err error) { + n, err = r.Read(p) + s.Release(1) + return + } + + m.AddReader("reader", fr) + + _, err = w.Write(data[:n]) + require.NoError(t, err) + + require.NoError(t, s.Acquire(context.Background(), 1)) + m.On() + + _, err = w.Write([]byte{1, 2, 3}) + require.NoError(t, err) + + n, err = m.Read(data) + require.NoError(t, err) + + require.Equal(t, []byte{1, 2, 3}, data[:n]) +} diff --git a/lib/teleagent/agent.go b/lib/teleagent/agent.go index 421642bf40168..c3f379b601e2d 100644 --- a/lib/teleagent/agent.go +++ b/lib/teleagent/agent.go @@ -18,9 +18,13 @@ import ( "io" "net" "os" + "os/user" + "path/filepath" + "strconv" "strings" "time" + "github.com/gravitational/teleport" "github.com/gravitational/teleport/lib/utils" "github.com/gravitational/trace" @@ -58,7 +62,12 @@ type Getter func() (Agent, error) type AgentServer struct { getAgent Getter listener net.Listener - path string + Path string + Dir string + // testPermissions is a test provided function used to test + // the permissions of the agent server during potentially + // vulnerable moments in permission changes. + testPermissions func() } // NewServer returns new instance of agent server @@ -66,25 +75,83 @@ func NewServer(getter Getter) *AgentServer { return &AgentServer{getAgent: getter} } -// ListenUnixSocket starts listening and serving agent assuming that -func (a *AgentServer) ListenUnixSocket(path string, uid, gid int, mode os.FileMode) error { - l, err := net.Listen("unix", path) +// ListenUnixSocket starts listening on a new unix socket. +func (a *AgentServer) ListenUnixSocket(sockDir, sockName string, user *user.User) error { + // Create a temp directory to hold the agent socket. + sockDir, err := os.MkdirTemp(os.TempDir(), sockDir+"-") if err != nil { return trace.Wrap(err) } - if err := os.Chown(path, uid, gid); err != nil { - l.Close() + a.Dir = sockDir + + sockPath := filepath.Join(sockDir, sockName) + l, err := net.Listen("unix", sockPath) + if err != nil { + a.Close() + return trace.Wrap(err) + } + + a.listener = l + a.Path = sockPath + + if err := a.updatePermissions(user); err != nil { + a.Close() + return trace.Wrap(err) + } + + return nil +} + +// Update the agent server permissions to give the user sole ownership +// of the socket path and prevent other users from accessing or seeing it. +func (a *AgentServer) updatePermissions(user *user.User) error { + // Tests may provide a testPermissions function to test potentially + // vulnerable moments during permission updating. + testPermissions := func() { + if a.testPermissions != nil { + a.testPermissions() + } + } + + testPermissions() + + uid, err := strconv.Atoi(user.Uid) + if err != nil { + return trace.Wrap(err) + } + gid, err := strconv.Atoi(user.Gid) + if err != nil { + return trace.Wrap(err) + } + + testPermissions() + + if err := os.Chmod(a.Path, teleport.FileMaskOwnerOnly); err != nil { return trace.ConvertSystemError(err) } - if err := os.Chmod(path, mode); err != nil { - l.Close() + + testPermissions() + + if err := os.Chown(a.Path, uid, gid); err != nil { return trace.ConvertSystemError(err) } - a.listener = l - a.path = path + + testPermissions() + + // To prevent a privilege escalation attack, this must occur + // after the socket permissions are updated. + if err := os.Chown(a.Dir, uid, gid); err != nil { + return trace.ConvertSystemError(err) + } + return nil } +// SetTestPermissions can be used by tests to test agent socket permissions. +func (a *AgentServer) SetTestPermissions(testPermissions func()) { + a.testPermissions = testPermissions +} + // Serve starts serving on the listener, assumes that Listen was called before func (a *AgentServer) Serve() error { if a.listener == nil { @@ -158,8 +225,13 @@ func (a *AgentServer) Close() error { errors = append(errors, trace.ConvertSystemError(err)) } } - if a.path != "" { - if err := os.Remove(a.path); err != nil { + if a.Path != "" { + if err := os.Remove(a.Path); err != nil { + errors = append(errors, trace.ConvertSystemError(err)) + } + } + if a.Dir != "" { + if err := os.RemoveAll(a.Dir); err != nil { errors = append(errors, trace.ConvertSystemError(err)) } } diff --git a/lib/utils/fs.go b/lib/utils/fs.go index c1295e5347b97..046f2e9ec1549 100644 --- a/lib/utils/fs.go +++ b/lib/utils/fs.go @@ -64,17 +64,6 @@ func MkdirAll(targetDirectory string, mode os.FileMode) error { return nil } -// RemoveDirCloser removes directory and all it's contents -// when Close is called -type RemoveDirCloser struct { - Path string -} - -// Close removes directory and all it's contents -func (r *RemoveDirCloser) Close() error { - return trace.ConvertSystemError(os.RemoveAll(r.Path)) -} - // IsDir is a helper function to quickly check if a given path is a valid directory func IsDir(path string) bool { fi, err := os.Stat(path) diff --git a/lib/web/apiserver_test.go b/lib/web/apiserver_test.go index 258115d046e8a..d8ff98b648782 100644 --- a/lib/web/apiserver_test.go +++ b/lib/web/apiserver_test.go @@ -722,6 +722,28 @@ func TestPasswordChange(t *testing.T) { require.NoError(t, err) } +// TestValidateBearerToken tests that the bearer token's user name +// matches the user name on the cookie. +func TestValidateBearerToken(t *testing.T) { + t.Parallel() + env := newWebPack(t, 1) + proxy := env.proxies[0] + pack1 := proxy.authPack(t, "user1") + pack2 := proxy.authPack(t, "user2") + + // Swap pack1's session token with pack2's sessionToken + jar, err := cookiejar.New(nil) + require.NoError(t, err) + pack1.clt = proxy.newClient(t, roundtrip.BearerAuth(pack2.session.Token), roundtrip.CookieJar(jar)) + jar.SetCookies(&proxy.webURL, pack1.cookies) + + // Auth protected endpoint. + req := changePasswordReq{} + _, err = pack1.clt.PutJSON(context.Background(), pack1.clt.Endpoint("webapi", "users", "password"), req) + require.True(t, trace.IsAccessDenied(err)) + require.True(t, strings.Contains(err.Error(), "bad bearer token")) +} + func TestWebSessionsBadInput(t *testing.T) { t.Parallel() s := newWebSuite(t) diff --git a/lib/web/sessions.go b/lib/web/sessions.go index a19931a536d4e..8ce6eec4c8767 100644 --- a/lib/web/sessions.go +++ b/lib/web/sessions.go @@ -110,11 +110,21 @@ func (c *SessionContext) Invalidate() error { } func (c *SessionContext) validateBearerToken(ctx context.Context, token string) error { - _, err := c.parent.readBearerToken(ctx, types.GetWebTokenRequest{ + fetchedToken, err := c.parent.readBearerToken(ctx, types.GetWebTokenRequest{ User: c.user, Token: token, }) - return trace.Wrap(err) + if err != nil { + return trace.Wrap(err) + } + + if fetchedToken.GetUser() != c.user { + c.log.Warnf("Failed validating bearer token: the user[%s] in bearer token[%s] did not match the user[%s] for session[%s]", + fetchedToken.GetUser(), token, c.user, c.GetSessionID()) + return trace.AccessDenied("access denied") + } + + return nil } func (c *SessionContext) addRemoteClient(siteName string, remoteClient auth.ClientI) { diff --git a/lib/web/users_test.go b/lib/web/users_test.go index 0a4fcb90c44b0..4a7e187222fe7 100644 --- a/lib/web/users_test.go +++ b/lib/web/users_test.go @@ -184,6 +184,7 @@ func newRequest(t *testing.T, body interface{}) *http.Request { req, err := http.NewRequest("", "", bytes.NewBuffer(reqBody)) require.Nil(t, err) + req.Header.Add("Content-Type", "application/json") return req } diff --git a/tool/tsh/proxy_test.go b/tool/tsh/proxy_test.go index 59ff01d11249b..50cbab30a1b2e 100644 --- a/tool/tsh/proxy_test.go +++ b/tool/tsh/proxy_test.go @@ -29,6 +29,7 @@ import ( "testing" "time" + "github.com/gravitational/teleport" "github.com/gravitational/trace" "github.com/stretchr/testify/require" "golang.org/x/crypto/ssh/agent" @@ -433,22 +434,8 @@ func createAgent(t *testing.T) string { user, err := user.Current() require.NoError(t, err) - // Create own tmp dir instead of using t.TmpDir - // because net.Listen("unix", path) has dir path length limitation and - // the t.TmpDir calls creates tmp dir with test name. - sockDir, err := ioutil.TempDir("", "test") - require.NoError(t, err) - t.Cleanup(func() { - os.RemoveAll(sockDir) - }) - - sockPath := filepath.Join(sockDir, "agent.sock") - t.Setenv("SSH_AUTH_SOCK", sockPath) - - uid, err := strconv.Atoi(user.Uid) - require.NoError(t, err) - gid, err := strconv.Atoi(user.Gid) - require.NoError(t, err) + sockDir := "test" + sockName := "agent.sock" keyring := agent.NewKeyring() teleAgent := teleagent.NewServer(func() (teleagent.Agent, error) { @@ -456,13 +443,16 @@ func createAgent(t *testing.T) string { }) // Start the SSH agent. - err = teleAgent.ListenUnixSocket(sockPath, uid, gid, 0600) + err = teleAgent.ListenUnixSocket(sockDir, sockName, user) require.NoError(t, err) go teleAgent.Serve() t.Cleanup(func() { teleAgent.Close() }) - return sockPath + + t.Setenv(teleport.SSHAuthSock, teleAgent.Path) + + return teleAgent.Path } func mustLogin(t *testing.T, s *suite) {