diff --git a/gen/content/content.pb.go b/gen/content/content.pb.go index aa187441..dd2dec1c 100644 --- a/gen/content/content.pb.go +++ b/gen/content/content.pb.go @@ -375,6 +375,7 @@ type Contents struct { Content *Content `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"` Related []*Content `protobuf:"bytes,2,rep,name=related,proto3" json:"related,omitempty"` + Parents []string `protobuf:"bytes,3,rep,name=parents,proto3" json:"parents,omitempty"` } func (x *Contents) Reset() { @@ -423,6 +424,13 @@ func (x *Contents) GetRelated() []*Content { return nil } +func (x *Contents) GetParents() []string { + if x != nil { + return x.Parents + } + return nil +} + type Query struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1899,181 +1907,182 @@ var file_content_content_proto_rawDesc = []byte{ 0x52, 0x07, 0x73, 0x75, 0x62, 0x54, 0x61, 0x67, 0x73, 0x22, 0x2d, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x22, 0x62, 0x0a, 0x08, 0x43, 0x6f, 0x6e, 0x74, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x22, 0x7c, 0x0a, 0x08, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x22, 0x7d, 0x0a, 0x05, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x70, - 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x18, 0x0a, - 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, - 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0x47, 0x0a, 0x07, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x3c, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x22, 0xc9, 0x02, 0x0a, 0x0d, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, - 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, - 0x75, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x14, - 0x0a, 0x05, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, - 0x6f, 0x74, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, - 0x75, 0x73, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x67, - 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, - 0x77, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, - 0x22, 0x2a, 0x0a, 0x04, 0x45, 0x64, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, - 0x74, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x74, 0x6f, 0x22, 0xfc, 0x01, 0x0a, - 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1d, 0x0a, 0x0a, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, - 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x23, 0x0a, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x12, 0x35, 0x0a, 0x0a, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x2e, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0a, 0x6e, - 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x38, 0x0a, 0x0b, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, - 0x72, 0x6d, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, - 0x6d, 0x65, 0x64, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x1b, 0x0a, 0x07, 0x47, - 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x7a, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x23, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x48, 0x00, 0x52, - 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x23, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x46, 0x69, - 0x6c, 0x65, 0x48, 0x00, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x03, 0x75, 0x72, - 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x2e, 0x55, 0x52, 0x4c, 0x48, 0x00, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x42, 0x06, 0x0a, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x22, 0xc9, 0x01, 0x0a, 0x0a, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, - 0x7a, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x07, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x41, - 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x07, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, - 0x65, 0x12, 0x23, 0x0a, 0x04, 0x68, 0x74, 0x6d, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x48, 0x54, 0x4d, 0x4c, 0x48, 0x00, - 0x52, 0x04, 0x68, 0x74, 0x6d, 0x6c, 0x12, 0x35, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x48, - 0x00, 0x52, 0x0a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x29, 0x0a, - 0x06, 0x72, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x4d, 0x65, 0x48, 0x00, - 0x52, 0x06, 0x72, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x22, 0x7a, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x12, - 0x2c, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x61, - 0x72, 0x79, 0x48, 0x00, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x35, 0x0a, - 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x61, 0x74, 0x65, - 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, - 0x72, 0x69, 0x65, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xca, 0x01, 0x0a, - 0x07, 0x41, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x18, - 0x0a, 0x07, 0x65, 0x78, 0x63, 0x65, 0x72, 0x70, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x65, 0x78, 0x63, 0x65, 0x72, 0x70, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x69, 0x74, 0x65, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x74, - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, - 0x61, 0x76, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x61, - 0x76, 0x69, 0x63, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0x1a, 0x0a, 0x04, 0x48, 0x54, 0x4d, - 0x4c, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x74, 0x6d, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x68, 0x74, 0x6d, 0x6c, 0x22, 0x1c, 0x0a, 0x06, 0x52, 0x65, 0x61, 0x64, 0x4d, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, - 0x61, 0x74, 0x61, 0x22, 0x23, 0x0a, 0x07, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x18, - 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x2c, 0x0a, 0x0a, 0x43, 0x61, 0x74, 0x65, - 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, - 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x74, 0x65, - 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x22, 0x2e, 0x0a, 0x04, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, - 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x1a, 0x0a, 0x04, 0x54, 0x65, 0x78, 0x74, 0x12, 0x12, - 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x22, 0x43, 0x0a, 0x03, 0x55, 0x52, 0x4c, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x63, - 0x72, 0x61, 0x77, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x63, 0x72, 0x61, 0x77, - 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, 0x73, 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, + 0x65, 0x6e, 0x74, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x7d, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, + 0x44, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0x47, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x12, 0x3c, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, + 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0xc9, + 0x02, 0x0a, 0x0d, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x12, 0x2a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x07, + 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, + 0x07, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, + 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x6f, 0x74, 0x65, + 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x1e, + 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x75, + 0x73, 0x65, 0x72, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x20, + 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, + 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x22, 0x2a, 0x0a, 0x04, 0x45, 0x64, + 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x74, 0x6f, 0x22, 0xfc, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, + 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x35, 0x0a, 0x0a, + 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x72, 0x6d, 0x61, + 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0a, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, + 0x7a, 0x65, 0x64, 0x12, 0x38, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, + 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x48, 0x00, + 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x42, 0x06, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x1b, 0x0a, 0x07, 0x47, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, + 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, + 0x72, 0x6c, 0x22, 0x7a, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x04, 0x74, 0x65, + 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x48, 0x00, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, + 0x23, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x04, + 0x66, 0x69, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0c, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x52, 0x4c, 0x48, + 0x00, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xc9, + 0x01, 0x0a, 0x0a, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x2c, 0x0a, + 0x07, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, + 0x48, 0x00, 0x52, 0x07, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x04, 0x68, + 0x74, 0x6d, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x2e, 0x48, 0x54, 0x4d, 0x4c, 0x48, 0x00, 0x52, 0x04, 0x68, 0x74, 0x6d, 0x6c, + 0x12, 0x35, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x29, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x64, 0x6d, + 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x4d, 0x65, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x61, 0x64, + 0x6d, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x7a, 0x0a, 0x0b, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x07, 0x73, 0x75, 0x6d, + 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x48, 0x00, 0x52, 0x07, + 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x35, 0x0a, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, + 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, + 0x48, 0x00, 0x52, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x42, 0x06, + 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xca, 0x01, 0x0a, 0x07, 0x41, 0x72, 0x74, 0x69, 0x63, + 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x63, 0x65, + 0x72, 0x70, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x78, 0x63, 0x65, 0x72, + 0x70, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x69, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x61, 0x76, 0x69, 0x63, 0x6f, 0x6e, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x61, 0x76, 0x69, 0x63, 0x6f, 0x6e, 0x12, + 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, + 0x65, 0x78, 0x74, 0x22, 0x1a, 0x0a, 0x04, 0x48, 0x54, 0x4d, 0x4c, 0x12, 0x12, 0x0a, 0x04, 0x68, + 0x74, 0x6d, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x74, 0x6d, 0x6c, 0x22, + 0x1c, 0x0a, 0x06, 0x52, 0x65, 0x61, 0x64, 0x4d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x23, 0x0a, + 0x07, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, + 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, + 0x72, 0x79, 0x22, 0x2c, 0x0a, 0x0a, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, + 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, + 0x22, 0x2e, 0x0a, 0x04, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x22, 0x1a, 0x0a, 0x04, 0x54, 0x65, 0x78, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x43, 0x0a, 0x03, + 0x55, 0x52, 0x4c, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x72, 0x61, 0x77, 0x6c, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x63, 0x72, 0x61, 0x77, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x74, + 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x22, 0x73, 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x65, 0x6e, 0x64, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x0c, 0x0a, 0x01, 0x70, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x01, 0x70, 0x22, 0x91, 0x01, 0x0a, 0x07, 0x53, 0x65, 0x67, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x03, 0x6e, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, + 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, + 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, - 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x0c, - 0x0a, 0x01, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x70, 0x22, 0x91, 0x01, 0x0a, - 0x07, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x75, 0x6d, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x06, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, - 0x22, 0x5e, 0x0a, 0x0a, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x08, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x53, - 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x32, 0xf0, 0x02, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x04, 0x53, 0x61, 0x76, 0x65, 0x12, 0x11, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x13, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x49, 0x44, 0x73, 0x12, 0x2a, 0x0a, 0x06, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x0e, 0x2e, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x1a, 0x10, 0x2e, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, - 0x2e, 0x0a, 0x07, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x12, 0x10, 0x2e, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x11, 0x2e, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, - 0x32, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x13, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x73, 0x1a, 0x13, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x49, 0x44, 0x73, 0x12, 0x2d, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x54, 0x61, 0x67, 0x73, 0x12, 0x13, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x61, - 0x67, 0x73, 0x12, 0x3a, 0x0a, 0x07, 0x53, 0x65, 0x74, 0x54, 0x61, 0x67, 0x73, 0x12, 0x17, 0x2e, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x54, 0x61, 0x67, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x33, - 0x0a, 0x04, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x2e, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x42, 0x86, 0x01, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x42, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x50, 0x01, 0x5a, 0x2d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x6c, 0x75, 0x6e, 0x61, 0x62, 0x72, 0x61, 0x69, 0x6e, 0x2d, 0x61, 0x69, 0x2f, 0x6c, 0x75, 0x6e, - 0x61, 0x62, 0x72, 0x61, 0x69, 0x6e, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0xa2, 0x02, 0x03, 0x43, 0x58, 0x58, 0xaa, 0x02, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0xca, 0x02, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0xe2, 0x02, 0x13, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0xea, 0x02, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x5e, 0x0a, 0x0a, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x08, + 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x08, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x32, 0xf0, 0x02, 0x0a, 0x0e, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2e, 0x0a, + 0x04, 0x53, 0x61, 0x76, 0x65, 0x12, 0x11, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x13, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x73, 0x12, 0x2a, 0x0a, + 0x06, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x0e, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x1a, 0x10, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x2e, 0x0a, 0x07, 0x41, 0x6e, 0x61, + 0x6c, 0x79, 0x7a, 0x65, 0x12, 0x10, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x11, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x06, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x12, 0x13, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x73, 0x1a, 0x13, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x73, 0x12, 0x2d, 0x0a, + 0x07, 0x47, 0x65, 0x74, 0x54, 0x61, 0x67, 0x73, 0x12, 0x13, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x12, 0x3a, 0x0a, 0x07, + 0x53, 0x65, 0x74, 0x54, 0x61, 0x67, 0x73, 0x12, 0x17, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x2e, 0x53, 0x65, 0x74, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x33, 0x0a, 0x04, 0x56, 0x6f, 0x74, 0x65, + 0x12, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x56, 0x6f, 0x74, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x2e, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x86, 0x01, + 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x0c, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2d, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x75, 0x6e, 0x61, 0x62, 0x72, + 0x61, 0x69, 0x6e, 0x2d, 0x61, 0x69, 0x2f, 0x6c, 0x75, 0x6e, 0x61, 0x62, 0x72, 0x61, 0x69, 0x6e, + 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0xa2, 0x02, 0x03, 0x43, + 0x58, 0x58, 0xaa, 0x02, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0xca, 0x02, 0x07, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0xe2, 0x02, 0x13, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x07, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/js/dist/extension/background.js b/js/dist/extension/background.js index 1cdcfea7..f9612e98 100644 --- a/js/dist/extension/background.js +++ b/js/dist/extension/background.js @@ -3936,6 +3936,10 @@ * @generated from field: repeated content.Content related = 2; */ related = []; + /** + * @generated from field: repeated string parents = 3; + */ + parents = []; constructor(data) { super(); proto3.util.initPartial(data, this); @@ -3944,7 +3948,8 @@ static typeName = "content.Contents"; static fields = proto3.util.newFieldList(() => [ { no: 1, name: "content", kind: "message", T: Content }, - { no: 2, name: "related", kind: "message", T: Content, repeated: true } + { no: 2, name: "related", kind: "message", T: Content, repeated: true }, + { no: 3, name: "parents", kind: "scalar", T: 9, repeated: true } ]); static fromBinary(bytes, options) { return new _Contents().fromBinary(bytes, options); diff --git a/js/dist/extension/background.js.map b/js/dist/extension/background.js.map index 44193a07..54d5ff2c 100644 --- a/js/dist/extension/background.js.map +++ b/js/dist/extension/background.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": ["../../../node_modules/@bufbuild/protobuf/dist/esm/private/assert.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/enum.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/message.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/message-type.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/proto-runtime.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/field.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/google/varint.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/proto-int64.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/binary-encoding.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/field-wrapper.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/scalars.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/binary-format-common.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/binary-format-proto3.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/proto-base64.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/json-format-common.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/json-format-proto3.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/util-common.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/field-list.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/names.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/field.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/proto3.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/service-type.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/google/protobuf/empty_pb.js", "../../../node_modules/@bufbuild/connect/dist/esm/code.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol-connect/code-string.js", "../../../node_modules/@bufbuild/connect/dist/esm/connect-error.js", "../../../node_modules/@bufbuild/connect/dist/esm/http-headers.js", "../../../node_modules/@bufbuild/connect/dist/esm/any-client.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol/envelope.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol/async-iterable.js", "../../../node_modules/@bufbuild/connect/dist/esm/promise-client.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol/signals.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol/create-method-url.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol/serialization.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol-connect/content-type.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol-connect/error-json.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol-connect/end-stream.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol-connect/headers.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol-connect/http-status.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol-connect/trailer-mux.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol-connect/version.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol-connect/request-header.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol-connect/validate-response.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol-connect/get-request.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol/run-call.js", "../../../node_modules/@bufbuild/connect-web/dist/esm/assert-fetch-api.js", "../../../node_modules/@bufbuild/connect-web/dist/esm/connect-transport.js", "../../src/rpc/user/user_pb.ts", "../../src/rpc/content/content_pb.ts", "../../src/rpc/protoflow_pb.ts", "../../src/rpc/ai_pb.ts", "../../src/rpc/protoflow_connect.ts", "../../src/rpc/content/content_connect.ts", "../../src/rpc/user/user_connect.ts", "../../../node_modules/@tanstack/query-core/src/subscribable.ts", "../../../node_modules/@tanstack/query-core/src/utils.ts", "../../../node_modules/@tanstack/query-core/src/focusManager.ts", "../../../node_modules/@tanstack/query-core/src/onlineManager.ts", "../../../node_modules/@tanstack/query-core/src/retryer.ts", "../../../node_modules/@tanstack/query-core/src/logger.ts", "../../../node_modules/@tanstack/query-core/src/notifyManager.ts", "../../../node_modules/@tanstack/query-core/src/removable.ts", "../../../node_modules/@tanstack/query-core/src/query.ts", "../../../node_modules/@tanstack/query-core/src/queryCache.ts", "../../../node_modules/@tanstack/query-core/src/mutation.ts", "../../../node_modules/@tanstack/query-core/src/mutationCache.ts", "../../../node_modules/@tanstack/query-core/src/infiniteQueryBehavior.ts", "../../../node_modules/@tanstack/query-core/src/queryClient.ts", "../../src/service.ts", "../../src/extension/shared.tsx", "../../src/extension/background.tsx"], - "sourcesContent": ["// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * Assert that condition is truthy or throw error (with message)\n */\nexport function assert(condition, msg) {\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions -- we want the implicit conversion to boolean\n if (!condition) {\n throw new Error(msg);\n }\n}\nconst FLOAT32_MAX = 3.4028234663852886e38, FLOAT32_MIN = -3.4028234663852886e38, UINT32_MAX = 0xffffffff, INT32_MAX = 0x7fffffff, INT32_MIN = -0x80000000;\n/**\n * Assert a valid signed protobuf 32-bit integer.\n */\nexport function assertInt32(arg) {\n if (typeof arg !== \"number\")\n throw new Error(\"invalid int 32: \" + typeof arg);\n if (!Number.isInteger(arg) || arg > INT32_MAX || arg < INT32_MIN)\n throw new Error(\"invalid int 32: \" + arg); // eslint-disable-line @typescript-eslint/restrict-plus-operands -- we want the implicit conversion to string\n}\n/**\n * Assert a valid unsigned protobuf 32-bit integer.\n */\nexport function assertUInt32(arg) {\n if (typeof arg !== \"number\")\n throw new Error(\"invalid uint 32: \" + typeof arg);\n if (!Number.isInteger(arg) || arg > UINT32_MAX || arg < 0)\n throw new Error(\"invalid uint 32: \" + arg); // eslint-disable-line @typescript-eslint/restrict-plus-operands -- we want the implicit conversion to string\n}\n/**\n * Assert a valid protobuf float value.\n */\nexport function assertFloat32(arg) {\n if (typeof arg !== \"number\")\n throw new Error(\"invalid float 32: \" + typeof arg);\n if (!Number.isFinite(arg))\n return;\n if (arg > FLOAT32_MAX || arg < FLOAT32_MIN)\n throw new Error(\"invalid float 32: \" + arg); // eslint-disable-line @typescript-eslint/restrict-plus-operands -- we want the implicit conversion to string\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { assert } from \"./assert.js\";\nconst enumTypeSymbol = Symbol(\"@bufbuild/protobuf/enum-type\");\n/**\n * Get reflection information from a generated enum.\n * If this function is called on something other than a generated\n * enum, it raises an error.\n */\nexport function getEnumType(enumObject) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-explicit-any\n const t = enumObject[enumTypeSymbol];\n assert(t, \"missing enum type on enum object\");\n return t; // eslint-disable-line @typescript-eslint/no-unsafe-return\n}\n/**\n * Sets reflection information on a generated enum.\n */\nexport function setEnumType(enumObject, typeName, values, opt) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any\n enumObject[enumTypeSymbol] = makeEnumType(typeName, values.map((v) => ({\n no: v.no,\n name: v.name,\n localName: enumObject[v.no],\n })), opt);\n}\n/**\n * Create a new EnumType with the given values.\n */\nexport function makeEnumType(typeName, values, \n// eslint-disable-next-line @typescript-eslint/no-unused-vars\n_opt) {\n const names = Object.create(null);\n const numbers = Object.create(null);\n const normalValues = [];\n for (const value of values) {\n // We do not surface options at this time\n // const value: EnumValueInfo = {...v, options: v.options ?? emptyReadonlyObject};\n const n = normalizeEnumValue(value);\n normalValues.push(n);\n names[value.name] = n;\n numbers[value.no] = n;\n }\n return {\n typeName,\n values: normalValues,\n // We do not surface options at this time\n // options: opt?.options ?? Object.create(null),\n findName(name) {\n return names[name];\n },\n findNumber(no) {\n return numbers[no];\n },\n };\n}\n/**\n * Create a new enum object with the given values.\n * Sets reflection information.\n */\nexport function makeEnum(typeName, values, opt) {\n const enumObject = {};\n for (const value of values) {\n const n = normalizeEnumValue(value);\n enumObject[n.localName] = n.no;\n enumObject[n.no] = n.localName;\n }\n setEnumType(enumObject, typeName, values, opt);\n return enumObject;\n}\nfunction normalizeEnumValue(value) {\n if (\"localName\" in value) {\n return value;\n }\n return Object.assign(Object.assign({}, value), { localName: value.name });\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * Message is the base class of every message, generated, or created at\n * runtime.\n *\n * It is _not_ safe to extend this class. If you want to create a message at\n * run time, use proto3.makeMessageType().\n */\nexport class Message {\n /**\n * Compare with a message of the same type.\n */\n equals(other) {\n return this.getType().runtime.util.equals(this.getType(), this, other);\n }\n /**\n * Create a deep copy.\n */\n clone() {\n return this.getType().runtime.util.clone(this);\n }\n /**\n * Parse from binary data, merging fields.\n *\n * Repeated fields are appended. Map entries are added, overwriting\n * existing keys.\n *\n * If a message field is already present, it will be merged with the\n * new data.\n */\n fromBinary(bytes, options) {\n const type = this.getType(), format = type.runtime.bin, opt = format.makeReadOptions(options);\n format.readMessage(this, opt.readerFactory(bytes), bytes.byteLength, opt);\n return this;\n }\n /**\n * Parse a message from a JSON value.\n */\n fromJson(jsonValue, options) {\n const type = this.getType(), format = type.runtime.json, opt = format.makeReadOptions(options);\n format.readMessage(type, jsonValue, opt, this);\n return this;\n }\n /**\n * Parse a message from a JSON string.\n */\n fromJsonString(jsonString, options) {\n let json;\n try {\n json = JSON.parse(jsonString);\n }\n catch (e) {\n throw new Error(`cannot decode ${this.getType().typeName} from JSON: ${e instanceof Error ? e.message : String(e)}`);\n }\n return this.fromJson(json, options);\n }\n /**\n * Serialize the message to binary data.\n */\n toBinary(options) {\n const type = this.getType(), bin = type.runtime.bin, opt = bin.makeWriteOptions(options), writer = opt.writerFactory();\n bin.writeMessage(this, writer, opt);\n return writer.finish();\n }\n /**\n * Serialize the message to a JSON value, a JavaScript value that can be\n * passed to JSON.stringify().\n */\n toJson(options) {\n const type = this.getType(), json = type.runtime.json, opt = json.makeWriteOptions(options);\n return json.writeMessage(this, opt);\n }\n /**\n * Serialize the message to a JSON string.\n */\n toJsonString(options) {\n var _a;\n const value = this.toJson(options);\n return JSON.stringify(value, null, (_a = options === null || options === void 0 ? void 0 : options.prettySpaces) !== null && _a !== void 0 ? _a : 0);\n }\n /**\n * Override for serialization behavior. This will be invoked when calling\n * JSON.stringify on this message (i.e. JSON.stringify(msg)).\n *\n * Note that this will not serialize google.protobuf.Any with a packed\n * message because the protobuf JSON format specifies that it needs to be\n * unpacked, and this is only possible with a type registry to look up the\n * message type. As a result, attempting to serialize a message with this\n * type will throw an Error.\n *\n * This method is protected because you should not need to invoke it\n * directly -- instead use JSON.stringify or toJsonString for\n * stringified JSON. Alternatively, if actual JSON is desired, you should\n * use toJson.\n */\n toJSON() {\n return this.toJson({\n emitDefaultValues: true,\n });\n }\n /**\n * Retrieve the MessageType of this message - a singleton that represents\n * the protobuf message declaration and provides metadata for reflection-\n * based operations.\n */\n getType() {\n // Any class that extends Message _must_ provide a complete static\n // implementation of MessageType.\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-return\n return Object.getPrototypeOf(this).constructor;\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Message } from \"../message.js\";\n/**\n * Create a new message type using the given runtime.\n */\nexport function makeMessageType(runtime, typeName, fields, opt) {\n var _a;\n const localName = (_a = opt === null || opt === void 0 ? void 0 : opt.localName) !== null && _a !== void 0 ? _a : typeName.substring(typeName.lastIndexOf(\".\") + 1);\n const type = {\n [localName]: function (data) {\n runtime.util.initFields(this);\n runtime.util.initPartial(data, this);\n },\n }[localName];\n Object.setPrototypeOf(type.prototype, new Message());\n Object.assign(type, {\n runtime,\n typeName,\n fields: runtime.util.newFieldList(fields),\n fromBinary(bytes, options) {\n return new type().fromBinary(bytes, options);\n },\n fromJson(jsonValue, options) {\n return new type().fromJson(jsonValue, options);\n },\n fromJsonString(jsonString, options) {\n return new type().fromJsonString(jsonString, options);\n },\n equals(a, b) {\n return runtime.util.equals(type, a, b);\n },\n });\n return type;\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { getEnumType, makeEnum, makeEnumType } from \"./enum.js\";\nimport { makeMessageType } from \"./message-type.js\";\nexport function makeProtoRuntime(syntax, json, bin, util) {\n return {\n syntax,\n json,\n bin,\n util,\n makeMessageType(typeName, fields, opt) {\n return makeMessageType(this, typeName, fields, opt);\n },\n makeEnum,\n makeEnumType,\n getEnumType,\n };\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * Scalar value types. This is a subset of field types declared by protobuf\n * enum google.protobuf.FieldDescriptorProto.Type The types GROUP and MESSAGE\n * are omitted, but the numerical values are identical.\n */\nexport var ScalarType;\n(function (ScalarType) {\n // 0 is reserved for errors.\n // Order is weird for historical reasons.\n ScalarType[ScalarType[\"DOUBLE\"] = 1] = \"DOUBLE\";\n ScalarType[ScalarType[\"FLOAT\"] = 2] = \"FLOAT\";\n // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if\n // negative values are likely.\n ScalarType[ScalarType[\"INT64\"] = 3] = \"INT64\";\n ScalarType[ScalarType[\"UINT64\"] = 4] = \"UINT64\";\n // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if\n // negative values are likely.\n ScalarType[ScalarType[\"INT32\"] = 5] = \"INT32\";\n ScalarType[ScalarType[\"FIXED64\"] = 6] = \"FIXED64\";\n ScalarType[ScalarType[\"FIXED32\"] = 7] = \"FIXED32\";\n ScalarType[ScalarType[\"BOOL\"] = 8] = \"BOOL\";\n ScalarType[ScalarType[\"STRING\"] = 9] = \"STRING\";\n // Tag-delimited aggregate.\n // Group type is deprecated and not supported in proto3. However, Proto3\n // implementations should still be able to parse the group wire format and\n // treat group fields as unknown fields.\n // TYPE_GROUP = 10,\n // TYPE_MESSAGE = 11, // Length-delimited aggregate.\n // New in version 2.\n ScalarType[ScalarType[\"BYTES\"] = 12] = \"BYTES\";\n ScalarType[ScalarType[\"UINT32\"] = 13] = \"UINT32\";\n // TYPE_ENUM = 14,\n ScalarType[ScalarType[\"SFIXED32\"] = 15] = \"SFIXED32\";\n ScalarType[ScalarType[\"SFIXED64\"] = 16] = \"SFIXED64\";\n ScalarType[ScalarType[\"SINT32\"] = 17] = \"SINT32\";\n ScalarType[ScalarType[\"SINT64\"] = 18] = \"SINT64\";\n})(ScalarType || (ScalarType = {}));\n", "// Copyright 2008 Google Inc. All rights reserved.\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n// * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n// * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n// * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n//\n// Code generated by the Protocol Buffer compiler is owned by the owner\n// of the input file used when generating it. This code is not\n// standalone and requires a support library to be linked with it. This\n// support library is itself covered by the above license.\n/* eslint-disable prefer-const,@typescript-eslint/restrict-plus-operands */\n/**\n * Read a 64 bit varint as two JS numbers.\n *\n * Returns tuple:\n * [0]: low bits\n * [1]: high bits\n *\n * Copyright 2008 Google Inc. All rights reserved.\n *\n * See https://github.com/protocolbuffers/protobuf/blob/8a71927d74a4ce34efe2d8769fda198f52d20d12/js/experimental/runtime/kernel/buffer_decoder.js#L175\n */\nexport function varint64read() {\n let lowBits = 0;\n let highBits = 0;\n for (let shift = 0; shift < 28; shift += 7) {\n let b = this.buf[this.pos++];\n lowBits |= (b & 0x7f) << shift;\n if ((b & 0x80) == 0) {\n this.assertBounds();\n return [lowBits, highBits];\n }\n }\n let middleByte = this.buf[this.pos++];\n // last four bits of the first 32 bit number\n lowBits |= (middleByte & 0x0f) << 28;\n // 3 upper bits are part of the next 32 bit number\n highBits = (middleByte & 0x70) >> 4;\n if ((middleByte & 0x80) == 0) {\n this.assertBounds();\n return [lowBits, highBits];\n }\n for (let shift = 3; shift <= 31; shift += 7) {\n let b = this.buf[this.pos++];\n highBits |= (b & 0x7f) << shift;\n if ((b & 0x80) == 0) {\n this.assertBounds();\n return [lowBits, highBits];\n }\n }\n throw new Error(\"invalid varint\");\n}\n/**\n * Write a 64 bit varint, given as two JS numbers, to the given bytes array.\n *\n * Copyright 2008 Google Inc. All rights reserved.\n *\n * See https://github.com/protocolbuffers/protobuf/blob/8a71927d74a4ce34efe2d8769fda198f52d20d12/js/experimental/runtime/kernel/writer.js#L344\n */\nexport function varint64write(lo, hi, bytes) {\n for (let i = 0; i < 28; i = i + 7) {\n const shift = lo >>> i;\n const hasNext = !(shift >>> 7 == 0 && hi == 0);\n const byte = (hasNext ? shift | 0x80 : shift) & 0xff;\n bytes.push(byte);\n if (!hasNext) {\n return;\n }\n }\n const splitBits = ((lo >>> 28) & 0x0f) | ((hi & 0x07) << 4);\n const hasMoreBits = !(hi >> 3 == 0);\n bytes.push((hasMoreBits ? splitBits | 0x80 : splitBits) & 0xff);\n if (!hasMoreBits) {\n return;\n }\n for (let i = 3; i < 31; i = i + 7) {\n const shift = hi >>> i;\n const hasNext = !(shift >>> 7 == 0);\n const byte = (hasNext ? shift | 0x80 : shift) & 0xff;\n bytes.push(byte);\n if (!hasNext) {\n return;\n }\n }\n bytes.push((hi >>> 31) & 0x01);\n}\n// constants for binary math\nconst TWO_PWR_32_DBL = 0x100000000;\n/**\n * Parse decimal string of 64 bit integer value as two JS numbers.\n *\n * Copyright 2008 Google Inc. All rights reserved.\n *\n * See https://github.com/protocolbuffers/protobuf-javascript/blob/a428c58273abad07c66071d9753bc4d1289de426/experimental/runtime/int64.js#L10\n */\nexport function int64FromString(dec) {\n // Check for minus sign.\n const minus = dec[0] === \"-\";\n if (minus) {\n dec = dec.slice(1);\n }\n // Work 6 decimal digits at a time, acting like we're converting base 1e6\n // digits to binary. This is safe to do with floating point math because\n // Number.isSafeInteger(ALL_32_BITS * 1e6) == true.\n const base = 1e6;\n let lowBits = 0;\n let highBits = 0;\n function add1e6digit(begin, end) {\n // Note: Number('') is 0.\n const digit1e6 = Number(dec.slice(begin, end));\n highBits *= base;\n lowBits = lowBits * base + digit1e6;\n // Carry bits from lowBits to\n if (lowBits >= TWO_PWR_32_DBL) {\n highBits = highBits + ((lowBits / TWO_PWR_32_DBL) | 0);\n lowBits = lowBits % TWO_PWR_32_DBL;\n }\n }\n add1e6digit(-24, -18);\n add1e6digit(-18, -12);\n add1e6digit(-12, -6);\n add1e6digit(-6);\n return minus ? negate(lowBits, highBits) : newBits(lowBits, highBits);\n}\n/**\n * Losslessly converts a 64-bit signed integer in 32:32 split representation\n * into a decimal string.\n *\n * Copyright 2008 Google Inc. All rights reserved.\n *\n * See https://github.com/protocolbuffers/protobuf-javascript/blob/a428c58273abad07c66071d9753bc4d1289de426/experimental/runtime/int64.js#L10\n */\nexport function int64ToString(lo, hi) {\n let bits = newBits(lo, hi);\n // If we're treating the input as a signed value and the high bit is set, do\n // a manual two's complement conversion before the decimal conversion.\n const negative = (bits.hi & 0x80000000);\n if (negative) {\n bits = negate(bits.lo, bits.hi);\n }\n const result = uInt64ToString(bits.lo, bits.hi);\n return negative ? \"-\" + result : result;\n}\n/**\n * Losslessly converts a 64-bit unsigned integer in 32:32 split representation\n * into a decimal string.\n *\n * Copyright 2008 Google Inc. All rights reserved.\n *\n * See https://github.com/protocolbuffers/protobuf-javascript/blob/a428c58273abad07c66071d9753bc4d1289de426/experimental/runtime/int64.js#L10\n */\nexport function uInt64ToString(lo, hi) {\n ({ lo, hi } = toUnsigned(lo, hi));\n // Skip the expensive conversion if the number is small enough to use the\n // built-in conversions.\n // Number.MAX_SAFE_INTEGER = 0x001FFFFF FFFFFFFF, thus any number with\n // highBits <= 0x1FFFFF can be safely expressed with a double and retain\n // integer precision.\n // Proven by: Number.isSafeInteger(0x1FFFFF * 2**32 + 0xFFFFFFFF) == true.\n if (hi <= 0x1FFFFF) {\n return String(TWO_PWR_32_DBL * hi + lo);\n }\n // What this code is doing is essentially converting the input number from\n // base-2 to base-1e7, which allows us to represent the 64-bit range with\n // only 3 (very large) digits. Those digits are then trivial to convert to\n // a base-10 string.\n // The magic numbers used here are -\n // 2^24 = 16777216 = (1,6777216) in base-1e7.\n // 2^48 = 281474976710656 = (2,8147497,6710656) in base-1e7.\n // Split 32:32 representation into 16:24:24 representation so our\n // intermediate digits don't overflow.\n const low = lo & 0xFFFFFF;\n const mid = ((lo >>> 24) | (hi << 8)) & 0xFFFFFF;\n const high = (hi >> 16) & 0xFFFF;\n // Assemble our three base-1e7 digits, ignoring carries. The maximum\n // value in a digit at this step is representable as a 48-bit integer, which\n // can be stored in a 64-bit floating point number.\n let digitA = low + (mid * 6777216) + (high * 6710656);\n let digitB = mid + (high * 8147497);\n let digitC = (high * 2);\n // Apply carries from A to B and from B to C.\n const base = 10000000;\n if (digitA >= base) {\n digitB += Math.floor(digitA / base);\n digitA %= base;\n }\n if (digitB >= base) {\n digitC += Math.floor(digitB / base);\n digitB %= base;\n }\n // If digitC is 0, then we should have returned in the trivial code path\n // at the top for non-safe integers. Given this, we can assume both digitB\n // and digitA need leading zeros.\n return digitC.toString() + decimalFrom1e7WithLeadingZeros(digitB) +\n decimalFrom1e7WithLeadingZeros(digitA);\n}\nfunction toUnsigned(lo, hi) {\n return { lo: lo >>> 0, hi: hi >>> 0 };\n}\nfunction newBits(lo, hi) {\n return { lo: lo | 0, hi: hi | 0 };\n}\n/**\n * Returns two's compliment negation of input.\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators#Signed_32-bit_integers\n */\nfunction negate(lowBits, highBits) {\n highBits = ~highBits;\n if (lowBits) {\n lowBits = ~lowBits + 1;\n }\n else {\n // If lowBits is 0, then bitwise-not is 0xFFFFFFFF,\n // adding 1 to that, results in 0x100000000, which leaves\n // the low bits 0x0 and simply adds one to the high bits.\n highBits += 1;\n }\n return newBits(lowBits, highBits);\n}\n/**\n * Returns decimal representation of digit1e7 with leading zeros.\n */\nconst decimalFrom1e7WithLeadingZeros = (digit1e7) => {\n const partial = String(digit1e7);\n return \"0000000\".slice(partial.length) + partial;\n};\n/**\n * Write a 32 bit varint, signed or unsigned. Same as `varint64write(0, value, bytes)`\n *\n * Copyright 2008 Google Inc. All rights reserved.\n *\n * See https://github.com/protocolbuffers/protobuf/blob/1b18833f4f2a2f681f4e4a25cdf3b0a43115ec26/js/binary/encoder.js#L144\n */\nexport function varint32write(value, bytes) {\n if (value >= 0) {\n // write value as varint 32\n while (value > 0x7f) {\n bytes.push((value & 0x7f) | 0x80);\n value = value >>> 7;\n }\n bytes.push(value);\n }\n else {\n for (let i = 0; i < 9; i++) {\n bytes.push((value & 127) | 128);\n value = value >> 7;\n }\n bytes.push(1);\n }\n}\n/**\n * Read an unsigned 32 bit varint.\n *\n * See https://github.com/protocolbuffers/protobuf/blob/8a71927d74a4ce34efe2d8769fda198f52d20d12/js/experimental/runtime/kernel/buffer_decoder.js#L220\n */\nexport function varint32read() {\n let b = this.buf[this.pos++];\n let result = b & 0x7f;\n if ((b & 0x80) == 0) {\n this.assertBounds();\n return result;\n }\n b = this.buf[this.pos++];\n result |= (b & 0x7f) << 7;\n if ((b & 0x80) == 0) {\n this.assertBounds();\n return result;\n }\n b = this.buf[this.pos++];\n result |= (b & 0x7f) << 14;\n if ((b & 0x80) == 0) {\n this.assertBounds();\n return result;\n }\n b = this.buf[this.pos++];\n result |= (b & 0x7f) << 21;\n if ((b & 0x80) == 0) {\n this.assertBounds();\n return result;\n }\n // Extract only last 4 bits\n b = this.buf[this.pos++];\n result |= (b & 0x0f) << 28;\n for (let readBytes = 5; (b & 0x80) !== 0 && readBytes < 10; readBytes++)\n b = this.buf[this.pos++];\n if ((b & 0x80) != 0)\n throw new Error(\"invalid varint\");\n this.assertBounds();\n // Result can have 32 bits, convert it to unsigned\n return result >>> 0;\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { assert } from \"./private/assert.js\";\nimport { int64FromString, int64ToString, uInt64ToString, } from \"./google/varint.js\";\nfunction makeInt64Support() {\n const dv = new DataView(new ArrayBuffer(8));\n // note that Safari 14 implements BigInt, but not the DataView methods\n const ok = typeof BigInt === \"function\" &&\n typeof dv.getBigInt64 === \"function\" &&\n typeof dv.getBigUint64 === \"function\" &&\n typeof dv.setBigInt64 === \"function\" &&\n typeof dv.setBigUint64 === \"function\" &&\n (typeof process != \"object\" ||\n typeof process.env != \"object\" ||\n process.env.BUF_BIGINT_DISABLE !== \"1\");\n if (ok) {\n const MIN = BigInt(\"-9223372036854775808\"), MAX = BigInt(\"9223372036854775807\"), UMIN = BigInt(\"0\"), UMAX = BigInt(\"18446744073709551615\");\n return {\n zero: BigInt(0),\n supported: true,\n parse(value) {\n const bi = typeof value == \"bigint\" ? value : BigInt(value);\n if (bi > MAX || bi < MIN) {\n throw new Error(`int64 invalid: ${value}`);\n }\n return bi;\n },\n uParse(value) {\n const bi = typeof value == \"bigint\" ? value : BigInt(value);\n if (bi > UMAX || bi < UMIN) {\n throw new Error(`uint64 invalid: ${value}`);\n }\n return bi;\n },\n enc(value) {\n dv.setBigInt64(0, this.parse(value), true);\n return {\n lo: dv.getInt32(0, true),\n hi: dv.getInt32(4, true),\n };\n },\n uEnc(value) {\n dv.setBigInt64(0, this.uParse(value), true);\n return {\n lo: dv.getInt32(0, true),\n hi: dv.getInt32(4, true),\n };\n },\n dec(lo, hi) {\n dv.setInt32(0, lo, true);\n dv.setInt32(4, hi, true);\n return dv.getBigInt64(0, true);\n },\n uDec(lo, hi) {\n dv.setInt32(0, lo, true);\n dv.setInt32(4, hi, true);\n return dv.getBigUint64(0, true);\n },\n };\n }\n const assertInt64String = (value) => assert(/^-?[0-9]+$/.test(value), `int64 invalid: ${value}`);\n const assertUInt64String = (value) => assert(/^[0-9]+$/.test(value), `uint64 invalid: ${value}`);\n return {\n zero: \"0\",\n supported: false,\n parse(value) {\n if (typeof value != \"string\") {\n value = value.toString();\n }\n assertInt64String(value);\n return value;\n },\n uParse(value) {\n if (typeof value != \"string\") {\n value = value.toString();\n }\n assertUInt64String(value);\n return value;\n },\n enc(value) {\n if (typeof value != \"string\") {\n value = value.toString();\n }\n assertInt64String(value);\n return int64FromString(value);\n },\n uEnc(value) {\n if (typeof value != \"string\") {\n value = value.toString();\n }\n assertUInt64String(value);\n return int64FromString(value);\n },\n dec(lo, hi) {\n return int64ToString(lo, hi);\n },\n uDec(lo, hi) {\n return uInt64ToString(lo, hi);\n },\n };\n}\nexport const protoInt64 = makeInt64Support();\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { varint32read, varint32write, varint64read, varint64write, } from \"./google/varint.js\";\nimport { assertFloat32, assertInt32, assertUInt32 } from \"./private/assert.js\";\nimport { protoInt64 } from \"./proto-int64.js\";\n/* eslint-disable prefer-const,no-case-declarations,@typescript-eslint/restrict-plus-operands */\n/**\n * Protobuf binary format wire types.\n *\n * A wire type provides just enough information to find the length of the\n * following value.\n *\n * See https://developers.google.com/protocol-buffers/docs/encoding#structure\n */\nexport var WireType;\n(function (WireType) {\n /**\n * Used for int32, int64, uint32, uint64, sint32, sint64, bool, enum\n */\n WireType[WireType[\"Varint\"] = 0] = \"Varint\";\n /**\n * Used for fixed64, sfixed64, double.\n * Always 8 bytes with little-endian byte order.\n */\n WireType[WireType[\"Bit64\"] = 1] = \"Bit64\";\n /**\n * Used for string, bytes, embedded messages, packed repeated fields\n *\n * Only repeated numeric types (types which use the varint, 32-bit,\n * or 64-bit wire types) can be packed. In proto3, such fields are\n * packed by default.\n */\n WireType[WireType[\"LengthDelimited\"] = 2] = \"LengthDelimited\";\n /**\n * Used for groups\n * @deprecated\n */\n WireType[WireType[\"StartGroup\"] = 3] = \"StartGroup\";\n /**\n * Used for groups\n * @deprecated\n */\n WireType[WireType[\"EndGroup\"] = 4] = \"EndGroup\";\n /**\n * Used for fixed32, sfixed32, float.\n * Always 4 bytes with little-endian byte order.\n */\n WireType[WireType[\"Bit32\"] = 5] = \"Bit32\";\n})(WireType || (WireType = {}));\nexport class BinaryWriter {\n constructor(textEncoder) {\n /**\n * Previous fork states.\n */\n this.stack = [];\n this.textEncoder = textEncoder !== null && textEncoder !== void 0 ? textEncoder : new TextEncoder();\n this.chunks = [];\n this.buf = [];\n }\n /**\n * Return all bytes written and reset this writer.\n */\n finish() {\n this.chunks.push(new Uint8Array(this.buf)); // flush the buffer\n let len = 0;\n for (let i = 0; i < this.chunks.length; i++)\n len += this.chunks[i].length;\n let bytes = new Uint8Array(len);\n let offset = 0;\n for (let i = 0; i < this.chunks.length; i++) {\n bytes.set(this.chunks[i], offset);\n offset += this.chunks[i].length;\n }\n this.chunks = [];\n return bytes;\n }\n /**\n * Start a new fork for length-delimited data like a message\n * or a packed repeated field.\n *\n * Must be joined later with `join()`.\n */\n fork() {\n this.stack.push({ chunks: this.chunks, buf: this.buf });\n this.chunks = [];\n this.buf = [];\n return this;\n }\n /**\n * Join the last fork. Write its length and bytes, then\n * return to the previous state.\n */\n join() {\n // get chunk of fork\n let chunk = this.finish();\n // restore previous state\n let prev = this.stack.pop();\n if (!prev)\n throw new Error(\"invalid state, fork stack empty\");\n this.chunks = prev.chunks;\n this.buf = prev.buf;\n // write length of chunk as varint\n this.uint32(chunk.byteLength);\n return this.raw(chunk);\n }\n /**\n * Writes a tag (field number and wire type).\n *\n * Equivalent to `uint32( (fieldNo << 3 | type) >>> 0 )`.\n *\n * Generated code should compute the tag ahead of time and call `uint32()`.\n */\n tag(fieldNo, type) {\n return this.uint32(((fieldNo << 3) | type) >>> 0);\n }\n /**\n * Write a chunk of raw bytes.\n */\n raw(chunk) {\n if (this.buf.length) {\n this.chunks.push(new Uint8Array(this.buf));\n this.buf = [];\n }\n this.chunks.push(chunk);\n return this;\n }\n /**\n * Write a `uint32` value, an unsigned 32 bit varint.\n */\n uint32(value) {\n assertUInt32(value);\n // write value as varint 32, inlined for speed\n while (value > 0x7f) {\n this.buf.push((value & 0x7f) | 0x80);\n value = value >>> 7;\n }\n this.buf.push(value);\n return this;\n }\n /**\n * Write a `int32` value, a signed 32 bit varint.\n */\n int32(value) {\n assertInt32(value);\n varint32write(value, this.buf);\n return this;\n }\n /**\n * Write a `bool` value, a variant.\n */\n bool(value) {\n this.buf.push(value ? 1 : 0);\n return this;\n }\n /**\n * Write a `bytes` value, length-delimited arbitrary data.\n */\n bytes(value) {\n this.uint32(value.byteLength); // write length of chunk as varint\n return this.raw(value);\n }\n /**\n * Write a `string` value, length-delimited data converted to UTF-8 text.\n */\n string(value) {\n let chunk = this.textEncoder.encode(value);\n this.uint32(chunk.byteLength); // write length of chunk as varint\n return this.raw(chunk);\n }\n /**\n * Write a `float` value, 32-bit floating point number.\n */\n float(value) {\n assertFloat32(value);\n let chunk = new Uint8Array(4);\n new DataView(chunk.buffer).setFloat32(0, value, true);\n return this.raw(chunk);\n }\n /**\n * Write a `double` value, a 64-bit floating point number.\n */\n double(value) {\n let chunk = new Uint8Array(8);\n new DataView(chunk.buffer).setFloat64(0, value, true);\n return this.raw(chunk);\n }\n /**\n * Write a `fixed32` value, an unsigned, fixed-length 32-bit integer.\n */\n fixed32(value) {\n assertUInt32(value);\n let chunk = new Uint8Array(4);\n new DataView(chunk.buffer).setUint32(0, value, true);\n return this.raw(chunk);\n }\n /**\n * Write a `sfixed32` value, a signed, fixed-length 32-bit integer.\n */\n sfixed32(value) {\n assertInt32(value);\n let chunk = new Uint8Array(4);\n new DataView(chunk.buffer).setInt32(0, value, true);\n return this.raw(chunk);\n }\n /**\n * Write a `sint32` value, a signed, zigzag-encoded 32-bit varint.\n */\n sint32(value) {\n assertInt32(value);\n // zigzag encode\n value = ((value << 1) ^ (value >> 31)) >>> 0;\n varint32write(value, this.buf);\n return this;\n }\n /**\n * Write a `fixed64` value, a signed, fixed-length 64-bit integer.\n */\n sfixed64(value) {\n let chunk = new Uint8Array(8), view = new DataView(chunk.buffer), tc = protoInt64.enc(value);\n view.setInt32(0, tc.lo, true);\n view.setInt32(4, tc.hi, true);\n return this.raw(chunk);\n }\n /**\n * Write a `fixed64` value, an unsigned, fixed-length 64 bit integer.\n */\n fixed64(value) {\n let chunk = new Uint8Array(8), view = new DataView(chunk.buffer), tc = protoInt64.uEnc(value);\n view.setInt32(0, tc.lo, true);\n view.setInt32(4, tc.hi, true);\n return this.raw(chunk);\n }\n /**\n * Write a `int64` value, a signed 64-bit varint.\n */\n int64(value) {\n let tc = protoInt64.enc(value);\n varint64write(tc.lo, tc.hi, this.buf);\n return this;\n }\n /**\n * Write a `sint64` value, a signed, zig-zag-encoded 64-bit varint.\n */\n sint64(value) {\n let tc = protoInt64.enc(value), \n // zigzag encode\n sign = tc.hi >> 31, lo = (tc.lo << 1) ^ sign, hi = ((tc.hi << 1) | (tc.lo >>> 31)) ^ sign;\n varint64write(lo, hi, this.buf);\n return this;\n }\n /**\n * Write a `uint64` value, an unsigned 64-bit varint.\n */\n uint64(value) {\n let tc = protoInt64.uEnc(value);\n varint64write(tc.lo, tc.hi, this.buf);\n return this;\n }\n}\nexport class BinaryReader {\n constructor(buf, textDecoder) {\n this.varint64 = varint64read; // dirty cast for `this`\n /**\n * Read a `uint32` field, an unsigned 32 bit varint.\n */\n this.uint32 = varint32read; // dirty cast for `this` and access to protected `buf`\n this.buf = buf;\n this.len = buf.length;\n this.pos = 0;\n this.view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);\n this.textDecoder = textDecoder !== null && textDecoder !== void 0 ? textDecoder : new TextDecoder();\n }\n /**\n * Reads a tag - field number and wire type.\n */\n tag() {\n let tag = this.uint32(), fieldNo = tag >>> 3, wireType = tag & 7;\n if (fieldNo <= 0 || wireType < 0 || wireType > 5)\n throw new Error(\"illegal tag: field no \" + fieldNo + \" wire type \" + wireType);\n return [fieldNo, wireType];\n }\n /**\n * Skip one element on the wire and return the skipped data.\n * Supports WireType.StartGroup since v2.0.0-alpha.23.\n */\n skip(wireType) {\n let start = this.pos;\n switch (wireType) {\n case WireType.Varint:\n while (this.buf[this.pos++] & 0x80) {\n // ignore\n }\n break;\n // eslint-disable-next-line\n // @ts-ignore TS7029: Fallthrough case in switch\n case WireType.Bit64:\n this.pos += 4;\n // eslint-disable-next-line\n // @ts-ignore TS7029: Fallthrough case in switch\n case WireType.Bit32:\n this.pos += 4;\n break;\n case WireType.LengthDelimited:\n let len = this.uint32();\n this.pos += len;\n break;\n case WireType.StartGroup:\n // From descriptor.proto: Group type is deprecated, not supported in proto3.\n // But we must still be able to parse and treat as unknown.\n let t;\n while ((t = this.tag()[1]) !== WireType.EndGroup) {\n this.skip(t);\n }\n break;\n default:\n throw new Error(\"cant skip wire type \" + wireType);\n }\n this.assertBounds();\n return this.buf.subarray(start, this.pos);\n }\n /**\n * Throws error if position in byte array is out of range.\n */\n assertBounds() {\n if (this.pos > this.len)\n throw new RangeError(\"premature EOF\");\n }\n /**\n * Read a `int32` field, a signed 32 bit varint.\n */\n int32() {\n return this.uint32() | 0;\n }\n /**\n * Read a `sint32` field, a signed, zigzag-encoded 32-bit varint.\n */\n sint32() {\n let zze = this.uint32();\n // decode zigzag\n return (zze >>> 1) ^ -(zze & 1);\n }\n /**\n * Read a `int64` field, a signed 64-bit varint.\n */\n int64() {\n return protoInt64.dec(...this.varint64());\n }\n /**\n * Read a `uint64` field, an unsigned 64-bit varint.\n */\n uint64() {\n return protoInt64.uDec(...this.varint64());\n }\n /**\n * Read a `sint64` field, a signed, zig-zag-encoded 64-bit varint.\n */\n sint64() {\n let [lo, hi] = this.varint64();\n // decode zig zag\n let s = -(lo & 1);\n lo = ((lo >>> 1) | ((hi & 1) << 31)) ^ s;\n hi = (hi >>> 1) ^ s;\n return protoInt64.dec(lo, hi);\n }\n /**\n * Read a `bool` field, a variant.\n */\n bool() {\n let [lo, hi] = this.varint64();\n return lo !== 0 || hi !== 0;\n }\n /**\n * Read a `fixed32` field, an unsigned, fixed-length 32-bit integer.\n */\n fixed32() {\n return this.view.getUint32((this.pos += 4) - 4, true);\n }\n /**\n * Read a `sfixed32` field, a signed, fixed-length 32-bit integer.\n */\n sfixed32() {\n return this.view.getInt32((this.pos += 4) - 4, true);\n }\n /**\n * Read a `fixed64` field, an unsigned, fixed-length 64 bit integer.\n */\n fixed64() {\n return protoInt64.uDec(this.sfixed32(), this.sfixed32());\n }\n /**\n * Read a `fixed64` field, a signed, fixed-length 64-bit integer.\n */\n sfixed64() {\n return protoInt64.dec(this.sfixed32(), this.sfixed32());\n }\n /**\n * Read a `float` field, 32-bit floating point number.\n */\n float() {\n return this.view.getFloat32((this.pos += 4) - 4, true);\n }\n /**\n * Read a `double` field, a 64-bit floating point number.\n */\n double() {\n return this.view.getFloat64((this.pos += 8) - 8, true);\n }\n /**\n * Read a `bytes` field, length-delimited arbitrary data.\n */\n bytes() {\n let len = this.uint32(), start = this.pos;\n this.pos += len;\n this.assertBounds();\n return this.buf.subarray(start, start + len);\n }\n /**\n * Read a `string` field, length-delimited data converted to UTF-8 text.\n */\n string() {\n return this.textDecoder.decode(this.bytes());\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Message } from \"../message.js\";\nimport { ScalarType } from \"../field.js\";\n/**\n * Wrap a primitive message field value in its corresponding wrapper\n * message. This function is idempotent.\n */\nexport function wrapField(type, value) {\n if (value instanceof Message || !type.fieldWrapper) {\n return value;\n }\n return type.fieldWrapper.wrapField(value);\n}\n/**\n * If the given field uses one of the well-known wrapper types, return\n * the primitive type it wraps.\n */\nexport function getUnwrappedFieldType(field) {\n if (field.fieldKind !== \"message\") {\n return undefined;\n }\n if (field.repeated) {\n return undefined;\n }\n if (field.oneof != undefined) {\n return undefined;\n }\n return wktWrapperToScalarType[field.message.typeName];\n}\nconst wktWrapperToScalarType = {\n \"google.protobuf.DoubleValue\": ScalarType.DOUBLE,\n \"google.protobuf.FloatValue\": ScalarType.FLOAT,\n \"google.protobuf.Int64Value\": ScalarType.INT64,\n \"google.protobuf.UInt64Value\": ScalarType.UINT64,\n \"google.protobuf.Int32Value\": ScalarType.INT32,\n \"google.protobuf.UInt32Value\": ScalarType.UINT32,\n \"google.protobuf.BoolValue\": ScalarType.BOOL,\n \"google.protobuf.StringValue\": ScalarType.STRING,\n \"google.protobuf.BytesValue\": ScalarType.BYTES,\n};\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { ScalarType } from \"../field.js\";\nimport { WireType } from \"../binary-encoding.js\";\nimport { protoInt64 } from \"../proto-int64.js\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Returns true if both scalar values are equal.\n */\nexport function scalarEquals(type, a, b) {\n if (a === b) {\n // This correctly matches equal values except BYTES and (possibly) 64-bit integers.\n return true;\n }\n // Special case BYTES - we need to compare each byte individually\n if (type == ScalarType.BYTES) {\n if (!(a instanceof Uint8Array) || !(b instanceof Uint8Array)) {\n return false;\n }\n if (a.length !== b.length) {\n return false;\n }\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n return true;\n }\n // Special case 64-bit integers - we support number, string and bigint representation.\n // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check\n switch (type) {\n case ScalarType.UINT64:\n case ScalarType.FIXED64:\n case ScalarType.INT64:\n case ScalarType.SFIXED64:\n case ScalarType.SINT64:\n // Loose comparison will match between 0n, 0 and \"0\".\n return a == b;\n }\n // Anything that hasn't been caught by strict comparison or special cased\n // BYTES and 64-bit integers is not equal.\n return false;\n}\n/**\n * Returns the default value for the given scalar type, following\n * proto3 semantics.\n */\nexport function scalarDefaultValue(type) {\n switch (type) {\n case ScalarType.BOOL:\n return false;\n case ScalarType.UINT64:\n case ScalarType.FIXED64:\n case ScalarType.INT64:\n case ScalarType.SFIXED64:\n case ScalarType.SINT64:\n return protoInt64.zero;\n case ScalarType.DOUBLE:\n case ScalarType.FLOAT:\n return 0.0;\n case ScalarType.BYTES:\n return new Uint8Array(0);\n case ScalarType.STRING:\n return \"\";\n default:\n // Handles INT32, UINT32, SINT32, FIXED32, SFIXED32.\n // We do not use individual cases to save a few bytes code size.\n return 0;\n }\n}\n/**\n * Get information for writing a scalar value.\n *\n * Returns tuple:\n * [0]: appropriate WireType\n * [1]: name of the appropriate method of IBinaryWriter\n * [2]: whether the given value is a default value for proto3 semantics\n *\n * If argument `value` is omitted, [2] is always false.\n */\nexport function scalarTypeInfo(type, value) {\n const isUndefined = value === undefined;\n let wireType = WireType.Varint;\n let isIntrinsicDefault = value === 0;\n // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check -- INT32, UINT32, SINT32 are covered by the defaults\n switch (type) {\n case ScalarType.STRING:\n isIntrinsicDefault = isUndefined || !value.length;\n wireType = WireType.LengthDelimited;\n break;\n case ScalarType.BOOL:\n isIntrinsicDefault = value === false;\n break;\n case ScalarType.DOUBLE:\n wireType = WireType.Bit64;\n break;\n case ScalarType.FLOAT:\n wireType = WireType.Bit32;\n break;\n case ScalarType.INT64:\n isIntrinsicDefault = isUndefined || value == 0;\n break;\n case ScalarType.UINT64:\n isIntrinsicDefault = isUndefined || value == 0;\n break;\n case ScalarType.FIXED64:\n isIntrinsicDefault = isUndefined || value == 0;\n wireType = WireType.Bit64;\n break;\n case ScalarType.BYTES:\n isIntrinsicDefault = isUndefined || !value.byteLength;\n wireType = WireType.LengthDelimited;\n break;\n case ScalarType.FIXED32:\n wireType = WireType.Bit32;\n break;\n case ScalarType.SFIXED32:\n wireType = WireType.Bit32;\n break;\n case ScalarType.SFIXED64:\n isIntrinsicDefault = isUndefined || value == 0;\n wireType = WireType.Bit64;\n break;\n case ScalarType.SINT64:\n isIntrinsicDefault = isUndefined || value == 0;\n break;\n }\n const method = ScalarType[type].toLowerCase();\n return [wireType, method, isUndefined || isIntrinsicDefault];\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { BinaryReader, BinaryWriter, WireType } from \"../binary-encoding.js\";\nimport { Message } from \"../message.js\";\nimport { ScalarType } from \"../field.js\";\nimport { wrapField } from \"./field-wrapper.js\";\nimport { scalarDefaultValue, scalarTypeInfo } from \"./scalars.js\";\nimport { assert } from \"./assert.js\";\n/* eslint-disable @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unnecessary-condition, no-case-declarations, prefer-const */\nconst unknownFieldsSymbol = Symbol(\"@bufbuild/protobuf/unknown-fields\");\n// Default options for parsing binary data.\nconst readDefaults = {\n readUnknownFields: true,\n readerFactory: (bytes) => new BinaryReader(bytes),\n};\n// Default options for serializing binary data.\nconst writeDefaults = {\n writeUnknownFields: true,\n writerFactory: () => new BinaryWriter(),\n};\nfunction makeReadOptions(options) {\n return options ? Object.assign(Object.assign({}, readDefaults), options) : readDefaults;\n}\nfunction makeWriteOptions(options) {\n return options ? Object.assign(Object.assign({}, writeDefaults), options) : writeDefaults;\n}\nexport function makeBinaryFormatCommon() {\n return {\n makeReadOptions,\n makeWriteOptions,\n listUnknownFields(message) {\n var _a;\n return (_a = message[unknownFieldsSymbol]) !== null && _a !== void 0 ? _a : [];\n },\n discardUnknownFields(message) {\n delete message[unknownFieldsSymbol];\n },\n writeUnknownFields(message, writer) {\n const m = message;\n const c = m[unknownFieldsSymbol];\n if (c) {\n for (const f of c) {\n writer.tag(f.no, f.wireType).raw(f.data);\n }\n }\n },\n onUnknownField(message, no, wireType, data) {\n const m = message;\n if (!Array.isArray(m[unknownFieldsSymbol])) {\n m[unknownFieldsSymbol] = [];\n }\n m[unknownFieldsSymbol].push({ no, wireType, data });\n },\n readMessage(message, reader, length, options) {\n const type = message.getType();\n const end = length === undefined ? reader.len : reader.pos + length;\n while (reader.pos < end) {\n const [fieldNo, wireType] = reader.tag(), field = type.fields.find(fieldNo);\n if (!field) {\n const data = reader.skip(wireType);\n if (options.readUnknownFields) {\n this.onUnknownField(message, fieldNo, wireType, data);\n }\n continue;\n }\n let target = message, repeated = field.repeated, localName = field.localName;\n if (field.oneof) {\n target = target[field.oneof.localName];\n if (target.case != localName) {\n delete target.value;\n }\n target.case = localName;\n localName = \"value\";\n }\n switch (field.kind) {\n case \"scalar\":\n case \"enum\":\n const scalarType = field.kind == \"enum\" ? ScalarType.INT32 : field.T;\n if (repeated) {\n let arr = target[localName]; // safe to assume presence of array, oneof cannot contain repeated values\n if (wireType == WireType.LengthDelimited &&\n scalarType != ScalarType.STRING &&\n scalarType != ScalarType.BYTES) {\n let e = reader.uint32() + reader.pos;\n while (reader.pos < e) {\n arr.push(readScalar(reader, scalarType));\n }\n }\n else {\n arr.push(readScalar(reader, scalarType));\n }\n }\n else {\n target[localName] = readScalar(reader, scalarType);\n }\n break;\n case \"message\":\n const messageType = field.T;\n if (repeated) {\n // safe to assume presence of array, oneof cannot contain repeated values\n target[localName].push(readMessageField(reader, new messageType(), options));\n }\n else {\n if (target[localName] instanceof Message) {\n readMessageField(reader, target[localName], options);\n }\n else {\n target[localName] = readMessageField(reader, new messageType(), options);\n if (messageType.fieldWrapper &&\n !field.oneof &&\n !field.repeated) {\n target[localName] = messageType.fieldWrapper.unwrapField(target[localName]);\n }\n }\n }\n break;\n case \"map\":\n let [mapKey, mapVal] = readMapEntry(field, reader, options);\n // safe to assume presence of map object, oneof cannot contain repeated values\n target[localName][mapKey] = mapVal;\n break;\n }\n }\n },\n };\n}\n// Read a message, avoiding MessageType.fromBinary() to re-use the\n// BinaryReadOptions and the IBinaryReader.\nfunction readMessageField(reader, message, options) {\n const format = message.getType().runtime.bin;\n format.readMessage(message, reader, reader.uint32(), options);\n return message;\n}\n// Read a map field, expecting key field = 1, value field = 2\nfunction readMapEntry(field, reader, options) {\n const length = reader.uint32(), end = reader.pos + length;\n let key, val;\n while (reader.pos < end) {\n let [fieldNo] = reader.tag();\n switch (fieldNo) {\n case 1:\n key = readScalar(reader, field.K);\n break;\n case 2:\n switch (field.V.kind) {\n case \"scalar\":\n val = readScalar(reader, field.V.T);\n break;\n case \"enum\":\n val = reader.int32();\n break;\n case \"message\":\n val = readMessageField(reader, new field.V.T(), options);\n break;\n }\n break;\n }\n }\n if (key === undefined) {\n let keyRaw = scalarDefaultValue(field.K);\n key =\n field.K == ScalarType.BOOL\n ? keyRaw.toString()\n : keyRaw;\n }\n if (typeof key != \"string\" && typeof key != \"number\") {\n key = key.toString();\n }\n if (val === undefined) {\n switch (field.V.kind) {\n case \"scalar\":\n val = scalarDefaultValue(field.V.T);\n break;\n case \"enum\":\n val = 0;\n break;\n case \"message\":\n val = new field.V.T();\n break;\n }\n }\n return [key, val];\n}\n// Does not use scalarTypeInfo() for better performance.\nfunction readScalar(reader, type) {\n switch (type) {\n case ScalarType.STRING:\n return reader.string();\n case ScalarType.BOOL:\n return reader.bool();\n case ScalarType.DOUBLE:\n return reader.double();\n case ScalarType.FLOAT:\n return reader.float();\n case ScalarType.INT32:\n return reader.int32();\n case ScalarType.INT64:\n return reader.int64();\n case ScalarType.UINT64:\n return reader.uint64();\n case ScalarType.FIXED64:\n return reader.fixed64();\n case ScalarType.BYTES:\n return reader.bytes();\n case ScalarType.FIXED32:\n return reader.fixed32();\n case ScalarType.SFIXED32:\n return reader.sfixed32();\n case ScalarType.SFIXED64:\n return reader.sfixed64();\n case ScalarType.SINT64:\n return reader.sint64();\n case ScalarType.UINT32:\n return reader.uint32();\n case ScalarType.SINT32:\n return reader.sint32();\n }\n}\nexport function writeMapEntry(writer, options, field, key, value) {\n writer.tag(field.no, WireType.LengthDelimited);\n writer.fork();\n // javascript only allows number or string for object properties\n // we convert from our representation to the protobuf type\n let keyValue = key;\n // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check -- we deliberately handle just the special cases for map keys\n switch (field.K) {\n case ScalarType.INT32:\n case ScalarType.FIXED32:\n case ScalarType.UINT32:\n case ScalarType.SFIXED32:\n case ScalarType.SINT32:\n keyValue = Number.parseInt(key);\n break;\n case ScalarType.BOOL:\n assert(key == \"true\" || key == \"false\");\n keyValue = key == \"true\";\n break;\n }\n // write key, expecting key field number = 1\n writeScalar(writer, field.K, 1, keyValue, true);\n // write value, expecting value field number = 2\n switch (field.V.kind) {\n case \"scalar\":\n writeScalar(writer, field.V.T, 2, value, true);\n break;\n case \"enum\":\n writeScalar(writer, ScalarType.INT32, 2, value, true);\n break;\n case \"message\":\n writeMessageField(writer, options, field.V.T, 2, value);\n break;\n }\n writer.join();\n}\nexport function writeMessageField(writer, options, type, fieldNo, value) {\n if (value !== undefined) {\n const message = wrapField(type, value);\n writer\n .tag(fieldNo, WireType.LengthDelimited)\n .bytes(message.toBinary(options));\n }\n}\nexport function writeScalar(writer, type, fieldNo, value, emitIntrinsicDefault) {\n let [wireType, method, isIntrinsicDefault] = scalarTypeInfo(type, value);\n if (!isIntrinsicDefault || emitIntrinsicDefault) {\n writer.tag(fieldNo, wireType)[method](value);\n }\n}\nexport function writePacked(writer, type, fieldNo, value) {\n if (!value.length) {\n return;\n }\n writer.tag(fieldNo, WireType.LengthDelimited).fork();\n let [, method] = scalarTypeInfo(type);\n for (let i = 0; i < value.length; i++) {\n writer[method](value[i]);\n }\n writer.join();\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { ScalarType } from \"../field.js\";\nimport { makeBinaryFormatCommon, writeMapEntry, writeMessageField, writePacked, writeScalar, } from \"./binary-format-common.js\";\n/* eslint-disable @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unnecessary-condition, @typescript-eslint/strict-boolean-expressions, prefer-const, no-case-declarations */\nexport function makeBinaryFormatProto3() {\n return Object.assign(Object.assign({}, makeBinaryFormatCommon()), { writeMessage(message, writer, options) {\n const type = message.getType();\n for (const field of type.fields.byNumber()) {\n let value, // this will be our field value, whether it is member of a oneof or regular field\n repeated = field.repeated, localName = field.localName;\n if (field.oneof) {\n const oneof = message[field.oneof.localName];\n if (oneof.case !== localName) {\n continue; // field is not selected, skip\n }\n value = oneof.value;\n }\n else {\n value = message[localName];\n }\n switch (field.kind) {\n case \"scalar\":\n case \"enum\":\n let scalarType = field.kind == \"enum\" ? ScalarType.INT32 : field.T;\n if (repeated) {\n if (field.packed) {\n writePacked(writer, scalarType, field.no, value);\n }\n else {\n for (const item of value) {\n writeScalar(writer, scalarType, field.no, item, true);\n }\n }\n }\n else {\n if (value !== undefined) {\n writeScalar(writer, scalarType, field.no, value, !!field.oneof || field.opt);\n }\n }\n break;\n case \"message\":\n if (repeated) {\n for (const item of value) {\n writeMessageField(writer, options, field.T, field.no, item);\n }\n }\n else {\n writeMessageField(writer, options, field.T, field.no, value);\n }\n break;\n case \"map\":\n for (const [key, val] of Object.entries(value)) {\n writeMapEntry(writer, options, field, key, val);\n }\n break;\n }\n }\n if (options.writeUnknownFields) {\n this.writeUnknownFields(message, writer);\n }\n return writer;\n } });\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/* eslint-disable @typescript-eslint/ban-ts-comment, @typescript-eslint/no-unnecessary-condition, prefer-const */\n// lookup table from base64 character to byte\nlet encTable = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".split(\"\");\n// lookup table from base64 character *code* to byte because lookup by number is fast\nlet decTable = [];\nfor (let i = 0; i < encTable.length; i++)\n decTable[encTable[i].charCodeAt(0)] = i;\n// support base64url variants\ndecTable[\"-\".charCodeAt(0)] = encTable.indexOf(\"+\");\ndecTable[\"_\".charCodeAt(0)] = encTable.indexOf(\"/\");\nexport const protoBase64 = {\n /**\n * Decodes a base64 string to a byte array.\n *\n * - ignores white-space, including line breaks and tabs\n * - allows inner padding (can decode concatenated base64 strings)\n * - does not require padding\n * - understands base64url encoding:\n * \"-\" instead of \"+\",\n * \"_\" instead of \"/\",\n * no padding\n */\n dec(base64Str) {\n // estimate byte size, not accounting for inner padding and whitespace\n let es = (base64Str.length * 3) / 4;\n if (base64Str[base64Str.length - 2] == \"=\")\n es -= 2;\n else if (base64Str[base64Str.length - 1] == \"=\")\n es -= 1;\n let bytes = new Uint8Array(es), bytePos = 0, // position in byte array\n groupPos = 0, // position in base64 group\n b, // current byte\n p = 0; // previous byte\n for (let i = 0; i < base64Str.length; i++) {\n b = decTable[base64Str.charCodeAt(i)];\n if (b === undefined) {\n switch (base64Str[i]) {\n // @ts-ignore TS7029: Fallthrough case in switch\n case \"=\":\n groupPos = 0; // reset state when padding found\n // @ts-ignore TS7029: Fallthrough case in switch\n case \"\\n\":\n case \"\\r\":\n case \"\\t\":\n case \" \":\n continue; // skip white-space, and padding\n default:\n throw Error(\"invalid base64 string.\");\n }\n }\n switch (groupPos) {\n case 0:\n p = b;\n groupPos = 1;\n break;\n case 1:\n bytes[bytePos++] = (p << 2) | ((b & 48) >> 4);\n p = b;\n groupPos = 2;\n break;\n case 2:\n bytes[bytePos++] = ((p & 15) << 4) | ((b & 60) >> 2);\n p = b;\n groupPos = 3;\n break;\n case 3:\n bytes[bytePos++] = ((p & 3) << 6) | b;\n groupPos = 0;\n break;\n }\n }\n if (groupPos == 1)\n throw Error(\"invalid base64 string.\");\n return bytes.subarray(0, bytePos);\n },\n /**\n * Encode a byte array to a base64 string.\n */\n enc(bytes) {\n let base64 = \"\", groupPos = 0, // position in base64 group\n b, // current byte\n p = 0; // carry over from previous byte\n for (let i = 0; i < bytes.length; i++) {\n b = bytes[i];\n switch (groupPos) {\n case 0:\n base64 += encTable[b >> 2];\n p = (b & 3) << 4;\n groupPos = 1;\n break;\n case 1:\n base64 += encTable[p | (b >> 4)];\n p = (b & 15) << 2;\n groupPos = 2;\n break;\n case 2:\n base64 += encTable[p | (b >> 6)];\n base64 += encTable[b & 63];\n groupPos = 0;\n break;\n }\n }\n // add output padding\n if (groupPos) {\n base64 += encTable[p];\n base64 += \"=\";\n if (groupPos == 1)\n base64 += \"=\";\n }\n return base64;\n },\n};\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Message } from \"../message.js\";\nimport { ScalarType } from \"../field.js\";\nimport { assert, assertFloat32, assertInt32, assertUInt32 } from \"./assert.js\";\nimport { protoInt64 } from \"../proto-int64.js\";\nimport { protoBase64 } from \"../proto-base64.js\";\n/* eslint-disable no-case-declarations, @typescript-eslint/restrict-plus-operands,@typescript-eslint/no-explicit-any,@typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-argument */\n// Default options for parsing JSON.\nconst jsonReadDefaults = {\n ignoreUnknownFields: false,\n};\n// Default options for serializing to JSON.\nconst jsonWriteDefaults = {\n emitDefaultValues: false,\n enumAsInteger: false,\n useProtoFieldName: false,\n prettySpaces: 0,\n};\nfunction makeReadOptions(options) {\n return options ? Object.assign(Object.assign({}, jsonReadDefaults), options) : jsonReadDefaults;\n}\nfunction makeWriteOptions(options) {\n return options ? Object.assign(Object.assign({}, jsonWriteDefaults), options) : jsonWriteDefaults;\n}\nexport function makeJsonFormatCommon(makeWriteField) {\n const writeField = makeWriteField(writeEnum, writeScalar);\n return {\n makeReadOptions,\n makeWriteOptions,\n readMessage(type, json, options, message) {\n if (json == null || Array.isArray(json) || typeof json != \"object\") {\n throw new Error(`cannot decode message ${type.typeName} from JSON: ${this.debug(json)}`);\n }\n message = message !== null && message !== void 0 ? message : new type();\n const oneofSeen = {};\n for (const [jsonKey, jsonValue] of Object.entries(json)) {\n const field = type.fields.findJsonName(jsonKey);\n if (!field) {\n if (!options.ignoreUnknownFields) {\n throw new Error(`cannot decode message ${type.typeName} from JSON: key \"${jsonKey}\" is unknown`);\n }\n continue;\n }\n let localName = field.localName;\n let target = message;\n if (field.oneof) {\n if (jsonValue === null && field.kind == \"scalar\") {\n // see conformance test Required.Proto3.JsonInput.OneofFieldNull{First,Second}\n continue;\n }\n const seen = oneofSeen[field.oneof.localName];\n if (seen) {\n throw new Error(`cannot decode message ${type.typeName} from JSON: multiple keys for oneof \"${field.oneof.name}\" present: \"${seen}\", \"${jsonKey}\"`);\n }\n oneofSeen[field.oneof.localName] = jsonKey;\n target = target[field.oneof.localName] = { case: localName };\n localName = \"value\";\n }\n if (field.repeated) {\n if (jsonValue === null) {\n continue;\n }\n if (!Array.isArray(jsonValue)) {\n throw new Error(`cannot decode field ${type.typeName}.${field.name} from JSON: ${this.debug(jsonValue)}`);\n }\n const targetArray = target[localName];\n for (const jsonItem of jsonValue) {\n if (jsonItem === null) {\n throw new Error(`cannot decode field ${type.typeName}.${field.name} from JSON: ${this.debug(jsonItem)}`);\n }\n let val;\n // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check -- \"map\" is invalid for repeated fields\n switch (field.kind) {\n case \"message\":\n val = field.T.fromJson(jsonItem, options);\n break;\n case \"enum\":\n val = readEnum(field.T, jsonItem, options.ignoreUnknownFields);\n if (val === undefined)\n continue;\n break;\n case \"scalar\":\n try {\n val = readScalar(field.T, jsonItem);\n }\n catch (e) {\n let m = `cannot decode field ${type.typeName}.${field.name} from JSON: ${this.debug(jsonItem)}`;\n if (e instanceof Error && e.message.length > 0) {\n m += `: ${e.message}`;\n }\n throw new Error(m);\n }\n break;\n }\n targetArray.push(val);\n }\n }\n else if (field.kind == \"map\") {\n if (jsonValue === null) {\n continue;\n }\n if (Array.isArray(jsonValue) || typeof jsonValue != \"object\") {\n throw new Error(`cannot decode field ${type.typeName}.${field.name} from JSON: ${this.debug(jsonValue)}`);\n }\n const targetMap = target[localName];\n for (const [jsonMapKey, jsonMapValue] of Object.entries(jsonValue)) {\n if (jsonMapValue === null) {\n throw new Error(`cannot decode field ${type.typeName}.${field.name} from JSON: map value null`);\n }\n let val;\n switch (field.V.kind) {\n case \"message\":\n val = field.V.T.fromJson(jsonMapValue, options);\n break;\n case \"enum\":\n val = readEnum(field.V.T, jsonMapValue, options.ignoreUnknownFields);\n if (val === undefined)\n continue;\n break;\n case \"scalar\":\n try {\n val = readScalar(field.V.T, jsonMapValue);\n }\n catch (e) {\n let m = `cannot decode map value for field ${type.typeName}.${field.name} from JSON: ${this.debug(jsonValue)}`;\n if (e instanceof Error && e.message.length > 0) {\n m += `: ${e.message}`;\n }\n throw new Error(m);\n }\n break;\n }\n try {\n targetMap[readScalar(field.K, field.K == ScalarType.BOOL\n ? jsonMapKey == \"true\"\n ? true\n : jsonMapKey == \"false\"\n ? false\n : jsonMapKey\n : jsonMapKey).toString()] = val;\n }\n catch (e) {\n let m = `cannot decode map key for field ${type.typeName}.${field.name} from JSON: ${this.debug(jsonValue)}`;\n if (e instanceof Error && e.message.length > 0) {\n m += `: ${e.message}`;\n }\n throw new Error(m);\n }\n }\n }\n else {\n switch (field.kind) {\n case \"message\":\n const messageType = field.T;\n if (jsonValue === null &&\n messageType.typeName != \"google.protobuf.Value\") {\n if (field.oneof) {\n throw new Error(`cannot decode field ${type.typeName}.${field.name} from JSON: null is invalid for oneof field \"${jsonKey}\"`);\n }\n continue;\n }\n if (target[localName] instanceof Message) {\n target[localName].fromJson(jsonValue, options);\n }\n else {\n target[localName] = messageType.fromJson(jsonValue, options);\n if (messageType.fieldWrapper && !field.oneof) {\n target[localName] = messageType.fieldWrapper.unwrapField(target[localName]);\n }\n }\n break;\n case \"enum\":\n const enumValue = readEnum(field.T, jsonValue, options.ignoreUnknownFields);\n if (enumValue !== undefined) {\n target[localName] = enumValue;\n }\n break;\n case \"scalar\":\n try {\n target[localName] = readScalar(field.T, jsonValue);\n }\n catch (e) {\n let m = `cannot decode field ${type.typeName}.${field.name} from JSON: ${this.debug(jsonValue)}`;\n if (e instanceof Error && e.message.length > 0) {\n m += `: ${e.message}`;\n }\n throw new Error(m);\n }\n break;\n }\n }\n }\n return message;\n },\n writeMessage(message, options) {\n const type = message.getType();\n const json = {};\n let field;\n try {\n for (const member of type.fields.byMember()) {\n let jsonValue;\n if (member.kind == \"oneof\") {\n const oneof = message[member.localName];\n if (oneof.value === undefined) {\n continue;\n }\n field = member.findField(oneof.case);\n if (!field) {\n throw \"oneof case not found: \" + oneof.case;\n }\n jsonValue = writeField(field, oneof.value, options);\n }\n else {\n field = member;\n jsonValue = writeField(field, message[field.localName], options);\n }\n if (jsonValue !== undefined) {\n json[options.useProtoFieldName ? field.name : field.jsonName] =\n jsonValue;\n }\n }\n }\n catch (e) {\n const m = field\n ? `cannot encode field ${type.typeName}.${field.name} to JSON`\n : `cannot encode message ${type.typeName} to JSON`;\n const r = e instanceof Error ? e.message : String(e);\n throw new Error(m + (r.length > 0 ? `: ${r}` : \"\"));\n }\n return json;\n },\n readScalar,\n writeScalar,\n debug: debugJsonValue,\n };\n}\nfunction debugJsonValue(json) {\n if (json === null) {\n return \"null\";\n }\n switch (typeof json) {\n case \"object\":\n return Array.isArray(json) ? \"array\" : \"object\";\n case \"string\":\n return json.length > 100 ? \"string\" : `\"${json.split('\"').join('\\\\\"')}\"`;\n default:\n return String(json);\n }\n}\n// May throw an error. If the error message is non-blank, it should be shown.\n// It is up to the caller to provide context.\nfunction readScalar(type, json) {\n // every valid case in the switch below returns, and every fall\n // through is regarded as a failure.\n switch (type) {\n // float, double: JSON value will be a number or one of the special string values \"NaN\", \"Infinity\", and \"-Infinity\".\n // Either numbers or strings are accepted. Exponent notation is also accepted.\n case ScalarType.DOUBLE:\n case ScalarType.FLOAT:\n if (json === null)\n return 0.0;\n if (json === \"NaN\")\n return Number.NaN;\n if (json === \"Infinity\")\n return Number.POSITIVE_INFINITY;\n if (json === \"-Infinity\")\n return Number.NEGATIVE_INFINITY;\n if (json === \"\") {\n // empty string is not a number\n break;\n }\n if (typeof json == \"string\" && json.trim().length !== json.length) {\n // extra whitespace\n break;\n }\n if (typeof json != \"string\" && typeof json != \"number\") {\n break;\n }\n const float = Number(json);\n if (Number.isNaN(float)) {\n // not a number\n break;\n }\n if (!Number.isFinite(float)) {\n // infinity and -infinity are handled by string representation above, so this is an error\n break;\n }\n if (type == ScalarType.FLOAT)\n assertFloat32(float);\n return float;\n // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted.\n case ScalarType.INT32:\n case ScalarType.FIXED32:\n case ScalarType.SFIXED32:\n case ScalarType.SINT32:\n case ScalarType.UINT32:\n if (json === null)\n return 0;\n let int32;\n if (typeof json == \"number\")\n int32 = json;\n else if (typeof json == \"string\" && json.length > 0) {\n if (json.trim().length === json.length)\n int32 = Number(json);\n }\n if (int32 === undefined)\n break;\n if (type == ScalarType.UINT32)\n assertUInt32(int32);\n else\n assertInt32(int32);\n return int32;\n // int64, fixed64, uint64: JSON value will be a decimal string. Either numbers or strings are accepted.\n case ScalarType.INT64:\n case ScalarType.SFIXED64:\n case ScalarType.SINT64:\n if (json === null)\n return protoInt64.zero;\n if (typeof json != \"number\" && typeof json != \"string\")\n break;\n return protoInt64.parse(json);\n case ScalarType.FIXED64:\n case ScalarType.UINT64:\n if (json === null)\n return protoInt64.zero;\n if (typeof json != \"number\" && typeof json != \"string\")\n break;\n return protoInt64.uParse(json);\n // bool:\n case ScalarType.BOOL:\n if (json === null)\n return false;\n if (typeof json !== \"boolean\")\n break;\n return json;\n // string:\n case ScalarType.STRING:\n if (json === null)\n return \"\";\n if (typeof json !== \"string\") {\n break;\n }\n // A string must always contain UTF-8 encoded or 7-bit ASCII.\n // We validate with encodeURIComponent, which appears to be the fastest widely available option.\n try {\n encodeURIComponent(json);\n }\n catch (e) {\n throw new Error(\"invalid UTF8\");\n }\n return json;\n // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings.\n // Either standard or URL-safe base64 encoding with/without paddings are accepted.\n case ScalarType.BYTES:\n if (json === null || json === \"\")\n return new Uint8Array(0);\n if (typeof json !== \"string\")\n break;\n return protoBase64.dec(json);\n }\n throw new Error();\n}\nfunction readEnum(type, json, ignoreUnknownFields) {\n if (json === null) {\n // proto3 requires 0 to be default value for all enums\n return 0;\n }\n // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check\n switch (typeof json) {\n case \"number\":\n if (Number.isInteger(json)) {\n return json;\n }\n break;\n case \"string\":\n const value = type.findName(json);\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n if (value || ignoreUnknownFields) {\n return value === null || value === void 0 ? void 0 : value.no;\n }\n break;\n }\n throw new Error(`cannot decode enum ${type.typeName} from JSON: ${debugJsonValue(json)}`);\n}\nfunction writeEnum(type, value, emitIntrinsicDefault, enumAsInteger) {\n var _a;\n if (value === undefined) {\n return value;\n }\n if (value === 0 && !emitIntrinsicDefault) {\n // proto3 requires 0 to be default value for all enums\n return undefined;\n }\n if (enumAsInteger) {\n return value;\n }\n if (type.typeName == \"google.protobuf.NullValue\") {\n return null;\n }\n const val = type.findNumber(value);\n return (_a = val === null || val === void 0 ? void 0 : val.name) !== null && _a !== void 0 ? _a : value; // if we don't know the enum value, just return the number\n}\nfunction writeScalar(type, value, emitIntrinsicDefault) {\n if (value === undefined) {\n return undefined;\n }\n switch (type) {\n // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted.\n case ScalarType.INT32:\n case ScalarType.SFIXED32:\n case ScalarType.SINT32:\n case ScalarType.FIXED32:\n case ScalarType.UINT32:\n assert(typeof value == \"number\");\n return value != 0 || emitIntrinsicDefault ? value : undefined;\n // float, double: JSON value will be a number or one of the special string values \"NaN\", \"Infinity\", and \"-Infinity\".\n // Either numbers or strings are accepted. Exponent notation is also accepted.\n case ScalarType.FLOAT:\n // assertFloat32(value);\n case ScalarType.DOUBLE: // eslint-disable-line no-fallthrough\n assert(typeof value == \"number\");\n if (Number.isNaN(value))\n return \"NaN\";\n if (value === Number.POSITIVE_INFINITY)\n return \"Infinity\";\n if (value === Number.NEGATIVE_INFINITY)\n return \"-Infinity\";\n return value !== 0 || emitIntrinsicDefault ? value : undefined;\n // string:\n case ScalarType.STRING:\n assert(typeof value == \"string\");\n return value.length > 0 || emitIntrinsicDefault ? value : undefined;\n // bool:\n case ScalarType.BOOL:\n assert(typeof value == \"boolean\");\n return value || emitIntrinsicDefault ? value : undefined;\n // JSON value will be a decimal string. Either numbers or strings are accepted.\n case ScalarType.UINT64:\n case ScalarType.FIXED64:\n case ScalarType.INT64:\n case ScalarType.SFIXED64:\n case ScalarType.SINT64:\n assert(typeof value == \"bigint\" ||\n typeof value == \"string\" ||\n typeof value == \"number\");\n // We use implicit conversion with `value != 0` to catch both 0n and \"0\"\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return emitIntrinsicDefault || value != 0\n ? value.toString(10)\n : undefined;\n // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings.\n // Either standard or URL-safe base64 encoding with/without paddings are accepted.\n case ScalarType.BYTES:\n assert(value instanceof Uint8Array);\n return emitIntrinsicDefault || value.byteLength > 0\n ? protoBase64.enc(value)\n : undefined;\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { wrapField } from \"./field-wrapper.js\";\nimport { assert } from \"./assert.js\";\nimport { makeJsonFormatCommon } from \"./json-format-common.js\";\n/* eslint-disable no-case-declarations, @typescript-eslint/restrict-plus-operands,@typescript-eslint/no-explicit-any,@typescript-eslint/no-unsafe-return,@typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-argument */\nexport function makeJsonFormatProto3() {\n return makeJsonFormatCommon((writeEnum, writeScalar) => {\n return function writeField(field, value, options) {\n if (field.kind == \"map\") {\n const jsonObj = {};\n switch (field.V.kind) {\n case \"scalar\":\n for (const [entryKey, entryValue] of Object.entries(value)) {\n const val = writeScalar(field.V.T, entryValue, true);\n assert(val !== undefined);\n jsonObj[entryKey.toString()] = val; // JSON standard allows only (double quoted) string as property key\n }\n break;\n case \"message\":\n for (const [entryKey, entryValue] of Object.entries(value)) {\n // JSON standard allows only (double quoted) string as property key\n jsonObj[entryKey.toString()] = entryValue.toJson(options);\n }\n break;\n case \"enum\":\n const enumType = field.V.T;\n for (const [entryKey, entryValue] of Object.entries(value)) {\n assert(entryValue === undefined || typeof entryValue == \"number\");\n const val = writeEnum(enumType, entryValue, true, options.enumAsInteger);\n assert(val !== undefined);\n jsonObj[entryKey.toString()] = val; // JSON standard allows only (double quoted) string as property key\n }\n break;\n }\n return options.emitDefaultValues || Object.keys(jsonObj).length > 0\n ? jsonObj\n : undefined;\n }\n else if (field.repeated) {\n const jsonArr = [];\n switch (field.kind) {\n case \"scalar\":\n for (let i = 0; i < value.length; i++) {\n jsonArr.push(writeScalar(field.T, value[i], true));\n }\n break;\n case \"enum\":\n for (let i = 0; i < value.length; i++) {\n jsonArr.push(writeEnum(field.T, value[i], true, options.enumAsInteger));\n }\n break;\n case \"message\":\n for (let i = 0; i < value.length; i++) {\n jsonArr.push(wrapField(field.T, value[i]).toJson(options));\n }\n break;\n }\n return options.emitDefaultValues || jsonArr.length > 0\n ? jsonArr\n : undefined;\n }\n else {\n switch (field.kind) {\n case \"scalar\":\n return writeScalar(field.T, value, !!field.oneof || field.opt || options.emitDefaultValues);\n case \"enum\":\n return writeEnum(field.T, value, !!field.oneof || field.opt || options.emitDefaultValues, options.enumAsInteger);\n case \"message\":\n return value !== undefined\n ? wrapField(field.T, value).toJson(options)\n : undefined;\n }\n }\n };\n });\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { setEnumType } from \"./enum.js\";\nimport { Message } from \"../message.js\";\nimport { ScalarType } from \"../field.js\";\nimport { scalarEquals } from \"./scalars.js\";\n/* eslint-disable @typescript-eslint/no-explicit-any,@typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-return,@typescript-eslint/no-unsafe-argument,no-case-declarations */\nexport function makeUtilCommon() {\n return {\n setEnumType,\n initPartial(source, target) {\n if (source === undefined) {\n return;\n }\n const type = target.getType();\n for (const member of type.fields.byMember()) {\n const localName = member.localName, t = target, s = source;\n if (s[localName] === undefined) {\n continue;\n }\n switch (member.kind) {\n case \"oneof\":\n const sk = s[localName].case;\n if (sk === undefined) {\n continue;\n }\n const sourceField = member.findField(sk);\n let val = s[localName].value;\n if (sourceField &&\n sourceField.kind == \"message\" &&\n !(val instanceof sourceField.T)) {\n val = new sourceField.T(val);\n }\n else if (sourceField &&\n sourceField.kind === \"scalar\" &&\n sourceField.T === ScalarType.BYTES) {\n val = toU8Arr(val);\n }\n t[localName] = { case: sk, value: val };\n break;\n case \"scalar\":\n case \"enum\":\n let copy = s[localName];\n if (member.T === ScalarType.BYTES) {\n copy = member.repeated\n ? copy.map(toU8Arr)\n : toU8Arr(copy);\n }\n t[localName] = copy;\n break;\n case \"map\":\n switch (member.V.kind) {\n case \"scalar\":\n case \"enum\":\n if (member.V.T === ScalarType.BYTES) {\n for (const [k, v] of Object.entries(s[localName])) {\n t[localName][k] = toU8Arr(v);\n }\n }\n else {\n Object.assign(t[localName], s[localName]);\n }\n break;\n case \"message\":\n const messageType = member.V.T;\n for (const k of Object.keys(s[localName])) {\n let val = s[localName][k];\n if (!messageType.fieldWrapper) {\n // We only take partial input for messages that are not a wrapper type.\n // For those messages, we recursively normalize the partial input.\n val = new messageType(val);\n }\n t[localName][k] = val;\n }\n break;\n }\n break;\n case \"message\":\n const mt = member.T;\n if (member.repeated) {\n t[localName] = s[localName].map((val) => val instanceof mt ? val : new mt(val));\n }\n else if (s[localName] !== undefined) {\n const val = s[localName];\n if (mt.fieldWrapper) {\n if (\n // We can't use BytesValue.typeName as that will create a circular import\n mt.typeName === \"google.protobuf.BytesValue\") {\n t[localName] = toU8Arr(val);\n }\n else {\n t[localName] = val;\n }\n }\n else {\n t[localName] = val instanceof mt ? val : new mt(val);\n }\n }\n break;\n }\n }\n },\n equals(type, a, b) {\n if (a === b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n return type.fields.byMember().every((m) => {\n const va = a[m.localName];\n const vb = b[m.localName];\n if (m.repeated) {\n if (va.length !== vb.length) {\n return false;\n }\n // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check -- repeated fields are never \"map\"\n switch (m.kind) {\n case \"message\":\n return va.every((a, i) => m.T.equals(a, vb[i]));\n case \"scalar\":\n return va.every((a, i) => scalarEquals(m.T, a, vb[i]));\n case \"enum\":\n return va.every((a, i) => scalarEquals(ScalarType.INT32, a, vb[i]));\n }\n throw new Error(`repeated cannot contain ${m.kind}`);\n }\n switch (m.kind) {\n case \"message\":\n return m.T.equals(va, vb);\n case \"enum\":\n return scalarEquals(ScalarType.INT32, va, vb);\n case \"scalar\":\n return scalarEquals(m.T, va, vb);\n case \"oneof\":\n if (va.case !== vb.case) {\n return false;\n }\n const s = m.findField(va.case);\n if (s === undefined) {\n return true;\n }\n // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check -- oneof fields are never \"map\"\n switch (s.kind) {\n case \"message\":\n return s.T.equals(va.value, vb.value);\n case \"enum\":\n return scalarEquals(ScalarType.INT32, va.value, vb.value);\n case \"scalar\":\n return scalarEquals(s.T, va.value, vb.value);\n }\n throw new Error(`oneof cannot contain ${s.kind}`);\n case \"map\":\n const keys = Object.keys(va).concat(Object.keys(vb));\n switch (m.V.kind) {\n case \"message\":\n const messageType = m.V.T;\n return keys.every((k) => messageType.equals(va[k], vb[k]));\n case \"enum\":\n return keys.every((k) => scalarEquals(ScalarType.INT32, va[k], vb[k]));\n case \"scalar\":\n const scalarType = m.V.T;\n return keys.every((k) => scalarEquals(scalarType, va[k], vb[k]));\n }\n break;\n }\n });\n },\n clone(message) {\n const type = message.getType(), target = new type(), any = target;\n for (const member of type.fields.byMember()) {\n const source = message[member.localName];\n let copy;\n if (member.repeated) {\n copy = source.map(cloneSingularField);\n }\n else if (member.kind == \"map\") {\n copy = any[member.localName];\n for (const [key, v] of Object.entries(source)) {\n copy[key] = cloneSingularField(v);\n }\n }\n else if (member.kind == \"oneof\") {\n const f = member.findField(source.case);\n copy = f\n ? { case: source.case, value: cloneSingularField(source.value) }\n : { case: undefined };\n }\n else {\n copy = cloneSingularField(source);\n }\n any[member.localName] = copy;\n }\n return target;\n },\n };\n}\n// clone a single field value - i.e. the element type of repeated fields, the value type of maps\nfunction cloneSingularField(value) {\n if (value === undefined) {\n return value;\n }\n if (value instanceof Message) {\n return value.clone();\n }\n if (value instanceof Uint8Array) {\n const c = new Uint8Array(value.byteLength);\n c.set(value);\n return c;\n }\n return value;\n}\n// converts any ArrayLike to Uint8Array if necessary.\nfunction toU8Arr(input) {\n return input instanceof Uint8Array ? input : new Uint8Array(input);\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nexport class InternalFieldList {\n constructor(fields, normalizer) {\n this._fields = fields;\n this._normalizer = normalizer;\n }\n findJsonName(jsonName) {\n if (!this.jsonNames) {\n const t = {};\n for (const f of this.list()) {\n t[f.jsonName] = t[f.name] = f;\n }\n this.jsonNames = t;\n }\n return this.jsonNames[jsonName];\n }\n find(fieldNo) {\n if (!this.numbers) {\n const t = {};\n for (const f of this.list()) {\n t[f.no] = f;\n }\n this.numbers = t;\n }\n return this.numbers[fieldNo];\n }\n list() {\n if (!this.all) {\n this.all = this._normalizer(this._fields);\n }\n return this.all;\n }\n byNumber() {\n if (!this.numbersAsc) {\n this.numbersAsc = this.list()\n .concat()\n .sort((a, b) => a.no - b.no);\n }\n return this.numbersAsc;\n }\n byMember() {\n if (!this.members) {\n this.members = [];\n const a = this.members;\n let o;\n for (const f of this.list()) {\n if (f.oneof) {\n if (f.oneof !== o) {\n o = f.oneof;\n a.push(o);\n }\n }\n else {\n a.push(f);\n }\n }\n }\n return this.members;\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * Returns the name of a protobuf element in generated code.\n *\n * Field names - including oneofs - are converted to lowerCamelCase. For\n * messages, enumerations and services, the package name is stripped from\n * the type name. For nested messages and enumerations, the names are joined\n * with an underscore. For methods, the first character is made lowercase.\n */\nexport function localName(desc) {\n switch (desc.kind) {\n case \"field\":\n return localFieldName(desc.name, desc.oneof !== undefined);\n case \"oneof\":\n return localOneofName(desc.name);\n case \"enum\":\n case \"message\":\n case \"service\": {\n const pkg = desc.file.proto.package;\n const offset = pkg === undefined ? 0 : pkg.length + 1;\n const name = desc.typeName.substring(offset).replace(/\\./g, \"_\");\n // For services, we only care about safe identifiers, not safe object properties,\n // but we have shipped v1 with a bug that respected object properties, and we\n // do not want to introduce a breaking change, so we continue to escape for\n // safe object properties.\n // See https://github.com/bufbuild/protobuf-es/pull/391\n return safeObjectProperty(safeIdentifier(name));\n }\n case \"enum_value\": {\n const sharedPrefix = desc.parent.sharedPrefix;\n if (sharedPrefix === undefined) {\n return desc.name;\n }\n const name = desc.name.substring(sharedPrefix.length);\n return safeObjectProperty(name);\n }\n case \"rpc\": {\n let name = desc.name;\n if (name.length == 0) {\n return name;\n }\n name = name[0].toLowerCase() + name.substring(1);\n return safeObjectProperty(name);\n }\n }\n}\n/**\n * Returns the name of a field in generated code.\n */\nexport function localFieldName(protoName, inOneof) {\n const name = protoCamelCase(protoName);\n if (inOneof) {\n // oneof member names are not properties, but values of the `case` property.\n return name;\n }\n return safeObjectProperty(safeMessageProperty(name));\n}\n/**\n * Returns the name of a oneof group in generated code.\n */\nexport function localOneofName(protoName) {\n return localFieldName(protoName, false);\n}\n/**\n * Returns the JSON name for a protobuf field, exactly like protoc does.\n */\nexport const fieldJsonName = protoCamelCase;\n/**\n * Finds a prefix shared by enum values, for example `MY_ENUM_` for\n * `enum MyEnum {MY_ENUM_A=0; MY_ENUM_B=1;}`.\n */\nexport function findEnumSharedPrefix(enumName, valueNames) {\n const prefix = camelToSnakeCase(enumName) + \"_\";\n for (const name of valueNames) {\n if (!name.toLowerCase().startsWith(prefix)) {\n return undefined;\n }\n const shortName = name.substring(prefix.length);\n if (shortName.length == 0) {\n return undefined;\n }\n if (/^\\d/.test(shortName)) {\n // identifiers must not start with numbers\n return undefined;\n }\n }\n return prefix;\n}\n/**\n * Converts lowerCamelCase or UpperCamelCase into lower_snake_case.\n * This is used to find shared prefixes in an enum.\n */\nfunction camelToSnakeCase(camel) {\n return (camel.substring(0, 1) + camel.substring(1).replace(/[A-Z]/g, (c) => \"_\" + c)).toLowerCase();\n}\n/**\n * Converts snake_case to protoCamelCase according to the convention\n * used by protoc to convert a field name to a JSON name.\n */\nfunction protoCamelCase(snakeCase) {\n let capNext = false;\n const b = [];\n for (let i = 0; i < snakeCase.length; i++) {\n let c = snakeCase.charAt(i);\n switch (c) {\n case \"_\":\n capNext = true;\n break;\n case \"0\":\n case \"1\":\n case \"2\":\n case \"3\":\n case \"4\":\n case \"5\":\n case \"6\":\n case \"7\":\n case \"8\":\n case \"9\":\n b.push(c);\n capNext = false;\n break;\n default:\n if (capNext) {\n capNext = false;\n c = c.toUpperCase();\n }\n b.push(c);\n break;\n }\n }\n return b.join(\"\");\n}\n/**\n * Names that cannot be used for identifiers, such as class names,\n * but _can_ be used for object properties.\n */\nconst reservedIdentifiers = new Set([\n // ECMAScript 2015 keywords\n \"break\",\n \"case\",\n \"catch\",\n \"class\",\n \"const\",\n \"continue\",\n \"debugger\",\n \"default\",\n \"delete\",\n \"do\",\n \"else\",\n \"export\",\n \"extends\",\n \"false\",\n \"finally\",\n \"for\",\n \"function\",\n \"if\",\n \"import\",\n \"in\",\n \"instanceof\",\n \"new\",\n \"null\",\n \"return\",\n \"super\",\n \"switch\",\n \"this\",\n \"throw\",\n \"true\",\n \"try\",\n \"typeof\",\n \"var\",\n \"void\",\n \"while\",\n \"with\",\n \"yield\",\n // ECMAScript 2015 future reserved keywords\n \"enum\",\n \"implements\",\n \"interface\",\n \"let\",\n \"package\",\n \"private\",\n \"protected\",\n \"public\",\n \"static\",\n // Class name cannot be 'Object' when targeting ES5 with module CommonJS\n \"Object\",\n // TypeScript keywords that cannot be used for types (as opposed to variables)\n \"bigint\",\n \"number\",\n \"boolean\",\n \"string\",\n \"object\",\n // Identifiers reserved for the runtime, so we can generate legible code\n \"globalThis\",\n \"Uint8Array\",\n \"Partial\",\n]);\n/**\n * Names that cannot be used for object properties because they are reserved\n * by built-in JavaScript properties.\n */\nconst reservedObjectProperties = new Set([\n // names reserved by JavaScript\n \"constructor\",\n \"toString\",\n \"toJSON\",\n \"valueOf\",\n]);\n/**\n * Names that cannot be used for object properties because they are reserved\n * by the runtime.\n */\nconst reservedMessageProperties = new Set([\n // names reserved by the runtime\n \"getType\",\n \"clone\",\n \"equals\",\n \"fromBinary\",\n \"fromJson\",\n \"fromJsonString\",\n \"toBinary\",\n \"toJson\",\n \"toJsonString\",\n // names reserved by the runtime for the future\n \"toObject\",\n]);\nconst fallback = (name) => `${name}$`;\n/**\n * Will wrap names that are Object prototype properties or names reserved\n * for `Message`s.\n */\nconst safeMessageProperty = (name) => {\n if (reservedMessageProperties.has(name)) {\n return fallback(name);\n }\n return name;\n};\n/**\n * Names that cannot be used for object properties because they are reserved\n * by built-in JavaScript properties.\n */\nexport const safeObjectProperty = (name) => {\n if (reservedObjectProperties.has(name)) {\n return fallback(name);\n }\n return name;\n};\n/**\n * Names that can be used for identifiers or class properties\n */\nexport const safeIdentifier = (name) => {\n if (reservedIdentifiers.has(name)) {\n return fallback(name);\n }\n return name;\n};\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { localOneofName } from \"./names.js\";\nimport { assert } from \"./assert.js\";\nexport class InternalOneofInfo {\n constructor(name) {\n this.kind = \"oneof\";\n this.repeated = false;\n this.packed = false;\n this.opt = false;\n this.default = undefined;\n this.fields = [];\n this.name = name;\n this.localName = localOneofName(name);\n }\n addField(field) {\n assert(field.oneof === this, `field ${field.name} not one of ${this.name}`);\n this.fields.push(field);\n }\n findField(localName) {\n if (!this._lookup) {\n this._lookup = Object.create(null);\n for (let i = 0; i < this.fields.length; i++) {\n this._lookup[this.fields[i].localName] = this.fields[i];\n }\n }\n return this._lookup[localName];\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { makeProtoRuntime } from \"./private/proto-runtime.js\";\nimport { makeBinaryFormatProto3 } from \"./private/binary-format-proto3.js\";\nimport { makeJsonFormatProto3 } from \"./private/json-format-proto3.js\";\nimport { makeUtilCommon } from \"./private/util-common.js\";\nimport { InternalFieldList } from \"./private/field-list.js\";\nimport { scalarDefaultValue } from \"./private/scalars.js\";\nimport { ScalarType } from \"./field.js\";\nimport { InternalOneofInfo } from \"./private/field.js\";\nimport { localFieldName, fieldJsonName } from \"./private/names.js\";\n/**\n * Provides functionality for messages defined with the proto3 syntax.\n */\nexport const proto3 = makeProtoRuntime(\"proto3\", makeJsonFormatProto3(), makeBinaryFormatProto3(), Object.assign(Object.assign({}, makeUtilCommon()), { newFieldList(fields) {\n return new InternalFieldList(fields, normalizeFieldInfosProto3);\n },\n initFields(target) {\n for (const member of target.getType().fields.byMember()) {\n if (member.opt) {\n continue;\n }\n const name = member.localName, t = target;\n if (member.repeated) {\n t[name] = [];\n continue;\n }\n switch (member.kind) {\n case \"oneof\":\n t[name] = { case: undefined };\n break;\n case \"enum\":\n t[name] = 0;\n break;\n case \"map\":\n t[name] = {};\n break;\n case \"scalar\":\n t[name] = scalarDefaultValue(member.T); // eslint-disable-line @typescript-eslint/no-unsafe-assignment\n break;\n case \"message\":\n // message fields are always optional in proto3\n break;\n }\n }\n } }));\n/* eslint-disable @typescript-eslint/no-explicit-any,@typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-argument */\nfunction normalizeFieldInfosProto3(fieldInfos) {\n var _a, _b, _c;\n const r = [];\n let o;\n for (const field of typeof fieldInfos == \"function\"\n ? fieldInfos()\n : fieldInfos) {\n const f = field;\n f.localName = localFieldName(field.name, field.oneof !== undefined);\n f.jsonName = (_a = field.jsonName) !== null && _a !== void 0 ? _a : fieldJsonName(field.name);\n f.repeated = (_b = field.repeated) !== null && _b !== void 0 ? _b : false;\n // From the proto3 language guide:\n // > In proto3, repeated fields of scalar numeric types are packed by default.\n // This information is incomplete - according to the conformance tests, BOOL\n // and ENUM are packed by default as well. This means only STRING and BYTES\n // are not packed by default, which makes sense because they are length-delimited.\n f.packed =\n (_c = field.packed) !== null && _c !== void 0 ? _c : (field.kind == \"enum\" ||\n (field.kind == \"scalar\" &&\n field.T != ScalarType.BYTES &&\n field.T != ScalarType.STRING));\n // We do not surface options at this time\n // f.options = field.options ?? emptyReadonlyObject;\n if (field.oneof !== undefined) {\n const ooname = typeof field.oneof == \"string\" ? field.oneof : field.oneof.name;\n if (!o || o.name != ooname) {\n o = new InternalOneofInfo(ooname);\n }\n f.oneof = o;\n o.addField(f);\n }\n r.push(f);\n }\n return r;\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * MethodKind represents the four method types that can be declared in\n * protobuf with the `stream` keyword:\n *\n * 1. Unary: rpc (Input) returns (Output)\n * 2. ServerStreaming: rpc (Input) returns (stream Output)\n * 3. ClientStreaming: rpc (stream Input) returns (Output)\n * 4. BiDiStreaming: rpc (stream Input) returns (stream Output)\n */\nexport var MethodKind;\n(function (MethodKind) {\n MethodKind[MethodKind[\"Unary\"] = 0] = \"Unary\";\n MethodKind[MethodKind[\"ServerStreaming\"] = 1] = \"ServerStreaming\";\n MethodKind[MethodKind[\"ClientStreaming\"] = 2] = \"ClientStreaming\";\n MethodKind[MethodKind[\"BiDiStreaming\"] = 3] = \"BiDiStreaming\";\n})(MethodKind || (MethodKind = {}));\n/**\n * Is this method side-effect-free (or safe in HTTP parlance), or just\n * idempotent, or neither? HTTP based RPC implementation may choose GET verb\n * for safe methods, and PUT verb for idempotent methods instead of the\n * default POST.\n *\n * This enum matches the protobuf enum google.protobuf.MethodOptions.IdempotencyLevel,\n * defined in the well-known type google/protobuf/descriptor.proto, but\n * drops UNKNOWN.\n */\nexport var MethodIdempotency;\n(function (MethodIdempotency) {\n /**\n * Idempotent, no side effects.\n */\n MethodIdempotency[MethodIdempotency[\"NoSideEffects\"] = 1] = \"NoSideEffects\";\n /**\n * Idempotent, but may have side effects.\n */\n MethodIdempotency[MethodIdempotency[\"Idempotent\"] = 2] = \"Idempotent\";\n})(MethodIdempotency || (MethodIdempotency = {}));\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Message } from \"../../message.js\";\nimport { proto3 } from \"../../proto3.js\";\n/**\n * A generic empty message that you can re-use to avoid defining duplicated\n * empty messages in your APIs. A typical example is to use it as the request\n * or the response type of an API method. For instance:\n *\n * service Foo {\n * rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n * }\n *\n *\n * @generated from message google.protobuf.Empty\n */\nexport class Empty extends Message {\n constructor(data) {\n super();\n proto3.util.initPartial(data, this);\n }\n static fromBinary(bytes, options) {\n return new Empty().fromBinary(bytes, options);\n }\n static fromJson(jsonValue, options) {\n return new Empty().fromJson(jsonValue, options);\n }\n static fromJsonString(jsonString, options) {\n return new Empty().fromJsonString(jsonString, options);\n }\n static equals(a, b) {\n return proto3.util.equals(Empty, a, b);\n }\n}\nEmpty.runtime = proto3;\nEmpty.typeName = \"google.protobuf.Empty\";\nEmpty.fields = proto3.util.newFieldList(() => []);\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * Connect represents categories of errors as codes, and each code maps to a\n * specific HTTP status code. The codes and their semantics were chosen to\n * match gRPC. Only the codes below are valid \u2014 there are no user-defined\n * codes.\n *\n * See the specification at https://connectrpc.com/docs/protocol#error-codes\n * for details.\n */\nexport var Code;\n(function (Code) {\n /**\n * Canceled, usually be the user\n */\n Code[Code[\"Canceled\"] = 1] = \"Canceled\";\n /**\n * Unknown error\n */\n Code[Code[\"Unknown\"] = 2] = \"Unknown\";\n /**\n * Argument invalid regardless of system state\n */\n Code[Code[\"InvalidArgument\"] = 3] = \"InvalidArgument\";\n /**\n * Operation expired, may or may not have completed.\n */\n Code[Code[\"DeadlineExceeded\"] = 4] = \"DeadlineExceeded\";\n /**\n * Entity not found.\n */\n Code[Code[\"NotFound\"] = 5] = \"NotFound\";\n /**\n * Entity already exists.\n */\n Code[Code[\"AlreadyExists\"] = 6] = \"AlreadyExists\";\n /**\n * Operation not authorized.\n */\n Code[Code[\"PermissionDenied\"] = 7] = \"PermissionDenied\";\n /**\n * Quota exhausted.\n */\n Code[Code[\"ResourceExhausted\"] = 8] = \"ResourceExhausted\";\n /**\n * Argument invalid in current system state.\n */\n Code[Code[\"FailedPrecondition\"] = 9] = \"FailedPrecondition\";\n /**\n * Operation aborted.\n */\n Code[Code[\"Aborted\"] = 10] = \"Aborted\";\n /**\n * Out of bounds, use instead of FailedPrecondition.\n */\n Code[Code[\"OutOfRange\"] = 11] = \"OutOfRange\";\n /**\n * Operation not implemented or disabled.\n */\n Code[Code[\"Unimplemented\"] = 12] = \"Unimplemented\";\n /**\n * Internal error, reserved for \"serious errors\".\n */\n Code[Code[\"Internal\"] = 13] = \"Internal\";\n /**\n * Unavailable, client should back off and retry.\n */\n Code[Code[\"Unavailable\"] = 14] = \"Unavailable\";\n /**\n * Unrecoverable data loss or corruption.\n */\n Code[Code[\"DataLoss\"] = 15] = \"DataLoss\";\n /**\n * Request isn't authenticated.\n */\n Code[Code[\"Unauthenticated\"] = 16] = \"Unauthenticated\";\n})(Code || (Code = {}));\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Code } from \"../code.js\";\n/**\n * codeToString returns the string representation of a Code.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function codeToString(value) {\n const name = Code[value];\n if (typeof name != \"string\") {\n return value.toString();\n }\n return (name[0].toLowerCase() +\n name.substring(1).replace(/[A-Z]/g, (c) => \"_\" + c.toLowerCase()));\n}\nlet stringToCode;\n/**\n * codeFromString parses the string representation of a Code in snake_case.\n * For example, the string \"permission_denied\" parses into Code.PermissionDenied.\n *\n * If the given string cannot be parsed, the function returns undefined.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function codeFromString(value) {\n if (!stringToCode) {\n stringToCode = {};\n for (const value of Object.values(Code)) {\n if (typeof value == \"string\") {\n continue;\n }\n stringToCode[codeToString(value)] = value;\n }\n }\n return stringToCode[value];\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Code } from \"./code.js\";\nimport { createRegistry, Message } from \"@bufbuild/protobuf\";\nimport { codeToString } from \"./protocol-connect/code-string.js\";\n/**\n * ConnectError captures four pieces of information: a Code, an error\n * message, an optional cause of the error, and an optional collection of\n * arbitrary Protobuf messages called \"details\".\n *\n * Because developer tools typically show just the error message, we prefix\n * it with the status code, so that the most important information is always\n * visible immediately.\n *\n * Error details are wrapped with google.protobuf.Any on the wire, so that\n * a server or middleware can attach arbitrary data to an error. Use the\n * method findDetails() to retrieve the details.\n */\nexport class ConnectError extends Error {\n /**\n * Create a new ConnectError.\n * If no code is provided, code \"unknown\" is used.\n * Outgoing details are only relevant for the server side - a service may\n * raise an error with details, and it is up to the protocol implementation\n * to encode and send the details along with error.\n */\n constructor(message, code = Code.Unknown, metadata, outgoingDetails, cause) {\n super(createMessage(message, code));\n this.name = \"ConnectError\";\n // see https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-2.html#example\n Object.setPrototypeOf(this, new.target.prototype);\n this.rawMessage = message;\n this.code = code;\n this.metadata = new Headers(metadata !== null && metadata !== void 0 ? metadata : {});\n this.details = outgoingDetails !== null && outgoingDetails !== void 0 ? outgoingDetails : [];\n this.cause = cause;\n }\n /**\n * Convert any value - typically a caught error into a ConnectError,\n * following these rules:\n * - If the value is already a ConnectError, return it as is.\n * - If the value is an AbortError from the fetch API, return the message\n * of the AbortError with code Canceled.\n * - For other Errors, return the error message with code Unknown by default.\n * - For other values, return the values String representation as a message,\n * with the code Unknown by default.\n * The original value will be used for the \"cause\" property for the new\n * ConnectError.\n */\n static from(reason, code = Code.Unknown) {\n if (reason instanceof ConnectError) {\n return reason;\n }\n if (reason instanceof Error) {\n if (reason.name == \"AbortError\") {\n // Fetch requests can only be canceled with an AbortController.\n // We detect that condition by looking at the name of the raised\n // error object, and translate to the appropriate status code.\n return new ConnectError(reason.message, Code.Canceled);\n }\n return new ConnectError(reason.message, code, undefined, undefined, reason);\n }\n return new ConnectError(String(reason), code, undefined, undefined, reason);\n }\n findDetails(typeOrRegistry) {\n const registry = \"typeName\" in typeOrRegistry\n ? {\n findMessage: (typeName) => typeName === typeOrRegistry.typeName ? typeOrRegistry : undefined,\n }\n : typeOrRegistry;\n const details = [];\n for (const data of this.details) {\n if (data instanceof Message) {\n if (registry.findMessage(data.getType().typeName)) {\n details.push(data);\n }\n continue;\n }\n const type = registry.findMessage(data.type);\n if (type) {\n try {\n details.push(type.fromBinary(data.value));\n }\n catch (_) {\n // We silently give up if we are unable to parse the detail, because\n // that appears to be the least worst behavior.\n // It is very unlikely that a user surrounds a catch body handling the\n // error with another try-catch statement, and we do not want to\n // recommend doing so.\n }\n }\n }\n return details;\n }\n}\n/**\n * @deprecated use ConnectError.findDetails() instead\n */\nexport function connectErrorDetails(error, typeOrRegistry, ...moreTypes) {\n const types = \"typeName\" in typeOrRegistry ? [typeOrRegistry, ...moreTypes] : [];\n const registry = \"typeName\" in typeOrRegistry ? createRegistry(...types) : typeOrRegistry;\n const details = [];\n for (const data of error.details) {\n if (data instanceof Message) {\n if (registry.findMessage(data.getType().typeName)) {\n details.push(data);\n }\n continue;\n }\n const type = registry.findMessage(data.type);\n if (type) {\n try {\n details.push(type.fromBinary(data.value));\n }\n catch (_) {\n // We silently give up if we are unable to parse the detail, because\n // that appears to be the least worst behavior.\n // It is very unlikely that a user surrounds a catch body handling the\n // error with another try-catch statement, and we do not want to\n // recommend doing so.\n }\n }\n }\n return details;\n}\n/**\n * Create an error message, prefixing the given code.\n */\nfunction createMessage(message, code) {\n return message.length\n ? `[${codeToString(code)}] ${message}`\n : `[${codeToString(code)}]`;\n}\n/**\n * Convert any value - typically a caught error into a ConnectError,\n * following these rules:\n * - If the value is already a ConnectError, return it as is.\n * - If the value is an AbortError from the fetch API, return the message\n * of the AbortError with code Canceled.\n * - For other Errors, return the error message with code Unknown by default.\n * - For other values, return the values String representation as a message,\n * with the code Unknown by default.\n *\n * @deprecated use ConnectError.from() instead\n */\nexport function connectErrorFromReason(reason, code = Code.Unknown) {\n if (reason instanceof ConnectError) {\n return reason;\n }\n if (reason instanceof Error) {\n if (reason.name == \"AbortError\") {\n // Fetch requests can only be canceled with an AbortController.\n // We detect that condition by looking at the name of the raised\n // error object, and translate to the appropriate status code.\n return new ConnectError(reason.message, Code.Canceled);\n }\n return new ConnectError(reason.message, code);\n }\n return new ConnectError(String(reason), code);\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Message, protoBase64 } from \"@bufbuild/protobuf\";\nimport { ConnectError } from \"./connect-error.js\";\nimport { Code } from \"./code.js\";\n/**\n * Encode a single binary header value according to the Connect\n * and gRPC specifications.\n *\n * This function accepts raw binary data from a buffer, a string\n * with UTF-8 text, or a protobuf message. It encodes the input\n * with unpadded base64 and returns a string that can be used for\n * a header whose name ends with `-bin`.\n */\nexport function encodeBinaryHeader(value) {\n let bytes;\n if (value instanceof Message) {\n bytes = value.toBinary();\n }\n else if (typeof value == \"string\") {\n bytes = new TextEncoder().encode(value);\n }\n else {\n bytes = value instanceof Uint8Array ? value : new Uint8Array(value);\n }\n return protoBase64.enc(bytes).replace(/=+$/, \"\");\n}\nexport function decodeBinaryHeader(value, type, options) {\n try {\n const bytes = protoBase64.dec(value);\n if (type) {\n return type.fromBinary(bytes, options);\n }\n return bytes;\n }\n catch (e) {\n throw ConnectError.from(e, Code.DataLoss);\n }\n}\n/**\n * Merge two or more Headers objects by appending all fields from\n * all inputs to a new Headers object.\n */\nexport function appendHeaders(...headers) {\n const h = new Headers();\n for (const e of headers) {\n e.forEach((value, key) => {\n h.append(key, value);\n });\n }\n return h;\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * Create any client for the given service.\n *\n * The given createMethod function is called for each method definition\n * of the service. The function it returns is added to the client object\n * as a method.\n */\nexport function makeAnyClient(service, createMethod) {\n const client = {};\n for (const [localName, methodInfo] of Object.entries(service.methods)) {\n const method = createMethod(Object.assign(Object.assign({}, methodInfo), { localName,\n service }));\n if (method != null) {\n client[localName] = method;\n }\n }\n return client;\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { ConnectError } from \"../connect-error.js\";\nimport { Code } from \"../code.js\";\nimport { compressedFlag } from \"./compression.js\";\n/**\n * Create a WHATWG ReadableStream of enveloped messages from a ReadableStream\n * of bytes.\n *\n * Ideally, this would simply be a TransformStream, but ReadableStream.pipeThrough\n * does not have the necessary availability at this time.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function createEnvelopeReadableStream(stream) {\n let reader;\n let buffer = new Uint8Array(0);\n function append(chunk) {\n const n = new Uint8Array(buffer.length + chunk.length);\n n.set(buffer);\n n.set(chunk, buffer.length);\n buffer = n;\n }\n return new ReadableStream({\n start() {\n reader = stream.getReader();\n },\n async pull(controller) {\n let header = undefined;\n for (;;) {\n if (header === undefined && buffer.byteLength >= 5) {\n let length = 0;\n for (let i = 1; i < 5; i++) {\n length = (length << 8) + buffer[i];\n }\n header = { flags: buffer[0], length };\n }\n if (header !== undefined && buffer.byteLength >= header.length + 5) {\n break;\n }\n const result = await reader.read();\n if (result.done) {\n break;\n }\n append(result.value);\n }\n if (header === undefined) {\n if (buffer.byteLength == 0) {\n controller.close();\n return;\n }\n controller.error(new ConnectError(\"premature end of stream\", Code.DataLoss));\n return;\n }\n const data = buffer.subarray(5, 5 + header.length);\n buffer = buffer.subarray(5 + header.length);\n controller.enqueue({\n flags: header.flags,\n data,\n });\n },\n });\n}\n/**\n * Compress an EnvelopedMessage.\n *\n * Raises Internal if an enveloped message is already compressed.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport async function envelopeCompress(envelope, compression, compressMinBytes) {\n let { flags, data } = envelope;\n if ((flags & compressedFlag) === compressedFlag) {\n throw new ConnectError(\"invalid envelope, already compressed\", Code.Internal);\n }\n if (compression && data.byteLength >= compressMinBytes) {\n data = await compression.compress(data);\n flags = flags | compressedFlag;\n }\n return { data, flags };\n}\n/**\n * Decompress an EnvelopedMessage.\n *\n * Raises InvalidArgument if an envelope is compressed, but compression is null.\n *\n * Relies on the provided Compression to raise ResourceExhausted if the\n * *decompressed* message size is larger than readMaxBytes. If the envelope is\n * not compressed, readMaxBytes is not honored.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport async function envelopeDecompress(envelope, compression, readMaxBytes) {\n let { flags, data } = envelope;\n if ((flags & compressedFlag) === compressedFlag) {\n if (!compression) {\n throw new ConnectError(\"received compressed envelope, but do not know how to decompress\", Code.InvalidArgument);\n }\n data = await compression.decompress(data, readMaxBytes);\n flags = flags ^ compressedFlag;\n }\n return { data, flags };\n}\n/**\n * Encode a single enveloped message.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function encodeEnvelope(flags, data) {\n const bytes = new Uint8Array(data.length + 5);\n bytes.set(data, 5);\n const v = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\n v.setUint8(0, flags); // first byte is flags\n v.setUint32(1, data.length); // 4 bytes message length\n return bytes;\n}\n/**\n * Encode a set of enveloped messages.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function encodeEnvelopes(...envelopes) {\n const len = envelopes.reduce((previousValue, currentValue) => previousValue + currentValue.data.length + 5, 0);\n const bytes = new Uint8Array(len);\n const v = new DataView(bytes.buffer);\n let offset = 0;\n for (const e of envelopes) {\n v.setUint8(offset, e.flags); // first byte is flags\n v.setUint32(offset + 1, e.data.length); // 4 bytes message length\n bytes.set(e.data, offset + 5);\n offset += e.data.length + 5;\n }\n return bytes;\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nvar __asyncValues = (this && this.__asyncValues) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nvar __asyncDelegator = (this && this.__asyncDelegator) || function (o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n};\nimport { Code } from \"../code.js\";\nimport { ConnectError } from \"../connect-error.js\";\nimport { encodeEnvelope, envelopeCompress, envelopeDecompress, } from \"./envelope.js\";\nimport { assertReadMaxBytes } from \"./limit-io.js\";\nexport function pipeTo(source, ...rest) {\n const [transforms, sink, opt] = pickTransformsAndSink(rest);\n let iterable = source;\n let abortable;\n if ((opt === null || opt === void 0 ? void 0 : opt.propagateDownStreamError) === true) {\n iterable = abortable = makeIterableAbortable(iterable);\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n iterable = pipe(iterable, ...transforms, { propagateDownStreamError: false });\n return sink(iterable).catch((reason) => {\n if (abortable) {\n return abortable.abort(reason).then(() => Promise.reject(reason));\n }\n return Promise.reject(reason);\n });\n}\n// pick transforms, the sink, and options from the pipeTo() rest parameter\nfunction pickTransformsAndSink(rest) {\n let opt;\n if (typeof rest[rest.length - 1] != \"function\") {\n opt = rest.pop();\n }\n const sink = rest.pop();\n return [rest, sink, opt];\n}\n/**\n * Creates an AsyncIterableSink that concatenates all elements from the input.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function sinkAll() {\n return async function (iterable) {\n var _a, e_1, _b, _c;\n const all = [];\n try {\n for (var _d = true, iterable_1 = __asyncValues(iterable), iterable_1_1; iterable_1_1 = await iterable_1.next(), _a = iterable_1_1.done, !_a; _d = true) {\n _c = iterable_1_1.value;\n _d = false;\n const chunk = _c;\n all.push(chunk);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_1.return)) await _b.call(iterable_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return all;\n };\n}\n/**\n * Creates an AsyncIterableSink that concatenates all chunks from the input into\n * a single Uint8Array.\n *\n * The iterable raises an error if the more than readMaxBytes are read.\n *\n * An optional length hint can be provided to optimize allocation and validation.\n * If more or less bytes are present in the source that the length hint indicates,\n * and error is raised.\n * If the length hint is larger than readMaxBytes, an error is raised.\n * If the length hint is not a positive integer, it is ignored.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function sinkAllBytes(readMaxBytes, lengthHint) {\n return async function (iterable) {\n return await readAllBytes(iterable, readMaxBytes, lengthHint);\n };\n}\nexport function pipe(source, ...rest) {\n var _a, _b;\n return __asyncGenerator(this, arguments, function* pipe_1() {\n const [transforms, opt] = pickTransforms(rest);\n let abortable;\n let iterable = source;\n if ((opt === null || opt === void 0 ? void 0 : opt.propagateDownStreamError) === true) {\n iterable = abortable = makeIterableAbortable(iterable);\n }\n for (const t of transforms) {\n iterable = t(iterable);\n }\n const it = iterable[Symbol.asyncIterator]();\n try {\n for (;;) {\n const r = yield __await(it.next());\n if (r.done === true) {\n break;\n }\n if (!abortable) {\n yield yield __await(r.value);\n continue;\n }\n try {\n yield yield __await(r.value);\n }\n catch (e) {\n yield __await(abortable.abort(e)); // propagate downstream error to the source\n throw e;\n }\n }\n }\n finally {\n if ((opt === null || opt === void 0 ? void 0 : opt.propagateDownStreamError) === true) {\n // Call return on the source iterable to indicate\n // that we will no longer consume it and it should\n // cleanup any allocated resources.\n (_b = (_a = source[Symbol.asyncIterator]()).return) === null || _b === void 0 ? void 0 : _b.call(_a).catch(() => {\n // return returns a promise, which we don't care about.\n //\n // Uncaught promises are thrown at sometime/somewhere by the event loop,\n // this is to ensure error is caught and ignored.\n });\n }\n }\n });\n}\nfunction pickTransforms(rest) {\n let opt;\n if (typeof rest[rest.length - 1] != \"function\") {\n opt = rest.pop();\n }\n return [rest, opt];\n}\n/**\n * Creates an AsyncIterableTransform that catches any error from the input, and\n * passes it to the given catchError function.\n *\n * The catchError function may return a final value.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformCatch(catchError) {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n // we deliberate avoid a for-await loop because we only want to catch upstream\n // errors, not downstream errors (yield).\n const it = iterable[Symbol.asyncIterator]();\n for (;;) {\n let r;\n try {\n r = yield __await(it.next());\n }\n catch (e) {\n const caught = yield __await(catchError(e));\n if (caught !== undefined) {\n yield yield __await(caught);\n }\n break;\n }\n if (r.done === true) {\n break;\n }\n yield yield __await(r.value);\n }\n });\n };\n}\n/**\n * Creates an AsyncIterableTransform that catches any error from the input, and\n * passes it to the given function. Unlike transformCatch(), the given function\n * is also called when no error is raised.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformCatchFinally(catchFinally) {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n // we deliberate avoid a for-await loop because we only want to catch upstream\n // errors, not downstream errors (yield).\n let err;\n const it = iterable[Symbol.asyncIterator]();\n for (;;) {\n let r;\n try {\n r = yield __await(it.next());\n }\n catch (e) {\n err = e;\n break;\n }\n if (r.done === true) {\n break;\n }\n yield yield __await(r.value);\n }\n const caught = yield __await(catchFinally(err));\n if (caught !== undefined) {\n yield yield __await(caught);\n }\n });\n };\n}\n/**\n * Creates an AsyncIterableTransform that appends a value.\n *\n * The element to append is provided by a function. If the function returns\n * undefined, no element is appended.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformAppend(provide) {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_2, _b, _c;\n try {\n for (var _d = true, iterable_2 = __asyncValues(iterable), iterable_2_1; iterable_2_1 = yield __await(iterable_2.next()), _a = iterable_2_1.done, !_a; _d = true) {\n _c = iterable_2_1.value;\n _d = false;\n const chunk = _c;\n yield yield __await(chunk);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_2.return)) yield __await(_b.call(iterable_2));\n }\n finally { if (e_2) throw e_2.error; }\n }\n const append = yield __await(provide());\n if (append !== undefined) {\n yield yield __await(append);\n }\n });\n };\n}\n/**\n * Creates an AsyncIterableTransform that prepends an element.\n *\n * The element to prepend is provided by a function. If the function returns\n * undefined, no element is appended.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformPrepend(provide) {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_3, _b, _c;\n const prepend = yield __await(provide());\n if (prepend !== undefined) {\n yield yield __await(prepend);\n }\n try {\n for (var _d = true, iterable_3 = __asyncValues(iterable), iterable_3_1; iterable_3_1 = yield __await(iterable_3.next()), _a = iterable_3_1.done, !_a; _d = true) {\n _c = iterable_3_1.value;\n _d = false;\n const chunk = _c;\n yield yield __await(chunk);\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_3.return)) yield __await(_b.call(iterable_3));\n }\n finally { if (e_3) throw e_3.error; }\n }\n });\n };\n}\n/**\n * Creates an AsyncIterableTransform that reads all bytes from the input, and\n * concatenates them to a single Uint8Array.\n *\n * The iterable raises an error if the more than readMaxBytes are read.\n *\n * An optional length hint can be provided to optimize allocation and validation.\n * If more or less bytes are present in the source that the length hint indicates,\n * and error is raised.\n * If the length hint is larger than readMaxBytes, an error is raised.\n * If the length hint is not a positive integer, it is ignored.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformReadAllBytes(readMaxBytes, lengthHint) {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n yield yield __await(yield __await(readAllBytes(iterable, readMaxBytes, lengthHint)));\n });\n };\n}\nexport function transformSerializeEnvelope(serialization, endStreamFlag, endSerialization) {\n if (endStreamFlag === undefined || endSerialization === undefined) {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_4, _b, _c;\n try {\n for (var _d = true, iterable_4 = __asyncValues(iterable), iterable_4_1; iterable_4_1 = yield __await(iterable_4.next()), _a = iterable_4_1.done, !_a; _d = true) {\n _c = iterable_4_1.value;\n _d = false;\n const chunk = _c;\n const data = serialization.serialize(chunk);\n yield yield __await({ flags: 0, data });\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_4.return)) yield __await(_b.call(iterable_4));\n }\n finally { if (e_4) throw e_4.error; }\n }\n });\n };\n }\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_5, _b, _c;\n try {\n for (var _d = true, iterable_5 = __asyncValues(iterable), iterable_5_1; iterable_5_1 = yield __await(iterable_5.next()), _a = iterable_5_1.done, !_a; _d = true) {\n _c = iterable_5_1.value;\n _d = false;\n const chunk = _c;\n let data;\n let flags = 0;\n if (chunk.end) {\n flags = flags | endStreamFlag;\n data = endSerialization.serialize(chunk.value);\n }\n else {\n data = serialization.serialize(chunk.value);\n }\n yield yield __await({ flags, data });\n }\n }\n catch (e_5_1) { e_5 = { error: e_5_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_5.return)) yield __await(_b.call(iterable_5));\n }\n finally { if (e_5) throw e_5.error; }\n }\n });\n };\n}\nexport function transformParseEnvelope(serialization, endStreamFlag, endSerialization) {\n // code path always yields ParsedEnvelopedMessage\n if (endSerialization && endStreamFlag !== undefined) {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_6, _b, _c;\n try {\n for (var _d = true, iterable_6 = __asyncValues(iterable), iterable_6_1; iterable_6_1 = yield __await(iterable_6.next()), _a = iterable_6_1.done, !_a; _d = true) {\n _c = iterable_6_1.value;\n _d = false;\n const { flags, data } = _c;\n if ((flags & endStreamFlag) === endStreamFlag) {\n yield yield __await({ value: endSerialization.parse(data), end: true });\n }\n else {\n yield yield __await({ value: serialization.parse(data), end: false });\n }\n }\n }\n catch (e_6_1) { e_6 = { error: e_6_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_6.return)) yield __await(_b.call(iterable_6));\n }\n finally { if (e_6) throw e_6.error; }\n }\n });\n };\n }\n // code path always yields T\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_7, _b, _c;\n try {\n for (var _d = true, iterable_7 = __asyncValues(iterable), iterable_7_1; iterable_7_1 = yield __await(iterable_7.next()), _a = iterable_7_1.done, !_a; _d = true) {\n _c = iterable_7_1.value;\n _d = false;\n const { flags, data } = _c;\n if (endStreamFlag !== undefined &&\n (flags & endStreamFlag) === endStreamFlag) {\n if (endSerialization === null) {\n throw new ConnectError(\"unexpected end flag\", Code.InvalidArgument);\n }\n // skips end-of-stream envelope\n continue;\n }\n yield yield __await(serialization.parse(data));\n }\n }\n catch (e_7_1) { e_7 = { error: e_7_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_7.return)) yield __await(_b.call(iterable_7));\n }\n finally { if (e_7) throw e_7.error; }\n }\n });\n };\n}\n/**\n * Creates an AsyncIterableTransform that takes enveloped messages as a source,\n * and compresses them if they are larger than compressMinBytes.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformCompressEnvelope(compression, compressMinBytes) {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_8, _b, _c;\n try {\n for (var _d = true, iterable_8 = __asyncValues(iterable), iterable_8_1; iterable_8_1 = yield __await(iterable_8.next()), _a = iterable_8_1.done, !_a; _d = true) {\n _c = iterable_8_1.value;\n _d = false;\n const env = _c;\n yield yield __await(yield __await(envelopeCompress(env, compression, compressMinBytes)));\n }\n }\n catch (e_8_1) { e_8 = { error: e_8_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_8.return)) yield __await(_b.call(iterable_8));\n }\n finally { if (e_8) throw e_8.error; }\n }\n });\n };\n}\n/**\n * Creates an AsyncIterableTransform that takes enveloped messages as a source,\n * and decompresses them using the given compression.\n *\n * The iterable raises an error if the decompressed payload of an enveloped\n * message is larger than readMaxBytes, or if no compression is provided.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformDecompressEnvelope(compression, readMaxBytes) {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_9, _b, _c;\n try {\n for (var _d = true, iterable_9 = __asyncValues(iterable), iterable_9_1; iterable_9_1 = yield __await(iterable_9.next()), _a = iterable_9_1.done, !_a; _d = true) {\n _c = iterable_9_1.value;\n _d = false;\n const env = _c;\n yield yield __await(yield __await(envelopeDecompress(env, compression, readMaxBytes)));\n }\n }\n catch (e_9_1) { e_9 = { error: e_9_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_9.return)) yield __await(_b.call(iterable_9));\n }\n finally { if (e_9) throw e_9.error; }\n }\n });\n };\n}\n/**\n * Create an AsyncIterableTransform that takes enveloped messages as a source,\n * and joins them into a stream of raw bytes.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformJoinEnvelopes() {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_10, _b, _c;\n try {\n for (var _d = true, iterable_10 = __asyncValues(iterable), iterable_10_1; iterable_10_1 = yield __await(iterable_10.next()), _a = iterable_10_1.done, !_a; _d = true) {\n _c = iterable_10_1.value;\n _d = false;\n const { flags, data } = _c;\n yield yield __await(encodeEnvelope(flags, data));\n }\n }\n catch (e_10_1) { e_10 = { error: e_10_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_10.return)) yield __await(_b.call(iterable_10));\n }\n finally { if (e_10) throw e_10.error; }\n }\n });\n };\n}\n/**\n * Create an AsyncIterableTransform that takes raw bytes as a source, and splits\n * them into enveloped messages.\n *\n * The iterable raises an error\n * - if the payload of an enveloped message is larger than readMaxBytes,\n * - if the stream ended before an enveloped message fully arrived,\n * - or if the stream ended with extraneous data.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformSplitEnvelope(readMaxBytes) {\n // append chunk to buffer, returning updated buffer\n function append(buffer, chunk) {\n const n = new Uint8Array(buffer.byteLength + chunk.byteLength);\n n.set(buffer);\n n.set(chunk, buffer.length);\n return n;\n }\n // tuple 0: envelope, or undefined if incomplete\n // tuple 1: remainder of the buffer\n function shiftEnvelope(buffer, header) {\n if (buffer.byteLength < 5 + header.length) {\n return [undefined, buffer];\n }\n return [\n { flags: header.flags, data: buffer.subarray(5, 5 + header.length) },\n buffer.subarray(5 + header.length),\n ];\n }\n // undefined: header is incomplete\n function peekHeader(buffer) {\n if (buffer.byteLength < 5) {\n return undefined;\n }\n const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);\n const length = view.getUint32(1); // 4 bytes message length\n const flags = view.getUint8(0); // first byte is flags\n return { length, flags };\n }\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_11, _b, _c;\n let buffer = new Uint8Array(0);\n try {\n for (var _d = true, iterable_11 = __asyncValues(iterable), iterable_11_1; iterable_11_1 = yield __await(iterable_11.next()), _a = iterable_11_1.done, !_a; _d = true) {\n _c = iterable_11_1.value;\n _d = false;\n const chunk = _c;\n buffer = append(buffer, chunk);\n for (;;) {\n const header = peekHeader(buffer);\n if (!header) {\n break;\n }\n assertReadMaxBytes(readMaxBytes, header.length, true);\n let env;\n [env, buffer] = shiftEnvelope(buffer, header);\n if (!env) {\n break;\n }\n yield yield __await(env);\n }\n }\n }\n catch (e_11_1) { e_11 = { error: e_11_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_11.return)) yield __await(_b.call(iterable_11));\n }\n finally { if (e_11) throw e_11.error; }\n }\n if (buffer.byteLength > 0) {\n const header = peekHeader(buffer);\n let message = \"protocol error: incomplete envelope\";\n if (header) {\n message = `protocol error: promised ${header.length} bytes in enveloped message, got ${buffer.byteLength - 5} bytes`;\n }\n throw new ConnectError(message, Code.InvalidArgument);\n }\n });\n };\n}\n/**\n * Reads all bytes from the source, and concatenates them to a single Uint8Array.\n *\n * Raises an error if:\n * - more than readMaxBytes are read\n * - lengthHint is a positive integer, but larger than readMaxBytes\n * - lengthHint is a positive integer, and the source contains more or less bytes\n * than promised\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport async function readAllBytes(iterable, readMaxBytes, lengthHint) {\n var _a, e_12, _b, _c, _d, e_13, _e, _f;\n const [ok, hint] = parseLengthHint(lengthHint);\n if (ok) {\n if (hint > readMaxBytes) {\n assertReadMaxBytes(readMaxBytes, hint, true);\n }\n const buffer = new Uint8Array(hint);\n let offset = 0;\n try {\n for (var _g = true, iterable_12 = __asyncValues(iterable), iterable_12_1; iterable_12_1 = await iterable_12.next(), _a = iterable_12_1.done, !_a; _g = true) {\n _c = iterable_12_1.value;\n _g = false;\n const chunk = _c;\n if (offset + chunk.byteLength > hint) {\n throw new ConnectError(`protocol error: promised ${hint} bytes, received ${offset + chunk.byteLength}`, Code.InvalidArgument);\n }\n buffer.set(chunk, offset);\n offset += chunk.byteLength;\n }\n }\n catch (e_12_1) { e_12 = { error: e_12_1 }; }\n finally {\n try {\n if (!_g && !_a && (_b = iterable_12.return)) await _b.call(iterable_12);\n }\n finally { if (e_12) throw e_12.error; }\n }\n if (offset < hint) {\n throw new ConnectError(`protocol error: promised ${hint} bytes, received ${offset}`, Code.InvalidArgument);\n }\n return buffer;\n }\n const chunks = [];\n let count = 0;\n try {\n for (var _h = true, iterable_13 = __asyncValues(iterable), iterable_13_1; iterable_13_1 = await iterable_13.next(), _d = iterable_13_1.done, !_d; _h = true) {\n _f = iterable_13_1.value;\n _h = false;\n const chunk = _f;\n count += chunk.byteLength;\n assertReadMaxBytes(readMaxBytes, count);\n chunks.push(chunk);\n }\n }\n catch (e_13_1) { e_13 = { error: e_13_1 }; }\n finally {\n try {\n if (!_h && !_d && (_e = iterable_13.return)) await _e.call(iterable_13);\n }\n finally { if (e_13) throw e_13.error; }\n }\n const all = new Uint8Array(count);\n let offset = 0;\n for (let chunk = chunks.shift(); chunk; chunk = chunks.shift()) {\n all.set(chunk, offset);\n offset += chunk.byteLength;\n }\n return all;\n}\n// parse the lengthHint argument of readAllBytes()\nfunction parseLengthHint(lengthHint) {\n if (lengthHint === undefined || lengthHint === null) {\n return [false, 0];\n }\n const n = typeof lengthHint == \"string\" ? parseInt(lengthHint, 10) : lengthHint;\n if (!Number.isSafeInteger(n) || n < 0) {\n return [false, n];\n }\n return [true, n];\n}\n/**\n * Wait for the first element of an iterable without modifying the iterable.\n * This consumes the first element, but pushes it back on the stack.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport async function untilFirst(iterable) {\n const it = iterable[Symbol.asyncIterator]();\n let first = await it.next();\n return {\n [Symbol.asyncIterator]() {\n const w = {\n async next() {\n if (first !== null) {\n const n = first;\n first = null;\n return n;\n }\n return await it.next();\n },\n };\n if (it.throw !== undefined) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- can't handle mutated object sensibly\n w.throw = (e) => it.throw(e);\n }\n if (it.return !== undefined) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion,@typescript-eslint/no-explicit-any -- can't handle mutated object sensibly\n w.return = (value) => it.return(value);\n }\n return w;\n },\n };\n}\n/**\n * Wrap the given iterable and return an iterable with an abort() method.\n *\n * This function exists purely for convenience. Where one would typically have\n * to access the iterator directly, advance through all elements, and call\n * AsyncIterator.throw() to notify the upstream iterable, this function allows\n * to use convenient for-await loops and still notify the upstream iterable:\n *\n * ```ts\n * const abortable = makeIterableAbortable(iterable);\n * for await (const ele of abortable) {\n * await abortable.abort(\"ERR\");\n * }\n * ```\n * There are a couple of limitations of this function:\n * - the given async iterable must implement throw\n * - the async iterable cannot be re-use\n * - if source catches errors and yields values for them, they are ignored, and\n * the source may still dangle\n *\n * There are four possible ways an async function* can handle yield errors:\n * 1. don't catch errors at all - Abortable.abort() will resolve \"rethrown\"\n * 2. catch errors and rethrow - Abortable.abort() will resolve \"rethrown\"\n * 3. catch errors and return - Abortable.abort() will resolve \"completed\"\n * 4. catch errors and yield a value - Abortable.abort() will resolve \"caught\"\n *\n * Note that catching errors and yielding a value is problematic, and it should\n * be documented that this may leave the source in a dangling state.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function makeIterableAbortable(iterable) {\n const innerCandidate = iterable[Symbol.asyncIterator]();\n if (innerCandidate.throw === undefined) {\n throw new Error(\"AsyncIterable does not implement throw\");\n }\n const inner = innerCandidate;\n let aborted;\n let resultPromise;\n let it = {\n next() {\n resultPromise = inner.next().finally(() => {\n resultPromise = undefined;\n });\n return resultPromise;\n },\n throw(e) {\n return inner.throw(e);\n },\n };\n if (innerCandidate.return !== undefined) {\n it = Object.assign(Object.assign({}, it), { return(value) {\n return inner.return(value);\n } });\n }\n let used = false;\n return {\n abort(reason) {\n if (aborted) {\n return aborted.state;\n }\n const f = () => {\n return inner.throw(reason).then((r) => (r.done === true ? \"completed\" : \"caught\"), () => \"rethrown\");\n };\n if (resultPromise) {\n aborted = { reason, state: resultPromise.then(f, f) };\n return aborted.state;\n }\n aborted = { reason, state: f() };\n return aborted.state;\n },\n [Symbol.asyncIterator]() {\n if (used) {\n throw new Error(\"AsyncIterable cannot be re-used\");\n }\n used = true;\n return it;\n },\n };\n}\n/**\n * Create a new WritableIterable.\n */\nexport function createWritableIterable() {\n // We start with two queues to capture the read and write attempts.\n //\n // The writes and reads each check of their counterpart is\n // already available and either interact/add themselves to the queue.\n const readQueue = [];\n const writeQueue = [];\n let err = undefined;\n let nextResolve;\n let nextReject;\n let nextPromise = new Promise((resolve, reject) => {\n nextResolve = resolve;\n nextReject = reject;\n });\n let closed = false;\n // drain the readQueue in case of error/writer is closed by sending a\n // done result.\n function drain() {\n for (const next of readQueue.splice(0, readQueue.length)) {\n next({ done: true, value: undefined });\n }\n }\n return {\n close() {\n closed = true;\n drain();\n },\n async write(payload) {\n if (closed) {\n throw err !== null && err !== void 0 ? err : new Error(\"cannot write, WritableIterable already closed\");\n }\n const read = readQueue.shift();\n if (read === undefined) {\n // We didn't find a pending read so we add the payload to the write queue.\n writeQueue.push(payload);\n }\n else {\n // We found a pending read so we respond with the payload.\n read({ done: false, value: payload });\n if (readQueue.length > 0) {\n // If there are more in the read queue we can mark the write as complete.\n // as the error reporting is not guaranteed to be sequential and therefore cannot\n // to linked to a specific write.\n return;\n }\n }\n // We await the next call for as many times as there are items in the queue + 1\n //\n // If there are no items in the write queue that means write happened and we just have\n // to wait for one more call likewise if we are the nth write in the queue we\n // have to wait for n writes to complete and one more.\n const limit = writeQueue.length + 1;\n for (let i = 0; i < limit; i++) {\n await nextPromise;\n }\n },\n [Symbol.asyncIterator]() {\n return {\n next() {\n // Resolve the nextPromise to indicate\n // pending writes that a read attempt has been made\n // after their write.\n //\n // We also need to reset the promise for future writes.\n nextResolve();\n nextPromise = new Promise((resolve, reject) => {\n nextResolve = resolve;\n nextReject = reject;\n });\n const write = writeQueue.shift();\n if (write !== undefined) {\n // We found a pending write so response with the payload.\n return Promise.resolve({ done: false, value: write });\n }\n if (closed) {\n return Promise.resolve({ done: true, value: undefined });\n }\n // We return a promise immediately that is either resolved/rejected\n // as writes happen.\n let readResolve;\n const readPromise = new Promise((resolve) => (readResolve = resolve));\n readQueue.push(readResolve); // eslint-disable-line @typescript-eslint/no-non-null-assertion\n return readPromise;\n },\n throw(throwErr) {\n err = throwErr;\n closed = true;\n writeQueue.splice(0, writeQueue.length);\n nextPromise.catch(() => {\n // To make sure that the nextPromise is always resolved.\n });\n // This will reject all pending writes.\n nextReject(err);\n drain();\n return Promise.resolve({ done: true, value: undefined });\n },\n return() {\n closed = true;\n writeQueue.splice(0, writeQueue.length);\n // Resolve once for the write awaiting confirmation.\n nextResolve();\n // Reject all future writes.\n nextPromise = Promise.reject(new Error(\"cannot write, consumer called return\"));\n nextPromise.catch(() => {\n // To make sure that the nextPromise is always resolved.\n });\n drain();\n return Promise.resolve({ done: true, value: undefined });\n },\n };\n },\n };\n}\n/**\n * Create an asynchronous iterable from an array.\n *\n * @private Internal code, does not follow semantic versioning.\n */\n// eslint-disable-next-line @typescript-eslint/require-await\nexport function createAsyncIterable(items) {\n return __asyncGenerator(this, arguments, function* createAsyncIterable_1() {\n yield __await(yield* __asyncDelegator(__asyncValues(items)));\n });\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nvar __asyncValues = (this && this.__asyncValues) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncDelegator = (this && this.__asyncDelegator) || function (o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n};\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nimport { Message, MethodKind } from \"@bufbuild/protobuf\";\nimport { makeAnyClient } from \"./any-client.js\";\nimport { ConnectError } from \"./connect-error.js\";\nimport { Code } from \"./code.js\";\nimport { createAsyncIterable } from \"./protocol/async-iterable.js\";\n/**\n * Create a PromiseClient for the given service, invoking RPCs through the\n * given transport.\n */\nexport function createPromiseClient(service, transport) {\n return makeAnyClient(service, (method) => {\n switch (method.kind) {\n case MethodKind.Unary:\n return createUnaryFn(transport, service, method);\n case MethodKind.ServerStreaming:\n return createServerStreamingFn(transport, service, method);\n case MethodKind.ClientStreaming:\n return createClientStreamingFn(transport, service, method);\n case MethodKind.BiDiStreaming:\n return createBiDiStreamingFn(transport, service, method);\n default:\n return null;\n }\n });\n}\nfunction createUnaryFn(transport, service, method) {\n return async function (input, options) {\n var _a, _b;\n const response = await transport.unary(service, method, options === null || options === void 0 ? void 0 : options.signal, options === null || options === void 0 ? void 0 : options.timeoutMs, options === null || options === void 0 ? void 0 : options.headers, input);\n (_a = options === null || options === void 0 ? void 0 : options.onHeader) === null || _a === void 0 ? void 0 : _a.call(options, response.header);\n (_b = options === null || options === void 0 ? void 0 : options.onTrailer) === null || _b === void 0 ? void 0 : _b.call(options, response.trailer);\n return response.message;\n };\n}\nexport function createServerStreamingFn(transport, service, method) {\n return function (input, options) {\n return handleStreamResponse(transport.stream(service, method, options === null || options === void 0 ? void 0 : options.signal, options === null || options === void 0 ? void 0 : options.timeoutMs, options === null || options === void 0 ? void 0 : options.headers, createAsyncIterable([input])), options);\n };\n}\nexport function createClientStreamingFn(transport, service, method) {\n return async function (request, options) {\n var _a, e_1, _b, _c;\n var _d, _e;\n const response = await transport.stream(service, method, options === null || options === void 0 ? void 0 : options.signal, options === null || options === void 0 ? void 0 : options.timeoutMs, options === null || options === void 0 ? void 0 : options.headers, request);\n (_d = options === null || options === void 0 ? void 0 : options.onHeader) === null || _d === void 0 ? void 0 : _d.call(options, response.header);\n let singleMessage;\n try {\n for (var _f = true, _g = __asyncValues(response.message), _h; _h = await _g.next(), _a = _h.done, !_a; _f = true) {\n _c = _h.value;\n _f = false;\n const message = _c;\n singleMessage = message;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (!_f && !_a && (_b = _g.return)) await _b.call(_g);\n }\n finally { if (e_1) throw e_1.error; }\n }\n if (!singleMessage) {\n throw new ConnectError(\"protocol error: missing response message\", Code.Internal);\n }\n (_e = options === null || options === void 0 ? void 0 : options.onTrailer) === null || _e === void 0 ? void 0 : _e.call(options, response.trailer);\n return singleMessage;\n };\n}\nexport function createBiDiStreamingFn(transport, service, method) {\n return function (request, options) {\n return handleStreamResponse(transport.stream(service, method, options === null || options === void 0 ? void 0 : options.signal, options === null || options === void 0 ? void 0 : options.timeoutMs, options === null || options === void 0 ? void 0 : options.headers, request), options);\n };\n}\nfunction handleStreamResponse(stream, options) {\n const it = (function () {\n var _a, _b;\n return __asyncGenerator(this, arguments, function* () {\n const response = yield __await(stream);\n (_a = options === null || options === void 0 ? void 0 : options.onHeader) === null || _a === void 0 ? void 0 : _a.call(options, response.header);\n yield __await(yield* __asyncDelegator(__asyncValues(response.message)));\n (_b = options === null || options === void 0 ? void 0 : options.onTrailer) === null || _b === void 0 ? void 0 : _b.call(options, response.trailer);\n });\n })()[Symbol.asyncIterator]();\n // Create a new iterable to omit throw/return.\n return {\n [Symbol.asyncIterator]: () => ({\n next: () => it.next(),\n }),\n };\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { ConnectError } from \"../connect-error.js\";\nimport { Code } from \"../code.js\";\n/**\n * Create an AbortController that is automatically aborted if one of the given\n * signals is aborted.\n *\n * For convenience, the linked AbortSignals can be undefined.\n *\n * If the controller or any of the signals is aborted, all event listeners are\n * removed.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function createLinkedAbortController(...signals) {\n const controller = new AbortController();\n const sa = signals\n .filter((s) => s !== undefined)\n .concat(controller.signal);\n for (const signal of sa) {\n if (signal.aborted) {\n onAbort.apply(signal);\n break;\n }\n signal.addEventListener(\"abort\", onAbort);\n }\n function onAbort() {\n if (!controller.signal.aborted) {\n controller.abort(getAbortSignalReason(this));\n }\n for (const signal of sa) {\n signal.removeEventListener(\"abort\", onAbort);\n }\n }\n return controller;\n}\n/**\n * Create a deadline signal. The returned object contains an AbortSignal, but\n * also a cleanup function to stop the timer, which must be called once the\n * calling code is no longer interested in the signal.\n *\n * Ideally, we would simply use AbortSignal.timeout(), but it is not widely\n * available yet.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function createDeadlineSignal(timeoutMs) {\n const controller = new AbortController();\n const listener = () => {\n controller.abort(new ConnectError(\"the operation timed out\", Code.DeadlineExceeded));\n };\n let timeoutId;\n if (timeoutMs !== undefined) {\n if (timeoutMs <= 0)\n listener();\n else\n timeoutId = setTimeout(listener, timeoutMs);\n }\n return {\n signal: controller.signal,\n cleanup: () => clearTimeout(timeoutId),\n };\n}\n/**\n * Returns the reason why an AbortSignal was aborted. Returns undefined if the\n * signal has not been aborted.\n *\n * The property AbortSignal.reason is not widely available. This function\n * returns an AbortError if the signal is aborted, but reason is undefined.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function getAbortSignalReason(signal) {\n if (!signal.aborted) {\n return undefined;\n }\n if (signal.reason !== undefined) {\n return signal.reason;\n }\n // AbortSignal.reason is available in Node.js v16, v18, and later,\n // and in all browsers since early 2022.\n const e = new Error(\"This operation was aborted\");\n e.name = \"AbortError\";\n return e;\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * Create a URL for the given RPC. This simply adds the qualified\n * service name, a slash, and the method name to the path of the given\n * baseUrl.\n *\n * For example, the baseUri https://example.com and method \"Say\" from\n * the service example.ElizaService results in:\n * https://example.com/example.ElizaService/Say\n *\n * This format is used by the protocols Connect, gRPC and Twirp.\n *\n * Note that this function also accepts a protocol-relative baseUrl.\n * If given an empty string or \"/\" as a baseUrl, it returns just the\n * path.\n */\nexport function createMethodUrl(baseUrl, service, method) {\n const s = typeof service == \"string\" ? service : service.typeName;\n const m = typeof method == \"string\" ? method : method.name;\n return baseUrl.toString().replace(/\\/?$/, `/${s}/${m}`);\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { ConnectError } from \"../connect-error.js\";\nimport { Code } from \"../code.js\";\nimport { assertReadMaxBytes, assertWriteMaxBytes } from \"./limit-io.js\";\n/**\n * Sets default JSON serialization options for connect-es.\n *\n * With standard protobuf JSON serialization, unknown JSON fields are\n * rejected by default. In connect-es, unknown JSON fields are ignored\n * by default.\n */\nexport function getJsonOptions(options) {\n var _a;\n const o = Object.assign({}, options);\n (_a = o.ignoreUnknownFields) !== null && _a !== void 0 ? _a : (o.ignoreUnknownFields = true);\n return o;\n}\n/**\n * Create an object that provides convenient access to request and response\n * message serialization for a given method.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function createMethodSerializationLookup(method, binaryOptions, jsonOptions, limitOptions) {\n const inputBinary = limitSerialization(createBinarySerialization(method.I, binaryOptions), limitOptions);\n const inputJson = limitSerialization(createJsonSerialization(method.I, jsonOptions), limitOptions);\n const outputBinary = limitSerialization(createBinarySerialization(method.O, binaryOptions), limitOptions);\n const outputJson = limitSerialization(createJsonSerialization(method.O, jsonOptions), limitOptions);\n return {\n getI(useBinaryFormat) {\n return useBinaryFormat ? inputBinary : inputJson;\n },\n getO(useBinaryFormat) {\n return useBinaryFormat ? outputBinary : outputJson;\n },\n };\n}\n/**\n * Returns functions to normalize and serialize the input message\n * of an RPC, and to parse the output message of an RPC.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function createClientMethodSerializers(method, useBinaryFormat, jsonOptions, binaryOptions) {\n const input = useBinaryFormat\n ? createBinarySerialization(method.I, binaryOptions)\n : createJsonSerialization(method.I, jsonOptions);\n const output = useBinaryFormat\n ? createBinarySerialization(method.O, binaryOptions)\n : createJsonSerialization(method.O, jsonOptions);\n return { parse: output.parse, serialize: input.serialize };\n}\n/**\n * Apply I/O limits to a Serialization object, returning a new object.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function limitSerialization(serialization, limitOptions) {\n return {\n serialize(data) {\n const bytes = serialization.serialize(data);\n assertWriteMaxBytes(limitOptions.writeMaxBytes, bytes.byteLength);\n return bytes;\n },\n parse(data) {\n assertReadMaxBytes(limitOptions.readMaxBytes, data.byteLength, true);\n return serialization.parse(data);\n },\n };\n}\n/**\n * Creates a Serialization object for serializing the given protobuf message\n * with the protobuf binary format.\n */\nexport function createBinarySerialization(messageType, options) {\n return {\n parse(data) {\n try {\n return messageType.fromBinary(data, options);\n }\n catch (e) {\n const m = e instanceof Error ? e.message : String(e);\n throw new ConnectError(`parse binary: ${m}`, Code.InvalidArgument);\n }\n },\n serialize(data) {\n try {\n return data.toBinary(options);\n }\n catch (e) {\n const m = e instanceof Error ? e.message : String(e);\n throw new ConnectError(`serialize binary: ${m}`, Code.Internal);\n }\n },\n };\n}\n/**\n * Creates a Serialization object for serializing the given protobuf message\n * with the protobuf canonical JSON encoding.\n *\n * By default, unknown fields are ignored.\n */\nexport function createJsonSerialization(messageType, options) {\n var _a, _b;\n const textEncoder = (_a = options === null || options === void 0 ? void 0 : options.textEncoder) !== null && _a !== void 0 ? _a : new TextEncoder();\n const textDecoder = (_b = options === null || options === void 0 ? void 0 : options.textDecoder) !== null && _b !== void 0 ? _b : new TextDecoder();\n const o = getJsonOptions(options);\n return {\n parse(data) {\n try {\n const json = textDecoder.decode(data);\n return messageType.fromJsonString(json, o);\n }\n catch (e) {\n throw ConnectError.from(e, Code.InvalidArgument);\n }\n },\n serialize(data) {\n try {\n const json = data.toJsonString(o);\n return textEncoder.encode(json);\n }\n catch (e) {\n throw ConnectError.from(e, Code.Internal);\n }\n },\n };\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * Regular Expression that matches any valid Connect Content-Type header value.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport const contentTypeRegExp = /^application\\/(connect\\+)?(?:(json)(?:; ?charset=utf-?8)?|(proto))$/i;\n/**\n * Regular Expression that matches a Connect unary Content-Type header value.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport const contentTypeUnaryRegExp = /^application\\/(?:json(?:; ?charset=utf-?8)?|proto)$/i;\n/**\n * Regular Expression that matches a Connect streaming Content-Type header value.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport const contentTypeStreamRegExp = /^application\\/connect\\+?(?:json(?:; ?charset=utf-?8)?|proto)$/i;\nexport const contentTypeUnaryProto = \"application/proto\";\nexport const contentTypeUnaryJson = \"application/json\";\nexport const contentTypeStreamProto = \"application/connect+proto\";\nexport const contentTypeStreamJson = \"application/connect+json\";\nconst encodingProto = \"proto\";\nconst encodingJson = \"json\";\n/**\n * Parse a Connect Content-Type header.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function parseContentType(contentType) {\n const match = contentType === null || contentType === void 0 ? void 0 : contentType.match(contentTypeRegExp);\n if (!match) {\n return undefined;\n }\n const stream = !!match[1];\n const binary = !!match[3];\n return { stream, binary };\n}\n/**\n * Parse a Connect Get encoding query parameter.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function parseEncodingQuery(encoding) {\n switch (encoding) {\n case encodingProto:\n return { stream: false, binary: true };\n case encodingJson:\n return { stream: false, binary: false };\n default:\n return undefined;\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { Message, protoBase64 } from \"@bufbuild/protobuf\";\nimport { Code } from \"../code.js\";\nimport { ConnectError } from \"../connect-error.js\";\nimport { codeFromString, codeToString } from \"./code-string.js\";\n/**\n * Parse a Connect error from a JSON value.\n * Will return a ConnectError, and throw the provided fallback if parsing failed.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function errorFromJson(jsonValue, metadata, fallback) {\n if (metadata) {\n new Headers(metadata).forEach((value, key) => fallback.metadata.append(key, value));\n }\n if (typeof jsonValue !== \"object\" ||\n jsonValue == null ||\n Array.isArray(jsonValue) ||\n !(\"code\" in jsonValue) ||\n typeof jsonValue.code !== \"string\") {\n throw fallback;\n }\n const code = codeFromString(jsonValue.code);\n if (code === undefined) {\n throw fallback;\n }\n const message = jsonValue.message;\n if (message != null && typeof message !== \"string\") {\n throw fallback;\n }\n const error = new ConnectError(message !== null && message !== void 0 ? message : \"\", code, metadata);\n if (\"details\" in jsonValue && Array.isArray(jsonValue.details)) {\n for (const detail of jsonValue.details) {\n if (detail === null ||\n typeof detail != \"object\" ||\n Array.isArray(detail) ||\n typeof detail.type != \"string\" ||\n typeof detail.value != \"string\" ||\n (\"debug\" in detail && typeof detail.debug != \"object\")) {\n throw fallback;\n }\n try {\n error.details.push({\n type: detail.type,\n value: protoBase64.dec(detail.value),\n debug: detail.debug,\n });\n }\n catch (e) {\n throw fallback;\n }\n }\n }\n return error;\n}\n/**\n * Parse a Connect error from a serialized JSON value.\n * Will return a ConnectError, and throw the provided fallback if parsing failed.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function errorFromJsonBytes(bytes, metadata, fallback) {\n let jsonValue;\n try {\n jsonValue = JSON.parse(new TextDecoder().decode(bytes));\n }\n catch (e) {\n throw fallback;\n }\n return errorFromJson(jsonValue, metadata, fallback);\n}\n/**\n * Serialize the given error to JSON.\n *\n * The JSON serialization options are required to produce the optional\n * human-readable representation in the \"debug\" key if the detail uses\n * google.protobuf.Any. If serialization of the \"debug\" value fails, it\n * is silently disregarded.\n *\n * See https://connectrpc.com/docs/protocol#error-end-stream\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function errorToJson(error, jsonWriteOptions) {\n const o = {\n code: codeToString(error.code),\n };\n if (error.rawMessage.length > 0) {\n o.message = error.rawMessage;\n }\n if (error.details.length > 0) {\n o.details = error.details\n .map((value) => {\n if (value instanceof Message) {\n const i = {\n type: value.getType().typeName,\n value: value.toBinary(),\n };\n try {\n i.debug = value.toJson(jsonWriteOptions);\n }\n catch (e) {\n // We deliberately ignore errors that may occur when serializing\n // a message to JSON (the message contains an Any).\n // The rationale is that we are only trying to provide optional\n // debug information.\n }\n return i;\n }\n return value;\n })\n .map((_a) => {\n var { value } = _a, rest = __rest(_a, [\"value\"]);\n return (Object.assign(Object.assign({}, rest), { value: protoBase64.enc(value) }));\n });\n }\n return o;\n}\n/**\n * Serialize the given error to JSON. This calls errorToJson(), but stringifies\n * the result, and converts it into a UInt8Array.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function errorToJsonBytes(error, jsonWriteOptions) {\n const textEncoder = new TextEncoder();\n try {\n const jsonObject = errorToJson(error, jsonWriteOptions);\n const jsonString = JSON.stringify(jsonObject);\n return textEncoder.encode(jsonString);\n }\n catch (e) {\n const m = e instanceof Error ? e.message : String(e);\n throw new ConnectError(`failed to serialize Connect Error: ${m}`, Code.Internal);\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { errorFromJson, errorToJson } from \"./error-json.js\";\nimport { appendHeaders } from \"../http-headers.js\";\nimport { ConnectError } from \"../connect-error.js\";\nimport { Code } from \"../code.js\";\n/**\n * endStreamFlag indicates that the data in a EnvelopedMessage\n * is a EndStreamResponse of the Connect protocol.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport const endStreamFlag = 0b00000010;\n/**\n * Parse an EndStreamResponse of the Connect protocol.\n * Throws a ConnectError on malformed input.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function endStreamFromJson(data) {\n const parseErr = new ConnectError(\"invalid end stream\", Code.InvalidArgument);\n let jsonValue;\n try {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n jsonValue = JSON.parse(typeof data == \"string\" ? data : new TextDecoder().decode(data));\n }\n catch (e) {\n throw parseErr;\n }\n if (typeof jsonValue != \"object\" ||\n jsonValue == null ||\n Array.isArray(jsonValue)) {\n throw parseErr;\n }\n const metadata = new Headers();\n if (\"metadata\" in jsonValue) {\n if (typeof jsonValue.metadata != \"object\" ||\n jsonValue.metadata == null ||\n Array.isArray(jsonValue.metadata)) {\n throw parseErr;\n }\n for (const [key, values] of Object.entries(jsonValue.metadata)) {\n if (!Array.isArray(values) ||\n values.some((value) => typeof value != \"string\")) {\n throw parseErr;\n }\n for (const value of values) {\n metadata.append(key, value);\n }\n }\n }\n const error = \"error\" in jsonValue\n ? errorFromJson(jsonValue.error, metadata, parseErr)\n : undefined;\n return { metadata, error };\n}\n/**\n * Serialize the given EndStreamResponse to JSON.\n *\n * The JSON serialization options are required to produce the optional\n * human-readable representation of error details if the detail uses\n * google.protobuf.Any.\n *\n * See https://connectrpc.com/docs/protocol#error-end-stream\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function endStreamToJson(metadata, error, jsonWriteOptions) {\n const es = {};\n if (error !== undefined) {\n es.error = errorToJson(error, jsonWriteOptions);\n metadata = appendHeaders(metadata, error.metadata);\n }\n let hasMetadata = false;\n const md = {};\n metadata.forEach((value, key) => {\n hasMetadata = true;\n md[key] = [value];\n });\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (hasMetadata) {\n es.metadata = md;\n }\n return es;\n}\n/**\n * Create a Serialization object that serializes a Connect EndStreamResponse.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function createEndStreamSerialization(options) {\n const textEncoder = new TextEncoder();\n return {\n serialize(data) {\n try {\n const jsonObject = endStreamToJson(data.metadata, data.error, options);\n const jsonString = JSON.stringify(jsonObject);\n return textEncoder.encode(jsonString);\n }\n catch (e) {\n const m = e instanceof Error ? e.message : String(e);\n throw new ConnectError(`failed to serialize EndStreamResponse: ${m}`, Code.Internal);\n }\n },\n parse(data) {\n try {\n return endStreamFromJson(data);\n }\n catch (e) {\n const m = e instanceof Error ? e.message : String(e);\n throw new ConnectError(`failed to parse EndStreamResponse: ${m}`, Code.InvalidArgument);\n }\n },\n };\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * @private Internal code, does not follow semantic versioning.\n */\nexport const headerContentType = \"Content-Type\";\nexport const headerUnaryContentLength = \"Content-Length\";\nexport const headerUnaryEncoding = \"Content-Encoding\";\nexport const headerStreamEncoding = \"Connect-Content-Encoding\";\nexport const headerUnaryAcceptEncoding = \"Accept-Encoding\";\nexport const headerStreamAcceptEncoding = \"Connect-Accept-Encoding\";\nexport const headerTimeout = \"Connect-Timeout-Ms\";\nexport const headerProtocolVersion = \"Connect-Protocol-Version\";\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Code } from \"../code.js\";\n/**\n * Determine the Connect error code for the given HTTP status code.\n * See https://connectrpc.com/docs/protocol#error-codes\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function codeFromHttpStatus(httpStatus) {\n switch (httpStatus) {\n case 400: // Bad Request\n return Code.InvalidArgument;\n case 401: // Unauthorized\n return Code.Unauthenticated;\n case 403: // Forbidden\n return Code.PermissionDenied;\n case 404: // Not Found\n return Code.Unimplemented;\n case 408: // Request Timeout\n return Code.DeadlineExceeded;\n case 409: // Conflict\n return Code.Aborted;\n case 412: // Precondition Failed\n return Code.FailedPrecondition;\n case 413: // Payload Too Large\n return Code.ResourceExhausted;\n case 415: // Unsupported Media Type\n return Code.Internal;\n case 429: // Too Many Requests\n return Code.Unavailable;\n case 431: // Request Header Fields Too Large\n return Code.ResourceExhausted;\n case 502: // Bad Gateway\n return Code.Unavailable;\n case 503: // Service Unavailable\n return Code.Unavailable;\n case 504: // Gateway Timeout\n return Code.Unavailable;\n default:\n return Code.Unknown;\n }\n}\n/**\n * Returns a HTTP status code for the given Connect code.\n * See https://connectrpc.com/docs/protocol#error-codes\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function codeToHttpStatus(code) {\n switch (code) {\n case Code.Canceled:\n return 408; // Request Timeout\n case Code.Unknown:\n return 500; // Internal Server Error\n case Code.InvalidArgument:\n return 400; // Bad Request\n case Code.DeadlineExceeded:\n return 408; // Request Timeout\n case Code.NotFound:\n return 404; // Not Found\n case Code.AlreadyExists:\n return 409; // Conflict\n case Code.PermissionDenied:\n return 403; // Forbidden\n case Code.ResourceExhausted:\n return 429; // Too Many Requests\n case Code.FailedPrecondition:\n return 412; // Precondition Failed\n case Code.Aborted:\n return 409; // Conflict\n case Code.OutOfRange:\n return 400; // Bad Request\n case Code.Unimplemented:\n return 404; // Not Found\n case Code.Internal:\n return 500; // Internal Server Error\n case Code.Unavailable:\n return 503; // Service Unavailable\n case Code.DataLoss:\n return 500; // Internal Server Error\n case Code.Unauthenticated:\n return 401; // Unauthorized\n default:\n return 500; // same as CodeUnknown\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * In unary RPCs, Connect transports trailing metadata as response header\n * fields, prefixed with \"trailer-\".\n *\n * This function demuxes headers and trailers into two separate Headers\n * objects.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function trailerDemux(header) {\n const h = new Headers(), t = new Headers();\n header.forEach((value, key) => {\n if (key.toLowerCase().startsWith(\"trailer-\")) {\n t.set(key.substring(8), value);\n }\n else {\n h.set(key, value);\n }\n });\n return [h, t];\n}\n/**\n * In unary RPCs, Connect transports trailing metadata as response header\n * fields, prefixed with \"trailer-\".\n *\n * This function muxes a header and a trailer into a single Headers object.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function trailerMux(header, trailer) {\n const h = new Headers(header);\n trailer.forEach((value, key) => {\n h.set(`trailer-${key}`, value);\n });\n return h;\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { headerProtocolVersion } from \"./headers.js\";\nimport { paramConnectVersion } from \"./query-params.js\";\nimport { ConnectError } from \"../connect-error.js\";\nimport { Code } from \"../code.js\";\n/**\n * The only know value for the header Connect-Protocol-Version.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport const protocolVersion = \"1\";\n/**\n * Requires the Connect-Protocol-Version header to be present with the expected\n * value. Raises a ConnectError with Code.InvalidArgument otherwise.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function requireProtocolVersionHeader(requestHeader) {\n const v = requestHeader.get(headerProtocolVersion);\n if (v === null) {\n throw new ConnectError(`missing required header: set ${headerProtocolVersion} to \"${protocolVersion}\"`, Code.InvalidArgument);\n }\n else if (v !== protocolVersion) {\n throw new ConnectError(`${headerProtocolVersion} must be \"${protocolVersion}\": got \"${v}\"`, Code.InvalidArgument);\n }\n}\n/**\n * Requires the connect query parameter to be present with the expected value.\n * Raises a ConnectError with Code.InvalidArgument otherwise.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function requireProtocolVersionParam(queryParams) {\n const v = queryParams.get(paramConnectVersion);\n if (v === null) {\n throw new ConnectError(`missing required parameter: set ${paramConnectVersion} to \"v${protocolVersion}\"`, Code.InvalidArgument);\n }\n else if (v !== `v${protocolVersion}`) {\n throw new ConnectError(`${paramConnectVersion} must be \"v${protocolVersion}\": got \"${v}\"`, Code.InvalidArgument);\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { MethodKind } from \"@bufbuild/protobuf\";\nimport { headerContentType, headerStreamAcceptEncoding, headerStreamEncoding, headerUnaryAcceptEncoding, headerUnaryEncoding, headerTimeout, headerProtocolVersion, } from \"./headers.js\";\nimport { protocolVersion } from \"./version.js\";\nimport { contentTypeStreamJson, contentTypeStreamProto, contentTypeUnaryJson, contentTypeUnaryProto, } from \"./content-type.js\";\n/**\n * Creates headers for a Connect request.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function requestHeader(methodKind, useBinaryFormat, timeoutMs, userProvidedHeaders) {\n const result = new Headers(userProvidedHeaders !== null && userProvidedHeaders !== void 0 ? userProvidedHeaders : {});\n if (timeoutMs !== undefined) {\n result.set(headerTimeout, `${timeoutMs}`);\n }\n result.set(headerContentType, methodKind == MethodKind.Unary\n ? useBinaryFormat\n ? contentTypeUnaryProto\n : contentTypeUnaryJson\n : useBinaryFormat\n ? contentTypeStreamProto\n : contentTypeStreamJson);\n result.set(headerProtocolVersion, protocolVersion);\n return result;\n}\n/**\n * Creates headers for a Connect request with compression.\n *\n * Note that we always set the Content-Encoding header for unary methods.\n * It is up to the caller to decide whether to apply compression - and remove\n * the header if compression is not used, for example because the payload is\n * too small to make compression effective.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function requestHeaderWithCompression(methodKind, useBinaryFormat, timeoutMs, userProvidedHeaders, acceptCompression, sendCompression) {\n const result = requestHeader(methodKind, useBinaryFormat, timeoutMs, userProvidedHeaders);\n if (sendCompression != null) {\n const name = methodKind == MethodKind.Unary\n ? headerUnaryEncoding\n : headerStreamEncoding;\n result.set(name, sendCompression.name);\n }\n if (acceptCompression.length > 0) {\n const name = methodKind == MethodKind.Unary\n ? headerUnaryAcceptEncoding\n : headerStreamAcceptEncoding;\n result.set(name, acceptCompression.map((c) => c.name).join(\",\"));\n }\n return result;\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { MethodKind } from \"@bufbuild/protobuf\";\nimport { Code } from \"../code.js\";\nimport { codeFromHttpStatus } from \"./http-status.js\";\nimport { ConnectError } from \"../connect-error.js\";\nimport { parseContentType } from \"./content-type.js\";\nimport { headerStreamEncoding, headerUnaryEncoding } from \"./headers.js\";\n/**\n * Validates response status and header for the Connect protocol.\n * Throws a ConnectError if the header indicates an error, or if\n * the content type is unexpected, with the following exception:\n * For unary RPCs with an HTTP error status, this returns an error\n * derived from the HTTP status instead of throwing it, giving an\n * implementation a chance to parse a Connect error from the wire.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function validateResponse(methodKind, status, headers) {\n const mimeType = headers.get(\"Content-Type\");\n const parsedType = parseContentType(mimeType);\n if (status !== 200) {\n const errorFromStatus = new ConnectError(`HTTP ${status}`, codeFromHttpStatus(status), headers);\n // If parsedType is defined and it is not binary, then this is a unary JSON response\n if (methodKind == MethodKind.Unary && parsedType && !parsedType.binary) {\n return { isUnaryError: true, unaryError: errorFromStatus };\n }\n throw errorFromStatus;\n }\n return { isUnaryError: false };\n}\n/**\n * Validates response status and header for the Connect protocol.\n * This function is identical to validateResponse(), but also verifies\n * that a given encoding header is acceptable.\n *\n * @private\n */\nexport function validateResponseWithCompression(methodKind, acceptCompression, status, headers) {\n let compression;\n const encoding = headers.get(methodKind == MethodKind.Unary ? headerUnaryEncoding : headerStreamEncoding);\n if (encoding != null && encoding.toLowerCase() !== \"identity\") {\n compression = acceptCompression.find((c) => c.name === encoding);\n if (!compression) {\n throw new ConnectError(`unsupported response encoding \"${encoding}\"`, Code.InvalidArgument, headers);\n }\n }\n return Object.assign({ compression }, validateResponse(methodKind, status, headers));\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Message, protoBase64 } from \"@bufbuild/protobuf\";\nimport { headerContentType, headerProtocolVersion, headerUnaryAcceptEncoding, headerUnaryContentLength, headerUnaryEncoding, } from \"./headers.js\";\nimport { protocolVersion } from \"./version.js\";\nconst contentTypePrefix = \"application/\";\nfunction encodeMessageForUrl(message, useBase64) {\n if (useBase64) {\n // TODO(jchadwick-buf): Three regex replaces seems excessive.\n // Can we make protoBase64.enc more flexible?\n return protoBase64\n .enc(message)\n .replace(/\\+/g, \"-\")\n .replace(/\\//g, \"_\")\n .replace(/=+$/, \"\");\n }\n else {\n return encodeURIComponent(new TextDecoder().decode(message));\n }\n}\n/**\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformConnectPostToGetRequest(request, message, useBase64) {\n let query = `?connect=v${protocolVersion}`;\n const contentType = request.header.get(headerContentType);\n if ((contentType === null || contentType === void 0 ? void 0 : contentType.indexOf(contentTypePrefix)) === 0) {\n query +=\n \"&encoding=\" +\n encodeURIComponent(contentType.slice(contentTypePrefix.length));\n }\n const compression = request.header.get(headerUnaryEncoding);\n if (compression !== null && compression !== \"identity\") {\n query += \"&compression=\" + encodeURIComponent(compression);\n // Force base64 for compressed payloads.\n useBase64 = true;\n }\n if (useBase64) {\n query += \"&base64=1\";\n }\n query += \"&message=\" + encodeMessageForUrl(message, useBase64);\n const url = request.url + query;\n // Omit headers that are not used for unary GET requests.\n const header = new Headers(request.header);\n header.delete(headerProtocolVersion);\n header.delete(headerContentType);\n header.delete(headerUnaryContentLength);\n header.delete(headerUnaryEncoding);\n header.delete(headerUnaryAcceptEncoding);\n return Object.assign(Object.assign({}, request), { init: Object.assign(Object.assign({}, request.init), { method: \"GET\" }), url,\n header });\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { ConnectError } from \"../connect-error.js\";\nimport { createDeadlineSignal, createLinkedAbortController, getAbortSignalReason, } from \"./signals.js\";\n/**\n * Runs a unary method with the given interceptors. Note that this function\n * is only used when implementing a Transport.\n */\nexport function runUnaryCall(opt) {\n const next = applyInterceptors(opt.next, opt.interceptors);\n const [signal, abort, done] = setupSignal(opt);\n const req = Object.assign(Object.assign({}, opt.req), { message: normalize(opt.req.method.I, opt.req.message), signal });\n return next(req).then((res) => {\n done();\n return res;\n }, abort);\n}\n/**\n * Runs a server-streaming method with the given interceptors. Note that this\n * function is only used when implementing a Transport.\n */\nexport function runStreamingCall(opt) {\n const next = applyInterceptors(opt.next, opt.interceptors);\n const [signal, abort, done] = setupSignal(opt);\n const req = Object.assign(Object.assign({}, opt.req), { message: normalizeIterable(opt.req.method.I, opt.req.message), signal });\n let doneCalled = false;\n // Call return on the request iterable to indicate\n // that we will no longer consume it and it should\n // cleanup any allocated resources.\n signal.addEventListener(\"abort\", function () {\n var _a, _b;\n const it = opt.req.message[Symbol.asyncIterator]();\n // If the signal is aborted due to an error, we want to throw\n // the error to the request iterator.\n if (!doneCalled) {\n (_a = it.throw) === null || _a === void 0 ? void 0 : _a.call(it, this.reason).catch(() => {\n // throw returns a promise, which we don't care about.\n //\n // Uncaught promises are thrown at sometime/somewhere by the event loop,\n // this is to ensure error is caught and ignored.\n });\n }\n (_b = it.return) === null || _b === void 0 ? void 0 : _b.call(it).catch(() => {\n // return returns a promise, which we don't care about.\n //\n // Uncaught promises are thrown at sometime/somewhere by the event loop,\n // this is to ensure error is caught and ignored.\n });\n });\n return next(req).then((res) => {\n return Object.assign(Object.assign({}, res), { message: {\n [Symbol.asyncIterator]() {\n const it = res.message[Symbol.asyncIterator]();\n return {\n next() {\n return it.next().then((r) => {\n if (r.done == true) {\n doneCalled = true;\n done();\n }\n return r;\n }, abort);\n },\n // We deliberately omit throw/return.\n };\n },\n } });\n }, abort);\n}\n/**\n * Create an AbortSignal for Transport implementations. The signal is available\n * in UnaryRequest and StreamingRequest, and is triggered when the call is\n * aborted (via a timeout or explicit cancellation), errored (e.g. when reading\n * an error from the server from the wire), or finished successfully.\n *\n * Transport implementations can pass the signal to HTTP clients to ensure that\n * there are no unused connections leak.\n *\n * Returns a tuple:\n * [0]: The signal, which is also aborted if the optional deadline is reached.\n * [1]: Function to call if the Transport encountered an error.\n * [2]: Function to call if the Transport finished without an error.\n */\nfunction setupSignal(opt) {\n const { signal, cleanup } = createDeadlineSignal(opt.timeoutMs);\n const controller = createLinkedAbortController(opt.signal, signal);\n return [\n controller.signal,\n function abort(reason) {\n // We peek at the deadline signal because fetch() will throw an error on\n // abort that discards the signal reason.\n const e = ConnectError.from(signal.aborted ? getAbortSignalReason(signal) : reason);\n controller.abort(e);\n cleanup();\n return Promise.reject(e);\n },\n function done() {\n cleanup();\n controller.abort();\n },\n ];\n}\n/**\n * applyInterceptors takes the given UnaryFn or ServerStreamingFn, and wraps\n * it with each of the given interceptors, returning a new UnaryFn or\n * ServerStreamingFn.\n */\nfunction applyInterceptors(next, interceptors) {\n var _a;\n return ((_a = interceptors === null || interceptors === void 0 ? void 0 : interceptors.concat().reverse().reduce(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n (n, i) => i(n), next)) !== null && _a !== void 0 ? _a : next);\n}\n/**\n * Takes a partial protobuf messages of the\n * specified message type as input, and returns full instances.\n */\nfunction normalize(type, message) {\n return message instanceof type ? message : new type(message);\n}\n/**\n * Takes an AsyncIterable of partial protobuf messages of the\n * specified message type as input, and yields full instances.\n */\nexport function normalizeIterable(messageType, input) {\n function transform(result) {\n if (result.done === true) {\n return result;\n }\n return {\n done: result.done,\n value: normalize(messageType, result.value),\n };\n }\n return {\n [Symbol.asyncIterator]() {\n const it = input[Symbol.asyncIterator]();\n const res = {\n next: () => it.next().then(transform),\n };\n if (it.throw !== undefined) {\n res.throw = (e) => it.throw(e).then(transform); // eslint-disable-line @typescript-eslint/no-non-null-assertion\n }\n if (it.return !== undefined) {\n res.return = (v) => it.return(v).then(transform); // eslint-disable-line @typescript-eslint/no-non-null-assertion\n }\n return res;\n },\n };\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * Asserts that the fetch API is available.\n */\nexport function assertFetchApi() {\n try {\n new Headers();\n }\n catch (_) {\n throw new Error(\"connect-web requires the fetch API. Are you running on an old version of Node.js? Node.js is not supported in Connect for Web - please stay tuned for Connect for Node.\");\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nimport { Message, MethodIdempotency, MethodKind } from \"@bufbuild/protobuf\";\nimport { appendHeaders } from \"@bufbuild/connect\";\nimport { createClientMethodSerializers, createEnvelopeReadableStream, createMethodUrl, getJsonOptions, encodeEnvelope, runStreamingCall, runUnaryCall, } from \"@bufbuild/connect/protocol\";\nimport { endStreamFlag, endStreamFromJson, errorFromJson, requestHeader, trailerDemux, transformConnectPostToGetRequest, validateResponse, } from \"@bufbuild/connect/protocol-connect\";\nimport { assertFetchApi } from \"./assert-fetch-api.js\";\n/**\n * Create a Transport for the Connect protocol, which makes unary and\n * server-streaming methods available to web browsers. It uses the fetch\n * API to make HTTP requests.\n */\nexport function createConnectTransport(options) {\n var _a;\n assertFetchApi();\n const useBinaryFormat = (_a = options.useBinaryFormat) !== null && _a !== void 0 ? _a : false;\n return {\n async unary(service, method, signal, timeoutMs, header, message) {\n var _a;\n const { serialize, parse } = createClientMethodSerializers(method, useBinaryFormat, options.jsonOptions, options.binaryOptions);\n return await runUnaryCall({\n interceptors: options.interceptors,\n signal,\n timeoutMs,\n req: {\n stream: false,\n service,\n method,\n url: createMethodUrl(options.baseUrl, service, method),\n init: {\n method: \"POST\",\n credentials: (_a = options.credentials) !== null && _a !== void 0 ? _a : \"same-origin\",\n redirect: \"error\",\n mode: \"cors\",\n },\n header: requestHeader(method.kind, useBinaryFormat, timeoutMs, header),\n message,\n },\n next: async (req) => {\n var _a;\n const useGet = options.useHttpGet === true &&\n method.idempotency === MethodIdempotency.NoSideEffects;\n let body = null;\n if (useGet) {\n req = transformConnectPostToGetRequest(req, serialize(req.message), useBinaryFormat);\n }\n else {\n body = serialize(req.message);\n }\n const fetch = (_a = options.fetch) !== null && _a !== void 0 ? _a : globalThis.fetch;\n const response = await fetch(req.url, Object.assign(Object.assign({}, req.init), { headers: req.header, signal: req.signal, body }));\n const { isUnaryError, unaryError } = validateResponse(method.kind, response.status, response.headers);\n if (isUnaryError) {\n throw errorFromJson((await response.json()), appendHeaders(...trailerDemux(response.headers)), unaryError);\n }\n const [demuxedHeader, demuxedTrailer] = trailerDemux(response.headers);\n return {\n stream: false,\n service,\n method,\n header: demuxedHeader,\n message: useBinaryFormat\n ? parse(new Uint8Array(await response.arrayBuffer()))\n : method.O.fromJson((await response.json()), getJsonOptions(options.jsonOptions)),\n trailer: demuxedTrailer,\n };\n },\n });\n },\n async stream(service, method, signal, timeoutMs, header, input) {\n var _a;\n const { serialize, parse } = createClientMethodSerializers(method, useBinaryFormat, options.jsonOptions, options.binaryOptions);\n function parseResponseBody(body, trailerTarget) {\n return __asyncGenerator(this, arguments, function* parseResponseBody_1() {\n const reader = createEnvelopeReadableStream(body).getReader();\n let endStreamReceived = false;\n for (;;) {\n const result = yield __await(reader.read());\n if (result.done) {\n break;\n }\n const { flags, data } = result.value;\n if ((flags & endStreamFlag) === endStreamFlag) {\n endStreamReceived = true;\n const endStream = endStreamFromJson(data);\n if (endStream.error) {\n throw endStream.error;\n }\n endStream.metadata.forEach((value, key) => trailerTarget.set(key, value));\n continue;\n }\n yield yield __await(parse(data));\n }\n if (!endStreamReceived) {\n throw \"missing EndStreamResponse\";\n }\n });\n }\n async function createRequestBody(input) {\n if (method.kind != MethodKind.ServerStreaming) {\n throw \"The fetch API does not support streaming request bodies\";\n }\n const r = await input[Symbol.asyncIterator]().next();\n if (r.done == true) {\n throw \"missing request message\";\n }\n return encodeEnvelope(0, serialize(r.value));\n }\n return await runStreamingCall({\n interceptors: options.interceptors,\n timeoutMs,\n signal,\n req: {\n stream: true,\n service,\n method,\n url: createMethodUrl(options.baseUrl, service, method),\n init: {\n method: \"POST\",\n credentials: (_a = options.credentials) !== null && _a !== void 0 ? _a : \"same-origin\",\n redirect: \"error\",\n mode: \"cors\",\n },\n header: requestHeader(method.kind, useBinaryFormat, timeoutMs, header),\n message: input,\n },\n next: async (req) => {\n var _a;\n const fetch = (_a = options.fetch) !== null && _a !== void 0 ? _a : globalThis.fetch;\n const fRes = await fetch(req.url, Object.assign(Object.assign({}, req.init), { headers: req.header, signal: req.signal, body: await createRequestBody(req.message) }));\n validateResponse(method.kind, fRes.status, fRes.headers);\n if (fRes.body === null) {\n throw \"missing response body\";\n }\n const trailer = new Headers();\n const res = Object.assign(Object.assign({}, req), { header: fRes.headers, trailer, message: parseResponseBody(fRes.body, trailer) });\n return res;\n },\n });\n },\n };\n}\n", "// @generated by protoc-gen-es v1.3.3 with parameter \"target=ts\"\n// @generated from file user/user.proto (package user, syntax proto3)\n/* eslint-disable */\n// @ts-nocheck\n\nimport type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from \"@bufbuild/protobuf\";\nimport { Message, proto3 } from \"@bufbuild/protobuf\";\n\n/**\n * @generated from message user.GroupInfoRequest\n */\nexport class GroupInfoRequest extends Message {\n /**\n * @generated from field: string secret = 1;\n */\n secret = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.GroupInfoRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"secret\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GroupInfoRequest {\n return new GroupInfoRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GroupInfoRequest {\n return new GroupInfoRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GroupInfoRequest {\n return new GroupInfoRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: GroupInfoRequest | PlainMessage | undefined, b: GroupInfoRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(GroupInfoRequest, a, b);\n }\n}\n\n/**\n * @generated from message user.GroupID\n */\nexport class GroupID extends Message {\n /**\n * @generated from field: string group_id = 1;\n */\n groupId = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.GroupID\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"group_id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GroupID {\n return new GroupID().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GroupID {\n return new GroupID().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GroupID {\n return new GroupID().fromJsonString(jsonString, options);\n }\n\n static equals(a: GroupID | PlainMessage | undefined, b: GroupID | PlainMessage | undefined): boolean {\n return proto3.util.equals(GroupID, a, b);\n }\n}\n\n/**\n * @generated from message user.ShareRequest\n */\nexport class ShareRequest extends Message {\n /**\n * @generated from field: string content_id = 1;\n */\n contentId = \"\";\n\n /**\n * @generated from field: string group_id = 2;\n */\n groupId = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.ShareRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"content_id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"group_id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): ShareRequest {\n return new ShareRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): ShareRequest {\n return new ShareRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): ShareRequest {\n return new ShareRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: ShareRequest | PlainMessage | undefined, b: ShareRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(ShareRequest, a, b);\n }\n}\n\n/**\n * @generated from message user.GroupInvite\n */\nexport class GroupInvite extends Message {\n /**\n * @generated from field: string secret = 1;\n */\n secret = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.GroupInvite\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"secret\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GroupInvite {\n return new GroupInvite().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GroupInvite {\n return new GroupInvite().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GroupInvite {\n return new GroupInvite().fromJsonString(jsonString, options);\n }\n\n static equals(a: GroupInvite | PlainMessage | undefined, b: GroupInvite | PlainMessage | undefined): boolean {\n return proto3.util.equals(GroupInvite, a, b);\n }\n}\n\n/**\n * @generated from message user.Groups\n */\nexport class Groups extends Message {\n /**\n * @generated from field: repeated user.Group groups = 1;\n */\n groups: Group[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.Groups\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"groups\", kind: \"message\", T: Group, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Groups {\n return new Groups().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Groups {\n return new Groups().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Groups {\n return new Groups().fromJsonString(jsonString, options);\n }\n\n static equals(a: Groups | PlainMessage | undefined, b: Groups | PlainMessage | undefined): boolean {\n return proto3.util.equals(Groups, a, b);\n }\n}\n\n/**\n * @generated from message user.AnalyzeConversationRequest\n */\nexport class AnalyzeConversationRequest extends Message {\n /**\n * @generated from field: string text = 1;\n */\n text = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.AnalyzeConversationRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): AnalyzeConversationRequest {\n return new AnalyzeConversationRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): AnalyzeConversationRequest {\n return new AnalyzeConversationRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): AnalyzeConversationRequest {\n return new AnalyzeConversationRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: AnalyzeConversationRequest | PlainMessage | undefined, b: AnalyzeConversationRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(AnalyzeConversationRequest, a, b);\n }\n}\n\n/**\n * @generated from message user.User\n */\nexport class User extends Message {\n /**\n * @generated from field: string email = 1;\n */\n email = \"\";\n\n /**\n * @generated from field: string password = 2;\n */\n password = \"\";\n\n /**\n * @generated from field: user.Config config = 3;\n */\n config?: Config;\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.User\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"email\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"password\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 3, name: \"config\", kind: \"message\", T: Config },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): User {\n return new User().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): User {\n return new User().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): User {\n return new User().fromJsonString(jsonString, options);\n }\n\n static equals(a: User | PlainMessage | undefined, b: User | PlainMessage | undefined): boolean {\n return proto3.util.equals(User, a, b);\n }\n}\n\n/**\n * @generated from message user.Group\n */\nexport class Group extends Message {\n /**\n * @generated from field: string id = 1;\n */\n id = \"\";\n\n /**\n * @generated from field: string name = 2;\n */\n name = \"\";\n\n /**\n * @generated from field: repeated string users = 3;\n */\n users: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.Group\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"name\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 3, name: \"users\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Group {\n return new Group().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Group {\n return new Group().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Group {\n return new Group().fromJsonString(jsonString, options);\n }\n\n static equals(a: Group | PlainMessage | undefined, b: Group | PlainMessage | undefined): boolean {\n return proto3.util.equals(Group, a, b);\n }\n}\n\n/**\n * @generated from message user.Config\n */\nexport class Config extends Message {\n /**\n * @generated from field: repeated string domain_whitelist = 1;\n */\n domainWhitelist: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.Config\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"domain_whitelist\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Config {\n return new Config().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Config {\n return new Config().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Config {\n return new Config().fromJsonString(jsonString, options);\n }\n\n static equals(a: Config | PlainMessage | undefined, b: Config | PlainMessage | undefined): boolean {\n return proto3.util.equals(Config, a, b);\n }\n}\n\n/**\n * @generated from message user.LoginResponse\n */\nexport class LoginResponse extends Message {\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.LoginResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): LoginResponse {\n return new LoginResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): LoginResponse {\n return new LoginResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): LoginResponse {\n return new LoginResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: LoginResponse | PlainMessage | undefined, b: LoginResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(LoginResponse, a, b);\n }\n}\n\n", "// @generated by protoc-gen-es v1.3.3 with parameter \"target=ts\"\n// @generated from file content/content.proto (package content, syntax proto3)\n/* eslint-disable */\n// @ts-nocheck\n\nimport type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from \"@bufbuild/protobuf\";\nimport { Message, proto3, protoInt64 } from \"@bufbuild/protobuf\";\nimport { User } from \"../user/user_pb.js\";\n\n/**\n * @generated from message content.SetTagsRequest\n */\nexport class SetTagsRequest extends Message {\n /**\n * @generated from field: string content_id = 1;\n */\n contentId = \"\";\n\n /**\n * @generated from field: repeated string tags = 2;\n */\n tags: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.SetTagsRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"content_id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"tags\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): SetTagsRequest {\n return new SetTagsRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): SetTagsRequest {\n return new SetTagsRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): SetTagsRequest {\n return new SetTagsRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: SetTagsRequest | PlainMessage | undefined, b: SetTagsRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(SetTagsRequest, a, b);\n }\n}\n\n/**\n * @generated from message content.TagRequest\n */\nexport class TagRequest extends Message {\n /**\n * @generated from field: string group_id = 1;\n */\n groupId = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.TagRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"group_id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): TagRequest {\n return new TagRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): TagRequest {\n return new TagRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): TagRequest {\n return new TagRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: TagRequest | PlainMessage | undefined, b: TagRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(TagRequest, a, b);\n }\n}\n\n/**\n * @generated from message content.VoteRequest\n */\nexport class VoteRequest extends Message {\n /**\n * @generated from field: string content_id = 1;\n */\n contentId = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.VoteRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"content_id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): VoteRequest {\n return new VoteRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): VoteRequest {\n return new VoteRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): VoteRequest {\n return new VoteRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: VoteRequest | PlainMessage | undefined, b: VoteRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(VoteRequest, a, b);\n }\n}\n\n/**\n * @generated from message content.VoteResponse\n */\nexport class VoteResponse extends Message {\n /**\n * @generated from field: uint32 votes = 1;\n */\n votes = 0;\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.VoteResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"votes\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): VoteResponse {\n return new VoteResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): VoteResponse {\n return new VoteResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): VoteResponse {\n return new VoteResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: VoteResponse | PlainMessage | undefined, b: VoteResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(VoteResponse, a, b);\n }\n}\n\n/**\n * @generated from message content.Tags\n */\nexport class Tags extends Message {\n /**\n * @generated from field: repeated content.Tag tags = 1;\n */\n tags: Tag[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Tags\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"tags\", kind: \"message\", T: Tag, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Tags {\n return new Tags().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Tags {\n return new Tags().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Tags {\n return new Tags().fromJsonString(jsonString, options);\n }\n\n static equals(a: Tags | PlainMessage | undefined, b: Tags | PlainMessage | undefined): boolean {\n return proto3.util.equals(Tags, a, b);\n }\n}\n\n/**\n * @generated from message content.Tag\n */\nexport class Tag extends Message {\n /**\n * @generated from field: string name = 1;\n */\n name = \"\";\n\n /**\n * @generated from field: repeated content.Tag sub_tags = 2;\n */\n subTags: Tag[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Tag\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"name\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"sub_tags\", kind: \"message\", T: Tag, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Tag {\n return new Tag().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Tag {\n return new Tag().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Tag {\n return new Tag().fromJsonString(jsonString, options);\n }\n\n static equals(a: Tag | PlainMessage | undefined, b: Tag | PlainMessage | undefined): boolean {\n return proto3.util.equals(Tag, a, b);\n }\n}\n\n/**\n * @generated from message content.ContentIDs\n */\nexport class ContentIDs extends Message {\n /**\n * @generated from field: repeated string content_ids = 1;\n */\n contentIds: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.ContentIDs\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"content_ids\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): ContentIDs {\n return new ContentIDs().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): ContentIDs {\n return new ContentIDs().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): ContentIDs {\n return new ContentIDs().fromJsonString(jsonString, options);\n }\n\n static equals(a: ContentIDs | PlainMessage | undefined, b: ContentIDs | PlainMessage | undefined): boolean {\n return proto3.util.equals(ContentIDs, a, b);\n }\n}\n\n/**\n * @generated from message content.Contents\n */\nexport class Contents extends Message {\n /**\n * @generated from field: content.Content content = 1;\n */\n content?: Content;\n\n /**\n * @generated from field: repeated content.Content related = 2;\n */\n related: Content[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Contents\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"content\", kind: \"message\", T: Content },\n { no: 2, name: \"related\", kind: \"message\", T: Content, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Contents {\n return new Contents().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Contents {\n return new Contents().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Contents {\n return new Contents().fromJsonString(jsonString, options);\n }\n\n static equals(a: Contents | PlainMessage | undefined, b: Contents | PlainMessage | undefined): boolean {\n return proto3.util.equals(Contents, a, b);\n }\n}\n\n/**\n * @generated from message content.Query\n */\nexport class Query extends Message {\n /**\n * @generated from field: string query = 1;\n */\n query = \"\";\n\n /**\n * @generated from field: uint32 page = 2;\n */\n page = 0;\n\n /**\n * @generated from field: string contentID = 3;\n */\n contentID = \"\";\n\n /**\n * @generated from field: string groupID = 4;\n */\n groupID = \"\";\n\n /**\n * @generated from field: repeated string tags = 5;\n */\n tags: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Query\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"query\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"page\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */ },\n { no: 3, name: \"contentID\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 4, name: \"groupID\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 5, name: \"tags\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Query {\n return new Query().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Query {\n return new Query().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Query {\n return new Query().fromJsonString(jsonString, options);\n }\n\n static equals(a: Query | PlainMessage | undefined, b: Query | PlainMessage | undefined): boolean {\n return proto3.util.equals(Query, a, b);\n }\n}\n\n/**\n * @generated from message content.Results\n */\nexport class Results extends Message {\n /**\n * @generated from field: repeated content.StoredContent storedContent = 1;\n */\n storedContent: StoredContent[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Results\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"storedContent\", kind: \"message\", T: StoredContent, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Results {\n return new Results().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Results {\n return new Results().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Results {\n return new Results().fromJsonString(jsonString, options);\n }\n\n static equals(a: Results | PlainMessage | undefined, b: Results | PlainMessage | undefined): boolean {\n return proto3.util.equals(Results, a, b);\n }\n}\n\n/**\n * @generated from message content.StoredContent\n */\nexport class StoredContent extends Message {\n /**\n * @generated from field: content.Content content = 1;\n */\n content?: Content;\n\n /**\n * @generated from field: string id = 2;\n */\n id = \"\";\n\n /**\n * @generated from field: repeated content.Content related = 3;\n */\n related: Content[] = [];\n\n /**\n * @generated from field: string title = 4;\n */\n title = \"\";\n\n /**\n * @generated from field: string description = 5;\n */\n description = \"\";\n\n /**\n * @generated from field: string image = 6;\n */\n image = \"\";\n\n /**\n * @generated from field: string url = 7;\n */\n url = \"\";\n\n /**\n * @generated from field: int32 votes = 8;\n */\n votes = 0;\n\n /**\n * @generated from field: user.User user = 9;\n */\n user?: User;\n\n /**\n * @generated from field: repeated content.Tag tags = 10;\n */\n tags: Tag[] = [];\n\n /**\n * @generated from field: string preview = 11;\n */\n preview = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.StoredContent\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"content\", kind: \"message\", T: Content },\n { no: 2, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 3, name: \"related\", kind: \"message\", T: Content, repeated: true },\n { no: 4, name: \"title\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 5, name: \"description\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 6, name: \"image\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 7, name: \"url\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 8, name: \"votes\", kind: \"scalar\", T: 5 /* ScalarType.INT32 */ },\n { no: 9, name: \"user\", kind: \"message\", T: User },\n { no: 10, name: \"tags\", kind: \"message\", T: Tag, repeated: true },\n { no: 11, name: \"preview\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): StoredContent {\n return new StoredContent().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): StoredContent {\n return new StoredContent().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): StoredContent {\n return new StoredContent().fromJsonString(jsonString, options);\n }\n\n static equals(a: StoredContent | PlainMessage | undefined, b: StoredContent | PlainMessage | undefined): boolean {\n return proto3.util.equals(StoredContent, a, b);\n }\n}\n\n/**\n * @generated from message content.Edge\n */\nexport class Edge extends Message {\n /**\n * @generated from field: string from = 1;\n */\n from = \"\";\n\n /**\n * @generated from field: string to = 2;\n */\n to = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Edge\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"from\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"to\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Edge {\n return new Edge().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Edge {\n return new Edge().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Edge {\n return new Edge().fromJsonString(jsonString, options);\n }\n\n static equals(a: Edge | PlainMessage | undefined, b: Edge | PlainMessage | undefined): boolean {\n return proto3.util.equals(Edge, a, b);\n }\n}\n\n/**\n * Content has data and metadata\n *\n * @generated from message content.Content\n */\nexport class Content extends Message {\n /**\n * @generated from field: repeated string tags = 1;\n */\n tags: string[] = [];\n\n /**\n * @generated from field: string created_at = 2;\n */\n createdAt = \"\";\n\n /**\n * @generated from field: string uri = 3;\n */\n uri = \"\";\n\n /**\n * @generated from field: string id = 4;\n */\n id = \"\";\n\n /**\n * @generated from oneof content.Content.type\n */\n type: {\n /**\n * @generated from field: content.Data data = 6;\n */\n value: Data;\n case: \"data\";\n } | {\n /**\n * @generated from field: content.Normalized normalized = 7;\n */\n value: Normalized;\n case: \"normalized\";\n } | {\n /**\n * @generated from field: content.Transformed transformed = 8;\n */\n value: Transformed;\n case: \"transformed\";\n } | { case: undefined; value?: undefined } = { case: undefined };\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Content\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"tags\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n { no: 2, name: \"created_at\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 3, name: \"uri\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 4, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 6, name: \"data\", kind: \"message\", T: Data, oneof: \"type\" },\n { no: 7, name: \"normalized\", kind: \"message\", T: Normalized, oneof: \"type\" },\n { no: 8, name: \"transformed\", kind: \"message\", T: Transformed, oneof: \"type\" },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Content {\n return new Content().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Content {\n return new Content().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Content {\n return new Content().fromJsonString(jsonString, options);\n }\n\n static equals(a: Content | PlainMessage | undefined, b: Content | PlainMessage | undefined): boolean {\n return proto3.util.equals(Content, a, b);\n }\n}\n\n/**\n * @generated from message content.GitRepo\n */\nexport class GitRepo extends Message {\n /**\n * @generated from field: string url = 1;\n */\n url = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.GitRepo\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"url\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GitRepo {\n return new GitRepo().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GitRepo {\n return new GitRepo().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GitRepo {\n return new GitRepo().fromJsonString(jsonString, options);\n }\n\n static equals(a: GitRepo | PlainMessage | undefined, b: GitRepo | PlainMessage | undefined): boolean {\n return proto3.util.equals(GitRepo, a, b);\n }\n}\n\n/**\n * @generated from message content.Data\n */\nexport class Data extends Message {\n /**\n * @generated from oneof content.Data.type\n */\n type: {\n /**\n * @generated from field: content.Text text = 4;\n */\n value: Text;\n case: \"text\";\n } | {\n /**\n * @generated from field: content.File file = 5;\n */\n value: File;\n case: \"file\";\n } | {\n /**\n * @generated from field: content.URL url = 6;\n */\n value: URL;\n case: \"url\";\n } | { case: undefined; value?: undefined } = { case: undefined };\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Data\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 4, name: \"text\", kind: \"message\", T: Text, oneof: \"type\" },\n { no: 5, name: \"file\", kind: \"message\", T: File, oneof: \"type\" },\n { no: 6, name: \"url\", kind: \"message\", T: URL, oneof: \"type\" },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Data {\n return new Data().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Data {\n return new Data().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Data {\n return new Data().fromJsonString(jsonString, options);\n }\n\n static equals(a: Data | PlainMessage | undefined, b: Data | PlainMessage | undefined): boolean {\n return proto3.util.equals(Data, a, b);\n }\n}\n\n/**\n * @generated from message content.Normalized\n */\nexport class Normalized extends Message {\n /**\n * @generated from oneof content.Normalized.type\n */\n type: {\n /**\n * @generated from field: content.Article article = 3;\n */\n value: Article;\n case: \"article\";\n } | {\n /**\n * @generated from field: content.HTML html = 4;\n */\n value: HTML;\n case: \"html\";\n } | {\n /**\n * @generated from field: content.Transcript transcript = 6;\n */\n value: Transcript;\n case: \"transcript\";\n } | {\n /**\n * @generated from field: content.ReadMe readme = 7;\n */\n value: ReadMe;\n case: \"readme\";\n } | { case: undefined; value?: undefined } = { case: undefined };\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Normalized\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 3, name: \"article\", kind: \"message\", T: Article, oneof: \"type\" },\n { no: 4, name: \"html\", kind: \"message\", T: HTML, oneof: \"type\" },\n { no: 6, name: \"transcript\", kind: \"message\", T: Transcript, oneof: \"type\" },\n { no: 7, name: \"readme\", kind: \"message\", T: ReadMe, oneof: \"type\" },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Normalized {\n return new Normalized().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Normalized {\n return new Normalized().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Normalized {\n return new Normalized().fromJsonString(jsonString, options);\n }\n\n static equals(a: Normalized | PlainMessage | undefined, b: Normalized | PlainMessage | undefined): boolean {\n return proto3.util.equals(Normalized, a, b);\n }\n}\n\n/**\n * @generated from message content.Transformed\n */\nexport class Transformed extends Message {\n /**\n * @generated from oneof content.Transformed.type\n */\n type: {\n /**\n * @generated from field: content.Summary summary = 1;\n */\n value: Summary;\n case: \"summary\";\n } | {\n /**\n * @generated from field: content.Categories categories = 2;\n */\n value: Categories;\n case: \"categories\";\n } | { case: undefined; value?: undefined } = { case: undefined };\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Transformed\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"summary\", kind: \"message\", T: Summary, oneof: \"type\" },\n { no: 2, name: \"categories\", kind: \"message\", T: Categories, oneof: \"type\" },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Transformed {\n return new Transformed().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Transformed {\n return new Transformed().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Transformed {\n return new Transformed().fromJsonString(jsonString, options);\n }\n\n static equals(a: Transformed | PlainMessage | undefined, b: Transformed | PlainMessage | undefined): boolean {\n return proto3.util.equals(Transformed, a, b);\n }\n}\n\n/**\n * @generated from message content.Article\n */\nexport class Article extends Message
{\n /**\n * @generated from field: string title = 1;\n */\n title = \"\";\n\n /**\n * @generated from field: string author = 2;\n */\n author = \"\";\n\n /**\n * @generated from field: int32 length = 3;\n */\n length = 0;\n\n /**\n * @generated from field: string excerpt = 4;\n */\n excerpt = \"\";\n\n /**\n * @generated from field: string site_name = 5;\n */\n siteName = \"\";\n\n /**\n * @generated from field: string image = 6;\n */\n image = \"\";\n\n /**\n * @generated from field: string favicon = 7;\n */\n favicon = \"\";\n\n /**\n * @generated from field: string text = 8;\n */\n text = \"\";\n\n constructor(data?: PartialMessage
) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Article\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"title\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"author\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 3, name: \"length\", kind: \"scalar\", T: 5 /* ScalarType.INT32 */ },\n { no: 4, name: \"excerpt\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 5, name: \"site_name\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 6, name: \"image\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 7, name: \"favicon\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 8, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Article {\n return new Article().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Article {\n return new Article().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Article {\n return new Article().fromJsonString(jsonString, options);\n }\n\n static equals(a: Article | PlainMessage
| undefined, b: Article | PlainMessage
| undefined): boolean {\n return proto3.util.equals(Article, a, b);\n }\n}\n\n/**\n * @generated from message content.HTML\n */\nexport class HTML extends Message {\n /**\n * @generated from field: string html = 1;\n */\n html = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.HTML\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"html\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): HTML {\n return new HTML().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): HTML {\n return new HTML().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): HTML {\n return new HTML().fromJsonString(jsonString, options);\n }\n\n static equals(a: HTML | PlainMessage | undefined, b: HTML | PlainMessage | undefined): boolean {\n return proto3.util.equals(HTML, a, b);\n }\n}\n\n/**\n * @generated from message content.ReadMe\n */\nexport class ReadMe extends Message {\n /**\n * @generated from field: string data = 1;\n */\n data = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.ReadMe\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"data\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): ReadMe {\n return new ReadMe().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): ReadMe {\n return new ReadMe().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): ReadMe {\n return new ReadMe().fromJsonString(jsonString, options);\n }\n\n static equals(a: ReadMe | PlainMessage | undefined, b: ReadMe | PlainMessage | undefined): boolean {\n return proto3.util.equals(ReadMe, a, b);\n }\n}\n\n/**\n * @generated from message content.Summary\n */\nexport class Summary extends Message {\n /**\n * @generated from field: string summary = 1;\n */\n summary = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Summary\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"summary\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Summary {\n return new Summary().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Summary {\n return new Summary().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Summary {\n return new Summary().fromJsonString(jsonString, options);\n }\n\n static equals(a: Summary | PlainMessage | undefined, b: Summary | PlainMessage | undefined): boolean {\n return proto3.util.equals(Summary, a, b);\n }\n}\n\n/**\n * @generated from message content.Categories\n */\nexport class Categories extends Message {\n /**\n * @generated from field: repeated string categories = 1;\n */\n categories: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Categories\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"categories\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Categories {\n return new Categories().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Categories {\n return new Categories().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Categories {\n return new Categories().fromJsonString(jsonString, options);\n }\n\n static equals(a: Categories | PlainMessage | undefined, b: Categories | PlainMessage | undefined): boolean {\n return proto3.util.equals(Categories, a, b);\n }\n}\n\n/**\n * @generated from message content.File\n */\nexport class File extends Message {\n /**\n * @generated from field: string file = 1;\n */\n file = \"\";\n\n /**\n * @generated from field: bytes data = 2;\n */\n data = new Uint8Array(0);\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.File\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"file\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"data\", kind: \"scalar\", T: 12 /* ScalarType.BYTES */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): File {\n return new File().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): File {\n return new File().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): File {\n return new File().fromJsonString(jsonString, options);\n }\n\n static equals(a: File | PlainMessage | undefined, b: File | PlainMessage | undefined): boolean {\n return proto3.util.equals(File, a, b);\n }\n}\n\n/**\n * @generated from message content.Text\n */\nexport class Text extends Message {\n /**\n * @generated from field: string data = 1;\n */\n data = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Text\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"data\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Text {\n return new Text().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Text {\n return new Text().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Text {\n return new Text().fromJsonString(jsonString, options);\n }\n\n static equals(a: Text | PlainMessage | undefined, b: Text | PlainMessage | undefined): boolean {\n return proto3.util.equals(Text, a, b);\n }\n}\n\n/**\n * @generated from message content.URL\n */\nexport class URL extends Message {\n /**\n * @generated from field: string url = 1;\n */\n url = \"\";\n\n /**\n * @generated from field: bool crawl = 2;\n */\n crawl = false;\n\n /**\n * @generated from field: string title = 3;\n */\n title = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.URL\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"url\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"crawl\", kind: \"scalar\", T: 8 /* ScalarType.BOOL */ },\n { no: 3, name: \"title\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): URL {\n return new URL().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): URL {\n return new URL().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): URL {\n return new URL().fromJsonString(jsonString, options);\n }\n\n static equals(a: URL | PlainMessage | undefined, b: URL | PlainMessage | undefined): boolean {\n return proto3.util.equals(URL, a, b);\n }\n}\n\n/**\n * @generated from message content.Token\n */\nexport class Token extends Message {\n /**\n * @generated from field: uint32 id = 1;\n */\n id = 0;\n\n /**\n * @generated from field: uint64 start_time = 2;\n */\n startTime = protoInt64.zero;\n\n /**\n * @generated from field: uint64 end_time = 3;\n */\n endTime = protoInt64.zero;\n\n /**\n * @generated from field: string text = 4;\n */\n text = \"\";\n\n /**\n * @generated from field: string p = 5;\n */\n p = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Token\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */ },\n { no: 2, name: \"start_time\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n { no: 3, name: \"end_time\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n { no: 4, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 5, name: \"p\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Token {\n return new Token().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Token {\n return new Token().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Token {\n return new Token().fromJsonString(jsonString, options);\n }\n\n static equals(a: Token | PlainMessage | undefined, b: Token | PlainMessage | undefined): boolean {\n return proto3.util.equals(Token, a, b);\n }\n}\n\n/**\n * @generated from message content.Segment\n */\nexport class Segment extends Message {\n /**\n * @generated from field: uint32 num = 1;\n */\n num = 0;\n\n /**\n * @generated from field: repeated content.Token tokens = 2;\n */\n tokens: Token[] = [];\n\n /**\n * @generated from field: string text = 3;\n */\n text = \"\";\n\n /**\n * @generated from field: uint64 start_time = 4;\n */\n startTime = protoInt64.zero;\n\n /**\n * @generated from field: uint64 end_time = 5;\n */\n endTime = protoInt64.zero;\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Segment\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"num\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */ },\n { no: 2, name: \"tokens\", kind: \"message\", T: Token, repeated: true },\n { no: 3, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 4, name: \"start_time\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n { no: 5, name: \"end_time\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Segment {\n return new Segment().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Segment {\n return new Segment().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Segment {\n return new Segment().fromJsonString(jsonString, options);\n }\n\n static equals(a: Segment | PlainMessage | undefined, b: Segment | PlainMessage | undefined): boolean {\n return proto3.util.equals(Segment, a, b);\n }\n}\n\n/**\n * @generated from message content.Transcript\n */\nexport class Transcript extends Message {\n /**\n * @generated from field: string id = 1;\n */\n id = \"\";\n\n /**\n * @generated from field: string name = 2;\n */\n name = \"\";\n\n /**\n * @generated from field: repeated content.Segment segments = 3;\n */\n segments: Segment[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Transcript\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"name\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 3, name: \"segments\", kind: \"message\", T: Segment, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Transcript {\n return new Transcript().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Transcript {\n return new Transcript().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Transcript {\n return new Transcript().fromJsonString(jsonString, options);\n }\n\n static equals(a: Transcript | PlainMessage | undefined, b: Transcript | PlainMessage | undefined): boolean {\n return proto3.util.equals(Transcript, a, b);\n }\n}\n\n", "// @generated by protoc-gen-es v1.3.3 with parameter \"target=ts\"\n// @generated from file protoflow.proto (package protoflow, syntax proto3)\n/* eslint-disable */\n// @ts-nocheck\n\nimport type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from \"@bufbuild/protobuf\";\nimport { Message, proto3, protoInt64 } from \"@bufbuild/protobuf\";\nimport { Content } from \"./content/content_pb.js\";\n\n/**\n * @generated from message protoflow.AnalyzeConversationRequest\n */\nexport class AnalyzeConversationRequest extends Message {\n /**\n * @generated from field: string text = 1;\n */\n text = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.AnalyzeConversationRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): AnalyzeConversationRequest {\n return new AnalyzeConversationRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): AnalyzeConversationRequest {\n return new AnalyzeConversationRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): AnalyzeConversationRequest {\n return new AnalyzeConversationRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: AnalyzeConversationRequest | PlainMessage | undefined, b: AnalyzeConversationRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(AnalyzeConversationRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.GenerateImagesRequest\n */\nexport class GenerateImagesRequest extends Message {\n /**\n * @generated from field: string prompt = 1;\n */\n prompt = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.GenerateImagesRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"prompt\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GenerateImagesRequest {\n return new GenerateImagesRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GenerateImagesRequest {\n return new GenerateImagesRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GenerateImagesRequest {\n return new GenerateImagesRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: GenerateImagesRequest | PlainMessage | undefined, b: GenerateImagesRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(GenerateImagesRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.GenerateImagesResponse\n */\nexport class GenerateImagesResponse extends Message {\n /**\n * @generated from field: repeated string images = 1;\n */\n images: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.GenerateImagesResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"images\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GenerateImagesResponse {\n return new GenerateImagesResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GenerateImagesResponse {\n return new GenerateImagesResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GenerateImagesResponse {\n return new GenerateImagesResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: GenerateImagesResponse | PlainMessage | undefined, b: GenerateImagesResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(GenerateImagesResponse, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.DeleteSessionRequest\n */\nexport class DeleteSessionRequest extends Message {\n /**\n * @generated from field: string id = 1;\n */\n id = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.DeleteSessionRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): DeleteSessionRequest {\n return new DeleteSessionRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): DeleteSessionRequest {\n return new DeleteSessionRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): DeleteSessionRequest {\n return new DeleteSessionRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: DeleteSessionRequest | PlainMessage | undefined, b: DeleteSessionRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(DeleteSessionRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.Prompt\n */\nexport class Prompt extends Message {\n /**\n * @generated from field: string id = 1;\n */\n id = \"\";\n\n /**\n * @generated from field: string text = 2;\n */\n text = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.Prompt\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Prompt {\n return new Prompt().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Prompt {\n return new Prompt().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Prompt {\n return new Prompt().fromJsonString(jsonString, options);\n }\n\n static equals(a: Prompt | PlainMessage | undefined, b: Prompt | PlainMessage | undefined): boolean {\n return proto3.util.equals(Prompt, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.GetPromptsRequest\n */\nexport class GetPromptsRequest extends Message {\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.GetPromptsRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GetPromptsRequest {\n return new GetPromptsRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GetPromptsRequest {\n return new GetPromptsRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GetPromptsRequest {\n return new GetPromptsRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: GetPromptsRequest | PlainMessage | undefined, b: GetPromptsRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(GetPromptsRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.GetPromptsResponse\n */\nexport class GetPromptsResponse extends Message {\n /**\n * @generated from field: repeated protoflow.Prompt prompts = 1;\n */\n prompts: Prompt[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.GetPromptsResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"prompts\", kind: \"message\", T: Prompt, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GetPromptsResponse {\n return new GetPromptsResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GetPromptsResponse {\n return new GetPromptsResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GetPromptsResponse {\n return new GetPromptsResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: GetPromptsResponse | PlainMessage | undefined, b: GetPromptsResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(GetPromptsResponse, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.InferRequest\n */\nexport class InferRequest extends Message {\n /**\n * @generated from field: string prompt = 1;\n */\n prompt = \"\";\n\n /**\n * @generated from field: repeated string text = 2;\n */\n text: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.InferRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"prompt\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): InferRequest {\n return new InferRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): InferRequest {\n return new InferRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): InferRequest {\n return new InferRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: InferRequest | PlainMessage | undefined, b: InferRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(InferRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.InferResponse\n */\nexport class InferResponse extends Message {\n /**\n * @generated from field: string text = 1;\n */\n text = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.InferResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): InferResponse {\n return new InferResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): InferResponse {\n return new InferResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): InferResponse {\n return new InferResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: InferResponse | PlainMessage | undefined, b: InferResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(InferResponse, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.UploadContentRequest\n */\nexport class UploadContentRequest extends Message {\n /**\n * @generated from field: content.Content content = 1;\n */\n content?: Content;\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.UploadContentRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"content\", kind: \"message\", T: Content },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): UploadContentRequest {\n return new UploadContentRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): UploadContentRequest {\n return new UploadContentRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): UploadContentRequest {\n return new UploadContentRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: UploadContentRequest | PlainMessage | undefined, b: UploadContentRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(UploadContentRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.UploadContentResponse\n */\nexport class UploadContentResponse extends Message {\n /**\n * @generated from field: string id = 1;\n */\n id = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.UploadContentResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): UploadContentResponse {\n return new UploadContentResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): UploadContentResponse {\n return new UploadContentResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): UploadContentResponse {\n return new UploadContentResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: UploadContentResponse | PlainMessage | undefined, b: UploadContentResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(UploadContentResponse, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.GetSessionRequest\n */\nexport class GetSessionRequest extends Message {\n /**\n * @generated from field: string id = 1;\n */\n id = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.GetSessionRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GetSessionRequest {\n return new GetSessionRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GetSessionRequest {\n return new GetSessionRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GetSessionRequest {\n return new GetSessionRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: GetSessionRequest | PlainMessage | undefined, b: GetSessionRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(GetSessionRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.GetSessionResponse\n */\nexport class GetSessionResponse extends Message {\n /**\n * @generated from field: protoflow.Session session = 1;\n */\n session?: Session;\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.GetSessionResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"session\", kind: \"message\", T: Session },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GetSessionResponse {\n return new GetSessionResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GetSessionResponse {\n return new GetSessionResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GetSessionResponse {\n return new GetSessionResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: GetSessionResponse | PlainMessage | undefined, b: GetSessionResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(GetSessionResponse, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.GetSessionsRequest\n */\nexport class GetSessionsRequest extends Message {\n /**\n * @generated from field: uint64 page = 1;\n */\n page = protoInt64.zero;\n\n /**\n * @generated from field: uint64 limit = 2;\n */\n limit = protoInt64.zero;\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.GetSessionsRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"page\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n { no: 2, name: \"limit\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GetSessionsRequest {\n return new GetSessionsRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GetSessionsRequest {\n return new GetSessionsRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GetSessionsRequest {\n return new GetSessionsRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: GetSessionsRequest | PlainMessage | undefined, b: GetSessionsRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(GetSessionsRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.GetSessionsResponse\n */\nexport class GetSessionsResponse extends Message {\n /**\n * @generated from field: repeated protoflow.Session sessions = 1;\n */\n sessions: Session[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.GetSessionsResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"sessions\", kind: \"message\", T: Session, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GetSessionsResponse {\n return new GetSessionsResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GetSessionsResponse {\n return new GetSessionsResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GetSessionsResponse {\n return new GetSessionsResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: GetSessionsResponse | PlainMessage | undefined, b: GetSessionsResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(GetSessionsResponse, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.Token\n */\nexport class Token extends Message {\n /**\n * @generated from field: uint32 id = 1;\n */\n id = 0;\n\n /**\n * @generated from field: uint64 start_time = 2;\n */\n startTime = protoInt64.zero;\n\n /**\n * @generated from field: uint64 end_time = 3;\n */\n endTime = protoInt64.zero;\n\n /**\n * @generated from field: string text = 4;\n */\n text = \"\";\n\n /**\n * @generated from field: string p = 5;\n */\n p = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.Token\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */ },\n { no: 2, name: \"start_time\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n { no: 3, name: \"end_time\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n { no: 4, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 5, name: \"p\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Token {\n return new Token().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Token {\n return new Token().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Token {\n return new Token().fromJsonString(jsonString, options);\n }\n\n static equals(a: Token | PlainMessage | undefined, b: Token | PlainMessage | undefined): boolean {\n return proto3.util.equals(Token, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.Segment\n */\nexport class Segment extends Message {\n /**\n * @generated from field: uint32 num = 1;\n */\n num = 0;\n\n /**\n * @generated from field: repeated protoflow.Token tokens = 2;\n */\n tokens: Token[] = [];\n\n /**\n * @generated from field: string text = 3;\n */\n text = \"\";\n\n /**\n * @generated from field: uint64 start_time = 4;\n */\n startTime = protoInt64.zero;\n\n /**\n * @generated from field: uint64 end_time = 5;\n */\n endTime = protoInt64.zero;\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.Segment\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"num\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */ },\n { no: 2, name: \"tokens\", kind: \"message\", T: Token, repeated: true },\n { no: 3, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 4, name: \"start_time\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n { no: 5, name: \"end_time\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Segment {\n return new Segment().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Segment {\n return new Segment().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Segment {\n return new Segment().fromJsonString(jsonString, options);\n }\n\n static equals(a: Segment | PlainMessage | undefined, b: Segment | PlainMessage | undefined): boolean {\n return proto3.util.equals(Segment, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.Session\n */\nexport class Session extends Message {\n /**\n * @generated from field: string id = 1;\n */\n id = \"\";\n\n /**\n * @generated from field: string name = 2;\n */\n name = \"\";\n\n /**\n * @generated from field: repeated protoflow.Segment segments = 3;\n */\n segments: Segment[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.Session\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"name\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 3, name: \"segments\", kind: \"message\", T: Segment, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Session {\n return new Session().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Session {\n return new Session().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Session {\n return new Session().fromJsonString(jsonString, options);\n }\n\n static equals(a: Session | PlainMessage | undefined, b: Session | PlainMessage | undefined): boolean {\n return proto3.util.equals(Session, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.TranscriptionRequest\n */\nexport class TranscriptionRequest extends Message {\n /**\n * @generated from field: string file_path = 14;\n */\n filePath = \"\";\n\n /**\n * Path to the model file\n *\n * @generated from field: string model = 1;\n */\n model = \"\";\n\n /**\n * Spoken language\n *\n * @generated from field: string language = 2;\n */\n language = \"\";\n\n /**\n * Translate from source language to English\n *\n * @generated from field: bool translate = 3;\n */\n translate = false;\n\n /**\n * Time offset in nanoseconds to match Go's time.Duration\n *\n * @generated from field: int64 offset = 4;\n */\n offset = protoInt64.zero;\n\n /**\n * Duration of audio to process in nanoseconds\n *\n * @generated from field: int64 duration = 5;\n */\n duration = protoInt64.zero;\n\n /**\n * Number of threads to use\n *\n * @generated from field: uint32 threads = 6;\n */\n threads = 0;\n\n /**\n * Enable speedup\n *\n * @generated from field: bool speedup = 7;\n */\n speedup = false;\n\n /**\n * Maximum segment length in characters\n *\n * @generated from field: uint32 max_len = 8;\n */\n maxLen = 0;\n\n /**\n * Maximum tokens per segment\n *\n * @generated from field: uint32 max_tokens = 9;\n */\n maxTokens = 0;\n\n /**\n * Maximum segment score\n *\n * @generated from field: double word_threshold = 10;\n */\n wordThreshold = 0;\n\n /**\n * Display tokens\n *\n * @generated from field: bool tokens = 11;\n */\n tokens = false;\n\n /**\n * Colorize tokens\n *\n * @generated from field: bool colorize = 12;\n */\n colorize = false;\n\n /**\n * Output format (srt, none or leave as empty string)\n *\n * @generated from field: string out = 13;\n */\n out = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.TranscriptionRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 14, name: \"file_path\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 1, name: \"model\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"language\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 3, name: \"translate\", kind: \"scalar\", T: 8 /* ScalarType.BOOL */ },\n { no: 4, name: \"offset\", kind: \"scalar\", T: 3 /* ScalarType.INT64 */ },\n { no: 5, name: \"duration\", kind: \"scalar\", T: 3 /* ScalarType.INT64 */ },\n { no: 6, name: \"threads\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */ },\n { no: 7, name: \"speedup\", kind: \"scalar\", T: 8 /* ScalarType.BOOL */ },\n { no: 8, name: \"max_len\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */ },\n { no: 9, name: \"max_tokens\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */ },\n { no: 10, name: \"word_threshold\", kind: \"scalar\", T: 1 /* ScalarType.DOUBLE */ },\n { no: 11, name: \"tokens\", kind: \"scalar\", T: 8 /* ScalarType.BOOL */ },\n { no: 12, name: \"colorize\", kind: \"scalar\", T: 8 /* ScalarType.BOOL */ },\n { no: 13, name: \"out\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): TranscriptionRequest {\n return new TranscriptionRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): TranscriptionRequest {\n return new TranscriptionRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): TranscriptionRequest {\n return new TranscriptionRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: TranscriptionRequest | PlainMessage | undefined, b: TranscriptionRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(TranscriptionRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.RegisterFlags\n */\nexport class RegisterFlags extends Message {\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.RegisterFlags\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): RegisterFlags {\n return new RegisterFlags().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): RegisterFlags {\n return new RegisterFlags().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): RegisterFlags {\n return new RegisterFlags().fromJsonString(jsonString, options);\n }\n\n static equals(a: RegisterFlags | PlainMessage | undefined, b: RegisterFlags | PlainMessage | undefined): boolean {\n return proto3.util.equals(RegisterFlags, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.OCRText\n */\nexport class OCRText extends Message {\n /**\n * @generated from field: string text = 1;\n */\n text = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.OCRText\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): OCRText {\n return new OCRText().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): OCRText {\n return new OCRText().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): OCRText {\n return new OCRText().fromJsonString(jsonString, options);\n }\n\n static equals(a: OCRText | PlainMessage | undefined, b: OCRText | PlainMessage | undefined): boolean {\n return proto3.util.equals(OCRText, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.Image\n */\nexport class Image extends Message {\n /**\n * @generated from field: bytes image = 1;\n */\n image = new Uint8Array(0);\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.Image\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"image\", kind: \"scalar\", T: 12 /* ScalarType.BYTES */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Image {\n return new Image().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Image {\n return new Image().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Image {\n return new Image().fromJsonString(jsonString, options);\n }\n\n static equals(a: Image | PlainMessage | undefined, b: Image | PlainMessage | undefined): boolean {\n return proto3.util.equals(Image, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.ConvertFileRequest\n */\nexport class ConvertFileRequest extends Message {\n /**\n * @generated from field: string from = 1;\n */\n from = \"\";\n\n /**\n * @generated from field: string to = 2;\n */\n to = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.ConvertFileRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"from\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"to\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): ConvertFileRequest {\n return new ConvertFileRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): ConvertFileRequest {\n return new ConvertFileRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): ConvertFileRequest {\n return new ConvertFileRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: ConvertFileRequest | PlainMessage | undefined, b: ConvertFileRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(ConvertFileRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.ChatRequest\n */\nexport class ChatRequest extends Message {\n /**\n * @generated from field: int32 capture_device = 1;\n */\n captureDevice = 0;\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.ChatRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"capture_device\", kind: \"scalar\", T: 5 /* ScalarType.INT32 */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): ChatRequest {\n return new ChatRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): ChatRequest {\n return new ChatRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): ChatRequest {\n return new ChatRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: ChatRequest | PlainMessage | undefined, b: ChatRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(ChatRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.ChatResponse\n */\nexport class ChatResponse extends Message {\n /**\n * @generated from field: protoflow.Segment segment = 1;\n */\n segment?: Segment;\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.ChatResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"segment\", kind: \"message\", T: Segment },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): ChatResponse {\n return new ChatResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): ChatResponse {\n return new ChatResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): ChatResponse {\n return new ChatResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: ChatResponse | PlainMessage | undefined, b: ChatResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(ChatResponse, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.YouTubeVideo\n */\nexport class YouTubeVideo extends Message {\n /**\n * @generated from field: string id = 1;\n */\n id = \"\";\n\n /**\n * @generated from field: string file = 2;\n */\n file = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.YouTubeVideo\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"file\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): YouTubeVideo {\n return new YouTubeVideo().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): YouTubeVideo {\n return new YouTubeVideo().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): YouTubeVideo {\n return new YouTubeVideo().fromJsonString(jsonString, options);\n }\n\n static equals(a: YouTubeVideo | PlainMessage | undefined, b: YouTubeVideo | PlainMessage | undefined): boolean {\n return proto3.util.equals(YouTubeVideo, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.FilePath\n */\nexport class FilePath extends Message {\n /**\n * @generated from field: string file = 1;\n */\n file = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.FilePath\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"file\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): FilePath {\n return new FilePath().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): FilePath {\n return new FilePath().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): FilePath {\n return new FilePath().fromJsonString(jsonString, options);\n }\n\n static equals(a: FilePath | PlainMessage | undefined, b: FilePath | PlainMessage | undefined): boolean {\n return proto3.util.equals(FilePath, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.YouTubeVideoResponse\n */\nexport class YouTubeVideoResponse extends Message {\n /**\n * @generated from field: string title = 1;\n */\n title = \"\";\n\n /**\n * @generated from field: protoflow.FilePath file_path = 2;\n */\n filePath?: FilePath;\n\n /**\n * @generated from field: repeated protoflow.Segment transcript = 3;\n */\n transcript: Segment[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.YouTubeVideoResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"title\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"file_path\", kind: \"message\", T: FilePath },\n { no: 3, name: \"transcript\", kind: \"message\", T: Segment, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): YouTubeVideoResponse {\n return new YouTubeVideoResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): YouTubeVideoResponse {\n return new YouTubeVideoResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): YouTubeVideoResponse {\n return new YouTubeVideoResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: YouTubeVideoResponse | PlainMessage | undefined, b: YouTubeVideoResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(YouTubeVideoResponse, a, b);\n }\n}\n\n", "// @generated by protoc-gen-es v1.3.3 with parameter \"target=ts\"\n// @generated from file ai.proto (package ai, syntax proto3)\n/* eslint-disable */\n// @ts-nocheck\n\nimport type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from \"@bufbuild/protobuf\";\nimport { Message, proto3 } from \"@bufbuild/protobuf\";\n\n/**\n * @generated from message ai.AnalyzeConversationResponse\n */\nexport class AnalyzeConversationResponse extends Message {\n /**\n * Phone numbers of the participants\n *\n * @generated from field: repeated string phone_numbers = 1;\n */\n phoneNumbers: string[] = [];\n\n /**\n * The summary of the conversation\n *\n * @generated from field: string summary = 2;\n */\n summary = \"\";\n\n /**\n * Based on the content of the conversation, the system will generate a list of questions\n *\n * @generated from field: repeated string questions = 3;\n */\n questions: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"ai.AnalyzeConversationResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"phone_numbers\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n { no: 2, name: \"summary\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 3, name: \"questions\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): AnalyzeConversationResponse {\n return new AnalyzeConversationResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): AnalyzeConversationResponse {\n return new AnalyzeConversationResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): AnalyzeConversationResponse {\n return new AnalyzeConversationResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: AnalyzeConversationResponse | PlainMessage | undefined, b: AnalyzeConversationResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(AnalyzeConversationResponse, a, b);\n }\n}\n\n/**\n * @generated from message ai.AnalyzeContent\n */\nexport class AnalyzeContent extends Message {\n /**\n * Potential categories for the content in the form: category/subcategory/other-category. The category is all lowercase and spaces are replaced with dashes.\n *\n * @generated from field: repeated string categories = 1;\n */\n categories: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"ai.AnalyzeContent\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"categories\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): AnalyzeContent {\n return new AnalyzeContent().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): AnalyzeContent {\n return new AnalyzeContent().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): AnalyzeContent {\n return new AnalyzeContent().fromJsonString(jsonString, options);\n }\n\n static equals(a: AnalyzeContent | PlainMessage | undefined, b: AnalyzeContent | PlainMessage | undefined): boolean {\n return proto3.util.equals(AnalyzeContent, a, b);\n }\n}\n\n", "// @generated by protoc-gen-connect-es v0.13.0 with parameter \"target=ts\"\n// @generated from file protoflow.proto (package protoflow, syntax proto3)\n/* eslint-disable */\n// @ts-nocheck\n\nimport { AnalyzeConversationRequest, ChatRequest, ChatResponse, ConvertFileRequest, DeleteSessionRequest, FilePath, GenerateImagesRequest, GenerateImagesResponse, GetPromptsRequest, GetPromptsResponse, GetSessionRequest, GetSessionResponse, GetSessionsRequest, GetSessionsResponse, InferRequest, InferResponse, Prompt, UploadContentRequest, YouTubeVideo, YouTubeVideoResponse } from \"./protoflow_pb.js\";\nimport { Empty, MethodKind } from \"@bufbuild/protobuf\";\nimport { AnalyzeConversationResponse } from \"./ai_pb.js\";\n\n/**\n * @generated from service protoflow.ProtoflowService\n */\nexport const ProtoflowService = {\n typeName: \"protoflow.ProtoflowService\",\n methods: {\n /**\n * @generated from rpc protoflow.ProtoflowService.DownloadYouTubeVideo\n */\n downloadYouTubeVideo: {\n name: \"DownloadYouTubeVideo\",\n I: YouTubeVideo,\n O: YouTubeVideoResponse,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.GetSessions\n */\n getSessions: {\n name: \"GetSessions\",\n I: GetSessionsRequest,\n O: GetSessionsResponse,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.GetSession\n */\n getSession: {\n name: \"GetSession\",\n I: GetSessionRequest,\n O: GetSessionResponse,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.DeleteSession\n */\n deleteSession: {\n name: \"DeleteSession\",\n I: DeleteSessionRequest,\n O: Empty,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.GetPrompts\n */\n getPrompts: {\n name: \"GetPrompts\",\n I: GetPromptsRequest,\n O: GetPromptsResponse,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.NewPrompt\n */\n newPrompt: {\n name: \"NewPrompt\",\n I: Prompt,\n O: Prompt,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.UploadContent\n */\n uploadContent: {\n name: \"UploadContent\",\n I: UploadContentRequest,\n O: ChatResponse,\n kind: MethodKind.ServerStreaming,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.Infer\n */\n infer: {\n name: \"Infer\",\n I: InferRequest,\n O: InferResponse,\n kind: MethodKind.ServerStreaming,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.Chat\n */\n chat: {\n name: \"Chat\",\n I: ChatRequest,\n O: ChatResponse,\n kind: MethodKind.ServerStreaming,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.ConvertFile\n */\n convertFile: {\n name: \"ConvertFile\",\n I: ConvertFileRequest,\n O: FilePath,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.GenerateImages\n */\n generateImages: {\n name: \"GenerateImages\",\n I: GenerateImagesRequest,\n O: GenerateImagesResponse,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.AnalyzeConversation\n */\n analyzeConversation: {\n name: \"AnalyzeConversation\",\n I: AnalyzeConversationRequest,\n O: AnalyzeConversationResponse,\n kind: MethodKind.Unary,\n },\n }\n} as const;\n\n", "// @generated by protoc-gen-connect-es v0.13.0 with parameter \"target=ts\"\n// @generated from file content/content.proto (package content, syntax proto3)\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Content, ContentIDs, Contents, Query, Results, SetTagsRequest, TagRequest, Tags, VoteRequest, VoteResponse } from \"./content_pb.js\";\nimport { Empty, MethodKind } from \"@bufbuild/protobuf\";\n\n/**\n * @generated from service content.ContentService\n */\nexport const ContentService = {\n typeName: \"content.ContentService\",\n methods: {\n /**\n * @generated from rpc content.ContentService.Save\n */\n save: {\n name: \"Save\",\n I: Contents,\n O: ContentIDs,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc content.ContentService.Search\n */\n search: {\n name: \"Search\",\n I: Query,\n O: Results,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc content.ContentService.Analyze\n */\n analyze: {\n name: \"Analyze\",\n I: Content,\n O: Contents,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc content.ContentService.Delete\n */\n delete: {\n name: \"Delete\",\n I: ContentIDs,\n O: ContentIDs,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc content.ContentService.GetTags\n */\n getTags: {\n name: \"GetTags\",\n I: TagRequest,\n O: Tags,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc content.ContentService.SetTags\n */\n setTags: {\n name: \"SetTags\",\n I: SetTagsRequest,\n O: Empty,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc content.ContentService.Vote\n */\n vote: {\n name: \"Vote\",\n I: VoteRequest,\n O: VoteResponse,\n kind: MethodKind.Unary,\n },\n }\n} as const;\n\n", "// @generated by protoc-gen-connect-es v0.13.0 with parameter \"target=ts\"\n// @generated from file user/user.proto (package user, syntax proto3)\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Config, Group, GroupID, GroupInfoRequest, GroupInvite, Groups, ShareRequest, User } from \"./user_pb.js\";\nimport { Empty, MethodKind } from \"@bufbuild/protobuf\";\n\n/**\n * @generated from service user.UserService\n */\nexport const UserService = {\n typeName: \"user.UserService\",\n methods: {\n /**\n * @generated from rpc user.UserService.Register\n */\n register: {\n name: \"Register\",\n I: User,\n O: User,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.Login\n */\n login: {\n name: \"Login\",\n I: User,\n O: User,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.Logout\n */\n logout: {\n name: \"Logout\",\n I: Empty,\n O: Empty,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.UpdateConfig\n */\n updateConfig: {\n name: \"UpdateConfig\",\n I: Config,\n O: Empty,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.CreateGroupInvite\n */\n createGroupInvite: {\n name: \"CreateGroupInvite\",\n I: GroupID,\n O: GroupInvite,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.JoinGroup\n */\n joinGroup: {\n name: \"JoinGroup\",\n I: GroupInvite,\n O: Group,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.GroupInfo\n */\n groupInfo: {\n name: \"GroupInfo\",\n I: GroupInfoRequest,\n O: Group,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.CreateGroup\n */\n createGroup: {\n name: \"CreateGroup\",\n I: Group,\n O: Group,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.GetGroups\n */\n getGroups: {\n name: \"GetGroups\",\n I: Empty,\n O: Groups,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.DeleteGroup\n */\n deleteGroup: {\n name: \"DeleteGroup\",\n I: Group,\n O: Empty,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.Share\n */\n share: {\n name: \"Share\",\n I: ShareRequest,\n O: Empty,\n kind: MethodKind.Unary,\n },\n }\n} as const;\n\n", "type Listener = () => void\n\nexport class Subscribable {\n protected listeners: Set<{ listener: TListener }>\n\n constructor() {\n this.listeners = new Set()\n this.subscribe = this.subscribe.bind(this)\n }\n\n subscribe(listener: TListener): () => void {\n const identity = { listener }\n this.listeners.add(identity)\n\n this.onSubscribe()\n\n return () => {\n this.listeners.delete(identity)\n this.onUnsubscribe()\n }\n }\n\n hasListeners(): boolean {\n return this.listeners.size > 0\n }\n\n protected onSubscribe(): void {\n // Do nothing\n }\n\n protected onUnsubscribe(): void {\n // Do nothing\n }\n}\n", "import type { Mutation } from './mutation'\nimport type { Query } from './query'\nimport type {\n FetchStatus,\n MutationFunction,\n MutationKey,\n MutationOptions,\n QueryFunction,\n QueryKey,\n QueryOptions,\n} from './types'\n\n// TYPES\n\nexport interface QueryFilters {\n /**\n * Filter to active queries, inactive queries or all queries\n */\n type?: QueryTypeFilter\n /**\n * Match query key exactly\n */\n exact?: boolean\n /**\n * Include queries matching this predicate function\n */\n predicate?: (query: Query) => boolean\n /**\n * Include queries matching this query key\n */\n queryKey?: QueryKey\n /**\n * Include or exclude stale queries\n */\n stale?: boolean\n /**\n * Include queries matching their fetchStatus\n */\n fetchStatus?: FetchStatus\n}\n\nexport interface MutationFilters {\n /**\n * Match mutation key exactly\n */\n exact?: boolean\n /**\n * Include mutations matching this predicate function\n */\n predicate?: (mutation: Mutation) => boolean\n /**\n * Include mutations matching this mutation key\n */\n mutationKey?: MutationKey\n /**\n * Include or exclude fetching mutations\n */\n fetching?: boolean\n}\n\nexport type DataUpdateFunction = (input: TInput) => TOutput\n\nexport type Updater =\n | TOutput\n | DataUpdateFunction\n\nexport type QueryTypeFilter = 'all' | 'active' | 'inactive'\n\n// UTILS\n\nexport const isServer = typeof window === 'undefined' || 'Deno' in window\n\nexport function noop(): undefined {\n return undefined\n}\n\nexport function functionalUpdate(\n updater: Updater,\n input: TInput,\n): TOutput {\n return typeof updater === 'function'\n ? (updater as DataUpdateFunction)(input)\n : updater\n}\n\nexport function isValidTimeout(value: unknown): value is number {\n return typeof value === 'number' && value >= 0 && value !== Infinity\n}\n\nexport function difference(array1: T[], array2: T[]): T[] {\n return array1.filter((x) => !array2.includes(x))\n}\n\nexport function replaceAt(array: T[], index: number, value: T): T[] {\n const copy = array.slice(0)\n copy[index] = value\n return copy\n}\n\nexport function timeUntilStale(updatedAt: number, staleTime?: number): number {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0)\n}\n\nexport function parseQueryArgs<\n TOptions extends QueryOptions,\n TQueryKey extends QueryKey = QueryKey,\n>(\n arg1: TQueryKey | TOptions,\n arg2?: QueryFunction | TOptions,\n arg3?: TOptions,\n): TOptions {\n if (!isQueryKey(arg1)) {\n return arg1 as TOptions\n }\n\n if (typeof arg2 === 'function') {\n return { ...arg3, queryKey: arg1, queryFn: arg2 } as TOptions\n }\n\n return { ...arg2, queryKey: arg1 } as TOptions\n}\n\nexport function parseMutationArgs<\n TOptions extends MutationOptions,\n>(\n arg1: MutationKey | MutationFunction | TOptions,\n arg2?: MutationFunction | TOptions,\n arg3?: TOptions,\n): TOptions {\n if (isQueryKey(arg1)) {\n if (typeof arg2 === 'function') {\n return { ...arg3, mutationKey: arg1, mutationFn: arg2 } as TOptions\n }\n return { ...arg2, mutationKey: arg1 } as TOptions\n }\n\n if (typeof arg1 === 'function') {\n return { ...arg2, mutationFn: arg1 } as TOptions\n }\n\n return { ...arg1 } as TOptions\n}\n\nexport function parseFilterArgs<\n TFilters extends QueryFilters,\n TOptions = unknown,\n>(\n arg1?: QueryKey | TFilters,\n arg2?: TFilters | TOptions,\n arg3?: TOptions,\n): [TFilters, TOptions | undefined] {\n return (\n isQueryKey(arg1) ? [{ ...arg2, queryKey: arg1 }, arg3] : [arg1 || {}, arg2]\n ) as [TFilters, TOptions]\n}\n\nexport function parseMutationFilterArgs<\n TFilters extends MutationFilters,\n TOptions = unknown,\n>(\n arg1?: QueryKey | TFilters,\n arg2?: TFilters | TOptions,\n arg3?: TOptions,\n): [TFilters, TOptions | undefined] {\n return (\n isQueryKey(arg1)\n ? [{ ...arg2, mutationKey: arg1 }, arg3]\n : [arg1 || {}, arg2]\n ) as [TFilters, TOptions]\n}\n\nexport function matchQuery(\n filters: QueryFilters,\n query: Query,\n): boolean {\n const {\n type = 'all',\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale,\n } = filters\n\n if (isQueryKey(queryKey)) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false\n }\n }\n\n if (type !== 'all') {\n const isActive = query.isActive()\n if (type === 'active' && !isActive) {\n return false\n }\n if (type === 'inactive' && isActive) {\n return false\n }\n }\n\n if (typeof stale === 'boolean' && query.isStale() !== stale) {\n return false\n }\n\n if (\n typeof fetchStatus !== 'undefined' &&\n fetchStatus !== query.state.fetchStatus\n ) {\n return false\n }\n\n if (predicate && !predicate(query)) {\n return false\n }\n\n return true\n}\n\nexport function matchMutation(\n filters: MutationFilters,\n mutation: Mutation,\n): boolean {\n const { exact, fetching, predicate, mutationKey } = filters\n if (isQueryKey(mutationKey)) {\n if (!mutation.options.mutationKey) {\n return false\n }\n if (exact) {\n if (\n hashQueryKey(mutation.options.mutationKey) !== hashQueryKey(mutationKey)\n ) {\n return false\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false\n }\n }\n\n if (\n typeof fetching === 'boolean' &&\n (mutation.state.status === 'loading') !== fetching\n ) {\n return false\n }\n\n if (predicate && !predicate(mutation)) {\n return false\n }\n\n return true\n}\n\nexport function hashQueryKeyByOptions(\n queryKey: TQueryKey,\n options?: QueryOptions,\n): string {\n const hashFn = options?.queryKeyHashFn || hashQueryKey\n return hashFn(queryKey)\n}\n\n/**\n * Default query keys hash function.\n * Hashes the value into a stable hash.\n */\nexport function hashQueryKey(queryKey: QueryKey): string {\n return JSON.stringify(queryKey, (_, val) =>\n isPlainObject(val)\n ? Object.keys(val)\n .sort()\n .reduce((result, key) => {\n result[key] = val[key]\n return result\n }, {} as any)\n : val,\n )\n}\n\n/**\n * Checks if key `b` partially matches with key `a`.\n */\nexport function partialMatchKey(a: QueryKey, b: QueryKey): boolean {\n return partialDeepEqual(a, b)\n}\n\n/**\n * Checks if `b` partially matches with `a`.\n */\nexport function partialDeepEqual(a: any, b: any): boolean {\n if (a === b) {\n return true\n }\n\n if (typeof a !== typeof b) {\n return false\n }\n\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n return !Object.keys(b).some((key) => !partialDeepEqual(a[key], b[key]))\n }\n\n return false\n}\n\n/**\n * This function returns `a` if `b` is deeply equal.\n * If not, it will replace any deeply equal children of `b` with those of `a`.\n * This can be used for structural sharing between JSON values for example.\n */\nexport function replaceEqualDeep(a: unknown, b: T): T\nexport function replaceEqualDeep(a: any, b: any): any {\n if (a === b) {\n return a\n }\n\n const array = isPlainArray(a) && isPlainArray(b)\n\n if (array || (isPlainObject(a) && isPlainObject(b))) {\n const aSize = array ? a.length : Object.keys(a).length\n const bItems = array ? b : Object.keys(b)\n const bSize = bItems.length\n const copy: any = array ? [] : {}\n\n let equalItems = 0\n\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i]\n copy[key] = replaceEqualDeep(a[key], b[key])\n if (copy[key] === a[key]) {\n equalItems++\n }\n }\n\n return aSize === bSize && equalItems === aSize ? a : copy\n }\n\n return b\n}\n\n/**\n * Shallow compare objects. Only works with objects that always have the same properties.\n */\nexport function shallowEqualObjects(a: T, b: T): boolean {\n if ((a && !b) || (b && !a)) {\n return false\n }\n\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false\n }\n }\n\n return true\n}\n\nexport function isPlainArray(value: unknown) {\n return Array.isArray(value) && value.length === Object.keys(value).length\n}\n\n// Copied from: https://github.com/jonschlinkert/is-plain-object\nexport function isPlainObject(o: any): o is Object {\n if (!hasObjectPrototype(o)) {\n return false\n }\n\n // If has modified constructor\n const ctor = o.constructor\n if (typeof ctor === 'undefined') {\n return true\n }\n\n // If has modified prototype\n const prot = ctor.prototype\n if (!hasObjectPrototype(prot)) {\n return false\n }\n\n // If constructor does not have an Object-specific method\n if (!prot.hasOwnProperty('isPrototypeOf')) {\n return false\n }\n\n // Most likely a plain Object\n return true\n}\n\nfunction hasObjectPrototype(o: any): boolean {\n return Object.prototype.toString.call(o) === '[object Object]'\n}\n\nexport function isQueryKey(value: unknown): value is QueryKey {\n return Array.isArray(value)\n}\n\nexport function isError(value: any): value is Error {\n return value instanceof Error\n}\n\nexport function sleep(timeout: number): Promise {\n return new Promise((resolve) => {\n setTimeout(resolve, timeout)\n })\n}\n\n/**\n * Schedules a microtask.\n * This can be useful to schedule state updates after rendering.\n */\nexport function scheduleMicrotask(callback: () => void) {\n sleep(0).then(callback)\n}\n\nexport function getAbortController(): AbortController | undefined {\n if (typeof AbortController === 'function') {\n return new AbortController()\n }\n return\n}\n\nexport function replaceData<\n TData,\n TOptions extends QueryOptions,\n>(prevData: TData | undefined, data: TData, options: TOptions): TData {\n // Use prev data if an isDataEqual function is defined and returns `true`\n if (options.isDataEqual?.(prevData, data)) {\n return prevData as TData\n } else if (typeof options.structuralSharing === 'function') {\n return options.structuralSharing(prevData, data)\n } else if (options.structuralSharing !== false) {\n // Structurally share data between prev and new data if needed\n return replaceEqualDeep(prevData, data)\n }\n return data\n}\n", "import { Subscribable } from './subscribable'\nimport { isServer } from './utils'\n\ntype SetupFn = (\n setFocused: (focused?: boolean) => void,\n) => (() => void) | undefined\n\nexport class FocusManager extends Subscribable {\n private focused?: boolean\n private cleanup?: () => void\n\n private setup: SetupFn\n\n constructor() {\n super()\n this.setup = (onFocus) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onFocus()\n // Listen to visibillitychange and focus\n window.addEventListener('visibilitychange', listener, false)\n window.addEventListener('focus', listener, false)\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('visibilitychange', listener)\n window.removeEventListener('focus', listener)\n }\n }\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.cleanup) {\n this.setEventListener(this.setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.cleanup?.()\n this.cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.setup = setup\n this.cleanup?.()\n this.cleanup = setup((focused) => {\n if (typeof focused === 'boolean') {\n this.setFocused(focused)\n } else {\n this.onFocus()\n }\n })\n }\n\n setFocused(focused?: boolean): void {\n const changed = this.focused !== focused\n if (changed) {\n this.focused = focused\n this.onFocus()\n }\n }\n\n onFocus(): void {\n this.listeners.forEach(({ listener }) => {\n listener()\n })\n }\n\n isFocused(): boolean {\n if (typeof this.focused === 'boolean') {\n return this.focused\n }\n\n // document global can be unavailable in react native\n if (typeof document === 'undefined') {\n return true\n }\n\n return [undefined, 'visible', 'prerender'].includes(\n document.visibilityState,\n )\n }\n}\n\nexport const focusManager = new FocusManager()\n", "import { Subscribable } from './subscribable'\nimport { isServer } from './utils'\n\ntype SetupFn = (\n setOnline: (online?: boolean) => void,\n) => (() => void) | undefined\n\nconst onlineEvents = ['online', 'offline'] as const\n\nexport class OnlineManager extends Subscribable {\n private online?: boolean\n private cleanup?: () => void\n\n private setup: SetupFn\n\n constructor() {\n super()\n this.setup = (onOnline) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onOnline()\n // Listen to online\n onlineEvents.forEach((event) => {\n window.addEventListener(event, listener, false)\n })\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n onlineEvents.forEach((event) => {\n window.removeEventListener(event, listener)\n })\n }\n }\n\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.cleanup) {\n this.setEventListener(this.setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.cleanup?.()\n this.cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.setup = setup\n this.cleanup?.()\n this.cleanup = setup((online?: boolean) => {\n if (typeof online === 'boolean') {\n this.setOnline(online)\n } else {\n this.onOnline()\n }\n })\n }\n\n setOnline(online?: boolean): void {\n const changed = this.online !== online\n\n if (changed) {\n this.online = online\n this.onOnline()\n }\n }\n\n onOnline(): void {\n this.listeners.forEach(({ listener }) => {\n listener()\n })\n }\n\n isOnline(): boolean {\n if (typeof this.online === 'boolean') {\n return this.online\n }\n\n if (\n typeof navigator === 'undefined' ||\n typeof navigator.onLine === 'undefined'\n ) {\n return true\n }\n\n return navigator.onLine\n }\n}\n\nexport const onlineManager = new OnlineManager()\n", "import { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { sleep } from './utils'\nimport type { CancelOptions, NetworkMode } from './types'\n\n// TYPES\n\ninterface RetryerConfig {\n fn: () => TData | Promise\n abort?: () => void\n onError?: (error: TError) => void\n onSuccess?: (data: TData) => void\n onFail?: (failureCount: number, error: TError) => void\n onPause?: () => void\n onContinue?: () => void\n retry?: RetryValue\n retryDelay?: RetryDelayValue\n networkMode: NetworkMode | undefined\n}\n\nexport interface Retryer {\n promise: Promise\n cancel: (cancelOptions?: CancelOptions) => void\n continue: () => Promise\n cancelRetry: () => void\n continueRetry: () => void\n}\n\nexport type RetryValue = boolean | number | ShouldRetryFunction\n\ntype ShouldRetryFunction = (\n failureCount: number,\n error: TError,\n) => boolean\n\nexport type RetryDelayValue = number | RetryDelayFunction\n\ntype RetryDelayFunction = (\n failureCount: number,\n error: TError,\n) => number\n\nfunction defaultRetryDelay(failureCount: number) {\n return Math.min(1000 * 2 ** failureCount, 30000)\n}\n\nexport function canFetch(networkMode: NetworkMode | undefined): boolean {\n return (networkMode ?? 'online') === 'online'\n ? onlineManager.isOnline()\n : true\n}\n\nexport class CancelledError {\n revert?: boolean\n silent?: boolean\n constructor(options?: CancelOptions) {\n this.revert = options?.revert\n this.silent = options?.silent\n }\n}\n\nexport function isCancelledError(value: any): value is CancelledError {\n return value instanceof CancelledError\n}\n\nexport function createRetryer(\n config: RetryerConfig,\n): Retryer {\n let isRetryCancelled = false\n let failureCount = 0\n let isResolved = false\n let continueFn: ((value?: unknown) => boolean) | undefined\n let promiseResolve: (data: TData) => void\n let promiseReject: (error: TError) => void\n\n const promise = new Promise((outerResolve, outerReject) => {\n promiseResolve = outerResolve\n promiseReject = outerReject\n })\n\n const cancel = (cancelOptions?: CancelOptions): void => {\n if (!isResolved) {\n reject(new CancelledError(cancelOptions))\n\n config.abort?.()\n }\n }\n const cancelRetry = () => {\n isRetryCancelled = true\n }\n\n const continueRetry = () => {\n isRetryCancelled = false\n }\n\n const shouldPause = () =>\n !focusManager.isFocused() ||\n (config.networkMode !== 'always' && !onlineManager.isOnline())\n\n const resolve = (value: any) => {\n if (!isResolved) {\n isResolved = true\n config.onSuccess?.(value)\n continueFn?.()\n promiseResolve(value)\n }\n }\n\n const reject = (value: any) => {\n if (!isResolved) {\n isResolved = true\n config.onError?.(value)\n continueFn?.()\n promiseReject(value)\n }\n }\n\n const pause = () => {\n return new Promise((continueResolve) => {\n continueFn = (value) => {\n const canContinue = isResolved || !shouldPause()\n if (canContinue) {\n continueResolve(value)\n }\n return canContinue\n }\n config.onPause?.()\n }).then(() => {\n continueFn = undefined\n if (!isResolved) {\n config.onContinue?.()\n }\n })\n }\n\n // Create loop function\n const run = () => {\n // Do nothing if already resolved\n if (isResolved) {\n return\n }\n\n let promiseOrValue: any\n\n // Execute query\n try {\n promiseOrValue = config.fn()\n } catch (error) {\n promiseOrValue = Promise.reject(error)\n }\n\n Promise.resolve(promiseOrValue)\n .then(resolve)\n .catch((error) => {\n // Stop if the fetch is already resolved\n if (isResolved) {\n return\n }\n\n // Do we need to retry the request?\n const retry = config.retry ?? 3\n const retryDelay = config.retryDelay ?? defaultRetryDelay\n const delay =\n typeof retryDelay === 'function'\n ? retryDelay(failureCount, error)\n : retryDelay\n const shouldRetry =\n retry === true ||\n (typeof retry === 'number' && failureCount < retry) ||\n (typeof retry === 'function' && retry(failureCount, error))\n\n if (isRetryCancelled || !shouldRetry) {\n // We are done if the query does not need to be retried\n reject(error)\n return\n }\n\n failureCount++\n\n // Notify on fail\n config.onFail?.(failureCount, error)\n\n // Delay\n sleep(delay)\n // Pause if the document is not visible or when the device is offline\n .then(() => {\n if (shouldPause()) {\n return pause()\n }\n return\n })\n .then(() => {\n if (isRetryCancelled) {\n reject(error)\n } else {\n run()\n }\n })\n })\n }\n\n // Start loop\n if (canFetch(config.networkMode)) {\n run()\n } else {\n pause().then(run)\n }\n\n return {\n promise,\n cancel,\n continue: () => {\n const didContinue = continueFn?.()\n return didContinue ? promise : Promise.resolve()\n },\n cancelRetry,\n continueRetry,\n }\n}\n", "export interface Logger {\n log: LogFunction\n warn: LogFunction\n error: LogFunction\n}\n\ntype LogFunction = (...args: any[]) => void\n\nexport const defaultLogger: Logger = console\n", "import { scheduleMicrotask } from './utils'\n\n// TYPES\n\ntype NotifyCallback = () => void\n\ntype NotifyFunction = (callback: () => void) => void\n\ntype BatchNotifyFunction = (callback: () => void) => void\n\ntype BatchCallsCallback = (...args: T) => void\n\nexport function createNotifyManager() {\n let queue: NotifyCallback[] = []\n let transactions = 0\n let notifyFn: NotifyFunction = (callback) => {\n callback()\n }\n let batchNotifyFn: BatchNotifyFunction = (callback: () => void) => {\n callback()\n }\n\n const batch = (callback: () => T): T => {\n let result\n transactions++\n try {\n result = callback()\n } finally {\n transactions--\n if (!transactions) {\n flush()\n }\n }\n return result\n }\n\n const schedule = (callback: NotifyCallback): void => {\n if (transactions) {\n queue.push(callback)\n } else {\n scheduleMicrotask(() => {\n notifyFn(callback)\n })\n }\n }\n\n /**\n * All calls to the wrapped function will be batched.\n */\n const batchCalls = (\n callback: BatchCallsCallback,\n ): BatchCallsCallback => {\n return (...args) => {\n schedule(() => {\n callback(...args)\n })\n }\n }\n\n const flush = (): void => {\n const originalQueue = queue\n queue = []\n if (originalQueue.length) {\n scheduleMicrotask(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback)\n })\n })\n })\n }\n }\n\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n const setNotifyFunction = (fn: NotifyFunction) => {\n notifyFn = fn\n }\n\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n const setBatchNotifyFunction = (fn: BatchNotifyFunction) => {\n batchNotifyFn = fn\n }\n\n return {\n batch,\n batchCalls,\n schedule,\n setNotifyFunction,\n setBatchNotifyFunction,\n } as const\n}\n\n// SINGLETON\nexport const notifyManager = createNotifyManager()\n", "import { isServer, isValidTimeout } from './utils'\n\nexport abstract class Removable {\n cacheTime!: number\n private gcTimeout?: ReturnType\n\n destroy(): void {\n this.clearGcTimeout()\n }\n\n protected scheduleGc(): void {\n this.clearGcTimeout()\n\n if (isValidTimeout(this.cacheTime)) {\n this.gcTimeout = setTimeout(() => {\n this.optionalRemove()\n }, this.cacheTime)\n }\n }\n\n protected updateCacheTime(newCacheTime: number | undefined): void {\n // Default to 5 minutes (Infinity for server-side) if no cache time is set\n this.cacheTime = Math.max(\n this.cacheTime || 0,\n newCacheTime ?? (isServer ? Infinity : 5 * 60 * 1000),\n )\n }\n\n protected clearGcTimeout() {\n if (this.gcTimeout) {\n clearTimeout(this.gcTimeout)\n this.gcTimeout = undefined\n }\n }\n\n protected abstract optionalRemove(): void\n}\n", "import { getAbortController, noop, replaceData, timeUntilStale } from './utils'\nimport { defaultLogger } from './logger'\nimport { notifyManager } from './notifyManager'\nimport { canFetch, createRetryer, isCancelledError } from './retryer'\nimport { Removable } from './removable'\nimport type {\n CancelOptions,\n FetchStatus,\n InitialDataFunction,\n QueryFunctionContext,\n QueryKey,\n QueryMeta,\n QueryOptions,\n QueryStatus,\n SetDataOptions,\n} from './types'\nimport type { QueryCache } from './queryCache'\nimport type { QueryObserver } from './queryObserver'\nimport type { Logger } from './logger'\nimport type { Retryer } from './retryer'\n\n// TYPES\n\ninterface QueryConfig<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n cache: QueryCache\n queryKey: TQueryKey\n queryHash: string\n logger?: Logger\n options?: QueryOptions\n defaultOptions?: QueryOptions\n state?: QueryState\n}\n\nexport interface QueryState {\n data: TData | undefined\n dataUpdateCount: number\n dataUpdatedAt: number\n error: TError | null\n errorUpdateCount: number\n errorUpdatedAt: number\n fetchFailureCount: number\n fetchFailureReason: TError | null\n fetchMeta: any\n isInvalidated: boolean\n status: QueryStatus\n fetchStatus: FetchStatus\n}\n\nexport interface FetchContext<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n fetchFn: () => unknown | Promise\n fetchOptions?: FetchOptions\n signal?: AbortSignal\n options: QueryOptions\n queryKey: TQueryKey\n state: QueryState\n}\n\nexport interface QueryBehavior<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n onFetch: (\n context: FetchContext,\n ) => void\n}\n\nexport interface FetchOptions {\n cancelRefetch?: boolean\n meta?: any\n}\n\ninterface FailedAction {\n type: 'failed'\n failureCount: number\n error: TError\n}\n\ninterface FetchAction {\n type: 'fetch'\n meta?: any\n}\n\ninterface SuccessAction {\n data: TData | undefined\n type: 'success'\n dataUpdatedAt?: number\n manual?: boolean\n}\n\ninterface ErrorAction {\n type: 'error'\n error: TError\n}\n\ninterface InvalidateAction {\n type: 'invalidate'\n}\n\ninterface PauseAction {\n type: 'pause'\n}\n\ninterface ContinueAction {\n type: 'continue'\n}\n\ninterface SetStateAction {\n type: 'setState'\n state: Partial>\n setStateOptions?: SetStateOptions\n}\n\nexport type Action =\n | ContinueAction\n | ErrorAction\n | FailedAction\n | FetchAction\n | InvalidateAction\n | PauseAction\n | SetStateAction\n | SuccessAction\n\nexport interface SetStateOptions {\n meta?: any\n}\n\n// CLASS\n\nexport class Query<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Removable {\n queryKey: TQueryKey\n queryHash: string\n options!: QueryOptions\n initialState: QueryState\n revertState?: QueryState\n state: QueryState\n isFetchingOptimistic?: boolean\n\n private cache: QueryCache\n private logger: Logger\n private promise?: Promise\n private retryer?: Retryer\n private observers: QueryObserver[]\n private defaultOptions?: QueryOptions\n private abortSignalConsumed: boolean\n\n constructor(config: QueryConfig) {\n super()\n\n this.abortSignalConsumed = false\n this.defaultOptions = config.defaultOptions\n this.setOptions(config.options)\n this.observers = []\n this.cache = config.cache\n this.logger = config.logger || defaultLogger\n this.queryKey = config.queryKey\n this.queryHash = config.queryHash\n this.initialState = config.state || getDefaultState(this.options)\n this.state = this.initialState\n this.scheduleGc()\n }\n\n get meta(): QueryMeta | undefined {\n return this.options.meta\n }\n\n private setOptions(\n options?: QueryOptions,\n ): void {\n this.options = { ...this.defaultOptions, ...options }\n\n this.updateCacheTime(this.options.cacheTime)\n }\n\n protected optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === 'idle') {\n this.cache.remove(this)\n }\n }\n\n setData(\n newData: TData,\n options?: SetDataOptions & { manual: boolean },\n ): TData {\n const data = replaceData(this.state.data, newData, this.options)\n\n // Set data and mark it as cached\n this.dispatch({\n data,\n type: 'success',\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual,\n })\n\n return data\n }\n\n setState(\n state: Partial>,\n setStateOptions?: SetStateOptions,\n ): void {\n this.dispatch({ type: 'setState', state, setStateOptions })\n }\n\n cancel(options?: CancelOptions): Promise {\n const promise = this.promise\n this.retryer?.cancel(options)\n return promise ? promise.then(noop).catch(noop) : Promise.resolve()\n }\n\n destroy(): void {\n super.destroy()\n\n this.cancel({ silent: true })\n }\n\n reset(): void {\n this.destroy()\n this.setState(this.initialState)\n }\n\n isActive(): boolean {\n return this.observers.some((observer) => observer.options.enabled !== false)\n }\n\n isDisabled(): boolean {\n return this.getObserversCount() > 0 && !this.isActive()\n }\n\n isStale(): boolean {\n return (\n this.state.isInvalidated ||\n !this.state.dataUpdatedAt ||\n this.observers.some((observer) => observer.getCurrentResult().isStale)\n )\n }\n\n isStaleByTime(staleTime = 0): boolean {\n return (\n this.state.isInvalidated ||\n !this.state.dataUpdatedAt ||\n !timeUntilStale(this.state.dataUpdatedAt, staleTime)\n )\n }\n\n onFocus(): void {\n const observer = this.observers.find((x) => x.shouldFetchOnWindowFocus())\n\n if (observer) {\n observer.refetch({ cancelRefetch: false })\n }\n\n // Continue fetch if currently paused\n this.retryer?.continue()\n }\n\n onOnline(): void {\n const observer = this.observers.find((x) => x.shouldFetchOnReconnect())\n\n if (observer) {\n observer.refetch({ cancelRefetch: false })\n }\n\n // Continue fetch if currently paused\n this.retryer?.continue()\n }\n\n addObserver(observer: QueryObserver): void {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer)\n\n // Stop the query from being garbage collected\n this.clearGcTimeout()\n\n this.cache.notify({ type: 'observerAdded', query: this, observer })\n }\n }\n\n removeObserver(observer: QueryObserver): void {\n if (this.observers.includes(observer)) {\n this.observers = this.observers.filter((x) => x !== observer)\n\n if (!this.observers.length) {\n // If the transport layer does not support cancellation\n // we'll let the query continue so the result can be cached\n if (this.retryer) {\n if (this.abortSignalConsumed) {\n this.retryer.cancel({ revert: true })\n } else {\n this.retryer.cancelRetry()\n }\n }\n\n this.scheduleGc()\n }\n\n this.cache.notify({ type: 'observerRemoved', query: this, observer })\n }\n }\n\n getObserversCount(): number {\n return this.observers.length\n }\n\n invalidate(): void {\n if (!this.state.isInvalidated) {\n this.dispatch({ type: 'invalidate' })\n }\n }\n\n fetch(\n options?: QueryOptions,\n fetchOptions?: FetchOptions,\n ): Promise {\n if (this.state.fetchStatus !== 'idle') {\n if (this.state.dataUpdatedAt && fetchOptions?.cancelRefetch) {\n // Silently cancel current fetch if the user wants to cancel refetches\n this.cancel({ silent: true })\n } else if (this.promise) {\n // make sure that retries that were potentially cancelled due to unmounts can continue\n this.retryer?.continueRetry()\n // Return current promise if we are already fetching\n return this.promise\n }\n }\n\n // Update config if passed, otherwise the config from the last execution is used\n if (options) {\n this.setOptions(options)\n }\n\n // Use the options from the first observer with a query function if no function is found.\n // This can happen when the query is hydrated or created with setQueryData.\n if (!this.options.queryFn) {\n const observer = this.observers.find((x) => x.options.queryFn)\n if (observer) {\n this.setOptions(observer.options)\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!Array.isArray(this.options.queryKey)) {\n this.logger.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`,\n )\n }\n }\n\n const abortController = getAbortController()\n\n // Create query function context\n const queryFnContext: QueryFunctionContext = {\n queryKey: this.queryKey,\n pageParam: undefined,\n meta: this.meta,\n }\n\n // Adds an enumerable signal property to the object that\n // which sets abortSignalConsumed to true when the signal\n // is read.\n const addSignalProperty = (object: unknown) => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n if (abortController) {\n this.abortSignalConsumed = true\n return abortController.signal\n }\n return undefined\n },\n })\n }\n\n addSignalProperty(queryFnContext)\n\n // Create fetch function\n const fetchFn = () => {\n if (!this.options.queryFn) {\n return Promise.reject(\n `Missing queryFn for queryKey '${this.options.queryHash}'`,\n )\n }\n this.abortSignalConsumed = false\n return this.options.queryFn(queryFnContext)\n }\n\n // Trigger behavior hook\n const context: FetchContext = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n state: this.state,\n fetchFn,\n }\n\n addSignalProperty(context)\n\n this.options.behavior?.onFetch(context)\n\n // Store state in case the current fetch needs to be reverted\n this.revertState = this.state\n\n // Set to fetching state if not already in it\n if (\n this.state.fetchStatus === 'idle' ||\n this.state.fetchMeta !== context.fetchOptions?.meta\n ) {\n this.dispatch({ type: 'fetch', meta: context.fetchOptions?.meta })\n }\n\n const onError = (error: TError | { silent?: boolean }) => {\n // Optimistically update state if needed\n if (!(isCancelledError(error) && error.silent)) {\n this.dispatch({\n type: 'error',\n error: error as TError,\n })\n }\n\n if (!isCancelledError(error)) {\n // Notify cache callback\n this.cache.config.onError?.(error, this as Query)\n this.cache.config.onSettled?.(\n this.state.data,\n error,\n this as Query,\n )\n\n if (process.env.NODE_ENV !== 'production') {\n this.logger.error(error)\n }\n }\n\n if (!this.isFetchingOptimistic) {\n // Schedule query gc after fetching\n this.scheduleGc()\n }\n this.isFetchingOptimistic = false\n }\n\n // Try to fetch the data\n this.retryer = createRetryer({\n fn: context.fetchFn as () => TData,\n abort: abortController?.abort.bind(abortController),\n onSuccess: (data) => {\n if (typeof data === 'undefined') {\n if (process.env.NODE_ENV !== 'production') {\n this.logger.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`,\n )\n }\n onError(new Error(`${this.queryHash} data is undefined`) as any)\n return\n }\n\n this.setData(data as TData)\n\n // Notify cache callback\n this.cache.config.onSuccess?.(data, this as Query)\n this.cache.config.onSettled?.(\n data,\n this.state.error,\n this as Query,\n )\n\n if (!this.isFetchingOptimistic) {\n // Schedule query gc after fetching\n this.scheduleGc()\n }\n this.isFetchingOptimistic = false\n },\n onError,\n onFail: (failureCount, error) => {\n this.dispatch({ type: 'failed', failureCount, error })\n },\n onPause: () => {\n this.dispatch({ type: 'pause' })\n },\n onContinue: () => {\n this.dispatch({ type: 'continue' })\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n })\n\n this.promise = this.retryer.promise\n\n return this.promise\n }\n\n private dispatch(action: Action): void {\n const reducer = (\n state: QueryState,\n ): QueryState => {\n switch (action.type) {\n case 'failed':\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error,\n }\n case 'pause':\n return {\n ...state,\n fetchStatus: 'paused',\n }\n case 'continue':\n return {\n ...state,\n fetchStatus: 'fetching',\n }\n case 'fetch':\n return {\n ...state,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: action.meta ?? null,\n fetchStatus: canFetch(this.options.networkMode)\n ? 'fetching'\n : 'paused',\n ...(!state.dataUpdatedAt && {\n error: null,\n status: 'loading',\n }),\n }\n case 'success':\n return {\n ...state,\n data: action.data,\n dataUpdateCount: state.dataUpdateCount + 1,\n dataUpdatedAt: action.dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: 'success',\n ...(!action.manual && {\n fetchStatus: 'idle',\n fetchFailureCount: 0,\n fetchFailureReason: null,\n }),\n }\n case 'error':\n const error = action.error as unknown\n\n if (isCancelledError(error) && error.revert && this.revertState) {\n return { ...this.revertState, fetchStatus: 'idle' }\n }\n\n return {\n ...state,\n error: error as TError,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error as TError,\n fetchStatus: 'idle',\n status: 'error',\n }\n case 'invalidate':\n return {\n ...state,\n isInvalidated: true,\n }\n case 'setState':\n return {\n ...state,\n ...action.state,\n }\n }\n }\n\n this.state = reducer(this.state)\n\n notifyManager.batch(() => {\n this.observers.forEach((observer) => {\n observer.onQueryUpdate(action)\n })\n\n this.cache.notify({ query: this, type: 'updated', action })\n })\n }\n}\n\nfunction getDefaultState<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n options: QueryOptions,\n): QueryState {\n const data =\n typeof options.initialData === 'function'\n ? (options.initialData as InitialDataFunction)()\n : options.initialData\n\n const hasData = typeof data !== 'undefined'\n\n const initialDataUpdatedAt = hasData\n ? typeof options.initialDataUpdatedAt === 'function'\n ? (options.initialDataUpdatedAt as () => number | undefined)()\n : options.initialDataUpdatedAt\n : 0\n\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? initialDataUpdatedAt ?? Date.now() : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? 'success' : 'loading',\n fetchStatus: 'idle',\n }\n}\n", "import { hashQueryKeyByOptions, matchQuery, parseFilterArgs } from './utils'\nimport { Query } from './query'\nimport { notifyManager } from './notifyManager'\nimport { Subscribable } from './subscribable'\nimport type { QueryFilters } from './utils'\nimport type { Action, QueryState } from './query'\nimport type { NotifyEvent, QueryKey, QueryOptions } from './types'\nimport type { QueryClient } from './queryClient'\nimport type { QueryObserver } from './queryObserver'\n\n// TYPES\n\ninterface QueryCacheConfig {\n onError?: (error: unknown, query: Query) => void\n onSuccess?: (data: unknown, query: Query) => void\n onSettled?: (\n data: unknown | undefined,\n error: unknown | null,\n query: Query,\n ) => void\n}\n\ninterface QueryHashMap {\n [hash: string]: Query\n}\n\ninterface NotifyEventQueryAdded extends NotifyEvent {\n type: 'added'\n query: Query\n}\n\ninterface NotifyEventQueryRemoved extends NotifyEvent {\n type: 'removed'\n query: Query\n}\n\ninterface NotifyEventQueryUpdated extends NotifyEvent {\n type: 'updated'\n query: Query\n action: Action\n}\n\ninterface NotifyEventQueryObserverAdded extends NotifyEvent {\n type: 'observerAdded'\n query: Query\n observer: QueryObserver\n}\n\ninterface NotifyEventQueryObserverRemoved extends NotifyEvent {\n type: 'observerRemoved'\n query: Query\n observer: QueryObserver\n}\n\ninterface NotifyEventQueryObserverResultsUpdated extends NotifyEvent {\n type: 'observerResultsUpdated'\n query: Query\n}\n\ninterface NotifyEventQueryObserverOptionsUpdated extends NotifyEvent {\n type: 'observerOptionsUpdated'\n query: Query\n observer: QueryObserver\n}\n\nexport type QueryCacheNotifyEvent =\n | NotifyEventQueryAdded\n | NotifyEventQueryRemoved\n | NotifyEventQueryUpdated\n | NotifyEventQueryObserverAdded\n | NotifyEventQueryObserverRemoved\n | NotifyEventQueryObserverResultsUpdated\n | NotifyEventQueryObserverOptionsUpdated\n\ntype QueryCacheListener = (event: QueryCacheNotifyEvent) => void\n\n// CLASS\n\nexport class QueryCache extends Subscribable {\n config: QueryCacheConfig\n\n private queries: Query[]\n private queriesMap: QueryHashMap\n\n constructor(config?: QueryCacheConfig) {\n super()\n this.config = config || {}\n this.queries = []\n this.queriesMap = {}\n }\n\n build(\n client: QueryClient,\n options: QueryOptions,\n state?: QueryState,\n ): Query {\n const queryKey = options.queryKey!\n const queryHash =\n options.queryHash ?? hashQueryKeyByOptions(queryKey, options)\n let query = this.get(queryHash)\n\n if (!query) {\n query = new Query({\n cache: this,\n logger: client.getLogger(),\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options),\n state,\n defaultOptions: client.getQueryDefaults(queryKey),\n })\n this.add(query)\n }\n\n return query\n }\n\n add(query: Query): void {\n if (!this.queriesMap[query.queryHash]) {\n this.queriesMap[query.queryHash] = query\n this.queries.push(query)\n this.notify({\n type: 'added',\n query,\n })\n }\n }\n\n remove(query: Query): void {\n const queryInMap = this.queriesMap[query.queryHash]\n\n if (queryInMap) {\n query.destroy()\n\n this.queries = this.queries.filter((x) => x !== query)\n\n if (queryInMap === query) {\n delete this.queriesMap[query.queryHash]\n }\n\n this.notify({ type: 'removed', query })\n }\n }\n\n clear(): void {\n notifyManager.batch(() => {\n this.queries.forEach((query) => {\n this.remove(query)\n })\n })\n }\n\n get<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryHash: string,\n ): Query | undefined {\n return this.queriesMap[queryHash]\n }\n\n getAll(): Query[] {\n return this.queries\n }\n\n find(\n arg1: QueryKey,\n arg2?: QueryFilters,\n ): Query | undefined {\n const [filters] = parseFilterArgs(arg1, arg2)\n\n if (typeof filters.exact === 'undefined') {\n filters.exact = true\n }\n\n return this.queries.find((query) => matchQuery(filters, query))\n }\n\n findAll(queryKey?: QueryKey, filters?: QueryFilters): Query[]\n findAll(filters?: QueryFilters): Query[]\n findAll(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): Query[]\n findAll(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): Query[] {\n const [filters] = parseFilterArgs(arg1, arg2)\n return Object.keys(filters).length > 0\n ? this.queries.filter((query) => matchQuery(filters, query))\n : this.queries\n }\n\n notify(event: QueryCacheNotifyEvent) {\n notifyManager.batch(() => {\n this.listeners.forEach(({ listener }) => {\n listener(event)\n })\n })\n }\n\n onFocus(): void {\n notifyManager.batch(() => {\n this.queries.forEach((query) => {\n query.onFocus()\n })\n })\n }\n\n onOnline(): void {\n notifyManager.batch(() => {\n this.queries.forEach((query) => {\n query.onOnline()\n })\n })\n }\n}\n", "import { defaultLogger } from './logger'\nimport { notifyManager } from './notifyManager'\nimport { Removable } from './removable'\nimport { canFetch, createRetryer } from './retryer'\nimport type { MutationMeta, MutationOptions, MutationStatus } from './types'\nimport type { MutationCache } from './mutationCache'\nimport type { MutationObserver } from './mutationObserver'\nimport type { Logger } from './logger'\nimport type { Retryer } from './retryer'\n\n// TYPES\n\ninterface MutationConfig {\n mutationId: number\n mutationCache: MutationCache\n options: MutationOptions\n logger?: Logger\n defaultOptions?: MutationOptions\n state?: MutationState\n meta?: MutationMeta\n}\n\nexport interface MutationState<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n> {\n context: TContext | undefined\n data: TData | undefined\n error: TError | null\n failureCount: number\n failureReason: TError | null\n isPaused: boolean\n status: MutationStatus\n variables: TVariables | undefined\n}\n\ninterface FailedAction {\n type: 'failed'\n failureCount: number\n error: TError | null\n}\n\ninterface LoadingAction {\n type: 'loading'\n variables?: TVariables\n context?: TContext\n}\n\ninterface SuccessAction {\n type: 'success'\n data: TData\n}\n\ninterface ErrorAction {\n type: 'error'\n error: TError\n}\n\ninterface PauseAction {\n type: 'pause'\n}\n\ninterface ContinueAction {\n type: 'continue'\n}\n\ninterface SetStateAction {\n type: 'setState'\n state: MutationState\n}\n\nexport type Action =\n | ContinueAction\n | ErrorAction\n | FailedAction\n | LoadingAction\n | PauseAction\n | SetStateAction\n | SuccessAction\n\n// CLASS\n\nexport class Mutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n> extends Removable {\n state: MutationState\n options!: MutationOptions\n mutationId: number\n\n private observers: MutationObserver[]\n private defaultOptions?: MutationOptions\n private mutationCache: MutationCache\n private logger: Logger\n private retryer?: Retryer\n\n constructor(config: MutationConfig) {\n super()\n\n this.defaultOptions = config.defaultOptions\n this.mutationId = config.mutationId\n this.mutationCache = config.mutationCache\n this.logger = config.logger || defaultLogger\n this.observers = []\n this.state = config.state || getDefaultState()\n\n this.setOptions(config.options)\n this.scheduleGc()\n }\n\n setOptions(\n options?: MutationOptions,\n ): void {\n this.options = { ...this.defaultOptions, ...options }\n\n this.updateCacheTime(this.options.cacheTime)\n }\n\n get meta(): MutationMeta | undefined {\n return this.options.meta\n }\n\n setState(state: MutationState): void {\n this.dispatch({ type: 'setState', state })\n }\n\n addObserver(observer: MutationObserver): void {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer)\n\n // Stop the mutation from being garbage collected\n this.clearGcTimeout()\n\n this.mutationCache.notify({\n type: 'observerAdded',\n mutation: this,\n observer,\n })\n }\n }\n\n removeObserver(observer: MutationObserver): void {\n this.observers = this.observers.filter((x) => x !== observer)\n\n this.scheduleGc()\n\n this.mutationCache.notify({\n type: 'observerRemoved',\n mutation: this,\n observer,\n })\n }\n\n protected optionalRemove() {\n if (!this.observers.length) {\n if (this.state.status === 'loading') {\n this.scheduleGc()\n } else {\n this.mutationCache.remove(this)\n }\n }\n }\n\n continue(): Promise {\n return this.retryer?.continue() ?? this.execute()\n }\n\n async execute(): Promise {\n const executeMutation = () => {\n this.retryer = createRetryer({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject('No mutationFn found')\n }\n return this.options.mutationFn(this.state.variables!)\n },\n onFail: (failureCount, error) => {\n this.dispatch({ type: 'failed', failureCount, error })\n },\n onPause: () => {\n this.dispatch({ type: 'pause' })\n },\n onContinue: () => {\n this.dispatch({ type: 'continue' })\n },\n retry: this.options.retry ?? 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode,\n })\n\n return this.retryer.promise\n }\n\n const restored = this.state.status === 'loading'\n try {\n if (!restored) {\n this.dispatch({ type: 'loading', variables: this.options.variables! })\n // Notify cache callback\n await this.mutationCache.config.onMutate?.(\n this.state.variables,\n this as Mutation,\n )\n const context = await this.options.onMutate?.(this.state.variables!)\n if (context !== this.state.context) {\n this.dispatch({\n type: 'loading',\n context,\n variables: this.state.variables,\n })\n }\n }\n const data = await executeMutation()\n\n // Notify cache callback\n await this.mutationCache.config.onSuccess?.(\n data,\n this.state.variables,\n this.state.context,\n this as Mutation,\n )\n\n await this.options.onSuccess?.(\n data,\n this.state.variables!,\n this.state.context!,\n )\n\n // Notify cache callback\n await this.mutationCache.config.onSettled?.(\n data,\n null,\n this.state.variables,\n this.state.context,\n this as Mutation,\n )\n\n await this.options.onSettled?.(\n data,\n null,\n this.state.variables!,\n this.state.context,\n )\n\n this.dispatch({ type: 'success', data })\n return data\n } catch (error) {\n try {\n // Notify cache callback\n await this.mutationCache.config.onError?.(\n error,\n this.state.variables,\n this.state.context,\n this as Mutation,\n )\n\n if (process.env.NODE_ENV !== 'production') {\n this.logger.error(error)\n }\n\n await this.options.onError?.(\n error as TError,\n this.state.variables!,\n this.state.context,\n )\n\n // Notify cache callback\n await this.mutationCache.config.onSettled?.(\n undefined,\n error,\n this.state.variables,\n this.state.context,\n this as Mutation,\n )\n\n await this.options.onSettled?.(\n undefined,\n error as TError,\n this.state.variables!,\n this.state.context,\n )\n throw error\n } finally {\n this.dispatch({ type: 'error', error: error as TError })\n }\n }\n }\n\n private dispatch(action: Action): void {\n const reducer = (\n state: MutationState,\n ): MutationState => {\n switch (action.type) {\n case 'failed':\n return {\n ...state,\n failureCount: action.failureCount,\n failureReason: action.error,\n }\n case 'pause':\n return {\n ...state,\n isPaused: true,\n }\n case 'continue':\n return {\n ...state,\n isPaused: false,\n }\n case 'loading':\n return {\n ...state,\n context: action.context,\n data: undefined,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: !canFetch(this.options.networkMode),\n status: 'loading',\n variables: action.variables,\n }\n case 'success':\n return {\n ...state,\n data: action.data,\n failureCount: 0,\n failureReason: null,\n error: null,\n status: 'success',\n isPaused: false,\n }\n case 'error':\n return {\n ...state,\n data: undefined,\n error: action.error,\n failureCount: state.failureCount + 1,\n failureReason: action.error,\n isPaused: false,\n status: 'error',\n }\n case 'setState':\n return {\n ...state,\n ...action.state,\n }\n }\n }\n this.state = reducer(this.state)\n\n notifyManager.batch(() => {\n this.observers.forEach((observer) => {\n observer.onMutationUpdate(action)\n })\n this.mutationCache.notify({\n mutation: this,\n type: 'updated',\n action,\n })\n })\n }\n}\n\nexport function getDefaultState<\n TData,\n TError,\n TVariables,\n TContext,\n>(): MutationState {\n return {\n context: undefined,\n data: undefined,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: 'idle',\n variables: undefined,\n }\n}\n", "import { notifyManager } from './notifyManager'\nimport { Mutation } from './mutation'\nimport { matchMutation, noop } from './utils'\nimport { Subscribable } from './subscribable'\nimport type { MutationObserver } from './mutationObserver'\nimport type { MutationOptions, NotifyEvent } from './types'\nimport type { QueryClient } from './queryClient'\nimport type { Action, MutationState } from './mutation'\nimport type { MutationFilters } from './utils'\n\n// TYPES\n\ninterface MutationCacheConfig {\n onError?: (\n error: unknown,\n variables: unknown,\n context: unknown,\n mutation: Mutation,\n ) => Promise | unknown\n onSuccess?: (\n data: unknown,\n variables: unknown,\n context: unknown,\n mutation: Mutation,\n ) => Promise | unknown\n onMutate?: (\n variables: unknown,\n mutation: Mutation,\n ) => Promise | unknown\n onSettled?: (\n data: unknown | undefined,\n error: unknown | null,\n variables: unknown,\n context: unknown,\n mutation: Mutation,\n ) => Promise | unknown\n}\n\ninterface NotifyEventMutationAdded extends NotifyEvent {\n type: 'added'\n mutation: Mutation\n}\ninterface NotifyEventMutationRemoved extends NotifyEvent {\n type: 'removed'\n mutation: Mutation\n}\n\ninterface NotifyEventMutationObserverAdded extends NotifyEvent {\n type: 'observerAdded'\n mutation: Mutation\n observer: MutationObserver\n}\n\ninterface NotifyEventMutationObserverRemoved extends NotifyEvent {\n type: 'observerRemoved'\n mutation: Mutation\n observer: MutationObserver\n}\n\ninterface NotifyEventMutationObserverOptionsUpdated extends NotifyEvent {\n type: 'observerOptionsUpdated'\n mutation?: Mutation\n observer: MutationObserver\n}\n\ninterface NotifyEventMutationUpdated extends NotifyEvent {\n type: 'updated'\n mutation: Mutation\n action: Action\n}\n\ntype MutationCacheNotifyEvent =\n | NotifyEventMutationAdded\n | NotifyEventMutationRemoved\n | NotifyEventMutationObserverAdded\n | NotifyEventMutationObserverRemoved\n | NotifyEventMutationObserverOptionsUpdated\n | NotifyEventMutationUpdated\n\ntype MutationCacheListener = (event: MutationCacheNotifyEvent) => void\n\n// CLASS\n\nexport class MutationCache extends Subscribable {\n config: MutationCacheConfig\n\n private mutations: Mutation[]\n private mutationId: number\n private resuming: Promise | undefined\n\n constructor(config?: MutationCacheConfig) {\n super()\n this.config = config || {}\n this.mutations = []\n this.mutationId = 0\n }\n\n build(\n client: QueryClient,\n options: MutationOptions,\n state?: MutationState,\n ): Mutation {\n const mutation = new Mutation({\n mutationCache: this,\n logger: client.getLogger(),\n mutationId: ++this.mutationId,\n options: client.defaultMutationOptions(options),\n state,\n defaultOptions: options.mutationKey\n ? client.getMutationDefaults(options.mutationKey)\n : undefined,\n })\n\n this.add(mutation)\n\n return mutation\n }\n\n add(mutation: Mutation): void {\n this.mutations.push(mutation)\n this.notify({ type: 'added', mutation })\n }\n\n remove(mutation: Mutation): void {\n this.mutations = this.mutations.filter((x) => x !== mutation)\n this.notify({ type: 'removed', mutation })\n }\n\n clear(): void {\n notifyManager.batch(() => {\n this.mutations.forEach((mutation) => {\n this.remove(mutation)\n })\n })\n }\n\n getAll(): Mutation[] {\n return this.mutations\n }\n\n find(\n filters: MutationFilters,\n ): Mutation | undefined {\n if (typeof filters.exact === 'undefined') {\n filters.exact = true\n }\n\n return this.mutations.find((mutation) => matchMutation(filters, mutation))\n }\n\n findAll(filters: MutationFilters): Mutation[] {\n return this.mutations.filter((mutation) => matchMutation(filters, mutation))\n }\n\n notify(event: MutationCacheNotifyEvent) {\n notifyManager.batch(() => {\n this.listeners.forEach(({ listener }) => {\n listener(event)\n })\n })\n }\n\n resumePausedMutations(): Promise {\n this.resuming = (this.resuming ?? Promise.resolve())\n .then(() => {\n const pausedMutations = this.mutations.filter((x) => x.state.isPaused)\n return notifyManager.batch(() =>\n pausedMutations.reduce(\n (promise, mutation) =>\n promise.then(() => mutation.continue().catch(noop)),\n Promise.resolve() as Promise,\n ),\n )\n })\n .then(() => {\n this.resuming = undefined\n })\n\n return this.resuming\n }\n}\n", "import type { QueryBehavior } from './query'\n\nimport type {\n InfiniteData,\n QueryFunctionContext,\n QueryOptions,\n RefetchQueryFilters,\n} from './types'\n\nexport function infiniteQueryBehavior<\n TQueryFnData,\n TError,\n TData,\n>(): QueryBehavior> {\n return {\n onFetch: (context) => {\n context.fetchFn = () => {\n const refetchPage: RefetchQueryFilters['refetchPage'] | undefined =\n context.fetchOptions?.meta?.refetchPage\n const fetchMore = context.fetchOptions?.meta?.fetchMore\n const pageParam = fetchMore?.pageParam\n const isFetchingNextPage = fetchMore?.direction === 'forward'\n const isFetchingPreviousPage = fetchMore?.direction === 'backward'\n const oldPages = context.state.data?.pages || []\n const oldPageParams = context.state.data?.pageParams || []\n let newPageParams = oldPageParams\n let cancelled = false\n\n const addSignalProperty = (object: unknown) => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n if (context.signal?.aborted) {\n cancelled = true\n } else {\n context.signal?.addEventListener('abort', () => {\n cancelled = true\n })\n }\n return context.signal\n },\n })\n }\n\n // Get query function\n const queryFn =\n context.options.queryFn ||\n (() =>\n Promise.reject(\n `Missing queryFn for queryKey '${context.options.queryHash}'`,\n ))\n\n const buildNewPages = (\n pages: unknown[],\n param: unknown,\n page: unknown,\n previous?: boolean,\n ) => {\n newPageParams = previous\n ? [param, ...newPageParams]\n : [...newPageParams, param]\n return previous ? [page, ...pages] : [...pages, page]\n }\n\n // Create function to fetch a page\n const fetchPage = (\n pages: unknown[],\n manual?: boolean,\n param?: unknown,\n previous?: boolean,\n ): Promise => {\n if (cancelled) {\n return Promise.reject('Cancelled')\n }\n\n if (typeof param === 'undefined' && !manual && pages.length) {\n return Promise.resolve(pages)\n }\n\n const queryFnContext: QueryFunctionContext = {\n queryKey: context.queryKey,\n pageParam: param,\n meta: context.options.meta,\n }\n\n addSignalProperty(queryFnContext)\n\n const queryFnResult = queryFn(queryFnContext)\n\n const promise = Promise.resolve(queryFnResult).then((page) =>\n buildNewPages(pages, param, page, previous),\n )\n\n return promise\n }\n\n let promise: Promise\n\n // Fetch first page?\n if (!oldPages.length) {\n promise = fetchPage([])\n }\n\n // Fetch next page?\n else if (isFetchingNextPage) {\n const manual = typeof pageParam !== 'undefined'\n const param = manual\n ? pageParam\n : getNextPageParam(context.options, oldPages)\n promise = fetchPage(oldPages, manual, param)\n }\n\n // Fetch previous page?\n else if (isFetchingPreviousPage) {\n const manual = typeof pageParam !== 'undefined'\n const param = manual\n ? pageParam\n : getPreviousPageParam(context.options, oldPages)\n promise = fetchPage(oldPages, manual, param, true)\n }\n\n // Refetch pages\n else {\n newPageParams = []\n\n const manual = typeof context.options.getNextPageParam === 'undefined'\n\n const shouldFetchFirstPage =\n refetchPage && oldPages[0]\n ? refetchPage(oldPages[0], 0, oldPages)\n : true\n\n // Fetch first page\n promise = shouldFetchFirstPage\n ? fetchPage([], manual, oldPageParams[0])\n : Promise.resolve(buildNewPages([], oldPageParams[0], oldPages[0]))\n\n // Fetch remaining pages\n for (let i = 1; i < oldPages.length; i++) {\n promise = promise.then((pages) => {\n const shouldFetchNextPage =\n refetchPage && oldPages[i]\n ? refetchPage(oldPages[i], i, oldPages)\n : true\n\n if (shouldFetchNextPage) {\n const param = manual\n ? oldPageParams[i]\n : getNextPageParam(context.options, pages)\n return fetchPage(pages, manual, param)\n }\n return Promise.resolve(\n buildNewPages(pages, oldPageParams[i], oldPages[i]),\n )\n })\n }\n }\n\n const finalPromise = promise.then((pages) => ({\n pages,\n pageParams: newPageParams,\n }))\n\n return finalPromise\n }\n },\n }\n}\n\nexport function getNextPageParam(\n options: QueryOptions,\n pages: unknown[],\n): unknown | undefined {\n return options.getNextPageParam?.(pages[pages.length - 1], pages)\n}\n\nexport function getPreviousPageParam(\n options: QueryOptions,\n pages: unknown[],\n): unknown | undefined {\n return options.getPreviousPageParam?.(pages[0], pages)\n}\n\n/**\n * Checks if there is a next page.\n * Returns `undefined` if it cannot be determined.\n */\nexport function hasNextPage(\n options: QueryOptions,\n pages?: unknown,\n): boolean | undefined {\n if (options.getNextPageParam && Array.isArray(pages)) {\n const nextPageParam = getNextPageParam(options, pages)\n return (\n typeof nextPageParam !== 'undefined' &&\n nextPageParam !== null &&\n nextPageParam !== false\n )\n }\n return\n}\n\n/**\n * Checks if there is a previous page.\n * Returns `undefined` if it cannot be determined.\n */\nexport function hasPreviousPage(\n options: QueryOptions,\n pages?: unknown,\n): boolean | undefined {\n if (options.getPreviousPageParam && Array.isArray(pages)) {\n const previousPageParam = getPreviousPageParam(options, pages)\n return (\n typeof previousPageParam !== 'undefined' &&\n previousPageParam !== null &&\n previousPageParam !== false\n )\n }\n return\n}\n", "import {\n functionalUpdate,\n hashQueryKey,\n hashQueryKeyByOptions,\n noop,\n parseFilterArgs,\n parseQueryArgs,\n partialMatchKey,\n} from './utils'\nimport { QueryCache } from './queryCache'\nimport { MutationCache } from './mutationCache'\nimport { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { notifyManager } from './notifyManager'\nimport { infiniteQueryBehavior } from './infiniteQueryBehavior'\nimport { defaultLogger } from './logger'\nimport type { CancelOptions, DefaultedQueryObserverOptions } from './types'\nimport type { Logger } from './logger'\nimport type { QueryState } from './query'\nimport type {\n DefaultOptions,\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n InfiniteData,\n InvalidateOptions,\n InvalidateQueryFilters,\n MutationKey,\n MutationObserverOptions,\n MutationOptions,\n QueryClientConfig,\n QueryFunction,\n QueryKey,\n QueryObserverOptions,\n QueryOptions,\n RefetchOptions,\n RefetchQueryFilters,\n ResetOptions,\n ResetQueryFilters,\n SetDataOptions,\n WithRequired,\n} from './types'\nimport type { MutationFilters, QueryFilters, Updater } from './utils'\n\n// TYPES\n\ninterface QueryDefaults {\n queryKey: QueryKey\n defaultOptions: QueryOptions\n}\n\ninterface MutationDefaults {\n mutationKey: MutationKey\n defaultOptions: MutationOptions\n}\n\n// CLASS\n\nexport class QueryClient {\n private queryCache: QueryCache\n private mutationCache: MutationCache\n private logger: Logger\n private defaultOptions: DefaultOptions\n private queryDefaults: QueryDefaults[]\n private mutationDefaults: MutationDefaults[]\n private mountCount: number\n private unsubscribeFocus?: () => void\n private unsubscribeOnline?: () => void\n\n constructor(config: QueryClientConfig = {}) {\n this.queryCache = config.queryCache || new QueryCache()\n this.mutationCache = config.mutationCache || new MutationCache()\n this.logger = config.logger || defaultLogger\n this.defaultOptions = config.defaultOptions || {}\n this.queryDefaults = []\n this.mutationDefaults = []\n this.mountCount = 0\n\n if (process.env.NODE_ENV !== 'production' && config.logger) {\n this.logger.error(\n `Passing a custom logger has been deprecated and will be removed in the next major version.`,\n )\n }\n }\n\n mount(): void {\n this.mountCount++\n if (this.mountCount !== 1) return\n\n this.unsubscribeFocus = focusManager.subscribe(() => {\n if (focusManager.isFocused()) {\n this.resumePausedMutations()\n this.queryCache.onFocus()\n }\n })\n this.unsubscribeOnline = onlineManager.subscribe(() => {\n if (onlineManager.isOnline()) {\n this.resumePausedMutations()\n this.queryCache.onOnline()\n }\n })\n }\n\n unmount(): void {\n this.mountCount--\n if (this.mountCount !== 0) return\n\n this.unsubscribeFocus?.()\n this.unsubscribeFocus = undefined\n\n this.unsubscribeOnline?.()\n this.unsubscribeOnline = undefined\n }\n\n isFetching(filters?: QueryFilters): number\n isFetching(queryKey?: QueryKey, filters?: QueryFilters): number\n isFetching(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): number {\n const [filters] = parseFilterArgs(arg1, arg2)\n filters.fetchStatus = 'fetching'\n return this.queryCache.findAll(filters).length\n }\n\n isMutating(filters?: MutationFilters): number {\n return this.mutationCache.findAll({ ...filters, fetching: true }).length\n }\n\n getQueryData(\n queryKey: QueryKey,\n filters?: QueryFilters,\n ): TQueryFnData | undefined {\n return this.queryCache.find(queryKey, filters)?.state.data\n }\n\n ensureQueryData<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: WithRequired<\n FetchQueryOptions,\n 'queryKey'\n >,\n ): Promise\n ensureQueryData<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: Omit<\n FetchQueryOptions,\n 'queryKey'\n >,\n ): Promise\n ensureQueryData<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction,\n options?: Omit<\n FetchQueryOptions,\n 'queryKey' | 'queryFn'\n >,\n ): Promise\n ensureQueryData<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1:\n | TQueryKey\n | WithRequired<\n FetchQueryOptions,\n 'queryKey'\n >,\n arg2?:\n | QueryFunction\n | FetchQueryOptions,\n arg3?: FetchQueryOptions,\n ): Promise {\n const parsedOptions = parseQueryArgs(arg1, arg2, arg3)\n const cachedData = this.getQueryData(parsedOptions.queryKey!)\n\n return cachedData\n ? Promise.resolve(cachedData)\n : this.fetchQuery(parsedOptions)\n }\n\n getQueriesData(\n queryKey: QueryKey,\n ): [QueryKey, TQueryFnData | undefined][]\n getQueriesData(\n filters: QueryFilters,\n ): [QueryKey, TQueryFnData | undefined][]\n getQueriesData(\n queryKeyOrFilters: QueryKey | QueryFilters,\n ): [QueryKey, TQueryFnData | undefined][] {\n return this.getQueryCache()\n .findAll(queryKeyOrFilters)\n .map(({ queryKey, state }) => {\n const data = state.data as TQueryFnData | undefined\n return [queryKey, data]\n })\n }\n\n setQueryData(\n queryKey: QueryKey,\n updater: Updater,\n options?: SetDataOptions,\n ): TQueryFnData | undefined {\n const query = this.queryCache.find(queryKey)\n const prevData = query?.state.data\n const data = functionalUpdate(updater, prevData)\n\n if (typeof data === 'undefined') {\n return undefined\n }\n\n const parsedOptions = parseQueryArgs(queryKey)\n const defaultedOptions = this.defaultQueryOptions(parsedOptions)\n return this.queryCache\n .build(this, defaultedOptions)\n .setData(data, { ...options, manual: true })\n }\n\n setQueriesData(\n queryKey: QueryKey,\n updater: Updater,\n options?: SetDataOptions,\n ): [QueryKey, TQueryFnData | undefined][]\n\n setQueriesData(\n filters: QueryFilters,\n updater: Updater,\n options?: SetDataOptions,\n ): [QueryKey, TQueryFnData | undefined][]\n\n setQueriesData(\n queryKeyOrFilters: QueryKey | QueryFilters,\n updater: Updater,\n options?: SetDataOptions,\n ): [QueryKey, TQueryFnData | undefined][] {\n return notifyManager.batch(() =>\n this.getQueryCache()\n .findAll(queryKeyOrFilters)\n .map(({ queryKey }) => [\n queryKey,\n this.setQueryData(queryKey, updater, options),\n ]),\n )\n }\n\n getQueryState(\n queryKey: QueryKey,\n filters?: QueryFilters,\n ): QueryState | undefined {\n return this.queryCache.find(queryKey, filters)?.state\n }\n\n removeQueries(filters?: QueryFilters): void\n removeQueries(queryKey?: QueryKey, filters?: QueryFilters): void\n removeQueries(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): void {\n const [filters] = parseFilterArgs(arg1, arg2)\n const queryCache = this.queryCache\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query)\n })\n })\n }\n\n resetQueries(\n filters?: ResetQueryFilters,\n options?: ResetOptions,\n ): Promise\n resetQueries(\n queryKey?: QueryKey,\n filters?: ResetQueryFilters,\n options?: ResetOptions,\n ): Promise\n resetQueries(\n arg1?: QueryKey | ResetQueryFilters,\n arg2?: ResetQueryFilters | ResetOptions,\n arg3?: ResetOptions,\n ): Promise {\n const [filters, options] = parseFilterArgs(arg1, arg2, arg3)\n const queryCache = this.queryCache\n\n const refetchFilters: RefetchQueryFilters = {\n type: 'active',\n ...filters,\n }\n\n return notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n query.reset()\n })\n return this.refetchQueries(refetchFilters, options)\n })\n }\n\n cancelQueries(filters?: QueryFilters, options?: CancelOptions): Promise\n cancelQueries(\n queryKey?: QueryKey,\n filters?: QueryFilters,\n options?: CancelOptions,\n ): Promise\n cancelQueries(\n arg1?: QueryKey | QueryFilters,\n arg2?: QueryFilters | CancelOptions,\n arg3?: CancelOptions,\n ): Promise {\n const [filters, cancelOptions = {}] = parseFilterArgs(arg1, arg2, arg3)\n\n if (typeof cancelOptions.revert === 'undefined') {\n cancelOptions.revert = true\n }\n\n const promises = notifyManager.batch(() =>\n this.queryCache\n .findAll(filters)\n .map((query) => query.cancel(cancelOptions)),\n )\n\n return Promise.all(promises).then(noop).catch(noop)\n }\n\n invalidateQueries(\n filters?: InvalidateQueryFilters,\n options?: InvalidateOptions,\n ): Promise\n invalidateQueries(\n queryKey?: QueryKey,\n filters?: InvalidateQueryFilters,\n options?: InvalidateOptions,\n ): Promise\n invalidateQueries(\n arg1?: QueryKey | InvalidateQueryFilters,\n arg2?: InvalidateQueryFilters | InvalidateOptions,\n arg3?: InvalidateOptions,\n ): Promise {\n const [filters, options] = parseFilterArgs(arg1, arg2, arg3)\n\n return notifyManager.batch(() => {\n this.queryCache.findAll(filters).forEach((query) => {\n query.invalidate()\n })\n\n if (filters.refetchType === 'none') {\n return Promise.resolve()\n }\n const refetchFilters: RefetchQueryFilters = {\n ...filters,\n type: filters.refetchType ?? filters.type ?? 'active',\n }\n return this.refetchQueries(refetchFilters, options)\n })\n }\n\n refetchQueries(\n filters?: RefetchQueryFilters,\n options?: RefetchOptions,\n ): Promise\n refetchQueries(\n queryKey?: QueryKey,\n filters?: RefetchQueryFilters,\n options?: RefetchOptions,\n ): Promise\n refetchQueries(\n arg1?: QueryKey | RefetchQueryFilters,\n arg2?: RefetchQueryFilters | RefetchOptions,\n arg3?: RefetchOptions,\n ): Promise {\n const [filters, options] = parseFilterArgs(arg1, arg2, arg3)\n\n const promises = notifyManager.batch(() =>\n this.queryCache\n .findAll(filters)\n .filter((query) => !query.isDisabled())\n .map((query) =>\n query.fetch(undefined, {\n ...options,\n cancelRefetch: options?.cancelRefetch ?? true,\n meta: { refetchPage: filters.refetchPage },\n }),\n ),\n )\n\n let promise = Promise.all(promises).then(noop)\n\n if (!options?.throwOnError) {\n promise = promise.catch(noop)\n }\n\n return promise\n }\n\n fetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchQueryOptions,\n ): Promise\n fetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: FetchQueryOptions,\n ): Promise\n fetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction,\n options?: FetchQueryOptions,\n ): Promise\n fetchQuery<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1: TQueryKey | FetchQueryOptions,\n arg2?:\n | QueryFunction\n | FetchQueryOptions,\n arg3?: FetchQueryOptions,\n ): Promise {\n const parsedOptions = parseQueryArgs(arg1, arg2, arg3)\n const defaultedOptions = this.defaultQueryOptions(parsedOptions)\n\n // https://github.com/tannerlinsley/react-query/issues/652\n if (typeof defaultedOptions.retry === 'undefined') {\n defaultedOptions.retry = false\n }\n\n const query = this.queryCache.build(this, defaultedOptions)\n\n return query.isStaleByTime(defaultedOptions.staleTime)\n ? query.fetch(defaultedOptions)\n : Promise.resolve(query.state.data as TData)\n }\n\n prefetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchQueryOptions,\n ): Promise\n prefetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: FetchQueryOptions,\n ): Promise\n prefetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction,\n options?: FetchQueryOptions,\n ): Promise\n prefetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1: TQueryKey | FetchQueryOptions,\n arg2?:\n | QueryFunction\n | FetchQueryOptions,\n arg3?: FetchQueryOptions,\n ): Promise {\n return this.fetchQuery(arg1 as any, arg2 as any, arg3)\n .then(noop)\n .catch(noop)\n }\n\n fetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchInfiniteQueryOptions,\n ): Promise>\n fetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: FetchInfiniteQueryOptions,\n ): Promise>\n fetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction,\n options?: FetchInfiniteQueryOptions,\n ): Promise>\n fetchInfiniteQuery<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1:\n | TQueryKey\n | FetchInfiniteQueryOptions,\n arg2?:\n | QueryFunction\n | FetchInfiniteQueryOptions,\n arg3?: FetchInfiniteQueryOptions,\n ): Promise> {\n const parsedOptions = parseQueryArgs(arg1, arg2, arg3)\n parsedOptions.behavior = infiniteQueryBehavior<\n TQueryFnData,\n TError,\n TData\n >()\n return this.fetchQuery(parsedOptions)\n }\n\n prefetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchInfiniteQueryOptions,\n ): Promise\n prefetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: FetchInfiniteQueryOptions,\n ): Promise\n prefetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction,\n options?: FetchInfiniteQueryOptions,\n ): Promise\n prefetchInfiniteQuery<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1:\n | TQueryKey\n | FetchInfiniteQueryOptions,\n arg2?:\n | QueryFunction\n | FetchInfiniteQueryOptions,\n arg3?: FetchInfiniteQueryOptions,\n ): Promise {\n return this.fetchInfiniteQuery(arg1 as any, arg2 as any, arg3)\n .then(noop)\n .catch(noop)\n }\n\n resumePausedMutations(): Promise {\n return this.mutationCache.resumePausedMutations()\n }\n\n getQueryCache(): QueryCache {\n return this.queryCache\n }\n\n getMutationCache(): MutationCache {\n return this.mutationCache\n }\n\n getLogger(): Logger {\n return this.logger\n }\n\n getDefaultOptions(): DefaultOptions {\n return this.defaultOptions\n }\n\n setDefaultOptions(options: DefaultOptions): void {\n this.defaultOptions = options\n }\n\n setQueryDefaults(\n queryKey: QueryKey,\n options: QueryObserverOptions,\n ): void {\n const result = this.queryDefaults.find(\n (x) => hashQueryKey(queryKey) === hashQueryKey(x.queryKey),\n )\n if (result) {\n result.defaultOptions = options\n } else {\n this.queryDefaults.push({ queryKey, defaultOptions: options })\n }\n }\n\n getQueryDefaults(\n queryKey?: QueryKey,\n ): QueryObserverOptions | undefined {\n if (!queryKey) {\n return undefined\n }\n\n // Get the first matching defaults\n const firstMatchingDefaults = this.queryDefaults.find((x) =>\n partialMatchKey(queryKey, x.queryKey),\n )\n\n // Additional checks and error in dev mode\n if (process.env.NODE_ENV !== 'production') {\n // Retrieve all matching defaults for the given key\n const matchingDefaults = this.queryDefaults.filter((x) =>\n partialMatchKey(queryKey, x.queryKey),\n )\n // It is ok not having defaults, but it is error prone to have more than 1 default for a given key\n if (matchingDefaults.length > 1) {\n this.logger.error(\n `[QueryClient] Several query defaults match with key '${JSON.stringify(\n queryKey,\n )}'. The first matching query defaults are used. Please check how query defaults are registered. Order does matter here. cf. https://react-query.tanstack.com/reference/QueryClient#queryclientsetquerydefaults.`,\n )\n }\n }\n\n return firstMatchingDefaults?.defaultOptions\n }\n\n setMutationDefaults(\n mutationKey: MutationKey,\n options: MutationObserverOptions,\n ): void {\n const result = this.mutationDefaults.find(\n (x) => hashQueryKey(mutationKey) === hashQueryKey(x.mutationKey),\n )\n if (result) {\n result.defaultOptions = options\n } else {\n this.mutationDefaults.push({ mutationKey, defaultOptions: options })\n }\n }\n\n getMutationDefaults(\n mutationKey?: MutationKey,\n ): MutationObserverOptions | undefined {\n if (!mutationKey) {\n return undefined\n }\n\n // Get the first matching defaults\n const firstMatchingDefaults = this.mutationDefaults.find((x) =>\n partialMatchKey(mutationKey, x.mutationKey),\n )\n\n // Additional checks and error in dev mode\n if (process.env.NODE_ENV !== 'production') {\n // Retrieve all matching defaults for the given key\n const matchingDefaults = this.mutationDefaults.filter((x) =>\n partialMatchKey(mutationKey, x.mutationKey),\n )\n // It is ok not having defaults, but it is error prone to have more than 1 default for a given key\n if (matchingDefaults.length > 1) {\n this.logger.error(\n `[QueryClient] Several mutation defaults match with key '${JSON.stringify(\n mutationKey,\n )}'. The first matching mutation defaults are used. Please check how mutation defaults are registered. Order does matter here. cf. https://react-query.tanstack.com/reference/QueryClient#queryclientsetmutationdefaults.`,\n )\n }\n }\n\n return firstMatchingDefaults?.defaultOptions\n }\n\n defaultQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n >(\n options?:\n | QueryObserverOptions\n | DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n > {\n if (options?._defaulted) {\n return options as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n const defaultedOptions = {\n ...this.defaultOptions.queries,\n ...this.getQueryDefaults(options?.queryKey),\n ...options,\n _defaulted: true,\n }\n\n if (!defaultedOptions.queryHash && defaultedOptions.queryKey) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions,\n )\n }\n\n // dependent default values\n if (typeof defaultedOptions.refetchOnReconnect === 'undefined') {\n defaultedOptions.refetchOnReconnect =\n defaultedOptions.networkMode !== 'always'\n }\n if (typeof defaultedOptions.useErrorBoundary === 'undefined') {\n defaultedOptions.useErrorBoundary = !!defaultedOptions.suspense\n }\n\n return defaultedOptions as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n defaultMutationOptions>(\n options?: T,\n ): T {\n if (options?._defaulted) {\n return options\n }\n return {\n ...this.defaultOptions.mutations,\n ...this.getMutationDefaults(options?.mutationKey),\n ...options,\n _defaulted: true,\n } as T\n }\n\n clear(): void {\n this.queryCache.clear()\n this.mutationCache.clear()\n }\n}\n", "import {\n createConnectTransport,\n} from \"@bufbuild/connect-web\";\nimport {createPromiseClient} from \"@bufbuild/connect\";\nimport { ProtoflowService } from \"@/rpc/protoflow_connect\";\nimport { ContentService } from \"@/rpc/content/content_connect\";\nimport { UserService } from \"./rpc/user/user_connect\";\nimport {QueryClient} from \"@tanstack/react-query\";\n\nexport const baseURL = process.env.BASE_URL;\n\nexport const queryClient = new QueryClient();\nexport const transport = createConnectTransport({\n baseUrl: `${baseURL}/api` || 'error',\n // credentials: \"include\",\n});\n\nexport const projectService = createPromiseClient(ProtoflowService, transport);\nexport const contentService = createPromiseClient(ContentService, transport);\nexport const userService = createPromiseClient(UserService, transport);\n", "\nexport type TabContent = {\n from: string;\n to: string;\n}\nexport const contentGet = 'content/get';\nexport const contentSave = 'content/save';\n", "/// \nimport {contentService, projectService, userService} from \"@/service\";\nimport {urlContent} from \"@/extension/util\";\nimport {contentGet, contentSave, TabContent} from \"@/extension/shared\";\nimport { Content } from \"@/rpc/content/content_pb\";\n\nlet tabContent: TabContent|undefined = undefined;\n\nconst chromeExt = () => {\n async function saveContent(content: Content) {\n try {\n const resp = await contentService.save({\n content: content,\n related: []\n });\n console.log(resp);\n } catch (e) {\n console.error('failed to save', e)\n }\n }\n\n (\n async () => {\n const resp = await userService.login({}, {});\n // TODO breadchris I think this has the whitelist config in it\n console.log(resp);\n }\n )()\n\n chrome.runtime.onInstalled.addListener(function() {\n console.log('Extension Installed');\n });\n\n chrome.runtime.onStartup.addListener(function() {\n console.log('Extension Started');\n })\n\n chrome.webNavigation.onCompleted.addListener((details) => {\n if (details.url && details.frameType === \"outermost_frame\") {\n // console.log(`Visited URL: ${details.url}`);\n }\n });\n\n function getTabDetails(tabId: number): Promise {\n return new Promise((resolve, reject) => {\n chrome.tabs.get(tabId, tab => {\n if (chrome.runtime.lastError) {\n // Ignore errors, sometimes tabs might have already closed before we can fetch details\n resolve(undefined);\n } else {\n resolve(tab);\n }\n });\n });\n }\n\n chrome.runtime.onMessage.addListener(async (message, sender, sendResponse) => {\n // TODO breadchris replace with a typed action\n if (message.action === contentGet) {\n sendResponse({ data: tabContent });\n tabContent = undefined;\n }\n if (message.action === contentSave) {\n const content = Content.fromJson(message.data);\n try {\n await saveContent(content);\n } catch (e) {\n sendResponse({ data: { error: e } });\n return;\n }\n sendResponse({ data: {} });\n }\n });\n\n chrome.tabs.onCreated.addListener(async (tab) => {\n if (!tab.id) {\n return;\n }\n // console.log(`Tab with ID ${tab.id} has been created.`);\n const tabDetails = await getTabDetails(tab.id);\n if (tabDetails) {\n }\n })\n\n chrome.tabs.onRemoved.addListener(async (tabId, removeInfo) => {\n // console.log(`Tab with ID ${tabId} has been closed.`);\n const tabDetails = await getTabDetails(tabId);\n if (tabDetails) {\n // console.log(`Tab with URL ${tabDetails.url} has been closed.`);\n }\n });\n\n chrome.webRequest.onBeforeRequest.addListener(\n (details) => {\n if (!details.initiator || details.type !== 'main_frame') {\n return;\n }\n const u = new URL(details.initiator);\n const v = new URL(details.url);\n if (u.host === v.host) {\n return;\n }\n // TODO breadchris integrate whitelist\n if (u.host === 'news.ycombinator.com') {\n tabContent = {\n from: details.initiator,\n to: details.url\n }\n // TODO breadchris auto collecting config\n }\n }, { urls: [\"\"] }, [])\n\n chrome.webRequest.onBeforeSendHeaders.addListener(\n (details) => {\n let refererValue = '';\n if (!details.requestHeaders) {\n return;\n }\n for (let header of details.requestHeaders) {\n if (header.name.toLowerCase() === \"referer\" && header.value) {\n refererValue = header.value;\n // console.log(`Visited URL: ${details.url}, Referrer: ${refererValue}`);\n break;\n }\n }\n //console.log(`Visited URL: ${details.url}, Referrer: ${refererValue}`);\n },\n { urls: [\"\"] }, // Monitor all URLs\n [\"requestHeaders\"] // Necessary to get the request headers\n );\n}\n\nchromeExt();\n\nexport {};"], - "mappings": "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", + "sourcesContent": ["// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * Assert that condition is truthy or throw error (with message)\n */\nexport function assert(condition, msg) {\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions -- we want the implicit conversion to boolean\n if (!condition) {\n throw new Error(msg);\n }\n}\nconst FLOAT32_MAX = 3.4028234663852886e38, FLOAT32_MIN = -3.4028234663852886e38, UINT32_MAX = 0xffffffff, INT32_MAX = 0x7fffffff, INT32_MIN = -0x80000000;\n/**\n * Assert a valid signed protobuf 32-bit integer.\n */\nexport function assertInt32(arg) {\n if (typeof arg !== \"number\")\n throw new Error(\"invalid int 32: \" + typeof arg);\n if (!Number.isInteger(arg) || arg > INT32_MAX || arg < INT32_MIN)\n throw new Error(\"invalid int 32: \" + arg); // eslint-disable-line @typescript-eslint/restrict-plus-operands -- we want the implicit conversion to string\n}\n/**\n * Assert a valid unsigned protobuf 32-bit integer.\n */\nexport function assertUInt32(arg) {\n if (typeof arg !== \"number\")\n throw new Error(\"invalid uint 32: \" + typeof arg);\n if (!Number.isInteger(arg) || arg > UINT32_MAX || arg < 0)\n throw new Error(\"invalid uint 32: \" + arg); // eslint-disable-line @typescript-eslint/restrict-plus-operands -- we want the implicit conversion to string\n}\n/**\n * Assert a valid protobuf float value.\n */\nexport function assertFloat32(arg) {\n if (typeof arg !== \"number\")\n throw new Error(\"invalid float 32: \" + typeof arg);\n if (!Number.isFinite(arg))\n return;\n if (arg > FLOAT32_MAX || arg < FLOAT32_MIN)\n throw new Error(\"invalid float 32: \" + arg); // eslint-disable-line @typescript-eslint/restrict-plus-operands -- we want the implicit conversion to string\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { assert } from \"./assert.js\";\nconst enumTypeSymbol = Symbol(\"@bufbuild/protobuf/enum-type\");\n/**\n * Get reflection information from a generated enum.\n * If this function is called on something other than a generated\n * enum, it raises an error.\n */\nexport function getEnumType(enumObject) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-explicit-any\n const t = enumObject[enumTypeSymbol];\n assert(t, \"missing enum type on enum object\");\n return t; // eslint-disable-line @typescript-eslint/no-unsafe-return\n}\n/**\n * Sets reflection information on a generated enum.\n */\nexport function setEnumType(enumObject, typeName, values, opt) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any\n enumObject[enumTypeSymbol] = makeEnumType(typeName, values.map((v) => ({\n no: v.no,\n name: v.name,\n localName: enumObject[v.no],\n })), opt);\n}\n/**\n * Create a new EnumType with the given values.\n */\nexport function makeEnumType(typeName, values, \n// eslint-disable-next-line @typescript-eslint/no-unused-vars\n_opt) {\n const names = Object.create(null);\n const numbers = Object.create(null);\n const normalValues = [];\n for (const value of values) {\n // We do not surface options at this time\n // const value: EnumValueInfo = {...v, options: v.options ?? emptyReadonlyObject};\n const n = normalizeEnumValue(value);\n normalValues.push(n);\n names[value.name] = n;\n numbers[value.no] = n;\n }\n return {\n typeName,\n values: normalValues,\n // We do not surface options at this time\n // options: opt?.options ?? Object.create(null),\n findName(name) {\n return names[name];\n },\n findNumber(no) {\n return numbers[no];\n },\n };\n}\n/**\n * Create a new enum object with the given values.\n * Sets reflection information.\n */\nexport function makeEnum(typeName, values, opt) {\n const enumObject = {};\n for (const value of values) {\n const n = normalizeEnumValue(value);\n enumObject[n.localName] = n.no;\n enumObject[n.no] = n.localName;\n }\n setEnumType(enumObject, typeName, values, opt);\n return enumObject;\n}\nfunction normalizeEnumValue(value) {\n if (\"localName\" in value) {\n return value;\n }\n return Object.assign(Object.assign({}, value), { localName: value.name });\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * Message is the base class of every message, generated, or created at\n * runtime.\n *\n * It is _not_ safe to extend this class. If you want to create a message at\n * run time, use proto3.makeMessageType().\n */\nexport class Message {\n /**\n * Compare with a message of the same type.\n */\n equals(other) {\n return this.getType().runtime.util.equals(this.getType(), this, other);\n }\n /**\n * Create a deep copy.\n */\n clone() {\n return this.getType().runtime.util.clone(this);\n }\n /**\n * Parse from binary data, merging fields.\n *\n * Repeated fields are appended. Map entries are added, overwriting\n * existing keys.\n *\n * If a message field is already present, it will be merged with the\n * new data.\n */\n fromBinary(bytes, options) {\n const type = this.getType(), format = type.runtime.bin, opt = format.makeReadOptions(options);\n format.readMessage(this, opt.readerFactory(bytes), bytes.byteLength, opt);\n return this;\n }\n /**\n * Parse a message from a JSON value.\n */\n fromJson(jsonValue, options) {\n const type = this.getType(), format = type.runtime.json, opt = format.makeReadOptions(options);\n format.readMessage(type, jsonValue, opt, this);\n return this;\n }\n /**\n * Parse a message from a JSON string.\n */\n fromJsonString(jsonString, options) {\n let json;\n try {\n json = JSON.parse(jsonString);\n }\n catch (e) {\n throw new Error(`cannot decode ${this.getType().typeName} from JSON: ${e instanceof Error ? e.message : String(e)}`);\n }\n return this.fromJson(json, options);\n }\n /**\n * Serialize the message to binary data.\n */\n toBinary(options) {\n const type = this.getType(), bin = type.runtime.bin, opt = bin.makeWriteOptions(options), writer = opt.writerFactory();\n bin.writeMessage(this, writer, opt);\n return writer.finish();\n }\n /**\n * Serialize the message to a JSON value, a JavaScript value that can be\n * passed to JSON.stringify().\n */\n toJson(options) {\n const type = this.getType(), json = type.runtime.json, opt = json.makeWriteOptions(options);\n return json.writeMessage(this, opt);\n }\n /**\n * Serialize the message to a JSON string.\n */\n toJsonString(options) {\n var _a;\n const value = this.toJson(options);\n return JSON.stringify(value, null, (_a = options === null || options === void 0 ? void 0 : options.prettySpaces) !== null && _a !== void 0 ? _a : 0);\n }\n /**\n * Override for serialization behavior. This will be invoked when calling\n * JSON.stringify on this message (i.e. JSON.stringify(msg)).\n *\n * Note that this will not serialize google.protobuf.Any with a packed\n * message because the protobuf JSON format specifies that it needs to be\n * unpacked, and this is only possible with a type registry to look up the\n * message type. As a result, attempting to serialize a message with this\n * type will throw an Error.\n *\n * This method is protected because you should not need to invoke it\n * directly -- instead use JSON.stringify or toJsonString for\n * stringified JSON. Alternatively, if actual JSON is desired, you should\n * use toJson.\n */\n toJSON() {\n return this.toJson({\n emitDefaultValues: true,\n });\n }\n /**\n * Retrieve the MessageType of this message - a singleton that represents\n * the protobuf message declaration and provides metadata for reflection-\n * based operations.\n */\n getType() {\n // Any class that extends Message _must_ provide a complete static\n // implementation of MessageType.\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-return\n return Object.getPrototypeOf(this).constructor;\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Message } from \"../message.js\";\n/**\n * Create a new message type using the given runtime.\n */\nexport function makeMessageType(runtime, typeName, fields, opt) {\n var _a;\n const localName = (_a = opt === null || opt === void 0 ? void 0 : opt.localName) !== null && _a !== void 0 ? _a : typeName.substring(typeName.lastIndexOf(\".\") + 1);\n const type = {\n [localName]: function (data) {\n runtime.util.initFields(this);\n runtime.util.initPartial(data, this);\n },\n }[localName];\n Object.setPrototypeOf(type.prototype, new Message());\n Object.assign(type, {\n runtime,\n typeName,\n fields: runtime.util.newFieldList(fields),\n fromBinary(bytes, options) {\n return new type().fromBinary(bytes, options);\n },\n fromJson(jsonValue, options) {\n return new type().fromJson(jsonValue, options);\n },\n fromJsonString(jsonString, options) {\n return new type().fromJsonString(jsonString, options);\n },\n equals(a, b) {\n return runtime.util.equals(type, a, b);\n },\n });\n return type;\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { getEnumType, makeEnum, makeEnumType } from \"./enum.js\";\nimport { makeMessageType } from \"./message-type.js\";\nexport function makeProtoRuntime(syntax, json, bin, util) {\n return {\n syntax,\n json,\n bin,\n util,\n makeMessageType(typeName, fields, opt) {\n return makeMessageType(this, typeName, fields, opt);\n },\n makeEnum,\n makeEnumType,\n getEnumType,\n };\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * Scalar value types. This is a subset of field types declared by protobuf\n * enum google.protobuf.FieldDescriptorProto.Type The types GROUP and MESSAGE\n * are omitted, but the numerical values are identical.\n */\nexport var ScalarType;\n(function (ScalarType) {\n // 0 is reserved for errors.\n // Order is weird for historical reasons.\n ScalarType[ScalarType[\"DOUBLE\"] = 1] = \"DOUBLE\";\n ScalarType[ScalarType[\"FLOAT\"] = 2] = \"FLOAT\";\n // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if\n // negative values are likely.\n ScalarType[ScalarType[\"INT64\"] = 3] = \"INT64\";\n ScalarType[ScalarType[\"UINT64\"] = 4] = \"UINT64\";\n // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if\n // negative values are likely.\n ScalarType[ScalarType[\"INT32\"] = 5] = \"INT32\";\n ScalarType[ScalarType[\"FIXED64\"] = 6] = \"FIXED64\";\n ScalarType[ScalarType[\"FIXED32\"] = 7] = \"FIXED32\";\n ScalarType[ScalarType[\"BOOL\"] = 8] = \"BOOL\";\n ScalarType[ScalarType[\"STRING\"] = 9] = \"STRING\";\n // Tag-delimited aggregate.\n // Group type is deprecated and not supported in proto3. However, Proto3\n // implementations should still be able to parse the group wire format and\n // treat group fields as unknown fields.\n // TYPE_GROUP = 10,\n // TYPE_MESSAGE = 11, // Length-delimited aggregate.\n // New in version 2.\n ScalarType[ScalarType[\"BYTES\"] = 12] = \"BYTES\";\n ScalarType[ScalarType[\"UINT32\"] = 13] = \"UINT32\";\n // TYPE_ENUM = 14,\n ScalarType[ScalarType[\"SFIXED32\"] = 15] = \"SFIXED32\";\n ScalarType[ScalarType[\"SFIXED64\"] = 16] = \"SFIXED64\";\n ScalarType[ScalarType[\"SINT32\"] = 17] = \"SINT32\";\n ScalarType[ScalarType[\"SINT64\"] = 18] = \"SINT64\";\n})(ScalarType || (ScalarType = {}));\n", "// Copyright 2008 Google Inc. All rights reserved.\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n// * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n// * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n// * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n//\n// Code generated by the Protocol Buffer compiler is owned by the owner\n// of the input file used when generating it. This code is not\n// standalone and requires a support library to be linked with it. This\n// support library is itself covered by the above license.\n/* eslint-disable prefer-const,@typescript-eslint/restrict-plus-operands */\n/**\n * Read a 64 bit varint as two JS numbers.\n *\n * Returns tuple:\n * [0]: low bits\n * [1]: high bits\n *\n * Copyright 2008 Google Inc. All rights reserved.\n *\n * See https://github.com/protocolbuffers/protobuf/blob/8a71927d74a4ce34efe2d8769fda198f52d20d12/js/experimental/runtime/kernel/buffer_decoder.js#L175\n */\nexport function varint64read() {\n let lowBits = 0;\n let highBits = 0;\n for (let shift = 0; shift < 28; shift += 7) {\n let b = this.buf[this.pos++];\n lowBits |= (b & 0x7f) << shift;\n if ((b & 0x80) == 0) {\n this.assertBounds();\n return [lowBits, highBits];\n }\n }\n let middleByte = this.buf[this.pos++];\n // last four bits of the first 32 bit number\n lowBits |= (middleByte & 0x0f) << 28;\n // 3 upper bits are part of the next 32 bit number\n highBits = (middleByte & 0x70) >> 4;\n if ((middleByte & 0x80) == 0) {\n this.assertBounds();\n return [lowBits, highBits];\n }\n for (let shift = 3; shift <= 31; shift += 7) {\n let b = this.buf[this.pos++];\n highBits |= (b & 0x7f) << shift;\n if ((b & 0x80) == 0) {\n this.assertBounds();\n return [lowBits, highBits];\n }\n }\n throw new Error(\"invalid varint\");\n}\n/**\n * Write a 64 bit varint, given as two JS numbers, to the given bytes array.\n *\n * Copyright 2008 Google Inc. All rights reserved.\n *\n * See https://github.com/protocolbuffers/protobuf/blob/8a71927d74a4ce34efe2d8769fda198f52d20d12/js/experimental/runtime/kernel/writer.js#L344\n */\nexport function varint64write(lo, hi, bytes) {\n for (let i = 0; i < 28; i = i + 7) {\n const shift = lo >>> i;\n const hasNext = !(shift >>> 7 == 0 && hi == 0);\n const byte = (hasNext ? shift | 0x80 : shift) & 0xff;\n bytes.push(byte);\n if (!hasNext) {\n return;\n }\n }\n const splitBits = ((lo >>> 28) & 0x0f) | ((hi & 0x07) << 4);\n const hasMoreBits = !(hi >> 3 == 0);\n bytes.push((hasMoreBits ? splitBits | 0x80 : splitBits) & 0xff);\n if (!hasMoreBits) {\n return;\n }\n for (let i = 3; i < 31; i = i + 7) {\n const shift = hi >>> i;\n const hasNext = !(shift >>> 7 == 0);\n const byte = (hasNext ? shift | 0x80 : shift) & 0xff;\n bytes.push(byte);\n if (!hasNext) {\n return;\n }\n }\n bytes.push((hi >>> 31) & 0x01);\n}\n// constants for binary math\nconst TWO_PWR_32_DBL = 0x100000000;\n/**\n * Parse decimal string of 64 bit integer value as two JS numbers.\n *\n * Copyright 2008 Google Inc. All rights reserved.\n *\n * See https://github.com/protocolbuffers/protobuf-javascript/blob/a428c58273abad07c66071d9753bc4d1289de426/experimental/runtime/int64.js#L10\n */\nexport function int64FromString(dec) {\n // Check for minus sign.\n const minus = dec[0] === \"-\";\n if (minus) {\n dec = dec.slice(1);\n }\n // Work 6 decimal digits at a time, acting like we're converting base 1e6\n // digits to binary. This is safe to do with floating point math because\n // Number.isSafeInteger(ALL_32_BITS * 1e6) == true.\n const base = 1e6;\n let lowBits = 0;\n let highBits = 0;\n function add1e6digit(begin, end) {\n // Note: Number('') is 0.\n const digit1e6 = Number(dec.slice(begin, end));\n highBits *= base;\n lowBits = lowBits * base + digit1e6;\n // Carry bits from lowBits to\n if (lowBits >= TWO_PWR_32_DBL) {\n highBits = highBits + ((lowBits / TWO_PWR_32_DBL) | 0);\n lowBits = lowBits % TWO_PWR_32_DBL;\n }\n }\n add1e6digit(-24, -18);\n add1e6digit(-18, -12);\n add1e6digit(-12, -6);\n add1e6digit(-6);\n return minus ? negate(lowBits, highBits) : newBits(lowBits, highBits);\n}\n/**\n * Losslessly converts a 64-bit signed integer in 32:32 split representation\n * into a decimal string.\n *\n * Copyright 2008 Google Inc. All rights reserved.\n *\n * See https://github.com/protocolbuffers/protobuf-javascript/blob/a428c58273abad07c66071d9753bc4d1289de426/experimental/runtime/int64.js#L10\n */\nexport function int64ToString(lo, hi) {\n let bits = newBits(lo, hi);\n // If we're treating the input as a signed value and the high bit is set, do\n // a manual two's complement conversion before the decimal conversion.\n const negative = (bits.hi & 0x80000000);\n if (negative) {\n bits = negate(bits.lo, bits.hi);\n }\n const result = uInt64ToString(bits.lo, bits.hi);\n return negative ? \"-\" + result : result;\n}\n/**\n * Losslessly converts a 64-bit unsigned integer in 32:32 split representation\n * into a decimal string.\n *\n * Copyright 2008 Google Inc. All rights reserved.\n *\n * See https://github.com/protocolbuffers/protobuf-javascript/blob/a428c58273abad07c66071d9753bc4d1289de426/experimental/runtime/int64.js#L10\n */\nexport function uInt64ToString(lo, hi) {\n ({ lo, hi } = toUnsigned(lo, hi));\n // Skip the expensive conversion if the number is small enough to use the\n // built-in conversions.\n // Number.MAX_SAFE_INTEGER = 0x001FFFFF FFFFFFFF, thus any number with\n // highBits <= 0x1FFFFF can be safely expressed with a double and retain\n // integer precision.\n // Proven by: Number.isSafeInteger(0x1FFFFF * 2**32 + 0xFFFFFFFF) == true.\n if (hi <= 0x1FFFFF) {\n return String(TWO_PWR_32_DBL * hi + lo);\n }\n // What this code is doing is essentially converting the input number from\n // base-2 to base-1e7, which allows us to represent the 64-bit range with\n // only 3 (very large) digits. Those digits are then trivial to convert to\n // a base-10 string.\n // The magic numbers used here are -\n // 2^24 = 16777216 = (1,6777216) in base-1e7.\n // 2^48 = 281474976710656 = (2,8147497,6710656) in base-1e7.\n // Split 32:32 representation into 16:24:24 representation so our\n // intermediate digits don't overflow.\n const low = lo & 0xFFFFFF;\n const mid = ((lo >>> 24) | (hi << 8)) & 0xFFFFFF;\n const high = (hi >> 16) & 0xFFFF;\n // Assemble our three base-1e7 digits, ignoring carries. The maximum\n // value in a digit at this step is representable as a 48-bit integer, which\n // can be stored in a 64-bit floating point number.\n let digitA = low + (mid * 6777216) + (high * 6710656);\n let digitB = mid + (high * 8147497);\n let digitC = (high * 2);\n // Apply carries from A to B and from B to C.\n const base = 10000000;\n if (digitA >= base) {\n digitB += Math.floor(digitA / base);\n digitA %= base;\n }\n if (digitB >= base) {\n digitC += Math.floor(digitB / base);\n digitB %= base;\n }\n // If digitC is 0, then we should have returned in the trivial code path\n // at the top for non-safe integers. Given this, we can assume both digitB\n // and digitA need leading zeros.\n return digitC.toString() + decimalFrom1e7WithLeadingZeros(digitB) +\n decimalFrom1e7WithLeadingZeros(digitA);\n}\nfunction toUnsigned(lo, hi) {\n return { lo: lo >>> 0, hi: hi >>> 0 };\n}\nfunction newBits(lo, hi) {\n return { lo: lo | 0, hi: hi | 0 };\n}\n/**\n * Returns two's compliment negation of input.\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators#Signed_32-bit_integers\n */\nfunction negate(lowBits, highBits) {\n highBits = ~highBits;\n if (lowBits) {\n lowBits = ~lowBits + 1;\n }\n else {\n // If lowBits is 0, then bitwise-not is 0xFFFFFFFF,\n // adding 1 to that, results in 0x100000000, which leaves\n // the low bits 0x0 and simply adds one to the high bits.\n highBits += 1;\n }\n return newBits(lowBits, highBits);\n}\n/**\n * Returns decimal representation of digit1e7 with leading zeros.\n */\nconst decimalFrom1e7WithLeadingZeros = (digit1e7) => {\n const partial = String(digit1e7);\n return \"0000000\".slice(partial.length) + partial;\n};\n/**\n * Write a 32 bit varint, signed or unsigned. Same as `varint64write(0, value, bytes)`\n *\n * Copyright 2008 Google Inc. All rights reserved.\n *\n * See https://github.com/protocolbuffers/protobuf/blob/1b18833f4f2a2f681f4e4a25cdf3b0a43115ec26/js/binary/encoder.js#L144\n */\nexport function varint32write(value, bytes) {\n if (value >= 0) {\n // write value as varint 32\n while (value > 0x7f) {\n bytes.push((value & 0x7f) | 0x80);\n value = value >>> 7;\n }\n bytes.push(value);\n }\n else {\n for (let i = 0; i < 9; i++) {\n bytes.push((value & 127) | 128);\n value = value >> 7;\n }\n bytes.push(1);\n }\n}\n/**\n * Read an unsigned 32 bit varint.\n *\n * See https://github.com/protocolbuffers/protobuf/blob/8a71927d74a4ce34efe2d8769fda198f52d20d12/js/experimental/runtime/kernel/buffer_decoder.js#L220\n */\nexport function varint32read() {\n let b = this.buf[this.pos++];\n let result = b & 0x7f;\n if ((b & 0x80) == 0) {\n this.assertBounds();\n return result;\n }\n b = this.buf[this.pos++];\n result |= (b & 0x7f) << 7;\n if ((b & 0x80) == 0) {\n this.assertBounds();\n return result;\n }\n b = this.buf[this.pos++];\n result |= (b & 0x7f) << 14;\n if ((b & 0x80) == 0) {\n this.assertBounds();\n return result;\n }\n b = this.buf[this.pos++];\n result |= (b & 0x7f) << 21;\n if ((b & 0x80) == 0) {\n this.assertBounds();\n return result;\n }\n // Extract only last 4 bits\n b = this.buf[this.pos++];\n result |= (b & 0x0f) << 28;\n for (let readBytes = 5; (b & 0x80) !== 0 && readBytes < 10; readBytes++)\n b = this.buf[this.pos++];\n if ((b & 0x80) != 0)\n throw new Error(\"invalid varint\");\n this.assertBounds();\n // Result can have 32 bits, convert it to unsigned\n return result >>> 0;\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { assert } from \"./private/assert.js\";\nimport { int64FromString, int64ToString, uInt64ToString, } from \"./google/varint.js\";\nfunction makeInt64Support() {\n const dv = new DataView(new ArrayBuffer(8));\n // note that Safari 14 implements BigInt, but not the DataView methods\n const ok = typeof BigInt === \"function\" &&\n typeof dv.getBigInt64 === \"function\" &&\n typeof dv.getBigUint64 === \"function\" &&\n typeof dv.setBigInt64 === \"function\" &&\n typeof dv.setBigUint64 === \"function\" &&\n (typeof process != \"object\" ||\n typeof process.env != \"object\" ||\n process.env.BUF_BIGINT_DISABLE !== \"1\");\n if (ok) {\n const MIN = BigInt(\"-9223372036854775808\"), MAX = BigInt(\"9223372036854775807\"), UMIN = BigInt(\"0\"), UMAX = BigInt(\"18446744073709551615\");\n return {\n zero: BigInt(0),\n supported: true,\n parse(value) {\n const bi = typeof value == \"bigint\" ? value : BigInt(value);\n if (bi > MAX || bi < MIN) {\n throw new Error(`int64 invalid: ${value}`);\n }\n return bi;\n },\n uParse(value) {\n const bi = typeof value == \"bigint\" ? value : BigInt(value);\n if (bi > UMAX || bi < UMIN) {\n throw new Error(`uint64 invalid: ${value}`);\n }\n return bi;\n },\n enc(value) {\n dv.setBigInt64(0, this.parse(value), true);\n return {\n lo: dv.getInt32(0, true),\n hi: dv.getInt32(4, true),\n };\n },\n uEnc(value) {\n dv.setBigInt64(0, this.uParse(value), true);\n return {\n lo: dv.getInt32(0, true),\n hi: dv.getInt32(4, true),\n };\n },\n dec(lo, hi) {\n dv.setInt32(0, lo, true);\n dv.setInt32(4, hi, true);\n return dv.getBigInt64(0, true);\n },\n uDec(lo, hi) {\n dv.setInt32(0, lo, true);\n dv.setInt32(4, hi, true);\n return dv.getBigUint64(0, true);\n },\n };\n }\n const assertInt64String = (value) => assert(/^-?[0-9]+$/.test(value), `int64 invalid: ${value}`);\n const assertUInt64String = (value) => assert(/^[0-9]+$/.test(value), `uint64 invalid: ${value}`);\n return {\n zero: \"0\",\n supported: false,\n parse(value) {\n if (typeof value != \"string\") {\n value = value.toString();\n }\n assertInt64String(value);\n return value;\n },\n uParse(value) {\n if (typeof value != \"string\") {\n value = value.toString();\n }\n assertUInt64String(value);\n return value;\n },\n enc(value) {\n if (typeof value != \"string\") {\n value = value.toString();\n }\n assertInt64String(value);\n return int64FromString(value);\n },\n uEnc(value) {\n if (typeof value != \"string\") {\n value = value.toString();\n }\n assertUInt64String(value);\n return int64FromString(value);\n },\n dec(lo, hi) {\n return int64ToString(lo, hi);\n },\n uDec(lo, hi) {\n return uInt64ToString(lo, hi);\n },\n };\n}\nexport const protoInt64 = makeInt64Support();\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { varint32read, varint32write, varint64read, varint64write, } from \"./google/varint.js\";\nimport { assertFloat32, assertInt32, assertUInt32 } from \"./private/assert.js\";\nimport { protoInt64 } from \"./proto-int64.js\";\n/* eslint-disable prefer-const,no-case-declarations,@typescript-eslint/restrict-plus-operands */\n/**\n * Protobuf binary format wire types.\n *\n * A wire type provides just enough information to find the length of the\n * following value.\n *\n * See https://developers.google.com/protocol-buffers/docs/encoding#structure\n */\nexport var WireType;\n(function (WireType) {\n /**\n * Used for int32, int64, uint32, uint64, sint32, sint64, bool, enum\n */\n WireType[WireType[\"Varint\"] = 0] = \"Varint\";\n /**\n * Used for fixed64, sfixed64, double.\n * Always 8 bytes with little-endian byte order.\n */\n WireType[WireType[\"Bit64\"] = 1] = \"Bit64\";\n /**\n * Used for string, bytes, embedded messages, packed repeated fields\n *\n * Only repeated numeric types (types which use the varint, 32-bit,\n * or 64-bit wire types) can be packed. In proto3, such fields are\n * packed by default.\n */\n WireType[WireType[\"LengthDelimited\"] = 2] = \"LengthDelimited\";\n /**\n * Used for groups\n * @deprecated\n */\n WireType[WireType[\"StartGroup\"] = 3] = \"StartGroup\";\n /**\n * Used for groups\n * @deprecated\n */\n WireType[WireType[\"EndGroup\"] = 4] = \"EndGroup\";\n /**\n * Used for fixed32, sfixed32, float.\n * Always 4 bytes with little-endian byte order.\n */\n WireType[WireType[\"Bit32\"] = 5] = \"Bit32\";\n})(WireType || (WireType = {}));\nexport class BinaryWriter {\n constructor(textEncoder) {\n /**\n * Previous fork states.\n */\n this.stack = [];\n this.textEncoder = textEncoder !== null && textEncoder !== void 0 ? textEncoder : new TextEncoder();\n this.chunks = [];\n this.buf = [];\n }\n /**\n * Return all bytes written and reset this writer.\n */\n finish() {\n this.chunks.push(new Uint8Array(this.buf)); // flush the buffer\n let len = 0;\n for (let i = 0; i < this.chunks.length; i++)\n len += this.chunks[i].length;\n let bytes = new Uint8Array(len);\n let offset = 0;\n for (let i = 0; i < this.chunks.length; i++) {\n bytes.set(this.chunks[i], offset);\n offset += this.chunks[i].length;\n }\n this.chunks = [];\n return bytes;\n }\n /**\n * Start a new fork for length-delimited data like a message\n * or a packed repeated field.\n *\n * Must be joined later with `join()`.\n */\n fork() {\n this.stack.push({ chunks: this.chunks, buf: this.buf });\n this.chunks = [];\n this.buf = [];\n return this;\n }\n /**\n * Join the last fork. Write its length and bytes, then\n * return to the previous state.\n */\n join() {\n // get chunk of fork\n let chunk = this.finish();\n // restore previous state\n let prev = this.stack.pop();\n if (!prev)\n throw new Error(\"invalid state, fork stack empty\");\n this.chunks = prev.chunks;\n this.buf = prev.buf;\n // write length of chunk as varint\n this.uint32(chunk.byteLength);\n return this.raw(chunk);\n }\n /**\n * Writes a tag (field number and wire type).\n *\n * Equivalent to `uint32( (fieldNo << 3 | type) >>> 0 )`.\n *\n * Generated code should compute the tag ahead of time and call `uint32()`.\n */\n tag(fieldNo, type) {\n return this.uint32(((fieldNo << 3) | type) >>> 0);\n }\n /**\n * Write a chunk of raw bytes.\n */\n raw(chunk) {\n if (this.buf.length) {\n this.chunks.push(new Uint8Array(this.buf));\n this.buf = [];\n }\n this.chunks.push(chunk);\n return this;\n }\n /**\n * Write a `uint32` value, an unsigned 32 bit varint.\n */\n uint32(value) {\n assertUInt32(value);\n // write value as varint 32, inlined for speed\n while (value > 0x7f) {\n this.buf.push((value & 0x7f) | 0x80);\n value = value >>> 7;\n }\n this.buf.push(value);\n return this;\n }\n /**\n * Write a `int32` value, a signed 32 bit varint.\n */\n int32(value) {\n assertInt32(value);\n varint32write(value, this.buf);\n return this;\n }\n /**\n * Write a `bool` value, a variant.\n */\n bool(value) {\n this.buf.push(value ? 1 : 0);\n return this;\n }\n /**\n * Write a `bytes` value, length-delimited arbitrary data.\n */\n bytes(value) {\n this.uint32(value.byteLength); // write length of chunk as varint\n return this.raw(value);\n }\n /**\n * Write a `string` value, length-delimited data converted to UTF-8 text.\n */\n string(value) {\n let chunk = this.textEncoder.encode(value);\n this.uint32(chunk.byteLength); // write length of chunk as varint\n return this.raw(chunk);\n }\n /**\n * Write a `float` value, 32-bit floating point number.\n */\n float(value) {\n assertFloat32(value);\n let chunk = new Uint8Array(4);\n new DataView(chunk.buffer).setFloat32(0, value, true);\n return this.raw(chunk);\n }\n /**\n * Write a `double` value, a 64-bit floating point number.\n */\n double(value) {\n let chunk = new Uint8Array(8);\n new DataView(chunk.buffer).setFloat64(0, value, true);\n return this.raw(chunk);\n }\n /**\n * Write a `fixed32` value, an unsigned, fixed-length 32-bit integer.\n */\n fixed32(value) {\n assertUInt32(value);\n let chunk = new Uint8Array(4);\n new DataView(chunk.buffer).setUint32(0, value, true);\n return this.raw(chunk);\n }\n /**\n * Write a `sfixed32` value, a signed, fixed-length 32-bit integer.\n */\n sfixed32(value) {\n assertInt32(value);\n let chunk = new Uint8Array(4);\n new DataView(chunk.buffer).setInt32(0, value, true);\n return this.raw(chunk);\n }\n /**\n * Write a `sint32` value, a signed, zigzag-encoded 32-bit varint.\n */\n sint32(value) {\n assertInt32(value);\n // zigzag encode\n value = ((value << 1) ^ (value >> 31)) >>> 0;\n varint32write(value, this.buf);\n return this;\n }\n /**\n * Write a `fixed64` value, a signed, fixed-length 64-bit integer.\n */\n sfixed64(value) {\n let chunk = new Uint8Array(8), view = new DataView(chunk.buffer), tc = protoInt64.enc(value);\n view.setInt32(0, tc.lo, true);\n view.setInt32(4, tc.hi, true);\n return this.raw(chunk);\n }\n /**\n * Write a `fixed64` value, an unsigned, fixed-length 64 bit integer.\n */\n fixed64(value) {\n let chunk = new Uint8Array(8), view = new DataView(chunk.buffer), tc = protoInt64.uEnc(value);\n view.setInt32(0, tc.lo, true);\n view.setInt32(4, tc.hi, true);\n return this.raw(chunk);\n }\n /**\n * Write a `int64` value, a signed 64-bit varint.\n */\n int64(value) {\n let tc = protoInt64.enc(value);\n varint64write(tc.lo, tc.hi, this.buf);\n return this;\n }\n /**\n * Write a `sint64` value, a signed, zig-zag-encoded 64-bit varint.\n */\n sint64(value) {\n let tc = protoInt64.enc(value), \n // zigzag encode\n sign = tc.hi >> 31, lo = (tc.lo << 1) ^ sign, hi = ((tc.hi << 1) | (tc.lo >>> 31)) ^ sign;\n varint64write(lo, hi, this.buf);\n return this;\n }\n /**\n * Write a `uint64` value, an unsigned 64-bit varint.\n */\n uint64(value) {\n let tc = protoInt64.uEnc(value);\n varint64write(tc.lo, tc.hi, this.buf);\n return this;\n }\n}\nexport class BinaryReader {\n constructor(buf, textDecoder) {\n this.varint64 = varint64read; // dirty cast for `this`\n /**\n * Read a `uint32` field, an unsigned 32 bit varint.\n */\n this.uint32 = varint32read; // dirty cast for `this` and access to protected `buf`\n this.buf = buf;\n this.len = buf.length;\n this.pos = 0;\n this.view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);\n this.textDecoder = textDecoder !== null && textDecoder !== void 0 ? textDecoder : new TextDecoder();\n }\n /**\n * Reads a tag - field number and wire type.\n */\n tag() {\n let tag = this.uint32(), fieldNo = tag >>> 3, wireType = tag & 7;\n if (fieldNo <= 0 || wireType < 0 || wireType > 5)\n throw new Error(\"illegal tag: field no \" + fieldNo + \" wire type \" + wireType);\n return [fieldNo, wireType];\n }\n /**\n * Skip one element on the wire and return the skipped data.\n * Supports WireType.StartGroup since v2.0.0-alpha.23.\n */\n skip(wireType) {\n let start = this.pos;\n switch (wireType) {\n case WireType.Varint:\n while (this.buf[this.pos++] & 0x80) {\n // ignore\n }\n break;\n // eslint-disable-next-line\n // @ts-ignore TS7029: Fallthrough case in switch\n case WireType.Bit64:\n this.pos += 4;\n // eslint-disable-next-line\n // @ts-ignore TS7029: Fallthrough case in switch\n case WireType.Bit32:\n this.pos += 4;\n break;\n case WireType.LengthDelimited:\n let len = this.uint32();\n this.pos += len;\n break;\n case WireType.StartGroup:\n // From descriptor.proto: Group type is deprecated, not supported in proto3.\n // But we must still be able to parse and treat as unknown.\n let t;\n while ((t = this.tag()[1]) !== WireType.EndGroup) {\n this.skip(t);\n }\n break;\n default:\n throw new Error(\"cant skip wire type \" + wireType);\n }\n this.assertBounds();\n return this.buf.subarray(start, this.pos);\n }\n /**\n * Throws error if position in byte array is out of range.\n */\n assertBounds() {\n if (this.pos > this.len)\n throw new RangeError(\"premature EOF\");\n }\n /**\n * Read a `int32` field, a signed 32 bit varint.\n */\n int32() {\n return this.uint32() | 0;\n }\n /**\n * Read a `sint32` field, a signed, zigzag-encoded 32-bit varint.\n */\n sint32() {\n let zze = this.uint32();\n // decode zigzag\n return (zze >>> 1) ^ -(zze & 1);\n }\n /**\n * Read a `int64` field, a signed 64-bit varint.\n */\n int64() {\n return protoInt64.dec(...this.varint64());\n }\n /**\n * Read a `uint64` field, an unsigned 64-bit varint.\n */\n uint64() {\n return protoInt64.uDec(...this.varint64());\n }\n /**\n * Read a `sint64` field, a signed, zig-zag-encoded 64-bit varint.\n */\n sint64() {\n let [lo, hi] = this.varint64();\n // decode zig zag\n let s = -(lo & 1);\n lo = ((lo >>> 1) | ((hi & 1) << 31)) ^ s;\n hi = (hi >>> 1) ^ s;\n return protoInt64.dec(lo, hi);\n }\n /**\n * Read a `bool` field, a variant.\n */\n bool() {\n let [lo, hi] = this.varint64();\n return lo !== 0 || hi !== 0;\n }\n /**\n * Read a `fixed32` field, an unsigned, fixed-length 32-bit integer.\n */\n fixed32() {\n return this.view.getUint32((this.pos += 4) - 4, true);\n }\n /**\n * Read a `sfixed32` field, a signed, fixed-length 32-bit integer.\n */\n sfixed32() {\n return this.view.getInt32((this.pos += 4) - 4, true);\n }\n /**\n * Read a `fixed64` field, an unsigned, fixed-length 64 bit integer.\n */\n fixed64() {\n return protoInt64.uDec(this.sfixed32(), this.sfixed32());\n }\n /**\n * Read a `fixed64` field, a signed, fixed-length 64-bit integer.\n */\n sfixed64() {\n return protoInt64.dec(this.sfixed32(), this.sfixed32());\n }\n /**\n * Read a `float` field, 32-bit floating point number.\n */\n float() {\n return this.view.getFloat32((this.pos += 4) - 4, true);\n }\n /**\n * Read a `double` field, a 64-bit floating point number.\n */\n double() {\n return this.view.getFloat64((this.pos += 8) - 8, true);\n }\n /**\n * Read a `bytes` field, length-delimited arbitrary data.\n */\n bytes() {\n let len = this.uint32(), start = this.pos;\n this.pos += len;\n this.assertBounds();\n return this.buf.subarray(start, start + len);\n }\n /**\n * Read a `string` field, length-delimited data converted to UTF-8 text.\n */\n string() {\n return this.textDecoder.decode(this.bytes());\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Message } from \"../message.js\";\nimport { ScalarType } from \"../field.js\";\n/**\n * Wrap a primitive message field value in its corresponding wrapper\n * message. This function is idempotent.\n */\nexport function wrapField(type, value) {\n if (value instanceof Message || !type.fieldWrapper) {\n return value;\n }\n return type.fieldWrapper.wrapField(value);\n}\n/**\n * If the given field uses one of the well-known wrapper types, return\n * the primitive type it wraps.\n */\nexport function getUnwrappedFieldType(field) {\n if (field.fieldKind !== \"message\") {\n return undefined;\n }\n if (field.repeated) {\n return undefined;\n }\n if (field.oneof != undefined) {\n return undefined;\n }\n return wktWrapperToScalarType[field.message.typeName];\n}\nconst wktWrapperToScalarType = {\n \"google.protobuf.DoubleValue\": ScalarType.DOUBLE,\n \"google.protobuf.FloatValue\": ScalarType.FLOAT,\n \"google.protobuf.Int64Value\": ScalarType.INT64,\n \"google.protobuf.UInt64Value\": ScalarType.UINT64,\n \"google.protobuf.Int32Value\": ScalarType.INT32,\n \"google.protobuf.UInt32Value\": ScalarType.UINT32,\n \"google.protobuf.BoolValue\": ScalarType.BOOL,\n \"google.protobuf.StringValue\": ScalarType.STRING,\n \"google.protobuf.BytesValue\": ScalarType.BYTES,\n};\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { ScalarType } from \"../field.js\";\nimport { WireType } from \"../binary-encoding.js\";\nimport { protoInt64 } from \"../proto-int64.js\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Returns true if both scalar values are equal.\n */\nexport function scalarEquals(type, a, b) {\n if (a === b) {\n // This correctly matches equal values except BYTES and (possibly) 64-bit integers.\n return true;\n }\n // Special case BYTES - we need to compare each byte individually\n if (type == ScalarType.BYTES) {\n if (!(a instanceof Uint8Array) || !(b instanceof Uint8Array)) {\n return false;\n }\n if (a.length !== b.length) {\n return false;\n }\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n return true;\n }\n // Special case 64-bit integers - we support number, string and bigint representation.\n // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check\n switch (type) {\n case ScalarType.UINT64:\n case ScalarType.FIXED64:\n case ScalarType.INT64:\n case ScalarType.SFIXED64:\n case ScalarType.SINT64:\n // Loose comparison will match between 0n, 0 and \"0\".\n return a == b;\n }\n // Anything that hasn't been caught by strict comparison or special cased\n // BYTES and 64-bit integers is not equal.\n return false;\n}\n/**\n * Returns the default value for the given scalar type, following\n * proto3 semantics.\n */\nexport function scalarDefaultValue(type) {\n switch (type) {\n case ScalarType.BOOL:\n return false;\n case ScalarType.UINT64:\n case ScalarType.FIXED64:\n case ScalarType.INT64:\n case ScalarType.SFIXED64:\n case ScalarType.SINT64:\n return protoInt64.zero;\n case ScalarType.DOUBLE:\n case ScalarType.FLOAT:\n return 0.0;\n case ScalarType.BYTES:\n return new Uint8Array(0);\n case ScalarType.STRING:\n return \"\";\n default:\n // Handles INT32, UINT32, SINT32, FIXED32, SFIXED32.\n // We do not use individual cases to save a few bytes code size.\n return 0;\n }\n}\n/**\n * Get information for writing a scalar value.\n *\n * Returns tuple:\n * [0]: appropriate WireType\n * [1]: name of the appropriate method of IBinaryWriter\n * [2]: whether the given value is a default value for proto3 semantics\n *\n * If argument `value` is omitted, [2] is always false.\n */\nexport function scalarTypeInfo(type, value) {\n const isUndefined = value === undefined;\n let wireType = WireType.Varint;\n let isIntrinsicDefault = value === 0;\n // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check -- INT32, UINT32, SINT32 are covered by the defaults\n switch (type) {\n case ScalarType.STRING:\n isIntrinsicDefault = isUndefined || !value.length;\n wireType = WireType.LengthDelimited;\n break;\n case ScalarType.BOOL:\n isIntrinsicDefault = value === false;\n break;\n case ScalarType.DOUBLE:\n wireType = WireType.Bit64;\n break;\n case ScalarType.FLOAT:\n wireType = WireType.Bit32;\n break;\n case ScalarType.INT64:\n isIntrinsicDefault = isUndefined || value == 0;\n break;\n case ScalarType.UINT64:\n isIntrinsicDefault = isUndefined || value == 0;\n break;\n case ScalarType.FIXED64:\n isIntrinsicDefault = isUndefined || value == 0;\n wireType = WireType.Bit64;\n break;\n case ScalarType.BYTES:\n isIntrinsicDefault = isUndefined || !value.byteLength;\n wireType = WireType.LengthDelimited;\n break;\n case ScalarType.FIXED32:\n wireType = WireType.Bit32;\n break;\n case ScalarType.SFIXED32:\n wireType = WireType.Bit32;\n break;\n case ScalarType.SFIXED64:\n isIntrinsicDefault = isUndefined || value == 0;\n wireType = WireType.Bit64;\n break;\n case ScalarType.SINT64:\n isIntrinsicDefault = isUndefined || value == 0;\n break;\n }\n const method = ScalarType[type].toLowerCase();\n return [wireType, method, isUndefined || isIntrinsicDefault];\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { BinaryReader, BinaryWriter, WireType } from \"../binary-encoding.js\";\nimport { Message } from \"../message.js\";\nimport { ScalarType } from \"../field.js\";\nimport { wrapField } from \"./field-wrapper.js\";\nimport { scalarDefaultValue, scalarTypeInfo } from \"./scalars.js\";\nimport { assert } from \"./assert.js\";\n/* eslint-disable @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unnecessary-condition, no-case-declarations, prefer-const */\nconst unknownFieldsSymbol = Symbol(\"@bufbuild/protobuf/unknown-fields\");\n// Default options for parsing binary data.\nconst readDefaults = {\n readUnknownFields: true,\n readerFactory: (bytes) => new BinaryReader(bytes),\n};\n// Default options for serializing binary data.\nconst writeDefaults = {\n writeUnknownFields: true,\n writerFactory: () => new BinaryWriter(),\n};\nfunction makeReadOptions(options) {\n return options ? Object.assign(Object.assign({}, readDefaults), options) : readDefaults;\n}\nfunction makeWriteOptions(options) {\n return options ? Object.assign(Object.assign({}, writeDefaults), options) : writeDefaults;\n}\nexport function makeBinaryFormatCommon() {\n return {\n makeReadOptions,\n makeWriteOptions,\n listUnknownFields(message) {\n var _a;\n return (_a = message[unknownFieldsSymbol]) !== null && _a !== void 0 ? _a : [];\n },\n discardUnknownFields(message) {\n delete message[unknownFieldsSymbol];\n },\n writeUnknownFields(message, writer) {\n const m = message;\n const c = m[unknownFieldsSymbol];\n if (c) {\n for (const f of c) {\n writer.tag(f.no, f.wireType).raw(f.data);\n }\n }\n },\n onUnknownField(message, no, wireType, data) {\n const m = message;\n if (!Array.isArray(m[unknownFieldsSymbol])) {\n m[unknownFieldsSymbol] = [];\n }\n m[unknownFieldsSymbol].push({ no, wireType, data });\n },\n readMessage(message, reader, length, options) {\n const type = message.getType();\n const end = length === undefined ? reader.len : reader.pos + length;\n while (reader.pos < end) {\n const [fieldNo, wireType] = reader.tag(), field = type.fields.find(fieldNo);\n if (!field) {\n const data = reader.skip(wireType);\n if (options.readUnknownFields) {\n this.onUnknownField(message, fieldNo, wireType, data);\n }\n continue;\n }\n let target = message, repeated = field.repeated, localName = field.localName;\n if (field.oneof) {\n target = target[field.oneof.localName];\n if (target.case != localName) {\n delete target.value;\n }\n target.case = localName;\n localName = \"value\";\n }\n switch (field.kind) {\n case \"scalar\":\n case \"enum\":\n const scalarType = field.kind == \"enum\" ? ScalarType.INT32 : field.T;\n if (repeated) {\n let arr = target[localName]; // safe to assume presence of array, oneof cannot contain repeated values\n if (wireType == WireType.LengthDelimited &&\n scalarType != ScalarType.STRING &&\n scalarType != ScalarType.BYTES) {\n let e = reader.uint32() + reader.pos;\n while (reader.pos < e) {\n arr.push(readScalar(reader, scalarType));\n }\n }\n else {\n arr.push(readScalar(reader, scalarType));\n }\n }\n else {\n target[localName] = readScalar(reader, scalarType);\n }\n break;\n case \"message\":\n const messageType = field.T;\n if (repeated) {\n // safe to assume presence of array, oneof cannot contain repeated values\n target[localName].push(readMessageField(reader, new messageType(), options));\n }\n else {\n if (target[localName] instanceof Message) {\n readMessageField(reader, target[localName], options);\n }\n else {\n target[localName] = readMessageField(reader, new messageType(), options);\n if (messageType.fieldWrapper &&\n !field.oneof &&\n !field.repeated) {\n target[localName] = messageType.fieldWrapper.unwrapField(target[localName]);\n }\n }\n }\n break;\n case \"map\":\n let [mapKey, mapVal] = readMapEntry(field, reader, options);\n // safe to assume presence of map object, oneof cannot contain repeated values\n target[localName][mapKey] = mapVal;\n break;\n }\n }\n },\n };\n}\n// Read a message, avoiding MessageType.fromBinary() to re-use the\n// BinaryReadOptions and the IBinaryReader.\nfunction readMessageField(reader, message, options) {\n const format = message.getType().runtime.bin;\n format.readMessage(message, reader, reader.uint32(), options);\n return message;\n}\n// Read a map field, expecting key field = 1, value field = 2\nfunction readMapEntry(field, reader, options) {\n const length = reader.uint32(), end = reader.pos + length;\n let key, val;\n while (reader.pos < end) {\n let [fieldNo] = reader.tag();\n switch (fieldNo) {\n case 1:\n key = readScalar(reader, field.K);\n break;\n case 2:\n switch (field.V.kind) {\n case \"scalar\":\n val = readScalar(reader, field.V.T);\n break;\n case \"enum\":\n val = reader.int32();\n break;\n case \"message\":\n val = readMessageField(reader, new field.V.T(), options);\n break;\n }\n break;\n }\n }\n if (key === undefined) {\n let keyRaw = scalarDefaultValue(field.K);\n key =\n field.K == ScalarType.BOOL\n ? keyRaw.toString()\n : keyRaw;\n }\n if (typeof key != \"string\" && typeof key != \"number\") {\n key = key.toString();\n }\n if (val === undefined) {\n switch (field.V.kind) {\n case \"scalar\":\n val = scalarDefaultValue(field.V.T);\n break;\n case \"enum\":\n val = 0;\n break;\n case \"message\":\n val = new field.V.T();\n break;\n }\n }\n return [key, val];\n}\n// Does not use scalarTypeInfo() for better performance.\nfunction readScalar(reader, type) {\n switch (type) {\n case ScalarType.STRING:\n return reader.string();\n case ScalarType.BOOL:\n return reader.bool();\n case ScalarType.DOUBLE:\n return reader.double();\n case ScalarType.FLOAT:\n return reader.float();\n case ScalarType.INT32:\n return reader.int32();\n case ScalarType.INT64:\n return reader.int64();\n case ScalarType.UINT64:\n return reader.uint64();\n case ScalarType.FIXED64:\n return reader.fixed64();\n case ScalarType.BYTES:\n return reader.bytes();\n case ScalarType.FIXED32:\n return reader.fixed32();\n case ScalarType.SFIXED32:\n return reader.sfixed32();\n case ScalarType.SFIXED64:\n return reader.sfixed64();\n case ScalarType.SINT64:\n return reader.sint64();\n case ScalarType.UINT32:\n return reader.uint32();\n case ScalarType.SINT32:\n return reader.sint32();\n }\n}\nexport function writeMapEntry(writer, options, field, key, value) {\n writer.tag(field.no, WireType.LengthDelimited);\n writer.fork();\n // javascript only allows number or string for object properties\n // we convert from our representation to the protobuf type\n let keyValue = key;\n // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check -- we deliberately handle just the special cases for map keys\n switch (field.K) {\n case ScalarType.INT32:\n case ScalarType.FIXED32:\n case ScalarType.UINT32:\n case ScalarType.SFIXED32:\n case ScalarType.SINT32:\n keyValue = Number.parseInt(key);\n break;\n case ScalarType.BOOL:\n assert(key == \"true\" || key == \"false\");\n keyValue = key == \"true\";\n break;\n }\n // write key, expecting key field number = 1\n writeScalar(writer, field.K, 1, keyValue, true);\n // write value, expecting value field number = 2\n switch (field.V.kind) {\n case \"scalar\":\n writeScalar(writer, field.V.T, 2, value, true);\n break;\n case \"enum\":\n writeScalar(writer, ScalarType.INT32, 2, value, true);\n break;\n case \"message\":\n writeMessageField(writer, options, field.V.T, 2, value);\n break;\n }\n writer.join();\n}\nexport function writeMessageField(writer, options, type, fieldNo, value) {\n if (value !== undefined) {\n const message = wrapField(type, value);\n writer\n .tag(fieldNo, WireType.LengthDelimited)\n .bytes(message.toBinary(options));\n }\n}\nexport function writeScalar(writer, type, fieldNo, value, emitIntrinsicDefault) {\n let [wireType, method, isIntrinsicDefault] = scalarTypeInfo(type, value);\n if (!isIntrinsicDefault || emitIntrinsicDefault) {\n writer.tag(fieldNo, wireType)[method](value);\n }\n}\nexport function writePacked(writer, type, fieldNo, value) {\n if (!value.length) {\n return;\n }\n writer.tag(fieldNo, WireType.LengthDelimited).fork();\n let [, method] = scalarTypeInfo(type);\n for (let i = 0; i < value.length; i++) {\n writer[method](value[i]);\n }\n writer.join();\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { ScalarType } from \"../field.js\";\nimport { makeBinaryFormatCommon, writeMapEntry, writeMessageField, writePacked, writeScalar, } from \"./binary-format-common.js\";\n/* eslint-disable @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unnecessary-condition, @typescript-eslint/strict-boolean-expressions, prefer-const, no-case-declarations */\nexport function makeBinaryFormatProto3() {\n return Object.assign(Object.assign({}, makeBinaryFormatCommon()), { writeMessage(message, writer, options) {\n const type = message.getType();\n for (const field of type.fields.byNumber()) {\n let value, // this will be our field value, whether it is member of a oneof or regular field\n repeated = field.repeated, localName = field.localName;\n if (field.oneof) {\n const oneof = message[field.oneof.localName];\n if (oneof.case !== localName) {\n continue; // field is not selected, skip\n }\n value = oneof.value;\n }\n else {\n value = message[localName];\n }\n switch (field.kind) {\n case \"scalar\":\n case \"enum\":\n let scalarType = field.kind == \"enum\" ? ScalarType.INT32 : field.T;\n if (repeated) {\n if (field.packed) {\n writePacked(writer, scalarType, field.no, value);\n }\n else {\n for (const item of value) {\n writeScalar(writer, scalarType, field.no, item, true);\n }\n }\n }\n else {\n if (value !== undefined) {\n writeScalar(writer, scalarType, field.no, value, !!field.oneof || field.opt);\n }\n }\n break;\n case \"message\":\n if (repeated) {\n for (const item of value) {\n writeMessageField(writer, options, field.T, field.no, item);\n }\n }\n else {\n writeMessageField(writer, options, field.T, field.no, value);\n }\n break;\n case \"map\":\n for (const [key, val] of Object.entries(value)) {\n writeMapEntry(writer, options, field, key, val);\n }\n break;\n }\n }\n if (options.writeUnknownFields) {\n this.writeUnknownFields(message, writer);\n }\n return writer;\n } });\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/* eslint-disable @typescript-eslint/ban-ts-comment, @typescript-eslint/no-unnecessary-condition, prefer-const */\n// lookup table from base64 character to byte\nlet encTable = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".split(\"\");\n// lookup table from base64 character *code* to byte because lookup by number is fast\nlet decTable = [];\nfor (let i = 0; i < encTable.length; i++)\n decTable[encTable[i].charCodeAt(0)] = i;\n// support base64url variants\ndecTable[\"-\".charCodeAt(0)] = encTable.indexOf(\"+\");\ndecTable[\"_\".charCodeAt(0)] = encTable.indexOf(\"/\");\nexport const protoBase64 = {\n /**\n * Decodes a base64 string to a byte array.\n *\n * - ignores white-space, including line breaks and tabs\n * - allows inner padding (can decode concatenated base64 strings)\n * - does not require padding\n * - understands base64url encoding:\n * \"-\" instead of \"+\",\n * \"_\" instead of \"/\",\n * no padding\n */\n dec(base64Str) {\n // estimate byte size, not accounting for inner padding and whitespace\n let es = (base64Str.length * 3) / 4;\n if (base64Str[base64Str.length - 2] == \"=\")\n es -= 2;\n else if (base64Str[base64Str.length - 1] == \"=\")\n es -= 1;\n let bytes = new Uint8Array(es), bytePos = 0, // position in byte array\n groupPos = 0, // position in base64 group\n b, // current byte\n p = 0; // previous byte\n for (let i = 0; i < base64Str.length; i++) {\n b = decTable[base64Str.charCodeAt(i)];\n if (b === undefined) {\n switch (base64Str[i]) {\n // @ts-ignore TS7029: Fallthrough case in switch\n case \"=\":\n groupPos = 0; // reset state when padding found\n // @ts-ignore TS7029: Fallthrough case in switch\n case \"\\n\":\n case \"\\r\":\n case \"\\t\":\n case \" \":\n continue; // skip white-space, and padding\n default:\n throw Error(\"invalid base64 string.\");\n }\n }\n switch (groupPos) {\n case 0:\n p = b;\n groupPos = 1;\n break;\n case 1:\n bytes[bytePos++] = (p << 2) | ((b & 48) >> 4);\n p = b;\n groupPos = 2;\n break;\n case 2:\n bytes[bytePos++] = ((p & 15) << 4) | ((b & 60) >> 2);\n p = b;\n groupPos = 3;\n break;\n case 3:\n bytes[bytePos++] = ((p & 3) << 6) | b;\n groupPos = 0;\n break;\n }\n }\n if (groupPos == 1)\n throw Error(\"invalid base64 string.\");\n return bytes.subarray(0, bytePos);\n },\n /**\n * Encode a byte array to a base64 string.\n */\n enc(bytes) {\n let base64 = \"\", groupPos = 0, // position in base64 group\n b, // current byte\n p = 0; // carry over from previous byte\n for (let i = 0; i < bytes.length; i++) {\n b = bytes[i];\n switch (groupPos) {\n case 0:\n base64 += encTable[b >> 2];\n p = (b & 3) << 4;\n groupPos = 1;\n break;\n case 1:\n base64 += encTable[p | (b >> 4)];\n p = (b & 15) << 2;\n groupPos = 2;\n break;\n case 2:\n base64 += encTable[p | (b >> 6)];\n base64 += encTable[b & 63];\n groupPos = 0;\n break;\n }\n }\n // add output padding\n if (groupPos) {\n base64 += encTable[p];\n base64 += \"=\";\n if (groupPos == 1)\n base64 += \"=\";\n }\n return base64;\n },\n};\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Message } from \"../message.js\";\nimport { ScalarType } from \"../field.js\";\nimport { assert, assertFloat32, assertInt32, assertUInt32 } from \"./assert.js\";\nimport { protoInt64 } from \"../proto-int64.js\";\nimport { protoBase64 } from \"../proto-base64.js\";\n/* eslint-disable no-case-declarations, @typescript-eslint/restrict-plus-operands,@typescript-eslint/no-explicit-any,@typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-argument */\n// Default options for parsing JSON.\nconst jsonReadDefaults = {\n ignoreUnknownFields: false,\n};\n// Default options for serializing to JSON.\nconst jsonWriteDefaults = {\n emitDefaultValues: false,\n enumAsInteger: false,\n useProtoFieldName: false,\n prettySpaces: 0,\n};\nfunction makeReadOptions(options) {\n return options ? Object.assign(Object.assign({}, jsonReadDefaults), options) : jsonReadDefaults;\n}\nfunction makeWriteOptions(options) {\n return options ? Object.assign(Object.assign({}, jsonWriteDefaults), options) : jsonWriteDefaults;\n}\nexport function makeJsonFormatCommon(makeWriteField) {\n const writeField = makeWriteField(writeEnum, writeScalar);\n return {\n makeReadOptions,\n makeWriteOptions,\n readMessage(type, json, options, message) {\n if (json == null || Array.isArray(json) || typeof json != \"object\") {\n throw new Error(`cannot decode message ${type.typeName} from JSON: ${this.debug(json)}`);\n }\n message = message !== null && message !== void 0 ? message : new type();\n const oneofSeen = {};\n for (const [jsonKey, jsonValue] of Object.entries(json)) {\n const field = type.fields.findJsonName(jsonKey);\n if (!field) {\n if (!options.ignoreUnknownFields) {\n throw new Error(`cannot decode message ${type.typeName} from JSON: key \"${jsonKey}\" is unknown`);\n }\n continue;\n }\n let localName = field.localName;\n let target = message;\n if (field.oneof) {\n if (jsonValue === null && field.kind == \"scalar\") {\n // see conformance test Required.Proto3.JsonInput.OneofFieldNull{First,Second}\n continue;\n }\n const seen = oneofSeen[field.oneof.localName];\n if (seen) {\n throw new Error(`cannot decode message ${type.typeName} from JSON: multiple keys for oneof \"${field.oneof.name}\" present: \"${seen}\", \"${jsonKey}\"`);\n }\n oneofSeen[field.oneof.localName] = jsonKey;\n target = target[field.oneof.localName] = { case: localName };\n localName = \"value\";\n }\n if (field.repeated) {\n if (jsonValue === null) {\n continue;\n }\n if (!Array.isArray(jsonValue)) {\n throw new Error(`cannot decode field ${type.typeName}.${field.name} from JSON: ${this.debug(jsonValue)}`);\n }\n const targetArray = target[localName];\n for (const jsonItem of jsonValue) {\n if (jsonItem === null) {\n throw new Error(`cannot decode field ${type.typeName}.${field.name} from JSON: ${this.debug(jsonItem)}`);\n }\n let val;\n // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check -- \"map\" is invalid for repeated fields\n switch (field.kind) {\n case \"message\":\n val = field.T.fromJson(jsonItem, options);\n break;\n case \"enum\":\n val = readEnum(field.T, jsonItem, options.ignoreUnknownFields);\n if (val === undefined)\n continue;\n break;\n case \"scalar\":\n try {\n val = readScalar(field.T, jsonItem);\n }\n catch (e) {\n let m = `cannot decode field ${type.typeName}.${field.name} from JSON: ${this.debug(jsonItem)}`;\n if (e instanceof Error && e.message.length > 0) {\n m += `: ${e.message}`;\n }\n throw new Error(m);\n }\n break;\n }\n targetArray.push(val);\n }\n }\n else if (field.kind == \"map\") {\n if (jsonValue === null) {\n continue;\n }\n if (Array.isArray(jsonValue) || typeof jsonValue != \"object\") {\n throw new Error(`cannot decode field ${type.typeName}.${field.name} from JSON: ${this.debug(jsonValue)}`);\n }\n const targetMap = target[localName];\n for (const [jsonMapKey, jsonMapValue] of Object.entries(jsonValue)) {\n if (jsonMapValue === null) {\n throw new Error(`cannot decode field ${type.typeName}.${field.name} from JSON: map value null`);\n }\n let val;\n switch (field.V.kind) {\n case \"message\":\n val = field.V.T.fromJson(jsonMapValue, options);\n break;\n case \"enum\":\n val = readEnum(field.V.T, jsonMapValue, options.ignoreUnknownFields);\n if (val === undefined)\n continue;\n break;\n case \"scalar\":\n try {\n val = readScalar(field.V.T, jsonMapValue);\n }\n catch (e) {\n let m = `cannot decode map value for field ${type.typeName}.${field.name} from JSON: ${this.debug(jsonValue)}`;\n if (e instanceof Error && e.message.length > 0) {\n m += `: ${e.message}`;\n }\n throw new Error(m);\n }\n break;\n }\n try {\n targetMap[readScalar(field.K, field.K == ScalarType.BOOL\n ? jsonMapKey == \"true\"\n ? true\n : jsonMapKey == \"false\"\n ? false\n : jsonMapKey\n : jsonMapKey).toString()] = val;\n }\n catch (e) {\n let m = `cannot decode map key for field ${type.typeName}.${field.name} from JSON: ${this.debug(jsonValue)}`;\n if (e instanceof Error && e.message.length > 0) {\n m += `: ${e.message}`;\n }\n throw new Error(m);\n }\n }\n }\n else {\n switch (field.kind) {\n case \"message\":\n const messageType = field.T;\n if (jsonValue === null &&\n messageType.typeName != \"google.protobuf.Value\") {\n if (field.oneof) {\n throw new Error(`cannot decode field ${type.typeName}.${field.name} from JSON: null is invalid for oneof field \"${jsonKey}\"`);\n }\n continue;\n }\n if (target[localName] instanceof Message) {\n target[localName].fromJson(jsonValue, options);\n }\n else {\n target[localName] = messageType.fromJson(jsonValue, options);\n if (messageType.fieldWrapper && !field.oneof) {\n target[localName] = messageType.fieldWrapper.unwrapField(target[localName]);\n }\n }\n break;\n case \"enum\":\n const enumValue = readEnum(field.T, jsonValue, options.ignoreUnknownFields);\n if (enumValue !== undefined) {\n target[localName] = enumValue;\n }\n break;\n case \"scalar\":\n try {\n target[localName] = readScalar(field.T, jsonValue);\n }\n catch (e) {\n let m = `cannot decode field ${type.typeName}.${field.name} from JSON: ${this.debug(jsonValue)}`;\n if (e instanceof Error && e.message.length > 0) {\n m += `: ${e.message}`;\n }\n throw new Error(m);\n }\n break;\n }\n }\n }\n return message;\n },\n writeMessage(message, options) {\n const type = message.getType();\n const json = {};\n let field;\n try {\n for (const member of type.fields.byMember()) {\n let jsonValue;\n if (member.kind == \"oneof\") {\n const oneof = message[member.localName];\n if (oneof.value === undefined) {\n continue;\n }\n field = member.findField(oneof.case);\n if (!field) {\n throw \"oneof case not found: \" + oneof.case;\n }\n jsonValue = writeField(field, oneof.value, options);\n }\n else {\n field = member;\n jsonValue = writeField(field, message[field.localName], options);\n }\n if (jsonValue !== undefined) {\n json[options.useProtoFieldName ? field.name : field.jsonName] =\n jsonValue;\n }\n }\n }\n catch (e) {\n const m = field\n ? `cannot encode field ${type.typeName}.${field.name} to JSON`\n : `cannot encode message ${type.typeName} to JSON`;\n const r = e instanceof Error ? e.message : String(e);\n throw new Error(m + (r.length > 0 ? `: ${r}` : \"\"));\n }\n return json;\n },\n readScalar,\n writeScalar,\n debug: debugJsonValue,\n };\n}\nfunction debugJsonValue(json) {\n if (json === null) {\n return \"null\";\n }\n switch (typeof json) {\n case \"object\":\n return Array.isArray(json) ? \"array\" : \"object\";\n case \"string\":\n return json.length > 100 ? \"string\" : `\"${json.split('\"').join('\\\\\"')}\"`;\n default:\n return String(json);\n }\n}\n// May throw an error. If the error message is non-blank, it should be shown.\n// It is up to the caller to provide context.\nfunction readScalar(type, json) {\n // every valid case in the switch below returns, and every fall\n // through is regarded as a failure.\n switch (type) {\n // float, double: JSON value will be a number or one of the special string values \"NaN\", \"Infinity\", and \"-Infinity\".\n // Either numbers or strings are accepted. Exponent notation is also accepted.\n case ScalarType.DOUBLE:\n case ScalarType.FLOAT:\n if (json === null)\n return 0.0;\n if (json === \"NaN\")\n return Number.NaN;\n if (json === \"Infinity\")\n return Number.POSITIVE_INFINITY;\n if (json === \"-Infinity\")\n return Number.NEGATIVE_INFINITY;\n if (json === \"\") {\n // empty string is not a number\n break;\n }\n if (typeof json == \"string\" && json.trim().length !== json.length) {\n // extra whitespace\n break;\n }\n if (typeof json != \"string\" && typeof json != \"number\") {\n break;\n }\n const float = Number(json);\n if (Number.isNaN(float)) {\n // not a number\n break;\n }\n if (!Number.isFinite(float)) {\n // infinity and -infinity are handled by string representation above, so this is an error\n break;\n }\n if (type == ScalarType.FLOAT)\n assertFloat32(float);\n return float;\n // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted.\n case ScalarType.INT32:\n case ScalarType.FIXED32:\n case ScalarType.SFIXED32:\n case ScalarType.SINT32:\n case ScalarType.UINT32:\n if (json === null)\n return 0;\n let int32;\n if (typeof json == \"number\")\n int32 = json;\n else if (typeof json == \"string\" && json.length > 0) {\n if (json.trim().length === json.length)\n int32 = Number(json);\n }\n if (int32 === undefined)\n break;\n if (type == ScalarType.UINT32)\n assertUInt32(int32);\n else\n assertInt32(int32);\n return int32;\n // int64, fixed64, uint64: JSON value will be a decimal string. Either numbers or strings are accepted.\n case ScalarType.INT64:\n case ScalarType.SFIXED64:\n case ScalarType.SINT64:\n if (json === null)\n return protoInt64.zero;\n if (typeof json != \"number\" && typeof json != \"string\")\n break;\n return protoInt64.parse(json);\n case ScalarType.FIXED64:\n case ScalarType.UINT64:\n if (json === null)\n return protoInt64.zero;\n if (typeof json != \"number\" && typeof json != \"string\")\n break;\n return protoInt64.uParse(json);\n // bool:\n case ScalarType.BOOL:\n if (json === null)\n return false;\n if (typeof json !== \"boolean\")\n break;\n return json;\n // string:\n case ScalarType.STRING:\n if (json === null)\n return \"\";\n if (typeof json !== \"string\") {\n break;\n }\n // A string must always contain UTF-8 encoded or 7-bit ASCII.\n // We validate with encodeURIComponent, which appears to be the fastest widely available option.\n try {\n encodeURIComponent(json);\n }\n catch (e) {\n throw new Error(\"invalid UTF8\");\n }\n return json;\n // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings.\n // Either standard or URL-safe base64 encoding with/without paddings are accepted.\n case ScalarType.BYTES:\n if (json === null || json === \"\")\n return new Uint8Array(0);\n if (typeof json !== \"string\")\n break;\n return protoBase64.dec(json);\n }\n throw new Error();\n}\nfunction readEnum(type, json, ignoreUnknownFields) {\n if (json === null) {\n // proto3 requires 0 to be default value for all enums\n return 0;\n }\n // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check\n switch (typeof json) {\n case \"number\":\n if (Number.isInteger(json)) {\n return json;\n }\n break;\n case \"string\":\n const value = type.findName(json);\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n if (value || ignoreUnknownFields) {\n return value === null || value === void 0 ? void 0 : value.no;\n }\n break;\n }\n throw new Error(`cannot decode enum ${type.typeName} from JSON: ${debugJsonValue(json)}`);\n}\nfunction writeEnum(type, value, emitIntrinsicDefault, enumAsInteger) {\n var _a;\n if (value === undefined) {\n return value;\n }\n if (value === 0 && !emitIntrinsicDefault) {\n // proto3 requires 0 to be default value for all enums\n return undefined;\n }\n if (enumAsInteger) {\n return value;\n }\n if (type.typeName == \"google.protobuf.NullValue\") {\n return null;\n }\n const val = type.findNumber(value);\n return (_a = val === null || val === void 0 ? void 0 : val.name) !== null && _a !== void 0 ? _a : value; // if we don't know the enum value, just return the number\n}\nfunction writeScalar(type, value, emitIntrinsicDefault) {\n if (value === undefined) {\n return undefined;\n }\n switch (type) {\n // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted.\n case ScalarType.INT32:\n case ScalarType.SFIXED32:\n case ScalarType.SINT32:\n case ScalarType.FIXED32:\n case ScalarType.UINT32:\n assert(typeof value == \"number\");\n return value != 0 || emitIntrinsicDefault ? value : undefined;\n // float, double: JSON value will be a number or one of the special string values \"NaN\", \"Infinity\", and \"-Infinity\".\n // Either numbers or strings are accepted. Exponent notation is also accepted.\n case ScalarType.FLOAT:\n // assertFloat32(value);\n case ScalarType.DOUBLE: // eslint-disable-line no-fallthrough\n assert(typeof value == \"number\");\n if (Number.isNaN(value))\n return \"NaN\";\n if (value === Number.POSITIVE_INFINITY)\n return \"Infinity\";\n if (value === Number.NEGATIVE_INFINITY)\n return \"-Infinity\";\n return value !== 0 || emitIntrinsicDefault ? value : undefined;\n // string:\n case ScalarType.STRING:\n assert(typeof value == \"string\");\n return value.length > 0 || emitIntrinsicDefault ? value : undefined;\n // bool:\n case ScalarType.BOOL:\n assert(typeof value == \"boolean\");\n return value || emitIntrinsicDefault ? value : undefined;\n // JSON value will be a decimal string. Either numbers or strings are accepted.\n case ScalarType.UINT64:\n case ScalarType.FIXED64:\n case ScalarType.INT64:\n case ScalarType.SFIXED64:\n case ScalarType.SINT64:\n assert(typeof value == \"bigint\" ||\n typeof value == \"string\" ||\n typeof value == \"number\");\n // We use implicit conversion with `value != 0` to catch both 0n and \"0\"\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return emitIntrinsicDefault || value != 0\n ? value.toString(10)\n : undefined;\n // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings.\n // Either standard or URL-safe base64 encoding with/without paddings are accepted.\n case ScalarType.BYTES:\n assert(value instanceof Uint8Array);\n return emitIntrinsicDefault || value.byteLength > 0\n ? protoBase64.enc(value)\n : undefined;\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { wrapField } from \"./field-wrapper.js\";\nimport { assert } from \"./assert.js\";\nimport { makeJsonFormatCommon } from \"./json-format-common.js\";\n/* eslint-disable no-case-declarations, @typescript-eslint/restrict-plus-operands,@typescript-eslint/no-explicit-any,@typescript-eslint/no-unsafe-return,@typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-argument */\nexport function makeJsonFormatProto3() {\n return makeJsonFormatCommon((writeEnum, writeScalar) => {\n return function writeField(field, value, options) {\n if (field.kind == \"map\") {\n const jsonObj = {};\n switch (field.V.kind) {\n case \"scalar\":\n for (const [entryKey, entryValue] of Object.entries(value)) {\n const val = writeScalar(field.V.T, entryValue, true);\n assert(val !== undefined);\n jsonObj[entryKey.toString()] = val; // JSON standard allows only (double quoted) string as property key\n }\n break;\n case \"message\":\n for (const [entryKey, entryValue] of Object.entries(value)) {\n // JSON standard allows only (double quoted) string as property key\n jsonObj[entryKey.toString()] = entryValue.toJson(options);\n }\n break;\n case \"enum\":\n const enumType = field.V.T;\n for (const [entryKey, entryValue] of Object.entries(value)) {\n assert(entryValue === undefined || typeof entryValue == \"number\");\n const val = writeEnum(enumType, entryValue, true, options.enumAsInteger);\n assert(val !== undefined);\n jsonObj[entryKey.toString()] = val; // JSON standard allows only (double quoted) string as property key\n }\n break;\n }\n return options.emitDefaultValues || Object.keys(jsonObj).length > 0\n ? jsonObj\n : undefined;\n }\n else if (field.repeated) {\n const jsonArr = [];\n switch (field.kind) {\n case \"scalar\":\n for (let i = 0; i < value.length; i++) {\n jsonArr.push(writeScalar(field.T, value[i], true));\n }\n break;\n case \"enum\":\n for (let i = 0; i < value.length; i++) {\n jsonArr.push(writeEnum(field.T, value[i], true, options.enumAsInteger));\n }\n break;\n case \"message\":\n for (let i = 0; i < value.length; i++) {\n jsonArr.push(wrapField(field.T, value[i]).toJson(options));\n }\n break;\n }\n return options.emitDefaultValues || jsonArr.length > 0\n ? jsonArr\n : undefined;\n }\n else {\n switch (field.kind) {\n case \"scalar\":\n return writeScalar(field.T, value, !!field.oneof || field.opt || options.emitDefaultValues);\n case \"enum\":\n return writeEnum(field.T, value, !!field.oneof || field.opt || options.emitDefaultValues, options.enumAsInteger);\n case \"message\":\n return value !== undefined\n ? wrapField(field.T, value).toJson(options)\n : undefined;\n }\n }\n };\n });\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { setEnumType } from \"./enum.js\";\nimport { Message } from \"../message.js\";\nimport { ScalarType } from \"../field.js\";\nimport { scalarEquals } from \"./scalars.js\";\n/* eslint-disable @typescript-eslint/no-explicit-any,@typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-return,@typescript-eslint/no-unsafe-argument,no-case-declarations */\nexport function makeUtilCommon() {\n return {\n setEnumType,\n initPartial(source, target) {\n if (source === undefined) {\n return;\n }\n const type = target.getType();\n for (const member of type.fields.byMember()) {\n const localName = member.localName, t = target, s = source;\n if (s[localName] === undefined) {\n continue;\n }\n switch (member.kind) {\n case \"oneof\":\n const sk = s[localName].case;\n if (sk === undefined) {\n continue;\n }\n const sourceField = member.findField(sk);\n let val = s[localName].value;\n if (sourceField &&\n sourceField.kind == \"message\" &&\n !(val instanceof sourceField.T)) {\n val = new sourceField.T(val);\n }\n else if (sourceField &&\n sourceField.kind === \"scalar\" &&\n sourceField.T === ScalarType.BYTES) {\n val = toU8Arr(val);\n }\n t[localName] = { case: sk, value: val };\n break;\n case \"scalar\":\n case \"enum\":\n let copy = s[localName];\n if (member.T === ScalarType.BYTES) {\n copy = member.repeated\n ? copy.map(toU8Arr)\n : toU8Arr(copy);\n }\n t[localName] = copy;\n break;\n case \"map\":\n switch (member.V.kind) {\n case \"scalar\":\n case \"enum\":\n if (member.V.T === ScalarType.BYTES) {\n for (const [k, v] of Object.entries(s[localName])) {\n t[localName][k] = toU8Arr(v);\n }\n }\n else {\n Object.assign(t[localName], s[localName]);\n }\n break;\n case \"message\":\n const messageType = member.V.T;\n for (const k of Object.keys(s[localName])) {\n let val = s[localName][k];\n if (!messageType.fieldWrapper) {\n // We only take partial input for messages that are not a wrapper type.\n // For those messages, we recursively normalize the partial input.\n val = new messageType(val);\n }\n t[localName][k] = val;\n }\n break;\n }\n break;\n case \"message\":\n const mt = member.T;\n if (member.repeated) {\n t[localName] = s[localName].map((val) => val instanceof mt ? val : new mt(val));\n }\n else if (s[localName] !== undefined) {\n const val = s[localName];\n if (mt.fieldWrapper) {\n if (\n // We can't use BytesValue.typeName as that will create a circular import\n mt.typeName === \"google.protobuf.BytesValue\") {\n t[localName] = toU8Arr(val);\n }\n else {\n t[localName] = val;\n }\n }\n else {\n t[localName] = val instanceof mt ? val : new mt(val);\n }\n }\n break;\n }\n }\n },\n equals(type, a, b) {\n if (a === b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n return type.fields.byMember().every((m) => {\n const va = a[m.localName];\n const vb = b[m.localName];\n if (m.repeated) {\n if (va.length !== vb.length) {\n return false;\n }\n // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check -- repeated fields are never \"map\"\n switch (m.kind) {\n case \"message\":\n return va.every((a, i) => m.T.equals(a, vb[i]));\n case \"scalar\":\n return va.every((a, i) => scalarEquals(m.T, a, vb[i]));\n case \"enum\":\n return va.every((a, i) => scalarEquals(ScalarType.INT32, a, vb[i]));\n }\n throw new Error(`repeated cannot contain ${m.kind}`);\n }\n switch (m.kind) {\n case \"message\":\n return m.T.equals(va, vb);\n case \"enum\":\n return scalarEquals(ScalarType.INT32, va, vb);\n case \"scalar\":\n return scalarEquals(m.T, va, vb);\n case \"oneof\":\n if (va.case !== vb.case) {\n return false;\n }\n const s = m.findField(va.case);\n if (s === undefined) {\n return true;\n }\n // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check -- oneof fields are never \"map\"\n switch (s.kind) {\n case \"message\":\n return s.T.equals(va.value, vb.value);\n case \"enum\":\n return scalarEquals(ScalarType.INT32, va.value, vb.value);\n case \"scalar\":\n return scalarEquals(s.T, va.value, vb.value);\n }\n throw new Error(`oneof cannot contain ${s.kind}`);\n case \"map\":\n const keys = Object.keys(va).concat(Object.keys(vb));\n switch (m.V.kind) {\n case \"message\":\n const messageType = m.V.T;\n return keys.every((k) => messageType.equals(va[k], vb[k]));\n case \"enum\":\n return keys.every((k) => scalarEquals(ScalarType.INT32, va[k], vb[k]));\n case \"scalar\":\n const scalarType = m.V.T;\n return keys.every((k) => scalarEquals(scalarType, va[k], vb[k]));\n }\n break;\n }\n });\n },\n clone(message) {\n const type = message.getType(), target = new type(), any = target;\n for (const member of type.fields.byMember()) {\n const source = message[member.localName];\n let copy;\n if (member.repeated) {\n copy = source.map(cloneSingularField);\n }\n else if (member.kind == \"map\") {\n copy = any[member.localName];\n for (const [key, v] of Object.entries(source)) {\n copy[key] = cloneSingularField(v);\n }\n }\n else if (member.kind == \"oneof\") {\n const f = member.findField(source.case);\n copy = f\n ? { case: source.case, value: cloneSingularField(source.value) }\n : { case: undefined };\n }\n else {\n copy = cloneSingularField(source);\n }\n any[member.localName] = copy;\n }\n return target;\n },\n };\n}\n// clone a single field value - i.e. the element type of repeated fields, the value type of maps\nfunction cloneSingularField(value) {\n if (value === undefined) {\n return value;\n }\n if (value instanceof Message) {\n return value.clone();\n }\n if (value instanceof Uint8Array) {\n const c = new Uint8Array(value.byteLength);\n c.set(value);\n return c;\n }\n return value;\n}\n// converts any ArrayLike to Uint8Array if necessary.\nfunction toU8Arr(input) {\n return input instanceof Uint8Array ? input : new Uint8Array(input);\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nexport class InternalFieldList {\n constructor(fields, normalizer) {\n this._fields = fields;\n this._normalizer = normalizer;\n }\n findJsonName(jsonName) {\n if (!this.jsonNames) {\n const t = {};\n for (const f of this.list()) {\n t[f.jsonName] = t[f.name] = f;\n }\n this.jsonNames = t;\n }\n return this.jsonNames[jsonName];\n }\n find(fieldNo) {\n if (!this.numbers) {\n const t = {};\n for (const f of this.list()) {\n t[f.no] = f;\n }\n this.numbers = t;\n }\n return this.numbers[fieldNo];\n }\n list() {\n if (!this.all) {\n this.all = this._normalizer(this._fields);\n }\n return this.all;\n }\n byNumber() {\n if (!this.numbersAsc) {\n this.numbersAsc = this.list()\n .concat()\n .sort((a, b) => a.no - b.no);\n }\n return this.numbersAsc;\n }\n byMember() {\n if (!this.members) {\n this.members = [];\n const a = this.members;\n let o;\n for (const f of this.list()) {\n if (f.oneof) {\n if (f.oneof !== o) {\n o = f.oneof;\n a.push(o);\n }\n }\n else {\n a.push(f);\n }\n }\n }\n return this.members;\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * Returns the name of a protobuf element in generated code.\n *\n * Field names - including oneofs - are converted to lowerCamelCase. For\n * messages, enumerations and services, the package name is stripped from\n * the type name. For nested messages and enumerations, the names are joined\n * with an underscore. For methods, the first character is made lowercase.\n */\nexport function localName(desc) {\n switch (desc.kind) {\n case \"field\":\n return localFieldName(desc.name, desc.oneof !== undefined);\n case \"oneof\":\n return localOneofName(desc.name);\n case \"enum\":\n case \"message\":\n case \"service\": {\n const pkg = desc.file.proto.package;\n const offset = pkg === undefined ? 0 : pkg.length + 1;\n const name = desc.typeName.substring(offset).replace(/\\./g, \"_\");\n // For services, we only care about safe identifiers, not safe object properties,\n // but we have shipped v1 with a bug that respected object properties, and we\n // do not want to introduce a breaking change, so we continue to escape for\n // safe object properties.\n // See https://github.com/bufbuild/protobuf-es/pull/391\n return safeObjectProperty(safeIdentifier(name));\n }\n case \"enum_value\": {\n const sharedPrefix = desc.parent.sharedPrefix;\n if (sharedPrefix === undefined) {\n return desc.name;\n }\n const name = desc.name.substring(sharedPrefix.length);\n return safeObjectProperty(name);\n }\n case \"rpc\": {\n let name = desc.name;\n if (name.length == 0) {\n return name;\n }\n name = name[0].toLowerCase() + name.substring(1);\n return safeObjectProperty(name);\n }\n }\n}\n/**\n * Returns the name of a field in generated code.\n */\nexport function localFieldName(protoName, inOneof) {\n const name = protoCamelCase(protoName);\n if (inOneof) {\n // oneof member names are not properties, but values of the `case` property.\n return name;\n }\n return safeObjectProperty(safeMessageProperty(name));\n}\n/**\n * Returns the name of a oneof group in generated code.\n */\nexport function localOneofName(protoName) {\n return localFieldName(protoName, false);\n}\n/**\n * Returns the JSON name for a protobuf field, exactly like protoc does.\n */\nexport const fieldJsonName = protoCamelCase;\n/**\n * Finds a prefix shared by enum values, for example `MY_ENUM_` for\n * `enum MyEnum {MY_ENUM_A=0; MY_ENUM_B=1;}`.\n */\nexport function findEnumSharedPrefix(enumName, valueNames) {\n const prefix = camelToSnakeCase(enumName) + \"_\";\n for (const name of valueNames) {\n if (!name.toLowerCase().startsWith(prefix)) {\n return undefined;\n }\n const shortName = name.substring(prefix.length);\n if (shortName.length == 0) {\n return undefined;\n }\n if (/^\\d/.test(shortName)) {\n // identifiers must not start with numbers\n return undefined;\n }\n }\n return prefix;\n}\n/**\n * Converts lowerCamelCase or UpperCamelCase into lower_snake_case.\n * This is used to find shared prefixes in an enum.\n */\nfunction camelToSnakeCase(camel) {\n return (camel.substring(0, 1) + camel.substring(1).replace(/[A-Z]/g, (c) => \"_\" + c)).toLowerCase();\n}\n/**\n * Converts snake_case to protoCamelCase according to the convention\n * used by protoc to convert a field name to a JSON name.\n */\nfunction protoCamelCase(snakeCase) {\n let capNext = false;\n const b = [];\n for (let i = 0; i < snakeCase.length; i++) {\n let c = snakeCase.charAt(i);\n switch (c) {\n case \"_\":\n capNext = true;\n break;\n case \"0\":\n case \"1\":\n case \"2\":\n case \"3\":\n case \"4\":\n case \"5\":\n case \"6\":\n case \"7\":\n case \"8\":\n case \"9\":\n b.push(c);\n capNext = false;\n break;\n default:\n if (capNext) {\n capNext = false;\n c = c.toUpperCase();\n }\n b.push(c);\n break;\n }\n }\n return b.join(\"\");\n}\n/**\n * Names that cannot be used for identifiers, such as class names,\n * but _can_ be used for object properties.\n */\nconst reservedIdentifiers = new Set([\n // ECMAScript 2015 keywords\n \"break\",\n \"case\",\n \"catch\",\n \"class\",\n \"const\",\n \"continue\",\n \"debugger\",\n \"default\",\n \"delete\",\n \"do\",\n \"else\",\n \"export\",\n \"extends\",\n \"false\",\n \"finally\",\n \"for\",\n \"function\",\n \"if\",\n \"import\",\n \"in\",\n \"instanceof\",\n \"new\",\n \"null\",\n \"return\",\n \"super\",\n \"switch\",\n \"this\",\n \"throw\",\n \"true\",\n \"try\",\n \"typeof\",\n \"var\",\n \"void\",\n \"while\",\n \"with\",\n \"yield\",\n // ECMAScript 2015 future reserved keywords\n \"enum\",\n \"implements\",\n \"interface\",\n \"let\",\n \"package\",\n \"private\",\n \"protected\",\n \"public\",\n \"static\",\n // Class name cannot be 'Object' when targeting ES5 with module CommonJS\n \"Object\",\n // TypeScript keywords that cannot be used for types (as opposed to variables)\n \"bigint\",\n \"number\",\n \"boolean\",\n \"string\",\n \"object\",\n // Identifiers reserved for the runtime, so we can generate legible code\n \"globalThis\",\n \"Uint8Array\",\n \"Partial\",\n]);\n/**\n * Names that cannot be used for object properties because they are reserved\n * by built-in JavaScript properties.\n */\nconst reservedObjectProperties = new Set([\n // names reserved by JavaScript\n \"constructor\",\n \"toString\",\n \"toJSON\",\n \"valueOf\",\n]);\n/**\n * Names that cannot be used for object properties because they are reserved\n * by the runtime.\n */\nconst reservedMessageProperties = new Set([\n // names reserved by the runtime\n \"getType\",\n \"clone\",\n \"equals\",\n \"fromBinary\",\n \"fromJson\",\n \"fromJsonString\",\n \"toBinary\",\n \"toJson\",\n \"toJsonString\",\n // names reserved by the runtime for the future\n \"toObject\",\n]);\nconst fallback = (name) => `${name}$`;\n/**\n * Will wrap names that are Object prototype properties or names reserved\n * for `Message`s.\n */\nconst safeMessageProperty = (name) => {\n if (reservedMessageProperties.has(name)) {\n return fallback(name);\n }\n return name;\n};\n/**\n * Names that cannot be used for object properties because they are reserved\n * by built-in JavaScript properties.\n */\nexport const safeObjectProperty = (name) => {\n if (reservedObjectProperties.has(name)) {\n return fallback(name);\n }\n return name;\n};\n/**\n * Names that can be used for identifiers or class properties\n */\nexport const safeIdentifier = (name) => {\n if (reservedIdentifiers.has(name)) {\n return fallback(name);\n }\n return name;\n};\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { localOneofName } from \"./names.js\";\nimport { assert } from \"./assert.js\";\nexport class InternalOneofInfo {\n constructor(name) {\n this.kind = \"oneof\";\n this.repeated = false;\n this.packed = false;\n this.opt = false;\n this.default = undefined;\n this.fields = [];\n this.name = name;\n this.localName = localOneofName(name);\n }\n addField(field) {\n assert(field.oneof === this, `field ${field.name} not one of ${this.name}`);\n this.fields.push(field);\n }\n findField(localName) {\n if (!this._lookup) {\n this._lookup = Object.create(null);\n for (let i = 0; i < this.fields.length; i++) {\n this._lookup[this.fields[i].localName] = this.fields[i];\n }\n }\n return this._lookup[localName];\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { makeProtoRuntime } from \"./private/proto-runtime.js\";\nimport { makeBinaryFormatProto3 } from \"./private/binary-format-proto3.js\";\nimport { makeJsonFormatProto3 } from \"./private/json-format-proto3.js\";\nimport { makeUtilCommon } from \"./private/util-common.js\";\nimport { InternalFieldList } from \"./private/field-list.js\";\nimport { scalarDefaultValue } from \"./private/scalars.js\";\nimport { ScalarType } from \"./field.js\";\nimport { InternalOneofInfo } from \"./private/field.js\";\nimport { localFieldName, fieldJsonName } from \"./private/names.js\";\n/**\n * Provides functionality for messages defined with the proto3 syntax.\n */\nexport const proto3 = makeProtoRuntime(\"proto3\", makeJsonFormatProto3(), makeBinaryFormatProto3(), Object.assign(Object.assign({}, makeUtilCommon()), { newFieldList(fields) {\n return new InternalFieldList(fields, normalizeFieldInfosProto3);\n },\n initFields(target) {\n for (const member of target.getType().fields.byMember()) {\n if (member.opt) {\n continue;\n }\n const name = member.localName, t = target;\n if (member.repeated) {\n t[name] = [];\n continue;\n }\n switch (member.kind) {\n case \"oneof\":\n t[name] = { case: undefined };\n break;\n case \"enum\":\n t[name] = 0;\n break;\n case \"map\":\n t[name] = {};\n break;\n case \"scalar\":\n t[name] = scalarDefaultValue(member.T); // eslint-disable-line @typescript-eslint/no-unsafe-assignment\n break;\n case \"message\":\n // message fields are always optional in proto3\n break;\n }\n }\n } }));\n/* eslint-disable @typescript-eslint/no-explicit-any,@typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-argument */\nfunction normalizeFieldInfosProto3(fieldInfos) {\n var _a, _b, _c;\n const r = [];\n let o;\n for (const field of typeof fieldInfos == \"function\"\n ? fieldInfos()\n : fieldInfos) {\n const f = field;\n f.localName = localFieldName(field.name, field.oneof !== undefined);\n f.jsonName = (_a = field.jsonName) !== null && _a !== void 0 ? _a : fieldJsonName(field.name);\n f.repeated = (_b = field.repeated) !== null && _b !== void 0 ? _b : false;\n // From the proto3 language guide:\n // > In proto3, repeated fields of scalar numeric types are packed by default.\n // This information is incomplete - according to the conformance tests, BOOL\n // and ENUM are packed by default as well. This means only STRING and BYTES\n // are not packed by default, which makes sense because they are length-delimited.\n f.packed =\n (_c = field.packed) !== null && _c !== void 0 ? _c : (field.kind == \"enum\" ||\n (field.kind == \"scalar\" &&\n field.T != ScalarType.BYTES &&\n field.T != ScalarType.STRING));\n // We do not surface options at this time\n // f.options = field.options ?? emptyReadonlyObject;\n if (field.oneof !== undefined) {\n const ooname = typeof field.oneof == \"string\" ? field.oneof : field.oneof.name;\n if (!o || o.name != ooname) {\n o = new InternalOneofInfo(ooname);\n }\n f.oneof = o;\n o.addField(f);\n }\n r.push(f);\n }\n return r;\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * MethodKind represents the four method types that can be declared in\n * protobuf with the `stream` keyword:\n *\n * 1. Unary: rpc (Input) returns (Output)\n * 2. ServerStreaming: rpc (Input) returns (stream Output)\n * 3. ClientStreaming: rpc (stream Input) returns (Output)\n * 4. BiDiStreaming: rpc (stream Input) returns (stream Output)\n */\nexport var MethodKind;\n(function (MethodKind) {\n MethodKind[MethodKind[\"Unary\"] = 0] = \"Unary\";\n MethodKind[MethodKind[\"ServerStreaming\"] = 1] = \"ServerStreaming\";\n MethodKind[MethodKind[\"ClientStreaming\"] = 2] = \"ClientStreaming\";\n MethodKind[MethodKind[\"BiDiStreaming\"] = 3] = \"BiDiStreaming\";\n})(MethodKind || (MethodKind = {}));\n/**\n * Is this method side-effect-free (or safe in HTTP parlance), or just\n * idempotent, or neither? HTTP based RPC implementation may choose GET verb\n * for safe methods, and PUT verb for idempotent methods instead of the\n * default POST.\n *\n * This enum matches the protobuf enum google.protobuf.MethodOptions.IdempotencyLevel,\n * defined in the well-known type google/protobuf/descriptor.proto, but\n * drops UNKNOWN.\n */\nexport var MethodIdempotency;\n(function (MethodIdempotency) {\n /**\n * Idempotent, no side effects.\n */\n MethodIdempotency[MethodIdempotency[\"NoSideEffects\"] = 1] = \"NoSideEffects\";\n /**\n * Idempotent, but may have side effects.\n */\n MethodIdempotency[MethodIdempotency[\"Idempotent\"] = 2] = \"Idempotent\";\n})(MethodIdempotency || (MethodIdempotency = {}));\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Message } from \"../../message.js\";\nimport { proto3 } from \"../../proto3.js\";\n/**\n * A generic empty message that you can re-use to avoid defining duplicated\n * empty messages in your APIs. A typical example is to use it as the request\n * or the response type of an API method. For instance:\n *\n * service Foo {\n * rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n * }\n *\n *\n * @generated from message google.protobuf.Empty\n */\nexport class Empty extends Message {\n constructor(data) {\n super();\n proto3.util.initPartial(data, this);\n }\n static fromBinary(bytes, options) {\n return new Empty().fromBinary(bytes, options);\n }\n static fromJson(jsonValue, options) {\n return new Empty().fromJson(jsonValue, options);\n }\n static fromJsonString(jsonString, options) {\n return new Empty().fromJsonString(jsonString, options);\n }\n static equals(a, b) {\n return proto3.util.equals(Empty, a, b);\n }\n}\nEmpty.runtime = proto3;\nEmpty.typeName = \"google.protobuf.Empty\";\nEmpty.fields = proto3.util.newFieldList(() => []);\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * Connect represents categories of errors as codes, and each code maps to a\n * specific HTTP status code. The codes and their semantics were chosen to\n * match gRPC. Only the codes below are valid \u2014 there are no user-defined\n * codes.\n *\n * See the specification at https://connectrpc.com/docs/protocol#error-codes\n * for details.\n */\nexport var Code;\n(function (Code) {\n /**\n * Canceled, usually be the user\n */\n Code[Code[\"Canceled\"] = 1] = \"Canceled\";\n /**\n * Unknown error\n */\n Code[Code[\"Unknown\"] = 2] = \"Unknown\";\n /**\n * Argument invalid regardless of system state\n */\n Code[Code[\"InvalidArgument\"] = 3] = \"InvalidArgument\";\n /**\n * Operation expired, may or may not have completed.\n */\n Code[Code[\"DeadlineExceeded\"] = 4] = \"DeadlineExceeded\";\n /**\n * Entity not found.\n */\n Code[Code[\"NotFound\"] = 5] = \"NotFound\";\n /**\n * Entity already exists.\n */\n Code[Code[\"AlreadyExists\"] = 6] = \"AlreadyExists\";\n /**\n * Operation not authorized.\n */\n Code[Code[\"PermissionDenied\"] = 7] = \"PermissionDenied\";\n /**\n * Quota exhausted.\n */\n Code[Code[\"ResourceExhausted\"] = 8] = \"ResourceExhausted\";\n /**\n * Argument invalid in current system state.\n */\n Code[Code[\"FailedPrecondition\"] = 9] = \"FailedPrecondition\";\n /**\n * Operation aborted.\n */\n Code[Code[\"Aborted\"] = 10] = \"Aborted\";\n /**\n * Out of bounds, use instead of FailedPrecondition.\n */\n Code[Code[\"OutOfRange\"] = 11] = \"OutOfRange\";\n /**\n * Operation not implemented or disabled.\n */\n Code[Code[\"Unimplemented\"] = 12] = \"Unimplemented\";\n /**\n * Internal error, reserved for \"serious errors\".\n */\n Code[Code[\"Internal\"] = 13] = \"Internal\";\n /**\n * Unavailable, client should back off and retry.\n */\n Code[Code[\"Unavailable\"] = 14] = \"Unavailable\";\n /**\n * Unrecoverable data loss or corruption.\n */\n Code[Code[\"DataLoss\"] = 15] = \"DataLoss\";\n /**\n * Request isn't authenticated.\n */\n Code[Code[\"Unauthenticated\"] = 16] = \"Unauthenticated\";\n})(Code || (Code = {}));\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Code } from \"../code.js\";\n/**\n * codeToString returns the string representation of a Code.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function codeToString(value) {\n const name = Code[value];\n if (typeof name != \"string\") {\n return value.toString();\n }\n return (name[0].toLowerCase() +\n name.substring(1).replace(/[A-Z]/g, (c) => \"_\" + c.toLowerCase()));\n}\nlet stringToCode;\n/**\n * codeFromString parses the string representation of a Code in snake_case.\n * For example, the string \"permission_denied\" parses into Code.PermissionDenied.\n *\n * If the given string cannot be parsed, the function returns undefined.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function codeFromString(value) {\n if (!stringToCode) {\n stringToCode = {};\n for (const value of Object.values(Code)) {\n if (typeof value == \"string\") {\n continue;\n }\n stringToCode[codeToString(value)] = value;\n }\n }\n return stringToCode[value];\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Code } from \"./code.js\";\nimport { createRegistry, Message } from \"@bufbuild/protobuf\";\nimport { codeToString } from \"./protocol-connect/code-string.js\";\n/**\n * ConnectError captures four pieces of information: a Code, an error\n * message, an optional cause of the error, and an optional collection of\n * arbitrary Protobuf messages called \"details\".\n *\n * Because developer tools typically show just the error message, we prefix\n * it with the status code, so that the most important information is always\n * visible immediately.\n *\n * Error details are wrapped with google.protobuf.Any on the wire, so that\n * a server or middleware can attach arbitrary data to an error. Use the\n * method findDetails() to retrieve the details.\n */\nexport class ConnectError extends Error {\n /**\n * Create a new ConnectError.\n * If no code is provided, code \"unknown\" is used.\n * Outgoing details are only relevant for the server side - a service may\n * raise an error with details, and it is up to the protocol implementation\n * to encode and send the details along with error.\n */\n constructor(message, code = Code.Unknown, metadata, outgoingDetails, cause) {\n super(createMessage(message, code));\n this.name = \"ConnectError\";\n // see https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-2.html#example\n Object.setPrototypeOf(this, new.target.prototype);\n this.rawMessage = message;\n this.code = code;\n this.metadata = new Headers(metadata !== null && metadata !== void 0 ? metadata : {});\n this.details = outgoingDetails !== null && outgoingDetails !== void 0 ? outgoingDetails : [];\n this.cause = cause;\n }\n /**\n * Convert any value - typically a caught error into a ConnectError,\n * following these rules:\n * - If the value is already a ConnectError, return it as is.\n * - If the value is an AbortError from the fetch API, return the message\n * of the AbortError with code Canceled.\n * - For other Errors, return the error message with code Unknown by default.\n * - For other values, return the values String representation as a message,\n * with the code Unknown by default.\n * The original value will be used for the \"cause\" property for the new\n * ConnectError.\n */\n static from(reason, code = Code.Unknown) {\n if (reason instanceof ConnectError) {\n return reason;\n }\n if (reason instanceof Error) {\n if (reason.name == \"AbortError\") {\n // Fetch requests can only be canceled with an AbortController.\n // We detect that condition by looking at the name of the raised\n // error object, and translate to the appropriate status code.\n return new ConnectError(reason.message, Code.Canceled);\n }\n return new ConnectError(reason.message, code, undefined, undefined, reason);\n }\n return new ConnectError(String(reason), code, undefined, undefined, reason);\n }\n findDetails(typeOrRegistry) {\n const registry = \"typeName\" in typeOrRegistry\n ? {\n findMessage: (typeName) => typeName === typeOrRegistry.typeName ? typeOrRegistry : undefined,\n }\n : typeOrRegistry;\n const details = [];\n for (const data of this.details) {\n if (data instanceof Message) {\n if (registry.findMessage(data.getType().typeName)) {\n details.push(data);\n }\n continue;\n }\n const type = registry.findMessage(data.type);\n if (type) {\n try {\n details.push(type.fromBinary(data.value));\n }\n catch (_) {\n // We silently give up if we are unable to parse the detail, because\n // that appears to be the least worst behavior.\n // It is very unlikely that a user surrounds a catch body handling the\n // error with another try-catch statement, and we do not want to\n // recommend doing so.\n }\n }\n }\n return details;\n }\n}\n/**\n * @deprecated use ConnectError.findDetails() instead\n */\nexport function connectErrorDetails(error, typeOrRegistry, ...moreTypes) {\n const types = \"typeName\" in typeOrRegistry ? [typeOrRegistry, ...moreTypes] : [];\n const registry = \"typeName\" in typeOrRegistry ? createRegistry(...types) : typeOrRegistry;\n const details = [];\n for (const data of error.details) {\n if (data instanceof Message) {\n if (registry.findMessage(data.getType().typeName)) {\n details.push(data);\n }\n continue;\n }\n const type = registry.findMessage(data.type);\n if (type) {\n try {\n details.push(type.fromBinary(data.value));\n }\n catch (_) {\n // We silently give up if we are unable to parse the detail, because\n // that appears to be the least worst behavior.\n // It is very unlikely that a user surrounds a catch body handling the\n // error with another try-catch statement, and we do not want to\n // recommend doing so.\n }\n }\n }\n return details;\n}\n/**\n * Create an error message, prefixing the given code.\n */\nfunction createMessage(message, code) {\n return message.length\n ? `[${codeToString(code)}] ${message}`\n : `[${codeToString(code)}]`;\n}\n/**\n * Convert any value - typically a caught error into a ConnectError,\n * following these rules:\n * - If the value is already a ConnectError, return it as is.\n * - If the value is an AbortError from the fetch API, return the message\n * of the AbortError with code Canceled.\n * - For other Errors, return the error message with code Unknown by default.\n * - For other values, return the values String representation as a message,\n * with the code Unknown by default.\n *\n * @deprecated use ConnectError.from() instead\n */\nexport function connectErrorFromReason(reason, code = Code.Unknown) {\n if (reason instanceof ConnectError) {\n return reason;\n }\n if (reason instanceof Error) {\n if (reason.name == \"AbortError\") {\n // Fetch requests can only be canceled with an AbortController.\n // We detect that condition by looking at the name of the raised\n // error object, and translate to the appropriate status code.\n return new ConnectError(reason.message, Code.Canceled);\n }\n return new ConnectError(reason.message, code);\n }\n return new ConnectError(String(reason), code);\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Message, protoBase64 } from \"@bufbuild/protobuf\";\nimport { ConnectError } from \"./connect-error.js\";\nimport { Code } from \"./code.js\";\n/**\n * Encode a single binary header value according to the Connect\n * and gRPC specifications.\n *\n * This function accepts raw binary data from a buffer, a string\n * with UTF-8 text, or a protobuf message. It encodes the input\n * with unpadded base64 and returns a string that can be used for\n * a header whose name ends with `-bin`.\n */\nexport function encodeBinaryHeader(value) {\n let bytes;\n if (value instanceof Message) {\n bytes = value.toBinary();\n }\n else if (typeof value == \"string\") {\n bytes = new TextEncoder().encode(value);\n }\n else {\n bytes = value instanceof Uint8Array ? value : new Uint8Array(value);\n }\n return protoBase64.enc(bytes).replace(/=+$/, \"\");\n}\nexport function decodeBinaryHeader(value, type, options) {\n try {\n const bytes = protoBase64.dec(value);\n if (type) {\n return type.fromBinary(bytes, options);\n }\n return bytes;\n }\n catch (e) {\n throw ConnectError.from(e, Code.DataLoss);\n }\n}\n/**\n * Merge two or more Headers objects by appending all fields from\n * all inputs to a new Headers object.\n */\nexport function appendHeaders(...headers) {\n const h = new Headers();\n for (const e of headers) {\n e.forEach((value, key) => {\n h.append(key, value);\n });\n }\n return h;\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * Create any client for the given service.\n *\n * The given createMethod function is called for each method definition\n * of the service. The function it returns is added to the client object\n * as a method.\n */\nexport function makeAnyClient(service, createMethod) {\n const client = {};\n for (const [localName, methodInfo] of Object.entries(service.methods)) {\n const method = createMethod(Object.assign(Object.assign({}, methodInfo), { localName,\n service }));\n if (method != null) {\n client[localName] = method;\n }\n }\n return client;\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { ConnectError } from \"../connect-error.js\";\nimport { Code } from \"../code.js\";\nimport { compressedFlag } from \"./compression.js\";\n/**\n * Create a WHATWG ReadableStream of enveloped messages from a ReadableStream\n * of bytes.\n *\n * Ideally, this would simply be a TransformStream, but ReadableStream.pipeThrough\n * does not have the necessary availability at this time.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function createEnvelopeReadableStream(stream) {\n let reader;\n let buffer = new Uint8Array(0);\n function append(chunk) {\n const n = new Uint8Array(buffer.length + chunk.length);\n n.set(buffer);\n n.set(chunk, buffer.length);\n buffer = n;\n }\n return new ReadableStream({\n start() {\n reader = stream.getReader();\n },\n async pull(controller) {\n let header = undefined;\n for (;;) {\n if (header === undefined && buffer.byteLength >= 5) {\n let length = 0;\n for (let i = 1; i < 5; i++) {\n length = (length << 8) + buffer[i];\n }\n header = { flags: buffer[0], length };\n }\n if (header !== undefined && buffer.byteLength >= header.length + 5) {\n break;\n }\n const result = await reader.read();\n if (result.done) {\n break;\n }\n append(result.value);\n }\n if (header === undefined) {\n if (buffer.byteLength == 0) {\n controller.close();\n return;\n }\n controller.error(new ConnectError(\"premature end of stream\", Code.DataLoss));\n return;\n }\n const data = buffer.subarray(5, 5 + header.length);\n buffer = buffer.subarray(5 + header.length);\n controller.enqueue({\n flags: header.flags,\n data,\n });\n },\n });\n}\n/**\n * Compress an EnvelopedMessage.\n *\n * Raises Internal if an enveloped message is already compressed.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport async function envelopeCompress(envelope, compression, compressMinBytes) {\n let { flags, data } = envelope;\n if ((flags & compressedFlag) === compressedFlag) {\n throw new ConnectError(\"invalid envelope, already compressed\", Code.Internal);\n }\n if (compression && data.byteLength >= compressMinBytes) {\n data = await compression.compress(data);\n flags = flags | compressedFlag;\n }\n return { data, flags };\n}\n/**\n * Decompress an EnvelopedMessage.\n *\n * Raises InvalidArgument if an envelope is compressed, but compression is null.\n *\n * Relies on the provided Compression to raise ResourceExhausted if the\n * *decompressed* message size is larger than readMaxBytes. If the envelope is\n * not compressed, readMaxBytes is not honored.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport async function envelopeDecompress(envelope, compression, readMaxBytes) {\n let { flags, data } = envelope;\n if ((flags & compressedFlag) === compressedFlag) {\n if (!compression) {\n throw new ConnectError(\"received compressed envelope, but do not know how to decompress\", Code.InvalidArgument);\n }\n data = await compression.decompress(data, readMaxBytes);\n flags = flags ^ compressedFlag;\n }\n return { data, flags };\n}\n/**\n * Encode a single enveloped message.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function encodeEnvelope(flags, data) {\n const bytes = new Uint8Array(data.length + 5);\n bytes.set(data, 5);\n const v = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\n v.setUint8(0, flags); // first byte is flags\n v.setUint32(1, data.length); // 4 bytes message length\n return bytes;\n}\n/**\n * Encode a set of enveloped messages.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function encodeEnvelopes(...envelopes) {\n const len = envelopes.reduce((previousValue, currentValue) => previousValue + currentValue.data.length + 5, 0);\n const bytes = new Uint8Array(len);\n const v = new DataView(bytes.buffer);\n let offset = 0;\n for (const e of envelopes) {\n v.setUint8(offset, e.flags); // first byte is flags\n v.setUint32(offset + 1, e.data.length); // 4 bytes message length\n bytes.set(e.data, offset + 5);\n offset += e.data.length + 5;\n }\n return bytes;\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nvar __asyncValues = (this && this.__asyncValues) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nvar __asyncDelegator = (this && this.__asyncDelegator) || function (o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n};\nimport { Code } from \"../code.js\";\nimport { ConnectError } from \"../connect-error.js\";\nimport { encodeEnvelope, envelopeCompress, envelopeDecompress, } from \"./envelope.js\";\nimport { assertReadMaxBytes } from \"./limit-io.js\";\nexport function pipeTo(source, ...rest) {\n const [transforms, sink, opt] = pickTransformsAndSink(rest);\n let iterable = source;\n let abortable;\n if ((opt === null || opt === void 0 ? void 0 : opt.propagateDownStreamError) === true) {\n iterable = abortable = makeIterableAbortable(iterable);\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n iterable = pipe(iterable, ...transforms, { propagateDownStreamError: false });\n return sink(iterable).catch((reason) => {\n if (abortable) {\n return abortable.abort(reason).then(() => Promise.reject(reason));\n }\n return Promise.reject(reason);\n });\n}\n// pick transforms, the sink, and options from the pipeTo() rest parameter\nfunction pickTransformsAndSink(rest) {\n let opt;\n if (typeof rest[rest.length - 1] != \"function\") {\n opt = rest.pop();\n }\n const sink = rest.pop();\n return [rest, sink, opt];\n}\n/**\n * Creates an AsyncIterableSink that concatenates all elements from the input.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function sinkAll() {\n return async function (iterable) {\n var _a, e_1, _b, _c;\n const all = [];\n try {\n for (var _d = true, iterable_1 = __asyncValues(iterable), iterable_1_1; iterable_1_1 = await iterable_1.next(), _a = iterable_1_1.done, !_a; _d = true) {\n _c = iterable_1_1.value;\n _d = false;\n const chunk = _c;\n all.push(chunk);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_1.return)) await _b.call(iterable_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return all;\n };\n}\n/**\n * Creates an AsyncIterableSink that concatenates all chunks from the input into\n * a single Uint8Array.\n *\n * The iterable raises an error if the more than readMaxBytes are read.\n *\n * An optional length hint can be provided to optimize allocation and validation.\n * If more or less bytes are present in the source that the length hint indicates,\n * and error is raised.\n * If the length hint is larger than readMaxBytes, an error is raised.\n * If the length hint is not a positive integer, it is ignored.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function sinkAllBytes(readMaxBytes, lengthHint) {\n return async function (iterable) {\n return await readAllBytes(iterable, readMaxBytes, lengthHint);\n };\n}\nexport function pipe(source, ...rest) {\n var _a, _b;\n return __asyncGenerator(this, arguments, function* pipe_1() {\n const [transforms, opt] = pickTransforms(rest);\n let abortable;\n let iterable = source;\n if ((opt === null || opt === void 0 ? void 0 : opt.propagateDownStreamError) === true) {\n iterable = abortable = makeIterableAbortable(iterable);\n }\n for (const t of transforms) {\n iterable = t(iterable);\n }\n const it = iterable[Symbol.asyncIterator]();\n try {\n for (;;) {\n const r = yield __await(it.next());\n if (r.done === true) {\n break;\n }\n if (!abortable) {\n yield yield __await(r.value);\n continue;\n }\n try {\n yield yield __await(r.value);\n }\n catch (e) {\n yield __await(abortable.abort(e)); // propagate downstream error to the source\n throw e;\n }\n }\n }\n finally {\n if ((opt === null || opt === void 0 ? void 0 : opt.propagateDownStreamError) === true) {\n // Call return on the source iterable to indicate\n // that we will no longer consume it and it should\n // cleanup any allocated resources.\n (_b = (_a = source[Symbol.asyncIterator]()).return) === null || _b === void 0 ? void 0 : _b.call(_a).catch(() => {\n // return returns a promise, which we don't care about.\n //\n // Uncaught promises are thrown at sometime/somewhere by the event loop,\n // this is to ensure error is caught and ignored.\n });\n }\n }\n });\n}\nfunction pickTransforms(rest) {\n let opt;\n if (typeof rest[rest.length - 1] != \"function\") {\n opt = rest.pop();\n }\n return [rest, opt];\n}\n/**\n * Creates an AsyncIterableTransform that catches any error from the input, and\n * passes it to the given catchError function.\n *\n * The catchError function may return a final value.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformCatch(catchError) {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n // we deliberate avoid a for-await loop because we only want to catch upstream\n // errors, not downstream errors (yield).\n const it = iterable[Symbol.asyncIterator]();\n for (;;) {\n let r;\n try {\n r = yield __await(it.next());\n }\n catch (e) {\n const caught = yield __await(catchError(e));\n if (caught !== undefined) {\n yield yield __await(caught);\n }\n break;\n }\n if (r.done === true) {\n break;\n }\n yield yield __await(r.value);\n }\n });\n };\n}\n/**\n * Creates an AsyncIterableTransform that catches any error from the input, and\n * passes it to the given function. Unlike transformCatch(), the given function\n * is also called when no error is raised.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformCatchFinally(catchFinally) {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n // we deliberate avoid a for-await loop because we only want to catch upstream\n // errors, not downstream errors (yield).\n let err;\n const it = iterable[Symbol.asyncIterator]();\n for (;;) {\n let r;\n try {\n r = yield __await(it.next());\n }\n catch (e) {\n err = e;\n break;\n }\n if (r.done === true) {\n break;\n }\n yield yield __await(r.value);\n }\n const caught = yield __await(catchFinally(err));\n if (caught !== undefined) {\n yield yield __await(caught);\n }\n });\n };\n}\n/**\n * Creates an AsyncIterableTransform that appends a value.\n *\n * The element to append is provided by a function. If the function returns\n * undefined, no element is appended.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformAppend(provide) {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_2, _b, _c;\n try {\n for (var _d = true, iterable_2 = __asyncValues(iterable), iterable_2_1; iterable_2_1 = yield __await(iterable_2.next()), _a = iterable_2_1.done, !_a; _d = true) {\n _c = iterable_2_1.value;\n _d = false;\n const chunk = _c;\n yield yield __await(chunk);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_2.return)) yield __await(_b.call(iterable_2));\n }\n finally { if (e_2) throw e_2.error; }\n }\n const append = yield __await(provide());\n if (append !== undefined) {\n yield yield __await(append);\n }\n });\n };\n}\n/**\n * Creates an AsyncIterableTransform that prepends an element.\n *\n * The element to prepend is provided by a function. If the function returns\n * undefined, no element is appended.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformPrepend(provide) {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_3, _b, _c;\n const prepend = yield __await(provide());\n if (prepend !== undefined) {\n yield yield __await(prepend);\n }\n try {\n for (var _d = true, iterable_3 = __asyncValues(iterable), iterable_3_1; iterable_3_1 = yield __await(iterable_3.next()), _a = iterable_3_1.done, !_a; _d = true) {\n _c = iterable_3_1.value;\n _d = false;\n const chunk = _c;\n yield yield __await(chunk);\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_3.return)) yield __await(_b.call(iterable_3));\n }\n finally { if (e_3) throw e_3.error; }\n }\n });\n };\n}\n/**\n * Creates an AsyncIterableTransform that reads all bytes from the input, and\n * concatenates them to a single Uint8Array.\n *\n * The iterable raises an error if the more than readMaxBytes are read.\n *\n * An optional length hint can be provided to optimize allocation and validation.\n * If more or less bytes are present in the source that the length hint indicates,\n * and error is raised.\n * If the length hint is larger than readMaxBytes, an error is raised.\n * If the length hint is not a positive integer, it is ignored.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformReadAllBytes(readMaxBytes, lengthHint) {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n yield yield __await(yield __await(readAllBytes(iterable, readMaxBytes, lengthHint)));\n });\n };\n}\nexport function transformSerializeEnvelope(serialization, endStreamFlag, endSerialization) {\n if (endStreamFlag === undefined || endSerialization === undefined) {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_4, _b, _c;\n try {\n for (var _d = true, iterable_4 = __asyncValues(iterable), iterable_4_1; iterable_4_1 = yield __await(iterable_4.next()), _a = iterable_4_1.done, !_a; _d = true) {\n _c = iterable_4_1.value;\n _d = false;\n const chunk = _c;\n const data = serialization.serialize(chunk);\n yield yield __await({ flags: 0, data });\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_4.return)) yield __await(_b.call(iterable_4));\n }\n finally { if (e_4) throw e_4.error; }\n }\n });\n };\n }\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_5, _b, _c;\n try {\n for (var _d = true, iterable_5 = __asyncValues(iterable), iterable_5_1; iterable_5_1 = yield __await(iterable_5.next()), _a = iterable_5_1.done, !_a; _d = true) {\n _c = iterable_5_1.value;\n _d = false;\n const chunk = _c;\n let data;\n let flags = 0;\n if (chunk.end) {\n flags = flags | endStreamFlag;\n data = endSerialization.serialize(chunk.value);\n }\n else {\n data = serialization.serialize(chunk.value);\n }\n yield yield __await({ flags, data });\n }\n }\n catch (e_5_1) { e_5 = { error: e_5_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_5.return)) yield __await(_b.call(iterable_5));\n }\n finally { if (e_5) throw e_5.error; }\n }\n });\n };\n}\nexport function transformParseEnvelope(serialization, endStreamFlag, endSerialization) {\n // code path always yields ParsedEnvelopedMessage\n if (endSerialization && endStreamFlag !== undefined) {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_6, _b, _c;\n try {\n for (var _d = true, iterable_6 = __asyncValues(iterable), iterable_6_1; iterable_6_1 = yield __await(iterable_6.next()), _a = iterable_6_1.done, !_a; _d = true) {\n _c = iterable_6_1.value;\n _d = false;\n const { flags, data } = _c;\n if ((flags & endStreamFlag) === endStreamFlag) {\n yield yield __await({ value: endSerialization.parse(data), end: true });\n }\n else {\n yield yield __await({ value: serialization.parse(data), end: false });\n }\n }\n }\n catch (e_6_1) { e_6 = { error: e_6_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_6.return)) yield __await(_b.call(iterable_6));\n }\n finally { if (e_6) throw e_6.error; }\n }\n });\n };\n }\n // code path always yields T\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_7, _b, _c;\n try {\n for (var _d = true, iterable_7 = __asyncValues(iterable), iterable_7_1; iterable_7_1 = yield __await(iterable_7.next()), _a = iterable_7_1.done, !_a; _d = true) {\n _c = iterable_7_1.value;\n _d = false;\n const { flags, data } = _c;\n if (endStreamFlag !== undefined &&\n (flags & endStreamFlag) === endStreamFlag) {\n if (endSerialization === null) {\n throw new ConnectError(\"unexpected end flag\", Code.InvalidArgument);\n }\n // skips end-of-stream envelope\n continue;\n }\n yield yield __await(serialization.parse(data));\n }\n }\n catch (e_7_1) { e_7 = { error: e_7_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_7.return)) yield __await(_b.call(iterable_7));\n }\n finally { if (e_7) throw e_7.error; }\n }\n });\n };\n}\n/**\n * Creates an AsyncIterableTransform that takes enveloped messages as a source,\n * and compresses them if they are larger than compressMinBytes.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformCompressEnvelope(compression, compressMinBytes) {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_8, _b, _c;\n try {\n for (var _d = true, iterable_8 = __asyncValues(iterable), iterable_8_1; iterable_8_1 = yield __await(iterable_8.next()), _a = iterable_8_1.done, !_a; _d = true) {\n _c = iterable_8_1.value;\n _d = false;\n const env = _c;\n yield yield __await(yield __await(envelopeCompress(env, compression, compressMinBytes)));\n }\n }\n catch (e_8_1) { e_8 = { error: e_8_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_8.return)) yield __await(_b.call(iterable_8));\n }\n finally { if (e_8) throw e_8.error; }\n }\n });\n };\n}\n/**\n * Creates an AsyncIterableTransform that takes enveloped messages as a source,\n * and decompresses them using the given compression.\n *\n * The iterable raises an error if the decompressed payload of an enveloped\n * message is larger than readMaxBytes, or if no compression is provided.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformDecompressEnvelope(compression, readMaxBytes) {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_9, _b, _c;\n try {\n for (var _d = true, iterable_9 = __asyncValues(iterable), iterable_9_1; iterable_9_1 = yield __await(iterable_9.next()), _a = iterable_9_1.done, !_a; _d = true) {\n _c = iterable_9_1.value;\n _d = false;\n const env = _c;\n yield yield __await(yield __await(envelopeDecompress(env, compression, readMaxBytes)));\n }\n }\n catch (e_9_1) { e_9 = { error: e_9_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_9.return)) yield __await(_b.call(iterable_9));\n }\n finally { if (e_9) throw e_9.error; }\n }\n });\n };\n}\n/**\n * Create an AsyncIterableTransform that takes enveloped messages as a source,\n * and joins them into a stream of raw bytes.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformJoinEnvelopes() {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_10, _b, _c;\n try {\n for (var _d = true, iterable_10 = __asyncValues(iterable), iterable_10_1; iterable_10_1 = yield __await(iterable_10.next()), _a = iterable_10_1.done, !_a; _d = true) {\n _c = iterable_10_1.value;\n _d = false;\n const { flags, data } = _c;\n yield yield __await(encodeEnvelope(flags, data));\n }\n }\n catch (e_10_1) { e_10 = { error: e_10_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_10.return)) yield __await(_b.call(iterable_10));\n }\n finally { if (e_10) throw e_10.error; }\n }\n });\n };\n}\n/**\n * Create an AsyncIterableTransform that takes raw bytes as a source, and splits\n * them into enveloped messages.\n *\n * The iterable raises an error\n * - if the payload of an enveloped message is larger than readMaxBytes,\n * - if the stream ended before an enveloped message fully arrived,\n * - or if the stream ended with extraneous data.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformSplitEnvelope(readMaxBytes) {\n // append chunk to buffer, returning updated buffer\n function append(buffer, chunk) {\n const n = new Uint8Array(buffer.byteLength + chunk.byteLength);\n n.set(buffer);\n n.set(chunk, buffer.length);\n return n;\n }\n // tuple 0: envelope, or undefined if incomplete\n // tuple 1: remainder of the buffer\n function shiftEnvelope(buffer, header) {\n if (buffer.byteLength < 5 + header.length) {\n return [undefined, buffer];\n }\n return [\n { flags: header.flags, data: buffer.subarray(5, 5 + header.length) },\n buffer.subarray(5 + header.length),\n ];\n }\n // undefined: header is incomplete\n function peekHeader(buffer) {\n if (buffer.byteLength < 5) {\n return undefined;\n }\n const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);\n const length = view.getUint32(1); // 4 bytes message length\n const flags = view.getUint8(0); // first byte is flags\n return { length, flags };\n }\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_11, _b, _c;\n let buffer = new Uint8Array(0);\n try {\n for (var _d = true, iterable_11 = __asyncValues(iterable), iterable_11_1; iterable_11_1 = yield __await(iterable_11.next()), _a = iterable_11_1.done, !_a; _d = true) {\n _c = iterable_11_1.value;\n _d = false;\n const chunk = _c;\n buffer = append(buffer, chunk);\n for (;;) {\n const header = peekHeader(buffer);\n if (!header) {\n break;\n }\n assertReadMaxBytes(readMaxBytes, header.length, true);\n let env;\n [env, buffer] = shiftEnvelope(buffer, header);\n if (!env) {\n break;\n }\n yield yield __await(env);\n }\n }\n }\n catch (e_11_1) { e_11 = { error: e_11_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_11.return)) yield __await(_b.call(iterable_11));\n }\n finally { if (e_11) throw e_11.error; }\n }\n if (buffer.byteLength > 0) {\n const header = peekHeader(buffer);\n let message = \"protocol error: incomplete envelope\";\n if (header) {\n message = `protocol error: promised ${header.length} bytes in enveloped message, got ${buffer.byteLength - 5} bytes`;\n }\n throw new ConnectError(message, Code.InvalidArgument);\n }\n });\n };\n}\n/**\n * Reads all bytes from the source, and concatenates them to a single Uint8Array.\n *\n * Raises an error if:\n * - more than readMaxBytes are read\n * - lengthHint is a positive integer, but larger than readMaxBytes\n * - lengthHint is a positive integer, and the source contains more or less bytes\n * than promised\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport async function readAllBytes(iterable, readMaxBytes, lengthHint) {\n var _a, e_12, _b, _c, _d, e_13, _e, _f;\n const [ok, hint] = parseLengthHint(lengthHint);\n if (ok) {\n if (hint > readMaxBytes) {\n assertReadMaxBytes(readMaxBytes, hint, true);\n }\n const buffer = new Uint8Array(hint);\n let offset = 0;\n try {\n for (var _g = true, iterable_12 = __asyncValues(iterable), iterable_12_1; iterable_12_1 = await iterable_12.next(), _a = iterable_12_1.done, !_a; _g = true) {\n _c = iterable_12_1.value;\n _g = false;\n const chunk = _c;\n if (offset + chunk.byteLength > hint) {\n throw new ConnectError(`protocol error: promised ${hint} bytes, received ${offset + chunk.byteLength}`, Code.InvalidArgument);\n }\n buffer.set(chunk, offset);\n offset += chunk.byteLength;\n }\n }\n catch (e_12_1) { e_12 = { error: e_12_1 }; }\n finally {\n try {\n if (!_g && !_a && (_b = iterable_12.return)) await _b.call(iterable_12);\n }\n finally { if (e_12) throw e_12.error; }\n }\n if (offset < hint) {\n throw new ConnectError(`protocol error: promised ${hint} bytes, received ${offset}`, Code.InvalidArgument);\n }\n return buffer;\n }\n const chunks = [];\n let count = 0;\n try {\n for (var _h = true, iterable_13 = __asyncValues(iterable), iterable_13_1; iterable_13_1 = await iterable_13.next(), _d = iterable_13_1.done, !_d; _h = true) {\n _f = iterable_13_1.value;\n _h = false;\n const chunk = _f;\n count += chunk.byteLength;\n assertReadMaxBytes(readMaxBytes, count);\n chunks.push(chunk);\n }\n }\n catch (e_13_1) { e_13 = { error: e_13_1 }; }\n finally {\n try {\n if (!_h && !_d && (_e = iterable_13.return)) await _e.call(iterable_13);\n }\n finally { if (e_13) throw e_13.error; }\n }\n const all = new Uint8Array(count);\n let offset = 0;\n for (let chunk = chunks.shift(); chunk; chunk = chunks.shift()) {\n all.set(chunk, offset);\n offset += chunk.byteLength;\n }\n return all;\n}\n// parse the lengthHint argument of readAllBytes()\nfunction parseLengthHint(lengthHint) {\n if (lengthHint === undefined || lengthHint === null) {\n return [false, 0];\n }\n const n = typeof lengthHint == \"string\" ? parseInt(lengthHint, 10) : lengthHint;\n if (!Number.isSafeInteger(n) || n < 0) {\n return [false, n];\n }\n return [true, n];\n}\n/**\n * Wait for the first element of an iterable without modifying the iterable.\n * This consumes the first element, but pushes it back on the stack.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport async function untilFirst(iterable) {\n const it = iterable[Symbol.asyncIterator]();\n let first = await it.next();\n return {\n [Symbol.asyncIterator]() {\n const w = {\n async next() {\n if (first !== null) {\n const n = first;\n first = null;\n return n;\n }\n return await it.next();\n },\n };\n if (it.throw !== undefined) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- can't handle mutated object sensibly\n w.throw = (e) => it.throw(e);\n }\n if (it.return !== undefined) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion,@typescript-eslint/no-explicit-any -- can't handle mutated object sensibly\n w.return = (value) => it.return(value);\n }\n return w;\n },\n };\n}\n/**\n * Wrap the given iterable and return an iterable with an abort() method.\n *\n * This function exists purely for convenience. Where one would typically have\n * to access the iterator directly, advance through all elements, and call\n * AsyncIterator.throw() to notify the upstream iterable, this function allows\n * to use convenient for-await loops and still notify the upstream iterable:\n *\n * ```ts\n * const abortable = makeIterableAbortable(iterable);\n * for await (const ele of abortable) {\n * await abortable.abort(\"ERR\");\n * }\n * ```\n * There are a couple of limitations of this function:\n * - the given async iterable must implement throw\n * - the async iterable cannot be re-use\n * - if source catches errors and yields values for them, they are ignored, and\n * the source may still dangle\n *\n * There are four possible ways an async function* can handle yield errors:\n * 1. don't catch errors at all - Abortable.abort() will resolve \"rethrown\"\n * 2. catch errors and rethrow - Abortable.abort() will resolve \"rethrown\"\n * 3. catch errors and return - Abortable.abort() will resolve \"completed\"\n * 4. catch errors and yield a value - Abortable.abort() will resolve \"caught\"\n *\n * Note that catching errors and yielding a value is problematic, and it should\n * be documented that this may leave the source in a dangling state.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function makeIterableAbortable(iterable) {\n const innerCandidate = iterable[Symbol.asyncIterator]();\n if (innerCandidate.throw === undefined) {\n throw new Error(\"AsyncIterable does not implement throw\");\n }\n const inner = innerCandidate;\n let aborted;\n let resultPromise;\n let it = {\n next() {\n resultPromise = inner.next().finally(() => {\n resultPromise = undefined;\n });\n return resultPromise;\n },\n throw(e) {\n return inner.throw(e);\n },\n };\n if (innerCandidate.return !== undefined) {\n it = Object.assign(Object.assign({}, it), { return(value) {\n return inner.return(value);\n } });\n }\n let used = false;\n return {\n abort(reason) {\n if (aborted) {\n return aborted.state;\n }\n const f = () => {\n return inner.throw(reason).then((r) => (r.done === true ? \"completed\" : \"caught\"), () => \"rethrown\");\n };\n if (resultPromise) {\n aborted = { reason, state: resultPromise.then(f, f) };\n return aborted.state;\n }\n aborted = { reason, state: f() };\n return aborted.state;\n },\n [Symbol.asyncIterator]() {\n if (used) {\n throw new Error(\"AsyncIterable cannot be re-used\");\n }\n used = true;\n return it;\n },\n };\n}\n/**\n * Create a new WritableIterable.\n */\nexport function createWritableIterable() {\n // We start with two queues to capture the read and write attempts.\n //\n // The writes and reads each check of their counterpart is\n // already available and either interact/add themselves to the queue.\n const readQueue = [];\n const writeQueue = [];\n let err = undefined;\n let nextResolve;\n let nextReject;\n let nextPromise = new Promise((resolve, reject) => {\n nextResolve = resolve;\n nextReject = reject;\n });\n let closed = false;\n // drain the readQueue in case of error/writer is closed by sending a\n // done result.\n function drain() {\n for (const next of readQueue.splice(0, readQueue.length)) {\n next({ done: true, value: undefined });\n }\n }\n return {\n close() {\n closed = true;\n drain();\n },\n async write(payload) {\n if (closed) {\n throw err !== null && err !== void 0 ? err : new Error(\"cannot write, WritableIterable already closed\");\n }\n const read = readQueue.shift();\n if (read === undefined) {\n // We didn't find a pending read so we add the payload to the write queue.\n writeQueue.push(payload);\n }\n else {\n // We found a pending read so we respond with the payload.\n read({ done: false, value: payload });\n if (readQueue.length > 0) {\n // If there are more in the read queue we can mark the write as complete.\n // as the error reporting is not guaranteed to be sequential and therefore cannot\n // to linked to a specific write.\n return;\n }\n }\n // We await the next call for as many times as there are items in the queue + 1\n //\n // If there are no items in the write queue that means write happened and we just have\n // to wait for one more call likewise if we are the nth write in the queue we\n // have to wait for n writes to complete and one more.\n const limit = writeQueue.length + 1;\n for (let i = 0; i < limit; i++) {\n await nextPromise;\n }\n },\n [Symbol.asyncIterator]() {\n return {\n next() {\n // Resolve the nextPromise to indicate\n // pending writes that a read attempt has been made\n // after their write.\n //\n // We also need to reset the promise for future writes.\n nextResolve();\n nextPromise = new Promise((resolve, reject) => {\n nextResolve = resolve;\n nextReject = reject;\n });\n const write = writeQueue.shift();\n if (write !== undefined) {\n // We found a pending write so response with the payload.\n return Promise.resolve({ done: false, value: write });\n }\n if (closed) {\n return Promise.resolve({ done: true, value: undefined });\n }\n // We return a promise immediately that is either resolved/rejected\n // as writes happen.\n let readResolve;\n const readPromise = new Promise((resolve) => (readResolve = resolve));\n readQueue.push(readResolve); // eslint-disable-line @typescript-eslint/no-non-null-assertion\n return readPromise;\n },\n throw(throwErr) {\n err = throwErr;\n closed = true;\n writeQueue.splice(0, writeQueue.length);\n nextPromise.catch(() => {\n // To make sure that the nextPromise is always resolved.\n });\n // This will reject all pending writes.\n nextReject(err);\n drain();\n return Promise.resolve({ done: true, value: undefined });\n },\n return() {\n closed = true;\n writeQueue.splice(0, writeQueue.length);\n // Resolve once for the write awaiting confirmation.\n nextResolve();\n // Reject all future writes.\n nextPromise = Promise.reject(new Error(\"cannot write, consumer called return\"));\n nextPromise.catch(() => {\n // To make sure that the nextPromise is always resolved.\n });\n drain();\n return Promise.resolve({ done: true, value: undefined });\n },\n };\n },\n };\n}\n/**\n * Create an asynchronous iterable from an array.\n *\n * @private Internal code, does not follow semantic versioning.\n */\n// eslint-disable-next-line @typescript-eslint/require-await\nexport function createAsyncIterable(items) {\n return __asyncGenerator(this, arguments, function* createAsyncIterable_1() {\n yield __await(yield* __asyncDelegator(__asyncValues(items)));\n });\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nvar __asyncValues = (this && this.__asyncValues) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncDelegator = (this && this.__asyncDelegator) || function (o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n};\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nimport { Message, MethodKind } from \"@bufbuild/protobuf\";\nimport { makeAnyClient } from \"./any-client.js\";\nimport { ConnectError } from \"./connect-error.js\";\nimport { Code } from \"./code.js\";\nimport { createAsyncIterable } from \"./protocol/async-iterable.js\";\n/**\n * Create a PromiseClient for the given service, invoking RPCs through the\n * given transport.\n */\nexport function createPromiseClient(service, transport) {\n return makeAnyClient(service, (method) => {\n switch (method.kind) {\n case MethodKind.Unary:\n return createUnaryFn(transport, service, method);\n case MethodKind.ServerStreaming:\n return createServerStreamingFn(transport, service, method);\n case MethodKind.ClientStreaming:\n return createClientStreamingFn(transport, service, method);\n case MethodKind.BiDiStreaming:\n return createBiDiStreamingFn(transport, service, method);\n default:\n return null;\n }\n });\n}\nfunction createUnaryFn(transport, service, method) {\n return async function (input, options) {\n var _a, _b;\n const response = await transport.unary(service, method, options === null || options === void 0 ? void 0 : options.signal, options === null || options === void 0 ? void 0 : options.timeoutMs, options === null || options === void 0 ? void 0 : options.headers, input);\n (_a = options === null || options === void 0 ? void 0 : options.onHeader) === null || _a === void 0 ? void 0 : _a.call(options, response.header);\n (_b = options === null || options === void 0 ? void 0 : options.onTrailer) === null || _b === void 0 ? void 0 : _b.call(options, response.trailer);\n return response.message;\n };\n}\nexport function createServerStreamingFn(transport, service, method) {\n return function (input, options) {\n return handleStreamResponse(transport.stream(service, method, options === null || options === void 0 ? void 0 : options.signal, options === null || options === void 0 ? void 0 : options.timeoutMs, options === null || options === void 0 ? void 0 : options.headers, createAsyncIterable([input])), options);\n };\n}\nexport function createClientStreamingFn(transport, service, method) {\n return async function (request, options) {\n var _a, e_1, _b, _c;\n var _d, _e;\n const response = await transport.stream(service, method, options === null || options === void 0 ? void 0 : options.signal, options === null || options === void 0 ? void 0 : options.timeoutMs, options === null || options === void 0 ? void 0 : options.headers, request);\n (_d = options === null || options === void 0 ? void 0 : options.onHeader) === null || _d === void 0 ? void 0 : _d.call(options, response.header);\n let singleMessage;\n try {\n for (var _f = true, _g = __asyncValues(response.message), _h; _h = await _g.next(), _a = _h.done, !_a; _f = true) {\n _c = _h.value;\n _f = false;\n const message = _c;\n singleMessage = message;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (!_f && !_a && (_b = _g.return)) await _b.call(_g);\n }\n finally { if (e_1) throw e_1.error; }\n }\n if (!singleMessage) {\n throw new ConnectError(\"protocol error: missing response message\", Code.Internal);\n }\n (_e = options === null || options === void 0 ? void 0 : options.onTrailer) === null || _e === void 0 ? void 0 : _e.call(options, response.trailer);\n return singleMessage;\n };\n}\nexport function createBiDiStreamingFn(transport, service, method) {\n return function (request, options) {\n return handleStreamResponse(transport.stream(service, method, options === null || options === void 0 ? void 0 : options.signal, options === null || options === void 0 ? void 0 : options.timeoutMs, options === null || options === void 0 ? void 0 : options.headers, request), options);\n };\n}\nfunction handleStreamResponse(stream, options) {\n const it = (function () {\n var _a, _b;\n return __asyncGenerator(this, arguments, function* () {\n const response = yield __await(stream);\n (_a = options === null || options === void 0 ? void 0 : options.onHeader) === null || _a === void 0 ? void 0 : _a.call(options, response.header);\n yield __await(yield* __asyncDelegator(__asyncValues(response.message)));\n (_b = options === null || options === void 0 ? void 0 : options.onTrailer) === null || _b === void 0 ? void 0 : _b.call(options, response.trailer);\n });\n })()[Symbol.asyncIterator]();\n // Create a new iterable to omit throw/return.\n return {\n [Symbol.asyncIterator]: () => ({\n next: () => it.next(),\n }),\n };\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { ConnectError } from \"../connect-error.js\";\nimport { Code } from \"../code.js\";\n/**\n * Create an AbortController that is automatically aborted if one of the given\n * signals is aborted.\n *\n * For convenience, the linked AbortSignals can be undefined.\n *\n * If the controller or any of the signals is aborted, all event listeners are\n * removed.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function createLinkedAbortController(...signals) {\n const controller = new AbortController();\n const sa = signals\n .filter((s) => s !== undefined)\n .concat(controller.signal);\n for (const signal of sa) {\n if (signal.aborted) {\n onAbort.apply(signal);\n break;\n }\n signal.addEventListener(\"abort\", onAbort);\n }\n function onAbort() {\n if (!controller.signal.aborted) {\n controller.abort(getAbortSignalReason(this));\n }\n for (const signal of sa) {\n signal.removeEventListener(\"abort\", onAbort);\n }\n }\n return controller;\n}\n/**\n * Create a deadline signal. The returned object contains an AbortSignal, but\n * also a cleanup function to stop the timer, which must be called once the\n * calling code is no longer interested in the signal.\n *\n * Ideally, we would simply use AbortSignal.timeout(), but it is not widely\n * available yet.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function createDeadlineSignal(timeoutMs) {\n const controller = new AbortController();\n const listener = () => {\n controller.abort(new ConnectError(\"the operation timed out\", Code.DeadlineExceeded));\n };\n let timeoutId;\n if (timeoutMs !== undefined) {\n if (timeoutMs <= 0)\n listener();\n else\n timeoutId = setTimeout(listener, timeoutMs);\n }\n return {\n signal: controller.signal,\n cleanup: () => clearTimeout(timeoutId),\n };\n}\n/**\n * Returns the reason why an AbortSignal was aborted. Returns undefined if the\n * signal has not been aborted.\n *\n * The property AbortSignal.reason is not widely available. This function\n * returns an AbortError if the signal is aborted, but reason is undefined.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function getAbortSignalReason(signal) {\n if (!signal.aborted) {\n return undefined;\n }\n if (signal.reason !== undefined) {\n return signal.reason;\n }\n // AbortSignal.reason is available in Node.js v16, v18, and later,\n // and in all browsers since early 2022.\n const e = new Error(\"This operation was aborted\");\n e.name = \"AbortError\";\n return e;\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * Create a URL for the given RPC. This simply adds the qualified\n * service name, a slash, and the method name to the path of the given\n * baseUrl.\n *\n * For example, the baseUri https://example.com and method \"Say\" from\n * the service example.ElizaService results in:\n * https://example.com/example.ElizaService/Say\n *\n * This format is used by the protocols Connect, gRPC and Twirp.\n *\n * Note that this function also accepts a protocol-relative baseUrl.\n * If given an empty string or \"/\" as a baseUrl, it returns just the\n * path.\n */\nexport function createMethodUrl(baseUrl, service, method) {\n const s = typeof service == \"string\" ? service : service.typeName;\n const m = typeof method == \"string\" ? method : method.name;\n return baseUrl.toString().replace(/\\/?$/, `/${s}/${m}`);\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { ConnectError } from \"../connect-error.js\";\nimport { Code } from \"../code.js\";\nimport { assertReadMaxBytes, assertWriteMaxBytes } from \"./limit-io.js\";\n/**\n * Sets default JSON serialization options for connect-es.\n *\n * With standard protobuf JSON serialization, unknown JSON fields are\n * rejected by default. In connect-es, unknown JSON fields are ignored\n * by default.\n */\nexport function getJsonOptions(options) {\n var _a;\n const o = Object.assign({}, options);\n (_a = o.ignoreUnknownFields) !== null && _a !== void 0 ? _a : (o.ignoreUnknownFields = true);\n return o;\n}\n/**\n * Create an object that provides convenient access to request and response\n * message serialization for a given method.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function createMethodSerializationLookup(method, binaryOptions, jsonOptions, limitOptions) {\n const inputBinary = limitSerialization(createBinarySerialization(method.I, binaryOptions), limitOptions);\n const inputJson = limitSerialization(createJsonSerialization(method.I, jsonOptions), limitOptions);\n const outputBinary = limitSerialization(createBinarySerialization(method.O, binaryOptions), limitOptions);\n const outputJson = limitSerialization(createJsonSerialization(method.O, jsonOptions), limitOptions);\n return {\n getI(useBinaryFormat) {\n return useBinaryFormat ? inputBinary : inputJson;\n },\n getO(useBinaryFormat) {\n return useBinaryFormat ? outputBinary : outputJson;\n },\n };\n}\n/**\n * Returns functions to normalize and serialize the input message\n * of an RPC, and to parse the output message of an RPC.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function createClientMethodSerializers(method, useBinaryFormat, jsonOptions, binaryOptions) {\n const input = useBinaryFormat\n ? createBinarySerialization(method.I, binaryOptions)\n : createJsonSerialization(method.I, jsonOptions);\n const output = useBinaryFormat\n ? createBinarySerialization(method.O, binaryOptions)\n : createJsonSerialization(method.O, jsonOptions);\n return { parse: output.parse, serialize: input.serialize };\n}\n/**\n * Apply I/O limits to a Serialization object, returning a new object.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function limitSerialization(serialization, limitOptions) {\n return {\n serialize(data) {\n const bytes = serialization.serialize(data);\n assertWriteMaxBytes(limitOptions.writeMaxBytes, bytes.byteLength);\n return bytes;\n },\n parse(data) {\n assertReadMaxBytes(limitOptions.readMaxBytes, data.byteLength, true);\n return serialization.parse(data);\n },\n };\n}\n/**\n * Creates a Serialization object for serializing the given protobuf message\n * with the protobuf binary format.\n */\nexport function createBinarySerialization(messageType, options) {\n return {\n parse(data) {\n try {\n return messageType.fromBinary(data, options);\n }\n catch (e) {\n const m = e instanceof Error ? e.message : String(e);\n throw new ConnectError(`parse binary: ${m}`, Code.InvalidArgument);\n }\n },\n serialize(data) {\n try {\n return data.toBinary(options);\n }\n catch (e) {\n const m = e instanceof Error ? e.message : String(e);\n throw new ConnectError(`serialize binary: ${m}`, Code.Internal);\n }\n },\n };\n}\n/**\n * Creates a Serialization object for serializing the given protobuf message\n * with the protobuf canonical JSON encoding.\n *\n * By default, unknown fields are ignored.\n */\nexport function createJsonSerialization(messageType, options) {\n var _a, _b;\n const textEncoder = (_a = options === null || options === void 0 ? void 0 : options.textEncoder) !== null && _a !== void 0 ? _a : new TextEncoder();\n const textDecoder = (_b = options === null || options === void 0 ? void 0 : options.textDecoder) !== null && _b !== void 0 ? _b : new TextDecoder();\n const o = getJsonOptions(options);\n return {\n parse(data) {\n try {\n const json = textDecoder.decode(data);\n return messageType.fromJsonString(json, o);\n }\n catch (e) {\n throw ConnectError.from(e, Code.InvalidArgument);\n }\n },\n serialize(data) {\n try {\n const json = data.toJsonString(o);\n return textEncoder.encode(json);\n }\n catch (e) {\n throw ConnectError.from(e, Code.Internal);\n }\n },\n };\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * Regular Expression that matches any valid Connect Content-Type header value.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport const contentTypeRegExp = /^application\\/(connect\\+)?(?:(json)(?:; ?charset=utf-?8)?|(proto))$/i;\n/**\n * Regular Expression that matches a Connect unary Content-Type header value.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport const contentTypeUnaryRegExp = /^application\\/(?:json(?:; ?charset=utf-?8)?|proto)$/i;\n/**\n * Regular Expression that matches a Connect streaming Content-Type header value.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport const contentTypeStreamRegExp = /^application\\/connect\\+?(?:json(?:; ?charset=utf-?8)?|proto)$/i;\nexport const contentTypeUnaryProto = \"application/proto\";\nexport const contentTypeUnaryJson = \"application/json\";\nexport const contentTypeStreamProto = \"application/connect+proto\";\nexport const contentTypeStreamJson = \"application/connect+json\";\nconst encodingProto = \"proto\";\nconst encodingJson = \"json\";\n/**\n * Parse a Connect Content-Type header.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function parseContentType(contentType) {\n const match = contentType === null || contentType === void 0 ? void 0 : contentType.match(contentTypeRegExp);\n if (!match) {\n return undefined;\n }\n const stream = !!match[1];\n const binary = !!match[3];\n return { stream, binary };\n}\n/**\n * Parse a Connect Get encoding query parameter.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function parseEncodingQuery(encoding) {\n switch (encoding) {\n case encodingProto:\n return { stream: false, binary: true };\n case encodingJson:\n return { stream: false, binary: false };\n default:\n return undefined;\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { Message, protoBase64 } from \"@bufbuild/protobuf\";\nimport { Code } from \"../code.js\";\nimport { ConnectError } from \"../connect-error.js\";\nimport { codeFromString, codeToString } from \"./code-string.js\";\n/**\n * Parse a Connect error from a JSON value.\n * Will return a ConnectError, and throw the provided fallback if parsing failed.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function errorFromJson(jsonValue, metadata, fallback) {\n if (metadata) {\n new Headers(metadata).forEach((value, key) => fallback.metadata.append(key, value));\n }\n if (typeof jsonValue !== \"object\" ||\n jsonValue == null ||\n Array.isArray(jsonValue) ||\n !(\"code\" in jsonValue) ||\n typeof jsonValue.code !== \"string\") {\n throw fallback;\n }\n const code = codeFromString(jsonValue.code);\n if (code === undefined) {\n throw fallback;\n }\n const message = jsonValue.message;\n if (message != null && typeof message !== \"string\") {\n throw fallback;\n }\n const error = new ConnectError(message !== null && message !== void 0 ? message : \"\", code, metadata);\n if (\"details\" in jsonValue && Array.isArray(jsonValue.details)) {\n for (const detail of jsonValue.details) {\n if (detail === null ||\n typeof detail != \"object\" ||\n Array.isArray(detail) ||\n typeof detail.type != \"string\" ||\n typeof detail.value != \"string\" ||\n (\"debug\" in detail && typeof detail.debug != \"object\")) {\n throw fallback;\n }\n try {\n error.details.push({\n type: detail.type,\n value: protoBase64.dec(detail.value),\n debug: detail.debug,\n });\n }\n catch (e) {\n throw fallback;\n }\n }\n }\n return error;\n}\n/**\n * Parse a Connect error from a serialized JSON value.\n * Will return a ConnectError, and throw the provided fallback if parsing failed.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function errorFromJsonBytes(bytes, metadata, fallback) {\n let jsonValue;\n try {\n jsonValue = JSON.parse(new TextDecoder().decode(bytes));\n }\n catch (e) {\n throw fallback;\n }\n return errorFromJson(jsonValue, metadata, fallback);\n}\n/**\n * Serialize the given error to JSON.\n *\n * The JSON serialization options are required to produce the optional\n * human-readable representation in the \"debug\" key if the detail uses\n * google.protobuf.Any. If serialization of the \"debug\" value fails, it\n * is silently disregarded.\n *\n * See https://connectrpc.com/docs/protocol#error-end-stream\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function errorToJson(error, jsonWriteOptions) {\n const o = {\n code: codeToString(error.code),\n };\n if (error.rawMessage.length > 0) {\n o.message = error.rawMessage;\n }\n if (error.details.length > 0) {\n o.details = error.details\n .map((value) => {\n if (value instanceof Message) {\n const i = {\n type: value.getType().typeName,\n value: value.toBinary(),\n };\n try {\n i.debug = value.toJson(jsonWriteOptions);\n }\n catch (e) {\n // We deliberately ignore errors that may occur when serializing\n // a message to JSON (the message contains an Any).\n // The rationale is that we are only trying to provide optional\n // debug information.\n }\n return i;\n }\n return value;\n })\n .map((_a) => {\n var { value } = _a, rest = __rest(_a, [\"value\"]);\n return (Object.assign(Object.assign({}, rest), { value: protoBase64.enc(value) }));\n });\n }\n return o;\n}\n/**\n * Serialize the given error to JSON. This calls errorToJson(), but stringifies\n * the result, and converts it into a UInt8Array.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function errorToJsonBytes(error, jsonWriteOptions) {\n const textEncoder = new TextEncoder();\n try {\n const jsonObject = errorToJson(error, jsonWriteOptions);\n const jsonString = JSON.stringify(jsonObject);\n return textEncoder.encode(jsonString);\n }\n catch (e) {\n const m = e instanceof Error ? e.message : String(e);\n throw new ConnectError(`failed to serialize Connect Error: ${m}`, Code.Internal);\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { errorFromJson, errorToJson } from \"./error-json.js\";\nimport { appendHeaders } from \"../http-headers.js\";\nimport { ConnectError } from \"../connect-error.js\";\nimport { Code } from \"../code.js\";\n/**\n * endStreamFlag indicates that the data in a EnvelopedMessage\n * is a EndStreamResponse of the Connect protocol.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport const endStreamFlag = 0b00000010;\n/**\n * Parse an EndStreamResponse of the Connect protocol.\n * Throws a ConnectError on malformed input.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function endStreamFromJson(data) {\n const parseErr = new ConnectError(\"invalid end stream\", Code.InvalidArgument);\n let jsonValue;\n try {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n jsonValue = JSON.parse(typeof data == \"string\" ? data : new TextDecoder().decode(data));\n }\n catch (e) {\n throw parseErr;\n }\n if (typeof jsonValue != \"object\" ||\n jsonValue == null ||\n Array.isArray(jsonValue)) {\n throw parseErr;\n }\n const metadata = new Headers();\n if (\"metadata\" in jsonValue) {\n if (typeof jsonValue.metadata != \"object\" ||\n jsonValue.metadata == null ||\n Array.isArray(jsonValue.metadata)) {\n throw parseErr;\n }\n for (const [key, values] of Object.entries(jsonValue.metadata)) {\n if (!Array.isArray(values) ||\n values.some((value) => typeof value != \"string\")) {\n throw parseErr;\n }\n for (const value of values) {\n metadata.append(key, value);\n }\n }\n }\n const error = \"error\" in jsonValue\n ? errorFromJson(jsonValue.error, metadata, parseErr)\n : undefined;\n return { metadata, error };\n}\n/**\n * Serialize the given EndStreamResponse to JSON.\n *\n * The JSON serialization options are required to produce the optional\n * human-readable representation of error details if the detail uses\n * google.protobuf.Any.\n *\n * See https://connectrpc.com/docs/protocol#error-end-stream\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function endStreamToJson(metadata, error, jsonWriteOptions) {\n const es = {};\n if (error !== undefined) {\n es.error = errorToJson(error, jsonWriteOptions);\n metadata = appendHeaders(metadata, error.metadata);\n }\n let hasMetadata = false;\n const md = {};\n metadata.forEach((value, key) => {\n hasMetadata = true;\n md[key] = [value];\n });\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (hasMetadata) {\n es.metadata = md;\n }\n return es;\n}\n/**\n * Create a Serialization object that serializes a Connect EndStreamResponse.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function createEndStreamSerialization(options) {\n const textEncoder = new TextEncoder();\n return {\n serialize(data) {\n try {\n const jsonObject = endStreamToJson(data.metadata, data.error, options);\n const jsonString = JSON.stringify(jsonObject);\n return textEncoder.encode(jsonString);\n }\n catch (e) {\n const m = e instanceof Error ? e.message : String(e);\n throw new ConnectError(`failed to serialize EndStreamResponse: ${m}`, Code.Internal);\n }\n },\n parse(data) {\n try {\n return endStreamFromJson(data);\n }\n catch (e) {\n const m = e instanceof Error ? e.message : String(e);\n throw new ConnectError(`failed to parse EndStreamResponse: ${m}`, Code.InvalidArgument);\n }\n },\n };\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * @private Internal code, does not follow semantic versioning.\n */\nexport const headerContentType = \"Content-Type\";\nexport const headerUnaryContentLength = \"Content-Length\";\nexport const headerUnaryEncoding = \"Content-Encoding\";\nexport const headerStreamEncoding = \"Connect-Content-Encoding\";\nexport const headerUnaryAcceptEncoding = \"Accept-Encoding\";\nexport const headerStreamAcceptEncoding = \"Connect-Accept-Encoding\";\nexport const headerTimeout = \"Connect-Timeout-Ms\";\nexport const headerProtocolVersion = \"Connect-Protocol-Version\";\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Code } from \"../code.js\";\n/**\n * Determine the Connect error code for the given HTTP status code.\n * See https://connectrpc.com/docs/protocol#error-codes\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function codeFromHttpStatus(httpStatus) {\n switch (httpStatus) {\n case 400: // Bad Request\n return Code.InvalidArgument;\n case 401: // Unauthorized\n return Code.Unauthenticated;\n case 403: // Forbidden\n return Code.PermissionDenied;\n case 404: // Not Found\n return Code.Unimplemented;\n case 408: // Request Timeout\n return Code.DeadlineExceeded;\n case 409: // Conflict\n return Code.Aborted;\n case 412: // Precondition Failed\n return Code.FailedPrecondition;\n case 413: // Payload Too Large\n return Code.ResourceExhausted;\n case 415: // Unsupported Media Type\n return Code.Internal;\n case 429: // Too Many Requests\n return Code.Unavailable;\n case 431: // Request Header Fields Too Large\n return Code.ResourceExhausted;\n case 502: // Bad Gateway\n return Code.Unavailable;\n case 503: // Service Unavailable\n return Code.Unavailable;\n case 504: // Gateway Timeout\n return Code.Unavailable;\n default:\n return Code.Unknown;\n }\n}\n/**\n * Returns a HTTP status code for the given Connect code.\n * See https://connectrpc.com/docs/protocol#error-codes\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function codeToHttpStatus(code) {\n switch (code) {\n case Code.Canceled:\n return 408; // Request Timeout\n case Code.Unknown:\n return 500; // Internal Server Error\n case Code.InvalidArgument:\n return 400; // Bad Request\n case Code.DeadlineExceeded:\n return 408; // Request Timeout\n case Code.NotFound:\n return 404; // Not Found\n case Code.AlreadyExists:\n return 409; // Conflict\n case Code.PermissionDenied:\n return 403; // Forbidden\n case Code.ResourceExhausted:\n return 429; // Too Many Requests\n case Code.FailedPrecondition:\n return 412; // Precondition Failed\n case Code.Aborted:\n return 409; // Conflict\n case Code.OutOfRange:\n return 400; // Bad Request\n case Code.Unimplemented:\n return 404; // Not Found\n case Code.Internal:\n return 500; // Internal Server Error\n case Code.Unavailable:\n return 503; // Service Unavailable\n case Code.DataLoss:\n return 500; // Internal Server Error\n case Code.Unauthenticated:\n return 401; // Unauthorized\n default:\n return 500; // same as CodeUnknown\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * In unary RPCs, Connect transports trailing metadata as response header\n * fields, prefixed with \"trailer-\".\n *\n * This function demuxes headers and trailers into two separate Headers\n * objects.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function trailerDemux(header) {\n const h = new Headers(), t = new Headers();\n header.forEach((value, key) => {\n if (key.toLowerCase().startsWith(\"trailer-\")) {\n t.set(key.substring(8), value);\n }\n else {\n h.set(key, value);\n }\n });\n return [h, t];\n}\n/**\n * In unary RPCs, Connect transports trailing metadata as response header\n * fields, prefixed with \"trailer-\".\n *\n * This function muxes a header and a trailer into a single Headers object.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function trailerMux(header, trailer) {\n const h = new Headers(header);\n trailer.forEach((value, key) => {\n h.set(`trailer-${key}`, value);\n });\n return h;\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { headerProtocolVersion } from \"./headers.js\";\nimport { paramConnectVersion } from \"./query-params.js\";\nimport { ConnectError } from \"../connect-error.js\";\nimport { Code } from \"../code.js\";\n/**\n * The only know value for the header Connect-Protocol-Version.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport const protocolVersion = \"1\";\n/**\n * Requires the Connect-Protocol-Version header to be present with the expected\n * value. Raises a ConnectError with Code.InvalidArgument otherwise.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function requireProtocolVersionHeader(requestHeader) {\n const v = requestHeader.get(headerProtocolVersion);\n if (v === null) {\n throw new ConnectError(`missing required header: set ${headerProtocolVersion} to \"${protocolVersion}\"`, Code.InvalidArgument);\n }\n else if (v !== protocolVersion) {\n throw new ConnectError(`${headerProtocolVersion} must be \"${protocolVersion}\": got \"${v}\"`, Code.InvalidArgument);\n }\n}\n/**\n * Requires the connect query parameter to be present with the expected value.\n * Raises a ConnectError with Code.InvalidArgument otherwise.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function requireProtocolVersionParam(queryParams) {\n const v = queryParams.get(paramConnectVersion);\n if (v === null) {\n throw new ConnectError(`missing required parameter: set ${paramConnectVersion} to \"v${protocolVersion}\"`, Code.InvalidArgument);\n }\n else if (v !== `v${protocolVersion}`) {\n throw new ConnectError(`${paramConnectVersion} must be \"v${protocolVersion}\": got \"${v}\"`, Code.InvalidArgument);\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { MethodKind } from \"@bufbuild/protobuf\";\nimport { headerContentType, headerStreamAcceptEncoding, headerStreamEncoding, headerUnaryAcceptEncoding, headerUnaryEncoding, headerTimeout, headerProtocolVersion, } from \"./headers.js\";\nimport { protocolVersion } from \"./version.js\";\nimport { contentTypeStreamJson, contentTypeStreamProto, contentTypeUnaryJson, contentTypeUnaryProto, } from \"./content-type.js\";\n/**\n * Creates headers for a Connect request.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function requestHeader(methodKind, useBinaryFormat, timeoutMs, userProvidedHeaders) {\n const result = new Headers(userProvidedHeaders !== null && userProvidedHeaders !== void 0 ? userProvidedHeaders : {});\n if (timeoutMs !== undefined) {\n result.set(headerTimeout, `${timeoutMs}`);\n }\n result.set(headerContentType, methodKind == MethodKind.Unary\n ? useBinaryFormat\n ? contentTypeUnaryProto\n : contentTypeUnaryJson\n : useBinaryFormat\n ? contentTypeStreamProto\n : contentTypeStreamJson);\n result.set(headerProtocolVersion, protocolVersion);\n return result;\n}\n/**\n * Creates headers for a Connect request with compression.\n *\n * Note that we always set the Content-Encoding header for unary methods.\n * It is up to the caller to decide whether to apply compression - and remove\n * the header if compression is not used, for example because the payload is\n * too small to make compression effective.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function requestHeaderWithCompression(methodKind, useBinaryFormat, timeoutMs, userProvidedHeaders, acceptCompression, sendCompression) {\n const result = requestHeader(methodKind, useBinaryFormat, timeoutMs, userProvidedHeaders);\n if (sendCompression != null) {\n const name = methodKind == MethodKind.Unary\n ? headerUnaryEncoding\n : headerStreamEncoding;\n result.set(name, sendCompression.name);\n }\n if (acceptCompression.length > 0) {\n const name = methodKind == MethodKind.Unary\n ? headerUnaryAcceptEncoding\n : headerStreamAcceptEncoding;\n result.set(name, acceptCompression.map((c) => c.name).join(\",\"));\n }\n return result;\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { MethodKind } from \"@bufbuild/protobuf\";\nimport { Code } from \"../code.js\";\nimport { codeFromHttpStatus } from \"./http-status.js\";\nimport { ConnectError } from \"../connect-error.js\";\nimport { parseContentType } from \"./content-type.js\";\nimport { headerStreamEncoding, headerUnaryEncoding } from \"./headers.js\";\n/**\n * Validates response status and header for the Connect protocol.\n * Throws a ConnectError if the header indicates an error, or if\n * the content type is unexpected, with the following exception:\n * For unary RPCs with an HTTP error status, this returns an error\n * derived from the HTTP status instead of throwing it, giving an\n * implementation a chance to parse a Connect error from the wire.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function validateResponse(methodKind, status, headers) {\n const mimeType = headers.get(\"Content-Type\");\n const parsedType = parseContentType(mimeType);\n if (status !== 200) {\n const errorFromStatus = new ConnectError(`HTTP ${status}`, codeFromHttpStatus(status), headers);\n // If parsedType is defined and it is not binary, then this is a unary JSON response\n if (methodKind == MethodKind.Unary && parsedType && !parsedType.binary) {\n return { isUnaryError: true, unaryError: errorFromStatus };\n }\n throw errorFromStatus;\n }\n return { isUnaryError: false };\n}\n/**\n * Validates response status and header for the Connect protocol.\n * This function is identical to validateResponse(), but also verifies\n * that a given encoding header is acceptable.\n *\n * @private\n */\nexport function validateResponseWithCompression(methodKind, acceptCompression, status, headers) {\n let compression;\n const encoding = headers.get(methodKind == MethodKind.Unary ? headerUnaryEncoding : headerStreamEncoding);\n if (encoding != null && encoding.toLowerCase() !== \"identity\") {\n compression = acceptCompression.find((c) => c.name === encoding);\n if (!compression) {\n throw new ConnectError(`unsupported response encoding \"${encoding}\"`, Code.InvalidArgument, headers);\n }\n }\n return Object.assign({ compression }, validateResponse(methodKind, status, headers));\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Message, protoBase64 } from \"@bufbuild/protobuf\";\nimport { headerContentType, headerProtocolVersion, headerUnaryAcceptEncoding, headerUnaryContentLength, headerUnaryEncoding, } from \"./headers.js\";\nimport { protocolVersion } from \"./version.js\";\nconst contentTypePrefix = \"application/\";\nfunction encodeMessageForUrl(message, useBase64) {\n if (useBase64) {\n // TODO(jchadwick-buf): Three regex replaces seems excessive.\n // Can we make protoBase64.enc more flexible?\n return protoBase64\n .enc(message)\n .replace(/\\+/g, \"-\")\n .replace(/\\//g, \"_\")\n .replace(/=+$/, \"\");\n }\n else {\n return encodeURIComponent(new TextDecoder().decode(message));\n }\n}\n/**\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformConnectPostToGetRequest(request, message, useBase64) {\n let query = `?connect=v${protocolVersion}`;\n const contentType = request.header.get(headerContentType);\n if ((contentType === null || contentType === void 0 ? void 0 : contentType.indexOf(contentTypePrefix)) === 0) {\n query +=\n \"&encoding=\" +\n encodeURIComponent(contentType.slice(contentTypePrefix.length));\n }\n const compression = request.header.get(headerUnaryEncoding);\n if (compression !== null && compression !== \"identity\") {\n query += \"&compression=\" + encodeURIComponent(compression);\n // Force base64 for compressed payloads.\n useBase64 = true;\n }\n if (useBase64) {\n query += \"&base64=1\";\n }\n query += \"&message=\" + encodeMessageForUrl(message, useBase64);\n const url = request.url + query;\n // Omit headers that are not used for unary GET requests.\n const header = new Headers(request.header);\n header.delete(headerProtocolVersion);\n header.delete(headerContentType);\n header.delete(headerUnaryContentLength);\n header.delete(headerUnaryEncoding);\n header.delete(headerUnaryAcceptEncoding);\n return Object.assign(Object.assign({}, request), { init: Object.assign(Object.assign({}, request.init), { method: \"GET\" }), url,\n header });\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { ConnectError } from \"../connect-error.js\";\nimport { createDeadlineSignal, createLinkedAbortController, getAbortSignalReason, } from \"./signals.js\";\n/**\n * Runs a unary method with the given interceptors. Note that this function\n * is only used when implementing a Transport.\n */\nexport function runUnaryCall(opt) {\n const next = applyInterceptors(opt.next, opt.interceptors);\n const [signal, abort, done] = setupSignal(opt);\n const req = Object.assign(Object.assign({}, opt.req), { message: normalize(opt.req.method.I, opt.req.message), signal });\n return next(req).then((res) => {\n done();\n return res;\n }, abort);\n}\n/**\n * Runs a server-streaming method with the given interceptors. Note that this\n * function is only used when implementing a Transport.\n */\nexport function runStreamingCall(opt) {\n const next = applyInterceptors(opt.next, opt.interceptors);\n const [signal, abort, done] = setupSignal(opt);\n const req = Object.assign(Object.assign({}, opt.req), { message: normalizeIterable(opt.req.method.I, opt.req.message), signal });\n let doneCalled = false;\n // Call return on the request iterable to indicate\n // that we will no longer consume it and it should\n // cleanup any allocated resources.\n signal.addEventListener(\"abort\", function () {\n var _a, _b;\n const it = opt.req.message[Symbol.asyncIterator]();\n // If the signal is aborted due to an error, we want to throw\n // the error to the request iterator.\n if (!doneCalled) {\n (_a = it.throw) === null || _a === void 0 ? void 0 : _a.call(it, this.reason).catch(() => {\n // throw returns a promise, which we don't care about.\n //\n // Uncaught promises are thrown at sometime/somewhere by the event loop,\n // this is to ensure error is caught and ignored.\n });\n }\n (_b = it.return) === null || _b === void 0 ? void 0 : _b.call(it).catch(() => {\n // return returns a promise, which we don't care about.\n //\n // Uncaught promises are thrown at sometime/somewhere by the event loop,\n // this is to ensure error is caught and ignored.\n });\n });\n return next(req).then((res) => {\n return Object.assign(Object.assign({}, res), { message: {\n [Symbol.asyncIterator]() {\n const it = res.message[Symbol.asyncIterator]();\n return {\n next() {\n return it.next().then((r) => {\n if (r.done == true) {\n doneCalled = true;\n done();\n }\n return r;\n }, abort);\n },\n // We deliberately omit throw/return.\n };\n },\n } });\n }, abort);\n}\n/**\n * Create an AbortSignal for Transport implementations. The signal is available\n * in UnaryRequest and StreamingRequest, and is triggered when the call is\n * aborted (via a timeout or explicit cancellation), errored (e.g. when reading\n * an error from the server from the wire), or finished successfully.\n *\n * Transport implementations can pass the signal to HTTP clients to ensure that\n * there are no unused connections leak.\n *\n * Returns a tuple:\n * [0]: The signal, which is also aborted if the optional deadline is reached.\n * [1]: Function to call if the Transport encountered an error.\n * [2]: Function to call if the Transport finished without an error.\n */\nfunction setupSignal(opt) {\n const { signal, cleanup } = createDeadlineSignal(opt.timeoutMs);\n const controller = createLinkedAbortController(opt.signal, signal);\n return [\n controller.signal,\n function abort(reason) {\n // We peek at the deadline signal because fetch() will throw an error on\n // abort that discards the signal reason.\n const e = ConnectError.from(signal.aborted ? getAbortSignalReason(signal) : reason);\n controller.abort(e);\n cleanup();\n return Promise.reject(e);\n },\n function done() {\n cleanup();\n controller.abort();\n },\n ];\n}\n/**\n * applyInterceptors takes the given UnaryFn or ServerStreamingFn, and wraps\n * it with each of the given interceptors, returning a new UnaryFn or\n * ServerStreamingFn.\n */\nfunction applyInterceptors(next, interceptors) {\n var _a;\n return ((_a = interceptors === null || interceptors === void 0 ? void 0 : interceptors.concat().reverse().reduce(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n (n, i) => i(n), next)) !== null && _a !== void 0 ? _a : next);\n}\n/**\n * Takes a partial protobuf messages of the\n * specified message type as input, and returns full instances.\n */\nfunction normalize(type, message) {\n return message instanceof type ? message : new type(message);\n}\n/**\n * Takes an AsyncIterable of partial protobuf messages of the\n * specified message type as input, and yields full instances.\n */\nexport function normalizeIterable(messageType, input) {\n function transform(result) {\n if (result.done === true) {\n return result;\n }\n return {\n done: result.done,\n value: normalize(messageType, result.value),\n };\n }\n return {\n [Symbol.asyncIterator]() {\n const it = input[Symbol.asyncIterator]();\n const res = {\n next: () => it.next().then(transform),\n };\n if (it.throw !== undefined) {\n res.throw = (e) => it.throw(e).then(transform); // eslint-disable-line @typescript-eslint/no-non-null-assertion\n }\n if (it.return !== undefined) {\n res.return = (v) => it.return(v).then(transform); // eslint-disable-line @typescript-eslint/no-non-null-assertion\n }\n return res;\n },\n };\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * Asserts that the fetch API is available.\n */\nexport function assertFetchApi() {\n try {\n new Headers();\n }\n catch (_) {\n throw new Error(\"connect-web requires the fetch API. Are you running on an old version of Node.js? Node.js is not supported in Connect for Web - please stay tuned for Connect for Node.\");\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nimport { Message, MethodIdempotency, MethodKind } from \"@bufbuild/protobuf\";\nimport { appendHeaders } from \"@bufbuild/connect\";\nimport { createClientMethodSerializers, createEnvelopeReadableStream, createMethodUrl, getJsonOptions, encodeEnvelope, runStreamingCall, runUnaryCall, } from \"@bufbuild/connect/protocol\";\nimport { endStreamFlag, endStreamFromJson, errorFromJson, requestHeader, trailerDemux, transformConnectPostToGetRequest, validateResponse, } from \"@bufbuild/connect/protocol-connect\";\nimport { assertFetchApi } from \"./assert-fetch-api.js\";\n/**\n * Create a Transport for the Connect protocol, which makes unary and\n * server-streaming methods available to web browsers. It uses the fetch\n * API to make HTTP requests.\n */\nexport function createConnectTransport(options) {\n var _a;\n assertFetchApi();\n const useBinaryFormat = (_a = options.useBinaryFormat) !== null && _a !== void 0 ? _a : false;\n return {\n async unary(service, method, signal, timeoutMs, header, message) {\n var _a;\n const { serialize, parse } = createClientMethodSerializers(method, useBinaryFormat, options.jsonOptions, options.binaryOptions);\n return await runUnaryCall({\n interceptors: options.interceptors,\n signal,\n timeoutMs,\n req: {\n stream: false,\n service,\n method,\n url: createMethodUrl(options.baseUrl, service, method),\n init: {\n method: \"POST\",\n credentials: (_a = options.credentials) !== null && _a !== void 0 ? _a : \"same-origin\",\n redirect: \"error\",\n mode: \"cors\",\n },\n header: requestHeader(method.kind, useBinaryFormat, timeoutMs, header),\n message,\n },\n next: async (req) => {\n var _a;\n const useGet = options.useHttpGet === true &&\n method.idempotency === MethodIdempotency.NoSideEffects;\n let body = null;\n if (useGet) {\n req = transformConnectPostToGetRequest(req, serialize(req.message), useBinaryFormat);\n }\n else {\n body = serialize(req.message);\n }\n const fetch = (_a = options.fetch) !== null && _a !== void 0 ? _a : globalThis.fetch;\n const response = await fetch(req.url, Object.assign(Object.assign({}, req.init), { headers: req.header, signal: req.signal, body }));\n const { isUnaryError, unaryError } = validateResponse(method.kind, response.status, response.headers);\n if (isUnaryError) {\n throw errorFromJson((await response.json()), appendHeaders(...trailerDemux(response.headers)), unaryError);\n }\n const [demuxedHeader, demuxedTrailer] = trailerDemux(response.headers);\n return {\n stream: false,\n service,\n method,\n header: demuxedHeader,\n message: useBinaryFormat\n ? parse(new Uint8Array(await response.arrayBuffer()))\n : method.O.fromJson((await response.json()), getJsonOptions(options.jsonOptions)),\n trailer: demuxedTrailer,\n };\n },\n });\n },\n async stream(service, method, signal, timeoutMs, header, input) {\n var _a;\n const { serialize, parse } = createClientMethodSerializers(method, useBinaryFormat, options.jsonOptions, options.binaryOptions);\n function parseResponseBody(body, trailerTarget) {\n return __asyncGenerator(this, arguments, function* parseResponseBody_1() {\n const reader = createEnvelopeReadableStream(body).getReader();\n let endStreamReceived = false;\n for (;;) {\n const result = yield __await(reader.read());\n if (result.done) {\n break;\n }\n const { flags, data } = result.value;\n if ((flags & endStreamFlag) === endStreamFlag) {\n endStreamReceived = true;\n const endStream = endStreamFromJson(data);\n if (endStream.error) {\n throw endStream.error;\n }\n endStream.metadata.forEach((value, key) => trailerTarget.set(key, value));\n continue;\n }\n yield yield __await(parse(data));\n }\n if (!endStreamReceived) {\n throw \"missing EndStreamResponse\";\n }\n });\n }\n async function createRequestBody(input) {\n if (method.kind != MethodKind.ServerStreaming) {\n throw \"The fetch API does not support streaming request bodies\";\n }\n const r = await input[Symbol.asyncIterator]().next();\n if (r.done == true) {\n throw \"missing request message\";\n }\n return encodeEnvelope(0, serialize(r.value));\n }\n return await runStreamingCall({\n interceptors: options.interceptors,\n timeoutMs,\n signal,\n req: {\n stream: true,\n service,\n method,\n url: createMethodUrl(options.baseUrl, service, method),\n init: {\n method: \"POST\",\n credentials: (_a = options.credentials) !== null && _a !== void 0 ? _a : \"same-origin\",\n redirect: \"error\",\n mode: \"cors\",\n },\n header: requestHeader(method.kind, useBinaryFormat, timeoutMs, header),\n message: input,\n },\n next: async (req) => {\n var _a;\n const fetch = (_a = options.fetch) !== null && _a !== void 0 ? _a : globalThis.fetch;\n const fRes = await fetch(req.url, Object.assign(Object.assign({}, req.init), { headers: req.header, signal: req.signal, body: await createRequestBody(req.message) }));\n validateResponse(method.kind, fRes.status, fRes.headers);\n if (fRes.body === null) {\n throw \"missing response body\";\n }\n const trailer = new Headers();\n const res = Object.assign(Object.assign({}, req), { header: fRes.headers, trailer, message: parseResponseBody(fRes.body, trailer) });\n return res;\n },\n });\n },\n };\n}\n", "// @generated by protoc-gen-es v1.3.3 with parameter \"target=ts\"\n// @generated from file user/user.proto (package user, syntax proto3)\n/* eslint-disable */\n// @ts-nocheck\n\nimport type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from \"@bufbuild/protobuf\";\nimport { Message, proto3 } from \"@bufbuild/protobuf\";\n\n/**\n * @generated from message user.GroupInfoRequest\n */\nexport class GroupInfoRequest extends Message {\n /**\n * @generated from field: string secret = 1;\n */\n secret = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.GroupInfoRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"secret\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GroupInfoRequest {\n return new GroupInfoRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GroupInfoRequest {\n return new GroupInfoRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GroupInfoRequest {\n return new GroupInfoRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: GroupInfoRequest | PlainMessage | undefined, b: GroupInfoRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(GroupInfoRequest, a, b);\n }\n}\n\n/**\n * @generated from message user.GroupID\n */\nexport class GroupID extends Message {\n /**\n * @generated from field: string group_id = 1;\n */\n groupId = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.GroupID\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"group_id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GroupID {\n return new GroupID().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GroupID {\n return new GroupID().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GroupID {\n return new GroupID().fromJsonString(jsonString, options);\n }\n\n static equals(a: GroupID | PlainMessage | undefined, b: GroupID | PlainMessage | undefined): boolean {\n return proto3.util.equals(GroupID, a, b);\n }\n}\n\n/**\n * @generated from message user.ShareRequest\n */\nexport class ShareRequest extends Message {\n /**\n * @generated from field: string content_id = 1;\n */\n contentId = \"\";\n\n /**\n * @generated from field: string group_id = 2;\n */\n groupId = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.ShareRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"content_id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"group_id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): ShareRequest {\n return new ShareRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): ShareRequest {\n return new ShareRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): ShareRequest {\n return new ShareRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: ShareRequest | PlainMessage | undefined, b: ShareRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(ShareRequest, a, b);\n }\n}\n\n/**\n * @generated from message user.GroupInvite\n */\nexport class GroupInvite extends Message {\n /**\n * @generated from field: string secret = 1;\n */\n secret = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.GroupInvite\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"secret\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GroupInvite {\n return new GroupInvite().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GroupInvite {\n return new GroupInvite().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GroupInvite {\n return new GroupInvite().fromJsonString(jsonString, options);\n }\n\n static equals(a: GroupInvite | PlainMessage | undefined, b: GroupInvite | PlainMessage | undefined): boolean {\n return proto3.util.equals(GroupInvite, a, b);\n }\n}\n\n/**\n * @generated from message user.Groups\n */\nexport class Groups extends Message {\n /**\n * @generated from field: repeated user.Group groups = 1;\n */\n groups: Group[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.Groups\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"groups\", kind: \"message\", T: Group, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Groups {\n return new Groups().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Groups {\n return new Groups().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Groups {\n return new Groups().fromJsonString(jsonString, options);\n }\n\n static equals(a: Groups | PlainMessage | undefined, b: Groups | PlainMessage | undefined): boolean {\n return proto3.util.equals(Groups, a, b);\n }\n}\n\n/**\n * @generated from message user.AnalyzeConversationRequest\n */\nexport class AnalyzeConversationRequest extends Message {\n /**\n * @generated from field: string text = 1;\n */\n text = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.AnalyzeConversationRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): AnalyzeConversationRequest {\n return new AnalyzeConversationRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): AnalyzeConversationRequest {\n return new AnalyzeConversationRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): AnalyzeConversationRequest {\n return new AnalyzeConversationRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: AnalyzeConversationRequest | PlainMessage | undefined, b: AnalyzeConversationRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(AnalyzeConversationRequest, a, b);\n }\n}\n\n/**\n * @generated from message user.User\n */\nexport class User extends Message {\n /**\n * @generated from field: string email = 1;\n */\n email = \"\";\n\n /**\n * @generated from field: string password = 2;\n */\n password = \"\";\n\n /**\n * @generated from field: user.Config config = 3;\n */\n config?: Config;\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.User\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"email\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"password\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 3, name: \"config\", kind: \"message\", T: Config },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): User {\n return new User().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): User {\n return new User().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): User {\n return new User().fromJsonString(jsonString, options);\n }\n\n static equals(a: User | PlainMessage | undefined, b: User | PlainMessage | undefined): boolean {\n return proto3.util.equals(User, a, b);\n }\n}\n\n/**\n * @generated from message user.Group\n */\nexport class Group extends Message {\n /**\n * @generated from field: string id = 1;\n */\n id = \"\";\n\n /**\n * @generated from field: string name = 2;\n */\n name = \"\";\n\n /**\n * @generated from field: repeated string users = 3;\n */\n users: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.Group\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"name\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 3, name: \"users\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Group {\n return new Group().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Group {\n return new Group().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Group {\n return new Group().fromJsonString(jsonString, options);\n }\n\n static equals(a: Group | PlainMessage | undefined, b: Group | PlainMessage | undefined): boolean {\n return proto3.util.equals(Group, a, b);\n }\n}\n\n/**\n * @generated from message user.Config\n */\nexport class Config extends Message {\n /**\n * @generated from field: repeated string domain_whitelist = 1;\n */\n domainWhitelist: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.Config\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"domain_whitelist\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Config {\n return new Config().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Config {\n return new Config().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Config {\n return new Config().fromJsonString(jsonString, options);\n }\n\n static equals(a: Config | PlainMessage | undefined, b: Config | PlainMessage | undefined): boolean {\n return proto3.util.equals(Config, a, b);\n }\n}\n\n/**\n * @generated from message user.LoginResponse\n */\nexport class LoginResponse extends Message {\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.LoginResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): LoginResponse {\n return new LoginResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): LoginResponse {\n return new LoginResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): LoginResponse {\n return new LoginResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: LoginResponse | PlainMessage | undefined, b: LoginResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(LoginResponse, a, b);\n }\n}\n\n", "// @generated by protoc-gen-es v1.3.3 with parameter \"target=ts\"\n// @generated from file content/content.proto (package content, syntax proto3)\n/* eslint-disable */\n// @ts-nocheck\n\nimport type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from \"@bufbuild/protobuf\";\nimport { Message, proto3, protoInt64 } from \"@bufbuild/protobuf\";\nimport { User } from \"../user/user_pb.js\";\n\n/**\n * @generated from message content.SetTagsRequest\n */\nexport class SetTagsRequest extends Message {\n /**\n * @generated from field: string content_id = 1;\n */\n contentId = \"\";\n\n /**\n * @generated from field: repeated string tags = 2;\n */\n tags: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.SetTagsRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"content_id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"tags\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): SetTagsRequest {\n return new SetTagsRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): SetTagsRequest {\n return new SetTagsRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): SetTagsRequest {\n return new SetTagsRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: SetTagsRequest | PlainMessage | undefined, b: SetTagsRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(SetTagsRequest, a, b);\n }\n}\n\n/**\n * @generated from message content.TagRequest\n */\nexport class TagRequest extends Message {\n /**\n * @generated from field: string group_id = 1;\n */\n groupId = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.TagRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"group_id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): TagRequest {\n return new TagRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): TagRequest {\n return new TagRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): TagRequest {\n return new TagRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: TagRequest | PlainMessage | undefined, b: TagRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(TagRequest, a, b);\n }\n}\n\n/**\n * @generated from message content.VoteRequest\n */\nexport class VoteRequest extends Message {\n /**\n * @generated from field: string content_id = 1;\n */\n contentId = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.VoteRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"content_id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): VoteRequest {\n return new VoteRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): VoteRequest {\n return new VoteRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): VoteRequest {\n return new VoteRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: VoteRequest | PlainMessage | undefined, b: VoteRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(VoteRequest, a, b);\n }\n}\n\n/**\n * @generated from message content.VoteResponse\n */\nexport class VoteResponse extends Message {\n /**\n * @generated from field: uint32 votes = 1;\n */\n votes = 0;\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.VoteResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"votes\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): VoteResponse {\n return new VoteResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): VoteResponse {\n return new VoteResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): VoteResponse {\n return new VoteResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: VoteResponse | PlainMessage | undefined, b: VoteResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(VoteResponse, a, b);\n }\n}\n\n/**\n * @generated from message content.Tags\n */\nexport class Tags extends Message {\n /**\n * @generated from field: repeated content.Tag tags = 1;\n */\n tags: Tag[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Tags\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"tags\", kind: \"message\", T: Tag, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Tags {\n return new Tags().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Tags {\n return new Tags().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Tags {\n return new Tags().fromJsonString(jsonString, options);\n }\n\n static equals(a: Tags | PlainMessage | undefined, b: Tags | PlainMessage | undefined): boolean {\n return proto3.util.equals(Tags, a, b);\n }\n}\n\n/**\n * @generated from message content.Tag\n */\nexport class Tag extends Message {\n /**\n * @generated from field: string name = 1;\n */\n name = \"\";\n\n /**\n * @generated from field: repeated content.Tag sub_tags = 2;\n */\n subTags: Tag[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Tag\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"name\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"sub_tags\", kind: \"message\", T: Tag, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Tag {\n return new Tag().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Tag {\n return new Tag().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Tag {\n return new Tag().fromJsonString(jsonString, options);\n }\n\n static equals(a: Tag | PlainMessage | undefined, b: Tag | PlainMessage | undefined): boolean {\n return proto3.util.equals(Tag, a, b);\n }\n}\n\n/**\n * @generated from message content.ContentIDs\n */\nexport class ContentIDs extends Message {\n /**\n * @generated from field: repeated string content_ids = 1;\n */\n contentIds: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.ContentIDs\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"content_ids\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): ContentIDs {\n return new ContentIDs().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): ContentIDs {\n return new ContentIDs().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): ContentIDs {\n return new ContentIDs().fromJsonString(jsonString, options);\n }\n\n static equals(a: ContentIDs | PlainMessage | undefined, b: ContentIDs | PlainMessage | undefined): boolean {\n return proto3.util.equals(ContentIDs, a, b);\n }\n}\n\n/**\n * @generated from message content.Contents\n */\nexport class Contents extends Message {\n /**\n * @generated from field: content.Content content = 1;\n */\n content?: Content;\n\n /**\n * @generated from field: repeated content.Content related = 2;\n */\n related: Content[] = [];\n\n /**\n * @generated from field: repeated string parents = 3;\n */\n parents: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Contents\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"content\", kind: \"message\", T: Content },\n { no: 2, name: \"related\", kind: \"message\", T: Content, repeated: true },\n { no: 3, name: \"parents\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Contents {\n return new Contents().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Contents {\n return new Contents().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Contents {\n return new Contents().fromJsonString(jsonString, options);\n }\n\n static equals(a: Contents | PlainMessage | undefined, b: Contents | PlainMessage | undefined): boolean {\n return proto3.util.equals(Contents, a, b);\n }\n}\n\n/**\n * @generated from message content.Query\n */\nexport class Query extends Message {\n /**\n * @generated from field: string query = 1;\n */\n query = \"\";\n\n /**\n * @generated from field: uint32 page = 2;\n */\n page = 0;\n\n /**\n * @generated from field: string contentID = 3;\n */\n contentID = \"\";\n\n /**\n * @generated from field: string groupID = 4;\n */\n groupID = \"\";\n\n /**\n * @generated from field: repeated string tags = 5;\n */\n tags: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Query\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"query\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"page\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */ },\n { no: 3, name: \"contentID\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 4, name: \"groupID\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 5, name: \"tags\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Query {\n return new Query().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Query {\n return new Query().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Query {\n return new Query().fromJsonString(jsonString, options);\n }\n\n static equals(a: Query | PlainMessage | undefined, b: Query | PlainMessage | undefined): boolean {\n return proto3.util.equals(Query, a, b);\n }\n}\n\n/**\n * @generated from message content.Results\n */\nexport class Results extends Message {\n /**\n * @generated from field: repeated content.StoredContent storedContent = 1;\n */\n storedContent: StoredContent[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Results\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"storedContent\", kind: \"message\", T: StoredContent, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Results {\n return new Results().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Results {\n return new Results().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Results {\n return new Results().fromJsonString(jsonString, options);\n }\n\n static equals(a: Results | PlainMessage | undefined, b: Results | PlainMessage | undefined): boolean {\n return proto3.util.equals(Results, a, b);\n }\n}\n\n/**\n * @generated from message content.StoredContent\n */\nexport class StoredContent extends Message {\n /**\n * @generated from field: content.Content content = 1;\n */\n content?: Content;\n\n /**\n * @generated from field: string id = 2;\n */\n id = \"\";\n\n /**\n * @generated from field: repeated content.Content related = 3;\n */\n related: Content[] = [];\n\n /**\n * @generated from field: string title = 4;\n */\n title = \"\";\n\n /**\n * @generated from field: string description = 5;\n */\n description = \"\";\n\n /**\n * @generated from field: string image = 6;\n */\n image = \"\";\n\n /**\n * @generated from field: string url = 7;\n */\n url = \"\";\n\n /**\n * @generated from field: int32 votes = 8;\n */\n votes = 0;\n\n /**\n * @generated from field: user.User user = 9;\n */\n user?: User;\n\n /**\n * @generated from field: repeated content.Tag tags = 10;\n */\n tags: Tag[] = [];\n\n /**\n * @generated from field: string preview = 11;\n */\n preview = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.StoredContent\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"content\", kind: \"message\", T: Content },\n { no: 2, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 3, name: \"related\", kind: \"message\", T: Content, repeated: true },\n { no: 4, name: \"title\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 5, name: \"description\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 6, name: \"image\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 7, name: \"url\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 8, name: \"votes\", kind: \"scalar\", T: 5 /* ScalarType.INT32 */ },\n { no: 9, name: \"user\", kind: \"message\", T: User },\n { no: 10, name: \"tags\", kind: \"message\", T: Tag, repeated: true },\n { no: 11, name: \"preview\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): StoredContent {\n return new StoredContent().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): StoredContent {\n return new StoredContent().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): StoredContent {\n return new StoredContent().fromJsonString(jsonString, options);\n }\n\n static equals(a: StoredContent | PlainMessage | undefined, b: StoredContent | PlainMessage | undefined): boolean {\n return proto3.util.equals(StoredContent, a, b);\n }\n}\n\n/**\n * @generated from message content.Edge\n */\nexport class Edge extends Message {\n /**\n * @generated from field: string from = 1;\n */\n from = \"\";\n\n /**\n * @generated from field: string to = 2;\n */\n to = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Edge\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"from\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"to\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Edge {\n return new Edge().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Edge {\n return new Edge().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Edge {\n return new Edge().fromJsonString(jsonString, options);\n }\n\n static equals(a: Edge | PlainMessage | undefined, b: Edge | PlainMessage | undefined): boolean {\n return proto3.util.equals(Edge, a, b);\n }\n}\n\n/**\n * Content has data and metadata\n *\n * @generated from message content.Content\n */\nexport class Content extends Message {\n /**\n * @generated from field: repeated string tags = 1;\n */\n tags: string[] = [];\n\n /**\n * @generated from field: string created_at = 2;\n */\n createdAt = \"\";\n\n /**\n * @generated from field: string uri = 3;\n */\n uri = \"\";\n\n /**\n * @generated from field: string id = 4;\n */\n id = \"\";\n\n /**\n * @generated from oneof content.Content.type\n */\n type: {\n /**\n * @generated from field: content.Data data = 6;\n */\n value: Data;\n case: \"data\";\n } | {\n /**\n * @generated from field: content.Normalized normalized = 7;\n */\n value: Normalized;\n case: \"normalized\";\n } | {\n /**\n * @generated from field: content.Transformed transformed = 8;\n */\n value: Transformed;\n case: \"transformed\";\n } | { case: undefined; value?: undefined } = { case: undefined };\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Content\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"tags\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n { no: 2, name: \"created_at\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 3, name: \"uri\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 4, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 6, name: \"data\", kind: \"message\", T: Data, oneof: \"type\" },\n { no: 7, name: \"normalized\", kind: \"message\", T: Normalized, oneof: \"type\" },\n { no: 8, name: \"transformed\", kind: \"message\", T: Transformed, oneof: \"type\" },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Content {\n return new Content().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Content {\n return new Content().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Content {\n return new Content().fromJsonString(jsonString, options);\n }\n\n static equals(a: Content | PlainMessage | undefined, b: Content | PlainMessage | undefined): boolean {\n return proto3.util.equals(Content, a, b);\n }\n}\n\n/**\n * @generated from message content.GitRepo\n */\nexport class GitRepo extends Message {\n /**\n * @generated from field: string url = 1;\n */\n url = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.GitRepo\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"url\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GitRepo {\n return new GitRepo().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GitRepo {\n return new GitRepo().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GitRepo {\n return new GitRepo().fromJsonString(jsonString, options);\n }\n\n static equals(a: GitRepo | PlainMessage | undefined, b: GitRepo | PlainMessage | undefined): boolean {\n return proto3.util.equals(GitRepo, a, b);\n }\n}\n\n/**\n * @generated from message content.Data\n */\nexport class Data extends Message {\n /**\n * @generated from oneof content.Data.type\n */\n type: {\n /**\n * @generated from field: content.Text text = 4;\n */\n value: Text;\n case: \"text\";\n } | {\n /**\n * @generated from field: content.File file = 5;\n */\n value: File;\n case: \"file\";\n } | {\n /**\n * @generated from field: content.URL url = 6;\n */\n value: URL;\n case: \"url\";\n } | { case: undefined; value?: undefined } = { case: undefined };\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Data\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 4, name: \"text\", kind: \"message\", T: Text, oneof: \"type\" },\n { no: 5, name: \"file\", kind: \"message\", T: File, oneof: \"type\" },\n { no: 6, name: \"url\", kind: \"message\", T: URL, oneof: \"type\" },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Data {\n return new Data().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Data {\n return new Data().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Data {\n return new Data().fromJsonString(jsonString, options);\n }\n\n static equals(a: Data | PlainMessage | undefined, b: Data | PlainMessage | undefined): boolean {\n return proto3.util.equals(Data, a, b);\n }\n}\n\n/**\n * @generated from message content.Normalized\n */\nexport class Normalized extends Message {\n /**\n * @generated from oneof content.Normalized.type\n */\n type: {\n /**\n * @generated from field: content.Article article = 3;\n */\n value: Article;\n case: \"article\";\n } | {\n /**\n * @generated from field: content.HTML html = 4;\n */\n value: HTML;\n case: \"html\";\n } | {\n /**\n * @generated from field: content.Transcript transcript = 6;\n */\n value: Transcript;\n case: \"transcript\";\n } | {\n /**\n * @generated from field: content.ReadMe readme = 7;\n */\n value: ReadMe;\n case: \"readme\";\n } | { case: undefined; value?: undefined } = { case: undefined };\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Normalized\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 3, name: \"article\", kind: \"message\", T: Article, oneof: \"type\" },\n { no: 4, name: \"html\", kind: \"message\", T: HTML, oneof: \"type\" },\n { no: 6, name: \"transcript\", kind: \"message\", T: Transcript, oneof: \"type\" },\n { no: 7, name: \"readme\", kind: \"message\", T: ReadMe, oneof: \"type\" },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Normalized {\n return new Normalized().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Normalized {\n return new Normalized().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Normalized {\n return new Normalized().fromJsonString(jsonString, options);\n }\n\n static equals(a: Normalized | PlainMessage | undefined, b: Normalized | PlainMessage | undefined): boolean {\n return proto3.util.equals(Normalized, a, b);\n }\n}\n\n/**\n * @generated from message content.Transformed\n */\nexport class Transformed extends Message {\n /**\n * @generated from oneof content.Transformed.type\n */\n type: {\n /**\n * @generated from field: content.Summary summary = 1;\n */\n value: Summary;\n case: \"summary\";\n } | {\n /**\n * @generated from field: content.Categories categories = 2;\n */\n value: Categories;\n case: \"categories\";\n } | { case: undefined; value?: undefined } = { case: undefined };\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Transformed\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"summary\", kind: \"message\", T: Summary, oneof: \"type\" },\n { no: 2, name: \"categories\", kind: \"message\", T: Categories, oneof: \"type\" },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Transformed {\n return new Transformed().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Transformed {\n return new Transformed().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Transformed {\n return new Transformed().fromJsonString(jsonString, options);\n }\n\n static equals(a: Transformed | PlainMessage | undefined, b: Transformed | PlainMessage | undefined): boolean {\n return proto3.util.equals(Transformed, a, b);\n }\n}\n\n/**\n * @generated from message content.Article\n */\nexport class Article extends Message
{\n /**\n * @generated from field: string title = 1;\n */\n title = \"\";\n\n /**\n * @generated from field: string author = 2;\n */\n author = \"\";\n\n /**\n * @generated from field: int32 length = 3;\n */\n length = 0;\n\n /**\n * @generated from field: string excerpt = 4;\n */\n excerpt = \"\";\n\n /**\n * @generated from field: string site_name = 5;\n */\n siteName = \"\";\n\n /**\n * @generated from field: string image = 6;\n */\n image = \"\";\n\n /**\n * @generated from field: string favicon = 7;\n */\n favicon = \"\";\n\n /**\n * @generated from field: string text = 8;\n */\n text = \"\";\n\n constructor(data?: PartialMessage
) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Article\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"title\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"author\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 3, name: \"length\", kind: \"scalar\", T: 5 /* ScalarType.INT32 */ },\n { no: 4, name: \"excerpt\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 5, name: \"site_name\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 6, name: \"image\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 7, name: \"favicon\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 8, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Article {\n return new Article().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Article {\n return new Article().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Article {\n return new Article().fromJsonString(jsonString, options);\n }\n\n static equals(a: Article | PlainMessage
| undefined, b: Article | PlainMessage
| undefined): boolean {\n return proto3.util.equals(Article, a, b);\n }\n}\n\n/**\n * @generated from message content.HTML\n */\nexport class HTML extends Message {\n /**\n * @generated from field: string html = 1;\n */\n html = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.HTML\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"html\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): HTML {\n return new HTML().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): HTML {\n return new HTML().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): HTML {\n return new HTML().fromJsonString(jsonString, options);\n }\n\n static equals(a: HTML | PlainMessage | undefined, b: HTML | PlainMessage | undefined): boolean {\n return proto3.util.equals(HTML, a, b);\n }\n}\n\n/**\n * @generated from message content.ReadMe\n */\nexport class ReadMe extends Message {\n /**\n * @generated from field: string data = 1;\n */\n data = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.ReadMe\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"data\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): ReadMe {\n return new ReadMe().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): ReadMe {\n return new ReadMe().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): ReadMe {\n return new ReadMe().fromJsonString(jsonString, options);\n }\n\n static equals(a: ReadMe | PlainMessage | undefined, b: ReadMe | PlainMessage | undefined): boolean {\n return proto3.util.equals(ReadMe, a, b);\n }\n}\n\n/**\n * @generated from message content.Summary\n */\nexport class Summary extends Message {\n /**\n * @generated from field: string summary = 1;\n */\n summary = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Summary\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"summary\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Summary {\n return new Summary().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Summary {\n return new Summary().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Summary {\n return new Summary().fromJsonString(jsonString, options);\n }\n\n static equals(a: Summary | PlainMessage | undefined, b: Summary | PlainMessage | undefined): boolean {\n return proto3.util.equals(Summary, a, b);\n }\n}\n\n/**\n * @generated from message content.Categories\n */\nexport class Categories extends Message {\n /**\n * @generated from field: repeated string categories = 1;\n */\n categories: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Categories\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"categories\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Categories {\n return new Categories().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Categories {\n return new Categories().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Categories {\n return new Categories().fromJsonString(jsonString, options);\n }\n\n static equals(a: Categories | PlainMessage | undefined, b: Categories | PlainMessage | undefined): boolean {\n return proto3.util.equals(Categories, a, b);\n }\n}\n\n/**\n * @generated from message content.File\n */\nexport class File extends Message {\n /**\n * @generated from field: string file = 1;\n */\n file = \"\";\n\n /**\n * @generated from field: bytes data = 2;\n */\n data = new Uint8Array(0);\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.File\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"file\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"data\", kind: \"scalar\", T: 12 /* ScalarType.BYTES */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): File {\n return new File().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): File {\n return new File().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): File {\n return new File().fromJsonString(jsonString, options);\n }\n\n static equals(a: File | PlainMessage | undefined, b: File | PlainMessage | undefined): boolean {\n return proto3.util.equals(File, a, b);\n }\n}\n\n/**\n * @generated from message content.Text\n */\nexport class Text extends Message {\n /**\n * @generated from field: string data = 1;\n */\n data = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Text\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"data\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Text {\n return new Text().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Text {\n return new Text().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Text {\n return new Text().fromJsonString(jsonString, options);\n }\n\n static equals(a: Text | PlainMessage | undefined, b: Text | PlainMessage | undefined): boolean {\n return proto3.util.equals(Text, a, b);\n }\n}\n\n/**\n * @generated from message content.URL\n */\nexport class URL extends Message {\n /**\n * @generated from field: string url = 1;\n */\n url = \"\";\n\n /**\n * @generated from field: bool crawl = 2;\n */\n crawl = false;\n\n /**\n * @generated from field: string title = 3;\n */\n title = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.URL\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"url\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"crawl\", kind: \"scalar\", T: 8 /* ScalarType.BOOL */ },\n { no: 3, name: \"title\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): URL {\n return new URL().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): URL {\n return new URL().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): URL {\n return new URL().fromJsonString(jsonString, options);\n }\n\n static equals(a: URL | PlainMessage | undefined, b: URL | PlainMessage | undefined): boolean {\n return proto3.util.equals(URL, a, b);\n }\n}\n\n/**\n * @generated from message content.Token\n */\nexport class Token extends Message {\n /**\n * @generated from field: uint32 id = 1;\n */\n id = 0;\n\n /**\n * @generated from field: uint64 start_time = 2;\n */\n startTime = protoInt64.zero;\n\n /**\n * @generated from field: uint64 end_time = 3;\n */\n endTime = protoInt64.zero;\n\n /**\n * @generated from field: string text = 4;\n */\n text = \"\";\n\n /**\n * @generated from field: string p = 5;\n */\n p = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Token\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */ },\n { no: 2, name: \"start_time\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n { no: 3, name: \"end_time\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n { no: 4, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 5, name: \"p\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Token {\n return new Token().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Token {\n return new Token().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Token {\n return new Token().fromJsonString(jsonString, options);\n }\n\n static equals(a: Token | PlainMessage | undefined, b: Token | PlainMessage | undefined): boolean {\n return proto3.util.equals(Token, a, b);\n }\n}\n\n/**\n * @generated from message content.Segment\n */\nexport class Segment extends Message {\n /**\n * @generated from field: uint32 num = 1;\n */\n num = 0;\n\n /**\n * @generated from field: repeated content.Token tokens = 2;\n */\n tokens: Token[] = [];\n\n /**\n * @generated from field: string text = 3;\n */\n text = \"\";\n\n /**\n * @generated from field: uint64 start_time = 4;\n */\n startTime = protoInt64.zero;\n\n /**\n * @generated from field: uint64 end_time = 5;\n */\n endTime = protoInt64.zero;\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Segment\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"num\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */ },\n { no: 2, name: \"tokens\", kind: \"message\", T: Token, repeated: true },\n { no: 3, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 4, name: \"start_time\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n { no: 5, name: \"end_time\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Segment {\n return new Segment().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Segment {\n return new Segment().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Segment {\n return new Segment().fromJsonString(jsonString, options);\n }\n\n static equals(a: Segment | PlainMessage | undefined, b: Segment | PlainMessage | undefined): boolean {\n return proto3.util.equals(Segment, a, b);\n }\n}\n\n/**\n * @generated from message content.Transcript\n */\nexport class Transcript extends Message {\n /**\n * @generated from field: string id = 1;\n */\n id = \"\";\n\n /**\n * @generated from field: string name = 2;\n */\n name = \"\";\n\n /**\n * @generated from field: repeated content.Segment segments = 3;\n */\n segments: Segment[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Transcript\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"name\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 3, name: \"segments\", kind: \"message\", T: Segment, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Transcript {\n return new Transcript().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Transcript {\n return new Transcript().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Transcript {\n return new Transcript().fromJsonString(jsonString, options);\n }\n\n static equals(a: Transcript | PlainMessage | undefined, b: Transcript | PlainMessage | undefined): boolean {\n return proto3.util.equals(Transcript, a, b);\n }\n}\n\n", "// @generated by protoc-gen-es v1.3.3 with parameter \"target=ts\"\n// @generated from file protoflow.proto (package protoflow, syntax proto3)\n/* eslint-disable */\n// @ts-nocheck\n\nimport type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from \"@bufbuild/protobuf\";\nimport { Message, proto3, protoInt64 } from \"@bufbuild/protobuf\";\nimport { Content } from \"./content/content_pb.js\";\n\n/**\n * @generated from message protoflow.AnalyzeConversationRequest\n */\nexport class AnalyzeConversationRequest extends Message {\n /**\n * @generated from field: string text = 1;\n */\n text = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.AnalyzeConversationRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): AnalyzeConversationRequest {\n return new AnalyzeConversationRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): AnalyzeConversationRequest {\n return new AnalyzeConversationRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): AnalyzeConversationRequest {\n return new AnalyzeConversationRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: AnalyzeConversationRequest | PlainMessage | undefined, b: AnalyzeConversationRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(AnalyzeConversationRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.GenerateImagesRequest\n */\nexport class GenerateImagesRequest extends Message {\n /**\n * @generated from field: string prompt = 1;\n */\n prompt = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.GenerateImagesRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"prompt\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GenerateImagesRequest {\n return new GenerateImagesRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GenerateImagesRequest {\n return new GenerateImagesRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GenerateImagesRequest {\n return new GenerateImagesRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: GenerateImagesRequest | PlainMessage | undefined, b: GenerateImagesRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(GenerateImagesRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.GenerateImagesResponse\n */\nexport class GenerateImagesResponse extends Message {\n /**\n * @generated from field: repeated string images = 1;\n */\n images: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.GenerateImagesResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"images\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GenerateImagesResponse {\n return new GenerateImagesResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GenerateImagesResponse {\n return new GenerateImagesResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GenerateImagesResponse {\n return new GenerateImagesResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: GenerateImagesResponse | PlainMessage | undefined, b: GenerateImagesResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(GenerateImagesResponse, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.DeleteSessionRequest\n */\nexport class DeleteSessionRequest extends Message {\n /**\n * @generated from field: string id = 1;\n */\n id = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.DeleteSessionRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): DeleteSessionRequest {\n return new DeleteSessionRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): DeleteSessionRequest {\n return new DeleteSessionRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): DeleteSessionRequest {\n return new DeleteSessionRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: DeleteSessionRequest | PlainMessage | undefined, b: DeleteSessionRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(DeleteSessionRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.Prompt\n */\nexport class Prompt extends Message {\n /**\n * @generated from field: string id = 1;\n */\n id = \"\";\n\n /**\n * @generated from field: string text = 2;\n */\n text = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.Prompt\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Prompt {\n return new Prompt().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Prompt {\n return new Prompt().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Prompt {\n return new Prompt().fromJsonString(jsonString, options);\n }\n\n static equals(a: Prompt | PlainMessage | undefined, b: Prompt | PlainMessage | undefined): boolean {\n return proto3.util.equals(Prompt, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.GetPromptsRequest\n */\nexport class GetPromptsRequest extends Message {\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.GetPromptsRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GetPromptsRequest {\n return new GetPromptsRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GetPromptsRequest {\n return new GetPromptsRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GetPromptsRequest {\n return new GetPromptsRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: GetPromptsRequest | PlainMessage | undefined, b: GetPromptsRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(GetPromptsRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.GetPromptsResponse\n */\nexport class GetPromptsResponse extends Message {\n /**\n * @generated from field: repeated protoflow.Prompt prompts = 1;\n */\n prompts: Prompt[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.GetPromptsResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"prompts\", kind: \"message\", T: Prompt, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GetPromptsResponse {\n return new GetPromptsResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GetPromptsResponse {\n return new GetPromptsResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GetPromptsResponse {\n return new GetPromptsResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: GetPromptsResponse | PlainMessage | undefined, b: GetPromptsResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(GetPromptsResponse, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.InferRequest\n */\nexport class InferRequest extends Message {\n /**\n * @generated from field: string prompt = 1;\n */\n prompt = \"\";\n\n /**\n * @generated from field: repeated string text = 2;\n */\n text: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.InferRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"prompt\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): InferRequest {\n return new InferRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): InferRequest {\n return new InferRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): InferRequest {\n return new InferRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: InferRequest | PlainMessage | undefined, b: InferRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(InferRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.InferResponse\n */\nexport class InferResponse extends Message {\n /**\n * @generated from field: string text = 1;\n */\n text = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.InferResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): InferResponse {\n return new InferResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): InferResponse {\n return new InferResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): InferResponse {\n return new InferResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: InferResponse | PlainMessage | undefined, b: InferResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(InferResponse, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.UploadContentRequest\n */\nexport class UploadContentRequest extends Message {\n /**\n * @generated from field: content.Content content = 1;\n */\n content?: Content;\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.UploadContentRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"content\", kind: \"message\", T: Content },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): UploadContentRequest {\n return new UploadContentRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): UploadContentRequest {\n return new UploadContentRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): UploadContentRequest {\n return new UploadContentRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: UploadContentRequest | PlainMessage | undefined, b: UploadContentRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(UploadContentRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.UploadContentResponse\n */\nexport class UploadContentResponse extends Message {\n /**\n * @generated from field: string id = 1;\n */\n id = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.UploadContentResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): UploadContentResponse {\n return new UploadContentResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): UploadContentResponse {\n return new UploadContentResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): UploadContentResponse {\n return new UploadContentResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: UploadContentResponse | PlainMessage | undefined, b: UploadContentResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(UploadContentResponse, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.GetSessionRequest\n */\nexport class GetSessionRequest extends Message {\n /**\n * @generated from field: string id = 1;\n */\n id = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.GetSessionRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GetSessionRequest {\n return new GetSessionRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GetSessionRequest {\n return new GetSessionRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GetSessionRequest {\n return new GetSessionRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: GetSessionRequest | PlainMessage | undefined, b: GetSessionRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(GetSessionRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.GetSessionResponse\n */\nexport class GetSessionResponse extends Message {\n /**\n * @generated from field: protoflow.Session session = 1;\n */\n session?: Session;\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.GetSessionResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"session\", kind: \"message\", T: Session },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GetSessionResponse {\n return new GetSessionResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GetSessionResponse {\n return new GetSessionResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GetSessionResponse {\n return new GetSessionResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: GetSessionResponse | PlainMessage | undefined, b: GetSessionResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(GetSessionResponse, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.GetSessionsRequest\n */\nexport class GetSessionsRequest extends Message {\n /**\n * @generated from field: uint64 page = 1;\n */\n page = protoInt64.zero;\n\n /**\n * @generated from field: uint64 limit = 2;\n */\n limit = protoInt64.zero;\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.GetSessionsRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"page\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n { no: 2, name: \"limit\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GetSessionsRequest {\n return new GetSessionsRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GetSessionsRequest {\n return new GetSessionsRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GetSessionsRequest {\n return new GetSessionsRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: GetSessionsRequest | PlainMessage | undefined, b: GetSessionsRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(GetSessionsRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.GetSessionsResponse\n */\nexport class GetSessionsResponse extends Message {\n /**\n * @generated from field: repeated protoflow.Session sessions = 1;\n */\n sessions: Session[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.GetSessionsResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"sessions\", kind: \"message\", T: Session, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GetSessionsResponse {\n return new GetSessionsResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GetSessionsResponse {\n return new GetSessionsResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GetSessionsResponse {\n return new GetSessionsResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: GetSessionsResponse | PlainMessage | undefined, b: GetSessionsResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(GetSessionsResponse, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.Token\n */\nexport class Token extends Message {\n /**\n * @generated from field: uint32 id = 1;\n */\n id = 0;\n\n /**\n * @generated from field: uint64 start_time = 2;\n */\n startTime = protoInt64.zero;\n\n /**\n * @generated from field: uint64 end_time = 3;\n */\n endTime = protoInt64.zero;\n\n /**\n * @generated from field: string text = 4;\n */\n text = \"\";\n\n /**\n * @generated from field: string p = 5;\n */\n p = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.Token\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */ },\n { no: 2, name: \"start_time\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n { no: 3, name: \"end_time\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n { no: 4, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 5, name: \"p\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Token {\n return new Token().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Token {\n return new Token().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Token {\n return new Token().fromJsonString(jsonString, options);\n }\n\n static equals(a: Token | PlainMessage | undefined, b: Token | PlainMessage | undefined): boolean {\n return proto3.util.equals(Token, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.Segment\n */\nexport class Segment extends Message {\n /**\n * @generated from field: uint32 num = 1;\n */\n num = 0;\n\n /**\n * @generated from field: repeated protoflow.Token tokens = 2;\n */\n tokens: Token[] = [];\n\n /**\n * @generated from field: string text = 3;\n */\n text = \"\";\n\n /**\n * @generated from field: uint64 start_time = 4;\n */\n startTime = protoInt64.zero;\n\n /**\n * @generated from field: uint64 end_time = 5;\n */\n endTime = protoInt64.zero;\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.Segment\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"num\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */ },\n { no: 2, name: \"tokens\", kind: \"message\", T: Token, repeated: true },\n { no: 3, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 4, name: \"start_time\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n { no: 5, name: \"end_time\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Segment {\n return new Segment().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Segment {\n return new Segment().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Segment {\n return new Segment().fromJsonString(jsonString, options);\n }\n\n static equals(a: Segment | PlainMessage | undefined, b: Segment | PlainMessage | undefined): boolean {\n return proto3.util.equals(Segment, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.Session\n */\nexport class Session extends Message {\n /**\n * @generated from field: string id = 1;\n */\n id = \"\";\n\n /**\n * @generated from field: string name = 2;\n */\n name = \"\";\n\n /**\n * @generated from field: repeated protoflow.Segment segments = 3;\n */\n segments: Segment[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.Session\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"name\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 3, name: \"segments\", kind: \"message\", T: Segment, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Session {\n return new Session().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Session {\n return new Session().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Session {\n return new Session().fromJsonString(jsonString, options);\n }\n\n static equals(a: Session | PlainMessage | undefined, b: Session | PlainMessage | undefined): boolean {\n return proto3.util.equals(Session, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.TranscriptionRequest\n */\nexport class TranscriptionRequest extends Message {\n /**\n * @generated from field: string file_path = 14;\n */\n filePath = \"\";\n\n /**\n * Path to the model file\n *\n * @generated from field: string model = 1;\n */\n model = \"\";\n\n /**\n * Spoken language\n *\n * @generated from field: string language = 2;\n */\n language = \"\";\n\n /**\n * Translate from source language to English\n *\n * @generated from field: bool translate = 3;\n */\n translate = false;\n\n /**\n * Time offset in nanoseconds to match Go's time.Duration\n *\n * @generated from field: int64 offset = 4;\n */\n offset = protoInt64.zero;\n\n /**\n * Duration of audio to process in nanoseconds\n *\n * @generated from field: int64 duration = 5;\n */\n duration = protoInt64.zero;\n\n /**\n * Number of threads to use\n *\n * @generated from field: uint32 threads = 6;\n */\n threads = 0;\n\n /**\n * Enable speedup\n *\n * @generated from field: bool speedup = 7;\n */\n speedup = false;\n\n /**\n * Maximum segment length in characters\n *\n * @generated from field: uint32 max_len = 8;\n */\n maxLen = 0;\n\n /**\n * Maximum tokens per segment\n *\n * @generated from field: uint32 max_tokens = 9;\n */\n maxTokens = 0;\n\n /**\n * Maximum segment score\n *\n * @generated from field: double word_threshold = 10;\n */\n wordThreshold = 0;\n\n /**\n * Display tokens\n *\n * @generated from field: bool tokens = 11;\n */\n tokens = false;\n\n /**\n * Colorize tokens\n *\n * @generated from field: bool colorize = 12;\n */\n colorize = false;\n\n /**\n * Output format (srt, none or leave as empty string)\n *\n * @generated from field: string out = 13;\n */\n out = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.TranscriptionRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 14, name: \"file_path\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 1, name: \"model\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"language\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 3, name: \"translate\", kind: \"scalar\", T: 8 /* ScalarType.BOOL */ },\n { no: 4, name: \"offset\", kind: \"scalar\", T: 3 /* ScalarType.INT64 */ },\n { no: 5, name: \"duration\", kind: \"scalar\", T: 3 /* ScalarType.INT64 */ },\n { no: 6, name: \"threads\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */ },\n { no: 7, name: \"speedup\", kind: \"scalar\", T: 8 /* ScalarType.BOOL */ },\n { no: 8, name: \"max_len\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */ },\n { no: 9, name: \"max_tokens\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */ },\n { no: 10, name: \"word_threshold\", kind: \"scalar\", T: 1 /* ScalarType.DOUBLE */ },\n { no: 11, name: \"tokens\", kind: \"scalar\", T: 8 /* ScalarType.BOOL */ },\n { no: 12, name: \"colorize\", kind: \"scalar\", T: 8 /* ScalarType.BOOL */ },\n { no: 13, name: \"out\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): TranscriptionRequest {\n return new TranscriptionRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): TranscriptionRequest {\n return new TranscriptionRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): TranscriptionRequest {\n return new TranscriptionRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: TranscriptionRequest | PlainMessage | undefined, b: TranscriptionRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(TranscriptionRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.RegisterFlags\n */\nexport class RegisterFlags extends Message {\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.RegisterFlags\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): RegisterFlags {\n return new RegisterFlags().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): RegisterFlags {\n return new RegisterFlags().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): RegisterFlags {\n return new RegisterFlags().fromJsonString(jsonString, options);\n }\n\n static equals(a: RegisterFlags | PlainMessage | undefined, b: RegisterFlags | PlainMessage | undefined): boolean {\n return proto3.util.equals(RegisterFlags, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.OCRText\n */\nexport class OCRText extends Message {\n /**\n * @generated from field: string text = 1;\n */\n text = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.OCRText\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): OCRText {\n return new OCRText().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): OCRText {\n return new OCRText().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): OCRText {\n return new OCRText().fromJsonString(jsonString, options);\n }\n\n static equals(a: OCRText | PlainMessage | undefined, b: OCRText | PlainMessage | undefined): boolean {\n return proto3.util.equals(OCRText, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.Image\n */\nexport class Image extends Message {\n /**\n * @generated from field: bytes image = 1;\n */\n image = new Uint8Array(0);\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.Image\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"image\", kind: \"scalar\", T: 12 /* ScalarType.BYTES */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Image {\n return new Image().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Image {\n return new Image().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Image {\n return new Image().fromJsonString(jsonString, options);\n }\n\n static equals(a: Image | PlainMessage | undefined, b: Image | PlainMessage | undefined): boolean {\n return proto3.util.equals(Image, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.ConvertFileRequest\n */\nexport class ConvertFileRequest extends Message {\n /**\n * @generated from field: string from = 1;\n */\n from = \"\";\n\n /**\n * @generated from field: string to = 2;\n */\n to = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.ConvertFileRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"from\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"to\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): ConvertFileRequest {\n return new ConvertFileRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): ConvertFileRequest {\n return new ConvertFileRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): ConvertFileRequest {\n return new ConvertFileRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: ConvertFileRequest | PlainMessage | undefined, b: ConvertFileRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(ConvertFileRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.ChatRequest\n */\nexport class ChatRequest extends Message {\n /**\n * @generated from field: int32 capture_device = 1;\n */\n captureDevice = 0;\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.ChatRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"capture_device\", kind: \"scalar\", T: 5 /* ScalarType.INT32 */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): ChatRequest {\n return new ChatRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): ChatRequest {\n return new ChatRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): ChatRequest {\n return new ChatRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: ChatRequest | PlainMessage | undefined, b: ChatRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(ChatRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.ChatResponse\n */\nexport class ChatResponse extends Message {\n /**\n * @generated from field: protoflow.Segment segment = 1;\n */\n segment?: Segment;\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.ChatResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"segment\", kind: \"message\", T: Segment },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): ChatResponse {\n return new ChatResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): ChatResponse {\n return new ChatResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): ChatResponse {\n return new ChatResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: ChatResponse | PlainMessage | undefined, b: ChatResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(ChatResponse, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.YouTubeVideo\n */\nexport class YouTubeVideo extends Message {\n /**\n * @generated from field: string id = 1;\n */\n id = \"\";\n\n /**\n * @generated from field: string file = 2;\n */\n file = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.YouTubeVideo\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"file\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): YouTubeVideo {\n return new YouTubeVideo().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): YouTubeVideo {\n return new YouTubeVideo().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): YouTubeVideo {\n return new YouTubeVideo().fromJsonString(jsonString, options);\n }\n\n static equals(a: YouTubeVideo | PlainMessage | undefined, b: YouTubeVideo | PlainMessage | undefined): boolean {\n return proto3.util.equals(YouTubeVideo, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.FilePath\n */\nexport class FilePath extends Message {\n /**\n * @generated from field: string file = 1;\n */\n file = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.FilePath\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"file\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): FilePath {\n return new FilePath().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): FilePath {\n return new FilePath().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): FilePath {\n return new FilePath().fromJsonString(jsonString, options);\n }\n\n static equals(a: FilePath | PlainMessage | undefined, b: FilePath | PlainMessage | undefined): boolean {\n return proto3.util.equals(FilePath, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.YouTubeVideoResponse\n */\nexport class YouTubeVideoResponse extends Message {\n /**\n * @generated from field: string title = 1;\n */\n title = \"\";\n\n /**\n * @generated from field: protoflow.FilePath file_path = 2;\n */\n filePath?: FilePath;\n\n /**\n * @generated from field: repeated protoflow.Segment transcript = 3;\n */\n transcript: Segment[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.YouTubeVideoResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"title\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"file_path\", kind: \"message\", T: FilePath },\n { no: 3, name: \"transcript\", kind: \"message\", T: Segment, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): YouTubeVideoResponse {\n return new YouTubeVideoResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): YouTubeVideoResponse {\n return new YouTubeVideoResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): YouTubeVideoResponse {\n return new YouTubeVideoResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: YouTubeVideoResponse | PlainMessage | undefined, b: YouTubeVideoResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(YouTubeVideoResponse, a, b);\n }\n}\n\n", "// @generated by protoc-gen-es v1.3.3 with parameter \"target=ts\"\n// @generated from file ai.proto (package ai, syntax proto3)\n/* eslint-disable */\n// @ts-nocheck\n\nimport type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from \"@bufbuild/protobuf\";\nimport { Message, proto3 } from \"@bufbuild/protobuf\";\n\n/**\n * @generated from message ai.AnalyzeConversationResponse\n */\nexport class AnalyzeConversationResponse extends Message {\n /**\n * Phone numbers of the participants\n *\n * @generated from field: repeated string phone_numbers = 1;\n */\n phoneNumbers: string[] = [];\n\n /**\n * The summary of the conversation\n *\n * @generated from field: string summary = 2;\n */\n summary = \"\";\n\n /**\n * Based on the content of the conversation, the system will generate a list of questions\n *\n * @generated from field: repeated string questions = 3;\n */\n questions: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"ai.AnalyzeConversationResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"phone_numbers\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n { no: 2, name: \"summary\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 3, name: \"questions\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): AnalyzeConversationResponse {\n return new AnalyzeConversationResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): AnalyzeConversationResponse {\n return new AnalyzeConversationResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): AnalyzeConversationResponse {\n return new AnalyzeConversationResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: AnalyzeConversationResponse | PlainMessage | undefined, b: AnalyzeConversationResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(AnalyzeConversationResponse, a, b);\n }\n}\n\n/**\n * @generated from message ai.AnalyzeContent\n */\nexport class AnalyzeContent extends Message {\n /**\n * Potential categories for the content in the form: category/subcategory/other-category. The category is all lowercase and spaces are replaced with dashes.\n *\n * @generated from field: repeated string categories = 1;\n */\n categories: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"ai.AnalyzeContent\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"categories\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): AnalyzeContent {\n return new AnalyzeContent().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): AnalyzeContent {\n return new AnalyzeContent().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): AnalyzeContent {\n return new AnalyzeContent().fromJsonString(jsonString, options);\n }\n\n static equals(a: AnalyzeContent | PlainMessage | undefined, b: AnalyzeContent | PlainMessage | undefined): boolean {\n return proto3.util.equals(AnalyzeContent, a, b);\n }\n}\n\n", "// @generated by protoc-gen-connect-es v0.13.0 with parameter \"target=ts\"\n// @generated from file protoflow.proto (package protoflow, syntax proto3)\n/* eslint-disable */\n// @ts-nocheck\n\nimport { AnalyzeConversationRequest, ChatRequest, ChatResponse, ConvertFileRequest, DeleteSessionRequest, FilePath, GenerateImagesRequest, GenerateImagesResponse, GetPromptsRequest, GetPromptsResponse, GetSessionRequest, GetSessionResponse, GetSessionsRequest, GetSessionsResponse, InferRequest, InferResponse, Prompt, UploadContentRequest, YouTubeVideo, YouTubeVideoResponse } from \"./protoflow_pb.js\";\nimport { Empty, MethodKind } from \"@bufbuild/protobuf\";\nimport { AnalyzeConversationResponse } from \"./ai_pb.js\";\n\n/**\n * @generated from service protoflow.ProtoflowService\n */\nexport const ProtoflowService = {\n typeName: \"protoflow.ProtoflowService\",\n methods: {\n /**\n * @generated from rpc protoflow.ProtoflowService.DownloadYouTubeVideo\n */\n downloadYouTubeVideo: {\n name: \"DownloadYouTubeVideo\",\n I: YouTubeVideo,\n O: YouTubeVideoResponse,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.GetSessions\n */\n getSessions: {\n name: \"GetSessions\",\n I: GetSessionsRequest,\n O: GetSessionsResponse,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.GetSession\n */\n getSession: {\n name: \"GetSession\",\n I: GetSessionRequest,\n O: GetSessionResponse,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.DeleteSession\n */\n deleteSession: {\n name: \"DeleteSession\",\n I: DeleteSessionRequest,\n O: Empty,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.GetPrompts\n */\n getPrompts: {\n name: \"GetPrompts\",\n I: GetPromptsRequest,\n O: GetPromptsResponse,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.NewPrompt\n */\n newPrompt: {\n name: \"NewPrompt\",\n I: Prompt,\n O: Prompt,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.UploadContent\n */\n uploadContent: {\n name: \"UploadContent\",\n I: UploadContentRequest,\n O: ChatResponse,\n kind: MethodKind.ServerStreaming,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.Infer\n */\n infer: {\n name: \"Infer\",\n I: InferRequest,\n O: InferResponse,\n kind: MethodKind.ServerStreaming,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.Chat\n */\n chat: {\n name: \"Chat\",\n I: ChatRequest,\n O: ChatResponse,\n kind: MethodKind.ServerStreaming,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.ConvertFile\n */\n convertFile: {\n name: \"ConvertFile\",\n I: ConvertFileRequest,\n O: FilePath,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.GenerateImages\n */\n generateImages: {\n name: \"GenerateImages\",\n I: GenerateImagesRequest,\n O: GenerateImagesResponse,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.AnalyzeConversation\n */\n analyzeConversation: {\n name: \"AnalyzeConversation\",\n I: AnalyzeConversationRequest,\n O: AnalyzeConversationResponse,\n kind: MethodKind.Unary,\n },\n }\n} as const;\n\n", "// @generated by protoc-gen-connect-es v0.13.0 with parameter \"target=ts\"\n// @generated from file content/content.proto (package content, syntax proto3)\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Content, ContentIDs, Contents, Query, Results, SetTagsRequest, TagRequest, Tags, VoteRequest, VoteResponse } from \"./content_pb.js\";\nimport { Empty, MethodKind } from \"@bufbuild/protobuf\";\n\n/**\n * @generated from service content.ContentService\n */\nexport const ContentService = {\n typeName: \"content.ContentService\",\n methods: {\n /**\n * @generated from rpc content.ContentService.Save\n */\n save: {\n name: \"Save\",\n I: Contents,\n O: ContentIDs,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc content.ContentService.Search\n */\n search: {\n name: \"Search\",\n I: Query,\n O: Results,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc content.ContentService.Analyze\n */\n analyze: {\n name: \"Analyze\",\n I: Content,\n O: Contents,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc content.ContentService.Delete\n */\n delete: {\n name: \"Delete\",\n I: ContentIDs,\n O: ContentIDs,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc content.ContentService.GetTags\n */\n getTags: {\n name: \"GetTags\",\n I: TagRequest,\n O: Tags,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc content.ContentService.SetTags\n */\n setTags: {\n name: \"SetTags\",\n I: SetTagsRequest,\n O: Empty,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc content.ContentService.Vote\n */\n vote: {\n name: \"Vote\",\n I: VoteRequest,\n O: VoteResponse,\n kind: MethodKind.Unary,\n },\n }\n} as const;\n\n", "// @generated by protoc-gen-connect-es v0.13.0 with parameter \"target=ts\"\n// @generated from file user/user.proto (package user, syntax proto3)\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Config, Group, GroupID, GroupInfoRequest, GroupInvite, Groups, ShareRequest, User } from \"./user_pb.js\";\nimport { Empty, MethodKind } from \"@bufbuild/protobuf\";\n\n/**\n * @generated from service user.UserService\n */\nexport const UserService = {\n typeName: \"user.UserService\",\n methods: {\n /**\n * @generated from rpc user.UserService.Register\n */\n register: {\n name: \"Register\",\n I: User,\n O: User,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.Login\n */\n login: {\n name: \"Login\",\n I: User,\n O: User,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.Logout\n */\n logout: {\n name: \"Logout\",\n I: Empty,\n O: Empty,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.UpdateConfig\n */\n updateConfig: {\n name: \"UpdateConfig\",\n I: Config,\n O: Empty,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.CreateGroupInvite\n */\n createGroupInvite: {\n name: \"CreateGroupInvite\",\n I: GroupID,\n O: GroupInvite,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.JoinGroup\n */\n joinGroup: {\n name: \"JoinGroup\",\n I: GroupInvite,\n O: Group,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.GroupInfo\n */\n groupInfo: {\n name: \"GroupInfo\",\n I: GroupInfoRequest,\n O: Group,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.CreateGroup\n */\n createGroup: {\n name: \"CreateGroup\",\n I: Group,\n O: Group,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.GetGroups\n */\n getGroups: {\n name: \"GetGroups\",\n I: Empty,\n O: Groups,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.DeleteGroup\n */\n deleteGroup: {\n name: \"DeleteGroup\",\n I: Group,\n O: Empty,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.Share\n */\n share: {\n name: \"Share\",\n I: ShareRequest,\n O: Empty,\n kind: MethodKind.Unary,\n },\n }\n} as const;\n\n", "type Listener = () => void\n\nexport class Subscribable {\n protected listeners: Set<{ listener: TListener }>\n\n constructor() {\n this.listeners = new Set()\n this.subscribe = this.subscribe.bind(this)\n }\n\n subscribe(listener: TListener): () => void {\n const identity = { listener }\n this.listeners.add(identity)\n\n this.onSubscribe()\n\n return () => {\n this.listeners.delete(identity)\n this.onUnsubscribe()\n }\n }\n\n hasListeners(): boolean {\n return this.listeners.size > 0\n }\n\n protected onSubscribe(): void {\n // Do nothing\n }\n\n protected onUnsubscribe(): void {\n // Do nothing\n }\n}\n", "import type { Mutation } from './mutation'\nimport type { Query } from './query'\nimport type {\n FetchStatus,\n MutationFunction,\n MutationKey,\n MutationOptions,\n QueryFunction,\n QueryKey,\n QueryOptions,\n} from './types'\n\n// TYPES\n\nexport interface QueryFilters {\n /**\n * Filter to active queries, inactive queries or all queries\n */\n type?: QueryTypeFilter\n /**\n * Match query key exactly\n */\n exact?: boolean\n /**\n * Include queries matching this predicate function\n */\n predicate?: (query: Query) => boolean\n /**\n * Include queries matching this query key\n */\n queryKey?: QueryKey\n /**\n * Include or exclude stale queries\n */\n stale?: boolean\n /**\n * Include queries matching their fetchStatus\n */\n fetchStatus?: FetchStatus\n}\n\nexport interface MutationFilters {\n /**\n * Match mutation key exactly\n */\n exact?: boolean\n /**\n * Include mutations matching this predicate function\n */\n predicate?: (mutation: Mutation) => boolean\n /**\n * Include mutations matching this mutation key\n */\n mutationKey?: MutationKey\n /**\n * Include or exclude fetching mutations\n */\n fetching?: boolean\n}\n\nexport type DataUpdateFunction = (input: TInput) => TOutput\n\nexport type Updater =\n | TOutput\n | DataUpdateFunction\n\nexport type QueryTypeFilter = 'all' | 'active' | 'inactive'\n\n// UTILS\n\nexport const isServer = typeof window === 'undefined' || 'Deno' in window\n\nexport function noop(): undefined {\n return undefined\n}\n\nexport function functionalUpdate(\n updater: Updater,\n input: TInput,\n): TOutput {\n return typeof updater === 'function'\n ? (updater as DataUpdateFunction)(input)\n : updater\n}\n\nexport function isValidTimeout(value: unknown): value is number {\n return typeof value === 'number' && value >= 0 && value !== Infinity\n}\n\nexport function difference(array1: T[], array2: T[]): T[] {\n return array1.filter((x) => !array2.includes(x))\n}\n\nexport function replaceAt(array: T[], index: number, value: T): T[] {\n const copy = array.slice(0)\n copy[index] = value\n return copy\n}\n\nexport function timeUntilStale(updatedAt: number, staleTime?: number): number {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0)\n}\n\nexport function parseQueryArgs<\n TOptions extends QueryOptions,\n TQueryKey extends QueryKey = QueryKey,\n>(\n arg1: TQueryKey | TOptions,\n arg2?: QueryFunction | TOptions,\n arg3?: TOptions,\n): TOptions {\n if (!isQueryKey(arg1)) {\n return arg1 as TOptions\n }\n\n if (typeof arg2 === 'function') {\n return { ...arg3, queryKey: arg1, queryFn: arg2 } as TOptions\n }\n\n return { ...arg2, queryKey: arg1 } as TOptions\n}\n\nexport function parseMutationArgs<\n TOptions extends MutationOptions,\n>(\n arg1: MutationKey | MutationFunction | TOptions,\n arg2?: MutationFunction | TOptions,\n arg3?: TOptions,\n): TOptions {\n if (isQueryKey(arg1)) {\n if (typeof arg2 === 'function') {\n return { ...arg3, mutationKey: arg1, mutationFn: arg2 } as TOptions\n }\n return { ...arg2, mutationKey: arg1 } as TOptions\n }\n\n if (typeof arg1 === 'function') {\n return { ...arg2, mutationFn: arg1 } as TOptions\n }\n\n return { ...arg1 } as TOptions\n}\n\nexport function parseFilterArgs<\n TFilters extends QueryFilters,\n TOptions = unknown,\n>(\n arg1?: QueryKey | TFilters,\n arg2?: TFilters | TOptions,\n arg3?: TOptions,\n): [TFilters, TOptions | undefined] {\n return (\n isQueryKey(arg1) ? [{ ...arg2, queryKey: arg1 }, arg3] : [arg1 || {}, arg2]\n ) as [TFilters, TOptions]\n}\n\nexport function parseMutationFilterArgs<\n TFilters extends MutationFilters,\n TOptions = unknown,\n>(\n arg1?: QueryKey | TFilters,\n arg2?: TFilters | TOptions,\n arg3?: TOptions,\n): [TFilters, TOptions | undefined] {\n return (\n isQueryKey(arg1)\n ? [{ ...arg2, mutationKey: arg1 }, arg3]\n : [arg1 || {}, arg2]\n ) as [TFilters, TOptions]\n}\n\nexport function matchQuery(\n filters: QueryFilters,\n query: Query,\n): boolean {\n const {\n type = 'all',\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale,\n } = filters\n\n if (isQueryKey(queryKey)) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false\n }\n }\n\n if (type !== 'all') {\n const isActive = query.isActive()\n if (type === 'active' && !isActive) {\n return false\n }\n if (type === 'inactive' && isActive) {\n return false\n }\n }\n\n if (typeof stale === 'boolean' && query.isStale() !== stale) {\n return false\n }\n\n if (\n typeof fetchStatus !== 'undefined' &&\n fetchStatus !== query.state.fetchStatus\n ) {\n return false\n }\n\n if (predicate && !predicate(query)) {\n return false\n }\n\n return true\n}\n\nexport function matchMutation(\n filters: MutationFilters,\n mutation: Mutation,\n): boolean {\n const { exact, fetching, predicate, mutationKey } = filters\n if (isQueryKey(mutationKey)) {\n if (!mutation.options.mutationKey) {\n return false\n }\n if (exact) {\n if (\n hashQueryKey(mutation.options.mutationKey) !== hashQueryKey(mutationKey)\n ) {\n return false\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false\n }\n }\n\n if (\n typeof fetching === 'boolean' &&\n (mutation.state.status === 'loading') !== fetching\n ) {\n return false\n }\n\n if (predicate && !predicate(mutation)) {\n return false\n }\n\n return true\n}\n\nexport function hashQueryKeyByOptions(\n queryKey: TQueryKey,\n options?: QueryOptions,\n): string {\n const hashFn = options?.queryKeyHashFn || hashQueryKey\n return hashFn(queryKey)\n}\n\n/**\n * Default query keys hash function.\n * Hashes the value into a stable hash.\n */\nexport function hashQueryKey(queryKey: QueryKey): string {\n return JSON.stringify(queryKey, (_, val) =>\n isPlainObject(val)\n ? Object.keys(val)\n .sort()\n .reduce((result, key) => {\n result[key] = val[key]\n return result\n }, {} as any)\n : val,\n )\n}\n\n/**\n * Checks if key `b` partially matches with key `a`.\n */\nexport function partialMatchKey(a: QueryKey, b: QueryKey): boolean {\n return partialDeepEqual(a, b)\n}\n\n/**\n * Checks if `b` partially matches with `a`.\n */\nexport function partialDeepEqual(a: any, b: any): boolean {\n if (a === b) {\n return true\n }\n\n if (typeof a !== typeof b) {\n return false\n }\n\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n return !Object.keys(b).some((key) => !partialDeepEqual(a[key], b[key]))\n }\n\n return false\n}\n\n/**\n * This function returns `a` if `b` is deeply equal.\n * If not, it will replace any deeply equal children of `b` with those of `a`.\n * This can be used for structural sharing between JSON values for example.\n */\nexport function replaceEqualDeep(a: unknown, b: T): T\nexport function replaceEqualDeep(a: any, b: any): any {\n if (a === b) {\n return a\n }\n\n const array = isPlainArray(a) && isPlainArray(b)\n\n if (array || (isPlainObject(a) && isPlainObject(b))) {\n const aSize = array ? a.length : Object.keys(a).length\n const bItems = array ? b : Object.keys(b)\n const bSize = bItems.length\n const copy: any = array ? [] : {}\n\n let equalItems = 0\n\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i]\n copy[key] = replaceEqualDeep(a[key], b[key])\n if (copy[key] === a[key]) {\n equalItems++\n }\n }\n\n return aSize === bSize && equalItems === aSize ? a : copy\n }\n\n return b\n}\n\n/**\n * Shallow compare objects. Only works with objects that always have the same properties.\n */\nexport function shallowEqualObjects(a: T, b: T): boolean {\n if ((a && !b) || (b && !a)) {\n return false\n }\n\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false\n }\n }\n\n return true\n}\n\nexport function isPlainArray(value: unknown) {\n return Array.isArray(value) && value.length === Object.keys(value).length\n}\n\n// Copied from: https://github.com/jonschlinkert/is-plain-object\nexport function isPlainObject(o: any): o is Object {\n if (!hasObjectPrototype(o)) {\n return false\n }\n\n // If has modified constructor\n const ctor = o.constructor\n if (typeof ctor === 'undefined') {\n return true\n }\n\n // If has modified prototype\n const prot = ctor.prototype\n if (!hasObjectPrototype(prot)) {\n return false\n }\n\n // If constructor does not have an Object-specific method\n if (!prot.hasOwnProperty('isPrototypeOf')) {\n return false\n }\n\n // Most likely a plain Object\n return true\n}\n\nfunction hasObjectPrototype(o: any): boolean {\n return Object.prototype.toString.call(o) === '[object Object]'\n}\n\nexport function isQueryKey(value: unknown): value is QueryKey {\n return Array.isArray(value)\n}\n\nexport function isError(value: any): value is Error {\n return value instanceof Error\n}\n\nexport function sleep(timeout: number): Promise {\n return new Promise((resolve) => {\n setTimeout(resolve, timeout)\n })\n}\n\n/**\n * Schedules a microtask.\n * This can be useful to schedule state updates after rendering.\n */\nexport function scheduleMicrotask(callback: () => void) {\n sleep(0).then(callback)\n}\n\nexport function getAbortController(): AbortController | undefined {\n if (typeof AbortController === 'function') {\n return new AbortController()\n }\n return\n}\n\nexport function replaceData<\n TData,\n TOptions extends QueryOptions,\n>(prevData: TData | undefined, data: TData, options: TOptions): TData {\n // Use prev data if an isDataEqual function is defined and returns `true`\n if (options.isDataEqual?.(prevData, data)) {\n return prevData as TData\n } else if (typeof options.structuralSharing === 'function') {\n return options.structuralSharing(prevData, data)\n } else if (options.structuralSharing !== false) {\n // Structurally share data between prev and new data if needed\n return replaceEqualDeep(prevData, data)\n }\n return data\n}\n", "import { Subscribable } from './subscribable'\nimport { isServer } from './utils'\n\ntype SetupFn = (\n setFocused: (focused?: boolean) => void,\n) => (() => void) | undefined\n\nexport class FocusManager extends Subscribable {\n private focused?: boolean\n private cleanup?: () => void\n\n private setup: SetupFn\n\n constructor() {\n super()\n this.setup = (onFocus) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onFocus()\n // Listen to visibillitychange and focus\n window.addEventListener('visibilitychange', listener, false)\n window.addEventListener('focus', listener, false)\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('visibilitychange', listener)\n window.removeEventListener('focus', listener)\n }\n }\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.cleanup) {\n this.setEventListener(this.setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.cleanup?.()\n this.cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.setup = setup\n this.cleanup?.()\n this.cleanup = setup((focused) => {\n if (typeof focused === 'boolean') {\n this.setFocused(focused)\n } else {\n this.onFocus()\n }\n })\n }\n\n setFocused(focused?: boolean): void {\n const changed = this.focused !== focused\n if (changed) {\n this.focused = focused\n this.onFocus()\n }\n }\n\n onFocus(): void {\n this.listeners.forEach(({ listener }) => {\n listener()\n })\n }\n\n isFocused(): boolean {\n if (typeof this.focused === 'boolean') {\n return this.focused\n }\n\n // document global can be unavailable in react native\n if (typeof document === 'undefined') {\n return true\n }\n\n return [undefined, 'visible', 'prerender'].includes(\n document.visibilityState,\n )\n }\n}\n\nexport const focusManager = new FocusManager()\n", "import { Subscribable } from './subscribable'\nimport { isServer } from './utils'\n\ntype SetupFn = (\n setOnline: (online?: boolean) => void,\n) => (() => void) | undefined\n\nconst onlineEvents = ['online', 'offline'] as const\n\nexport class OnlineManager extends Subscribable {\n private online?: boolean\n private cleanup?: () => void\n\n private setup: SetupFn\n\n constructor() {\n super()\n this.setup = (onOnline) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onOnline()\n // Listen to online\n onlineEvents.forEach((event) => {\n window.addEventListener(event, listener, false)\n })\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n onlineEvents.forEach((event) => {\n window.removeEventListener(event, listener)\n })\n }\n }\n\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.cleanup) {\n this.setEventListener(this.setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.cleanup?.()\n this.cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.setup = setup\n this.cleanup?.()\n this.cleanup = setup((online?: boolean) => {\n if (typeof online === 'boolean') {\n this.setOnline(online)\n } else {\n this.onOnline()\n }\n })\n }\n\n setOnline(online?: boolean): void {\n const changed = this.online !== online\n\n if (changed) {\n this.online = online\n this.onOnline()\n }\n }\n\n onOnline(): void {\n this.listeners.forEach(({ listener }) => {\n listener()\n })\n }\n\n isOnline(): boolean {\n if (typeof this.online === 'boolean') {\n return this.online\n }\n\n if (\n typeof navigator === 'undefined' ||\n typeof navigator.onLine === 'undefined'\n ) {\n return true\n }\n\n return navigator.onLine\n }\n}\n\nexport const onlineManager = new OnlineManager()\n", "import { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { sleep } from './utils'\nimport type { CancelOptions, NetworkMode } from './types'\n\n// TYPES\n\ninterface RetryerConfig {\n fn: () => TData | Promise\n abort?: () => void\n onError?: (error: TError) => void\n onSuccess?: (data: TData) => void\n onFail?: (failureCount: number, error: TError) => void\n onPause?: () => void\n onContinue?: () => void\n retry?: RetryValue\n retryDelay?: RetryDelayValue\n networkMode: NetworkMode | undefined\n}\n\nexport interface Retryer {\n promise: Promise\n cancel: (cancelOptions?: CancelOptions) => void\n continue: () => Promise\n cancelRetry: () => void\n continueRetry: () => void\n}\n\nexport type RetryValue = boolean | number | ShouldRetryFunction\n\ntype ShouldRetryFunction = (\n failureCount: number,\n error: TError,\n) => boolean\n\nexport type RetryDelayValue = number | RetryDelayFunction\n\ntype RetryDelayFunction = (\n failureCount: number,\n error: TError,\n) => number\n\nfunction defaultRetryDelay(failureCount: number) {\n return Math.min(1000 * 2 ** failureCount, 30000)\n}\n\nexport function canFetch(networkMode: NetworkMode | undefined): boolean {\n return (networkMode ?? 'online') === 'online'\n ? onlineManager.isOnline()\n : true\n}\n\nexport class CancelledError {\n revert?: boolean\n silent?: boolean\n constructor(options?: CancelOptions) {\n this.revert = options?.revert\n this.silent = options?.silent\n }\n}\n\nexport function isCancelledError(value: any): value is CancelledError {\n return value instanceof CancelledError\n}\n\nexport function createRetryer(\n config: RetryerConfig,\n): Retryer {\n let isRetryCancelled = false\n let failureCount = 0\n let isResolved = false\n let continueFn: ((value?: unknown) => boolean) | undefined\n let promiseResolve: (data: TData) => void\n let promiseReject: (error: TError) => void\n\n const promise = new Promise((outerResolve, outerReject) => {\n promiseResolve = outerResolve\n promiseReject = outerReject\n })\n\n const cancel = (cancelOptions?: CancelOptions): void => {\n if (!isResolved) {\n reject(new CancelledError(cancelOptions))\n\n config.abort?.()\n }\n }\n const cancelRetry = () => {\n isRetryCancelled = true\n }\n\n const continueRetry = () => {\n isRetryCancelled = false\n }\n\n const shouldPause = () =>\n !focusManager.isFocused() ||\n (config.networkMode !== 'always' && !onlineManager.isOnline())\n\n const resolve = (value: any) => {\n if (!isResolved) {\n isResolved = true\n config.onSuccess?.(value)\n continueFn?.()\n promiseResolve(value)\n }\n }\n\n const reject = (value: any) => {\n if (!isResolved) {\n isResolved = true\n config.onError?.(value)\n continueFn?.()\n promiseReject(value)\n }\n }\n\n const pause = () => {\n return new Promise((continueResolve) => {\n continueFn = (value) => {\n const canContinue = isResolved || !shouldPause()\n if (canContinue) {\n continueResolve(value)\n }\n return canContinue\n }\n config.onPause?.()\n }).then(() => {\n continueFn = undefined\n if (!isResolved) {\n config.onContinue?.()\n }\n })\n }\n\n // Create loop function\n const run = () => {\n // Do nothing if already resolved\n if (isResolved) {\n return\n }\n\n let promiseOrValue: any\n\n // Execute query\n try {\n promiseOrValue = config.fn()\n } catch (error) {\n promiseOrValue = Promise.reject(error)\n }\n\n Promise.resolve(promiseOrValue)\n .then(resolve)\n .catch((error) => {\n // Stop if the fetch is already resolved\n if (isResolved) {\n return\n }\n\n // Do we need to retry the request?\n const retry = config.retry ?? 3\n const retryDelay = config.retryDelay ?? defaultRetryDelay\n const delay =\n typeof retryDelay === 'function'\n ? retryDelay(failureCount, error)\n : retryDelay\n const shouldRetry =\n retry === true ||\n (typeof retry === 'number' && failureCount < retry) ||\n (typeof retry === 'function' && retry(failureCount, error))\n\n if (isRetryCancelled || !shouldRetry) {\n // We are done if the query does not need to be retried\n reject(error)\n return\n }\n\n failureCount++\n\n // Notify on fail\n config.onFail?.(failureCount, error)\n\n // Delay\n sleep(delay)\n // Pause if the document is not visible or when the device is offline\n .then(() => {\n if (shouldPause()) {\n return pause()\n }\n return\n })\n .then(() => {\n if (isRetryCancelled) {\n reject(error)\n } else {\n run()\n }\n })\n })\n }\n\n // Start loop\n if (canFetch(config.networkMode)) {\n run()\n } else {\n pause().then(run)\n }\n\n return {\n promise,\n cancel,\n continue: () => {\n const didContinue = continueFn?.()\n return didContinue ? promise : Promise.resolve()\n },\n cancelRetry,\n continueRetry,\n }\n}\n", "export interface Logger {\n log: LogFunction\n warn: LogFunction\n error: LogFunction\n}\n\ntype LogFunction = (...args: any[]) => void\n\nexport const defaultLogger: Logger = console\n", "import { scheduleMicrotask } from './utils'\n\n// TYPES\n\ntype NotifyCallback = () => void\n\ntype NotifyFunction = (callback: () => void) => void\n\ntype BatchNotifyFunction = (callback: () => void) => void\n\ntype BatchCallsCallback = (...args: T) => void\n\nexport function createNotifyManager() {\n let queue: NotifyCallback[] = []\n let transactions = 0\n let notifyFn: NotifyFunction = (callback) => {\n callback()\n }\n let batchNotifyFn: BatchNotifyFunction = (callback: () => void) => {\n callback()\n }\n\n const batch = (callback: () => T): T => {\n let result\n transactions++\n try {\n result = callback()\n } finally {\n transactions--\n if (!transactions) {\n flush()\n }\n }\n return result\n }\n\n const schedule = (callback: NotifyCallback): void => {\n if (transactions) {\n queue.push(callback)\n } else {\n scheduleMicrotask(() => {\n notifyFn(callback)\n })\n }\n }\n\n /**\n * All calls to the wrapped function will be batched.\n */\n const batchCalls = (\n callback: BatchCallsCallback,\n ): BatchCallsCallback => {\n return (...args) => {\n schedule(() => {\n callback(...args)\n })\n }\n }\n\n const flush = (): void => {\n const originalQueue = queue\n queue = []\n if (originalQueue.length) {\n scheduleMicrotask(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback)\n })\n })\n })\n }\n }\n\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n const setNotifyFunction = (fn: NotifyFunction) => {\n notifyFn = fn\n }\n\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n const setBatchNotifyFunction = (fn: BatchNotifyFunction) => {\n batchNotifyFn = fn\n }\n\n return {\n batch,\n batchCalls,\n schedule,\n setNotifyFunction,\n setBatchNotifyFunction,\n } as const\n}\n\n// SINGLETON\nexport const notifyManager = createNotifyManager()\n", "import { isServer, isValidTimeout } from './utils'\n\nexport abstract class Removable {\n cacheTime!: number\n private gcTimeout?: ReturnType\n\n destroy(): void {\n this.clearGcTimeout()\n }\n\n protected scheduleGc(): void {\n this.clearGcTimeout()\n\n if (isValidTimeout(this.cacheTime)) {\n this.gcTimeout = setTimeout(() => {\n this.optionalRemove()\n }, this.cacheTime)\n }\n }\n\n protected updateCacheTime(newCacheTime: number | undefined): void {\n // Default to 5 minutes (Infinity for server-side) if no cache time is set\n this.cacheTime = Math.max(\n this.cacheTime || 0,\n newCacheTime ?? (isServer ? Infinity : 5 * 60 * 1000),\n )\n }\n\n protected clearGcTimeout() {\n if (this.gcTimeout) {\n clearTimeout(this.gcTimeout)\n this.gcTimeout = undefined\n }\n }\n\n protected abstract optionalRemove(): void\n}\n", "import { getAbortController, noop, replaceData, timeUntilStale } from './utils'\nimport { defaultLogger } from './logger'\nimport { notifyManager } from './notifyManager'\nimport { canFetch, createRetryer, isCancelledError } from './retryer'\nimport { Removable } from './removable'\nimport type {\n CancelOptions,\n FetchStatus,\n InitialDataFunction,\n QueryFunctionContext,\n QueryKey,\n QueryMeta,\n QueryOptions,\n QueryStatus,\n SetDataOptions,\n} from './types'\nimport type { QueryCache } from './queryCache'\nimport type { QueryObserver } from './queryObserver'\nimport type { Logger } from './logger'\nimport type { Retryer } from './retryer'\n\n// TYPES\n\ninterface QueryConfig<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n cache: QueryCache\n queryKey: TQueryKey\n queryHash: string\n logger?: Logger\n options?: QueryOptions\n defaultOptions?: QueryOptions\n state?: QueryState\n}\n\nexport interface QueryState {\n data: TData | undefined\n dataUpdateCount: number\n dataUpdatedAt: number\n error: TError | null\n errorUpdateCount: number\n errorUpdatedAt: number\n fetchFailureCount: number\n fetchFailureReason: TError | null\n fetchMeta: any\n isInvalidated: boolean\n status: QueryStatus\n fetchStatus: FetchStatus\n}\n\nexport interface FetchContext<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n fetchFn: () => unknown | Promise\n fetchOptions?: FetchOptions\n signal?: AbortSignal\n options: QueryOptions\n queryKey: TQueryKey\n state: QueryState\n}\n\nexport interface QueryBehavior<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n onFetch: (\n context: FetchContext,\n ) => void\n}\n\nexport interface FetchOptions {\n cancelRefetch?: boolean\n meta?: any\n}\n\ninterface FailedAction {\n type: 'failed'\n failureCount: number\n error: TError\n}\n\ninterface FetchAction {\n type: 'fetch'\n meta?: any\n}\n\ninterface SuccessAction {\n data: TData | undefined\n type: 'success'\n dataUpdatedAt?: number\n manual?: boolean\n}\n\ninterface ErrorAction {\n type: 'error'\n error: TError\n}\n\ninterface InvalidateAction {\n type: 'invalidate'\n}\n\ninterface PauseAction {\n type: 'pause'\n}\n\ninterface ContinueAction {\n type: 'continue'\n}\n\ninterface SetStateAction {\n type: 'setState'\n state: Partial>\n setStateOptions?: SetStateOptions\n}\n\nexport type Action =\n | ContinueAction\n | ErrorAction\n | FailedAction\n | FetchAction\n | InvalidateAction\n | PauseAction\n | SetStateAction\n | SuccessAction\n\nexport interface SetStateOptions {\n meta?: any\n}\n\n// CLASS\n\nexport class Query<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Removable {\n queryKey: TQueryKey\n queryHash: string\n options!: QueryOptions\n initialState: QueryState\n revertState?: QueryState\n state: QueryState\n isFetchingOptimistic?: boolean\n\n private cache: QueryCache\n private logger: Logger\n private promise?: Promise\n private retryer?: Retryer\n private observers: QueryObserver[]\n private defaultOptions?: QueryOptions\n private abortSignalConsumed: boolean\n\n constructor(config: QueryConfig) {\n super()\n\n this.abortSignalConsumed = false\n this.defaultOptions = config.defaultOptions\n this.setOptions(config.options)\n this.observers = []\n this.cache = config.cache\n this.logger = config.logger || defaultLogger\n this.queryKey = config.queryKey\n this.queryHash = config.queryHash\n this.initialState = config.state || getDefaultState(this.options)\n this.state = this.initialState\n this.scheduleGc()\n }\n\n get meta(): QueryMeta | undefined {\n return this.options.meta\n }\n\n private setOptions(\n options?: QueryOptions,\n ): void {\n this.options = { ...this.defaultOptions, ...options }\n\n this.updateCacheTime(this.options.cacheTime)\n }\n\n protected optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === 'idle') {\n this.cache.remove(this)\n }\n }\n\n setData(\n newData: TData,\n options?: SetDataOptions & { manual: boolean },\n ): TData {\n const data = replaceData(this.state.data, newData, this.options)\n\n // Set data and mark it as cached\n this.dispatch({\n data,\n type: 'success',\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual,\n })\n\n return data\n }\n\n setState(\n state: Partial>,\n setStateOptions?: SetStateOptions,\n ): void {\n this.dispatch({ type: 'setState', state, setStateOptions })\n }\n\n cancel(options?: CancelOptions): Promise {\n const promise = this.promise\n this.retryer?.cancel(options)\n return promise ? promise.then(noop).catch(noop) : Promise.resolve()\n }\n\n destroy(): void {\n super.destroy()\n\n this.cancel({ silent: true })\n }\n\n reset(): void {\n this.destroy()\n this.setState(this.initialState)\n }\n\n isActive(): boolean {\n return this.observers.some((observer) => observer.options.enabled !== false)\n }\n\n isDisabled(): boolean {\n return this.getObserversCount() > 0 && !this.isActive()\n }\n\n isStale(): boolean {\n return (\n this.state.isInvalidated ||\n !this.state.dataUpdatedAt ||\n this.observers.some((observer) => observer.getCurrentResult().isStale)\n )\n }\n\n isStaleByTime(staleTime = 0): boolean {\n return (\n this.state.isInvalidated ||\n !this.state.dataUpdatedAt ||\n !timeUntilStale(this.state.dataUpdatedAt, staleTime)\n )\n }\n\n onFocus(): void {\n const observer = this.observers.find((x) => x.shouldFetchOnWindowFocus())\n\n if (observer) {\n observer.refetch({ cancelRefetch: false })\n }\n\n // Continue fetch if currently paused\n this.retryer?.continue()\n }\n\n onOnline(): void {\n const observer = this.observers.find((x) => x.shouldFetchOnReconnect())\n\n if (observer) {\n observer.refetch({ cancelRefetch: false })\n }\n\n // Continue fetch if currently paused\n this.retryer?.continue()\n }\n\n addObserver(observer: QueryObserver): void {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer)\n\n // Stop the query from being garbage collected\n this.clearGcTimeout()\n\n this.cache.notify({ type: 'observerAdded', query: this, observer })\n }\n }\n\n removeObserver(observer: QueryObserver): void {\n if (this.observers.includes(observer)) {\n this.observers = this.observers.filter((x) => x !== observer)\n\n if (!this.observers.length) {\n // If the transport layer does not support cancellation\n // we'll let the query continue so the result can be cached\n if (this.retryer) {\n if (this.abortSignalConsumed) {\n this.retryer.cancel({ revert: true })\n } else {\n this.retryer.cancelRetry()\n }\n }\n\n this.scheduleGc()\n }\n\n this.cache.notify({ type: 'observerRemoved', query: this, observer })\n }\n }\n\n getObserversCount(): number {\n return this.observers.length\n }\n\n invalidate(): void {\n if (!this.state.isInvalidated) {\n this.dispatch({ type: 'invalidate' })\n }\n }\n\n fetch(\n options?: QueryOptions,\n fetchOptions?: FetchOptions,\n ): Promise {\n if (this.state.fetchStatus !== 'idle') {\n if (this.state.dataUpdatedAt && fetchOptions?.cancelRefetch) {\n // Silently cancel current fetch if the user wants to cancel refetches\n this.cancel({ silent: true })\n } else if (this.promise) {\n // make sure that retries that were potentially cancelled due to unmounts can continue\n this.retryer?.continueRetry()\n // Return current promise if we are already fetching\n return this.promise\n }\n }\n\n // Update config if passed, otherwise the config from the last execution is used\n if (options) {\n this.setOptions(options)\n }\n\n // Use the options from the first observer with a query function if no function is found.\n // This can happen when the query is hydrated or created with setQueryData.\n if (!this.options.queryFn) {\n const observer = this.observers.find((x) => x.options.queryFn)\n if (observer) {\n this.setOptions(observer.options)\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!Array.isArray(this.options.queryKey)) {\n this.logger.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`,\n )\n }\n }\n\n const abortController = getAbortController()\n\n // Create query function context\n const queryFnContext: QueryFunctionContext = {\n queryKey: this.queryKey,\n pageParam: undefined,\n meta: this.meta,\n }\n\n // Adds an enumerable signal property to the object that\n // which sets abortSignalConsumed to true when the signal\n // is read.\n const addSignalProperty = (object: unknown) => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n if (abortController) {\n this.abortSignalConsumed = true\n return abortController.signal\n }\n return undefined\n },\n })\n }\n\n addSignalProperty(queryFnContext)\n\n // Create fetch function\n const fetchFn = () => {\n if (!this.options.queryFn) {\n return Promise.reject(\n `Missing queryFn for queryKey '${this.options.queryHash}'`,\n )\n }\n this.abortSignalConsumed = false\n return this.options.queryFn(queryFnContext)\n }\n\n // Trigger behavior hook\n const context: FetchContext = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n state: this.state,\n fetchFn,\n }\n\n addSignalProperty(context)\n\n this.options.behavior?.onFetch(context)\n\n // Store state in case the current fetch needs to be reverted\n this.revertState = this.state\n\n // Set to fetching state if not already in it\n if (\n this.state.fetchStatus === 'idle' ||\n this.state.fetchMeta !== context.fetchOptions?.meta\n ) {\n this.dispatch({ type: 'fetch', meta: context.fetchOptions?.meta })\n }\n\n const onError = (error: TError | { silent?: boolean }) => {\n // Optimistically update state if needed\n if (!(isCancelledError(error) && error.silent)) {\n this.dispatch({\n type: 'error',\n error: error as TError,\n })\n }\n\n if (!isCancelledError(error)) {\n // Notify cache callback\n this.cache.config.onError?.(error, this as Query)\n this.cache.config.onSettled?.(\n this.state.data,\n error,\n this as Query,\n )\n\n if (process.env.NODE_ENV !== 'production') {\n this.logger.error(error)\n }\n }\n\n if (!this.isFetchingOptimistic) {\n // Schedule query gc after fetching\n this.scheduleGc()\n }\n this.isFetchingOptimistic = false\n }\n\n // Try to fetch the data\n this.retryer = createRetryer({\n fn: context.fetchFn as () => TData,\n abort: abortController?.abort.bind(abortController),\n onSuccess: (data) => {\n if (typeof data === 'undefined') {\n if (process.env.NODE_ENV !== 'production') {\n this.logger.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`,\n )\n }\n onError(new Error(`${this.queryHash} data is undefined`) as any)\n return\n }\n\n this.setData(data as TData)\n\n // Notify cache callback\n this.cache.config.onSuccess?.(data, this as Query)\n this.cache.config.onSettled?.(\n data,\n this.state.error,\n this as Query,\n )\n\n if (!this.isFetchingOptimistic) {\n // Schedule query gc after fetching\n this.scheduleGc()\n }\n this.isFetchingOptimistic = false\n },\n onError,\n onFail: (failureCount, error) => {\n this.dispatch({ type: 'failed', failureCount, error })\n },\n onPause: () => {\n this.dispatch({ type: 'pause' })\n },\n onContinue: () => {\n this.dispatch({ type: 'continue' })\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n })\n\n this.promise = this.retryer.promise\n\n return this.promise\n }\n\n private dispatch(action: Action): void {\n const reducer = (\n state: QueryState,\n ): QueryState => {\n switch (action.type) {\n case 'failed':\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error,\n }\n case 'pause':\n return {\n ...state,\n fetchStatus: 'paused',\n }\n case 'continue':\n return {\n ...state,\n fetchStatus: 'fetching',\n }\n case 'fetch':\n return {\n ...state,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: action.meta ?? null,\n fetchStatus: canFetch(this.options.networkMode)\n ? 'fetching'\n : 'paused',\n ...(!state.dataUpdatedAt && {\n error: null,\n status: 'loading',\n }),\n }\n case 'success':\n return {\n ...state,\n data: action.data,\n dataUpdateCount: state.dataUpdateCount + 1,\n dataUpdatedAt: action.dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: 'success',\n ...(!action.manual && {\n fetchStatus: 'idle',\n fetchFailureCount: 0,\n fetchFailureReason: null,\n }),\n }\n case 'error':\n const error = action.error as unknown\n\n if (isCancelledError(error) && error.revert && this.revertState) {\n return { ...this.revertState, fetchStatus: 'idle' }\n }\n\n return {\n ...state,\n error: error as TError,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error as TError,\n fetchStatus: 'idle',\n status: 'error',\n }\n case 'invalidate':\n return {\n ...state,\n isInvalidated: true,\n }\n case 'setState':\n return {\n ...state,\n ...action.state,\n }\n }\n }\n\n this.state = reducer(this.state)\n\n notifyManager.batch(() => {\n this.observers.forEach((observer) => {\n observer.onQueryUpdate(action)\n })\n\n this.cache.notify({ query: this, type: 'updated', action })\n })\n }\n}\n\nfunction getDefaultState<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n options: QueryOptions,\n): QueryState {\n const data =\n typeof options.initialData === 'function'\n ? (options.initialData as InitialDataFunction)()\n : options.initialData\n\n const hasData = typeof data !== 'undefined'\n\n const initialDataUpdatedAt = hasData\n ? typeof options.initialDataUpdatedAt === 'function'\n ? (options.initialDataUpdatedAt as () => number | undefined)()\n : options.initialDataUpdatedAt\n : 0\n\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? initialDataUpdatedAt ?? Date.now() : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? 'success' : 'loading',\n fetchStatus: 'idle',\n }\n}\n", "import { hashQueryKeyByOptions, matchQuery, parseFilterArgs } from './utils'\nimport { Query } from './query'\nimport { notifyManager } from './notifyManager'\nimport { Subscribable } from './subscribable'\nimport type { QueryFilters } from './utils'\nimport type { Action, QueryState } from './query'\nimport type { NotifyEvent, QueryKey, QueryOptions } from './types'\nimport type { QueryClient } from './queryClient'\nimport type { QueryObserver } from './queryObserver'\n\n// TYPES\n\ninterface QueryCacheConfig {\n onError?: (error: unknown, query: Query) => void\n onSuccess?: (data: unknown, query: Query) => void\n onSettled?: (\n data: unknown | undefined,\n error: unknown | null,\n query: Query,\n ) => void\n}\n\ninterface QueryHashMap {\n [hash: string]: Query\n}\n\ninterface NotifyEventQueryAdded extends NotifyEvent {\n type: 'added'\n query: Query\n}\n\ninterface NotifyEventQueryRemoved extends NotifyEvent {\n type: 'removed'\n query: Query\n}\n\ninterface NotifyEventQueryUpdated extends NotifyEvent {\n type: 'updated'\n query: Query\n action: Action\n}\n\ninterface NotifyEventQueryObserverAdded extends NotifyEvent {\n type: 'observerAdded'\n query: Query\n observer: QueryObserver\n}\n\ninterface NotifyEventQueryObserverRemoved extends NotifyEvent {\n type: 'observerRemoved'\n query: Query\n observer: QueryObserver\n}\n\ninterface NotifyEventQueryObserverResultsUpdated extends NotifyEvent {\n type: 'observerResultsUpdated'\n query: Query\n}\n\ninterface NotifyEventQueryObserverOptionsUpdated extends NotifyEvent {\n type: 'observerOptionsUpdated'\n query: Query\n observer: QueryObserver\n}\n\nexport type QueryCacheNotifyEvent =\n | NotifyEventQueryAdded\n | NotifyEventQueryRemoved\n | NotifyEventQueryUpdated\n | NotifyEventQueryObserverAdded\n | NotifyEventQueryObserverRemoved\n | NotifyEventQueryObserverResultsUpdated\n | NotifyEventQueryObserverOptionsUpdated\n\ntype QueryCacheListener = (event: QueryCacheNotifyEvent) => void\n\n// CLASS\n\nexport class QueryCache extends Subscribable {\n config: QueryCacheConfig\n\n private queries: Query[]\n private queriesMap: QueryHashMap\n\n constructor(config?: QueryCacheConfig) {\n super()\n this.config = config || {}\n this.queries = []\n this.queriesMap = {}\n }\n\n build(\n client: QueryClient,\n options: QueryOptions,\n state?: QueryState,\n ): Query {\n const queryKey = options.queryKey!\n const queryHash =\n options.queryHash ?? hashQueryKeyByOptions(queryKey, options)\n let query = this.get(queryHash)\n\n if (!query) {\n query = new Query({\n cache: this,\n logger: client.getLogger(),\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options),\n state,\n defaultOptions: client.getQueryDefaults(queryKey),\n })\n this.add(query)\n }\n\n return query\n }\n\n add(query: Query): void {\n if (!this.queriesMap[query.queryHash]) {\n this.queriesMap[query.queryHash] = query\n this.queries.push(query)\n this.notify({\n type: 'added',\n query,\n })\n }\n }\n\n remove(query: Query): void {\n const queryInMap = this.queriesMap[query.queryHash]\n\n if (queryInMap) {\n query.destroy()\n\n this.queries = this.queries.filter((x) => x !== query)\n\n if (queryInMap === query) {\n delete this.queriesMap[query.queryHash]\n }\n\n this.notify({ type: 'removed', query })\n }\n }\n\n clear(): void {\n notifyManager.batch(() => {\n this.queries.forEach((query) => {\n this.remove(query)\n })\n })\n }\n\n get<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryHash: string,\n ): Query | undefined {\n return this.queriesMap[queryHash]\n }\n\n getAll(): Query[] {\n return this.queries\n }\n\n find(\n arg1: QueryKey,\n arg2?: QueryFilters,\n ): Query | undefined {\n const [filters] = parseFilterArgs(arg1, arg2)\n\n if (typeof filters.exact === 'undefined') {\n filters.exact = true\n }\n\n return this.queries.find((query) => matchQuery(filters, query))\n }\n\n findAll(queryKey?: QueryKey, filters?: QueryFilters): Query[]\n findAll(filters?: QueryFilters): Query[]\n findAll(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): Query[]\n findAll(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): Query[] {\n const [filters] = parseFilterArgs(arg1, arg2)\n return Object.keys(filters).length > 0\n ? this.queries.filter((query) => matchQuery(filters, query))\n : this.queries\n }\n\n notify(event: QueryCacheNotifyEvent) {\n notifyManager.batch(() => {\n this.listeners.forEach(({ listener }) => {\n listener(event)\n })\n })\n }\n\n onFocus(): void {\n notifyManager.batch(() => {\n this.queries.forEach((query) => {\n query.onFocus()\n })\n })\n }\n\n onOnline(): void {\n notifyManager.batch(() => {\n this.queries.forEach((query) => {\n query.onOnline()\n })\n })\n }\n}\n", "import { defaultLogger } from './logger'\nimport { notifyManager } from './notifyManager'\nimport { Removable } from './removable'\nimport { canFetch, createRetryer } from './retryer'\nimport type { MutationMeta, MutationOptions, MutationStatus } from './types'\nimport type { MutationCache } from './mutationCache'\nimport type { MutationObserver } from './mutationObserver'\nimport type { Logger } from './logger'\nimport type { Retryer } from './retryer'\n\n// TYPES\n\ninterface MutationConfig {\n mutationId: number\n mutationCache: MutationCache\n options: MutationOptions\n logger?: Logger\n defaultOptions?: MutationOptions\n state?: MutationState\n meta?: MutationMeta\n}\n\nexport interface MutationState<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n> {\n context: TContext | undefined\n data: TData | undefined\n error: TError | null\n failureCount: number\n failureReason: TError | null\n isPaused: boolean\n status: MutationStatus\n variables: TVariables | undefined\n}\n\ninterface FailedAction {\n type: 'failed'\n failureCount: number\n error: TError | null\n}\n\ninterface LoadingAction {\n type: 'loading'\n variables?: TVariables\n context?: TContext\n}\n\ninterface SuccessAction {\n type: 'success'\n data: TData\n}\n\ninterface ErrorAction {\n type: 'error'\n error: TError\n}\n\ninterface PauseAction {\n type: 'pause'\n}\n\ninterface ContinueAction {\n type: 'continue'\n}\n\ninterface SetStateAction {\n type: 'setState'\n state: MutationState\n}\n\nexport type Action =\n | ContinueAction\n | ErrorAction\n | FailedAction\n | LoadingAction\n | PauseAction\n | SetStateAction\n | SuccessAction\n\n// CLASS\n\nexport class Mutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n> extends Removable {\n state: MutationState\n options!: MutationOptions\n mutationId: number\n\n private observers: MutationObserver[]\n private defaultOptions?: MutationOptions\n private mutationCache: MutationCache\n private logger: Logger\n private retryer?: Retryer\n\n constructor(config: MutationConfig) {\n super()\n\n this.defaultOptions = config.defaultOptions\n this.mutationId = config.mutationId\n this.mutationCache = config.mutationCache\n this.logger = config.logger || defaultLogger\n this.observers = []\n this.state = config.state || getDefaultState()\n\n this.setOptions(config.options)\n this.scheduleGc()\n }\n\n setOptions(\n options?: MutationOptions,\n ): void {\n this.options = { ...this.defaultOptions, ...options }\n\n this.updateCacheTime(this.options.cacheTime)\n }\n\n get meta(): MutationMeta | undefined {\n return this.options.meta\n }\n\n setState(state: MutationState): void {\n this.dispatch({ type: 'setState', state })\n }\n\n addObserver(observer: MutationObserver): void {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer)\n\n // Stop the mutation from being garbage collected\n this.clearGcTimeout()\n\n this.mutationCache.notify({\n type: 'observerAdded',\n mutation: this,\n observer,\n })\n }\n }\n\n removeObserver(observer: MutationObserver): void {\n this.observers = this.observers.filter((x) => x !== observer)\n\n this.scheduleGc()\n\n this.mutationCache.notify({\n type: 'observerRemoved',\n mutation: this,\n observer,\n })\n }\n\n protected optionalRemove() {\n if (!this.observers.length) {\n if (this.state.status === 'loading') {\n this.scheduleGc()\n } else {\n this.mutationCache.remove(this)\n }\n }\n }\n\n continue(): Promise {\n return this.retryer?.continue() ?? this.execute()\n }\n\n async execute(): Promise {\n const executeMutation = () => {\n this.retryer = createRetryer({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject('No mutationFn found')\n }\n return this.options.mutationFn(this.state.variables!)\n },\n onFail: (failureCount, error) => {\n this.dispatch({ type: 'failed', failureCount, error })\n },\n onPause: () => {\n this.dispatch({ type: 'pause' })\n },\n onContinue: () => {\n this.dispatch({ type: 'continue' })\n },\n retry: this.options.retry ?? 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode,\n })\n\n return this.retryer.promise\n }\n\n const restored = this.state.status === 'loading'\n try {\n if (!restored) {\n this.dispatch({ type: 'loading', variables: this.options.variables! })\n // Notify cache callback\n await this.mutationCache.config.onMutate?.(\n this.state.variables,\n this as Mutation,\n )\n const context = await this.options.onMutate?.(this.state.variables!)\n if (context !== this.state.context) {\n this.dispatch({\n type: 'loading',\n context,\n variables: this.state.variables,\n })\n }\n }\n const data = await executeMutation()\n\n // Notify cache callback\n await this.mutationCache.config.onSuccess?.(\n data,\n this.state.variables,\n this.state.context,\n this as Mutation,\n )\n\n await this.options.onSuccess?.(\n data,\n this.state.variables!,\n this.state.context!,\n )\n\n // Notify cache callback\n await this.mutationCache.config.onSettled?.(\n data,\n null,\n this.state.variables,\n this.state.context,\n this as Mutation,\n )\n\n await this.options.onSettled?.(\n data,\n null,\n this.state.variables!,\n this.state.context,\n )\n\n this.dispatch({ type: 'success', data })\n return data\n } catch (error) {\n try {\n // Notify cache callback\n await this.mutationCache.config.onError?.(\n error,\n this.state.variables,\n this.state.context,\n this as Mutation,\n )\n\n if (process.env.NODE_ENV !== 'production') {\n this.logger.error(error)\n }\n\n await this.options.onError?.(\n error as TError,\n this.state.variables!,\n this.state.context,\n )\n\n // Notify cache callback\n await this.mutationCache.config.onSettled?.(\n undefined,\n error,\n this.state.variables,\n this.state.context,\n this as Mutation,\n )\n\n await this.options.onSettled?.(\n undefined,\n error as TError,\n this.state.variables!,\n this.state.context,\n )\n throw error\n } finally {\n this.dispatch({ type: 'error', error: error as TError })\n }\n }\n }\n\n private dispatch(action: Action): void {\n const reducer = (\n state: MutationState,\n ): MutationState => {\n switch (action.type) {\n case 'failed':\n return {\n ...state,\n failureCount: action.failureCount,\n failureReason: action.error,\n }\n case 'pause':\n return {\n ...state,\n isPaused: true,\n }\n case 'continue':\n return {\n ...state,\n isPaused: false,\n }\n case 'loading':\n return {\n ...state,\n context: action.context,\n data: undefined,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: !canFetch(this.options.networkMode),\n status: 'loading',\n variables: action.variables,\n }\n case 'success':\n return {\n ...state,\n data: action.data,\n failureCount: 0,\n failureReason: null,\n error: null,\n status: 'success',\n isPaused: false,\n }\n case 'error':\n return {\n ...state,\n data: undefined,\n error: action.error,\n failureCount: state.failureCount + 1,\n failureReason: action.error,\n isPaused: false,\n status: 'error',\n }\n case 'setState':\n return {\n ...state,\n ...action.state,\n }\n }\n }\n this.state = reducer(this.state)\n\n notifyManager.batch(() => {\n this.observers.forEach((observer) => {\n observer.onMutationUpdate(action)\n })\n this.mutationCache.notify({\n mutation: this,\n type: 'updated',\n action,\n })\n })\n }\n}\n\nexport function getDefaultState<\n TData,\n TError,\n TVariables,\n TContext,\n>(): MutationState {\n return {\n context: undefined,\n data: undefined,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: 'idle',\n variables: undefined,\n }\n}\n", "import { notifyManager } from './notifyManager'\nimport { Mutation } from './mutation'\nimport { matchMutation, noop } from './utils'\nimport { Subscribable } from './subscribable'\nimport type { MutationObserver } from './mutationObserver'\nimport type { MutationOptions, NotifyEvent } from './types'\nimport type { QueryClient } from './queryClient'\nimport type { Action, MutationState } from './mutation'\nimport type { MutationFilters } from './utils'\n\n// TYPES\n\ninterface MutationCacheConfig {\n onError?: (\n error: unknown,\n variables: unknown,\n context: unknown,\n mutation: Mutation,\n ) => Promise | unknown\n onSuccess?: (\n data: unknown,\n variables: unknown,\n context: unknown,\n mutation: Mutation,\n ) => Promise | unknown\n onMutate?: (\n variables: unknown,\n mutation: Mutation,\n ) => Promise | unknown\n onSettled?: (\n data: unknown | undefined,\n error: unknown | null,\n variables: unknown,\n context: unknown,\n mutation: Mutation,\n ) => Promise | unknown\n}\n\ninterface NotifyEventMutationAdded extends NotifyEvent {\n type: 'added'\n mutation: Mutation\n}\ninterface NotifyEventMutationRemoved extends NotifyEvent {\n type: 'removed'\n mutation: Mutation\n}\n\ninterface NotifyEventMutationObserverAdded extends NotifyEvent {\n type: 'observerAdded'\n mutation: Mutation\n observer: MutationObserver\n}\n\ninterface NotifyEventMutationObserverRemoved extends NotifyEvent {\n type: 'observerRemoved'\n mutation: Mutation\n observer: MutationObserver\n}\n\ninterface NotifyEventMutationObserverOptionsUpdated extends NotifyEvent {\n type: 'observerOptionsUpdated'\n mutation?: Mutation\n observer: MutationObserver\n}\n\ninterface NotifyEventMutationUpdated extends NotifyEvent {\n type: 'updated'\n mutation: Mutation\n action: Action\n}\n\ntype MutationCacheNotifyEvent =\n | NotifyEventMutationAdded\n | NotifyEventMutationRemoved\n | NotifyEventMutationObserverAdded\n | NotifyEventMutationObserverRemoved\n | NotifyEventMutationObserverOptionsUpdated\n | NotifyEventMutationUpdated\n\ntype MutationCacheListener = (event: MutationCacheNotifyEvent) => void\n\n// CLASS\n\nexport class MutationCache extends Subscribable {\n config: MutationCacheConfig\n\n private mutations: Mutation[]\n private mutationId: number\n private resuming: Promise | undefined\n\n constructor(config?: MutationCacheConfig) {\n super()\n this.config = config || {}\n this.mutations = []\n this.mutationId = 0\n }\n\n build(\n client: QueryClient,\n options: MutationOptions,\n state?: MutationState,\n ): Mutation {\n const mutation = new Mutation({\n mutationCache: this,\n logger: client.getLogger(),\n mutationId: ++this.mutationId,\n options: client.defaultMutationOptions(options),\n state,\n defaultOptions: options.mutationKey\n ? client.getMutationDefaults(options.mutationKey)\n : undefined,\n })\n\n this.add(mutation)\n\n return mutation\n }\n\n add(mutation: Mutation): void {\n this.mutations.push(mutation)\n this.notify({ type: 'added', mutation })\n }\n\n remove(mutation: Mutation): void {\n this.mutations = this.mutations.filter((x) => x !== mutation)\n this.notify({ type: 'removed', mutation })\n }\n\n clear(): void {\n notifyManager.batch(() => {\n this.mutations.forEach((mutation) => {\n this.remove(mutation)\n })\n })\n }\n\n getAll(): Mutation[] {\n return this.mutations\n }\n\n find(\n filters: MutationFilters,\n ): Mutation | undefined {\n if (typeof filters.exact === 'undefined') {\n filters.exact = true\n }\n\n return this.mutations.find((mutation) => matchMutation(filters, mutation))\n }\n\n findAll(filters: MutationFilters): Mutation[] {\n return this.mutations.filter((mutation) => matchMutation(filters, mutation))\n }\n\n notify(event: MutationCacheNotifyEvent) {\n notifyManager.batch(() => {\n this.listeners.forEach(({ listener }) => {\n listener(event)\n })\n })\n }\n\n resumePausedMutations(): Promise {\n this.resuming = (this.resuming ?? Promise.resolve())\n .then(() => {\n const pausedMutations = this.mutations.filter((x) => x.state.isPaused)\n return notifyManager.batch(() =>\n pausedMutations.reduce(\n (promise, mutation) =>\n promise.then(() => mutation.continue().catch(noop)),\n Promise.resolve() as Promise,\n ),\n )\n })\n .then(() => {\n this.resuming = undefined\n })\n\n return this.resuming\n }\n}\n", "import type { QueryBehavior } from './query'\n\nimport type {\n InfiniteData,\n QueryFunctionContext,\n QueryOptions,\n RefetchQueryFilters,\n} from './types'\n\nexport function infiniteQueryBehavior<\n TQueryFnData,\n TError,\n TData,\n>(): QueryBehavior> {\n return {\n onFetch: (context) => {\n context.fetchFn = () => {\n const refetchPage: RefetchQueryFilters['refetchPage'] | undefined =\n context.fetchOptions?.meta?.refetchPage\n const fetchMore = context.fetchOptions?.meta?.fetchMore\n const pageParam = fetchMore?.pageParam\n const isFetchingNextPage = fetchMore?.direction === 'forward'\n const isFetchingPreviousPage = fetchMore?.direction === 'backward'\n const oldPages = context.state.data?.pages || []\n const oldPageParams = context.state.data?.pageParams || []\n let newPageParams = oldPageParams\n let cancelled = false\n\n const addSignalProperty = (object: unknown) => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n if (context.signal?.aborted) {\n cancelled = true\n } else {\n context.signal?.addEventListener('abort', () => {\n cancelled = true\n })\n }\n return context.signal\n },\n })\n }\n\n // Get query function\n const queryFn =\n context.options.queryFn ||\n (() =>\n Promise.reject(\n `Missing queryFn for queryKey '${context.options.queryHash}'`,\n ))\n\n const buildNewPages = (\n pages: unknown[],\n param: unknown,\n page: unknown,\n previous?: boolean,\n ) => {\n newPageParams = previous\n ? [param, ...newPageParams]\n : [...newPageParams, param]\n return previous ? [page, ...pages] : [...pages, page]\n }\n\n // Create function to fetch a page\n const fetchPage = (\n pages: unknown[],\n manual?: boolean,\n param?: unknown,\n previous?: boolean,\n ): Promise => {\n if (cancelled) {\n return Promise.reject('Cancelled')\n }\n\n if (typeof param === 'undefined' && !manual && pages.length) {\n return Promise.resolve(pages)\n }\n\n const queryFnContext: QueryFunctionContext = {\n queryKey: context.queryKey,\n pageParam: param,\n meta: context.options.meta,\n }\n\n addSignalProperty(queryFnContext)\n\n const queryFnResult = queryFn(queryFnContext)\n\n const promise = Promise.resolve(queryFnResult).then((page) =>\n buildNewPages(pages, param, page, previous),\n )\n\n return promise\n }\n\n let promise: Promise\n\n // Fetch first page?\n if (!oldPages.length) {\n promise = fetchPage([])\n }\n\n // Fetch next page?\n else if (isFetchingNextPage) {\n const manual = typeof pageParam !== 'undefined'\n const param = manual\n ? pageParam\n : getNextPageParam(context.options, oldPages)\n promise = fetchPage(oldPages, manual, param)\n }\n\n // Fetch previous page?\n else if (isFetchingPreviousPage) {\n const manual = typeof pageParam !== 'undefined'\n const param = manual\n ? pageParam\n : getPreviousPageParam(context.options, oldPages)\n promise = fetchPage(oldPages, manual, param, true)\n }\n\n // Refetch pages\n else {\n newPageParams = []\n\n const manual = typeof context.options.getNextPageParam === 'undefined'\n\n const shouldFetchFirstPage =\n refetchPage && oldPages[0]\n ? refetchPage(oldPages[0], 0, oldPages)\n : true\n\n // Fetch first page\n promise = shouldFetchFirstPage\n ? fetchPage([], manual, oldPageParams[0])\n : Promise.resolve(buildNewPages([], oldPageParams[0], oldPages[0]))\n\n // Fetch remaining pages\n for (let i = 1; i < oldPages.length; i++) {\n promise = promise.then((pages) => {\n const shouldFetchNextPage =\n refetchPage && oldPages[i]\n ? refetchPage(oldPages[i], i, oldPages)\n : true\n\n if (shouldFetchNextPage) {\n const param = manual\n ? oldPageParams[i]\n : getNextPageParam(context.options, pages)\n return fetchPage(pages, manual, param)\n }\n return Promise.resolve(\n buildNewPages(pages, oldPageParams[i], oldPages[i]),\n )\n })\n }\n }\n\n const finalPromise = promise.then((pages) => ({\n pages,\n pageParams: newPageParams,\n }))\n\n return finalPromise\n }\n },\n }\n}\n\nexport function getNextPageParam(\n options: QueryOptions,\n pages: unknown[],\n): unknown | undefined {\n return options.getNextPageParam?.(pages[pages.length - 1], pages)\n}\n\nexport function getPreviousPageParam(\n options: QueryOptions,\n pages: unknown[],\n): unknown | undefined {\n return options.getPreviousPageParam?.(pages[0], pages)\n}\n\n/**\n * Checks if there is a next page.\n * Returns `undefined` if it cannot be determined.\n */\nexport function hasNextPage(\n options: QueryOptions,\n pages?: unknown,\n): boolean | undefined {\n if (options.getNextPageParam && Array.isArray(pages)) {\n const nextPageParam = getNextPageParam(options, pages)\n return (\n typeof nextPageParam !== 'undefined' &&\n nextPageParam !== null &&\n nextPageParam !== false\n )\n }\n return\n}\n\n/**\n * Checks if there is a previous page.\n * Returns `undefined` if it cannot be determined.\n */\nexport function hasPreviousPage(\n options: QueryOptions,\n pages?: unknown,\n): boolean | undefined {\n if (options.getPreviousPageParam && Array.isArray(pages)) {\n const previousPageParam = getPreviousPageParam(options, pages)\n return (\n typeof previousPageParam !== 'undefined' &&\n previousPageParam !== null &&\n previousPageParam !== false\n )\n }\n return\n}\n", "import {\n functionalUpdate,\n hashQueryKey,\n hashQueryKeyByOptions,\n noop,\n parseFilterArgs,\n parseQueryArgs,\n partialMatchKey,\n} from './utils'\nimport { QueryCache } from './queryCache'\nimport { MutationCache } from './mutationCache'\nimport { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { notifyManager } from './notifyManager'\nimport { infiniteQueryBehavior } from './infiniteQueryBehavior'\nimport { defaultLogger } from './logger'\nimport type { CancelOptions, DefaultedQueryObserverOptions } from './types'\nimport type { Logger } from './logger'\nimport type { QueryState } from './query'\nimport type {\n DefaultOptions,\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n InfiniteData,\n InvalidateOptions,\n InvalidateQueryFilters,\n MutationKey,\n MutationObserverOptions,\n MutationOptions,\n QueryClientConfig,\n QueryFunction,\n QueryKey,\n QueryObserverOptions,\n QueryOptions,\n RefetchOptions,\n RefetchQueryFilters,\n ResetOptions,\n ResetQueryFilters,\n SetDataOptions,\n WithRequired,\n} from './types'\nimport type { MutationFilters, QueryFilters, Updater } from './utils'\n\n// TYPES\n\ninterface QueryDefaults {\n queryKey: QueryKey\n defaultOptions: QueryOptions\n}\n\ninterface MutationDefaults {\n mutationKey: MutationKey\n defaultOptions: MutationOptions\n}\n\n// CLASS\n\nexport class QueryClient {\n private queryCache: QueryCache\n private mutationCache: MutationCache\n private logger: Logger\n private defaultOptions: DefaultOptions\n private queryDefaults: QueryDefaults[]\n private mutationDefaults: MutationDefaults[]\n private mountCount: number\n private unsubscribeFocus?: () => void\n private unsubscribeOnline?: () => void\n\n constructor(config: QueryClientConfig = {}) {\n this.queryCache = config.queryCache || new QueryCache()\n this.mutationCache = config.mutationCache || new MutationCache()\n this.logger = config.logger || defaultLogger\n this.defaultOptions = config.defaultOptions || {}\n this.queryDefaults = []\n this.mutationDefaults = []\n this.mountCount = 0\n\n if (process.env.NODE_ENV !== 'production' && config.logger) {\n this.logger.error(\n `Passing a custom logger has been deprecated and will be removed in the next major version.`,\n )\n }\n }\n\n mount(): void {\n this.mountCount++\n if (this.mountCount !== 1) return\n\n this.unsubscribeFocus = focusManager.subscribe(() => {\n if (focusManager.isFocused()) {\n this.resumePausedMutations()\n this.queryCache.onFocus()\n }\n })\n this.unsubscribeOnline = onlineManager.subscribe(() => {\n if (onlineManager.isOnline()) {\n this.resumePausedMutations()\n this.queryCache.onOnline()\n }\n })\n }\n\n unmount(): void {\n this.mountCount--\n if (this.mountCount !== 0) return\n\n this.unsubscribeFocus?.()\n this.unsubscribeFocus = undefined\n\n this.unsubscribeOnline?.()\n this.unsubscribeOnline = undefined\n }\n\n isFetching(filters?: QueryFilters): number\n isFetching(queryKey?: QueryKey, filters?: QueryFilters): number\n isFetching(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): number {\n const [filters] = parseFilterArgs(arg1, arg2)\n filters.fetchStatus = 'fetching'\n return this.queryCache.findAll(filters).length\n }\n\n isMutating(filters?: MutationFilters): number {\n return this.mutationCache.findAll({ ...filters, fetching: true }).length\n }\n\n getQueryData(\n queryKey: QueryKey,\n filters?: QueryFilters,\n ): TQueryFnData | undefined {\n return this.queryCache.find(queryKey, filters)?.state.data\n }\n\n ensureQueryData<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: WithRequired<\n FetchQueryOptions,\n 'queryKey'\n >,\n ): Promise\n ensureQueryData<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: Omit<\n FetchQueryOptions,\n 'queryKey'\n >,\n ): Promise\n ensureQueryData<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction,\n options?: Omit<\n FetchQueryOptions,\n 'queryKey' | 'queryFn'\n >,\n ): Promise\n ensureQueryData<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1:\n | TQueryKey\n | WithRequired<\n FetchQueryOptions,\n 'queryKey'\n >,\n arg2?:\n | QueryFunction\n | FetchQueryOptions,\n arg3?: FetchQueryOptions,\n ): Promise {\n const parsedOptions = parseQueryArgs(arg1, arg2, arg3)\n const cachedData = this.getQueryData(parsedOptions.queryKey!)\n\n return cachedData\n ? Promise.resolve(cachedData)\n : this.fetchQuery(parsedOptions)\n }\n\n getQueriesData(\n queryKey: QueryKey,\n ): [QueryKey, TQueryFnData | undefined][]\n getQueriesData(\n filters: QueryFilters,\n ): [QueryKey, TQueryFnData | undefined][]\n getQueriesData(\n queryKeyOrFilters: QueryKey | QueryFilters,\n ): [QueryKey, TQueryFnData | undefined][] {\n return this.getQueryCache()\n .findAll(queryKeyOrFilters)\n .map(({ queryKey, state }) => {\n const data = state.data as TQueryFnData | undefined\n return [queryKey, data]\n })\n }\n\n setQueryData(\n queryKey: QueryKey,\n updater: Updater,\n options?: SetDataOptions,\n ): TQueryFnData | undefined {\n const query = this.queryCache.find(queryKey)\n const prevData = query?.state.data\n const data = functionalUpdate(updater, prevData)\n\n if (typeof data === 'undefined') {\n return undefined\n }\n\n const parsedOptions = parseQueryArgs(queryKey)\n const defaultedOptions = this.defaultQueryOptions(parsedOptions)\n return this.queryCache\n .build(this, defaultedOptions)\n .setData(data, { ...options, manual: true })\n }\n\n setQueriesData(\n queryKey: QueryKey,\n updater: Updater,\n options?: SetDataOptions,\n ): [QueryKey, TQueryFnData | undefined][]\n\n setQueriesData(\n filters: QueryFilters,\n updater: Updater,\n options?: SetDataOptions,\n ): [QueryKey, TQueryFnData | undefined][]\n\n setQueriesData(\n queryKeyOrFilters: QueryKey | QueryFilters,\n updater: Updater,\n options?: SetDataOptions,\n ): [QueryKey, TQueryFnData | undefined][] {\n return notifyManager.batch(() =>\n this.getQueryCache()\n .findAll(queryKeyOrFilters)\n .map(({ queryKey }) => [\n queryKey,\n this.setQueryData(queryKey, updater, options),\n ]),\n )\n }\n\n getQueryState(\n queryKey: QueryKey,\n filters?: QueryFilters,\n ): QueryState | undefined {\n return this.queryCache.find(queryKey, filters)?.state\n }\n\n removeQueries(filters?: QueryFilters): void\n removeQueries(queryKey?: QueryKey, filters?: QueryFilters): void\n removeQueries(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): void {\n const [filters] = parseFilterArgs(arg1, arg2)\n const queryCache = this.queryCache\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query)\n })\n })\n }\n\n resetQueries(\n filters?: ResetQueryFilters,\n options?: ResetOptions,\n ): Promise\n resetQueries(\n queryKey?: QueryKey,\n filters?: ResetQueryFilters,\n options?: ResetOptions,\n ): Promise\n resetQueries(\n arg1?: QueryKey | ResetQueryFilters,\n arg2?: ResetQueryFilters | ResetOptions,\n arg3?: ResetOptions,\n ): Promise {\n const [filters, options] = parseFilterArgs(arg1, arg2, arg3)\n const queryCache = this.queryCache\n\n const refetchFilters: RefetchQueryFilters = {\n type: 'active',\n ...filters,\n }\n\n return notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n query.reset()\n })\n return this.refetchQueries(refetchFilters, options)\n })\n }\n\n cancelQueries(filters?: QueryFilters, options?: CancelOptions): Promise\n cancelQueries(\n queryKey?: QueryKey,\n filters?: QueryFilters,\n options?: CancelOptions,\n ): Promise\n cancelQueries(\n arg1?: QueryKey | QueryFilters,\n arg2?: QueryFilters | CancelOptions,\n arg3?: CancelOptions,\n ): Promise {\n const [filters, cancelOptions = {}] = parseFilterArgs(arg1, arg2, arg3)\n\n if (typeof cancelOptions.revert === 'undefined') {\n cancelOptions.revert = true\n }\n\n const promises = notifyManager.batch(() =>\n this.queryCache\n .findAll(filters)\n .map((query) => query.cancel(cancelOptions)),\n )\n\n return Promise.all(promises).then(noop).catch(noop)\n }\n\n invalidateQueries(\n filters?: InvalidateQueryFilters,\n options?: InvalidateOptions,\n ): Promise\n invalidateQueries(\n queryKey?: QueryKey,\n filters?: InvalidateQueryFilters,\n options?: InvalidateOptions,\n ): Promise\n invalidateQueries(\n arg1?: QueryKey | InvalidateQueryFilters,\n arg2?: InvalidateQueryFilters | InvalidateOptions,\n arg3?: InvalidateOptions,\n ): Promise {\n const [filters, options] = parseFilterArgs(arg1, arg2, arg3)\n\n return notifyManager.batch(() => {\n this.queryCache.findAll(filters).forEach((query) => {\n query.invalidate()\n })\n\n if (filters.refetchType === 'none') {\n return Promise.resolve()\n }\n const refetchFilters: RefetchQueryFilters = {\n ...filters,\n type: filters.refetchType ?? filters.type ?? 'active',\n }\n return this.refetchQueries(refetchFilters, options)\n })\n }\n\n refetchQueries(\n filters?: RefetchQueryFilters,\n options?: RefetchOptions,\n ): Promise\n refetchQueries(\n queryKey?: QueryKey,\n filters?: RefetchQueryFilters,\n options?: RefetchOptions,\n ): Promise\n refetchQueries(\n arg1?: QueryKey | RefetchQueryFilters,\n arg2?: RefetchQueryFilters | RefetchOptions,\n arg3?: RefetchOptions,\n ): Promise {\n const [filters, options] = parseFilterArgs(arg1, arg2, arg3)\n\n const promises = notifyManager.batch(() =>\n this.queryCache\n .findAll(filters)\n .filter((query) => !query.isDisabled())\n .map((query) =>\n query.fetch(undefined, {\n ...options,\n cancelRefetch: options?.cancelRefetch ?? true,\n meta: { refetchPage: filters.refetchPage },\n }),\n ),\n )\n\n let promise = Promise.all(promises).then(noop)\n\n if (!options?.throwOnError) {\n promise = promise.catch(noop)\n }\n\n return promise\n }\n\n fetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchQueryOptions,\n ): Promise\n fetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: FetchQueryOptions,\n ): Promise\n fetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction,\n options?: FetchQueryOptions,\n ): Promise\n fetchQuery<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1: TQueryKey | FetchQueryOptions,\n arg2?:\n | QueryFunction\n | FetchQueryOptions,\n arg3?: FetchQueryOptions,\n ): Promise {\n const parsedOptions = parseQueryArgs(arg1, arg2, arg3)\n const defaultedOptions = this.defaultQueryOptions(parsedOptions)\n\n // https://github.com/tannerlinsley/react-query/issues/652\n if (typeof defaultedOptions.retry === 'undefined') {\n defaultedOptions.retry = false\n }\n\n const query = this.queryCache.build(this, defaultedOptions)\n\n return query.isStaleByTime(defaultedOptions.staleTime)\n ? query.fetch(defaultedOptions)\n : Promise.resolve(query.state.data as TData)\n }\n\n prefetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchQueryOptions,\n ): Promise\n prefetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: FetchQueryOptions,\n ): Promise\n prefetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction,\n options?: FetchQueryOptions,\n ): Promise\n prefetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1: TQueryKey | FetchQueryOptions,\n arg2?:\n | QueryFunction\n | FetchQueryOptions,\n arg3?: FetchQueryOptions,\n ): Promise {\n return this.fetchQuery(arg1 as any, arg2 as any, arg3)\n .then(noop)\n .catch(noop)\n }\n\n fetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchInfiniteQueryOptions,\n ): Promise>\n fetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: FetchInfiniteQueryOptions,\n ): Promise>\n fetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction,\n options?: FetchInfiniteQueryOptions,\n ): Promise>\n fetchInfiniteQuery<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1:\n | TQueryKey\n | FetchInfiniteQueryOptions,\n arg2?:\n | QueryFunction\n | FetchInfiniteQueryOptions,\n arg3?: FetchInfiniteQueryOptions,\n ): Promise> {\n const parsedOptions = parseQueryArgs(arg1, arg2, arg3)\n parsedOptions.behavior = infiniteQueryBehavior<\n TQueryFnData,\n TError,\n TData\n >()\n return this.fetchQuery(parsedOptions)\n }\n\n prefetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchInfiniteQueryOptions,\n ): Promise\n prefetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: FetchInfiniteQueryOptions,\n ): Promise\n prefetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction,\n options?: FetchInfiniteQueryOptions,\n ): Promise\n prefetchInfiniteQuery<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1:\n | TQueryKey\n | FetchInfiniteQueryOptions,\n arg2?:\n | QueryFunction\n | FetchInfiniteQueryOptions,\n arg3?: FetchInfiniteQueryOptions,\n ): Promise {\n return this.fetchInfiniteQuery(arg1 as any, arg2 as any, arg3)\n .then(noop)\n .catch(noop)\n }\n\n resumePausedMutations(): Promise {\n return this.mutationCache.resumePausedMutations()\n }\n\n getQueryCache(): QueryCache {\n return this.queryCache\n }\n\n getMutationCache(): MutationCache {\n return this.mutationCache\n }\n\n getLogger(): Logger {\n return this.logger\n }\n\n getDefaultOptions(): DefaultOptions {\n return this.defaultOptions\n }\n\n setDefaultOptions(options: DefaultOptions): void {\n this.defaultOptions = options\n }\n\n setQueryDefaults(\n queryKey: QueryKey,\n options: QueryObserverOptions,\n ): void {\n const result = this.queryDefaults.find(\n (x) => hashQueryKey(queryKey) === hashQueryKey(x.queryKey),\n )\n if (result) {\n result.defaultOptions = options\n } else {\n this.queryDefaults.push({ queryKey, defaultOptions: options })\n }\n }\n\n getQueryDefaults(\n queryKey?: QueryKey,\n ): QueryObserverOptions | undefined {\n if (!queryKey) {\n return undefined\n }\n\n // Get the first matching defaults\n const firstMatchingDefaults = this.queryDefaults.find((x) =>\n partialMatchKey(queryKey, x.queryKey),\n )\n\n // Additional checks and error in dev mode\n if (process.env.NODE_ENV !== 'production') {\n // Retrieve all matching defaults for the given key\n const matchingDefaults = this.queryDefaults.filter((x) =>\n partialMatchKey(queryKey, x.queryKey),\n )\n // It is ok not having defaults, but it is error prone to have more than 1 default for a given key\n if (matchingDefaults.length > 1) {\n this.logger.error(\n `[QueryClient] Several query defaults match with key '${JSON.stringify(\n queryKey,\n )}'. The first matching query defaults are used. Please check how query defaults are registered. Order does matter here. cf. https://react-query.tanstack.com/reference/QueryClient#queryclientsetquerydefaults.`,\n )\n }\n }\n\n return firstMatchingDefaults?.defaultOptions\n }\n\n setMutationDefaults(\n mutationKey: MutationKey,\n options: MutationObserverOptions,\n ): void {\n const result = this.mutationDefaults.find(\n (x) => hashQueryKey(mutationKey) === hashQueryKey(x.mutationKey),\n )\n if (result) {\n result.defaultOptions = options\n } else {\n this.mutationDefaults.push({ mutationKey, defaultOptions: options })\n }\n }\n\n getMutationDefaults(\n mutationKey?: MutationKey,\n ): MutationObserverOptions | undefined {\n if (!mutationKey) {\n return undefined\n }\n\n // Get the first matching defaults\n const firstMatchingDefaults = this.mutationDefaults.find((x) =>\n partialMatchKey(mutationKey, x.mutationKey),\n )\n\n // Additional checks and error in dev mode\n if (process.env.NODE_ENV !== 'production') {\n // Retrieve all matching defaults for the given key\n const matchingDefaults = this.mutationDefaults.filter((x) =>\n partialMatchKey(mutationKey, x.mutationKey),\n )\n // It is ok not having defaults, but it is error prone to have more than 1 default for a given key\n if (matchingDefaults.length > 1) {\n this.logger.error(\n `[QueryClient] Several mutation defaults match with key '${JSON.stringify(\n mutationKey,\n )}'. The first matching mutation defaults are used. Please check how mutation defaults are registered. Order does matter here. cf. https://react-query.tanstack.com/reference/QueryClient#queryclientsetmutationdefaults.`,\n )\n }\n }\n\n return firstMatchingDefaults?.defaultOptions\n }\n\n defaultQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n >(\n options?:\n | QueryObserverOptions\n | DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n > {\n if (options?._defaulted) {\n return options as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n const defaultedOptions = {\n ...this.defaultOptions.queries,\n ...this.getQueryDefaults(options?.queryKey),\n ...options,\n _defaulted: true,\n }\n\n if (!defaultedOptions.queryHash && defaultedOptions.queryKey) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions,\n )\n }\n\n // dependent default values\n if (typeof defaultedOptions.refetchOnReconnect === 'undefined') {\n defaultedOptions.refetchOnReconnect =\n defaultedOptions.networkMode !== 'always'\n }\n if (typeof defaultedOptions.useErrorBoundary === 'undefined') {\n defaultedOptions.useErrorBoundary = !!defaultedOptions.suspense\n }\n\n return defaultedOptions as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n defaultMutationOptions>(\n options?: T,\n ): T {\n if (options?._defaulted) {\n return options\n }\n return {\n ...this.defaultOptions.mutations,\n ...this.getMutationDefaults(options?.mutationKey),\n ...options,\n _defaulted: true,\n } as T\n }\n\n clear(): void {\n this.queryCache.clear()\n this.mutationCache.clear()\n }\n}\n", "import {\n createConnectTransport,\n} from \"@bufbuild/connect-web\";\nimport {createPromiseClient} from \"@bufbuild/connect\";\nimport { ProtoflowService } from \"@/rpc/protoflow_connect\";\nimport { ContentService } from \"@/rpc/content/content_connect\";\nimport { UserService } from \"./rpc/user/user_connect\";\nimport {QueryClient} from \"@tanstack/react-query\";\n\nexport const baseURL = process.env.BASE_URL;\n\nexport const queryClient = new QueryClient();\nexport const transport = createConnectTransport({\n baseUrl: `${baseURL}/api` || 'error',\n // credentials: \"include\",\n});\n\nexport const projectService = createPromiseClient(ProtoflowService, transport);\nexport const contentService = createPromiseClient(ContentService, transport);\nexport const userService = createPromiseClient(UserService, transport);\n", "\nexport type TabContent = {\n from: string;\n to: string;\n}\nexport const contentGet = 'content/get';\nexport const contentSave = 'content/save';\n", "/// \nimport {contentService, projectService, userService} from \"@/service\";\nimport {urlContent} from \"@/extension/util\";\nimport {contentGet, contentSave, TabContent} from \"@/extension/shared\";\nimport { Content } from \"@/rpc/content/content_pb\";\n\nlet tabContent: TabContent|undefined = undefined;\n\nconst chromeExt = () => {\n async function saveContent(content: Content) {\n try {\n const resp = await contentService.save({\n content: content,\n related: []\n });\n console.log(resp);\n } catch (e) {\n console.error('failed to save', e)\n }\n }\n\n (\n async () => {\n const resp = await userService.login({}, {});\n // TODO breadchris I think this has the whitelist config in it\n console.log(resp);\n }\n )()\n\n chrome.runtime.onInstalled.addListener(function() {\n console.log('Extension Installed');\n });\n\n chrome.runtime.onStartup.addListener(function() {\n console.log('Extension Started');\n })\n\n chrome.webNavigation.onCompleted.addListener((details) => {\n if (details.url && details.frameType === \"outermost_frame\") {\n // console.log(`Visited URL: ${details.url}`);\n }\n });\n\n function getTabDetails(tabId: number): Promise {\n return new Promise((resolve, reject) => {\n chrome.tabs.get(tabId, tab => {\n if (chrome.runtime.lastError) {\n // Ignore errors, sometimes tabs might have already closed before we can fetch details\n resolve(undefined);\n } else {\n resolve(tab);\n }\n });\n });\n }\n\n chrome.runtime.onMessage.addListener(async (message, sender, sendResponse) => {\n // TODO breadchris replace with a typed action\n if (message.action === contentGet) {\n sendResponse({ data: tabContent });\n tabContent = undefined;\n }\n if (message.action === contentSave) {\n const content = Content.fromJson(message.data);\n try {\n await saveContent(content);\n } catch (e) {\n sendResponse({ data: { error: e } });\n return;\n }\n sendResponse({ data: {} });\n }\n });\n\n chrome.tabs.onCreated.addListener(async (tab) => {\n if (!tab.id) {\n return;\n }\n // console.log(`Tab with ID ${tab.id} has been created.`);\n const tabDetails = await getTabDetails(tab.id);\n if (tabDetails) {\n }\n })\n\n chrome.tabs.onRemoved.addListener(async (tabId, removeInfo) => {\n // console.log(`Tab with ID ${tabId} has been closed.`);\n const tabDetails = await getTabDetails(tabId);\n if (tabDetails) {\n // console.log(`Tab with URL ${tabDetails.url} has been closed.`);\n }\n });\n\n chrome.webRequest.onBeforeRequest.addListener(\n (details) => {\n if (!details.initiator || details.type !== 'main_frame') {\n return;\n }\n const u = new URL(details.initiator);\n const v = new URL(details.url);\n if (u.host === v.host) {\n return;\n }\n // TODO breadchris integrate whitelist\n if (u.host === 'news.ycombinator.com') {\n tabContent = {\n from: details.initiator,\n to: details.url\n }\n // TODO breadchris auto collecting config\n }\n }, { urls: [\"\"] }, [])\n\n chrome.webRequest.onBeforeSendHeaders.addListener(\n (details) => {\n let refererValue = '';\n if (!details.requestHeaders) {\n return;\n }\n for (let header of details.requestHeaders) {\n if (header.name.toLowerCase() === \"referer\" && header.value) {\n refererValue = header.value;\n // console.log(`Visited URL: ${details.url}, Referrer: ${refererValue}`);\n break;\n }\n }\n //console.log(`Visited URL: ${details.url}, Referrer: ${refererValue}`);\n },\n { urls: [\"\"] }, // Monitor all URLs\n [\"requestHeaders\"] // Necessary to get the request headers\n );\n}\n\nchromeExt();\n\nexport {};"], + "mappings": "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", "names": ["ScalarType", "WireType", "makeReadOptions", "makeWriteOptions", "writeScalar", "readScalar", "writeEnum", "writeScalar", "val", "a", "MethodKind", "MethodIdempotency", "Code", "value", "v", "__asyncValues", "v", "__await", "__asyncDelegator", "__asyncGenerator", "transport", "fallback", "__await", "__asyncGenerator", "_a", "input", "URL", "AnalyzeConversationRequest", "Token", "Segment", "AnalyzeConversationRequest", "Subscribable", "constructor", "listeners", "Set", "subscribe", "bind", "listener", "identity", "add", "onSubscribe", "delete", "onUnsubscribe", "hasListeners", "size", "isServer", "window", "noop", "undefined", "functionalUpdate", "updater", "input", "isValidTimeout", "value", "Infinity", "timeUntilStale", "updatedAt", "staleTime", "Math", "max", "Date", "now", "parseQueryArgs", "arg1", "arg2", "arg3", "isQueryKey", "queryKey", "queryFn", "parseFilterArgs", "arg1", "arg2", "arg3", "isQueryKey", "queryKey", "matchQuery", "filters", "query", "type", "exact", "fetchStatus", "predicate", "queryKey", "stale", "isQueryKey", "queryHash", "hashQueryKeyByOptions", "options", "partialMatchKey", "isActive", "isStale", "state", "matchMutation", "mutation", "fetching", "mutationKey", "hashQueryKey", "status", "hashFn", "queryKeyHashFn", "JSON", "stringify", "_", "val", "isPlainObject", "Object", "keys", "sort", "reduce", "result", "key", "a", "b", "partialDeepEqual", "some", "replaceEqualDeep", "array", "isPlainArray", "aSize", "length", "bItems", "bSize", "copy", "equalItems", "i", "isPlainArray", "value", "Array", "isArray", "length", "Object", "keys", "isPlainObject", "o", "hasObjectPrototype", "ctor", "constructor", "prot", "prototype", "hasOwnProperty", "toString", "call", "isQueryKey", "sleep", "timeout", "Promise", "resolve", "setTimeout", "scheduleMicrotask", "callback", "then", "getAbortController", "AbortController", "replaceData", "prevData", "data", "options", "isDataEqual", "structuralSharing", "replaceEqualDeep", "FocusManager", "Subscribable", "constructor", "setup", "onFocus", "isServer", "window", "addEventListener", "listener", "removeEventListener", "onSubscribe", "cleanup", "setEventListener", "onUnsubscribe", "hasListeners", "undefined", "focused", "setFocused", "changed", "listeners", "forEach", "isFocused", "document", "includes", "visibilityState", "focusManager", "onlineEvents", "OnlineManager", "Subscribable", "constructor", "setup", "onOnline", "isServer", "window", "addEventListener", "listener", "forEach", "event", "removeEventListener", "onSubscribe", "cleanup", "setEventListener", "onUnsubscribe", "hasListeners", "undefined", "online", "setOnline", "changed", "listeners", "isOnline", "navigator", "onLine", "onlineManager", "defaultRetryDelay", "failureCount", "Math", "min", "canFetch", "networkMode", "onlineManager", "isOnline", "CancelledError", "constructor", "options", "revert", "silent", "isCancelledError", "value", "createRetryer", "config", "isRetryCancelled", "isResolved", "continueFn", "promiseResolve", "promiseReject", "promise", "Promise", "outerResolve", "outerReject", "cancel", "cancelOptions", "reject", "abort", "cancelRetry", "continueRetry", "shouldPause", "focusManager", "isFocused", "resolve", "onSuccess", "onError", "pause", "continueResolve", "canContinue", "onPause", "then", "undefined", "onContinue", "run", "promiseOrValue", "fn", "error", "catch", "retry", "retryDelay", "delay", "shouldRetry", "onFail", "sleep", "continue", "didContinue", "defaultLogger", "console", "createNotifyManager", "queue", "transactions", "notifyFn", "callback", "batchNotifyFn", "batch", "result", "flush", "schedule", "push", "scheduleMicrotask", "batchCalls", "args", "originalQueue", "length", "forEach", "setNotifyFunction", "fn", "setBatchNotifyFunction", "notifyManager", "Removable", "destroy", "clearGcTimeout", "scheduleGc", "isValidTimeout", "cacheTime", "gcTimeout", "setTimeout", "optionalRemove", "updateCacheTime", "newCacheTime", "Math", "max", "isServer", "Infinity", "clearTimeout", "undefined", "Query", "Removable", "constructor", "config", "abortSignalConsumed", "defaultOptions", "setOptions", "options", "observers", "cache", "logger", "defaultLogger", "queryKey", "queryHash", "initialState", "state", "getDefaultState", "scheduleGc", "meta", "updateCacheTime", "cacheTime", "optionalRemove", "length", "fetchStatus", "remove", "setData", "newData", "data", "replaceData", "dispatch", "type", "dataUpdatedAt", "updatedAt", "manual", "setState", "setStateOptions", "cancel", "promise", "retryer", "then", "noop", "catch", "Promise", "resolve", "destroy", "silent", "reset", "isActive", "some", "observer", "enabled", "isDisabled", "getObserversCount", "isStale", "isInvalidated", "getCurrentResult", "isStaleByTime", "staleTime", "timeUntilStale", "onFocus", "find", "x", "shouldFetchOnWindowFocus", "refetch", "cancelRefetch", "continue", "onOnline", "shouldFetchOnReconnect", "addObserver", "includes", "push", "clearGcTimeout", "notify", "query", "removeObserver", "filter", "revert", "cancelRetry", "invalidate", "fetch", "fetchOptions", "continueRetry", "queryFn", "process", "Array", "isArray", "error", "abortController", "getAbortController", "queryFnContext", "pageParam", "undefined", "addSignalProperty", "object", "Object", "defineProperty", "enumerable", "get", "signal", "fetchFn", "reject", "context", "behavior", "onFetch", "revertState", "fetchMeta", "onError", "isCancelledError", "onSettled", "isFetchingOptimistic", "createRetryer", "fn", "abort", "bind", "onSuccess", "Error", "onFail", "failureCount", "onPause", "onContinue", "retry", "retryDelay", "networkMode", "action", "reducer", "fetchFailureCount", "fetchFailureReason", "canFetch", "status", "dataUpdateCount", "Date", "now", "errorUpdateCount", "errorUpdatedAt", "notifyManager", "batch", "forEach", "onQueryUpdate", "initialData", "hasData", "initialDataUpdatedAt", "QueryCache", "Subscribable", "constructor", "config", "queries", "queriesMap", "build", "client", "options", "state", "queryKey", "queryHash", "hashQueryKeyByOptions", "query", "get", "Query", "cache", "logger", "getLogger", "defaultQueryOptions", "defaultOptions", "getQueryDefaults", "add", "push", "notify", "type", "remove", "queryInMap", "destroy", "filter", "x", "clear", "notifyManager", "batch", "forEach", "getAll", "find", "arg1", "arg2", "filters", "parseFilterArgs", "exact", "matchQuery", "findAll", "Object", "keys", "length", "event", "listeners", "listener", "onFocus", "onOnline", "Mutation", "Removable", "constructor", "config", "defaultOptions", "mutationId", "mutationCache", "logger", "defaultLogger", "observers", "state", "getDefaultState", "setOptions", "options", "scheduleGc", "updateCacheTime", "cacheTime", "meta", "setState", "dispatch", "type", "addObserver", "observer", "includes", "push", "clearGcTimeout", "notify", "mutation", "removeObserver", "filter", "x", "optionalRemove", "length", "status", "remove", "continue", "retryer", "execute", "executeMutation", "createRetryer", "fn", "mutationFn", "Promise", "reject", "variables", "onFail", "failureCount", "error", "onPause", "onContinue", "retry", "retryDelay", "networkMode", "promise", "restored", "onMutate", "context", "data", "onSuccess", "onSettled", "onError", "process", "undefined", "action", "reducer", "failureReason", "isPaused", "canFetch", "notifyManager", "batch", "forEach", "onMutationUpdate", "MutationCache", "Subscribable", "constructor", "config", "mutations", "mutationId", "build", "client", "options", "state", "mutation", "Mutation", "mutationCache", "logger", "getLogger", "defaultMutationOptions", "defaultOptions", "mutationKey", "getMutationDefaults", "undefined", "add", "push", "notify", "type", "remove", "filter", "x", "clear", "notifyManager", "batch", "forEach", "getAll", "find", "filters", "exact", "matchMutation", "findAll", "event", "listeners", "listener", "resumePausedMutations", "resuming", "Promise", "resolve", "then", "pausedMutations", "isPaused", "reduce", "promise", "continue", "catch", "noop", "infiniteQueryBehavior", "onFetch", "context", "fetchFn", "refetchPage", "fetchOptions", "meta", "fetchMore", "pageParam", "isFetchingNextPage", "direction", "isFetchingPreviousPage", "oldPages", "state", "data", "pages", "oldPageParams", "pageParams", "newPageParams", "cancelled", "addSignalProperty", "object", "Object", "defineProperty", "enumerable", "get", "signal", "aborted", "addEventListener", "queryFn", "options", "Promise", "reject", "queryHash", "buildNewPages", "param", "page", "previous", "fetchPage", "manual", "length", "resolve", "queryFnContext", "queryKey", "queryFnResult", "promise", "then", "getNextPageParam", "getPreviousPageParam", "shouldFetchFirstPage", "i", "shouldFetchNextPage", "finalPromise", "QueryClient", "constructor", "config", "queryCache", "QueryCache", "mutationCache", "MutationCache", "logger", "defaultLogger", "defaultOptions", "queryDefaults", "mutationDefaults", "mountCount", "error", "mount", "unsubscribeFocus", "focusManager", "subscribe", "isFocused", "resumePausedMutations", "onFocus", "unsubscribeOnline", "onlineManager", "isOnline", "onOnline", "unmount", "undefined", "isFetching", "arg1", "arg2", "filters", "parseFilterArgs", "fetchStatus", "findAll", "length", "isMutating", "fetching", "getQueryData", "queryKey", "find", "state", "data", "ensureQueryData", "arg3", "parsedOptions", "parseQueryArgs", "cachedData", "Promise", "resolve", "fetchQuery", "getQueriesData", "queryKeyOrFilters", "getQueryCache", "map", "setQueryData", "updater", "options", "query", "prevData", "functionalUpdate", "defaultedOptions", "defaultQueryOptions", "build", "setData", "manual", "setQueriesData", "notifyManager", "batch", "getQueryState", "removeQueries", "forEach", "remove", "resetQueries", "refetchFilters", "type", "reset", "refetchQueries", "cancelQueries", "cancelOptions", "revert", "promises", "cancel", "all", "then", "noop", "catch", "invalidateQueries", "invalidate", "refetchType", "filter", "isDisabled", "fetch", "cancelRefetch", "meta", "refetchPage", "promise", "throwOnError", "retry", "isStaleByTime", "staleTime", "prefetchQuery", "fetchInfiniteQuery", "behavior", "infiniteQueryBehavior", "prefetchInfiniteQuery", "getMutationCache", "getLogger", "getDefaultOptions", "setDefaultOptions", "setQueryDefaults", "result", "x", "hashQueryKey", "push", "getQueryDefaults", "firstMatchingDefaults", "partialMatchKey", "process", "matchingDefaults", "JSON", "stringify", "setMutationDefaults", "mutationKey", "getMutationDefaults", "_defaulted", "queries", "queryHash", "hashQueryKeyByOptions", "refetchOnReconnect", "networkMode", "useErrorBoundary", "suspense", "defaultMutationOptions", "mutations", "clear"] } diff --git a/js/dist/extension/content.js b/js/dist/extension/content.js index f5378089..1bc4914e 100644 --- a/js/dist/extension/content.js +++ b/js/dist/extension/content.js @@ -35540,6 +35540,10 @@ Be sure to create slots properly by using "slot.always" or "slot.optional" with * @generated from field: repeated content.Content related = 2; */ related = []; + /** + * @generated from field: repeated string parents = 3; + */ + parents = []; constructor(data) { super(); proto3.util.initPartial(data, this); @@ -35548,7 +35552,8 @@ Be sure to create slots properly by using "slot.always" or "slot.optional" with static typeName = "content.Contents"; static fields = proto3.util.newFieldList(() => [ { no: 1, name: "content", kind: "message", T: Content }, - { no: 2, name: "related", kind: "message", T: Content, repeated: true } + { no: 2, name: "related", kind: "message", T: Content, repeated: true }, + { no: 3, name: "parents", kind: "scalar", T: 9, repeated: true } ]); static fromBinary(bytes, options) { return new _Contents().fromBinary(bytes, options); diff --git a/js/dist/extension/content.js.map b/js/dist/extension/content.js.map index 0a3aadc7..b742d69a 100644 --- a/js/dist/extension/content.js.map +++ b/js/dist/extension/content.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": ["../../../node_modules/react/cjs/react.development.js", "../../../node_modules/react/index.js", "../../../node_modules/react-dom/node_modules/scheduler/cjs/scheduler.development.js", "../../../node_modules/react-dom/node_modules/scheduler/index.js", "../../../node_modules/react-dom/cjs/react-dom.development.js", "../../../node_modules/react-dom/index.js", "../../../node_modules/react-dom/client.js", "../../../node_modules/source-map/lib/base64.js", "../../../node_modules/source-map/lib/base64-vlq.js", "../../../node_modules/source-map/lib/util.js", "../../../node_modules/source-map/lib/array-set.js", "../../../node_modules/source-map/lib/mapping-list.js", "../../../node_modules/source-map/lib/source-map-generator.js", "../../../node_modules/source-map/lib/binary-search.js", "../../../node_modules/source-map/lib/quick-sort.js", "../../../node_modules/source-map/lib/source-map-consumer.js", "../../../node_modules/source-map/lib/source-node.js", "../../../node_modules/source-map/source-map.js", "node-modules-polyfills:path", "node-modules-polyfills-commonjs:path", "node-modules-polyfills:fs", "node-modules-polyfills-commonjs:fs", "../../../node_modules/buffer-from/index.js", "../../../node_modules/source-map-support/source-map-support.js", "../../../node_modules/react/cjs/react-jsx-runtime.development.js", "../../../node_modules/react/jsx-runtime.js", "../../src/extension/content.tsx", "../../../node_modules/source-map-support/register.js", "../../src/extension/FloatingPanel.tsx", "../../../node_modules/@fluentui/set-version/lib/setVersion.ts", "../../../node_modules/@fluentui/set-version/lib/index.ts", "../../../node_modules/@fluentui/react/lib/version.ts", "../../../node_modules/tslib/tslib.es6.mjs", "../../../node_modules/@fluentui/merge-styles/lib/Stylesheet.ts", "../../../node_modules/@fluentui/merge-styles/lib/extractStyleParts.ts", "../../../node_modules/@fluentui/merge-styles/lib/StyleOptionsState.ts", "../../../node_modules/@fluentui/merge-styles/lib/transforms/transforms/kebabRules.ts", "../../../node_modules/@fluentui/merge-styles/lib/getVendorSettings.ts", "../../../node_modules/@fluentui/merge-styles/lib/transforms/transforms/prefixRules.ts", "../../../node_modules/@fluentui/merge-styles/lib/transforms/transforms/provideUnits.ts", "../../../node_modules/@fluentui/merge-styles/lib/transforms/transforms/rtlifyRules.ts", "../../../node_modules/@fluentui/merge-styles/lib/tokenizeWithParentheses.ts", "../../../node_modules/@fluentui/merge-styles/lib/styleToClassName.ts", "../../../node_modules/@fluentui/merge-styles/lib/mergeStyles.ts", "../../../node_modules/@fluentui/merge-styles/lib/concatStyleSets.ts", "../../../node_modules/@fluentui/merge-styles/lib/fontFace.ts", "../../../node_modules/@fluentui/merge-styles/lib/version.ts", "../../../node_modules/@fluentui/utilities/lib/dom/dom/canUseDOM.ts", "../../../node_modules/@fluentui/utilities/lib/dom/dom/getWindow.ts", "../../../node_modules/@fluentui/utilities/lib/dom/dom/getDocument.ts", "../../../node_modules/@fluentui/utilities/lib/warn/warn/warn.ts", "../../../node_modules/@fluentui/utilities/lib/warn/warn/warnDeprecations.ts", "../../../node_modules/@fluentui/utilities/lib/GlobalSettings.ts", "../../../node_modules/@fluentui/utilities/lib/sessionStorage.ts", "../../../node_modules/@fluentui/utilities/lib/rtl.ts", "../../../node_modules/@fluentui/utilities/lib/memoize.ts", "../../../node_modules/@fluentui/utilities/lib/css.ts", "../../../node_modules/@fluentui/utilities/lib/customizations/customizations/Customizations.ts", "../../../node_modules/@fluentui/utilities/lib/customizations/customizations/CustomizerContext.ts", "../../../node_modules/@fluentui/utilities/lib/properties.ts", "../../../node_modules/@fluentui/utilities/lib/localStorage.ts", "../../../node_modules/@fluentui/utilities/lib/language.ts", "../../../node_modules/@fluentui/utilities/lib/merge.ts", "../../../node_modules/@fluentui/utilities/lib/version.ts", "../../../node_modules/@fluentui/theme/lib/utilities/utilities/makeSemanticColors.ts", "../../../node_modules/@fluentui/theme/lib/mergeThemes.ts", "../../../node_modules/@fluentui/theme/lib/colors/colors/DefaultPalette.ts", "../../../node_modules/@fluentui/theme/lib/effects/effects/FluentDepths.ts", "../../../node_modules/@fluentui/theme/lib/effects/effects/DefaultEffects.ts", "../../../node_modules/@fluentui/theme/lib/spacing/spacing/DefaultSpacing.ts", "../../../node_modules/@fluentui/theme/lib/fonts/fonts/FluentFonts.ts", "../../../node_modules/@fluentui/theme/lib/fonts/fonts/createFontStyles.ts", "../../../node_modules/@fluentui/theme/lib/fonts/fonts/DefaultFontStyles.ts", "../../../node_modules/@fluentui/theme/lib/createTheme.ts", "../../../node_modules/@fluentui/style-utilities/lib/styles/styles/getGlobalClassNames.ts", "../../../node_modules/@microsoft/load-themed-styles/src/index.ts", "../../../node_modules/@fluentui/style-utilities/lib/styles/styles/theme.ts", "../../../node_modules/@fluentui/style-utilities/lib/version.ts", "../../../node_modules/@fluentui/style-utilities/lib/index.ts", "../../../node_modules/@fluentui/foundation-legacy/lib/createComponent.tsx", "../../../node_modules/@fluentui/foundation-legacy/lib/slots.tsx", "../../../node_modules/@fluentui/foundation-legacy/lib/utilities.ts", "../../../node_modules/@fluentui/react/lib/components/Stack/StackItem/components/Stack/StackItem/StackItem.styles.ts", "../../../node_modules/@fluentui/react/lib/components/Stack/StackItem/components/Stack/StackItem/StackItem.tsx", "../../../node_modules/@fluentui/react/lib/components/Stack/components/Stack/Stack.tsx", "../../../node_modules/@fluentui/react/lib/components/Stack/components/Stack/StackUtils.ts", "../../../node_modules/@fluentui/react/lib/components/Stack/components/Stack/Stack.styles.ts", "../../../packages/core/src/constants.ts", "../../../node_modules/@emotion/hash/dist/emotion-hash.esm.js", "../../../packages/core/src/runtime/utils/hashSequence.ts", "../../../packages/core/src/runtime/reduceToClassNameForSlots.ts", "../../../packages/core/src/mergeClasses.ts", "../../../packages/core/src/devtools/store.ts", "../../../packages/core/src/devtools/utils.ts", "../../../packages/core/src/devtools/getDebugTree.ts", "../../../packages/core/src/devtools/injectDevTools.ts", "../../../packages/core/src/devtools/isDevToolsEnabled.ts", "../../../packages/core/src/runtime/utils/normalizeCSSBucketEntry.ts", "../../../packages/core/src/renderer/createIsomorphicStyleSheet.ts", "../../../packages/core/src/renderer/getStyleSheetForBucket.ts", "../../../packages/core/src/renderer/safeInsertRule.ts", "../../../packages/core/src/renderer/createDOMRenderer.ts", "../../../packages/core/src/devtools/react-render-tracker/stackTrace.ts", "../../../packages/core/src/devtools/getSourceURLfromError.ts", "../../../packages/core/src/insertionFactory.ts", "../../../packages/core/src/__styles.ts", "../../../packages/core/src/__resetStyles.ts", "../../../packages/react/src/utils/canUseDOM.ts", "../../../packages/react/src/useInsertionEffect.ts", "../../../packages/react/src/insertionFactory.ts", "../../../packages/react/src/RendererContext.tsx", "../../../packages/react/src/TextDirectionContext.tsx", "../../../packages/react/src/__styles.ts", "../../../packages/react/src/__resetStyles.ts", "../../../node_modules/@fluentui/react-jsx-runtime/lib/utils/Runtime.js", "../../../node_modules/@fluentui/react-jsx-runtime/lib/jsx/createJSX.js", "../../../node_modules/@fluentui/react-utilities/lib/compose/slot.js", "../../../node_modules/@fluentui/react-utilities/lib/compose/constants.js", "../../../node_modules/@fluentui/react-utilities/lib/compose/isSlot.js", "../../../node_modules/@fluentui/react-utilities/lib/compose/resolveShorthand.js", "../../../node_modules/@fluentui/react-utilities/lib/compose/assertSlots.js", "../../../node_modules/@fluentui/react-utilities/lib/ssr/canUseDOM.js", "../../../node_modules/@fluentui/react-utilities/lib/hooks/useEventCallback.js", "../../../node_modules/@fluentui/react-utilities/lib/hooks/useIsomorphicLayoutEffect.js", "../../../node_modules/@fluentui/react-utilities/lib/utils/getNativeElementProps.js", "../../../node_modules/@fluentui/react-utilities/lib/utils/properties.js", "../../../node_modules/@fluentui/react-jsx-runtime/lib/utils/getMetadataFromSlotComponent.js", "../../../node_modules/@fluentui/react-jsx-runtime/lib/utils/createCompatSlotComponent.js", "../../../node_modules/@fluentui/react-jsx-runtime/lib/jsx-runtime.js", "../../../node_modules/@fluentui/react-shared-contexts/lib/CustomStyleHooksContext/CustomStyleHooksContext.js", "../../../node_modules/@fluentui/keyboard-keys/lib/keys.js", "../../../node_modules/@fluentui/react-aria/lib/button/useARIAButtonProps.js", "../../../node_modules/@fluentui/react-aria/lib/button/useARIAButtonShorthand.js", "../../../node_modules/@fluentui/react-button/lib/components/Button/Button.js", "../../../node_modules/@fluentui/react-button/lib/components/Button/renderButton.js", "../../../node_modules/@fluentui/react-button/lib/components/Button/useButton.js", "../../../node_modules/@fluentui/react-button/lib/contexts/ButtonContext.js", "../../../node_modules/@fluentui/react-button/lib/components/Button/useButtonStyles.styles.js", "../../src/extension/shared.tsx", "../../src/extension/NewSaveWizard.tsx", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/assert.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/enum.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/message.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/message-type.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/proto-runtime.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/field.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/google/varint.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/proto-int64.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/binary-encoding.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/field-wrapper.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/scalars.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/binary-format-common.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/binary-format-proto3.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/proto-base64.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/json-format-common.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/json-format-proto3.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/util-common.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/field-list.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/names.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/field.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/proto3.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/service-type.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/google/protobuf/empty_pb.js", "../../../node_modules/@bufbuild/connect/dist/esm/code.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol-connect/code-string.js", "../../../node_modules/@bufbuild/connect/dist/esm/connect-error.js", "../../../node_modules/@bufbuild/connect/dist/esm/http-headers.js", "../../../node_modules/@bufbuild/connect/dist/esm/any-client.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol/envelope.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol/async-iterable.js", "../../../node_modules/@bufbuild/connect/dist/esm/promise-client.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol/signals.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol/create-method-url.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol/serialization.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol-connect/content-type.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol-connect/error-json.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol-connect/end-stream.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol-connect/headers.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol-connect/http-status.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol-connect/trailer-mux.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol-connect/version.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol-connect/request-header.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol-connect/validate-response.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol-connect/get-request.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol/run-call.js", "../../../node_modules/@bufbuild/connect-web/dist/esm/assert-fetch-api.js", "../../../node_modules/@bufbuild/connect-web/dist/esm/connect-transport.js", "../../src/rpc/user/user_pb.ts", "../../src/rpc/content/content_pb.ts", "../../src/rpc/protoflow_pb.ts", "../../src/rpc/ai_pb.ts", "../../src/rpc/protoflow_connect.ts", "../../src/rpc/content/content_connect.ts", "../../src/rpc/user/user_connect.ts", "../../../node_modules/@tanstack/query-core/src/subscribable.ts", "../../../node_modules/@tanstack/query-core/src/utils.ts", "../../../node_modules/@tanstack/query-core/src/focusManager.ts", "../../../node_modules/@tanstack/query-core/src/onlineManager.ts", "../../../node_modules/@tanstack/query-core/src/retryer.ts", "../../../node_modules/@tanstack/query-core/src/logger.ts", "../../../node_modules/@tanstack/query-core/src/notifyManager.ts", "../../../node_modules/@tanstack/query-core/src/removable.ts", "../../../node_modules/@tanstack/query-core/src/query.ts", "../../../node_modules/@tanstack/query-core/src/queryCache.ts", "../../../node_modules/@tanstack/query-core/src/mutation.ts", "../../../node_modules/@tanstack/query-core/src/mutationCache.ts", "../../../node_modules/@tanstack/query-core/src/infiniteQueryBehavior.ts", "../../../node_modules/@tanstack/query-core/src/queryClient.ts", "../../src/service.ts", "../../src/extension/util.ts"], - "sourcesContent": ["/**\n * @license React\n * react.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var ReactVersion = '18.2.0';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\n/**\n * Keeps track of the current dispatcher.\n */\nvar ReactCurrentDispatcher = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\n\n/**\n * Keeps track of the current batch's configuration such as how long an update\n * should suspend for if it needs to.\n */\nvar ReactCurrentBatchConfig = {\n transition: null\n};\n\nvar ReactCurrentActQueue = {\n current: null,\n // Used to reproduce behavior of `batchedUpdates` in legacy mode.\n isBatchingLegacy: false,\n didScheduleLegacyUpdate: false\n};\n\n/**\n * Keeps track of the current owner.\n *\n * The current owner is the component who should own any components that are\n * currently being constructed.\n */\nvar ReactCurrentOwner = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\n\nvar ReactDebugCurrentFrame = {};\nvar currentExtraStackFrame = null;\nfunction setExtraStackFrame(stack) {\n {\n currentExtraStackFrame = stack;\n }\n}\n\n{\n ReactDebugCurrentFrame.setExtraStackFrame = function (stack) {\n {\n currentExtraStackFrame = stack;\n }\n }; // Stack implementation injected by the current renderer.\n\n\n ReactDebugCurrentFrame.getCurrentStack = null;\n\n ReactDebugCurrentFrame.getStackAddendum = function () {\n var stack = ''; // Add an extra top frame while an element is being validated\n\n if (currentExtraStackFrame) {\n stack += currentExtraStackFrame;\n } // Delegate to the injected renderer-specific implementation\n\n\n var impl = ReactDebugCurrentFrame.getCurrentStack;\n\n if (impl) {\n stack += impl() || '';\n }\n\n return stack;\n };\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar ReactSharedInternals = {\n ReactCurrentDispatcher: ReactCurrentDispatcher,\n ReactCurrentBatchConfig: ReactCurrentBatchConfig,\n ReactCurrentOwner: ReactCurrentOwner\n};\n\n{\n ReactSharedInternals.ReactDebugCurrentFrame = ReactDebugCurrentFrame;\n ReactSharedInternals.ReactCurrentActQueue = ReactCurrentActQueue;\n}\n\n// by calls to these methods by a Babel plugin.\n//\n// In PROD (or in packages without access to React internals),\n// they are left as they are instead.\n\nfunction warn(format) {\n {\n {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n printWarning('warn', format, args);\n }\n }\n}\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\nvar didWarnStateUpdateForUnmountedComponent = {};\n\nfunction warnNoop(publicInstance, callerName) {\n {\n var _constructor = publicInstance.constructor;\n var componentName = _constructor && (_constructor.displayName || _constructor.name) || 'ReactClass';\n var warningKey = componentName + \".\" + callerName;\n\n if (didWarnStateUpdateForUnmountedComponent[warningKey]) {\n return;\n }\n\n error(\"Can't call %s on a component that is not yet mounted. \" + 'This is a no-op, but it might indicate a bug in your application. ' + 'Instead, assign to `this.state` directly or define a `state = {};` ' + 'class property with the desired state in the %s component.', callerName, componentName);\n\n didWarnStateUpdateForUnmountedComponent[warningKey] = true;\n }\n}\n/**\n * This is the abstract API for an update queue.\n */\n\n\nvar ReactNoopUpdateQueue = {\n /**\n * Checks whether or not this composite component is mounted.\n * @param {ReactClass} publicInstance The instance we want to test.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function (publicInstance) {\n return false;\n },\n\n /**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueForceUpdate: function (publicInstance, callback, callerName) {\n warnNoop(publicInstance, 'forceUpdate');\n },\n\n /**\n * Replaces all of the state. Always use this or `setState` to mutate state.\n * You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} completeState Next state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueReplaceState: function (publicInstance, completeState, callback, callerName) {\n warnNoop(publicInstance, 'replaceState');\n },\n\n /**\n * Sets a subset of the state. This only exists because _pendingState is\n * internal. This provides a merging strategy that is not available to deep\n * properties which is confusing. TODO: Expose pendingState or don't use it\n * during the merge.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} partialState Next partial state to be merged with state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} Name of the calling function in the public API.\n * @internal\n */\n enqueueSetState: function (publicInstance, partialState, callback, callerName) {\n warnNoop(publicInstance, 'setState');\n }\n};\n\nvar assign = Object.assign;\n\nvar emptyObject = {};\n\n{\n Object.freeze(emptyObject);\n}\n/**\n * Base class helpers for the updating state of a component.\n */\n\n\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject; // We initialize the default updater but the real one gets injected by the\n // renderer.\n\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nComponent.prototype.isReactComponent = {};\n/**\n * Sets a subset of the state. Always use this to mutate\n * state. You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * There is no guarantee that calls to `setState` will run synchronously,\n * as they may eventually be batched together. You can provide an optional\n * callback that will be executed when the call to setState is actually\n * completed.\n *\n * When a function is provided to setState, it will be called at some point in\n * the future (not synchronously). It will be called with the up to date\n * component arguments (state, props, context). These values can be different\n * from this.* because your function may be called after receiveProps but before\n * shouldComponentUpdate, and this new state, props, and context will not yet be\n * assigned to this.\n *\n * @param {object|function} partialState Next partial state or function to\n * produce next partial state to be merged with current state.\n * @param {?function} callback Called after state is updated.\n * @final\n * @protected\n */\n\nComponent.prototype.setState = function (partialState, callback) {\n if (typeof partialState !== 'object' && typeof partialState !== 'function' && partialState != null) {\n throw new Error('setState(...): takes an object of state variables to update or a ' + 'function which returns an object of state variables.');\n }\n\n this.updater.enqueueSetState(this, partialState, callback, 'setState');\n};\n/**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {?function} callback Called after update is complete.\n * @final\n * @protected\n */\n\n\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, 'forceUpdate');\n};\n/**\n * Deprecated APIs. These APIs used to exist on classic React classes but since\n * we would like to deprecate them, we're not going to move them over to this\n * modern base class. Instead, we define a getter that warns if it's accessed.\n */\n\n\n{\n var deprecatedAPIs = {\n isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],\n replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']\n };\n\n var defineDeprecationWarning = function (methodName, info) {\n Object.defineProperty(Component.prototype, methodName, {\n get: function () {\n warn('%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]);\n\n return undefined;\n }\n });\n };\n\n for (var fnName in deprecatedAPIs) {\n if (deprecatedAPIs.hasOwnProperty(fnName)) {\n defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\n }\n }\n}\n\nfunction ComponentDummy() {}\n\nComponentDummy.prototype = Component.prototype;\n/**\n * Convenience component with default shallow equality check for sCU.\n */\n\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nvar pureComponentPrototype = PureComponent.prototype = new ComponentDummy();\npureComponentPrototype.constructor = PureComponent; // Avoid an extra prototype jump for these methods.\n\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = true;\n\n// an immutable object with a single mutable value\nfunction createRef() {\n var refObject = {\n current: null\n };\n\n {\n Object.seal(refObject);\n }\n\n return refObject;\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown, specialPropRefWarningShown, didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n var warnAboutAccessingKey = function () {\n {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n var warnAboutAccessingRef = function () {\n {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && config.__self && ReactCurrentOwner.current.stateNode !== config.__self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', componentName, config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * Create and return a new ReactElement of the given type.\n * See https://reactjs.org/docs/react-api.html#createelement\n */\n\nfunction createElement(type, config, children) {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null;\n var self = null;\n var source = null;\n\n if (config != null) {\n if (hasValidRef(config)) {\n ref = config.ref;\n\n {\n warnIfStringRefCannotBeAutoConverted(config);\n }\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n self = config.__self === undefined ? null : config.__self;\n source = config.__source === undefined ? null : config.__source; // Remaining properties are added to a new props object\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n\n {\n if (Object.freeze) {\n Object.freeze(childArray);\n }\n }\n\n props.children = childArray;\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n {\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props);\n return newElement;\n}\n/**\n * Clone and return a new ReactElement using element as the starting point.\n * See https://reactjs.org/docs/react-api.html#cloneelement\n */\n\nfunction cloneElement(element, config, children) {\n if (element === null || element === undefined) {\n throw new Error(\"React.cloneElement(...): The argument must be a React element, but you passed \" + element + \".\");\n }\n\n var propName; // Original props are copied\n\n var props = assign({}, element.props); // Reserved names are extracted\n\n var key = element.key;\n var ref = element.ref; // Self is preserved since the owner is preserved.\n\n var self = element._self; // Source is preserved since cloneElement is unlikely to be targeted by a\n // transpiler, and the original source is probably a better indicator of the\n // true owner.\n\n var source = element._source; // Owner will be preserved, unless ref is overridden\n\n var owner = element._owner;\n\n if (config != null) {\n if (hasValidRef(config)) {\n // Silently steal the ref from the parent.\n ref = config.ref;\n owner = ReactCurrentOwner.current;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n } // Remaining properties override existing props\n\n\n var defaultProps;\n\n if (element.type && element.type.defaultProps) {\n defaultProps = element.type.defaultProps;\n }\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n if (config[propName] === undefined && defaultProps !== undefined) {\n // Resolve default props\n props[propName] = defaultProps[propName];\n } else {\n props[propName] = config[propName];\n }\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n\n props.children = childArray;\n }\n\n return ReactElement(element.type, key, ref, self, source, owner, props);\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\nfunction isValidElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\n\nvar SEPARATOR = '.';\nvar SUBSEPARATOR = ':';\n/**\n * Escape and wrap key so it is safe to use as a reactid\n *\n * @param {string} key to be escaped.\n * @return {string} the escaped key.\n */\n\nfunction escape(key) {\n var escapeRegex = /[=:]/g;\n var escaperLookup = {\n '=': '=0',\n ':': '=2'\n };\n var escapedString = key.replace(escapeRegex, function (match) {\n return escaperLookup[match];\n });\n return '$' + escapedString;\n}\n/**\n * TODO: Test that a single child and an array with one item have the same key\n * pattern.\n */\n\n\nvar didWarnAboutMaps = false;\nvar userProvidedKeyEscapeRegex = /\\/+/g;\n\nfunction escapeUserProvidedKey(text) {\n return text.replace(userProvidedKeyEscapeRegex, '$&/');\n}\n/**\n * Generate a key string that identifies a element within a set.\n *\n * @param {*} element A element that could contain a manual key.\n * @param {number} index Index that is used if a manual key is not provided.\n * @return {string}\n */\n\n\nfunction getElementKey(element, index) {\n // Do some typechecking here since we call this blindly. We want to ensure\n // that we don't block potential future ES APIs.\n if (typeof element === 'object' && element !== null && element.key != null) {\n // Explicit key\n {\n checkKeyStringCoercion(element.key);\n }\n\n return escape('' + element.key);\n } // Implicit key determined by the index in the set\n\n\n return index.toString(36);\n}\n\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n\n if (type === 'undefined' || type === 'boolean') {\n // All of the above are perceived as null.\n children = null;\n }\n\n var invokeCallback = false;\n\n if (children === null) {\n invokeCallback = true;\n } else {\n switch (type) {\n case 'string':\n case 'number':\n invokeCallback = true;\n break;\n\n case 'object':\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = true;\n }\n\n }\n }\n\n if (invokeCallback) {\n var _child = children;\n var mappedChild = callback(_child); // If it's the only child, treat the name as if it was wrapped in an array\n // so that it's consistent if the number of children grows:\n\n var childKey = nameSoFar === '' ? SEPARATOR + getElementKey(_child, 0) : nameSoFar;\n\n if (isArray(mappedChild)) {\n var escapedChildKey = '';\n\n if (childKey != null) {\n escapedChildKey = escapeUserProvidedKey(childKey) + '/';\n }\n\n mapIntoArray(mappedChild, array, escapedChildKey, '', function (c) {\n return c;\n });\n } else if (mappedChild != null) {\n if (isValidElement(mappedChild)) {\n {\n // The `if` statement here prevents auto-disabling of the safe\n // coercion ESLint rule, so we must manually disable it below.\n // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key\n if (mappedChild.key && (!_child || _child.key !== mappedChild.key)) {\n checkKeyStringCoercion(mappedChild.key);\n }\n }\n\n mappedChild = cloneAndReplaceKey(mappedChild, // Keep both the (mapped) and old keys if they differ, just as\n // traverseAllChildren used to do for objects as children\n escapedPrefix + ( // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key\n mappedChild.key && (!_child || _child.key !== mappedChild.key) ? // $FlowFixMe Flow incorrectly thinks existing element's key can be a number\n // eslint-disable-next-line react-internal/safe-string-coercion\n escapeUserProvidedKey('' + mappedChild.key) + '/' : '') + childKey);\n }\n\n array.push(mappedChild);\n }\n\n return 1;\n }\n\n var child;\n var nextName;\n var subtreeCount = 0; // Count of children found in the current subtree.\n\n var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;\n\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n nextName = nextNamePrefix + getElementKey(child, i);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else {\n var iteratorFn = getIteratorFn(children);\n\n if (typeof iteratorFn === 'function') {\n var iterableChildren = children;\n\n {\n // Warn about using Maps as children\n if (iteratorFn === iterableChildren.entries) {\n if (!didWarnAboutMaps) {\n warn('Using Maps as children is not supported. ' + 'Use an array of keyed ReactElements instead.');\n }\n\n didWarnAboutMaps = true;\n }\n }\n\n var iterator = iteratorFn.call(iterableChildren);\n var step;\n var ii = 0;\n\n while (!(step = iterator.next()).done) {\n child = step.value;\n nextName = nextNamePrefix + getElementKey(child, ii++);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else if (type === 'object') {\n // eslint-disable-next-line react-internal/safe-string-coercion\n var childrenString = String(children);\n throw new Error(\"Objects are not valid as a React child (found: \" + (childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString) + \"). \" + 'If you meant to render a collection of children, use an array ' + 'instead.');\n }\n }\n\n return subtreeCount;\n}\n\n/**\n * Maps children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenmap\n *\n * The provided mapFunction(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} func The map function.\n * @param {*} context Context for mapFunction.\n * @return {object} Object containing the ordered map of results.\n */\nfunction mapChildren(children, func, context) {\n if (children == null) {\n return children;\n }\n\n var result = [];\n var count = 0;\n mapIntoArray(children, result, '', '', function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\n/**\n * Count the number of children that are typically specified as\n * `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrencount\n *\n * @param {?*} children Children tree container.\n * @return {number} The number of children.\n */\n\n\nfunction countChildren(children) {\n var n = 0;\n mapChildren(children, function () {\n n++; // Don't return anything\n });\n return n;\n}\n\n/**\n * Iterates through children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenforeach\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} forEachFunc\n * @param {*} forEachContext Context for forEachContext.\n */\nfunction forEachChildren(children, forEachFunc, forEachContext) {\n mapChildren(children, function () {\n forEachFunc.apply(this, arguments); // Don't return anything.\n }, forEachContext);\n}\n/**\n * Flatten a children object (typically specified as `props.children`) and\n * return an array with appropriately re-keyed children.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrentoarray\n */\n\n\nfunction toArray(children) {\n return mapChildren(children, function (child) {\n return child;\n }) || [];\n}\n/**\n * Returns the first child in a collection of children and verifies that there\n * is only one child in the collection.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenonly\n *\n * The current implementation of this function assumes that a single child gets\n * passed without a wrapper, but the purpose of this helper function is to\n * abstract away the particular structure of children.\n *\n * @param {?object} children Child collection structure.\n * @return {ReactElement} The first and only `ReactElement` contained in the\n * structure.\n */\n\n\nfunction onlyChild(children) {\n if (!isValidElement(children)) {\n throw new Error('React.Children.only expected to receive a single React element child.');\n }\n\n return children;\n}\n\nfunction createContext(defaultValue) {\n // TODO: Second argument used to be an optional `calculateChangedBits`\n // function. Warn to reserve for future use?\n var context = {\n $$typeof: REACT_CONTEXT_TYPE,\n // As a workaround to support multiple concurrent renderers, we categorize\n // some renderers as primary and others as secondary. We only expect\n // there to be two concurrent renderers at most: React Native (primary) and\n // Fabric (secondary); React DOM (primary) and React ART (secondary).\n // Secondary renderers store their context values on separate fields.\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n // Used to track how many concurrent renderers this context currently\n // supports within in a single renderer. Such as parallel server rendering.\n _threadCount: 0,\n // These are circular\n Provider: null,\n Consumer: null,\n // Add these to use same hidden class in VM as ServerContext\n _defaultValue: null,\n _globalName: null\n };\n context.Provider = {\n $$typeof: REACT_PROVIDER_TYPE,\n _context: context\n };\n var hasWarnedAboutUsingNestedContextConsumers = false;\n var hasWarnedAboutUsingConsumerProvider = false;\n var hasWarnedAboutDisplayNameOnConsumer = false;\n\n {\n // A separate object, but proxies back to the original context object for\n // backwards compatibility. It has a different $$typeof, so we can properly\n // warn for the incorrect usage of Context as a Consumer.\n var Consumer = {\n $$typeof: REACT_CONTEXT_TYPE,\n _context: context\n }; // $FlowFixMe: Flow complains about not setting a value, which is intentional here\n\n Object.defineProperties(Consumer, {\n Provider: {\n get: function () {\n if (!hasWarnedAboutUsingConsumerProvider) {\n hasWarnedAboutUsingConsumerProvider = true;\n\n error('Rendering is not supported and will be removed in ' + 'a future major release. Did you mean to render instead?');\n }\n\n return context.Provider;\n },\n set: function (_Provider) {\n context.Provider = _Provider;\n }\n },\n _currentValue: {\n get: function () {\n return context._currentValue;\n },\n set: function (_currentValue) {\n context._currentValue = _currentValue;\n }\n },\n _currentValue2: {\n get: function () {\n return context._currentValue2;\n },\n set: function (_currentValue2) {\n context._currentValue2 = _currentValue2;\n }\n },\n _threadCount: {\n get: function () {\n return context._threadCount;\n },\n set: function (_threadCount) {\n context._threadCount = _threadCount;\n }\n },\n Consumer: {\n get: function () {\n if (!hasWarnedAboutUsingNestedContextConsumers) {\n hasWarnedAboutUsingNestedContextConsumers = true;\n\n error('Rendering is not supported and will be removed in ' + 'a future major release. Did you mean to render instead?');\n }\n\n return context.Consumer;\n }\n },\n displayName: {\n get: function () {\n return context.displayName;\n },\n set: function (displayName) {\n if (!hasWarnedAboutDisplayNameOnConsumer) {\n warn('Setting `displayName` on Context.Consumer has no effect. ' + \"You should set it directly on the context with Context.displayName = '%s'.\", displayName);\n\n hasWarnedAboutDisplayNameOnConsumer = true;\n }\n }\n }\n }); // $FlowFixMe: Flow complains about missing properties because it doesn't understand defineProperty\n\n context.Consumer = Consumer;\n }\n\n {\n context._currentRenderer = null;\n context._currentRenderer2 = null;\n }\n\n return context;\n}\n\nvar Uninitialized = -1;\nvar Pending = 0;\nvar Resolved = 1;\nvar Rejected = 2;\n\nfunction lazyInitializer(payload) {\n if (payload._status === Uninitialized) {\n var ctor = payload._result;\n var thenable = ctor(); // Transition to the next state.\n // This might throw either because it's missing or throws. If so, we treat it\n // as still uninitialized and try again next time. Which is the same as what\n // happens if the ctor or any wrappers processing the ctor throws. This might\n // end up fixing it if the resolution was a concurrency bug.\n\n thenable.then(function (moduleObject) {\n if (payload._status === Pending || payload._status === Uninitialized) {\n // Transition to the next state.\n var resolved = payload;\n resolved._status = Resolved;\n resolved._result = moduleObject;\n }\n }, function (error) {\n if (payload._status === Pending || payload._status === Uninitialized) {\n // Transition to the next state.\n var rejected = payload;\n rejected._status = Rejected;\n rejected._result = error;\n }\n });\n\n if (payload._status === Uninitialized) {\n // In case, we're still uninitialized, then we're waiting for the thenable\n // to resolve. Set it as pending in the meantime.\n var pending = payload;\n pending._status = Pending;\n pending._result = thenable;\n }\n }\n\n if (payload._status === Resolved) {\n var moduleObject = payload._result;\n\n {\n if (moduleObject === undefined) {\n error('lazy: Expected the result of a dynamic imp' + 'ort() call. ' + 'Instead received: %s\\n\\nYour code should look like: \\n ' + // Break up imports to avoid accidentally parsing them as dependencies.\n 'const MyComponent = lazy(() => imp' + \"ort('./MyComponent'))\\n\\n\" + 'Did you accidentally put curly braces around the import?', moduleObject);\n }\n }\n\n {\n if (!('default' in moduleObject)) {\n error('lazy: Expected the result of a dynamic imp' + 'ort() call. ' + 'Instead received: %s\\n\\nYour code should look like: \\n ' + // Break up imports to avoid accidentally parsing them as dependencies.\n 'const MyComponent = lazy(() => imp' + \"ort('./MyComponent'))\", moduleObject);\n }\n }\n\n return moduleObject.default;\n } else {\n throw payload._result;\n }\n}\n\nfunction lazy(ctor) {\n var payload = {\n // We use these fields to store the result.\n _status: Uninitialized,\n _result: ctor\n };\n var lazyType = {\n $$typeof: REACT_LAZY_TYPE,\n _payload: payload,\n _init: lazyInitializer\n };\n\n {\n // In production, this would just set it on the object.\n var defaultProps;\n var propTypes; // $FlowFixMe\n\n Object.defineProperties(lazyType, {\n defaultProps: {\n configurable: true,\n get: function () {\n return defaultProps;\n },\n set: function (newDefaultProps) {\n error('React.lazy(...): It is not supported to assign `defaultProps` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n\n defaultProps = newDefaultProps; // Match production behavior more closely:\n // $FlowFixMe\n\n Object.defineProperty(lazyType, 'defaultProps', {\n enumerable: true\n });\n }\n },\n propTypes: {\n configurable: true,\n get: function () {\n return propTypes;\n },\n set: function (newPropTypes) {\n error('React.lazy(...): It is not supported to assign `propTypes` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n\n propTypes = newPropTypes; // Match production behavior more closely:\n // $FlowFixMe\n\n Object.defineProperty(lazyType, 'propTypes', {\n enumerable: true\n });\n }\n }\n });\n }\n\n return lazyType;\n}\n\nfunction forwardRef(render) {\n {\n if (render != null && render.$$typeof === REACT_MEMO_TYPE) {\n error('forwardRef requires a render function but received a `memo` ' + 'component. Instead of forwardRef(memo(...)), use ' + 'memo(forwardRef(...)).');\n } else if (typeof render !== 'function') {\n error('forwardRef requires a render function but was given %s.', render === null ? 'null' : typeof render);\n } else {\n if (render.length !== 0 && render.length !== 2) {\n error('forwardRef render functions accept exactly two parameters: props and ref. %s', render.length === 1 ? 'Did you forget to use the ref parameter?' : 'Any additional parameter will be undefined.');\n }\n }\n\n if (render != null) {\n if (render.defaultProps != null || render.propTypes != null) {\n error('forwardRef render functions do not support propTypes or defaultProps. ' + 'Did you accidentally pass a React component?');\n }\n }\n }\n\n var elementType = {\n $$typeof: REACT_FORWARD_REF_TYPE,\n render: render\n };\n\n {\n var ownName;\n Object.defineProperty(elementType, 'displayName', {\n enumerable: false,\n configurable: true,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name; // The inner component shouldn't inherit this display name in most cases,\n // because the component may be used elsewhere.\n // But it's nice for anonymous functions to inherit the name,\n // so that our component-stack generation logic will display their frames.\n // An anonymous function generally suggests a pattern like:\n // React.forwardRef((props, ref) => {...});\n // This kind of inner function is not used elsewhere so the side effect is okay.\n\n if (!render.name && !render.displayName) {\n render.displayName = name;\n }\n }\n });\n }\n\n return elementType;\n}\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction memo(type, compare) {\n {\n if (!isValidElementType(type)) {\n error('memo: The first argument must be a component. Instead ' + 'received: %s', type === null ? 'null' : typeof type);\n }\n }\n\n var elementType = {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: compare === undefined ? null : compare\n };\n\n {\n var ownName;\n Object.defineProperty(elementType, 'displayName', {\n enumerable: false,\n configurable: true,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name; // The inner component shouldn't inherit this display name in most cases,\n // because the component may be used elsewhere.\n // But it's nice for anonymous functions to inherit the name,\n // so that our component-stack generation logic will display their frames.\n // An anonymous function generally suggests a pattern like:\n // React.memo((props) => {...});\n // This kind of inner function is not used elsewhere so the side effect is okay.\n\n if (!type.name && !type.displayName) {\n type.displayName = name;\n }\n }\n });\n }\n\n return elementType;\n}\n\nfunction resolveDispatcher() {\n var dispatcher = ReactCurrentDispatcher.current;\n\n {\n if (dispatcher === null) {\n error('Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for' + ' one of the following reasons:\\n' + '1. You might have mismatching versions of React and the renderer (such as React DOM)\\n' + '2. You might be breaking the Rules of Hooks\\n' + '3. You might have more than one copy of React in the same app\\n' + 'See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.');\n }\n } // Will result in a null access error if accessed outside render phase. We\n // intentionally don't throw our own error because this is in a hot path.\n // Also helps ensure this is inlined.\n\n\n return dispatcher;\n}\nfunction useContext(Context) {\n var dispatcher = resolveDispatcher();\n\n {\n // TODO: add a more generic warning for invalid values.\n if (Context._context !== undefined) {\n var realContext = Context._context; // Don't deduplicate because this legitimately causes bugs\n // and nobody should be using this in existing code.\n\n if (realContext.Consumer === Context) {\n error('Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be ' + 'removed in a future major release. Did you mean to call useContext(Context) instead?');\n } else if (realContext.Provider === Context) {\n error('Calling useContext(Context.Provider) is not supported. ' + 'Did you mean to call useContext(Context) instead?');\n }\n }\n }\n\n return dispatcher.useContext(Context);\n}\nfunction useState(initialState) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useState(initialState);\n}\nfunction useReducer(reducer, initialArg, init) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useReducer(reducer, initialArg, init);\n}\nfunction useRef(initialValue) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useRef(initialValue);\n}\nfunction useEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useEffect(create, deps);\n}\nfunction useInsertionEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useInsertionEffect(create, deps);\n}\nfunction useLayoutEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useLayoutEffect(create, deps);\n}\nfunction useCallback(callback, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useCallback(callback, deps);\n}\nfunction useMemo(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useMemo(create, deps);\n}\nfunction useImperativeHandle(ref, create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useImperativeHandle(ref, create, deps);\n}\nfunction useDebugValue(value, formatterFn) {\n {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDebugValue(value, formatterFn);\n }\n}\nfunction useTransition() {\n var dispatcher = resolveDispatcher();\n return dispatcher.useTransition();\n}\nfunction useDeferredValue(value) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDeferredValue(value);\n}\nfunction useId() {\n var dispatcher = resolveDispatcher();\n return dispatcher.useId();\n}\nfunction useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n}\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher$1 = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher$1.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher$1.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('')) {\n _frame = _frame.replace('', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher$1.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n setExtraStackFrame(stack);\n } else {\n setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n\nfunction getDeclarationErrorAddendum() {\n if (ReactCurrentOwner.current) {\n var name = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n}\n\nfunction getSourceInfoErrorAddendumForProps(elementProps) {\n if (elementProps !== null && elementProps !== undefined) {\n return getSourceInfoErrorAddendum(elementProps.__source);\n }\n\n return '';\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n {\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\nfunction createElementWithValidation(type, props, children) {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendumForProps(props);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n {\n error('React.createElement: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n }\n\n var element = createElement.apply(this, arguments); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], type);\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n}\nvar didWarnAboutDeprecatedCreateFactory = false;\nfunction createFactoryWithValidation(type) {\n var validatedFactory = createElementWithValidation.bind(null, type);\n validatedFactory.type = type;\n\n {\n if (!didWarnAboutDeprecatedCreateFactory) {\n didWarnAboutDeprecatedCreateFactory = true;\n\n warn('React.createFactory() is deprecated and will be removed in ' + 'a future major release. Consider using JSX ' + 'or use React.createElement() directly instead.');\n } // Legacy hook: remove it\n\n\n Object.defineProperty(validatedFactory, 'type', {\n enumerable: false,\n get: function () {\n warn('Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.');\n\n Object.defineProperty(this, 'type', {\n value: type\n });\n return type;\n }\n });\n }\n\n return validatedFactory;\n}\nfunction cloneElementWithValidation(element, props, children) {\n var newElement = cloneElement.apply(this, arguments);\n\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], newElement.type);\n }\n\n validatePropTypes(newElement);\n return newElement;\n}\n\nfunction startTransition(scope, options) {\n var prevTransition = ReactCurrentBatchConfig.transition;\n ReactCurrentBatchConfig.transition = {};\n var currentTransition = ReactCurrentBatchConfig.transition;\n\n {\n ReactCurrentBatchConfig.transition._updatedFibers = new Set();\n }\n\n try {\n scope();\n } finally {\n ReactCurrentBatchConfig.transition = prevTransition;\n\n {\n if (prevTransition === null && currentTransition._updatedFibers) {\n var updatedFibersCount = currentTransition._updatedFibers.size;\n\n if (updatedFibersCount > 10) {\n warn('Detected a large number of updates inside startTransition. ' + 'If this is due to a subscription please re-write it to use React provided hooks. ' + 'Otherwise concurrent mode guarantees are off the table.');\n }\n\n currentTransition._updatedFibers.clear();\n }\n }\n }\n}\n\nvar didWarnAboutMessageChannel = false;\nvar enqueueTaskImpl = null;\nfunction enqueueTask(task) {\n if (enqueueTaskImpl === null) {\n try {\n // read require off the module object to get around the bundlers.\n // we don't want them to detect a require and bundle a Node polyfill.\n var requireString = ('require' + Math.random()).slice(0, 7);\n var nodeRequire = module && module[requireString]; // assuming we're in node, let's try to get node's\n // version of setImmediate, bypassing fake timers if any.\n\n enqueueTaskImpl = nodeRequire.call(module, 'timers').setImmediate;\n } catch (_err) {\n // we're in a browser\n // we can't use regular timers because they may still be faked\n // so we try MessageChannel+postMessage instead\n enqueueTaskImpl = function (callback) {\n {\n if (didWarnAboutMessageChannel === false) {\n didWarnAboutMessageChannel = true;\n\n if (typeof MessageChannel === 'undefined') {\n error('This browser does not have a MessageChannel implementation, ' + 'so enqueuing tasks via await act(async () => ...) will fail. ' + 'Please file an issue at https://github.com/facebook/react/issues ' + 'if you encounter this warning.');\n }\n }\n }\n\n var channel = new MessageChannel();\n channel.port1.onmessage = callback;\n channel.port2.postMessage(undefined);\n };\n }\n }\n\n return enqueueTaskImpl(task);\n}\n\nvar actScopeDepth = 0;\nvar didWarnNoAwaitAct = false;\nfunction act(callback) {\n {\n // `act` calls can be nested, so we track the depth. This represents the\n // number of `act` scopes on the stack.\n var prevActScopeDepth = actScopeDepth;\n actScopeDepth++;\n\n if (ReactCurrentActQueue.current === null) {\n // This is the outermost `act` scope. Initialize the queue. The reconciler\n // will detect the queue and use it instead of Scheduler.\n ReactCurrentActQueue.current = [];\n }\n\n var prevIsBatchingLegacy = ReactCurrentActQueue.isBatchingLegacy;\n var result;\n\n try {\n // Used to reproduce behavior of `batchedUpdates` in legacy mode. Only\n // set to `true` while the given callback is executed, not for updates\n // triggered during an async event, because this is how the legacy\n // implementation of `act` behaved.\n ReactCurrentActQueue.isBatchingLegacy = true;\n result = callback(); // Replicate behavior of original `act` implementation in legacy mode,\n // which flushed updates immediately after the scope function exits, even\n // if it's an async function.\n\n if (!prevIsBatchingLegacy && ReactCurrentActQueue.didScheduleLegacyUpdate) {\n var queue = ReactCurrentActQueue.current;\n\n if (queue !== null) {\n ReactCurrentActQueue.didScheduleLegacyUpdate = false;\n flushActQueue(queue);\n }\n }\n } catch (error) {\n popActScope(prevActScopeDepth);\n throw error;\n } finally {\n ReactCurrentActQueue.isBatchingLegacy = prevIsBatchingLegacy;\n }\n\n if (result !== null && typeof result === 'object' && typeof result.then === 'function') {\n var thenableResult = result; // The callback is an async function (i.e. returned a promise). Wait\n // for it to resolve before exiting the current scope.\n\n var wasAwaited = false;\n var thenable = {\n then: function (resolve, reject) {\n wasAwaited = true;\n thenableResult.then(function (returnValue) {\n popActScope(prevActScopeDepth);\n\n if (actScopeDepth === 0) {\n // We've exited the outermost act scope. Recursively flush the\n // queue until there's no remaining work.\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n } else {\n resolve(returnValue);\n }\n }, function (error) {\n // The callback threw an error.\n popActScope(prevActScopeDepth);\n reject(error);\n });\n }\n };\n\n {\n if (!didWarnNoAwaitAct && typeof Promise !== 'undefined') {\n // eslint-disable-next-line no-undef\n Promise.resolve().then(function () {}).then(function () {\n if (!wasAwaited) {\n didWarnNoAwaitAct = true;\n\n error('You called act(async () => ...) without await. ' + 'This could lead to unexpected testing behaviour, ' + 'interleaving multiple act calls and mixing their ' + 'scopes. ' + 'You should - await act(async () => ...);');\n }\n });\n }\n }\n\n return thenable;\n } else {\n var returnValue = result; // The callback is not an async function. Exit the current scope\n // immediately, without awaiting.\n\n popActScope(prevActScopeDepth);\n\n if (actScopeDepth === 0) {\n // Exiting the outermost act scope. Flush the queue.\n var _queue = ReactCurrentActQueue.current;\n\n if (_queue !== null) {\n flushActQueue(_queue);\n ReactCurrentActQueue.current = null;\n } // Return a thenable. If the user awaits it, we'll flush again in\n // case additional work was scheduled by a microtask.\n\n\n var _thenable = {\n then: function (resolve, reject) {\n // Confirm we haven't re-entered another `act` scope, in case\n // the user does something weird like await the thenable\n // multiple times.\n if (ReactCurrentActQueue.current === null) {\n // Recursively flush the queue until there's no remaining work.\n ReactCurrentActQueue.current = [];\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n } else {\n resolve(returnValue);\n }\n }\n };\n return _thenable;\n } else {\n // Since we're inside a nested `act` scope, the returned thenable\n // immediately resolves. The outer scope will flush the queue.\n var _thenable2 = {\n then: function (resolve, reject) {\n resolve(returnValue);\n }\n };\n return _thenable2;\n }\n }\n }\n}\n\nfunction popActScope(prevActScopeDepth) {\n {\n if (prevActScopeDepth !== actScopeDepth - 1) {\n error('You seem to have overlapping act() calls, this is not supported. ' + 'Be sure to await previous act() calls before making a new one. ');\n }\n\n actScopeDepth = prevActScopeDepth;\n }\n}\n\nfunction recursivelyFlushAsyncActWork(returnValue, resolve, reject) {\n {\n var queue = ReactCurrentActQueue.current;\n\n if (queue !== null) {\n try {\n flushActQueue(queue);\n enqueueTask(function () {\n if (queue.length === 0) {\n // No additional work was scheduled. Finish.\n ReactCurrentActQueue.current = null;\n resolve(returnValue);\n } else {\n // Keep flushing work until there's none left.\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n }\n });\n } catch (error) {\n reject(error);\n }\n } else {\n resolve(returnValue);\n }\n }\n}\n\nvar isFlushing = false;\n\nfunction flushActQueue(queue) {\n {\n if (!isFlushing) {\n // Prevent re-entrance.\n isFlushing = true;\n var i = 0;\n\n try {\n for (; i < queue.length; i++) {\n var callback = queue[i];\n\n do {\n callback = callback(true);\n } while (callback !== null);\n }\n\n queue.length = 0;\n } catch (error) {\n // If something throws, leave the remaining callbacks on the queue.\n queue = queue.slice(i + 1);\n throw error;\n } finally {\n isFlushing = false;\n }\n }\n }\n}\n\nvar createElement$1 = createElementWithValidation ;\nvar cloneElement$1 = cloneElementWithValidation ;\nvar createFactory = createFactoryWithValidation ;\nvar Children = {\n map: mapChildren,\n forEach: forEachChildren,\n count: countChildren,\n toArray: toArray,\n only: onlyChild\n};\n\nexports.Children = Children;\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactSharedInternals;\nexports.cloneElement = cloneElement$1;\nexports.createContext = createContext;\nexports.createElement = createElement$1;\nexports.createFactory = createFactory;\nexports.createRef = createRef;\nexports.forwardRef = forwardRef;\nexports.isValidElement = isValidElement;\nexports.lazy = lazy;\nexports.memo = memo;\nexports.startTransition = startTransition;\nexports.unstable_act = act;\nexports.useCallback = useCallback;\nexports.useContext = useContext;\nexports.useDebugValue = useDebugValue;\nexports.useDeferredValue = useDeferredValue;\nexports.useEffect = useEffect;\nexports.useId = useId;\nexports.useImperativeHandle = useImperativeHandle;\nexports.useInsertionEffect = useInsertionEffect;\nexports.useLayoutEffect = useLayoutEffect;\nexports.useMemo = useMemo;\nexports.useReducer = useReducer;\nexports.useRef = useRef;\nexports.useState = useState;\nexports.useSyncExternalStore = useSyncExternalStore;\nexports.useTransition = useTransition;\nexports.version = ReactVersion;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n", "'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n", "/**\n * @license React\n * scheduler.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var enableSchedulerDebugging = false;\nvar enableProfiling = false;\nvar frameYieldMs = 5;\n\nfunction push(heap, node) {\n var index = heap.length;\n heap.push(node);\n siftUp(heap, node, index);\n}\nfunction peek(heap) {\n return heap.length === 0 ? null : heap[0];\n}\nfunction pop(heap) {\n if (heap.length === 0) {\n return null;\n }\n\n var first = heap[0];\n var last = heap.pop();\n\n if (last !== first) {\n heap[0] = last;\n siftDown(heap, last, 0);\n }\n\n return first;\n}\n\nfunction siftUp(heap, node, i) {\n var index = i;\n\n while (index > 0) {\n var parentIndex = index - 1 >>> 1;\n var parent = heap[parentIndex];\n\n if (compare(parent, node) > 0) {\n // The parent is larger. Swap positions.\n heap[parentIndex] = node;\n heap[index] = parent;\n index = parentIndex;\n } else {\n // The parent is smaller. Exit.\n return;\n }\n }\n}\n\nfunction siftDown(heap, node, i) {\n var index = i;\n var length = heap.length;\n var halfLength = length >>> 1;\n\n while (index < halfLength) {\n var leftIndex = (index + 1) * 2 - 1;\n var left = heap[leftIndex];\n var rightIndex = leftIndex + 1;\n var right = heap[rightIndex]; // If the left or right node is smaller, swap with the smaller of those.\n\n if (compare(left, node) < 0) {\n if (rightIndex < length && compare(right, left) < 0) {\n heap[index] = right;\n heap[rightIndex] = node;\n index = rightIndex;\n } else {\n heap[index] = left;\n heap[leftIndex] = node;\n index = leftIndex;\n }\n } else if (rightIndex < length && compare(right, node) < 0) {\n heap[index] = right;\n heap[rightIndex] = node;\n index = rightIndex;\n } else {\n // Neither child is smaller. Exit.\n return;\n }\n }\n}\n\nfunction compare(a, b) {\n // Compare sort index first, then task id.\n var diff = a.sortIndex - b.sortIndex;\n return diff !== 0 ? diff : a.id - b.id;\n}\n\n// TODO: Use symbols?\nvar ImmediatePriority = 1;\nvar UserBlockingPriority = 2;\nvar NormalPriority = 3;\nvar LowPriority = 4;\nvar IdlePriority = 5;\n\nfunction markTaskErrored(task, ms) {\n}\n\n/* eslint-disable no-var */\n\nvar hasPerformanceNow = typeof performance === 'object' && typeof performance.now === 'function';\n\nif (hasPerformanceNow) {\n var localPerformance = performance;\n\n exports.unstable_now = function () {\n return localPerformance.now();\n };\n} else {\n var localDate = Date;\n var initialTime = localDate.now();\n\n exports.unstable_now = function () {\n return localDate.now() - initialTime;\n };\n} // Max 31 bit integer. The max integer size in V8 for 32-bit systems.\n// Math.pow(2, 30) - 1\n// 0b111111111111111111111111111111\n\n\nvar maxSigned31BitInt = 1073741823; // Times out immediately\n\nvar IMMEDIATE_PRIORITY_TIMEOUT = -1; // Eventually times out\n\nvar USER_BLOCKING_PRIORITY_TIMEOUT = 250;\nvar NORMAL_PRIORITY_TIMEOUT = 5000;\nvar LOW_PRIORITY_TIMEOUT = 10000; // Never times out\n\nvar IDLE_PRIORITY_TIMEOUT = maxSigned31BitInt; // Tasks are stored on a min heap\n\nvar taskQueue = [];\nvar timerQueue = []; // Incrementing id counter. Used to maintain insertion order.\n\nvar taskIdCounter = 1; // Pausing the scheduler is useful for debugging.\nvar currentTask = null;\nvar currentPriorityLevel = NormalPriority; // This is set while performing work, to prevent re-entrance.\n\nvar isPerformingWork = false;\nvar isHostCallbackScheduled = false;\nvar isHostTimeoutScheduled = false; // Capture local references to native APIs, in case a polyfill overrides them.\n\nvar localSetTimeout = typeof setTimeout === 'function' ? setTimeout : null;\nvar localClearTimeout = typeof clearTimeout === 'function' ? clearTimeout : null;\nvar localSetImmediate = typeof setImmediate !== 'undefined' ? setImmediate : null; // IE and Node.js + jsdom\n\nvar isInputPending = typeof navigator !== 'undefined' && navigator.scheduling !== undefined && navigator.scheduling.isInputPending !== undefined ? navigator.scheduling.isInputPending.bind(navigator.scheduling) : null;\n\nfunction advanceTimers(currentTime) {\n // Check for tasks that are no longer delayed and add them to the queue.\n var timer = peek(timerQueue);\n\n while (timer !== null) {\n if (timer.callback === null) {\n // Timer was cancelled.\n pop(timerQueue);\n } else if (timer.startTime <= currentTime) {\n // Timer fired. Transfer to the task queue.\n pop(timerQueue);\n timer.sortIndex = timer.expirationTime;\n push(taskQueue, timer);\n } else {\n // Remaining timers are pending.\n return;\n }\n\n timer = peek(timerQueue);\n }\n}\n\nfunction handleTimeout(currentTime) {\n isHostTimeoutScheduled = false;\n advanceTimers(currentTime);\n\n if (!isHostCallbackScheduled) {\n if (peek(taskQueue) !== null) {\n isHostCallbackScheduled = true;\n requestHostCallback(flushWork);\n } else {\n var firstTimer = peek(timerQueue);\n\n if (firstTimer !== null) {\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n }\n }\n}\n\nfunction flushWork(hasTimeRemaining, initialTime) {\n\n\n isHostCallbackScheduled = false;\n\n if (isHostTimeoutScheduled) {\n // We scheduled a timeout but it's no longer needed. Cancel it.\n isHostTimeoutScheduled = false;\n cancelHostTimeout();\n }\n\n isPerformingWork = true;\n var previousPriorityLevel = currentPriorityLevel;\n\n try {\n if (enableProfiling) {\n try {\n return workLoop(hasTimeRemaining, initialTime);\n } catch (error) {\n if (currentTask !== null) {\n var currentTime = exports.unstable_now();\n markTaskErrored(currentTask, currentTime);\n currentTask.isQueued = false;\n }\n\n throw error;\n }\n } else {\n // No catch in prod code path.\n return workLoop(hasTimeRemaining, initialTime);\n }\n } finally {\n currentTask = null;\n currentPriorityLevel = previousPriorityLevel;\n isPerformingWork = false;\n }\n}\n\nfunction workLoop(hasTimeRemaining, initialTime) {\n var currentTime = initialTime;\n advanceTimers(currentTime);\n currentTask = peek(taskQueue);\n\n while (currentTask !== null && !(enableSchedulerDebugging )) {\n if (currentTask.expirationTime > currentTime && (!hasTimeRemaining || shouldYieldToHost())) {\n // This currentTask hasn't expired, and we've reached the deadline.\n break;\n }\n\n var callback = currentTask.callback;\n\n if (typeof callback === 'function') {\n currentTask.callback = null;\n currentPriorityLevel = currentTask.priorityLevel;\n var didUserCallbackTimeout = currentTask.expirationTime <= currentTime;\n\n var continuationCallback = callback(didUserCallbackTimeout);\n currentTime = exports.unstable_now();\n\n if (typeof continuationCallback === 'function') {\n currentTask.callback = continuationCallback;\n } else {\n\n if (currentTask === peek(taskQueue)) {\n pop(taskQueue);\n }\n }\n\n advanceTimers(currentTime);\n } else {\n pop(taskQueue);\n }\n\n currentTask = peek(taskQueue);\n } // Return whether there's additional work\n\n\n if (currentTask !== null) {\n return true;\n } else {\n var firstTimer = peek(timerQueue);\n\n if (firstTimer !== null) {\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n\n return false;\n }\n}\n\nfunction unstable_runWithPriority(priorityLevel, eventHandler) {\n switch (priorityLevel) {\n case ImmediatePriority:\n case UserBlockingPriority:\n case NormalPriority:\n case LowPriority:\n case IdlePriority:\n break;\n\n default:\n priorityLevel = NormalPriority;\n }\n\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n}\n\nfunction unstable_next(eventHandler) {\n var priorityLevel;\n\n switch (currentPriorityLevel) {\n case ImmediatePriority:\n case UserBlockingPriority:\n case NormalPriority:\n // Shift down to normal priority\n priorityLevel = NormalPriority;\n break;\n\n default:\n // Anything lower than normal priority should remain at the current level.\n priorityLevel = currentPriorityLevel;\n break;\n }\n\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n}\n\nfunction unstable_wrapCallback(callback) {\n var parentPriorityLevel = currentPriorityLevel;\n return function () {\n // This is a fork of runWithPriority, inlined for performance.\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = parentPriorityLevel;\n\n try {\n return callback.apply(this, arguments);\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n };\n}\n\nfunction unstable_scheduleCallback(priorityLevel, callback, options) {\n var currentTime = exports.unstable_now();\n var startTime;\n\n if (typeof options === 'object' && options !== null) {\n var delay = options.delay;\n\n if (typeof delay === 'number' && delay > 0) {\n startTime = currentTime + delay;\n } else {\n startTime = currentTime;\n }\n } else {\n startTime = currentTime;\n }\n\n var timeout;\n\n switch (priorityLevel) {\n case ImmediatePriority:\n timeout = IMMEDIATE_PRIORITY_TIMEOUT;\n break;\n\n case UserBlockingPriority:\n timeout = USER_BLOCKING_PRIORITY_TIMEOUT;\n break;\n\n case IdlePriority:\n timeout = IDLE_PRIORITY_TIMEOUT;\n break;\n\n case LowPriority:\n timeout = LOW_PRIORITY_TIMEOUT;\n break;\n\n case NormalPriority:\n default:\n timeout = NORMAL_PRIORITY_TIMEOUT;\n break;\n }\n\n var expirationTime = startTime + timeout;\n var newTask = {\n id: taskIdCounter++,\n callback: callback,\n priorityLevel: priorityLevel,\n startTime: startTime,\n expirationTime: expirationTime,\n sortIndex: -1\n };\n\n if (startTime > currentTime) {\n // This is a delayed task.\n newTask.sortIndex = startTime;\n push(timerQueue, newTask);\n\n if (peek(taskQueue) === null && newTask === peek(timerQueue)) {\n // All tasks are delayed, and this is the task with the earliest delay.\n if (isHostTimeoutScheduled) {\n // Cancel an existing timeout.\n cancelHostTimeout();\n } else {\n isHostTimeoutScheduled = true;\n } // Schedule a timeout.\n\n\n requestHostTimeout(handleTimeout, startTime - currentTime);\n }\n } else {\n newTask.sortIndex = expirationTime;\n push(taskQueue, newTask);\n // wait until the next time we yield.\n\n\n if (!isHostCallbackScheduled && !isPerformingWork) {\n isHostCallbackScheduled = true;\n requestHostCallback(flushWork);\n }\n }\n\n return newTask;\n}\n\nfunction unstable_pauseExecution() {\n}\n\nfunction unstable_continueExecution() {\n\n if (!isHostCallbackScheduled && !isPerformingWork) {\n isHostCallbackScheduled = true;\n requestHostCallback(flushWork);\n }\n}\n\nfunction unstable_getFirstCallbackNode() {\n return peek(taskQueue);\n}\n\nfunction unstable_cancelCallback(task) {\n // remove from the queue because you can't remove arbitrary nodes from an\n // array based heap, only the first one.)\n\n\n task.callback = null;\n}\n\nfunction unstable_getCurrentPriorityLevel() {\n return currentPriorityLevel;\n}\n\nvar isMessageLoopRunning = false;\nvar scheduledHostCallback = null;\nvar taskTimeoutID = -1; // Scheduler periodically yields in case there is other work on the main\n// thread, like user events. By default, it yields multiple times per frame.\n// It does not attempt to align with frame boundaries, since most tasks don't\n// need to be frame aligned; for those that do, use requestAnimationFrame.\n\nvar frameInterval = frameYieldMs;\nvar startTime = -1;\n\nfunction shouldYieldToHost() {\n var timeElapsed = exports.unstable_now() - startTime;\n\n if (timeElapsed < frameInterval) {\n // The main thread has only been blocked for a really short amount of time;\n // smaller than a single frame. Don't yield yet.\n return false;\n } // The main thread has been blocked for a non-negligible amount of time. We\n\n\n return true;\n}\n\nfunction requestPaint() {\n\n}\n\nfunction forceFrameRate(fps) {\n if (fps < 0 || fps > 125) {\n // Using console['error'] to evade Babel and ESLint\n console['error']('forceFrameRate takes a positive int between 0 and 125, ' + 'forcing frame rates higher than 125 fps is not supported');\n return;\n }\n\n if (fps > 0) {\n frameInterval = Math.floor(1000 / fps);\n } else {\n // reset the framerate\n frameInterval = frameYieldMs;\n }\n}\n\nvar performWorkUntilDeadline = function () {\n if (scheduledHostCallback !== null) {\n var currentTime = exports.unstable_now(); // Keep track of the start time so we can measure how long the main thread\n // has been blocked.\n\n startTime = currentTime;\n var hasTimeRemaining = true; // If a scheduler task throws, exit the current browser task so the\n // error can be observed.\n //\n // Intentionally not using a try-catch, since that makes some debugging\n // techniques harder. Instead, if `scheduledHostCallback` errors, then\n // `hasMoreWork` will remain true, and we'll continue the work loop.\n\n var hasMoreWork = true;\n\n try {\n hasMoreWork = scheduledHostCallback(hasTimeRemaining, currentTime);\n } finally {\n if (hasMoreWork) {\n // If there's more work, schedule the next message event at the end\n // of the preceding one.\n schedulePerformWorkUntilDeadline();\n } else {\n isMessageLoopRunning = false;\n scheduledHostCallback = null;\n }\n }\n } else {\n isMessageLoopRunning = false;\n } // Yielding to the browser will give it a chance to paint, so we can\n};\n\nvar schedulePerformWorkUntilDeadline;\n\nif (typeof localSetImmediate === 'function') {\n // Node.js and old IE.\n // There's a few reasons for why we prefer setImmediate.\n //\n // Unlike MessageChannel, it doesn't prevent a Node.js process from exiting.\n // (Even though this is a DOM fork of the Scheduler, you could get here\n // with a mix of Node.js 15+, which has a MessageChannel, and jsdom.)\n // https://github.com/facebook/react/issues/20756\n //\n // But also, it runs earlier which is the semantic we want.\n // If other browsers ever implement it, it's better to use it.\n // Although both of these would be inferior to native scheduling.\n schedulePerformWorkUntilDeadline = function () {\n localSetImmediate(performWorkUntilDeadline);\n };\n} else if (typeof MessageChannel !== 'undefined') {\n // DOM and Worker environments.\n // We prefer MessageChannel because of the 4ms setTimeout clamping.\n var channel = new MessageChannel();\n var port = channel.port2;\n channel.port1.onmessage = performWorkUntilDeadline;\n\n schedulePerformWorkUntilDeadline = function () {\n port.postMessage(null);\n };\n} else {\n // We should only fallback here in non-browser environments.\n schedulePerformWorkUntilDeadline = function () {\n localSetTimeout(performWorkUntilDeadline, 0);\n };\n}\n\nfunction requestHostCallback(callback) {\n scheduledHostCallback = callback;\n\n if (!isMessageLoopRunning) {\n isMessageLoopRunning = true;\n schedulePerformWorkUntilDeadline();\n }\n}\n\nfunction requestHostTimeout(callback, ms) {\n taskTimeoutID = localSetTimeout(function () {\n callback(exports.unstable_now());\n }, ms);\n}\n\nfunction cancelHostTimeout() {\n localClearTimeout(taskTimeoutID);\n taskTimeoutID = -1;\n}\n\nvar unstable_requestPaint = requestPaint;\nvar unstable_Profiling = null;\n\nexports.unstable_IdlePriority = IdlePriority;\nexports.unstable_ImmediatePriority = ImmediatePriority;\nexports.unstable_LowPriority = LowPriority;\nexports.unstable_NormalPriority = NormalPriority;\nexports.unstable_Profiling = unstable_Profiling;\nexports.unstable_UserBlockingPriority = UserBlockingPriority;\nexports.unstable_cancelCallback = unstable_cancelCallback;\nexports.unstable_continueExecution = unstable_continueExecution;\nexports.unstable_forceFrameRate = forceFrameRate;\nexports.unstable_getCurrentPriorityLevel = unstable_getCurrentPriorityLevel;\nexports.unstable_getFirstCallbackNode = unstable_getFirstCallbackNode;\nexports.unstable_next = unstable_next;\nexports.unstable_pauseExecution = unstable_pauseExecution;\nexports.unstable_requestPaint = unstable_requestPaint;\nexports.unstable_runWithPriority = unstable_runWithPriority;\nexports.unstable_scheduleCallback = unstable_scheduleCallback;\nexports.unstable_shouldYield = shouldYieldToHost;\nexports.unstable_wrapCallback = unstable_wrapCallback;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n", "'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n", "/**\n * @license React\n * react-dom.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var React = require('react');\nvar Scheduler = require('scheduler');\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nvar suppressWarning = false;\nfunction setSuppressWarning(newSuppressWarning) {\n {\n suppressWarning = newSuppressWarning;\n }\n} // In DEV, calls to console.warn and console.error get replaced\n// by calls to these methods by a Babel plugin.\n//\n// In PROD (or in packages without access to React internals),\n// they are left as they are instead.\n\nfunction warn(format) {\n {\n if (!suppressWarning) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n printWarning('warn', format, args);\n }\n }\n}\nfunction error(format) {\n {\n if (!suppressWarning) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\nvar FunctionComponent = 0;\nvar ClassComponent = 1;\nvar IndeterminateComponent = 2; // Before we know whether it is function or class\n\nvar HostRoot = 3; // Root of a host tree. Could be nested inside another node.\n\nvar HostPortal = 4; // A subtree. Could be an entry point to a different renderer.\n\nvar HostComponent = 5;\nvar HostText = 6;\nvar Fragment = 7;\nvar Mode = 8;\nvar ContextConsumer = 9;\nvar ContextProvider = 10;\nvar ForwardRef = 11;\nvar Profiler = 12;\nvar SuspenseComponent = 13;\nvar MemoComponent = 14;\nvar SimpleMemoComponent = 15;\nvar LazyComponent = 16;\nvar IncompleteClassComponent = 17;\nvar DehydratedFragment = 18;\nvar SuspenseListComponent = 19;\nvar ScopeComponent = 21;\nvar OffscreenComponent = 22;\nvar LegacyHiddenComponent = 23;\nvar CacheComponent = 24;\nvar TracingMarkerComponent = 25;\n\n// -----------------------------------------------------------------------------\n\nvar enableClientRenderFallbackOnTextMismatch = true; // TODO: Need to review this code one more time before landing\n// the react-reconciler package.\n\nvar enableNewReconciler = false; // Support legacy Primer support on internal FB www\n\nvar enableLazyContextPropagation = false; // FB-only usage. The new API has different semantics.\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n\nvar enableSuspenseAvoidThisFallback = false; // Enables unstable_avoidThisFallback feature in Fizz\n// React DOM Chopping Block\n//\n// Similar to main Chopping Block but only flags related to React DOM. These are\n// grouped because we will likely batch all of them into a single major release.\n// -----------------------------------------------------------------------------\n// Disable support for comment nodes as React DOM containers. Already disabled\n// in open source, but www codebase still relies on it. Need to remove.\n\nvar disableCommentsAsDOMContainers = true; // Disable javascript: URL strings in href for XSS protection.\n// and client rendering, mostly to allow JSX attributes to apply to the custom\n// element's object properties instead of only HTML attributes.\n// https://github.com/facebook/react/issues/11347\n\nvar enableCustomElementPropertySupport = false; // Disables children for \n \n {annotations.length > 0 && (\n \n \n {annotations.map((annotation, idx) => (\n \n \n \n ))}\n \n
\n {annotation}\n \n
\n )}\n \n )}\n \n
\n \n
\n {error && (\n
{error}
\n )}\n \n );\n};\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * Assert that condition is truthy or throw error (with message)\n */\nexport function assert(condition, msg) {\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions -- we want the implicit conversion to boolean\n if (!condition) {\n throw new Error(msg);\n }\n}\nconst FLOAT32_MAX = 3.4028234663852886e38, FLOAT32_MIN = -3.4028234663852886e38, UINT32_MAX = 0xffffffff, INT32_MAX = 0x7fffffff, INT32_MIN = -0x80000000;\n/**\n * Assert a valid signed protobuf 32-bit integer.\n */\nexport function assertInt32(arg) {\n if (typeof arg !== \"number\")\n throw new Error(\"invalid int 32: \" + typeof arg);\n if (!Number.isInteger(arg) || arg > INT32_MAX || arg < INT32_MIN)\n throw new Error(\"invalid int 32: \" + arg); // eslint-disable-line @typescript-eslint/restrict-plus-operands -- we want the implicit conversion to string\n}\n/**\n * Assert a valid unsigned protobuf 32-bit integer.\n */\nexport function assertUInt32(arg) {\n if (typeof arg !== \"number\")\n throw new Error(\"invalid uint 32: \" + typeof arg);\n if (!Number.isInteger(arg) || arg > UINT32_MAX || arg < 0)\n throw new Error(\"invalid uint 32: \" + arg); // eslint-disable-line @typescript-eslint/restrict-plus-operands -- we want the implicit conversion to string\n}\n/**\n * Assert a valid protobuf float value.\n */\nexport function assertFloat32(arg) {\n if (typeof arg !== \"number\")\n throw new Error(\"invalid float 32: \" + typeof arg);\n if (!Number.isFinite(arg))\n return;\n if (arg > FLOAT32_MAX || arg < FLOAT32_MIN)\n throw new Error(\"invalid float 32: \" + arg); // eslint-disable-line @typescript-eslint/restrict-plus-operands -- we want the implicit conversion to string\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { assert } from \"./assert.js\";\nconst enumTypeSymbol = Symbol(\"@bufbuild/protobuf/enum-type\");\n/**\n * Get reflection information from a generated enum.\n * If this function is called on something other than a generated\n * enum, it raises an error.\n */\nexport function getEnumType(enumObject) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-explicit-any\n const t = enumObject[enumTypeSymbol];\n assert(t, \"missing enum type on enum object\");\n return t; // eslint-disable-line @typescript-eslint/no-unsafe-return\n}\n/**\n * Sets reflection information on a generated enum.\n */\nexport function setEnumType(enumObject, typeName, values, opt) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any\n enumObject[enumTypeSymbol] = makeEnumType(typeName, values.map((v) => ({\n no: v.no,\n name: v.name,\n localName: enumObject[v.no],\n })), opt);\n}\n/**\n * Create a new EnumType with the given values.\n */\nexport function makeEnumType(typeName, values, \n// eslint-disable-next-line @typescript-eslint/no-unused-vars\n_opt) {\n const names = Object.create(null);\n const numbers = Object.create(null);\n const normalValues = [];\n for (const value of values) {\n // We do not surface options at this time\n // const value: EnumValueInfo = {...v, options: v.options ?? emptyReadonlyObject};\n const n = normalizeEnumValue(value);\n normalValues.push(n);\n names[value.name] = n;\n numbers[value.no] = n;\n }\n return {\n typeName,\n values: normalValues,\n // We do not surface options at this time\n // options: opt?.options ?? Object.create(null),\n findName(name) {\n return names[name];\n },\n findNumber(no) {\n return numbers[no];\n },\n };\n}\n/**\n * Create a new enum object with the given values.\n * Sets reflection information.\n */\nexport function makeEnum(typeName, values, opt) {\n const enumObject = {};\n for (const value of values) {\n const n = normalizeEnumValue(value);\n enumObject[n.localName] = n.no;\n enumObject[n.no] = n.localName;\n }\n setEnumType(enumObject, typeName, values, opt);\n return enumObject;\n}\nfunction normalizeEnumValue(value) {\n if (\"localName\" in value) {\n return value;\n }\n return Object.assign(Object.assign({}, value), { localName: value.name });\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * Message is the base class of every message, generated, or created at\n * runtime.\n *\n * It is _not_ safe to extend this class. If you want to create a message at\n * run time, use proto3.makeMessageType().\n */\nexport class Message {\n /**\n * Compare with a message of the same type.\n */\n equals(other) {\n return this.getType().runtime.util.equals(this.getType(), this, other);\n }\n /**\n * Create a deep copy.\n */\n clone() {\n return this.getType().runtime.util.clone(this);\n }\n /**\n * Parse from binary data, merging fields.\n *\n * Repeated fields are appended. Map entries are added, overwriting\n * existing keys.\n *\n * If a message field is already present, it will be merged with the\n * new data.\n */\n fromBinary(bytes, options) {\n const type = this.getType(), format = type.runtime.bin, opt = format.makeReadOptions(options);\n format.readMessage(this, opt.readerFactory(bytes), bytes.byteLength, opt);\n return this;\n }\n /**\n * Parse a message from a JSON value.\n */\n fromJson(jsonValue, options) {\n const type = this.getType(), format = type.runtime.json, opt = format.makeReadOptions(options);\n format.readMessage(type, jsonValue, opt, this);\n return this;\n }\n /**\n * Parse a message from a JSON string.\n */\n fromJsonString(jsonString, options) {\n let json;\n try {\n json = JSON.parse(jsonString);\n }\n catch (e) {\n throw new Error(`cannot decode ${this.getType().typeName} from JSON: ${e instanceof Error ? e.message : String(e)}`);\n }\n return this.fromJson(json, options);\n }\n /**\n * Serialize the message to binary data.\n */\n toBinary(options) {\n const type = this.getType(), bin = type.runtime.bin, opt = bin.makeWriteOptions(options), writer = opt.writerFactory();\n bin.writeMessage(this, writer, opt);\n return writer.finish();\n }\n /**\n * Serialize the message to a JSON value, a JavaScript value that can be\n * passed to JSON.stringify().\n */\n toJson(options) {\n const type = this.getType(), json = type.runtime.json, opt = json.makeWriteOptions(options);\n return json.writeMessage(this, opt);\n }\n /**\n * Serialize the message to a JSON string.\n */\n toJsonString(options) {\n var _a;\n const value = this.toJson(options);\n return JSON.stringify(value, null, (_a = options === null || options === void 0 ? void 0 : options.prettySpaces) !== null && _a !== void 0 ? _a : 0);\n }\n /**\n * Override for serialization behavior. This will be invoked when calling\n * JSON.stringify on this message (i.e. JSON.stringify(msg)).\n *\n * Note that this will not serialize google.protobuf.Any with a packed\n * message because the protobuf JSON format specifies that it needs to be\n * unpacked, and this is only possible with a type registry to look up the\n * message type. As a result, attempting to serialize a message with this\n * type will throw an Error.\n *\n * This method is protected because you should not need to invoke it\n * directly -- instead use JSON.stringify or toJsonString for\n * stringified JSON. Alternatively, if actual JSON is desired, you should\n * use toJson.\n */\n toJSON() {\n return this.toJson({\n emitDefaultValues: true,\n });\n }\n /**\n * Retrieve the MessageType of this message - a singleton that represents\n * the protobuf message declaration and provides metadata for reflection-\n * based operations.\n */\n getType() {\n // Any class that extends Message _must_ provide a complete static\n // implementation of MessageType.\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-return\n return Object.getPrototypeOf(this).constructor;\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Message } from \"../message.js\";\n/**\n * Create a new message type using the given runtime.\n */\nexport function makeMessageType(runtime, typeName, fields, opt) {\n var _a;\n const localName = (_a = opt === null || opt === void 0 ? void 0 : opt.localName) !== null && _a !== void 0 ? _a : typeName.substring(typeName.lastIndexOf(\".\") + 1);\n const type = {\n [localName]: function (data) {\n runtime.util.initFields(this);\n runtime.util.initPartial(data, this);\n },\n }[localName];\n Object.setPrototypeOf(type.prototype, new Message());\n Object.assign(type, {\n runtime,\n typeName,\n fields: runtime.util.newFieldList(fields),\n fromBinary(bytes, options) {\n return new type().fromBinary(bytes, options);\n },\n fromJson(jsonValue, options) {\n return new type().fromJson(jsonValue, options);\n },\n fromJsonString(jsonString, options) {\n return new type().fromJsonString(jsonString, options);\n },\n equals(a, b) {\n return runtime.util.equals(type, a, b);\n },\n });\n return type;\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { getEnumType, makeEnum, makeEnumType } from \"./enum.js\";\nimport { makeMessageType } from \"./message-type.js\";\nexport function makeProtoRuntime(syntax, json, bin, util) {\n return {\n syntax,\n json,\n bin,\n util,\n makeMessageType(typeName, fields, opt) {\n return makeMessageType(this, typeName, fields, opt);\n },\n makeEnum,\n makeEnumType,\n getEnumType,\n };\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * Scalar value types. This is a subset of field types declared by protobuf\n * enum google.protobuf.FieldDescriptorProto.Type The types GROUP and MESSAGE\n * are omitted, but the numerical values are identical.\n */\nexport var ScalarType;\n(function (ScalarType) {\n // 0 is reserved for errors.\n // Order is weird for historical reasons.\n ScalarType[ScalarType[\"DOUBLE\"] = 1] = \"DOUBLE\";\n ScalarType[ScalarType[\"FLOAT\"] = 2] = \"FLOAT\";\n // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if\n // negative values are likely.\n ScalarType[ScalarType[\"INT64\"] = 3] = \"INT64\";\n ScalarType[ScalarType[\"UINT64\"] = 4] = \"UINT64\";\n // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if\n // negative values are likely.\n ScalarType[ScalarType[\"INT32\"] = 5] = \"INT32\";\n ScalarType[ScalarType[\"FIXED64\"] = 6] = \"FIXED64\";\n ScalarType[ScalarType[\"FIXED32\"] = 7] = \"FIXED32\";\n ScalarType[ScalarType[\"BOOL\"] = 8] = \"BOOL\";\n ScalarType[ScalarType[\"STRING\"] = 9] = \"STRING\";\n // Tag-delimited aggregate.\n // Group type is deprecated and not supported in proto3. However, Proto3\n // implementations should still be able to parse the group wire format and\n // treat group fields as unknown fields.\n // TYPE_GROUP = 10,\n // TYPE_MESSAGE = 11, // Length-delimited aggregate.\n // New in version 2.\n ScalarType[ScalarType[\"BYTES\"] = 12] = \"BYTES\";\n ScalarType[ScalarType[\"UINT32\"] = 13] = \"UINT32\";\n // TYPE_ENUM = 14,\n ScalarType[ScalarType[\"SFIXED32\"] = 15] = \"SFIXED32\";\n ScalarType[ScalarType[\"SFIXED64\"] = 16] = \"SFIXED64\";\n ScalarType[ScalarType[\"SINT32\"] = 17] = \"SINT32\";\n ScalarType[ScalarType[\"SINT64\"] = 18] = \"SINT64\";\n})(ScalarType || (ScalarType = {}));\n", "// Copyright 2008 Google Inc. All rights reserved.\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n// * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n// * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n// * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n//\n// Code generated by the Protocol Buffer compiler is owned by the owner\n// of the input file used when generating it. This code is not\n// standalone and requires a support library to be linked with it. This\n// support library is itself covered by the above license.\n/* eslint-disable prefer-const,@typescript-eslint/restrict-plus-operands */\n/**\n * Read a 64 bit varint as two JS numbers.\n *\n * Returns tuple:\n * [0]: low bits\n * [1]: high bits\n *\n * Copyright 2008 Google Inc. All rights reserved.\n *\n * See https://github.com/protocolbuffers/protobuf/blob/8a71927d74a4ce34efe2d8769fda198f52d20d12/js/experimental/runtime/kernel/buffer_decoder.js#L175\n */\nexport function varint64read() {\n let lowBits = 0;\n let highBits = 0;\n for (let shift = 0; shift < 28; shift += 7) {\n let b = this.buf[this.pos++];\n lowBits |= (b & 0x7f) << shift;\n if ((b & 0x80) == 0) {\n this.assertBounds();\n return [lowBits, highBits];\n }\n }\n let middleByte = this.buf[this.pos++];\n // last four bits of the first 32 bit number\n lowBits |= (middleByte & 0x0f) << 28;\n // 3 upper bits are part of the next 32 bit number\n highBits = (middleByte & 0x70) >> 4;\n if ((middleByte & 0x80) == 0) {\n this.assertBounds();\n return [lowBits, highBits];\n }\n for (let shift = 3; shift <= 31; shift += 7) {\n let b = this.buf[this.pos++];\n highBits |= (b & 0x7f) << shift;\n if ((b & 0x80) == 0) {\n this.assertBounds();\n return [lowBits, highBits];\n }\n }\n throw new Error(\"invalid varint\");\n}\n/**\n * Write a 64 bit varint, given as two JS numbers, to the given bytes array.\n *\n * Copyright 2008 Google Inc. All rights reserved.\n *\n * See https://github.com/protocolbuffers/protobuf/blob/8a71927d74a4ce34efe2d8769fda198f52d20d12/js/experimental/runtime/kernel/writer.js#L344\n */\nexport function varint64write(lo, hi, bytes) {\n for (let i = 0; i < 28; i = i + 7) {\n const shift = lo >>> i;\n const hasNext = !(shift >>> 7 == 0 && hi == 0);\n const byte = (hasNext ? shift | 0x80 : shift) & 0xff;\n bytes.push(byte);\n if (!hasNext) {\n return;\n }\n }\n const splitBits = ((lo >>> 28) & 0x0f) | ((hi & 0x07) << 4);\n const hasMoreBits = !(hi >> 3 == 0);\n bytes.push((hasMoreBits ? splitBits | 0x80 : splitBits) & 0xff);\n if (!hasMoreBits) {\n return;\n }\n for (let i = 3; i < 31; i = i + 7) {\n const shift = hi >>> i;\n const hasNext = !(shift >>> 7 == 0);\n const byte = (hasNext ? shift | 0x80 : shift) & 0xff;\n bytes.push(byte);\n if (!hasNext) {\n return;\n }\n }\n bytes.push((hi >>> 31) & 0x01);\n}\n// constants for binary math\nconst TWO_PWR_32_DBL = 0x100000000;\n/**\n * Parse decimal string of 64 bit integer value as two JS numbers.\n *\n * Copyright 2008 Google Inc. All rights reserved.\n *\n * See https://github.com/protocolbuffers/protobuf-javascript/blob/a428c58273abad07c66071d9753bc4d1289de426/experimental/runtime/int64.js#L10\n */\nexport function int64FromString(dec) {\n // Check for minus sign.\n const minus = dec[0] === \"-\";\n if (minus) {\n dec = dec.slice(1);\n }\n // Work 6 decimal digits at a time, acting like we're converting base 1e6\n // digits to binary. This is safe to do with floating point math because\n // Number.isSafeInteger(ALL_32_BITS * 1e6) == true.\n const base = 1e6;\n let lowBits = 0;\n let highBits = 0;\n function add1e6digit(begin, end) {\n // Note: Number('') is 0.\n const digit1e6 = Number(dec.slice(begin, end));\n highBits *= base;\n lowBits = lowBits * base + digit1e6;\n // Carry bits from lowBits to\n if (lowBits >= TWO_PWR_32_DBL) {\n highBits = highBits + ((lowBits / TWO_PWR_32_DBL) | 0);\n lowBits = lowBits % TWO_PWR_32_DBL;\n }\n }\n add1e6digit(-24, -18);\n add1e6digit(-18, -12);\n add1e6digit(-12, -6);\n add1e6digit(-6);\n return minus ? negate(lowBits, highBits) : newBits(lowBits, highBits);\n}\n/**\n * Losslessly converts a 64-bit signed integer in 32:32 split representation\n * into a decimal string.\n *\n * Copyright 2008 Google Inc. All rights reserved.\n *\n * See https://github.com/protocolbuffers/protobuf-javascript/blob/a428c58273abad07c66071d9753bc4d1289de426/experimental/runtime/int64.js#L10\n */\nexport function int64ToString(lo, hi) {\n let bits = newBits(lo, hi);\n // If we're treating the input as a signed value and the high bit is set, do\n // a manual two's complement conversion before the decimal conversion.\n const negative = (bits.hi & 0x80000000);\n if (negative) {\n bits = negate(bits.lo, bits.hi);\n }\n const result = uInt64ToString(bits.lo, bits.hi);\n return negative ? \"-\" + result : result;\n}\n/**\n * Losslessly converts a 64-bit unsigned integer in 32:32 split representation\n * into a decimal string.\n *\n * Copyright 2008 Google Inc. All rights reserved.\n *\n * See https://github.com/protocolbuffers/protobuf-javascript/blob/a428c58273abad07c66071d9753bc4d1289de426/experimental/runtime/int64.js#L10\n */\nexport function uInt64ToString(lo, hi) {\n ({ lo, hi } = toUnsigned(lo, hi));\n // Skip the expensive conversion if the number is small enough to use the\n // built-in conversions.\n // Number.MAX_SAFE_INTEGER = 0x001FFFFF FFFFFFFF, thus any number with\n // highBits <= 0x1FFFFF can be safely expressed with a double and retain\n // integer precision.\n // Proven by: Number.isSafeInteger(0x1FFFFF * 2**32 + 0xFFFFFFFF) == true.\n if (hi <= 0x1FFFFF) {\n return String(TWO_PWR_32_DBL * hi + lo);\n }\n // What this code is doing is essentially converting the input number from\n // base-2 to base-1e7, which allows us to represent the 64-bit range with\n // only 3 (very large) digits. Those digits are then trivial to convert to\n // a base-10 string.\n // The magic numbers used here are -\n // 2^24 = 16777216 = (1,6777216) in base-1e7.\n // 2^48 = 281474976710656 = (2,8147497,6710656) in base-1e7.\n // Split 32:32 representation into 16:24:24 representation so our\n // intermediate digits don't overflow.\n const low = lo & 0xFFFFFF;\n const mid = ((lo >>> 24) | (hi << 8)) & 0xFFFFFF;\n const high = (hi >> 16) & 0xFFFF;\n // Assemble our three base-1e7 digits, ignoring carries. The maximum\n // value in a digit at this step is representable as a 48-bit integer, which\n // can be stored in a 64-bit floating point number.\n let digitA = low + (mid * 6777216) + (high * 6710656);\n let digitB = mid + (high * 8147497);\n let digitC = (high * 2);\n // Apply carries from A to B and from B to C.\n const base = 10000000;\n if (digitA >= base) {\n digitB += Math.floor(digitA / base);\n digitA %= base;\n }\n if (digitB >= base) {\n digitC += Math.floor(digitB / base);\n digitB %= base;\n }\n // If digitC is 0, then we should have returned in the trivial code path\n // at the top for non-safe integers. Given this, we can assume both digitB\n // and digitA need leading zeros.\n return digitC.toString() + decimalFrom1e7WithLeadingZeros(digitB) +\n decimalFrom1e7WithLeadingZeros(digitA);\n}\nfunction toUnsigned(lo, hi) {\n return { lo: lo >>> 0, hi: hi >>> 0 };\n}\nfunction newBits(lo, hi) {\n return { lo: lo | 0, hi: hi | 0 };\n}\n/**\n * Returns two's compliment negation of input.\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators#Signed_32-bit_integers\n */\nfunction negate(lowBits, highBits) {\n highBits = ~highBits;\n if (lowBits) {\n lowBits = ~lowBits + 1;\n }\n else {\n // If lowBits is 0, then bitwise-not is 0xFFFFFFFF,\n // adding 1 to that, results in 0x100000000, which leaves\n // the low bits 0x0 and simply adds one to the high bits.\n highBits += 1;\n }\n return newBits(lowBits, highBits);\n}\n/**\n * Returns decimal representation of digit1e7 with leading zeros.\n */\nconst decimalFrom1e7WithLeadingZeros = (digit1e7) => {\n const partial = String(digit1e7);\n return \"0000000\".slice(partial.length) + partial;\n};\n/**\n * Write a 32 bit varint, signed or unsigned. Same as `varint64write(0, value, bytes)`\n *\n * Copyright 2008 Google Inc. All rights reserved.\n *\n * See https://github.com/protocolbuffers/protobuf/blob/1b18833f4f2a2f681f4e4a25cdf3b0a43115ec26/js/binary/encoder.js#L144\n */\nexport function varint32write(value, bytes) {\n if (value >= 0) {\n // write value as varint 32\n while (value > 0x7f) {\n bytes.push((value & 0x7f) | 0x80);\n value = value >>> 7;\n }\n bytes.push(value);\n }\n else {\n for (let i = 0; i < 9; i++) {\n bytes.push((value & 127) | 128);\n value = value >> 7;\n }\n bytes.push(1);\n }\n}\n/**\n * Read an unsigned 32 bit varint.\n *\n * See https://github.com/protocolbuffers/protobuf/blob/8a71927d74a4ce34efe2d8769fda198f52d20d12/js/experimental/runtime/kernel/buffer_decoder.js#L220\n */\nexport function varint32read() {\n let b = this.buf[this.pos++];\n let result = b & 0x7f;\n if ((b & 0x80) == 0) {\n this.assertBounds();\n return result;\n }\n b = this.buf[this.pos++];\n result |= (b & 0x7f) << 7;\n if ((b & 0x80) == 0) {\n this.assertBounds();\n return result;\n }\n b = this.buf[this.pos++];\n result |= (b & 0x7f) << 14;\n if ((b & 0x80) == 0) {\n this.assertBounds();\n return result;\n }\n b = this.buf[this.pos++];\n result |= (b & 0x7f) << 21;\n if ((b & 0x80) == 0) {\n this.assertBounds();\n return result;\n }\n // Extract only last 4 bits\n b = this.buf[this.pos++];\n result |= (b & 0x0f) << 28;\n for (let readBytes = 5; (b & 0x80) !== 0 && readBytes < 10; readBytes++)\n b = this.buf[this.pos++];\n if ((b & 0x80) != 0)\n throw new Error(\"invalid varint\");\n this.assertBounds();\n // Result can have 32 bits, convert it to unsigned\n return result >>> 0;\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { assert } from \"./private/assert.js\";\nimport { int64FromString, int64ToString, uInt64ToString, } from \"./google/varint.js\";\nfunction makeInt64Support() {\n const dv = new DataView(new ArrayBuffer(8));\n // note that Safari 14 implements BigInt, but not the DataView methods\n const ok = typeof BigInt === \"function\" &&\n typeof dv.getBigInt64 === \"function\" &&\n typeof dv.getBigUint64 === \"function\" &&\n typeof dv.setBigInt64 === \"function\" &&\n typeof dv.setBigUint64 === \"function\" &&\n (typeof process != \"object\" ||\n typeof process.env != \"object\" ||\n process.env.BUF_BIGINT_DISABLE !== \"1\");\n if (ok) {\n const MIN = BigInt(\"-9223372036854775808\"), MAX = BigInt(\"9223372036854775807\"), UMIN = BigInt(\"0\"), UMAX = BigInt(\"18446744073709551615\");\n return {\n zero: BigInt(0),\n supported: true,\n parse(value) {\n const bi = typeof value == \"bigint\" ? value : BigInt(value);\n if (bi > MAX || bi < MIN) {\n throw new Error(`int64 invalid: ${value}`);\n }\n return bi;\n },\n uParse(value) {\n const bi = typeof value == \"bigint\" ? value : BigInt(value);\n if (bi > UMAX || bi < UMIN) {\n throw new Error(`uint64 invalid: ${value}`);\n }\n return bi;\n },\n enc(value) {\n dv.setBigInt64(0, this.parse(value), true);\n return {\n lo: dv.getInt32(0, true),\n hi: dv.getInt32(4, true),\n };\n },\n uEnc(value) {\n dv.setBigInt64(0, this.uParse(value), true);\n return {\n lo: dv.getInt32(0, true),\n hi: dv.getInt32(4, true),\n };\n },\n dec(lo, hi) {\n dv.setInt32(0, lo, true);\n dv.setInt32(4, hi, true);\n return dv.getBigInt64(0, true);\n },\n uDec(lo, hi) {\n dv.setInt32(0, lo, true);\n dv.setInt32(4, hi, true);\n return dv.getBigUint64(0, true);\n },\n };\n }\n const assertInt64String = (value) => assert(/^-?[0-9]+$/.test(value), `int64 invalid: ${value}`);\n const assertUInt64String = (value) => assert(/^[0-9]+$/.test(value), `uint64 invalid: ${value}`);\n return {\n zero: \"0\",\n supported: false,\n parse(value) {\n if (typeof value != \"string\") {\n value = value.toString();\n }\n assertInt64String(value);\n return value;\n },\n uParse(value) {\n if (typeof value != \"string\") {\n value = value.toString();\n }\n assertUInt64String(value);\n return value;\n },\n enc(value) {\n if (typeof value != \"string\") {\n value = value.toString();\n }\n assertInt64String(value);\n return int64FromString(value);\n },\n uEnc(value) {\n if (typeof value != \"string\") {\n value = value.toString();\n }\n assertUInt64String(value);\n return int64FromString(value);\n },\n dec(lo, hi) {\n return int64ToString(lo, hi);\n },\n uDec(lo, hi) {\n return uInt64ToString(lo, hi);\n },\n };\n}\nexport const protoInt64 = makeInt64Support();\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { varint32read, varint32write, varint64read, varint64write, } from \"./google/varint.js\";\nimport { assertFloat32, assertInt32, assertUInt32 } from \"./private/assert.js\";\nimport { protoInt64 } from \"./proto-int64.js\";\n/* eslint-disable prefer-const,no-case-declarations,@typescript-eslint/restrict-plus-operands */\n/**\n * Protobuf binary format wire types.\n *\n * A wire type provides just enough information to find the length of the\n * following value.\n *\n * See https://developers.google.com/protocol-buffers/docs/encoding#structure\n */\nexport var WireType;\n(function (WireType) {\n /**\n * Used for int32, int64, uint32, uint64, sint32, sint64, bool, enum\n */\n WireType[WireType[\"Varint\"] = 0] = \"Varint\";\n /**\n * Used for fixed64, sfixed64, double.\n * Always 8 bytes with little-endian byte order.\n */\n WireType[WireType[\"Bit64\"] = 1] = \"Bit64\";\n /**\n * Used for string, bytes, embedded messages, packed repeated fields\n *\n * Only repeated numeric types (types which use the varint, 32-bit,\n * or 64-bit wire types) can be packed. In proto3, such fields are\n * packed by default.\n */\n WireType[WireType[\"LengthDelimited\"] = 2] = \"LengthDelimited\";\n /**\n * Used for groups\n * @deprecated\n */\n WireType[WireType[\"StartGroup\"] = 3] = \"StartGroup\";\n /**\n * Used for groups\n * @deprecated\n */\n WireType[WireType[\"EndGroup\"] = 4] = \"EndGroup\";\n /**\n * Used for fixed32, sfixed32, float.\n * Always 4 bytes with little-endian byte order.\n */\n WireType[WireType[\"Bit32\"] = 5] = \"Bit32\";\n})(WireType || (WireType = {}));\nexport class BinaryWriter {\n constructor(textEncoder) {\n /**\n * Previous fork states.\n */\n this.stack = [];\n this.textEncoder = textEncoder !== null && textEncoder !== void 0 ? textEncoder : new TextEncoder();\n this.chunks = [];\n this.buf = [];\n }\n /**\n * Return all bytes written and reset this writer.\n */\n finish() {\n this.chunks.push(new Uint8Array(this.buf)); // flush the buffer\n let len = 0;\n for (let i = 0; i < this.chunks.length; i++)\n len += this.chunks[i].length;\n let bytes = new Uint8Array(len);\n let offset = 0;\n for (let i = 0; i < this.chunks.length; i++) {\n bytes.set(this.chunks[i], offset);\n offset += this.chunks[i].length;\n }\n this.chunks = [];\n return bytes;\n }\n /**\n * Start a new fork for length-delimited data like a message\n * or a packed repeated field.\n *\n * Must be joined later with `join()`.\n */\n fork() {\n this.stack.push({ chunks: this.chunks, buf: this.buf });\n this.chunks = [];\n this.buf = [];\n return this;\n }\n /**\n * Join the last fork. Write its length and bytes, then\n * return to the previous state.\n */\n join() {\n // get chunk of fork\n let chunk = this.finish();\n // restore previous state\n let prev = this.stack.pop();\n if (!prev)\n throw new Error(\"invalid state, fork stack empty\");\n this.chunks = prev.chunks;\n this.buf = prev.buf;\n // write length of chunk as varint\n this.uint32(chunk.byteLength);\n return this.raw(chunk);\n }\n /**\n * Writes a tag (field number and wire type).\n *\n * Equivalent to `uint32( (fieldNo << 3 | type) >>> 0 )`.\n *\n * Generated code should compute the tag ahead of time and call `uint32()`.\n */\n tag(fieldNo, type) {\n return this.uint32(((fieldNo << 3) | type) >>> 0);\n }\n /**\n * Write a chunk of raw bytes.\n */\n raw(chunk) {\n if (this.buf.length) {\n this.chunks.push(new Uint8Array(this.buf));\n this.buf = [];\n }\n this.chunks.push(chunk);\n return this;\n }\n /**\n * Write a `uint32` value, an unsigned 32 bit varint.\n */\n uint32(value) {\n assertUInt32(value);\n // write value as varint 32, inlined for speed\n while (value > 0x7f) {\n this.buf.push((value & 0x7f) | 0x80);\n value = value >>> 7;\n }\n this.buf.push(value);\n return this;\n }\n /**\n * Write a `int32` value, a signed 32 bit varint.\n */\n int32(value) {\n assertInt32(value);\n varint32write(value, this.buf);\n return this;\n }\n /**\n * Write a `bool` value, a variant.\n */\n bool(value) {\n this.buf.push(value ? 1 : 0);\n return this;\n }\n /**\n * Write a `bytes` value, length-delimited arbitrary data.\n */\n bytes(value) {\n this.uint32(value.byteLength); // write length of chunk as varint\n return this.raw(value);\n }\n /**\n * Write a `string` value, length-delimited data converted to UTF-8 text.\n */\n string(value) {\n let chunk = this.textEncoder.encode(value);\n this.uint32(chunk.byteLength); // write length of chunk as varint\n return this.raw(chunk);\n }\n /**\n * Write a `float` value, 32-bit floating point number.\n */\n float(value) {\n assertFloat32(value);\n let chunk = new Uint8Array(4);\n new DataView(chunk.buffer).setFloat32(0, value, true);\n return this.raw(chunk);\n }\n /**\n * Write a `double` value, a 64-bit floating point number.\n */\n double(value) {\n let chunk = new Uint8Array(8);\n new DataView(chunk.buffer).setFloat64(0, value, true);\n return this.raw(chunk);\n }\n /**\n * Write a `fixed32` value, an unsigned, fixed-length 32-bit integer.\n */\n fixed32(value) {\n assertUInt32(value);\n let chunk = new Uint8Array(4);\n new DataView(chunk.buffer).setUint32(0, value, true);\n return this.raw(chunk);\n }\n /**\n * Write a `sfixed32` value, a signed, fixed-length 32-bit integer.\n */\n sfixed32(value) {\n assertInt32(value);\n let chunk = new Uint8Array(4);\n new DataView(chunk.buffer).setInt32(0, value, true);\n return this.raw(chunk);\n }\n /**\n * Write a `sint32` value, a signed, zigzag-encoded 32-bit varint.\n */\n sint32(value) {\n assertInt32(value);\n // zigzag encode\n value = ((value << 1) ^ (value >> 31)) >>> 0;\n varint32write(value, this.buf);\n return this;\n }\n /**\n * Write a `fixed64` value, a signed, fixed-length 64-bit integer.\n */\n sfixed64(value) {\n let chunk = new Uint8Array(8), view = new DataView(chunk.buffer), tc = protoInt64.enc(value);\n view.setInt32(0, tc.lo, true);\n view.setInt32(4, tc.hi, true);\n return this.raw(chunk);\n }\n /**\n * Write a `fixed64` value, an unsigned, fixed-length 64 bit integer.\n */\n fixed64(value) {\n let chunk = new Uint8Array(8), view = new DataView(chunk.buffer), tc = protoInt64.uEnc(value);\n view.setInt32(0, tc.lo, true);\n view.setInt32(4, tc.hi, true);\n return this.raw(chunk);\n }\n /**\n * Write a `int64` value, a signed 64-bit varint.\n */\n int64(value) {\n let tc = protoInt64.enc(value);\n varint64write(tc.lo, tc.hi, this.buf);\n return this;\n }\n /**\n * Write a `sint64` value, a signed, zig-zag-encoded 64-bit varint.\n */\n sint64(value) {\n let tc = protoInt64.enc(value), \n // zigzag encode\n sign = tc.hi >> 31, lo = (tc.lo << 1) ^ sign, hi = ((tc.hi << 1) | (tc.lo >>> 31)) ^ sign;\n varint64write(lo, hi, this.buf);\n return this;\n }\n /**\n * Write a `uint64` value, an unsigned 64-bit varint.\n */\n uint64(value) {\n let tc = protoInt64.uEnc(value);\n varint64write(tc.lo, tc.hi, this.buf);\n return this;\n }\n}\nexport class BinaryReader {\n constructor(buf, textDecoder) {\n this.varint64 = varint64read; // dirty cast for `this`\n /**\n * Read a `uint32` field, an unsigned 32 bit varint.\n */\n this.uint32 = varint32read; // dirty cast for `this` and access to protected `buf`\n this.buf = buf;\n this.len = buf.length;\n this.pos = 0;\n this.view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);\n this.textDecoder = textDecoder !== null && textDecoder !== void 0 ? textDecoder : new TextDecoder();\n }\n /**\n * Reads a tag - field number and wire type.\n */\n tag() {\n let tag = this.uint32(), fieldNo = tag >>> 3, wireType = tag & 7;\n if (fieldNo <= 0 || wireType < 0 || wireType > 5)\n throw new Error(\"illegal tag: field no \" + fieldNo + \" wire type \" + wireType);\n return [fieldNo, wireType];\n }\n /**\n * Skip one element on the wire and return the skipped data.\n * Supports WireType.StartGroup since v2.0.0-alpha.23.\n */\n skip(wireType) {\n let start = this.pos;\n switch (wireType) {\n case WireType.Varint:\n while (this.buf[this.pos++] & 0x80) {\n // ignore\n }\n break;\n // eslint-disable-next-line\n // @ts-ignore TS7029: Fallthrough case in switch\n case WireType.Bit64:\n this.pos += 4;\n // eslint-disable-next-line\n // @ts-ignore TS7029: Fallthrough case in switch\n case WireType.Bit32:\n this.pos += 4;\n break;\n case WireType.LengthDelimited:\n let len = this.uint32();\n this.pos += len;\n break;\n case WireType.StartGroup:\n // From descriptor.proto: Group type is deprecated, not supported in proto3.\n // But we must still be able to parse and treat as unknown.\n let t;\n while ((t = this.tag()[1]) !== WireType.EndGroup) {\n this.skip(t);\n }\n break;\n default:\n throw new Error(\"cant skip wire type \" + wireType);\n }\n this.assertBounds();\n return this.buf.subarray(start, this.pos);\n }\n /**\n * Throws error if position in byte array is out of range.\n */\n assertBounds() {\n if (this.pos > this.len)\n throw new RangeError(\"premature EOF\");\n }\n /**\n * Read a `int32` field, a signed 32 bit varint.\n */\n int32() {\n return this.uint32() | 0;\n }\n /**\n * Read a `sint32` field, a signed, zigzag-encoded 32-bit varint.\n */\n sint32() {\n let zze = this.uint32();\n // decode zigzag\n return (zze >>> 1) ^ -(zze & 1);\n }\n /**\n * Read a `int64` field, a signed 64-bit varint.\n */\n int64() {\n return protoInt64.dec(...this.varint64());\n }\n /**\n * Read a `uint64` field, an unsigned 64-bit varint.\n */\n uint64() {\n return protoInt64.uDec(...this.varint64());\n }\n /**\n * Read a `sint64` field, a signed, zig-zag-encoded 64-bit varint.\n */\n sint64() {\n let [lo, hi] = this.varint64();\n // decode zig zag\n let s = -(lo & 1);\n lo = ((lo >>> 1) | ((hi & 1) << 31)) ^ s;\n hi = (hi >>> 1) ^ s;\n return protoInt64.dec(lo, hi);\n }\n /**\n * Read a `bool` field, a variant.\n */\n bool() {\n let [lo, hi] = this.varint64();\n return lo !== 0 || hi !== 0;\n }\n /**\n * Read a `fixed32` field, an unsigned, fixed-length 32-bit integer.\n */\n fixed32() {\n return this.view.getUint32((this.pos += 4) - 4, true);\n }\n /**\n * Read a `sfixed32` field, a signed, fixed-length 32-bit integer.\n */\n sfixed32() {\n return this.view.getInt32((this.pos += 4) - 4, true);\n }\n /**\n * Read a `fixed64` field, an unsigned, fixed-length 64 bit integer.\n */\n fixed64() {\n return protoInt64.uDec(this.sfixed32(), this.sfixed32());\n }\n /**\n * Read a `fixed64` field, a signed, fixed-length 64-bit integer.\n */\n sfixed64() {\n return protoInt64.dec(this.sfixed32(), this.sfixed32());\n }\n /**\n * Read a `float` field, 32-bit floating point number.\n */\n float() {\n return this.view.getFloat32((this.pos += 4) - 4, true);\n }\n /**\n * Read a `double` field, a 64-bit floating point number.\n */\n double() {\n return this.view.getFloat64((this.pos += 8) - 8, true);\n }\n /**\n * Read a `bytes` field, length-delimited arbitrary data.\n */\n bytes() {\n let len = this.uint32(), start = this.pos;\n this.pos += len;\n this.assertBounds();\n return this.buf.subarray(start, start + len);\n }\n /**\n * Read a `string` field, length-delimited data converted to UTF-8 text.\n */\n string() {\n return this.textDecoder.decode(this.bytes());\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Message } from \"../message.js\";\nimport { ScalarType } from \"../field.js\";\n/**\n * Wrap a primitive message field value in its corresponding wrapper\n * message. This function is idempotent.\n */\nexport function wrapField(type, value) {\n if (value instanceof Message || !type.fieldWrapper) {\n return value;\n }\n return type.fieldWrapper.wrapField(value);\n}\n/**\n * If the given field uses one of the well-known wrapper types, return\n * the primitive type it wraps.\n */\nexport function getUnwrappedFieldType(field) {\n if (field.fieldKind !== \"message\") {\n return undefined;\n }\n if (field.repeated) {\n return undefined;\n }\n if (field.oneof != undefined) {\n return undefined;\n }\n return wktWrapperToScalarType[field.message.typeName];\n}\nconst wktWrapperToScalarType = {\n \"google.protobuf.DoubleValue\": ScalarType.DOUBLE,\n \"google.protobuf.FloatValue\": ScalarType.FLOAT,\n \"google.protobuf.Int64Value\": ScalarType.INT64,\n \"google.protobuf.UInt64Value\": ScalarType.UINT64,\n \"google.protobuf.Int32Value\": ScalarType.INT32,\n \"google.protobuf.UInt32Value\": ScalarType.UINT32,\n \"google.protobuf.BoolValue\": ScalarType.BOOL,\n \"google.protobuf.StringValue\": ScalarType.STRING,\n \"google.protobuf.BytesValue\": ScalarType.BYTES,\n};\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { ScalarType } from \"../field.js\";\nimport { WireType } from \"../binary-encoding.js\";\nimport { protoInt64 } from \"../proto-int64.js\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Returns true if both scalar values are equal.\n */\nexport function scalarEquals(type, a, b) {\n if (a === b) {\n // This correctly matches equal values except BYTES and (possibly) 64-bit integers.\n return true;\n }\n // Special case BYTES - we need to compare each byte individually\n if (type == ScalarType.BYTES) {\n if (!(a instanceof Uint8Array) || !(b instanceof Uint8Array)) {\n return false;\n }\n if (a.length !== b.length) {\n return false;\n }\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n return true;\n }\n // Special case 64-bit integers - we support number, string and bigint representation.\n // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check\n switch (type) {\n case ScalarType.UINT64:\n case ScalarType.FIXED64:\n case ScalarType.INT64:\n case ScalarType.SFIXED64:\n case ScalarType.SINT64:\n // Loose comparison will match between 0n, 0 and \"0\".\n return a == b;\n }\n // Anything that hasn't been caught by strict comparison or special cased\n // BYTES and 64-bit integers is not equal.\n return false;\n}\n/**\n * Returns the default value for the given scalar type, following\n * proto3 semantics.\n */\nexport function scalarDefaultValue(type) {\n switch (type) {\n case ScalarType.BOOL:\n return false;\n case ScalarType.UINT64:\n case ScalarType.FIXED64:\n case ScalarType.INT64:\n case ScalarType.SFIXED64:\n case ScalarType.SINT64:\n return protoInt64.zero;\n case ScalarType.DOUBLE:\n case ScalarType.FLOAT:\n return 0.0;\n case ScalarType.BYTES:\n return new Uint8Array(0);\n case ScalarType.STRING:\n return \"\";\n default:\n // Handles INT32, UINT32, SINT32, FIXED32, SFIXED32.\n // We do not use individual cases to save a few bytes code size.\n return 0;\n }\n}\n/**\n * Get information for writing a scalar value.\n *\n * Returns tuple:\n * [0]: appropriate WireType\n * [1]: name of the appropriate method of IBinaryWriter\n * [2]: whether the given value is a default value for proto3 semantics\n *\n * If argument `value` is omitted, [2] is always false.\n */\nexport function scalarTypeInfo(type, value) {\n const isUndefined = value === undefined;\n let wireType = WireType.Varint;\n let isIntrinsicDefault = value === 0;\n // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check -- INT32, UINT32, SINT32 are covered by the defaults\n switch (type) {\n case ScalarType.STRING:\n isIntrinsicDefault = isUndefined || !value.length;\n wireType = WireType.LengthDelimited;\n break;\n case ScalarType.BOOL:\n isIntrinsicDefault = value === false;\n break;\n case ScalarType.DOUBLE:\n wireType = WireType.Bit64;\n break;\n case ScalarType.FLOAT:\n wireType = WireType.Bit32;\n break;\n case ScalarType.INT64:\n isIntrinsicDefault = isUndefined || value == 0;\n break;\n case ScalarType.UINT64:\n isIntrinsicDefault = isUndefined || value == 0;\n break;\n case ScalarType.FIXED64:\n isIntrinsicDefault = isUndefined || value == 0;\n wireType = WireType.Bit64;\n break;\n case ScalarType.BYTES:\n isIntrinsicDefault = isUndefined || !value.byteLength;\n wireType = WireType.LengthDelimited;\n break;\n case ScalarType.FIXED32:\n wireType = WireType.Bit32;\n break;\n case ScalarType.SFIXED32:\n wireType = WireType.Bit32;\n break;\n case ScalarType.SFIXED64:\n isIntrinsicDefault = isUndefined || value == 0;\n wireType = WireType.Bit64;\n break;\n case ScalarType.SINT64:\n isIntrinsicDefault = isUndefined || value == 0;\n break;\n }\n const method = ScalarType[type].toLowerCase();\n return [wireType, method, isUndefined || isIntrinsicDefault];\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { BinaryReader, BinaryWriter, WireType } from \"../binary-encoding.js\";\nimport { Message } from \"../message.js\";\nimport { ScalarType } from \"../field.js\";\nimport { wrapField } from \"./field-wrapper.js\";\nimport { scalarDefaultValue, scalarTypeInfo } from \"./scalars.js\";\nimport { assert } from \"./assert.js\";\n/* eslint-disable @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unnecessary-condition, no-case-declarations, prefer-const */\nconst unknownFieldsSymbol = Symbol(\"@bufbuild/protobuf/unknown-fields\");\n// Default options for parsing binary data.\nconst readDefaults = {\n readUnknownFields: true,\n readerFactory: (bytes) => new BinaryReader(bytes),\n};\n// Default options for serializing binary data.\nconst writeDefaults = {\n writeUnknownFields: true,\n writerFactory: () => new BinaryWriter(),\n};\nfunction makeReadOptions(options) {\n return options ? Object.assign(Object.assign({}, readDefaults), options) : readDefaults;\n}\nfunction makeWriteOptions(options) {\n return options ? Object.assign(Object.assign({}, writeDefaults), options) : writeDefaults;\n}\nexport function makeBinaryFormatCommon() {\n return {\n makeReadOptions,\n makeWriteOptions,\n listUnknownFields(message) {\n var _a;\n return (_a = message[unknownFieldsSymbol]) !== null && _a !== void 0 ? _a : [];\n },\n discardUnknownFields(message) {\n delete message[unknownFieldsSymbol];\n },\n writeUnknownFields(message, writer) {\n const m = message;\n const c = m[unknownFieldsSymbol];\n if (c) {\n for (const f of c) {\n writer.tag(f.no, f.wireType).raw(f.data);\n }\n }\n },\n onUnknownField(message, no, wireType, data) {\n const m = message;\n if (!Array.isArray(m[unknownFieldsSymbol])) {\n m[unknownFieldsSymbol] = [];\n }\n m[unknownFieldsSymbol].push({ no, wireType, data });\n },\n readMessage(message, reader, length, options) {\n const type = message.getType();\n const end = length === undefined ? reader.len : reader.pos + length;\n while (reader.pos < end) {\n const [fieldNo, wireType] = reader.tag(), field = type.fields.find(fieldNo);\n if (!field) {\n const data = reader.skip(wireType);\n if (options.readUnknownFields) {\n this.onUnknownField(message, fieldNo, wireType, data);\n }\n continue;\n }\n let target = message, repeated = field.repeated, localName = field.localName;\n if (field.oneof) {\n target = target[field.oneof.localName];\n if (target.case != localName) {\n delete target.value;\n }\n target.case = localName;\n localName = \"value\";\n }\n switch (field.kind) {\n case \"scalar\":\n case \"enum\":\n const scalarType = field.kind == \"enum\" ? ScalarType.INT32 : field.T;\n if (repeated) {\n let arr = target[localName]; // safe to assume presence of array, oneof cannot contain repeated values\n if (wireType == WireType.LengthDelimited &&\n scalarType != ScalarType.STRING &&\n scalarType != ScalarType.BYTES) {\n let e = reader.uint32() + reader.pos;\n while (reader.pos < e) {\n arr.push(readScalar(reader, scalarType));\n }\n }\n else {\n arr.push(readScalar(reader, scalarType));\n }\n }\n else {\n target[localName] = readScalar(reader, scalarType);\n }\n break;\n case \"message\":\n const messageType = field.T;\n if (repeated) {\n // safe to assume presence of array, oneof cannot contain repeated values\n target[localName].push(readMessageField(reader, new messageType(), options));\n }\n else {\n if (target[localName] instanceof Message) {\n readMessageField(reader, target[localName], options);\n }\n else {\n target[localName] = readMessageField(reader, new messageType(), options);\n if (messageType.fieldWrapper &&\n !field.oneof &&\n !field.repeated) {\n target[localName] = messageType.fieldWrapper.unwrapField(target[localName]);\n }\n }\n }\n break;\n case \"map\":\n let [mapKey, mapVal] = readMapEntry(field, reader, options);\n // safe to assume presence of map object, oneof cannot contain repeated values\n target[localName][mapKey] = mapVal;\n break;\n }\n }\n },\n };\n}\n// Read a message, avoiding MessageType.fromBinary() to re-use the\n// BinaryReadOptions and the IBinaryReader.\nfunction readMessageField(reader, message, options) {\n const format = message.getType().runtime.bin;\n format.readMessage(message, reader, reader.uint32(), options);\n return message;\n}\n// Read a map field, expecting key field = 1, value field = 2\nfunction readMapEntry(field, reader, options) {\n const length = reader.uint32(), end = reader.pos + length;\n let key, val;\n while (reader.pos < end) {\n let [fieldNo] = reader.tag();\n switch (fieldNo) {\n case 1:\n key = readScalar(reader, field.K);\n break;\n case 2:\n switch (field.V.kind) {\n case \"scalar\":\n val = readScalar(reader, field.V.T);\n break;\n case \"enum\":\n val = reader.int32();\n break;\n case \"message\":\n val = readMessageField(reader, new field.V.T(), options);\n break;\n }\n break;\n }\n }\n if (key === undefined) {\n let keyRaw = scalarDefaultValue(field.K);\n key =\n field.K == ScalarType.BOOL\n ? keyRaw.toString()\n : keyRaw;\n }\n if (typeof key != \"string\" && typeof key != \"number\") {\n key = key.toString();\n }\n if (val === undefined) {\n switch (field.V.kind) {\n case \"scalar\":\n val = scalarDefaultValue(field.V.T);\n break;\n case \"enum\":\n val = 0;\n break;\n case \"message\":\n val = new field.V.T();\n break;\n }\n }\n return [key, val];\n}\n// Does not use scalarTypeInfo() for better performance.\nfunction readScalar(reader, type) {\n switch (type) {\n case ScalarType.STRING:\n return reader.string();\n case ScalarType.BOOL:\n return reader.bool();\n case ScalarType.DOUBLE:\n return reader.double();\n case ScalarType.FLOAT:\n return reader.float();\n case ScalarType.INT32:\n return reader.int32();\n case ScalarType.INT64:\n return reader.int64();\n case ScalarType.UINT64:\n return reader.uint64();\n case ScalarType.FIXED64:\n return reader.fixed64();\n case ScalarType.BYTES:\n return reader.bytes();\n case ScalarType.FIXED32:\n return reader.fixed32();\n case ScalarType.SFIXED32:\n return reader.sfixed32();\n case ScalarType.SFIXED64:\n return reader.sfixed64();\n case ScalarType.SINT64:\n return reader.sint64();\n case ScalarType.UINT32:\n return reader.uint32();\n case ScalarType.SINT32:\n return reader.sint32();\n }\n}\nexport function writeMapEntry(writer, options, field, key, value) {\n writer.tag(field.no, WireType.LengthDelimited);\n writer.fork();\n // javascript only allows number or string for object properties\n // we convert from our representation to the protobuf type\n let keyValue = key;\n // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check -- we deliberately handle just the special cases for map keys\n switch (field.K) {\n case ScalarType.INT32:\n case ScalarType.FIXED32:\n case ScalarType.UINT32:\n case ScalarType.SFIXED32:\n case ScalarType.SINT32:\n keyValue = Number.parseInt(key);\n break;\n case ScalarType.BOOL:\n assert(key == \"true\" || key == \"false\");\n keyValue = key == \"true\";\n break;\n }\n // write key, expecting key field number = 1\n writeScalar(writer, field.K, 1, keyValue, true);\n // write value, expecting value field number = 2\n switch (field.V.kind) {\n case \"scalar\":\n writeScalar(writer, field.V.T, 2, value, true);\n break;\n case \"enum\":\n writeScalar(writer, ScalarType.INT32, 2, value, true);\n break;\n case \"message\":\n writeMessageField(writer, options, field.V.T, 2, value);\n break;\n }\n writer.join();\n}\nexport function writeMessageField(writer, options, type, fieldNo, value) {\n if (value !== undefined) {\n const message = wrapField(type, value);\n writer\n .tag(fieldNo, WireType.LengthDelimited)\n .bytes(message.toBinary(options));\n }\n}\nexport function writeScalar(writer, type, fieldNo, value, emitIntrinsicDefault) {\n let [wireType, method, isIntrinsicDefault] = scalarTypeInfo(type, value);\n if (!isIntrinsicDefault || emitIntrinsicDefault) {\n writer.tag(fieldNo, wireType)[method](value);\n }\n}\nexport function writePacked(writer, type, fieldNo, value) {\n if (!value.length) {\n return;\n }\n writer.tag(fieldNo, WireType.LengthDelimited).fork();\n let [, method] = scalarTypeInfo(type);\n for (let i = 0; i < value.length; i++) {\n writer[method](value[i]);\n }\n writer.join();\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { ScalarType } from \"../field.js\";\nimport { makeBinaryFormatCommon, writeMapEntry, writeMessageField, writePacked, writeScalar, } from \"./binary-format-common.js\";\n/* eslint-disable @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unnecessary-condition, @typescript-eslint/strict-boolean-expressions, prefer-const, no-case-declarations */\nexport function makeBinaryFormatProto3() {\n return Object.assign(Object.assign({}, makeBinaryFormatCommon()), { writeMessage(message, writer, options) {\n const type = message.getType();\n for (const field of type.fields.byNumber()) {\n let value, // this will be our field value, whether it is member of a oneof or regular field\n repeated = field.repeated, localName = field.localName;\n if (field.oneof) {\n const oneof = message[field.oneof.localName];\n if (oneof.case !== localName) {\n continue; // field is not selected, skip\n }\n value = oneof.value;\n }\n else {\n value = message[localName];\n }\n switch (field.kind) {\n case \"scalar\":\n case \"enum\":\n let scalarType = field.kind == \"enum\" ? ScalarType.INT32 : field.T;\n if (repeated) {\n if (field.packed) {\n writePacked(writer, scalarType, field.no, value);\n }\n else {\n for (const item of value) {\n writeScalar(writer, scalarType, field.no, item, true);\n }\n }\n }\n else {\n if (value !== undefined) {\n writeScalar(writer, scalarType, field.no, value, !!field.oneof || field.opt);\n }\n }\n break;\n case \"message\":\n if (repeated) {\n for (const item of value) {\n writeMessageField(writer, options, field.T, field.no, item);\n }\n }\n else {\n writeMessageField(writer, options, field.T, field.no, value);\n }\n break;\n case \"map\":\n for (const [key, val] of Object.entries(value)) {\n writeMapEntry(writer, options, field, key, val);\n }\n break;\n }\n }\n if (options.writeUnknownFields) {\n this.writeUnknownFields(message, writer);\n }\n return writer;\n } });\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/* eslint-disable @typescript-eslint/ban-ts-comment, @typescript-eslint/no-unnecessary-condition, prefer-const */\n// lookup table from base64 character to byte\nlet encTable = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".split(\"\");\n// lookup table from base64 character *code* to byte because lookup by number is fast\nlet decTable = [];\nfor (let i = 0; i < encTable.length; i++)\n decTable[encTable[i].charCodeAt(0)] = i;\n// support base64url variants\ndecTable[\"-\".charCodeAt(0)] = encTable.indexOf(\"+\");\ndecTable[\"_\".charCodeAt(0)] = encTable.indexOf(\"/\");\nexport const protoBase64 = {\n /**\n * Decodes a base64 string to a byte array.\n *\n * - ignores white-space, including line breaks and tabs\n * - allows inner padding (can decode concatenated base64 strings)\n * - does not require padding\n * - understands base64url encoding:\n * \"-\" instead of \"+\",\n * \"_\" instead of \"/\",\n * no padding\n */\n dec(base64Str) {\n // estimate byte size, not accounting for inner padding and whitespace\n let es = (base64Str.length * 3) / 4;\n if (base64Str[base64Str.length - 2] == \"=\")\n es -= 2;\n else if (base64Str[base64Str.length - 1] == \"=\")\n es -= 1;\n let bytes = new Uint8Array(es), bytePos = 0, // position in byte array\n groupPos = 0, // position in base64 group\n b, // current byte\n p = 0; // previous byte\n for (let i = 0; i < base64Str.length; i++) {\n b = decTable[base64Str.charCodeAt(i)];\n if (b === undefined) {\n switch (base64Str[i]) {\n // @ts-ignore TS7029: Fallthrough case in switch\n case \"=\":\n groupPos = 0; // reset state when padding found\n // @ts-ignore TS7029: Fallthrough case in switch\n case \"\\n\":\n case \"\\r\":\n case \"\\t\":\n case \" \":\n continue; // skip white-space, and padding\n default:\n throw Error(\"invalid base64 string.\");\n }\n }\n switch (groupPos) {\n case 0:\n p = b;\n groupPos = 1;\n break;\n case 1:\n bytes[bytePos++] = (p << 2) | ((b & 48) >> 4);\n p = b;\n groupPos = 2;\n break;\n case 2:\n bytes[bytePos++] = ((p & 15) << 4) | ((b & 60) >> 2);\n p = b;\n groupPos = 3;\n break;\n case 3:\n bytes[bytePos++] = ((p & 3) << 6) | b;\n groupPos = 0;\n break;\n }\n }\n if (groupPos == 1)\n throw Error(\"invalid base64 string.\");\n return bytes.subarray(0, bytePos);\n },\n /**\n * Encode a byte array to a base64 string.\n */\n enc(bytes) {\n let base64 = \"\", groupPos = 0, // position in base64 group\n b, // current byte\n p = 0; // carry over from previous byte\n for (let i = 0; i < bytes.length; i++) {\n b = bytes[i];\n switch (groupPos) {\n case 0:\n base64 += encTable[b >> 2];\n p = (b & 3) << 4;\n groupPos = 1;\n break;\n case 1:\n base64 += encTable[p | (b >> 4)];\n p = (b & 15) << 2;\n groupPos = 2;\n break;\n case 2:\n base64 += encTable[p | (b >> 6)];\n base64 += encTable[b & 63];\n groupPos = 0;\n break;\n }\n }\n // add output padding\n if (groupPos) {\n base64 += encTable[p];\n base64 += \"=\";\n if (groupPos == 1)\n base64 += \"=\";\n }\n return base64;\n },\n};\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Message } from \"../message.js\";\nimport { ScalarType } from \"../field.js\";\nimport { assert, assertFloat32, assertInt32, assertUInt32 } from \"./assert.js\";\nimport { protoInt64 } from \"../proto-int64.js\";\nimport { protoBase64 } from \"../proto-base64.js\";\n/* eslint-disable no-case-declarations, @typescript-eslint/restrict-plus-operands,@typescript-eslint/no-explicit-any,@typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-argument */\n// Default options for parsing JSON.\nconst jsonReadDefaults = {\n ignoreUnknownFields: false,\n};\n// Default options for serializing to JSON.\nconst jsonWriteDefaults = {\n emitDefaultValues: false,\n enumAsInteger: false,\n useProtoFieldName: false,\n prettySpaces: 0,\n};\nfunction makeReadOptions(options) {\n return options ? Object.assign(Object.assign({}, jsonReadDefaults), options) : jsonReadDefaults;\n}\nfunction makeWriteOptions(options) {\n return options ? Object.assign(Object.assign({}, jsonWriteDefaults), options) : jsonWriteDefaults;\n}\nexport function makeJsonFormatCommon(makeWriteField) {\n const writeField = makeWriteField(writeEnum, writeScalar);\n return {\n makeReadOptions,\n makeWriteOptions,\n readMessage(type, json, options, message) {\n if (json == null || Array.isArray(json) || typeof json != \"object\") {\n throw new Error(`cannot decode message ${type.typeName} from JSON: ${this.debug(json)}`);\n }\n message = message !== null && message !== void 0 ? message : new type();\n const oneofSeen = {};\n for (const [jsonKey, jsonValue] of Object.entries(json)) {\n const field = type.fields.findJsonName(jsonKey);\n if (!field) {\n if (!options.ignoreUnknownFields) {\n throw new Error(`cannot decode message ${type.typeName} from JSON: key \"${jsonKey}\" is unknown`);\n }\n continue;\n }\n let localName = field.localName;\n let target = message;\n if (field.oneof) {\n if (jsonValue === null && field.kind == \"scalar\") {\n // see conformance test Required.Proto3.JsonInput.OneofFieldNull{First,Second}\n continue;\n }\n const seen = oneofSeen[field.oneof.localName];\n if (seen) {\n throw new Error(`cannot decode message ${type.typeName} from JSON: multiple keys for oneof \"${field.oneof.name}\" present: \"${seen}\", \"${jsonKey}\"`);\n }\n oneofSeen[field.oneof.localName] = jsonKey;\n target = target[field.oneof.localName] = { case: localName };\n localName = \"value\";\n }\n if (field.repeated) {\n if (jsonValue === null) {\n continue;\n }\n if (!Array.isArray(jsonValue)) {\n throw new Error(`cannot decode field ${type.typeName}.${field.name} from JSON: ${this.debug(jsonValue)}`);\n }\n const targetArray = target[localName];\n for (const jsonItem of jsonValue) {\n if (jsonItem === null) {\n throw new Error(`cannot decode field ${type.typeName}.${field.name} from JSON: ${this.debug(jsonItem)}`);\n }\n let val;\n // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check -- \"map\" is invalid for repeated fields\n switch (field.kind) {\n case \"message\":\n val = field.T.fromJson(jsonItem, options);\n break;\n case \"enum\":\n val = readEnum(field.T, jsonItem, options.ignoreUnknownFields);\n if (val === undefined)\n continue;\n break;\n case \"scalar\":\n try {\n val = readScalar(field.T, jsonItem);\n }\n catch (e) {\n let m = `cannot decode field ${type.typeName}.${field.name} from JSON: ${this.debug(jsonItem)}`;\n if (e instanceof Error && e.message.length > 0) {\n m += `: ${e.message}`;\n }\n throw new Error(m);\n }\n break;\n }\n targetArray.push(val);\n }\n }\n else if (field.kind == \"map\") {\n if (jsonValue === null) {\n continue;\n }\n if (Array.isArray(jsonValue) || typeof jsonValue != \"object\") {\n throw new Error(`cannot decode field ${type.typeName}.${field.name} from JSON: ${this.debug(jsonValue)}`);\n }\n const targetMap = target[localName];\n for (const [jsonMapKey, jsonMapValue] of Object.entries(jsonValue)) {\n if (jsonMapValue === null) {\n throw new Error(`cannot decode field ${type.typeName}.${field.name} from JSON: map value null`);\n }\n let val;\n switch (field.V.kind) {\n case \"message\":\n val = field.V.T.fromJson(jsonMapValue, options);\n break;\n case \"enum\":\n val = readEnum(field.V.T, jsonMapValue, options.ignoreUnknownFields);\n if (val === undefined)\n continue;\n break;\n case \"scalar\":\n try {\n val = readScalar(field.V.T, jsonMapValue);\n }\n catch (e) {\n let m = `cannot decode map value for field ${type.typeName}.${field.name} from JSON: ${this.debug(jsonValue)}`;\n if (e instanceof Error && e.message.length > 0) {\n m += `: ${e.message}`;\n }\n throw new Error(m);\n }\n break;\n }\n try {\n targetMap[readScalar(field.K, field.K == ScalarType.BOOL\n ? jsonMapKey == \"true\"\n ? true\n : jsonMapKey == \"false\"\n ? false\n : jsonMapKey\n : jsonMapKey).toString()] = val;\n }\n catch (e) {\n let m = `cannot decode map key for field ${type.typeName}.${field.name} from JSON: ${this.debug(jsonValue)}`;\n if (e instanceof Error && e.message.length > 0) {\n m += `: ${e.message}`;\n }\n throw new Error(m);\n }\n }\n }\n else {\n switch (field.kind) {\n case \"message\":\n const messageType = field.T;\n if (jsonValue === null &&\n messageType.typeName != \"google.protobuf.Value\") {\n if (field.oneof) {\n throw new Error(`cannot decode field ${type.typeName}.${field.name} from JSON: null is invalid for oneof field \"${jsonKey}\"`);\n }\n continue;\n }\n if (target[localName] instanceof Message) {\n target[localName].fromJson(jsonValue, options);\n }\n else {\n target[localName] = messageType.fromJson(jsonValue, options);\n if (messageType.fieldWrapper && !field.oneof) {\n target[localName] = messageType.fieldWrapper.unwrapField(target[localName]);\n }\n }\n break;\n case \"enum\":\n const enumValue = readEnum(field.T, jsonValue, options.ignoreUnknownFields);\n if (enumValue !== undefined) {\n target[localName] = enumValue;\n }\n break;\n case \"scalar\":\n try {\n target[localName] = readScalar(field.T, jsonValue);\n }\n catch (e) {\n let m = `cannot decode field ${type.typeName}.${field.name} from JSON: ${this.debug(jsonValue)}`;\n if (e instanceof Error && e.message.length > 0) {\n m += `: ${e.message}`;\n }\n throw new Error(m);\n }\n break;\n }\n }\n }\n return message;\n },\n writeMessage(message, options) {\n const type = message.getType();\n const json = {};\n let field;\n try {\n for (const member of type.fields.byMember()) {\n let jsonValue;\n if (member.kind == \"oneof\") {\n const oneof = message[member.localName];\n if (oneof.value === undefined) {\n continue;\n }\n field = member.findField(oneof.case);\n if (!field) {\n throw \"oneof case not found: \" + oneof.case;\n }\n jsonValue = writeField(field, oneof.value, options);\n }\n else {\n field = member;\n jsonValue = writeField(field, message[field.localName], options);\n }\n if (jsonValue !== undefined) {\n json[options.useProtoFieldName ? field.name : field.jsonName] =\n jsonValue;\n }\n }\n }\n catch (e) {\n const m = field\n ? `cannot encode field ${type.typeName}.${field.name} to JSON`\n : `cannot encode message ${type.typeName} to JSON`;\n const r = e instanceof Error ? e.message : String(e);\n throw new Error(m + (r.length > 0 ? `: ${r}` : \"\"));\n }\n return json;\n },\n readScalar,\n writeScalar,\n debug: debugJsonValue,\n };\n}\nfunction debugJsonValue(json) {\n if (json === null) {\n return \"null\";\n }\n switch (typeof json) {\n case \"object\":\n return Array.isArray(json) ? \"array\" : \"object\";\n case \"string\":\n return json.length > 100 ? \"string\" : `\"${json.split('\"').join('\\\\\"')}\"`;\n default:\n return String(json);\n }\n}\n// May throw an error. If the error message is non-blank, it should be shown.\n// It is up to the caller to provide context.\nfunction readScalar(type, json) {\n // every valid case in the switch below returns, and every fall\n // through is regarded as a failure.\n switch (type) {\n // float, double: JSON value will be a number or one of the special string values \"NaN\", \"Infinity\", and \"-Infinity\".\n // Either numbers or strings are accepted. Exponent notation is also accepted.\n case ScalarType.DOUBLE:\n case ScalarType.FLOAT:\n if (json === null)\n return 0.0;\n if (json === \"NaN\")\n return Number.NaN;\n if (json === \"Infinity\")\n return Number.POSITIVE_INFINITY;\n if (json === \"-Infinity\")\n return Number.NEGATIVE_INFINITY;\n if (json === \"\") {\n // empty string is not a number\n break;\n }\n if (typeof json == \"string\" && json.trim().length !== json.length) {\n // extra whitespace\n break;\n }\n if (typeof json != \"string\" && typeof json != \"number\") {\n break;\n }\n const float = Number(json);\n if (Number.isNaN(float)) {\n // not a number\n break;\n }\n if (!Number.isFinite(float)) {\n // infinity and -infinity are handled by string representation above, so this is an error\n break;\n }\n if (type == ScalarType.FLOAT)\n assertFloat32(float);\n return float;\n // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted.\n case ScalarType.INT32:\n case ScalarType.FIXED32:\n case ScalarType.SFIXED32:\n case ScalarType.SINT32:\n case ScalarType.UINT32:\n if (json === null)\n return 0;\n let int32;\n if (typeof json == \"number\")\n int32 = json;\n else if (typeof json == \"string\" && json.length > 0) {\n if (json.trim().length === json.length)\n int32 = Number(json);\n }\n if (int32 === undefined)\n break;\n if (type == ScalarType.UINT32)\n assertUInt32(int32);\n else\n assertInt32(int32);\n return int32;\n // int64, fixed64, uint64: JSON value will be a decimal string. Either numbers or strings are accepted.\n case ScalarType.INT64:\n case ScalarType.SFIXED64:\n case ScalarType.SINT64:\n if (json === null)\n return protoInt64.zero;\n if (typeof json != \"number\" && typeof json != \"string\")\n break;\n return protoInt64.parse(json);\n case ScalarType.FIXED64:\n case ScalarType.UINT64:\n if (json === null)\n return protoInt64.zero;\n if (typeof json != \"number\" && typeof json != \"string\")\n break;\n return protoInt64.uParse(json);\n // bool:\n case ScalarType.BOOL:\n if (json === null)\n return false;\n if (typeof json !== \"boolean\")\n break;\n return json;\n // string:\n case ScalarType.STRING:\n if (json === null)\n return \"\";\n if (typeof json !== \"string\") {\n break;\n }\n // A string must always contain UTF-8 encoded or 7-bit ASCII.\n // We validate with encodeURIComponent, which appears to be the fastest widely available option.\n try {\n encodeURIComponent(json);\n }\n catch (e) {\n throw new Error(\"invalid UTF8\");\n }\n return json;\n // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings.\n // Either standard or URL-safe base64 encoding with/without paddings are accepted.\n case ScalarType.BYTES:\n if (json === null || json === \"\")\n return new Uint8Array(0);\n if (typeof json !== \"string\")\n break;\n return protoBase64.dec(json);\n }\n throw new Error();\n}\nfunction readEnum(type, json, ignoreUnknownFields) {\n if (json === null) {\n // proto3 requires 0 to be default value for all enums\n return 0;\n }\n // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check\n switch (typeof json) {\n case \"number\":\n if (Number.isInteger(json)) {\n return json;\n }\n break;\n case \"string\":\n const value = type.findName(json);\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n if (value || ignoreUnknownFields) {\n return value === null || value === void 0 ? void 0 : value.no;\n }\n break;\n }\n throw new Error(`cannot decode enum ${type.typeName} from JSON: ${debugJsonValue(json)}`);\n}\nfunction writeEnum(type, value, emitIntrinsicDefault, enumAsInteger) {\n var _a;\n if (value === undefined) {\n return value;\n }\n if (value === 0 && !emitIntrinsicDefault) {\n // proto3 requires 0 to be default value for all enums\n return undefined;\n }\n if (enumAsInteger) {\n return value;\n }\n if (type.typeName == \"google.protobuf.NullValue\") {\n return null;\n }\n const val = type.findNumber(value);\n return (_a = val === null || val === void 0 ? void 0 : val.name) !== null && _a !== void 0 ? _a : value; // if we don't know the enum value, just return the number\n}\nfunction writeScalar(type, value, emitIntrinsicDefault) {\n if (value === undefined) {\n return undefined;\n }\n switch (type) {\n // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted.\n case ScalarType.INT32:\n case ScalarType.SFIXED32:\n case ScalarType.SINT32:\n case ScalarType.FIXED32:\n case ScalarType.UINT32:\n assert(typeof value == \"number\");\n return value != 0 || emitIntrinsicDefault ? value : undefined;\n // float, double: JSON value will be a number or one of the special string values \"NaN\", \"Infinity\", and \"-Infinity\".\n // Either numbers or strings are accepted. Exponent notation is also accepted.\n case ScalarType.FLOAT:\n // assertFloat32(value);\n case ScalarType.DOUBLE: // eslint-disable-line no-fallthrough\n assert(typeof value == \"number\");\n if (Number.isNaN(value))\n return \"NaN\";\n if (value === Number.POSITIVE_INFINITY)\n return \"Infinity\";\n if (value === Number.NEGATIVE_INFINITY)\n return \"-Infinity\";\n return value !== 0 || emitIntrinsicDefault ? value : undefined;\n // string:\n case ScalarType.STRING:\n assert(typeof value == \"string\");\n return value.length > 0 || emitIntrinsicDefault ? value : undefined;\n // bool:\n case ScalarType.BOOL:\n assert(typeof value == \"boolean\");\n return value || emitIntrinsicDefault ? value : undefined;\n // JSON value will be a decimal string. Either numbers or strings are accepted.\n case ScalarType.UINT64:\n case ScalarType.FIXED64:\n case ScalarType.INT64:\n case ScalarType.SFIXED64:\n case ScalarType.SINT64:\n assert(typeof value == \"bigint\" ||\n typeof value == \"string\" ||\n typeof value == \"number\");\n // We use implicit conversion with `value != 0` to catch both 0n and \"0\"\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return emitIntrinsicDefault || value != 0\n ? value.toString(10)\n : undefined;\n // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings.\n // Either standard or URL-safe base64 encoding with/without paddings are accepted.\n case ScalarType.BYTES:\n assert(value instanceof Uint8Array);\n return emitIntrinsicDefault || value.byteLength > 0\n ? protoBase64.enc(value)\n : undefined;\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { wrapField } from \"./field-wrapper.js\";\nimport { assert } from \"./assert.js\";\nimport { makeJsonFormatCommon } from \"./json-format-common.js\";\n/* eslint-disable no-case-declarations, @typescript-eslint/restrict-plus-operands,@typescript-eslint/no-explicit-any,@typescript-eslint/no-unsafe-return,@typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-argument */\nexport function makeJsonFormatProto3() {\n return makeJsonFormatCommon((writeEnum, writeScalar) => {\n return function writeField(field, value, options) {\n if (field.kind == \"map\") {\n const jsonObj = {};\n switch (field.V.kind) {\n case \"scalar\":\n for (const [entryKey, entryValue] of Object.entries(value)) {\n const val = writeScalar(field.V.T, entryValue, true);\n assert(val !== undefined);\n jsonObj[entryKey.toString()] = val; // JSON standard allows only (double quoted) string as property key\n }\n break;\n case \"message\":\n for (const [entryKey, entryValue] of Object.entries(value)) {\n // JSON standard allows only (double quoted) string as property key\n jsonObj[entryKey.toString()] = entryValue.toJson(options);\n }\n break;\n case \"enum\":\n const enumType = field.V.T;\n for (const [entryKey, entryValue] of Object.entries(value)) {\n assert(entryValue === undefined || typeof entryValue == \"number\");\n const val = writeEnum(enumType, entryValue, true, options.enumAsInteger);\n assert(val !== undefined);\n jsonObj[entryKey.toString()] = val; // JSON standard allows only (double quoted) string as property key\n }\n break;\n }\n return options.emitDefaultValues || Object.keys(jsonObj).length > 0\n ? jsonObj\n : undefined;\n }\n else if (field.repeated) {\n const jsonArr = [];\n switch (field.kind) {\n case \"scalar\":\n for (let i = 0; i < value.length; i++) {\n jsonArr.push(writeScalar(field.T, value[i], true));\n }\n break;\n case \"enum\":\n for (let i = 0; i < value.length; i++) {\n jsonArr.push(writeEnum(field.T, value[i], true, options.enumAsInteger));\n }\n break;\n case \"message\":\n for (let i = 0; i < value.length; i++) {\n jsonArr.push(wrapField(field.T, value[i]).toJson(options));\n }\n break;\n }\n return options.emitDefaultValues || jsonArr.length > 0\n ? jsonArr\n : undefined;\n }\n else {\n switch (field.kind) {\n case \"scalar\":\n return writeScalar(field.T, value, !!field.oneof || field.opt || options.emitDefaultValues);\n case \"enum\":\n return writeEnum(field.T, value, !!field.oneof || field.opt || options.emitDefaultValues, options.enumAsInteger);\n case \"message\":\n return value !== undefined\n ? wrapField(field.T, value).toJson(options)\n : undefined;\n }\n }\n };\n });\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { setEnumType } from \"./enum.js\";\nimport { Message } from \"../message.js\";\nimport { ScalarType } from \"../field.js\";\nimport { scalarEquals } from \"./scalars.js\";\n/* eslint-disable @typescript-eslint/no-explicit-any,@typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-return,@typescript-eslint/no-unsafe-argument,no-case-declarations */\nexport function makeUtilCommon() {\n return {\n setEnumType,\n initPartial(source, target) {\n if (source === undefined) {\n return;\n }\n const type = target.getType();\n for (const member of type.fields.byMember()) {\n const localName = member.localName, t = target, s = source;\n if (s[localName] === undefined) {\n continue;\n }\n switch (member.kind) {\n case \"oneof\":\n const sk = s[localName].case;\n if (sk === undefined) {\n continue;\n }\n const sourceField = member.findField(sk);\n let val = s[localName].value;\n if (sourceField &&\n sourceField.kind == \"message\" &&\n !(val instanceof sourceField.T)) {\n val = new sourceField.T(val);\n }\n else if (sourceField &&\n sourceField.kind === \"scalar\" &&\n sourceField.T === ScalarType.BYTES) {\n val = toU8Arr(val);\n }\n t[localName] = { case: sk, value: val };\n break;\n case \"scalar\":\n case \"enum\":\n let copy = s[localName];\n if (member.T === ScalarType.BYTES) {\n copy = member.repeated\n ? copy.map(toU8Arr)\n : toU8Arr(copy);\n }\n t[localName] = copy;\n break;\n case \"map\":\n switch (member.V.kind) {\n case \"scalar\":\n case \"enum\":\n if (member.V.T === ScalarType.BYTES) {\n for (const [k, v] of Object.entries(s[localName])) {\n t[localName][k] = toU8Arr(v);\n }\n }\n else {\n Object.assign(t[localName], s[localName]);\n }\n break;\n case \"message\":\n const messageType = member.V.T;\n for (const k of Object.keys(s[localName])) {\n let val = s[localName][k];\n if (!messageType.fieldWrapper) {\n // We only take partial input for messages that are not a wrapper type.\n // For those messages, we recursively normalize the partial input.\n val = new messageType(val);\n }\n t[localName][k] = val;\n }\n break;\n }\n break;\n case \"message\":\n const mt = member.T;\n if (member.repeated) {\n t[localName] = s[localName].map((val) => val instanceof mt ? val : new mt(val));\n }\n else if (s[localName] !== undefined) {\n const val = s[localName];\n if (mt.fieldWrapper) {\n if (\n // We can't use BytesValue.typeName as that will create a circular import\n mt.typeName === \"google.protobuf.BytesValue\") {\n t[localName] = toU8Arr(val);\n }\n else {\n t[localName] = val;\n }\n }\n else {\n t[localName] = val instanceof mt ? val : new mt(val);\n }\n }\n break;\n }\n }\n },\n equals(type, a, b) {\n if (a === b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n return type.fields.byMember().every((m) => {\n const va = a[m.localName];\n const vb = b[m.localName];\n if (m.repeated) {\n if (va.length !== vb.length) {\n return false;\n }\n // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check -- repeated fields are never \"map\"\n switch (m.kind) {\n case \"message\":\n return va.every((a, i) => m.T.equals(a, vb[i]));\n case \"scalar\":\n return va.every((a, i) => scalarEquals(m.T, a, vb[i]));\n case \"enum\":\n return va.every((a, i) => scalarEquals(ScalarType.INT32, a, vb[i]));\n }\n throw new Error(`repeated cannot contain ${m.kind}`);\n }\n switch (m.kind) {\n case \"message\":\n return m.T.equals(va, vb);\n case \"enum\":\n return scalarEquals(ScalarType.INT32, va, vb);\n case \"scalar\":\n return scalarEquals(m.T, va, vb);\n case \"oneof\":\n if (va.case !== vb.case) {\n return false;\n }\n const s = m.findField(va.case);\n if (s === undefined) {\n return true;\n }\n // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check -- oneof fields are never \"map\"\n switch (s.kind) {\n case \"message\":\n return s.T.equals(va.value, vb.value);\n case \"enum\":\n return scalarEquals(ScalarType.INT32, va.value, vb.value);\n case \"scalar\":\n return scalarEquals(s.T, va.value, vb.value);\n }\n throw new Error(`oneof cannot contain ${s.kind}`);\n case \"map\":\n const keys = Object.keys(va).concat(Object.keys(vb));\n switch (m.V.kind) {\n case \"message\":\n const messageType = m.V.T;\n return keys.every((k) => messageType.equals(va[k], vb[k]));\n case \"enum\":\n return keys.every((k) => scalarEquals(ScalarType.INT32, va[k], vb[k]));\n case \"scalar\":\n const scalarType = m.V.T;\n return keys.every((k) => scalarEquals(scalarType, va[k], vb[k]));\n }\n break;\n }\n });\n },\n clone(message) {\n const type = message.getType(), target = new type(), any = target;\n for (const member of type.fields.byMember()) {\n const source = message[member.localName];\n let copy;\n if (member.repeated) {\n copy = source.map(cloneSingularField);\n }\n else if (member.kind == \"map\") {\n copy = any[member.localName];\n for (const [key, v] of Object.entries(source)) {\n copy[key] = cloneSingularField(v);\n }\n }\n else if (member.kind == \"oneof\") {\n const f = member.findField(source.case);\n copy = f\n ? { case: source.case, value: cloneSingularField(source.value) }\n : { case: undefined };\n }\n else {\n copy = cloneSingularField(source);\n }\n any[member.localName] = copy;\n }\n return target;\n },\n };\n}\n// clone a single field value - i.e. the element type of repeated fields, the value type of maps\nfunction cloneSingularField(value) {\n if (value === undefined) {\n return value;\n }\n if (value instanceof Message) {\n return value.clone();\n }\n if (value instanceof Uint8Array) {\n const c = new Uint8Array(value.byteLength);\n c.set(value);\n return c;\n }\n return value;\n}\n// converts any ArrayLike to Uint8Array if necessary.\nfunction toU8Arr(input) {\n return input instanceof Uint8Array ? input : new Uint8Array(input);\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nexport class InternalFieldList {\n constructor(fields, normalizer) {\n this._fields = fields;\n this._normalizer = normalizer;\n }\n findJsonName(jsonName) {\n if (!this.jsonNames) {\n const t = {};\n for (const f of this.list()) {\n t[f.jsonName] = t[f.name] = f;\n }\n this.jsonNames = t;\n }\n return this.jsonNames[jsonName];\n }\n find(fieldNo) {\n if (!this.numbers) {\n const t = {};\n for (const f of this.list()) {\n t[f.no] = f;\n }\n this.numbers = t;\n }\n return this.numbers[fieldNo];\n }\n list() {\n if (!this.all) {\n this.all = this._normalizer(this._fields);\n }\n return this.all;\n }\n byNumber() {\n if (!this.numbersAsc) {\n this.numbersAsc = this.list()\n .concat()\n .sort((a, b) => a.no - b.no);\n }\n return this.numbersAsc;\n }\n byMember() {\n if (!this.members) {\n this.members = [];\n const a = this.members;\n let o;\n for (const f of this.list()) {\n if (f.oneof) {\n if (f.oneof !== o) {\n o = f.oneof;\n a.push(o);\n }\n }\n else {\n a.push(f);\n }\n }\n }\n return this.members;\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * Returns the name of a protobuf element in generated code.\n *\n * Field names - including oneofs - are converted to lowerCamelCase. For\n * messages, enumerations and services, the package name is stripped from\n * the type name. For nested messages and enumerations, the names are joined\n * with an underscore. For methods, the first character is made lowercase.\n */\nexport function localName(desc) {\n switch (desc.kind) {\n case \"field\":\n return localFieldName(desc.name, desc.oneof !== undefined);\n case \"oneof\":\n return localOneofName(desc.name);\n case \"enum\":\n case \"message\":\n case \"service\": {\n const pkg = desc.file.proto.package;\n const offset = pkg === undefined ? 0 : pkg.length + 1;\n const name = desc.typeName.substring(offset).replace(/\\./g, \"_\");\n // For services, we only care about safe identifiers, not safe object properties,\n // but we have shipped v1 with a bug that respected object properties, and we\n // do not want to introduce a breaking change, so we continue to escape for\n // safe object properties.\n // See https://github.com/bufbuild/protobuf-es/pull/391\n return safeObjectProperty(safeIdentifier(name));\n }\n case \"enum_value\": {\n const sharedPrefix = desc.parent.sharedPrefix;\n if (sharedPrefix === undefined) {\n return desc.name;\n }\n const name = desc.name.substring(sharedPrefix.length);\n return safeObjectProperty(name);\n }\n case \"rpc\": {\n let name = desc.name;\n if (name.length == 0) {\n return name;\n }\n name = name[0].toLowerCase() + name.substring(1);\n return safeObjectProperty(name);\n }\n }\n}\n/**\n * Returns the name of a field in generated code.\n */\nexport function localFieldName(protoName, inOneof) {\n const name = protoCamelCase(protoName);\n if (inOneof) {\n // oneof member names are not properties, but values of the `case` property.\n return name;\n }\n return safeObjectProperty(safeMessageProperty(name));\n}\n/**\n * Returns the name of a oneof group in generated code.\n */\nexport function localOneofName(protoName) {\n return localFieldName(protoName, false);\n}\n/**\n * Returns the JSON name for a protobuf field, exactly like protoc does.\n */\nexport const fieldJsonName = protoCamelCase;\n/**\n * Finds a prefix shared by enum values, for example `MY_ENUM_` for\n * `enum MyEnum {MY_ENUM_A=0; MY_ENUM_B=1;}`.\n */\nexport function findEnumSharedPrefix(enumName, valueNames) {\n const prefix = camelToSnakeCase(enumName) + \"_\";\n for (const name of valueNames) {\n if (!name.toLowerCase().startsWith(prefix)) {\n return undefined;\n }\n const shortName = name.substring(prefix.length);\n if (shortName.length == 0) {\n return undefined;\n }\n if (/^\\d/.test(shortName)) {\n // identifiers must not start with numbers\n return undefined;\n }\n }\n return prefix;\n}\n/**\n * Converts lowerCamelCase or UpperCamelCase into lower_snake_case.\n * This is used to find shared prefixes in an enum.\n */\nfunction camelToSnakeCase(camel) {\n return (camel.substring(0, 1) + camel.substring(1).replace(/[A-Z]/g, (c) => \"_\" + c)).toLowerCase();\n}\n/**\n * Converts snake_case to protoCamelCase according to the convention\n * used by protoc to convert a field name to a JSON name.\n */\nfunction protoCamelCase(snakeCase) {\n let capNext = false;\n const b = [];\n for (let i = 0; i < snakeCase.length; i++) {\n let c = snakeCase.charAt(i);\n switch (c) {\n case \"_\":\n capNext = true;\n break;\n case \"0\":\n case \"1\":\n case \"2\":\n case \"3\":\n case \"4\":\n case \"5\":\n case \"6\":\n case \"7\":\n case \"8\":\n case \"9\":\n b.push(c);\n capNext = false;\n break;\n default:\n if (capNext) {\n capNext = false;\n c = c.toUpperCase();\n }\n b.push(c);\n break;\n }\n }\n return b.join(\"\");\n}\n/**\n * Names that cannot be used for identifiers, such as class names,\n * but _can_ be used for object properties.\n */\nconst reservedIdentifiers = new Set([\n // ECMAScript 2015 keywords\n \"break\",\n \"case\",\n \"catch\",\n \"class\",\n \"const\",\n \"continue\",\n \"debugger\",\n \"default\",\n \"delete\",\n \"do\",\n \"else\",\n \"export\",\n \"extends\",\n \"false\",\n \"finally\",\n \"for\",\n \"function\",\n \"if\",\n \"import\",\n \"in\",\n \"instanceof\",\n \"new\",\n \"null\",\n \"return\",\n \"super\",\n \"switch\",\n \"this\",\n \"throw\",\n \"true\",\n \"try\",\n \"typeof\",\n \"var\",\n \"void\",\n \"while\",\n \"with\",\n \"yield\",\n // ECMAScript 2015 future reserved keywords\n \"enum\",\n \"implements\",\n \"interface\",\n \"let\",\n \"package\",\n \"private\",\n \"protected\",\n \"public\",\n \"static\",\n // Class name cannot be 'Object' when targeting ES5 with module CommonJS\n \"Object\",\n // TypeScript keywords that cannot be used for types (as opposed to variables)\n \"bigint\",\n \"number\",\n \"boolean\",\n \"string\",\n \"object\",\n // Identifiers reserved for the runtime, so we can generate legible code\n \"globalThis\",\n \"Uint8Array\",\n \"Partial\",\n]);\n/**\n * Names that cannot be used for object properties because they are reserved\n * by built-in JavaScript properties.\n */\nconst reservedObjectProperties = new Set([\n // names reserved by JavaScript\n \"constructor\",\n \"toString\",\n \"toJSON\",\n \"valueOf\",\n]);\n/**\n * Names that cannot be used for object properties because they are reserved\n * by the runtime.\n */\nconst reservedMessageProperties = new Set([\n // names reserved by the runtime\n \"getType\",\n \"clone\",\n \"equals\",\n \"fromBinary\",\n \"fromJson\",\n \"fromJsonString\",\n \"toBinary\",\n \"toJson\",\n \"toJsonString\",\n // names reserved by the runtime for the future\n \"toObject\",\n]);\nconst fallback = (name) => `${name}$`;\n/**\n * Will wrap names that are Object prototype properties or names reserved\n * for `Message`s.\n */\nconst safeMessageProperty = (name) => {\n if (reservedMessageProperties.has(name)) {\n return fallback(name);\n }\n return name;\n};\n/**\n * Names that cannot be used for object properties because they are reserved\n * by built-in JavaScript properties.\n */\nexport const safeObjectProperty = (name) => {\n if (reservedObjectProperties.has(name)) {\n return fallback(name);\n }\n return name;\n};\n/**\n * Names that can be used for identifiers or class properties\n */\nexport const safeIdentifier = (name) => {\n if (reservedIdentifiers.has(name)) {\n return fallback(name);\n }\n return name;\n};\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { localOneofName } from \"./names.js\";\nimport { assert } from \"./assert.js\";\nexport class InternalOneofInfo {\n constructor(name) {\n this.kind = \"oneof\";\n this.repeated = false;\n this.packed = false;\n this.opt = false;\n this.default = undefined;\n this.fields = [];\n this.name = name;\n this.localName = localOneofName(name);\n }\n addField(field) {\n assert(field.oneof === this, `field ${field.name} not one of ${this.name}`);\n this.fields.push(field);\n }\n findField(localName) {\n if (!this._lookup) {\n this._lookup = Object.create(null);\n for (let i = 0; i < this.fields.length; i++) {\n this._lookup[this.fields[i].localName] = this.fields[i];\n }\n }\n return this._lookup[localName];\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { makeProtoRuntime } from \"./private/proto-runtime.js\";\nimport { makeBinaryFormatProto3 } from \"./private/binary-format-proto3.js\";\nimport { makeJsonFormatProto3 } from \"./private/json-format-proto3.js\";\nimport { makeUtilCommon } from \"./private/util-common.js\";\nimport { InternalFieldList } from \"./private/field-list.js\";\nimport { scalarDefaultValue } from \"./private/scalars.js\";\nimport { ScalarType } from \"./field.js\";\nimport { InternalOneofInfo } from \"./private/field.js\";\nimport { localFieldName, fieldJsonName } from \"./private/names.js\";\n/**\n * Provides functionality for messages defined with the proto3 syntax.\n */\nexport const proto3 = makeProtoRuntime(\"proto3\", makeJsonFormatProto3(), makeBinaryFormatProto3(), Object.assign(Object.assign({}, makeUtilCommon()), { newFieldList(fields) {\n return new InternalFieldList(fields, normalizeFieldInfosProto3);\n },\n initFields(target) {\n for (const member of target.getType().fields.byMember()) {\n if (member.opt) {\n continue;\n }\n const name = member.localName, t = target;\n if (member.repeated) {\n t[name] = [];\n continue;\n }\n switch (member.kind) {\n case \"oneof\":\n t[name] = { case: undefined };\n break;\n case \"enum\":\n t[name] = 0;\n break;\n case \"map\":\n t[name] = {};\n break;\n case \"scalar\":\n t[name] = scalarDefaultValue(member.T); // eslint-disable-line @typescript-eslint/no-unsafe-assignment\n break;\n case \"message\":\n // message fields are always optional in proto3\n break;\n }\n }\n } }));\n/* eslint-disable @typescript-eslint/no-explicit-any,@typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-argument */\nfunction normalizeFieldInfosProto3(fieldInfos) {\n var _a, _b, _c;\n const r = [];\n let o;\n for (const field of typeof fieldInfos == \"function\"\n ? fieldInfos()\n : fieldInfos) {\n const f = field;\n f.localName = localFieldName(field.name, field.oneof !== undefined);\n f.jsonName = (_a = field.jsonName) !== null && _a !== void 0 ? _a : fieldJsonName(field.name);\n f.repeated = (_b = field.repeated) !== null && _b !== void 0 ? _b : false;\n // From the proto3 language guide:\n // > In proto3, repeated fields of scalar numeric types are packed by default.\n // This information is incomplete - according to the conformance tests, BOOL\n // and ENUM are packed by default as well. This means only STRING and BYTES\n // are not packed by default, which makes sense because they are length-delimited.\n f.packed =\n (_c = field.packed) !== null && _c !== void 0 ? _c : (field.kind == \"enum\" ||\n (field.kind == \"scalar\" &&\n field.T != ScalarType.BYTES &&\n field.T != ScalarType.STRING));\n // We do not surface options at this time\n // f.options = field.options ?? emptyReadonlyObject;\n if (field.oneof !== undefined) {\n const ooname = typeof field.oneof == \"string\" ? field.oneof : field.oneof.name;\n if (!o || o.name != ooname) {\n o = new InternalOneofInfo(ooname);\n }\n f.oneof = o;\n o.addField(f);\n }\n r.push(f);\n }\n return r;\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * MethodKind represents the four method types that can be declared in\n * protobuf with the `stream` keyword:\n *\n * 1. Unary: rpc (Input) returns (Output)\n * 2. ServerStreaming: rpc (Input) returns (stream Output)\n * 3. ClientStreaming: rpc (stream Input) returns (Output)\n * 4. BiDiStreaming: rpc (stream Input) returns (stream Output)\n */\nexport var MethodKind;\n(function (MethodKind) {\n MethodKind[MethodKind[\"Unary\"] = 0] = \"Unary\";\n MethodKind[MethodKind[\"ServerStreaming\"] = 1] = \"ServerStreaming\";\n MethodKind[MethodKind[\"ClientStreaming\"] = 2] = \"ClientStreaming\";\n MethodKind[MethodKind[\"BiDiStreaming\"] = 3] = \"BiDiStreaming\";\n})(MethodKind || (MethodKind = {}));\n/**\n * Is this method side-effect-free (or safe in HTTP parlance), or just\n * idempotent, or neither? HTTP based RPC implementation may choose GET verb\n * for safe methods, and PUT verb for idempotent methods instead of the\n * default POST.\n *\n * This enum matches the protobuf enum google.protobuf.MethodOptions.IdempotencyLevel,\n * defined in the well-known type google/protobuf/descriptor.proto, but\n * drops UNKNOWN.\n */\nexport var MethodIdempotency;\n(function (MethodIdempotency) {\n /**\n * Idempotent, no side effects.\n */\n MethodIdempotency[MethodIdempotency[\"NoSideEffects\"] = 1] = \"NoSideEffects\";\n /**\n * Idempotent, but may have side effects.\n */\n MethodIdempotency[MethodIdempotency[\"Idempotent\"] = 2] = \"Idempotent\";\n})(MethodIdempotency || (MethodIdempotency = {}));\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Message } from \"../../message.js\";\nimport { proto3 } from \"../../proto3.js\";\n/**\n * A generic empty message that you can re-use to avoid defining duplicated\n * empty messages in your APIs. A typical example is to use it as the request\n * or the response type of an API method. For instance:\n *\n * service Foo {\n * rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n * }\n *\n *\n * @generated from message google.protobuf.Empty\n */\nexport class Empty extends Message {\n constructor(data) {\n super();\n proto3.util.initPartial(data, this);\n }\n static fromBinary(bytes, options) {\n return new Empty().fromBinary(bytes, options);\n }\n static fromJson(jsonValue, options) {\n return new Empty().fromJson(jsonValue, options);\n }\n static fromJsonString(jsonString, options) {\n return new Empty().fromJsonString(jsonString, options);\n }\n static equals(a, b) {\n return proto3.util.equals(Empty, a, b);\n }\n}\nEmpty.runtime = proto3;\nEmpty.typeName = \"google.protobuf.Empty\";\nEmpty.fields = proto3.util.newFieldList(() => []);\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * Connect represents categories of errors as codes, and each code maps to a\n * specific HTTP status code. The codes and their semantics were chosen to\n * match gRPC. Only the codes below are valid \u2014 there are no user-defined\n * codes.\n *\n * See the specification at https://connectrpc.com/docs/protocol#error-codes\n * for details.\n */\nexport var Code;\n(function (Code) {\n /**\n * Canceled, usually be the user\n */\n Code[Code[\"Canceled\"] = 1] = \"Canceled\";\n /**\n * Unknown error\n */\n Code[Code[\"Unknown\"] = 2] = \"Unknown\";\n /**\n * Argument invalid regardless of system state\n */\n Code[Code[\"InvalidArgument\"] = 3] = \"InvalidArgument\";\n /**\n * Operation expired, may or may not have completed.\n */\n Code[Code[\"DeadlineExceeded\"] = 4] = \"DeadlineExceeded\";\n /**\n * Entity not found.\n */\n Code[Code[\"NotFound\"] = 5] = \"NotFound\";\n /**\n * Entity already exists.\n */\n Code[Code[\"AlreadyExists\"] = 6] = \"AlreadyExists\";\n /**\n * Operation not authorized.\n */\n Code[Code[\"PermissionDenied\"] = 7] = \"PermissionDenied\";\n /**\n * Quota exhausted.\n */\n Code[Code[\"ResourceExhausted\"] = 8] = \"ResourceExhausted\";\n /**\n * Argument invalid in current system state.\n */\n Code[Code[\"FailedPrecondition\"] = 9] = \"FailedPrecondition\";\n /**\n * Operation aborted.\n */\n Code[Code[\"Aborted\"] = 10] = \"Aborted\";\n /**\n * Out of bounds, use instead of FailedPrecondition.\n */\n Code[Code[\"OutOfRange\"] = 11] = \"OutOfRange\";\n /**\n * Operation not implemented or disabled.\n */\n Code[Code[\"Unimplemented\"] = 12] = \"Unimplemented\";\n /**\n * Internal error, reserved for \"serious errors\".\n */\n Code[Code[\"Internal\"] = 13] = \"Internal\";\n /**\n * Unavailable, client should back off and retry.\n */\n Code[Code[\"Unavailable\"] = 14] = \"Unavailable\";\n /**\n * Unrecoverable data loss or corruption.\n */\n Code[Code[\"DataLoss\"] = 15] = \"DataLoss\";\n /**\n * Request isn't authenticated.\n */\n Code[Code[\"Unauthenticated\"] = 16] = \"Unauthenticated\";\n})(Code || (Code = {}));\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Code } from \"../code.js\";\n/**\n * codeToString returns the string representation of a Code.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function codeToString(value) {\n const name = Code[value];\n if (typeof name != \"string\") {\n return value.toString();\n }\n return (name[0].toLowerCase() +\n name.substring(1).replace(/[A-Z]/g, (c) => \"_\" + c.toLowerCase()));\n}\nlet stringToCode;\n/**\n * codeFromString parses the string representation of a Code in snake_case.\n * For example, the string \"permission_denied\" parses into Code.PermissionDenied.\n *\n * If the given string cannot be parsed, the function returns undefined.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function codeFromString(value) {\n if (!stringToCode) {\n stringToCode = {};\n for (const value of Object.values(Code)) {\n if (typeof value == \"string\") {\n continue;\n }\n stringToCode[codeToString(value)] = value;\n }\n }\n return stringToCode[value];\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Code } from \"./code.js\";\nimport { createRegistry, Message } from \"@bufbuild/protobuf\";\nimport { codeToString } from \"./protocol-connect/code-string.js\";\n/**\n * ConnectError captures four pieces of information: a Code, an error\n * message, an optional cause of the error, and an optional collection of\n * arbitrary Protobuf messages called \"details\".\n *\n * Because developer tools typically show just the error message, we prefix\n * it with the status code, so that the most important information is always\n * visible immediately.\n *\n * Error details are wrapped with google.protobuf.Any on the wire, so that\n * a server or middleware can attach arbitrary data to an error. Use the\n * method findDetails() to retrieve the details.\n */\nexport class ConnectError extends Error {\n /**\n * Create a new ConnectError.\n * If no code is provided, code \"unknown\" is used.\n * Outgoing details are only relevant for the server side - a service may\n * raise an error with details, and it is up to the protocol implementation\n * to encode and send the details along with error.\n */\n constructor(message, code = Code.Unknown, metadata, outgoingDetails, cause) {\n super(createMessage(message, code));\n this.name = \"ConnectError\";\n // see https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-2.html#example\n Object.setPrototypeOf(this, new.target.prototype);\n this.rawMessage = message;\n this.code = code;\n this.metadata = new Headers(metadata !== null && metadata !== void 0 ? metadata : {});\n this.details = outgoingDetails !== null && outgoingDetails !== void 0 ? outgoingDetails : [];\n this.cause = cause;\n }\n /**\n * Convert any value - typically a caught error into a ConnectError,\n * following these rules:\n * - If the value is already a ConnectError, return it as is.\n * - If the value is an AbortError from the fetch API, return the message\n * of the AbortError with code Canceled.\n * - For other Errors, return the error message with code Unknown by default.\n * - For other values, return the values String representation as a message,\n * with the code Unknown by default.\n * The original value will be used for the \"cause\" property for the new\n * ConnectError.\n */\n static from(reason, code = Code.Unknown) {\n if (reason instanceof ConnectError) {\n return reason;\n }\n if (reason instanceof Error) {\n if (reason.name == \"AbortError\") {\n // Fetch requests can only be canceled with an AbortController.\n // We detect that condition by looking at the name of the raised\n // error object, and translate to the appropriate status code.\n return new ConnectError(reason.message, Code.Canceled);\n }\n return new ConnectError(reason.message, code, undefined, undefined, reason);\n }\n return new ConnectError(String(reason), code, undefined, undefined, reason);\n }\n findDetails(typeOrRegistry) {\n const registry = \"typeName\" in typeOrRegistry\n ? {\n findMessage: (typeName) => typeName === typeOrRegistry.typeName ? typeOrRegistry : undefined,\n }\n : typeOrRegistry;\n const details = [];\n for (const data of this.details) {\n if (data instanceof Message) {\n if (registry.findMessage(data.getType().typeName)) {\n details.push(data);\n }\n continue;\n }\n const type = registry.findMessage(data.type);\n if (type) {\n try {\n details.push(type.fromBinary(data.value));\n }\n catch (_) {\n // We silently give up if we are unable to parse the detail, because\n // that appears to be the least worst behavior.\n // It is very unlikely that a user surrounds a catch body handling the\n // error with another try-catch statement, and we do not want to\n // recommend doing so.\n }\n }\n }\n return details;\n }\n}\n/**\n * @deprecated use ConnectError.findDetails() instead\n */\nexport function connectErrorDetails(error, typeOrRegistry, ...moreTypes) {\n const types = \"typeName\" in typeOrRegistry ? [typeOrRegistry, ...moreTypes] : [];\n const registry = \"typeName\" in typeOrRegistry ? createRegistry(...types) : typeOrRegistry;\n const details = [];\n for (const data of error.details) {\n if (data instanceof Message) {\n if (registry.findMessage(data.getType().typeName)) {\n details.push(data);\n }\n continue;\n }\n const type = registry.findMessage(data.type);\n if (type) {\n try {\n details.push(type.fromBinary(data.value));\n }\n catch (_) {\n // We silently give up if we are unable to parse the detail, because\n // that appears to be the least worst behavior.\n // It is very unlikely that a user surrounds a catch body handling the\n // error with another try-catch statement, and we do not want to\n // recommend doing so.\n }\n }\n }\n return details;\n}\n/**\n * Create an error message, prefixing the given code.\n */\nfunction createMessage(message, code) {\n return message.length\n ? `[${codeToString(code)}] ${message}`\n : `[${codeToString(code)}]`;\n}\n/**\n * Convert any value - typically a caught error into a ConnectError,\n * following these rules:\n * - If the value is already a ConnectError, return it as is.\n * - If the value is an AbortError from the fetch API, return the message\n * of the AbortError with code Canceled.\n * - For other Errors, return the error message with code Unknown by default.\n * - For other values, return the values String representation as a message,\n * with the code Unknown by default.\n *\n * @deprecated use ConnectError.from() instead\n */\nexport function connectErrorFromReason(reason, code = Code.Unknown) {\n if (reason instanceof ConnectError) {\n return reason;\n }\n if (reason instanceof Error) {\n if (reason.name == \"AbortError\") {\n // Fetch requests can only be canceled with an AbortController.\n // We detect that condition by looking at the name of the raised\n // error object, and translate to the appropriate status code.\n return new ConnectError(reason.message, Code.Canceled);\n }\n return new ConnectError(reason.message, code);\n }\n return new ConnectError(String(reason), code);\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Message, protoBase64 } from \"@bufbuild/protobuf\";\nimport { ConnectError } from \"./connect-error.js\";\nimport { Code } from \"./code.js\";\n/**\n * Encode a single binary header value according to the Connect\n * and gRPC specifications.\n *\n * This function accepts raw binary data from a buffer, a string\n * with UTF-8 text, or a protobuf message. It encodes the input\n * with unpadded base64 and returns a string that can be used for\n * a header whose name ends with `-bin`.\n */\nexport function encodeBinaryHeader(value) {\n let bytes;\n if (value instanceof Message) {\n bytes = value.toBinary();\n }\n else if (typeof value == \"string\") {\n bytes = new TextEncoder().encode(value);\n }\n else {\n bytes = value instanceof Uint8Array ? value : new Uint8Array(value);\n }\n return protoBase64.enc(bytes).replace(/=+$/, \"\");\n}\nexport function decodeBinaryHeader(value, type, options) {\n try {\n const bytes = protoBase64.dec(value);\n if (type) {\n return type.fromBinary(bytes, options);\n }\n return bytes;\n }\n catch (e) {\n throw ConnectError.from(e, Code.DataLoss);\n }\n}\n/**\n * Merge two or more Headers objects by appending all fields from\n * all inputs to a new Headers object.\n */\nexport function appendHeaders(...headers) {\n const h = new Headers();\n for (const e of headers) {\n e.forEach((value, key) => {\n h.append(key, value);\n });\n }\n return h;\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * Create any client for the given service.\n *\n * The given createMethod function is called for each method definition\n * of the service. The function it returns is added to the client object\n * as a method.\n */\nexport function makeAnyClient(service, createMethod) {\n const client = {};\n for (const [localName, methodInfo] of Object.entries(service.methods)) {\n const method = createMethod(Object.assign(Object.assign({}, methodInfo), { localName,\n service }));\n if (method != null) {\n client[localName] = method;\n }\n }\n return client;\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { ConnectError } from \"../connect-error.js\";\nimport { Code } from \"../code.js\";\nimport { compressedFlag } from \"./compression.js\";\n/**\n * Create a WHATWG ReadableStream of enveloped messages from a ReadableStream\n * of bytes.\n *\n * Ideally, this would simply be a TransformStream, but ReadableStream.pipeThrough\n * does not have the necessary availability at this time.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function createEnvelopeReadableStream(stream) {\n let reader;\n let buffer = new Uint8Array(0);\n function append(chunk) {\n const n = new Uint8Array(buffer.length + chunk.length);\n n.set(buffer);\n n.set(chunk, buffer.length);\n buffer = n;\n }\n return new ReadableStream({\n start() {\n reader = stream.getReader();\n },\n async pull(controller) {\n let header = undefined;\n for (;;) {\n if (header === undefined && buffer.byteLength >= 5) {\n let length = 0;\n for (let i = 1; i < 5; i++) {\n length = (length << 8) + buffer[i];\n }\n header = { flags: buffer[0], length };\n }\n if (header !== undefined && buffer.byteLength >= header.length + 5) {\n break;\n }\n const result = await reader.read();\n if (result.done) {\n break;\n }\n append(result.value);\n }\n if (header === undefined) {\n if (buffer.byteLength == 0) {\n controller.close();\n return;\n }\n controller.error(new ConnectError(\"premature end of stream\", Code.DataLoss));\n return;\n }\n const data = buffer.subarray(5, 5 + header.length);\n buffer = buffer.subarray(5 + header.length);\n controller.enqueue({\n flags: header.flags,\n data,\n });\n },\n });\n}\n/**\n * Compress an EnvelopedMessage.\n *\n * Raises Internal if an enveloped message is already compressed.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport async function envelopeCompress(envelope, compression, compressMinBytes) {\n let { flags, data } = envelope;\n if ((flags & compressedFlag) === compressedFlag) {\n throw new ConnectError(\"invalid envelope, already compressed\", Code.Internal);\n }\n if (compression && data.byteLength >= compressMinBytes) {\n data = await compression.compress(data);\n flags = flags | compressedFlag;\n }\n return { data, flags };\n}\n/**\n * Decompress an EnvelopedMessage.\n *\n * Raises InvalidArgument if an envelope is compressed, but compression is null.\n *\n * Relies on the provided Compression to raise ResourceExhausted if the\n * *decompressed* message size is larger than readMaxBytes. If the envelope is\n * not compressed, readMaxBytes is not honored.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport async function envelopeDecompress(envelope, compression, readMaxBytes) {\n let { flags, data } = envelope;\n if ((flags & compressedFlag) === compressedFlag) {\n if (!compression) {\n throw new ConnectError(\"received compressed envelope, but do not know how to decompress\", Code.InvalidArgument);\n }\n data = await compression.decompress(data, readMaxBytes);\n flags = flags ^ compressedFlag;\n }\n return { data, flags };\n}\n/**\n * Encode a single enveloped message.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function encodeEnvelope(flags, data) {\n const bytes = new Uint8Array(data.length + 5);\n bytes.set(data, 5);\n const v = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\n v.setUint8(0, flags); // first byte is flags\n v.setUint32(1, data.length); // 4 bytes message length\n return bytes;\n}\n/**\n * Encode a set of enveloped messages.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function encodeEnvelopes(...envelopes) {\n const len = envelopes.reduce((previousValue, currentValue) => previousValue + currentValue.data.length + 5, 0);\n const bytes = new Uint8Array(len);\n const v = new DataView(bytes.buffer);\n let offset = 0;\n for (const e of envelopes) {\n v.setUint8(offset, e.flags); // first byte is flags\n v.setUint32(offset + 1, e.data.length); // 4 bytes message length\n bytes.set(e.data, offset + 5);\n offset += e.data.length + 5;\n }\n return bytes;\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nvar __asyncValues = (this && this.__asyncValues) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nvar __asyncDelegator = (this && this.__asyncDelegator) || function (o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n};\nimport { Code } from \"../code.js\";\nimport { ConnectError } from \"../connect-error.js\";\nimport { encodeEnvelope, envelopeCompress, envelopeDecompress, } from \"./envelope.js\";\nimport { assertReadMaxBytes } from \"./limit-io.js\";\nexport function pipeTo(source, ...rest) {\n const [transforms, sink, opt] = pickTransformsAndSink(rest);\n let iterable = source;\n let abortable;\n if ((opt === null || opt === void 0 ? void 0 : opt.propagateDownStreamError) === true) {\n iterable = abortable = makeIterableAbortable(iterable);\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n iterable = pipe(iterable, ...transforms, { propagateDownStreamError: false });\n return sink(iterable).catch((reason) => {\n if (abortable) {\n return abortable.abort(reason).then(() => Promise.reject(reason));\n }\n return Promise.reject(reason);\n });\n}\n// pick transforms, the sink, and options from the pipeTo() rest parameter\nfunction pickTransformsAndSink(rest) {\n let opt;\n if (typeof rest[rest.length - 1] != \"function\") {\n opt = rest.pop();\n }\n const sink = rest.pop();\n return [rest, sink, opt];\n}\n/**\n * Creates an AsyncIterableSink that concatenates all elements from the input.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function sinkAll() {\n return async function (iterable) {\n var _a, e_1, _b, _c;\n const all = [];\n try {\n for (var _d = true, iterable_1 = __asyncValues(iterable), iterable_1_1; iterable_1_1 = await iterable_1.next(), _a = iterable_1_1.done, !_a; _d = true) {\n _c = iterable_1_1.value;\n _d = false;\n const chunk = _c;\n all.push(chunk);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_1.return)) await _b.call(iterable_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return all;\n };\n}\n/**\n * Creates an AsyncIterableSink that concatenates all chunks from the input into\n * a single Uint8Array.\n *\n * The iterable raises an error if the more than readMaxBytes are read.\n *\n * An optional length hint can be provided to optimize allocation and validation.\n * If more or less bytes are present in the source that the length hint indicates,\n * and error is raised.\n * If the length hint is larger than readMaxBytes, an error is raised.\n * If the length hint is not a positive integer, it is ignored.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function sinkAllBytes(readMaxBytes, lengthHint) {\n return async function (iterable) {\n return await readAllBytes(iterable, readMaxBytes, lengthHint);\n };\n}\nexport function pipe(source, ...rest) {\n var _a, _b;\n return __asyncGenerator(this, arguments, function* pipe_1() {\n const [transforms, opt] = pickTransforms(rest);\n let abortable;\n let iterable = source;\n if ((opt === null || opt === void 0 ? void 0 : opt.propagateDownStreamError) === true) {\n iterable = abortable = makeIterableAbortable(iterable);\n }\n for (const t of transforms) {\n iterable = t(iterable);\n }\n const it = iterable[Symbol.asyncIterator]();\n try {\n for (;;) {\n const r = yield __await(it.next());\n if (r.done === true) {\n break;\n }\n if (!abortable) {\n yield yield __await(r.value);\n continue;\n }\n try {\n yield yield __await(r.value);\n }\n catch (e) {\n yield __await(abortable.abort(e)); // propagate downstream error to the source\n throw e;\n }\n }\n }\n finally {\n if ((opt === null || opt === void 0 ? void 0 : opt.propagateDownStreamError) === true) {\n // Call return on the source iterable to indicate\n // that we will no longer consume it and it should\n // cleanup any allocated resources.\n (_b = (_a = source[Symbol.asyncIterator]()).return) === null || _b === void 0 ? void 0 : _b.call(_a).catch(() => {\n // return returns a promise, which we don't care about.\n //\n // Uncaught promises are thrown at sometime/somewhere by the event loop,\n // this is to ensure error is caught and ignored.\n });\n }\n }\n });\n}\nfunction pickTransforms(rest) {\n let opt;\n if (typeof rest[rest.length - 1] != \"function\") {\n opt = rest.pop();\n }\n return [rest, opt];\n}\n/**\n * Creates an AsyncIterableTransform that catches any error from the input, and\n * passes it to the given catchError function.\n *\n * The catchError function may return a final value.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformCatch(catchError) {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n // we deliberate avoid a for-await loop because we only want to catch upstream\n // errors, not downstream errors (yield).\n const it = iterable[Symbol.asyncIterator]();\n for (;;) {\n let r;\n try {\n r = yield __await(it.next());\n }\n catch (e) {\n const caught = yield __await(catchError(e));\n if (caught !== undefined) {\n yield yield __await(caught);\n }\n break;\n }\n if (r.done === true) {\n break;\n }\n yield yield __await(r.value);\n }\n });\n };\n}\n/**\n * Creates an AsyncIterableTransform that catches any error from the input, and\n * passes it to the given function. Unlike transformCatch(), the given function\n * is also called when no error is raised.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformCatchFinally(catchFinally) {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n // we deliberate avoid a for-await loop because we only want to catch upstream\n // errors, not downstream errors (yield).\n let err;\n const it = iterable[Symbol.asyncIterator]();\n for (;;) {\n let r;\n try {\n r = yield __await(it.next());\n }\n catch (e) {\n err = e;\n break;\n }\n if (r.done === true) {\n break;\n }\n yield yield __await(r.value);\n }\n const caught = yield __await(catchFinally(err));\n if (caught !== undefined) {\n yield yield __await(caught);\n }\n });\n };\n}\n/**\n * Creates an AsyncIterableTransform that appends a value.\n *\n * The element to append is provided by a function. If the function returns\n * undefined, no element is appended.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformAppend(provide) {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_2, _b, _c;\n try {\n for (var _d = true, iterable_2 = __asyncValues(iterable), iterable_2_1; iterable_2_1 = yield __await(iterable_2.next()), _a = iterable_2_1.done, !_a; _d = true) {\n _c = iterable_2_1.value;\n _d = false;\n const chunk = _c;\n yield yield __await(chunk);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_2.return)) yield __await(_b.call(iterable_2));\n }\n finally { if (e_2) throw e_2.error; }\n }\n const append = yield __await(provide());\n if (append !== undefined) {\n yield yield __await(append);\n }\n });\n };\n}\n/**\n * Creates an AsyncIterableTransform that prepends an element.\n *\n * The element to prepend is provided by a function. If the function returns\n * undefined, no element is appended.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformPrepend(provide) {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_3, _b, _c;\n const prepend = yield __await(provide());\n if (prepend !== undefined) {\n yield yield __await(prepend);\n }\n try {\n for (var _d = true, iterable_3 = __asyncValues(iterable), iterable_3_1; iterable_3_1 = yield __await(iterable_3.next()), _a = iterable_3_1.done, !_a; _d = true) {\n _c = iterable_3_1.value;\n _d = false;\n const chunk = _c;\n yield yield __await(chunk);\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_3.return)) yield __await(_b.call(iterable_3));\n }\n finally { if (e_3) throw e_3.error; }\n }\n });\n };\n}\n/**\n * Creates an AsyncIterableTransform that reads all bytes from the input, and\n * concatenates them to a single Uint8Array.\n *\n * The iterable raises an error if the more than readMaxBytes are read.\n *\n * An optional length hint can be provided to optimize allocation and validation.\n * If more or less bytes are present in the source that the length hint indicates,\n * and error is raised.\n * If the length hint is larger than readMaxBytes, an error is raised.\n * If the length hint is not a positive integer, it is ignored.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformReadAllBytes(readMaxBytes, lengthHint) {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n yield yield __await(yield __await(readAllBytes(iterable, readMaxBytes, lengthHint)));\n });\n };\n}\nexport function transformSerializeEnvelope(serialization, endStreamFlag, endSerialization) {\n if (endStreamFlag === undefined || endSerialization === undefined) {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_4, _b, _c;\n try {\n for (var _d = true, iterable_4 = __asyncValues(iterable), iterable_4_1; iterable_4_1 = yield __await(iterable_4.next()), _a = iterable_4_1.done, !_a; _d = true) {\n _c = iterable_4_1.value;\n _d = false;\n const chunk = _c;\n const data = serialization.serialize(chunk);\n yield yield __await({ flags: 0, data });\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_4.return)) yield __await(_b.call(iterable_4));\n }\n finally { if (e_4) throw e_4.error; }\n }\n });\n };\n }\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_5, _b, _c;\n try {\n for (var _d = true, iterable_5 = __asyncValues(iterable), iterable_5_1; iterable_5_1 = yield __await(iterable_5.next()), _a = iterable_5_1.done, !_a; _d = true) {\n _c = iterable_5_1.value;\n _d = false;\n const chunk = _c;\n let data;\n let flags = 0;\n if (chunk.end) {\n flags = flags | endStreamFlag;\n data = endSerialization.serialize(chunk.value);\n }\n else {\n data = serialization.serialize(chunk.value);\n }\n yield yield __await({ flags, data });\n }\n }\n catch (e_5_1) { e_5 = { error: e_5_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_5.return)) yield __await(_b.call(iterable_5));\n }\n finally { if (e_5) throw e_5.error; }\n }\n });\n };\n}\nexport function transformParseEnvelope(serialization, endStreamFlag, endSerialization) {\n // code path always yields ParsedEnvelopedMessage\n if (endSerialization && endStreamFlag !== undefined) {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_6, _b, _c;\n try {\n for (var _d = true, iterable_6 = __asyncValues(iterable), iterable_6_1; iterable_6_1 = yield __await(iterable_6.next()), _a = iterable_6_1.done, !_a; _d = true) {\n _c = iterable_6_1.value;\n _d = false;\n const { flags, data } = _c;\n if ((flags & endStreamFlag) === endStreamFlag) {\n yield yield __await({ value: endSerialization.parse(data), end: true });\n }\n else {\n yield yield __await({ value: serialization.parse(data), end: false });\n }\n }\n }\n catch (e_6_1) { e_6 = { error: e_6_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_6.return)) yield __await(_b.call(iterable_6));\n }\n finally { if (e_6) throw e_6.error; }\n }\n });\n };\n }\n // code path always yields T\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_7, _b, _c;\n try {\n for (var _d = true, iterable_7 = __asyncValues(iterable), iterable_7_1; iterable_7_1 = yield __await(iterable_7.next()), _a = iterable_7_1.done, !_a; _d = true) {\n _c = iterable_7_1.value;\n _d = false;\n const { flags, data } = _c;\n if (endStreamFlag !== undefined &&\n (flags & endStreamFlag) === endStreamFlag) {\n if (endSerialization === null) {\n throw new ConnectError(\"unexpected end flag\", Code.InvalidArgument);\n }\n // skips end-of-stream envelope\n continue;\n }\n yield yield __await(serialization.parse(data));\n }\n }\n catch (e_7_1) { e_7 = { error: e_7_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_7.return)) yield __await(_b.call(iterable_7));\n }\n finally { if (e_7) throw e_7.error; }\n }\n });\n };\n}\n/**\n * Creates an AsyncIterableTransform that takes enveloped messages as a source,\n * and compresses them if they are larger than compressMinBytes.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformCompressEnvelope(compression, compressMinBytes) {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_8, _b, _c;\n try {\n for (var _d = true, iterable_8 = __asyncValues(iterable), iterable_8_1; iterable_8_1 = yield __await(iterable_8.next()), _a = iterable_8_1.done, !_a; _d = true) {\n _c = iterable_8_1.value;\n _d = false;\n const env = _c;\n yield yield __await(yield __await(envelopeCompress(env, compression, compressMinBytes)));\n }\n }\n catch (e_8_1) { e_8 = { error: e_8_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_8.return)) yield __await(_b.call(iterable_8));\n }\n finally { if (e_8) throw e_8.error; }\n }\n });\n };\n}\n/**\n * Creates an AsyncIterableTransform that takes enveloped messages as a source,\n * and decompresses them using the given compression.\n *\n * The iterable raises an error if the decompressed payload of an enveloped\n * message is larger than readMaxBytes, or if no compression is provided.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformDecompressEnvelope(compression, readMaxBytes) {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_9, _b, _c;\n try {\n for (var _d = true, iterable_9 = __asyncValues(iterable), iterable_9_1; iterable_9_1 = yield __await(iterable_9.next()), _a = iterable_9_1.done, !_a; _d = true) {\n _c = iterable_9_1.value;\n _d = false;\n const env = _c;\n yield yield __await(yield __await(envelopeDecompress(env, compression, readMaxBytes)));\n }\n }\n catch (e_9_1) { e_9 = { error: e_9_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_9.return)) yield __await(_b.call(iterable_9));\n }\n finally { if (e_9) throw e_9.error; }\n }\n });\n };\n}\n/**\n * Create an AsyncIterableTransform that takes enveloped messages as a source,\n * and joins them into a stream of raw bytes.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformJoinEnvelopes() {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_10, _b, _c;\n try {\n for (var _d = true, iterable_10 = __asyncValues(iterable), iterable_10_1; iterable_10_1 = yield __await(iterable_10.next()), _a = iterable_10_1.done, !_a; _d = true) {\n _c = iterable_10_1.value;\n _d = false;\n const { flags, data } = _c;\n yield yield __await(encodeEnvelope(flags, data));\n }\n }\n catch (e_10_1) { e_10 = { error: e_10_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_10.return)) yield __await(_b.call(iterable_10));\n }\n finally { if (e_10) throw e_10.error; }\n }\n });\n };\n}\n/**\n * Create an AsyncIterableTransform that takes raw bytes as a source, and splits\n * them into enveloped messages.\n *\n * The iterable raises an error\n * - if the payload of an enveloped message is larger than readMaxBytes,\n * - if the stream ended before an enveloped message fully arrived,\n * - or if the stream ended with extraneous data.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformSplitEnvelope(readMaxBytes) {\n // append chunk to buffer, returning updated buffer\n function append(buffer, chunk) {\n const n = new Uint8Array(buffer.byteLength + chunk.byteLength);\n n.set(buffer);\n n.set(chunk, buffer.length);\n return n;\n }\n // tuple 0: envelope, or undefined if incomplete\n // tuple 1: remainder of the buffer\n function shiftEnvelope(buffer, header) {\n if (buffer.byteLength < 5 + header.length) {\n return [undefined, buffer];\n }\n return [\n { flags: header.flags, data: buffer.subarray(5, 5 + header.length) },\n buffer.subarray(5 + header.length),\n ];\n }\n // undefined: header is incomplete\n function peekHeader(buffer) {\n if (buffer.byteLength < 5) {\n return undefined;\n }\n const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);\n const length = view.getUint32(1); // 4 bytes message length\n const flags = view.getUint8(0); // first byte is flags\n return { length, flags };\n }\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_11, _b, _c;\n let buffer = new Uint8Array(0);\n try {\n for (var _d = true, iterable_11 = __asyncValues(iterable), iterable_11_1; iterable_11_1 = yield __await(iterable_11.next()), _a = iterable_11_1.done, !_a; _d = true) {\n _c = iterable_11_1.value;\n _d = false;\n const chunk = _c;\n buffer = append(buffer, chunk);\n for (;;) {\n const header = peekHeader(buffer);\n if (!header) {\n break;\n }\n assertReadMaxBytes(readMaxBytes, header.length, true);\n let env;\n [env, buffer] = shiftEnvelope(buffer, header);\n if (!env) {\n break;\n }\n yield yield __await(env);\n }\n }\n }\n catch (e_11_1) { e_11 = { error: e_11_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_11.return)) yield __await(_b.call(iterable_11));\n }\n finally { if (e_11) throw e_11.error; }\n }\n if (buffer.byteLength > 0) {\n const header = peekHeader(buffer);\n let message = \"protocol error: incomplete envelope\";\n if (header) {\n message = `protocol error: promised ${header.length} bytes in enveloped message, got ${buffer.byteLength - 5} bytes`;\n }\n throw new ConnectError(message, Code.InvalidArgument);\n }\n });\n };\n}\n/**\n * Reads all bytes from the source, and concatenates them to a single Uint8Array.\n *\n * Raises an error if:\n * - more than readMaxBytes are read\n * - lengthHint is a positive integer, but larger than readMaxBytes\n * - lengthHint is a positive integer, and the source contains more or less bytes\n * than promised\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport async function readAllBytes(iterable, readMaxBytes, lengthHint) {\n var _a, e_12, _b, _c, _d, e_13, _e, _f;\n const [ok, hint] = parseLengthHint(lengthHint);\n if (ok) {\n if (hint > readMaxBytes) {\n assertReadMaxBytes(readMaxBytes, hint, true);\n }\n const buffer = new Uint8Array(hint);\n let offset = 0;\n try {\n for (var _g = true, iterable_12 = __asyncValues(iterable), iterable_12_1; iterable_12_1 = await iterable_12.next(), _a = iterable_12_1.done, !_a; _g = true) {\n _c = iterable_12_1.value;\n _g = false;\n const chunk = _c;\n if (offset + chunk.byteLength > hint) {\n throw new ConnectError(`protocol error: promised ${hint} bytes, received ${offset + chunk.byteLength}`, Code.InvalidArgument);\n }\n buffer.set(chunk, offset);\n offset += chunk.byteLength;\n }\n }\n catch (e_12_1) { e_12 = { error: e_12_1 }; }\n finally {\n try {\n if (!_g && !_a && (_b = iterable_12.return)) await _b.call(iterable_12);\n }\n finally { if (e_12) throw e_12.error; }\n }\n if (offset < hint) {\n throw new ConnectError(`protocol error: promised ${hint} bytes, received ${offset}`, Code.InvalidArgument);\n }\n return buffer;\n }\n const chunks = [];\n let count = 0;\n try {\n for (var _h = true, iterable_13 = __asyncValues(iterable), iterable_13_1; iterable_13_1 = await iterable_13.next(), _d = iterable_13_1.done, !_d; _h = true) {\n _f = iterable_13_1.value;\n _h = false;\n const chunk = _f;\n count += chunk.byteLength;\n assertReadMaxBytes(readMaxBytes, count);\n chunks.push(chunk);\n }\n }\n catch (e_13_1) { e_13 = { error: e_13_1 }; }\n finally {\n try {\n if (!_h && !_d && (_e = iterable_13.return)) await _e.call(iterable_13);\n }\n finally { if (e_13) throw e_13.error; }\n }\n const all = new Uint8Array(count);\n let offset = 0;\n for (let chunk = chunks.shift(); chunk; chunk = chunks.shift()) {\n all.set(chunk, offset);\n offset += chunk.byteLength;\n }\n return all;\n}\n// parse the lengthHint argument of readAllBytes()\nfunction parseLengthHint(lengthHint) {\n if (lengthHint === undefined || lengthHint === null) {\n return [false, 0];\n }\n const n = typeof lengthHint == \"string\" ? parseInt(lengthHint, 10) : lengthHint;\n if (!Number.isSafeInteger(n) || n < 0) {\n return [false, n];\n }\n return [true, n];\n}\n/**\n * Wait for the first element of an iterable without modifying the iterable.\n * This consumes the first element, but pushes it back on the stack.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport async function untilFirst(iterable) {\n const it = iterable[Symbol.asyncIterator]();\n let first = await it.next();\n return {\n [Symbol.asyncIterator]() {\n const w = {\n async next() {\n if (first !== null) {\n const n = first;\n first = null;\n return n;\n }\n return await it.next();\n },\n };\n if (it.throw !== undefined) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- can't handle mutated object sensibly\n w.throw = (e) => it.throw(e);\n }\n if (it.return !== undefined) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion,@typescript-eslint/no-explicit-any -- can't handle mutated object sensibly\n w.return = (value) => it.return(value);\n }\n return w;\n },\n };\n}\n/**\n * Wrap the given iterable and return an iterable with an abort() method.\n *\n * This function exists purely for convenience. Where one would typically have\n * to access the iterator directly, advance through all elements, and call\n * AsyncIterator.throw() to notify the upstream iterable, this function allows\n * to use convenient for-await loops and still notify the upstream iterable:\n *\n * ```ts\n * const abortable = makeIterableAbortable(iterable);\n * for await (const ele of abortable) {\n * await abortable.abort(\"ERR\");\n * }\n * ```\n * There are a couple of limitations of this function:\n * - the given async iterable must implement throw\n * - the async iterable cannot be re-use\n * - if source catches errors and yields values for them, they are ignored, and\n * the source may still dangle\n *\n * There are four possible ways an async function* can handle yield errors:\n * 1. don't catch errors at all - Abortable.abort() will resolve \"rethrown\"\n * 2. catch errors and rethrow - Abortable.abort() will resolve \"rethrown\"\n * 3. catch errors and return - Abortable.abort() will resolve \"completed\"\n * 4. catch errors and yield a value - Abortable.abort() will resolve \"caught\"\n *\n * Note that catching errors and yielding a value is problematic, and it should\n * be documented that this may leave the source in a dangling state.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function makeIterableAbortable(iterable) {\n const innerCandidate = iterable[Symbol.asyncIterator]();\n if (innerCandidate.throw === undefined) {\n throw new Error(\"AsyncIterable does not implement throw\");\n }\n const inner = innerCandidate;\n let aborted;\n let resultPromise;\n let it = {\n next() {\n resultPromise = inner.next().finally(() => {\n resultPromise = undefined;\n });\n return resultPromise;\n },\n throw(e) {\n return inner.throw(e);\n },\n };\n if (innerCandidate.return !== undefined) {\n it = Object.assign(Object.assign({}, it), { return(value) {\n return inner.return(value);\n } });\n }\n let used = false;\n return {\n abort(reason) {\n if (aborted) {\n return aborted.state;\n }\n const f = () => {\n return inner.throw(reason).then((r) => (r.done === true ? \"completed\" : \"caught\"), () => \"rethrown\");\n };\n if (resultPromise) {\n aborted = { reason, state: resultPromise.then(f, f) };\n return aborted.state;\n }\n aborted = { reason, state: f() };\n return aborted.state;\n },\n [Symbol.asyncIterator]() {\n if (used) {\n throw new Error(\"AsyncIterable cannot be re-used\");\n }\n used = true;\n return it;\n },\n };\n}\n/**\n * Create a new WritableIterable.\n */\nexport function createWritableIterable() {\n // We start with two queues to capture the read and write attempts.\n //\n // The writes and reads each check of their counterpart is\n // already available and either interact/add themselves to the queue.\n const readQueue = [];\n const writeQueue = [];\n let err = undefined;\n let nextResolve;\n let nextReject;\n let nextPromise = new Promise((resolve, reject) => {\n nextResolve = resolve;\n nextReject = reject;\n });\n let closed = false;\n // drain the readQueue in case of error/writer is closed by sending a\n // done result.\n function drain() {\n for (const next of readQueue.splice(0, readQueue.length)) {\n next({ done: true, value: undefined });\n }\n }\n return {\n close() {\n closed = true;\n drain();\n },\n async write(payload) {\n if (closed) {\n throw err !== null && err !== void 0 ? err : new Error(\"cannot write, WritableIterable already closed\");\n }\n const read = readQueue.shift();\n if (read === undefined) {\n // We didn't find a pending read so we add the payload to the write queue.\n writeQueue.push(payload);\n }\n else {\n // We found a pending read so we respond with the payload.\n read({ done: false, value: payload });\n if (readQueue.length > 0) {\n // If there are more in the read queue we can mark the write as complete.\n // as the error reporting is not guaranteed to be sequential and therefore cannot\n // to linked to a specific write.\n return;\n }\n }\n // We await the next call for as many times as there are items in the queue + 1\n //\n // If there are no items in the write queue that means write happened and we just have\n // to wait for one more call likewise if we are the nth write in the queue we\n // have to wait for n writes to complete and one more.\n const limit = writeQueue.length + 1;\n for (let i = 0; i < limit; i++) {\n await nextPromise;\n }\n },\n [Symbol.asyncIterator]() {\n return {\n next() {\n // Resolve the nextPromise to indicate\n // pending writes that a read attempt has been made\n // after their write.\n //\n // We also need to reset the promise for future writes.\n nextResolve();\n nextPromise = new Promise((resolve, reject) => {\n nextResolve = resolve;\n nextReject = reject;\n });\n const write = writeQueue.shift();\n if (write !== undefined) {\n // We found a pending write so response with the payload.\n return Promise.resolve({ done: false, value: write });\n }\n if (closed) {\n return Promise.resolve({ done: true, value: undefined });\n }\n // We return a promise immediately that is either resolved/rejected\n // as writes happen.\n let readResolve;\n const readPromise = new Promise((resolve) => (readResolve = resolve));\n readQueue.push(readResolve); // eslint-disable-line @typescript-eslint/no-non-null-assertion\n return readPromise;\n },\n throw(throwErr) {\n err = throwErr;\n closed = true;\n writeQueue.splice(0, writeQueue.length);\n nextPromise.catch(() => {\n // To make sure that the nextPromise is always resolved.\n });\n // This will reject all pending writes.\n nextReject(err);\n drain();\n return Promise.resolve({ done: true, value: undefined });\n },\n return() {\n closed = true;\n writeQueue.splice(0, writeQueue.length);\n // Resolve once for the write awaiting confirmation.\n nextResolve();\n // Reject all future writes.\n nextPromise = Promise.reject(new Error(\"cannot write, consumer called return\"));\n nextPromise.catch(() => {\n // To make sure that the nextPromise is always resolved.\n });\n drain();\n return Promise.resolve({ done: true, value: undefined });\n },\n };\n },\n };\n}\n/**\n * Create an asynchronous iterable from an array.\n *\n * @private Internal code, does not follow semantic versioning.\n */\n// eslint-disable-next-line @typescript-eslint/require-await\nexport function createAsyncIterable(items) {\n return __asyncGenerator(this, arguments, function* createAsyncIterable_1() {\n yield __await(yield* __asyncDelegator(__asyncValues(items)));\n });\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nvar __asyncValues = (this && this.__asyncValues) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncDelegator = (this && this.__asyncDelegator) || function (o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n};\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nimport { Message, MethodKind } from \"@bufbuild/protobuf\";\nimport { makeAnyClient } from \"./any-client.js\";\nimport { ConnectError } from \"./connect-error.js\";\nimport { Code } from \"./code.js\";\nimport { createAsyncIterable } from \"./protocol/async-iterable.js\";\n/**\n * Create a PromiseClient for the given service, invoking RPCs through the\n * given transport.\n */\nexport function createPromiseClient(service, transport) {\n return makeAnyClient(service, (method) => {\n switch (method.kind) {\n case MethodKind.Unary:\n return createUnaryFn(transport, service, method);\n case MethodKind.ServerStreaming:\n return createServerStreamingFn(transport, service, method);\n case MethodKind.ClientStreaming:\n return createClientStreamingFn(transport, service, method);\n case MethodKind.BiDiStreaming:\n return createBiDiStreamingFn(transport, service, method);\n default:\n return null;\n }\n });\n}\nfunction createUnaryFn(transport, service, method) {\n return async function (input, options) {\n var _a, _b;\n const response = await transport.unary(service, method, options === null || options === void 0 ? void 0 : options.signal, options === null || options === void 0 ? void 0 : options.timeoutMs, options === null || options === void 0 ? void 0 : options.headers, input);\n (_a = options === null || options === void 0 ? void 0 : options.onHeader) === null || _a === void 0 ? void 0 : _a.call(options, response.header);\n (_b = options === null || options === void 0 ? void 0 : options.onTrailer) === null || _b === void 0 ? void 0 : _b.call(options, response.trailer);\n return response.message;\n };\n}\nexport function createServerStreamingFn(transport, service, method) {\n return function (input, options) {\n return handleStreamResponse(transport.stream(service, method, options === null || options === void 0 ? void 0 : options.signal, options === null || options === void 0 ? void 0 : options.timeoutMs, options === null || options === void 0 ? void 0 : options.headers, createAsyncIterable([input])), options);\n };\n}\nexport function createClientStreamingFn(transport, service, method) {\n return async function (request, options) {\n var _a, e_1, _b, _c;\n var _d, _e;\n const response = await transport.stream(service, method, options === null || options === void 0 ? void 0 : options.signal, options === null || options === void 0 ? void 0 : options.timeoutMs, options === null || options === void 0 ? void 0 : options.headers, request);\n (_d = options === null || options === void 0 ? void 0 : options.onHeader) === null || _d === void 0 ? void 0 : _d.call(options, response.header);\n let singleMessage;\n try {\n for (var _f = true, _g = __asyncValues(response.message), _h; _h = await _g.next(), _a = _h.done, !_a; _f = true) {\n _c = _h.value;\n _f = false;\n const message = _c;\n singleMessage = message;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (!_f && !_a && (_b = _g.return)) await _b.call(_g);\n }\n finally { if (e_1) throw e_1.error; }\n }\n if (!singleMessage) {\n throw new ConnectError(\"protocol error: missing response message\", Code.Internal);\n }\n (_e = options === null || options === void 0 ? void 0 : options.onTrailer) === null || _e === void 0 ? void 0 : _e.call(options, response.trailer);\n return singleMessage;\n };\n}\nexport function createBiDiStreamingFn(transport, service, method) {\n return function (request, options) {\n return handleStreamResponse(transport.stream(service, method, options === null || options === void 0 ? void 0 : options.signal, options === null || options === void 0 ? void 0 : options.timeoutMs, options === null || options === void 0 ? void 0 : options.headers, request), options);\n };\n}\nfunction handleStreamResponse(stream, options) {\n const it = (function () {\n var _a, _b;\n return __asyncGenerator(this, arguments, function* () {\n const response = yield __await(stream);\n (_a = options === null || options === void 0 ? void 0 : options.onHeader) === null || _a === void 0 ? void 0 : _a.call(options, response.header);\n yield __await(yield* __asyncDelegator(__asyncValues(response.message)));\n (_b = options === null || options === void 0 ? void 0 : options.onTrailer) === null || _b === void 0 ? void 0 : _b.call(options, response.trailer);\n });\n })()[Symbol.asyncIterator]();\n // Create a new iterable to omit throw/return.\n return {\n [Symbol.asyncIterator]: () => ({\n next: () => it.next(),\n }),\n };\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { ConnectError } from \"../connect-error.js\";\nimport { Code } from \"../code.js\";\n/**\n * Create an AbortController that is automatically aborted if one of the given\n * signals is aborted.\n *\n * For convenience, the linked AbortSignals can be undefined.\n *\n * If the controller or any of the signals is aborted, all event listeners are\n * removed.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function createLinkedAbortController(...signals) {\n const controller = new AbortController();\n const sa = signals\n .filter((s) => s !== undefined)\n .concat(controller.signal);\n for (const signal of sa) {\n if (signal.aborted) {\n onAbort.apply(signal);\n break;\n }\n signal.addEventListener(\"abort\", onAbort);\n }\n function onAbort() {\n if (!controller.signal.aborted) {\n controller.abort(getAbortSignalReason(this));\n }\n for (const signal of sa) {\n signal.removeEventListener(\"abort\", onAbort);\n }\n }\n return controller;\n}\n/**\n * Create a deadline signal. The returned object contains an AbortSignal, but\n * also a cleanup function to stop the timer, which must be called once the\n * calling code is no longer interested in the signal.\n *\n * Ideally, we would simply use AbortSignal.timeout(), but it is not widely\n * available yet.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function createDeadlineSignal(timeoutMs) {\n const controller = new AbortController();\n const listener = () => {\n controller.abort(new ConnectError(\"the operation timed out\", Code.DeadlineExceeded));\n };\n let timeoutId;\n if (timeoutMs !== undefined) {\n if (timeoutMs <= 0)\n listener();\n else\n timeoutId = setTimeout(listener, timeoutMs);\n }\n return {\n signal: controller.signal,\n cleanup: () => clearTimeout(timeoutId),\n };\n}\n/**\n * Returns the reason why an AbortSignal was aborted. Returns undefined if the\n * signal has not been aborted.\n *\n * The property AbortSignal.reason is not widely available. This function\n * returns an AbortError if the signal is aborted, but reason is undefined.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function getAbortSignalReason(signal) {\n if (!signal.aborted) {\n return undefined;\n }\n if (signal.reason !== undefined) {\n return signal.reason;\n }\n // AbortSignal.reason is available in Node.js v16, v18, and later,\n // and in all browsers since early 2022.\n const e = new Error(\"This operation was aborted\");\n e.name = \"AbortError\";\n return e;\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * Create a URL for the given RPC. This simply adds the qualified\n * service name, a slash, and the method name to the path of the given\n * baseUrl.\n *\n * For example, the baseUri https://example.com and method \"Say\" from\n * the service example.ElizaService results in:\n * https://example.com/example.ElizaService/Say\n *\n * This format is used by the protocols Connect, gRPC and Twirp.\n *\n * Note that this function also accepts a protocol-relative baseUrl.\n * If given an empty string or \"/\" as a baseUrl, it returns just the\n * path.\n */\nexport function createMethodUrl(baseUrl, service, method) {\n const s = typeof service == \"string\" ? service : service.typeName;\n const m = typeof method == \"string\" ? method : method.name;\n return baseUrl.toString().replace(/\\/?$/, `/${s}/${m}`);\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { ConnectError } from \"../connect-error.js\";\nimport { Code } from \"../code.js\";\nimport { assertReadMaxBytes, assertWriteMaxBytes } from \"./limit-io.js\";\n/**\n * Sets default JSON serialization options for connect-es.\n *\n * With standard protobuf JSON serialization, unknown JSON fields are\n * rejected by default. In connect-es, unknown JSON fields are ignored\n * by default.\n */\nexport function getJsonOptions(options) {\n var _a;\n const o = Object.assign({}, options);\n (_a = o.ignoreUnknownFields) !== null && _a !== void 0 ? _a : (o.ignoreUnknownFields = true);\n return o;\n}\n/**\n * Create an object that provides convenient access to request and response\n * message serialization for a given method.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function createMethodSerializationLookup(method, binaryOptions, jsonOptions, limitOptions) {\n const inputBinary = limitSerialization(createBinarySerialization(method.I, binaryOptions), limitOptions);\n const inputJson = limitSerialization(createJsonSerialization(method.I, jsonOptions), limitOptions);\n const outputBinary = limitSerialization(createBinarySerialization(method.O, binaryOptions), limitOptions);\n const outputJson = limitSerialization(createJsonSerialization(method.O, jsonOptions), limitOptions);\n return {\n getI(useBinaryFormat) {\n return useBinaryFormat ? inputBinary : inputJson;\n },\n getO(useBinaryFormat) {\n return useBinaryFormat ? outputBinary : outputJson;\n },\n };\n}\n/**\n * Returns functions to normalize and serialize the input message\n * of an RPC, and to parse the output message of an RPC.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function createClientMethodSerializers(method, useBinaryFormat, jsonOptions, binaryOptions) {\n const input = useBinaryFormat\n ? createBinarySerialization(method.I, binaryOptions)\n : createJsonSerialization(method.I, jsonOptions);\n const output = useBinaryFormat\n ? createBinarySerialization(method.O, binaryOptions)\n : createJsonSerialization(method.O, jsonOptions);\n return { parse: output.parse, serialize: input.serialize };\n}\n/**\n * Apply I/O limits to a Serialization object, returning a new object.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function limitSerialization(serialization, limitOptions) {\n return {\n serialize(data) {\n const bytes = serialization.serialize(data);\n assertWriteMaxBytes(limitOptions.writeMaxBytes, bytes.byteLength);\n return bytes;\n },\n parse(data) {\n assertReadMaxBytes(limitOptions.readMaxBytes, data.byteLength, true);\n return serialization.parse(data);\n },\n };\n}\n/**\n * Creates a Serialization object for serializing the given protobuf message\n * with the protobuf binary format.\n */\nexport function createBinarySerialization(messageType, options) {\n return {\n parse(data) {\n try {\n return messageType.fromBinary(data, options);\n }\n catch (e) {\n const m = e instanceof Error ? e.message : String(e);\n throw new ConnectError(`parse binary: ${m}`, Code.InvalidArgument);\n }\n },\n serialize(data) {\n try {\n return data.toBinary(options);\n }\n catch (e) {\n const m = e instanceof Error ? e.message : String(e);\n throw new ConnectError(`serialize binary: ${m}`, Code.Internal);\n }\n },\n };\n}\n/**\n * Creates a Serialization object for serializing the given protobuf message\n * with the protobuf canonical JSON encoding.\n *\n * By default, unknown fields are ignored.\n */\nexport function createJsonSerialization(messageType, options) {\n var _a, _b;\n const textEncoder = (_a = options === null || options === void 0 ? void 0 : options.textEncoder) !== null && _a !== void 0 ? _a : new TextEncoder();\n const textDecoder = (_b = options === null || options === void 0 ? void 0 : options.textDecoder) !== null && _b !== void 0 ? _b : new TextDecoder();\n const o = getJsonOptions(options);\n return {\n parse(data) {\n try {\n const json = textDecoder.decode(data);\n return messageType.fromJsonString(json, o);\n }\n catch (e) {\n throw ConnectError.from(e, Code.InvalidArgument);\n }\n },\n serialize(data) {\n try {\n const json = data.toJsonString(o);\n return textEncoder.encode(json);\n }\n catch (e) {\n throw ConnectError.from(e, Code.Internal);\n }\n },\n };\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * Regular Expression that matches any valid Connect Content-Type header value.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport const contentTypeRegExp = /^application\\/(connect\\+)?(?:(json)(?:; ?charset=utf-?8)?|(proto))$/i;\n/**\n * Regular Expression that matches a Connect unary Content-Type header value.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport const contentTypeUnaryRegExp = /^application\\/(?:json(?:; ?charset=utf-?8)?|proto)$/i;\n/**\n * Regular Expression that matches a Connect streaming Content-Type header value.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport const contentTypeStreamRegExp = /^application\\/connect\\+?(?:json(?:; ?charset=utf-?8)?|proto)$/i;\nexport const contentTypeUnaryProto = \"application/proto\";\nexport const contentTypeUnaryJson = \"application/json\";\nexport const contentTypeStreamProto = \"application/connect+proto\";\nexport const contentTypeStreamJson = \"application/connect+json\";\nconst encodingProto = \"proto\";\nconst encodingJson = \"json\";\n/**\n * Parse a Connect Content-Type header.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function parseContentType(contentType) {\n const match = contentType === null || contentType === void 0 ? void 0 : contentType.match(contentTypeRegExp);\n if (!match) {\n return undefined;\n }\n const stream = !!match[1];\n const binary = !!match[3];\n return { stream, binary };\n}\n/**\n * Parse a Connect Get encoding query parameter.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function parseEncodingQuery(encoding) {\n switch (encoding) {\n case encodingProto:\n return { stream: false, binary: true };\n case encodingJson:\n return { stream: false, binary: false };\n default:\n return undefined;\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { Message, protoBase64 } from \"@bufbuild/protobuf\";\nimport { Code } from \"../code.js\";\nimport { ConnectError } from \"../connect-error.js\";\nimport { codeFromString, codeToString } from \"./code-string.js\";\n/**\n * Parse a Connect error from a JSON value.\n * Will return a ConnectError, and throw the provided fallback if parsing failed.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function errorFromJson(jsonValue, metadata, fallback) {\n if (metadata) {\n new Headers(metadata).forEach((value, key) => fallback.metadata.append(key, value));\n }\n if (typeof jsonValue !== \"object\" ||\n jsonValue == null ||\n Array.isArray(jsonValue) ||\n !(\"code\" in jsonValue) ||\n typeof jsonValue.code !== \"string\") {\n throw fallback;\n }\n const code = codeFromString(jsonValue.code);\n if (code === undefined) {\n throw fallback;\n }\n const message = jsonValue.message;\n if (message != null && typeof message !== \"string\") {\n throw fallback;\n }\n const error = new ConnectError(message !== null && message !== void 0 ? message : \"\", code, metadata);\n if (\"details\" in jsonValue && Array.isArray(jsonValue.details)) {\n for (const detail of jsonValue.details) {\n if (detail === null ||\n typeof detail != \"object\" ||\n Array.isArray(detail) ||\n typeof detail.type != \"string\" ||\n typeof detail.value != \"string\" ||\n (\"debug\" in detail && typeof detail.debug != \"object\")) {\n throw fallback;\n }\n try {\n error.details.push({\n type: detail.type,\n value: protoBase64.dec(detail.value),\n debug: detail.debug,\n });\n }\n catch (e) {\n throw fallback;\n }\n }\n }\n return error;\n}\n/**\n * Parse a Connect error from a serialized JSON value.\n * Will return a ConnectError, and throw the provided fallback if parsing failed.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function errorFromJsonBytes(bytes, metadata, fallback) {\n let jsonValue;\n try {\n jsonValue = JSON.parse(new TextDecoder().decode(bytes));\n }\n catch (e) {\n throw fallback;\n }\n return errorFromJson(jsonValue, metadata, fallback);\n}\n/**\n * Serialize the given error to JSON.\n *\n * The JSON serialization options are required to produce the optional\n * human-readable representation in the \"debug\" key if the detail uses\n * google.protobuf.Any. If serialization of the \"debug\" value fails, it\n * is silently disregarded.\n *\n * See https://connectrpc.com/docs/protocol#error-end-stream\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function errorToJson(error, jsonWriteOptions) {\n const o = {\n code: codeToString(error.code),\n };\n if (error.rawMessage.length > 0) {\n o.message = error.rawMessage;\n }\n if (error.details.length > 0) {\n o.details = error.details\n .map((value) => {\n if (value instanceof Message) {\n const i = {\n type: value.getType().typeName,\n value: value.toBinary(),\n };\n try {\n i.debug = value.toJson(jsonWriteOptions);\n }\n catch (e) {\n // We deliberately ignore errors that may occur when serializing\n // a message to JSON (the message contains an Any).\n // The rationale is that we are only trying to provide optional\n // debug information.\n }\n return i;\n }\n return value;\n })\n .map((_a) => {\n var { value } = _a, rest = __rest(_a, [\"value\"]);\n return (Object.assign(Object.assign({}, rest), { value: protoBase64.enc(value) }));\n });\n }\n return o;\n}\n/**\n * Serialize the given error to JSON. This calls errorToJson(), but stringifies\n * the result, and converts it into a UInt8Array.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function errorToJsonBytes(error, jsonWriteOptions) {\n const textEncoder = new TextEncoder();\n try {\n const jsonObject = errorToJson(error, jsonWriteOptions);\n const jsonString = JSON.stringify(jsonObject);\n return textEncoder.encode(jsonString);\n }\n catch (e) {\n const m = e instanceof Error ? e.message : String(e);\n throw new ConnectError(`failed to serialize Connect Error: ${m}`, Code.Internal);\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { errorFromJson, errorToJson } from \"./error-json.js\";\nimport { appendHeaders } from \"../http-headers.js\";\nimport { ConnectError } from \"../connect-error.js\";\nimport { Code } from \"../code.js\";\n/**\n * endStreamFlag indicates that the data in a EnvelopedMessage\n * is a EndStreamResponse of the Connect protocol.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport const endStreamFlag = 0b00000010;\n/**\n * Parse an EndStreamResponse of the Connect protocol.\n * Throws a ConnectError on malformed input.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function endStreamFromJson(data) {\n const parseErr = new ConnectError(\"invalid end stream\", Code.InvalidArgument);\n let jsonValue;\n try {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n jsonValue = JSON.parse(typeof data == \"string\" ? data : new TextDecoder().decode(data));\n }\n catch (e) {\n throw parseErr;\n }\n if (typeof jsonValue != \"object\" ||\n jsonValue == null ||\n Array.isArray(jsonValue)) {\n throw parseErr;\n }\n const metadata = new Headers();\n if (\"metadata\" in jsonValue) {\n if (typeof jsonValue.metadata != \"object\" ||\n jsonValue.metadata == null ||\n Array.isArray(jsonValue.metadata)) {\n throw parseErr;\n }\n for (const [key, values] of Object.entries(jsonValue.metadata)) {\n if (!Array.isArray(values) ||\n values.some((value) => typeof value != \"string\")) {\n throw parseErr;\n }\n for (const value of values) {\n metadata.append(key, value);\n }\n }\n }\n const error = \"error\" in jsonValue\n ? errorFromJson(jsonValue.error, metadata, parseErr)\n : undefined;\n return { metadata, error };\n}\n/**\n * Serialize the given EndStreamResponse to JSON.\n *\n * The JSON serialization options are required to produce the optional\n * human-readable representation of error details if the detail uses\n * google.protobuf.Any.\n *\n * See https://connectrpc.com/docs/protocol#error-end-stream\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function endStreamToJson(metadata, error, jsonWriteOptions) {\n const es = {};\n if (error !== undefined) {\n es.error = errorToJson(error, jsonWriteOptions);\n metadata = appendHeaders(metadata, error.metadata);\n }\n let hasMetadata = false;\n const md = {};\n metadata.forEach((value, key) => {\n hasMetadata = true;\n md[key] = [value];\n });\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (hasMetadata) {\n es.metadata = md;\n }\n return es;\n}\n/**\n * Create a Serialization object that serializes a Connect EndStreamResponse.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function createEndStreamSerialization(options) {\n const textEncoder = new TextEncoder();\n return {\n serialize(data) {\n try {\n const jsonObject = endStreamToJson(data.metadata, data.error, options);\n const jsonString = JSON.stringify(jsonObject);\n return textEncoder.encode(jsonString);\n }\n catch (e) {\n const m = e instanceof Error ? e.message : String(e);\n throw new ConnectError(`failed to serialize EndStreamResponse: ${m}`, Code.Internal);\n }\n },\n parse(data) {\n try {\n return endStreamFromJson(data);\n }\n catch (e) {\n const m = e instanceof Error ? e.message : String(e);\n throw new ConnectError(`failed to parse EndStreamResponse: ${m}`, Code.InvalidArgument);\n }\n },\n };\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * @private Internal code, does not follow semantic versioning.\n */\nexport const headerContentType = \"Content-Type\";\nexport const headerUnaryContentLength = \"Content-Length\";\nexport const headerUnaryEncoding = \"Content-Encoding\";\nexport const headerStreamEncoding = \"Connect-Content-Encoding\";\nexport const headerUnaryAcceptEncoding = \"Accept-Encoding\";\nexport const headerStreamAcceptEncoding = \"Connect-Accept-Encoding\";\nexport const headerTimeout = \"Connect-Timeout-Ms\";\nexport const headerProtocolVersion = \"Connect-Protocol-Version\";\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Code } from \"../code.js\";\n/**\n * Determine the Connect error code for the given HTTP status code.\n * See https://connectrpc.com/docs/protocol#error-codes\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function codeFromHttpStatus(httpStatus) {\n switch (httpStatus) {\n case 400: // Bad Request\n return Code.InvalidArgument;\n case 401: // Unauthorized\n return Code.Unauthenticated;\n case 403: // Forbidden\n return Code.PermissionDenied;\n case 404: // Not Found\n return Code.Unimplemented;\n case 408: // Request Timeout\n return Code.DeadlineExceeded;\n case 409: // Conflict\n return Code.Aborted;\n case 412: // Precondition Failed\n return Code.FailedPrecondition;\n case 413: // Payload Too Large\n return Code.ResourceExhausted;\n case 415: // Unsupported Media Type\n return Code.Internal;\n case 429: // Too Many Requests\n return Code.Unavailable;\n case 431: // Request Header Fields Too Large\n return Code.ResourceExhausted;\n case 502: // Bad Gateway\n return Code.Unavailable;\n case 503: // Service Unavailable\n return Code.Unavailable;\n case 504: // Gateway Timeout\n return Code.Unavailable;\n default:\n return Code.Unknown;\n }\n}\n/**\n * Returns a HTTP status code for the given Connect code.\n * See https://connectrpc.com/docs/protocol#error-codes\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function codeToHttpStatus(code) {\n switch (code) {\n case Code.Canceled:\n return 408; // Request Timeout\n case Code.Unknown:\n return 500; // Internal Server Error\n case Code.InvalidArgument:\n return 400; // Bad Request\n case Code.DeadlineExceeded:\n return 408; // Request Timeout\n case Code.NotFound:\n return 404; // Not Found\n case Code.AlreadyExists:\n return 409; // Conflict\n case Code.PermissionDenied:\n return 403; // Forbidden\n case Code.ResourceExhausted:\n return 429; // Too Many Requests\n case Code.FailedPrecondition:\n return 412; // Precondition Failed\n case Code.Aborted:\n return 409; // Conflict\n case Code.OutOfRange:\n return 400; // Bad Request\n case Code.Unimplemented:\n return 404; // Not Found\n case Code.Internal:\n return 500; // Internal Server Error\n case Code.Unavailable:\n return 503; // Service Unavailable\n case Code.DataLoss:\n return 500; // Internal Server Error\n case Code.Unauthenticated:\n return 401; // Unauthorized\n default:\n return 500; // same as CodeUnknown\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * In unary RPCs, Connect transports trailing metadata as response header\n * fields, prefixed with \"trailer-\".\n *\n * This function demuxes headers and trailers into two separate Headers\n * objects.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function trailerDemux(header) {\n const h = new Headers(), t = new Headers();\n header.forEach((value, key) => {\n if (key.toLowerCase().startsWith(\"trailer-\")) {\n t.set(key.substring(8), value);\n }\n else {\n h.set(key, value);\n }\n });\n return [h, t];\n}\n/**\n * In unary RPCs, Connect transports trailing metadata as response header\n * fields, prefixed with \"trailer-\".\n *\n * This function muxes a header and a trailer into a single Headers object.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function trailerMux(header, trailer) {\n const h = new Headers(header);\n trailer.forEach((value, key) => {\n h.set(`trailer-${key}`, value);\n });\n return h;\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { headerProtocolVersion } from \"./headers.js\";\nimport { paramConnectVersion } from \"./query-params.js\";\nimport { ConnectError } from \"../connect-error.js\";\nimport { Code } from \"../code.js\";\n/**\n * The only know value for the header Connect-Protocol-Version.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport const protocolVersion = \"1\";\n/**\n * Requires the Connect-Protocol-Version header to be present with the expected\n * value. Raises a ConnectError with Code.InvalidArgument otherwise.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function requireProtocolVersionHeader(requestHeader) {\n const v = requestHeader.get(headerProtocolVersion);\n if (v === null) {\n throw new ConnectError(`missing required header: set ${headerProtocolVersion} to \"${protocolVersion}\"`, Code.InvalidArgument);\n }\n else if (v !== protocolVersion) {\n throw new ConnectError(`${headerProtocolVersion} must be \"${protocolVersion}\": got \"${v}\"`, Code.InvalidArgument);\n }\n}\n/**\n * Requires the connect query parameter to be present with the expected value.\n * Raises a ConnectError with Code.InvalidArgument otherwise.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function requireProtocolVersionParam(queryParams) {\n const v = queryParams.get(paramConnectVersion);\n if (v === null) {\n throw new ConnectError(`missing required parameter: set ${paramConnectVersion} to \"v${protocolVersion}\"`, Code.InvalidArgument);\n }\n else if (v !== `v${protocolVersion}`) {\n throw new ConnectError(`${paramConnectVersion} must be \"v${protocolVersion}\": got \"${v}\"`, Code.InvalidArgument);\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { MethodKind } from \"@bufbuild/protobuf\";\nimport { headerContentType, headerStreamAcceptEncoding, headerStreamEncoding, headerUnaryAcceptEncoding, headerUnaryEncoding, headerTimeout, headerProtocolVersion, } from \"./headers.js\";\nimport { protocolVersion } from \"./version.js\";\nimport { contentTypeStreamJson, contentTypeStreamProto, contentTypeUnaryJson, contentTypeUnaryProto, } from \"./content-type.js\";\n/**\n * Creates headers for a Connect request.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function requestHeader(methodKind, useBinaryFormat, timeoutMs, userProvidedHeaders) {\n const result = new Headers(userProvidedHeaders !== null && userProvidedHeaders !== void 0 ? userProvidedHeaders : {});\n if (timeoutMs !== undefined) {\n result.set(headerTimeout, `${timeoutMs}`);\n }\n result.set(headerContentType, methodKind == MethodKind.Unary\n ? useBinaryFormat\n ? contentTypeUnaryProto\n : contentTypeUnaryJson\n : useBinaryFormat\n ? contentTypeStreamProto\n : contentTypeStreamJson);\n result.set(headerProtocolVersion, protocolVersion);\n return result;\n}\n/**\n * Creates headers for a Connect request with compression.\n *\n * Note that we always set the Content-Encoding header for unary methods.\n * It is up to the caller to decide whether to apply compression - and remove\n * the header if compression is not used, for example because the payload is\n * too small to make compression effective.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function requestHeaderWithCompression(methodKind, useBinaryFormat, timeoutMs, userProvidedHeaders, acceptCompression, sendCompression) {\n const result = requestHeader(methodKind, useBinaryFormat, timeoutMs, userProvidedHeaders);\n if (sendCompression != null) {\n const name = methodKind == MethodKind.Unary\n ? headerUnaryEncoding\n : headerStreamEncoding;\n result.set(name, sendCompression.name);\n }\n if (acceptCompression.length > 0) {\n const name = methodKind == MethodKind.Unary\n ? headerUnaryAcceptEncoding\n : headerStreamAcceptEncoding;\n result.set(name, acceptCompression.map((c) => c.name).join(\",\"));\n }\n return result;\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { MethodKind } from \"@bufbuild/protobuf\";\nimport { Code } from \"../code.js\";\nimport { codeFromHttpStatus } from \"./http-status.js\";\nimport { ConnectError } from \"../connect-error.js\";\nimport { parseContentType } from \"./content-type.js\";\nimport { headerStreamEncoding, headerUnaryEncoding } from \"./headers.js\";\n/**\n * Validates response status and header for the Connect protocol.\n * Throws a ConnectError if the header indicates an error, or if\n * the content type is unexpected, with the following exception:\n * For unary RPCs with an HTTP error status, this returns an error\n * derived from the HTTP status instead of throwing it, giving an\n * implementation a chance to parse a Connect error from the wire.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function validateResponse(methodKind, status, headers) {\n const mimeType = headers.get(\"Content-Type\");\n const parsedType = parseContentType(mimeType);\n if (status !== 200) {\n const errorFromStatus = new ConnectError(`HTTP ${status}`, codeFromHttpStatus(status), headers);\n // If parsedType is defined and it is not binary, then this is a unary JSON response\n if (methodKind == MethodKind.Unary && parsedType && !parsedType.binary) {\n return { isUnaryError: true, unaryError: errorFromStatus };\n }\n throw errorFromStatus;\n }\n return { isUnaryError: false };\n}\n/**\n * Validates response status and header for the Connect protocol.\n * This function is identical to validateResponse(), but also verifies\n * that a given encoding header is acceptable.\n *\n * @private\n */\nexport function validateResponseWithCompression(methodKind, acceptCompression, status, headers) {\n let compression;\n const encoding = headers.get(methodKind == MethodKind.Unary ? headerUnaryEncoding : headerStreamEncoding);\n if (encoding != null && encoding.toLowerCase() !== \"identity\") {\n compression = acceptCompression.find((c) => c.name === encoding);\n if (!compression) {\n throw new ConnectError(`unsupported response encoding \"${encoding}\"`, Code.InvalidArgument, headers);\n }\n }\n return Object.assign({ compression }, validateResponse(methodKind, status, headers));\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Message, protoBase64 } from \"@bufbuild/protobuf\";\nimport { headerContentType, headerProtocolVersion, headerUnaryAcceptEncoding, headerUnaryContentLength, headerUnaryEncoding, } from \"./headers.js\";\nimport { protocolVersion } from \"./version.js\";\nconst contentTypePrefix = \"application/\";\nfunction encodeMessageForUrl(message, useBase64) {\n if (useBase64) {\n // TODO(jchadwick-buf): Three regex replaces seems excessive.\n // Can we make protoBase64.enc more flexible?\n return protoBase64\n .enc(message)\n .replace(/\\+/g, \"-\")\n .replace(/\\//g, \"_\")\n .replace(/=+$/, \"\");\n }\n else {\n return encodeURIComponent(new TextDecoder().decode(message));\n }\n}\n/**\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformConnectPostToGetRequest(request, message, useBase64) {\n let query = `?connect=v${protocolVersion}`;\n const contentType = request.header.get(headerContentType);\n if ((contentType === null || contentType === void 0 ? void 0 : contentType.indexOf(contentTypePrefix)) === 0) {\n query +=\n \"&encoding=\" +\n encodeURIComponent(contentType.slice(contentTypePrefix.length));\n }\n const compression = request.header.get(headerUnaryEncoding);\n if (compression !== null && compression !== \"identity\") {\n query += \"&compression=\" + encodeURIComponent(compression);\n // Force base64 for compressed payloads.\n useBase64 = true;\n }\n if (useBase64) {\n query += \"&base64=1\";\n }\n query += \"&message=\" + encodeMessageForUrl(message, useBase64);\n const url = request.url + query;\n // Omit headers that are not used for unary GET requests.\n const header = new Headers(request.header);\n header.delete(headerProtocolVersion);\n header.delete(headerContentType);\n header.delete(headerUnaryContentLength);\n header.delete(headerUnaryEncoding);\n header.delete(headerUnaryAcceptEncoding);\n return Object.assign(Object.assign({}, request), { init: Object.assign(Object.assign({}, request.init), { method: \"GET\" }), url,\n header });\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { ConnectError } from \"../connect-error.js\";\nimport { createDeadlineSignal, createLinkedAbortController, getAbortSignalReason, } from \"./signals.js\";\n/**\n * Runs a unary method with the given interceptors. Note that this function\n * is only used when implementing a Transport.\n */\nexport function runUnaryCall(opt) {\n const next = applyInterceptors(opt.next, opt.interceptors);\n const [signal, abort, done] = setupSignal(opt);\n const req = Object.assign(Object.assign({}, opt.req), { message: normalize(opt.req.method.I, opt.req.message), signal });\n return next(req).then((res) => {\n done();\n return res;\n }, abort);\n}\n/**\n * Runs a server-streaming method with the given interceptors. Note that this\n * function is only used when implementing a Transport.\n */\nexport function runStreamingCall(opt) {\n const next = applyInterceptors(opt.next, opt.interceptors);\n const [signal, abort, done] = setupSignal(opt);\n const req = Object.assign(Object.assign({}, opt.req), { message: normalizeIterable(opt.req.method.I, opt.req.message), signal });\n let doneCalled = false;\n // Call return on the request iterable to indicate\n // that we will no longer consume it and it should\n // cleanup any allocated resources.\n signal.addEventListener(\"abort\", function () {\n var _a, _b;\n const it = opt.req.message[Symbol.asyncIterator]();\n // If the signal is aborted due to an error, we want to throw\n // the error to the request iterator.\n if (!doneCalled) {\n (_a = it.throw) === null || _a === void 0 ? void 0 : _a.call(it, this.reason).catch(() => {\n // throw returns a promise, which we don't care about.\n //\n // Uncaught promises are thrown at sometime/somewhere by the event loop,\n // this is to ensure error is caught and ignored.\n });\n }\n (_b = it.return) === null || _b === void 0 ? void 0 : _b.call(it).catch(() => {\n // return returns a promise, which we don't care about.\n //\n // Uncaught promises are thrown at sometime/somewhere by the event loop,\n // this is to ensure error is caught and ignored.\n });\n });\n return next(req).then((res) => {\n return Object.assign(Object.assign({}, res), { message: {\n [Symbol.asyncIterator]() {\n const it = res.message[Symbol.asyncIterator]();\n return {\n next() {\n return it.next().then((r) => {\n if (r.done == true) {\n doneCalled = true;\n done();\n }\n return r;\n }, abort);\n },\n // We deliberately omit throw/return.\n };\n },\n } });\n }, abort);\n}\n/**\n * Create an AbortSignal for Transport implementations. The signal is available\n * in UnaryRequest and StreamingRequest, and is triggered when the call is\n * aborted (via a timeout or explicit cancellation), errored (e.g. when reading\n * an error from the server from the wire), or finished successfully.\n *\n * Transport implementations can pass the signal to HTTP clients to ensure that\n * there are no unused connections leak.\n *\n * Returns a tuple:\n * [0]: The signal, which is also aborted if the optional deadline is reached.\n * [1]: Function to call if the Transport encountered an error.\n * [2]: Function to call if the Transport finished without an error.\n */\nfunction setupSignal(opt) {\n const { signal, cleanup } = createDeadlineSignal(opt.timeoutMs);\n const controller = createLinkedAbortController(opt.signal, signal);\n return [\n controller.signal,\n function abort(reason) {\n // We peek at the deadline signal because fetch() will throw an error on\n // abort that discards the signal reason.\n const e = ConnectError.from(signal.aborted ? getAbortSignalReason(signal) : reason);\n controller.abort(e);\n cleanup();\n return Promise.reject(e);\n },\n function done() {\n cleanup();\n controller.abort();\n },\n ];\n}\n/**\n * applyInterceptors takes the given UnaryFn or ServerStreamingFn, and wraps\n * it with each of the given interceptors, returning a new UnaryFn or\n * ServerStreamingFn.\n */\nfunction applyInterceptors(next, interceptors) {\n var _a;\n return ((_a = interceptors === null || interceptors === void 0 ? void 0 : interceptors.concat().reverse().reduce(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n (n, i) => i(n), next)) !== null && _a !== void 0 ? _a : next);\n}\n/**\n * Takes a partial protobuf messages of the\n * specified message type as input, and returns full instances.\n */\nfunction normalize(type, message) {\n return message instanceof type ? message : new type(message);\n}\n/**\n * Takes an AsyncIterable of partial protobuf messages of the\n * specified message type as input, and yields full instances.\n */\nexport function normalizeIterable(messageType, input) {\n function transform(result) {\n if (result.done === true) {\n return result;\n }\n return {\n done: result.done,\n value: normalize(messageType, result.value),\n };\n }\n return {\n [Symbol.asyncIterator]() {\n const it = input[Symbol.asyncIterator]();\n const res = {\n next: () => it.next().then(transform),\n };\n if (it.throw !== undefined) {\n res.throw = (e) => it.throw(e).then(transform); // eslint-disable-line @typescript-eslint/no-non-null-assertion\n }\n if (it.return !== undefined) {\n res.return = (v) => it.return(v).then(transform); // eslint-disable-line @typescript-eslint/no-non-null-assertion\n }\n return res;\n },\n };\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * Asserts that the fetch API is available.\n */\nexport function assertFetchApi() {\n try {\n new Headers();\n }\n catch (_) {\n throw new Error(\"connect-web requires the fetch API. Are you running on an old version of Node.js? Node.js is not supported in Connect for Web - please stay tuned for Connect for Node.\");\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nimport { Message, MethodIdempotency, MethodKind } from \"@bufbuild/protobuf\";\nimport { appendHeaders } from \"@bufbuild/connect\";\nimport { createClientMethodSerializers, createEnvelopeReadableStream, createMethodUrl, getJsonOptions, encodeEnvelope, runStreamingCall, runUnaryCall, } from \"@bufbuild/connect/protocol\";\nimport { endStreamFlag, endStreamFromJson, errorFromJson, requestHeader, trailerDemux, transformConnectPostToGetRequest, validateResponse, } from \"@bufbuild/connect/protocol-connect\";\nimport { assertFetchApi } from \"./assert-fetch-api.js\";\n/**\n * Create a Transport for the Connect protocol, which makes unary and\n * server-streaming methods available to web browsers. It uses the fetch\n * API to make HTTP requests.\n */\nexport function createConnectTransport(options) {\n var _a;\n assertFetchApi();\n const useBinaryFormat = (_a = options.useBinaryFormat) !== null && _a !== void 0 ? _a : false;\n return {\n async unary(service, method, signal, timeoutMs, header, message) {\n var _a;\n const { serialize, parse } = createClientMethodSerializers(method, useBinaryFormat, options.jsonOptions, options.binaryOptions);\n return await runUnaryCall({\n interceptors: options.interceptors,\n signal,\n timeoutMs,\n req: {\n stream: false,\n service,\n method,\n url: createMethodUrl(options.baseUrl, service, method),\n init: {\n method: \"POST\",\n credentials: (_a = options.credentials) !== null && _a !== void 0 ? _a : \"same-origin\",\n redirect: \"error\",\n mode: \"cors\",\n },\n header: requestHeader(method.kind, useBinaryFormat, timeoutMs, header),\n message,\n },\n next: async (req) => {\n var _a;\n const useGet = options.useHttpGet === true &&\n method.idempotency === MethodIdempotency.NoSideEffects;\n let body = null;\n if (useGet) {\n req = transformConnectPostToGetRequest(req, serialize(req.message), useBinaryFormat);\n }\n else {\n body = serialize(req.message);\n }\n const fetch = (_a = options.fetch) !== null && _a !== void 0 ? _a : globalThis.fetch;\n const response = await fetch(req.url, Object.assign(Object.assign({}, req.init), { headers: req.header, signal: req.signal, body }));\n const { isUnaryError, unaryError } = validateResponse(method.kind, response.status, response.headers);\n if (isUnaryError) {\n throw errorFromJson((await response.json()), appendHeaders(...trailerDemux(response.headers)), unaryError);\n }\n const [demuxedHeader, demuxedTrailer] = trailerDemux(response.headers);\n return {\n stream: false,\n service,\n method,\n header: demuxedHeader,\n message: useBinaryFormat\n ? parse(new Uint8Array(await response.arrayBuffer()))\n : method.O.fromJson((await response.json()), getJsonOptions(options.jsonOptions)),\n trailer: demuxedTrailer,\n };\n },\n });\n },\n async stream(service, method, signal, timeoutMs, header, input) {\n var _a;\n const { serialize, parse } = createClientMethodSerializers(method, useBinaryFormat, options.jsonOptions, options.binaryOptions);\n function parseResponseBody(body, trailerTarget) {\n return __asyncGenerator(this, arguments, function* parseResponseBody_1() {\n const reader = createEnvelopeReadableStream(body).getReader();\n let endStreamReceived = false;\n for (;;) {\n const result = yield __await(reader.read());\n if (result.done) {\n break;\n }\n const { flags, data } = result.value;\n if ((flags & endStreamFlag) === endStreamFlag) {\n endStreamReceived = true;\n const endStream = endStreamFromJson(data);\n if (endStream.error) {\n throw endStream.error;\n }\n endStream.metadata.forEach((value, key) => trailerTarget.set(key, value));\n continue;\n }\n yield yield __await(parse(data));\n }\n if (!endStreamReceived) {\n throw \"missing EndStreamResponse\";\n }\n });\n }\n async function createRequestBody(input) {\n if (method.kind != MethodKind.ServerStreaming) {\n throw \"The fetch API does not support streaming request bodies\";\n }\n const r = await input[Symbol.asyncIterator]().next();\n if (r.done == true) {\n throw \"missing request message\";\n }\n return encodeEnvelope(0, serialize(r.value));\n }\n return await runStreamingCall({\n interceptors: options.interceptors,\n timeoutMs,\n signal,\n req: {\n stream: true,\n service,\n method,\n url: createMethodUrl(options.baseUrl, service, method),\n init: {\n method: \"POST\",\n credentials: (_a = options.credentials) !== null && _a !== void 0 ? _a : \"same-origin\",\n redirect: \"error\",\n mode: \"cors\",\n },\n header: requestHeader(method.kind, useBinaryFormat, timeoutMs, header),\n message: input,\n },\n next: async (req) => {\n var _a;\n const fetch = (_a = options.fetch) !== null && _a !== void 0 ? _a : globalThis.fetch;\n const fRes = await fetch(req.url, Object.assign(Object.assign({}, req.init), { headers: req.header, signal: req.signal, body: await createRequestBody(req.message) }));\n validateResponse(method.kind, fRes.status, fRes.headers);\n if (fRes.body === null) {\n throw \"missing response body\";\n }\n const trailer = new Headers();\n const res = Object.assign(Object.assign({}, req), { header: fRes.headers, trailer, message: parseResponseBody(fRes.body, trailer) });\n return res;\n },\n });\n },\n };\n}\n", "// @generated by protoc-gen-es v1.3.3 with parameter \"target=ts\"\n// @generated from file user/user.proto (package user, syntax proto3)\n/* eslint-disable */\n// @ts-nocheck\n\nimport type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from \"@bufbuild/protobuf\";\nimport { Message, proto3 } from \"@bufbuild/protobuf\";\n\n/**\n * @generated from message user.GroupInfoRequest\n */\nexport class GroupInfoRequest extends Message {\n /**\n * @generated from field: string secret = 1;\n */\n secret = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.GroupInfoRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"secret\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GroupInfoRequest {\n return new GroupInfoRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GroupInfoRequest {\n return new GroupInfoRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GroupInfoRequest {\n return new GroupInfoRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: GroupInfoRequest | PlainMessage | undefined, b: GroupInfoRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(GroupInfoRequest, a, b);\n }\n}\n\n/**\n * @generated from message user.GroupID\n */\nexport class GroupID extends Message {\n /**\n * @generated from field: string group_id = 1;\n */\n groupId = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.GroupID\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"group_id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GroupID {\n return new GroupID().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GroupID {\n return new GroupID().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GroupID {\n return new GroupID().fromJsonString(jsonString, options);\n }\n\n static equals(a: GroupID | PlainMessage | undefined, b: GroupID | PlainMessage | undefined): boolean {\n return proto3.util.equals(GroupID, a, b);\n }\n}\n\n/**\n * @generated from message user.ShareRequest\n */\nexport class ShareRequest extends Message {\n /**\n * @generated from field: string content_id = 1;\n */\n contentId = \"\";\n\n /**\n * @generated from field: string group_id = 2;\n */\n groupId = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.ShareRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"content_id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"group_id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): ShareRequest {\n return new ShareRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): ShareRequest {\n return new ShareRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): ShareRequest {\n return new ShareRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: ShareRequest | PlainMessage | undefined, b: ShareRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(ShareRequest, a, b);\n }\n}\n\n/**\n * @generated from message user.GroupInvite\n */\nexport class GroupInvite extends Message {\n /**\n * @generated from field: string secret = 1;\n */\n secret = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.GroupInvite\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"secret\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GroupInvite {\n return new GroupInvite().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GroupInvite {\n return new GroupInvite().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GroupInvite {\n return new GroupInvite().fromJsonString(jsonString, options);\n }\n\n static equals(a: GroupInvite | PlainMessage | undefined, b: GroupInvite | PlainMessage | undefined): boolean {\n return proto3.util.equals(GroupInvite, a, b);\n }\n}\n\n/**\n * @generated from message user.Groups\n */\nexport class Groups extends Message {\n /**\n * @generated from field: repeated user.Group groups = 1;\n */\n groups: Group[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.Groups\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"groups\", kind: \"message\", T: Group, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Groups {\n return new Groups().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Groups {\n return new Groups().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Groups {\n return new Groups().fromJsonString(jsonString, options);\n }\n\n static equals(a: Groups | PlainMessage | undefined, b: Groups | PlainMessage | undefined): boolean {\n return proto3.util.equals(Groups, a, b);\n }\n}\n\n/**\n * @generated from message user.AnalyzeConversationRequest\n */\nexport class AnalyzeConversationRequest extends Message {\n /**\n * @generated from field: string text = 1;\n */\n text = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.AnalyzeConversationRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): AnalyzeConversationRequest {\n return new AnalyzeConversationRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): AnalyzeConversationRequest {\n return new AnalyzeConversationRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): AnalyzeConversationRequest {\n return new AnalyzeConversationRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: AnalyzeConversationRequest | PlainMessage | undefined, b: AnalyzeConversationRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(AnalyzeConversationRequest, a, b);\n }\n}\n\n/**\n * @generated from message user.User\n */\nexport class User extends Message {\n /**\n * @generated from field: string email = 1;\n */\n email = \"\";\n\n /**\n * @generated from field: string password = 2;\n */\n password = \"\";\n\n /**\n * @generated from field: user.Config config = 3;\n */\n config?: Config;\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.User\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"email\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"password\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 3, name: \"config\", kind: \"message\", T: Config },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): User {\n return new User().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): User {\n return new User().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): User {\n return new User().fromJsonString(jsonString, options);\n }\n\n static equals(a: User | PlainMessage | undefined, b: User | PlainMessage | undefined): boolean {\n return proto3.util.equals(User, a, b);\n }\n}\n\n/**\n * @generated from message user.Group\n */\nexport class Group extends Message {\n /**\n * @generated from field: string id = 1;\n */\n id = \"\";\n\n /**\n * @generated from field: string name = 2;\n */\n name = \"\";\n\n /**\n * @generated from field: repeated string users = 3;\n */\n users: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.Group\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"name\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 3, name: \"users\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Group {\n return new Group().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Group {\n return new Group().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Group {\n return new Group().fromJsonString(jsonString, options);\n }\n\n static equals(a: Group | PlainMessage | undefined, b: Group | PlainMessage | undefined): boolean {\n return proto3.util.equals(Group, a, b);\n }\n}\n\n/**\n * @generated from message user.Config\n */\nexport class Config extends Message {\n /**\n * @generated from field: repeated string domain_whitelist = 1;\n */\n domainWhitelist: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.Config\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"domain_whitelist\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Config {\n return new Config().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Config {\n return new Config().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Config {\n return new Config().fromJsonString(jsonString, options);\n }\n\n static equals(a: Config | PlainMessage | undefined, b: Config | PlainMessage | undefined): boolean {\n return proto3.util.equals(Config, a, b);\n }\n}\n\n/**\n * @generated from message user.LoginResponse\n */\nexport class LoginResponse extends Message {\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.LoginResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): LoginResponse {\n return new LoginResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): LoginResponse {\n return new LoginResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): LoginResponse {\n return new LoginResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: LoginResponse | PlainMessage | undefined, b: LoginResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(LoginResponse, a, b);\n }\n}\n\n", "// @generated by protoc-gen-es v1.3.3 with parameter \"target=ts\"\n// @generated from file content/content.proto (package content, syntax proto3)\n/* eslint-disable */\n// @ts-nocheck\n\nimport type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from \"@bufbuild/protobuf\";\nimport { Message, proto3, protoInt64 } from \"@bufbuild/protobuf\";\nimport { User } from \"../user/user_pb.js\";\n\n/**\n * @generated from message content.SetTagsRequest\n */\nexport class SetTagsRequest extends Message {\n /**\n * @generated from field: string content_id = 1;\n */\n contentId = \"\";\n\n /**\n * @generated from field: repeated string tags = 2;\n */\n tags: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.SetTagsRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"content_id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"tags\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): SetTagsRequest {\n return new SetTagsRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): SetTagsRequest {\n return new SetTagsRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): SetTagsRequest {\n return new SetTagsRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: SetTagsRequest | PlainMessage | undefined, b: SetTagsRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(SetTagsRequest, a, b);\n }\n}\n\n/**\n * @generated from message content.TagRequest\n */\nexport class TagRequest extends Message {\n /**\n * @generated from field: string group_id = 1;\n */\n groupId = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.TagRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"group_id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): TagRequest {\n return new TagRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): TagRequest {\n return new TagRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): TagRequest {\n return new TagRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: TagRequest | PlainMessage | undefined, b: TagRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(TagRequest, a, b);\n }\n}\n\n/**\n * @generated from message content.VoteRequest\n */\nexport class VoteRequest extends Message {\n /**\n * @generated from field: string content_id = 1;\n */\n contentId = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.VoteRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"content_id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): VoteRequest {\n return new VoteRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): VoteRequest {\n return new VoteRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): VoteRequest {\n return new VoteRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: VoteRequest | PlainMessage | undefined, b: VoteRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(VoteRequest, a, b);\n }\n}\n\n/**\n * @generated from message content.VoteResponse\n */\nexport class VoteResponse extends Message {\n /**\n * @generated from field: uint32 votes = 1;\n */\n votes = 0;\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.VoteResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"votes\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): VoteResponse {\n return new VoteResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): VoteResponse {\n return new VoteResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): VoteResponse {\n return new VoteResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: VoteResponse | PlainMessage | undefined, b: VoteResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(VoteResponse, a, b);\n }\n}\n\n/**\n * @generated from message content.Tags\n */\nexport class Tags extends Message {\n /**\n * @generated from field: repeated content.Tag tags = 1;\n */\n tags: Tag[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Tags\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"tags\", kind: \"message\", T: Tag, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Tags {\n return new Tags().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Tags {\n return new Tags().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Tags {\n return new Tags().fromJsonString(jsonString, options);\n }\n\n static equals(a: Tags | PlainMessage | undefined, b: Tags | PlainMessage | undefined): boolean {\n return proto3.util.equals(Tags, a, b);\n }\n}\n\n/**\n * @generated from message content.Tag\n */\nexport class Tag extends Message {\n /**\n * @generated from field: string name = 1;\n */\n name = \"\";\n\n /**\n * @generated from field: repeated content.Tag sub_tags = 2;\n */\n subTags: Tag[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Tag\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"name\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"sub_tags\", kind: \"message\", T: Tag, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Tag {\n return new Tag().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Tag {\n return new Tag().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Tag {\n return new Tag().fromJsonString(jsonString, options);\n }\n\n static equals(a: Tag | PlainMessage | undefined, b: Tag | PlainMessage | undefined): boolean {\n return proto3.util.equals(Tag, a, b);\n }\n}\n\n/**\n * @generated from message content.ContentIDs\n */\nexport class ContentIDs extends Message {\n /**\n * @generated from field: repeated string content_ids = 1;\n */\n contentIds: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.ContentIDs\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"content_ids\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): ContentIDs {\n return new ContentIDs().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): ContentIDs {\n return new ContentIDs().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): ContentIDs {\n return new ContentIDs().fromJsonString(jsonString, options);\n }\n\n static equals(a: ContentIDs | PlainMessage | undefined, b: ContentIDs | PlainMessage | undefined): boolean {\n return proto3.util.equals(ContentIDs, a, b);\n }\n}\n\n/**\n * @generated from message content.Contents\n */\nexport class Contents extends Message {\n /**\n * @generated from field: content.Content content = 1;\n */\n content?: Content;\n\n /**\n * @generated from field: repeated content.Content related = 2;\n */\n related: Content[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Contents\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"content\", kind: \"message\", T: Content },\n { no: 2, name: \"related\", kind: \"message\", T: Content, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Contents {\n return new Contents().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Contents {\n return new Contents().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Contents {\n return new Contents().fromJsonString(jsonString, options);\n }\n\n static equals(a: Contents | PlainMessage | undefined, b: Contents | PlainMessage | undefined): boolean {\n return proto3.util.equals(Contents, a, b);\n }\n}\n\n/**\n * @generated from message content.Query\n */\nexport class Query extends Message {\n /**\n * @generated from field: string query = 1;\n */\n query = \"\";\n\n /**\n * @generated from field: uint32 page = 2;\n */\n page = 0;\n\n /**\n * @generated from field: string contentID = 3;\n */\n contentID = \"\";\n\n /**\n * @generated from field: string groupID = 4;\n */\n groupID = \"\";\n\n /**\n * @generated from field: repeated string tags = 5;\n */\n tags: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Query\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"query\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"page\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */ },\n { no: 3, name: \"contentID\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 4, name: \"groupID\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 5, name: \"tags\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Query {\n return new Query().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Query {\n return new Query().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Query {\n return new Query().fromJsonString(jsonString, options);\n }\n\n static equals(a: Query | PlainMessage | undefined, b: Query | PlainMessage | undefined): boolean {\n return proto3.util.equals(Query, a, b);\n }\n}\n\n/**\n * @generated from message content.Results\n */\nexport class Results extends Message {\n /**\n * @generated from field: repeated content.StoredContent storedContent = 1;\n */\n storedContent: StoredContent[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Results\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"storedContent\", kind: \"message\", T: StoredContent, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Results {\n return new Results().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Results {\n return new Results().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Results {\n return new Results().fromJsonString(jsonString, options);\n }\n\n static equals(a: Results | PlainMessage | undefined, b: Results | PlainMessage | undefined): boolean {\n return proto3.util.equals(Results, a, b);\n }\n}\n\n/**\n * @generated from message content.StoredContent\n */\nexport class StoredContent extends Message {\n /**\n * @generated from field: content.Content content = 1;\n */\n content?: Content;\n\n /**\n * @generated from field: string id = 2;\n */\n id = \"\";\n\n /**\n * @generated from field: repeated content.Content related = 3;\n */\n related: Content[] = [];\n\n /**\n * @generated from field: string title = 4;\n */\n title = \"\";\n\n /**\n * @generated from field: string description = 5;\n */\n description = \"\";\n\n /**\n * @generated from field: string image = 6;\n */\n image = \"\";\n\n /**\n * @generated from field: string url = 7;\n */\n url = \"\";\n\n /**\n * @generated from field: int32 votes = 8;\n */\n votes = 0;\n\n /**\n * @generated from field: user.User user = 9;\n */\n user?: User;\n\n /**\n * @generated from field: repeated content.Tag tags = 10;\n */\n tags: Tag[] = [];\n\n /**\n * @generated from field: string preview = 11;\n */\n preview = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.StoredContent\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"content\", kind: \"message\", T: Content },\n { no: 2, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 3, name: \"related\", kind: \"message\", T: Content, repeated: true },\n { no: 4, name: \"title\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 5, name: \"description\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 6, name: \"image\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 7, name: \"url\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 8, name: \"votes\", kind: \"scalar\", T: 5 /* ScalarType.INT32 */ },\n { no: 9, name: \"user\", kind: \"message\", T: User },\n { no: 10, name: \"tags\", kind: \"message\", T: Tag, repeated: true },\n { no: 11, name: \"preview\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): StoredContent {\n return new StoredContent().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): StoredContent {\n return new StoredContent().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): StoredContent {\n return new StoredContent().fromJsonString(jsonString, options);\n }\n\n static equals(a: StoredContent | PlainMessage | undefined, b: StoredContent | PlainMessage | undefined): boolean {\n return proto3.util.equals(StoredContent, a, b);\n }\n}\n\n/**\n * @generated from message content.Edge\n */\nexport class Edge extends Message {\n /**\n * @generated from field: string from = 1;\n */\n from = \"\";\n\n /**\n * @generated from field: string to = 2;\n */\n to = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Edge\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"from\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"to\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Edge {\n return new Edge().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Edge {\n return new Edge().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Edge {\n return new Edge().fromJsonString(jsonString, options);\n }\n\n static equals(a: Edge | PlainMessage | undefined, b: Edge | PlainMessage | undefined): boolean {\n return proto3.util.equals(Edge, a, b);\n }\n}\n\n/**\n * Content has data and metadata\n *\n * @generated from message content.Content\n */\nexport class Content extends Message {\n /**\n * @generated from field: repeated string tags = 1;\n */\n tags: string[] = [];\n\n /**\n * @generated from field: string created_at = 2;\n */\n createdAt = \"\";\n\n /**\n * @generated from field: string uri = 3;\n */\n uri = \"\";\n\n /**\n * @generated from field: string id = 4;\n */\n id = \"\";\n\n /**\n * @generated from oneof content.Content.type\n */\n type: {\n /**\n * @generated from field: content.Data data = 6;\n */\n value: Data;\n case: \"data\";\n } | {\n /**\n * @generated from field: content.Normalized normalized = 7;\n */\n value: Normalized;\n case: \"normalized\";\n } | {\n /**\n * @generated from field: content.Transformed transformed = 8;\n */\n value: Transformed;\n case: \"transformed\";\n } | { case: undefined; value?: undefined } = { case: undefined };\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Content\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"tags\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n { no: 2, name: \"created_at\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 3, name: \"uri\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 4, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 6, name: \"data\", kind: \"message\", T: Data, oneof: \"type\" },\n { no: 7, name: \"normalized\", kind: \"message\", T: Normalized, oneof: \"type\" },\n { no: 8, name: \"transformed\", kind: \"message\", T: Transformed, oneof: \"type\" },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Content {\n return new Content().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Content {\n return new Content().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Content {\n return new Content().fromJsonString(jsonString, options);\n }\n\n static equals(a: Content | PlainMessage | undefined, b: Content | PlainMessage | undefined): boolean {\n return proto3.util.equals(Content, a, b);\n }\n}\n\n/**\n * @generated from message content.GitRepo\n */\nexport class GitRepo extends Message {\n /**\n * @generated from field: string url = 1;\n */\n url = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.GitRepo\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"url\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GitRepo {\n return new GitRepo().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GitRepo {\n return new GitRepo().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GitRepo {\n return new GitRepo().fromJsonString(jsonString, options);\n }\n\n static equals(a: GitRepo | PlainMessage | undefined, b: GitRepo | PlainMessage | undefined): boolean {\n return proto3.util.equals(GitRepo, a, b);\n }\n}\n\n/**\n * @generated from message content.Data\n */\nexport class Data extends Message {\n /**\n * @generated from oneof content.Data.type\n */\n type: {\n /**\n * @generated from field: content.Text text = 4;\n */\n value: Text;\n case: \"text\";\n } | {\n /**\n * @generated from field: content.File file = 5;\n */\n value: File;\n case: \"file\";\n } | {\n /**\n * @generated from field: content.URL url = 6;\n */\n value: URL;\n case: \"url\";\n } | { case: undefined; value?: undefined } = { case: undefined };\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Data\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 4, name: \"text\", kind: \"message\", T: Text, oneof: \"type\" },\n { no: 5, name: \"file\", kind: \"message\", T: File, oneof: \"type\" },\n { no: 6, name: \"url\", kind: \"message\", T: URL, oneof: \"type\" },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Data {\n return new Data().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Data {\n return new Data().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Data {\n return new Data().fromJsonString(jsonString, options);\n }\n\n static equals(a: Data | PlainMessage | undefined, b: Data | PlainMessage | undefined): boolean {\n return proto3.util.equals(Data, a, b);\n }\n}\n\n/**\n * @generated from message content.Normalized\n */\nexport class Normalized extends Message {\n /**\n * @generated from oneof content.Normalized.type\n */\n type: {\n /**\n * @generated from field: content.Article article = 3;\n */\n value: Article;\n case: \"article\";\n } | {\n /**\n * @generated from field: content.HTML html = 4;\n */\n value: HTML;\n case: \"html\";\n } | {\n /**\n * @generated from field: content.Transcript transcript = 6;\n */\n value: Transcript;\n case: \"transcript\";\n } | {\n /**\n * @generated from field: content.ReadMe readme = 7;\n */\n value: ReadMe;\n case: \"readme\";\n } | { case: undefined; value?: undefined } = { case: undefined };\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Normalized\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 3, name: \"article\", kind: \"message\", T: Article, oneof: \"type\" },\n { no: 4, name: \"html\", kind: \"message\", T: HTML, oneof: \"type\" },\n { no: 6, name: \"transcript\", kind: \"message\", T: Transcript, oneof: \"type\" },\n { no: 7, name: \"readme\", kind: \"message\", T: ReadMe, oneof: \"type\" },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Normalized {\n return new Normalized().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Normalized {\n return new Normalized().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Normalized {\n return new Normalized().fromJsonString(jsonString, options);\n }\n\n static equals(a: Normalized | PlainMessage | undefined, b: Normalized | PlainMessage | undefined): boolean {\n return proto3.util.equals(Normalized, a, b);\n }\n}\n\n/**\n * @generated from message content.Transformed\n */\nexport class Transformed extends Message {\n /**\n * @generated from oneof content.Transformed.type\n */\n type: {\n /**\n * @generated from field: content.Summary summary = 1;\n */\n value: Summary;\n case: \"summary\";\n } | {\n /**\n * @generated from field: content.Categories categories = 2;\n */\n value: Categories;\n case: \"categories\";\n } | { case: undefined; value?: undefined } = { case: undefined };\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Transformed\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"summary\", kind: \"message\", T: Summary, oneof: \"type\" },\n { no: 2, name: \"categories\", kind: \"message\", T: Categories, oneof: \"type\" },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Transformed {\n return new Transformed().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Transformed {\n return new Transformed().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Transformed {\n return new Transformed().fromJsonString(jsonString, options);\n }\n\n static equals(a: Transformed | PlainMessage | undefined, b: Transformed | PlainMessage | undefined): boolean {\n return proto3.util.equals(Transformed, a, b);\n }\n}\n\n/**\n * @generated from message content.Article\n */\nexport class Article extends Message
{\n /**\n * @generated from field: string title = 1;\n */\n title = \"\";\n\n /**\n * @generated from field: string author = 2;\n */\n author = \"\";\n\n /**\n * @generated from field: int32 length = 3;\n */\n length = 0;\n\n /**\n * @generated from field: string excerpt = 4;\n */\n excerpt = \"\";\n\n /**\n * @generated from field: string site_name = 5;\n */\n siteName = \"\";\n\n /**\n * @generated from field: string image = 6;\n */\n image = \"\";\n\n /**\n * @generated from field: string favicon = 7;\n */\n favicon = \"\";\n\n /**\n * @generated from field: string text = 8;\n */\n text = \"\";\n\n constructor(data?: PartialMessage
) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Article\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"title\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"author\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 3, name: \"length\", kind: \"scalar\", T: 5 /* ScalarType.INT32 */ },\n { no: 4, name: \"excerpt\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 5, name: \"site_name\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 6, name: \"image\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 7, name: \"favicon\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 8, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Article {\n return new Article().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Article {\n return new Article().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Article {\n return new Article().fromJsonString(jsonString, options);\n }\n\n static equals(a: Article | PlainMessage
| undefined, b: Article | PlainMessage
| undefined): boolean {\n return proto3.util.equals(Article, a, b);\n }\n}\n\n/**\n * @generated from message content.HTML\n */\nexport class HTML extends Message {\n /**\n * @generated from field: string html = 1;\n */\n html = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.HTML\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"html\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): HTML {\n return new HTML().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): HTML {\n return new HTML().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): HTML {\n return new HTML().fromJsonString(jsonString, options);\n }\n\n static equals(a: HTML | PlainMessage | undefined, b: HTML | PlainMessage | undefined): boolean {\n return proto3.util.equals(HTML, a, b);\n }\n}\n\n/**\n * @generated from message content.ReadMe\n */\nexport class ReadMe extends Message {\n /**\n * @generated from field: string data = 1;\n */\n data = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.ReadMe\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"data\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): ReadMe {\n return new ReadMe().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): ReadMe {\n return new ReadMe().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): ReadMe {\n return new ReadMe().fromJsonString(jsonString, options);\n }\n\n static equals(a: ReadMe | PlainMessage | undefined, b: ReadMe | PlainMessage | undefined): boolean {\n return proto3.util.equals(ReadMe, a, b);\n }\n}\n\n/**\n * @generated from message content.Summary\n */\nexport class Summary extends Message {\n /**\n * @generated from field: string summary = 1;\n */\n summary = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Summary\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"summary\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Summary {\n return new Summary().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Summary {\n return new Summary().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Summary {\n return new Summary().fromJsonString(jsonString, options);\n }\n\n static equals(a: Summary | PlainMessage | undefined, b: Summary | PlainMessage | undefined): boolean {\n return proto3.util.equals(Summary, a, b);\n }\n}\n\n/**\n * @generated from message content.Categories\n */\nexport class Categories extends Message {\n /**\n * @generated from field: repeated string categories = 1;\n */\n categories: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Categories\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"categories\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Categories {\n return new Categories().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Categories {\n return new Categories().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Categories {\n return new Categories().fromJsonString(jsonString, options);\n }\n\n static equals(a: Categories | PlainMessage | undefined, b: Categories | PlainMessage | undefined): boolean {\n return proto3.util.equals(Categories, a, b);\n }\n}\n\n/**\n * @generated from message content.File\n */\nexport class File extends Message {\n /**\n * @generated from field: string file = 1;\n */\n file = \"\";\n\n /**\n * @generated from field: bytes data = 2;\n */\n data = new Uint8Array(0);\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.File\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"file\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"data\", kind: \"scalar\", T: 12 /* ScalarType.BYTES */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): File {\n return new File().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): File {\n return new File().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): File {\n return new File().fromJsonString(jsonString, options);\n }\n\n static equals(a: File | PlainMessage | undefined, b: File | PlainMessage | undefined): boolean {\n return proto3.util.equals(File, a, b);\n }\n}\n\n/**\n * @generated from message content.Text\n */\nexport class Text extends Message {\n /**\n * @generated from field: string data = 1;\n */\n data = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Text\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"data\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Text {\n return new Text().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Text {\n return new Text().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Text {\n return new Text().fromJsonString(jsonString, options);\n }\n\n static equals(a: Text | PlainMessage | undefined, b: Text | PlainMessage | undefined): boolean {\n return proto3.util.equals(Text, a, b);\n }\n}\n\n/**\n * @generated from message content.URL\n */\nexport class URL extends Message {\n /**\n * @generated from field: string url = 1;\n */\n url = \"\";\n\n /**\n * @generated from field: bool crawl = 2;\n */\n crawl = false;\n\n /**\n * @generated from field: string title = 3;\n */\n title = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.URL\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"url\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"crawl\", kind: \"scalar\", T: 8 /* ScalarType.BOOL */ },\n { no: 3, name: \"title\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): URL {\n return new URL().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): URL {\n return new URL().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): URL {\n return new URL().fromJsonString(jsonString, options);\n }\n\n static equals(a: URL | PlainMessage | undefined, b: URL | PlainMessage | undefined): boolean {\n return proto3.util.equals(URL, a, b);\n }\n}\n\n/**\n * @generated from message content.Token\n */\nexport class Token extends Message {\n /**\n * @generated from field: uint32 id = 1;\n */\n id = 0;\n\n /**\n * @generated from field: uint64 start_time = 2;\n */\n startTime = protoInt64.zero;\n\n /**\n * @generated from field: uint64 end_time = 3;\n */\n endTime = protoInt64.zero;\n\n /**\n * @generated from field: string text = 4;\n */\n text = \"\";\n\n /**\n * @generated from field: string p = 5;\n */\n p = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Token\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */ },\n { no: 2, name: \"start_time\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n { no: 3, name: \"end_time\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n { no: 4, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 5, name: \"p\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Token {\n return new Token().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Token {\n return new Token().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Token {\n return new Token().fromJsonString(jsonString, options);\n }\n\n static equals(a: Token | PlainMessage | undefined, b: Token | PlainMessage | undefined): boolean {\n return proto3.util.equals(Token, a, b);\n }\n}\n\n/**\n * @generated from message content.Segment\n */\nexport class Segment extends Message {\n /**\n * @generated from field: uint32 num = 1;\n */\n num = 0;\n\n /**\n * @generated from field: repeated content.Token tokens = 2;\n */\n tokens: Token[] = [];\n\n /**\n * @generated from field: string text = 3;\n */\n text = \"\";\n\n /**\n * @generated from field: uint64 start_time = 4;\n */\n startTime = protoInt64.zero;\n\n /**\n * @generated from field: uint64 end_time = 5;\n */\n endTime = protoInt64.zero;\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Segment\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"num\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */ },\n { no: 2, name: \"tokens\", kind: \"message\", T: Token, repeated: true },\n { no: 3, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 4, name: \"start_time\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n { no: 5, name: \"end_time\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Segment {\n return new Segment().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Segment {\n return new Segment().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Segment {\n return new Segment().fromJsonString(jsonString, options);\n }\n\n static equals(a: Segment | PlainMessage | undefined, b: Segment | PlainMessage | undefined): boolean {\n return proto3.util.equals(Segment, a, b);\n }\n}\n\n/**\n * @generated from message content.Transcript\n */\nexport class Transcript extends Message {\n /**\n * @generated from field: string id = 1;\n */\n id = \"\";\n\n /**\n * @generated from field: string name = 2;\n */\n name = \"\";\n\n /**\n * @generated from field: repeated content.Segment segments = 3;\n */\n segments: Segment[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Transcript\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"name\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 3, name: \"segments\", kind: \"message\", T: Segment, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Transcript {\n return new Transcript().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Transcript {\n return new Transcript().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Transcript {\n return new Transcript().fromJsonString(jsonString, options);\n }\n\n static equals(a: Transcript | PlainMessage | undefined, b: Transcript | PlainMessage | undefined): boolean {\n return proto3.util.equals(Transcript, a, b);\n }\n}\n\n", "// @generated by protoc-gen-es v1.3.3 with parameter \"target=ts\"\n// @generated from file protoflow.proto (package protoflow, syntax proto3)\n/* eslint-disable */\n// @ts-nocheck\n\nimport type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from \"@bufbuild/protobuf\";\nimport { Message, proto3, protoInt64 } from \"@bufbuild/protobuf\";\nimport { Content } from \"./content/content_pb.js\";\n\n/**\n * @generated from message protoflow.AnalyzeConversationRequest\n */\nexport class AnalyzeConversationRequest extends Message {\n /**\n * @generated from field: string text = 1;\n */\n text = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.AnalyzeConversationRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): AnalyzeConversationRequest {\n return new AnalyzeConversationRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): AnalyzeConversationRequest {\n return new AnalyzeConversationRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): AnalyzeConversationRequest {\n return new AnalyzeConversationRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: AnalyzeConversationRequest | PlainMessage | undefined, b: AnalyzeConversationRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(AnalyzeConversationRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.GenerateImagesRequest\n */\nexport class GenerateImagesRequest extends Message {\n /**\n * @generated from field: string prompt = 1;\n */\n prompt = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.GenerateImagesRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"prompt\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GenerateImagesRequest {\n return new GenerateImagesRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GenerateImagesRequest {\n return new GenerateImagesRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GenerateImagesRequest {\n return new GenerateImagesRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: GenerateImagesRequest | PlainMessage | undefined, b: GenerateImagesRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(GenerateImagesRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.GenerateImagesResponse\n */\nexport class GenerateImagesResponse extends Message {\n /**\n * @generated from field: repeated string images = 1;\n */\n images: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.GenerateImagesResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"images\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GenerateImagesResponse {\n return new GenerateImagesResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GenerateImagesResponse {\n return new GenerateImagesResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GenerateImagesResponse {\n return new GenerateImagesResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: GenerateImagesResponse | PlainMessage | undefined, b: GenerateImagesResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(GenerateImagesResponse, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.DeleteSessionRequest\n */\nexport class DeleteSessionRequest extends Message {\n /**\n * @generated from field: string id = 1;\n */\n id = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.DeleteSessionRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): DeleteSessionRequest {\n return new DeleteSessionRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): DeleteSessionRequest {\n return new DeleteSessionRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): DeleteSessionRequest {\n return new DeleteSessionRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: DeleteSessionRequest | PlainMessage | undefined, b: DeleteSessionRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(DeleteSessionRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.Prompt\n */\nexport class Prompt extends Message {\n /**\n * @generated from field: string id = 1;\n */\n id = \"\";\n\n /**\n * @generated from field: string text = 2;\n */\n text = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.Prompt\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Prompt {\n return new Prompt().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Prompt {\n return new Prompt().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Prompt {\n return new Prompt().fromJsonString(jsonString, options);\n }\n\n static equals(a: Prompt | PlainMessage | undefined, b: Prompt | PlainMessage | undefined): boolean {\n return proto3.util.equals(Prompt, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.GetPromptsRequest\n */\nexport class GetPromptsRequest extends Message {\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.GetPromptsRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GetPromptsRequest {\n return new GetPromptsRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GetPromptsRequest {\n return new GetPromptsRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GetPromptsRequest {\n return new GetPromptsRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: GetPromptsRequest | PlainMessage | undefined, b: GetPromptsRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(GetPromptsRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.GetPromptsResponse\n */\nexport class GetPromptsResponse extends Message {\n /**\n * @generated from field: repeated protoflow.Prompt prompts = 1;\n */\n prompts: Prompt[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.GetPromptsResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"prompts\", kind: \"message\", T: Prompt, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GetPromptsResponse {\n return new GetPromptsResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GetPromptsResponse {\n return new GetPromptsResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GetPromptsResponse {\n return new GetPromptsResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: GetPromptsResponse | PlainMessage | undefined, b: GetPromptsResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(GetPromptsResponse, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.InferRequest\n */\nexport class InferRequest extends Message {\n /**\n * @generated from field: string prompt = 1;\n */\n prompt = \"\";\n\n /**\n * @generated from field: repeated string text = 2;\n */\n text: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.InferRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"prompt\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): InferRequest {\n return new InferRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): InferRequest {\n return new InferRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): InferRequest {\n return new InferRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: InferRequest | PlainMessage | undefined, b: InferRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(InferRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.InferResponse\n */\nexport class InferResponse extends Message {\n /**\n * @generated from field: string text = 1;\n */\n text = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.InferResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): InferResponse {\n return new InferResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): InferResponse {\n return new InferResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): InferResponse {\n return new InferResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: InferResponse | PlainMessage | undefined, b: InferResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(InferResponse, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.UploadContentRequest\n */\nexport class UploadContentRequest extends Message {\n /**\n * @generated from field: content.Content content = 1;\n */\n content?: Content;\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.UploadContentRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"content\", kind: \"message\", T: Content },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): UploadContentRequest {\n return new UploadContentRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): UploadContentRequest {\n return new UploadContentRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): UploadContentRequest {\n return new UploadContentRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: UploadContentRequest | PlainMessage | undefined, b: UploadContentRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(UploadContentRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.UploadContentResponse\n */\nexport class UploadContentResponse extends Message {\n /**\n * @generated from field: string id = 1;\n */\n id = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.UploadContentResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): UploadContentResponse {\n return new UploadContentResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): UploadContentResponse {\n return new UploadContentResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): UploadContentResponse {\n return new UploadContentResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: UploadContentResponse | PlainMessage | undefined, b: UploadContentResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(UploadContentResponse, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.GetSessionRequest\n */\nexport class GetSessionRequest extends Message {\n /**\n * @generated from field: string id = 1;\n */\n id = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.GetSessionRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GetSessionRequest {\n return new GetSessionRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GetSessionRequest {\n return new GetSessionRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GetSessionRequest {\n return new GetSessionRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: GetSessionRequest | PlainMessage | undefined, b: GetSessionRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(GetSessionRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.GetSessionResponse\n */\nexport class GetSessionResponse extends Message {\n /**\n * @generated from field: protoflow.Session session = 1;\n */\n session?: Session;\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.GetSessionResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"session\", kind: \"message\", T: Session },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GetSessionResponse {\n return new GetSessionResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GetSessionResponse {\n return new GetSessionResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GetSessionResponse {\n return new GetSessionResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: GetSessionResponse | PlainMessage | undefined, b: GetSessionResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(GetSessionResponse, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.GetSessionsRequest\n */\nexport class GetSessionsRequest extends Message {\n /**\n * @generated from field: uint64 page = 1;\n */\n page = protoInt64.zero;\n\n /**\n * @generated from field: uint64 limit = 2;\n */\n limit = protoInt64.zero;\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.GetSessionsRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"page\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n { no: 2, name: \"limit\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GetSessionsRequest {\n return new GetSessionsRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GetSessionsRequest {\n return new GetSessionsRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GetSessionsRequest {\n return new GetSessionsRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: GetSessionsRequest | PlainMessage | undefined, b: GetSessionsRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(GetSessionsRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.GetSessionsResponse\n */\nexport class GetSessionsResponse extends Message {\n /**\n * @generated from field: repeated protoflow.Session sessions = 1;\n */\n sessions: Session[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.GetSessionsResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"sessions\", kind: \"message\", T: Session, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GetSessionsResponse {\n return new GetSessionsResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GetSessionsResponse {\n return new GetSessionsResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GetSessionsResponse {\n return new GetSessionsResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: GetSessionsResponse | PlainMessage | undefined, b: GetSessionsResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(GetSessionsResponse, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.Token\n */\nexport class Token extends Message {\n /**\n * @generated from field: uint32 id = 1;\n */\n id = 0;\n\n /**\n * @generated from field: uint64 start_time = 2;\n */\n startTime = protoInt64.zero;\n\n /**\n * @generated from field: uint64 end_time = 3;\n */\n endTime = protoInt64.zero;\n\n /**\n * @generated from field: string text = 4;\n */\n text = \"\";\n\n /**\n * @generated from field: string p = 5;\n */\n p = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.Token\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */ },\n { no: 2, name: \"start_time\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n { no: 3, name: \"end_time\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n { no: 4, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 5, name: \"p\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Token {\n return new Token().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Token {\n return new Token().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Token {\n return new Token().fromJsonString(jsonString, options);\n }\n\n static equals(a: Token | PlainMessage | undefined, b: Token | PlainMessage | undefined): boolean {\n return proto3.util.equals(Token, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.Segment\n */\nexport class Segment extends Message {\n /**\n * @generated from field: uint32 num = 1;\n */\n num = 0;\n\n /**\n * @generated from field: repeated protoflow.Token tokens = 2;\n */\n tokens: Token[] = [];\n\n /**\n * @generated from field: string text = 3;\n */\n text = \"\";\n\n /**\n * @generated from field: uint64 start_time = 4;\n */\n startTime = protoInt64.zero;\n\n /**\n * @generated from field: uint64 end_time = 5;\n */\n endTime = protoInt64.zero;\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.Segment\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"num\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */ },\n { no: 2, name: \"tokens\", kind: \"message\", T: Token, repeated: true },\n { no: 3, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 4, name: \"start_time\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n { no: 5, name: \"end_time\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Segment {\n return new Segment().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Segment {\n return new Segment().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Segment {\n return new Segment().fromJsonString(jsonString, options);\n }\n\n static equals(a: Segment | PlainMessage | undefined, b: Segment | PlainMessage | undefined): boolean {\n return proto3.util.equals(Segment, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.Session\n */\nexport class Session extends Message {\n /**\n * @generated from field: string id = 1;\n */\n id = \"\";\n\n /**\n * @generated from field: string name = 2;\n */\n name = \"\";\n\n /**\n * @generated from field: repeated protoflow.Segment segments = 3;\n */\n segments: Segment[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.Session\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"name\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 3, name: \"segments\", kind: \"message\", T: Segment, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Session {\n return new Session().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Session {\n return new Session().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Session {\n return new Session().fromJsonString(jsonString, options);\n }\n\n static equals(a: Session | PlainMessage | undefined, b: Session | PlainMessage | undefined): boolean {\n return proto3.util.equals(Session, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.TranscriptionRequest\n */\nexport class TranscriptionRequest extends Message {\n /**\n * @generated from field: string file_path = 14;\n */\n filePath = \"\";\n\n /**\n * Path to the model file\n *\n * @generated from field: string model = 1;\n */\n model = \"\";\n\n /**\n * Spoken language\n *\n * @generated from field: string language = 2;\n */\n language = \"\";\n\n /**\n * Translate from source language to English\n *\n * @generated from field: bool translate = 3;\n */\n translate = false;\n\n /**\n * Time offset in nanoseconds to match Go's time.Duration\n *\n * @generated from field: int64 offset = 4;\n */\n offset = protoInt64.zero;\n\n /**\n * Duration of audio to process in nanoseconds\n *\n * @generated from field: int64 duration = 5;\n */\n duration = protoInt64.zero;\n\n /**\n * Number of threads to use\n *\n * @generated from field: uint32 threads = 6;\n */\n threads = 0;\n\n /**\n * Enable speedup\n *\n * @generated from field: bool speedup = 7;\n */\n speedup = false;\n\n /**\n * Maximum segment length in characters\n *\n * @generated from field: uint32 max_len = 8;\n */\n maxLen = 0;\n\n /**\n * Maximum tokens per segment\n *\n * @generated from field: uint32 max_tokens = 9;\n */\n maxTokens = 0;\n\n /**\n * Maximum segment score\n *\n * @generated from field: double word_threshold = 10;\n */\n wordThreshold = 0;\n\n /**\n * Display tokens\n *\n * @generated from field: bool tokens = 11;\n */\n tokens = false;\n\n /**\n * Colorize tokens\n *\n * @generated from field: bool colorize = 12;\n */\n colorize = false;\n\n /**\n * Output format (srt, none or leave as empty string)\n *\n * @generated from field: string out = 13;\n */\n out = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.TranscriptionRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 14, name: \"file_path\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 1, name: \"model\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"language\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 3, name: \"translate\", kind: \"scalar\", T: 8 /* ScalarType.BOOL */ },\n { no: 4, name: \"offset\", kind: \"scalar\", T: 3 /* ScalarType.INT64 */ },\n { no: 5, name: \"duration\", kind: \"scalar\", T: 3 /* ScalarType.INT64 */ },\n { no: 6, name: \"threads\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */ },\n { no: 7, name: \"speedup\", kind: \"scalar\", T: 8 /* ScalarType.BOOL */ },\n { no: 8, name: \"max_len\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */ },\n { no: 9, name: \"max_tokens\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */ },\n { no: 10, name: \"word_threshold\", kind: \"scalar\", T: 1 /* ScalarType.DOUBLE */ },\n { no: 11, name: \"tokens\", kind: \"scalar\", T: 8 /* ScalarType.BOOL */ },\n { no: 12, name: \"colorize\", kind: \"scalar\", T: 8 /* ScalarType.BOOL */ },\n { no: 13, name: \"out\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): TranscriptionRequest {\n return new TranscriptionRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): TranscriptionRequest {\n return new TranscriptionRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): TranscriptionRequest {\n return new TranscriptionRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: TranscriptionRequest | PlainMessage | undefined, b: TranscriptionRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(TranscriptionRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.RegisterFlags\n */\nexport class RegisterFlags extends Message {\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.RegisterFlags\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): RegisterFlags {\n return new RegisterFlags().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): RegisterFlags {\n return new RegisterFlags().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): RegisterFlags {\n return new RegisterFlags().fromJsonString(jsonString, options);\n }\n\n static equals(a: RegisterFlags | PlainMessage | undefined, b: RegisterFlags | PlainMessage | undefined): boolean {\n return proto3.util.equals(RegisterFlags, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.OCRText\n */\nexport class OCRText extends Message {\n /**\n * @generated from field: string text = 1;\n */\n text = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.OCRText\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): OCRText {\n return new OCRText().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): OCRText {\n return new OCRText().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): OCRText {\n return new OCRText().fromJsonString(jsonString, options);\n }\n\n static equals(a: OCRText | PlainMessage | undefined, b: OCRText | PlainMessage | undefined): boolean {\n return proto3.util.equals(OCRText, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.Image\n */\nexport class Image extends Message {\n /**\n * @generated from field: bytes image = 1;\n */\n image = new Uint8Array(0);\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.Image\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"image\", kind: \"scalar\", T: 12 /* ScalarType.BYTES */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Image {\n return new Image().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Image {\n return new Image().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Image {\n return new Image().fromJsonString(jsonString, options);\n }\n\n static equals(a: Image | PlainMessage | undefined, b: Image | PlainMessage | undefined): boolean {\n return proto3.util.equals(Image, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.ConvertFileRequest\n */\nexport class ConvertFileRequest extends Message {\n /**\n * @generated from field: string from = 1;\n */\n from = \"\";\n\n /**\n * @generated from field: string to = 2;\n */\n to = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.ConvertFileRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"from\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"to\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): ConvertFileRequest {\n return new ConvertFileRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): ConvertFileRequest {\n return new ConvertFileRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): ConvertFileRequest {\n return new ConvertFileRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: ConvertFileRequest | PlainMessage | undefined, b: ConvertFileRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(ConvertFileRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.ChatRequest\n */\nexport class ChatRequest extends Message {\n /**\n * @generated from field: int32 capture_device = 1;\n */\n captureDevice = 0;\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.ChatRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"capture_device\", kind: \"scalar\", T: 5 /* ScalarType.INT32 */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): ChatRequest {\n return new ChatRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): ChatRequest {\n return new ChatRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): ChatRequest {\n return new ChatRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: ChatRequest | PlainMessage | undefined, b: ChatRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(ChatRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.ChatResponse\n */\nexport class ChatResponse extends Message {\n /**\n * @generated from field: protoflow.Segment segment = 1;\n */\n segment?: Segment;\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.ChatResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"segment\", kind: \"message\", T: Segment },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): ChatResponse {\n return new ChatResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): ChatResponse {\n return new ChatResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): ChatResponse {\n return new ChatResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: ChatResponse | PlainMessage | undefined, b: ChatResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(ChatResponse, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.YouTubeVideo\n */\nexport class YouTubeVideo extends Message {\n /**\n * @generated from field: string id = 1;\n */\n id = \"\";\n\n /**\n * @generated from field: string file = 2;\n */\n file = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.YouTubeVideo\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"file\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): YouTubeVideo {\n return new YouTubeVideo().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): YouTubeVideo {\n return new YouTubeVideo().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): YouTubeVideo {\n return new YouTubeVideo().fromJsonString(jsonString, options);\n }\n\n static equals(a: YouTubeVideo | PlainMessage | undefined, b: YouTubeVideo | PlainMessage | undefined): boolean {\n return proto3.util.equals(YouTubeVideo, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.FilePath\n */\nexport class FilePath extends Message {\n /**\n * @generated from field: string file = 1;\n */\n file = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.FilePath\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"file\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): FilePath {\n return new FilePath().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): FilePath {\n return new FilePath().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): FilePath {\n return new FilePath().fromJsonString(jsonString, options);\n }\n\n static equals(a: FilePath | PlainMessage | undefined, b: FilePath | PlainMessage | undefined): boolean {\n return proto3.util.equals(FilePath, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.YouTubeVideoResponse\n */\nexport class YouTubeVideoResponse extends Message {\n /**\n * @generated from field: string title = 1;\n */\n title = \"\";\n\n /**\n * @generated from field: protoflow.FilePath file_path = 2;\n */\n filePath?: FilePath;\n\n /**\n * @generated from field: repeated protoflow.Segment transcript = 3;\n */\n transcript: Segment[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.YouTubeVideoResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"title\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"file_path\", kind: \"message\", T: FilePath },\n { no: 3, name: \"transcript\", kind: \"message\", T: Segment, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): YouTubeVideoResponse {\n return new YouTubeVideoResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): YouTubeVideoResponse {\n return new YouTubeVideoResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): YouTubeVideoResponse {\n return new YouTubeVideoResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: YouTubeVideoResponse | PlainMessage | undefined, b: YouTubeVideoResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(YouTubeVideoResponse, a, b);\n }\n}\n\n", "// @generated by protoc-gen-es v1.3.3 with parameter \"target=ts\"\n// @generated from file ai.proto (package ai, syntax proto3)\n/* eslint-disable */\n// @ts-nocheck\n\nimport type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from \"@bufbuild/protobuf\";\nimport { Message, proto3 } from \"@bufbuild/protobuf\";\n\n/**\n * @generated from message ai.AnalyzeConversationResponse\n */\nexport class AnalyzeConversationResponse extends Message {\n /**\n * Phone numbers of the participants\n *\n * @generated from field: repeated string phone_numbers = 1;\n */\n phoneNumbers: string[] = [];\n\n /**\n * The summary of the conversation\n *\n * @generated from field: string summary = 2;\n */\n summary = \"\";\n\n /**\n * Based on the content of the conversation, the system will generate a list of questions\n *\n * @generated from field: repeated string questions = 3;\n */\n questions: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"ai.AnalyzeConversationResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"phone_numbers\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n { no: 2, name: \"summary\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 3, name: \"questions\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): AnalyzeConversationResponse {\n return new AnalyzeConversationResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): AnalyzeConversationResponse {\n return new AnalyzeConversationResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): AnalyzeConversationResponse {\n return new AnalyzeConversationResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: AnalyzeConversationResponse | PlainMessage | undefined, b: AnalyzeConversationResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(AnalyzeConversationResponse, a, b);\n }\n}\n\n/**\n * @generated from message ai.AnalyzeContent\n */\nexport class AnalyzeContent extends Message {\n /**\n * Potential categories for the content in the form: category/subcategory/other-category. The category is all lowercase and spaces are replaced with dashes.\n *\n * @generated from field: repeated string categories = 1;\n */\n categories: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"ai.AnalyzeContent\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"categories\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): AnalyzeContent {\n return new AnalyzeContent().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): AnalyzeContent {\n return new AnalyzeContent().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): AnalyzeContent {\n return new AnalyzeContent().fromJsonString(jsonString, options);\n }\n\n static equals(a: AnalyzeContent | PlainMessage | undefined, b: AnalyzeContent | PlainMessage | undefined): boolean {\n return proto3.util.equals(AnalyzeContent, a, b);\n }\n}\n\n", "// @generated by protoc-gen-connect-es v0.13.0 with parameter \"target=ts\"\n// @generated from file protoflow.proto (package protoflow, syntax proto3)\n/* eslint-disable */\n// @ts-nocheck\n\nimport { AnalyzeConversationRequest, ChatRequest, ChatResponse, ConvertFileRequest, DeleteSessionRequest, FilePath, GenerateImagesRequest, GenerateImagesResponse, GetPromptsRequest, GetPromptsResponse, GetSessionRequest, GetSessionResponse, GetSessionsRequest, GetSessionsResponse, InferRequest, InferResponse, Prompt, UploadContentRequest, YouTubeVideo, YouTubeVideoResponse } from \"./protoflow_pb.js\";\nimport { Empty, MethodKind } from \"@bufbuild/protobuf\";\nimport { AnalyzeConversationResponse } from \"./ai_pb.js\";\n\n/**\n * @generated from service protoflow.ProtoflowService\n */\nexport const ProtoflowService = {\n typeName: \"protoflow.ProtoflowService\",\n methods: {\n /**\n * @generated from rpc protoflow.ProtoflowService.DownloadYouTubeVideo\n */\n downloadYouTubeVideo: {\n name: \"DownloadYouTubeVideo\",\n I: YouTubeVideo,\n O: YouTubeVideoResponse,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.GetSessions\n */\n getSessions: {\n name: \"GetSessions\",\n I: GetSessionsRequest,\n O: GetSessionsResponse,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.GetSession\n */\n getSession: {\n name: \"GetSession\",\n I: GetSessionRequest,\n O: GetSessionResponse,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.DeleteSession\n */\n deleteSession: {\n name: \"DeleteSession\",\n I: DeleteSessionRequest,\n O: Empty,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.GetPrompts\n */\n getPrompts: {\n name: \"GetPrompts\",\n I: GetPromptsRequest,\n O: GetPromptsResponse,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.NewPrompt\n */\n newPrompt: {\n name: \"NewPrompt\",\n I: Prompt,\n O: Prompt,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.UploadContent\n */\n uploadContent: {\n name: \"UploadContent\",\n I: UploadContentRequest,\n O: ChatResponse,\n kind: MethodKind.ServerStreaming,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.Infer\n */\n infer: {\n name: \"Infer\",\n I: InferRequest,\n O: InferResponse,\n kind: MethodKind.ServerStreaming,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.Chat\n */\n chat: {\n name: \"Chat\",\n I: ChatRequest,\n O: ChatResponse,\n kind: MethodKind.ServerStreaming,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.ConvertFile\n */\n convertFile: {\n name: \"ConvertFile\",\n I: ConvertFileRequest,\n O: FilePath,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.GenerateImages\n */\n generateImages: {\n name: \"GenerateImages\",\n I: GenerateImagesRequest,\n O: GenerateImagesResponse,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.AnalyzeConversation\n */\n analyzeConversation: {\n name: \"AnalyzeConversation\",\n I: AnalyzeConversationRequest,\n O: AnalyzeConversationResponse,\n kind: MethodKind.Unary,\n },\n }\n} as const;\n\n", "// @generated by protoc-gen-connect-es v0.13.0 with parameter \"target=ts\"\n// @generated from file content/content.proto (package content, syntax proto3)\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Content, ContentIDs, Contents, Query, Results, SetTagsRequest, TagRequest, Tags, VoteRequest, VoteResponse } from \"./content_pb.js\";\nimport { Empty, MethodKind } from \"@bufbuild/protobuf\";\n\n/**\n * @generated from service content.ContentService\n */\nexport const ContentService = {\n typeName: \"content.ContentService\",\n methods: {\n /**\n * @generated from rpc content.ContentService.Save\n */\n save: {\n name: \"Save\",\n I: Contents,\n O: ContentIDs,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc content.ContentService.Search\n */\n search: {\n name: \"Search\",\n I: Query,\n O: Results,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc content.ContentService.Analyze\n */\n analyze: {\n name: \"Analyze\",\n I: Content,\n O: Contents,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc content.ContentService.Delete\n */\n delete: {\n name: \"Delete\",\n I: ContentIDs,\n O: ContentIDs,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc content.ContentService.GetTags\n */\n getTags: {\n name: \"GetTags\",\n I: TagRequest,\n O: Tags,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc content.ContentService.SetTags\n */\n setTags: {\n name: \"SetTags\",\n I: SetTagsRequest,\n O: Empty,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc content.ContentService.Vote\n */\n vote: {\n name: \"Vote\",\n I: VoteRequest,\n O: VoteResponse,\n kind: MethodKind.Unary,\n },\n }\n} as const;\n\n", "// @generated by protoc-gen-connect-es v0.13.0 with parameter \"target=ts\"\n// @generated from file user/user.proto (package user, syntax proto3)\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Config, Group, GroupID, GroupInfoRequest, GroupInvite, Groups, ShareRequest, User } from \"./user_pb.js\";\nimport { Empty, MethodKind } from \"@bufbuild/protobuf\";\n\n/**\n * @generated from service user.UserService\n */\nexport const UserService = {\n typeName: \"user.UserService\",\n methods: {\n /**\n * @generated from rpc user.UserService.Register\n */\n register: {\n name: \"Register\",\n I: User,\n O: User,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.Login\n */\n login: {\n name: \"Login\",\n I: User,\n O: User,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.Logout\n */\n logout: {\n name: \"Logout\",\n I: Empty,\n O: Empty,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.UpdateConfig\n */\n updateConfig: {\n name: \"UpdateConfig\",\n I: Config,\n O: Empty,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.CreateGroupInvite\n */\n createGroupInvite: {\n name: \"CreateGroupInvite\",\n I: GroupID,\n O: GroupInvite,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.JoinGroup\n */\n joinGroup: {\n name: \"JoinGroup\",\n I: GroupInvite,\n O: Group,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.GroupInfo\n */\n groupInfo: {\n name: \"GroupInfo\",\n I: GroupInfoRequest,\n O: Group,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.CreateGroup\n */\n createGroup: {\n name: \"CreateGroup\",\n I: Group,\n O: Group,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.GetGroups\n */\n getGroups: {\n name: \"GetGroups\",\n I: Empty,\n O: Groups,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.DeleteGroup\n */\n deleteGroup: {\n name: \"DeleteGroup\",\n I: Group,\n O: Empty,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.Share\n */\n share: {\n name: \"Share\",\n I: ShareRequest,\n O: Empty,\n kind: MethodKind.Unary,\n },\n }\n} as const;\n\n", "type Listener = () => void\n\nexport class Subscribable {\n protected listeners: Set<{ listener: TListener }>\n\n constructor() {\n this.listeners = new Set()\n this.subscribe = this.subscribe.bind(this)\n }\n\n subscribe(listener: TListener): () => void {\n const identity = { listener }\n this.listeners.add(identity)\n\n this.onSubscribe()\n\n return () => {\n this.listeners.delete(identity)\n this.onUnsubscribe()\n }\n }\n\n hasListeners(): boolean {\n return this.listeners.size > 0\n }\n\n protected onSubscribe(): void {\n // Do nothing\n }\n\n protected onUnsubscribe(): void {\n // Do nothing\n }\n}\n", "import type { Mutation } from './mutation'\nimport type { Query } from './query'\nimport type {\n FetchStatus,\n MutationFunction,\n MutationKey,\n MutationOptions,\n QueryFunction,\n QueryKey,\n QueryOptions,\n} from './types'\n\n// TYPES\n\nexport interface QueryFilters {\n /**\n * Filter to active queries, inactive queries or all queries\n */\n type?: QueryTypeFilter\n /**\n * Match query key exactly\n */\n exact?: boolean\n /**\n * Include queries matching this predicate function\n */\n predicate?: (query: Query) => boolean\n /**\n * Include queries matching this query key\n */\n queryKey?: QueryKey\n /**\n * Include or exclude stale queries\n */\n stale?: boolean\n /**\n * Include queries matching their fetchStatus\n */\n fetchStatus?: FetchStatus\n}\n\nexport interface MutationFilters {\n /**\n * Match mutation key exactly\n */\n exact?: boolean\n /**\n * Include mutations matching this predicate function\n */\n predicate?: (mutation: Mutation) => boolean\n /**\n * Include mutations matching this mutation key\n */\n mutationKey?: MutationKey\n /**\n * Include or exclude fetching mutations\n */\n fetching?: boolean\n}\n\nexport type DataUpdateFunction = (input: TInput) => TOutput\n\nexport type Updater =\n | TOutput\n | DataUpdateFunction\n\nexport type QueryTypeFilter = 'all' | 'active' | 'inactive'\n\n// UTILS\n\nexport const isServer = typeof window === 'undefined' || 'Deno' in window\n\nexport function noop(): undefined {\n return undefined\n}\n\nexport function functionalUpdate(\n updater: Updater,\n input: TInput,\n): TOutput {\n return typeof updater === 'function'\n ? (updater as DataUpdateFunction)(input)\n : updater\n}\n\nexport function isValidTimeout(value: unknown): value is number {\n return typeof value === 'number' && value >= 0 && value !== Infinity\n}\n\nexport function difference(array1: T[], array2: T[]): T[] {\n return array1.filter((x) => !array2.includes(x))\n}\n\nexport function replaceAt(array: T[], index: number, value: T): T[] {\n const copy = array.slice(0)\n copy[index] = value\n return copy\n}\n\nexport function timeUntilStale(updatedAt: number, staleTime?: number): number {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0)\n}\n\nexport function parseQueryArgs<\n TOptions extends QueryOptions,\n TQueryKey extends QueryKey = QueryKey,\n>(\n arg1: TQueryKey | TOptions,\n arg2?: QueryFunction | TOptions,\n arg3?: TOptions,\n): TOptions {\n if (!isQueryKey(arg1)) {\n return arg1 as TOptions\n }\n\n if (typeof arg2 === 'function') {\n return { ...arg3, queryKey: arg1, queryFn: arg2 } as TOptions\n }\n\n return { ...arg2, queryKey: arg1 } as TOptions\n}\n\nexport function parseMutationArgs<\n TOptions extends MutationOptions,\n>(\n arg1: MutationKey | MutationFunction | TOptions,\n arg2?: MutationFunction | TOptions,\n arg3?: TOptions,\n): TOptions {\n if (isQueryKey(arg1)) {\n if (typeof arg2 === 'function') {\n return { ...arg3, mutationKey: arg1, mutationFn: arg2 } as TOptions\n }\n return { ...arg2, mutationKey: arg1 } as TOptions\n }\n\n if (typeof arg1 === 'function') {\n return { ...arg2, mutationFn: arg1 } as TOptions\n }\n\n return { ...arg1 } as TOptions\n}\n\nexport function parseFilterArgs<\n TFilters extends QueryFilters,\n TOptions = unknown,\n>(\n arg1?: QueryKey | TFilters,\n arg2?: TFilters | TOptions,\n arg3?: TOptions,\n): [TFilters, TOptions | undefined] {\n return (\n isQueryKey(arg1) ? [{ ...arg2, queryKey: arg1 }, arg3] : [arg1 || {}, arg2]\n ) as [TFilters, TOptions]\n}\n\nexport function parseMutationFilterArgs<\n TFilters extends MutationFilters,\n TOptions = unknown,\n>(\n arg1?: QueryKey | TFilters,\n arg2?: TFilters | TOptions,\n arg3?: TOptions,\n): [TFilters, TOptions | undefined] {\n return (\n isQueryKey(arg1)\n ? [{ ...arg2, mutationKey: arg1 }, arg3]\n : [arg1 || {}, arg2]\n ) as [TFilters, TOptions]\n}\n\nexport function matchQuery(\n filters: QueryFilters,\n query: Query,\n): boolean {\n const {\n type = 'all',\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale,\n } = filters\n\n if (isQueryKey(queryKey)) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false\n }\n }\n\n if (type !== 'all') {\n const isActive = query.isActive()\n if (type === 'active' && !isActive) {\n return false\n }\n if (type === 'inactive' && isActive) {\n return false\n }\n }\n\n if (typeof stale === 'boolean' && query.isStale() !== stale) {\n return false\n }\n\n if (\n typeof fetchStatus !== 'undefined' &&\n fetchStatus !== query.state.fetchStatus\n ) {\n return false\n }\n\n if (predicate && !predicate(query)) {\n return false\n }\n\n return true\n}\n\nexport function matchMutation(\n filters: MutationFilters,\n mutation: Mutation,\n): boolean {\n const { exact, fetching, predicate, mutationKey } = filters\n if (isQueryKey(mutationKey)) {\n if (!mutation.options.mutationKey) {\n return false\n }\n if (exact) {\n if (\n hashQueryKey(mutation.options.mutationKey) !== hashQueryKey(mutationKey)\n ) {\n return false\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false\n }\n }\n\n if (\n typeof fetching === 'boolean' &&\n (mutation.state.status === 'loading') !== fetching\n ) {\n return false\n }\n\n if (predicate && !predicate(mutation)) {\n return false\n }\n\n return true\n}\n\nexport function hashQueryKeyByOptions(\n queryKey: TQueryKey,\n options?: QueryOptions,\n): string {\n const hashFn = options?.queryKeyHashFn || hashQueryKey\n return hashFn(queryKey)\n}\n\n/**\n * Default query keys hash function.\n * Hashes the value into a stable hash.\n */\nexport function hashQueryKey(queryKey: QueryKey): string {\n return JSON.stringify(queryKey, (_, val) =>\n isPlainObject(val)\n ? Object.keys(val)\n .sort()\n .reduce((result, key) => {\n result[key] = val[key]\n return result\n }, {} as any)\n : val,\n )\n}\n\n/**\n * Checks if key `b` partially matches with key `a`.\n */\nexport function partialMatchKey(a: QueryKey, b: QueryKey): boolean {\n return partialDeepEqual(a, b)\n}\n\n/**\n * Checks if `b` partially matches with `a`.\n */\nexport function partialDeepEqual(a: any, b: any): boolean {\n if (a === b) {\n return true\n }\n\n if (typeof a !== typeof b) {\n return false\n }\n\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n return !Object.keys(b).some((key) => !partialDeepEqual(a[key], b[key]))\n }\n\n return false\n}\n\n/**\n * This function returns `a` if `b` is deeply equal.\n * If not, it will replace any deeply equal children of `b` with those of `a`.\n * This can be used for structural sharing between JSON values for example.\n */\nexport function replaceEqualDeep(a: unknown, b: T): T\nexport function replaceEqualDeep(a: any, b: any): any {\n if (a === b) {\n return a\n }\n\n const array = isPlainArray(a) && isPlainArray(b)\n\n if (array || (isPlainObject(a) && isPlainObject(b))) {\n const aSize = array ? a.length : Object.keys(a).length\n const bItems = array ? b : Object.keys(b)\n const bSize = bItems.length\n const copy: any = array ? [] : {}\n\n let equalItems = 0\n\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i]\n copy[key] = replaceEqualDeep(a[key], b[key])\n if (copy[key] === a[key]) {\n equalItems++\n }\n }\n\n return aSize === bSize && equalItems === aSize ? a : copy\n }\n\n return b\n}\n\n/**\n * Shallow compare objects. Only works with objects that always have the same properties.\n */\nexport function shallowEqualObjects(a: T, b: T): boolean {\n if ((a && !b) || (b && !a)) {\n return false\n }\n\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false\n }\n }\n\n return true\n}\n\nexport function isPlainArray(value: unknown) {\n return Array.isArray(value) && value.length === Object.keys(value).length\n}\n\n// Copied from: https://github.com/jonschlinkert/is-plain-object\nexport function isPlainObject(o: any): o is Object {\n if (!hasObjectPrototype(o)) {\n return false\n }\n\n // If has modified constructor\n const ctor = o.constructor\n if (typeof ctor === 'undefined') {\n return true\n }\n\n // If has modified prototype\n const prot = ctor.prototype\n if (!hasObjectPrototype(prot)) {\n return false\n }\n\n // If constructor does not have an Object-specific method\n if (!prot.hasOwnProperty('isPrototypeOf')) {\n return false\n }\n\n // Most likely a plain Object\n return true\n}\n\nfunction hasObjectPrototype(o: any): boolean {\n return Object.prototype.toString.call(o) === '[object Object]'\n}\n\nexport function isQueryKey(value: unknown): value is QueryKey {\n return Array.isArray(value)\n}\n\nexport function isError(value: any): value is Error {\n return value instanceof Error\n}\n\nexport function sleep(timeout: number): Promise {\n return new Promise((resolve) => {\n setTimeout(resolve, timeout)\n })\n}\n\n/**\n * Schedules a microtask.\n * This can be useful to schedule state updates after rendering.\n */\nexport function scheduleMicrotask(callback: () => void) {\n sleep(0).then(callback)\n}\n\nexport function getAbortController(): AbortController | undefined {\n if (typeof AbortController === 'function') {\n return new AbortController()\n }\n return\n}\n\nexport function replaceData<\n TData,\n TOptions extends QueryOptions,\n>(prevData: TData | undefined, data: TData, options: TOptions): TData {\n // Use prev data if an isDataEqual function is defined and returns `true`\n if (options.isDataEqual?.(prevData, data)) {\n return prevData as TData\n } else if (typeof options.structuralSharing === 'function') {\n return options.structuralSharing(prevData, data)\n } else if (options.structuralSharing !== false) {\n // Structurally share data between prev and new data if needed\n return replaceEqualDeep(prevData, data)\n }\n return data\n}\n", "import { Subscribable } from './subscribable'\nimport { isServer } from './utils'\n\ntype SetupFn = (\n setFocused: (focused?: boolean) => void,\n) => (() => void) | undefined\n\nexport class FocusManager extends Subscribable {\n private focused?: boolean\n private cleanup?: () => void\n\n private setup: SetupFn\n\n constructor() {\n super()\n this.setup = (onFocus) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onFocus()\n // Listen to visibillitychange and focus\n window.addEventListener('visibilitychange', listener, false)\n window.addEventListener('focus', listener, false)\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('visibilitychange', listener)\n window.removeEventListener('focus', listener)\n }\n }\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.cleanup) {\n this.setEventListener(this.setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.cleanup?.()\n this.cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.setup = setup\n this.cleanup?.()\n this.cleanup = setup((focused) => {\n if (typeof focused === 'boolean') {\n this.setFocused(focused)\n } else {\n this.onFocus()\n }\n })\n }\n\n setFocused(focused?: boolean): void {\n const changed = this.focused !== focused\n if (changed) {\n this.focused = focused\n this.onFocus()\n }\n }\n\n onFocus(): void {\n this.listeners.forEach(({ listener }) => {\n listener()\n })\n }\n\n isFocused(): boolean {\n if (typeof this.focused === 'boolean') {\n return this.focused\n }\n\n // document global can be unavailable in react native\n if (typeof document === 'undefined') {\n return true\n }\n\n return [undefined, 'visible', 'prerender'].includes(\n document.visibilityState,\n )\n }\n}\n\nexport const focusManager = new FocusManager()\n", "import { Subscribable } from './subscribable'\nimport { isServer } from './utils'\n\ntype SetupFn = (\n setOnline: (online?: boolean) => void,\n) => (() => void) | undefined\n\nconst onlineEvents = ['online', 'offline'] as const\n\nexport class OnlineManager extends Subscribable {\n private online?: boolean\n private cleanup?: () => void\n\n private setup: SetupFn\n\n constructor() {\n super()\n this.setup = (onOnline) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onOnline()\n // Listen to online\n onlineEvents.forEach((event) => {\n window.addEventListener(event, listener, false)\n })\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n onlineEvents.forEach((event) => {\n window.removeEventListener(event, listener)\n })\n }\n }\n\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.cleanup) {\n this.setEventListener(this.setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.cleanup?.()\n this.cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.setup = setup\n this.cleanup?.()\n this.cleanup = setup((online?: boolean) => {\n if (typeof online === 'boolean') {\n this.setOnline(online)\n } else {\n this.onOnline()\n }\n })\n }\n\n setOnline(online?: boolean): void {\n const changed = this.online !== online\n\n if (changed) {\n this.online = online\n this.onOnline()\n }\n }\n\n onOnline(): void {\n this.listeners.forEach(({ listener }) => {\n listener()\n })\n }\n\n isOnline(): boolean {\n if (typeof this.online === 'boolean') {\n return this.online\n }\n\n if (\n typeof navigator === 'undefined' ||\n typeof navigator.onLine === 'undefined'\n ) {\n return true\n }\n\n return navigator.onLine\n }\n}\n\nexport const onlineManager = new OnlineManager()\n", "import { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { sleep } from './utils'\nimport type { CancelOptions, NetworkMode } from './types'\n\n// TYPES\n\ninterface RetryerConfig {\n fn: () => TData | Promise\n abort?: () => void\n onError?: (error: TError) => void\n onSuccess?: (data: TData) => void\n onFail?: (failureCount: number, error: TError) => void\n onPause?: () => void\n onContinue?: () => void\n retry?: RetryValue\n retryDelay?: RetryDelayValue\n networkMode: NetworkMode | undefined\n}\n\nexport interface Retryer {\n promise: Promise\n cancel: (cancelOptions?: CancelOptions) => void\n continue: () => Promise\n cancelRetry: () => void\n continueRetry: () => void\n}\n\nexport type RetryValue = boolean | number | ShouldRetryFunction\n\ntype ShouldRetryFunction = (\n failureCount: number,\n error: TError,\n) => boolean\n\nexport type RetryDelayValue = number | RetryDelayFunction\n\ntype RetryDelayFunction = (\n failureCount: number,\n error: TError,\n) => number\n\nfunction defaultRetryDelay(failureCount: number) {\n return Math.min(1000 * 2 ** failureCount, 30000)\n}\n\nexport function canFetch(networkMode: NetworkMode | undefined): boolean {\n return (networkMode ?? 'online') === 'online'\n ? onlineManager.isOnline()\n : true\n}\n\nexport class CancelledError {\n revert?: boolean\n silent?: boolean\n constructor(options?: CancelOptions) {\n this.revert = options?.revert\n this.silent = options?.silent\n }\n}\n\nexport function isCancelledError(value: any): value is CancelledError {\n return value instanceof CancelledError\n}\n\nexport function createRetryer(\n config: RetryerConfig,\n): Retryer {\n let isRetryCancelled = false\n let failureCount = 0\n let isResolved = false\n let continueFn: ((value?: unknown) => boolean) | undefined\n let promiseResolve: (data: TData) => void\n let promiseReject: (error: TError) => void\n\n const promise = new Promise((outerResolve, outerReject) => {\n promiseResolve = outerResolve\n promiseReject = outerReject\n })\n\n const cancel = (cancelOptions?: CancelOptions): void => {\n if (!isResolved) {\n reject(new CancelledError(cancelOptions))\n\n config.abort?.()\n }\n }\n const cancelRetry = () => {\n isRetryCancelled = true\n }\n\n const continueRetry = () => {\n isRetryCancelled = false\n }\n\n const shouldPause = () =>\n !focusManager.isFocused() ||\n (config.networkMode !== 'always' && !onlineManager.isOnline())\n\n const resolve = (value: any) => {\n if (!isResolved) {\n isResolved = true\n config.onSuccess?.(value)\n continueFn?.()\n promiseResolve(value)\n }\n }\n\n const reject = (value: any) => {\n if (!isResolved) {\n isResolved = true\n config.onError?.(value)\n continueFn?.()\n promiseReject(value)\n }\n }\n\n const pause = () => {\n return new Promise((continueResolve) => {\n continueFn = (value) => {\n const canContinue = isResolved || !shouldPause()\n if (canContinue) {\n continueResolve(value)\n }\n return canContinue\n }\n config.onPause?.()\n }).then(() => {\n continueFn = undefined\n if (!isResolved) {\n config.onContinue?.()\n }\n })\n }\n\n // Create loop function\n const run = () => {\n // Do nothing if already resolved\n if (isResolved) {\n return\n }\n\n let promiseOrValue: any\n\n // Execute query\n try {\n promiseOrValue = config.fn()\n } catch (error) {\n promiseOrValue = Promise.reject(error)\n }\n\n Promise.resolve(promiseOrValue)\n .then(resolve)\n .catch((error) => {\n // Stop if the fetch is already resolved\n if (isResolved) {\n return\n }\n\n // Do we need to retry the request?\n const retry = config.retry ?? 3\n const retryDelay = config.retryDelay ?? defaultRetryDelay\n const delay =\n typeof retryDelay === 'function'\n ? retryDelay(failureCount, error)\n : retryDelay\n const shouldRetry =\n retry === true ||\n (typeof retry === 'number' && failureCount < retry) ||\n (typeof retry === 'function' && retry(failureCount, error))\n\n if (isRetryCancelled || !shouldRetry) {\n // We are done if the query does not need to be retried\n reject(error)\n return\n }\n\n failureCount++\n\n // Notify on fail\n config.onFail?.(failureCount, error)\n\n // Delay\n sleep(delay)\n // Pause if the document is not visible or when the device is offline\n .then(() => {\n if (shouldPause()) {\n return pause()\n }\n return\n })\n .then(() => {\n if (isRetryCancelled) {\n reject(error)\n } else {\n run()\n }\n })\n })\n }\n\n // Start loop\n if (canFetch(config.networkMode)) {\n run()\n } else {\n pause().then(run)\n }\n\n return {\n promise,\n cancel,\n continue: () => {\n const didContinue = continueFn?.()\n return didContinue ? promise : Promise.resolve()\n },\n cancelRetry,\n continueRetry,\n }\n}\n", "export interface Logger {\n log: LogFunction\n warn: LogFunction\n error: LogFunction\n}\n\ntype LogFunction = (...args: any[]) => void\n\nexport const defaultLogger: Logger = console\n", "import { scheduleMicrotask } from './utils'\n\n// TYPES\n\ntype NotifyCallback = () => void\n\ntype NotifyFunction = (callback: () => void) => void\n\ntype BatchNotifyFunction = (callback: () => void) => void\n\ntype BatchCallsCallback = (...args: T) => void\n\nexport function createNotifyManager() {\n let queue: NotifyCallback[] = []\n let transactions = 0\n let notifyFn: NotifyFunction = (callback) => {\n callback()\n }\n let batchNotifyFn: BatchNotifyFunction = (callback: () => void) => {\n callback()\n }\n\n const batch = (callback: () => T): T => {\n let result\n transactions++\n try {\n result = callback()\n } finally {\n transactions--\n if (!transactions) {\n flush()\n }\n }\n return result\n }\n\n const schedule = (callback: NotifyCallback): void => {\n if (transactions) {\n queue.push(callback)\n } else {\n scheduleMicrotask(() => {\n notifyFn(callback)\n })\n }\n }\n\n /**\n * All calls to the wrapped function will be batched.\n */\n const batchCalls = (\n callback: BatchCallsCallback,\n ): BatchCallsCallback => {\n return (...args) => {\n schedule(() => {\n callback(...args)\n })\n }\n }\n\n const flush = (): void => {\n const originalQueue = queue\n queue = []\n if (originalQueue.length) {\n scheduleMicrotask(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback)\n })\n })\n })\n }\n }\n\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n const setNotifyFunction = (fn: NotifyFunction) => {\n notifyFn = fn\n }\n\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n const setBatchNotifyFunction = (fn: BatchNotifyFunction) => {\n batchNotifyFn = fn\n }\n\n return {\n batch,\n batchCalls,\n schedule,\n setNotifyFunction,\n setBatchNotifyFunction,\n } as const\n}\n\n// SINGLETON\nexport const notifyManager = createNotifyManager()\n", "import { isServer, isValidTimeout } from './utils'\n\nexport abstract class Removable {\n cacheTime!: number\n private gcTimeout?: ReturnType\n\n destroy(): void {\n this.clearGcTimeout()\n }\n\n protected scheduleGc(): void {\n this.clearGcTimeout()\n\n if (isValidTimeout(this.cacheTime)) {\n this.gcTimeout = setTimeout(() => {\n this.optionalRemove()\n }, this.cacheTime)\n }\n }\n\n protected updateCacheTime(newCacheTime: number | undefined): void {\n // Default to 5 minutes (Infinity for server-side) if no cache time is set\n this.cacheTime = Math.max(\n this.cacheTime || 0,\n newCacheTime ?? (isServer ? Infinity : 5 * 60 * 1000),\n )\n }\n\n protected clearGcTimeout() {\n if (this.gcTimeout) {\n clearTimeout(this.gcTimeout)\n this.gcTimeout = undefined\n }\n }\n\n protected abstract optionalRemove(): void\n}\n", "import { getAbortController, noop, replaceData, timeUntilStale } from './utils'\nimport { defaultLogger } from './logger'\nimport { notifyManager } from './notifyManager'\nimport { canFetch, createRetryer, isCancelledError } from './retryer'\nimport { Removable } from './removable'\nimport type {\n CancelOptions,\n FetchStatus,\n InitialDataFunction,\n QueryFunctionContext,\n QueryKey,\n QueryMeta,\n QueryOptions,\n QueryStatus,\n SetDataOptions,\n} from './types'\nimport type { QueryCache } from './queryCache'\nimport type { QueryObserver } from './queryObserver'\nimport type { Logger } from './logger'\nimport type { Retryer } from './retryer'\n\n// TYPES\n\ninterface QueryConfig<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n cache: QueryCache\n queryKey: TQueryKey\n queryHash: string\n logger?: Logger\n options?: QueryOptions\n defaultOptions?: QueryOptions\n state?: QueryState\n}\n\nexport interface QueryState {\n data: TData | undefined\n dataUpdateCount: number\n dataUpdatedAt: number\n error: TError | null\n errorUpdateCount: number\n errorUpdatedAt: number\n fetchFailureCount: number\n fetchFailureReason: TError | null\n fetchMeta: any\n isInvalidated: boolean\n status: QueryStatus\n fetchStatus: FetchStatus\n}\n\nexport interface FetchContext<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n fetchFn: () => unknown | Promise\n fetchOptions?: FetchOptions\n signal?: AbortSignal\n options: QueryOptions\n queryKey: TQueryKey\n state: QueryState\n}\n\nexport interface QueryBehavior<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n onFetch: (\n context: FetchContext,\n ) => void\n}\n\nexport interface FetchOptions {\n cancelRefetch?: boolean\n meta?: any\n}\n\ninterface FailedAction {\n type: 'failed'\n failureCount: number\n error: TError\n}\n\ninterface FetchAction {\n type: 'fetch'\n meta?: any\n}\n\ninterface SuccessAction {\n data: TData | undefined\n type: 'success'\n dataUpdatedAt?: number\n manual?: boolean\n}\n\ninterface ErrorAction {\n type: 'error'\n error: TError\n}\n\ninterface InvalidateAction {\n type: 'invalidate'\n}\n\ninterface PauseAction {\n type: 'pause'\n}\n\ninterface ContinueAction {\n type: 'continue'\n}\n\ninterface SetStateAction {\n type: 'setState'\n state: Partial>\n setStateOptions?: SetStateOptions\n}\n\nexport type Action =\n | ContinueAction\n | ErrorAction\n | FailedAction\n | FetchAction\n | InvalidateAction\n | PauseAction\n | SetStateAction\n | SuccessAction\n\nexport interface SetStateOptions {\n meta?: any\n}\n\n// CLASS\n\nexport class Query<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Removable {\n queryKey: TQueryKey\n queryHash: string\n options!: QueryOptions\n initialState: QueryState\n revertState?: QueryState\n state: QueryState\n isFetchingOptimistic?: boolean\n\n private cache: QueryCache\n private logger: Logger\n private promise?: Promise\n private retryer?: Retryer\n private observers: QueryObserver[]\n private defaultOptions?: QueryOptions\n private abortSignalConsumed: boolean\n\n constructor(config: QueryConfig) {\n super()\n\n this.abortSignalConsumed = false\n this.defaultOptions = config.defaultOptions\n this.setOptions(config.options)\n this.observers = []\n this.cache = config.cache\n this.logger = config.logger || defaultLogger\n this.queryKey = config.queryKey\n this.queryHash = config.queryHash\n this.initialState = config.state || getDefaultState(this.options)\n this.state = this.initialState\n this.scheduleGc()\n }\n\n get meta(): QueryMeta | undefined {\n return this.options.meta\n }\n\n private setOptions(\n options?: QueryOptions,\n ): void {\n this.options = { ...this.defaultOptions, ...options }\n\n this.updateCacheTime(this.options.cacheTime)\n }\n\n protected optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === 'idle') {\n this.cache.remove(this)\n }\n }\n\n setData(\n newData: TData,\n options?: SetDataOptions & { manual: boolean },\n ): TData {\n const data = replaceData(this.state.data, newData, this.options)\n\n // Set data and mark it as cached\n this.dispatch({\n data,\n type: 'success',\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual,\n })\n\n return data\n }\n\n setState(\n state: Partial>,\n setStateOptions?: SetStateOptions,\n ): void {\n this.dispatch({ type: 'setState', state, setStateOptions })\n }\n\n cancel(options?: CancelOptions): Promise {\n const promise = this.promise\n this.retryer?.cancel(options)\n return promise ? promise.then(noop).catch(noop) : Promise.resolve()\n }\n\n destroy(): void {\n super.destroy()\n\n this.cancel({ silent: true })\n }\n\n reset(): void {\n this.destroy()\n this.setState(this.initialState)\n }\n\n isActive(): boolean {\n return this.observers.some((observer) => observer.options.enabled !== false)\n }\n\n isDisabled(): boolean {\n return this.getObserversCount() > 0 && !this.isActive()\n }\n\n isStale(): boolean {\n return (\n this.state.isInvalidated ||\n !this.state.dataUpdatedAt ||\n this.observers.some((observer) => observer.getCurrentResult().isStale)\n )\n }\n\n isStaleByTime(staleTime = 0): boolean {\n return (\n this.state.isInvalidated ||\n !this.state.dataUpdatedAt ||\n !timeUntilStale(this.state.dataUpdatedAt, staleTime)\n )\n }\n\n onFocus(): void {\n const observer = this.observers.find((x) => x.shouldFetchOnWindowFocus())\n\n if (observer) {\n observer.refetch({ cancelRefetch: false })\n }\n\n // Continue fetch if currently paused\n this.retryer?.continue()\n }\n\n onOnline(): void {\n const observer = this.observers.find((x) => x.shouldFetchOnReconnect())\n\n if (observer) {\n observer.refetch({ cancelRefetch: false })\n }\n\n // Continue fetch if currently paused\n this.retryer?.continue()\n }\n\n addObserver(observer: QueryObserver): void {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer)\n\n // Stop the query from being garbage collected\n this.clearGcTimeout()\n\n this.cache.notify({ type: 'observerAdded', query: this, observer })\n }\n }\n\n removeObserver(observer: QueryObserver): void {\n if (this.observers.includes(observer)) {\n this.observers = this.observers.filter((x) => x !== observer)\n\n if (!this.observers.length) {\n // If the transport layer does not support cancellation\n // we'll let the query continue so the result can be cached\n if (this.retryer) {\n if (this.abortSignalConsumed) {\n this.retryer.cancel({ revert: true })\n } else {\n this.retryer.cancelRetry()\n }\n }\n\n this.scheduleGc()\n }\n\n this.cache.notify({ type: 'observerRemoved', query: this, observer })\n }\n }\n\n getObserversCount(): number {\n return this.observers.length\n }\n\n invalidate(): void {\n if (!this.state.isInvalidated) {\n this.dispatch({ type: 'invalidate' })\n }\n }\n\n fetch(\n options?: QueryOptions,\n fetchOptions?: FetchOptions,\n ): Promise {\n if (this.state.fetchStatus !== 'idle') {\n if (this.state.dataUpdatedAt && fetchOptions?.cancelRefetch) {\n // Silently cancel current fetch if the user wants to cancel refetches\n this.cancel({ silent: true })\n } else if (this.promise) {\n // make sure that retries that were potentially cancelled due to unmounts can continue\n this.retryer?.continueRetry()\n // Return current promise if we are already fetching\n return this.promise\n }\n }\n\n // Update config if passed, otherwise the config from the last execution is used\n if (options) {\n this.setOptions(options)\n }\n\n // Use the options from the first observer with a query function if no function is found.\n // This can happen when the query is hydrated or created with setQueryData.\n if (!this.options.queryFn) {\n const observer = this.observers.find((x) => x.options.queryFn)\n if (observer) {\n this.setOptions(observer.options)\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!Array.isArray(this.options.queryKey)) {\n this.logger.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`,\n )\n }\n }\n\n const abortController = getAbortController()\n\n // Create query function context\n const queryFnContext: QueryFunctionContext = {\n queryKey: this.queryKey,\n pageParam: undefined,\n meta: this.meta,\n }\n\n // Adds an enumerable signal property to the object that\n // which sets abortSignalConsumed to true when the signal\n // is read.\n const addSignalProperty = (object: unknown) => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n if (abortController) {\n this.abortSignalConsumed = true\n return abortController.signal\n }\n return undefined\n },\n })\n }\n\n addSignalProperty(queryFnContext)\n\n // Create fetch function\n const fetchFn = () => {\n if (!this.options.queryFn) {\n return Promise.reject(\n `Missing queryFn for queryKey '${this.options.queryHash}'`,\n )\n }\n this.abortSignalConsumed = false\n return this.options.queryFn(queryFnContext)\n }\n\n // Trigger behavior hook\n const context: FetchContext = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n state: this.state,\n fetchFn,\n }\n\n addSignalProperty(context)\n\n this.options.behavior?.onFetch(context)\n\n // Store state in case the current fetch needs to be reverted\n this.revertState = this.state\n\n // Set to fetching state if not already in it\n if (\n this.state.fetchStatus === 'idle' ||\n this.state.fetchMeta !== context.fetchOptions?.meta\n ) {\n this.dispatch({ type: 'fetch', meta: context.fetchOptions?.meta })\n }\n\n const onError = (error: TError | { silent?: boolean }) => {\n // Optimistically update state if needed\n if (!(isCancelledError(error) && error.silent)) {\n this.dispatch({\n type: 'error',\n error: error as TError,\n })\n }\n\n if (!isCancelledError(error)) {\n // Notify cache callback\n this.cache.config.onError?.(error, this as Query)\n this.cache.config.onSettled?.(\n this.state.data,\n error,\n this as Query,\n )\n\n if (process.env.NODE_ENV !== 'production') {\n this.logger.error(error)\n }\n }\n\n if (!this.isFetchingOptimistic) {\n // Schedule query gc after fetching\n this.scheduleGc()\n }\n this.isFetchingOptimistic = false\n }\n\n // Try to fetch the data\n this.retryer = createRetryer({\n fn: context.fetchFn as () => TData,\n abort: abortController?.abort.bind(abortController),\n onSuccess: (data) => {\n if (typeof data === 'undefined') {\n if (process.env.NODE_ENV !== 'production') {\n this.logger.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`,\n )\n }\n onError(new Error(`${this.queryHash} data is undefined`) as any)\n return\n }\n\n this.setData(data as TData)\n\n // Notify cache callback\n this.cache.config.onSuccess?.(data, this as Query)\n this.cache.config.onSettled?.(\n data,\n this.state.error,\n this as Query,\n )\n\n if (!this.isFetchingOptimistic) {\n // Schedule query gc after fetching\n this.scheduleGc()\n }\n this.isFetchingOptimistic = false\n },\n onError,\n onFail: (failureCount, error) => {\n this.dispatch({ type: 'failed', failureCount, error })\n },\n onPause: () => {\n this.dispatch({ type: 'pause' })\n },\n onContinue: () => {\n this.dispatch({ type: 'continue' })\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n })\n\n this.promise = this.retryer.promise\n\n return this.promise\n }\n\n private dispatch(action: Action): void {\n const reducer = (\n state: QueryState,\n ): QueryState => {\n switch (action.type) {\n case 'failed':\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error,\n }\n case 'pause':\n return {\n ...state,\n fetchStatus: 'paused',\n }\n case 'continue':\n return {\n ...state,\n fetchStatus: 'fetching',\n }\n case 'fetch':\n return {\n ...state,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: action.meta ?? null,\n fetchStatus: canFetch(this.options.networkMode)\n ? 'fetching'\n : 'paused',\n ...(!state.dataUpdatedAt && {\n error: null,\n status: 'loading',\n }),\n }\n case 'success':\n return {\n ...state,\n data: action.data,\n dataUpdateCount: state.dataUpdateCount + 1,\n dataUpdatedAt: action.dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: 'success',\n ...(!action.manual && {\n fetchStatus: 'idle',\n fetchFailureCount: 0,\n fetchFailureReason: null,\n }),\n }\n case 'error':\n const error = action.error as unknown\n\n if (isCancelledError(error) && error.revert && this.revertState) {\n return { ...this.revertState, fetchStatus: 'idle' }\n }\n\n return {\n ...state,\n error: error as TError,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error as TError,\n fetchStatus: 'idle',\n status: 'error',\n }\n case 'invalidate':\n return {\n ...state,\n isInvalidated: true,\n }\n case 'setState':\n return {\n ...state,\n ...action.state,\n }\n }\n }\n\n this.state = reducer(this.state)\n\n notifyManager.batch(() => {\n this.observers.forEach((observer) => {\n observer.onQueryUpdate(action)\n })\n\n this.cache.notify({ query: this, type: 'updated', action })\n })\n }\n}\n\nfunction getDefaultState<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n options: QueryOptions,\n): QueryState {\n const data =\n typeof options.initialData === 'function'\n ? (options.initialData as InitialDataFunction)()\n : options.initialData\n\n const hasData = typeof data !== 'undefined'\n\n const initialDataUpdatedAt = hasData\n ? typeof options.initialDataUpdatedAt === 'function'\n ? (options.initialDataUpdatedAt as () => number | undefined)()\n : options.initialDataUpdatedAt\n : 0\n\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? initialDataUpdatedAt ?? Date.now() : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? 'success' : 'loading',\n fetchStatus: 'idle',\n }\n}\n", "import { hashQueryKeyByOptions, matchQuery, parseFilterArgs } from './utils'\nimport { Query } from './query'\nimport { notifyManager } from './notifyManager'\nimport { Subscribable } from './subscribable'\nimport type { QueryFilters } from './utils'\nimport type { Action, QueryState } from './query'\nimport type { NotifyEvent, QueryKey, QueryOptions } from './types'\nimport type { QueryClient } from './queryClient'\nimport type { QueryObserver } from './queryObserver'\n\n// TYPES\n\ninterface QueryCacheConfig {\n onError?: (error: unknown, query: Query) => void\n onSuccess?: (data: unknown, query: Query) => void\n onSettled?: (\n data: unknown | undefined,\n error: unknown | null,\n query: Query,\n ) => void\n}\n\ninterface QueryHashMap {\n [hash: string]: Query\n}\n\ninterface NotifyEventQueryAdded extends NotifyEvent {\n type: 'added'\n query: Query\n}\n\ninterface NotifyEventQueryRemoved extends NotifyEvent {\n type: 'removed'\n query: Query\n}\n\ninterface NotifyEventQueryUpdated extends NotifyEvent {\n type: 'updated'\n query: Query\n action: Action\n}\n\ninterface NotifyEventQueryObserverAdded extends NotifyEvent {\n type: 'observerAdded'\n query: Query\n observer: QueryObserver\n}\n\ninterface NotifyEventQueryObserverRemoved extends NotifyEvent {\n type: 'observerRemoved'\n query: Query\n observer: QueryObserver\n}\n\ninterface NotifyEventQueryObserverResultsUpdated extends NotifyEvent {\n type: 'observerResultsUpdated'\n query: Query\n}\n\ninterface NotifyEventQueryObserverOptionsUpdated extends NotifyEvent {\n type: 'observerOptionsUpdated'\n query: Query\n observer: QueryObserver\n}\n\nexport type QueryCacheNotifyEvent =\n | NotifyEventQueryAdded\n | NotifyEventQueryRemoved\n | NotifyEventQueryUpdated\n | NotifyEventQueryObserverAdded\n | NotifyEventQueryObserverRemoved\n | NotifyEventQueryObserverResultsUpdated\n | NotifyEventQueryObserverOptionsUpdated\n\ntype QueryCacheListener = (event: QueryCacheNotifyEvent) => void\n\n// CLASS\n\nexport class QueryCache extends Subscribable {\n config: QueryCacheConfig\n\n private queries: Query[]\n private queriesMap: QueryHashMap\n\n constructor(config?: QueryCacheConfig) {\n super()\n this.config = config || {}\n this.queries = []\n this.queriesMap = {}\n }\n\n build(\n client: QueryClient,\n options: QueryOptions,\n state?: QueryState,\n ): Query {\n const queryKey = options.queryKey!\n const queryHash =\n options.queryHash ?? hashQueryKeyByOptions(queryKey, options)\n let query = this.get(queryHash)\n\n if (!query) {\n query = new Query({\n cache: this,\n logger: client.getLogger(),\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options),\n state,\n defaultOptions: client.getQueryDefaults(queryKey),\n })\n this.add(query)\n }\n\n return query\n }\n\n add(query: Query): void {\n if (!this.queriesMap[query.queryHash]) {\n this.queriesMap[query.queryHash] = query\n this.queries.push(query)\n this.notify({\n type: 'added',\n query,\n })\n }\n }\n\n remove(query: Query): void {\n const queryInMap = this.queriesMap[query.queryHash]\n\n if (queryInMap) {\n query.destroy()\n\n this.queries = this.queries.filter((x) => x !== query)\n\n if (queryInMap === query) {\n delete this.queriesMap[query.queryHash]\n }\n\n this.notify({ type: 'removed', query })\n }\n }\n\n clear(): void {\n notifyManager.batch(() => {\n this.queries.forEach((query) => {\n this.remove(query)\n })\n })\n }\n\n get<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryHash: string,\n ): Query | undefined {\n return this.queriesMap[queryHash]\n }\n\n getAll(): Query[] {\n return this.queries\n }\n\n find(\n arg1: QueryKey,\n arg2?: QueryFilters,\n ): Query | undefined {\n const [filters] = parseFilterArgs(arg1, arg2)\n\n if (typeof filters.exact === 'undefined') {\n filters.exact = true\n }\n\n return this.queries.find((query) => matchQuery(filters, query))\n }\n\n findAll(queryKey?: QueryKey, filters?: QueryFilters): Query[]\n findAll(filters?: QueryFilters): Query[]\n findAll(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): Query[]\n findAll(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): Query[] {\n const [filters] = parseFilterArgs(arg1, arg2)\n return Object.keys(filters).length > 0\n ? this.queries.filter((query) => matchQuery(filters, query))\n : this.queries\n }\n\n notify(event: QueryCacheNotifyEvent) {\n notifyManager.batch(() => {\n this.listeners.forEach(({ listener }) => {\n listener(event)\n })\n })\n }\n\n onFocus(): void {\n notifyManager.batch(() => {\n this.queries.forEach((query) => {\n query.onFocus()\n })\n })\n }\n\n onOnline(): void {\n notifyManager.batch(() => {\n this.queries.forEach((query) => {\n query.onOnline()\n })\n })\n }\n}\n", "import { defaultLogger } from './logger'\nimport { notifyManager } from './notifyManager'\nimport { Removable } from './removable'\nimport { canFetch, createRetryer } from './retryer'\nimport type { MutationMeta, MutationOptions, MutationStatus } from './types'\nimport type { MutationCache } from './mutationCache'\nimport type { MutationObserver } from './mutationObserver'\nimport type { Logger } from './logger'\nimport type { Retryer } from './retryer'\n\n// TYPES\n\ninterface MutationConfig {\n mutationId: number\n mutationCache: MutationCache\n options: MutationOptions\n logger?: Logger\n defaultOptions?: MutationOptions\n state?: MutationState\n meta?: MutationMeta\n}\n\nexport interface MutationState<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n> {\n context: TContext | undefined\n data: TData | undefined\n error: TError | null\n failureCount: number\n failureReason: TError | null\n isPaused: boolean\n status: MutationStatus\n variables: TVariables | undefined\n}\n\ninterface FailedAction {\n type: 'failed'\n failureCount: number\n error: TError | null\n}\n\ninterface LoadingAction {\n type: 'loading'\n variables?: TVariables\n context?: TContext\n}\n\ninterface SuccessAction {\n type: 'success'\n data: TData\n}\n\ninterface ErrorAction {\n type: 'error'\n error: TError\n}\n\ninterface PauseAction {\n type: 'pause'\n}\n\ninterface ContinueAction {\n type: 'continue'\n}\n\ninterface SetStateAction {\n type: 'setState'\n state: MutationState\n}\n\nexport type Action =\n | ContinueAction\n | ErrorAction\n | FailedAction\n | LoadingAction\n | PauseAction\n | SetStateAction\n | SuccessAction\n\n// CLASS\n\nexport class Mutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n> extends Removable {\n state: MutationState\n options!: MutationOptions\n mutationId: number\n\n private observers: MutationObserver[]\n private defaultOptions?: MutationOptions\n private mutationCache: MutationCache\n private logger: Logger\n private retryer?: Retryer\n\n constructor(config: MutationConfig) {\n super()\n\n this.defaultOptions = config.defaultOptions\n this.mutationId = config.mutationId\n this.mutationCache = config.mutationCache\n this.logger = config.logger || defaultLogger\n this.observers = []\n this.state = config.state || getDefaultState()\n\n this.setOptions(config.options)\n this.scheduleGc()\n }\n\n setOptions(\n options?: MutationOptions,\n ): void {\n this.options = { ...this.defaultOptions, ...options }\n\n this.updateCacheTime(this.options.cacheTime)\n }\n\n get meta(): MutationMeta | undefined {\n return this.options.meta\n }\n\n setState(state: MutationState): void {\n this.dispatch({ type: 'setState', state })\n }\n\n addObserver(observer: MutationObserver): void {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer)\n\n // Stop the mutation from being garbage collected\n this.clearGcTimeout()\n\n this.mutationCache.notify({\n type: 'observerAdded',\n mutation: this,\n observer,\n })\n }\n }\n\n removeObserver(observer: MutationObserver): void {\n this.observers = this.observers.filter((x) => x !== observer)\n\n this.scheduleGc()\n\n this.mutationCache.notify({\n type: 'observerRemoved',\n mutation: this,\n observer,\n })\n }\n\n protected optionalRemove() {\n if (!this.observers.length) {\n if (this.state.status === 'loading') {\n this.scheduleGc()\n } else {\n this.mutationCache.remove(this)\n }\n }\n }\n\n continue(): Promise {\n return this.retryer?.continue() ?? this.execute()\n }\n\n async execute(): Promise {\n const executeMutation = () => {\n this.retryer = createRetryer({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject('No mutationFn found')\n }\n return this.options.mutationFn(this.state.variables!)\n },\n onFail: (failureCount, error) => {\n this.dispatch({ type: 'failed', failureCount, error })\n },\n onPause: () => {\n this.dispatch({ type: 'pause' })\n },\n onContinue: () => {\n this.dispatch({ type: 'continue' })\n },\n retry: this.options.retry ?? 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode,\n })\n\n return this.retryer.promise\n }\n\n const restored = this.state.status === 'loading'\n try {\n if (!restored) {\n this.dispatch({ type: 'loading', variables: this.options.variables! })\n // Notify cache callback\n await this.mutationCache.config.onMutate?.(\n this.state.variables,\n this as Mutation,\n )\n const context = await this.options.onMutate?.(this.state.variables!)\n if (context !== this.state.context) {\n this.dispatch({\n type: 'loading',\n context,\n variables: this.state.variables,\n })\n }\n }\n const data = await executeMutation()\n\n // Notify cache callback\n await this.mutationCache.config.onSuccess?.(\n data,\n this.state.variables,\n this.state.context,\n this as Mutation,\n )\n\n await this.options.onSuccess?.(\n data,\n this.state.variables!,\n this.state.context!,\n )\n\n // Notify cache callback\n await this.mutationCache.config.onSettled?.(\n data,\n null,\n this.state.variables,\n this.state.context,\n this as Mutation,\n )\n\n await this.options.onSettled?.(\n data,\n null,\n this.state.variables!,\n this.state.context,\n )\n\n this.dispatch({ type: 'success', data })\n return data\n } catch (error) {\n try {\n // Notify cache callback\n await this.mutationCache.config.onError?.(\n error,\n this.state.variables,\n this.state.context,\n this as Mutation,\n )\n\n if (process.env.NODE_ENV !== 'production') {\n this.logger.error(error)\n }\n\n await this.options.onError?.(\n error as TError,\n this.state.variables!,\n this.state.context,\n )\n\n // Notify cache callback\n await this.mutationCache.config.onSettled?.(\n undefined,\n error,\n this.state.variables,\n this.state.context,\n this as Mutation,\n )\n\n await this.options.onSettled?.(\n undefined,\n error as TError,\n this.state.variables!,\n this.state.context,\n )\n throw error\n } finally {\n this.dispatch({ type: 'error', error: error as TError })\n }\n }\n }\n\n private dispatch(action: Action): void {\n const reducer = (\n state: MutationState,\n ): MutationState => {\n switch (action.type) {\n case 'failed':\n return {\n ...state,\n failureCount: action.failureCount,\n failureReason: action.error,\n }\n case 'pause':\n return {\n ...state,\n isPaused: true,\n }\n case 'continue':\n return {\n ...state,\n isPaused: false,\n }\n case 'loading':\n return {\n ...state,\n context: action.context,\n data: undefined,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: !canFetch(this.options.networkMode),\n status: 'loading',\n variables: action.variables,\n }\n case 'success':\n return {\n ...state,\n data: action.data,\n failureCount: 0,\n failureReason: null,\n error: null,\n status: 'success',\n isPaused: false,\n }\n case 'error':\n return {\n ...state,\n data: undefined,\n error: action.error,\n failureCount: state.failureCount + 1,\n failureReason: action.error,\n isPaused: false,\n status: 'error',\n }\n case 'setState':\n return {\n ...state,\n ...action.state,\n }\n }\n }\n this.state = reducer(this.state)\n\n notifyManager.batch(() => {\n this.observers.forEach((observer) => {\n observer.onMutationUpdate(action)\n })\n this.mutationCache.notify({\n mutation: this,\n type: 'updated',\n action,\n })\n })\n }\n}\n\nexport function getDefaultState<\n TData,\n TError,\n TVariables,\n TContext,\n>(): MutationState {\n return {\n context: undefined,\n data: undefined,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: 'idle',\n variables: undefined,\n }\n}\n", "import { notifyManager } from './notifyManager'\nimport { Mutation } from './mutation'\nimport { matchMutation, noop } from './utils'\nimport { Subscribable } from './subscribable'\nimport type { MutationObserver } from './mutationObserver'\nimport type { MutationOptions, NotifyEvent } from './types'\nimport type { QueryClient } from './queryClient'\nimport type { Action, MutationState } from './mutation'\nimport type { MutationFilters } from './utils'\n\n// TYPES\n\ninterface MutationCacheConfig {\n onError?: (\n error: unknown,\n variables: unknown,\n context: unknown,\n mutation: Mutation,\n ) => Promise | unknown\n onSuccess?: (\n data: unknown,\n variables: unknown,\n context: unknown,\n mutation: Mutation,\n ) => Promise | unknown\n onMutate?: (\n variables: unknown,\n mutation: Mutation,\n ) => Promise | unknown\n onSettled?: (\n data: unknown | undefined,\n error: unknown | null,\n variables: unknown,\n context: unknown,\n mutation: Mutation,\n ) => Promise | unknown\n}\n\ninterface NotifyEventMutationAdded extends NotifyEvent {\n type: 'added'\n mutation: Mutation\n}\ninterface NotifyEventMutationRemoved extends NotifyEvent {\n type: 'removed'\n mutation: Mutation\n}\n\ninterface NotifyEventMutationObserverAdded extends NotifyEvent {\n type: 'observerAdded'\n mutation: Mutation\n observer: MutationObserver\n}\n\ninterface NotifyEventMutationObserverRemoved extends NotifyEvent {\n type: 'observerRemoved'\n mutation: Mutation\n observer: MutationObserver\n}\n\ninterface NotifyEventMutationObserverOptionsUpdated extends NotifyEvent {\n type: 'observerOptionsUpdated'\n mutation?: Mutation\n observer: MutationObserver\n}\n\ninterface NotifyEventMutationUpdated extends NotifyEvent {\n type: 'updated'\n mutation: Mutation\n action: Action\n}\n\ntype MutationCacheNotifyEvent =\n | NotifyEventMutationAdded\n | NotifyEventMutationRemoved\n | NotifyEventMutationObserverAdded\n | NotifyEventMutationObserverRemoved\n | NotifyEventMutationObserverOptionsUpdated\n | NotifyEventMutationUpdated\n\ntype MutationCacheListener = (event: MutationCacheNotifyEvent) => void\n\n// CLASS\n\nexport class MutationCache extends Subscribable {\n config: MutationCacheConfig\n\n private mutations: Mutation[]\n private mutationId: number\n private resuming: Promise | undefined\n\n constructor(config?: MutationCacheConfig) {\n super()\n this.config = config || {}\n this.mutations = []\n this.mutationId = 0\n }\n\n build(\n client: QueryClient,\n options: MutationOptions,\n state?: MutationState,\n ): Mutation {\n const mutation = new Mutation({\n mutationCache: this,\n logger: client.getLogger(),\n mutationId: ++this.mutationId,\n options: client.defaultMutationOptions(options),\n state,\n defaultOptions: options.mutationKey\n ? client.getMutationDefaults(options.mutationKey)\n : undefined,\n })\n\n this.add(mutation)\n\n return mutation\n }\n\n add(mutation: Mutation): void {\n this.mutations.push(mutation)\n this.notify({ type: 'added', mutation })\n }\n\n remove(mutation: Mutation): void {\n this.mutations = this.mutations.filter((x) => x !== mutation)\n this.notify({ type: 'removed', mutation })\n }\n\n clear(): void {\n notifyManager.batch(() => {\n this.mutations.forEach((mutation) => {\n this.remove(mutation)\n })\n })\n }\n\n getAll(): Mutation[] {\n return this.mutations\n }\n\n find(\n filters: MutationFilters,\n ): Mutation | undefined {\n if (typeof filters.exact === 'undefined') {\n filters.exact = true\n }\n\n return this.mutations.find((mutation) => matchMutation(filters, mutation))\n }\n\n findAll(filters: MutationFilters): Mutation[] {\n return this.mutations.filter((mutation) => matchMutation(filters, mutation))\n }\n\n notify(event: MutationCacheNotifyEvent) {\n notifyManager.batch(() => {\n this.listeners.forEach(({ listener }) => {\n listener(event)\n })\n })\n }\n\n resumePausedMutations(): Promise {\n this.resuming = (this.resuming ?? Promise.resolve())\n .then(() => {\n const pausedMutations = this.mutations.filter((x) => x.state.isPaused)\n return notifyManager.batch(() =>\n pausedMutations.reduce(\n (promise, mutation) =>\n promise.then(() => mutation.continue().catch(noop)),\n Promise.resolve() as Promise,\n ),\n )\n })\n .then(() => {\n this.resuming = undefined\n })\n\n return this.resuming\n }\n}\n", "import type { QueryBehavior } from './query'\n\nimport type {\n InfiniteData,\n QueryFunctionContext,\n QueryOptions,\n RefetchQueryFilters,\n} from './types'\n\nexport function infiniteQueryBehavior<\n TQueryFnData,\n TError,\n TData,\n>(): QueryBehavior> {\n return {\n onFetch: (context) => {\n context.fetchFn = () => {\n const refetchPage: RefetchQueryFilters['refetchPage'] | undefined =\n context.fetchOptions?.meta?.refetchPage\n const fetchMore = context.fetchOptions?.meta?.fetchMore\n const pageParam = fetchMore?.pageParam\n const isFetchingNextPage = fetchMore?.direction === 'forward'\n const isFetchingPreviousPage = fetchMore?.direction === 'backward'\n const oldPages = context.state.data?.pages || []\n const oldPageParams = context.state.data?.pageParams || []\n let newPageParams = oldPageParams\n let cancelled = false\n\n const addSignalProperty = (object: unknown) => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n if (context.signal?.aborted) {\n cancelled = true\n } else {\n context.signal?.addEventListener('abort', () => {\n cancelled = true\n })\n }\n return context.signal\n },\n })\n }\n\n // Get query function\n const queryFn =\n context.options.queryFn ||\n (() =>\n Promise.reject(\n `Missing queryFn for queryKey '${context.options.queryHash}'`,\n ))\n\n const buildNewPages = (\n pages: unknown[],\n param: unknown,\n page: unknown,\n previous?: boolean,\n ) => {\n newPageParams = previous\n ? [param, ...newPageParams]\n : [...newPageParams, param]\n return previous ? [page, ...pages] : [...pages, page]\n }\n\n // Create function to fetch a page\n const fetchPage = (\n pages: unknown[],\n manual?: boolean,\n param?: unknown,\n previous?: boolean,\n ): Promise => {\n if (cancelled) {\n return Promise.reject('Cancelled')\n }\n\n if (typeof param === 'undefined' && !manual && pages.length) {\n return Promise.resolve(pages)\n }\n\n const queryFnContext: QueryFunctionContext = {\n queryKey: context.queryKey,\n pageParam: param,\n meta: context.options.meta,\n }\n\n addSignalProperty(queryFnContext)\n\n const queryFnResult = queryFn(queryFnContext)\n\n const promise = Promise.resolve(queryFnResult).then((page) =>\n buildNewPages(pages, param, page, previous),\n )\n\n return promise\n }\n\n let promise: Promise\n\n // Fetch first page?\n if (!oldPages.length) {\n promise = fetchPage([])\n }\n\n // Fetch next page?\n else if (isFetchingNextPage) {\n const manual = typeof pageParam !== 'undefined'\n const param = manual\n ? pageParam\n : getNextPageParam(context.options, oldPages)\n promise = fetchPage(oldPages, manual, param)\n }\n\n // Fetch previous page?\n else if (isFetchingPreviousPage) {\n const manual = typeof pageParam !== 'undefined'\n const param = manual\n ? pageParam\n : getPreviousPageParam(context.options, oldPages)\n promise = fetchPage(oldPages, manual, param, true)\n }\n\n // Refetch pages\n else {\n newPageParams = []\n\n const manual = typeof context.options.getNextPageParam === 'undefined'\n\n const shouldFetchFirstPage =\n refetchPage && oldPages[0]\n ? refetchPage(oldPages[0], 0, oldPages)\n : true\n\n // Fetch first page\n promise = shouldFetchFirstPage\n ? fetchPage([], manual, oldPageParams[0])\n : Promise.resolve(buildNewPages([], oldPageParams[0], oldPages[0]))\n\n // Fetch remaining pages\n for (let i = 1; i < oldPages.length; i++) {\n promise = promise.then((pages) => {\n const shouldFetchNextPage =\n refetchPage && oldPages[i]\n ? refetchPage(oldPages[i], i, oldPages)\n : true\n\n if (shouldFetchNextPage) {\n const param = manual\n ? oldPageParams[i]\n : getNextPageParam(context.options, pages)\n return fetchPage(pages, manual, param)\n }\n return Promise.resolve(\n buildNewPages(pages, oldPageParams[i], oldPages[i]),\n )\n })\n }\n }\n\n const finalPromise = promise.then((pages) => ({\n pages,\n pageParams: newPageParams,\n }))\n\n return finalPromise\n }\n },\n }\n}\n\nexport function getNextPageParam(\n options: QueryOptions,\n pages: unknown[],\n): unknown | undefined {\n return options.getNextPageParam?.(pages[pages.length - 1], pages)\n}\n\nexport function getPreviousPageParam(\n options: QueryOptions,\n pages: unknown[],\n): unknown | undefined {\n return options.getPreviousPageParam?.(pages[0], pages)\n}\n\n/**\n * Checks if there is a next page.\n * Returns `undefined` if it cannot be determined.\n */\nexport function hasNextPage(\n options: QueryOptions,\n pages?: unknown,\n): boolean | undefined {\n if (options.getNextPageParam && Array.isArray(pages)) {\n const nextPageParam = getNextPageParam(options, pages)\n return (\n typeof nextPageParam !== 'undefined' &&\n nextPageParam !== null &&\n nextPageParam !== false\n )\n }\n return\n}\n\n/**\n * Checks if there is a previous page.\n * Returns `undefined` if it cannot be determined.\n */\nexport function hasPreviousPage(\n options: QueryOptions,\n pages?: unknown,\n): boolean | undefined {\n if (options.getPreviousPageParam && Array.isArray(pages)) {\n const previousPageParam = getPreviousPageParam(options, pages)\n return (\n typeof previousPageParam !== 'undefined' &&\n previousPageParam !== null &&\n previousPageParam !== false\n )\n }\n return\n}\n", "import {\n functionalUpdate,\n hashQueryKey,\n hashQueryKeyByOptions,\n noop,\n parseFilterArgs,\n parseQueryArgs,\n partialMatchKey,\n} from './utils'\nimport { QueryCache } from './queryCache'\nimport { MutationCache } from './mutationCache'\nimport { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { notifyManager } from './notifyManager'\nimport { infiniteQueryBehavior } from './infiniteQueryBehavior'\nimport { defaultLogger } from './logger'\nimport type { CancelOptions, DefaultedQueryObserverOptions } from './types'\nimport type { Logger } from './logger'\nimport type { QueryState } from './query'\nimport type {\n DefaultOptions,\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n InfiniteData,\n InvalidateOptions,\n InvalidateQueryFilters,\n MutationKey,\n MutationObserverOptions,\n MutationOptions,\n QueryClientConfig,\n QueryFunction,\n QueryKey,\n QueryObserverOptions,\n QueryOptions,\n RefetchOptions,\n RefetchQueryFilters,\n ResetOptions,\n ResetQueryFilters,\n SetDataOptions,\n WithRequired,\n} from './types'\nimport type { MutationFilters, QueryFilters, Updater } from './utils'\n\n// TYPES\n\ninterface QueryDefaults {\n queryKey: QueryKey\n defaultOptions: QueryOptions\n}\n\ninterface MutationDefaults {\n mutationKey: MutationKey\n defaultOptions: MutationOptions\n}\n\n// CLASS\n\nexport class QueryClient {\n private queryCache: QueryCache\n private mutationCache: MutationCache\n private logger: Logger\n private defaultOptions: DefaultOptions\n private queryDefaults: QueryDefaults[]\n private mutationDefaults: MutationDefaults[]\n private mountCount: number\n private unsubscribeFocus?: () => void\n private unsubscribeOnline?: () => void\n\n constructor(config: QueryClientConfig = {}) {\n this.queryCache = config.queryCache || new QueryCache()\n this.mutationCache = config.mutationCache || new MutationCache()\n this.logger = config.logger || defaultLogger\n this.defaultOptions = config.defaultOptions || {}\n this.queryDefaults = []\n this.mutationDefaults = []\n this.mountCount = 0\n\n if (process.env.NODE_ENV !== 'production' && config.logger) {\n this.logger.error(\n `Passing a custom logger has been deprecated and will be removed in the next major version.`,\n )\n }\n }\n\n mount(): void {\n this.mountCount++\n if (this.mountCount !== 1) return\n\n this.unsubscribeFocus = focusManager.subscribe(() => {\n if (focusManager.isFocused()) {\n this.resumePausedMutations()\n this.queryCache.onFocus()\n }\n })\n this.unsubscribeOnline = onlineManager.subscribe(() => {\n if (onlineManager.isOnline()) {\n this.resumePausedMutations()\n this.queryCache.onOnline()\n }\n })\n }\n\n unmount(): void {\n this.mountCount--\n if (this.mountCount !== 0) return\n\n this.unsubscribeFocus?.()\n this.unsubscribeFocus = undefined\n\n this.unsubscribeOnline?.()\n this.unsubscribeOnline = undefined\n }\n\n isFetching(filters?: QueryFilters): number\n isFetching(queryKey?: QueryKey, filters?: QueryFilters): number\n isFetching(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): number {\n const [filters] = parseFilterArgs(arg1, arg2)\n filters.fetchStatus = 'fetching'\n return this.queryCache.findAll(filters).length\n }\n\n isMutating(filters?: MutationFilters): number {\n return this.mutationCache.findAll({ ...filters, fetching: true }).length\n }\n\n getQueryData(\n queryKey: QueryKey,\n filters?: QueryFilters,\n ): TQueryFnData | undefined {\n return this.queryCache.find(queryKey, filters)?.state.data\n }\n\n ensureQueryData<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: WithRequired<\n FetchQueryOptions,\n 'queryKey'\n >,\n ): Promise\n ensureQueryData<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: Omit<\n FetchQueryOptions,\n 'queryKey'\n >,\n ): Promise\n ensureQueryData<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction,\n options?: Omit<\n FetchQueryOptions,\n 'queryKey' | 'queryFn'\n >,\n ): Promise\n ensureQueryData<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1:\n | TQueryKey\n | WithRequired<\n FetchQueryOptions,\n 'queryKey'\n >,\n arg2?:\n | QueryFunction\n | FetchQueryOptions,\n arg3?: FetchQueryOptions,\n ): Promise {\n const parsedOptions = parseQueryArgs(arg1, arg2, arg3)\n const cachedData = this.getQueryData(parsedOptions.queryKey!)\n\n return cachedData\n ? Promise.resolve(cachedData)\n : this.fetchQuery(parsedOptions)\n }\n\n getQueriesData(\n queryKey: QueryKey,\n ): [QueryKey, TQueryFnData | undefined][]\n getQueriesData(\n filters: QueryFilters,\n ): [QueryKey, TQueryFnData | undefined][]\n getQueriesData(\n queryKeyOrFilters: QueryKey | QueryFilters,\n ): [QueryKey, TQueryFnData | undefined][] {\n return this.getQueryCache()\n .findAll(queryKeyOrFilters)\n .map(({ queryKey, state }) => {\n const data = state.data as TQueryFnData | undefined\n return [queryKey, data]\n })\n }\n\n setQueryData(\n queryKey: QueryKey,\n updater: Updater,\n options?: SetDataOptions,\n ): TQueryFnData | undefined {\n const query = this.queryCache.find(queryKey)\n const prevData = query?.state.data\n const data = functionalUpdate(updater, prevData)\n\n if (typeof data === 'undefined') {\n return undefined\n }\n\n const parsedOptions = parseQueryArgs(queryKey)\n const defaultedOptions = this.defaultQueryOptions(parsedOptions)\n return this.queryCache\n .build(this, defaultedOptions)\n .setData(data, { ...options, manual: true })\n }\n\n setQueriesData(\n queryKey: QueryKey,\n updater: Updater,\n options?: SetDataOptions,\n ): [QueryKey, TQueryFnData | undefined][]\n\n setQueriesData(\n filters: QueryFilters,\n updater: Updater,\n options?: SetDataOptions,\n ): [QueryKey, TQueryFnData | undefined][]\n\n setQueriesData(\n queryKeyOrFilters: QueryKey | QueryFilters,\n updater: Updater,\n options?: SetDataOptions,\n ): [QueryKey, TQueryFnData | undefined][] {\n return notifyManager.batch(() =>\n this.getQueryCache()\n .findAll(queryKeyOrFilters)\n .map(({ queryKey }) => [\n queryKey,\n this.setQueryData(queryKey, updater, options),\n ]),\n )\n }\n\n getQueryState(\n queryKey: QueryKey,\n filters?: QueryFilters,\n ): QueryState | undefined {\n return this.queryCache.find(queryKey, filters)?.state\n }\n\n removeQueries(filters?: QueryFilters): void\n removeQueries(queryKey?: QueryKey, filters?: QueryFilters): void\n removeQueries(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): void {\n const [filters] = parseFilterArgs(arg1, arg2)\n const queryCache = this.queryCache\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query)\n })\n })\n }\n\n resetQueries(\n filters?: ResetQueryFilters,\n options?: ResetOptions,\n ): Promise\n resetQueries(\n queryKey?: QueryKey,\n filters?: ResetQueryFilters,\n options?: ResetOptions,\n ): Promise\n resetQueries(\n arg1?: QueryKey | ResetQueryFilters,\n arg2?: ResetQueryFilters | ResetOptions,\n arg3?: ResetOptions,\n ): Promise {\n const [filters, options] = parseFilterArgs(arg1, arg2, arg3)\n const queryCache = this.queryCache\n\n const refetchFilters: RefetchQueryFilters = {\n type: 'active',\n ...filters,\n }\n\n return notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n query.reset()\n })\n return this.refetchQueries(refetchFilters, options)\n })\n }\n\n cancelQueries(filters?: QueryFilters, options?: CancelOptions): Promise\n cancelQueries(\n queryKey?: QueryKey,\n filters?: QueryFilters,\n options?: CancelOptions,\n ): Promise\n cancelQueries(\n arg1?: QueryKey | QueryFilters,\n arg2?: QueryFilters | CancelOptions,\n arg3?: CancelOptions,\n ): Promise {\n const [filters, cancelOptions = {}] = parseFilterArgs(arg1, arg2, arg3)\n\n if (typeof cancelOptions.revert === 'undefined') {\n cancelOptions.revert = true\n }\n\n const promises = notifyManager.batch(() =>\n this.queryCache\n .findAll(filters)\n .map((query) => query.cancel(cancelOptions)),\n )\n\n return Promise.all(promises).then(noop).catch(noop)\n }\n\n invalidateQueries(\n filters?: InvalidateQueryFilters,\n options?: InvalidateOptions,\n ): Promise\n invalidateQueries(\n queryKey?: QueryKey,\n filters?: InvalidateQueryFilters,\n options?: InvalidateOptions,\n ): Promise\n invalidateQueries(\n arg1?: QueryKey | InvalidateQueryFilters,\n arg2?: InvalidateQueryFilters | InvalidateOptions,\n arg3?: InvalidateOptions,\n ): Promise {\n const [filters, options] = parseFilterArgs(arg1, arg2, arg3)\n\n return notifyManager.batch(() => {\n this.queryCache.findAll(filters).forEach((query) => {\n query.invalidate()\n })\n\n if (filters.refetchType === 'none') {\n return Promise.resolve()\n }\n const refetchFilters: RefetchQueryFilters = {\n ...filters,\n type: filters.refetchType ?? filters.type ?? 'active',\n }\n return this.refetchQueries(refetchFilters, options)\n })\n }\n\n refetchQueries(\n filters?: RefetchQueryFilters,\n options?: RefetchOptions,\n ): Promise\n refetchQueries(\n queryKey?: QueryKey,\n filters?: RefetchQueryFilters,\n options?: RefetchOptions,\n ): Promise\n refetchQueries(\n arg1?: QueryKey | RefetchQueryFilters,\n arg2?: RefetchQueryFilters | RefetchOptions,\n arg3?: RefetchOptions,\n ): Promise {\n const [filters, options] = parseFilterArgs(arg1, arg2, arg3)\n\n const promises = notifyManager.batch(() =>\n this.queryCache\n .findAll(filters)\n .filter((query) => !query.isDisabled())\n .map((query) =>\n query.fetch(undefined, {\n ...options,\n cancelRefetch: options?.cancelRefetch ?? true,\n meta: { refetchPage: filters.refetchPage },\n }),\n ),\n )\n\n let promise = Promise.all(promises).then(noop)\n\n if (!options?.throwOnError) {\n promise = promise.catch(noop)\n }\n\n return promise\n }\n\n fetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchQueryOptions,\n ): Promise\n fetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: FetchQueryOptions,\n ): Promise\n fetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction,\n options?: FetchQueryOptions,\n ): Promise\n fetchQuery<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1: TQueryKey | FetchQueryOptions,\n arg2?:\n | QueryFunction\n | FetchQueryOptions,\n arg3?: FetchQueryOptions,\n ): Promise {\n const parsedOptions = parseQueryArgs(arg1, arg2, arg3)\n const defaultedOptions = this.defaultQueryOptions(parsedOptions)\n\n // https://github.com/tannerlinsley/react-query/issues/652\n if (typeof defaultedOptions.retry === 'undefined') {\n defaultedOptions.retry = false\n }\n\n const query = this.queryCache.build(this, defaultedOptions)\n\n return query.isStaleByTime(defaultedOptions.staleTime)\n ? query.fetch(defaultedOptions)\n : Promise.resolve(query.state.data as TData)\n }\n\n prefetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchQueryOptions,\n ): Promise\n prefetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: FetchQueryOptions,\n ): Promise\n prefetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction,\n options?: FetchQueryOptions,\n ): Promise\n prefetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1: TQueryKey | FetchQueryOptions,\n arg2?:\n | QueryFunction\n | FetchQueryOptions,\n arg3?: FetchQueryOptions,\n ): Promise {\n return this.fetchQuery(arg1 as any, arg2 as any, arg3)\n .then(noop)\n .catch(noop)\n }\n\n fetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchInfiniteQueryOptions,\n ): Promise>\n fetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: FetchInfiniteQueryOptions,\n ): Promise>\n fetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction,\n options?: FetchInfiniteQueryOptions,\n ): Promise>\n fetchInfiniteQuery<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1:\n | TQueryKey\n | FetchInfiniteQueryOptions,\n arg2?:\n | QueryFunction\n | FetchInfiniteQueryOptions,\n arg3?: FetchInfiniteQueryOptions,\n ): Promise> {\n const parsedOptions = parseQueryArgs(arg1, arg2, arg3)\n parsedOptions.behavior = infiniteQueryBehavior<\n TQueryFnData,\n TError,\n TData\n >()\n return this.fetchQuery(parsedOptions)\n }\n\n prefetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchInfiniteQueryOptions,\n ): Promise\n prefetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: FetchInfiniteQueryOptions,\n ): Promise\n prefetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction,\n options?: FetchInfiniteQueryOptions,\n ): Promise\n prefetchInfiniteQuery<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1:\n | TQueryKey\n | FetchInfiniteQueryOptions,\n arg2?:\n | QueryFunction\n | FetchInfiniteQueryOptions,\n arg3?: FetchInfiniteQueryOptions,\n ): Promise {\n return this.fetchInfiniteQuery(arg1 as any, arg2 as any, arg3)\n .then(noop)\n .catch(noop)\n }\n\n resumePausedMutations(): Promise {\n return this.mutationCache.resumePausedMutations()\n }\n\n getQueryCache(): QueryCache {\n return this.queryCache\n }\n\n getMutationCache(): MutationCache {\n return this.mutationCache\n }\n\n getLogger(): Logger {\n return this.logger\n }\n\n getDefaultOptions(): DefaultOptions {\n return this.defaultOptions\n }\n\n setDefaultOptions(options: DefaultOptions): void {\n this.defaultOptions = options\n }\n\n setQueryDefaults(\n queryKey: QueryKey,\n options: QueryObserverOptions,\n ): void {\n const result = this.queryDefaults.find(\n (x) => hashQueryKey(queryKey) === hashQueryKey(x.queryKey),\n )\n if (result) {\n result.defaultOptions = options\n } else {\n this.queryDefaults.push({ queryKey, defaultOptions: options })\n }\n }\n\n getQueryDefaults(\n queryKey?: QueryKey,\n ): QueryObserverOptions | undefined {\n if (!queryKey) {\n return undefined\n }\n\n // Get the first matching defaults\n const firstMatchingDefaults = this.queryDefaults.find((x) =>\n partialMatchKey(queryKey, x.queryKey),\n )\n\n // Additional checks and error in dev mode\n if (process.env.NODE_ENV !== 'production') {\n // Retrieve all matching defaults for the given key\n const matchingDefaults = this.queryDefaults.filter((x) =>\n partialMatchKey(queryKey, x.queryKey),\n )\n // It is ok not having defaults, but it is error prone to have more than 1 default for a given key\n if (matchingDefaults.length > 1) {\n this.logger.error(\n `[QueryClient] Several query defaults match with key '${JSON.stringify(\n queryKey,\n )}'. The first matching query defaults are used. Please check how query defaults are registered. Order does matter here. cf. https://react-query.tanstack.com/reference/QueryClient#queryclientsetquerydefaults.`,\n )\n }\n }\n\n return firstMatchingDefaults?.defaultOptions\n }\n\n setMutationDefaults(\n mutationKey: MutationKey,\n options: MutationObserverOptions,\n ): void {\n const result = this.mutationDefaults.find(\n (x) => hashQueryKey(mutationKey) === hashQueryKey(x.mutationKey),\n )\n if (result) {\n result.defaultOptions = options\n } else {\n this.mutationDefaults.push({ mutationKey, defaultOptions: options })\n }\n }\n\n getMutationDefaults(\n mutationKey?: MutationKey,\n ): MutationObserverOptions | undefined {\n if (!mutationKey) {\n return undefined\n }\n\n // Get the first matching defaults\n const firstMatchingDefaults = this.mutationDefaults.find((x) =>\n partialMatchKey(mutationKey, x.mutationKey),\n )\n\n // Additional checks and error in dev mode\n if (process.env.NODE_ENV !== 'production') {\n // Retrieve all matching defaults for the given key\n const matchingDefaults = this.mutationDefaults.filter((x) =>\n partialMatchKey(mutationKey, x.mutationKey),\n )\n // It is ok not having defaults, but it is error prone to have more than 1 default for a given key\n if (matchingDefaults.length > 1) {\n this.logger.error(\n `[QueryClient] Several mutation defaults match with key '${JSON.stringify(\n mutationKey,\n )}'. The first matching mutation defaults are used. Please check how mutation defaults are registered. Order does matter here. cf. https://react-query.tanstack.com/reference/QueryClient#queryclientsetmutationdefaults.`,\n )\n }\n }\n\n return firstMatchingDefaults?.defaultOptions\n }\n\n defaultQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n >(\n options?:\n | QueryObserverOptions\n | DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n > {\n if (options?._defaulted) {\n return options as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n const defaultedOptions = {\n ...this.defaultOptions.queries,\n ...this.getQueryDefaults(options?.queryKey),\n ...options,\n _defaulted: true,\n }\n\n if (!defaultedOptions.queryHash && defaultedOptions.queryKey) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions,\n )\n }\n\n // dependent default values\n if (typeof defaultedOptions.refetchOnReconnect === 'undefined') {\n defaultedOptions.refetchOnReconnect =\n defaultedOptions.networkMode !== 'always'\n }\n if (typeof defaultedOptions.useErrorBoundary === 'undefined') {\n defaultedOptions.useErrorBoundary = !!defaultedOptions.suspense\n }\n\n return defaultedOptions as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n defaultMutationOptions>(\n options?: T,\n ): T {\n if (options?._defaulted) {\n return options\n }\n return {\n ...this.defaultOptions.mutations,\n ...this.getMutationDefaults(options?.mutationKey),\n ...options,\n _defaulted: true,\n } as T\n }\n\n clear(): void {\n this.queryCache.clear()\n this.mutationCache.clear()\n }\n}\n", "import {\n createConnectTransport,\n} from \"@bufbuild/connect-web\";\nimport {createPromiseClient} from \"@bufbuild/connect\";\nimport { ProtoflowService } from \"@/rpc/protoflow_connect\";\nimport { ContentService } from \"@/rpc/content/content_connect\";\nimport { UserService } from \"./rpc/user/user_connect\";\nimport {QueryClient} from \"@tanstack/react-query\";\n\nexport const baseURL = process.env.BASE_URL;\n\nexport const queryClient = new QueryClient();\nexport const transport = createConnectTransport({\n baseUrl: `${baseURL}/api` || 'error',\n // credentials: \"include\",\n});\n\nexport const projectService = createPromiseClient(ProtoflowService, transport);\nexport const contentService = createPromiseClient(ContentService, transport);\nexport const userService = createPromiseClient(UserService, transport);\n", "import { Content, Data, } from \"@/rpc/content/content_pb\";\n\nconst ITEMS_PER_PAGE = 100; // Adjust as required\n\nexport function textContent(text: string, tags: string[]): Content {\n return new Content({\n tags: tags,\n type: {\n case: 'data',\n value: new Data({\n type: {\n case: 'text',\n value: {\n data: text,\n }\n }\n })\n }\n })\n}\n\nexport function urlContent(url: string, tags: string[]): Content {\n return new Content({\n tags: tags,\n type: {\n case: 'data',\n value: new Data({\n type: {\n case: 'url',\n value: {\n url,\n }\n }\n })\n }\n })\n}\n\nexport function getHistoryPage(page: number, callback: (results: chrome.history.HistoryItem[]) => void): void {\n if (!chrome.history) {\n console.error(\"Chrome History API is not available\");\n return;\n }\n\n let endTime = Date.now(); // Default for first page\n let startTime = endTime - (ITEMS_PER_PAGE * 24 * 60 * 60 * 1000); // A rough estimate\n\n // If it's not the first page, adjust the endTime and startTime based on previous results\n if (page > 1) {\n chrome.history.search({\n text: '',\n startTime: 0,\n endTime: Date.now(),\n maxResults: (page - 1) * ITEMS_PER_PAGE\n }, (previousResults) => {\n const oldestItem = previousResults[previousResults.length - 1];\n if (!oldestItem.lastVisitTime) {\n return;\n }\n endTime = oldestItem.lastVisitTime;\n startTime = endTime - (ITEMS_PER_PAGE * 24 * 60 * 60 * 1000); // Adjust based on your needs\n\n fetchHistory(startTime, endTime, callback);\n });\n } else {\n fetchHistory(startTime, endTime, callback);\n }\n}\n\nfunction fetchHistory(startTime: number, endTime: number, callback: (results: chrome.history.HistoryItem[]) => void): void {\n chrome.history.search({\n text: '',\n startTime: startTime,\n endTime: endTime,\n maxResults: ITEMS_PER_PAGE\n }, (results) => {\n callback(results);\n });\n}\n"], - "mappings": "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,OAAO,OAAO,KAAK,IAAI;AAE1D,eAAkB,KAAA,GAAA,SAAA,MAAA,KAAA,OAAA,QAAA,MAAM;AAAnB,YAAM,MAAG,OAAA,EAAA;AACZ,eAAO,GAAG,IAAI;;;AAIlB,WAAO;EACT;AAOO,MAAM,oBAAoB,YAAY;IAC3C;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACD;AAOM,MAAM,wBAAwB,YAAY;IAC/C;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;GACD;AAOM,MAAM,wBAAwB,YAAY,uBAAuB,iBAAiB;AAOlF,MAAM,kBAAkB,YAAY,uBAAuB;IAChE;;GACD;AAOM,MAAM,kBAAkB,YAAY,uBAAuB;IAChE;IACA;IACA;IACA;IACA;IACA;;GACD;AAOM,MAAM,kBAAkB,YAAY,iBAAiB;IAC1D;;GACD;AAOM,MAAM,eAAe,YAAY,uBAAuB;IAC7D;;GACD;AAOM,MAAM,eAAe,YAAY,uBAAuB;IAC7D;;GACD;AAOM,MAAM,mBAAmB,YAAY,uBAAuB;IACjE;IACA;IACA;IACA;IACA;IACA;IACA;;GACD;AAOM,MAAM,mBAAmB,YAAY,uBAAuB;IACjE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;GACD;AAOM,MAAM,kBAAkB,YAAY,kBAAkB;IAC3D;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;I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", + "sourcesContent": ["/**\n * @license React\n * react.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var ReactVersion = '18.2.0';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\n/**\n * Keeps track of the current dispatcher.\n */\nvar ReactCurrentDispatcher = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\n\n/**\n * Keeps track of the current batch's configuration such as how long an update\n * should suspend for if it needs to.\n */\nvar ReactCurrentBatchConfig = {\n transition: null\n};\n\nvar ReactCurrentActQueue = {\n current: null,\n // Used to reproduce behavior of `batchedUpdates` in legacy mode.\n isBatchingLegacy: false,\n didScheduleLegacyUpdate: false\n};\n\n/**\n * Keeps track of the current owner.\n *\n * The current owner is the component who should own any components that are\n * currently being constructed.\n */\nvar ReactCurrentOwner = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\n\nvar ReactDebugCurrentFrame = {};\nvar currentExtraStackFrame = null;\nfunction setExtraStackFrame(stack) {\n {\n currentExtraStackFrame = stack;\n }\n}\n\n{\n ReactDebugCurrentFrame.setExtraStackFrame = function (stack) {\n {\n currentExtraStackFrame = stack;\n }\n }; // Stack implementation injected by the current renderer.\n\n\n ReactDebugCurrentFrame.getCurrentStack = null;\n\n ReactDebugCurrentFrame.getStackAddendum = function () {\n var stack = ''; // Add an extra top frame while an element is being validated\n\n if (currentExtraStackFrame) {\n stack += currentExtraStackFrame;\n } // Delegate to the injected renderer-specific implementation\n\n\n var impl = ReactDebugCurrentFrame.getCurrentStack;\n\n if (impl) {\n stack += impl() || '';\n }\n\n return stack;\n };\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar ReactSharedInternals = {\n ReactCurrentDispatcher: ReactCurrentDispatcher,\n ReactCurrentBatchConfig: ReactCurrentBatchConfig,\n ReactCurrentOwner: ReactCurrentOwner\n};\n\n{\n ReactSharedInternals.ReactDebugCurrentFrame = ReactDebugCurrentFrame;\n ReactSharedInternals.ReactCurrentActQueue = ReactCurrentActQueue;\n}\n\n// by calls to these methods by a Babel plugin.\n//\n// In PROD (or in packages without access to React internals),\n// they are left as they are instead.\n\nfunction warn(format) {\n {\n {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n printWarning('warn', format, args);\n }\n }\n}\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\nvar didWarnStateUpdateForUnmountedComponent = {};\n\nfunction warnNoop(publicInstance, callerName) {\n {\n var _constructor = publicInstance.constructor;\n var componentName = _constructor && (_constructor.displayName || _constructor.name) || 'ReactClass';\n var warningKey = componentName + \".\" + callerName;\n\n if (didWarnStateUpdateForUnmountedComponent[warningKey]) {\n return;\n }\n\n error(\"Can't call %s on a component that is not yet mounted. \" + 'This is a no-op, but it might indicate a bug in your application. ' + 'Instead, assign to `this.state` directly or define a `state = {};` ' + 'class property with the desired state in the %s component.', callerName, componentName);\n\n didWarnStateUpdateForUnmountedComponent[warningKey] = true;\n }\n}\n/**\n * This is the abstract API for an update queue.\n */\n\n\nvar ReactNoopUpdateQueue = {\n /**\n * Checks whether or not this composite component is mounted.\n * @param {ReactClass} publicInstance The instance we want to test.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function (publicInstance) {\n return false;\n },\n\n /**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueForceUpdate: function (publicInstance, callback, callerName) {\n warnNoop(publicInstance, 'forceUpdate');\n },\n\n /**\n * Replaces all of the state. Always use this or `setState` to mutate state.\n * You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} completeState Next state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueReplaceState: function (publicInstance, completeState, callback, callerName) {\n warnNoop(publicInstance, 'replaceState');\n },\n\n /**\n * Sets a subset of the state. This only exists because _pendingState is\n * internal. This provides a merging strategy that is not available to deep\n * properties which is confusing. TODO: Expose pendingState or don't use it\n * during the merge.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} partialState Next partial state to be merged with state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} Name of the calling function in the public API.\n * @internal\n */\n enqueueSetState: function (publicInstance, partialState, callback, callerName) {\n warnNoop(publicInstance, 'setState');\n }\n};\n\nvar assign = Object.assign;\n\nvar emptyObject = {};\n\n{\n Object.freeze(emptyObject);\n}\n/**\n * Base class helpers for the updating state of a component.\n */\n\n\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject; // We initialize the default updater but the real one gets injected by the\n // renderer.\n\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nComponent.prototype.isReactComponent = {};\n/**\n * Sets a subset of the state. Always use this to mutate\n * state. You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * There is no guarantee that calls to `setState` will run synchronously,\n * as they may eventually be batched together. You can provide an optional\n * callback that will be executed when the call to setState is actually\n * completed.\n *\n * When a function is provided to setState, it will be called at some point in\n * the future (not synchronously). It will be called with the up to date\n * component arguments (state, props, context). These values can be different\n * from this.* because your function may be called after receiveProps but before\n * shouldComponentUpdate, and this new state, props, and context will not yet be\n * assigned to this.\n *\n * @param {object|function} partialState Next partial state or function to\n * produce next partial state to be merged with current state.\n * @param {?function} callback Called after state is updated.\n * @final\n * @protected\n */\n\nComponent.prototype.setState = function (partialState, callback) {\n if (typeof partialState !== 'object' && typeof partialState !== 'function' && partialState != null) {\n throw new Error('setState(...): takes an object of state variables to update or a ' + 'function which returns an object of state variables.');\n }\n\n this.updater.enqueueSetState(this, partialState, callback, 'setState');\n};\n/**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {?function} callback Called after update is complete.\n * @final\n * @protected\n */\n\n\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, 'forceUpdate');\n};\n/**\n * Deprecated APIs. These APIs used to exist on classic React classes but since\n * we would like to deprecate them, we're not going to move them over to this\n * modern base class. Instead, we define a getter that warns if it's accessed.\n */\n\n\n{\n var deprecatedAPIs = {\n isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],\n replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']\n };\n\n var defineDeprecationWarning = function (methodName, info) {\n Object.defineProperty(Component.prototype, methodName, {\n get: function () {\n warn('%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]);\n\n return undefined;\n }\n });\n };\n\n for (var fnName in deprecatedAPIs) {\n if (deprecatedAPIs.hasOwnProperty(fnName)) {\n defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\n }\n }\n}\n\nfunction ComponentDummy() {}\n\nComponentDummy.prototype = Component.prototype;\n/**\n * Convenience component with default shallow equality check for sCU.\n */\n\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nvar pureComponentPrototype = PureComponent.prototype = new ComponentDummy();\npureComponentPrototype.constructor = PureComponent; // Avoid an extra prototype jump for these methods.\n\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = true;\n\n// an immutable object with a single mutable value\nfunction createRef() {\n var refObject = {\n current: null\n };\n\n {\n Object.seal(refObject);\n }\n\n return refObject;\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown, specialPropRefWarningShown, didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n var warnAboutAccessingKey = function () {\n {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n var warnAboutAccessingRef = function () {\n {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && config.__self && ReactCurrentOwner.current.stateNode !== config.__self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', componentName, config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * Create and return a new ReactElement of the given type.\n * See https://reactjs.org/docs/react-api.html#createelement\n */\n\nfunction createElement(type, config, children) {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null;\n var self = null;\n var source = null;\n\n if (config != null) {\n if (hasValidRef(config)) {\n ref = config.ref;\n\n {\n warnIfStringRefCannotBeAutoConverted(config);\n }\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n self = config.__self === undefined ? null : config.__self;\n source = config.__source === undefined ? null : config.__source; // Remaining properties are added to a new props object\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n\n {\n if (Object.freeze) {\n Object.freeze(childArray);\n }\n }\n\n props.children = childArray;\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n {\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props);\n return newElement;\n}\n/**\n * Clone and return a new ReactElement using element as the starting point.\n * See https://reactjs.org/docs/react-api.html#cloneelement\n */\n\nfunction cloneElement(element, config, children) {\n if (element === null || element === undefined) {\n throw new Error(\"React.cloneElement(...): The argument must be a React element, but you passed \" + element + \".\");\n }\n\n var propName; // Original props are copied\n\n var props = assign({}, element.props); // Reserved names are extracted\n\n var key = element.key;\n var ref = element.ref; // Self is preserved since the owner is preserved.\n\n var self = element._self; // Source is preserved since cloneElement is unlikely to be targeted by a\n // transpiler, and the original source is probably a better indicator of the\n // true owner.\n\n var source = element._source; // Owner will be preserved, unless ref is overridden\n\n var owner = element._owner;\n\n if (config != null) {\n if (hasValidRef(config)) {\n // Silently steal the ref from the parent.\n ref = config.ref;\n owner = ReactCurrentOwner.current;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n } // Remaining properties override existing props\n\n\n var defaultProps;\n\n if (element.type && element.type.defaultProps) {\n defaultProps = element.type.defaultProps;\n }\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n if (config[propName] === undefined && defaultProps !== undefined) {\n // Resolve default props\n props[propName] = defaultProps[propName];\n } else {\n props[propName] = config[propName];\n }\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n\n props.children = childArray;\n }\n\n return ReactElement(element.type, key, ref, self, source, owner, props);\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\nfunction isValidElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\n\nvar SEPARATOR = '.';\nvar SUBSEPARATOR = ':';\n/**\n * Escape and wrap key so it is safe to use as a reactid\n *\n * @param {string} key to be escaped.\n * @return {string} the escaped key.\n */\n\nfunction escape(key) {\n var escapeRegex = /[=:]/g;\n var escaperLookup = {\n '=': '=0',\n ':': '=2'\n };\n var escapedString = key.replace(escapeRegex, function (match) {\n return escaperLookup[match];\n });\n return '$' + escapedString;\n}\n/**\n * TODO: Test that a single child and an array with one item have the same key\n * pattern.\n */\n\n\nvar didWarnAboutMaps = false;\nvar userProvidedKeyEscapeRegex = /\\/+/g;\n\nfunction escapeUserProvidedKey(text) {\n return text.replace(userProvidedKeyEscapeRegex, '$&/');\n}\n/**\n * Generate a key string that identifies a element within a set.\n *\n * @param {*} element A element that could contain a manual key.\n * @param {number} index Index that is used if a manual key is not provided.\n * @return {string}\n */\n\n\nfunction getElementKey(element, index) {\n // Do some typechecking here since we call this blindly. We want to ensure\n // that we don't block potential future ES APIs.\n if (typeof element === 'object' && element !== null && element.key != null) {\n // Explicit key\n {\n checkKeyStringCoercion(element.key);\n }\n\n return escape('' + element.key);\n } // Implicit key determined by the index in the set\n\n\n return index.toString(36);\n}\n\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n\n if (type === 'undefined' || type === 'boolean') {\n // All of the above are perceived as null.\n children = null;\n }\n\n var invokeCallback = false;\n\n if (children === null) {\n invokeCallback = true;\n } else {\n switch (type) {\n case 'string':\n case 'number':\n invokeCallback = true;\n break;\n\n case 'object':\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = true;\n }\n\n }\n }\n\n if (invokeCallback) {\n var _child = children;\n var mappedChild = callback(_child); // If it's the only child, treat the name as if it was wrapped in an array\n // so that it's consistent if the number of children grows:\n\n var childKey = nameSoFar === '' ? SEPARATOR + getElementKey(_child, 0) : nameSoFar;\n\n if (isArray(mappedChild)) {\n var escapedChildKey = '';\n\n if (childKey != null) {\n escapedChildKey = escapeUserProvidedKey(childKey) + '/';\n }\n\n mapIntoArray(mappedChild, array, escapedChildKey, '', function (c) {\n return c;\n });\n } else if (mappedChild != null) {\n if (isValidElement(mappedChild)) {\n {\n // The `if` statement here prevents auto-disabling of the safe\n // coercion ESLint rule, so we must manually disable it below.\n // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key\n if (mappedChild.key && (!_child || _child.key !== mappedChild.key)) {\n checkKeyStringCoercion(mappedChild.key);\n }\n }\n\n mappedChild = cloneAndReplaceKey(mappedChild, // Keep both the (mapped) and old keys if they differ, just as\n // traverseAllChildren used to do for objects as children\n escapedPrefix + ( // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key\n mappedChild.key && (!_child || _child.key !== mappedChild.key) ? // $FlowFixMe Flow incorrectly thinks existing element's key can be a number\n // eslint-disable-next-line react-internal/safe-string-coercion\n escapeUserProvidedKey('' + mappedChild.key) + '/' : '') + childKey);\n }\n\n array.push(mappedChild);\n }\n\n return 1;\n }\n\n var child;\n var nextName;\n var subtreeCount = 0; // Count of children found in the current subtree.\n\n var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;\n\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n nextName = nextNamePrefix + getElementKey(child, i);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else {\n var iteratorFn = getIteratorFn(children);\n\n if (typeof iteratorFn === 'function') {\n var iterableChildren = children;\n\n {\n // Warn about using Maps as children\n if (iteratorFn === iterableChildren.entries) {\n if (!didWarnAboutMaps) {\n warn('Using Maps as children is not supported. ' + 'Use an array of keyed ReactElements instead.');\n }\n\n didWarnAboutMaps = true;\n }\n }\n\n var iterator = iteratorFn.call(iterableChildren);\n var step;\n var ii = 0;\n\n while (!(step = iterator.next()).done) {\n child = step.value;\n nextName = nextNamePrefix + getElementKey(child, ii++);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else if (type === 'object') {\n // eslint-disable-next-line react-internal/safe-string-coercion\n var childrenString = String(children);\n throw new Error(\"Objects are not valid as a React child (found: \" + (childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString) + \"). \" + 'If you meant to render a collection of children, use an array ' + 'instead.');\n }\n }\n\n return subtreeCount;\n}\n\n/**\n * Maps children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenmap\n *\n * The provided mapFunction(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} func The map function.\n * @param {*} context Context for mapFunction.\n * @return {object} Object containing the ordered map of results.\n */\nfunction mapChildren(children, func, context) {\n if (children == null) {\n return children;\n }\n\n var result = [];\n var count = 0;\n mapIntoArray(children, result, '', '', function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\n/**\n * Count the number of children that are typically specified as\n * `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrencount\n *\n * @param {?*} children Children tree container.\n * @return {number} The number of children.\n */\n\n\nfunction countChildren(children) {\n var n = 0;\n mapChildren(children, function () {\n n++; // Don't return anything\n });\n return n;\n}\n\n/**\n * Iterates through children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenforeach\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} forEachFunc\n * @param {*} forEachContext Context for forEachContext.\n */\nfunction forEachChildren(children, forEachFunc, forEachContext) {\n mapChildren(children, function () {\n forEachFunc.apply(this, arguments); // Don't return anything.\n }, forEachContext);\n}\n/**\n * Flatten a children object (typically specified as `props.children`) and\n * return an array with appropriately re-keyed children.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrentoarray\n */\n\n\nfunction toArray(children) {\n return mapChildren(children, function (child) {\n return child;\n }) || [];\n}\n/**\n * Returns the first child in a collection of children and verifies that there\n * is only one child in the collection.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenonly\n *\n * The current implementation of this function assumes that a single child gets\n * passed without a wrapper, but the purpose of this helper function is to\n * abstract away the particular structure of children.\n *\n * @param {?object} children Child collection structure.\n * @return {ReactElement} The first and only `ReactElement` contained in the\n * structure.\n */\n\n\nfunction onlyChild(children) {\n if (!isValidElement(children)) {\n throw new Error('React.Children.only expected to receive a single React element child.');\n }\n\n return children;\n}\n\nfunction createContext(defaultValue) {\n // TODO: Second argument used to be an optional `calculateChangedBits`\n // function. Warn to reserve for future use?\n var context = {\n $$typeof: REACT_CONTEXT_TYPE,\n // As a workaround to support multiple concurrent renderers, we categorize\n // some renderers as primary and others as secondary. We only expect\n // there to be two concurrent renderers at most: React Native (primary) and\n // Fabric (secondary); React DOM (primary) and React ART (secondary).\n // Secondary renderers store their context values on separate fields.\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n // Used to track how many concurrent renderers this context currently\n // supports within in a single renderer. Such as parallel server rendering.\n _threadCount: 0,\n // These are circular\n Provider: null,\n Consumer: null,\n // Add these to use same hidden class in VM as ServerContext\n _defaultValue: null,\n _globalName: null\n };\n context.Provider = {\n $$typeof: REACT_PROVIDER_TYPE,\n _context: context\n };\n var hasWarnedAboutUsingNestedContextConsumers = false;\n var hasWarnedAboutUsingConsumerProvider = false;\n var hasWarnedAboutDisplayNameOnConsumer = false;\n\n {\n // A separate object, but proxies back to the original context object for\n // backwards compatibility. It has a different $$typeof, so we can properly\n // warn for the incorrect usage of Context as a Consumer.\n var Consumer = {\n $$typeof: REACT_CONTEXT_TYPE,\n _context: context\n }; // $FlowFixMe: Flow complains about not setting a value, which is intentional here\n\n Object.defineProperties(Consumer, {\n Provider: {\n get: function () {\n if (!hasWarnedAboutUsingConsumerProvider) {\n hasWarnedAboutUsingConsumerProvider = true;\n\n error('Rendering is not supported and will be removed in ' + 'a future major release. Did you mean to render instead?');\n }\n\n return context.Provider;\n },\n set: function (_Provider) {\n context.Provider = _Provider;\n }\n },\n _currentValue: {\n get: function () {\n return context._currentValue;\n },\n set: function (_currentValue) {\n context._currentValue = _currentValue;\n }\n },\n _currentValue2: {\n get: function () {\n return context._currentValue2;\n },\n set: function (_currentValue2) {\n context._currentValue2 = _currentValue2;\n }\n },\n _threadCount: {\n get: function () {\n return context._threadCount;\n },\n set: function (_threadCount) {\n context._threadCount = _threadCount;\n }\n },\n Consumer: {\n get: function () {\n if (!hasWarnedAboutUsingNestedContextConsumers) {\n hasWarnedAboutUsingNestedContextConsumers = true;\n\n error('Rendering is not supported and will be removed in ' + 'a future major release. Did you mean to render instead?');\n }\n\n return context.Consumer;\n }\n },\n displayName: {\n get: function () {\n return context.displayName;\n },\n set: function (displayName) {\n if (!hasWarnedAboutDisplayNameOnConsumer) {\n warn('Setting `displayName` on Context.Consumer has no effect. ' + \"You should set it directly on the context with Context.displayName = '%s'.\", displayName);\n\n hasWarnedAboutDisplayNameOnConsumer = true;\n }\n }\n }\n }); // $FlowFixMe: Flow complains about missing properties because it doesn't understand defineProperty\n\n context.Consumer = Consumer;\n }\n\n {\n context._currentRenderer = null;\n context._currentRenderer2 = null;\n }\n\n return context;\n}\n\nvar Uninitialized = -1;\nvar Pending = 0;\nvar Resolved = 1;\nvar Rejected = 2;\n\nfunction lazyInitializer(payload) {\n if (payload._status === Uninitialized) {\n var ctor = payload._result;\n var thenable = ctor(); // Transition to the next state.\n // This might throw either because it's missing or throws. If so, we treat it\n // as still uninitialized and try again next time. Which is the same as what\n // happens if the ctor or any wrappers processing the ctor throws. This might\n // end up fixing it if the resolution was a concurrency bug.\n\n thenable.then(function (moduleObject) {\n if (payload._status === Pending || payload._status === Uninitialized) {\n // Transition to the next state.\n var resolved = payload;\n resolved._status = Resolved;\n resolved._result = moduleObject;\n }\n }, function (error) {\n if (payload._status === Pending || payload._status === Uninitialized) {\n // Transition to the next state.\n var rejected = payload;\n rejected._status = Rejected;\n rejected._result = error;\n }\n });\n\n if (payload._status === Uninitialized) {\n // In case, we're still uninitialized, then we're waiting for the thenable\n // to resolve. Set it as pending in the meantime.\n var pending = payload;\n pending._status = Pending;\n pending._result = thenable;\n }\n }\n\n if (payload._status === Resolved) {\n var moduleObject = payload._result;\n\n {\n if (moduleObject === undefined) {\n error('lazy: Expected the result of a dynamic imp' + 'ort() call. ' + 'Instead received: %s\\n\\nYour code should look like: \\n ' + // Break up imports to avoid accidentally parsing them as dependencies.\n 'const MyComponent = lazy(() => imp' + \"ort('./MyComponent'))\\n\\n\" + 'Did you accidentally put curly braces around the import?', moduleObject);\n }\n }\n\n {\n if (!('default' in moduleObject)) {\n error('lazy: Expected the result of a dynamic imp' + 'ort() call. ' + 'Instead received: %s\\n\\nYour code should look like: \\n ' + // Break up imports to avoid accidentally parsing them as dependencies.\n 'const MyComponent = lazy(() => imp' + \"ort('./MyComponent'))\", moduleObject);\n }\n }\n\n return moduleObject.default;\n } else {\n throw payload._result;\n }\n}\n\nfunction lazy(ctor) {\n var payload = {\n // We use these fields to store the result.\n _status: Uninitialized,\n _result: ctor\n };\n var lazyType = {\n $$typeof: REACT_LAZY_TYPE,\n _payload: payload,\n _init: lazyInitializer\n };\n\n {\n // In production, this would just set it on the object.\n var defaultProps;\n var propTypes; // $FlowFixMe\n\n Object.defineProperties(lazyType, {\n defaultProps: {\n configurable: true,\n get: function () {\n return defaultProps;\n },\n set: function (newDefaultProps) {\n error('React.lazy(...): It is not supported to assign `defaultProps` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n\n defaultProps = newDefaultProps; // Match production behavior more closely:\n // $FlowFixMe\n\n Object.defineProperty(lazyType, 'defaultProps', {\n enumerable: true\n });\n }\n },\n propTypes: {\n configurable: true,\n get: function () {\n return propTypes;\n },\n set: function (newPropTypes) {\n error('React.lazy(...): It is not supported to assign `propTypes` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n\n propTypes = newPropTypes; // Match production behavior more closely:\n // $FlowFixMe\n\n Object.defineProperty(lazyType, 'propTypes', {\n enumerable: true\n });\n }\n }\n });\n }\n\n return lazyType;\n}\n\nfunction forwardRef(render) {\n {\n if (render != null && render.$$typeof === REACT_MEMO_TYPE) {\n error('forwardRef requires a render function but received a `memo` ' + 'component. Instead of forwardRef(memo(...)), use ' + 'memo(forwardRef(...)).');\n } else if (typeof render !== 'function') {\n error('forwardRef requires a render function but was given %s.', render === null ? 'null' : typeof render);\n } else {\n if (render.length !== 0 && render.length !== 2) {\n error('forwardRef render functions accept exactly two parameters: props and ref. %s', render.length === 1 ? 'Did you forget to use the ref parameter?' : 'Any additional parameter will be undefined.');\n }\n }\n\n if (render != null) {\n if (render.defaultProps != null || render.propTypes != null) {\n error('forwardRef render functions do not support propTypes or defaultProps. ' + 'Did you accidentally pass a React component?');\n }\n }\n }\n\n var elementType = {\n $$typeof: REACT_FORWARD_REF_TYPE,\n render: render\n };\n\n {\n var ownName;\n Object.defineProperty(elementType, 'displayName', {\n enumerable: false,\n configurable: true,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name; // The inner component shouldn't inherit this display name in most cases,\n // because the component may be used elsewhere.\n // But it's nice for anonymous functions to inherit the name,\n // so that our component-stack generation logic will display their frames.\n // An anonymous function generally suggests a pattern like:\n // React.forwardRef((props, ref) => {...});\n // This kind of inner function is not used elsewhere so the side effect is okay.\n\n if (!render.name && !render.displayName) {\n render.displayName = name;\n }\n }\n });\n }\n\n return elementType;\n}\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction memo(type, compare) {\n {\n if (!isValidElementType(type)) {\n error('memo: The first argument must be a component. Instead ' + 'received: %s', type === null ? 'null' : typeof type);\n }\n }\n\n var elementType = {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: compare === undefined ? null : compare\n };\n\n {\n var ownName;\n Object.defineProperty(elementType, 'displayName', {\n enumerable: false,\n configurable: true,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name; // The inner component shouldn't inherit this display name in most cases,\n // because the component may be used elsewhere.\n // But it's nice for anonymous functions to inherit the name,\n // so that our component-stack generation logic will display their frames.\n // An anonymous function generally suggests a pattern like:\n // React.memo((props) => {...});\n // This kind of inner function is not used elsewhere so the side effect is okay.\n\n if (!type.name && !type.displayName) {\n type.displayName = name;\n }\n }\n });\n }\n\n return elementType;\n}\n\nfunction resolveDispatcher() {\n var dispatcher = ReactCurrentDispatcher.current;\n\n {\n if (dispatcher === null) {\n error('Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for' + ' one of the following reasons:\\n' + '1. You might have mismatching versions of React and the renderer (such as React DOM)\\n' + '2. You might be breaking the Rules of Hooks\\n' + '3. You might have more than one copy of React in the same app\\n' + 'See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.');\n }\n } // Will result in a null access error if accessed outside render phase. We\n // intentionally don't throw our own error because this is in a hot path.\n // Also helps ensure this is inlined.\n\n\n return dispatcher;\n}\nfunction useContext(Context) {\n var dispatcher = resolveDispatcher();\n\n {\n // TODO: add a more generic warning for invalid values.\n if (Context._context !== undefined) {\n var realContext = Context._context; // Don't deduplicate because this legitimately causes bugs\n // and nobody should be using this in existing code.\n\n if (realContext.Consumer === Context) {\n error('Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be ' + 'removed in a future major release. Did you mean to call useContext(Context) instead?');\n } else if (realContext.Provider === Context) {\n error('Calling useContext(Context.Provider) is not supported. ' + 'Did you mean to call useContext(Context) instead?');\n }\n }\n }\n\n return dispatcher.useContext(Context);\n}\nfunction useState(initialState) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useState(initialState);\n}\nfunction useReducer(reducer, initialArg, init) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useReducer(reducer, initialArg, init);\n}\nfunction useRef(initialValue) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useRef(initialValue);\n}\nfunction useEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useEffect(create, deps);\n}\nfunction useInsertionEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useInsertionEffect(create, deps);\n}\nfunction useLayoutEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useLayoutEffect(create, deps);\n}\nfunction useCallback(callback, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useCallback(callback, deps);\n}\nfunction useMemo(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useMemo(create, deps);\n}\nfunction useImperativeHandle(ref, create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useImperativeHandle(ref, create, deps);\n}\nfunction useDebugValue(value, formatterFn) {\n {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDebugValue(value, formatterFn);\n }\n}\nfunction useTransition() {\n var dispatcher = resolveDispatcher();\n return dispatcher.useTransition();\n}\nfunction useDeferredValue(value) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDeferredValue(value);\n}\nfunction useId() {\n var dispatcher = resolveDispatcher();\n return dispatcher.useId();\n}\nfunction useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n}\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher$1 = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher$1.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher$1.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('')) {\n _frame = _frame.replace('', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher$1.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n setExtraStackFrame(stack);\n } else {\n setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n\nfunction getDeclarationErrorAddendum() {\n if (ReactCurrentOwner.current) {\n var name = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n}\n\nfunction getSourceInfoErrorAddendumForProps(elementProps) {\n if (elementProps !== null && elementProps !== undefined) {\n return getSourceInfoErrorAddendum(elementProps.__source);\n }\n\n return '';\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n {\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\nfunction createElementWithValidation(type, props, children) {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendumForProps(props);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n {\n error('React.createElement: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n }\n\n var element = createElement.apply(this, arguments); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], type);\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n}\nvar didWarnAboutDeprecatedCreateFactory = false;\nfunction createFactoryWithValidation(type) {\n var validatedFactory = createElementWithValidation.bind(null, type);\n validatedFactory.type = type;\n\n {\n if (!didWarnAboutDeprecatedCreateFactory) {\n didWarnAboutDeprecatedCreateFactory = true;\n\n warn('React.createFactory() is deprecated and will be removed in ' + 'a future major release. Consider using JSX ' + 'or use React.createElement() directly instead.');\n } // Legacy hook: remove it\n\n\n Object.defineProperty(validatedFactory, 'type', {\n enumerable: false,\n get: function () {\n warn('Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.');\n\n Object.defineProperty(this, 'type', {\n value: type\n });\n return type;\n }\n });\n }\n\n return validatedFactory;\n}\nfunction cloneElementWithValidation(element, props, children) {\n var newElement = cloneElement.apply(this, arguments);\n\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], newElement.type);\n }\n\n validatePropTypes(newElement);\n return newElement;\n}\n\nfunction startTransition(scope, options) {\n var prevTransition = ReactCurrentBatchConfig.transition;\n ReactCurrentBatchConfig.transition = {};\n var currentTransition = ReactCurrentBatchConfig.transition;\n\n {\n ReactCurrentBatchConfig.transition._updatedFibers = new Set();\n }\n\n try {\n scope();\n } finally {\n ReactCurrentBatchConfig.transition = prevTransition;\n\n {\n if (prevTransition === null && currentTransition._updatedFibers) {\n var updatedFibersCount = currentTransition._updatedFibers.size;\n\n if (updatedFibersCount > 10) {\n warn('Detected a large number of updates inside startTransition. ' + 'If this is due to a subscription please re-write it to use React provided hooks. ' + 'Otherwise concurrent mode guarantees are off the table.');\n }\n\n currentTransition._updatedFibers.clear();\n }\n }\n }\n}\n\nvar didWarnAboutMessageChannel = false;\nvar enqueueTaskImpl = null;\nfunction enqueueTask(task) {\n if (enqueueTaskImpl === null) {\n try {\n // read require off the module object to get around the bundlers.\n // we don't want them to detect a require and bundle a Node polyfill.\n var requireString = ('require' + Math.random()).slice(0, 7);\n var nodeRequire = module && module[requireString]; // assuming we're in node, let's try to get node's\n // version of setImmediate, bypassing fake timers if any.\n\n enqueueTaskImpl = nodeRequire.call(module, 'timers').setImmediate;\n } catch (_err) {\n // we're in a browser\n // we can't use regular timers because they may still be faked\n // so we try MessageChannel+postMessage instead\n enqueueTaskImpl = function (callback) {\n {\n if (didWarnAboutMessageChannel === false) {\n didWarnAboutMessageChannel = true;\n\n if (typeof MessageChannel === 'undefined') {\n error('This browser does not have a MessageChannel implementation, ' + 'so enqueuing tasks via await act(async () => ...) will fail. ' + 'Please file an issue at https://github.com/facebook/react/issues ' + 'if you encounter this warning.');\n }\n }\n }\n\n var channel = new MessageChannel();\n channel.port1.onmessage = callback;\n channel.port2.postMessage(undefined);\n };\n }\n }\n\n return enqueueTaskImpl(task);\n}\n\nvar actScopeDepth = 0;\nvar didWarnNoAwaitAct = false;\nfunction act(callback) {\n {\n // `act` calls can be nested, so we track the depth. This represents the\n // number of `act` scopes on the stack.\n var prevActScopeDepth = actScopeDepth;\n actScopeDepth++;\n\n if (ReactCurrentActQueue.current === null) {\n // This is the outermost `act` scope. Initialize the queue. The reconciler\n // will detect the queue and use it instead of Scheduler.\n ReactCurrentActQueue.current = [];\n }\n\n var prevIsBatchingLegacy = ReactCurrentActQueue.isBatchingLegacy;\n var result;\n\n try {\n // Used to reproduce behavior of `batchedUpdates` in legacy mode. Only\n // set to `true` while the given callback is executed, not for updates\n // triggered during an async event, because this is how the legacy\n // implementation of `act` behaved.\n ReactCurrentActQueue.isBatchingLegacy = true;\n result = callback(); // Replicate behavior of original `act` implementation in legacy mode,\n // which flushed updates immediately after the scope function exits, even\n // if it's an async function.\n\n if (!prevIsBatchingLegacy && ReactCurrentActQueue.didScheduleLegacyUpdate) {\n var queue = ReactCurrentActQueue.current;\n\n if (queue !== null) {\n ReactCurrentActQueue.didScheduleLegacyUpdate = false;\n flushActQueue(queue);\n }\n }\n } catch (error) {\n popActScope(prevActScopeDepth);\n throw error;\n } finally {\n ReactCurrentActQueue.isBatchingLegacy = prevIsBatchingLegacy;\n }\n\n if (result !== null && typeof result === 'object' && typeof result.then === 'function') {\n var thenableResult = result; // The callback is an async function (i.e. returned a promise). Wait\n // for it to resolve before exiting the current scope.\n\n var wasAwaited = false;\n var thenable = {\n then: function (resolve, reject) {\n wasAwaited = true;\n thenableResult.then(function (returnValue) {\n popActScope(prevActScopeDepth);\n\n if (actScopeDepth === 0) {\n // We've exited the outermost act scope. Recursively flush the\n // queue until there's no remaining work.\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n } else {\n resolve(returnValue);\n }\n }, function (error) {\n // The callback threw an error.\n popActScope(prevActScopeDepth);\n reject(error);\n });\n }\n };\n\n {\n if (!didWarnNoAwaitAct && typeof Promise !== 'undefined') {\n // eslint-disable-next-line no-undef\n Promise.resolve().then(function () {}).then(function () {\n if (!wasAwaited) {\n didWarnNoAwaitAct = true;\n\n error('You called act(async () => ...) without await. ' + 'This could lead to unexpected testing behaviour, ' + 'interleaving multiple act calls and mixing their ' + 'scopes. ' + 'You should - await act(async () => ...);');\n }\n });\n }\n }\n\n return thenable;\n } else {\n var returnValue = result; // The callback is not an async function. Exit the current scope\n // immediately, without awaiting.\n\n popActScope(prevActScopeDepth);\n\n if (actScopeDepth === 0) {\n // Exiting the outermost act scope. Flush the queue.\n var _queue = ReactCurrentActQueue.current;\n\n if (_queue !== null) {\n flushActQueue(_queue);\n ReactCurrentActQueue.current = null;\n } // Return a thenable. If the user awaits it, we'll flush again in\n // case additional work was scheduled by a microtask.\n\n\n var _thenable = {\n then: function (resolve, reject) {\n // Confirm we haven't re-entered another `act` scope, in case\n // the user does something weird like await the thenable\n // multiple times.\n if (ReactCurrentActQueue.current === null) {\n // Recursively flush the queue until there's no remaining work.\n ReactCurrentActQueue.current = [];\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n } else {\n resolve(returnValue);\n }\n }\n };\n return _thenable;\n } else {\n // Since we're inside a nested `act` scope, the returned thenable\n // immediately resolves. The outer scope will flush the queue.\n var _thenable2 = {\n then: function (resolve, reject) {\n resolve(returnValue);\n }\n };\n return _thenable2;\n }\n }\n }\n}\n\nfunction popActScope(prevActScopeDepth) {\n {\n if (prevActScopeDepth !== actScopeDepth - 1) {\n error('You seem to have overlapping act() calls, this is not supported. ' + 'Be sure to await previous act() calls before making a new one. ');\n }\n\n actScopeDepth = prevActScopeDepth;\n }\n}\n\nfunction recursivelyFlushAsyncActWork(returnValue, resolve, reject) {\n {\n var queue = ReactCurrentActQueue.current;\n\n if (queue !== null) {\n try {\n flushActQueue(queue);\n enqueueTask(function () {\n if (queue.length === 0) {\n // No additional work was scheduled. Finish.\n ReactCurrentActQueue.current = null;\n resolve(returnValue);\n } else {\n // Keep flushing work until there's none left.\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n }\n });\n } catch (error) {\n reject(error);\n }\n } else {\n resolve(returnValue);\n }\n }\n}\n\nvar isFlushing = false;\n\nfunction flushActQueue(queue) {\n {\n if (!isFlushing) {\n // Prevent re-entrance.\n isFlushing = true;\n var i = 0;\n\n try {\n for (; i < queue.length; i++) {\n var callback = queue[i];\n\n do {\n callback = callback(true);\n } while (callback !== null);\n }\n\n queue.length = 0;\n } catch (error) {\n // If something throws, leave the remaining callbacks on the queue.\n queue = queue.slice(i + 1);\n throw error;\n } finally {\n isFlushing = false;\n }\n }\n }\n}\n\nvar createElement$1 = createElementWithValidation ;\nvar cloneElement$1 = cloneElementWithValidation ;\nvar createFactory = createFactoryWithValidation ;\nvar Children = {\n map: mapChildren,\n forEach: forEachChildren,\n count: countChildren,\n toArray: toArray,\n only: onlyChild\n};\n\nexports.Children = Children;\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactSharedInternals;\nexports.cloneElement = cloneElement$1;\nexports.createContext = createContext;\nexports.createElement = createElement$1;\nexports.createFactory = createFactory;\nexports.createRef = createRef;\nexports.forwardRef = forwardRef;\nexports.isValidElement = isValidElement;\nexports.lazy = lazy;\nexports.memo = memo;\nexports.startTransition = startTransition;\nexports.unstable_act = act;\nexports.useCallback = useCallback;\nexports.useContext = useContext;\nexports.useDebugValue = useDebugValue;\nexports.useDeferredValue = useDeferredValue;\nexports.useEffect = useEffect;\nexports.useId = useId;\nexports.useImperativeHandle = useImperativeHandle;\nexports.useInsertionEffect = useInsertionEffect;\nexports.useLayoutEffect = useLayoutEffect;\nexports.useMemo = useMemo;\nexports.useReducer = useReducer;\nexports.useRef = useRef;\nexports.useState = useState;\nexports.useSyncExternalStore = useSyncExternalStore;\nexports.useTransition = useTransition;\nexports.version = ReactVersion;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n", "'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n", "/**\n * @license React\n * scheduler.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var enableSchedulerDebugging = false;\nvar enableProfiling = false;\nvar frameYieldMs = 5;\n\nfunction push(heap, node) {\n var index = heap.length;\n heap.push(node);\n siftUp(heap, node, index);\n}\nfunction peek(heap) {\n return heap.length === 0 ? null : heap[0];\n}\nfunction pop(heap) {\n if (heap.length === 0) {\n return null;\n }\n\n var first = heap[0];\n var last = heap.pop();\n\n if (last !== first) {\n heap[0] = last;\n siftDown(heap, last, 0);\n }\n\n return first;\n}\n\nfunction siftUp(heap, node, i) {\n var index = i;\n\n while (index > 0) {\n var parentIndex = index - 1 >>> 1;\n var parent = heap[parentIndex];\n\n if (compare(parent, node) > 0) {\n // The parent is larger. Swap positions.\n heap[parentIndex] = node;\n heap[index] = parent;\n index = parentIndex;\n } else {\n // The parent is smaller. Exit.\n return;\n }\n }\n}\n\nfunction siftDown(heap, node, i) {\n var index = i;\n var length = heap.length;\n var halfLength = length >>> 1;\n\n while (index < halfLength) {\n var leftIndex = (index + 1) * 2 - 1;\n var left = heap[leftIndex];\n var rightIndex = leftIndex + 1;\n var right = heap[rightIndex]; // If the left or right node is smaller, swap with the smaller of those.\n\n if (compare(left, node) < 0) {\n if (rightIndex < length && compare(right, left) < 0) {\n heap[index] = right;\n heap[rightIndex] = node;\n index = rightIndex;\n } else {\n heap[index] = left;\n heap[leftIndex] = node;\n index = leftIndex;\n }\n } else if (rightIndex < length && compare(right, node) < 0) {\n heap[index] = right;\n heap[rightIndex] = node;\n index = rightIndex;\n } else {\n // Neither child is smaller. Exit.\n return;\n }\n }\n}\n\nfunction compare(a, b) {\n // Compare sort index first, then task id.\n var diff = a.sortIndex - b.sortIndex;\n return diff !== 0 ? diff : a.id - b.id;\n}\n\n// TODO: Use symbols?\nvar ImmediatePriority = 1;\nvar UserBlockingPriority = 2;\nvar NormalPriority = 3;\nvar LowPriority = 4;\nvar IdlePriority = 5;\n\nfunction markTaskErrored(task, ms) {\n}\n\n/* eslint-disable no-var */\n\nvar hasPerformanceNow = typeof performance === 'object' && typeof performance.now === 'function';\n\nif (hasPerformanceNow) {\n var localPerformance = performance;\n\n exports.unstable_now = function () {\n return localPerformance.now();\n };\n} else {\n var localDate = Date;\n var initialTime = localDate.now();\n\n exports.unstable_now = function () {\n return localDate.now() - initialTime;\n };\n} // Max 31 bit integer. The max integer size in V8 for 32-bit systems.\n// Math.pow(2, 30) - 1\n// 0b111111111111111111111111111111\n\n\nvar maxSigned31BitInt = 1073741823; // Times out immediately\n\nvar IMMEDIATE_PRIORITY_TIMEOUT = -1; // Eventually times out\n\nvar USER_BLOCKING_PRIORITY_TIMEOUT = 250;\nvar NORMAL_PRIORITY_TIMEOUT = 5000;\nvar LOW_PRIORITY_TIMEOUT = 10000; // Never times out\n\nvar IDLE_PRIORITY_TIMEOUT = maxSigned31BitInt; // Tasks are stored on a min heap\n\nvar taskQueue = [];\nvar timerQueue = []; // Incrementing id counter. Used to maintain insertion order.\n\nvar taskIdCounter = 1; // Pausing the scheduler is useful for debugging.\nvar currentTask = null;\nvar currentPriorityLevel = NormalPriority; // This is set while performing work, to prevent re-entrance.\n\nvar isPerformingWork = false;\nvar isHostCallbackScheduled = false;\nvar isHostTimeoutScheduled = false; // Capture local references to native APIs, in case a polyfill overrides them.\n\nvar localSetTimeout = typeof setTimeout === 'function' ? setTimeout : null;\nvar localClearTimeout = typeof clearTimeout === 'function' ? clearTimeout : null;\nvar localSetImmediate = typeof setImmediate !== 'undefined' ? setImmediate : null; // IE and Node.js + jsdom\n\nvar isInputPending = typeof navigator !== 'undefined' && navigator.scheduling !== undefined && navigator.scheduling.isInputPending !== undefined ? navigator.scheduling.isInputPending.bind(navigator.scheduling) : null;\n\nfunction advanceTimers(currentTime) {\n // Check for tasks that are no longer delayed and add them to the queue.\n var timer = peek(timerQueue);\n\n while (timer !== null) {\n if (timer.callback === null) {\n // Timer was cancelled.\n pop(timerQueue);\n } else if (timer.startTime <= currentTime) {\n // Timer fired. Transfer to the task queue.\n pop(timerQueue);\n timer.sortIndex = timer.expirationTime;\n push(taskQueue, timer);\n } else {\n // Remaining timers are pending.\n return;\n }\n\n timer = peek(timerQueue);\n }\n}\n\nfunction handleTimeout(currentTime) {\n isHostTimeoutScheduled = false;\n advanceTimers(currentTime);\n\n if (!isHostCallbackScheduled) {\n if (peek(taskQueue) !== null) {\n isHostCallbackScheduled = true;\n requestHostCallback(flushWork);\n } else {\n var firstTimer = peek(timerQueue);\n\n if (firstTimer !== null) {\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n }\n }\n}\n\nfunction flushWork(hasTimeRemaining, initialTime) {\n\n\n isHostCallbackScheduled = false;\n\n if (isHostTimeoutScheduled) {\n // We scheduled a timeout but it's no longer needed. Cancel it.\n isHostTimeoutScheduled = false;\n cancelHostTimeout();\n }\n\n isPerformingWork = true;\n var previousPriorityLevel = currentPriorityLevel;\n\n try {\n if (enableProfiling) {\n try {\n return workLoop(hasTimeRemaining, initialTime);\n } catch (error) {\n if (currentTask !== null) {\n var currentTime = exports.unstable_now();\n markTaskErrored(currentTask, currentTime);\n currentTask.isQueued = false;\n }\n\n throw error;\n }\n } else {\n // No catch in prod code path.\n return workLoop(hasTimeRemaining, initialTime);\n }\n } finally {\n currentTask = null;\n currentPriorityLevel = previousPriorityLevel;\n isPerformingWork = false;\n }\n}\n\nfunction workLoop(hasTimeRemaining, initialTime) {\n var currentTime = initialTime;\n advanceTimers(currentTime);\n currentTask = peek(taskQueue);\n\n while (currentTask !== null && !(enableSchedulerDebugging )) {\n if (currentTask.expirationTime > currentTime && (!hasTimeRemaining || shouldYieldToHost())) {\n // This currentTask hasn't expired, and we've reached the deadline.\n break;\n }\n\n var callback = currentTask.callback;\n\n if (typeof callback === 'function') {\n currentTask.callback = null;\n currentPriorityLevel = currentTask.priorityLevel;\n var didUserCallbackTimeout = currentTask.expirationTime <= currentTime;\n\n var continuationCallback = callback(didUserCallbackTimeout);\n currentTime = exports.unstable_now();\n\n if (typeof continuationCallback === 'function') {\n currentTask.callback = continuationCallback;\n } else {\n\n if (currentTask === peek(taskQueue)) {\n pop(taskQueue);\n }\n }\n\n advanceTimers(currentTime);\n } else {\n pop(taskQueue);\n }\n\n currentTask = peek(taskQueue);\n } // Return whether there's additional work\n\n\n if (currentTask !== null) {\n return true;\n } else {\n var firstTimer = peek(timerQueue);\n\n if (firstTimer !== null) {\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n\n return false;\n }\n}\n\nfunction unstable_runWithPriority(priorityLevel, eventHandler) {\n switch (priorityLevel) {\n case ImmediatePriority:\n case UserBlockingPriority:\n case NormalPriority:\n case LowPriority:\n case IdlePriority:\n break;\n\n default:\n priorityLevel = NormalPriority;\n }\n\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n}\n\nfunction unstable_next(eventHandler) {\n var priorityLevel;\n\n switch (currentPriorityLevel) {\n case ImmediatePriority:\n case UserBlockingPriority:\n case NormalPriority:\n // Shift down to normal priority\n priorityLevel = NormalPriority;\n break;\n\n default:\n // Anything lower than normal priority should remain at the current level.\n priorityLevel = currentPriorityLevel;\n break;\n }\n\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n}\n\nfunction unstable_wrapCallback(callback) {\n var parentPriorityLevel = currentPriorityLevel;\n return function () {\n // This is a fork of runWithPriority, inlined for performance.\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = parentPriorityLevel;\n\n try {\n return callback.apply(this, arguments);\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n };\n}\n\nfunction unstable_scheduleCallback(priorityLevel, callback, options) {\n var currentTime = exports.unstable_now();\n var startTime;\n\n if (typeof options === 'object' && options !== null) {\n var delay = options.delay;\n\n if (typeof delay === 'number' && delay > 0) {\n startTime = currentTime + delay;\n } else {\n startTime = currentTime;\n }\n } else {\n startTime = currentTime;\n }\n\n var timeout;\n\n switch (priorityLevel) {\n case ImmediatePriority:\n timeout = IMMEDIATE_PRIORITY_TIMEOUT;\n break;\n\n case UserBlockingPriority:\n timeout = USER_BLOCKING_PRIORITY_TIMEOUT;\n break;\n\n case IdlePriority:\n timeout = IDLE_PRIORITY_TIMEOUT;\n break;\n\n case LowPriority:\n timeout = LOW_PRIORITY_TIMEOUT;\n break;\n\n case NormalPriority:\n default:\n timeout = NORMAL_PRIORITY_TIMEOUT;\n break;\n }\n\n var expirationTime = startTime + timeout;\n var newTask = {\n id: taskIdCounter++,\n callback: callback,\n priorityLevel: priorityLevel,\n startTime: startTime,\n expirationTime: expirationTime,\n sortIndex: -1\n };\n\n if (startTime > currentTime) {\n // This is a delayed task.\n newTask.sortIndex = startTime;\n push(timerQueue, newTask);\n\n if (peek(taskQueue) === null && newTask === peek(timerQueue)) {\n // All tasks are delayed, and this is the task with the earliest delay.\n if (isHostTimeoutScheduled) {\n // Cancel an existing timeout.\n cancelHostTimeout();\n } else {\n isHostTimeoutScheduled = true;\n } // Schedule a timeout.\n\n\n requestHostTimeout(handleTimeout, startTime - currentTime);\n }\n } else {\n newTask.sortIndex = expirationTime;\n push(taskQueue, newTask);\n // wait until the next time we yield.\n\n\n if (!isHostCallbackScheduled && !isPerformingWork) {\n isHostCallbackScheduled = true;\n requestHostCallback(flushWork);\n }\n }\n\n return newTask;\n}\n\nfunction unstable_pauseExecution() {\n}\n\nfunction unstable_continueExecution() {\n\n if (!isHostCallbackScheduled && !isPerformingWork) {\n isHostCallbackScheduled = true;\n requestHostCallback(flushWork);\n }\n}\n\nfunction unstable_getFirstCallbackNode() {\n return peek(taskQueue);\n}\n\nfunction unstable_cancelCallback(task) {\n // remove from the queue because you can't remove arbitrary nodes from an\n // array based heap, only the first one.)\n\n\n task.callback = null;\n}\n\nfunction unstable_getCurrentPriorityLevel() {\n return currentPriorityLevel;\n}\n\nvar isMessageLoopRunning = false;\nvar scheduledHostCallback = null;\nvar taskTimeoutID = -1; // Scheduler periodically yields in case there is other work on the main\n// thread, like user events. By default, it yields multiple times per frame.\n// It does not attempt to align with frame boundaries, since most tasks don't\n// need to be frame aligned; for those that do, use requestAnimationFrame.\n\nvar frameInterval = frameYieldMs;\nvar startTime = -1;\n\nfunction shouldYieldToHost() {\n var timeElapsed = exports.unstable_now() - startTime;\n\n if (timeElapsed < frameInterval) {\n // The main thread has only been blocked for a really short amount of time;\n // smaller than a single frame. Don't yield yet.\n return false;\n } // The main thread has been blocked for a non-negligible amount of time. We\n\n\n return true;\n}\n\nfunction requestPaint() {\n\n}\n\nfunction forceFrameRate(fps) {\n if (fps < 0 || fps > 125) {\n // Using console['error'] to evade Babel and ESLint\n console['error']('forceFrameRate takes a positive int between 0 and 125, ' + 'forcing frame rates higher than 125 fps is not supported');\n return;\n }\n\n if (fps > 0) {\n frameInterval = Math.floor(1000 / fps);\n } else {\n // reset the framerate\n frameInterval = frameYieldMs;\n }\n}\n\nvar performWorkUntilDeadline = function () {\n if (scheduledHostCallback !== null) {\n var currentTime = exports.unstable_now(); // Keep track of the start time so we can measure how long the main thread\n // has been blocked.\n\n startTime = currentTime;\n var hasTimeRemaining = true; // If a scheduler task throws, exit the current browser task so the\n // error can be observed.\n //\n // Intentionally not using a try-catch, since that makes some debugging\n // techniques harder. Instead, if `scheduledHostCallback` errors, then\n // `hasMoreWork` will remain true, and we'll continue the work loop.\n\n var hasMoreWork = true;\n\n try {\n hasMoreWork = scheduledHostCallback(hasTimeRemaining, currentTime);\n } finally {\n if (hasMoreWork) {\n // If there's more work, schedule the next message event at the end\n // of the preceding one.\n schedulePerformWorkUntilDeadline();\n } else {\n isMessageLoopRunning = false;\n scheduledHostCallback = null;\n }\n }\n } else {\n isMessageLoopRunning = false;\n } // Yielding to the browser will give it a chance to paint, so we can\n};\n\nvar schedulePerformWorkUntilDeadline;\n\nif (typeof localSetImmediate === 'function') {\n // Node.js and old IE.\n // There's a few reasons for why we prefer setImmediate.\n //\n // Unlike MessageChannel, it doesn't prevent a Node.js process from exiting.\n // (Even though this is a DOM fork of the Scheduler, you could get here\n // with a mix of Node.js 15+, which has a MessageChannel, and jsdom.)\n // https://github.com/facebook/react/issues/20756\n //\n // But also, it runs earlier which is the semantic we want.\n // If other browsers ever implement it, it's better to use it.\n // Although both of these would be inferior to native scheduling.\n schedulePerformWorkUntilDeadline = function () {\n localSetImmediate(performWorkUntilDeadline);\n };\n} else if (typeof MessageChannel !== 'undefined') {\n // DOM and Worker environments.\n // We prefer MessageChannel because of the 4ms setTimeout clamping.\n var channel = new MessageChannel();\n var port = channel.port2;\n channel.port1.onmessage = performWorkUntilDeadline;\n\n schedulePerformWorkUntilDeadline = function () {\n port.postMessage(null);\n };\n} else {\n // We should only fallback here in non-browser environments.\n schedulePerformWorkUntilDeadline = function () {\n localSetTimeout(performWorkUntilDeadline, 0);\n };\n}\n\nfunction requestHostCallback(callback) {\n scheduledHostCallback = callback;\n\n if (!isMessageLoopRunning) {\n isMessageLoopRunning = true;\n schedulePerformWorkUntilDeadline();\n }\n}\n\nfunction requestHostTimeout(callback, ms) {\n taskTimeoutID = localSetTimeout(function () {\n callback(exports.unstable_now());\n }, ms);\n}\n\nfunction cancelHostTimeout() {\n localClearTimeout(taskTimeoutID);\n taskTimeoutID = -1;\n}\n\nvar unstable_requestPaint = requestPaint;\nvar unstable_Profiling = null;\n\nexports.unstable_IdlePriority = IdlePriority;\nexports.unstable_ImmediatePriority = ImmediatePriority;\nexports.unstable_LowPriority = LowPriority;\nexports.unstable_NormalPriority = NormalPriority;\nexports.unstable_Profiling = unstable_Profiling;\nexports.unstable_UserBlockingPriority = UserBlockingPriority;\nexports.unstable_cancelCallback = unstable_cancelCallback;\nexports.unstable_continueExecution = unstable_continueExecution;\nexports.unstable_forceFrameRate = forceFrameRate;\nexports.unstable_getCurrentPriorityLevel = unstable_getCurrentPriorityLevel;\nexports.unstable_getFirstCallbackNode = unstable_getFirstCallbackNode;\nexports.unstable_next = unstable_next;\nexports.unstable_pauseExecution = unstable_pauseExecution;\nexports.unstable_requestPaint = unstable_requestPaint;\nexports.unstable_runWithPriority = unstable_runWithPriority;\nexports.unstable_scheduleCallback = unstable_scheduleCallback;\nexports.unstable_shouldYield = shouldYieldToHost;\nexports.unstable_wrapCallback = unstable_wrapCallback;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n", "'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n", "/**\n * @license React\n * react-dom.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var React = require('react');\nvar Scheduler = require('scheduler');\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nvar suppressWarning = false;\nfunction setSuppressWarning(newSuppressWarning) {\n {\n suppressWarning = newSuppressWarning;\n }\n} // In DEV, calls to console.warn and console.error get replaced\n// by calls to these methods by a Babel plugin.\n//\n// In PROD (or in packages without access to React internals),\n// they are left as they are instead.\n\nfunction warn(format) {\n {\n if (!suppressWarning) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n printWarning('warn', format, args);\n }\n }\n}\nfunction error(format) {\n {\n if (!suppressWarning) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\nvar FunctionComponent = 0;\nvar ClassComponent = 1;\nvar IndeterminateComponent = 2; // Before we know whether it is function or class\n\nvar HostRoot = 3; // Root of a host tree. Could be nested inside another node.\n\nvar HostPortal = 4; // A subtree. Could be an entry point to a different renderer.\n\nvar HostComponent = 5;\nvar HostText = 6;\nvar Fragment = 7;\nvar Mode = 8;\nvar ContextConsumer = 9;\nvar ContextProvider = 10;\nvar ForwardRef = 11;\nvar Profiler = 12;\nvar SuspenseComponent = 13;\nvar MemoComponent = 14;\nvar SimpleMemoComponent = 15;\nvar LazyComponent = 16;\nvar IncompleteClassComponent = 17;\nvar DehydratedFragment = 18;\nvar SuspenseListComponent = 19;\nvar ScopeComponent = 21;\nvar OffscreenComponent = 22;\nvar LegacyHiddenComponent = 23;\nvar CacheComponent = 24;\nvar TracingMarkerComponent = 25;\n\n// -----------------------------------------------------------------------------\n\nvar enableClientRenderFallbackOnTextMismatch = true; // TODO: Need to review this code one more time before landing\n// the react-reconciler package.\n\nvar enableNewReconciler = false; // Support legacy Primer support on internal FB www\n\nvar enableLazyContextPropagation = false; // FB-only usage. The new API has different semantics.\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n\nvar enableSuspenseAvoidThisFallback = false; // Enables unstable_avoidThisFallback feature in Fizz\n// React DOM Chopping Block\n//\n// Similar to main Chopping Block but only flags related to React DOM. These are\n// grouped because we will likely batch all of them into a single major release.\n// -----------------------------------------------------------------------------\n// Disable support for comment nodes as React DOM containers. Already disabled\n// in open source, but www codebase still relies on it. Need to remove.\n\nvar disableCommentsAsDOMContainers = true; // Disable javascript: URL strings in href for XSS protection.\n// and client rendering, mostly to allow JSX attributes to apply to the custom\n// element's object properties instead of only HTML attributes.\n// https://github.com/facebook/react/issues/11347\n\nvar enableCustomElementPropertySupport = false; // Disables children for \n \n {annotations.length > 0 && (\n \n \n {annotations.map((annotation, idx) => (\n \n \n \n ))}\n \n
\n {annotation}\n \n
\n )}\n \n )}\n \n
\n \n
\n {error && (\n
{error}
\n )}\n \n );\n};\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * Assert that condition is truthy or throw error (with message)\n */\nexport function assert(condition, msg) {\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions -- we want the implicit conversion to boolean\n if (!condition) {\n throw new Error(msg);\n }\n}\nconst FLOAT32_MAX = 3.4028234663852886e38, FLOAT32_MIN = -3.4028234663852886e38, UINT32_MAX = 0xffffffff, INT32_MAX = 0x7fffffff, INT32_MIN = -0x80000000;\n/**\n * Assert a valid signed protobuf 32-bit integer.\n */\nexport function assertInt32(arg) {\n if (typeof arg !== \"number\")\n throw new Error(\"invalid int 32: \" + typeof arg);\n if (!Number.isInteger(arg) || arg > INT32_MAX || arg < INT32_MIN)\n throw new Error(\"invalid int 32: \" + arg); // eslint-disable-line @typescript-eslint/restrict-plus-operands -- we want the implicit conversion to string\n}\n/**\n * Assert a valid unsigned protobuf 32-bit integer.\n */\nexport function assertUInt32(arg) {\n if (typeof arg !== \"number\")\n throw new Error(\"invalid uint 32: \" + typeof arg);\n if (!Number.isInteger(arg) || arg > UINT32_MAX || arg < 0)\n throw new Error(\"invalid uint 32: \" + arg); // eslint-disable-line @typescript-eslint/restrict-plus-operands -- we want the implicit conversion to string\n}\n/**\n * Assert a valid protobuf float value.\n */\nexport function assertFloat32(arg) {\n if (typeof arg !== \"number\")\n throw new Error(\"invalid float 32: \" + typeof arg);\n if (!Number.isFinite(arg))\n return;\n if (arg > FLOAT32_MAX || arg < FLOAT32_MIN)\n throw new Error(\"invalid float 32: \" + arg); // eslint-disable-line @typescript-eslint/restrict-plus-operands -- we want the implicit conversion to string\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { assert } from \"./assert.js\";\nconst enumTypeSymbol = Symbol(\"@bufbuild/protobuf/enum-type\");\n/**\n * Get reflection information from a generated enum.\n * If this function is called on something other than a generated\n * enum, it raises an error.\n */\nexport function getEnumType(enumObject) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-explicit-any\n const t = enumObject[enumTypeSymbol];\n assert(t, \"missing enum type on enum object\");\n return t; // eslint-disable-line @typescript-eslint/no-unsafe-return\n}\n/**\n * Sets reflection information on a generated enum.\n */\nexport function setEnumType(enumObject, typeName, values, opt) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any\n enumObject[enumTypeSymbol] = makeEnumType(typeName, values.map((v) => ({\n no: v.no,\n name: v.name,\n localName: enumObject[v.no],\n })), opt);\n}\n/**\n * Create a new EnumType with the given values.\n */\nexport function makeEnumType(typeName, values, \n// eslint-disable-next-line @typescript-eslint/no-unused-vars\n_opt) {\n const names = Object.create(null);\n const numbers = Object.create(null);\n const normalValues = [];\n for (const value of values) {\n // We do not surface options at this time\n // const value: EnumValueInfo = {...v, options: v.options ?? emptyReadonlyObject};\n const n = normalizeEnumValue(value);\n normalValues.push(n);\n names[value.name] = n;\n numbers[value.no] = n;\n }\n return {\n typeName,\n values: normalValues,\n // We do not surface options at this time\n // options: opt?.options ?? Object.create(null),\n findName(name) {\n return names[name];\n },\n findNumber(no) {\n return numbers[no];\n },\n };\n}\n/**\n * Create a new enum object with the given values.\n * Sets reflection information.\n */\nexport function makeEnum(typeName, values, opt) {\n const enumObject = {};\n for (const value of values) {\n const n = normalizeEnumValue(value);\n enumObject[n.localName] = n.no;\n enumObject[n.no] = n.localName;\n }\n setEnumType(enumObject, typeName, values, opt);\n return enumObject;\n}\nfunction normalizeEnumValue(value) {\n if (\"localName\" in value) {\n return value;\n }\n return Object.assign(Object.assign({}, value), { localName: value.name });\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * Message is the base class of every message, generated, or created at\n * runtime.\n *\n * It is _not_ safe to extend this class. If you want to create a message at\n * run time, use proto3.makeMessageType().\n */\nexport class Message {\n /**\n * Compare with a message of the same type.\n */\n equals(other) {\n return this.getType().runtime.util.equals(this.getType(), this, other);\n }\n /**\n * Create a deep copy.\n */\n clone() {\n return this.getType().runtime.util.clone(this);\n }\n /**\n * Parse from binary data, merging fields.\n *\n * Repeated fields are appended. Map entries are added, overwriting\n * existing keys.\n *\n * If a message field is already present, it will be merged with the\n * new data.\n */\n fromBinary(bytes, options) {\n const type = this.getType(), format = type.runtime.bin, opt = format.makeReadOptions(options);\n format.readMessage(this, opt.readerFactory(bytes), bytes.byteLength, opt);\n return this;\n }\n /**\n * Parse a message from a JSON value.\n */\n fromJson(jsonValue, options) {\n const type = this.getType(), format = type.runtime.json, opt = format.makeReadOptions(options);\n format.readMessage(type, jsonValue, opt, this);\n return this;\n }\n /**\n * Parse a message from a JSON string.\n */\n fromJsonString(jsonString, options) {\n let json;\n try {\n json = JSON.parse(jsonString);\n }\n catch (e) {\n throw new Error(`cannot decode ${this.getType().typeName} from JSON: ${e instanceof Error ? e.message : String(e)}`);\n }\n return this.fromJson(json, options);\n }\n /**\n * Serialize the message to binary data.\n */\n toBinary(options) {\n const type = this.getType(), bin = type.runtime.bin, opt = bin.makeWriteOptions(options), writer = opt.writerFactory();\n bin.writeMessage(this, writer, opt);\n return writer.finish();\n }\n /**\n * Serialize the message to a JSON value, a JavaScript value that can be\n * passed to JSON.stringify().\n */\n toJson(options) {\n const type = this.getType(), json = type.runtime.json, opt = json.makeWriteOptions(options);\n return json.writeMessage(this, opt);\n }\n /**\n * Serialize the message to a JSON string.\n */\n toJsonString(options) {\n var _a;\n const value = this.toJson(options);\n return JSON.stringify(value, null, (_a = options === null || options === void 0 ? void 0 : options.prettySpaces) !== null && _a !== void 0 ? _a : 0);\n }\n /**\n * Override for serialization behavior. This will be invoked when calling\n * JSON.stringify on this message (i.e. JSON.stringify(msg)).\n *\n * Note that this will not serialize google.protobuf.Any with a packed\n * message because the protobuf JSON format specifies that it needs to be\n * unpacked, and this is only possible with a type registry to look up the\n * message type. As a result, attempting to serialize a message with this\n * type will throw an Error.\n *\n * This method is protected because you should not need to invoke it\n * directly -- instead use JSON.stringify or toJsonString for\n * stringified JSON. Alternatively, if actual JSON is desired, you should\n * use toJson.\n */\n toJSON() {\n return this.toJson({\n emitDefaultValues: true,\n });\n }\n /**\n * Retrieve the MessageType of this message - a singleton that represents\n * the protobuf message declaration and provides metadata for reflection-\n * based operations.\n */\n getType() {\n // Any class that extends Message _must_ provide a complete static\n // implementation of MessageType.\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-return\n return Object.getPrototypeOf(this).constructor;\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Message } from \"../message.js\";\n/**\n * Create a new message type using the given runtime.\n */\nexport function makeMessageType(runtime, typeName, fields, opt) {\n var _a;\n const localName = (_a = opt === null || opt === void 0 ? void 0 : opt.localName) !== null && _a !== void 0 ? _a : typeName.substring(typeName.lastIndexOf(\".\") + 1);\n const type = {\n [localName]: function (data) {\n runtime.util.initFields(this);\n runtime.util.initPartial(data, this);\n },\n }[localName];\n Object.setPrototypeOf(type.prototype, new Message());\n Object.assign(type, {\n runtime,\n typeName,\n fields: runtime.util.newFieldList(fields),\n fromBinary(bytes, options) {\n return new type().fromBinary(bytes, options);\n },\n fromJson(jsonValue, options) {\n return new type().fromJson(jsonValue, options);\n },\n fromJsonString(jsonString, options) {\n return new type().fromJsonString(jsonString, options);\n },\n equals(a, b) {\n return runtime.util.equals(type, a, b);\n },\n });\n return type;\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { getEnumType, makeEnum, makeEnumType } from \"./enum.js\";\nimport { makeMessageType } from \"./message-type.js\";\nexport function makeProtoRuntime(syntax, json, bin, util) {\n return {\n syntax,\n json,\n bin,\n util,\n makeMessageType(typeName, fields, opt) {\n return makeMessageType(this, typeName, fields, opt);\n },\n makeEnum,\n makeEnumType,\n getEnumType,\n };\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * Scalar value types. This is a subset of field types declared by protobuf\n * enum google.protobuf.FieldDescriptorProto.Type The types GROUP and MESSAGE\n * are omitted, but the numerical values are identical.\n */\nexport var ScalarType;\n(function (ScalarType) {\n // 0 is reserved for errors.\n // Order is weird for historical reasons.\n ScalarType[ScalarType[\"DOUBLE\"] = 1] = \"DOUBLE\";\n ScalarType[ScalarType[\"FLOAT\"] = 2] = \"FLOAT\";\n // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if\n // negative values are likely.\n ScalarType[ScalarType[\"INT64\"] = 3] = \"INT64\";\n ScalarType[ScalarType[\"UINT64\"] = 4] = \"UINT64\";\n // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if\n // negative values are likely.\n ScalarType[ScalarType[\"INT32\"] = 5] = \"INT32\";\n ScalarType[ScalarType[\"FIXED64\"] = 6] = \"FIXED64\";\n ScalarType[ScalarType[\"FIXED32\"] = 7] = \"FIXED32\";\n ScalarType[ScalarType[\"BOOL\"] = 8] = \"BOOL\";\n ScalarType[ScalarType[\"STRING\"] = 9] = \"STRING\";\n // Tag-delimited aggregate.\n // Group type is deprecated and not supported in proto3. However, Proto3\n // implementations should still be able to parse the group wire format and\n // treat group fields as unknown fields.\n // TYPE_GROUP = 10,\n // TYPE_MESSAGE = 11, // Length-delimited aggregate.\n // New in version 2.\n ScalarType[ScalarType[\"BYTES\"] = 12] = \"BYTES\";\n ScalarType[ScalarType[\"UINT32\"] = 13] = \"UINT32\";\n // TYPE_ENUM = 14,\n ScalarType[ScalarType[\"SFIXED32\"] = 15] = \"SFIXED32\";\n ScalarType[ScalarType[\"SFIXED64\"] = 16] = \"SFIXED64\";\n ScalarType[ScalarType[\"SINT32\"] = 17] = \"SINT32\";\n ScalarType[ScalarType[\"SINT64\"] = 18] = \"SINT64\";\n})(ScalarType || (ScalarType = {}));\n", "// Copyright 2008 Google Inc. All rights reserved.\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n// * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n// * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n// * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n//\n// Code generated by the Protocol Buffer compiler is owned by the owner\n// of the input file used when generating it. This code is not\n// standalone and requires a support library to be linked with it. This\n// support library is itself covered by the above license.\n/* eslint-disable prefer-const,@typescript-eslint/restrict-plus-operands */\n/**\n * Read a 64 bit varint as two JS numbers.\n *\n * Returns tuple:\n * [0]: low bits\n * [1]: high bits\n *\n * Copyright 2008 Google Inc. All rights reserved.\n *\n * See https://github.com/protocolbuffers/protobuf/blob/8a71927d74a4ce34efe2d8769fda198f52d20d12/js/experimental/runtime/kernel/buffer_decoder.js#L175\n */\nexport function varint64read() {\n let lowBits = 0;\n let highBits = 0;\n for (let shift = 0; shift < 28; shift += 7) {\n let b = this.buf[this.pos++];\n lowBits |= (b & 0x7f) << shift;\n if ((b & 0x80) == 0) {\n this.assertBounds();\n return [lowBits, highBits];\n }\n }\n let middleByte = this.buf[this.pos++];\n // last four bits of the first 32 bit number\n lowBits |= (middleByte & 0x0f) << 28;\n // 3 upper bits are part of the next 32 bit number\n highBits = (middleByte & 0x70) >> 4;\n if ((middleByte & 0x80) == 0) {\n this.assertBounds();\n return [lowBits, highBits];\n }\n for (let shift = 3; shift <= 31; shift += 7) {\n let b = this.buf[this.pos++];\n highBits |= (b & 0x7f) << shift;\n if ((b & 0x80) == 0) {\n this.assertBounds();\n return [lowBits, highBits];\n }\n }\n throw new Error(\"invalid varint\");\n}\n/**\n * Write a 64 bit varint, given as two JS numbers, to the given bytes array.\n *\n * Copyright 2008 Google Inc. All rights reserved.\n *\n * See https://github.com/protocolbuffers/protobuf/blob/8a71927d74a4ce34efe2d8769fda198f52d20d12/js/experimental/runtime/kernel/writer.js#L344\n */\nexport function varint64write(lo, hi, bytes) {\n for (let i = 0; i < 28; i = i + 7) {\n const shift = lo >>> i;\n const hasNext = !(shift >>> 7 == 0 && hi == 0);\n const byte = (hasNext ? shift | 0x80 : shift) & 0xff;\n bytes.push(byte);\n if (!hasNext) {\n return;\n }\n }\n const splitBits = ((lo >>> 28) & 0x0f) | ((hi & 0x07) << 4);\n const hasMoreBits = !(hi >> 3 == 0);\n bytes.push((hasMoreBits ? splitBits | 0x80 : splitBits) & 0xff);\n if (!hasMoreBits) {\n return;\n }\n for (let i = 3; i < 31; i = i + 7) {\n const shift = hi >>> i;\n const hasNext = !(shift >>> 7 == 0);\n const byte = (hasNext ? shift | 0x80 : shift) & 0xff;\n bytes.push(byte);\n if (!hasNext) {\n return;\n }\n }\n bytes.push((hi >>> 31) & 0x01);\n}\n// constants for binary math\nconst TWO_PWR_32_DBL = 0x100000000;\n/**\n * Parse decimal string of 64 bit integer value as two JS numbers.\n *\n * Copyright 2008 Google Inc. All rights reserved.\n *\n * See https://github.com/protocolbuffers/protobuf-javascript/blob/a428c58273abad07c66071d9753bc4d1289de426/experimental/runtime/int64.js#L10\n */\nexport function int64FromString(dec) {\n // Check for minus sign.\n const minus = dec[0] === \"-\";\n if (minus) {\n dec = dec.slice(1);\n }\n // Work 6 decimal digits at a time, acting like we're converting base 1e6\n // digits to binary. This is safe to do with floating point math because\n // Number.isSafeInteger(ALL_32_BITS * 1e6) == true.\n const base = 1e6;\n let lowBits = 0;\n let highBits = 0;\n function add1e6digit(begin, end) {\n // Note: Number('') is 0.\n const digit1e6 = Number(dec.slice(begin, end));\n highBits *= base;\n lowBits = lowBits * base + digit1e6;\n // Carry bits from lowBits to\n if (lowBits >= TWO_PWR_32_DBL) {\n highBits = highBits + ((lowBits / TWO_PWR_32_DBL) | 0);\n lowBits = lowBits % TWO_PWR_32_DBL;\n }\n }\n add1e6digit(-24, -18);\n add1e6digit(-18, -12);\n add1e6digit(-12, -6);\n add1e6digit(-6);\n return minus ? negate(lowBits, highBits) : newBits(lowBits, highBits);\n}\n/**\n * Losslessly converts a 64-bit signed integer in 32:32 split representation\n * into a decimal string.\n *\n * Copyright 2008 Google Inc. All rights reserved.\n *\n * See https://github.com/protocolbuffers/protobuf-javascript/blob/a428c58273abad07c66071d9753bc4d1289de426/experimental/runtime/int64.js#L10\n */\nexport function int64ToString(lo, hi) {\n let bits = newBits(lo, hi);\n // If we're treating the input as a signed value and the high bit is set, do\n // a manual two's complement conversion before the decimal conversion.\n const negative = (bits.hi & 0x80000000);\n if (negative) {\n bits = negate(bits.lo, bits.hi);\n }\n const result = uInt64ToString(bits.lo, bits.hi);\n return negative ? \"-\" + result : result;\n}\n/**\n * Losslessly converts a 64-bit unsigned integer in 32:32 split representation\n * into a decimal string.\n *\n * Copyright 2008 Google Inc. All rights reserved.\n *\n * See https://github.com/protocolbuffers/protobuf-javascript/blob/a428c58273abad07c66071d9753bc4d1289de426/experimental/runtime/int64.js#L10\n */\nexport function uInt64ToString(lo, hi) {\n ({ lo, hi } = toUnsigned(lo, hi));\n // Skip the expensive conversion if the number is small enough to use the\n // built-in conversions.\n // Number.MAX_SAFE_INTEGER = 0x001FFFFF FFFFFFFF, thus any number with\n // highBits <= 0x1FFFFF can be safely expressed with a double and retain\n // integer precision.\n // Proven by: Number.isSafeInteger(0x1FFFFF * 2**32 + 0xFFFFFFFF) == true.\n if (hi <= 0x1FFFFF) {\n return String(TWO_PWR_32_DBL * hi + lo);\n }\n // What this code is doing is essentially converting the input number from\n // base-2 to base-1e7, which allows us to represent the 64-bit range with\n // only 3 (very large) digits. Those digits are then trivial to convert to\n // a base-10 string.\n // The magic numbers used here are -\n // 2^24 = 16777216 = (1,6777216) in base-1e7.\n // 2^48 = 281474976710656 = (2,8147497,6710656) in base-1e7.\n // Split 32:32 representation into 16:24:24 representation so our\n // intermediate digits don't overflow.\n const low = lo & 0xFFFFFF;\n const mid = ((lo >>> 24) | (hi << 8)) & 0xFFFFFF;\n const high = (hi >> 16) & 0xFFFF;\n // Assemble our three base-1e7 digits, ignoring carries. The maximum\n // value in a digit at this step is representable as a 48-bit integer, which\n // can be stored in a 64-bit floating point number.\n let digitA = low + (mid * 6777216) + (high * 6710656);\n let digitB = mid + (high * 8147497);\n let digitC = (high * 2);\n // Apply carries from A to B and from B to C.\n const base = 10000000;\n if (digitA >= base) {\n digitB += Math.floor(digitA / base);\n digitA %= base;\n }\n if (digitB >= base) {\n digitC += Math.floor(digitB / base);\n digitB %= base;\n }\n // If digitC is 0, then we should have returned in the trivial code path\n // at the top for non-safe integers. Given this, we can assume both digitB\n // and digitA need leading zeros.\n return digitC.toString() + decimalFrom1e7WithLeadingZeros(digitB) +\n decimalFrom1e7WithLeadingZeros(digitA);\n}\nfunction toUnsigned(lo, hi) {\n return { lo: lo >>> 0, hi: hi >>> 0 };\n}\nfunction newBits(lo, hi) {\n return { lo: lo | 0, hi: hi | 0 };\n}\n/**\n * Returns two's compliment negation of input.\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators#Signed_32-bit_integers\n */\nfunction negate(lowBits, highBits) {\n highBits = ~highBits;\n if (lowBits) {\n lowBits = ~lowBits + 1;\n }\n else {\n // If lowBits is 0, then bitwise-not is 0xFFFFFFFF,\n // adding 1 to that, results in 0x100000000, which leaves\n // the low bits 0x0 and simply adds one to the high bits.\n highBits += 1;\n }\n return newBits(lowBits, highBits);\n}\n/**\n * Returns decimal representation of digit1e7 with leading zeros.\n */\nconst decimalFrom1e7WithLeadingZeros = (digit1e7) => {\n const partial = String(digit1e7);\n return \"0000000\".slice(partial.length) + partial;\n};\n/**\n * Write a 32 bit varint, signed or unsigned. Same as `varint64write(0, value, bytes)`\n *\n * Copyright 2008 Google Inc. All rights reserved.\n *\n * See https://github.com/protocolbuffers/protobuf/blob/1b18833f4f2a2f681f4e4a25cdf3b0a43115ec26/js/binary/encoder.js#L144\n */\nexport function varint32write(value, bytes) {\n if (value >= 0) {\n // write value as varint 32\n while (value > 0x7f) {\n bytes.push((value & 0x7f) | 0x80);\n value = value >>> 7;\n }\n bytes.push(value);\n }\n else {\n for (let i = 0; i < 9; i++) {\n bytes.push((value & 127) | 128);\n value = value >> 7;\n }\n bytes.push(1);\n }\n}\n/**\n * Read an unsigned 32 bit varint.\n *\n * See https://github.com/protocolbuffers/protobuf/blob/8a71927d74a4ce34efe2d8769fda198f52d20d12/js/experimental/runtime/kernel/buffer_decoder.js#L220\n */\nexport function varint32read() {\n let b = this.buf[this.pos++];\n let result = b & 0x7f;\n if ((b & 0x80) == 0) {\n this.assertBounds();\n return result;\n }\n b = this.buf[this.pos++];\n result |= (b & 0x7f) << 7;\n if ((b & 0x80) == 0) {\n this.assertBounds();\n return result;\n }\n b = this.buf[this.pos++];\n result |= (b & 0x7f) << 14;\n if ((b & 0x80) == 0) {\n this.assertBounds();\n return result;\n }\n b = this.buf[this.pos++];\n result |= (b & 0x7f) << 21;\n if ((b & 0x80) == 0) {\n this.assertBounds();\n return result;\n }\n // Extract only last 4 bits\n b = this.buf[this.pos++];\n result |= (b & 0x0f) << 28;\n for (let readBytes = 5; (b & 0x80) !== 0 && readBytes < 10; readBytes++)\n b = this.buf[this.pos++];\n if ((b & 0x80) != 0)\n throw new Error(\"invalid varint\");\n this.assertBounds();\n // Result can have 32 bits, convert it to unsigned\n return result >>> 0;\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { assert } from \"./private/assert.js\";\nimport { int64FromString, int64ToString, uInt64ToString, } from \"./google/varint.js\";\nfunction makeInt64Support() {\n const dv = new DataView(new ArrayBuffer(8));\n // note that Safari 14 implements BigInt, but not the DataView methods\n const ok = typeof BigInt === \"function\" &&\n typeof dv.getBigInt64 === \"function\" &&\n typeof dv.getBigUint64 === \"function\" &&\n typeof dv.setBigInt64 === \"function\" &&\n typeof dv.setBigUint64 === \"function\" &&\n (typeof process != \"object\" ||\n typeof process.env != \"object\" ||\n process.env.BUF_BIGINT_DISABLE !== \"1\");\n if (ok) {\n const MIN = BigInt(\"-9223372036854775808\"), MAX = BigInt(\"9223372036854775807\"), UMIN = BigInt(\"0\"), UMAX = BigInt(\"18446744073709551615\");\n return {\n zero: BigInt(0),\n supported: true,\n parse(value) {\n const bi = typeof value == \"bigint\" ? value : BigInt(value);\n if (bi > MAX || bi < MIN) {\n throw new Error(`int64 invalid: ${value}`);\n }\n return bi;\n },\n uParse(value) {\n const bi = typeof value == \"bigint\" ? value : BigInt(value);\n if (bi > UMAX || bi < UMIN) {\n throw new Error(`uint64 invalid: ${value}`);\n }\n return bi;\n },\n enc(value) {\n dv.setBigInt64(0, this.parse(value), true);\n return {\n lo: dv.getInt32(0, true),\n hi: dv.getInt32(4, true),\n };\n },\n uEnc(value) {\n dv.setBigInt64(0, this.uParse(value), true);\n return {\n lo: dv.getInt32(0, true),\n hi: dv.getInt32(4, true),\n };\n },\n dec(lo, hi) {\n dv.setInt32(0, lo, true);\n dv.setInt32(4, hi, true);\n return dv.getBigInt64(0, true);\n },\n uDec(lo, hi) {\n dv.setInt32(0, lo, true);\n dv.setInt32(4, hi, true);\n return dv.getBigUint64(0, true);\n },\n };\n }\n const assertInt64String = (value) => assert(/^-?[0-9]+$/.test(value), `int64 invalid: ${value}`);\n const assertUInt64String = (value) => assert(/^[0-9]+$/.test(value), `uint64 invalid: ${value}`);\n return {\n zero: \"0\",\n supported: false,\n parse(value) {\n if (typeof value != \"string\") {\n value = value.toString();\n }\n assertInt64String(value);\n return value;\n },\n uParse(value) {\n if (typeof value != \"string\") {\n value = value.toString();\n }\n assertUInt64String(value);\n return value;\n },\n enc(value) {\n if (typeof value != \"string\") {\n value = value.toString();\n }\n assertInt64String(value);\n return int64FromString(value);\n },\n uEnc(value) {\n if (typeof value != \"string\") {\n value = value.toString();\n }\n assertUInt64String(value);\n return int64FromString(value);\n },\n dec(lo, hi) {\n return int64ToString(lo, hi);\n },\n uDec(lo, hi) {\n return uInt64ToString(lo, hi);\n },\n };\n}\nexport const protoInt64 = makeInt64Support();\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { varint32read, varint32write, varint64read, varint64write, } from \"./google/varint.js\";\nimport { assertFloat32, assertInt32, assertUInt32 } from \"./private/assert.js\";\nimport { protoInt64 } from \"./proto-int64.js\";\n/* eslint-disable prefer-const,no-case-declarations,@typescript-eslint/restrict-plus-operands */\n/**\n * Protobuf binary format wire types.\n *\n * A wire type provides just enough information to find the length of the\n * following value.\n *\n * See https://developers.google.com/protocol-buffers/docs/encoding#structure\n */\nexport var WireType;\n(function (WireType) {\n /**\n * Used for int32, int64, uint32, uint64, sint32, sint64, bool, enum\n */\n WireType[WireType[\"Varint\"] = 0] = \"Varint\";\n /**\n * Used for fixed64, sfixed64, double.\n * Always 8 bytes with little-endian byte order.\n */\n WireType[WireType[\"Bit64\"] = 1] = \"Bit64\";\n /**\n * Used for string, bytes, embedded messages, packed repeated fields\n *\n * Only repeated numeric types (types which use the varint, 32-bit,\n * or 64-bit wire types) can be packed. In proto3, such fields are\n * packed by default.\n */\n WireType[WireType[\"LengthDelimited\"] = 2] = \"LengthDelimited\";\n /**\n * Used for groups\n * @deprecated\n */\n WireType[WireType[\"StartGroup\"] = 3] = \"StartGroup\";\n /**\n * Used for groups\n * @deprecated\n */\n WireType[WireType[\"EndGroup\"] = 4] = \"EndGroup\";\n /**\n * Used for fixed32, sfixed32, float.\n * Always 4 bytes with little-endian byte order.\n */\n WireType[WireType[\"Bit32\"] = 5] = \"Bit32\";\n})(WireType || (WireType = {}));\nexport class BinaryWriter {\n constructor(textEncoder) {\n /**\n * Previous fork states.\n */\n this.stack = [];\n this.textEncoder = textEncoder !== null && textEncoder !== void 0 ? textEncoder : new TextEncoder();\n this.chunks = [];\n this.buf = [];\n }\n /**\n * Return all bytes written and reset this writer.\n */\n finish() {\n this.chunks.push(new Uint8Array(this.buf)); // flush the buffer\n let len = 0;\n for (let i = 0; i < this.chunks.length; i++)\n len += this.chunks[i].length;\n let bytes = new Uint8Array(len);\n let offset = 0;\n for (let i = 0; i < this.chunks.length; i++) {\n bytes.set(this.chunks[i], offset);\n offset += this.chunks[i].length;\n }\n this.chunks = [];\n return bytes;\n }\n /**\n * Start a new fork for length-delimited data like a message\n * or a packed repeated field.\n *\n * Must be joined later with `join()`.\n */\n fork() {\n this.stack.push({ chunks: this.chunks, buf: this.buf });\n this.chunks = [];\n this.buf = [];\n return this;\n }\n /**\n * Join the last fork. Write its length and bytes, then\n * return to the previous state.\n */\n join() {\n // get chunk of fork\n let chunk = this.finish();\n // restore previous state\n let prev = this.stack.pop();\n if (!prev)\n throw new Error(\"invalid state, fork stack empty\");\n this.chunks = prev.chunks;\n this.buf = prev.buf;\n // write length of chunk as varint\n this.uint32(chunk.byteLength);\n return this.raw(chunk);\n }\n /**\n * Writes a tag (field number and wire type).\n *\n * Equivalent to `uint32( (fieldNo << 3 | type) >>> 0 )`.\n *\n * Generated code should compute the tag ahead of time and call `uint32()`.\n */\n tag(fieldNo, type) {\n return this.uint32(((fieldNo << 3) | type) >>> 0);\n }\n /**\n * Write a chunk of raw bytes.\n */\n raw(chunk) {\n if (this.buf.length) {\n this.chunks.push(new Uint8Array(this.buf));\n this.buf = [];\n }\n this.chunks.push(chunk);\n return this;\n }\n /**\n * Write a `uint32` value, an unsigned 32 bit varint.\n */\n uint32(value) {\n assertUInt32(value);\n // write value as varint 32, inlined for speed\n while (value > 0x7f) {\n this.buf.push((value & 0x7f) | 0x80);\n value = value >>> 7;\n }\n this.buf.push(value);\n return this;\n }\n /**\n * Write a `int32` value, a signed 32 bit varint.\n */\n int32(value) {\n assertInt32(value);\n varint32write(value, this.buf);\n return this;\n }\n /**\n * Write a `bool` value, a variant.\n */\n bool(value) {\n this.buf.push(value ? 1 : 0);\n return this;\n }\n /**\n * Write a `bytes` value, length-delimited arbitrary data.\n */\n bytes(value) {\n this.uint32(value.byteLength); // write length of chunk as varint\n return this.raw(value);\n }\n /**\n * Write a `string` value, length-delimited data converted to UTF-8 text.\n */\n string(value) {\n let chunk = this.textEncoder.encode(value);\n this.uint32(chunk.byteLength); // write length of chunk as varint\n return this.raw(chunk);\n }\n /**\n * Write a `float` value, 32-bit floating point number.\n */\n float(value) {\n assertFloat32(value);\n let chunk = new Uint8Array(4);\n new DataView(chunk.buffer).setFloat32(0, value, true);\n return this.raw(chunk);\n }\n /**\n * Write a `double` value, a 64-bit floating point number.\n */\n double(value) {\n let chunk = new Uint8Array(8);\n new DataView(chunk.buffer).setFloat64(0, value, true);\n return this.raw(chunk);\n }\n /**\n * Write a `fixed32` value, an unsigned, fixed-length 32-bit integer.\n */\n fixed32(value) {\n assertUInt32(value);\n let chunk = new Uint8Array(4);\n new DataView(chunk.buffer).setUint32(0, value, true);\n return this.raw(chunk);\n }\n /**\n * Write a `sfixed32` value, a signed, fixed-length 32-bit integer.\n */\n sfixed32(value) {\n assertInt32(value);\n let chunk = new Uint8Array(4);\n new DataView(chunk.buffer).setInt32(0, value, true);\n return this.raw(chunk);\n }\n /**\n * Write a `sint32` value, a signed, zigzag-encoded 32-bit varint.\n */\n sint32(value) {\n assertInt32(value);\n // zigzag encode\n value = ((value << 1) ^ (value >> 31)) >>> 0;\n varint32write(value, this.buf);\n return this;\n }\n /**\n * Write a `fixed64` value, a signed, fixed-length 64-bit integer.\n */\n sfixed64(value) {\n let chunk = new Uint8Array(8), view = new DataView(chunk.buffer), tc = protoInt64.enc(value);\n view.setInt32(0, tc.lo, true);\n view.setInt32(4, tc.hi, true);\n return this.raw(chunk);\n }\n /**\n * Write a `fixed64` value, an unsigned, fixed-length 64 bit integer.\n */\n fixed64(value) {\n let chunk = new Uint8Array(8), view = new DataView(chunk.buffer), tc = protoInt64.uEnc(value);\n view.setInt32(0, tc.lo, true);\n view.setInt32(4, tc.hi, true);\n return this.raw(chunk);\n }\n /**\n * Write a `int64` value, a signed 64-bit varint.\n */\n int64(value) {\n let tc = protoInt64.enc(value);\n varint64write(tc.lo, tc.hi, this.buf);\n return this;\n }\n /**\n * Write a `sint64` value, a signed, zig-zag-encoded 64-bit varint.\n */\n sint64(value) {\n let tc = protoInt64.enc(value), \n // zigzag encode\n sign = tc.hi >> 31, lo = (tc.lo << 1) ^ sign, hi = ((tc.hi << 1) | (tc.lo >>> 31)) ^ sign;\n varint64write(lo, hi, this.buf);\n return this;\n }\n /**\n * Write a `uint64` value, an unsigned 64-bit varint.\n */\n uint64(value) {\n let tc = protoInt64.uEnc(value);\n varint64write(tc.lo, tc.hi, this.buf);\n return this;\n }\n}\nexport class BinaryReader {\n constructor(buf, textDecoder) {\n this.varint64 = varint64read; // dirty cast for `this`\n /**\n * Read a `uint32` field, an unsigned 32 bit varint.\n */\n this.uint32 = varint32read; // dirty cast for `this` and access to protected `buf`\n this.buf = buf;\n this.len = buf.length;\n this.pos = 0;\n this.view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);\n this.textDecoder = textDecoder !== null && textDecoder !== void 0 ? textDecoder : new TextDecoder();\n }\n /**\n * Reads a tag - field number and wire type.\n */\n tag() {\n let tag = this.uint32(), fieldNo = tag >>> 3, wireType = tag & 7;\n if (fieldNo <= 0 || wireType < 0 || wireType > 5)\n throw new Error(\"illegal tag: field no \" + fieldNo + \" wire type \" + wireType);\n return [fieldNo, wireType];\n }\n /**\n * Skip one element on the wire and return the skipped data.\n * Supports WireType.StartGroup since v2.0.0-alpha.23.\n */\n skip(wireType) {\n let start = this.pos;\n switch (wireType) {\n case WireType.Varint:\n while (this.buf[this.pos++] & 0x80) {\n // ignore\n }\n break;\n // eslint-disable-next-line\n // @ts-ignore TS7029: Fallthrough case in switch\n case WireType.Bit64:\n this.pos += 4;\n // eslint-disable-next-line\n // @ts-ignore TS7029: Fallthrough case in switch\n case WireType.Bit32:\n this.pos += 4;\n break;\n case WireType.LengthDelimited:\n let len = this.uint32();\n this.pos += len;\n break;\n case WireType.StartGroup:\n // From descriptor.proto: Group type is deprecated, not supported in proto3.\n // But we must still be able to parse and treat as unknown.\n let t;\n while ((t = this.tag()[1]) !== WireType.EndGroup) {\n this.skip(t);\n }\n break;\n default:\n throw new Error(\"cant skip wire type \" + wireType);\n }\n this.assertBounds();\n return this.buf.subarray(start, this.pos);\n }\n /**\n * Throws error if position in byte array is out of range.\n */\n assertBounds() {\n if (this.pos > this.len)\n throw new RangeError(\"premature EOF\");\n }\n /**\n * Read a `int32` field, a signed 32 bit varint.\n */\n int32() {\n return this.uint32() | 0;\n }\n /**\n * Read a `sint32` field, a signed, zigzag-encoded 32-bit varint.\n */\n sint32() {\n let zze = this.uint32();\n // decode zigzag\n return (zze >>> 1) ^ -(zze & 1);\n }\n /**\n * Read a `int64` field, a signed 64-bit varint.\n */\n int64() {\n return protoInt64.dec(...this.varint64());\n }\n /**\n * Read a `uint64` field, an unsigned 64-bit varint.\n */\n uint64() {\n return protoInt64.uDec(...this.varint64());\n }\n /**\n * Read a `sint64` field, a signed, zig-zag-encoded 64-bit varint.\n */\n sint64() {\n let [lo, hi] = this.varint64();\n // decode zig zag\n let s = -(lo & 1);\n lo = ((lo >>> 1) | ((hi & 1) << 31)) ^ s;\n hi = (hi >>> 1) ^ s;\n return protoInt64.dec(lo, hi);\n }\n /**\n * Read a `bool` field, a variant.\n */\n bool() {\n let [lo, hi] = this.varint64();\n return lo !== 0 || hi !== 0;\n }\n /**\n * Read a `fixed32` field, an unsigned, fixed-length 32-bit integer.\n */\n fixed32() {\n return this.view.getUint32((this.pos += 4) - 4, true);\n }\n /**\n * Read a `sfixed32` field, a signed, fixed-length 32-bit integer.\n */\n sfixed32() {\n return this.view.getInt32((this.pos += 4) - 4, true);\n }\n /**\n * Read a `fixed64` field, an unsigned, fixed-length 64 bit integer.\n */\n fixed64() {\n return protoInt64.uDec(this.sfixed32(), this.sfixed32());\n }\n /**\n * Read a `fixed64` field, a signed, fixed-length 64-bit integer.\n */\n sfixed64() {\n return protoInt64.dec(this.sfixed32(), this.sfixed32());\n }\n /**\n * Read a `float` field, 32-bit floating point number.\n */\n float() {\n return this.view.getFloat32((this.pos += 4) - 4, true);\n }\n /**\n * Read a `double` field, a 64-bit floating point number.\n */\n double() {\n return this.view.getFloat64((this.pos += 8) - 8, true);\n }\n /**\n * Read a `bytes` field, length-delimited arbitrary data.\n */\n bytes() {\n let len = this.uint32(), start = this.pos;\n this.pos += len;\n this.assertBounds();\n return this.buf.subarray(start, start + len);\n }\n /**\n * Read a `string` field, length-delimited data converted to UTF-8 text.\n */\n string() {\n return this.textDecoder.decode(this.bytes());\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Message } from \"../message.js\";\nimport { ScalarType } from \"../field.js\";\n/**\n * Wrap a primitive message field value in its corresponding wrapper\n * message. This function is idempotent.\n */\nexport function wrapField(type, value) {\n if (value instanceof Message || !type.fieldWrapper) {\n return value;\n }\n return type.fieldWrapper.wrapField(value);\n}\n/**\n * If the given field uses one of the well-known wrapper types, return\n * the primitive type it wraps.\n */\nexport function getUnwrappedFieldType(field) {\n if (field.fieldKind !== \"message\") {\n return undefined;\n }\n if (field.repeated) {\n return undefined;\n }\n if (field.oneof != undefined) {\n return undefined;\n }\n return wktWrapperToScalarType[field.message.typeName];\n}\nconst wktWrapperToScalarType = {\n \"google.protobuf.DoubleValue\": ScalarType.DOUBLE,\n \"google.protobuf.FloatValue\": ScalarType.FLOAT,\n \"google.protobuf.Int64Value\": ScalarType.INT64,\n \"google.protobuf.UInt64Value\": ScalarType.UINT64,\n \"google.protobuf.Int32Value\": ScalarType.INT32,\n \"google.protobuf.UInt32Value\": ScalarType.UINT32,\n \"google.protobuf.BoolValue\": ScalarType.BOOL,\n \"google.protobuf.StringValue\": ScalarType.STRING,\n \"google.protobuf.BytesValue\": ScalarType.BYTES,\n};\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { ScalarType } from \"../field.js\";\nimport { WireType } from \"../binary-encoding.js\";\nimport { protoInt64 } from \"../proto-int64.js\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Returns true if both scalar values are equal.\n */\nexport function scalarEquals(type, a, b) {\n if (a === b) {\n // This correctly matches equal values except BYTES and (possibly) 64-bit integers.\n return true;\n }\n // Special case BYTES - we need to compare each byte individually\n if (type == ScalarType.BYTES) {\n if (!(a instanceof Uint8Array) || !(b instanceof Uint8Array)) {\n return false;\n }\n if (a.length !== b.length) {\n return false;\n }\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n return true;\n }\n // Special case 64-bit integers - we support number, string and bigint representation.\n // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check\n switch (type) {\n case ScalarType.UINT64:\n case ScalarType.FIXED64:\n case ScalarType.INT64:\n case ScalarType.SFIXED64:\n case ScalarType.SINT64:\n // Loose comparison will match between 0n, 0 and \"0\".\n return a == b;\n }\n // Anything that hasn't been caught by strict comparison or special cased\n // BYTES and 64-bit integers is not equal.\n return false;\n}\n/**\n * Returns the default value for the given scalar type, following\n * proto3 semantics.\n */\nexport function scalarDefaultValue(type) {\n switch (type) {\n case ScalarType.BOOL:\n return false;\n case ScalarType.UINT64:\n case ScalarType.FIXED64:\n case ScalarType.INT64:\n case ScalarType.SFIXED64:\n case ScalarType.SINT64:\n return protoInt64.zero;\n case ScalarType.DOUBLE:\n case ScalarType.FLOAT:\n return 0.0;\n case ScalarType.BYTES:\n return new Uint8Array(0);\n case ScalarType.STRING:\n return \"\";\n default:\n // Handles INT32, UINT32, SINT32, FIXED32, SFIXED32.\n // We do not use individual cases to save a few bytes code size.\n return 0;\n }\n}\n/**\n * Get information for writing a scalar value.\n *\n * Returns tuple:\n * [0]: appropriate WireType\n * [1]: name of the appropriate method of IBinaryWriter\n * [2]: whether the given value is a default value for proto3 semantics\n *\n * If argument `value` is omitted, [2] is always false.\n */\nexport function scalarTypeInfo(type, value) {\n const isUndefined = value === undefined;\n let wireType = WireType.Varint;\n let isIntrinsicDefault = value === 0;\n // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check -- INT32, UINT32, SINT32 are covered by the defaults\n switch (type) {\n case ScalarType.STRING:\n isIntrinsicDefault = isUndefined || !value.length;\n wireType = WireType.LengthDelimited;\n break;\n case ScalarType.BOOL:\n isIntrinsicDefault = value === false;\n break;\n case ScalarType.DOUBLE:\n wireType = WireType.Bit64;\n break;\n case ScalarType.FLOAT:\n wireType = WireType.Bit32;\n break;\n case ScalarType.INT64:\n isIntrinsicDefault = isUndefined || value == 0;\n break;\n case ScalarType.UINT64:\n isIntrinsicDefault = isUndefined || value == 0;\n break;\n case ScalarType.FIXED64:\n isIntrinsicDefault = isUndefined || value == 0;\n wireType = WireType.Bit64;\n break;\n case ScalarType.BYTES:\n isIntrinsicDefault = isUndefined || !value.byteLength;\n wireType = WireType.LengthDelimited;\n break;\n case ScalarType.FIXED32:\n wireType = WireType.Bit32;\n break;\n case ScalarType.SFIXED32:\n wireType = WireType.Bit32;\n break;\n case ScalarType.SFIXED64:\n isIntrinsicDefault = isUndefined || value == 0;\n wireType = WireType.Bit64;\n break;\n case ScalarType.SINT64:\n isIntrinsicDefault = isUndefined || value == 0;\n break;\n }\n const method = ScalarType[type].toLowerCase();\n return [wireType, method, isUndefined || isIntrinsicDefault];\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { BinaryReader, BinaryWriter, WireType } from \"../binary-encoding.js\";\nimport { Message } from \"../message.js\";\nimport { ScalarType } from \"../field.js\";\nimport { wrapField } from \"./field-wrapper.js\";\nimport { scalarDefaultValue, scalarTypeInfo } from \"./scalars.js\";\nimport { assert } from \"./assert.js\";\n/* eslint-disable @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unnecessary-condition, no-case-declarations, prefer-const */\nconst unknownFieldsSymbol = Symbol(\"@bufbuild/protobuf/unknown-fields\");\n// Default options for parsing binary data.\nconst readDefaults = {\n readUnknownFields: true,\n readerFactory: (bytes) => new BinaryReader(bytes),\n};\n// Default options for serializing binary data.\nconst writeDefaults = {\n writeUnknownFields: true,\n writerFactory: () => new BinaryWriter(),\n};\nfunction makeReadOptions(options) {\n return options ? Object.assign(Object.assign({}, readDefaults), options) : readDefaults;\n}\nfunction makeWriteOptions(options) {\n return options ? Object.assign(Object.assign({}, writeDefaults), options) : writeDefaults;\n}\nexport function makeBinaryFormatCommon() {\n return {\n makeReadOptions,\n makeWriteOptions,\n listUnknownFields(message) {\n var _a;\n return (_a = message[unknownFieldsSymbol]) !== null && _a !== void 0 ? _a : [];\n },\n discardUnknownFields(message) {\n delete message[unknownFieldsSymbol];\n },\n writeUnknownFields(message, writer) {\n const m = message;\n const c = m[unknownFieldsSymbol];\n if (c) {\n for (const f of c) {\n writer.tag(f.no, f.wireType).raw(f.data);\n }\n }\n },\n onUnknownField(message, no, wireType, data) {\n const m = message;\n if (!Array.isArray(m[unknownFieldsSymbol])) {\n m[unknownFieldsSymbol] = [];\n }\n m[unknownFieldsSymbol].push({ no, wireType, data });\n },\n readMessage(message, reader, length, options) {\n const type = message.getType();\n const end = length === undefined ? reader.len : reader.pos + length;\n while (reader.pos < end) {\n const [fieldNo, wireType] = reader.tag(), field = type.fields.find(fieldNo);\n if (!field) {\n const data = reader.skip(wireType);\n if (options.readUnknownFields) {\n this.onUnknownField(message, fieldNo, wireType, data);\n }\n continue;\n }\n let target = message, repeated = field.repeated, localName = field.localName;\n if (field.oneof) {\n target = target[field.oneof.localName];\n if (target.case != localName) {\n delete target.value;\n }\n target.case = localName;\n localName = \"value\";\n }\n switch (field.kind) {\n case \"scalar\":\n case \"enum\":\n const scalarType = field.kind == \"enum\" ? ScalarType.INT32 : field.T;\n if (repeated) {\n let arr = target[localName]; // safe to assume presence of array, oneof cannot contain repeated values\n if (wireType == WireType.LengthDelimited &&\n scalarType != ScalarType.STRING &&\n scalarType != ScalarType.BYTES) {\n let e = reader.uint32() + reader.pos;\n while (reader.pos < e) {\n arr.push(readScalar(reader, scalarType));\n }\n }\n else {\n arr.push(readScalar(reader, scalarType));\n }\n }\n else {\n target[localName] = readScalar(reader, scalarType);\n }\n break;\n case \"message\":\n const messageType = field.T;\n if (repeated) {\n // safe to assume presence of array, oneof cannot contain repeated values\n target[localName].push(readMessageField(reader, new messageType(), options));\n }\n else {\n if (target[localName] instanceof Message) {\n readMessageField(reader, target[localName], options);\n }\n else {\n target[localName] = readMessageField(reader, new messageType(), options);\n if (messageType.fieldWrapper &&\n !field.oneof &&\n !field.repeated) {\n target[localName] = messageType.fieldWrapper.unwrapField(target[localName]);\n }\n }\n }\n break;\n case \"map\":\n let [mapKey, mapVal] = readMapEntry(field, reader, options);\n // safe to assume presence of map object, oneof cannot contain repeated values\n target[localName][mapKey] = mapVal;\n break;\n }\n }\n },\n };\n}\n// Read a message, avoiding MessageType.fromBinary() to re-use the\n// BinaryReadOptions and the IBinaryReader.\nfunction readMessageField(reader, message, options) {\n const format = message.getType().runtime.bin;\n format.readMessage(message, reader, reader.uint32(), options);\n return message;\n}\n// Read a map field, expecting key field = 1, value field = 2\nfunction readMapEntry(field, reader, options) {\n const length = reader.uint32(), end = reader.pos + length;\n let key, val;\n while (reader.pos < end) {\n let [fieldNo] = reader.tag();\n switch (fieldNo) {\n case 1:\n key = readScalar(reader, field.K);\n break;\n case 2:\n switch (field.V.kind) {\n case \"scalar\":\n val = readScalar(reader, field.V.T);\n break;\n case \"enum\":\n val = reader.int32();\n break;\n case \"message\":\n val = readMessageField(reader, new field.V.T(), options);\n break;\n }\n break;\n }\n }\n if (key === undefined) {\n let keyRaw = scalarDefaultValue(field.K);\n key =\n field.K == ScalarType.BOOL\n ? keyRaw.toString()\n : keyRaw;\n }\n if (typeof key != \"string\" && typeof key != \"number\") {\n key = key.toString();\n }\n if (val === undefined) {\n switch (field.V.kind) {\n case \"scalar\":\n val = scalarDefaultValue(field.V.T);\n break;\n case \"enum\":\n val = 0;\n break;\n case \"message\":\n val = new field.V.T();\n break;\n }\n }\n return [key, val];\n}\n// Does not use scalarTypeInfo() for better performance.\nfunction readScalar(reader, type) {\n switch (type) {\n case ScalarType.STRING:\n return reader.string();\n case ScalarType.BOOL:\n return reader.bool();\n case ScalarType.DOUBLE:\n return reader.double();\n case ScalarType.FLOAT:\n return reader.float();\n case ScalarType.INT32:\n return reader.int32();\n case ScalarType.INT64:\n return reader.int64();\n case ScalarType.UINT64:\n return reader.uint64();\n case ScalarType.FIXED64:\n return reader.fixed64();\n case ScalarType.BYTES:\n return reader.bytes();\n case ScalarType.FIXED32:\n return reader.fixed32();\n case ScalarType.SFIXED32:\n return reader.sfixed32();\n case ScalarType.SFIXED64:\n return reader.sfixed64();\n case ScalarType.SINT64:\n return reader.sint64();\n case ScalarType.UINT32:\n return reader.uint32();\n case ScalarType.SINT32:\n return reader.sint32();\n }\n}\nexport function writeMapEntry(writer, options, field, key, value) {\n writer.tag(field.no, WireType.LengthDelimited);\n writer.fork();\n // javascript only allows number or string for object properties\n // we convert from our representation to the protobuf type\n let keyValue = key;\n // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check -- we deliberately handle just the special cases for map keys\n switch (field.K) {\n case ScalarType.INT32:\n case ScalarType.FIXED32:\n case ScalarType.UINT32:\n case ScalarType.SFIXED32:\n case ScalarType.SINT32:\n keyValue = Number.parseInt(key);\n break;\n case ScalarType.BOOL:\n assert(key == \"true\" || key == \"false\");\n keyValue = key == \"true\";\n break;\n }\n // write key, expecting key field number = 1\n writeScalar(writer, field.K, 1, keyValue, true);\n // write value, expecting value field number = 2\n switch (field.V.kind) {\n case \"scalar\":\n writeScalar(writer, field.V.T, 2, value, true);\n break;\n case \"enum\":\n writeScalar(writer, ScalarType.INT32, 2, value, true);\n break;\n case \"message\":\n writeMessageField(writer, options, field.V.T, 2, value);\n break;\n }\n writer.join();\n}\nexport function writeMessageField(writer, options, type, fieldNo, value) {\n if (value !== undefined) {\n const message = wrapField(type, value);\n writer\n .tag(fieldNo, WireType.LengthDelimited)\n .bytes(message.toBinary(options));\n }\n}\nexport function writeScalar(writer, type, fieldNo, value, emitIntrinsicDefault) {\n let [wireType, method, isIntrinsicDefault] = scalarTypeInfo(type, value);\n if (!isIntrinsicDefault || emitIntrinsicDefault) {\n writer.tag(fieldNo, wireType)[method](value);\n }\n}\nexport function writePacked(writer, type, fieldNo, value) {\n if (!value.length) {\n return;\n }\n writer.tag(fieldNo, WireType.LengthDelimited).fork();\n let [, method] = scalarTypeInfo(type);\n for (let i = 0; i < value.length; i++) {\n writer[method](value[i]);\n }\n writer.join();\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { ScalarType } from \"../field.js\";\nimport { makeBinaryFormatCommon, writeMapEntry, writeMessageField, writePacked, writeScalar, } from \"./binary-format-common.js\";\n/* eslint-disable @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unnecessary-condition, @typescript-eslint/strict-boolean-expressions, prefer-const, no-case-declarations */\nexport function makeBinaryFormatProto3() {\n return Object.assign(Object.assign({}, makeBinaryFormatCommon()), { writeMessage(message, writer, options) {\n const type = message.getType();\n for (const field of type.fields.byNumber()) {\n let value, // this will be our field value, whether it is member of a oneof or regular field\n repeated = field.repeated, localName = field.localName;\n if (field.oneof) {\n const oneof = message[field.oneof.localName];\n if (oneof.case !== localName) {\n continue; // field is not selected, skip\n }\n value = oneof.value;\n }\n else {\n value = message[localName];\n }\n switch (field.kind) {\n case \"scalar\":\n case \"enum\":\n let scalarType = field.kind == \"enum\" ? ScalarType.INT32 : field.T;\n if (repeated) {\n if (field.packed) {\n writePacked(writer, scalarType, field.no, value);\n }\n else {\n for (const item of value) {\n writeScalar(writer, scalarType, field.no, item, true);\n }\n }\n }\n else {\n if (value !== undefined) {\n writeScalar(writer, scalarType, field.no, value, !!field.oneof || field.opt);\n }\n }\n break;\n case \"message\":\n if (repeated) {\n for (const item of value) {\n writeMessageField(writer, options, field.T, field.no, item);\n }\n }\n else {\n writeMessageField(writer, options, field.T, field.no, value);\n }\n break;\n case \"map\":\n for (const [key, val] of Object.entries(value)) {\n writeMapEntry(writer, options, field, key, val);\n }\n break;\n }\n }\n if (options.writeUnknownFields) {\n this.writeUnknownFields(message, writer);\n }\n return writer;\n } });\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/* eslint-disable @typescript-eslint/ban-ts-comment, @typescript-eslint/no-unnecessary-condition, prefer-const */\n// lookup table from base64 character to byte\nlet encTable = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".split(\"\");\n// lookup table from base64 character *code* to byte because lookup by number is fast\nlet decTable = [];\nfor (let i = 0; i < encTable.length; i++)\n decTable[encTable[i].charCodeAt(0)] = i;\n// support base64url variants\ndecTable[\"-\".charCodeAt(0)] = encTable.indexOf(\"+\");\ndecTable[\"_\".charCodeAt(0)] = encTable.indexOf(\"/\");\nexport const protoBase64 = {\n /**\n * Decodes a base64 string to a byte array.\n *\n * - ignores white-space, including line breaks and tabs\n * - allows inner padding (can decode concatenated base64 strings)\n * - does not require padding\n * - understands base64url encoding:\n * \"-\" instead of \"+\",\n * \"_\" instead of \"/\",\n * no padding\n */\n dec(base64Str) {\n // estimate byte size, not accounting for inner padding and whitespace\n let es = (base64Str.length * 3) / 4;\n if (base64Str[base64Str.length - 2] == \"=\")\n es -= 2;\n else if (base64Str[base64Str.length - 1] == \"=\")\n es -= 1;\n let bytes = new Uint8Array(es), bytePos = 0, // position in byte array\n groupPos = 0, // position in base64 group\n b, // current byte\n p = 0; // previous byte\n for (let i = 0; i < base64Str.length; i++) {\n b = decTable[base64Str.charCodeAt(i)];\n if (b === undefined) {\n switch (base64Str[i]) {\n // @ts-ignore TS7029: Fallthrough case in switch\n case \"=\":\n groupPos = 0; // reset state when padding found\n // @ts-ignore TS7029: Fallthrough case in switch\n case \"\\n\":\n case \"\\r\":\n case \"\\t\":\n case \" \":\n continue; // skip white-space, and padding\n default:\n throw Error(\"invalid base64 string.\");\n }\n }\n switch (groupPos) {\n case 0:\n p = b;\n groupPos = 1;\n break;\n case 1:\n bytes[bytePos++] = (p << 2) | ((b & 48) >> 4);\n p = b;\n groupPos = 2;\n break;\n case 2:\n bytes[bytePos++] = ((p & 15) << 4) | ((b & 60) >> 2);\n p = b;\n groupPos = 3;\n break;\n case 3:\n bytes[bytePos++] = ((p & 3) << 6) | b;\n groupPos = 0;\n break;\n }\n }\n if (groupPos == 1)\n throw Error(\"invalid base64 string.\");\n return bytes.subarray(0, bytePos);\n },\n /**\n * Encode a byte array to a base64 string.\n */\n enc(bytes) {\n let base64 = \"\", groupPos = 0, // position in base64 group\n b, // current byte\n p = 0; // carry over from previous byte\n for (let i = 0; i < bytes.length; i++) {\n b = bytes[i];\n switch (groupPos) {\n case 0:\n base64 += encTable[b >> 2];\n p = (b & 3) << 4;\n groupPos = 1;\n break;\n case 1:\n base64 += encTable[p | (b >> 4)];\n p = (b & 15) << 2;\n groupPos = 2;\n break;\n case 2:\n base64 += encTable[p | (b >> 6)];\n base64 += encTable[b & 63];\n groupPos = 0;\n break;\n }\n }\n // add output padding\n if (groupPos) {\n base64 += encTable[p];\n base64 += \"=\";\n if (groupPos == 1)\n base64 += \"=\";\n }\n return base64;\n },\n};\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Message } from \"../message.js\";\nimport { ScalarType } from \"../field.js\";\nimport { assert, assertFloat32, assertInt32, assertUInt32 } from \"./assert.js\";\nimport { protoInt64 } from \"../proto-int64.js\";\nimport { protoBase64 } from \"../proto-base64.js\";\n/* eslint-disable no-case-declarations, @typescript-eslint/restrict-plus-operands,@typescript-eslint/no-explicit-any,@typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-argument */\n// Default options for parsing JSON.\nconst jsonReadDefaults = {\n ignoreUnknownFields: false,\n};\n// Default options for serializing to JSON.\nconst jsonWriteDefaults = {\n emitDefaultValues: false,\n enumAsInteger: false,\n useProtoFieldName: false,\n prettySpaces: 0,\n};\nfunction makeReadOptions(options) {\n return options ? Object.assign(Object.assign({}, jsonReadDefaults), options) : jsonReadDefaults;\n}\nfunction makeWriteOptions(options) {\n return options ? Object.assign(Object.assign({}, jsonWriteDefaults), options) : jsonWriteDefaults;\n}\nexport function makeJsonFormatCommon(makeWriteField) {\n const writeField = makeWriteField(writeEnum, writeScalar);\n return {\n makeReadOptions,\n makeWriteOptions,\n readMessage(type, json, options, message) {\n if (json == null || Array.isArray(json) || typeof json != \"object\") {\n throw new Error(`cannot decode message ${type.typeName} from JSON: ${this.debug(json)}`);\n }\n message = message !== null && message !== void 0 ? message : new type();\n const oneofSeen = {};\n for (const [jsonKey, jsonValue] of Object.entries(json)) {\n const field = type.fields.findJsonName(jsonKey);\n if (!field) {\n if (!options.ignoreUnknownFields) {\n throw new Error(`cannot decode message ${type.typeName} from JSON: key \"${jsonKey}\" is unknown`);\n }\n continue;\n }\n let localName = field.localName;\n let target = message;\n if (field.oneof) {\n if (jsonValue === null && field.kind == \"scalar\") {\n // see conformance test Required.Proto3.JsonInput.OneofFieldNull{First,Second}\n continue;\n }\n const seen = oneofSeen[field.oneof.localName];\n if (seen) {\n throw new Error(`cannot decode message ${type.typeName} from JSON: multiple keys for oneof \"${field.oneof.name}\" present: \"${seen}\", \"${jsonKey}\"`);\n }\n oneofSeen[field.oneof.localName] = jsonKey;\n target = target[field.oneof.localName] = { case: localName };\n localName = \"value\";\n }\n if (field.repeated) {\n if (jsonValue === null) {\n continue;\n }\n if (!Array.isArray(jsonValue)) {\n throw new Error(`cannot decode field ${type.typeName}.${field.name} from JSON: ${this.debug(jsonValue)}`);\n }\n const targetArray = target[localName];\n for (const jsonItem of jsonValue) {\n if (jsonItem === null) {\n throw new Error(`cannot decode field ${type.typeName}.${field.name} from JSON: ${this.debug(jsonItem)}`);\n }\n let val;\n // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check -- \"map\" is invalid for repeated fields\n switch (field.kind) {\n case \"message\":\n val = field.T.fromJson(jsonItem, options);\n break;\n case \"enum\":\n val = readEnum(field.T, jsonItem, options.ignoreUnknownFields);\n if (val === undefined)\n continue;\n break;\n case \"scalar\":\n try {\n val = readScalar(field.T, jsonItem);\n }\n catch (e) {\n let m = `cannot decode field ${type.typeName}.${field.name} from JSON: ${this.debug(jsonItem)}`;\n if (e instanceof Error && e.message.length > 0) {\n m += `: ${e.message}`;\n }\n throw new Error(m);\n }\n break;\n }\n targetArray.push(val);\n }\n }\n else if (field.kind == \"map\") {\n if (jsonValue === null) {\n continue;\n }\n if (Array.isArray(jsonValue) || typeof jsonValue != \"object\") {\n throw new Error(`cannot decode field ${type.typeName}.${field.name} from JSON: ${this.debug(jsonValue)}`);\n }\n const targetMap = target[localName];\n for (const [jsonMapKey, jsonMapValue] of Object.entries(jsonValue)) {\n if (jsonMapValue === null) {\n throw new Error(`cannot decode field ${type.typeName}.${field.name} from JSON: map value null`);\n }\n let val;\n switch (field.V.kind) {\n case \"message\":\n val = field.V.T.fromJson(jsonMapValue, options);\n break;\n case \"enum\":\n val = readEnum(field.V.T, jsonMapValue, options.ignoreUnknownFields);\n if (val === undefined)\n continue;\n break;\n case \"scalar\":\n try {\n val = readScalar(field.V.T, jsonMapValue);\n }\n catch (e) {\n let m = `cannot decode map value for field ${type.typeName}.${field.name} from JSON: ${this.debug(jsonValue)}`;\n if (e instanceof Error && e.message.length > 0) {\n m += `: ${e.message}`;\n }\n throw new Error(m);\n }\n break;\n }\n try {\n targetMap[readScalar(field.K, field.K == ScalarType.BOOL\n ? jsonMapKey == \"true\"\n ? true\n : jsonMapKey == \"false\"\n ? false\n : jsonMapKey\n : jsonMapKey).toString()] = val;\n }\n catch (e) {\n let m = `cannot decode map key for field ${type.typeName}.${field.name} from JSON: ${this.debug(jsonValue)}`;\n if (e instanceof Error && e.message.length > 0) {\n m += `: ${e.message}`;\n }\n throw new Error(m);\n }\n }\n }\n else {\n switch (field.kind) {\n case \"message\":\n const messageType = field.T;\n if (jsonValue === null &&\n messageType.typeName != \"google.protobuf.Value\") {\n if (field.oneof) {\n throw new Error(`cannot decode field ${type.typeName}.${field.name} from JSON: null is invalid for oneof field \"${jsonKey}\"`);\n }\n continue;\n }\n if (target[localName] instanceof Message) {\n target[localName].fromJson(jsonValue, options);\n }\n else {\n target[localName] = messageType.fromJson(jsonValue, options);\n if (messageType.fieldWrapper && !field.oneof) {\n target[localName] = messageType.fieldWrapper.unwrapField(target[localName]);\n }\n }\n break;\n case \"enum\":\n const enumValue = readEnum(field.T, jsonValue, options.ignoreUnknownFields);\n if (enumValue !== undefined) {\n target[localName] = enumValue;\n }\n break;\n case \"scalar\":\n try {\n target[localName] = readScalar(field.T, jsonValue);\n }\n catch (e) {\n let m = `cannot decode field ${type.typeName}.${field.name} from JSON: ${this.debug(jsonValue)}`;\n if (e instanceof Error && e.message.length > 0) {\n m += `: ${e.message}`;\n }\n throw new Error(m);\n }\n break;\n }\n }\n }\n return message;\n },\n writeMessage(message, options) {\n const type = message.getType();\n const json = {};\n let field;\n try {\n for (const member of type.fields.byMember()) {\n let jsonValue;\n if (member.kind == \"oneof\") {\n const oneof = message[member.localName];\n if (oneof.value === undefined) {\n continue;\n }\n field = member.findField(oneof.case);\n if (!field) {\n throw \"oneof case not found: \" + oneof.case;\n }\n jsonValue = writeField(field, oneof.value, options);\n }\n else {\n field = member;\n jsonValue = writeField(field, message[field.localName], options);\n }\n if (jsonValue !== undefined) {\n json[options.useProtoFieldName ? field.name : field.jsonName] =\n jsonValue;\n }\n }\n }\n catch (e) {\n const m = field\n ? `cannot encode field ${type.typeName}.${field.name} to JSON`\n : `cannot encode message ${type.typeName} to JSON`;\n const r = e instanceof Error ? e.message : String(e);\n throw new Error(m + (r.length > 0 ? `: ${r}` : \"\"));\n }\n return json;\n },\n readScalar,\n writeScalar,\n debug: debugJsonValue,\n };\n}\nfunction debugJsonValue(json) {\n if (json === null) {\n return \"null\";\n }\n switch (typeof json) {\n case \"object\":\n return Array.isArray(json) ? \"array\" : \"object\";\n case \"string\":\n return json.length > 100 ? \"string\" : `\"${json.split('\"').join('\\\\\"')}\"`;\n default:\n return String(json);\n }\n}\n// May throw an error. If the error message is non-blank, it should be shown.\n// It is up to the caller to provide context.\nfunction readScalar(type, json) {\n // every valid case in the switch below returns, and every fall\n // through is regarded as a failure.\n switch (type) {\n // float, double: JSON value will be a number or one of the special string values \"NaN\", \"Infinity\", and \"-Infinity\".\n // Either numbers or strings are accepted. Exponent notation is also accepted.\n case ScalarType.DOUBLE:\n case ScalarType.FLOAT:\n if (json === null)\n return 0.0;\n if (json === \"NaN\")\n return Number.NaN;\n if (json === \"Infinity\")\n return Number.POSITIVE_INFINITY;\n if (json === \"-Infinity\")\n return Number.NEGATIVE_INFINITY;\n if (json === \"\") {\n // empty string is not a number\n break;\n }\n if (typeof json == \"string\" && json.trim().length !== json.length) {\n // extra whitespace\n break;\n }\n if (typeof json != \"string\" && typeof json != \"number\") {\n break;\n }\n const float = Number(json);\n if (Number.isNaN(float)) {\n // not a number\n break;\n }\n if (!Number.isFinite(float)) {\n // infinity and -infinity are handled by string representation above, so this is an error\n break;\n }\n if (type == ScalarType.FLOAT)\n assertFloat32(float);\n return float;\n // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted.\n case ScalarType.INT32:\n case ScalarType.FIXED32:\n case ScalarType.SFIXED32:\n case ScalarType.SINT32:\n case ScalarType.UINT32:\n if (json === null)\n return 0;\n let int32;\n if (typeof json == \"number\")\n int32 = json;\n else if (typeof json == \"string\" && json.length > 0) {\n if (json.trim().length === json.length)\n int32 = Number(json);\n }\n if (int32 === undefined)\n break;\n if (type == ScalarType.UINT32)\n assertUInt32(int32);\n else\n assertInt32(int32);\n return int32;\n // int64, fixed64, uint64: JSON value will be a decimal string. Either numbers or strings are accepted.\n case ScalarType.INT64:\n case ScalarType.SFIXED64:\n case ScalarType.SINT64:\n if (json === null)\n return protoInt64.zero;\n if (typeof json != \"number\" && typeof json != \"string\")\n break;\n return protoInt64.parse(json);\n case ScalarType.FIXED64:\n case ScalarType.UINT64:\n if (json === null)\n return protoInt64.zero;\n if (typeof json != \"number\" && typeof json != \"string\")\n break;\n return protoInt64.uParse(json);\n // bool:\n case ScalarType.BOOL:\n if (json === null)\n return false;\n if (typeof json !== \"boolean\")\n break;\n return json;\n // string:\n case ScalarType.STRING:\n if (json === null)\n return \"\";\n if (typeof json !== \"string\") {\n break;\n }\n // A string must always contain UTF-8 encoded or 7-bit ASCII.\n // We validate with encodeURIComponent, which appears to be the fastest widely available option.\n try {\n encodeURIComponent(json);\n }\n catch (e) {\n throw new Error(\"invalid UTF8\");\n }\n return json;\n // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings.\n // Either standard or URL-safe base64 encoding with/without paddings are accepted.\n case ScalarType.BYTES:\n if (json === null || json === \"\")\n return new Uint8Array(0);\n if (typeof json !== \"string\")\n break;\n return protoBase64.dec(json);\n }\n throw new Error();\n}\nfunction readEnum(type, json, ignoreUnknownFields) {\n if (json === null) {\n // proto3 requires 0 to be default value for all enums\n return 0;\n }\n // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check\n switch (typeof json) {\n case \"number\":\n if (Number.isInteger(json)) {\n return json;\n }\n break;\n case \"string\":\n const value = type.findName(json);\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n if (value || ignoreUnknownFields) {\n return value === null || value === void 0 ? void 0 : value.no;\n }\n break;\n }\n throw new Error(`cannot decode enum ${type.typeName} from JSON: ${debugJsonValue(json)}`);\n}\nfunction writeEnum(type, value, emitIntrinsicDefault, enumAsInteger) {\n var _a;\n if (value === undefined) {\n return value;\n }\n if (value === 0 && !emitIntrinsicDefault) {\n // proto3 requires 0 to be default value for all enums\n return undefined;\n }\n if (enumAsInteger) {\n return value;\n }\n if (type.typeName == \"google.protobuf.NullValue\") {\n return null;\n }\n const val = type.findNumber(value);\n return (_a = val === null || val === void 0 ? void 0 : val.name) !== null && _a !== void 0 ? _a : value; // if we don't know the enum value, just return the number\n}\nfunction writeScalar(type, value, emitIntrinsicDefault) {\n if (value === undefined) {\n return undefined;\n }\n switch (type) {\n // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted.\n case ScalarType.INT32:\n case ScalarType.SFIXED32:\n case ScalarType.SINT32:\n case ScalarType.FIXED32:\n case ScalarType.UINT32:\n assert(typeof value == \"number\");\n return value != 0 || emitIntrinsicDefault ? value : undefined;\n // float, double: JSON value will be a number or one of the special string values \"NaN\", \"Infinity\", and \"-Infinity\".\n // Either numbers or strings are accepted. Exponent notation is also accepted.\n case ScalarType.FLOAT:\n // assertFloat32(value);\n case ScalarType.DOUBLE: // eslint-disable-line no-fallthrough\n assert(typeof value == \"number\");\n if (Number.isNaN(value))\n return \"NaN\";\n if (value === Number.POSITIVE_INFINITY)\n return \"Infinity\";\n if (value === Number.NEGATIVE_INFINITY)\n return \"-Infinity\";\n return value !== 0 || emitIntrinsicDefault ? value : undefined;\n // string:\n case ScalarType.STRING:\n assert(typeof value == \"string\");\n return value.length > 0 || emitIntrinsicDefault ? value : undefined;\n // bool:\n case ScalarType.BOOL:\n assert(typeof value == \"boolean\");\n return value || emitIntrinsicDefault ? value : undefined;\n // JSON value will be a decimal string. Either numbers or strings are accepted.\n case ScalarType.UINT64:\n case ScalarType.FIXED64:\n case ScalarType.INT64:\n case ScalarType.SFIXED64:\n case ScalarType.SINT64:\n assert(typeof value == \"bigint\" ||\n typeof value == \"string\" ||\n typeof value == \"number\");\n // We use implicit conversion with `value != 0` to catch both 0n and \"0\"\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return emitIntrinsicDefault || value != 0\n ? value.toString(10)\n : undefined;\n // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings.\n // Either standard or URL-safe base64 encoding with/without paddings are accepted.\n case ScalarType.BYTES:\n assert(value instanceof Uint8Array);\n return emitIntrinsicDefault || value.byteLength > 0\n ? protoBase64.enc(value)\n : undefined;\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { wrapField } from \"./field-wrapper.js\";\nimport { assert } from \"./assert.js\";\nimport { makeJsonFormatCommon } from \"./json-format-common.js\";\n/* eslint-disable no-case-declarations, @typescript-eslint/restrict-plus-operands,@typescript-eslint/no-explicit-any,@typescript-eslint/no-unsafe-return,@typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-argument */\nexport function makeJsonFormatProto3() {\n return makeJsonFormatCommon((writeEnum, writeScalar) => {\n return function writeField(field, value, options) {\n if (field.kind == \"map\") {\n const jsonObj = {};\n switch (field.V.kind) {\n case \"scalar\":\n for (const [entryKey, entryValue] of Object.entries(value)) {\n const val = writeScalar(field.V.T, entryValue, true);\n assert(val !== undefined);\n jsonObj[entryKey.toString()] = val; // JSON standard allows only (double quoted) string as property key\n }\n break;\n case \"message\":\n for (const [entryKey, entryValue] of Object.entries(value)) {\n // JSON standard allows only (double quoted) string as property key\n jsonObj[entryKey.toString()] = entryValue.toJson(options);\n }\n break;\n case \"enum\":\n const enumType = field.V.T;\n for (const [entryKey, entryValue] of Object.entries(value)) {\n assert(entryValue === undefined || typeof entryValue == \"number\");\n const val = writeEnum(enumType, entryValue, true, options.enumAsInteger);\n assert(val !== undefined);\n jsonObj[entryKey.toString()] = val; // JSON standard allows only (double quoted) string as property key\n }\n break;\n }\n return options.emitDefaultValues || Object.keys(jsonObj).length > 0\n ? jsonObj\n : undefined;\n }\n else if (field.repeated) {\n const jsonArr = [];\n switch (field.kind) {\n case \"scalar\":\n for (let i = 0; i < value.length; i++) {\n jsonArr.push(writeScalar(field.T, value[i], true));\n }\n break;\n case \"enum\":\n for (let i = 0; i < value.length; i++) {\n jsonArr.push(writeEnum(field.T, value[i], true, options.enumAsInteger));\n }\n break;\n case \"message\":\n for (let i = 0; i < value.length; i++) {\n jsonArr.push(wrapField(field.T, value[i]).toJson(options));\n }\n break;\n }\n return options.emitDefaultValues || jsonArr.length > 0\n ? jsonArr\n : undefined;\n }\n else {\n switch (field.kind) {\n case \"scalar\":\n return writeScalar(field.T, value, !!field.oneof || field.opt || options.emitDefaultValues);\n case \"enum\":\n return writeEnum(field.T, value, !!field.oneof || field.opt || options.emitDefaultValues, options.enumAsInteger);\n case \"message\":\n return value !== undefined\n ? wrapField(field.T, value).toJson(options)\n : undefined;\n }\n }\n };\n });\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { setEnumType } from \"./enum.js\";\nimport { Message } from \"../message.js\";\nimport { ScalarType } from \"../field.js\";\nimport { scalarEquals } from \"./scalars.js\";\n/* eslint-disable @typescript-eslint/no-explicit-any,@typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-return,@typescript-eslint/no-unsafe-argument,no-case-declarations */\nexport function makeUtilCommon() {\n return {\n setEnumType,\n initPartial(source, target) {\n if (source === undefined) {\n return;\n }\n const type = target.getType();\n for (const member of type.fields.byMember()) {\n const localName = member.localName, t = target, s = source;\n if (s[localName] === undefined) {\n continue;\n }\n switch (member.kind) {\n case \"oneof\":\n const sk = s[localName].case;\n if (sk === undefined) {\n continue;\n }\n const sourceField = member.findField(sk);\n let val = s[localName].value;\n if (sourceField &&\n sourceField.kind == \"message\" &&\n !(val instanceof sourceField.T)) {\n val = new sourceField.T(val);\n }\n else if (sourceField &&\n sourceField.kind === \"scalar\" &&\n sourceField.T === ScalarType.BYTES) {\n val = toU8Arr(val);\n }\n t[localName] = { case: sk, value: val };\n break;\n case \"scalar\":\n case \"enum\":\n let copy = s[localName];\n if (member.T === ScalarType.BYTES) {\n copy = member.repeated\n ? copy.map(toU8Arr)\n : toU8Arr(copy);\n }\n t[localName] = copy;\n break;\n case \"map\":\n switch (member.V.kind) {\n case \"scalar\":\n case \"enum\":\n if (member.V.T === ScalarType.BYTES) {\n for (const [k, v] of Object.entries(s[localName])) {\n t[localName][k] = toU8Arr(v);\n }\n }\n else {\n Object.assign(t[localName], s[localName]);\n }\n break;\n case \"message\":\n const messageType = member.V.T;\n for (const k of Object.keys(s[localName])) {\n let val = s[localName][k];\n if (!messageType.fieldWrapper) {\n // We only take partial input for messages that are not a wrapper type.\n // For those messages, we recursively normalize the partial input.\n val = new messageType(val);\n }\n t[localName][k] = val;\n }\n break;\n }\n break;\n case \"message\":\n const mt = member.T;\n if (member.repeated) {\n t[localName] = s[localName].map((val) => val instanceof mt ? val : new mt(val));\n }\n else if (s[localName] !== undefined) {\n const val = s[localName];\n if (mt.fieldWrapper) {\n if (\n // We can't use BytesValue.typeName as that will create a circular import\n mt.typeName === \"google.protobuf.BytesValue\") {\n t[localName] = toU8Arr(val);\n }\n else {\n t[localName] = val;\n }\n }\n else {\n t[localName] = val instanceof mt ? val : new mt(val);\n }\n }\n break;\n }\n }\n },\n equals(type, a, b) {\n if (a === b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n return type.fields.byMember().every((m) => {\n const va = a[m.localName];\n const vb = b[m.localName];\n if (m.repeated) {\n if (va.length !== vb.length) {\n return false;\n }\n // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check -- repeated fields are never \"map\"\n switch (m.kind) {\n case \"message\":\n return va.every((a, i) => m.T.equals(a, vb[i]));\n case \"scalar\":\n return va.every((a, i) => scalarEquals(m.T, a, vb[i]));\n case \"enum\":\n return va.every((a, i) => scalarEquals(ScalarType.INT32, a, vb[i]));\n }\n throw new Error(`repeated cannot contain ${m.kind}`);\n }\n switch (m.kind) {\n case \"message\":\n return m.T.equals(va, vb);\n case \"enum\":\n return scalarEquals(ScalarType.INT32, va, vb);\n case \"scalar\":\n return scalarEquals(m.T, va, vb);\n case \"oneof\":\n if (va.case !== vb.case) {\n return false;\n }\n const s = m.findField(va.case);\n if (s === undefined) {\n return true;\n }\n // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check -- oneof fields are never \"map\"\n switch (s.kind) {\n case \"message\":\n return s.T.equals(va.value, vb.value);\n case \"enum\":\n return scalarEquals(ScalarType.INT32, va.value, vb.value);\n case \"scalar\":\n return scalarEquals(s.T, va.value, vb.value);\n }\n throw new Error(`oneof cannot contain ${s.kind}`);\n case \"map\":\n const keys = Object.keys(va).concat(Object.keys(vb));\n switch (m.V.kind) {\n case \"message\":\n const messageType = m.V.T;\n return keys.every((k) => messageType.equals(va[k], vb[k]));\n case \"enum\":\n return keys.every((k) => scalarEquals(ScalarType.INT32, va[k], vb[k]));\n case \"scalar\":\n const scalarType = m.V.T;\n return keys.every((k) => scalarEquals(scalarType, va[k], vb[k]));\n }\n break;\n }\n });\n },\n clone(message) {\n const type = message.getType(), target = new type(), any = target;\n for (const member of type.fields.byMember()) {\n const source = message[member.localName];\n let copy;\n if (member.repeated) {\n copy = source.map(cloneSingularField);\n }\n else if (member.kind == \"map\") {\n copy = any[member.localName];\n for (const [key, v] of Object.entries(source)) {\n copy[key] = cloneSingularField(v);\n }\n }\n else if (member.kind == \"oneof\") {\n const f = member.findField(source.case);\n copy = f\n ? { case: source.case, value: cloneSingularField(source.value) }\n : { case: undefined };\n }\n else {\n copy = cloneSingularField(source);\n }\n any[member.localName] = copy;\n }\n return target;\n },\n };\n}\n// clone a single field value - i.e. the element type of repeated fields, the value type of maps\nfunction cloneSingularField(value) {\n if (value === undefined) {\n return value;\n }\n if (value instanceof Message) {\n return value.clone();\n }\n if (value instanceof Uint8Array) {\n const c = new Uint8Array(value.byteLength);\n c.set(value);\n return c;\n }\n return value;\n}\n// converts any ArrayLike to Uint8Array if necessary.\nfunction toU8Arr(input) {\n return input instanceof Uint8Array ? input : new Uint8Array(input);\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nexport class InternalFieldList {\n constructor(fields, normalizer) {\n this._fields = fields;\n this._normalizer = normalizer;\n }\n findJsonName(jsonName) {\n if (!this.jsonNames) {\n const t = {};\n for (const f of this.list()) {\n t[f.jsonName] = t[f.name] = f;\n }\n this.jsonNames = t;\n }\n return this.jsonNames[jsonName];\n }\n find(fieldNo) {\n if (!this.numbers) {\n const t = {};\n for (const f of this.list()) {\n t[f.no] = f;\n }\n this.numbers = t;\n }\n return this.numbers[fieldNo];\n }\n list() {\n if (!this.all) {\n this.all = this._normalizer(this._fields);\n }\n return this.all;\n }\n byNumber() {\n if (!this.numbersAsc) {\n this.numbersAsc = this.list()\n .concat()\n .sort((a, b) => a.no - b.no);\n }\n return this.numbersAsc;\n }\n byMember() {\n if (!this.members) {\n this.members = [];\n const a = this.members;\n let o;\n for (const f of this.list()) {\n if (f.oneof) {\n if (f.oneof !== o) {\n o = f.oneof;\n a.push(o);\n }\n }\n else {\n a.push(f);\n }\n }\n }\n return this.members;\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * Returns the name of a protobuf element in generated code.\n *\n * Field names - including oneofs - are converted to lowerCamelCase. For\n * messages, enumerations and services, the package name is stripped from\n * the type name. For nested messages and enumerations, the names are joined\n * with an underscore. For methods, the first character is made lowercase.\n */\nexport function localName(desc) {\n switch (desc.kind) {\n case \"field\":\n return localFieldName(desc.name, desc.oneof !== undefined);\n case \"oneof\":\n return localOneofName(desc.name);\n case \"enum\":\n case \"message\":\n case \"service\": {\n const pkg = desc.file.proto.package;\n const offset = pkg === undefined ? 0 : pkg.length + 1;\n const name = desc.typeName.substring(offset).replace(/\\./g, \"_\");\n // For services, we only care about safe identifiers, not safe object properties,\n // but we have shipped v1 with a bug that respected object properties, and we\n // do not want to introduce a breaking change, so we continue to escape for\n // safe object properties.\n // See https://github.com/bufbuild/protobuf-es/pull/391\n return safeObjectProperty(safeIdentifier(name));\n }\n case \"enum_value\": {\n const sharedPrefix = desc.parent.sharedPrefix;\n if (sharedPrefix === undefined) {\n return desc.name;\n }\n const name = desc.name.substring(sharedPrefix.length);\n return safeObjectProperty(name);\n }\n case \"rpc\": {\n let name = desc.name;\n if (name.length == 0) {\n return name;\n }\n name = name[0].toLowerCase() + name.substring(1);\n return safeObjectProperty(name);\n }\n }\n}\n/**\n * Returns the name of a field in generated code.\n */\nexport function localFieldName(protoName, inOneof) {\n const name = protoCamelCase(protoName);\n if (inOneof) {\n // oneof member names are not properties, but values of the `case` property.\n return name;\n }\n return safeObjectProperty(safeMessageProperty(name));\n}\n/**\n * Returns the name of a oneof group in generated code.\n */\nexport function localOneofName(protoName) {\n return localFieldName(protoName, false);\n}\n/**\n * Returns the JSON name for a protobuf field, exactly like protoc does.\n */\nexport const fieldJsonName = protoCamelCase;\n/**\n * Finds a prefix shared by enum values, for example `MY_ENUM_` for\n * `enum MyEnum {MY_ENUM_A=0; MY_ENUM_B=1;}`.\n */\nexport function findEnumSharedPrefix(enumName, valueNames) {\n const prefix = camelToSnakeCase(enumName) + \"_\";\n for (const name of valueNames) {\n if (!name.toLowerCase().startsWith(prefix)) {\n return undefined;\n }\n const shortName = name.substring(prefix.length);\n if (shortName.length == 0) {\n return undefined;\n }\n if (/^\\d/.test(shortName)) {\n // identifiers must not start with numbers\n return undefined;\n }\n }\n return prefix;\n}\n/**\n * Converts lowerCamelCase or UpperCamelCase into lower_snake_case.\n * This is used to find shared prefixes in an enum.\n */\nfunction camelToSnakeCase(camel) {\n return (camel.substring(0, 1) + camel.substring(1).replace(/[A-Z]/g, (c) => \"_\" + c)).toLowerCase();\n}\n/**\n * Converts snake_case to protoCamelCase according to the convention\n * used by protoc to convert a field name to a JSON name.\n */\nfunction protoCamelCase(snakeCase) {\n let capNext = false;\n const b = [];\n for (let i = 0; i < snakeCase.length; i++) {\n let c = snakeCase.charAt(i);\n switch (c) {\n case \"_\":\n capNext = true;\n break;\n case \"0\":\n case \"1\":\n case \"2\":\n case \"3\":\n case \"4\":\n case \"5\":\n case \"6\":\n case \"7\":\n case \"8\":\n case \"9\":\n b.push(c);\n capNext = false;\n break;\n default:\n if (capNext) {\n capNext = false;\n c = c.toUpperCase();\n }\n b.push(c);\n break;\n }\n }\n return b.join(\"\");\n}\n/**\n * Names that cannot be used for identifiers, such as class names,\n * but _can_ be used for object properties.\n */\nconst reservedIdentifiers = new Set([\n // ECMAScript 2015 keywords\n \"break\",\n \"case\",\n \"catch\",\n \"class\",\n \"const\",\n \"continue\",\n \"debugger\",\n \"default\",\n \"delete\",\n \"do\",\n \"else\",\n \"export\",\n \"extends\",\n \"false\",\n \"finally\",\n \"for\",\n \"function\",\n \"if\",\n \"import\",\n \"in\",\n \"instanceof\",\n \"new\",\n \"null\",\n \"return\",\n \"super\",\n \"switch\",\n \"this\",\n \"throw\",\n \"true\",\n \"try\",\n \"typeof\",\n \"var\",\n \"void\",\n \"while\",\n \"with\",\n \"yield\",\n // ECMAScript 2015 future reserved keywords\n \"enum\",\n \"implements\",\n \"interface\",\n \"let\",\n \"package\",\n \"private\",\n \"protected\",\n \"public\",\n \"static\",\n // Class name cannot be 'Object' when targeting ES5 with module CommonJS\n \"Object\",\n // TypeScript keywords that cannot be used for types (as opposed to variables)\n \"bigint\",\n \"number\",\n \"boolean\",\n \"string\",\n \"object\",\n // Identifiers reserved for the runtime, so we can generate legible code\n \"globalThis\",\n \"Uint8Array\",\n \"Partial\",\n]);\n/**\n * Names that cannot be used for object properties because they are reserved\n * by built-in JavaScript properties.\n */\nconst reservedObjectProperties = new Set([\n // names reserved by JavaScript\n \"constructor\",\n \"toString\",\n \"toJSON\",\n \"valueOf\",\n]);\n/**\n * Names that cannot be used for object properties because they are reserved\n * by the runtime.\n */\nconst reservedMessageProperties = new Set([\n // names reserved by the runtime\n \"getType\",\n \"clone\",\n \"equals\",\n \"fromBinary\",\n \"fromJson\",\n \"fromJsonString\",\n \"toBinary\",\n \"toJson\",\n \"toJsonString\",\n // names reserved by the runtime for the future\n \"toObject\",\n]);\nconst fallback = (name) => `${name}$`;\n/**\n * Will wrap names that are Object prototype properties or names reserved\n * for `Message`s.\n */\nconst safeMessageProperty = (name) => {\n if (reservedMessageProperties.has(name)) {\n return fallback(name);\n }\n return name;\n};\n/**\n * Names that cannot be used for object properties because they are reserved\n * by built-in JavaScript properties.\n */\nexport const safeObjectProperty = (name) => {\n if (reservedObjectProperties.has(name)) {\n return fallback(name);\n }\n return name;\n};\n/**\n * Names that can be used for identifiers or class properties\n */\nexport const safeIdentifier = (name) => {\n if (reservedIdentifiers.has(name)) {\n return fallback(name);\n }\n return name;\n};\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { localOneofName } from \"./names.js\";\nimport { assert } from \"./assert.js\";\nexport class InternalOneofInfo {\n constructor(name) {\n this.kind = \"oneof\";\n this.repeated = false;\n this.packed = false;\n this.opt = false;\n this.default = undefined;\n this.fields = [];\n this.name = name;\n this.localName = localOneofName(name);\n }\n addField(field) {\n assert(field.oneof === this, `field ${field.name} not one of ${this.name}`);\n this.fields.push(field);\n }\n findField(localName) {\n if (!this._lookup) {\n this._lookup = Object.create(null);\n for (let i = 0; i < this.fields.length; i++) {\n this._lookup[this.fields[i].localName] = this.fields[i];\n }\n }\n return this._lookup[localName];\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { makeProtoRuntime } from \"./private/proto-runtime.js\";\nimport { makeBinaryFormatProto3 } from \"./private/binary-format-proto3.js\";\nimport { makeJsonFormatProto3 } from \"./private/json-format-proto3.js\";\nimport { makeUtilCommon } from \"./private/util-common.js\";\nimport { InternalFieldList } from \"./private/field-list.js\";\nimport { scalarDefaultValue } from \"./private/scalars.js\";\nimport { ScalarType } from \"./field.js\";\nimport { InternalOneofInfo } from \"./private/field.js\";\nimport { localFieldName, fieldJsonName } from \"./private/names.js\";\n/**\n * Provides functionality for messages defined with the proto3 syntax.\n */\nexport const proto3 = makeProtoRuntime(\"proto3\", makeJsonFormatProto3(), makeBinaryFormatProto3(), Object.assign(Object.assign({}, makeUtilCommon()), { newFieldList(fields) {\n return new InternalFieldList(fields, normalizeFieldInfosProto3);\n },\n initFields(target) {\n for (const member of target.getType().fields.byMember()) {\n if (member.opt) {\n continue;\n }\n const name = member.localName, t = target;\n if (member.repeated) {\n t[name] = [];\n continue;\n }\n switch (member.kind) {\n case \"oneof\":\n t[name] = { case: undefined };\n break;\n case \"enum\":\n t[name] = 0;\n break;\n case \"map\":\n t[name] = {};\n break;\n case \"scalar\":\n t[name] = scalarDefaultValue(member.T); // eslint-disable-line @typescript-eslint/no-unsafe-assignment\n break;\n case \"message\":\n // message fields are always optional in proto3\n break;\n }\n }\n } }));\n/* eslint-disable @typescript-eslint/no-explicit-any,@typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-argument */\nfunction normalizeFieldInfosProto3(fieldInfos) {\n var _a, _b, _c;\n const r = [];\n let o;\n for (const field of typeof fieldInfos == \"function\"\n ? fieldInfos()\n : fieldInfos) {\n const f = field;\n f.localName = localFieldName(field.name, field.oneof !== undefined);\n f.jsonName = (_a = field.jsonName) !== null && _a !== void 0 ? _a : fieldJsonName(field.name);\n f.repeated = (_b = field.repeated) !== null && _b !== void 0 ? _b : false;\n // From the proto3 language guide:\n // > In proto3, repeated fields of scalar numeric types are packed by default.\n // This information is incomplete - according to the conformance tests, BOOL\n // and ENUM are packed by default as well. This means only STRING and BYTES\n // are not packed by default, which makes sense because they are length-delimited.\n f.packed =\n (_c = field.packed) !== null && _c !== void 0 ? _c : (field.kind == \"enum\" ||\n (field.kind == \"scalar\" &&\n field.T != ScalarType.BYTES &&\n field.T != ScalarType.STRING));\n // We do not surface options at this time\n // f.options = field.options ?? emptyReadonlyObject;\n if (field.oneof !== undefined) {\n const ooname = typeof field.oneof == \"string\" ? field.oneof : field.oneof.name;\n if (!o || o.name != ooname) {\n o = new InternalOneofInfo(ooname);\n }\n f.oneof = o;\n o.addField(f);\n }\n r.push(f);\n }\n return r;\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * MethodKind represents the four method types that can be declared in\n * protobuf with the `stream` keyword:\n *\n * 1. Unary: rpc (Input) returns (Output)\n * 2. ServerStreaming: rpc (Input) returns (stream Output)\n * 3. ClientStreaming: rpc (stream Input) returns (Output)\n * 4. BiDiStreaming: rpc (stream Input) returns (stream Output)\n */\nexport var MethodKind;\n(function (MethodKind) {\n MethodKind[MethodKind[\"Unary\"] = 0] = \"Unary\";\n MethodKind[MethodKind[\"ServerStreaming\"] = 1] = \"ServerStreaming\";\n MethodKind[MethodKind[\"ClientStreaming\"] = 2] = \"ClientStreaming\";\n MethodKind[MethodKind[\"BiDiStreaming\"] = 3] = \"BiDiStreaming\";\n})(MethodKind || (MethodKind = {}));\n/**\n * Is this method side-effect-free (or safe in HTTP parlance), or just\n * idempotent, or neither? HTTP based RPC implementation may choose GET verb\n * for safe methods, and PUT verb for idempotent methods instead of the\n * default POST.\n *\n * This enum matches the protobuf enum google.protobuf.MethodOptions.IdempotencyLevel,\n * defined in the well-known type google/protobuf/descriptor.proto, but\n * drops UNKNOWN.\n */\nexport var MethodIdempotency;\n(function (MethodIdempotency) {\n /**\n * Idempotent, no side effects.\n */\n MethodIdempotency[MethodIdempotency[\"NoSideEffects\"] = 1] = \"NoSideEffects\";\n /**\n * Idempotent, but may have side effects.\n */\n MethodIdempotency[MethodIdempotency[\"Idempotent\"] = 2] = \"Idempotent\";\n})(MethodIdempotency || (MethodIdempotency = {}));\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Message } from \"../../message.js\";\nimport { proto3 } from \"../../proto3.js\";\n/**\n * A generic empty message that you can re-use to avoid defining duplicated\n * empty messages in your APIs. A typical example is to use it as the request\n * or the response type of an API method. For instance:\n *\n * service Foo {\n * rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n * }\n *\n *\n * @generated from message google.protobuf.Empty\n */\nexport class Empty extends Message {\n constructor(data) {\n super();\n proto3.util.initPartial(data, this);\n }\n static fromBinary(bytes, options) {\n return new Empty().fromBinary(bytes, options);\n }\n static fromJson(jsonValue, options) {\n return new Empty().fromJson(jsonValue, options);\n }\n static fromJsonString(jsonString, options) {\n return new Empty().fromJsonString(jsonString, options);\n }\n static equals(a, b) {\n return proto3.util.equals(Empty, a, b);\n }\n}\nEmpty.runtime = proto3;\nEmpty.typeName = \"google.protobuf.Empty\";\nEmpty.fields = proto3.util.newFieldList(() => []);\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * Connect represents categories of errors as codes, and each code maps to a\n * specific HTTP status code. The codes and their semantics were chosen to\n * match gRPC. Only the codes below are valid \u2014 there are no user-defined\n * codes.\n *\n * See the specification at https://connectrpc.com/docs/protocol#error-codes\n * for details.\n */\nexport var Code;\n(function (Code) {\n /**\n * Canceled, usually be the user\n */\n Code[Code[\"Canceled\"] = 1] = \"Canceled\";\n /**\n * Unknown error\n */\n Code[Code[\"Unknown\"] = 2] = \"Unknown\";\n /**\n * Argument invalid regardless of system state\n */\n Code[Code[\"InvalidArgument\"] = 3] = \"InvalidArgument\";\n /**\n * Operation expired, may or may not have completed.\n */\n Code[Code[\"DeadlineExceeded\"] = 4] = \"DeadlineExceeded\";\n /**\n * Entity not found.\n */\n Code[Code[\"NotFound\"] = 5] = \"NotFound\";\n /**\n * Entity already exists.\n */\n Code[Code[\"AlreadyExists\"] = 6] = \"AlreadyExists\";\n /**\n * Operation not authorized.\n */\n Code[Code[\"PermissionDenied\"] = 7] = \"PermissionDenied\";\n /**\n * Quota exhausted.\n */\n Code[Code[\"ResourceExhausted\"] = 8] = \"ResourceExhausted\";\n /**\n * Argument invalid in current system state.\n */\n Code[Code[\"FailedPrecondition\"] = 9] = \"FailedPrecondition\";\n /**\n * Operation aborted.\n */\n Code[Code[\"Aborted\"] = 10] = \"Aborted\";\n /**\n * Out of bounds, use instead of FailedPrecondition.\n */\n Code[Code[\"OutOfRange\"] = 11] = \"OutOfRange\";\n /**\n * Operation not implemented or disabled.\n */\n Code[Code[\"Unimplemented\"] = 12] = \"Unimplemented\";\n /**\n * Internal error, reserved for \"serious errors\".\n */\n Code[Code[\"Internal\"] = 13] = \"Internal\";\n /**\n * Unavailable, client should back off and retry.\n */\n Code[Code[\"Unavailable\"] = 14] = \"Unavailable\";\n /**\n * Unrecoverable data loss or corruption.\n */\n Code[Code[\"DataLoss\"] = 15] = \"DataLoss\";\n /**\n * Request isn't authenticated.\n */\n Code[Code[\"Unauthenticated\"] = 16] = \"Unauthenticated\";\n})(Code || (Code = {}));\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Code } from \"../code.js\";\n/**\n * codeToString returns the string representation of a Code.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function codeToString(value) {\n const name = Code[value];\n if (typeof name != \"string\") {\n return value.toString();\n }\n return (name[0].toLowerCase() +\n name.substring(1).replace(/[A-Z]/g, (c) => \"_\" + c.toLowerCase()));\n}\nlet stringToCode;\n/**\n * codeFromString parses the string representation of a Code in snake_case.\n * For example, the string \"permission_denied\" parses into Code.PermissionDenied.\n *\n * If the given string cannot be parsed, the function returns undefined.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function codeFromString(value) {\n if (!stringToCode) {\n stringToCode = {};\n for (const value of Object.values(Code)) {\n if (typeof value == \"string\") {\n continue;\n }\n stringToCode[codeToString(value)] = value;\n }\n }\n return stringToCode[value];\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Code } from \"./code.js\";\nimport { createRegistry, Message } from \"@bufbuild/protobuf\";\nimport { codeToString } from \"./protocol-connect/code-string.js\";\n/**\n * ConnectError captures four pieces of information: a Code, an error\n * message, an optional cause of the error, and an optional collection of\n * arbitrary Protobuf messages called \"details\".\n *\n * Because developer tools typically show just the error message, we prefix\n * it with the status code, so that the most important information is always\n * visible immediately.\n *\n * Error details are wrapped with google.protobuf.Any on the wire, so that\n * a server or middleware can attach arbitrary data to an error. Use the\n * method findDetails() to retrieve the details.\n */\nexport class ConnectError extends Error {\n /**\n * Create a new ConnectError.\n * If no code is provided, code \"unknown\" is used.\n * Outgoing details are only relevant for the server side - a service may\n * raise an error with details, and it is up to the protocol implementation\n * to encode and send the details along with error.\n */\n constructor(message, code = Code.Unknown, metadata, outgoingDetails, cause) {\n super(createMessage(message, code));\n this.name = \"ConnectError\";\n // see https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-2.html#example\n Object.setPrototypeOf(this, new.target.prototype);\n this.rawMessage = message;\n this.code = code;\n this.metadata = new Headers(metadata !== null && metadata !== void 0 ? metadata : {});\n this.details = outgoingDetails !== null && outgoingDetails !== void 0 ? outgoingDetails : [];\n this.cause = cause;\n }\n /**\n * Convert any value - typically a caught error into a ConnectError,\n * following these rules:\n * - If the value is already a ConnectError, return it as is.\n * - If the value is an AbortError from the fetch API, return the message\n * of the AbortError with code Canceled.\n * - For other Errors, return the error message with code Unknown by default.\n * - For other values, return the values String representation as a message,\n * with the code Unknown by default.\n * The original value will be used for the \"cause\" property for the new\n * ConnectError.\n */\n static from(reason, code = Code.Unknown) {\n if (reason instanceof ConnectError) {\n return reason;\n }\n if (reason instanceof Error) {\n if (reason.name == \"AbortError\") {\n // Fetch requests can only be canceled with an AbortController.\n // We detect that condition by looking at the name of the raised\n // error object, and translate to the appropriate status code.\n return new ConnectError(reason.message, Code.Canceled);\n }\n return new ConnectError(reason.message, code, undefined, undefined, reason);\n }\n return new ConnectError(String(reason), code, undefined, undefined, reason);\n }\n findDetails(typeOrRegistry) {\n const registry = \"typeName\" in typeOrRegistry\n ? {\n findMessage: (typeName) => typeName === typeOrRegistry.typeName ? typeOrRegistry : undefined,\n }\n : typeOrRegistry;\n const details = [];\n for (const data of this.details) {\n if (data instanceof Message) {\n if (registry.findMessage(data.getType().typeName)) {\n details.push(data);\n }\n continue;\n }\n const type = registry.findMessage(data.type);\n if (type) {\n try {\n details.push(type.fromBinary(data.value));\n }\n catch (_) {\n // We silently give up if we are unable to parse the detail, because\n // that appears to be the least worst behavior.\n // It is very unlikely that a user surrounds a catch body handling the\n // error with another try-catch statement, and we do not want to\n // recommend doing so.\n }\n }\n }\n return details;\n }\n}\n/**\n * @deprecated use ConnectError.findDetails() instead\n */\nexport function connectErrorDetails(error, typeOrRegistry, ...moreTypes) {\n const types = \"typeName\" in typeOrRegistry ? [typeOrRegistry, ...moreTypes] : [];\n const registry = \"typeName\" in typeOrRegistry ? createRegistry(...types) : typeOrRegistry;\n const details = [];\n for (const data of error.details) {\n if (data instanceof Message) {\n if (registry.findMessage(data.getType().typeName)) {\n details.push(data);\n }\n continue;\n }\n const type = registry.findMessage(data.type);\n if (type) {\n try {\n details.push(type.fromBinary(data.value));\n }\n catch (_) {\n // We silently give up if we are unable to parse the detail, because\n // that appears to be the least worst behavior.\n // It is very unlikely that a user surrounds a catch body handling the\n // error with another try-catch statement, and we do not want to\n // recommend doing so.\n }\n }\n }\n return details;\n}\n/**\n * Create an error message, prefixing the given code.\n */\nfunction createMessage(message, code) {\n return message.length\n ? `[${codeToString(code)}] ${message}`\n : `[${codeToString(code)}]`;\n}\n/**\n * Convert any value - typically a caught error into a ConnectError,\n * following these rules:\n * - If the value is already a ConnectError, return it as is.\n * - If the value is an AbortError from the fetch API, return the message\n * of the AbortError with code Canceled.\n * - For other Errors, return the error message with code Unknown by default.\n * - For other values, return the values String representation as a message,\n * with the code Unknown by default.\n *\n * @deprecated use ConnectError.from() instead\n */\nexport function connectErrorFromReason(reason, code = Code.Unknown) {\n if (reason instanceof ConnectError) {\n return reason;\n }\n if (reason instanceof Error) {\n if (reason.name == \"AbortError\") {\n // Fetch requests can only be canceled with an AbortController.\n // We detect that condition by looking at the name of the raised\n // error object, and translate to the appropriate status code.\n return new ConnectError(reason.message, Code.Canceled);\n }\n return new ConnectError(reason.message, code);\n }\n return new ConnectError(String(reason), code);\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Message, protoBase64 } from \"@bufbuild/protobuf\";\nimport { ConnectError } from \"./connect-error.js\";\nimport { Code } from \"./code.js\";\n/**\n * Encode a single binary header value according to the Connect\n * and gRPC specifications.\n *\n * This function accepts raw binary data from a buffer, a string\n * with UTF-8 text, or a protobuf message. It encodes the input\n * with unpadded base64 and returns a string that can be used for\n * a header whose name ends with `-bin`.\n */\nexport function encodeBinaryHeader(value) {\n let bytes;\n if (value instanceof Message) {\n bytes = value.toBinary();\n }\n else if (typeof value == \"string\") {\n bytes = new TextEncoder().encode(value);\n }\n else {\n bytes = value instanceof Uint8Array ? value : new Uint8Array(value);\n }\n return protoBase64.enc(bytes).replace(/=+$/, \"\");\n}\nexport function decodeBinaryHeader(value, type, options) {\n try {\n const bytes = protoBase64.dec(value);\n if (type) {\n return type.fromBinary(bytes, options);\n }\n return bytes;\n }\n catch (e) {\n throw ConnectError.from(e, Code.DataLoss);\n }\n}\n/**\n * Merge two or more Headers objects by appending all fields from\n * all inputs to a new Headers object.\n */\nexport function appendHeaders(...headers) {\n const h = new Headers();\n for (const e of headers) {\n e.forEach((value, key) => {\n h.append(key, value);\n });\n }\n return h;\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * Create any client for the given service.\n *\n * The given createMethod function is called for each method definition\n * of the service. The function it returns is added to the client object\n * as a method.\n */\nexport function makeAnyClient(service, createMethod) {\n const client = {};\n for (const [localName, methodInfo] of Object.entries(service.methods)) {\n const method = createMethod(Object.assign(Object.assign({}, methodInfo), { localName,\n service }));\n if (method != null) {\n client[localName] = method;\n }\n }\n return client;\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { ConnectError } from \"../connect-error.js\";\nimport { Code } from \"../code.js\";\nimport { compressedFlag } from \"./compression.js\";\n/**\n * Create a WHATWG ReadableStream of enveloped messages from a ReadableStream\n * of bytes.\n *\n * Ideally, this would simply be a TransformStream, but ReadableStream.pipeThrough\n * does not have the necessary availability at this time.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function createEnvelopeReadableStream(stream) {\n let reader;\n let buffer = new Uint8Array(0);\n function append(chunk) {\n const n = new Uint8Array(buffer.length + chunk.length);\n n.set(buffer);\n n.set(chunk, buffer.length);\n buffer = n;\n }\n return new ReadableStream({\n start() {\n reader = stream.getReader();\n },\n async pull(controller) {\n let header = undefined;\n for (;;) {\n if (header === undefined && buffer.byteLength >= 5) {\n let length = 0;\n for (let i = 1; i < 5; i++) {\n length = (length << 8) + buffer[i];\n }\n header = { flags: buffer[0], length };\n }\n if (header !== undefined && buffer.byteLength >= header.length + 5) {\n break;\n }\n const result = await reader.read();\n if (result.done) {\n break;\n }\n append(result.value);\n }\n if (header === undefined) {\n if (buffer.byteLength == 0) {\n controller.close();\n return;\n }\n controller.error(new ConnectError(\"premature end of stream\", Code.DataLoss));\n return;\n }\n const data = buffer.subarray(5, 5 + header.length);\n buffer = buffer.subarray(5 + header.length);\n controller.enqueue({\n flags: header.flags,\n data,\n });\n },\n });\n}\n/**\n * Compress an EnvelopedMessage.\n *\n * Raises Internal if an enveloped message is already compressed.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport async function envelopeCompress(envelope, compression, compressMinBytes) {\n let { flags, data } = envelope;\n if ((flags & compressedFlag) === compressedFlag) {\n throw new ConnectError(\"invalid envelope, already compressed\", Code.Internal);\n }\n if (compression && data.byteLength >= compressMinBytes) {\n data = await compression.compress(data);\n flags = flags | compressedFlag;\n }\n return { data, flags };\n}\n/**\n * Decompress an EnvelopedMessage.\n *\n * Raises InvalidArgument if an envelope is compressed, but compression is null.\n *\n * Relies on the provided Compression to raise ResourceExhausted if the\n * *decompressed* message size is larger than readMaxBytes. If the envelope is\n * not compressed, readMaxBytes is not honored.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport async function envelopeDecompress(envelope, compression, readMaxBytes) {\n let { flags, data } = envelope;\n if ((flags & compressedFlag) === compressedFlag) {\n if (!compression) {\n throw new ConnectError(\"received compressed envelope, but do not know how to decompress\", Code.InvalidArgument);\n }\n data = await compression.decompress(data, readMaxBytes);\n flags = flags ^ compressedFlag;\n }\n return { data, flags };\n}\n/**\n * Encode a single enveloped message.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function encodeEnvelope(flags, data) {\n const bytes = new Uint8Array(data.length + 5);\n bytes.set(data, 5);\n const v = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\n v.setUint8(0, flags); // first byte is flags\n v.setUint32(1, data.length); // 4 bytes message length\n return bytes;\n}\n/**\n * Encode a set of enveloped messages.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function encodeEnvelopes(...envelopes) {\n const len = envelopes.reduce((previousValue, currentValue) => previousValue + currentValue.data.length + 5, 0);\n const bytes = new Uint8Array(len);\n const v = new DataView(bytes.buffer);\n let offset = 0;\n for (const e of envelopes) {\n v.setUint8(offset, e.flags); // first byte is flags\n v.setUint32(offset + 1, e.data.length); // 4 bytes message length\n bytes.set(e.data, offset + 5);\n offset += e.data.length + 5;\n }\n return bytes;\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nvar __asyncValues = (this && this.__asyncValues) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nvar __asyncDelegator = (this && this.__asyncDelegator) || function (o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n};\nimport { Code } from \"../code.js\";\nimport { ConnectError } from \"../connect-error.js\";\nimport { encodeEnvelope, envelopeCompress, envelopeDecompress, } from \"./envelope.js\";\nimport { assertReadMaxBytes } from \"./limit-io.js\";\nexport function pipeTo(source, ...rest) {\n const [transforms, sink, opt] = pickTransformsAndSink(rest);\n let iterable = source;\n let abortable;\n if ((opt === null || opt === void 0 ? void 0 : opt.propagateDownStreamError) === true) {\n iterable = abortable = makeIterableAbortable(iterable);\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n iterable = pipe(iterable, ...transforms, { propagateDownStreamError: false });\n return sink(iterable).catch((reason) => {\n if (abortable) {\n return abortable.abort(reason).then(() => Promise.reject(reason));\n }\n return Promise.reject(reason);\n });\n}\n// pick transforms, the sink, and options from the pipeTo() rest parameter\nfunction pickTransformsAndSink(rest) {\n let opt;\n if (typeof rest[rest.length - 1] != \"function\") {\n opt = rest.pop();\n }\n const sink = rest.pop();\n return [rest, sink, opt];\n}\n/**\n * Creates an AsyncIterableSink that concatenates all elements from the input.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function sinkAll() {\n return async function (iterable) {\n var _a, e_1, _b, _c;\n const all = [];\n try {\n for (var _d = true, iterable_1 = __asyncValues(iterable), iterable_1_1; iterable_1_1 = await iterable_1.next(), _a = iterable_1_1.done, !_a; _d = true) {\n _c = iterable_1_1.value;\n _d = false;\n const chunk = _c;\n all.push(chunk);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_1.return)) await _b.call(iterable_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return all;\n };\n}\n/**\n * Creates an AsyncIterableSink that concatenates all chunks from the input into\n * a single Uint8Array.\n *\n * The iterable raises an error if the more than readMaxBytes are read.\n *\n * An optional length hint can be provided to optimize allocation and validation.\n * If more or less bytes are present in the source that the length hint indicates,\n * and error is raised.\n * If the length hint is larger than readMaxBytes, an error is raised.\n * If the length hint is not a positive integer, it is ignored.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function sinkAllBytes(readMaxBytes, lengthHint) {\n return async function (iterable) {\n return await readAllBytes(iterable, readMaxBytes, lengthHint);\n };\n}\nexport function pipe(source, ...rest) {\n var _a, _b;\n return __asyncGenerator(this, arguments, function* pipe_1() {\n const [transforms, opt] = pickTransforms(rest);\n let abortable;\n let iterable = source;\n if ((opt === null || opt === void 0 ? void 0 : opt.propagateDownStreamError) === true) {\n iterable = abortable = makeIterableAbortable(iterable);\n }\n for (const t of transforms) {\n iterable = t(iterable);\n }\n const it = iterable[Symbol.asyncIterator]();\n try {\n for (;;) {\n const r = yield __await(it.next());\n if (r.done === true) {\n break;\n }\n if (!abortable) {\n yield yield __await(r.value);\n continue;\n }\n try {\n yield yield __await(r.value);\n }\n catch (e) {\n yield __await(abortable.abort(e)); // propagate downstream error to the source\n throw e;\n }\n }\n }\n finally {\n if ((opt === null || opt === void 0 ? void 0 : opt.propagateDownStreamError) === true) {\n // Call return on the source iterable to indicate\n // that we will no longer consume it and it should\n // cleanup any allocated resources.\n (_b = (_a = source[Symbol.asyncIterator]()).return) === null || _b === void 0 ? void 0 : _b.call(_a).catch(() => {\n // return returns a promise, which we don't care about.\n //\n // Uncaught promises are thrown at sometime/somewhere by the event loop,\n // this is to ensure error is caught and ignored.\n });\n }\n }\n });\n}\nfunction pickTransforms(rest) {\n let opt;\n if (typeof rest[rest.length - 1] != \"function\") {\n opt = rest.pop();\n }\n return [rest, opt];\n}\n/**\n * Creates an AsyncIterableTransform that catches any error from the input, and\n * passes it to the given catchError function.\n *\n * The catchError function may return a final value.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformCatch(catchError) {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n // we deliberate avoid a for-await loop because we only want to catch upstream\n // errors, not downstream errors (yield).\n const it = iterable[Symbol.asyncIterator]();\n for (;;) {\n let r;\n try {\n r = yield __await(it.next());\n }\n catch (e) {\n const caught = yield __await(catchError(e));\n if (caught !== undefined) {\n yield yield __await(caught);\n }\n break;\n }\n if (r.done === true) {\n break;\n }\n yield yield __await(r.value);\n }\n });\n };\n}\n/**\n * Creates an AsyncIterableTransform that catches any error from the input, and\n * passes it to the given function. Unlike transformCatch(), the given function\n * is also called when no error is raised.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformCatchFinally(catchFinally) {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n // we deliberate avoid a for-await loop because we only want to catch upstream\n // errors, not downstream errors (yield).\n let err;\n const it = iterable[Symbol.asyncIterator]();\n for (;;) {\n let r;\n try {\n r = yield __await(it.next());\n }\n catch (e) {\n err = e;\n break;\n }\n if (r.done === true) {\n break;\n }\n yield yield __await(r.value);\n }\n const caught = yield __await(catchFinally(err));\n if (caught !== undefined) {\n yield yield __await(caught);\n }\n });\n };\n}\n/**\n * Creates an AsyncIterableTransform that appends a value.\n *\n * The element to append is provided by a function. If the function returns\n * undefined, no element is appended.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformAppend(provide) {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_2, _b, _c;\n try {\n for (var _d = true, iterable_2 = __asyncValues(iterable), iterable_2_1; iterable_2_1 = yield __await(iterable_2.next()), _a = iterable_2_1.done, !_a; _d = true) {\n _c = iterable_2_1.value;\n _d = false;\n const chunk = _c;\n yield yield __await(chunk);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_2.return)) yield __await(_b.call(iterable_2));\n }\n finally { if (e_2) throw e_2.error; }\n }\n const append = yield __await(provide());\n if (append !== undefined) {\n yield yield __await(append);\n }\n });\n };\n}\n/**\n * Creates an AsyncIterableTransform that prepends an element.\n *\n * The element to prepend is provided by a function. If the function returns\n * undefined, no element is appended.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformPrepend(provide) {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_3, _b, _c;\n const prepend = yield __await(provide());\n if (prepend !== undefined) {\n yield yield __await(prepend);\n }\n try {\n for (var _d = true, iterable_3 = __asyncValues(iterable), iterable_3_1; iterable_3_1 = yield __await(iterable_3.next()), _a = iterable_3_1.done, !_a; _d = true) {\n _c = iterable_3_1.value;\n _d = false;\n const chunk = _c;\n yield yield __await(chunk);\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_3.return)) yield __await(_b.call(iterable_3));\n }\n finally { if (e_3) throw e_3.error; }\n }\n });\n };\n}\n/**\n * Creates an AsyncIterableTransform that reads all bytes from the input, and\n * concatenates them to a single Uint8Array.\n *\n * The iterable raises an error if the more than readMaxBytes are read.\n *\n * An optional length hint can be provided to optimize allocation and validation.\n * If more or less bytes are present in the source that the length hint indicates,\n * and error is raised.\n * If the length hint is larger than readMaxBytes, an error is raised.\n * If the length hint is not a positive integer, it is ignored.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformReadAllBytes(readMaxBytes, lengthHint) {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n yield yield __await(yield __await(readAllBytes(iterable, readMaxBytes, lengthHint)));\n });\n };\n}\nexport function transformSerializeEnvelope(serialization, endStreamFlag, endSerialization) {\n if (endStreamFlag === undefined || endSerialization === undefined) {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_4, _b, _c;\n try {\n for (var _d = true, iterable_4 = __asyncValues(iterable), iterable_4_1; iterable_4_1 = yield __await(iterable_4.next()), _a = iterable_4_1.done, !_a; _d = true) {\n _c = iterable_4_1.value;\n _d = false;\n const chunk = _c;\n const data = serialization.serialize(chunk);\n yield yield __await({ flags: 0, data });\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_4.return)) yield __await(_b.call(iterable_4));\n }\n finally { if (e_4) throw e_4.error; }\n }\n });\n };\n }\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_5, _b, _c;\n try {\n for (var _d = true, iterable_5 = __asyncValues(iterable), iterable_5_1; iterable_5_1 = yield __await(iterable_5.next()), _a = iterable_5_1.done, !_a; _d = true) {\n _c = iterable_5_1.value;\n _d = false;\n const chunk = _c;\n let data;\n let flags = 0;\n if (chunk.end) {\n flags = flags | endStreamFlag;\n data = endSerialization.serialize(chunk.value);\n }\n else {\n data = serialization.serialize(chunk.value);\n }\n yield yield __await({ flags, data });\n }\n }\n catch (e_5_1) { e_5 = { error: e_5_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_5.return)) yield __await(_b.call(iterable_5));\n }\n finally { if (e_5) throw e_5.error; }\n }\n });\n };\n}\nexport function transformParseEnvelope(serialization, endStreamFlag, endSerialization) {\n // code path always yields ParsedEnvelopedMessage\n if (endSerialization && endStreamFlag !== undefined) {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_6, _b, _c;\n try {\n for (var _d = true, iterable_6 = __asyncValues(iterable), iterable_6_1; iterable_6_1 = yield __await(iterable_6.next()), _a = iterable_6_1.done, !_a; _d = true) {\n _c = iterable_6_1.value;\n _d = false;\n const { flags, data } = _c;\n if ((flags & endStreamFlag) === endStreamFlag) {\n yield yield __await({ value: endSerialization.parse(data), end: true });\n }\n else {\n yield yield __await({ value: serialization.parse(data), end: false });\n }\n }\n }\n catch (e_6_1) { e_6 = { error: e_6_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_6.return)) yield __await(_b.call(iterable_6));\n }\n finally { if (e_6) throw e_6.error; }\n }\n });\n };\n }\n // code path always yields T\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_7, _b, _c;\n try {\n for (var _d = true, iterable_7 = __asyncValues(iterable), iterable_7_1; iterable_7_1 = yield __await(iterable_7.next()), _a = iterable_7_1.done, !_a; _d = true) {\n _c = iterable_7_1.value;\n _d = false;\n const { flags, data } = _c;\n if (endStreamFlag !== undefined &&\n (flags & endStreamFlag) === endStreamFlag) {\n if (endSerialization === null) {\n throw new ConnectError(\"unexpected end flag\", Code.InvalidArgument);\n }\n // skips end-of-stream envelope\n continue;\n }\n yield yield __await(serialization.parse(data));\n }\n }\n catch (e_7_1) { e_7 = { error: e_7_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_7.return)) yield __await(_b.call(iterable_7));\n }\n finally { if (e_7) throw e_7.error; }\n }\n });\n };\n}\n/**\n * Creates an AsyncIterableTransform that takes enveloped messages as a source,\n * and compresses them if they are larger than compressMinBytes.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformCompressEnvelope(compression, compressMinBytes) {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_8, _b, _c;\n try {\n for (var _d = true, iterable_8 = __asyncValues(iterable), iterable_8_1; iterable_8_1 = yield __await(iterable_8.next()), _a = iterable_8_1.done, !_a; _d = true) {\n _c = iterable_8_1.value;\n _d = false;\n const env = _c;\n yield yield __await(yield __await(envelopeCompress(env, compression, compressMinBytes)));\n }\n }\n catch (e_8_1) { e_8 = { error: e_8_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_8.return)) yield __await(_b.call(iterable_8));\n }\n finally { if (e_8) throw e_8.error; }\n }\n });\n };\n}\n/**\n * Creates an AsyncIterableTransform that takes enveloped messages as a source,\n * and decompresses them using the given compression.\n *\n * The iterable raises an error if the decompressed payload of an enveloped\n * message is larger than readMaxBytes, or if no compression is provided.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformDecompressEnvelope(compression, readMaxBytes) {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_9, _b, _c;\n try {\n for (var _d = true, iterable_9 = __asyncValues(iterable), iterable_9_1; iterable_9_1 = yield __await(iterable_9.next()), _a = iterable_9_1.done, !_a; _d = true) {\n _c = iterable_9_1.value;\n _d = false;\n const env = _c;\n yield yield __await(yield __await(envelopeDecompress(env, compression, readMaxBytes)));\n }\n }\n catch (e_9_1) { e_9 = { error: e_9_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_9.return)) yield __await(_b.call(iterable_9));\n }\n finally { if (e_9) throw e_9.error; }\n }\n });\n };\n}\n/**\n * Create an AsyncIterableTransform that takes enveloped messages as a source,\n * and joins them into a stream of raw bytes.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformJoinEnvelopes() {\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_10, _b, _c;\n try {\n for (var _d = true, iterable_10 = __asyncValues(iterable), iterable_10_1; iterable_10_1 = yield __await(iterable_10.next()), _a = iterable_10_1.done, !_a; _d = true) {\n _c = iterable_10_1.value;\n _d = false;\n const { flags, data } = _c;\n yield yield __await(encodeEnvelope(flags, data));\n }\n }\n catch (e_10_1) { e_10 = { error: e_10_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_10.return)) yield __await(_b.call(iterable_10));\n }\n finally { if (e_10) throw e_10.error; }\n }\n });\n };\n}\n/**\n * Create an AsyncIterableTransform that takes raw bytes as a source, and splits\n * them into enveloped messages.\n *\n * The iterable raises an error\n * - if the payload of an enveloped message is larger than readMaxBytes,\n * - if the stream ended before an enveloped message fully arrived,\n * - or if the stream ended with extraneous data.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformSplitEnvelope(readMaxBytes) {\n // append chunk to buffer, returning updated buffer\n function append(buffer, chunk) {\n const n = new Uint8Array(buffer.byteLength + chunk.byteLength);\n n.set(buffer);\n n.set(chunk, buffer.length);\n return n;\n }\n // tuple 0: envelope, or undefined if incomplete\n // tuple 1: remainder of the buffer\n function shiftEnvelope(buffer, header) {\n if (buffer.byteLength < 5 + header.length) {\n return [undefined, buffer];\n }\n return [\n { flags: header.flags, data: buffer.subarray(5, 5 + header.length) },\n buffer.subarray(5 + header.length),\n ];\n }\n // undefined: header is incomplete\n function peekHeader(buffer) {\n if (buffer.byteLength < 5) {\n return undefined;\n }\n const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);\n const length = view.getUint32(1); // 4 bytes message length\n const flags = view.getUint8(0); // first byte is flags\n return { length, flags };\n }\n return function (iterable) {\n return __asyncGenerator(this, arguments, function* () {\n var _a, e_11, _b, _c;\n let buffer = new Uint8Array(0);\n try {\n for (var _d = true, iterable_11 = __asyncValues(iterable), iterable_11_1; iterable_11_1 = yield __await(iterable_11.next()), _a = iterable_11_1.done, !_a; _d = true) {\n _c = iterable_11_1.value;\n _d = false;\n const chunk = _c;\n buffer = append(buffer, chunk);\n for (;;) {\n const header = peekHeader(buffer);\n if (!header) {\n break;\n }\n assertReadMaxBytes(readMaxBytes, header.length, true);\n let env;\n [env, buffer] = shiftEnvelope(buffer, header);\n if (!env) {\n break;\n }\n yield yield __await(env);\n }\n }\n }\n catch (e_11_1) { e_11 = { error: e_11_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_11.return)) yield __await(_b.call(iterable_11));\n }\n finally { if (e_11) throw e_11.error; }\n }\n if (buffer.byteLength > 0) {\n const header = peekHeader(buffer);\n let message = \"protocol error: incomplete envelope\";\n if (header) {\n message = `protocol error: promised ${header.length} bytes in enveloped message, got ${buffer.byteLength - 5} bytes`;\n }\n throw new ConnectError(message, Code.InvalidArgument);\n }\n });\n };\n}\n/**\n * Reads all bytes from the source, and concatenates them to a single Uint8Array.\n *\n * Raises an error if:\n * - more than readMaxBytes are read\n * - lengthHint is a positive integer, but larger than readMaxBytes\n * - lengthHint is a positive integer, and the source contains more or less bytes\n * than promised\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport async function readAllBytes(iterable, readMaxBytes, lengthHint) {\n var _a, e_12, _b, _c, _d, e_13, _e, _f;\n const [ok, hint] = parseLengthHint(lengthHint);\n if (ok) {\n if (hint > readMaxBytes) {\n assertReadMaxBytes(readMaxBytes, hint, true);\n }\n const buffer = new Uint8Array(hint);\n let offset = 0;\n try {\n for (var _g = true, iterable_12 = __asyncValues(iterable), iterable_12_1; iterable_12_1 = await iterable_12.next(), _a = iterable_12_1.done, !_a; _g = true) {\n _c = iterable_12_1.value;\n _g = false;\n const chunk = _c;\n if (offset + chunk.byteLength > hint) {\n throw new ConnectError(`protocol error: promised ${hint} bytes, received ${offset + chunk.byteLength}`, Code.InvalidArgument);\n }\n buffer.set(chunk, offset);\n offset += chunk.byteLength;\n }\n }\n catch (e_12_1) { e_12 = { error: e_12_1 }; }\n finally {\n try {\n if (!_g && !_a && (_b = iterable_12.return)) await _b.call(iterable_12);\n }\n finally { if (e_12) throw e_12.error; }\n }\n if (offset < hint) {\n throw new ConnectError(`protocol error: promised ${hint} bytes, received ${offset}`, Code.InvalidArgument);\n }\n return buffer;\n }\n const chunks = [];\n let count = 0;\n try {\n for (var _h = true, iterable_13 = __asyncValues(iterable), iterable_13_1; iterable_13_1 = await iterable_13.next(), _d = iterable_13_1.done, !_d; _h = true) {\n _f = iterable_13_1.value;\n _h = false;\n const chunk = _f;\n count += chunk.byteLength;\n assertReadMaxBytes(readMaxBytes, count);\n chunks.push(chunk);\n }\n }\n catch (e_13_1) { e_13 = { error: e_13_1 }; }\n finally {\n try {\n if (!_h && !_d && (_e = iterable_13.return)) await _e.call(iterable_13);\n }\n finally { if (e_13) throw e_13.error; }\n }\n const all = new Uint8Array(count);\n let offset = 0;\n for (let chunk = chunks.shift(); chunk; chunk = chunks.shift()) {\n all.set(chunk, offset);\n offset += chunk.byteLength;\n }\n return all;\n}\n// parse the lengthHint argument of readAllBytes()\nfunction parseLengthHint(lengthHint) {\n if (lengthHint === undefined || lengthHint === null) {\n return [false, 0];\n }\n const n = typeof lengthHint == \"string\" ? parseInt(lengthHint, 10) : lengthHint;\n if (!Number.isSafeInteger(n) || n < 0) {\n return [false, n];\n }\n return [true, n];\n}\n/**\n * Wait for the first element of an iterable without modifying the iterable.\n * This consumes the first element, but pushes it back on the stack.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport async function untilFirst(iterable) {\n const it = iterable[Symbol.asyncIterator]();\n let first = await it.next();\n return {\n [Symbol.asyncIterator]() {\n const w = {\n async next() {\n if (first !== null) {\n const n = first;\n first = null;\n return n;\n }\n return await it.next();\n },\n };\n if (it.throw !== undefined) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- can't handle mutated object sensibly\n w.throw = (e) => it.throw(e);\n }\n if (it.return !== undefined) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion,@typescript-eslint/no-explicit-any -- can't handle mutated object sensibly\n w.return = (value) => it.return(value);\n }\n return w;\n },\n };\n}\n/**\n * Wrap the given iterable and return an iterable with an abort() method.\n *\n * This function exists purely for convenience. Where one would typically have\n * to access the iterator directly, advance through all elements, and call\n * AsyncIterator.throw() to notify the upstream iterable, this function allows\n * to use convenient for-await loops and still notify the upstream iterable:\n *\n * ```ts\n * const abortable = makeIterableAbortable(iterable);\n * for await (const ele of abortable) {\n * await abortable.abort(\"ERR\");\n * }\n * ```\n * There are a couple of limitations of this function:\n * - the given async iterable must implement throw\n * - the async iterable cannot be re-use\n * - if source catches errors and yields values for them, they are ignored, and\n * the source may still dangle\n *\n * There are four possible ways an async function* can handle yield errors:\n * 1. don't catch errors at all - Abortable.abort() will resolve \"rethrown\"\n * 2. catch errors and rethrow - Abortable.abort() will resolve \"rethrown\"\n * 3. catch errors and return - Abortable.abort() will resolve \"completed\"\n * 4. catch errors and yield a value - Abortable.abort() will resolve \"caught\"\n *\n * Note that catching errors and yielding a value is problematic, and it should\n * be documented that this may leave the source in a dangling state.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function makeIterableAbortable(iterable) {\n const innerCandidate = iterable[Symbol.asyncIterator]();\n if (innerCandidate.throw === undefined) {\n throw new Error(\"AsyncIterable does not implement throw\");\n }\n const inner = innerCandidate;\n let aborted;\n let resultPromise;\n let it = {\n next() {\n resultPromise = inner.next().finally(() => {\n resultPromise = undefined;\n });\n return resultPromise;\n },\n throw(e) {\n return inner.throw(e);\n },\n };\n if (innerCandidate.return !== undefined) {\n it = Object.assign(Object.assign({}, it), { return(value) {\n return inner.return(value);\n } });\n }\n let used = false;\n return {\n abort(reason) {\n if (aborted) {\n return aborted.state;\n }\n const f = () => {\n return inner.throw(reason).then((r) => (r.done === true ? \"completed\" : \"caught\"), () => \"rethrown\");\n };\n if (resultPromise) {\n aborted = { reason, state: resultPromise.then(f, f) };\n return aborted.state;\n }\n aborted = { reason, state: f() };\n return aborted.state;\n },\n [Symbol.asyncIterator]() {\n if (used) {\n throw new Error(\"AsyncIterable cannot be re-used\");\n }\n used = true;\n return it;\n },\n };\n}\n/**\n * Create a new WritableIterable.\n */\nexport function createWritableIterable() {\n // We start with two queues to capture the read and write attempts.\n //\n // The writes and reads each check of their counterpart is\n // already available and either interact/add themselves to the queue.\n const readQueue = [];\n const writeQueue = [];\n let err = undefined;\n let nextResolve;\n let nextReject;\n let nextPromise = new Promise((resolve, reject) => {\n nextResolve = resolve;\n nextReject = reject;\n });\n let closed = false;\n // drain the readQueue in case of error/writer is closed by sending a\n // done result.\n function drain() {\n for (const next of readQueue.splice(0, readQueue.length)) {\n next({ done: true, value: undefined });\n }\n }\n return {\n close() {\n closed = true;\n drain();\n },\n async write(payload) {\n if (closed) {\n throw err !== null && err !== void 0 ? err : new Error(\"cannot write, WritableIterable already closed\");\n }\n const read = readQueue.shift();\n if (read === undefined) {\n // We didn't find a pending read so we add the payload to the write queue.\n writeQueue.push(payload);\n }\n else {\n // We found a pending read so we respond with the payload.\n read({ done: false, value: payload });\n if (readQueue.length > 0) {\n // If there are more in the read queue we can mark the write as complete.\n // as the error reporting is not guaranteed to be sequential and therefore cannot\n // to linked to a specific write.\n return;\n }\n }\n // We await the next call for as many times as there are items in the queue + 1\n //\n // If there are no items in the write queue that means write happened and we just have\n // to wait for one more call likewise if we are the nth write in the queue we\n // have to wait for n writes to complete and one more.\n const limit = writeQueue.length + 1;\n for (let i = 0; i < limit; i++) {\n await nextPromise;\n }\n },\n [Symbol.asyncIterator]() {\n return {\n next() {\n // Resolve the nextPromise to indicate\n // pending writes that a read attempt has been made\n // after their write.\n //\n // We also need to reset the promise for future writes.\n nextResolve();\n nextPromise = new Promise((resolve, reject) => {\n nextResolve = resolve;\n nextReject = reject;\n });\n const write = writeQueue.shift();\n if (write !== undefined) {\n // We found a pending write so response with the payload.\n return Promise.resolve({ done: false, value: write });\n }\n if (closed) {\n return Promise.resolve({ done: true, value: undefined });\n }\n // We return a promise immediately that is either resolved/rejected\n // as writes happen.\n let readResolve;\n const readPromise = new Promise((resolve) => (readResolve = resolve));\n readQueue.push(readResolve); // eslint-disable-line @typescript-eslint/no-non-null-assertion\n return readPromise;\n },\n throw(throwErr) {\n err = throwErr;\n closed = true;\n writeQueue.splice(0, writeQueue.length);\n nextPromise.catch(() => {\n // To make sure that the nextPromise is always resolved.\n });\n // This will reject all pending writes.\n nextReject(err);\n drain();\n return Promise.resolve({ done: true, value: undefined });\n },\n return() {\n closed = true;\n writeQueue.splice(0, writeQueue.length);\n // Resolve once for the write awaiting confirmation.\n nextResolve();\n // Reject all future writes.\n nextPromise = Promise.reject(new Error(\"cannot write, consumer called return\"));\n nextPromise.catch(() => {\n // To make sure that the nextPromise is always resolved.\n });\n drain();\n return Promise.resolve({ done: true, value: undefined });\n },\n };\n },\n };\n}\n/**\n * Create an asynchronous iterable from an array.\n *\n * @private Internal code, does not follow semantic versioning.\n */\n// eslint-disable-next-line @typescript-eslint/require-await\nexport function createAsyncIterable(items) {\n return __asyncGenerator(this, arguments, function* createAsyncIterable_1() {\n yield __await(yield* __asyncDelegator(__asyncValues(items)));\n });\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nvar __asyncValues = (this && this.__asyncValues) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncDelegator = (this && this.__asyncDelegator) || function (o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n};\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nimport { Message, MethodKind } from \"@bufbuild/protobuf\";\nimport { makeAnyClient } from \"./any-client.js\";\nimport { ConnectError } from \"./connect-error.js\";\nimport { Code } from \"./code.js\";\nimport { createAsyncIterable } from \"./protocol/async-iterable.js\";\n/**\n * Create a PromiseClient for the given service, invoking RPCs through the\n * given transport.\n */\nexport function createPromiseClient(service, transport) {\n return makeAnyClient(service, (method) => {\n switch (method.kind) {\n case MethodKind.Unary:\n return createUnaryFn(transport, service, method);\n case MethodKind.ServerStreaming:\n return createServerStreamingFn(transport, service, method);\n case MethodKind.ClientStreaming:\n return createClientStreamingFn(transport, service, method);\n case MethodKind.BiDiStreaming:\n return createBiDiStreamingFn(transport, service, method);\n default:\n return null;\n }\n });\n}\nfunction createUnaryFn(transport, service, method) {\n return async function (input, options) {\n var _a, _b;\n const response = await transport.unary(service, method, options === null || options === void 0 ? void 0 : options.signal, options === null || options === void 0 ? void 0 : options.timeoutMs, options === null || options === void 0 ? void 0 : options.headers, input);\n (_a = options === null || options === void 0 ? void 0 : options.onHeader) === null || _a === void 0 ? void 0 : _a.call(options, response.header);\n (_b = options === null || options === void 0 ? void 0 : options.onTrailer) === null || _b === void 0 ? void 0 : _b.call(options, response.trailer);\n return response.message;\n };\n}\nexport function createServerStreamingFn(transport, service, method) {\n return function (input, options) {\n return handleStreamResponse(transport.stream(service, method, options === null || options === void 0 ? void 0 : options.signal, options === null || options === void 0 ? void 0 : options.timeoutMs, options === null || options === void 0 ? void 0 : options.headers, createAsyncIterable([input])), options);\n };\n}\nexport function createClientStreamingFn(transport, service, method) {\n return async function (request, options) {\n var _a, e_1, _b, _c;\n var _d, _e;\n const response = await transport.stream(service, method, options === null || options === void 0 ? void 0 : options.signal, options === null || options === void 0 ? void 0 : options.timeoutMs, options === null || options === void 0 ? void 0 : options.headers, request);\n (_d = options === null || options === void 0 ? void 0 : options.onHeader) === null || _d === void 0 ? void 0 : _d.call(options, response.header);\n let singleMessage;\n try {\n for (var _f = true, _g = __asyncValues(response.message), _h; _h = await _g.next(), _a = _h.done, !_a; _f = true) {\n _c = _h.value;\n _f = false;\n const message = _c;\n singleMessage = message;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (!_f && !_a && (_b = _g.return)) await _b.call(_g);\n }\n finally { if (e_1) throw e_1.error; }\n }\n if (!singleMessage) {\n throw new ConnectError(\"protocol error: missing response message\", Code.Internal);\n }\n (_e = options === null || options === void 0 ? void 0 : options.onTrailer) === null || _e === void 0 ? void 0 : _e.call(options, response.trailer);\n return singleMessage;\n };\n}\nexport function createBiDiStreamingFn(transport, service, method) {\n return function (request, options) {\n return handleStreamResponse(transport.stream(service, method, options === null || options === void 0 ? void 0 : options.signal, options === null || options === void 0 ? void 0 : options.timeoutMs, options === null || options === void 0 ? void 0 : options.headers, request), options);\n };\n}\nfunction handleStreamResponse(stream, options) {\n const it = (function () {\n var _a, _b;\n return __asyncGenerator(this, arguments, function* () {\n const response = yield __await(stream);\n (_a = options === null || options === void 0 ? void 0 : options.onHeader) === null || _a === void 0 ? void 0 : _a.call(options, response.header);\n yield __await(yield* __asyncDelegator(__asyncValues(response.message)));\n (_b = options === null || options === void 0 ? void 0 : options.onTrailer) === null || _b === void 0 ? void 0 : _b.call(options, response.trailer);\n });\n })()[Symbol.asyncIterator]();\n // Create a new iterable to omit throw/return.\n return {\n [Symbol.asyncIterator]: () => ({\n next: () => it.next(),\n }),\n };\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { ConnectError } from \"../connect-error.js\";\nimport { Code } from \"../code.js\";\n/**\n * Create an AbortController that is automatically aborted if one of the given\n * signals is aborted.\n *\n * For convenience, the linked AbortSignals can be undefined.\n *\n * If the controller or any of the signals is aborted, all event listeners are\n * removed.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function createLinkedAbortController(...signals) {\n const controller = new AbortController();\n const sa = signals\n .filter((s) => s !== undefined)\n .concat(controller.signal);\n for (const signal of sa) {\n if (signal.aborted) {\n onAbort.apply(signal);\n break;\n }\n signal.addEventListener(\"abort\", onAbort);\n }\n function onAbort() {\n if (!controller.signal.aborted) {\n controller.abort(getAbortSignalReason(this));\n }\n for (const signal of sa) {\n signal.removeEventListener(\"abort\", onAbort);\n }\n }\n return controller;\n}\n/**\n * Create a deadline signal. The returned object contains an AbortSignal, but\n * also a cleanup function to stop the timer, which must be called once the\n * calling code is no longer interested in the signal.\n *\n * Ideally, we would simply use AbortSignal.timeout(), but it is not widely\n * available yet.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function createDeadlineSignal(timeoutMs) {\n const controller = new AbortController();\n const listener = () => {\n controller.abort(new ConnectError(\"the operation timed out\", Code.DeadlineExceeded));\n };\n let timeoutId;\n if (timeoutMs !== undefined) {\n if (timeoutMs <= 0)\n listener();\n else\n timeoutId = setTimeout(listener, timeoutMs);\n }\n return {\n signal: controller.signal,\n cleanup: () => clearTimeout(timeoutId),\n };\n}\n/**\n * Returns the reason why an AbortSignal was aborted. Returns undefined if the\n * signal has not been aborted.\n *\n * The property AbortSignal.reason is not widely available. This function\n * returns an AbortError if the signal is aborted, but reason is undefined.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function getAbortSignalReason(signal) {\n if (!signal.aborted) {\n return undefined;\n }\n if (signal.reason !== undefined) {\n return signal.reason;\n }\n // AbortSignal.reason is available in Node.js v16, v18, and later,\n // and in all browsers since early 2022.\n const e = new Error(\"This operation was aborted\");\n e.name = \"AbortError\";\n return e;\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * Create a URL for the given RPC. This simply adds the qualified\n * service name, a slash, and the method name to the path of the given\n * baseUrl.\n *\n * For example, the baseUri https://example.com and method \"Say\" from\n * the service example.ElizaService results in:\n * https://example.com/example.ElizaService/Say\n *\n * This format is used by the protocols Connect, gRPC and Twirp.\n *\n * Note that this function also accepts a protocol-relative baseUrl.\n * If given an empty string or \"/\" as a baseUrl, it returns just the\n * path.\n */\nexport function createMethodUrl(baseUrl, service, method) {\n const s = typeof service == \"string\" ? service : service.typeName;\n const m = typeof method == \"string\" ? method : method.name;\n return baseUrl.toString().replace(/\\/?$/, `/${s}/${m}`);\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { ConnectError } from \"../connect-error.js\";\nimport { Code } from \"../code.js\";\nimport { assertReadMaxBytes, assertWriteMaxBytes } from \"./limit-io.js\";\n/**\n * Sets default JSON serialization options for connect-es.\n *\n * With standard protobuf JSON serialization, unknown JSON fields are\n * rejected by default. In connect-es, unknown JSON fields are ignored\n * by default.\n */\nexport function getJsonOptions(options) {\n var _a;\n const o = Object.assign({}, options);\n (_a = o.ignoreUnknownFields) !== null && _a !== void 0 ? _a : (o.ignoreUnknownFields = true);\n return o;\n}\n/**\n * Create an object that provides convenient access to request and response\n * message serialization for a given method.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function createMethodSerializationLookup(method, binaryOptions, jsonOptions, limitOptions) {\n const inputBinary = limitSerialization(createBinarySerialization(method.I, binaryOptions), limitOptions);\n const inputJson = limitSerialization(createJsonSerialization(method.I, jsonOptions), limitOptions);\n const outputBinary = limitSerialization(createBinarySerialization(method.O, binaryOptions), limitOptions);\n const outputJson = limitSerialization(createJsonSerialization(method.O, jsonOptions), limitOptions);\n return {\n getI(useBinaryFormat) {\n return useBinaryFormat ? inputBinary : inputJson;\n },\n getO(useBinaryFormat) {\n return useBinaryFormat ? outputBinary : outputJson;\n },\n };\n}\n/**\n * Returns functions to normalize and serialize the input message\n * of an RPC, and to parse the output message of an RPC.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function createClientMethodSerializers(method, useBinaryFormat, jsonOptions, binaryOptions) {\n const input = useBinaryFormat\n ? createBinarySerialization(method.I, binaryOptions)\n : createJsonSerialization(method.I, jsonOptions);\n const output = useBinaryFormat\n ? createBinarySerialization(method.O, binaryOptions)\n : createJsonSerialization(method.O, jsonOptions);\n return { parse: output.parse, serialize: input.serialize };\n}\n/**\n * Apply I/O limits to a Serialization object, returning a new object.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function limitSerialization(serialization, limitOptions) {\n return {\n serialize(data) {\n const bytes = serialization.serialize(data);\n assertWriteMaxBytes(limitOptions.writeMaxBytes, bytes.byteLength);\n return bytes;\n },\n parse(data) {\n assertReadMaxBytes(limitOptions.readMaxBytes, data.byteLength, true);\n return serialization.parse(data);\n },\n };\n}\n/**\n * Creates a Serialization object for serializing the given protobuf message\n * with the protobuf binary format.\n */\nexport function createBinarySerialization(messageType, options) {\n return {\n parse(data) {\n try {\n return messageType.fromBinary(data, options);\n }\n catch (e) {\n const m = e instanceof Error ? e.message : String(e);\n throw new ConnectError(`parse binary: ${m}`, Code.InvalidArgument);\n }\n },\n serialize(data) {\n try {\n return data.toBinary(options);\n }\n catch (e) {\n const m = e instanceof Error ? e.message : String(e);\n throw new ConnectError(`serialize binary: ${m}`, Code.Internal);\n }\n },\n };\n}\n/**\n * Creates a Serialization object for serializing the given protobuf message\n * with the protobuf canonical JSON encoding.\n *\n * By default, unknown fields are ignored.\n */\nexport function createJsonSerialization(messageType, options) {\n var _a, _b;\n const textEncoder = (_a = options === null || options === void 0 ? void 0 : options.textEncoder) !== null && _a !== void 0 ? _a : new TextEncoder();\n const textDecoder = (_b = options === null || options === void 0 ? void 0 : options.textDecoder) !== null && _b !== void 0 ? _b : new TextDecoder();\n const o = getJsonOptions(options);\n return {\n parse(data) {\n try {\n const json = textDecoder.decode(data);\n return messageType.fromJsonString(json, o);\n }\n catch (e) {\n throw ConnectError.from(e, Code.InvalidArgument);\n }\n },\n serialize(data) {\n try {\n const json = data.toJsonString(o);\n return textEncoder.encode(json);\n }\n catch (e) {\n throw ConnectError.from(e, Code.Internal);\n }\n },\n };\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * Regular Expression that matches any valid Connect Content-Type header value.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport const contentTypeRegExp = /^application\\/(connect\\+)?(?:(json)(?:; ?charset=utf-?8)?|(proto))$/i;\n/**\n * Regular Expression that matches a Connect unary Content-Type header value.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport const contentTypeUnaryRegExp = /^application\\/(?:json(?:; ?charset=utf-?8)?|proto)$/i;\n/**\n * Regular Expression that matches a Connect streaming Content-Type header value.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport const contentTypeStreamRegExp = /^application\\/connect\\+?(?:json(?:; ?charset=utf-?8)?|proto)$/i;\nexport const contentTypeUnaryProto = \"application/proto\";\nexport const contentTypeUnaryJson = \"application/json\";\nexport const contentTypeStreamProto = \"application/connect+proto\";\nexport const contentTypeStreamJson = \"application/connect+json\";\nconst encodingProto = \"proto\";\nconst encodingJson = \"json\";\n/**\n * Parse a Connect Content-Type header.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function parseContentType(contentType) {\n const match = contentType === null || contentType === void 0 ? void 0 : contentType.match(contentTypeRegExp);\n if (!match) {\n return undefined;\n }\n const stream = !!match[1];\n const binary = !!match[3];\n return { stream, binary };\n}\n/**\n * Parse a Connect Get encoding query parameter.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function parseEncodingQuery(encoding) {\n switch (encoding) {\n case encodingProto:\n return { stream: false, binary: true };\n case encodingJson:\n return { stream: false, binary: false };\n default:\n return undefined;\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { Message, protoBase64 } from \"@bufbuild/protobuf\";\nimport { Code } from \"../code.js\";\nimport { ConnectError } from \"../connect-error.js\";\nimport { codeFromString, codeToString } from \"./code-string.js\";\n/**\n * Parse a Connect error from a JSON value.\n * Will return a ConnectError, and throw the provided fallback if parsing failed.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function errorFromJson(jsonValue, metadata, fallback) {\n if (metadata) {\n new Headers(metadata).forEach((value, key) => fallback.metadata.append(key, value));\n }\n if (typeof jsonValue !== \"object\" ||\n jsonValue == null ||\n Array.isArray(jsonValue) ||\n !(\"code\" in jsonValue) ||\n typeof jsonValue.code !== \"string\") {\n throw fallback;\n }\n const code = codeFromString(jsonValue.code);\n if (code === undefined) {\n throw fallback;\n }\n const message = jsonValue.message;\n if (message != null && typeof message !== \"string\") {\n throw fallback;\n }\n const error = new ConnectError(message !== null && message !== void 0 ? message : \"\", code, metadata);\n if (\"details\" in jsonValue && Array.isArray(jsonValue.details)) {\n for (const detail of jsonValue.details) {\n if (detail === null ||\n typeof detail != \"object\" ||\n Array.isArray(detail) ||\n typeof detail.type != \"string\" ||\n typeof detail.value != \"string\" ||\n (\"debug\" in detail && typeof detail.debug != \"object\")) {\n throw fallback;\n }\n try {\n error.details.push({\n type: detail.type,\n value: protoBase64.dec(detail.value),\n debug: detail.debug,\n });\n }\n catch (e) {\n throw fallback;\n }\n }\n }\n return error;\n}\n/**\n * Parse a Connect error from a serialized JSON value.\n * Will return a ConnectError, and throw the provided fallback if parsing failed.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function errorFromJsonBytes(bytes, metadata, fallback) {\n let jsonValue;\n try {\n jsonValue = JSON.parse(new TextDecoder().decode(bytes));\n }\n catch (e) {\n throw fallback;\n }\n return errorFromJson(jsonValue, metadata, fallback);\n}\n/**\n * Serialize the given error to JSON.\n *\n * The JSON serialization options are required to produce the optional\n * human-readable representation in the \"debug\" key if the detail uses\n * google.protobuf.Any. If serialization of the \"debug\" value fails, it\n * is silently disregarded.\n *\n * See https://connectrpc.com/docs/protocol#error-end-stream\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function errorToJson(error, jsonWriteOptions) {\n const o = {\n code: codeToString(error.code),\n };\n if (error.rawMessage.length > 0) {\n o.message = error.rawMessage;\n }\n if (error.details.length > 0) {\n o.details = error.details\n .map((value) => {\n if (value instanceof Message) {\n const i = {\n type: value.getType().typeName,\n value: value.toBinary(),\n };\n try {\n i.debug = value.toJson(jsonWriteOptions);\n }\n catch (e) {\n // We deliberately ignore errors that may occur when serializing\n // a message to JSON (the message contains an Any).\n // The rationale is that we are only trying to provide optional\n // debug information.\n }\n return i;\n }\n return value;\n })\n .map((_a) => {\n var { value } = _a, rest = __rest(_a, [\"value\"]);\n return (Object.assign(Object.assign({}, rest), { value: protoBase64.enc(value) }));\n });\n }\n return o;\n}\n/**\n * Serialize the given error to JSON. This calls errorToJson(), but stringifies\n * the result, and converts it into a UInt8Array.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function errorToJsonBytes(error, jsonWriteOptions) {\n const textEncoder = new TextEncoder();\n try {\n const jsonObject = errorToJson(error, jsonWriteOptions);\n const jsonString = JSON.stringify(jsonObject);\n return textEncoder.encode(jsonString);\n }\n catch (e) {\n const m = e instanceof Error ? e.message : String(e);\n throw new ConnectError(`failed to serialize Connect Error: ${m}`, Code.Internal);\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { errorFromJson, errorToJson } from \"./error-json.js\";\nimport { appendHeaders } from \"../http-headers.js\";\nimport { ConnectError } from \"../connect-error.js\";\nimport { Code } from \"../code.js\";\n/**\n * endStreamFlag indicates that the data in a EnvelopedMessage\n * is a EndStreamResponse of the Connect protocol.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport const endStreamFlag = 0b00000010;\n/**\n * Parse an EndStreamResponse of the Connect protocol.\n * Throws a ConnectError on malformed input.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function endStreamFromJson(data) {\n const parseErr = new ConnectError(\"invalid end stream\", Code.InvalidArgument);\n let jsonValue;\n try {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n jsonValue = JSON.parse(typeof data == \"string\" ? data : new TextDecoder().decode(data));\n }\n catch (e) {\n throw parseErr;\n }\n if (typeof jsonValue != \"object\" ||\n jsonValue == null ||\n Array.isArray(jsonValue)) {\n throw parseErr;\n }\n const metadata = new Headers();\n if (\"metadata\" in jsonValue) {\n if (typeof jsonValue.metadata != \"object\" ||\n jsonValue.metadata == null ||\n Array.isArray(jsonValue.metadata)) {\n throw parseErr;\n }\n for (const [key, values] of Object.entries(jsonValue.metadata)) {\n if (!Array.isArray(values) ||\n values.some((value) => typeof value != \"string\")) {\n throw parseErr;\n }\n for (const value of values) {\n metadata.append(key, value);\n }\n }\n }\n const error = \"error\" in jsonValue\n ? errorFromJson(jsonValue.error, metadata, parseErr)\n : undefined;\n return { metadata, error };\n}\n/**\n * Serialize the given EndStreamResponse to JSON.\n *\n * The JSON serialization options are required to produce the optional\n * human-readable representation of error details if the detail uses\n * google.protobuf.Any.\n *\n * See https://connectrpc.com/docs/protocol#error-end-stream\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function endStreamToJson(metadata, error, jsonWriteOptions) {\n const es = {};\n if (error !== undefined) {\n es.error = errorToJson(error, jsonWriteOptions);\n metadata = appendHeaders(metadata, error.metadata);\n }\n let hasMetadata = false;\n const md = {};\n metadata.forEach((value, key) => {\n hasMetadata = true;\n md[key] = [value];\n });\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (hasMetadata) {\n es.metadata = md;\n }\n return es;\n}\n/**\n * Create a Serialization object that serializes a Connect EndStreamResponse.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function createEndStreamSerialization(options) {\n const textEncoder = new TextEncoder();\n return {\n serialize(data) {\n try {\n const jsonObject = endStreamToJson(data.metadata, data.error, options);\n const jsonString = JSON.stringify(jsonObject);\n return textEncoder.encode(jsonString);\n }\n catch (e) {\n const m = e instanceof Error ? e.message : String(e);\n throw new ConnectError(`failed to serialize EndStreamResponse: ${m}`, Code.Internal);\n }\n },\n parse(data) {\n try {\n return endStreamFromJson(data);\n }\n catch (e) {\n const m = e instanceof Error ? e.message : String(e);\n throw new ConnectError(`failed to parse EndStreamResponse: ${m}`, Code.InvalidArgument);\n }\n },\n };\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * @private Internal code, does not follow semantic versioning.\n */\nexport const headerContentType = \"Content-Type\";\nexport const headerUnaryContentLength = \"Content-Length\";\nexport const headerUnaryEncoding = \"Content-Encoding\";\nexport const headerStreamEncoding = \"Connect-Content-Encoding\";\nexport const headerUnaryAcceptEncoding = \"Accept-Encoding\";\nexport const headerStreamAcceptEncoding = \"Connect-Accept-Encoding\";\nexport const headerTimeout = \"Connect-Timeout-Ms\";\nexport const headerProtocolVersion = \"Connect-Protocol-Version\";\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Code } from \"../code.js\";\n/**\n * Determine the Connect error code for the given HTTP status code.\n * See https://connectrpc.com/docs/protocol#error-codes\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function codeFromHttpStatus(httpStatus) {\n switch (httpStatus) {\n case 400: // Bad Request\n return Code.InvalidArgument;\n case 401: // Unauthorized\n return Code.Unauthenticated;\n case 403: // Forbidden\n return Code.PermissionDenied;\n case 404: // Not Found\n return Code.Unimplemented;\n case 408: // Request Timeout\n return Code.DeadlineExceeded;\n case 409: // Conflict\n return Code.Aborted;\n case 412: // Precondition Failed\n return Code.FailedPrecondition;\n case 413: // Payload Too Large\n return Code.ResourceExhausted;\n case 415: // Unsupported Media Type\n return Code.Internal;\n case 429: // Too Many Requests\n return Code.Unavailable;\n case 431: // Request Header Fields Too Large\n return Code.ResourceExhausted;\n case 502: // Bad Gateway\n return Code.Unavailable;\n case 503: // Service Unavailable\n return Code.Unavailable;\n case 504: // Gateway Timeout\n return Code.Unavailable;\n default:\n return Code.Unknown;\n }\n}\n/**\n * Returns a HTTP status code for the given Connect code.\n * See https://connectrpc.com/docs/protocol#error-codes\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function codeToHttpStatus(code) {\n switch (code) {\n case Code.Canceled:\n return 408; // Request Timeout\n case Code.Unknown:\n return 500; // Internal Server Error\n case Code.InvalidArgument:\n return 400; // Bad Request\n case Code.DeadlineExceeded:\n return 408; // Request Timeout\n case Code.NotFound:\n return 404; // Not Found\n case Code.AlreadyExists:\n return 409; // Conflict\n case Code.PermissionDenied:\n return 403; // Forbidden\n case Code.ResourceExhausted:\n return 429; // Too Many Requests\n case Code.FailedPrecondition:\n return 412; // Precondition Failed\n case Code.Aborted:\n return 409; // Conflict\n case Code.OutOfRange:\n return 400; // Bad Request\n case Code.Unimplemented:\n return 404; // Not Found\n case Code.Internal:\n return 500; // Internal Server Error\n case Code.Unavailable:\n return 503; // Service Unavailable\n case Code.DataLoss:\n return 500; // Internal Server Error\n case Code.Unauthenticated:\n return 401; // Unauthorized\n default:\n return 500; // same as CodeUnknown\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * In unary RPCs, Connect transports trailing metadata as response header\n * fields, prefixed with \"trailer-\".\n *\n * This function demuxes headers and trailers into two separate Headers\n * objects.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function trailerDemux(header) {\n const h = new Headers(), t = new Headers();\n header.forEach((value, key) => {\n if (key.toLowerCase().startsWith(\"trailer-\")) {\n t.set(key.substring(8), value);\n }\n else {\n h.set(key, value);\n }\n });\n return [h, t];\n}\n/**\n * In unary RPCs, Connect transports trailing metadata as response header\n * fields, prefixed with \"trailer-\".\n *\n * This function muxes a header and a trailer into a single Headers object.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function trailerMux(header, trailer) {\n const h = new Headers(header);\n trailer.forEach((value, key) => {\n h.set(`trailer-${key}`, value);\n });\n return h;\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { headerProtocolVersion } from \"./headers.js\";\nimport { paramConnectVersion } from \"./query-params.js\";\nimport { ConnectError } from \"../connect-error.js\";\nimport { Code } from \"../code.js\";\n/**\n * The only know value for the header Connect-Protocol-Version.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport const protocolVersion = \"1\";\n/**\n * Requires the Connect-Protocol-Version header to be present with the expected\n * value. Raises a ConnectError with Code.InvalidArgument otherwise.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function requireProtocolVersionHeader(requestHeader) {\n const v = requestHeader.get(headerProtocolVersion);\n if (v === null) {\n throw new ConnectError(`missing required header: set ${headerProtocolVersion} to \"${protocolVersion}\"`, Code.InvalidArgument);\n }\n else if (v !== protocolVersion) {\n throw new ConnectError(`${headerProtocolVersion} must be \"${protocolVersion}\": got \"${v}\"`, Code.InvalidArgument);\n }\n}\n/**\n * Requires the connect query parameter to be present with the expected value.\n * Raises a ConnectError with Code.InvalidArgument otherwise.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function requireProtocolVersionParam(queryParams) {\n const v = queryParams.get(paramConnectVersion);\n if (v === null) {\n throw new ConnectError(`missing required parameter: set ${paramConnectVersion} to \"v${protocolVersion}\"`, Code.InvalidArgument);\n }\n else if (v !== `v${protocolVersion}`) {\n throw new ConnectError(`${paramConnectVersion} must be \"v${protocolVersion}\": got \"${v}\"`, Code.InvalidArgument);\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { MethodKind } from \"@bufbuild/protobuf\";\nimport { headerContentType, headerStreamAcceptEncoding, headerStreamEncoding, headerUnaryAcceptEncoding, headerUnaryEncoding, headerTimeout, headerProtocolVersion, } from \"./headers.js\";\nimport { protocolVersion } from \"./version.js\";\nimport { contentTypeStreamJson, contentTypeStreamProto, contentTypeUnaryJson, contentTypeUnaryProto, } from \"./content-type.js\";\n/**\n * Creates headers for a Connect request.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function requestHeader(methodKind, useBinaryFormat, timeoutMs, userProvidedHeaders) {\n const result = new Headers(userProvidedHeaders !== null && userProvidedHeaders !== void 0 ? userProvidedHeaders : {});\n if (timeoutMs !== undefined) {\n result.set(headerTimeout, `${timeoutMs}`);\n }\n result.set(headerContentType, methodKind == MethodKind.Unary\n ? useBinaryFormat\n ? contentTypeUnaryProto\n : contentTypeUnaryJson\n : useBinaryFormat\n ? contentTypeStreamProto\n : contentTypeStreamJson);\n result.set(headerProtocolVersion, protocolVersion);\n return result;\n}\n/**\n * Creates headers for a Connect request with compression.\n *\n * Note that we always set the Content-Encoding header for unary methods.\n * It is up to the caller to decide whether to apply compression - and remove\n * the header if compression is not used, for example because the payload is\n * too small to make compression effective.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function requestHeaderWithCompression(methodKind, useBinaryFormat, timeoutMs, userProvidedHeaders, acceptCompression, sendCompression) {\n const result = requestHeader(methodKind, useBinaryFormat, timeoutMs, userProvidedHeaders);\n if (sendCompression != null) {\n const name = methodKind == MethodKind.Unary\n ? headerUnaryEncoding\n : headerStreamEncoding;\n result.set(name, sendCompression.name);\n }\n if (acceptCompression.length > 0) {\n const name = methodKind == MethodKind.Unary\n ? headerUnaryAcceptEncoding\n : headerStreamAcceptEncoding;\n result.set(name, acceptCompression.map((c) => c.name).join(\",\"));\n }\n return result;\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { MethodKind } from \"@bufbuild/protobuf\";\nimport { Code } from \"../code.js\";\nimport { codeFromHttpStatus } from \"./http-status.js\";\nimport { ConnectError } from \"../connect-error.js\";\nimport { parseContentType } from \"./content-type.js\";\nimport { headerStreamEncoding, headerUnaryEncoding } from \"./headers.js\";\n/**\n * Validates response status and header for the Connect protocol.\n * Throws a ConnectError if the header indicates an error, or if\n * the content type is unexpected, with the following exception:\n * For unary RPCs with an HTTP error status, this returns an error\n * derived from the HTTP status instead of throwing it, giving an\n * implementation a chance to parse a Connect error from the wire.\n *\n * @private Internal code, does not follow semantic versioning.\n */\nexport function validateResponse(methodKind, status, headers) {\n const mimeType = headers.get(\"Content-Type\");\n const parsedType = parseContentType(mimeType);\n if (status !== 200) {\n const errorFromStatus = new ConnectError(`HTTP ${status}`, codeFromHttpStatus(status), headers);\n // If parsedType is defined and it is not binary, then this is a unary JSON response\n if (methodKind == MethodKind.Unary && parsedType && !parsedType.binary) {\n return { isUnaryError: true, unaryError: errorFromStatus };\n }\n throw errorFromStatus;\n }\n return { isUnaryError: false };\n}\n/**\n * Validates response status and header for the Connect protocol.\n * This function is identical to validateResponse(), but also verifies\n * that a given encoding header is acceptable.\n *\n * @private\n */\nexport function validateResponseWithCompression(methodKind, acceptCompression, status, headers) {\n let compression;\n const encoding = headers.get(methodKind == MethodKind.Unary ? headerUnaryEncoding : headerStreamEncoding);\n if (encoding != null && encoding.toLowerCase() !== \"identity\") {\n compression = acceptCompression.find((c) => c.name === encoding);\n if (!compression) {\n throw new ConnectError(`unsupported response encoding \"${encoding}\"`, Code.InvalidArgument, headers);\n }\n }\n return Object.assign({ compression }, validateResponse(methodKind, status, headers));\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Message, protoBase64 } from \"@bufbuild/protobuf\";\nimport { headerContentType, headerProtocolVersion, headerUnaryAcceptEncoding, headerUnaryContentLength, headerUnaryEncoding, } from \"./headers.js\";\nimport { protocolVersion } from \"./version.js\";\nconst contentTypePrefix = \"application/\";\nfunction encodeMessageForUrl(message, useBase64) {\n if (useBase64) {\n // TODO(jchadwick-buf): Three regex replaces seems excessive.\n // Can we make protoBase64.enc more flexible?\n return protoBase64\n .enc(message)\n .replace(/\\+/g, \"-\")\n .replace(/\\//g, \"_\")\n .replace(/=+$/, \"\");\n }\n else {\n return encodeURIComponent(new TextDecoder().decode(message));\n }\n}\n/**\n * @private Internal code, does not follow semantic versioning.\n */\nexport function transformConnectPostToGetRequest(request, message, useBase64) {\n let query = `?connect=v${protocolVersion}`;\n const contentType = request.header.get(headerContentType);\n if ((contentType === null || contentType === void 0 ? void 0 : contentType.indexOf(contentTypePrefix)) === 0) {\n query +=\n \"&encoding=\" +\n encodeURIComponent(contentType.slice(contentTypePrefix.length));\n }\n const compression = request.header.get(headerUnaryEncoding);\n if (compression !== null && compression !== \"identity\") {\n query += \"&compression=\" + encodeURIComponent(compression);\n // Force base64 for compressed payloads.\n useBase64 = true;\n }\n if (useBase64) {\n query += \"&base64=1\";\n }\n query += \"&message=\" + encodeMessageForUrl(message, useBase64);\n const url = request.url + query;\n // Omit headers that are not used for unary GET requests.\n const header = new Headers(request.header);\n header.delete(headerProtocolVersion);\n header.delete(headerContentType);\n header.delete(headerUnaryContentLength);\n header.delete(headerUnaryEncoding);\n header.delete(headerUnaryAcceptEncoding);\n return Object.assign(Object.assign({}, request), { init: Object.assign(Object.assign({}, request.init), { method: \"GET\" }), url,\n header });\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { ConnectError } from \"../connect-error.js\";\nimport { createDeadlineSignal, createLinkedAbortController, getAbortSignalReason, } from \"./signals.js\";\n/**\n * Runs a unary method with the given interceptors. Note that this function\n * is only used when implementing a Transport.\n */\nexport function runUnaryCall(opt) {\n const next = applyInterceptors(opt.next, opt.interceptors);\n const [signal, abort, done] = setupSignal(opt);\n const req = Object.assign(Object.assign({}, opt.req), { message: normalize(opt.req.method.I, opt.req.message), signal });\n return next(req).then((res) => {\n done();\n return res;\n }, abort);\n}\n/**\n * Runs a server-streaming method with the given interceptors. Note that this\n * function is only used when implementing a Transport.\n */\nexport function runStreamingCall(opt) {\n const next = applyInterceptors(opt.next, opt.interceptors);\n const [signal, abort, done] = setupSignal(opt);\n const req = Object.assign(Object.assign({}, opt.req), { message: normalizeIterable(opt.req.method.I, opt.req.message), signal });\n let doneCalled = false;\n // Call return on the request iterable to indicate\n // that we will no longer consume it and it should\n // cleanup any allocated resources.\n signal.addEventListener(\"abort\", function () {\n var _a, _b;\n const it = opt.req.message[Symbol.asyncIterator]();\n // If the signal is aborted due to an error, we want to throw\n // the error to the request iterator.\n if (!doneCalled) {\n (_a = it.throw) === null || _a === void 0 ? void 0 : _a.call(it, this.reason).catch(() => {\n // throw returns a promise, which we don't care about.\n //\n // Uncaught promises are thrown at sometime/somewhere by the event loop,\n // this is to ensure error is caught and ignored.\n });\n }\n (_b = it.return) === null || _b === void 0 ? void 0 : _b.call(it).catch(() => {\n // return returns a promise, which we don't care about.\n //\n // Uncaught promises are thrown at sometime/somewhere by the event loop,\n // this is to ensure error is caught and ignored.\n });\n });\n return next(req).then((res) => {\n return Object.assign(Object.assign({}, res), { message: {\n [Symbol.asyncIterator]() {\n const it = res.message[Symbol.asyncIterator]();\n return {\n next() {\n return it.next().then((r) => {\n if (r.done == true) {\n doneCalled = true;\n done();\n }\n return r;\n }, abort);\n },\n // We deliberately omit throw/return.\n };\n },\n } });\n }, abort);\n}\n/**\n * Create an AbortSignal for Transport implementations. The signal is available\n * in UnaryRequest and StreamingRequest, and is triggered when the call is\n * aborted (via a timeout or explicit cancellation), errored (e.g. when reading\n * an error from the server from the wire), or finished successfully.\n *\n * Transport implementations can pass the signal to HTTP clients to ensure that\n * there are no unused connections leak.\n *\n * Returns a tuple:\n * [0]: The signal, which is also aborted if the optional deadline is reached.\n * [1]: Function to call if the Transport encountered an error.\n * [2]: Function to call if the Transport finished without an error.\n */\nfunction setupSignal(opt) {\n const { signal, cleanup } = createDeadlineSignal(opt.timeoutMs);\n const controller = createLinkedAbortController(opt.signal, signal);\n return [\n controller.signal,\n function abort(reason) {\n // We peek at the deadline signal because fetch() will throw an error on\n // abort that discards the signal reason.\n const e = ConnectError.from(signal.aborted ? getAbortSignalReason(signal) : reason);\n controller.abort(e);\n cleanup();\n return Promise.reject(e);\n },\n function done() {\n cleanup();\n controller.abort();\n },\n ];\n}\n/**\n * applyInterceptors takes the given UnaryFn or ServerStreamingFn, and wraps\n * it with each of the given interceptors, returning a new UnaryFn or\n * ServerStreamingFn.\n */\nfunction applyInterceptors(next, interceptors) {\n var _a;\n return ((_a = interceptors === null || interceptors === void 0 ? void 0 : interceptors.concat().reverse().reduce(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n (n, i) => i(n), next)) !== null && _a !== void 0 ? _a : next);\n}\n/**\n * Takes a partial protobuf messages of the\n * specified message type as input, and returns full instances.\n */\nfunction normalize(type, message) {\n return message instanceof type ? message : new type(message);\n}\n/**\n * Takes an AsyncIterable of partial protobuf messages of the\n * specified message type as input, and yields full instances.\n */\nexport function normalizeIterable(messageType, input) {\n function transform(result) {\n if (result.done === true) {\n return result;\n }\n return {\n done: result.done,\n value: normalize(messageType, result.value),\n };\n }\n return {\n [Symbol.asyncIterator]() {\n const it = input[Symbol.asyncIterator]();\n const res = {\n next: () => it.next().then(transform),\n };\n if (it.throw !== undefined) {\n res.throw = (e) => it.throw(e).then(transform); // eslint-disable-line @typescript-eslint/no-non-null-assertion\n }\n if (it.return !== undefined) {\n res.return = (v) => it.return(v).then(transform); // eslint-disable-line @typescript-eslint/no-non-null-assertion\n }\n return res;\n },\n };\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n/**\n * Asserts that the fetch API is available.\n */\nexport function assertFetchApi() {\n try {\n new Headers();\n }\n catch (_) {\n throw new Error(\"connect-web requires the fetch API. Are you running on an old version of Node.js? Node.js is not supported in Connect for Web - please stay tuned for Connect for Node.\");\n }\n}\n", "// Copyright 2021-2023 Buf Technologies, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nimport { Message, MethodIdempotency, MethodKind } from \"@bufbuild/protobuf\";\nimport { appendHeaders } from \"@bufbuild/connect\";\nimport { createClientMethodSerializers, createEnvelopeReadableStream, createMethodUrl, getJsonOptions, encodeEnvelope, runStreamingCall, runUnaryCall, } from \"@bufbuild/connect/protocol\";\nimport { endStreamFlag, endStreamFromJson, errorFromJson, requestHeader, trailerDemux, transformConnectPostToGetRequest, validateResponse, } from \"@bufbuild/connect/protocol-connect\";\nimport { assertFetchApi } from \"./assert-fetch-api.js\";\n/**\n * Create a Transport for the Connect protocol, which makes unary and\n * server-streaming methods available to web browsers. It uses the fetch\n * API to make HTTP requests.\n */\nexport function createConnectTransport(options) {\n var _a;\n assertFetchApi();\n const useBinaryFormat = (_a = options.useBinaryFormat) !== null && _a !== void 0 ? _a : false;\n return {\n async unary(service, method, signal, timeoutMs, header, message) {\n var _a;\n const { serialize, parse } = createClientMethodSerializers(method, useBinaryFormat, options.jsonOptions, options.binaryOptions);\n return await runUnaryCall({\n interceptors: options.interceptors,\n signal,\n timeoutMs,\n req: {\n stream: false,\n service,\n method,\n url: createMethodUrl(options.baseUrl, service, method),\n init: {\n method: \"POST\",\n credentials: (_a = options.credentials) !== null && _a !== void 0 ? _a : \"same-origin\",\n redirect: \"error\",\n mode: \"cors\",\n },\n header: requestHeader(method.kind, useBinaryFormat, timeoutMs, header),\n message,\n },\n next: async (req) => {\n var _a;\n const useGet = options.useHttpGet === true &&\n method.idempotency === MethodIdempotency.NoSideEffects;\n let body = null;\n if (useGet) {\n req = transformConnectPostToGetRequest(req, serialize(req.message), useBinaryFormat);\n }\n else {\n body = serialize(req.message);\n }\n const fetch = (_a = options.fetch) !== null && _a !== void 0 ? _a : globalThis.fetch;\n const response = await fetch(req.url, Object.assign(Object.assign({}, req.init), { headers: req.header, signal: req.signal, body }));\n const { isUnaryError, unaryError } = validateResponse(method.kind, response.status, response.headers);\n if (isUnaryError) {\n throw errorFromJson((await response.json()), appendHeaders(...trailerDemux(response.headers)), unaryError);\n }\n const [demuxedHeader, demuxedTrailer] = trailerDemux(response.headers);\n return {\n stream: false,\n service,\n method,\n header: demuxedHeader,\n message: useBinaryFormat\n ? parse(new Uint8Array(await response.arrayBuffer()))\n : method.O.fromJson((await response.json()), getJsonOptions(options.jsonOptions)),\n trailer: demuxedTrailer,\n };\n },\n });\n },\n async stream(service, method, signal, timeoutMs, header, input) {\n var _a;\n const { serialize, parse } = createClientMethodSerializers(method, useBinaryFormat, options.jsonOptions, options.binaryOptions);\n function parseResponseBody(body, trailerTarget) {\n return __asyncGenerator(this, arguments, function* parseResponseBody_1() {\n const reader = createEnvelopeReadableStream(body).getReader();\n let endStreamReceived = false;\n for (;;) {\n const result = yield __await(reader.read());\n if (result.done) {\n break;\n }\n const { flags, data } = result.value;\n if ((flags & endStreamFlag) === endStreamFlag) {\n endStreamReceived = true;\n const endStream = endStreamFromJson(data);\n if (endStream.error) {\n throw endStream.error;\n }\n endStream.metadata.forEach((value, key) => trailerTarget.set(key, value));\n continue;\n }\n yield yield __await(parse(data));\n }\n if (!endStreamReceived) {\n throw \"missing EndStreamResponse\";\n }\n });\n }\n async function createRequestBody(input) {\n if (method.kind != MethodKind.ServerStreaming) {\n throw \"The fetch API does not support streaming request bodies\";\n }\n const r = await input[Symbol.asyncIterator]().next();\n if (r.done == true) {\n throw \"missing request message\";\n }\n return encodeEnvelope(0, serialize(r.value));\n }\n return await runStreamingCall({\n interceptors: options.interceptors,\n timeoutMs,\n signal,\n req: {\n stream: true,\n service,\n method,\n url: createMethodUrl(options.baseUrl, service, method),\n init: {\n method: \"POST\",\n credentials: (_a = options.credentials) !== null && _a !== void 0 ? _a : \"same-origin\",\n redirect: \"error\",\n mode: \"cors\",\n },\n header: requestHeader(method.kind, useBinaryFormat, timeoutMs, header),\n message: input,\n },\n next: async (req) => {\n var _a;\n const fetch = (_a = options.fetch) !== null && _a !== void 0 ? _a : globalThis.fetch;\n const fRes = await fetch(req.url, Object.assign(Object.assign({}, req.init), { headers: req.header, signal: req.signal, body: await createRequestBody(req.message) }));\n validateResponse(method.kind, fRes.status, fRes.headers);\n if (fRes.body === null) {\n throw \"missing response body\";\n }\n const trailer = new Headers();\n const res = Object.assign(Object.assign({}, req), { header: fRes.headers, trailer, message: parseResponseBody(fRes.body, trailer) });\n return res;\n },\n });\n },\n };\n}\n", "// @generated by protoc-gen-es v1.3.3 with parameter \"target=ts\"\n// @generated from file user/user.proto (package user, syntax proto3)\n/* eslint-disable */\n// @ts-nocheck\n\nimport type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from \"@bufbuild/protobuf\";\nimport { Message, proto3 } from \"@bufbuild/protobuf\";\n\n/**\n * @generated from message user.GroupInfoRequest\n */\nexport class GroupInfoRequest extends Message {\n /**\n * @generated from field: string secret = 1;\n */\n secret = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.GroupInfoRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"secret\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GroupInfoRequest {\n return new GroupInfoRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GroupInfoRequest {\n return new GroupInfoRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GroupInfoRequest {\n return new GroupInfoRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: GroupInfoRequest | PlainMessage | undefined, b: GroupInfoRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(GroupInfoRequest, a, b);\n }\n}\n\n/**\n * @generated from message user.GroupID\n */\nexport class GroupID extends Message {\n /**\n * @generated from field: string group_id = 1;\n */\n groupId = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.GroupID\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"group_id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GroupID {\n return new GroupID().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GroupID {\n return new GroupID().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GroupID {\n return new GroupID().fromJsonString(jsonString, options);\n }\n\n static equals(a: GroupID | PlainMessage | undefined, b: GroupID | PlainMessage | undefined): boolean {\n return proto3.util.equals(GroupID, a, b);\n }\n}\n\n/**\n * @generated from message user.ShareRequest\n */\nexport class ShareRequest extends Message {\n /**\n * @generated from field: string content_id = 1;\n */\n contentId = \"\";\n\n /**\n * @generated from field: string group_id = 2;\n */\n groupId = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.ShareRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"content_id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"group_id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): ShareRequest {\n return new ShareRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): ShareRequest {\n return new ShareRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): ShareRequest {\n return new ShareRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: ShareRequest | PlainMessage | undefined, b: ShareRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(ShareRequest, a, b);\n }\n}\n\n/**\n * @generated from message user.GroupInvite\n */\nexport class GroupInvite extends Message {\n /**\n * @generated from field: string secret = 1;\n */\n secret = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.GroupInvite\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"secret\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GroupInvite {\n return new GroupInvite().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GroupInvite {\n return new GroupInvite().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GroupInvite {\n return new GroupInvite().fromJsonString(jsonString, options);\n }\n\n static equals(a: GroupInvite | PlainMessage | undefined, b: GroupInvite | PlainMessage | undefined): boolean {\n return proto3.util.equals(GroupInvite, a, b);\n }\n}\n\n/**\n * @generated from message user.Groups\n */\nexport class Groups extends Message {\n /**\n * @generated from field: repeated user.Group groups = 1;\n */\n groups: Group[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.Groups\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"groups\", kind: \"message\", T: Group, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Groups {\n return new Groups().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Groups {\n return new Groups().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Groups {\n return new Groups().fromJsonString(jsonString, options);\n }\n\n static equals(a: Groups | PlainMessage | undefined, b: Groups | PlainMessage | undefined): boolean {\n return proto3.util.equals(Groups, a, b);\n }\n}\n\n/**\n * @generated from message user.AnalyzeConversationRequest\n */\nexport class AnalyzeConversationRequest extends Message {\n /**\n * @generated from field: string text = 1;\n */\n text = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.AnalyzeConversationRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): AnalyzeConversationRequest {\n return new AnalyzeConversationRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): AnalyzeConversationRequest {\n return new AnalyzeConversationRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): AnalyzeConversationRequest {\n return new AnalyzeConversationRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: AnalyzeConversationRequest | PlainMessage | undefined, b: AnalyzeConversationRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(AnalyzeConversationRequest, a, b);\n }\n}\n\n/**\n * @generated from message user.User\n */\nexport class User extends Message {\n /**\n * @generated from field: string email = 1;\n */\n email = \"\";\n\n /**\n * @generated from field: string password = 2;\n */\n password = \"\";\n\n /**\n * @generated from field: user.Config config = 3;\n */\n config?: Config;\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.User\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"email\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"password\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 3, name: \"config\", kind: \"message\", T: Config },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): User {\n return new User().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): User {\n return new User().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): User {\n return new User().fromJsonString(jsonString, options);\n }\n\n static equals(a: User | PlainMessage | undefined, b: User | PlainMessage | undefined): boolean {\n return proto3.util.equals(User, a, b);\n }\n}\n\n/**\n * @generated from message user.Group\n */\nexport class Group extends Message {\n /**\n * @generated from field: string id = 1;\n */\n id = \"\";\n\n /**\n * @generated from field: string name = 2;\n */\n name = \"\";\n\n /**\n * @generated from field: repeated string users = 3;\n */\n users: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.Group\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"name\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 3, name: \"users\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Group {\n return new Group().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Group {\n return new Group().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Group {\n return new Group().fromJsonString(jsonString, options);\n }\n\n static equals(a: Group | PlainMessage | undefined, b: Group | PlainMessage | undefined): boolean {\n return proto3.util.equals(Group, a, b);\n }\n}\n\n/**\n * @generated from message user.Config\n */\nexport class Config extends Message {\n /**\n * @generated from field: repeated string domain_whitelist = 1;\n */\n domainWhitelist: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.Config\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"domain_whitelist\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Config {\n return new Config().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Config {\n return new Config().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Config {\n return new Config().fromJsonString(jsonString, options);\n }\n\n static equals(a: Config | PlainMessage | undefined, b: Config | PlainMessage | undefined): boolean {\n return proto3.util.equals(Config, a, b);\n }\n}\n\n/**\n * @generated from message user.LoginResponse\n */\nexport class LoginResponse extends Message {\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"user.LoginResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): LoginResponse {\n return new LoginResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): LoginResponse {\n return new LoginResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): LoginResponse {\n return new LoginResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: LoginResponse | PlainMessage | undefined, b: LoginResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(LoginResponse, a, b);\n }\n}\n\n", "// @generated by protoc-gen-es v1.3.3 with parameter \"target=ts\"\n// @generated from file content/content.proto (package content, syntax proto3)\n/* eslint-disable */\n// @ts-nocheck\n\nimport type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from \"@bufbuild/protobuf\";\nimport { Message, proto3, protoInt64 } from \"@bufbuild/protobuf\";\nimport { User } from \"../user/user_pb.js\";\n\n/**\n * @generated from message content.SetTagsRequest\n */\nexport class SetTagsRequest extends Message {\n /**\n * @generated from field: string content_id = 1;\n */\n contentId = \"\";\n\n /**\n * @generated from field: repeated string tags = 2;\n */\n tags: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.SetTagsRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"content_id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"tags\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): SetTagsRequest {\n return new SetTagsRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): SetTagsRequest {\n return new SetTagsRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): SetTagsRequest {\n return new SetTagsRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: SetTagsRequest | PlainMessage | undefined, b: SetTagsRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(SetTagsRequest, a, b);\n }\n}\n\n/**\n * @generated from message content.TagRequest\n */\nexport class TagRequest extends Message {\n /**\n * @generated from field: string group_id = 1;\n */\n groupId = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.TagRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"group_id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): TagRequest {\n return new TagRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): TagRequest {\n return new TagRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): TagRequest {\n return new TagRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: TagRequest | PlainMessage | undefined, b: TagRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(TagRequest, a, b);\n }\n}\n\n/**\n * @generated from message content.VoteRequest\n */\nexport class VoteRequest extends Message {\n /**\n * @generated from field: string content_id = 1;\n */\n contentId = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.VoteRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"content_id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): VoteRequest {\n return new VoteRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): VoteRequest {\n return new VoteRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): VoteRequest {\n return new VoteRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: VoteRequest | PlainMessage | undefined, b: VoteRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(VoteRequest, a, b);\n }\n}\n\n/**\n * @generated from message content.VoteResponse\n */\nexport class VoteResponse extends Message {\n /**\n * @generated from field: uint32 votes = 1;\n */\n votes = 0;\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.VoteResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"votes\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): VoteResponse {\n return new VoteResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): VoteResponse {\n return new VoteResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): VoteResponse {\n return new VoteResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: VoteResponse | PlainMessage | undefined, b: VoteResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(VoteResponse, a, b);\n }\n}\n\n/**\n * @generated from message content.Tags\n */\nexport class Tags extends Message {\n /**\n * @generated from field: repeated content.Tag tags = 1;\n */\n tags: Tag[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Tags\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"tags\", kind: \"message\", T: Tag, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Tags {\n return new Tags().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Tags {\n return new Tags().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Tags {\n return new Tags().fromJsonString(jsonString, options);\n }\n\n static equals(a: Tags | PlainMessage | undefined, b: Tags | PlainMessage | undefined): boolean {\n return proto3.util.equals(Tags, a, b);\n }\n}\n\n/**\n * @generated from message content.Tag\n */\nexport class Tag extends Message {\n /**\n * @generated from field: string name = 1;\n */\n name = \"\";\n\n /**\n * @generated from field: repeated content.Tag sub_tags = 2;\n */\n subTags: Tag[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Tag\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"name\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"sub_tags\", kind: \"message\", T: Tag, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Tag {\n return new Tag().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Tag {\n return new Tag().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Tag {\n return new Tag().fromJsonString(jsonString, options);\n }\n\n static equals(a: Tag | PlainMessage | undefined, b: Tag | PlainMessage | undefined): boolean {\n return proto3.util.equals(Tag, a, b);\n }\n}\n\n/**\n * @generated from message content.ContentIDs\n */\nexport class ContentIDs extends Message {\n /**\n * @generated from field: repeated string content_ids = 1;\n */\n contentIds: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.ContentIDs\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"content_ids\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): ContentIDs {\n return new ContentIDs().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): ContentIDs {\n return new ContentIDs().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): ContentIDs {\n return new ContentIDs().fromJsonString(jsonString, options);\n }\n\n static equals(a: ContentIDs | PlainMessage | undefined, b: ContentIDs | PlainMessage | undefined): boolean {\n return proto3.util.equals(ContentIDs, a, b);\n }\n}\n\n/**\n * @generated from message content.Contents\n */\nexport class Contents extends Message {\n /**\n * @generated from field: content.Content content = 1;\n */\n content?: Content;\n\n /**\n * @generated from field: repeated content.Content related = 2;\n */\n related: Content[] = [];\n\n /**\n * @generated from field: repeated string parents = 3;\n */\n parents: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Contents\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"content\", kind: \"message\", T: Content },\n { no: 2, name: \"related\", kind: \"message\", T: Content, repeated: true },\n { no: 3, name: \"parents\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Contents {\n return new Contents().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Contents {\n return new Contents().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Contents {\n return new Contents().fromJsonString(jsonString, options);\n }\n\n static equals(a: Contents | PlainMessage | undefined, b: Contents | PlainMessage | undefined): boolean {\n return proto3.util.equals(Contents, a, b);\n }\n}\n\n/**\n * @generated from message content.Query\n */\nexport class Query extends Message {\n /**\n * @generated from field: string query = 1;\n */\n query = \"\";\n\n /**\n * @generated from field: uint32 page = 2;\n */\n page = 0;\n\n /**\n * @generated from field: string contentID = 3;\n */\n contentID = \"\";\n\n /**\n * @generated from field: string groupID = 4;\n */\n groupID = \"\";\n\n /**\n * @generated from field: repeated string tags = 5;\n */\n tags: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Query\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"query\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"page\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */ },\n { no: 3, name: \"contentID\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 4, name: \"groupID\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 5, name: \"tags\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Query {\n return new Query().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Query {\n return new Query().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Query {\n return new Query().fromJsonString(jsonString, options);\n }\n\n static equals(a: Query | PlainMessage | undefined, b: Query | PlainMessage | undefined): boolean {\n return proto3.util.equals(Query, a, b);\n }\n}\n\n/**\n * @generated from message content.Results\n */\nexport class Results extends Message {\n /**\n * @generated from field: repeated content.StoredContent storedContent = 1;\n */\n storedContent: StoredContent[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Results\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"storedContent\", kind: \"message\", T: StoredContent, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Results {\n return new Results().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Results {\n return new Results().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Results {\n return new Results().fromJsonString(jsonString, options);\n }\n\n static equals(a: Results | PlainMessage | undefined, b: Results | PlainMessage | undefined): boolean {\n return proto3.util.equals(Results, a, b);\n }\n}\n\n/**\n * @generated from message content.StoredContent\n */\nexport class StoredContent extends Message {\n /**\n * @generated from field: content.Content content = 1;\n */\n content?: Content;\n\n /**\n * @generated from field: string id = 2;\n */\n id = \"\";\n\n /**\n * @generated from field: repeated content.Content related = 3;\n */\n related: Content[] = [];\n\n /**\n * @generated from field: string title = 4;\n */\n title = \"\";\n\n /**\n * @generated from field: string description = 5;\n */\n description = \"\";\n\n /**\n * @generated from field: string image = 6;\n */\n image = \"\";\n\n /**\n * @generated from field: string url = 7;\n */\n url = \"\";\n\n /**\n * @generated from field: int32 votes = 8;\n */\n votes = 0;\n\n /**\n * @generated from field: user.User user = 9;\n */\n user?: User;\n\n /**\n * @generated from field: repeated content.Tag tags = 10;\n */\n tags: Tag[] = [];\n\n /**\n * @generated from field: string preview = 11;\n */\n preview = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.StoredContent\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"content\", kind: \"message\", T: Content },\n { no: 2, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 3, name: \"related\", kind: \"message\", T: Content, repeated: true },\n { no: 4, name: \"title\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 5, name: \"description\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 6, name: \"image\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 7, name: \"url\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 8, name: \"votes\", kind: \"scalar\", T: 5 /* ScalarType.INT32 */ },\n { no: 9, name: \"user\", kind: \"message\", T: User },\n { no: 10, name: \"tags\", kind: \"message\", T: Tag, repeated: true },\n { no: 11, name: \"preview\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): StoredContent {\n return new StoredContent().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): StoredContent {\n return new StoredContent().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): StoredContent {\n return new StoredContent().fromJsonString(jsonString, options);\n }\n\n static equals(a: StoredContent | PlainMessage | undefined, b: StoredContent | PlainMessage | undefined): boolean {\n return proto3.util.equals(StoredContent, a, b);\n }\n}\n\n/**\n * @generated from message content.Edge\n */\nexport class Edge extends Message {\n /**\n * @generated from field: string from = 1;\n */\n from = \"\";\n\n /**\n * @generated from field: string to = 2;\n */\n to = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Edge\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"from\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"to\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Edge {\n return new Edge().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Edge {\n return new Edge().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Edge {\n return new Edge().fromJsonString(jsonString, options);\n }\n\n static equals(a: Edge | PlainMessage | undefined, b: Edge | PlainMessage | undefined): boolean {\n return proto3.util.equals(Edge, a, b);\n }\n}\n\n/**\n * Content has data and metadata\n *\n * @generated from message content.Content\n */\nexport class Content extends Message {\n /**\n * @generated from field: repeated string tags = 1;\n */\n tags: string[] = [];\n\n /**\n * @generated from field: string created_at = 2;\n */\n createdAt = \"\";\n\n /**\n * @generated from field: string uri = 3;\n */\n uri = \"\";\n\n /**\n * @generated from field: string id = 4;\n */\n id = \"\";\n\n /**\n * @generated from oneof content.Content.type\n */\n type: {\n /**\n * @generated from field: content.Data data = 6;\n */\n value: Data;\n case: \"data\";\n } | {\n /**\n * @generated from field: content.Normalized normalized = 7;\n */\n value: Normalized;\n case: \"normalized\";\n } | {\n /**\n * @generated from field: content.Transformed transformed = 8;\n */\n value: Transformed;\n case: \"transformed\";\n } | { case: undefined; value?: undefined } = { case: undefined };\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Content\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"tags\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n { no: 2, name: \"created_at\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 3, name: \"uri\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 4, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 6, name: \"data\", kind: \"message\", T: Data, oneof: \"type\" },\n { no: 7, name: \"normalized\", kind: \"message\", T: Normalized, oneof: \"type\" },\n { no: 8, name: \"transformed\", kind: \"message\", T: Transformed, oneof: \"type\" },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Content {\n return new Content().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Content {\n return new Content().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Content {\n return new Content().fromJsonString(jsonString, options);\n }\n\n static equals(a: Content | PlainMessage | undefined, b: Content | PlainMessage | undefined): boolean {\n return proto3.util.equals(Content, a, b);\n }\n}\n\n/**\n * @generated from message content.GitRepo\n */\nexport class GitRepo extends Message {\n /**\n * @generated from field: string url = 1;\n */\n url = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.GitRepo\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"url\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GitRepo {\n return new GitRepo().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GitRepo {\n return new GitRepo().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GitRepo {\n return new GitRepo().fromJsonString(jsonString, options);\n }\n\n static equals(a: GitRepo | PlainMessage | undefined, b: GitRepo | PlainMessage | undefined): boolean {\n return proto3.util.equals(GitRepo, a, b);\n }\n}\n\n/**\n * @generated from message content.Data\n */\nexport class Data extends Message {\n /**\n * @generated from oneof content.Data.type\n */\n type: {\n /**\n * @generated from field: content.Text text = 4;\n */\n value: Text;\n case: \"text\";\n } | {\n /**\n * @generated from field: content.File file = 5;\n */\n value: File;\n case: \"file\";\n } | {\n /**\n * @generated from field: content.URL url = 6;\n */\n value: URL;\n case: \"url\";\n } | { case: undefined; value?: undefined } = { case: undefined };\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Data\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 4, name: \"text\", kind: \"message\", T: Text, oneof: \"type\" },\n { no: 5, name: \"file\", kind: \"message\", T: File, oneof: \"type\" },\n { no: 6, name: \"url\", kind: \"message\", T: URL, oneof: \"type\" },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Data {\n return new Data().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Data {\n return new Data().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Data {\n return new Data().fromJsonString(jsonString, options);\n }\n\n static equals(a: Data | PlainMessage | undefined, b: Data | PlainMessage | undefined): boolean {\n return proto3.util.equals(Data, a, b);\n }\n}\n\n/**\n * @generated from message content.Normalized\n */\nexport class Normalized extends Message {\n /**\n * @generated from oneof content.Normalized.type\n */\n type: {\n /**\n * @generated from field: content.Article article = 3;\n */\n value: Article;\n case: \"article\";\n } | {\n /**\n * @generated from field: content.HTML html = 4;\n */\n value: HTML;\n case: \"html\";\n } | {\n /**\n * @generated from field: content.Transcript transcript = 6;\n */\n value: Transcript;\n case: \"transcript\";\n } | {\n /**\n * @generated from field: content.ReadMe readme = 7;\n */\n value: ReadMe;\n case: \"readme\";\n } | { case: undefined; value?: undefined } = { case: undefined };\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Normalized\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 3, name: \"article\", kind: \"message\", T: Article, oneof: \"type\" },\n { no: 4, name: \"html\", kind: \"message\", T: HTML, oneof: \"type\" },\n { no: 6, name: \"transcript\", kind: \"message\", T: Transcript, oneof: \"type\" },\n { no: 7, name: \"readme\", kind: \"message\", T: ReadMe, oneof: \"type\" },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Normalized {\n return new Normalized().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Normalized {\n return new Normalized().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Normalized {\n return new Normalized().fromJsonString(jsonString, options);\n }\n\n static equals(a: Normalized | PlainMessage | undefined, b: Normalized | PlainMessage | undefined): boolean {\n return proto3.util.equals(Normalized, a, b);\n }\n}\n\n/**\n * @generated from message content.Transformed\n */\nexport class Transformed extends Message {\n /**\n * @generated from oneof content.Transformed.type\n */\n type: {\n /**\n * @generated from field: content.Summary summary = 1;\n */\n value: Summary;\n case: \"summary\";\n } | {\n /**\n * @generated from field: content.Categories categories = 2;\n */\n value: Categories;\n case: \"categories\";\n } | { case: undefined; value?: undefined } = { case: undefined };\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Transformed\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"summary\", kind: \"message\", T: Summary, oneof: \"type\" },\n { no: 2, name: \"categories\", kind: \"message\", T: Categories, oneof: \"type\" },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Transformed {\n return new Transformed().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Transformed {\n return new Transformed().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Transformed {\n return new Transformed().fromJsonString(jsonString, options);\n }\n\n static equals(a: Transformed | PlainMessage | undefined, b: Transformed | PlainMessage | undefined): boolean {\n return proto3.util.equals(Transformed, a, b);\n }\n}\n\n/**\n * @generated from message content.Article\n */\nexport class Article extends Message
{\n /**\n * @generated from field: string title = 1;\n */\n title = \"\";\n\n /**\n * @generated from field: string author = 2;\n */\n author = \"\";\n\n /**\n * @generated from field: int32 length = 3;\n */\n length = 0;\n\n /**\n * @generated from field: string excerpt = 4;\n */\n excerpt = \"\";\n\n /**\n * @generated from field: string site_name = 5;\n */\n siteName = \"\";\n\n /**\n * @generated from field: string image = 6;\n */\n image = \"\";\n\n /**\n * @generated from field: string favicon = 7;\n */\n favicon = \"\";\n\n /**\n * @generated from field: string text = 8;\n */\n text = \"\";\n\n constructor(data?: PartialMessage
) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Article\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"title\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"author\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 3, name: \"length\", kind: \"scalar\", T: 5 /* ScalarType.INT32 */ },\n { no: 4, name: \"excerpt\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 5, name: \"site_name\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 6, name: \"image\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 7, name: \"favicon\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 8, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Article {\n return new Article().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Article {\n return new Article().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Article {\n return new Article().fromJsonString(jsonString, options);\n }\n\n static equals(a: Article | PlainMessage
| undefined, b: Article | PlainMessage
| undefined): boolean {\n return proto3.util.equals(Article, a, b);\n }\n}\n\n/**\n * @generated from message content.HTML\n */\nexport class HTML extends Message {\n /**\n * @generated from field: string html = 1;\n */\n html = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.HTML\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"html\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): HTML {\n return new HTML().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): HTML {\n return new HTML().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): HTML {\n return new HTML().fromJsonString(jsonString, options);\n }\n\n static equals(a: HTML | PlainMessage | undefined, b: HTML | PlainMessage | undefined): boolean {\n return proto3.util.equals(HTML, a, b);\n }\n}\n\n/**\n * @generated from message content.ReadMe\n */\nexport class ReadMe extends Message {\n /**\n * @generated from field: string data = 1;\n */\n data = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.ReadMe\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"data\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): ReadMe {\n return new ReadMe().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): ReadMe {\n return new ReadMe().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): ReadMe {\n return new ReadMe().fromJsonString(jsonString, options);\n }\n\n static equals(a: ReadMe | PlainMessage | undefined, b: ReadMe | PlainMessage | undefined): boolean {\n return proto3.util.equals(ReadMe, a, b);\n }\n}\n\n/**\n * @generated from message content.Summary\n */\nexport class Summary extends Message {\n /**\n * @generated from field: string summary = 1;\n */\n summary = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Summary\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"summary\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Summary {\n return new Summary().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Summary {\n return new Summary().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Summary {\n return new Summary().fromJsonString(jsonString, options);\n }\n\n static equals(a: Summary | PlainMessage | undefined, b: Summary | PlainMessage | undefined): boolean {\n return proto3.util.equals(Summary, a, b);\n }\n}\n\n/**\n * @generated from message content.Categories\n */\nexport class Categories extends Message {\n /**\n * @generated from field: repeated string categories = 1;\n */\n categories: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Categories\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"categories\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Categories {\n return new Categories().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Categories {\n return new Categories().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Categories {\n return new Categories().fromJsonString(jsonString, options);\n }\n\n static equals(a: Categories | PlainMessage | undefined, b: Categories | PlainMessage | undefined): boolean {\n return proto3.util.equals(Categories, a, b);\n }\n}\n\n/**\n * @generated from message content.File\n */\nexport class File extends Message {\n /**\n * @generated from field: string file = 1;\n */\n file = \"\";\n\n /**\n * @generated from field: bytes data = 2;\n */\n data = new Uint8Array(0);\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.File\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"file\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"data\", kind: \"scalar\", T: 12 /* ScalarType.BYTES */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): File {\n return new File().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): File {\n return new File().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): File {\n return new File().fromJsonString(jsonString, options);\n }\n\n static equals(a: File | PlainMessage | undefined, b: File | PlainMessage | undefined): boolean {\n return proto3.util.equals(File, a, b);\n }\n}\n\n/**\n * @generated from message content.Text\n */\nexport class Text extends Message {\n /**\n * @generated from field: string data = 1;\n */\n data = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Text\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"data\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Text {\n return new Text().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Text {\n return new Text().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Text {\n return new Text().fromJsonString(jsonString, options);\n }\n\n static equals(a: Text | PlainMessage | undefined, b: Text | PlainMessage | undefined): boolean {\n return proto3.util.equals(Text, a, b);\n }\n}\n\n/**\n * @generated from message content.URL\n */\nexport class URL extends Message {\n /**\n * @generated from field: string url = 1;\n */\n url = \"\";\n\n /**\n * @generated from field: bool crawl = 2;\n */\n crawl = false;\n\n /**\n * @generated from field: string title = 3;\n */\n title = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.URL\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"url\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"crawl\", kind: \"scalar\", T: 8 /* ScalarType.BOOL */ },\n { no: 3, name: \"title\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): URL {\n return new URL().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): URL {\n return new URL().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): URL {\n return new URL().fromJsonString(jsonString, options);\n }\n\n static equals(a: URL | PlainMessage | undefined, b: URL | PlainMessage | undefined): boolean {\n return proto3.util.equals(URL, a, b);\n }\n}\n\n/**\n * @generated from message content.Token\n */\nexport class Token extends Message {\n /**\n * @generated from field: uint32 id = 1;\n */\n id = 0;\n\n /**\n * @generated from field: uint64 start_time = 2;\n */\n startTime = protoInt64.zero;\n\n /**\n * @generated from field: uint64 end_time = 3;\n */\n endTime = protoInt64.zero;\n\n /**\n * @generated from field: string text = 4;\n */\n text = \"\";\n\n /**\n * @generated from field: string p = 5;\n */\n p = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Token\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */ },\n { no: 2, name: \"start_time\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n { no: 3, name: \"end_time\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n { no: 4, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 5, name: \"p\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Token {\n return new Token().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Token {\n return new Token().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Token {\n return new Token().fromJsonString(jsonString, options);\n }\n\n static equals(a: Token | PlainMessage | undefined, b: Token | PlainMessage | undefined): boolean {\n return proto3.util.equals(Token, a, b);\n }\n}\n\n/**\n * @generated from message content.Segment\n */\nexport class Segment extends Message {\n /**\n * @generated from field: uint32 num = 1;\n */\n num = 0;\n\n /**\n * @generated from field: repeated content.Token tokens = 2;\n */\n tokens: Token[] = [];\n\n /**\n * @generated from field: string text = 3;\n */\n text = \"\";\n\n /**\n * @generated from field: uint64 start_time = 4;\n */\n startTime = protoInt64.zero;\n\n /**\n * @generated from field: uint64 end_time = 5;\n */\n endTime = protoInt64.zero;\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Segment\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"num\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */ },\n { no: 2, name: \"tokens\", kind: \"message\", T: Token, repeated: true },\n { no: 3, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 4, name: \"start_time\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n { no: 5, name: \"end_time\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Segment {\n return new Segment().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Segment {\n return new Segment().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Segment {\n return new Segment().fromJsonString(jsonString, options);\n }\n\n static equals(a: Segment | PlainMessage | undefined, b: Segment | PlainMessage | undefined): boolean {\n return proto3.util.equals(Segment, a, b);\n }\n}\n\n/**\n * @generated from message content.Transcript\n */\nexport class Transcript extends Message {\n /**\n * @generated from field: string id = 1;\n */\n id = \"\";\n\n /**\n * @generated from field: string name = 2;\n */\n name = \"\";\n\n /**\n * @generated from field: repeated content.Segment segments = 3;\n */\n segments: Segment[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"content.Transcript\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"name\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 3, name: \"segments\", kind: \"message\", T: Segment, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Transcript {\n return new Transcript().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Transcript {\n return new Transcript().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Transcript {\n return new Transcript().fromJsonString(jsonString, options);\n }\n\n static equals(a: Transcript | PlainMessage | undefined, b: Transcript | PlainMessage | undefined): boolean {\n return proto3.util.equals(Transcript, a, b);\n }\n}\n\n", "// @generated by protoc-gen-es v1.3.3 with parameter \"target=ts\"\n// @generated from file protoflow.proto (package protoflow, syntax proto3)\n/* eslint-disable */\n// @ts-nocheck\n\nimport type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from \"@bufbuild/protobuf\";\nimport { Message, proto3, protoInt64 } from \"@bufbuild/protobuf\";\nimport { Content } from \"./content/content_pb.js\";\n\n/**\n * @generated from message protoflow.AnalyzeConversationRequest\n */\nexport class AnalyzeConversationRequest extends Message {\n /**\n * @generated from field: string text = 1;\n */\n text = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.AnalyzeConversationRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): AnalyzeConversationRequest {\n return new AnalyzeConversationRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): AnalyzeConversationRequest {\n return new AnalyzeConversationRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): AnalyzeConversationRequest {\n return new AnalyzeConversationRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: AnalyzeConversationRequest | PlainMessage | undefined, b: AnalyzeConversationRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(AnalyzeConversationRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.GenerateImagesRequest\n */\nexport class GenerateImagesRequest extends Message {\n /**\n * @generated from field: string prompt = 1;\n */\n prompt = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.GenerateImagesRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"prompt\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GenerateImagesRequest {\n return new GenerateImagesRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GenerateImagesRequest {\n return new GenerateImagesRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GenerateImagesRequest {\n return new GenerateImagesRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: GenerateImagesRequest | PlainMessage | undefined, b: GenerateImagesRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(GenerateImagesRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.GenerateImagesResponse\n */\nexport class GenerateImagesResponse extends Message {\n /**\n * @generated from field: repeated string images = 1;\n */\n images: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.GenerateImagesResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"images\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GenerateImagesResponse {\n return new GenerateImagesResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GenerateImagesResponse {\n return new GenerateImagesResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GenerateImagesResponse {\n return new GenerateImagesResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: GenerateImagesResponse | PlainMessage | undefined, b: GenerateImagesResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(GenerateImagesResponse, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.DeleteSessionRequest\n */\nexport class DeleteSessionRequest extends Message {\n /**\n * @generated from field: string id = 1;\n */\n id = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.DeleteSessionRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): DeleteSessionRequest {\n return new DeleteSessionRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): DeleteSessionRequest {\n return new DeleteSessionRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): DeleteSessionRequest {\n return new DeleteSessionRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: DeleteSessionRequest | PlainMessage | undefined, b: DeleteSessionRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(DeleteSessionRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.Prompt\n */\nexport class Prompt extends Message {\n /**\n * @generated from field: string id = 1;\n */\n id = \"\";\n\n /**\n * @generated from field: string text = 2;\n */\n text = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.Prompt\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Prompt {\n return new Prompt().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Prompt {\n return new Prompt().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Prompt {\n return new Prompt().fromJsonString(jsonString, options);\n }\n\n static equals(a: Prompt | PlainMessage | undefined, b: Prompt | PlainMessage | undefined): boolean {\n return proto3.util.equals(Prompt, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.GetPromptsRequest\n */\nexport class GetPromptsRequest extends Message {\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.GetPromptsRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GetPromptsRequest {\n return new GetPromptsRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GetPromptsRequest {\n return new GetPromptsRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GetPromptsRequest {\n return new GetPromptsRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: GetPromptsRequest | PlainMessage | undefined, b: GetPromptsRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(GetPromptsRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.GetPromptsResponse\n */\nexport class GetPromptsResponse extends Message {\n /**\n * @generated from field: repeated protoflow.Prompt prompts = 1;\n */\n prompts: Prompt[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.GetPromptsResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"prompts\", kind: \"message\", T: Prompt, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GetPromptsResponse {\n return new GetPromptsResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GetPromptsResponse {\n return new GetPromptsResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GetPromptsResponse {\n return new GetPromptsResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: GetPromptsResponse | PlainMessage | undefined, b: GetPromptsResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(GetPromptsResponse, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.InferRequest\n */\nexport class InferRequest extends Message {\n /**\n * @generated from field: string prompt = 1;\n */\n prompt = \"\";\n\n /**\n * @generated from field: repeated string text = 2;\n */\n text: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.InferRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"prompt\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): InferRequest {\n return new InferRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): InferRequest {\n return new InferRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): InferRequest {\n return new InferRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: InferRequest | PlainMessage | undefined, b: InferRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(InferRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.InferResponse\n */\nexport class InferResponse extends Message {\n /**\n * @generated from field: string text = 1;\n */\n text = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.InferResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): InferResponse {\n return new InferResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): InferResponse {\n return new InferResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): InferResponse {\n return new InferResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: InferResponse | PlainMessage | undefined, b: InferResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(InferResponse, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.UploadContentRequest\n */\nexport class UploadContentRequest extends Message {\n /**\n * @generated from field: content.Content content = 1;\n */\n content?: Content;\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.UploadContentRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"content\", kind: \"message\", T: Content },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): UploadContentRequest {\n return new UploadContentRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): UploadContentRequest {\n return new UploadContentRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): UploadContentRequest {\n return new UploadContentRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: UploadContentRequest | PlainMessage | undefined, b: UploadContentRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(UploadContentRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.UploadContentResponse\n */\nexport class UploadContentResponse extends Message {\n /**\n * @generated from field: string id = 1;\n */\n id = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.UploadContentResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): UploadContentResponse {\n return new UploadContentResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): UploadContentResponse {\n return new UploadContentResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): UploadContentResponse {\n return new UploadContentResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: UploadContentResponse | PlainMessage | undefined, b: UploadContentResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(UploadContentResponse, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.GetSessionRequest\n */\nexport class GetSessionRequest extends Message {\n /**\n * @generated from field: string id = 1;\n */\n id = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.GetSessionRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GetSessionRequest {\n return new GetSessionRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GetSessionRequest {\n return new GetSessionRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GetSessionRequest {\n return new GetSessionRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: GetSessionRequest | PlainMessage | undefined, b: GetSessionRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(GetSessionRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.GetSessionResponse\n */\nexport class GetSessionResponse extends Message {\n /**\n * @generated from field: protoflow.Session session = 1;\n */\n session?: Session;\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.GetSessionResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"session\", kind: \"message\", T: Session },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GetSessionResponse {\n return new GetSessionResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GetSessionResponse {\n return new GetSessionResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GetSessionResponse {\n return new GetSessionResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: GetSessionResponse | PlainMessage | undefined, b: GetSessionResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(GetSessionResponse, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.GetSessionsRequest\n */\nexport class GetSessionsRequest extends Message {\n /**\n * @generated from field: uint64 page = 1;\n */\n page = protoInt64.zero;\n\n /**\n * @generated from field: uint64 limit = 2;\n */\n limit = protoInt64.zero;\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.GetSessionsRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"page\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n { no: 2, name: \"limit\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GetSessionsRequest {\n return new GetSessionsRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GetSessionsRequest {\n return new GetSessionsRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GetSessionsRequest {\n return new GetSessionsRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: GetSessionsRequest | PlainMessage | undefined, b: GetSessionsRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(GetSessionsRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.GetSessionsResponse\n */\nexport class GetSessionsResponse extends Message {\n /**\n * @generated from field: repeated protoflow.Session sessions = 1;\n */\n sessions: Session[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.GetSessionsResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"sessions\", kind: \"message\", T: Session, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): GetSessionsResponse {\n return new GetSessionsResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): GetSessionsResponse {\n return new GetSessionsResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): GetSessionsResponse {\n return new GetSessionsResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: GetSessionsResponse | PlainMessage | undefined, b: GetSessionsResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(GetSessionsResponse, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.Token\n */\nexport class Token extends Message {\n /**\n * @generated from field: uint32 id = 1;\n */\n id = 0;\n\n /**\n * @generated from field: uint64 start_time = 2;\n */\n startTime = protoInt64.zero;\n\n /**\n * @generated from field: uint64 end_time = 3;\n */\n endTime = protoInt64.zero;\n\n /**\n * @generated from field: string text = 4;\n */\n text = \"\";\n\n /**\n * @generated from field: string p = 5;\n */\n p = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.Token\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */ },\n { no: 2, name: \"start_time\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n { no: 3, name: \"end_time\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n { no: 4, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 5, name: \"p\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Token {\n return new Token().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Token {\n return new Token().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Token {\n return new Token().fromJsonString(jsonString, options);\n }\n\n static equals(a: Token | PlainMessage | undefined, b: Token | PlainMessage | undefined): boolean {\n return proto3.util.equals(Token, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.Segment\n */\nexport class Segment extends Message {\n /**\n * @generated from field: uint32 num = 1;\n */\n num = 0;\n\n /**\n * @generated from field: repeated protoflow.Token tokens = 2;\n */\n tokens: Token[] = [];\n\n /**\n * @generated from field: string text = 3;\n */\n text = \"\";\n\n /**\n * @generated from field: uint64 start_time = 4;\n */\n startTime = protoInt64.zero;\n\n /**\n * @generated from field: uint64 end_time = 5;\n */\n endTime = protoInt64.zero;\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.Segment\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"num\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */ },\n { no: 2, name: \"tokens\", kind: \"message\", T: Token, repeated: true },\n { no: 3, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 4, name: \"start_time\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n { no: 5, name: \"end_time\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Segment {\n return new Segment().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Segment {\n return new Segment().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Segment {\n return new Segment().fromJsonString(jsonString, options);\n }\n\n static equals(a: Segment | PlainMessage | undefined, b: Segment | PlainMessage | undefined): boolean {\n return proto3.util.equals(Segment, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.Session\n */\nexport class Session extends Message {\n /**\n * @generated from field: string id = 1;\n */\n id = \"\";\n\n /**\n * @generated from field: string name = 2;\n */\n name = \"\";\n\n /**\n * @generated from field: repeated protoflow.Segment segments = 3;\n */\n segments: Segment[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.Session\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"name\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 3, name: \"segments\", kind: \"message\", T: Segment, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Session {\n return new Session().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Session {\n return new Session().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Session {\n return new Session().fromJsonString(jsonString, options);\n }\n\n static equals(a: Session | PlainMessage | undefined, b: Session | PlainMessage | undefined): boolean {\n return proto3.util.equals(Session, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.TranscriptionRequest\n */\nexport class TranscriptionRequest extends Message {\n /**\n * @generated from field: string file_path = 14;\n */\n filePath = \"\";\n\n /**\n * Path to the model file\n *\n * @generated from field: string model = 1;\n */\n model = \"\";\n\n /**\n * Spoken language\n *\n * @generated from field: string language = 2;\n */\n language = \"\";\n\n /**\n * Translate from source language to English\n *\n * @generated from field: bool translate = 3;\n */\n translate = false;\n\n /**\n * Time offset in nanoseconds to match Go's time.Duration\n *\n * @generated from field: int64 offset = 4;\n */\n offset = protoInt64.zero;\n\n /**\n * Duration of audio to process in nanoseconds\n *\n * @generated from field: int64 duration = 5;\n */\n duration = protoInt64.zero;\n\n /**\n * Number of threads to use\n *\n * @generated from field: uint32 threads = 6;\n */\n threads = 0;\n\n /**\n * Enable speedup\n *\n * @generated from field: bool speedup = 7;\n */\n speedup = false;\n\n /**\n * Maximum segment length in characters\n *\n * @generated from field: uint32 max_len = 8;\n */\n maxLen = 0;\n\n /**\n * Maximum tokens per segment\n *\n * @generated from field: uint32 max_tokens = 9;\n */\n maxTokens = 0;\n\n /**\n * Maximum segment score\n *\n * @generated from field: double word_threshold = 10;\n */\n wordThreshold = 0;\n\n /**\n * Display tokens\n *\n * @generated from field: bool tokens = 11;\n */\n tokens = false;\n\n /**\n * Colorize tokens\n *\n * @generated from field: bool colorize = 12;\n */\n colorize = false;\n\n /**\n * Output format (srt, none or leave as empty string)\n *\n * @generated from field: string out = 13;\n */\n out = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.TranscriptionRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 14, name: \"file_path\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 1, name: \"model\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"language\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 3, name: \"translate\", kind: \"scalar\", T: 8 /* ScalarType.BOOL */ },\n { no: 4, name: \"offset\", kind: \"scalar\", T: 3 /* ScalarType.INT64 */ },\n { no: 5, name: \"duration\", kind: \"scalar\", T: 3 /* ScalarType.INT64 */ },\n { no: 6, name: \"threads\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */ },\n { no: 7, name: \"speedup\", kind: \"scalar\", T: 8 /* ScalarType.BOOL */ },\n { no: 8, name: \"max_len\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */ },\n { no: 9, name: \"max_tokens\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */ },\n { no: 10, name: \"word_threshold\", kind: \"scalar\", T: 1 /* ScalarType.DOUBLE */ },\n { no: 11, name: \"tokens\", kind: \"scalar\", T: 8 /* ScalarType.BOOL */ },\n { no: 12, name: \"colorize\", kind: \"scalar\", T: 8 /* ScalarType.BOOL */ },\n { no: 13, name: \"out\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): TranscriptionRequest {\n return new TranscriptionRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): TranscriptionRequest {\n return new TranscriptionRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): TranscriptionRequest {\n return new TranscriptionRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: TranscriptionRequest | PlainMessage | undefined, b: TranscriptionRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(TranscriptionRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.RegisterFlags\n */\nexport class RegisterFlags extends Message {\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.RegisterFlags\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): RegisterFlags {\n return new RegisterFlags().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): RegisterFlags {\n return new RegisterFlags().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): RegisterFlags {\n return new RegisterFlags().fromJsonString(jsonString, options);\n }\n\n static equals(a: RegisterFlags | PlainMessage | undefined, b: RegisterFlags | PlainMessage | undefined): boolean {\n return proto3.util.equals(RegisterFlags, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.OCRText\n */\nexport class OCRText extends Message {\n /**\n * @generated from field: string text = 1;\n */\n text = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.OCRText\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"text\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): OCRText {\n return new OCRText().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): OCRText {\n return new OCRText().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): OCRText {\n return new OCRText().fromJsonString(jsonString, options);\n }\n\n static equals(a: OCRText | PlainMessage | undefined, b: OCRText | PlainMessage | undefined): boolean {\n return proto3.util.equals(OCRText, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.Image\n */\nexport class Image extends Message {\n /**\n * @generated from field: bytes image = 1;\n */\n image = new Uint8Array(0);\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.Image\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"image\", kind: \"scalar\", T: 12 /* ScalarType.BYTES */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): Image {\n return new Image().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): Image {\n return new Image().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): Image {\n return new Image().fromJsonString(jsonString, options);\n }\n\n static equals(a: Image | PlainMessage | undefined, b: Image | PlainMessage | undefined): boolean {\n return proto3.util.equals(Image, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.ConvertFileRequest\n */\nexport class ConvertFileRequest extends Message {\n /**\n * @generated from field: string from = 1;\n */\n from = \"\";\n\n /**\n * @generated from field: string to = 2;\n */\n to = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.ConvertFileRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"from\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"to\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): ConvertFileRequest {\n return new ConvertFileRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): ConvertFileRequest {\n return new ConvertFileRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): ConvertFileRequest {\n return new ConvertFileRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: ConvertFileRequest | PlainMessage | undefined, b: ConvertFileRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(ConvertFileRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.ChatRequest\n */\nexport class ChatRequest extends Message {\n /**\n * @generated from field: int32 capture_device = 1;\n */\n captureDevice = 0;\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.ChatRequest\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"capture_device\", kind: \"scalar\", T: 5 /* ScalarType.INT32 */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): ChatRequest {\n return new ChatRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): ChatRequest {\n return new ChatRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): ChatRequest {\n return new ChatRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: ChatRequest | PlainMessage | undefined, b: ChatRequest | PlainMessage | undefined): boolean {\n return proto3.util.equals(ChatRequest, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.ChatResponse\n */\nexport class ChatResponse extends Message {\n /**\n * @generated from field: protoflow.Segment segment = 1;\n */\n segment?: Segment;\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.ChatResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"segment\", kind: \"message\", T: Segment },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): ChatResponse {\n return new ChatResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): ChatResponse {\n return new ChatResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): ChatResponse {\n return new ChatResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: ChatResponse | PlainMessage | undefined, b: ChatResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(ChatResponse, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.YouTubeVideo\n */\nexport class YouTubeVideo extends Message {\n /**\n * @generated from field: string id = 1;\n */\n id = \"\";\n\n /**\n * @generated from field: string file = 2;\n */\n file = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.YouTubeVideo\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"id\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"file\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): YouTubeVideo {\n return new YouTubeVideo().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): YouTubeVideo {\n return new YouTubeVideo().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): YouTubeVideo {\n return new YouTubeVideo().fromJsonString(jsonString, options);\n }\n\n static equals(a: YouTubeVideo | PlainMessage | undefined, b: YouTubeVideo | PlainMessage | undefined): boolean {\n return proto3.util.equals(YouTubeVideo, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.FilePath\n */\nexport class FilePath extends Message {\n /**\n * @generated from field: string file = 1;\n */\n file = \"\";\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.FilePath\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"file\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): FilePath {\n return new FilePath().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): FilePath {\n return new FilePath().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): FilePath {\n return new FilePath().fromJsonString(jsonString, options);\n }\n\n static equals(a: FilePath | PlainMessage | undefined, b: FilePath | PlainMessage | undefined): boolean {\n return proto3.util.equals(FilePath, a, b);\n }\n}\n\n/**\n * @generated from message protoflow.YouTubeVideoResponse\n */\nexport class YouTubeVideoResponse extends Message {\n /**\n * @generated from field: string title = 1;\n */\n title = \"\";\n\n /**\n * @generated from field: protoflow.FilePath file_path = 2;\n */\n filePath?: FilePath;\n\n /**\n * @generated from field: repeated protoflow.Segment transcript = 3;\n */\n transcript: Segment[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"protoflow.YouTubeVideoResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"title\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 2, name: \"file_path\", kind: \"message\", T: FilePath },\n { no: 3, name: \"transcript\", kind: \"message\", T: Segment, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): YouTubeVideoResponse {\n return new YouTubeVideoResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): YouTubeVideoResponse {\n return new YouTubeVideoResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): YouTubeVideoResponse {\n return new YouTubeVideoResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: YouTubeVideoResponse | PlainMessage | undefined, b: YouTubeVideoResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(YouTubeVideoResponse, a, b);\n }\n}\n\n", "// @generated by protoc-gen-es v1.3.3 with parameter \"target=ts\"\n// @generated from file ai.proto (package ai, syntax proto3)\n/* eslint-disable */\n// @ts-nocheck\n\nimport type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from \"@bufbuild/protobuf\";\nimport { Message, proto3 } from \"@bufbuild/protobuf\";\n\n/**\n * @generated from message ai.AnalyzeConversationResponse\n */\nexport class AnalyzeConversationResponse extends Message {\n /**\n * Phone numbers of the participants\n *\n * @generated from field: repeated string phone_numbers = 1;\n */\n phoneNumbers: string[] = [];\n\n /**\n * The summary of the conversation\n *\n * @generated from field: string summary = 2;\n */\n summary = \"\";\n\n /**\n * Based on the content of the conversation, the system will generate a list of questions\n *\n * @generated from field: repeated string questions = 3;\n */\n questions: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"ai.AnalyzeConversationResponse\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"phone_numbers\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n { no: 2, name: \"summary\", kind: \"scalar\", T: 9 /* ScalarType.STRING */ },\n { no: 3, name: \"questions\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): AnalyzeConversationResponse {\n return new AnalyzeConversationResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): AnalyzeConversationResponse {\n return new AnalyzeConversationResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): AnalyzeConversationResponse {\n return new AnalyzeConversationResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: AnalyzeConversationResponse | PlainMessage | undefined, b: AnalyzeConversationResponse | PlainMessage | undefined): boolean {\n return proto3.util.equals(AnalyzeConversationResponse, a, b);\n }\n}\n\n/**\n * @generated from message ai.AnalyzeContent\n */\nexport class AnalyzeContent extends Message {\n /**\n * Potential categories for the content in the form: category/subcategory/other-category. The category is all lowercase and spaces are replaced with dashes.\n *\n * @generated from field: repeated string categories = 1;\n */\n categories: string[] = [];\n\n constructor(data?: PartialMessage) {\n super();\n proto3.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto3 = proto3;\n static readonly typeName = \"ai.AnalyzeContent\";\n static readonly fields: FieldList = proto3.util.newFieldList(() => [\n { no: 1, name: \"categories\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial): AnalyzeContent {\n return new AnalyzeContent().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial): AnalyzeContent {\n return new AnalyzeContent().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial): AnalyzeContent {\n return new AnalyzeContent().fromJsonString(jsonString, options);\n }\n\n static equals(a: AnalyzeContent | PlainMessage | undefined, b: AnalyzeContent | PlainMessage | undefined): boolean {\n return proto3.util.equals(AnalyzeContent, a, b);\n }\n}\n\n", "// @generated by protoc-gen-connect-es v0.13.0 with parameter \"target=ts\"\n// @generated from file protoflow.proto (package protoflow, syntax proto3)\n/* eslint-disable */\n// @ts-nocheck\n\nimport { AnalyzeConversationRequest, ChatRequest, ChatResponse, ConvertFileRequest, DeleteSessionRequest, FilePath, GenerateImagesRequest, GenerateImagesResponse, GetPromptsRequest, GetPromptsResponse, GetSessionRequest, GetSessionResponse, GetSessionsRequest, GetSessionsResponse, InferRequest, InferResponse, Prompt, UploadContentRequest, YouTubeVideo, YouTubeVideoResponse } from \"./protoflow_pb.js\";\nimport { Empty, MethodKind } from \"@bufbuild/protobuf\";\nimport { AnalyzeConversationResponse } from \"./ai_pb.js\";\n\n/**\n * @generated from service protoflow.ProtoflowService\n */\nexport const ProtoflowService = {\n typeName: \"protoflow.ProtoflowService\",\n methods: {\n /**\n * @generated from rpc protoflow.ProtoflowService.DownloadYouTubeVideo\n */\n downloadYouTubeVideo: {\n name: \"DownloadYouTubeVideo\",\n I: YouTubeVideo,\n O: YouTubeVideoResponse,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.GetSessions\n */\n getSessions: {\n name: \"GetSessions\",\n I: GetSessionsRequest,\n O: GetSessionsResponse,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.GetSession\n */\n getSession: {\n name: \"GetSession\",\n I: GetSessionRequest,\n O: GetSessionResponse,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.DeleteSession\n */\n deleteSession: {\n name: \"DeleteSession\",\n I: DeleteSessionRequest,\n O: Empty,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.GetPrompts\n */\n getPrompts: {\n name: \"GetPrompts\",\n I: GetPromptsRequest,\n O: GetPromptsResponse,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.NewPrompt\n */\n newPrompt: {\n name: \"NewPrompt\",\n I: Prompt,\n O: Prompt,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.UploadContent\n */\n uploadContent: {\n name: \"UploadContent\",\n I: UploadContentRequest,\n O: ChatResponse,\n kind: MethodKind.ServerStreaming,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.Infer\n */\n infer: {\n name: \"Infer\",\n I: InferRequest,\n O: InferResponse,\n kind: MethodKind.ServerStreaming,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.Chat\n */\n chat: {\n name: \"Chat\",\n I: ChatRequest,\n O: ChatResponse,\n kind: MethodKind.ServerStreaming,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.ConvertFile\n */\n convertFile: {\n name: \"ConvertFile\",\n I: ConvertFileRequest,\n O: FilePath,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.GenerateImages\n */\n generateImages: {\n name: \"GenerateImages\",\n I: GenerateImagesRequest,\n O: GenerateImagesResponse,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc protoflow.ProtoflowService.AnalyzeConversation\n */\n analyzeConversation: {\n name: \"AnalyzeConversation\",\n I: AnalyzeConversationRequest,\n O: AnalyzeConversationResponse,\n kind: MethodKind.Unary,\n },\n }\n} as const;\n\n", "// @generated by protoc-gen-connect-es v0.13.0 with parameter \"target=ts\"\n// @generated from file content/content.proto (package content, syntax proto3)\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Content, ContentIDs, Contents, Query, Results, SetTagsRequest, TagRequest, Tags, VoteRequest, VoteResponse } from \"./content_pb.js\";\nimport { Empty, MethodKind } from \"@bufbuild/protobuf\";\n\n/**\n * @generated from service content.ContentService\n */\nexport const ContentService = {\n typeName: \"content.ContentService\",\n methods: {\n /**\n * @generated from rpc content.ContentService.Save\n */\n save: {\n name: \"Save\",\n I: Contents,\n O: ContentIDs,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc content.ContentService.Search\n */\n search: {\n name: \"Search\",\n I: Query,\n O: Results,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc content.ContentService.Analyze\n */\n analyze: {\n name: \"Analyze\",\n I: Content,\n O: Contents,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc content.ContentService.Delete\n */\n delete: {\n name: \"Delete\",\n I: ContentIDs,\n O: ContentIDs,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc content.ContentService.GetTags\n */\n getTags: {\n name: \"GetTags\",\n I: TagRequest,\n O: Tags,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc content.ContentService.SetTags\n */\n setTags: {\n name: \"SetTags\",\n I: SetTagsRequest,\n O: Empty,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc content.ContentService.Vote\n */\n vote: {\n name: \"Vote\",\n I: VoteRequest,\n O: VoteResponse,\n kind: MethodKind.Unary,\n },\n }\n} as const;\n\n", "// @generated by protoc-gen-connect-es v0.13.0 with parameter \"target=ts\"\n// @generated from file user/user.proto (package user, syntax proto3)\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Config, Group, GroupID, GroupInfoRequest, GroupInvite, Groups, ShareRequest, User } from \"./user_pb.js\";\nimport { Empty, MethodKind } from \"@bufbuild/protobuf\";\n\n/**\n * @generated from service user.UserService\n */\nexport const UserService = {\n typeName: \"user.UserService\",\n methods: {\n /**\n * @generated from rpc user.UserService.Register\n */\n register: {\n name: \"Register\",\n I: User,\n O: User,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.Login\n */\n login: {\n name: \"Login\",\n I: User,\n O: User,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.Logout\n */\n logout: {\n name: \"Logout\",\n I: Empty,\n O: Empty,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.UpdateConfig\n */\n updateConfig: {\n name: \"UpdateConfig\",\n I: Config,\n O: Empty,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.CreateGroupInvite\n */\n createGroupInvite: {\n name: \"CreateGroupInvite\",\n I: GroupID,\n O: GroupInvite,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.JoinGroup\n */\n joinGroup: {\n name: \"JoinGroup\",\n I: GroupInvite,\n O: Group,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.GroupInfo\n */\n groupInfo: {\n name: \"GroupInfo\",\n I: GroupInfoRequest,\n O: Group,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.CreateGroup\n */\n createGroup: {\n name: \"CreateGroup\",\n I: Group,\n O: Group,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.GetGroups\n */\n getGroups: {\n name: \"GetGroups\",\n I: Empty,\n O: Groups,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.DeleteGroup\n */\n deleteGroup: {\n name: \"DeleteGroup\",\n I: Group,\n O: Empty,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc user.UserService.Share\n */\n share: {\n name: \"Share\",\n I: ShareRequest,\n O: Empty,\n kind: MethodKind.Unary,\n },\n }\n} as const;\n\n", "type Listener = () => void\n\nexport class Subscribable {\n protected listeners: Set<{ listener: TListener }>\n\n constructor() {\n this.listeners = new Set()\n this.subscribe = this.subscribe.bind(this)\n }\n\n subscribe(listener: TListener): () => void {\n const identity = { listener }\n this.listeners.add(identity)\n\n this.onSubscribe()\n\n return () => {\n this.listeners.delete(identity)\n this.onUnsubscribe()\n }\n }\n\n hasListeners(): boolean {\n return this.listeners.size > 0\n }\n\n protected onSubscribe(): void {\n // Do nothing\n }\n\n protected onUnsubscribe(): void {\n // Do nothing\n }\n}\n", "import type { Mutation } from './mutation'\nimport type { Query } from './query'\nimport type {\n FetchStatus,\n MutationFunction,\n MutationKey,\n MutationOptions,\n QueryFunction,\n QueryKey,\n QueryOptions,\n} from './types'\n\n// TYPES\n\nexport interface QueryFilters {\n /**\n * Filter to active queries, inactive queries or all queries\n */\n type?: QueryTypeFilter\n /**\n * Match query key exactly\n */\n exact?: boolean\n /**\n * Include queries matching this predicate function\n */\n predicate?: (query: Query) => boolean\n /**\n * Include queries matching this query key\n */\n queryKey?: QueryKey\n /**\n * Include or exclude stale queries\n */\n stale?: boolean\n /**\n * Include queries matching their fetchStatus\n */\n fetchStatus?: FetchStatus\n}\n\nexport interface MutationFilters {\n /**\n * Match mutation key exactly\n */\n exact?: boolean\n /**\n * Include mutations matching this predicate function\n */\n predicate?: (mutation: Mutation) => boolean\n /**\n * Include mutations matching this mutation key\n */\n mutationKey?: MutationKey\n /**\n * Include or exclude fetching mutations\n */\n fetching?: boolean\n}\n\nexport type DataUpdateFunction = (input: TInput) => TOutput\n\nexport type Updater =\n | TOutput\n | DataUpdateFunction\n\nexport type QueryTypeFilter = 'all' | 'active' | 'inactive'\n\n// UTILS\n\nexport const isServer = typeof window === 'undefined' || 'Deno' in window\n\nexport function noop(): undefined {\n return undefined\n}\n\nexport function functionalUpdate(\n updater: Updater,\n input: TInput,\n): TOutput {\n return typeof updater === 'function'\n ? (updater as DataUpdateFunction)(input)\n : updater\n}\n\nexport function isValidTimeout(value: unknown): value is number {\n return typeof value === 'number' && value >= 0 && value !== Infinity\n}\n\nexport function difference(array1: T[], array2: T[]): T[] {\n return array1.filter((x) => !array2.includes(x))\n}\n\nexport function replaceAt(array: T[], index: number, value: T): T[] {\n const copy = array.slice(0)\n copy[index] = value\n return copy\n}\n\nexport function timeUntilStale(updatedAt: number, staleTime?: number): number {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0)\n}\n\nexport function parseQueryArgs<\n TOptions extends QueryOptions,\n TQueryKey extends QueryKey = QueryKey,\n>(\n arg1: TQueryKey | TOptions,\n arg2?: QueryFunction | TOptions,\n arg3?: TOptions,\n): TOptions {\n if (!isQueryKey(arg1)) {\n return arg1 as TOptions\n }\n\n if (typeof arg2 === 'function') {\n return { ...arg3, queryKey: arg1, queryFn: arg2 } as TOptions\n }\n\n return { ...arg2, queryKey: arg1 } as TOptions\n}\n\nexport function parseMutationArgs<\n TOptions extends MutationOptions,\n>(\n arg1: MutationKey | MutationFunction | TOptions,\n arg2?: MutationFunction | TOptions,\n arg3?: TOptions,\n): TOptions {\n if (isQueryKey(arg1)) {\n if (typeof arg2 === 'function') {\n return { ...arg3, mutationKey: arg1, mutationFn: arg2 } as TOptions\n }\n return { ...arg2, mutationKey: arg1 } as TOptions\n }\n\n if (typeof arg1 === 'function') {\n return { ...arg2, mutationFn: arg1 } as TOptions\n }\n\n return { ...arg1 } as TOptions\n}\n\nexport function parseFilterArgs<\n TFilters extends QueryFilters,\n TOptions = unknown,\n>(\n arg1?: QueryKey | TFilters,\n arg2?: TFilters | TOptions,\n arg3?: TOptions,\n): [TFilters, TOptions | undefined] {\n return (\n isQueryKey(arg1) ? [{ ...arg2, queryKey: arg1 }, arg3] : [arg1 || {}, arg2]\n ) as [TFilters, TOptions]\n}\n\nexport function parseMutationFilterArgs<\n TFilters extends MutationFilters,\n TOptions = unknown,\n>(\n arg1?: QueryKey | TFilters,\n arg2?: TFilters | TOptions,\n arg3?: TOptions,\n): [TFilters, TOptions | undefined] {\n return (\n isQueryKey(arg1)\n ? [{ ...arg2, mutationKey: arg1 }, arg3]\n : [arg1 || {}, arg2]\n ) as [TFilters, TOptions]\n}\n\nexport function matchQuery(\n filters: QueryFilters,\n query: Query,\n): boolean {\n const {\n type = 'all',\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale,\n } = filters\n\n if (isQueryKey(queryKey)) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false\n }\n }\n\n if (type !== 'all') {\n const isActive = query.isActive()\n if (type === 'active' && !isActive) {\n return false\n }\n if (type === 'inactive' && isActive) {\n return false\n }\n }\n\n if (typeof stale === 'boolean' && query.isStale() !== stale) {\n return false\n }\n\n if (\n typeof fetchStatus !== 'undefined' &&\n fetchStatus !== query.state.fetchStatus\n ) {\n return false\n }\n\n if (predicate && !predicate(query)) {\n return false\n }\n\n return true\n}\n\nexport function matchMutation(\n filters: MutationFilters,\n mutation: Mutation,\n): boolean {\n const { exact, fetching, predicate, mutationKey } = filters\n if (isQueryKey(mutationKey)) {\n if (!mutation.options.mutationKey) {\n return false\n }\n if (exact) {\n if (\n hashQueryKey(mutation.options.mutationKey) !== hashQueryKey(mutationKey)\n ) {\n return false\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false\n }\n }\n\n if (\n typeof fetching === 'boolean' &&\n (mutation.state.status === 'loading') !== fetching\n ) {\n return false\n }\n\n if (predicate && !predicate(mutation)) {\n return false\n }\n\n return true\n}\n\nexport function hashQueryKeyByOptions(\n queryKey: TQueryKey,\n options?: QueryOptions,\n): string {\n const hashFn = options?.queryKeyHashFn || hashQueryKey\n return hashFn(queryKey)\n}\n\n/**\n * Default query keys hash function.\n * Hashes the value into a stable hash.\n */\nexport function hashQueryKey(queryKey: QueryKey): string {\n return JSON.stringify(queryKey, (_, val) =>\n isPlainObject(val)\n ? Object.keys(val)\n .sort()\n .reduce((result, key) => {\n result[key] = val[key]\n return result\n }, {} as any)\n : val,\n )\n}\n\n/**\n * Checks if key `b` partially matches with key `a`.\n */\nexport function partialMatchKey(a: QueryKey, b: QueryKey): boolean {\n return partialDeepEqual(a, b)\n}\n\n/**\n * Checks if `b` partially matches with `a`.\n */\nexport function partialDeepEqual(a: any, b: any): boolean {\n if (a === b) {\n return true\n }\n\n if (typeof a !== typeof b) {\n return false\n }\n\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n return !Object.keys(b).some((key) => !partialDeepEqual(a[key], b[key]))\n }\n\n return false\n}\n\n/**\n * This function returns `a` if `b` is deeply equal.\n * If not, it will replace any deeply equal children of `b` with those of `a`.\n * This can be used for structural sharing between JSON values for example.\n */\nexport function replaceEqualDeep(a: unknown, b: T): T\nexport function replaceEqualDeep(a: any, b: any): any {\n if (a === b) {\n return a\n }\n\n const array = isPlainArray(a) && isPlainArray(b)\n\n if (array || (isPlainObject(a) && isPlainObject(b))) {\n const aSize = array ? a.length : Object.keys(a).length\n const bItems = array ? b : Object.keys(b)\n const bSize = bItems.length\n const copy: any = array ? [] : {}\n\n let equalItems = 0\n\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i]\n copy[key] = replaceEqualDeep(a[key], b[key])\n if (copy[key] === a[key]) {\n equalItems++\n }\n }\n\n return aSize === bSize && equalItems === aSize ? a : copy\n }\n\n return b\n}\n\n/**\n * Shallow compare objects. Only works with objects that always have the same properties.\n */\nexport function shallowEqualObjects(a: T, b: T): boolean {\n if ((a && !b) || (b && !a)) {\n return false\n }\n\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false\n }\n }\n\n return true\n}\n\nexport function isPlainArray(value: unknown) {\n return Array.isArray(value) && value.length === Object.keys(value).length\n}\n\n// Copied from: https://github.com/jonschlinkert/is-plain-object\nexport function isPlainObject(o: any): o is Object {\n if (!hasObjectPrototype(o)) {\n return false\n }\n\n // If has modified constructor\n const ctor = o.constructor\n if (typeof ctor === 'undefined') {\n return true\n }\n\n // If has modified prototype\n const prot = ctor.prototype\n if (!hasObjectPrototype(prot)) {\n return false\n }\n\n // If constructor does not have an Object-specific method\n if (!prot.hasOwnProperty('isPrototypeOf')) {\n return false\n }\n\n // Most likely a plain Object\n return true\n}\n\nfunction hasObjectPrototype(o: any): boolean {\n return Object.prototype.toString.call(o) === '[object Object]'\n}\n\nexport function isQueryKey(value: unknown): value is QueryKey {\n return Array.isArray(value)\n}\n\nexport function isError(value: any): value is Error {\n return value instanceof Error\n}\n\nexport function sleep(timeout: number): Promise {\n return new Promise((resolve) => {\n setTimeout(resolve, timeout)\n })\n}\n\n/**\n * Schedules a microtask.\n * This can be useful to schedule state updates after rendering.\n */\nexport function scheduleMicrotask(callback: () => void) {\n sleep(0).then(callback)\n}\n\nexport function getAbortController(): AbortController | undefined {\n if (typeof AbortController === 'function') {\n return new AbortController()\n }\n return\n}\n\nexport function replaceData<\n TData,\n TOptions extends QueryOptions,\n>(prevData: TData | undefined, data: TData, options: TOptions): TData {\n // Use prev data if an isDataEqual function is defined and returns `true`\n if (options.isDataEqual?.(prevData, data)) {\n return prevData as TData\n } else if (typeof options.structuralSharing === 'function') {\n return options.structuralSharing(prevData, data)\n } else if (options.structuralSharing !== false) {\n // Structurally share data between prev and new data if needed\n return replaceEqualDeep(prevData, data)\n }\n return data\n}\n", "import { Subscribable } from './subscribable'\nimport { isServer } from './utils'\n\ntype SetupFn = (\n setFocused: (focused?: boolean) => void,\n) => (() => void) | undefined\n\nexport class FocusManager extends Subscribable {\n private focused?: boolean\n private cleanup?: () => void\n\n private setup: SetupFn\n\n constructor() {\n super()\n this.setup = (onFocus) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onFocus()\n // Listen to visibillitychange and focus\n window.addEventListener('visibilitychange', listener, false)\n window.addEventListener('focus', listener, false)\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('visibilitychange', listener)\n window.removeEventListener('focus', listener)\n }\n }\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.cleanup) {\n this.setEventListener(this.setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.cleanup?.()\n this.cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.setup = setup\n this.cleanup?.()\n this.cleanup = setup((focused) => {\n if (typeof focused === 'boolean') {\n this.setFocused(focused)\n } else {\n this.onFocus()\n }\n })\n }\n\n setFocused(focused?: boolean): void {\n const changed = this.focused !== focused\n if (changed) {\n this.focused = focused\n this.onFocus()\n }\n }\n\n onFocus(): void {\n this.listeners.forEach(({ listener }) => {\n listener()\n })\n }\n\n isFocused(): boolean {\n if (typeof this.focused === 'boolean') {\n return this.focused\n }\n\n // document global can be unavailable in react native\n if (typeof document === 'undefined') {\n return true\n }\n\n return [undefined, 'visible', 'prerender'].includes(\n document.visibilityState,\n )\n }\n}\n\nexport const focusManager = new FocusManager()\n", "import { Subscribable } from './subscribable'\nimport { isServer } from './utils'\n\ntype SetupFn = (\n setOnline: (online?: boolean) => void,\n) => (() => void) | undefined\n\nconst onlineEvents = ['online', 'offline'] as const\n\nexport class OnlineManager extends Subscribable {\n private online?: boolean\n private cleanup?: () => void\n\n private setup: SetupFn\n\n constructor() {\n super()\n this.setup = (onOnline) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onOnline()\n // Listen to online\n onlineEvents.forEach((event) => {\n window.addEventListener(event, listener, false)\n })\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n onlineEvents.forEach((event) => {\n window.removeEventListener(event, listener)\n })\n }\n }\n\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.cleanup) {\n this.setEventListener(this.setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.cleanup?.()\n this.cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.setup = setup\n this.cleanup?.()\n this.cleanup = setup((online?: boolean) => {\n if (typeof online === 'boolean') {\n this.setOnline(online)\n } else {\n this.onOnline()\n }\n })\n }\n\n setOnline(online?: boolean): void {\n const changed = this.online !== online\n\n if (changed) {\n this.online = online\n this.onOnline()\n }\n }\n\n onOnline(): void {\n this.listeners.forEach(({ listener }) => {\n listener()\n })\n }\n\n isOnline(): boolean {\n if (typeof this.online === 'boolean') {\n return this.online\n }\n\n if (\n typeof navigator === 'undefined' ||\n typeof navigator.onLine === 'undefined'\n ) {\n return true\n }\n\n return navigator.onLine\n }\n}\n\nexport const onlineManager = new OnlineManager()\n", "import { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { sleep } from './utils'\nimport type { CancelOptions, NetworkMode } from './types'\n\n// TYPES\n\ninterface RetryerConfig {\n fn: () => TData | Promise\n abort?: () => void\n onError?: (error: TError) => void\n onSuccess?: (data: TData) => void\n onFail?: (failureCount: number, error: TError) => void\n onPause?: () => void\n onContinue?: () => void\n retry?: RetryValue\n retryDelay?: RetryDelayValue\n networkMode: NetworkMode | undefined\n}\n\nexport interface Retryer {\n promise: Promise\n cancel: (cancelOptions?: CancelOptions) => void\n continue: () => Promise\n cancelRetry: () => void\n continueRetry: () => void\n}\n\nexport type RetryValue = boolean | number | ShouldRetryFunction\n\ntype ShouldRetryFunction = (\n failureCount: number,\n error: TError,\n) => boolean\n\nexport type RetryDelayValue = number | RetryDelayFunction\n\ntype RetryDelayFunction = (\n failureCount: number,\n error: TError,\n) => number\n\nfunction defaultRetryDelay(failureCount: number) {\n return Math.min(1000 * 2 ** failureCount, 30000)\n}\n\nexport function canFetch(networkMode: NetworkMode | undefined): boolean {\n return (networkMode ?? 'online') === 'online'\n ? onlineManager.isOnline()\n : true\n}\n\nexport class CancelledError {\n revert?: boolean\n silent?: boolean\n constructor(options?: CancelOptions) {\n this.revert = options?.revert\n this.silent = options?.silent\n }\n}\n\nexport function isCancelledError(value: any): value is CancelledError {\n return value instanceof CancelledError\n}\n\nexport function createRetryer(\n config: RetryerConfig,\n): Retryer {\n let isRetryCancelled = false\n let failureCount = 0\n let isResolved = false\n let continueFn: ((value?: unknown) => boolean) | undefined\n let promiseResolve: (data: TData) => void\n let promiseReject: (error: TError) => void\n\n const promise = new Promise((outerResolve, outerReject) => {\n promiseResolve = outerResolve\n promiseReject = outerReject\n })\n\n const cancel = (cancelOptions?: CancelOptions): void => {\n if (!isResolved) {\n reject(new CancelledError(cancelOptions))\n\n config.abort?.()\n }\n }\n const cancelRetry = () => {\n isRetryCancelled = true\n }\n\n const continueRetry = () => {\n isRetryCancelled = false\n }\n\n const shouldPause = () =>\n !focusManager.isFocused() ||\n (config.networkMode !== 'always' && !onlineManager.isOnline())\n\n const resolve = (value: any) => {\n if (!isResolved) {\n isResolved = true\n config.onSuccess?.(value)\n continueFn?.()\n promiseResolve(value)\n }\n }\n\n const reject = (value: any) => {\n if (!isResolved) {\n isResolved = true\n config.onError?.(value)\n continueFn?.()\n promiseReject(value)\n }\n }\n\n const pause = () => {\n return new Promise((continueResolve) => {\n continueFn = (value) => {\n const canContinue = isResolved || !shouldPause()\n if (canContinue) {\n continueResolve(value)\n }\n return canContinue\n }\n config.onPause?.()\n }).then(() => {\n continueFn = undefined\n if (!isResolved) {\n config.onContinue?.()\n }\n })\n }\n\n // Create loop function\n const run = () => {\n // Do nothing if already resolved\n if (isResolved) {\n return\n }\n\n let promiseOrValue: any\n\n // Execute query\n try {\n promiseOrValue = config.fn()\n } catch (error) {\n promiseOrValue = Promise.reject(error)\n }\n\n Promise.resolve(promiseOrValue)\n .then(resolve)\n .catch((error) => {\n // Stop if the fetch is already resolved\n if (isResolved) {\n return\n }\n\n // Do we need to retry the request?\n const retry = config.retry ?? 3\n const retryDelay = config.retryDelay ?? defaultRetryDelay\n const delay =\n typeof retryDelay === 'function'\n ? retryDelay(failureCount, error)\n : retryDelay\n const shouldRetry =\n retry === true ||\n (typeof retry === 'number' && failureCount < retry) ||\n (typeof retry === 'function' && retry(failureCount, error))\n\n if (isRetryCancelled || !shouldRetry) {\n // We are done if the query does not need to be retried\n reject(error)\n return\n }\n\n failureCount++\n\n // Notify on fail\n config.onFail?.(failureCount, error)\n\n // Delay\n sleep(delay)\n // Pause if the document is not visible or when the device is offline\n .then(() => {\n if (shouldPause()) {\n return pause()\n }\n return\n })\n .then(() => {\n if (isRetryCancelled) {\n reject(error)\n } else {\n run()\n }\n })\n })\n }\n\n // Start loop\n if (canFetch(config.networkMode)) {\n run()\n } else {\n pause().then(run)\n }\n\n return {\n promise,\n cancel,\n continue: () => {\n const didContinue = continueFn?.()\n return didContinue ? promise : Promise.resolve()\n },\n cancelRetry,\n continueRetry,\n }\n}\n", "export interface Logger {\n log: LogFunction\n warn: LogFunction\n error: LogFunction\n}\n\ntype LogFunction = (...args: any[]) => void\n\nexport const defaultLogger: Logger = console\n", "import { scheduleMicrotask } from './utils'\n\n// TYPES\n\ntype NotifyCallback = () => void\n\ntype NotifyFunction = (callback: () => void) => void\n\ntype BatchNotifyFunction = (callback: () => void) => void\n\ntype BatchCallsCallback = (...args: T) => void\n\nexport function createNotifyManager() {\n let queue: NotifyCallback[] = []\n let transactions = 0\n let notifyFn: NotifyFunction = (callback) => {\n callback()\n }\n let batchNotifyFn: BatchNotifyFunction = (callback: () => void) => {\n callback()\n }\n\n const batch = (callback: () => T): T => {\n let result\n transactions++\n try {\n result = callback()\n } finally {\n transactions--\n if (!transactions) {\n flush()\n }\n }\n return result\n }\n\n const schedule = (callback: NotifyCallback): void => {\n if (transactions) {\n queue.push(callback)\n } else {\n scheduleMicrotask(() => {\n notifyFn(callback)\n })\n }\n }\n\n /**\n * All calls to the wrapped function will be batched.\n */\n const batchCalls = (\n callback: BatchCallsCallback,\n ): BatchCallsCallback => {\n return (...args) => {\n schedule(() => {\n callback(...args)\n })\n }\n }\n\n const flush = (): void => {\n const originalQueue = queue\n queue = []\n if (originalQueue.length) {\n scheduleMicrotask(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback)\n })\n })\n })\n }\n }\n\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n const setNotifyFunction = (fn: NotifyFunction) => {\n notifyFn = fn\n }\n\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n const setBatchNotifyFunction = (fn: BatchNotifyFunction) => {\n batchNotifyFn = fn\n }\n\n return {\n batch,\n batchCalls,\n schedule,\n setNotifyFunction,\n setBatchNotifyFunction,\n } as const\n}\n\n// SINGLETON\nexport const notifyManager = createNotifyManager()\n", "import { isServer, isValidTimeout } from './utils'\n\nexport abstract class Removable {\n cacheTime!: number\n private gcTimeout?: ReturnType\n\n destroy(): void {\n this.clearGcTimeout()\n }\n\n protected scheduleGc(): void {\n this.clearGcTimeout()\n\n if (isValidTimeout(this.cacheTime)) {\n this.gcTimeout = setTimeout(() => {\n this.optionalRemove()\n }, this.cacheTime)\n }\n }\n\n protected updateCacheTime(newCacheTime: number | undefined): void {\n // Default to 5 minutes (Infinity for server-side) if no cache time is set\n this.cacheTime = Math.max(\n this.cacheTime || 0,\n newCacheTime ?? (isServer ? Infinity : 5 * 60 * 1000),\n )\n }\n\n protected clearGcTimeout() {\n if (this.gcTimeout) {\n clearTimeout(this.gcTimeout)\n this.gcTimeout = undefined\n }\n }\n\n protected abstract optionalRemove(): void\n}\n", "import { getAbortController, noop, replaceData, timeUntilStale } from './utils'\nimport { defaultLogger } from './logger'\nimport { notifyManager } from './notifyManager'\nimport { canFetch, createRetryer, isCancelledError } from './retryer'\nimport { Removable } from './removable'\nimport type {\n CancelOptions,\n FetchStatus,\n InitialDataFunction,\n QueryFunctionContext,\n QueryKey,\n QueryMeta,\n QueryOptions,\n QueryStatus,\n SetDataOptions,\n} from './types'\nimport type { QueryCache } from './queryCache'\nimport type { QueryObserver } from './queryObserver'\nimport type { Logger } from './logger'\nimport type { Retryer } from './retryer'\n\n// TYPES\n\ninterface QueryConfig<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n cache: QueryCache\n queryKey: TQueryKey\n queryHash: string\n logger?: Logger\n options?: QueryOptions\n defaultOptions?: QueryOptions\n state?: QueryState\n}\n\nexport interface QueryState {\n data: TData | undefined\n dataUpdateCount: number\n dataUpdatedAt: number\n error: TError | null\n errorUpdateCount: number\n errorUpdatedAt: number\n fetchFailureCount: number\n fetchFailureReason: TError | null\n fetchMeta: any\n isInvalidated: boolean\n status: QueryStatus\n fetchStatus: FetchStatus\n}\n\nexport interface FetchContext<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n fetchFn: () => unknown | Promise\n fetchOptions?: FetchOptions\n signal?: AbortSignal\n options: QueryOptions\n queryKey: TQueryKey\n state: QueryState\n}\n\nexport interface QueryBehavior<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n onFetch: (\n context: FetchContext,\n ) => void\n}\n\nexport interface FetchOptions {\n cancelRefetch?: boolean\n meta?: any\n}\n\ninterface FailedAction {\n type: 'failed'\n failureCount: number\n error: TError\n}\n\ninterface FetchAction {\n type: 'fetch'\n meta?: any\n}\n\ninterface SuccessAction {\n data: TData | undefined\n type: 'success'\n dataUpdatedAt?: number\n manual?: boolean\n}\n\ninterface ErrorAction {\n type: 'error'\n error: TError\n}\n\ninterface InvalidateAction {\n type: 'invalidate'\n}\n\ninterface PauseAction {\n type: 'pause'\n}\n\ninterface ContinueAction {\n type: 'continue'\n}\n\ninterface SetStateAction {\n type: 'setState'\n state: Partial>\n setStateOptions?: SetStateOptions\n}\n\nexport type Action =\n | ContinueAction\n | ErrorAction\n | FailedAction\n | FetchAction\n | InvalidateAction\n | PauseAction\n | SetStateAction\n | SuccessAction\n\nexport interface SetStateOptions {\n meta?: any\n}\n\n// CLASS\n\nexport class Query<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Removable {\n queryKey: TQueryKey\n queryHash: string\n options!: QueryOptions\n initialState: QueryState\n revertState?: QueryState\n state: QueryState\n isFetchingOptimistic?: boolean\n\n private cache: QueryCache\n private logger: Logger\n private promise?: Promise\n private retryer?: Retryer\n private observers: QueryObserver[]\n private defaultOptions?: QueryOptions\n private abortSignalConsumed: boolean\n\n constructor(config: QueryConfig) {\n super()\n\n this.abortSignalConsumed = false\n this.defaultOptions = config.defaultOptions\n this.setOptions(config.options)\n this.observers = []\n this.cache = config.cache\n this.logger = config.logger || defaultLogger\n this.queryKey = config.queryKey\n this.queryHash = config.queryHash\n this.initialState = config.state || getDefaultState(this.options)\n this.state = this.initialState\n this.scheduleGc()\n }\n\n get meta(): QueryMeta | undefined {\n return this.options.meta\n }\n\n private setOptions(\n options?: QueryOptions,\n ): void {\n this.options = { ...this.defaultOptions, ...options }\n\n this.updateCacheTime(this.options.cacheTime)\n }\n\n protected optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === 'idle') {\n this.cache.remove(this)\n }\n }\n\n setData(\n newData: TData,\n options?: SetDataOptions & { manual: boolean },\n ): TData {\n const data = replaceData(this.state.data, newData, this.options)\n\n // Set data and mark it as cached\n this.dispatch({\n data,\n type: 'success',\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual,\n })\n\n return data\n }\n\n setState(\n state: Partial>,\n setStateOptions?: SetStateOptions,\n ): void {\n this.dispatch({ type: 'setState', state, setStateOptions })\n }\n\n cancel(options?: CancelOptions): Promise {\n const promise = this.promise\n this.retryer?.cancel(options)\n return promise ? promise.then(noop).catch(noop) : Promise.resolve()\n }\n\n destroy(): void {\n super.destroy()\n\n this.cancel({ silent: true })\n }\n\n reset(): void {\n this.destroy()\n this.setState(this.initialState)\n }\n\n isActive(): boolean {\n return this.observers.some((observer) => observer.options.enabled !== false)\n }\n\n isDisabled(): boolean {\n return this.getObserversCount() > 0 && !this.isActive()\n }\n\n isStale(): boolean {\n return (\n this.state.isInvalidated ||\n !this.state.dataUpdatedAt ||\n this.observers.some((observer) => observer.getCurrentResult().isStale)\n )\n }\n\n isStaleByTime(staleTime = 0): boolean {\n return (\n this.state.isInvalidated ||\n !this.state.dataUpdatedAt ||\n !timeUntilStale(this.state.dataUpdatedAt, staleTime)\n )\n }\n\n onFocus(): void {\n const observer = this.observers.find((x) => x.shouldFetchOnWindowFocus())\n\n if (observer) {\n observer.refetch({ cancelRefetch: false })\n }\n\n // Continue fetch if currently paused\n this.retryer?.continue()\n }\n\n onOnline(): void {\n const observer = this.observers.find((x) => x.shouldFetchOnReconnect())\n\n if (observer) {\n observer.refetch({ cancelRefetch: false })\n }\n\n // Continue fetch if currently paused\n this.retryer?.continue()\n }\n\n addObserver(observer: QueryObserver): void {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer)\n\n // Stop the query from being garbage collected\n this.clearGcTimeout()\n\n this.cache.notify({ type: 'observerAdded', query: this, observer })\n }\n }\n\n removeObserver(observer: QueryObserver): void {\n if (this.observers.includes(observer)) {\n this.observers = this.observers.filter((x) => x !== observer)\n\n if (!this.observers.length) {\n // If the transport layer does not support cancellation\n // we'll let the query continue so the result can be cached\n if (this.retryer) {\n if (this.abortSignalConsumed) {\n this.retryer.cancel({ revert: true })\n } else {\n this.retryer.cancelRetry()\n }\n }\n\n this.scheduleGc()\n }\n\n this.cache.notify({ type: 'observerRemoved', query: this, observer })\n }\n }\n\n getObserversCount(): number {\n return this.observers.length\n }\n\n invalidate(): void {\n if (!this.state.isInvalidated) {\n this.dispatch({ type: 'invalidate' })\n }\n }\n\n fetch(\n options?: QueryOptions,\n fetchOptions?: FetchOptions,\n ): Promise {\n if (this.state.fetchStatus !== 'idle') {\n if (this.state.dataUpdatedAt && fetchOptions?.cancelRefetch) {\n // Silently cancel current fetch if the user wants to cancel refetches\n this.cancel({ silent: true })\n } else if (this.promise) {\n // make sure that retries that were potentially cancelled due to unmounts can continue\n this.retryer?.continueRetry()\n // Return current promise if we are already fetching\n return this.promise\n }\n }\n\n // Update config if passed, otherwise the config from the last execution is used\n if (options) {\n this.setOptions(options)\n }\n\n // Use the options from the first observer with a query function if no function is found.\n // This can happen when the query is hydrated or created with setQueryData.\n if (!this.options.queryFn) {\n const observer = this.observers.find((x) => x.options.queryFn)\n if (observer) {\n this.setOptions(observer.options)\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!Array.isArray(this.options.queryKey)) {\n this.logger.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`,\n )\n }\n }\n\n const abortController = getAbortController()\n\n // Create query function context\n const queryFnContext: QueryFunctionContext = {\n queryKey: this.queryKey,\n pageParam: undefined,\n meta: this.meta,\n }\n\n // Adds an enumerable signal property to the object that\n // which sets abortSignalConsumed to true when the signal\n // is read.\n const addSignalProperty = (object: unknown) => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n if (abortController) {\n this.abortSignalConsumed = true\n return abortController.signal\n }\n return undefined\n },\n })\n }\n\n addSignalProperty(queryFnContext)\n\n // Create fetch function\n const fetchFn = () => {\n if (!this.options.queryFn) {\n return Promise.reject(\n `Missing queryFn for queryKey '${this.options.queryHash}'`,\n )\n }\n this.abortSignalConsumed = false\n return this.options.queryFn(queryFnContext)\n }\n\n // Trigger behavior hook\n const context: FetchContext = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n state: this.state,\n fetchFn,\n }\n\n addSignalProperty(context)\n\n this.options.behavior?.onFetch(context)\n\n // Store state in case the current fetch needs to be reverted\n this.revertState = this.state\n\n // Set to fetching state if not already in it\n if (\n this.state.fetchStatus === 'idle' ||\n this.state.fetchMeta !== context.fetchOptions?.meta\n ) {\n this.dispatch({ type: 'fetch', meta: context.fetchOptions?.meta })\n }\n\n const onError = (error: TError | { silent?: boolean }) => {\n // Optimistically update state if needed\n if (!(isCancelledError(error) && error.silent)) {\n this.dispatch({\n type: 'error',\n error: error as TError,\n })\n }\n\n if (!isCancelledError(error)) {\n // Notify cache callback\n this.cache.config.onError?.(error, this as Query)\n this.cache.config.onSettled?.(\n this.state.data,\n error,\n this as Query,\n )\n\n if (process.env.NODE_ENV !== 'production') {\n this.logger.error(error)\n }\n }\n\n if (!this.isFetchingOptimistic) {\n // Schedule query gc after fetching\n this.scheduleGc()\n }\n this.isFetchingOptimistic = false\n }\n\n // Try to fetch the data\n this.retryer = createRetryer({\n fn: context.fetchFn as () => TData,\n abort: abortController?.abort.bind(abortController),\n onSuccess: (data) => {\n if (typeof data === 'undefined') {\n if (process.env.NODE_ENV !== 'production') {\n this.logger.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`,\n )\n }\n onError(new Error(`${this.queryHash} data is undefined`) as any)\n return\n }\n\n this.setData(data as TData)\n\n // Notify cache callback\n this.cache.config.onSuccess?.(data, this as Query)\n this.cache.config.onSettled?.(\n data,\n this.state.error,\n this as Query,\n )\n\n if (!this.isFetchingOptimistic) {\n // Schedule query gc after fetching\n this.scheduleGc()\n }\n this.isFetchingOptimistic = false\n },\n onError,\n onFail: (failureCount, error) => {\n this.dispatch({ type: 'failed', failureCount, error })\n },\n onPause: () => {\n this.dispatch({ type: 'pause' })\n },\n onContinue: () => {\n this.dispatch({ type: 'continue' })\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n })\n\n this.promise = this.retryer.promise\n\n return this.promise\n }\n\n private dispatch(action: Action): void {\n const reducer = (\n state: QueryState,\n ): QueryState => {\n switch (action.type) {\n case 'failed':\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error,\n }\n case 'pause':\n return {\n ...state,\n fetchStatus: 'paused',\n }\n case 'continue':\n return {\n ...state,\n fetchStatus: 'fetching',\n }\n case 'fetch':\n return {\n ...state,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: action.meta ?? null,\n fetchStatus: canFetch(this.options.networkMode)\n ? 'fetching'\n : 'paused',\n ...(!state.dataUpdatedAt && {\n error: null,\n status: 'loading',\n }),\n }\n case 'success':\n return {\n ...state,\n data: action.data,\n dataUpdateCount: state.dataUpdateCount + 1,\n dataUpdatedAt: action.dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: 'success',\n ...(!action.manual && {\n fetchStatus: 'idle',\n fetchFailureCount: 0,\n fetchFailureReason: null,\n }),\n }\n case 'error':\n const error = action.error as unknown\n\n if (isCancelledError(error) && error.revert && this.revertState) {\n return { ...this.revertState, fetchStatus: 'idle' }\n }\n\n return {\n ...state,\n error: error as TError,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error as TError,\n fetchStatus: 'idle',\n status: 'error',\n }\n case 'invalidate':\n return {\n ...state,\n isInvalidated: true,\n }\n case 'setState':\n return {\n ...state,\n ...action.state,\n }\n }\n }\n\n this.state = reducer(this.state)\n\n notifyManager.batch(() => {\n this.observers.forEach((observer) => {\n observer.onQueryUpdate(action)\n })\n\n this.cache.notify({ query: this, type: 'updated', action })\n })\n }\n}\n\nfunction getDefaultState<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n options: QueryOptions,\n): QueryState {\n const data =\n typeof options.initialData === 'function'\n ? (options.initialData as InitialDataFunction)()\n : options.initialData\n\n const hasData = typeof data !== 'undefined'\n\n const initialDataUpdatedAt = hasData\n ? typeof options.initialDataUpdatedAt === 'function'\n ? (options.initialDataUpdatedAt as () => number | undefined)()\n : options.initialDataUpdatedAt\n : 0\n\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? initialDataUpdatedAt ?? Date.now() : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? 'success' : 'loading',\n fetchStatus: 'idle',\n }\n}\n", "import { hashQueryKeyByOptions, matchQuery, parseFilterArgs } from './utils'\nimport { Query } from './query'\nimport { notifyManager } from './notifyManager'\nimport { Subscribable } from './subscribable'\nimport type { QueryFilters } from './utils'\nimport type { Action, QueryState } from './query'\nimport type { NotifyEvent, QueryKey, QueryOptions } from './types'\nimport type { QueryClient } from './queryClient'\nimport type { QueryObserver } from './queryObserver'\n\n// TYPES\n\ninterface QueryCacheConfig {\n onError?: (error: unknown, query: Query) => void\n onSuccess?: (data: unknown, query: Query) => void\n onSettled?: (\n data: unknown | undefined,\n error: unknown | null,\n query: Query,\n ) => void\n}\n\ninterface QueryHashMap {\n [hash: string]: Query\n}\n\ninterface NotifyEventQueryAdded extends NotifyEvent {\n type: 'added'\n query: Query\n}\n\ninterface NotifyEventQueryRemoved extends NotifyEvent {\n type: 'removed'\n query: Query\n}\n\ninterface NotifyEventQueryUpdated extends NotifyEvent {\n type: 'updated'\n query: Query\n action: Action\n}\n\ninterface NotifyEventQueryObserverAdded extends NotifyEvent {\n type: 'observerAdded'\n query: Query\n observer: QueryObserver\n}\n\ninterface NotifyEventQueryObserverRemoved extends NotifyEvent {\n type: 'observerRemoved'\n query: Query\n observer: QueryObserver\n}\n\ninterface NotifyEventQueryObserverResultsUpdated extends NotifyEvent {\n type: 'observerResultsUpdated'\n query: Query\n}\n\ninterface NotifyEventQueryObserverOptionsUpdated extends NotifyEvent {\n type: 'observerOptionsUpdated'\n query: Query\n observer: QueryObserver\n}\n\nexport type QueryCacheNotifyEvent =\n | NotifyEventQueryAdded\n | NotifyEventQueryRemoved\n | NotifyEventQueryUpdated\n | NotifyEventQueryObserverAdded\n | NotifyEventQueryObserverRemoved\n | NotifyEventQueryObserverResultsUpdated\n | NotifyEventQueryObserverOptionsUpdated\n\ntype QueryCacheListener = (event: QueryCacheNotifyEvent) => void\n\n// CLASS\n\nexport class QueryCache extends Subscribable {\n config: QueryCacheConfig\n\n private queries: Query[]\n private queriesMap: QueryHashMap\n\n constructor(config?: QueryCacheConfig) {\n super()\n this.config = config || {}\n this.queries = []\n this.queriesMap = {}\n }\n\n build(\n client: QueryClient,\n options: QueryOptions,\n state?: QueryState,\n ): Query {\n const queryKey = options.queryKey!\n const queryHash =\n options.queryHash ?? hashQueryKeyByOptions(queryKey, options)\n let query = this.get(queryHash)\n\n if (!query) {\n query = new Query({\n cache: this,\n logger: client.getLogger(),\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options),\n state,\n defaultOptions: client.getQueryDefaults(queryKey),\n })\n this.add(query)\n }\n\n return query\n }\n\n add(query: Query): void {\n if (!this.queriesMap[query.queryHash]) {\n this.queriesMap[query.queryHash] = query\n this.queries.push(query)\n this.notify({\n type: 'added',\n query,\n })\n }\n }\n\n remove(query: Query): void {\n const queryInMap = this.queriesMap[query.queryHash]\n\n if (queryInMap) {\n query.destroy()\n\n this.queries = this.queries.filter((x) => x !== query)\n\n if (queryInMap === query) {\n delete this.queriesMap[query.queryHash]\n }\n\n this.notify({ type: 'removed', query })\n }\n }\n\n clear(): void {\n notifyManager.batch(() => {\n this.queries.forEach((query) => {\n this.remove(query)\n })\n })\n }\n\n get<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryHash: string,\n ): Query | undefined {\n return this.queriesMap[queryHash]\n }\n\n getAll(): Query[] {\n return this.queries\n }\n\n find(\n arg1: QueryKey,\n arg2?: QueryFilters,\n ): Query | undefined {\n const [filters] = parseFilterArgs(arg1, arg2)\n\n if (typeof filters.exact === 'undefined') {\n filters.exact = true\n }\n\n return this.queries.find((query) => matchQuery(filters, query))\n }\n\n findAll(queryKey?: QueryKey, filters?: QueryFilters): Query[]\n findAll(filters?: QueryFilters): Query[]\n findAll(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): Query[]\n findAll(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): Query[] {\n const [filters] = parseFilterArgs(arg1, arg2)\n return Object.keys(filters).length > 0\n ? this.queries.filter((query) => matchQuery(filters, query))\n : this.queries\n }\n\n notify(event: QueryCacheNotifyEvent) {\n notifyManager.batch(() => {\n this.listeners.forEach(({ listener }) => {\n listener(event)\n })\n })\n }\n\n onFocus(): void {\n notifyManager.batch(() => {\n this.queries.forEach((query) => {\n query.onFocus()\n })\n })\n }\n\n onOnline(): void {\n notifyManager.batch(() => {\n this.queries.forEach((query) => {\n query.onOnline()\n })\n })\n }\n}\n", "import { defaultLogger } from './logger'\nimport { notifyManager } from './notifyManager'\nimport { Removable } from './removable'\nimport { canFetch, createRetryer } from './retryer'\nimport type { MutationMeta, MutationOptions, MutationStatus } from './types'\nimport type { MutationCache } from './mutationCache'\nimport type { MutationObserver } from './mutationObserver'\nimport type { Logger } from './logger'\nimport type { Retryer } from './retryer'\n\n// TYPES\n\ninterface MutationConfig {\n mutationId: number\n mutationCache: MutationCache\n options: MutationOptions\n logger?: Logger\n defaultOptions?: MutationOptions\n state?: MutationState\n meta?: MutationMeta\n}\n\nexport interface MutationState<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n> {\n context: TContext | undefined\n data: TData | undefined\n error: TError | null\n failureCount: number\n failureReason: TError | null\n isPaused: boolean\n status: MutationStatus\n variables: TVariables | undefined\n}\n\ninterface FailedAction {\n type: 'failed'\n failureCount: number\n error: TError | null\n}\n\ninterface LoadingAction {\n type: 'loading'\n variables?: TVariables\n context?: TContext\n}\n\ninterface SuccessAction {\n type: 'success'\n data: TData\n}\n\ninterface ErrorAction {\n type: 'error'\n error: TError\n}\n\ninterface PauseAction {\n type: 'pause'\n}\n\ninterface ContinueAction {\n type: 'continue'\n}\n\ninterface SetStateAction {\n type: 'setState'\n state: MutationState\n}\n\nexport type Action =\n | ContinueAction\n | ErrorAction\n | FailedAction\n | LoadingAction\n | PauseAction\n | SetStateAction\n | SuccessAction\n\n// CLASS\n\nexport class Mutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n> extends Removable {\n state: MutationState\n options!: MutationOptions\n mutationId: number\n\n private observers: MutationObserver[]\n private defaultOptions?: MutationOptions\n private mutationCache: MutationCache\n private logger: Logger\n private retryer?: Retryer\n\n constructor(config: MutationConfig) {\n super()\n\n this.defaultOptions = config.defaultOptions\n this.mutationId = config.mutationId\n this.mutationCache = config.mutationCache\n this.logger = config.logger || defaultLogger\n this.observers = []\n this.state = config.state || getDefaultState()\n\n this.setOptions(config.options)\n this.scheduleGc()\n }\n\n setOptions(\n options?: MutationOptions,\n ): void {\n this.options = { ...this.defaultOptions, ...options }\n\n this.updateCacheTime(this.options.cacheTime)\n }\n\n get meta(): MutationMeta | undefined {\n return this.options.meta\n }\n\n setState(state: MutationState): void {\n this.dispatch({ type: 'setState', state })\n }\n\n addObserver(observer: MutationObserver): void {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer)\n\n // Stop the mutation from being garbage collected\n this.clearGcTimeout()\n\n this.mutationCache.notify({\n type: 'observerAdded',\n mutation: this,\n observer,\n })\n }\n }\n\n removeObserver(observer: MutationObserver): void {\n this.observers = this.observers.filter((x) => x !== observer)\n\n this.scheduleGc()\n\n this.mutationCache.notify({\n type: 'observerRemoved',\n mutation: this,\n observer,\n })\n }\n\n protected optionalRemove() {\n if (!this.observers.length) {\n if (this.state.status === 'loading') {\n this.scheduleGc()\n } else {\n this.mutationCache.remove(this)\n }\n }\n }\n\n continue(): Promise {\n return this.retryer?.continue() ?? this.execute()\n }\n\n async execute(): Promise {\n const executeMutation = () => {\n this.retryer = createRetryer({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject('No mutationFn found')\n }\n return this.options.mutationFn(this.state.variables!)\n },\n onFail: (failureCount, error) => {\n this.dispatch({ type: 'failed', failureCount, error })\n },\n onPause: () => {\n this.dispatch({ type: 'pause' })\n },\n onContinue: () => {\n this.dispatch({ type: 'continue' })\n },\n retry: this.options.retry ?? 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode,\n })\n\n return this.retryer.promise\n }\n\n const restored = this.state.status === 'loading'\n try {\n if (!restored) {\n this.dispatch({ type: 'loading', variables: this.options.variables! })\n // Notify cache callback\n await this.mutationCache.config.onMutate?.(\n this.state.variables,\n this as Mutation,\n )\n const context = await this.options.onMutate?.(this.state.variables!)\n if (context !== this.state.context) {\n this.dispatch({\n type: 'loading',\n context,\n variables: this.state.variables,\n })\n }\n }\n const data = await executeMutation()\n\n // Notify cache callback\n await this.mutationCache.config.onSuccess?.(\n data,\n this.state.variables,\n this.state.context,\n this as Mutation,\n )\n\n await this.options.onSuccess?.(\n data,\n this.state.variables!,\n this.state.context!,\n )\n\n // Notify cache callback\n await this.mutationCache.config.onSettled?.(\n data,\n null,\n this.state.variables,\n this.state.context,\n this as Mutation,\n )\n\n await this.options.onSettled?.(\n data,\n null,\n this.state.variables!,\n this.state.context,\n )\n\n this.dispatch({ type: 'success', data })\n return data\n } catch (error) {\n try {\n // Notify cache callback\n await this.mutationCache.config.onError?.(\n error,\n this.state.variables,\n this.state.context,\n this as Mutation,\n )\n\n if (process.env.NODE_ENV !== 'production') {\n this.logger.error(error)\n }\n\n await this.options.onError?.(\n error as TError,\n this.state.variables!,\n this.state.context,\n )\n\n // Notify cache callback\n await this.mutationCache.config.onSettled?.(\n undefined,\n error,\n this.state.variables,\n this.state.context,\n this as Mutation,\n )\n\n await this.options.onSettled?.(\n undefined,\n error as TError,\n this.state.variables!,\n this.state.context,\n )\n throw error\n } finally {\n this.dispatch({ type: 'error', error: error as TError })\n }\n }\n }\n\n private dispatch(action: Action): void {\n const reducer = (\n state: MutationState,\n ): MutationState => {\n switch (action.type) {\n case 'failed':\n return {\n ...state,\n failureCount: action.failureCount,\n failureReason: action.error,\n }\n case 'pause':\n return {\n ...state,\n isPaused: true,\n }\n case 'continue':\n return {\n ...state,\n isPaused: false,\n }\n case 'loading':\n return {\n ...state,\n context: action.context,\n data: undefined,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: !canFetch(this.options.networkMode),\n status: 'loading',\n variables: action.variables,\n }\n case 'success':\n return {\n ...state,\n data: action.data,\n failureCount: 0,\n failureReason: null,\n error: null,\n status: 'success',\n isPaused: false,\n }\n case 'error':\n return {\n ...state,\n data: undefined,\n error: action.error,\n failureCount: state.failureCount + 1,\n failureReason: action.error,\n isPaused: false,\n status: 'error',\n }\n case 'setState':\n return {\n ...state,\n ...action.state,\n }\n }\n }\n this.state = reducer(this.state)\n\n notifyManager.batch(() => {\n this.observers.forEach((observer) => {\n observer.onMutationUpdate(action)\n })\n this.mutationCache.notify({\n mutation: this,\n type: 'updated',\n action,\n })\n })\n }\n}\n\nexport function getDefaultState<\n TData,\n TError,\n TVariables,\n TContext,\n>(): MutationState {\n return {\n context: undefined,\n data: undefined,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: 'idle',\n variables: undefined,\n }\n}\n", "import { notifyManager } from './notifyManager'\nimport { Mutation } from './mutation'\nimport { matchMutation, noop } from './utils'\nimport { Subscribable } from './subscribable'\nimport type { MutationObserver } from './mutationObserver'\nimport type { MutationOptions, NotifyEvent } from './types'\nimport type { QueryClient } from './queryClient'\nimport type { Action, MutationState } from './mutation'\nimport type { MutationFilters } from './utils'\n\n// TYPES\n\ninterface MutationCacheConfig {\n onError?: (\n error: unknown,\n variables: unknown,\n context: unknown,\n mutation: Mutation,\n ) => Promise | unknown\n onSuccess?: (\n data: unknown,\n variables: unknown,\n context: unknown,\n mutation: Mutation,\n ) => Promise | unknown\n onMutate?: (\n variables: unknown,\n mutation: Mutation,\n ) => Promise | unknown\n onSettled?: (\n data: unknown | undefined,\n error: unknown | null,\n variables: unknown,\n context: unknown,\n mutation: Mutation,\n ) => Promise | unknown\n}\n\ninterface NotifyEventMutationAdded extends NotifyEvent {\n type: 'added'\n mutation: Mutation\n}\ninterface NotifyEventMutationRemoved extends NotifyEvent {\n type: 'removed'\n mutation: Mutation\n}\n\ninterface NotifyEventMutationObserverAdded extends NotifyEvent {\n type: 'observerAdded'\n mutation: Mutation\n observer: MutationObserver\n}\n\ninterface NotifyEventMutationObserverRemoved extends NotifyEvent {\n type: 'observerRemoved'\n mutation: Mutation\n observer: MutationObserver\n}\n\ninterface NotifyEventMutationObserverOptionsUpdated extends NotifyEvent {\n type: 'observerOptionsUpdated'\n mutation?: Mutation\n observer: MutationObserver\n}\n\ninterface NotifyEventMutationUpdated extends NotifyEvent {\n type: 'updated'\n mutation: Mutation\n action: Action\n}\n\ntype MutationCacheNotifyEvent =\n | NotifyEventMutationAdded\n | NotifyEventMutationRemoved\n | NotifyEventMutationObserverAdded\n | NotifyEventMutationObserverRemoved\n | NotifyEventMutationObserverOptionsUpdated\n | NotifyEventMutationUpdated\n\ntype MutationCacheListener = (event: MutationCacheNotifyEvent) => void\n\n// CLASS\n\nexport class MutationCache extends Subscribable {\n config: MutationCacheConfig\n\n private mutations: Mutation[]\n private mutationId: number\n private resuming: Promise | undefined\n\n constructor(config?: MutationCacheConfig) {\n super()\n this.config = config || {}\n this.mutations = []\n this.mutationId = 0\n }\n\n build(\n client: QueryClient,\n options: MutationOptions,\n state?: MutationState,\n ): Mutation {\n const mutation = new Mutation({\n mutationCache: this,\n logger: client.getLogger(),\n mutationId: ++this.mutationId,\n options: client.defaultMutationOptions(options),\n state,\n defaultOptions: options.mutationKey\n ? client.getMutationDefaults(options.mutationKey)\n : undefined,\n })\n\n this.add(mutation)\n\n return mutation\n }\n\n add(mutation: Mutation): void {\n this.mutations.push(mutation)\n this.notify({ type: 'added', mutation })\n }\n\n remove(mutation: Mutation): void {\n this.mutations = this.mutations.filter((x) => x !== mutation)\n this.notify({ type: 'removed', mutation })\n }\n\n clear(): void {\n notifyManager.batch(() => {\n this.mutations.forEach((mutation) => {\n this.remove(mutation)\n })\n })\n }\n\n getAll(): Mutation[] {\n return this.mutations\n }\n\n find(\n filters: MutationFilters,\n ): Mutation | undefined {\n if (typeof filters.exact === 'undefined') {\n filters.exact = true\n }\n\n return this.mutations.find((mutation) => matchMutation(filters, mutation))\n }\n\n findAll(filters: MutationFilters): Mutation[] {\n return this.mutations.filter((mutation) => matchMutation(filters, mutation))\n }\n\n notify(event: MutationCacheNotifyEvent) {\n notifyManager.batch(() => {\n this.listeners.forEach(({ listener }) => {\n listener(event)\n })\n })\n }\n\n resumePausedMutations(): Promise {\n this.resuming = (this.resuming ?? Promise.resolve())\n .then(() => {\n const pausedMutations = this.mutations.filter((x) => x.state.isPaused)\n return notifyManager.batch(() =>\n pausedMutations.reduce(\n (promise, mutation) =>\n promise.then(() => mutation.continue().catch(noop)),\n Promise.resolve() as Promise,\n ),\n )\n })\n .then(() => {\n this.resuming = undefined\n })\n\n return this.resuming\n }\n}\n", "import type { QueryBehavior } from './query'\n\nimport type {\n InfiniteData,\n QueryFunctionContext,\n QueryOptions,\n RefetchQueryFilters,\n} from './types'\n\nexport function infiniteQueryBehavior<\n TQueryFnData,\n TError,\n TData,\n>(): QueryBehavior> {\n return {\n onFetch: (context) => {\n context.fetchFn = () => {\n const refetchPage: RefetchQueryFilters['refetchPage'] | undefined =\n context.fetchOptions?.meta?.refetchPage\n const fetchMore = context.fetchOptions?.meta?.fetchMore\n const pageParam = fetchMore?.pageParam\n const isFetchingNextPage = fetchMore?.direction === 'forward'\n const isFetchingPreviousPage = fetchMore?.direction === 'backward'\n const oldPages = context.state.data?.pages || []\n const oldPageParams = context.state.data?.pageParams || []\n let newPageParams = oldPageParams\n let cancelled = false\n\n const addSignalProperty = (object: unknown) => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n if (context.signal?.aborted) {\n cancelled = true\n } else {\n context.signal?.addEventListener('abort', () => {\n cancelled = true\n })\n }\n return context.signal\n },\n })\n }\n\n // Get query function\n const queryFn =\n context.options.queryFn ||\n (() =>\n Promise.reject(\n `Missing queryFn for queryKey '${context.options.queryHash}'`,\n ))\n\n const buildNewPages = (\n pages: unknown[],\n param: unknown,\n page: unknown,\n previous?: boolean,\n ) => {\n newPageParams = previous\n ? [param, ...newPageParams]\n : [...newPageParams, param]\n return previous ? [page, ...pages] : [...pages, page]\n }\n\n // Create function to fetch a page\n const fetchPage = (\n pages: unknown[],\n manual?: boolean,\n param?: unknown,\n previous?: boolean,\n ): Promise => {\n if (cancelled) {\n return Promise.reject('Cancelled')\n }\n\n if (typeof param === 'undefined' && !manual && pages.length) {\n return Promise.resolve(pages)\n }\n\n const queryFnContext: QueryFunctionContext = {\n queryKey: context.queryKey,\n pageParam: param,\n meta: context.options.meta,\n }\n\n addSignalProperty(queryFnContext)\n\n const queryFnResult = queryFn(queryFnContext)\n\n const promise = Promise.resolve(queryFnResult).then((page) =>\n buildNewPages(pages, param, page, previous),\n )\n\n return promise\n }\n\n let promise: Promise\n\n // Fetch first page?\n if (!oldPages.length) {\n promise = fetchPage([])\n }\n\n // Fetch next page?\n else if (isFetchingNextPage) {\n const manual = typeof pageParam !== 'undefined'\n const param = manual\n ? pageParam\n : getNextPageParam(context.options, oldPages)\n promise = fetchPage(oldPages, manual, param)\n }\n\n // Fetch previous page?\n else if (isFetchingPreviousPage) {\n const manual = typeof pageParam !== 'undefined'\n const param = manual\n ? pageParam\n : getPreviousPageParam(context.options, oldPages)\n promise = fetchPage(oldPages, manual, param, true)\n }\n\n // Refetch pages\n else {\n newPageParams = []\n\n const manual = typeof context.options.getNextPageParam === 'undefined'\n\n const shouldFetchFirstPage =\n refetchPage && oldPages[0]\n ? refetchPage(oldPages[0], 0, oldPages)\n : true\n\n // Fetch first page\n promise = shouldFetchFirstPage\n ? fetchPage([], manual, oldPageParams[0])\n : Promise.resolve(buildNewPages([], oldPageParams[0], oldPages[0]))\n\n // Fetch remaining pages\n for (let i = 1; i < oldPages.length; i++) {\n promise = promise.then((pages) => {\n const shouldFetchNextPage =\n refetchPage && oldPages[i]\n ? refetchPage(oldPages[i], i, oldPages)\n : true\n\n if (shouldFetchNextPage) {\n const param = manual\n ? oldPageParams[i]\n : getNextPageParam(context.options, pages)\n return fetchPage(pages, manual, param)\n }\n return Promise.resolve(\n buildNewPages(pages, oldPageParams[i], oldPages[i]),\n )\n })\n }\n }\n\n const finalPromise = promise.then((pages) => ({\n pages,\n pageParams: newPageParams,\n }))\n\n return finalPromise\n }\n },\n }\n}\n\nexport function getNextPageParam(\n options: QueryOptions,\n pages: unknown[],\n): unknown | undefined {\n return options.getNextPageParam?.(pages[pages.length - 1], pages)\n}\n\nexport function getPreviousPageParam(\n options: QueryOptions,\n pages: unknown[],\n): unknown | undefined {\n return options.getPreviousPageParam?.(pages[0], pages)\n}\n\n/**\n * Checks if there is a next page.\n * Returns `undefined` if it cannot be determined.\n */\nexport function hasNextPage(\n options: QueryOptions,\n pages?: unknown,\n): boolean | undefined {\n if (options.getNextPageParam && Array.isArray(pages)) {\n const nextPageParam = getNextPageParam(options, pages)\n return (\n typeof nextPageParam !== 'undefined' &&\n nextPageParam !== null &&\n nextPageParam !== false\n )\n }\n return\n}\n\n/**\n * Checks if there is a previous page.\n * Returns `undefined` if it cannot be determined.\n */\nexport function hasPreviousPage(\n options: QueryOptions,\n pages?: unknown,\n): boolean | undefined {\n if (options.getPreviousPageParam && Array.isArray(pages)) {\n const previousPageParam = getPreviousPageParam(options, pages)\n return (\n typeof previousPageParam !== 'undefined' &&\n previousPageParam !== null &&\n previousPageParam !== false\n )\n }\n return\n}\n", "import {\n functionalUpdate,\n hashQueryKey,\n hashQueryKeyByOptions,\n noop,\n parseFilterArgs,\n parseQueryArgs,\n partialMatchKey,\n} from './utils'\nimport { QueryCache } from './queryCache'\nimport { MutationCache } from './mutationCache'\nimport { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { notifyManager } from './notifyManager'\nimport { infiniteQueryBehavior } from './infiniteQueryBehavior'\nimport { defaultLogger } from './logger'\nimport type { CancelOptions, DefaultedQueryObserverOptions } from './types'\nimport type { Logger } from './logger'\nimport type { QueryState } from './query'\nimport type {\n DefaultOptions,\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n InfiniteData,\n InvalidateOptions,\n InvalidateQueryFilters,\n MutationKey,\n MutationObserverOptions,\n MutationOptions,\n QueryClientConfig,\n QueryFunction,\n QueryKey,\n QueryObserverOptions,\n QueryOptions,\n RefetchOptions,\n RefetchQueryFilters,\n ResetOptions,\n ResetQueryFilters,\n SetDataOptions,\n WithRequired,\n} from './types'\nimport type { MutationFilters, QueryFilters, Updater } from './utils'\n\n// TYPES\n\ninterface QueryDefaults {\n queryKey: QueryKey\n defaultOptions: QueryOptions\n}\n\ninterface MutationDefaults {\n mutationKey: MutationKey\n defaultOptions: MutationOptions\n}\n\n// CLASS\n\nexport class QueryClient {\n private queryCache: QueryCache\n private mutationCache: MutationCache\n private logger: Logger\n private defaultOptions: DefaultOptions\n private queryDefaults: QueryDefaults[]\n private mutationDefaults: MutationDefaults[]\n private mountCount: number\n private unsubscribeFocus?: () => void\n private unsubscribeOnline?: () => void\n\n constructor(config: QueryClientConfig = {}) {\n this.queryCache = config.queryCache || new QueryCache()\n this.mutationCache = config.mutationCache || new MutationCache()\n this.logger = config.logger || defaultLogger\n this.defaultOptions = config.defaultOptions || {}\n this.queryDefaults = []\n this.mutationDefaults = []\n this.mountCount = 0\n\n if (process.env.NODE_ENV !== 'production' && config.logger) {\n this.logger.error(\n `Passing a custom logger has been deprecated and will be removed in the next major version.`,\n )\n }\n }\n\n mount(): void {\n this.mountCount++\n if (this.mountCount !== 1) return\n\n this.unsubscribeFocus = focusManager.subscribe(() => {\n if (focusManager.isFocused()) {\n this.resumePausedMutations()\n this.queryCache.onFocus()\n }\n })\n this.unsubscribeOnline = onlineManager.subscribe(() => {\n if (onlineManager.isOnline()) {\n this.resumePausedMutations()\n this.queryCache.onOnline()\n }\n })\n }\n\n unmount(): void {\n this.mountCount--\n if (this.mountCount !== 0) return\n\n this.unsubscribeFocus?.()\n this.unsubscribeFocus = undefined\n\n this.unsubscribeOnline?.()\n this.unsubscribeOnline = undefined\n }\n\n isFetching(filters?: QueryFilters): number\n isFetching(queryKey?: QueryKey, filters?: QueryFilters): number\n isFetching(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): number {\n const [filters] = parseFilterArgs(arg1, arg2)\n filters.fetchStatus = 'fetching'\n return this.queryCache.findAll(filters).length\n }\n\n isMutating(filters?: MutationFilters): number {\n return this.mutationCache.findAll({ ...filters, fetching: true }).length\n }\n\n getQueryData(\n queryKey: QueryKey,\n filters?: QueryFilters,\n ): TQueryFnData | undefined {\n return this.queryCache.find(queryKey, filters)?.state.data\n }\n\n ensureQueryData<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: WithRequired<\n FetchQueryOptions,\n 'queryKey'\n >,\n ): Promise\n ensureQueryData<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: Omit<\n FetchQueryOptions,\n 'queryKey'\n >,\n ): Promise\n ensureQueryData<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction,\n options?: Omit<\n FetchQueryOptions,\n 'queryKey' | 'queryFn'\n >,\n ): Promise\n ensureQueryData<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1:\n | TQueryKey\n | WithRequired<\n FetchQueryOptions,\n 'queryKey'\n >,\n arg2?:\n | QueryFunction\n | FetchQueryOptions,\n arg3?: FetchQueryOptions,\n ): Promise {\n const parsedOptions = parseQueryArgs(arg1, arg2, arg3)\n const cachedData = this.getQueryData(parsedOptions.queryKey!)\n\n return cachedData\n ? Promise.resolve(cachedData)\n : this.fetchQuery(parsedOptions)\n }\n\n getQueriesData(\n queryKey: QueryKey,\n ): [QueryKey, TQueryFnData | undefined][]\n getQueriesData(\n filters: QueryFilters,\n ): [QueryKey, TQueryFnData | undefined][]\n getQueriesData(\n queryKeyOrFilters: QueryKey | QueryFilters,\n ): [QueryKey, TQueryFnData | undefined][] {\n return this.getQueryCache()\n .findAll(queryKeyOrFilters)\n .map(({ queryKey, state }) => {\n const data = state.data as TQueryFnData | undefined\n return [queryKey, data]\n })\n }\n\n setQueryData(\n queryKey: QueryKey,\n updater: Updater,\n options?: SetDataOptions,\n ): TQueryFnData | undefined {\n const query = this.queryCache.find(queryKey)\n const prevData = query?.state.data\n const data = functionalUpdate(updater, prevData)\n\n if (typeof data === 'undefined') {\n return undefined\n }\n\n const parsedOptions = parseQueryArgs(queryKey)\n const defaultedOptions = this.defaultQueryOptions(parsedOptions)\n return this.queryCache\n .build(this, defaultedOptions)\n .setData(data, { ...options, manual: true })\n }\n\n setQueriesData(\n queryKey: QueryKey,\n updater: Updater,\n options?: SetDataOptions,\n ): [QueryKey, TQueryFnData | undefined][]\n\n setQueriesData(\n filters: QueryFilters,\n updater: Updater,\n options?: SetDataOptions,\n ): [QueryKey, TQueryFnData | undefined][]\n\n setQueriesData(\n queryKeyOrFilters: QueryKey | QueryFilters,\n updater: Updater,\n options?: SetDataOptions,\n ): [QueryKey, TQueryFnData | undefined][] {\n return notifyManager.batch(() =>\n this.getQueryCache()\n .findAll(queryKeyOrFilters)\n .map(({ queryKey }) => [\n queryKey,\n this.setQueryData(queryKey, updater, options),\n ]),\n )\n }\n\n getQueryState(\n queryKey: QueryKey,\n filters?: QueryFilters,\n ): QueryState | undefined {\n return this.queryCache.find(queryKey, filters)?.state\n }\n\n removeQueries(filters?: QueryFilters): void\n removeQueries(queryKey?: QueryKey, filters?: QueryFilters): void\n removeQueries(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): void {\n const [filters] = parseFilterArgs(arg1, arg2)\n const queryCache = this.queryCache\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query)\n })\n })\n }\n\n resetQueries(\n filters?: ResetQueryFilters,\n options?: ResetOptions,\n ): Promise\n resetQueries(\n queryKey?: QueryKey,\n filters?: ResetQueryFilters,\n options?: ResetOptions,\n ): Promise\n resetQueries(\n arg1?: QueryKey | ResetQueryFilters,\n arg2?: ResetQueryFilters | ResetOptions,\n arg3?: ResetOptions,\n ): Promise {\n const [filters, options] = parseFilterArgs(arg1, arg2, arg3)\n const queryCache = this.queryCache\n\n const refetchFilters: RefetchQueryFilters = {\n type: 'active',\n ...filters,\n }\n\n return notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n query.reset()\n })\n return this.refetchQueries(refetchFilters, options)\n })\n }\n\n cancelQueries(filters?: QueryFilters, options?: CancelOptions): Promise\n cancelQueries(\n queryKey?: QueryKey,\n filters?: QueryFilters,\n options?: CancelOptions,\n ): Promise\n cancelQueries(\n arg1?: QueryKey | QueryFilters,\n arg2?: QueryFilters | CancelOptions,\n arg3?: CancelOptions,\n ): Promise {\n const [filters, cancelOptions = {}] = parseFilterArgs(arg1, arg2, arg3)\n\n if (typeof cancelOptions.revert === 'undefined') {\n cancelOptions.revert = true\n }\n\n const promises = notifyManager.batch(() =>\n this.queryCache\n .findAll(filters)\n .map((query) => query.cancel(cancelOptions)),\n )\n\n return Promise.all(promises).then(noop).catch(noop)\n }\n\n invalidateQueries(\n filters?: InvalidateQueryFilters,\n options?: InvalidateOptions,\n ): Promise\n invalidateQueries(\n queryKey?: QueryKey,\n filters?: InvalidateQueryFilters,\n options?: InvalidateOptions,\n ): Promise\n invalidateQueries(\n arg1?: QueryKey | InvalidateQueryFilters,\n arg2?: InvalidateQueryFilters | InvalidateOptions,\n arg3?: InvalidateOptions,\n ): Promise {\n const [filters, options] = parseFilterArgs(arg1, arg2, arg3)\n\n return notifyManager.batch(() => {\n this.queryCache.findAll(filters).forEach((query) => {\n query.invalidate()\n })\n\n if (filters.refetchType === 'none') {\n return Promise.resolve()\n }\n const refetchFilters: RefetchQueryFilters = {\n ...filters,\n type: filters.refetchType ?? filters.type ?? 'active',\n }\n return this.refetchQueries(refetchFilters, options)\n })\n }\n\n refetchQueries(\n filters?: RefetchQueryFilters,\n options?: RefetchOptions,\n ): Promise\n refetchQueries(\n queryKey?: QueryKey,\n filters?: RefetchQueryFilters,\n options?: RefetchOptions,\n ): Promise\n refetchQueries(\n arg1?: QueryKey | RefetchQueryFilters,\n arg2?: RefetchQueryFilters | RefetchOptions,\n arg3?: RefetchOptions,\n ): Promise {\n const [filters, options] = parseFilterArgs(arg1, arg2, arg3)\n\n const promises = notifyManager.batch(() =>\n this.queryCache\n .findAll(filters)\n .filter((query) => !query.isDisabled())\n .map((query) =>\n query.fetch(undefined, {\n ...options,\n cancelRefetch: options?.cancelRefetch ?? true,\n meta: { refetchPage: filters.refetchPage },\n }),\n ),\n )\n\n let promise = Promise.all(promises).then(noop)\n\n if (!options?.throwOnError) {\n promise = promise.catch(noop)\n }\n\n return promise\n }\n\n fetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchQueryOptions,\n ): Promise\n fetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: FetchQueryOptions,\n ): Promise\n fetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction,\n options?: FetchQueryOptions,\n ): Promise\n fetchQuery<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1: TQueryKey | FetchQueryOptions,\n arg2?:\n | QueryFunction\n | FetchQueryOptions,\n arg3?: FetchQueryOptions,\n ): Promise {\n const parsedOptions = parseQueryArgs(arg1, arg2, arg3)\n const defaultedOptions = this.defaultQueryOptions(parsedOptions)\n\n // https://github.com/tannerlinsley/react-query/issues/652\n if (typeof defaultedOptions.retry === 'undefined') {\n defaultedOptions.retry = false\n }\n\n const query = this.queryCache.build(this, defaultedOptions)\n\n return query.isStaleByTime(defaultedOptions.staleTime)\n ? query.fetch(defaultedOptions)\n : Promise.resolve(query.state.data as TData)\n }\n\n prefetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchQueryOptions,\n ): Promise\n prefetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: FetchQueryOptions,\n ): Promise\n prefetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction,\n options?: FetchQueryOptions,\n ): Promise\n prefetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1: TQueryKey | FetchQueryOptions,\n arg2?:\n | QueryFunction\n | FetchQueryOptions,\n arg3?: FetchQueryOptions,\n ): Promise {\n return this.fetchQuery(arg1 as any, arg2 as any, arg3)\n .then(noop)\n .catch(noop)\n }\n\n fetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchInfiniteQueryOptions,\n ): Promise>\n fetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: FetchInfiniteQueryOptions,\n ): Promise>\n fetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction,\n options?: FetchInfiniteQueryOptions,\n ): Promise>\n fetchInfiniteQuery<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1:\n | TQueryKey\n | FetchInfiniteQueryOptions,\n arg2?:\n | QueryFunction\n | FetchInfiniteQueryOptions,\n arg3?: FetchInfiniteQueryOptions,\n ): Promise> {\n const parsedOptions = parseQueryArgs(arg1, arg2, arg3)\n parsedOptions.behavior = infiniteQueryBehavior<\n TQueryFnData,\n TError,\n TData\n >()\n return this.fetchQuery(parsedOptions)\n }\n\n prefetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchInfiniteQueryOptions,\n ): Promise\n prefetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: FetchInfiniteQueryOptions,\n ): Promise\n prefetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction,\n options?: FetchInfiniteQueryOptions,\n ): Promise\n prefetchInfiniteQuery<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1:\n | TQueryKey\n | FetchInfiniteQueryOptions,\n arg2?:\n | QueryFunction\n | FetchInfiniteQueryOptions,\n arg3?: FetchInfiniteQueryOptions,\n ): Promise {\n return this.fetchInfiniteQuery(arg1 as any, arg2 as any, arg3)\n .then(noop)\n .catch(noop)\n }\n\n resumePausedMutations(): Promise {\n return this.mutationCache.resumePausedMutations()\n }\n\n getQueryCache(): QueryCache {\n return this.queryCache\n }\n\n getMutationCache(): MutationCache {\n return this.mutationCache\n }\n\n getLogger(): Logger {\n return this.logger\n }\n\n getDefaultOptions(): DefaultOptions {\n return this.defaultOptions\n }\n\n setDefaultOptions(options: DefaultOptions): void {\n this.defaultOptions = options\n }\n\n setQueryDefaults(\n queryKey: QueryKey,\n options: QueryObserverOptions,\n ): void {\n const result = this.queryDefaults.find(\n (x) => hashQueryKey(queryKey) === hashQueryKey(x.queryKey),\n )\n if (result) {\n result.defaultOptions = options\n } else {\n this.queryDefaults.push({ queryKey, defaultOptions: options })\n }\n }\n\n getQueryDefaults(\n queryKey?: QueryKey,\n ): QueryObserverOptions | undefined {\n if (!queryKey) {\n return undefined\n }\n\n // Get the first matching defaults\n const firstMatchingDefaults = this.queryDefaults.find((x) =>\n partialMatchKey(queryKey, x.queryKey),\n )\n\n // Additional checks and error in dev mode\n if (process.env.NODE_ENV !== 'production') {\n // Retrieve all matching defaults for the given key\n const matchingDefaults = this.queryDefaults.filter((x) =>\n partialMatchKey(queryKey, x.queryKey),\n )\n // It is ok not having defaults, but it is error prone to have more than 1 default for a given key\n if (matchingDefaults.length > 1) {\n this.logger.error(\n `[QueryClient] Several query defaults match with key '${JSON.stringify(\n queryKey,\n )}'. The first matching query defaults are used. Please check how query defaults are registered. Order does matter here. cf. https://react-query.tanstack.com/reference/QueryClient#queryclientsetquerydefaults.`,\n )\n }\n }\n\n return firstMatchingDefaults?.defaultOptions\n }\n\n setMutationDefaults(\n mutationKey: MutationKey,\n options: MutationObserverOptions,\n ): void {\n const result = this.mutationDefaults.find(\n (x) => hashQueryKey(mutationKey) === hashQueryKey(x.mutationKey),\n )\n if (result) {\n result.defaultOptions = options\n } else {\n this.mutationDefaults.push({ mutationKey, defaultOptions: options })\n }\n }\n\n getMutationDefaults(\n mutationKey?: MutationKey,\n ): MutationObserverOptions | undefined {\n if (!mutationKey) {\n return undefined\n }\n\n // Get the first matching defaults\n const firstMatchingDefaults = this.mutationDefaults.find((x) =>\n partialMatchKey(mutationKey, x.mutationKey),\n )\n\n // Additional checks and error in dev mode\n if (process.env.NODE_ENV !== 'production') {\n // Retrieve all matching defaults for the given key\n const matchingDefaults = this.mutationDefaults.filter((x) =>\n partialMatchKey(mutationKey, x.mutationKey),\n )\n // It is ok not having defaults, but it is error prone to have more than 1 default for a given key\n if (matchingDefaults.length > 1) {\n this.logger.error(\n `[QueryClient] Several mutation defaults match with key '${JSON.stringify(\n mutationKey,\n )}'. The first matching mutation defaults are used. Please check how mutation defaults are registered. Order does matter here. cf. https://react-query.tanstack.com/reference/QueryClient#queryclientsetmutationdefaults.`,\n )\n }\n }\n\n return firstMatchingDefaults?.defaultOptions\n }\n\n defaultQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n >(\n options?:\n | QueryObserverOptions\n | DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n > {\n if (options?._defaulted) {\n return options as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n const defaultedOptions = {\n ...this.defaultOptions.queries,\n ...this.getQueryDefaults(options?.queryKey),\n ...options,\n _defaulted: true,\n }\n\n if (!defaultedOptions.queryHash && defaultedOptions.queryKey) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions,\n )\n }\n\n // dependent default values\n if (typeof defaultedOptions.refetchOnReconnect === 'undefined') {\n defaultedOptions.refetchOnReconnect =\n defaultedOptions.networkMode !== 'always'\n }\n if (typeof defaultedOptions.useErrorBoundary === 'undefined') {\n defaultedOptions.useErrorBoundary = !!defaultedOptions.suspense\n }\n\n return defaultedOptions as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n defaultMutationOptions>(\n options?: T,\n ): T {\n if (options?._defaulted) {\n return options\n }\n return {\n ...this.defaultOptions.mutations,\n ...this.getMutationDefaults(options?.mutationKey),\n ...options,\n _defaulted: true,\n } as T\n }\n\n clear(): void {\n this.queryCache.clear()\n this.mutationCache.clear()\n }\n}\n", "import {\n createConnectTransport,\n} from \"@bufbuild/connect-web\";\nimport {createPromiseClient} from \"@bufbuild/connect\";\nimport { ProtoflowService } from \"@/rpc/protoflow_connect\";\nimport { ContentService } from \"@/rpc/content/content_connect\";\nimport { UserService } from \"./rpc/user/user_connect\";\nimport {QueryClient} from \"@tanstack/react-query\";\n\nexport const baseURL = process.env.BASE_URL;\n\nexport const queryClient = new QueryClient();\nexport const transport = createConnectTransport({\n baseUrl: `${baseURL}/api` || 'error',\n // credentials: \"include\",\n});\n\nexport const projectService = createPromiseClient(ProtoflowService, transport);\nexport const contentService = createPromiseClient(ContentService, transport);\nexport const userService = createPromiseClient(UserService, transport);\n", "import { Content, Data, } from \"@/rpc/content/content_pb\";\n\nconst ITEMS_PER_PAGE = 100; // Adjust as required\n\nexport function textContent(text: string, tags: string[]): Content {\n return new Content({\n tags: tags,\n type: {\n case: 'data',\n value: new Data({\n type: {\n case: 'text',\n value: {\n data: text,\n }\n }\n })\n }\n })\n}\n\nexport function urlContent(url: string, tags: string[]): Content {\n return new Content({\n tags: tags,\n type: {\n case: 'data',\n value: new Data({\n type: {\n case: 'url',\n value: {\n url,\n }\n }\n })\n }\n })\n}\n\nexport function getHistoryPage(page: number, callback: (results: chrome.history.HistoryItem[]) => void): void {\n if (!chrome.history) {\n console.error(\"Chrome History API is not available\");\n return;\n }\n\n let endTime = Date.now(); // Default for first page\n let startTime = endTime - (ITEMS_PER_PAGE * 24 * 60 * 60 * 1000); // A rough estimate\n\n // If it's not the first page, adjust the endTime and startTime based on previous results\n if (page > 1) {\n chrome.history.search({\n text: '',\n startTime: 0,\n endTime: Date.now(),\n maxResults: (page - 1) * ITEMS_PER_PAGE\n }, (previousResults) => {\n const oldestItem = previousResults[previousResults.length - 1];\n if (!oldestItem.lastVisitTime) {\n return;\n }\n endTime = oldestItem.lastVisitTime;\n startTime = endTime - (ITEMS_PER_PAGE * 24 * 60 * 60 * 1000); // Adjust based on your needs\n\n fetchHistory(startTime, endTime, callback);\n });\n } else {\n fetchHistory(startTime, endTime, callback);\n }\n}\n\nfunction fetchHistory(startTime: number, endTime: number, callback: (results: chrome.history.HistoryItem[]) => void): void {\n chrome.history.search({\n text: '',\n startTime: startTime,\n endTime: endTime,\n maxResults: ITEMS_PER_PAGE\n }, (results) => {\n callback(results);\n });\n}\n"], + "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAYA,UAAI,MAAuC;AACzC,SAAC,WAAW;AAEJ;AAGV,cACE,OAAO,mCAAmC,eAC1C,OAAO,+BAA+B,gCACpC,YACF;AACA,2CAA+B,4BAA4B,IAAI,MAAM,CAAC;AAAA,UACxE;AACU,cAAI,eAAe;AAM7B,cAAI,qBAAqB,OAAO,IAAI,eAAe;AACnD,cAAI,oBAAoB,OAAO,IAAI,cAAc;AACjD,cAAI,sBAAsB,OAAO,IAAI,gBAAgB;AACrD,cAAI,yBAAyB,OAAO,IAAI,mBAAmB;AAC3D,cAAI,sBAAsB,OAAO,IAAI,gBAAgB;AACrD,cAAI,sBAAsB,OAAO,IAAI,gBAAgB;AACrD,cAAI,qBAAqB,OAAO,IAAI,eAAe;AACnD,cAAI,yBAAyB,OAAO,IAAI,mBAAmB;AAC3D,cAAI,sBAAsB,OAAO,IAAI,gBAAgB;AACrD,cAAI,2BAA2B,OAAO,IAAI,qBAAqB;AAC/D,cAAI,kBAAkB,OAAO,IAAI,YAAY;AAC7C,cAAI,kBAAkB,OAAO,IAAI,YAAY;AAC7C,cAAI,uBAAuB,OAAO,IAAI,iBAAiB;AACvD,cAAI,wBAAwB,OAAO;AACnC,cAAI,uBAAuB;AAC3B,mBAAS,cAAc,eAAe;AACpC,gBAAI,kBAAkB,QAAQ,OAAO,kBAAkB,UAAU;AAC/D,qBAAO;AAAA,YACT;AAEA,gBAAI,gBAAgB,yBAAyB,cAAc,qBAAqB,KAAK,cAAc,oBAAoB;AAEvH,gBAAI,OAAO,kBAAkB,YAAY;AACvC,qBAAO;AAAA,YACT;AAEA,mBAAO;AAAA,UACT;AAKA,cAAI,yBAAyB;AAAA;AAAA;AAAA;AAAA;AAAA,YAK3B,SAAS;AAAA,UACX;AAMA,cAAI,0BAA0B;AAAA,YAC5B,YAAY;AAAA,UACd;AAEA,cAAI,uBAAuB;AAAA,YACzB,SAAS;AAAA;AAAA,YAET,kBAAkB;AAAA,YAClB,yBAAyB;AAAA,UAC3B;AAQA,cAAI,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA,YAKtB,SAAS;AAAA,UACX;AAEA,cAAI,yBAAyB,CAAC;AAC9B,cAAI,yBAAyB;AAC7B,mBAAS,mBAAmB,OAAO;AACjC;AACE,uCAAyB;AAAA,YAC3B;AAAA,UACF;AAEA;AACE,mCAAuB,qBAAqB,SAAU,OAAO;AAC3D;AACE,yCAAyB;AAAA,cAC3B;AAAA,YACF;AAGA,mCAAuB,kBAAkB;AAEzC,mCAAuB,mBAAmB,WAAY;AACpD,kBAAI,QAAQ;AAEZ,kBAAI,wBAAwB;AAC1B,yBAAS;AAAA,cACX;AAGA,kBAAI,OAAO,uBAAuB;AAElC,kBAAI,MAAM;AACR,yBAAS,KAAK,KAAK;AAAA,cACrB;AAEA,qBAAO;AAAA,YACT;AAAA,UACF;AAIA,cAAI,iBAAiB;AACrB,cAAI,qBAAqB;AACzB,cAAI,0BAA0B;AAE9B,cAAI,qBAAqB;AAIzB,cAAI,qBAAqB;AAEzB,cAAI,uBAAuB;AAAA,YACzB;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAEA;AACE,iCAAqB,yBAAyB;AAC9C,iCAAqB,uBAAuB;AAAA,UAC9C;AAOA,mBAASA,MAAKC,SAAQ;AACpB;AACE;AACE,yBAAS,OAAO,UAAU,QAAQ,OAAO,IAAI,MAAM,OAAO,IAAI,OAAO,IAAI,CAAC,GAAG,OAAO,GAAG,OAAO,MAAM,QAAQ;AAC1G,uBAAK,OAAO,CAAC,IAAI,UAAU,IAAI;AAAA,gBACjC;AAEA,6BAAa,QAAQA,SAAQ,IAAI;AAAA,cACnC;AAAA,YACF;AAAA,UACF;AACA,mBAAS,MAAMA,SAAQ;AACrB;AACE;AACE,yBAAS,QAAQ,UAAU,QAAQ,OAAO,IAAI,MAAM,QAAQ,IAAI,QAAQ,IAAI,CAAC,GAAG,QAAQ,GAAG,QAAQ,OAAO,SAAS;AACjH,uBAAK,QAAQ,CAAC,IAAI,UAAU,KAAK;AAAA,gBACnC;AAEA,6BAAa,SAASA,SAAQ,IAAI;AAAA,cACpC;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,aAAa,OAAOA,SAAQ,MAAM;AAGzC;AACE,kBAAIC,0BAAyB,qBAAqB;AAClD,kBAAI,QAAQA,wBAAuB,iBAAiB;AAEpD,kBAAI,UAAU,IAAI;AAChB,gBAAAD,WAAU;AACV,uBAAO,KAAK,OAAO,CAAC,KAAK,CAAC;AAAA,cAC5B;AAGA,kBAAI,iBAAiB,KAAK,IAAI,SAAU,MAAM;AAC5C,uBAAO,OAAO,IAAI;AAAA,cACpB,CAAC;AAED,6BAAe,QAAQ,cAAcA,OAAM;AAI3C,uBAAS,UAAU,MAAM,KAAK,QAAQ,KAAK,GAAG,SAAS,cAAc;AAAA,YACvE;AAAA,UACF;AAEA,cAAI,0CAA0C,CAAC;AAE/C,mBAAS,SAAS,gBAAgB,YAAY;AAC5C;AACE,kBAAI,eAAe,eAAe;AAClC,kBAAI,gBAAgB,iBAAiB,aAAa,eAAe,aAAa,SAAS;AACvF,kBAAI,aAAa,gBAAgB,MAAM;AAEvC,kBAAI,wCAAwC,UAAU,GAAG;AACvD;AAAA,cACF;AAEA,oBAAM,yPAAwQ,YAAY,aAAa;AAEvS,sDAAwC,UAAU,IAAI;AAAA,YACxD;AAAA,UACF;AAMA,cAAI,uBAAuB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAQzB,WAAW,SAAU,gBAAgB;AACnC,qBAAO;AAAA,YACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAiBA,oBAAoB,SAAU,gBAAgB,UAAU,YAAY;AAClE,uBAAS,gBAAgB,aAAa;AAAA,YACxC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAeA,qBAAqB,SAAU,gBAAgB,eAAe,UAAU,YAAY;AAClF,uBAAS,gBAAgB,cAAc;AAAA,YACzC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAcA,iBAAiB,SAAU,gBAAgB,cAAc,UAAU,YAAY;AAC7E,uBAAS,gBAAgB,UAAU;AAAA,YACrC;AAAA,UACF;AAEA,cAAIE,UAAS,OAAO;AAEpB,cAAI,cAAc,CAAC;AAEnB;AACE,mBAAO,OAAO,WAAW;AAAA,UAC3B;AAMA,mBAAS,UAAU,OAAO,SAAS,SAAS;AAC1C,iBAAK,QAAQ;AACb,iBAAK,UAAU;AAEf,iBAAK,OAAO;AAGZ,iBAAK,UAAU,WAAW;AAAA,UAC5B;AAEA,oBAAU,UAAU,mBAAmB,CAAC;AA2BxC,oBAAU,UAAU,WAAW,SAAU,cAAc,UAAU;AAC/D,gBAAI,OAAO,iBAAiB,YAAY,OAAO,iBAAiB,cAAc,gBAAgB,MAAM;AAClG,oBAAM,IAAI,MAAM,uHAA4H;AAAA,YAC9I;AAEA,iBAAK,QAAQ,gBAAgB,MAAM,cAAc,UAAU,UAAU;AAAA,UACvE;AAiBA,oBAAU,UAAU,cAAc,SAAU,UAAU;AACpD,iBAAK,QAAQ,mBAAmB,MAAM,UAAU,aAAa;AAAA,UAC/D;AAQA;AACE,gBAAI,iBAAiB;AAAA,cACnB,WAAW,CAAC,aAAa,oHAAyH;AAAA,cAClJ,cAAc,CAAC,gBAAgB,iGAAsG;AAAA,YACvI;AAEA,gBAAI,2BAA2B,SAAU,YAAY,MAAM;AACzD,qBAAO,eAAe,UAAU,WAAW,YAAY;AAAA,gBACrD,KAAK,WAAY;AACf,kBAAAH,MAAK,+DAA+D,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC;AAEpF,yBAAO;AAAA,gBACT;AAAA,cACF,CAAC;AAAA,YACH;AAEA,qBAAS,UAAU,gBAAgB;AACjC,kBAAI,eAAe,eAAe,MAAM,GAAG;AACzC,yCAAyB,QAAQ,eAAe,MAAM,CAAC;AAAA,cACzD;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,iBAAiB;AAAA,UAAC;AAE3B,yBAAe,YAAY,UAAU;AAKrC,mBAAS,cAAc,OAAO,SAAS,SAAS;AAC9C,iBAAK,QAAQ;AACb,iBAAK,UAAU;AAEf,iBAAK,OAAO;AACZ,iBAAK,UAAU,WAAW;AAAA,UAC5B;AAEA,cAAI,yBAAyB,cAAc,YAAY,IAAI,eAAe;AAC1E,iCAAuB,cAAc;AAErC,UAAAG,QAAO,wBAAwB,UAAU,SAAS;AAClD,iCAAuB,uBAAuB;AAG9C,mBAAS,YAAY;AACnB,gBAAI,YAAY;AAAA,cACd,SAAS;AAAA,YACX;AAEA;AACE,qBAAO,KAAK,SAAS;AAAA,YACvB;AAEA,mBAAO;AAAA,UACT;AAEA,cAAI,cAAc,MAAM;AAExB,mBAAS,QAAQ,GAAG;AAClB,mBAAO,YAAY,CAAC;AAAA,UACtB;AAYA,mBAAS,SAAS,OAAO;AACvB;AAEE,kBAAI,iBAAiB,OAAO,WAAW,cAAc,OAAO;AAC5D,kBAAI,OAAO,kBAAkB,MAAM,OAAO,WAAW,KAAK,MAAM,YAAY,QAAQ;AACpF,qBAAO;AAAA,YACT;AAAA,UACF;AAGA,mBAAS,kBAAkB,OAAO;AAChC;AACE,kBAAI;AACF,mCAAmB,KAAK;AACxB,uBAAO;AAAA,cACT,SAAS,GAAG;AACV,uBAAO;AAAA,cACT;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,mBAAmB,OAAO;AAwBjC,mBAAO,KAAK;AAAA,UACd;AACA,mBAAS,uBAAuB,OAAO;AACrC;AACE,kBAAI,kBAAkB,KAAK,GAAG;AAC5B,sBAAM,mHAAwH,SAAS,KAAK,CAAC;AAE7I,uBAAO,mBAAmB,KAAK;AAAA,cACjC;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,eAAe,WAAW,WAAW,aAAa;AACzD,gBAAI,cAAc,UAAU;AAE5B,gBAAI,aAAa;AACf,qBAAO;AAAA,YACT;AAEA,gBAAI,eAAe,UAAU,eAAe,UAAU,QAAQ;AAC9D,mBAAO,iBAAiB,KAAK,cAAc,MAAM,eAAe,MAAM;AAAA,UACxE;AAGA,mBAAS,eAAe,MAAM;AAC5B,mBAAO,KAAK,eAAe;AAAA,UAC7B;AAGA,mBAAS,yBAAyB,MAAM;AACtC,gBAAI,QAAQ,MAAM;AAEhB,qBAAO;AAAA,YACT;AAEA;AACE,kBAAI,OAAO,KAAK,QAAQ,UAAU;AAChC,sBAAM,mHAAwH;AAAA,cAChI;AAAA,YACF;AAEA,gBAAI,OAAO,SAAS,YAAY;AAC9B,qBAAO,KAAK,eAAe,KAAK,QAAQ;AAAA,YAC1C;AAEA,gBAAI,OAAO,SAAS,UAAU;AAC5B,qBAAO;AAAA,YACT;AAEA,oBAAQ,MAAM;AAAA,cACZ,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO;AAAA,YAEX;AAEA,gBAAI,OAAO,SAAS,UAAU;AAC5B,sBAAQ,KAAK,UAAU;AAAA,gBACrB,KAAK;AACH,sBAAI,UAAU;AACd,yBAAO,eAAe,OAAO,IAAI;AAAA,gBAEnC,KAAK;AACH,sBAAI,WAAW;AACf,yBAAO,eAAe,SAAS,QAAQ,IAAI;AAAA,gBAE7C,KAAK;AACH,yBAAO,eAAe,MAAM,KAAK,QAAQ,YAAY;AAAA,gBAEvD,KAAK;AACH,sBAAI,YAAY,KAAK,eAAe;AAEpC,sBAAI,cAAc,MAAM;AACtB,2BAAO;AAAA,kBACT;AAEA,yBAAO,yBAAyB,KAAK,IAAI,KAAK;AAAA,gBAEhD,KAAK,iBACH;AACE,sBAAI,gBAAgB;AACpB,sBAAI,UAAU,cAAc;AAC5B,sBAAI,OAAO,cAAc;AAEzB,sBAAI;AACF,2BAAO,yBAAyB,KAAK,OAAO,CAAC;AAAA,kBAC/C,SAAS,GAAG;AACV,2BAAO;AAAA,kBACT;AAAA,gBACF;AAAA,cAGJ;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AAEA,cAAI,iBAAiB,OAAO,UAAU;AAEtC,cAAI,iBAAiB;AAAA,YACnB,KAAK;AAAA,YACL,KAAK;AAAA,YACL,QAAQ;AAAA,YACR,UAAU;AAAA,UACZ;AACA,cAAI,4BAA4B,4BAA4B;AAE5D;AACE,qCAAyB,CAAC;AAAA,UAC5B;AAEA,mBAAS,YAAY,QAAQ;AAC3B;AACE,kBAAI,eAAe,KAAK,QAAQ,KAAK,GAAG;AACtC,oBAAI,SAAS,OAAO,yBAAyB,QAAQ,KAAK,EAAE;AAE5D,oBAAI,UAAU,OAAO,gBAAgB;AACnC,yBAAO;AAAA,gBACT;AAAA,cACF;AAAA,YACF;AAEA,mBAAO,OAAO,QAAQ;AAAA,UACxB;AAEA,mBAAS,YAAY,QAAQ;AAC3B;AACE,kBAAI,eAAe,KAAK,QAAQ,KAAK,GAAG;AACtC,oBAAI,SAAS,OAAO,yBAAyB,QAAQ,KAAK,EAAE;AAE5D,oBAAI,UAAU,OAAO,gBAAgB;AACnC,yBAAO;AAAA,gBACT;AAAA,cACF;AAAA,YACF;AAEA,mBAAO,OAAO,QAAQ;AAAA,UACxB;AAEA,mBAAS,2BAA2B,OAAO,aAAa;AACtD,gBAAI,wBAAwB,WAAY;AACtC;AACE,oBAAI,CAAC,4BAA4B;AAC/B,+CAA6B;AAE7B,wBAAM,6OAA4P,WAAW;AAAA,gBAC/Q;AAAA,cACF;AAAA,YACF;AAEA,kCAAsB,iBAAiB;AACvC,mBAAO,eAAe,OAAO,OAAO;AAAA,cAClC,KAAK;AAAA,cACL,cAAc;AAAA,YAChB,CAAC;AAAA,UACH;AAEA,mBAAS,2BAA2B,OAAO,aAAa;AACtD,gBAAI,wBAAwB,WAAY;AACtC;AACE,oBAAI,CAAC,4BAA4B;AAC/B,+CAA6B;AAE7B,wBAAM,6OAA4P,WAAW;AAAA,gBAC/Q;AAAA,cACF;AAAA,YACF;AAEA,kCAAsB,iBAAiB;AACvC,mBAAO,eAAe,OAAO,OAAO;AAAA,cAClC,KAAK;AAAA,cACL,cAAc;AAAA,YAChB,CAAC;AAAA,UACH;AAEA,mBAAS,qCAAqC,QAAQ;AACpD;AACE,kBAAI,OAAO,OAAO,QAAQ,YAAY,kBAAkB,WAAW,OAAO,UAAU,kBAAkB,QAAQ,cAAc,OAAO,QAAQ;AACzI,oBAAI,gBAAgB,yBAAyB,kBAAkB,QAAQ,IAAI;AAE3E,oBAAI,CAAC,uBAAuB,aAAa,GAAG;AAC1C,wBAAM,6VAAsX,eAAe,OAAO,GAAG;AAErZ,yCAAuB,aAAa,IAAI;AAAA,gBAC1C;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAuBA,cAAI,eAAe,SAAU,MAAM,KAAK,KAAK,MAAM,QAAQ,OAAO,OAAO;AACvE,gBAAI,UAAU;AAAA;AAAA,cAEZ,UAAU;AAAA;AAAA,cAEV;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA;AAAA,cAEA,QAAQ;AAAA,YACV;AAEA;AAKE,sBAAQ,SAAS,CAAC;AAKlB,qBAAO,eAAe,QAAQ,QAAQ,aAAa;AAAA,gBACjD,cAAc;AAAA,gBACd,YAAY;AAAA,gBACZ,UAAU;AAAA,gBACV,OAAO;AAAA,cACT,CAAC;AAED,qBAAO,eAAe,SAAS,SAAS;AAAA,gBACtC,cAAc;AAAA,gBACd,YAAY;AAAA,gBACZ,UAAU;AAAA,gBACV,OAAO;AAAA,cACT,CAAC;AAGD,qBAAO,eAAe,SAAS,WAAW;AAAA,gBACxC,cAAc;AAAA,gBACd,YAAY;AAAA,gBACZ,UAAU;AAAA,gBACV,OAAO;AAAA,cACT,CAAC;AAED,kBAAI,OAAO,QAAQ;AACjB,uBAAO,OAAO,QAAQ,KAAK;AAC3B,uBAAO,OAAO,OAAO;AAAA,cACvB;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AAMA,mBAASC,eAAc,MAAM,QAAQ,UAAU;AAC7C,gBAAI;AAEJ,gBAAI,QAAQ,CAAC;AACb,gBAAI,MAAM;AACV,gBAAI,MAAM;AACV,gBAAI,OAAO;AACX,gBAAI,SAAS;AAEb,gBAAI,UAAU,MAAM;AAClB,kBAAI,YAAY,MAAM,GAAG;AACvB,sBAAM,OAAO;AAEb;AACE,uDAAqC,MAAM;AAAA,gBAC7C;AAAA,cACF;AAEA,kBAAI,YAAY,MAAM,GAAG;AACvB;AACE,yCAAuB,OAAO,GAAG;AAAA,gBACnC;AAEA,sBAAM,KAAK,OAAO;AAAA,cACpB;AAEA,qBAAO,OAAO,WAAW,SAAY,OAAO,OAAO;AACnD,uBAAS,OAAO,aAAa,SAAY,OAAO,OAAO;AAEvD,mBAAK,YAAY,QAAQ;AACvB,oBAAI,eAAe,KAAK,QAAQ,QAAQ,KAAK,CAAC,eAAe,eAAe,QAAQ,GAAG;AACrF,wBAAM,QAAQ,IAAI,OAAO,QAAQ;AAAA,gBACnC;AAAA,cACF;AAAA,YACF;AAIA,gBAAI,iBAAiB,UAAU,SAAS;AAExC,gBAAI,mBAAmB,GAAG;AACxB,oBAAM,WAAW;AAAA,YACnB,WAAW,iBAAiB,GAAG;AAC7B,kBAAI,aAAa,MAAM,cAAc;AAErC,uBAAS,IAAI,GAAG,IAAI,gBAAgB,KAAK;AACvC,2BAAW,CAAC,IAAI,UAAU,IAAI,CAAC;AAAA,cACjC;AAEA;AACE,oBAAI,OAAO,QAAQ;AACjB,yBAAO,OAAO,UAAU;AAAA,gBAC1B;AAAA,cACF;AAEA,oBAAM,WAAW;AAAA,YACnB;AAGA,gBAAI,QAAQ,KAAK,cAAc;AAC7B,kBAAI,eAAe,KAAK;AAExB,mBAAK,YAAY,cAAc;AAC7B,oBAAI,MAAM,QAAQ,MAAM,QAAW;AACjC,wBAAM,QAAQ,IAAI,aAAa,QAAQ;AAAA,gBACzC;AAAA,cACF;AAAA,YACF;AAEA;AACE,kBAAI,OAAO,KAAK;AACd,oBAAI,cAAc,OAAO,SAAS,aAAa,KAAK,eAAe,KAAK,QAAQ,YAAY;AAE5F,oBAAI,KAAK;AACP,6CAA2B,OAAO,WAAW;AAAA,gBAC/C;AAEA,oBAAI,KAAK;AACP,6CAA2B,OAAO,WAAW;AAAA,gBAC/C;AAAA,cACF;AAAA,YACF;AAEA,mBAAO,aAAa,MAAM,KAAK,KAAK,MAAM,QAAQ,kBAAkB,SAAS,KAAK;AAAA,UACpF;AACA,mBAAS,mBAAmB,YAAY,QAAQ;AAC9C,gBAAI,aAAa,aAAa,WAAW,MAAM,QAAQ,WAAW,KAAK,WAAW,OAAO,WAAW,SAAS,WAAW,QAAQ,WAAW,KAAK;AAChJ,mBAAO;AAAA,UACT;AAMA,mBAASC,cAAa,SAAS,QAAQ,UAAU;AAC/C,gBAAI,YAAY,QAAQ,YAAY,QAAW;AAC7C,oBAAM,IAAI,MAAM,mFAAmF,UAAU,GAAG;AAAA,YAClH;AAEA,gBAAI;AAEJ,gBAAI,QAAQF,QAAO,CAAC,GAAG,QAAQ,KAAK;AAEpC,gBAAI,MAAM,QAAQ;AAClB,gBAAI,MAAM,QAAQ;AAElB,gBAAI,OAAO,QAAQ;AAInB,gBAAI,SAAS,QAAQ;AAErB,gBAAI,QAAQ,QAAQ;AAEpB,gBAAI,UAAU,MAAM;AAClB,kBAAI,YAAY,MAAM,GAAG;AAEvB,sBAAM,OAAO;AACb,wBAAQ,kBAAkB;AAAA,cAC5B;AAEA,kBAAI,YAAY,MAAM,GAAG;AACvB;AACE,yCAAuB,OAAO,GAAG;AAAA,gBACnC;AAEA,sBAAM,KAAK,OAAO;AAAA,cACpB;AAGA,kBAAI;AAEJ,kBAAI,QAAQ,QAAQ,QAAQ,KAAK,cAAc;AAC7C,+BAAe,QAAQ,KAAK;AAAA,cAC9B;AAEA,mBAAK,YAAY,QAAQ;AACvB,oBAAI,eAAe,KAAK,QAAQ,QAAQ,KAAK,CAAC,eAAe,eAAe,QAAQ,GAAG;AACrF,sBAAI,OAAO,QAAQ,MAAM,UAAa,iBAAiB,QAAW;AAEhE,0BAAM,QAAQ,IAAI,aAAa,QAAQ;AAAA,kBACzC,OAAO;AACL,0BAAM,QAAQ,IAAI,OAAO,QAAQ;AAAA,kBACnC;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAIA,gBAAI,iBAAiB,UAAU,SAAS;AAExC,gBAAI,mBAAmB,GAAG;AACxB,oBAAM,WAAW;AAAA,YACnB,WAAW,iBAAiB,GAAG;AAC7B,kBAAI,aAAa,MAAM,cAAc;AAErC,uBAAS,IAAI,GAAG,IAAI,gBAAgB,KAAK;AACvC,2BAAW,CAAC,IAAI,UAAU,IAAI,CAAC;AAAA,cACjC;AAEA,oBAAM,WAAW;AAAA,YACnB;AAEA,mBAAO,aAAa,QAAQ,MAAM,KAAK,KAAK,MAAM,QAAQ,OAAO,KAAK;AAAA,UACxE;AASA,mBAASG,gBAAe,QAAQ;AAC9B,mBAAO,OAAO,WAAW,YAAY,WAAW,QAAQ,OAAO,aAAa;AAAA,UAC9E;AAEA,cAAI,YAAY;AAChB,cAAI,eAAe;AAQnB,mBAAS,OAAO,KAAK;AACnB,gBAAI,cAAc;AAClB,gBAAI,gBAAgB;AAAA,cAClB,KAAK;AAAA,cACL,KAAK;AAAA,YACP;AACA,gBAAI,gBAAgB,IAAI,QAAQ,aAAa,SAAU,OAAO;AAC5D,qBAAO,cAAc,KAAK;AAAA,YAC5B,CAAC;AACD,mBAAO,MAAM;AAAA,UACf;AAOA,cAAI,mBAAmB;AACvB,cAAI,6BAA6B;AAEjC,mBAAS,sBAAsB,MAAM;AACnC,mBAAO,KAAK,QAAQ,4BAA4B,KAAK;AAAA,UACvD;AAUA,mBAAS,cAAc,SAAS,OAAO;AAGrC,gBAAI,OAAO,YAAY,YAAY,YAAY,QAAQ,QAAQ,OAAO,MAAM;AAE1E;AACE,uCAAuB,QAAQ,GAAG;AAAA,cACpC;AAEA,qBAAO,OAAO,KAAK,QAAQ,GAAG;AAAA,YAChC;AAGA,mBAAO,MAAM,SAAS,EAAE;AAAA,UAC1B;AAEA,mBAAS,aAAa,UAAU,OAAO,eAAe,WAAW,UAAU;AACzE,gBAAI,OAAO,OAAO;AAElB,gBAAI,SAAS,eAAe,SAAS,WAAW;AAE9C,yBAAW;AAAA,YACb;AAEA,gBAAI,iBAAiB;AAErB,gBAAI,aAAa,MAAM;AACrB,+BAAiB;AAAA,YACnB,OAAO;AACL,sBAAQ,MAAM;AAAA,gBACZ,KAAK;AAAA,gBACL,KAAK;AACH,mCAAiB;AACjB;AAAA,gBAEF,KAAK;AACH,0BAAQ,SAAS,UAAU;AAAA,oBACzB,KAAK;AAAA,oBACL,KAAK;AACH,uCAAiB;AAAA,kBACrB;AAAA,cAEJ;AAAA,YACF;AAEA,gBAAI,gBAAgB;AAClB,kBAAI,SAAS;AACb,kBAAI,cAAc,SAAS,MAAM;AAGjC,kBAAI,WAAW,cAAc,KAAK,YAAY,cAAc,QAAQ,CAAC,IAAI;AAEzE,kBAAI,QAAQ,WAAW,GAAG;AACxB,oBAAI,kBAAkB;AAEtB,oBAAI,YAAY,MAAM;AACpB,oCAAkB,sBAAsB,QAAQ,IAAI;AAAA,gBACtD;AAEA,6BAAa,aAAa,OAAO,iBAAiB,IAAI,SAAU,GAAG;AACjE,yBAAO;AAAA,gBACT,CAAC;AAAA,cACH,WAAW,eAAe,MAAM;AAC9B,oBAAIA,gBAAe,WAAW,GAAG;AAC/B;AAIE,wBAAI,YAAY,QAAQ,CAAC,UAAU,OAAO,QAAQ,YAAY,MAAM;AAClE,6CAAuB,YAAY,GAAG;AAAA,oBACxC;AAAA,kBACF;AAEA,gCAAc;AAAA,oBAAmB;AAAA;AAAA;AAAA,oBAEjC;AAAA,qBACA,YAAY,QAAQ,CAAC,UAAU,OAAO,QAAQ,YAAY;AAAA;AAAA;AAAA,sBAE1D,sBAAsB,KAAK,YAAY,GAAG,IAAI;AAAA,wBAAM,MAAM;AAAA,kBAAQ;AAAA,gBACpE;AAEA,sBAAM,KAAK,WAAW;AAAA,cACxB;AAEA,qBAAO;AAAA,YACT;AAEA,gBAAI;AACJ,gBAAI;AACJ,gBAAI,eAAe;AAEnB,gBAAI,iBAAiB,cAAc,KAAK,YAAY,YAAY;AAEhE,gBAAI,QAAQ,QAAQ,GAAG;AACrB,uBAAS,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;AACxC,wBAAQ,SAAS,CAAC;AAClB,2BAAW,iBAAiB,cAAc,OAAO,CAAC;AAClD,gCAAgB,aAAa,OAAO,OAAO,eAAe,UAAU,QAAQ;AAAA,cAC9E;AAAA,YACF,OAAO;AACL,kBAAI,aAAa,cAAc,QAAQ;AAEvC,kBAAI,OAAO,eAAe,YAAY;AACpC,oBAAI,mBAAmB;AAEvB;AAEE,sBAAI,eAAe,iBAAiB,SAAS;AAC3C,wBAAI,CAAC,kBAAkB;AACrB,sBAAAN,MAAK,uFAA4F;AAAA,oBACnG;AAEA,uCAAmB;AAAA,kBACrB;AAAA,gBACF;AAEA,oBAAI,WAAW,WAAW,KAAK,gBAAgB;AAC/C,oBAAI;AACJ,oBAAI,KAAK;AAET,uBAAO,EAAE,OAAO,SAAS,KAAK,GAAG,MAAM;AACrC,0BAAQ,KAAK;AACb,6BAAW,iBAAiB,cAAc,OAAO,IAAI;AACrD,kCAAgB,aAAa,OAAO,OAAO,eAAe,UAAU,QAAQ;AAAA,gBAC9E;AAAA,cACF,WAAW,SAAS,UAAU;AAE5B,oBAAI,iBAAiB,OAAO,QAAQ;AACpC,sBAAM,IAAI,MAAM,qDAAqD,mBAAmB,oBAAoB,uBAAuB,OAAO,KAAK,QAAQ,EAAE,KAAK,IAAI,IAAI,MAAM,kBAAkB,2EAAqF;AAAA,cACrR;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AAeA,mBAAS,YAAY,UAAU,MAAM,SAAS;AAC5C,gBAAI,YAAY,MAAM;AACpB,qBAAO;AAAA,YACT;AAEA,gBAAI,SAAS,CAAC;AACd,gBAAI,QAAQ;AACZ,yBAAa,UAAU,QAAQ,IAAI,IAAI,SAAU,OAAO;AACtD,qBAAO,KAAK,KAAK,SAAS,OAAO,OAAO;AAAA,YAC1C,CAAC;AACD,mBAAO;AAAA,UACT;AAYA,mBAAS,cAAc,UAAU;AAC/B,gBAAI,IAAI;AACR,wBAAY,UAAU,WAAY;AAChC;AAAA,YACF,CAAC;AACD,mBAAO;AAAA,UACT;AAcA,mBAAS,gBAAgB,UAAU,aAAa,gBAAgB;AAC9D,wBAAY,UAAU,WAAY;AAChC,0BAAY,MAAM,MAAM,SAAS;AAAA,YACnC,GAAG,cAAc;AAAA,UACnB;AASA,mBAAS,QAAQ,UAAU;AACzB,mBAAO,YAAY,UAAU,SAAU,OAAO;AAC5C,qBAAO;AAAA,YACT,CAAC,KAAK,CAAC;AAAA,UACT;AAiBA,mBAAS,UAAU,UAAU;AAC3B,gBAAI,CAACM,gBAAe,QAAQ,GAAG;AAC7B,oBAAM,IAAI,MAAM,uEAAuE;AAAA,YACzF;AAEA,mBAAO;AAAA,UACT;AAEA,mBAASC,eAAc,cAAc;AAGnC,gBAAI,UAAU;AAAA,cACZ,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAMV,eAAe;AAAA,cACf,gBAAgB;AAAA;AAAA;AAAA,cAGhB,cAAc;AAAA;AAAA,cAEd,UAAU;AAAA,cACV,UAAU;AAAA;AAAA,cAEV,eAAe;AAAA,cACf,aAAa;AAAA,YACf;AACA,oBAAQ,WAAW;AAAA,cACjB,UAAU;AAAA,cACV,UAAU;AAAA,YACZ;AACA,gBAAI,4CAA4C;AAChD,gBAAI,sCAAsC;AAC1C,gBAAI,sCAAsC;AAE1C;AAIE,kBAAI,WAAW;AAAA,gBACb,UAAU;AAAA,gBACV,UAAU;AAAA,cACZ;AAEA,qBAAO,iBAAiB,UAAU;AAAA,gBAChC,UAAU;AAAA,kBACR,KAAK,WAAY;AACf,wBAAI,CAAC,qCAAqC;AACxC,4DAAsC;AAEtC,4BAAM,0JAA+J;AAAA,oBACvK;AAEA,2BAAO,QAAQ;AAAA,kBACjB;AAAA,kBACA,KAAK,SAAU,WAAW;AACxB,4BAAQ,WAAW;AAAA,kBACrB;AAAA,gBACF;AAAA,gBACA,eAAe;AAAA,kBACb,KAAK,WAAY;AACf,2BAAO,QAAQ;AAAA,kBACjB;AAAA,kBACA,KAAK,SAAU,eAAe;AAC5B,4BAAQ,gBAAgB;AAAA,kBAC1B;AAAA,gBACF;AAAA,gBACA,gBAAgB;AAAA,kBACd,KAAK,WAAY;AACf,2BAAO,QAAQ;AAAA,kBACjB;AAAA,kBACA,KAAK,SAAU,gBAAgB;AAC7B,4BAAQ,iBAAiB;AAAA,kBAC3B;AAAA,gBACF;AAAA,gBACA,cAAc;AAAA,kBACZ,KAAK,WAAY;AACf,2BAAO,QAAQ;AAAA,kBACjB;AAAA,kBACA,KAAK,SAAU,cAAc;AAC3B,4BAAQ,eAAe;AAAA,kBACzB;AAAA,gBACF;AAAA,gBACA,UAAU;AAAA,kBACR,KAAK,WAAY;AACf,wBAAI,CAAC,2CAA2C;AAC9C,kEAA4C;AAE5C,4BAAM,0JAA+J;AAAA,oBACvK;AAEA,2BAAO,QAAQ;AAAA,kBACjB;AAAA,gBACF;AAAA,gBACA,aAAa;AAAA,kBACX,KAAK,WAAY;AACf,2BAAO,QAAQ;AAAA,kBACjB;AAAA,kBACA,KAAK,SAAU,aAAa;AAC1B,wBAAI,CAAC,qCAAqC;AACxC,sBAAAP,MAAK,uIAA4I,WAAW;AAE5J,4DAAsC;AAAA,oBACxC;AAAA,kBACF;AAAA,gBACF;AAAA,cACF,CAAC;AAED,sBAAQ,WAAW;AAAA,YACrB;AAEA;AACE,sBAAQ,mBAAmB;AAC3B,sBAAQ,oBAAoB;AAAA,YAC9B;AAEA,mBAAO;AAAA,UACT;AAEA,cAAI,gBAAgB;AACpB,cAAI,UAAU;AACd,cAAI,WAAW;AACf,cAAI,WAAW;AAEf,mBAAS,gBAAgB,SAAS;AAChC,gBAAI,QAAQ,YAAY,eAAe;AACrC,kBAAI,OAAO,QAAQ;AACnB,kBAAI,WAAW,KAAK;AAMpB,uBAAS,KAAK,SAAUQ,eAAc;AACpC,oBAAI,QAAQ,YAAY,WAAW,QAAQ,YAAY,eAAe;AAEpE,sBAAI,WAAW;AACf,2BAAS,UAAU;AACnB,2BAAS,UAAUA;AAAA,gBACrB;AAAA,cACF,GAAG,SAAUC,QAAO;AAClB,oBAAI,QAAQ,YAAY,WAAW,QAAQ,YAAY,eAAe;AAEpE,sBAAI,WAAW;AACf,2BAAS,UAAU;AACnB,2BAAS,UAAUA;AAAA,gBACrB;AAAA,cACF,CAAC;AAED,kBAAI,QAAQ,YAAY,eAAe;AAGrC,oBAAI,UAAU;AACd,wBAAQ,UAAU;AAClB,wBAAQ,UAAU;AAAA,cACpB;AAAA,YACF;AAEA,gBAAI,QAAQ,YAAY,UAAU;AAChC,kBAAI,eAAe,QAAQ;AAE3B;AACE,oBAAI,iBAAiB,QAAW;AAC9B,wBAAM,qOAC2H,YAAY;AAAA,gBAC/I;AAAA,cACF;AAEA;AACE,oBAAI,EAAE,aAAa,eAAe;AAChC,wBAAM,yKAC0D,YAAY;AAAA,gBAC9E;AAAA,cACF;AAEA,qBAAO,aAAa;AAAA,YACtB,OAAO;AACL,oBAAM,QAAQ;AAAA,YAChB;AAAA,UACF;AAEA,mBAAS,KAAK,MAAM;AAClB,gBAAI,UAAU;AAAA;AAAA,cAEZ,SAAS;AAAA,cACT,SAAS;AAAA,YACX;AACA,gBAAI,WAAW;AAAA,cACb,UAAU;AAAA,cACV,UAAU;AAAA,cACV,OAAO;AAAA,YACT;AAEA;AAEE,kBAAI;AACJ,kBAAI;AAEJ,qBAAO,iBAAiB,UAAU;AAAA,gBAChC,cAAc;AAAA,kBACZ,cAAc;AAAA,kBACd,KAAK,WAAY;AACf,2BAAO;AAAA,kBACT;AAAA,kBACA,KAAK,SAAU,iBAAiB;AAC9B,0BAAM,yLAAmM;AAEzM,mCAAe;AAGf,2BAAO,eAAe,UAAU,gBAAgB;AAAA,sBAC9C,YAAY;AAAA,oBACd,CAAC;AAAA,kBACH;AAAA,gBACF;AAAA,gBACA,WAAW;AAAA,kBACT,cAAc;AAAA,kBACd,KAAK,WAAY;AACf,2BAAO;AAAA,kBACT;AAAA,kBACA,KAAK,SAAU,cAAc;AAC3B,0BAAM,sLAAgM;AAEtM,gCAAY;AAGZ,2BAAO,eAAe,UAAU,aAAa;AAAA,sBAC3C,YAAY;AAAA,oBACd,CAAC;AAAA,kBACH;AAAA,gBACF;AAAA,cACF,CAAC;AAAA,YACH;AAEA,mBAAO;AAAA,UACT;AAEA,mBAASC,YAAW,QAAQ;AAC1B;AACE,kBAAI,UAAU,QAAQ,OAAO,aAAa,iBAAiB;AACzD,sBAAM,qIAA+I;AAAA,cACvJ,WAAW,OAAO,WAAW,YAAY;AACvC,sBAAM,2DAA2D,WAAW,OAAO,SAAS,OAAO,MAAM;AAAA,cAC3G,OAAO;AACL,oBAAI,OAAO,WAAW,KAAK,OAAO,WAAW,GAAG;AAC9C,wBAAM,gFAAgF,OAAO,WAAW,IAAI,6CAA6C,6CAA6C;AAAA,gBACxM;AAAA,cACF;AAEA,kBAAI,UAAU,MAAM;AAClB,oBAAI,OAAO,gBAAgB,QAAQ,OAAO,aAAa,MAAM;AAC3D,wBAAM,oHAAyH;AAAA,gBACjI;AAAA,cACF;AAAA,YACF;AAEA,gBAAI,cAAc;AAAA,cAChB,UAAU;AAAA,cACV;AAAA,YACF;AAEA;AACE,kBAAI;AACJ,qBAAO,eAAe,aAAa,eAAe;AAAA,gBAChD,YAAY;AAAA,gBACZ,cAAc;AAAA,gBACd,KAAK,WAAY;AACf,yBAAO;AAAA,gBACT;AAAA,gBACA,KAAK,SAAU,MAAM;AACnB,4BAAU;AAQV,sBAAI,CAAC,OAAO,QAAQ,CAAC,OAAO,aAAa;AACvC,2BAAO,cAAc;AAAA,kBACvB;AAAA,gBACF;AAAA,cACF,CAAC;AAAA,YACH;AAEA,mBAAO;AAAA,UACT;AAEA,cAAI;AAEJ;AACE,qCAAyB,OAAO,IAAI,wBAAwB;AAAA,UAC9D;AAEA,mBAAS,mBAAmB,MAAM;AAChC,gBAAI,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;AAC1D,qBAAO;AAAA,YACT;AAGA,gBAAI,SAAS,uBAAuB,SAAS,uBAAuB,sBAAuB,SAAS,0BAA0B,SAAS,uBAAuB,SAAS,4BAA4B,sBAAuB,SAAS,wBAAwB,kBAAmB,sBAAuB,yBAA0B;AAC7T,qBAAO;AAAA,YACT;AAEA,gBAAI,OAAO,SAAS,YAAY,SAAS,MAAM;AAC7C,kBAAI,KAAK,aAAa,mBAAmB,KAAK,aAAa,mBAAmB,KAAK,aAAa,uBAAuB,KAAK,aAAa,sBAAsB,KAAK,aAAa;AAAA;AAAA;AAAA;AAAA,cAIjL,KAAK,aAAa,0BAA0B,KAAK,gBAAgB,QAAW;AAC1E,uBAAO;AAAA,cACT;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,KAAK,MAAM,SAAS;AAC3B;AACE,kBAAI,CAAC,mBAAmB,IAAI,GAAG;AAC7B,sBAAM,sEAA2E,SAAS,OAAO,SAAS,OAAO,IAAI;AAAA,cACvH;AAAA,YACF;AAEA,gBAAI,cAAc;AAAA,cAChB,UAAU;AAAA,cACV;AAAA,cACA,SAAS,YAAY,SAAY,OAAO;AAAA,YAC1C;AAEA;AACE,kBAAI;AACJ,qBAAO,eAAe,aAAa,eAAe;AAAA,gBAChD,YAAY;AAAA,gBACZ,cAAc;AAAA,gBACd,KAAK,WAAY;AACf,yBAAO;AAAA,gBACT;AAAA,gBACA,KAAK,SAAU,MAAM;AACnB,4BAAU;AAQV,sBAAI,CAAC,KAAK,QAAQ,CAAC,KAAK,aAAa;AACnC,yBAAK,cAAc;AAAA,kBACrB;AAAA,gBACF;AAAA,cACF,CAAC;AAAA,YACH;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,oBAAoB;AAC3B,gBAAI,aAAa,uBAAuB;AAExC;AACE,kBAAI,eAAe,MAAM;AACvB,sBAAM,ibAA0c;AAAA,cACld;AAAA,YACF;AAKA,mBAAO;AAAA,UACT;AACA,mBAASC,YAAW,SAAS;AAC3B,gBAAI,aAAa,kBAAkB;AAEnC;AAEE,kBAAI,QAAQ,aAAa,QAAW;AAClC,oBAAI,cAAc,QAAQ;AAG1B,oBAAI,YAAY,aAAa,SAAS;AACpC,wBAAM,yKAA8K;AAAA,gBACtL,WAAW,YAAY,aAAa,SAAS;AAC3C,wBAAM,0GAA+G;AAAA,gBACvH;AAAA,cACF;AAAA,YACF;AAEA,mBAAO,WAAW,WAAW,OAAO;AAAA,UACtC;AACA,mBAASC,UAAS,cAAc;AAC9B,gBAAI,aAAa,kBAAkB;AACnC,mBAAO,WAAW,SAAS,YAAY;AAAA,UACzC;AACA,mBAAS,WAAW,SAAS,YAAY,MAAM;AAC7C,gBAAI,aAAa,kBAAkB;AACnC,mBAAO,WAAW,WAAW,SAAS,YAAY,IAAI;AAAA,UACxD;AACA,mBAASC,QAAO,cAAc;AAC5B,gBAAI,aAAa,kBAAkB;AACnC,mBAAO,WAAW,OAAO,YAAY;AAAA,UACvC;AACA,mBAASC,WAAU,QAAQ,MAAM;AAC/B,gBAAI,aAAa,kBAAkB;AACnC,mBAAO,WAAW,UAAU,QAAQ,IAAI;AAAA,UAC1C;AACA,mBAASC,oBAAmB,QAAQ,MAAM;AACxC,gBAAI,aAAa,kBAAkB;AACnC,mBAAO,WAAW,mBAAmB,QAAQ,IAAI;AAAA,UACnD;AACA,mBAASC,iBAAgB,QAAQ,MAAM;AACrC,gBAAI,aAAa,kBAAkB;AACnC,mBAAO,WAAW,gBAAgB,QAAQ,IAAI;AAAA,UAChD;AACA,mBAASC,aAAY,UAAU,MAAM;AACnC,gBAAI,aAAa,kBAAkB;AACnC,mBAAO,WAAW,YAAY,UAAU,IAAI;AAAA,UAC9C;AACA,mBAASC,SAAQ,QAAQ,MAAM;AAC7B,gBAAI,aAAa,kBAAkB;AACnC,mBAAO,WAAW,QAAQ,QAAQ,IAAI;AAAA,UACxC;AACA,mBAAS,oBAAoB,KAAK,QAAQ,MAAM;AAC9C,gBAAI,aAAa,kBAAkB;AACnC,mBAAO,WAAW,oBAAoB,KAAK,QAAQ,IAAI;AAAA,UACzD;AACA,mBAAS,cAAc,OAAO,aAAa;AACzC;AACE,kBAAI,aAAa,kBAAkB;AACnC,qBAAO,WAAW,cAAc,OAAO,WAAW;AAAA,YACpD;AAAA,UACF;AACA,mBAAS,gBAAgB;AACvB,gBAAI,aAAa,kBAAkB;AACnC,mBAAO,WAAW,cAAc;AAAA,UAClC;AACA,mBAAS,iBAAiB,OAAO;AAC/B,gBAAI,aAAa,kBAAkB;AACnC,mBAAO,WAAW,iBAAiB,KAAK;AAAA,UAC1C;AACA,mBAASC,SAAQ;AACf,gBAAI,aAAa,kBAAkB;AACnC,mBAAO,WAAW,MAAM;AAAA,UAC1B;AACA,mBAAS,qBAAqB,WAAW,aAAa,mBAAmB;AACvE,gBAAI,aAAa,kBAAkB;AACnC,mBAAO,WAAW,qBAAqB,WAAW,aAAa,iBAAiB;AAAA,UAClF;AAMA,cAAI,gBAAgB;AACpB,cAAI;AACJ,cAAI;AACJ,cAAI;AACJ,cAAI;AACJ,cAAI;AACJ,cAAI;AACJ,cAAI;AAEJ,mBAAS,cAAc;AAAA,UAAC;AAExB,sBAAY,qBAAqB;AACjC,mBAAS,cAAc;AACrB;AACE,kBAAI,kBAAkB,GAAG;AAEvB,0BAAU,QAAQ;AAClB,2BAAW,QAAQ;AACnB,2BAAW,QAAQ;AACnB,4BAAY,QAAQ;AACpB,4BAAY,QAAQ;AACpB,qCAAqB,QAAQ;AAC7B,+BAAe,QAAQ;AAEvB,oBAAI,QAAQ;AAAA,kBACV,cAAc;AAAA,kBACd,YAAY;AAAA,kBACZ,OAAO;AAAA,kBACP,UAAU;AAAA,gBACZ;AAEA,uBAAO,iBAAiB,SAAS;AAAA,kBAC/B,MAAM;AAAA,kBACN,KAAK;AAAA,kBACL,MAAM;AAAA,kBACN,OAAO;AAAA,kBACP,OAAO;AAAA,kBACP,gBAAgB;AAAA,kBAChB,UAAU;AAAA,gBACZ,CAAC;AAAA,cAEH;AAEA;AAAA,YACF;AAAA,UACF;AACA,mBAAS,eAAe;AACtB;AACE;AAEA,kBAAI,kBAAkB,GAAG;AAEvB,oBAAI,QAAQ;AAAA,kBACV,cAAc;AAAA,kBACd,YAAY;AAAA,kBACZ,UAAU;AAAA,gBACZ;AAEA,uBAAO,iBAAiB,SAAS;AAAA,kBAC/B,KAAKhB,QAAO,CAAC,GAAG,OAAO;AAAA,oBACrB,OAAO;AAAA,kBACT,CAAC;AAAA,kBACD,MAAMA,QAAO,CAAC,GAAG,OAAO;AAAA,oBACtB,OAAO;AAAA,kBACT,CAAC;AAAA,kBACD,MAAMA,QAAO,CAAC,GAAG,OAAO;AAAA,oBACtB,OAAO;AAAA,kBACT,CAAC;AAAA,kBACD,OAAOA,QAAO,CAAC,GAAG,OAAO;AAAA,oBACvB,OAAO;AAAA,kBACT,CAAC;AAAA,kBACD,OAAOA,QAAO,CAAC,GAAG,OAAO;AAAA,oBACvB,OAAO;AAAA,kBACT,CAAC;AAAA,kBACD,gBAAgBA,QAAO,CAAC,GAAG,OAAO;AAAA,oBAChC,OAAO;AAAA,kBACT,CAAC;AAAA,kBACD,UAAUA,QAAO,CAAC,GAAG,OAAO;AAAA,oBAC1B,OAAO;AAAA,kBACT,CAAC;AAAA,gBACH,CAAC;AAAA,cAEH;AAEA,kBAAI,gBAAgB,GAAG;AACrB,sBAAM,8EAAmF;AAAA,cAC3F;AAAA,YACF;AAAA,UACF;AAEA,cAAI,2BAA2B,qBAAqB;AACpD,cAAI;AACJ,mBAAS,8BAA8B,MAAM,QAAQ,SAAS;AAC5D;AACE,kBAAI,WAAW,QAAW;AAExB,oBAAI;AACF,wBAAM,MAAM;AAAA,gBACd,SAAS,GAAG;AACV,sBAAI,QAAQ,EAAE,MAAM,KAAK,EAAE,MAAM,cAAc;AAC/C,2BAAS,SAAS,MAAM,CAAC,KAAK;AAAA,gBAChC;AAAA,cACF;AAGA,qBAAO,OAAO,SAAS;AAAA,YACzB;AAAA,UACF;AACA,cAAI,UAAU;AACd,cAAI;AAEJ;AACE,gBAAI,kBAAkB,OAAO,YAAY,aAAa,UAAU;AAChE,kCAAsB,IAAI,gBAAgB;AAAA,UAC5C;AAEA,mBAAS,6BAA6B,IAAI,WAAW;AAEnD,gBAAK,CAAC,MAAM,SAAS;AACnB,qBAAO;AAAA,YACT;AAEA;AACE,kBAAI,QAAQ,oBAAoB,IAAI,EAAE;AAEtC,kBAAI,UAAU,QAAW;AACvB,uBAAO;AAAA,cACT;AAAA,YACF;AAEA,gBAAI;AACJ,sBAAU;AACV,gBAAI,4BAA4B,MAAM;AAEtC,kBAAM,oBAAoB;AAC1B,gBAAI;AAEJ;AACE,mCAAqB,yBAAyB;AAG9C,uCAAyB,UAAU;AACnC,0BAAY;AAAA,YACd;AAEA,gBAAI;AAEF,kBAAI,WAAW;AAEb,oBAAI,OAAO,WAAY;AACrB,wBAAM,MAAM;AAAA,gBACd;AAGA,uBAAO,eAAe,KAAK,WAAW,SAAS;AAAA,kBAC7C,KAAK,WAAY;AAGf,0BAAM,MAAM;AAAA,kBACd;AAAA,gBACF,CAAC;AAED,oBAAI,OAAO,YAAY,YAAY,QAAQ,WAAW;AAGpD,sBAAI;AACF,4BAAQ,UAAU,MAAM,CAAC,CAAC;AAAA,kBAC5B,SAAS,GAAG;AACV,8BAAU;AAAA,kBACZ;AAEA,0BAAQ,UAAU,IAAI,CAAC,GAAG,IAAI;AAAA,gBAChC,OAAO;AACL,sBAAI;AACF,yBAAK,KAAK;AAAA,kBACZ,SAAS,GAAG;AACV,8BAAU;AAAA,kBACZ;AAEA,qBAAG,KAAK,KAAK,SAAS;AAAA,gBACxB;AAAA,cACF,OAAO;AACL,oBAAI;AACF,wBAAM,MAAM;AAAA,gBACd,SAAS,GAAG;AACV,4BAAU;AAAA,gBACZ;AAEA,mBAAG;AAAA,cACL;AAAA,YACF,SAAS,QAAQ;AAEf,kBAAI,UAAU,WAAW,OAAO,OAAO,UAAU,UAAU;AAGzD,oBAAI,cAAc,OAAO,MAAM,MAAM,IAAI;AACzC,oBAAI,eAAe,QAAQ,MAAM,MAAM,IAAI;AAC3C,oBAAI,IAAI,YAAY,SAAS;AAC7B,oBAAI,IAAI,aAAa,SAAS;AAE9B,uBAAO,KAAK,KAAK,KAAK,KAAK,YAAY,CAAC,MAAM,aAAa,CAAC,GAAG;AAO7D;AAAA,gBACF;AAEA,uBAAO,KAAK,KAAK,KAAK,GAAG,KAAK,KAAK;AAGjC,sBAAI,YAAY,CAAC,MAAM,aAAa,CAAC,GAAG;AAMtC,wBAAI,MAAM,KAAK,MAAM,GAAG;AACtB,yBAAG;AACD;AACA;AAGA,4BAAI,IAAI,KAAK,YAAY,CAAC,MAAM,aAAa,CAAC,GAAG;AAE/C,8BAAI,SAAS,OAAO,YAAY,CAAC,EAAE,QAAQ,YAAY,MAAM;AAK7D,8BAAI,GAAG,eAAe,OAAO,SAAS,aAAa,GAAG;AACpD,qCAAS,OAAO,QAAQ,eAAe,GAAG,WAAW;AAAA,0BACvD;AAEA;AACE,gCAAI,OAAO,OAAO,YAAY;AAC5B,kDAAoB,IAAI,IAAI,MAAM;AAAA,4BACpC;AAAA,0BACF;AAGA,iCAAO;AAAA,wBACT;AAAA,sBACF,SAAS,KAAK,KAAK,KAAK;AAAA,oBAC1B;AAEA;AAAA,kBACF;AAAA,gBACF;AAAA,cACF;AAAA,YACF,UAAE;AACA,wBAAU;AAEV;AACE,yCAAyB,UAAU;AACnC,6BAAa;AAAA,cACf;AAEA,oBAAM,oBAAoB;AAAA,YAC5B;AAGA,gBAAI,OAAO,KAAK,GAAG,eAAe,GAAG,OAAO;AAC5C,gBAAI,iBAAiB,OAAO,8BAA8B,IAAI,IAAI;AAElE;AACE,kBAAI,OAAO,OAAO,YAAY;AAC5B,oCAAoB,IAAI,IAAI,cAAc;AAAA,cAC5C;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AACA,mBAAS,+BAA+B,IAAI,QAAQ,SAAS;AAC3D;AACE,qBAAO,6BAA6B,IAAI,KAAK;AAAA,YAC/C;AAAA,UACF;AAEA,mBAAS,gBAAgBiB,YAAW;AAClC,gBAAI,YAAYA,WAAU;AAC1B,mBAAO,CAAC,EAAE,aAAa,UAAU;AAAA,UACnC;AAEA,mBAAS,qCAAqC,MAAM,QAAQ,SAAS;AAEnE,gBAAI,QAAQ,MAAM;AAChB,qBAAO;AAAA,YACT;AAEA,gBAAI,OAAO,SAAS,YAAY;AAC9B;AACE,uBAAO,6BAA6B,MAAM,gBAAgB,IAAI,CAAC;AAAA,cACjE;AAAA,YACF;AAEA,gBAAI,OAAO,SAAS,UAAU;AAC5B,qBAAO,8BAA8B,IAAI;AAAA,YAC3C;AAEA,oBAAQ,MAAM;AAAA,cACZ,KAAK;AACH,uBAAO,8BAA8B,UAAU;AAAA,cAEjD,KAAK;AACH,uBAAO,8BAA8B,cAAc;AAAA,YACvD;AAEA,gBAAI,OAAO,SAAS,UAAU;AAC5B,sBAAQ,KAAK,UAAU;AAAA,gBACrB,KAAK;AACH,yBAAO,+BAA+B,KAAK,MAAM;AAAA,gBAEnD,KAAK;AAEH,yBAAO,qCAAqC,KAAK,MAAM,QAAQ,OAAO;AAAA,gBAExE,KAAK,iBACH;AACE,sBAAI,gBAAgB;AACpB,sBAAI,UAAU,cAAc;AAC5B,sBAAI,OAAO,cAAc;AAEzB,sBAAI;AAEF,2BAAO,qCAAqC,KAAK,OAAO,GAAG,QAAQ,OAAO;AAAA,kBAC5E,SAAS,GAAG;AAAA,kBAAC;AAAA,gBACf;AAAA,cACJ;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AAEA,cAAI,qBAAqB,CAAC;AAC1B,cAAI,2BAA2B,qBAAqB;AAEpD,mBAAS,8BAA8B,SAAS;AAC9C;AACE,kBAAI,SAAS;AACX,oBAAI,QAAQ,QAAQ;AACpB,oBAAI,QAAQ,qCAAqC,QAAQ,MAAM,QAAQ,SAAS,QAAQ,MAAM,OAAO,IAAI;AACzG,yCAAyB,mBAAmB,KAAK;AAAA,cACnD,OAAO;AACL,yCAAyB,mBAAmB,IAAI;AAAA,cAClD;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,eAAe,WAAWC,SAAQ,UAAU,eAAe,SAAS;AAC3E;AAEE,kBAAI,MAAM,SAAS,KAAK,KAAK,cAAc;AAE3C,uBAAS,gBAAgB,WAAW;AAClC,oBAAI,IAAI,WAAW,YAAY,GAAG;AAChC,sBAAI,UAAU;AAId,sBAAI;AAGF,wBAAI,OAAO,UAAU,YAAY,MAAM,YAAY;AAEjD,0BAAI,MAAM,OAAO,iBAAiB,iBAAiB,OAAO,WAAW,YAAY,eAAe,+FAAoG,OAAO,UAAU,YAAY,IAAI,iGAAsG;AAC3U,0BAAI,OAAO;AACX,4BAAM;AAAA,oBACR;AAEA,8BAAU,UAAU,YAAY,EAAEA,SAAQ,cAAc,eAAe,UAAU,MAAM,8CAA8C;AAAA,kBACvI,SAAS,IAAI;AACX,8BAAU;AAAA,kBACZ;AAEA,sBAAI,WAAW,EAAE,mBAAmB,QAAQ;AAC1C,kDAA8B,OAAO;AAErC,0BAAM,4RAAqT,iBAAiB,eAAe,UAAU,cAAc,OAAO,OAAO;AAEjY,kDAA8B,IAAI;AAAA,kBACpC;AAEA,sBAAI,mBAAmB,SAAS,EAAE,QAAQ,WAAW,qBAAqB;AAGxE,uCAAmB,QAAQ,OAAO,IAAI;AACtC,kDAA8B,OAAO;AAErC,0BAAM,sBAAsB,UAAU,QAAQ,OAAO;AAErD,kDAA8B,IAAI;AAAA,kBACpC;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,gCAAgC,SAAS;AAChD;AACE,kBAAI,SAAS;AACX,oBAAI,QAAQ,QAAQ;AACpB,oBAAI,QAAQ,qCAAqC,QAAQ,MAAM,QAAQ,SAAS,QAAQ,MAAM,OAAO,IAAI;AACzG,mCAAmB,KAAK;AAAA,cAC1B,OAAO;AACL,mCAAmB,IAAI;AAAA,cACzB;AAAA,YACF;AAAA,UACF;AAEA,cAAI;AAEJ;AACE,4CAAgC;AAAA,UAClC;AAEA,mBAAS,8BAA8B;AACrC,gBAAI,kBAAkB,SAAS;AAC7B,kBAAI,OAAO,yBAAyB,kBAAkB,QAAQ,IAAI;AAElE,kBAAI,MAAM;AACR,uBAAO,qCAAqC,OAAO;AAAA,cACrD;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,2BAA2B,QAAQ;AAC1C,gBAAI,WAAW,QAAW;AACxB,kBAAI,WAAW,OAAO,SAAS,QAAQ,aAAa,EAAE;AACtD,kBAAI,aAAa,OAAO;AACxB,qBAAO,4BAA4B,WAAW,MAAM,aAAa;AAAA,YACnE;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,mCAAmC,cAAc;AACxD,gBAAI,iBAAiB,QAAQ,iBAAiB,QAAW;AACvD,qBAAO,2BAA2B,aAAa,QAAQ;AAAA,YACzD;AAEA,mBAAO;AAAA,UACT;AAQA,cAAI,wBAAwB,CAAC;AAE7B,mBAAS,6BAA6B,YAAY;AAChD,gBAAI,OAAO,4BAA4B;AAEvC,gBAAI,CAAC,MAAM;AACT,kBAAI,aAAa,OAAO,eAAe,WAAW,aAAa,WAAW,eAAe,WAAW;AAEpG,kBAAI,YAAY;AACd,uBAAO,gDAAgD,aAAa;AAAA,cACtE;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AAcA,mBAAS,oBAAoB,SAAS,YAAY;AAChD,gBAAI,CAAC,QAAQ,UAAU,QAAQ,OAAO,aAAa,QAAQ,OAAO,MAAM;AACtE;AAAA,YACF;AAEA,oBAAQ,OAAO,YAAY;AAC3B,gBAAI,4BAA4B,6BAA6B,UAAU;AAEvE,gBAAI,sBAAsB,yBAAyB,GAAG;AACpD;AAAA,YACF;AAEA,kCAAsB,yBAAyB,IAAI;AAInD,gBAAI,aAAa;AAEjB,gBAAI,WAAW,QAAQ,UAAU,QAAQ,WAAW,kBAAkB,SAAS;AAE7E,2BAAa,iCAAiC,yBAAyB,QAAQ,OAAO,IAAI,IAAI;AAAA,YAChG;AAEA;AACE,8CAAgC,OAAO;AAEvC,oBAAM,6HAAkI,2BAA2B,UAAU;AAE7K,8CAAgC,IAAI;AAAA,YACtC;AAAA,UACF;AAYA,mBAAS,kBAAkB,MAAM,YAAY;AAC3C,gBAAI,OAAO,SAAS,UAAU;AAC5B;AAAA,YACF;AAEA,gBAAI,QAAQ,IAAI,GAAG;AACjB,uBAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,oBAAI,QAAQ,KAAK,CAAC;AAElB,oBAAIf,gBAAe,KAAK,GAAG;AACzB,sCAAoB,OAAO,UAAU;AAAA,gBACvC;AAAA,cACF;AAAA,YACF,WAAWA,gBAAe,IAAI,GAAG;AAE/B,kBAAI,KAAK,QAAQ;AACf,qBAAK,OAAO,YAAY;AAAA,cAC1B;AAAA,YACF,WAAW,MAAM;AACf,kBAAI,aAAa,cAAc,IAAI;AAEnC,kBAAI,OAAO,eAAe,YAAY;AAGpC,oBAAI,eAAe,KAAK,SAAS;AAC/B,sBAAI,WAAW,WAAW,KAAK,IAAI;AACnC,sBAAI;AAEJ,yBAAO,EAAE,OAAO,SAAS,KAAK,GAAG,MAAM;AACrC,wBAAIA,gBAAe,KAAK,KAAK,GAAG;AAC9B,0CAAoB,KAAK,OAAO,UAAU;AAAA,oBAC5C;AAAA,kBACF;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AASA,mBAAS,kBAAkB,SAAS;AAClC;AACE,kBAAI,OAAO,QAAQ;AAEnB,kBAAI,SAAS,QAAQ,SAAS,UAAa,OAAO,SAAS,UAAU;AACnE;AAAA,cACF;AAEA,kBAAI;AAEJ,kBAAI,OAAO,SAAS,YAAY;AAC9B,4BAAY,KAAK;AAAA,cACnB,WAAW,OAAO,SAAS,aAAa,KAAK,aAAa;AAAA;AAAA,cAE1D,KAAK,aAAa,kBAAkB;AAClC,4BAAY,KAAK;AAAA,cACnB,OAAO;AACL;AAAA,cACF;AAEA,kBAAI,WAAW;AAEb,oBAAI,OAAO,yBAAyB,IAAI;AACxC,+BAAe,WAAW,QAAQ,OAAO,QAAQ,MAAM,OAAO;AAAA,cAChE,WAAW,KAAK,cAAc,UAAa,CAAC,+BAA+B;AACzE,gDAAgC;AAEhC,oBAAI,QAAQ,yBAAyB,IAAI;AAEzC,sBAAM,uGAAuG,SAAS,SAAS;AAAA,cACjI;AAEA,kBAAI,OAAO,KAAK,oBAAoB,cAAc,CAAC,KAAK,gBAAgB,sBAAsB;AAC5F,sBAAM,4HAAiI;AAAA,cACzI;AAAA,YACF;AAAA,UACF;AAOA,mBAAS,sBAAsB,UAAU;AACvC;AACE,kBAAI,OAAO,OAAO,KAAK,SAAS,KAAK;AAErC,uBAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,oBAAI,MAAM,KAAK,CAAC;AAEhB,oBAAI,QAAQ,cAAc,QAAQ,OAAO;AACvC,kDAAgC,QAAQ;AAExC,wBAAM,4GAAiH,GAAG;AAE1H,kDAAgC,IAAI;AACpC;AAAA,gBACF;AAAA,cACF;AAEA,kBAAI,SAAS,QAAQ,MAAM;AACzB,gDAAgC,QAAQ;AAExC,sBAAM,uDAAuD;AAE7D,gDAAgC,IAAI;AAAA,cACtC;AAAA,YACF;AAAA,UACF;AACA,mBAAS,4BAA4B,MAAM,OAAO,UAAU;AAC1D,gBAAI,YAAY,mBAAmB,IAAI;AAGvC,gBAAI,CAAC,WAAW;AACd,kBAAI,OAAO;AAEX,kBAAI,SAAS,UAAa,OAAO,SAAS,YAAY,SAAS,QAAQ,OAAO,KAAK,IAAI,EAAE,WAAW,GAAG;AACrG,wBAAQ;AAAA,cACV;AAEA,kBAAI,aAAa,mCAAmC,KAAK;AAEzD,kBAAI,YAAY;AACd,wBAAQ;AAAA,cACV,OAAO;AACL,wBAAQ,4BAA4B;AAAA,cACtC;AAEA,kBAAI;AAEJ,kBAAI,SAAS,MAAM;AACjB,6BAAa;AAAA,cACf,WAAW,QAAQ,IAAI,GAAG;AACxB,6BAAa;AAAA,cACf,WAAW,SAAS,UAAa,KAAK,aAAa,oBAAoB;AACrE,6BAAa,OAAO,yBAAyB,KAAK,IAAI,KAAK,aAAa;AACxE,uBAAO;AAAA,cACT,OAAO;AACL,6BAAa,OAAO;AAAA,cACtB;AAEA;AACE,sBAAM,qJAA+J,YAAY,IAAI;AAAA,cACvL;AAAA,YACF;AAEA,gBAAI,UAAUF,eAAc,MAAM,MAAM,SAAS;AAGjD,gBAAI,WAAW,MAAM;AACnB,qBAAO;AAAA,YACT;AAOA,gBAAI,WAAW;AACb,uBAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AACzC,kCAAkB,UAAU,CAAC,GAAG,IAAI;AAAA,cACtC;AAAA,YACF;AAEA,gBAAI,SAAS,qBAAqB;AAChC,oCAAsB,OAAO;AAAA,YAC/B,OAAO;AACL,gCAAkB,OAAO;AAAA,YAC3B;AAEA,mBAAO;AAAA,UACT;AACA,cAAI,sCAAsC;AAC1C,mBAAS,4BAA4B,MAAM;AACzC,gBAAI,mBAAmB,4BAA4B,KAAK,MAAM,IAAI;AAClE,6BAAiB,OAAO;AAExB;AACE,kBAAI,CAAC,qCAAqC;AACxC,sDAAsC;AAEtC,gBAAAJ,MAAK,sJAAgK;AAAA,cACvK;AAGA,qBAAO,eAAe,kBAAkB,QAAQ;AAAA,gBAC9C,YAAY;AAAA,gBACZ,KAAK,WAAY;AACf,kBAAAA,MAAK,2FAAgG;AAErG,yBAAO,eAAe,MAAM,QAAQ;AAAA,oBAClC,OAAO;AAAA,kBACT,CAAC;AACD,yBAAO;AAAA,gBACT;AAAA,cACF,CAAC;AAAA,YACH;AAEA,mBAAO;AAAA,UACT;AACA,mBAAS,2BAA2B,SAAS,OAAO,UAAU;AAC5D,gBAAI,aAAaK,cAAa,MAAM,MAAM,SAAS;AAEnD,qBAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AACzC,gCAAkB,UAAU,CAAC,GAAG,WAAW,IAAI;AAAA,YACjD;AAEA,8BAAkB,UAAU;AAC5B,mBAAO;AAAA,UACT;AAEA,mBAAS,gBAAgB,OAAO,SAAS;AACvC,gBAAI,iBAAiB,wBAAwB;AAC7C,oCAAwB,aAAa,CAAC;AACtC,gBAAI,oBAAoB,wBAAwB;AAEhD;AACE,sCAAwB,WAAW,iBAAiB,oBAAI,IAAI;AAAA,YAC9D;AAEA,gBAAI;AACF,oBAAM;AAAA,YACR,UAAE;AACA,sCAAwB,aAAa;AAErC;AACE,oBAAI,mBAAmB,QAAQ,kBAAkB,gBAAgB;AAC/D,sBAAI,qBAAqB,kBAAkB,eAAe;AAE1D,sBAAI,qBAAqB,IAAI;AAC3B,oBAAAL,MAAK,qMAA+M;AAAA,kBACtN;AAEA,oCAAkB,eAAe,MAAM;AAAA,gBACzC;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,cAAI,6BAA6B;AACjC,cAAI,kBAAkB;AACtB,mBAAS,YAAY,MAAM;AACzB,gBAAI,oBAAoB,MAAM;AAC5B,kBAAI;AAGF,oBAAI,iBAAiB,YAAY,KAAK,OAAO,GAAG,MAAM,GAAG,CAAC;AAC1D,oBAAI,cAAc,UAAU,OAAO,aAAa;AAGhD,kCAAkB,YAAY,KAAK,QAAQ,QAAQ,EAAE;AAAA,cACvD,SAAS,MAAM;AAIb,kCAAkB,SAAU,UAAU;AACpC;AACE,wBAAI,+BAA+B,OAAO;AACxC,mDAA6B;AAE7B,0BAAI,OAAO,mBAAmB,aAAa;AACzC,8BAAM,0NAAyO;AAAA,sBACjP;AAAA,oBACF;AAAA,kBACF;AAEA,sBAAI,UAAU,IAAI,eAAe;AACjC,0BAAQ,MAAM,YAAY;AAC1B,0BAAQ,MAAM,YAAY,MAAS;AAAA,gBACrC;AAAA,cACF;AAAA,YACF;AAEA,mBAAO,gBAAgB,IAAI;AAAA,UAC7B;AAEA,cAAI,gBAAgB;AACpB,cAAI,oBAAoB;AACxB,mBAAS,IAAI,UAAU;AACrB;AAGE,kBAAI,oBAAoB;AACxB;AAEA,kBAAI,qBAAqB,YAAY,MAAM;AAGzC,qCAAqB,UAAU,CAAC;AAAA,cAClC;AAEA,kBAAI,uBAAuB,qBAAqB;AAChD,kBAAI;AAEJ,kBAAI;AAKF,qCAAqB,mBAAmB;AACxC,yBAAS,SAAS;AAIlB,oBAAI,CAAC,wBAAwB,qBAAqB,yBAAyB;AACzE,sBAAI,QAAQ,qBAAqB;AAEjC,sBAAI,UAAU,MAAM;AAClB,yCAAqB,0BAA0B;AAC/C,kCAAc,KAAK;AAAA,kBACrB;AAAA,gBACF;AAAA,cACF,SAASS,QAAO;AACd,4BAAY,iBAAiB;AAC7B,sBAAMA;AAAA,cACR,UAAE;AACA,qCAAqB,mBAAmB;AAAA,cAC1C;AAEA,kBAAI,WAAW,QAAQ,OAAO,WAAW,YAAY,OAAO,OAAO,SAAS,YAAY;AACtF,oBAAI,iBAAiB;AAGrB,oBAAI,aAAa;AACjB,oBAAI,WAAW;AAAA,kBACb,MAAM,SAAUa,UAAS,QAAQ;AAC/B,iCAAa;AACb,mCAAe,KAAK,SAAUC,cAAa;AACzC,kCAAY,iBAAiB;AAE7B,0BAAI,kBAAkB,GAAG;AAGvB,qDAA6BA,cAAaD,UAAS,MAAM;AAAA,sBAC3D,OAAO;AACL,wBAAAA,SAAQC,YAAW;AAAA,sBACrB;AAAA,oBACF,GAAG,SAAUd,QAAO;AAElB,kCAAY,iBAAiB;AAC7B,6BAAOA,MAAK;AAAA,oBACd,CAAC;AAAA,kBACH;AAAA,gBACF;AAEA;AACE,sBAAI,CAAC,qBAAqB,OAAO,YAAY,aAAa;AAExD,4BAAQ,QAAQ,EAAE,KAAK,WAAY;AAAA,oBAAC,CAAC,EAAE,KAAK,WAAY;AACtD,0BAAI,CAAC,YAAY;AACf,4CAAoB;AAEpB,8BAAM,mMAAuN;AAAA,sBAC/N;AAAA,oBACF,CAAC;AAAA,kBACH;AAAA,gBACF;AAEA,uBAAO;AAAA,cACT,OAAO;AACL,oBAAI,cAAc;AAGlB,4BAAY,iBAAiB;AAE7B,oBAAI,kBAAkB,GAAG;AAEvB,sBAAI,SAAS,qBAAqB;AAElC,sBAAI,WAAW,MAAM;AACnB,kCAAc,MAAM;AACpB,yCAAqB,UAAU;AAAA,kBACjC;AAIA,sBAAI,YAAY;AAAA,oBACd,MAAM,SAAUa,UAAS,QAAQ;AAI/B,0BAAI,qBAAqB,YAAY,MAAM;AAEzC,6CAAqB,UAAU,CAAC;AAChC,qDAA6B,aAAaA,UAAS,MAAM;AAAA,sBAC3D,OAAO;AACL,wBAAAA,SAAQ,WAAW;AAAA,sBACrB;AAAA,oBACF;AAAA,kBACF;AACA,yBAAO;AAAA,gBACT,OAAO;AAGL,sBAAI,aAAa;AAAA,oBACf,MAAM,SAAUA,UAAS,QAAQ;AAC/B,sBAAAA,SAAQ,WAAW;AAAA,oBACrB;AAAA,kBACF;AACA,yBAAO;AAAA,gBACT;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,YAAY,mBAAmB;AACtC;AACE,kBAAI,sBAAsB,gBAAgB,GAAG;AAC3C,sBAAM,kIAAuI;AAAA,cAC/I;AAEA,8BAAgB;AAAA,YAClB;AAAA,UACF;AAEA,mBAAS,6BAA6B,aAAaA,UAAS,QAAQ;AAClE;AACE,kBAAI,QAAQ,qBAAqB;AAEjC,kBAAI,UAAU,MAAM;AAClB,oBAAI;AACF,gCAAc,KAAK;AACnB,8BAAY,WAAY;AACtB,wBAAI,MAAM,WAAW,GAAG;AAEtB,2CAAqB,UAAU;AAC/B,sBAAAA,SAAQ,WAAW;AAAA,oBACrB,OAAO;AAEL,mDAA6B,aAAaA,UAAS,MAAM;AAAA,oBAC3D;AAAA,kBACF,CAAC;AAAA,gBACH,SAASb,QAAO;AACd,yBAAOA,MAAK;AAAA,gBACd;AAAA,cACF,OAAO;AACL,gBAAAa,SAAQ,WAAW;AAAA,cACrB;AAAA,YACF;AAAA,UACF;AAEA,cAAI,aAAa;AAEjB,mBAAS,cAAc,OAAO;AAC5B;AACE,kBAAI,CAAC,YAAY;AAEf,6BAAa;AACb,oBAAI,IAAI;AAER,oBAAI;AACF,yBAAO,IAAI,MAAM,QAAQ,KAAK;AAC5B,wBAAI,WAAW,MAAM,CAAC;AAEtB,uBAAG;AACD,iCAAW,SAAS,IAAI;AAAA,oBAC1B,SAAS,aAAa;AAAA,kBACxB;AAEA,wBAAM,SAAS;AAAA,gBACjB,SAASb,QAAO;AAEd,0BAAQ,MAAM,MAAM,IAAI,CAAC;AACzB,wBAAMA;AAAA,gBACR,UAAE;AACA,+BAAa;AAAA,gBACf;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,cAAI,kBAAmB;AACvB,cAAI,iBAAkB;AACtB,cAAIe,iBAAiB;AACrB,cAAIC,YAAW;AAAA,YACb,KAAK;AAAA,YACL,SAAS;AAAA,YACT,OAAO;AAAA,YACP;AAAA,YACA,MAAM;AAAA,UACR;AAEA,kBAAQ,WAAWA;AACnB,kBAAQ,YAAY;AACpB,kBAAQ,WAAW;AACnB,kBAAQ,WAAW;AACnB,kBAAQ,gBAAgB;AACxB,kBAAQ,aAAa;AACrB,kBAAQ,WAAW;AACnB,kBAAQ,qDAAqD;AAC7D,kBAAQ,eAAe;AACvB,kBAAQ,gBAAgBlB;AACxB,kBAAQ,gBAAgB;AACxB,kBAAQ,gBAAgBiB;AACxB,kBAAQ,YAAY;AACpB,kBAAQ,aAAad;AACrB,kBAAQ,iBAAiBJ;AACzB,kBAAQ,OAAO;AACf,kBAAQ,OAAO;AACf,kBAAQ,kBAAkB;AAC1B,kBAAQ,eAAe;AACvB,kBAAQ,cAAcW;AACtB,kBAAQ,aAAaN;AACrB,kBAAQ,gBAAgB;AACxB,kBAAQ,mBAAmB;AAC3B,kBAAQ,YAAYG;AACpB,kBAAQ,QAAQK;AAChB,kBAAQ,sBAAsB;AAC9B,kBAAQ,qBAAqBJ;AAC7B,kBAAQ,kBAAkBC;AAC1B,kBAAQ,UAAUE;AAClB,kBAAQ,aAAa;AACrB,kBAAQ,SAASL;AACjB,kBAAQ,WAAWD;AACnB,kBAAQ,uBAAuB;AAC/B,kBAAQ,gBAAgB;AACxB,kBAAQ,UAAU;AAElB,cACE,OAAO,mCAAmC,eAC1C,OAAO,+BAA+B,+BACpC,YACF;AACA,2CAA+B,2BAA2B,IAAI,MAAM,CAAC;AAAA,UACvE;AAAA,QAEE,GAAG;AAAA,MACL;AAAA;AAAA;;;AClrFA;AAAA;AAAA;AAEA,UAAI,OAAuC;AACzC,eAAO,UAAU;AAAA,MACnB,OAAO;AACL,eAAO,UAAU;AAAA,MACnB;AAAA;AAAA;;;ACNA;AAAA;AAAA;AAYA,UAAI,MAAuC;AACzC,SAAC,WAAW;AAEJ;AAGV,cACE,OAAO,mCAAmC,eAC1C,OAAO,+BAA+B,gCACpC,YACF;AACA,2CAA+B,4BAA4B,IAAI,MAAM,CAAC;AAAA,UACxE;AACU,cAAI,2BAA2B;AACzC,cAAI,kBAAkB;AACtB,cAAI,eAAe;AAEnB,mBAAS,KAAK,MAAM,MAAM;AACxB,gBAAI,QAAQ,KAAK;AACjB,iBAAK,KAAK,IAAI;AACd,mBAAO,MAAM,MAAM,KAAK;AAAA,UAC1B;AACA,mBAAS,KAAK,MAAM;AAClB,mBAAO,KAAK,WAAW,IAAI,OAAO,KAAK,CAAC;AAAA,UAC1C;AACA,mBAAS,IAAI,MAAM;AACjB,gBAAI,KAAK,WAAW,GAAG;AACrB,qBAAO;AAAA,YACT;AAEA,gBAAI,QAAQ,KAAK,CAAC;AAClB,gBAAI,OAAO,KAAK,IAAI;AAEpB,gBAAI,SAAS,OAAO;AAClB,mBAAK,CAAC,IAAI;AACV,uBAAS,MAAM,MAAM,CAAC;AAAA,YACxB;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,OAAO,MAAM,MAAM,GAAG;AAC7B,gBAAI,QAAQ;AAEZ,mBAAO,QAAQ,GAAG;AAChB,kBAAI,cAAc,QAAQ,MAAM;AAChC,kBAAI,SAAS,KAAK,WAAW;AAE7B,kBAAI,QAAQ,QAAQ,IAAI,IAAI,GAAG;AAE7B,qBAAK,WAAW,IAAI;AACpB,qBAAK,KAAK,IAAI;AACd,wBAAQ;AAAA,cACV,OAAO;AAEL;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,SAAS,MAAM,MAAM,GAAG;AAC/B,gBAAI,QAAQ;AACZ,gBAAI,SAAS,KAAK;AAClB,gBAAI,aAAa,WAAW;AAE5B,mBAAO,QAAQ,YAAY;AACzB,kBAAI,aAAa,QAAQ,KAAK,IAAI;AAClC,kBAAI,OAAO,KAAK,SAAS;AACzB,kBAAI,aAAa,YAAY;AAC7B,kBAAI,QAAQ,KAAK,UAAU;AAE3B,kBAAI,QAAQ,MAAM,IAAI,IAAI,GAAG;AAC3B,oBAAI,aAAa,UAAU,QAAQ,OAAO,IAAI,IAAI,GAAG;AACnD,uBAAK,KAAK,IAAI;AACd,uBAAK,UAAU,IAAI;AACnB,0BAAQ;AAAA,gBACV,OAAO;AACL,uBAAK,KAAK,IAAI;AACd,uBAAK,SAAS,IAAI;AAClB,0BAAQ;AAAA,gBACV;AAAA,cACF,WAAW,aAAa,UAAU,QAAQ,OAAO,IAAI,IAAI,GAAG;AAC1D,qBAAK,KAAK,IAAI;AACd,qBAAK,UAAU,IAAI;AACnB,wBAAQ;AAAA,cACV,OAAO;AAEL;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,QAAQ,GAAG,GAAG;AAErB,gBAAI,OAAO,EAAE,YAAY,EAAE;AAC3B,mBAAO,SAAS,IAAI,OAAO,EAAE,KAAK,EAAE;AAAA,UACtC;AAGA,cAAI,oBAAoB;AACxB,cAAI,uBAAuB;AAC3B,cAAI,iBAAiB;AACrB,cAAI,cAAc;AAClB,cAAI,eAAe;AAEnB,mBAAS,gBAAgB,MAAM,IAAI;AAAA,UACnC;AAIA,cAAI,oBAAoB,OAAO,gBAAgB,YAAY,OAAO,YAAY,QAAQ;AAEtF,cAAI,mBAAmB;AACrB,gBAAI,mBAAmB;AAEvB,oBAAQ,eAAe,WAAY;AACjC,qBAAO,iBAAiB,IAAI;AAAA,YAC9B;AAAA,UACF,OAAO;AACL,gBAAI,YAAY;AAChB,gBAAI,cAAc,UAAU,IAAI;AAEhC,oBAAQ,eAAe,WAAY;AACjC,qBAAO,UAAU,IAAI,IAAI;AAAA,YAC3B;AAAA,UACF;AAKA,cAAI,oBAAoB;AAExB,cAAI,6BAA6B;AAEjC,cAAI,iCAAiC;AACrC,cAAI,0BAA0B;AAC9B,cAAI,uBAAuB;AAE3B,cAAI,wBAAwB;AAE5B,cAAI,YAAY,CAAC;AACjB,cAAI,aAAa,CAAC;AAElB,cAAI,gBAAgB;AACpB,cAAI,cAAc;AAClB,cAAI,uBAAuB;AAE3B,cAAI,mBAAmB;AACvB,cAAI,0BAA0B;AAC9B,cAAI,yBAAyB;AAE7B,cAAI,kBAAkB,OAAO,eAAe,aAAa,aAAa;AACtE,cAAI,oBAAoB,OAAO,iBAAiB,aAAa,eAAe;AAC5E,cAAI,oBAAoB,OAAO,iBAAiB,cAAc,eAAe;AAE7E,cAAI,iBAAiB,OAAO,cAAc,eAAe,UAAU,eAAe,UAAa,UAAU,WAAW,mBAAmB,SAAY,UAAU,WAAW,eAAe,KAAK,UAAU,UAAU,IAAI;AAEpN,mBAAS,cAAc,aAAa;AAElC,gBAAI,QAAQ,KAAK,UAAU;AAE3B,mBAAO,UAAU,MAAM;AACrB,kBAAI,MAAM,aAAa,MAAM;AAE3B,oBAAI,UAAU;AAAA,cAChB,WAAW,MAAM,aAAa,aAAa;AAEzC,oBAAI,UAAU;AACd,sBAAM,YAAY,MAAM;AACxB,qBAAK,WAAW,KAAK;AAAA,cACvB,OAAO;AAEL;AAAA,cACF;AAEA,sBAAQ,KAAK,UAAU;AAAA,YACzB;AAAA,UACF;AAEA,mBAAS,cAAc,aAAa;AAClC,qCAAyB;AACzB,0BAAc,WAAW;AAEzB,gBAAI,CAAC,yBAAyB;AAC5B,kBAAI,KAAK,SAAS,MAAM,MAAM;AAC5B,0CAA0B;AAC1B,oCAAoB,SAAS;AAAA,cAC/B,OAAO;AACL,oBAAI,aAAa,KAAK,UAAU;AAEhC,oBAAI,eAAe,MAAM;AACvB,qCAAmB,eAAe,WAAW,YAAY,WAAW;AAAA,gBACtE;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,UAAU,kBAAkBc,cAAa;AAGhD,sCAA0B;AAE1B,gBAAI,wBAAwB;AAE1B,uCAAyB;AACzB,gCAAkB;AAAA,YACpB;AAEA,+BAAmB;AACnB,gBAAI,wBAAwB;AAE5B,gBAAI;AACF,kBAAI,iBAAiB;AACnB,oBAAI;AACF,yBAAO,SAAS,kBAAkBA,YAAW;AAAA,gBAC/C,SAAS,OAAO;AACd,sBAAI,gBAAgB,MAAM;AACxB,wBAAI,cAAc,QAAQ,aAAa;AACvC,oCAAgB,aAAa,WAAW;AACxC,gCAAY,WAAW;AAAA,kBACzB;AAEA,wBAAM;AAAA,gBACR;AAAA,cACF,OAAO;AAEL,uBAAO,SAAS,kBAAkBA,YAAW;AAAA,cAC/C;AAAA,YACF,UAAE;AACA,4BAAc;AACd,qCAAuB;AACvB,iCAAmB;AAAA,YACrB;AAAA,UACF;AAEA,mBAAS,SAAS,kBAAkBA,cAAa;AAC/C,gBAAI,cAAcA;AAClB,0BAAc,WAAW;AACzB,0BAAc,KAAK,SAAS;AAE5B,mBAAO,gBAAgB,QAAQ,CAAE,0BAA4B;AAC3D,kBAAI,YAAY,iBAAiB,gBAAgB,CAAC,oBAAoB,kBAAkB,IAAI;AAE1F;AAAA,cACF;AAEA,kBAAI,WAAW,YAAY;AAE3B,kBAAI,OAAO,aAAa,YAAY;AAClC,4BAAY,WAAW;AACvB,uCAAuB,YAAY;AACnC,oBAAI,yBAAyB,YAAY,kBAAkB;AAE3D,oBAAI,uBAAuB,SAAS,sBAAsB;AAC1D,8BAAc,QAAQ,aAAa;AAEnC,oBAAI,OAAO,yBAAyB,YAAY;AAC9C,8BAAY,WAAW;AAAA,gBACzB,OAAO;AAEL,sBAAI,gBAAgB,KAAK,SAAS,GAAG;AACnC,wBAAI,SAAS;AAAA,kBACf;AAAA,gBACF;AAEA,8BAAc,WAAW;AAAA,cAC3B,OAAO;AACL,oBAAI,SAAS;AAAA,cACf;AAEA,4BAAc,KAAK,SAAS;AAAA,YAC9B;AAGA,gBAAI,gBAAgB,MAAM;AACxB,qBAAO;AAAA,YACT,OAAO;AACL,kBAAI,aAAa,KAAK,UAAU;AAEhC,kBAAI,eAAe,MAAM;AACvB,mCAAmB,eAAe,WAAW,YAAY,WAAW;AAAA,cACtE;AAEA,qBAAO;AAAA,YACT;AAAA,UACF;AAEA,mBAAS,yBAAyB,eAAe,cAAc;AAC7D,oBAAQ,eAAe;AAAA,cACrB,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AACH;AAAA,cAEF;AACE,gCAAgB;AAAA,YACpB;AAEA,gBAAI,wBAAwB;AAC5B,mCAAuB;AAEvB,gBAAI;AACF,qBAAO,aAAa;AAAA,YACtB,UAAE;AACA,qCAAuB;AAAA,YACzB;AAAA,UACF;AAEA,mBAAS,cAAc,cAAc;AACnC,gBAAI;AAEJ,oBAAQ,sBAAsB;AAAA,cAC5B,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAEH,gCAAgB;AAChB;AAAA,cAEF;AAEE,gCAAgB;AAChB;AAAA,YACJ;AAEA,gBAAI,wBAAwB;AAC5B,mCAAuB;AAEvB,gBAAI;AACF,qBAAO,aAAa;AAAA,YACtB,UAAE;AACA,qCAAuB;AAAA,YACzB;AAAA,UACF;AAEA,mBAAS,sBAAsB,UAAU;AACvC,gBAAI,sBAAsB;AAC1B,mBAAO,WAAY;AAEjB,kBAAI,wBAAwB;AAC5B,qCAAuB;AAEvB,kBAAI;AACF,uBAAO,SAAS,MAAM,MAAM,SAAS;AAAA,cACvC,UAAE;AACA,uCAAuB;AAAA,cACzB;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,0BAA0B,eAAe,UAAU,SAAS;AACnE,gBAAI,cAAc,QAAQ,aAAa;AACvC,gBAAIC;AAEJ,gBAAI,OAAO,YAAY,YAAY,YAAY,MAAM;AACnD,kBAAI,QAAQ,QAAQ;AAEpB,kBAAI,OAAO,UAAU,YAAY,QAAQ,GAAG;AAC1C,gBAAAA,aAAY,cAAc;AAAA,cAC5B,OAAO;AACL,gBAAAA,aAAY;AAAA,cACd;AAAA,YACF,OAAO;AACL,cAAAA,aAAY;AAAA,YACd;AAEA,gBAAI;AAEJ,oBAAQ,eAAe;AAAA,cACrB,KAAK;AACH,0BAAU;AACV;AAAA,cAEF,KAAK;AACH,0BAAU;AACV;AAAA,cAEF,KAAK;AACH,0BAAU;AACV;AAAA,cAEF,KAAK;AACH,0BAAU;AACV;AAAA,cAEF,KAAK;AAAA,cACL;AACE,0BAAU;AACV;AAAA,YACJ;AAEA,gBAAI,iBAAiBA,aAAY;AACjC,gBAAI,UAAU;AAAA,cACZ,IAAI;AAAA,cACJ;AAAA,cACA;AAAA,cACA,WAAWA;AAAA,cACX;AAAA,cACA,WAAW;AAAA,YACb;AAEA,gBAAIA,aAAY,aAAa;AAE3B,sBAAQ,YAAYA;AACpB,mBAAK,YAAY,OAAO;AAExB,kBAAI,KAAK,SAAS,MAAM,QAAQ,YAAY,KAAK,UAAU,GAAG;AAE5D,oBAAI,wBAAwB;AAE1B,oCAAkB;AAAA,gBACpB,OAAO;AACL,2CAAyB;AAAA,gBAC3B;AAGA,mCAAmB,eAAeA,aAAY,WAAW;AAAA,cAC3D;AAAA,YACF,OAAO;AACL,sBAAQ,YAAY;AACpB,mBAAK,WAAW,OAAO;AAIvB,kBAAI,CAAC,2BAA2B,CAAC,kBAAkB;AACjD,0CAA0B;AAC1B,oCAAoB,SAAS;AAAA,cAC/B;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,0BAA0B;AAAA,UACnC;AAEA,mBAAS,6BAA6B;AAEpC,gBAAI,CAAC,2BAA2B,CAAC,kBAAkB;AACjD,wCAA0B;AAC1B,kCAAoB,SAAS;AAAA,YAC/B;AAAA,UACF;AAEA,mBAAS,gCAAgC;AACvC,mBAAO,KAAK,SAAS;AAAA,UACvB;AAEA,mBAAS,wBAAwB,MAAM;AAKrC,iBAAK,WAAW;AAAA,UAClB;AAEA,mBAAS,mCAAmC;AAC1C,mBAAO;AAAA,UACT;AAEA,cAAI,uBAAuB;AAC3B,cAAI,wBAAwB;AAC5B,cAAI,gBAAgB;AAKpB,cAAI,gBAAgB;AACpB,cAAI,YAAY;AAEhB,mBAAS,oBAAoB;AAC3B,gBAAI,cAAc,QAAQ,aAAa,IAAI;AAE3C,gBAAI,cAAc,eAAe;AAG/B,qBAAO;AAAA,YACT;AAGA,mBAAO;AAAA,UACT;AAEA,mBAAS,eAAe;AAAA,UAExB;AAEA,mBAAS,eAAe,KAAK;AAC3B,gBAAI,MAAM,KAAK,MAAM,KAAK;AAExB,sBAAQ,OAAO,EAAE,iHAAsH;AACvI;AAAA,YACF;AAEA,gBAAI,MAAM,GAAG;AACX,8BAAgB,KAAK,MAAM,MAAO,GAAG;AAAA,YACvC,OAAO;AAEL,8BAAgB;AAAA,YAClB;AAAA,UACF;AAEA,cAAI,2BAA2B,WAAY;AACzC,gBAAI,0BAA0B,MAAM;AAClC,kBAAI,cAAc,QAAQ,aAAa;AAGvC,0BAAY;AACZ,kBAAI,mBAAmB;AAOvB,kBAAI,cAAc;AAElB,kBAAI;AACF,8BAAc,sBAAsB,kBAAkB,WAAW;AAAA,cACnE,UAAE;AACA,oBAAI,aAAa;AAGf,mDAAiC;AAAA,gBACnC,OAAO;AACL,yCAAuB;AACvB,0CAAwB;AAAA,gBAC1B;AAAA,cACF;AAAA,YACF,OAAO;AACL,qCAAuB;AAAA,YACzB;AAAA,UACF;AAEA,cAAI;AAEJ,cAAI,OAAO,sBAAsB,YAAY;AAY3C,+CAAmC,WAAY;AAC7C,gCAAkB,wBAAwB;AAAA,YAC5C;AAAA,UACF,WAAW,OAAO,mBAAmB,aAAa;AAGhD,gBAAI,UAAU,IAAI,eAAe;AACjC,gBAAI,OAAO,QAAQ;AACnB,oBAAQ,MAAM,YAAY;AAE1B,+CAAmC,WAAY;AAC7C,mBAAK,YAAY,IAAI;AAAA,YACvB;AAAA,UACF,OAAO;AAEL,+CAAmC,WAAY;AAC7C,8BAAgB,0BAA0B,CAAC;AAAA,YAC7C;AAAA,UACF;AAEA,mBAAS,oBAAoB,UAAU;AACrC,oCAAwB;AAExB,gBAAI,CAAC,sBAAsB;AACzB,qCAAuB;AACvB,+CAAiC;AAAA,YACnC;AAAA,UACF;AAEA,mBAAS,mBAAmB,UAAU,IAAI;AACxC,4BAAgB,gBAAgB,WAAY;AAC1C,uBAAS,QAAQ,aAAa,CAAC;AAAA,YACjC,GAAG,EAAE;AAAA,UACP;AAEA,mBAAS,oBAAoB;AAC3B,8BAAkB,aAAa;AAC/B,4BAAgB;AAAA,UAClB;AAEA,cAAI,wBAAwB;AAC5B,cAAI,qBAAsB;AAE1B,kBAAQ,wBAAwB;AAChC,kBAAQ,6BAA6B;AACrC,kBAAQ,uBAAuB;AAC/B,kBAAQ,0BAA0B;AAClC,kBAAQ,qBAAqB;AAC7B,kBAAQ,gCAAgC;AACxC,kBAAQ,0BAA0B;AAClC,kBAAQ,6BAA6B;AACrC,kBAAQ,0BAA0B;AAClC,kBAAQ,mCAAmC;AAC3C,kBAAQ,gCAAgC;AACxC,kBAAQ,gBAAgB;AACxB,kBAAQ,0BAA0B;AAClC,kBAAQ,wBAAwB;AAChC,kBAAQ,2BAA2B;AACnC,kBAAQ,4BAA4B;AACpC,kBAAQ,uBAAuB;AAC/B,kBAAQ,wBAAwB;AAEhC,cACE,OAAO,mCAAmC,eAC1C,OAAO,+BAA+B,+BACpC,YACF;AACA,2CAA+B,2BAA2B,IAAI,MAAM,CAAC;AAAA,UACvE;AAAA,QAEE,GAAG;AAAA,MACL;AAAA;AAAA;;;ACznBA;AAAA;AAAA;AAEA,UAAI,OAAuC;AACzC,eAAO,UAAU;AAAA,MACnB,OAAO;AACL,eAAO,UAAU;AAAA,MACnB;AAAA;AAAA;;;ACNA;AAAA;AAAA;AAYA,UAAI,MAAuC;AACzC,SAAC,WAAW;AAEJ;AAGV,cACE,OAAO,mCAAmC,eAC1C,OAAO,+BAA+B,gCACpC,YACF;AACA,2CAA+B,4BAA4B,IAAI,MAAM,CAAC;AAAA,UACxE;AACU,cAAIC,UAAQ;AACtB,cAAI,YAAY;AAEhB,cAAI,uBAAuBA,QAAM;AAEjC,cAAI,kBAAkB;AACtB,mBAAS,mBAAmB,oBAAoB;AAC9C;AACE,gCAAkB;AAAA,YACpB;AAAA,UACF;AAMA,mBAASC,MAAKC,SAAQ;AACpB;AACE,kBAAI,CAAC,iBAAiB;AACpB,yBAAS,OAAO,UAAU,QAAQ,OAAO,IAAI,MAAM,OAAO,IAAI,OAAO,IAAI,CAAC,GAAG,OAAO,GAAG,OAAO,MAAM,QAAQ;AAC1G,uBAAK,OAAO,CAAC,IAAI,UAAU,IAAI;AAAA,gBACjC;AAEA,6BAAa,QAAQA,SAAQ,IAAI;AAAA,cACnC;AAAA,YACF;AAAA,UACF;AACA,mBAAS,MAAMA,SAAQ;AACrB;AACE,kBAAI,CAAC,iBAAiB;AACpB,yBAAS,QAAQ,UAAU,QAAQ,OAAO,IAAI,MAAM,QAAQ,IAAI,QAAQ,IAAI,CAAC,GAAG,QAAQ,GAAG,QAAQ,OAAO,SAAS;AACjH,uBAAK,QAAQ,CAAC,IAAI,UAAU,KAAK;AAAA,gBACnC;AAEA,6BAAa,SAASA,SAAQ,IAAI;AAAA,cACpC;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,aAAa,OAAOA,SAAQ,MAAM;AAGzC;AACE,kBAAIC,0BAAyB,qBAAqB;AAClD,kBAAI,QAAQA,wBAAuB,iBAAiB;AAEpD,kBAAI,UAAU,IAAI;AAChB,gBAAAD,WAAU;AACV,uBAAO,KAAK,OAAO,CAAC,KAAK,CAAC;AAAA,cAC5B;AAGA,kBAAI,iBAAiB,KAAK,IAAI,SAAU,MAAM;AAC5C,uBAAO,OAAO,IAAI;AAAA,cACpB,CAAC;AAED,6BAAe,QAAQ,cAAcA,OAAM;AAI3C,uBAAS,UAAU,MAAM,KAAK,QAAQ,KAAK,GAAG,SAAS,cAAc;AAAA,YACvE;AAAA,UACF;AAEA,cAAI,oBAAoB;AACxB,cAAI,iBAAiB;AACrB,cAAI,yBAAyB;AAE7B,cAAI,WAAW;AAEf,cAAI,aAAa;AAEjB,cAAI,gBAAgB;AACpB,cAAI,WAAW;AACf,cAAIE,YAAW;AACf,cAAI,OAAO;AACX,cAAI,kBAAkB;AACtB,cAAI,kBAAkB;AACtB,cAAI,aAAa;AACjB,cAAI,WAAW;AACf,cAAI,oBAAoB;AACxB,cAAI,gBAAgB;AACpB,cAAI,sBAAsB;AAC1B,cAAI,gBAAgB;AACpB,cAAI,2BAA2B;AAC/B,cAAI,qBAAqB;AACzB,cAAI,wBAAwB;AAC5B,cAAI,iBAAiB;AACrB,cAAI,qBAAqB;AACzB,cAAI,wBAAwB;AAC5B,cAAI,iBAAiB;AACrB,cAAI,yBAAyB;AAI7B,cAAI,2CAA2C;AAG/C,cAAI,sBAAsB;AAE1B,cAAI,+BAA+B;AAEnC,cAAI,qBAAqB;AAEzB,cAAI,kCAAkC;AAStC,cAAI,iCAAiC;AAKrC,cAAI,qCAAqC;AACzC,cAAI,sBAAsB;AAM1B,cAAI,2BAA2B;AAE/B,cAAI,sBAAsB;AAE1B,cAAI,4BAA4B;AAEhC,cAAI,kBAAkB,oBAAI,IAAI;AAM9B,cAAI,+BAA+B,CAAC;AAQpC,cAAI,4BAA6B,CAAC;AAElC,mBAAS,sBAAsB,kBAAkB,cAAc;AAC7D,gCAAoB,kBAAkB,YAAY;AAClD,gCAAoB,mBAAmB,WAAW,YAAY;AAAA,UAChE;AACA,mBAAS,oBAAoB,kBAAkB,cAAc;AAC3D;AACE,kBAAI,6BAA6B,gBAAgB,GAAG;AAClD,sBAAM,8FAAmG,gBAAgB;AAAA,cAC3H;AAAA,YACF;AAEA,yCAA6B,gBAAgB,IAAI;AAEjD;AACE,kBAAI,iBAAiB,iBAAiB,YAAY;AAClD,wCAA0B,cAAc,IAAI;AAE5C,kBAAI,qBAAqB,iBAAiB;AACxC,0CAA0B,aAAa;AAAA,cACzC;AAAA,YACF;AAEA,qBAAS,IAAI,GAAG,IAAI,aAAa,QAAQ,KAAK;AAC5C,8BAAgB,IAAI,aAAa,CAAC,CAAC;AAAA,YACrC;AAAA,UACF;AAEA,cAAIC,aAAY,CAAC,EAAE,OAAO,WAAW,eAAe,OAAO,OAAO,aAAa,eAAe,OAAO,OAAO,SAAS,kBAAkB;AAEvI,cAAI,iBAAiB,OAAO,UAAU;AAYtC,mBAAS,SAAS,OAAO;AACvB;AAEE,kBAAI,iBAAiB,OAAO,WAAW,cAAc,OAAO;AAC5D,kBAAI,OAAO,kBAAkB,MAAM,OAAO,WAAW,KAAK,MAAM,YAAY,QAAQ;AACpF,qBAAO;AAAA,YACT;AAAA,UACF;AAGA,mBAAS,kBAAkB,OAAO;AAChC;AACE,kBAAI;AACF,mCAAmB,KAAK;AACxB,uBAAO;AAAA,cACT,SAAS,GAAG;AACV,uBAAO;AAAA,cACT;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,mBAAmB,OAAO;AAwBjC,mBAAO,KAAK;AAAA,UACd;AAEA,mBAAS,6BAA6B,OAAO,eAAe;AAC1D;AACE,kBAAI,kBAAkB,KAAK,GAAG;AAC5B,sBAAM,8HAAmI,eAAe,SAAS,KAAK,CAAC;AAEvK,uBAAO,mBAAmB,KAAK;AAAA,cACjC;AAAA,YACF;AAAA,UACF;AACA,mBAAS,uBAAuB,OAAO;AACrC;AACE,kBAAI,kBAAkB,KAAK,GAAG;AAC5B,sBAAM,mHAAwH,SAAS,KAAK,CAAC;AAE7I,uBAAO,mBAAmB,KAAK;AAAA,cACjC;AAAA,YACF;AAAA,UACF;AACA,mBAAS,wBAAwB,OAAO,UAAU;AAChD;AACE,kBAAI,kBAAkB,KAAK,GAAG;AAC5B,sBAAM,yHAA8H,UAAU,SAAS,KAAK,CAAC;AAE7J,uBAAO,mBAAmB,KAAK;AAAA,cACjC;AAAA,YACF;AAAA,UACF;AACA,mBAAS,+BAA+B,OAAO,UAAU;AACvD;AACE,kBAAI,kBAAkB,KAAK,GAAG;AAC5B,sBAAM,iIAAsI,UAAU,SAAS,KAAK,CAAC;AAErK,uBAAO,mBAAmB,KAAK;AAAA,cACjC;AAAA,YACF;AAAA,UACF;AACA,mBAAS,wBAAwB,OAAO;AACtC;AACE,kBAAI,kBAAkB,KAAK,GAAG;AAC5B,sBAAM,qIAA0I,SAAS,KAAK,CAAC;AAE/J,uBAAO,mBAAmB,KAAK;AAAA,cACjC;AAAA,YACF;AAAA,UACF;AACA,mBAAS,kCAAkC,OAAO;AAChD;AACE,kBAAI,kBAAkB,KAAK,GAAG;AAC5B,sBAAM,0KAAoL,SAAS,KAAK,CAAC;AAEzM,uBAAO,mBAAmB,KAAK;AAAA,cACjC;AAAA,YACF;AAAA,UACF;AAIA,cAAI,WAAW;AAGf,cAAI,SAAS;AAKb,cAAI,oBAAoB;AAIxB,cAAI,UAAU;AAKd,cAAI,qBAAqB;AAGzB,cAAI,UAAU;AAGd,cAAI,mBAAmB;AAGvB,cAAI,4BAA4B;AAGhC,cAAI,sBAAsB,4BAA4B;AACtD,cAAI,6BAA6B,IAAI,OAAO,OAAO,4BAA4B,OAAO,sBAAsB,KAAK;AACjH,cAAI,4BAA4B,CAAC;AACjC,cAAI,8BAA8B,CAAC;AACnC,mBAAS,oBAAoB,eAAe;AAC1C,gBAAI,eAAe,KAAK,6BAA6B,aAAa,GAAG;AACnE,qBAAO;AAAA,YACT;AAEA,gBAAI,eAAe,KAAK,2BAA2B,aAAa,GAAG;AACjE,qBAAO;AAAA,YACT;AAEA,gBAAI,2BAA2B,KAAK,aAAa,GAAG;AAClD,0CAA4B,aAAa,IAAI;AAC7C,qBAAO;AAAA,YACT;AAEA,sCAA0B,aAAa,IAAI;AAE3C;AACE,oBAAM,gCAAgC,aAAa;AAAA,YACrD;AAEA,mBAAO;AAAA,UACT;AACA,mBAAS,sBAAsB,MAAM,cAAc,sBAAsB;AACvE,gBAAI,iBAAiB,MAAM;AACzB,qBAAO,aAAa,SAAS;AAAA,YAC/B;AAEA,gBAAI,sBAAsB;AACxB,qBAAO;AAAA,YACT;AAEA,gBAAI,KAAK,SAAS,MAAM,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,MAAM,SAAS,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,MAAM,MAAM;AACnG,qBAAO;AAAA,YACT;AAEA,mBAAO;AAAA,UACT;AACA,mBAAS,iCAAiC,MAAM,OAAO,cAAc,sBAAsB;AACzF,gBAAI,iBAAiB,QAAQ,aAAa,SAAS,UAAU;AAC3D,qBAAO;AAAA,YACT;AAEA,oBAAQ,OAAO,OAAO;AAAA,cACpB,KAAK;AAAA,cAEL,KAAK;AAEH,uBAAO;AAAA,cAET,KAAK,WACH;AACE,oBAAI,sBAAsB;AACxB,yBAAO;AAAA,gBACT;AAEA,oBAAI,iBAAiB,MAAM;AACzB,yBAAO,CAAC,aAAa;AAAA,gBACvB,OAAO;AACL,sBAAIC,UAAS,KAAK,YAAY,EAAE,MAAM,GAAG,CAAC;AAC1C,yBAAOA,YAAW,WAAWA,YAAW;AAAA,gBAC1C;AAAA,cACF;AAAA,cAEF;AACE,uBAAO;AAAA,YACX;AAAA,UACF;AACA,mBAAS,sBAAsB,MAAM,OAAO,cAAc,sBAAsB;AAC9E,gBAAI,UAAU,QAAQ,OAAO,UAAU,aAAa;AAClD,qBAAO;AAAA,YACT;AAEA,gBAAI,iCAAiC,MAAM,OAAO,cAAc,oBAAoB,GAAG;AACrF,qBAAO;AAAA,YACT;AAEA,gBAAI,sBAAsB;AAExB,qBAAO;AAAA,YACT;AAEA,gBAAI,iBAAiB,MAAM;AAEzB,sBAAQ,aAAa,MAAM;AAAA,gBACzB,KAAK;AACH,yBAAO,CAAC;AAAA,gBAEV,KAAK;AACH,yBAAO,UAAU;AAAA,gBAEnB,KAAK;AACH,yBAAO,MAAM,KAAK;AAAA,gBAEpB,KAAK;AACH,yBAAO,MAAM,KAAK,KAAK,QAAQ;AAAA,cACnC;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AACA,mBAAS,gBAAgB,MAAM;AAC7B,mBAAO,WAAW,eAAe,IAAI,IAAI,WAAW,IAAI,IAAI;AAAA,UAC9D;AAEA,mBAAS,mBAAmB,MAAM,MAAM,iBAAiB,eAAe,oBAAoBC,cAAa,mBAAmB;AAC1H,iBAAK,kBAAkB,SAAS,qBAAqB,SAAS,WAAW,SAAS;AAClF,iBAAK,gBAAgB;AACrB,iBAAK,qBAAqB;AAC1B,iBAAK,kBAAkB;AACvB,iBAAK,eAAe;AACpB,iBAAK,OAAO;AACZ,iBAAK,cAAcA;AACnB,iBAAK,oBAAoB;AAAA,UAC3B;AAKA,cAAI,aAAa,CAAC;AAElB,cAAI,gBAAgB;AAAA,YAAC;AAAA,YAAY;AAAA;AAAA;AAAA;AAAA,YAGjC;AAAA,YAAgB;AAAA,YAAkB;AAAA,YAAa;AAAA,YAAkC;AAAA,YAA4B;AAAA,UAAO;AAEpH,wBAAc,QAAQ,SAAU,MAAM;AACpC,uBAAW,IAAI,IAAI,IAAI;AAAA,cAAmB;AAAA,cAAM;AAAA,cAAU;AAAA;AAAA,cAC1D;AAAA;AAAA,cACA;AAAA;AAAA,cACA;AAAA;AAAA,cACA;AAAA,YAAK;AAAA,UACP,CAAC;AAGD,WAAC,CAAC,iBAAiB,gBAAgB,GAAG,CAAC,aAAa,OAAO,GAAG,CAAC,WAAW,KAAK,GAAG,CAAC,aAAa,YAAY,CAAC,EAAE,QAAQ,SAAU,MAAM;AACrI,gBAAI,OAAO,KAAK,CAAC,GACb,gBAAgB,KAAK,CAAC;AAC1B,uBAAW,IAAI,IAAI,IAAI;AAAA,cAAmB;AAAA,cAAM;AAAA,cAAQ;AAAA;AAAA,cACxD;AAAA;AAAA,cACA;AAAA;AAAA,cACA;AAAA;AAAA,cACA;AAAA,YAAK;AAAA,UACP,CAAC;AAID,WAAC,mBAAmB,aAAa,cAAc,OAAO,EAAE,QAAQ,SAAU,MAAM;AAC9E,uBAAW,IAAI,IAAI,IAAI;AAAA,cAAmB;AAAA,cAAM;AAAA,cAAmB;AAAA;AAAA,cACnE,KAAK,YAAY;AAAA;AAAA,cACjB;AAAA;AAAA,cACA;AAAA;AAAA,cACA;AAAA,YAAK;AAAA,UACP,CAAC;AAKD,WAAC,eAAe,6BAA6B,aAAa,eAAe,EAAE,QAAQ,SAAU,MAAM;AACjG,uBAAW,IAAI,IAAI,IAAI;AAAA,cAAmB;AAAA,cAAM;AAAA,cAAmB;AAAA;AAAA,cACnE;AAAA;AAAA,cACA;AAAA;AAAA,cACA;AAAA;AAAA,cACA;AAAA,YAAK;AAAA,UACP,CAAC;AAED;AAAA,YAAC;AAAA,YAAmB;AAAA;AAAA;AAAA,YAEpB;AAAA,YAAa;AAAA,YAAY;AAAA,YAAY;AAAA,YAAW;AAAA,YAAS;AAAA,YAAY;AAAA,YAA2B;AAAA,YAAyB;AAAA,YAAkB;AAAA,YAAU;AAAA,YAAQ;AAAA,YAAY;AAAA,YAAc;AAAA,YAAQ;AAAA,YAAe;AAAA,YAAY;AAAA,YAAY;AAAA,YAAY;AAAA,YAAU;AAAA;AAAA,YAC5P;AAAA,UAAW,EAAE,QAAQ,SAAU,MAAM;AACnC,uBAAW,IAAI,IAAI,IAAI;AAAA,cAAmB;AAAA,cAAM;AAAA,cAAS;AAAA;AAAA,cACzD,KAAK,YAAY;AAAA;AAAA,cACjB;AAAA;AAAA,cACA;AAAA;AAAA,cACA;AAAA,YAAK;AAAA,UACP,CAAC;AAGD;AAAA,YAAC;AAAA;AAAA;AAAA,YAED;AAAA,YAAY;AAAA,YAAS;AAAA;AAAA;AAAA;AAAA,UAGrB,EAAE,QAAQ,SAAU,MAAM;AACxB,uBAAW,IAAI,IAAI,IAAI;AAAA,cAAmB;AAAA,cAAM;AAAA,cAAS;AAAA;AAAA,cACzD;AAAA;AAAA,cACA;AAAA;AAAA,cACA;AAAA;AAAA,cACA;AAAA,YAAK;AAAA,UACP,CAAC;AAGD;AAAA,YAAC;AAAA,YAAW;AAAA;AAAA;AAAA;AAAA,UAGZ,EAAE,QAAQ,SAAU,MAAM;AACxB,uBAAW,IAAI,IAAI,IAAI;AAAA,cAAmB;AAAA,cAAM;AAAA,cAAoB;AAAA;AAAA,cACpE;AAAA;AAAA,cACA;AAAA;AAAA,cACA;AAAA;AAAA,cACA;AAAA,YAAK;AAAA,UACP,CAAC;AAED;AAAA,YAAC;AAAA,YAAQ;AAAA,YAAQ;AAAA,YAAQ;AAAA;AAAA;AAAA;AAAA,UAGzB,EAAE,QAAQ,SAAU,MAAM;AACxB,uBAAW,IAAI,IAAI,IAAI;AAAA,cAAmB;AAAA,cAAM;AAAA,cAAkB;AAAA;AAAA,cAClE;AAAA;AAAA,cACA;AAAA;AAAA,cACA;AAAA;AAAA,cACA;AAAA,YAAK;AAAA,UACP,CAAC;AAED,WAAC,WAAW,OAAO,EAAE,QAAQ,SAAU,MAAM;AAC3C,uBAAW,IAAI,IAAI,IAAI;AAAA,cAAmB;AAAA,cAAM;AAAA,cAAS;AAAA;AAAA,cACzD,KAAK,YAAY;AAAA;AAAA,cACjB;AAAA;AAAA,cACA;AAAA;AAAA,cACA;AAAA,YAAK;AAAA,UACP,CAAC;AACD,cAAI,WAAW;AAEf,cAAI,aAAa,SAAU,OAAO;AAChC,mBAAO,MAAM,CAAC,EAAE,YAAY;AAAA,UAC9B;AAOA;AAAA,YAAC;AAAA,YAAiB;AAAA,YAAsB;AAAA,YAAe;AAAA,YAAkB;AAAA,YAAc;AAAA,YAAa;AAAA,YAAa;AAAA,YAAuB;AAAA,YAA+B;AAAA,YAAiB;AAAA,YAAmB;AAAA,YAAqB;AAAA,YAAqB;AAAA,YAAgB;AAAA,YAAa;AAAA,YAAe;AAAA,YAAiB;AAAA,YAAe;AAAA,YAAa;AAAA,YAAoB;AAAA,YAAgB;AAAA,YAAc;AAAA,YAAgB;AAAA,YAAe;AAAA,YAAc;AAAA,YAAgC;AAAA,YAA8B;AAAA,YAAe;AAAA,YAAkB;AAAA,YAAmB;AAAA,YAAkB;AAAA,YAAkB;AAAA,YAAc;AAAA,YAAc;AAAA,YAAgB;AAAA,YAAqB;AAAA,YAAsB;AAAA,YAAe;AAAA,YAAY;AAAA,YAAkB;AAAA,YAAoB;AAAA,YAAmB;AAAA,YAAc;AAAA,YAAgB;AAAA,YAA0B;AAAA,YAA2B;AAAA,YAAoB;AAAA,YAAqB;AAAA,YAAkB;AAAA,YAAmB;AAAA,YAAqB;AAAA,YAAkB;AAAA,YAAgB;AAAA,YAAe;AAAA,YAAmB;AAAA,YAAkB;AAAA,YAAsB;AAAA,YAAuB;AAAA,YAAgB;AAAA,YAAiB;AAAA,YAAgB;AAAA,YAAgB;AAAA,YAAa;AAAA,YAAiB;AAAA,YAAkB;AAAA,YAAiB;AAAA,YAAc;AAAA,YAAiB;AAAA,YAAiB;AAAA,YAAgB;AAAA,YAAgB;AAAA,YAAe;AAAA;AAAA;AAAA;AAAA,UAGxwC,EAAE,QAAQ,SAAU,eAAe;AACjC,gBAAI,OAAO,cAAc,QAAQ,UAAU,UAAU;AACrD,uBAAW,IAAI,IAAI,IAAI;AAAA,cAAmB;AAAA,cAAM;AAAA,cAAQ;AAAA;AAAA,cACxD;AAAA,cAAe;AAAA;AAAA,cACf;AAAA;AAAA,cACA;AAAA,YAAK;AAAA,UACP,CAAC;AAED;AAAA,YAAC;AAAA,YAAiB;AAAA,YAAiB;AAAA,YAAc;AAAA,YAAc;AAAA,YAAe;AAAA;AAAA;AAAA;AAAA,UAG9E,EAAE,QAAQ,SAAU,eAAe;AACjC,gBAAI,OAAO,cAAc,QAAQ,UAAU,UAAU;AACrD,uBAAW,IAAI,IAAI,IAAI;AAAA,cAAmB;AAAA,cAAM;AAAA,cAAQ;AAAA;AAAA,cACxD;AAAA,cAAe;AAAA,cAAgC;AAAA;AAAA,cAC/C;AAAA,YAAK;AAAA,UACP,CAAC;AAED;AAAA,YAAC;AAAA,YAAY;AAAA,YAAY;AAAA;AAAA;AAAA;AAAA,UAGzB,EAAE,QAAQ,SAAU,eAAe;AACjC,gBAAI,OAAO,cAAc,QAAQ,UAAU,UAAU;AACrD,uBAAW,IAAI,IAAI,IAAI;AAAA,cAAmB;AAAA,cAAM;AAAA,cAAQ;AAAA;AAAA,cACxD;AAAA,cAAe;AAAA,cAAwC;AAAA;AAAA,cACvD;AAAA,YAAK;AAAA,UACP,CAAC;AAID,WAAC,YAAY,aAAa,EAAE,QAAQ,SAAU,eAAe;AAC3D,uBAAW,aAAa,IAAI,IAAI;AAAA,cAAmB;AAAA,cAAe;AAAA,cAAQ;AAAA;AAAA,cAC1E,cAAc,YAAY;AAAA;AAAA,cAC1B;AAAA;AAAA,cACA;AAAA;AAAA,cACA;AAAA,YAAK;AAAA,UACP,CAAC;AAGD,cAAI,YAAY;AAChB,qBAAW,SAAS,IAAI,IAAI;AAAA,YAAmB;AAAA,YAAa;AAAA,YAAQ;AAAA;AAAA,YACpE;AAAA,YAAc;AAAA,YAAgC;AAAA;AAAA,YAC9C;AAAA,UAAK;AACL,WAAC,OAAO,QAAQ,UAAU,YAAY,EAAE,QAAQ,SAAU,eAAe;AACvE,uBAAW,aAAa,IAAI,IAAI;AAAA,cAAmB;AAAA,cAAe;AAAA,cAAQ;AAAA;AAAA,cAC1E,cAAc,YAAY;AAAA;AAAA,cAC1B;AAAA;AAAA,cACA;AAAA;AAAA,cACA;AAAA,YAAI;AAAA,UACN,CAAC;AAYD,cAAI,uBAAuB;AAC3B,cAAI,UAAU;AAEd,mBAAS,YAAY,KAAK;AACxB;AACE,kBAAI,CAAC,WAAW,qBAAqB,KAAK,GAAG,GAAG;AAC9C,0BAAU;AAEV,sBAAM,8NAAwO,KAAK,UAAU,GAAG,CAAC;AAAA,cACnQ;AAAA,YACF;AAAA,UACF;AAOA,mBAAS,oBAAoB,MAAM,MAAM,UAAU,cAAc;AAC/D;AACE,kBAAI,aAAa,iBAAiB;AAChC,oBAAI,eAAe,aAAa;AAChC,uBAAO,KAAK,YAAY;AAAA,cAC1B,OAAO;AAIL;AACE,+CAA6B,UAAU,IAAI;AAAA,gBAC7C;AAEA,oBAAK,aAAa,aAAa;AAK7B,8BAAY,KAAK,QAAQ;AAAA,gBAC3B;AAEA,oBAAI,gBAAgB,aAAa;AACjC,oBAAI,cAAc;AAElB,oBAAI,aAAa,SAAS,oBAAoB;AAC5C,sBAAI,KAAK,aAAa,aAAa,GAAG;AACpC,wBAAI,QAAQ,KAAK,aAAa,aAAa;AAE3C,wBAAI,UAAU,IAAI;AAChB,6BAAO;AAAA,oBACT;AAEA,wBAAI,sBAAsB,MAAM,UAAU,cAAc,KAAK,GAAG;AAC9D,6BAAO;AAAA,oBACT;AAGA,wBAAI,UAAU,KAAK,UAAU;AAC3B,6BAAO;AAAA,oBACT;AAEA,2BAAO;AAAA,kBACT;AAAA,gBACF,WAAW,KAAK,aAAa,aAAa,GAAG;AAC3C,sBAAI,sBAAsB,MAAM,UAAU,cAAc,KAAK,GAAG;AAG9D,2BAAO,KAAK,aAAa,aAAa;AAAA,kBACxC;AAEA,sBAAI,aAAa,SAAS,SAAS;AAGjC,2BAAO;AAAA,kBACT;AAMA,gCAAc,KAAK,aAAa,aAAa;AAAA,gBAC/C;AAEA,oBAAI,sBAAsB,MAAM,UAAU,cAAc,KAAK,GAAG;AAC9D,yBAAO,gBAAgB,OAAO,WAAW;AAAA,gBAC3C,WAAW,gBAAgB,KAAK,UAAU;AACxC,yBAAO;AAAA,gBACT,OAAO;AACL,yBAAO;AAAA,gBACT;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAOA,mBAAS,qBAAqB,MAAM,MAAM,UAAU,sBAAsB;AACxE;AACE,kBAAI,CAAC,oBAAoB,IAAI,GAAG;AAC9B;AAAA,cACF;AAEA,kBAAI,CAAC,KAAK,aAAa,IAAI,GAAG;AAC5B,uBAAO,aAAa,SAAY,SAAY;AAAA,cAC9C;AAEA,kBAAI,QAAQ,KAAK,aAAa,IAAI;AAElC;AACE,6CAA6B,UAAU,IAAI;AAAA,cAC7C;AAEA,kBAAI,UAAU,KAAK,UAAU;AAC3B,uBAAO;AAAA,cACT;AAEA,qBAAO;AAAA,YACT;AAAA,UACF;AASA,mBAAS,oBAAoB,MAAM,MAAM,OAAO,sBAAsB;AACpE,gBAAI,eAAe,gBAAgB,IAAI;AAEvC,gBAAI,sBAAsB,MAAM,cAAc,oBAAoB,GAAG;AACnE;AAAA,YACF;AAEA,gBAAI,sBAAsB,MAAM,OAAO,cAAc,oBAAoB,GAAG;AAC1E,sBAAQ;AAAA,YACV;AAGA,gBAAI,wBAAwB,iBAAiB,MAAM;AACjD,kBAAI,oBAAoB,IAAI,GAAG;AAC7B,oBAAI,iBAAiB;AAErB,oBAAI,UAAU,MAAM;AAClB,uBAAK,gBAAgB,cAAc;AAAA,gBACrC,OAAO;AACL;AACE,iDAA6B,OAAO,IAAI;AAAA,kBAC1C;AAEA,uBAAK,aAAa,gBAAiB,KAAK,KAAK;AAAA,gBAC/C;AAAA,cACF;AAEA;AAAA,YACF;AAEA,gBAAI,kBAAkB,aAAa;AAEnC,gBAAI,iBAAiB;AACnB,kBAAI,eAAe,aAAa;AAEhC,kBAAI,UAAU,MAAM;AAClB,oBAAI,OAAO,aAAa;AACxB,qBAAK,YAAY,IAAI,SAAS,UAAU,QAAQ;AAAA,cAClD,OAAO;AAGL,qBAAK,YAAY,IAAI;AAAA,cACvB;AAEA;AAAA,YACF;AAGA,gBAAI,gBAAgB,aAAa,eAC7B,qBAAqB,aAAa;AAEtC,gBAAI,UAAU,MAAM;AAClB,mBAAK,gBAAgB,aAAa;AAAA,YACpC,OAAO;AACL,kBAAI,QAAQ,aAAa;AACzB,kBAAI;AAEJ,kBAAI,UAAU,WAAW,UAAU,sBAAsB,UAAU,MAAM;AAGvE,iCAAiB;AAAA,cACnB,OAAO;AAGL;AACE;AACE,iDAA6B,OAAO,aAAa;AAAA,kBACnD;AAEA,mCAAiB,KAAK;AAAA,gBACxB;AAEA,oBAAI,aAAa,aAAa;AAC5B,8BAAY,eAAe,SAAS,CAAC;AAAA,gBACvC;AAAA,cACF;AAEA,kBAAI,oBAAoB;AACtB,qBAAK,eAAe,oBAAoB,eAAe,cAAc;AAAA,cACvE,OAAO;AACL,qBAAK,aAAa,eAAe,cAAc;AAAA,cACjD;AAAA,YACF;AAAA,UACF;AAMA,cAAI,qBAAqB,OAAO,IAAI,eAAe;AACnD,cAAI,oBAAoB,OAAO,IAAI,cAAc;AACjD,cAAI,sBAAsB,OAAO,IAAI,gBAAgB;AACrD,cAAI,yBAAyB,OAAO,IAAI,mBAAmB;AAC3D,cAAI,sBAAsB,OAAO,IAAI,gBAAgB;AACrD,cAAI,sBAAsB,OAAO,IAAI,gBAAgB;AACrD,cAAI,qBAAqB,OAAO,IAAI,eAAe;AACnD,cAAI,yBAAyB,OAAO,IAAI,mBAAmB;AAC3D,cAAI,sBAAsB,OAAO,IAAI,gBAAgB;AACrD,cAAI,2BAA2B,OAAO,IAAI,qBAAqB;AAC/D,cAAI,kBAAkB,OAAO,IAAI,YAAY;AAC7C,cAAI,kBAAkB,OAAO,IAAI,YAAY;AAC7C,cAAI,mBAAmB,OAAO,IAAI,aAAa;AAC/C,cAAI,gCAAgC,OAAO,IAAI,wBAAwB;AACvE,cAAI,uBAAuB,OAAO,IAAI,iBAAiB;AACvD,cAAI,2BAA2B,OAAO,IAAI,qBAAqB;AAC/D,cAAI,mBAAmB,OAAO,IAAI,aAAa;AAC/C,cAAI,4BAA4B,OAAO,IAAI,sBAAsB;AACjE,cAAI,wBAAwB,OAAO;AACnC,cAAI,uBAAuB;AAC3B,mBAAS,cAAc,eAAe;AACpC,gBAAI,kBAAkB,QAAQ,OAAO,kBAAkB,UAAU;AAC/D,qBAAO;AAAA,YACT;AAEA,gBAAI,gBAAgB,yBAAyB,cAAc,qBAAqB,KAAK,cAAc,oBAAoB;AAEvH,gBAAI,OAAO,kBAAkB,YAAY;AACvC,qBAAO;AAAA,YACT;AAEA,mBAAO;AAAA,UACT;AAEA,cAAIC,UAAS,OAAO;AAMpB,cAAI,gBAAgB;AACpB,cAAI;AACJ,cAAI;AACJ,cAAI;AACJ,cAAI;AACJ,cAAI;AACJ,cAAI;AACJ,cAAI;AAEJ,mBAAS,cAAc;AAAA,UAAC;AAExB,sBAAY,qBAAqB;AACjC,mBAAS,cAAc;AACrB;AACE,kBAAI,kBAAkB,GAAG;AAEvB,0BAAU,QAAQ;AAClB,2BAAW,QAAQ;AACnB,2BAAW,QAAQ;AACnB,4BAAY,QAAQ;AACpB,4BAAY,QAAQ;AACpB,qCAAqB,QAAQ;AAC7B,+BAAe,QAAQ;AAEvB,oBAAI,QAAQ;AAAA,kBACV,cAAc;AAAA,kBACd,YAAY;AAAA,kBACZ,OAAO;AAAA,kBACP,UAAU;AAAA,gBACZ;AAEA,uBAAO,iBAAiB,SAAS;AAAA,kBAC/B,MAAM;AAAA,kBACN,KAAK;AAAA,kBACL,MAAM;AAAA,kBACN,OAAO;AAAA,kBACP,OAAO;AAAA,kBACP,gBAAgB;AAAA,kBAChB,UAAU;AAAA,gBACZ,CAAC;AAAA,cAEH;AAEA;AAAA,YACF;AAAA,UACF;AACA,mBAAS,eAAe;AACtB;AACE;AAEA,kBAAI,kBAAkB,GAAG;AAEvB,oBAAI,QAAQ;AAAA,kBACV,cAAc;AAAA,kBACd,YAAY;AAAA,kBACZ,UAAU;AAAA,gBACZ;AAEA,uBAAO,iBAAiB,SAAS;AAAA,kBAC/B,KAAKA,QAAO,CAAC,GAAG,OAAO;AAAA,oBACrB,OAAO;AAAA,kBACT,CAAC;AAAA,kBACD,MAAMA,QAAO,CAAC,GAAG,OAAO;AAAA,oBACtB,OAAO;AAAA,kBACT,CAAC;AAAA,kBACD,MAAMA,QAAO,CAAC,GAAG,OAAO;AAAA,oBACtB,OAAO;AAAA,kBACT,CAAC;AAAA,kBACD,OAAOA,QAAO,CAAC,GAAG,OAAO;AAAA,oBACvB,OAAO;AAAA,kBACT,CAAC;AAAA,kBACD,OAAOA,QAAO,CAAC,GAAG,OAAO;AAAA,oBACvB,OAAO;AAAA,kBACT,CAAC;AAAA,kBACD,gBAAgBA,QAAO,CAAC,GAAG,OAAO;AAAA,oBAChC,OAAO;AAAA,kBACT,CAAC;AAAA,kBACD,UAAUA,QAAO,CAAC,GAAG,OAAO;AAAA,oBAC1B,OAAO;AAAA,kBACT,CAAC;AAAA,gBACH,CAAC;AAAA,cAEH;AAEA,kBAAI,gBAAgB,GAAG;AACrB,sBAAM,8EAAmF;AAAA,cAC3F;AAAA,YACF;AAAA,UACF;AAEA,cAAI,yBAAyB,qBAAqB;AAClD,cAAI;AACJ,mBAAS,8BAA8B,MAAM,QAAQ,SAAS;AAC5D;AACE,kBAAI,WAAW,QAAW;AAExB,oBAAI;AACF,wBAAM,MAAM;AAAA,gBACd,SAAS,GAAG;AACV,sBAAI,QAAQ,EAAE,MAAM,KAAK,EAAE,MAAM,cAAc;AAC/C,2BAAS,SAAS,MAAM,CAAC,KAAK;AAAA,gBAChC;AAAA,cACF;AAGA,qBAAO,OAAO,SAAS;AAAA,YACzB;AAAA,UACF;AACA,cAAI,UAAU;AACd,cAAI;AAEJ;AACE,gBAAI,kBAAkB,OAAO,YAAY,aAAa,UAAU;AAChE,kCAAsB,IAAI,gBAAgB;AAAA,UAC5C;AAEA,mBAAS,6BAA6B,IAAI,WAAW;AAEnD,gBAAK,CAAC,MAAM,SAAS;AACnB,qBAAO;AAAA,YACT;AAEA;AACE,kBAAI,QAAQ,oBAAoB,IAAI,EAAE;AAEtC,kBAAI,UAAU,QAAW;AACvB,uBAAO;AAAA,cACT;AAAA,YACF;AAEA,gBAAI;AACJ,sBAAU;AACV,gBAAI,4BAA4B,MAAM;AAEtC,kBAAM,oBAAoB;AAC1B,gBAAI;AAEJ;AACE,mCAAqB,uBAAuB;AAG5C,qCAAuB,UAAU;AACjC,0BAAY;AAAA,YACd;AAEA,gBAAI;AAEF,kBAAI,WAAW;AAEb,oBAAI,OAAO,WAAY;AACrB,wBAAM,MAAM;AAAA,gBACd;AAGA,uBAAO,eAAe,KAAK,WAAW,SAAS;AAAA,kBAC7C,KAAK,WAAY;AAGf,0BAAM,MAAM;AAAA,kBACd;AAAA,gBACF,CAAC;AAED,oBAAI,OAAO,YAAY,YAAY,QAAQ,WAAW;AAGpD,sBAAI;AACF,4BAAQ,UAAU,MAAM,CAAC,CAAC;AAAA,kBAC5B,SAAS,GAAG;AACV,8BAAU;AAAA,kBACZ;AAEA,0BAAQ,UAAU,IAAI,CAAC,GAAG,IAAI;AAAA,gBAChC,OAAO;AACL,sBAAI;AACF,yBAAK,KAAK;AAAA,kBACZ,SAAS,GAAG;AACV,8BAAU;AAAA,kBACZ;AAEA,qBAAG,KAAK,KAAK,SAAS;AAAA,gBACxB;AAAA,cACF,OAAO;AACL,oBAAI;AACF,wBAAM,MAAM;AAAA,gBACd,SAAS,GAAG;AACV,4BAAU;AAAA,gBACZ;AAEA,mBAAG;AAAA,cACL;AAAA,YACF,SAAS,QAAQ;AAEf,kBAAI,UAAU,WAAW,OAAO,OAAO,UAAU,UAAU;AAGzD,oBAAI,cAAc,OAAO,MAAM,MAAM,IAAI;AACzC,oBAAI,eAAe,QAAQ,MAAM,MAAM,IAAI;AAC3C,oBAAI,IAAI,YAAY,SAAS;AAC7B,oBAAI,IAAI,aAAa,SAAS;AAE9B,uBAAO,KAAK,KAAK,KAAK,KAAK,YAAY,CAAC,MAAM,aAAa,CAAC,GAAG;AAO7D;AAAA,gBACF;AAEA,uBAAO,KAAK,KAAK,KAAK,GAAG,KAAK,KAAK;AAGjC,sBAAI,YAAY,CAAC,MAAM,aAAa,CAAC,GAAG;AAMtC,wBAAI,MAAM,KAAK,MAAM,GAAG;AACtB,yBAAG;AACD;AACA;AAGA,4BAAI,IAAI,KAAK,YAAY,CAAC,MAAM,aAAa,CAAC,GAAG;AAE/C,8BAAI,SAAS,OAAO,YAAY,CAAC,EAAE,QAAQ,YAAY,MAAM;AAK7D,8BAAI,GAAG,eAAe,OAAO,SAAS,aAAa,GAAG;AACpD,qCAAS,OAAO,QAAQ,eAAe,GAAG,WAAW;AAAA,0BACvD;AAEA;AACE,gCAAI,OAAO,OAAO,YAAY;AAC5B,kDAAoB,IAAI,IAAI,MAAM;AAAA,4BACpC;AAAA,0BACF;AAGA,iCAAO;AAAA,wBACT;AAAA,sBACF,SAAS,KAAK,KAAK,KAAK;AAAA,oBAC1B;AAEA;AAAA,kBACF;AAAA,gBACF;AAAA,cACF;AAAA,YACF,UAAE;AACA,wBAAU;AAEV;AACE,uCAAuB,UAAU;AACjC,6BAAa;AAAA,cACf;AAEA,oBAAM,oBAAoB;AAAA,YAC5B;AAGA,gBAAI,OAAO,KAAK,GAAG,eAAe,GAAG,OAAO;AAC5C,gBAAI,iBAAiB,OAAO,8BAA8B,IAAI,IAAI;AAElE;AACE,kBAAI,OAAO,OAAO,YAAY;AAC5B,oCAAoB,IAAI,IAAI,cAAc;AAAA,cAC5C;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,4BAA4B,MAAM,QAAQ,SAAS;AAC1D;AACE,qBAAO,6BAA6B,MAAM,IAAI;AAAA,YAChD;AAAA,UACF;AACA,mBAAS,+BAA+B,IAAI,QAAQ,SAAS;AAC3D;AACE,qBAAO,6BAA6B,IAAI,KAAK;AAAA,YAC/C;AAAA,UACF;AAEA,mBAAS,gBAAgB,WAAW;AAClC,gBAAI,YAAY,UAAU;AAC1B,mBAAO,CAAC,EAAE,aAAa,UAAU;AAAA,UACnC;AAEA,mBAAS,qCAAqC,MAAM,QAAQ,SAAS;AAEnE,gBAAI,QAAQ,MAAM;AAChB,qBAAO;AAAA,YACT;AAEA,gBAAI,OAAO,SAAS,YAAY;AAC9B;AACE,uBAAO,6BAA6B,MAAM,gBAAgB,IAAI,CAAC;AAAA,cACjE;AAAA,YACF;AAEA,gBAAI,OAAO,SAAS,UAAU;AAC5B,qBAAO,8BAA8B,IAAI;AAAA,YAC3C;AAEA,oBAAQ,MAAM;AAAA,cACZ,KAAK;AACH,uBAAO,8BAA8B,UAAU;AAAA,cAEjD,KAAK;AACH,uBAAO,8BAA8B,cAAc;AAAA,YACvD;AAEA,gBAAI,OAAO,SAAS,UAAU;AAC5B,sBAAQ,KAAK,UAAU;AAAA,gBACrB,KAAK;AACH,yBAAO,+BAA+B,KAAK,MAAM;AAAA,gBAEnD,KAAK;AAEH,yBAAO,qCAAqC,KAAK,MAAM,QAAQ,OAAO;AAAA,gBAExE,KAAK,iBACH;AACE,sBAAI,gBAAgB;AACpB,sBAAI,UAAU,cAAc;AAC5B,sBAAI,OAAO,cAAc;AAEzB,sBAAI;AAEF,2BAAO,qCAAqC,KAAK,OAAO,GAAG,QAAQ,OAAO;AAAA,kBAC5E,SAAS,GAAG;AAAA,kBAAC;AAAA,gBACf;AAAA,cACJ;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,cAAc,OAAO;AAC5B,gBAAI,QAAS,MAAM,cAAc,MAAM,YAAY,OAAO;AAC1D,gBAAI,SAAU,MAAM;AAEpB,oBAAQ,MAAM,KAAK;AAAA,cACjB,KAAK;AACH,uBAAO,8BAA8B,MAAM,IAAI;AAAA,cAEjD,KAAK;AACH,uBAAO,8BAA8B,MAAM;AAAA,cAE7C,KAAK;AACH,uBAAO,8BAA8B,UAAU;AAAA,cAEjD,KAAK;AACH,uBAAO,8BAA8B,cAAc;AAAA,cAErD,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AACH,uBAAO,+BAA+B,MAAM,IAAI;AAAA,cAElD,KAAK;AACH,uBAAO,+BAA+B,MAAM,KAAK,MAAM;AAAA,cAEzD,KAAK;AACH,uBAAO,4BAA4B,MAAM,IAAI;AAAA,cAE/C;AACE,uBAAO;AAAA,YACX;AAAA,UACF;AAEA,mBAAS,4BAA4BC,iBAAgB;AACnD,gBAAI;AACF,kBAAI,OAAO;AACX,kBAAI,OAAOA;AAEX,iBAAG;AACD,wBAAQ,cAAc,IAAI;AAC1B,uBAAO,KAAK;AAAA,cACd,SAAS;AAET,qBAAO;AAAA,YACT,SAAS,GAAG;AACV,qBAAO,+BAA+B,EAAE,UAAU,OAAO,EAAE;AAAA,YAC7D;AAAA,UACF;AAEA,mBAAS,eAAe,WAAW,WAAW,aAAa;AACzD,gBAAI,cAAc,UAAU;AAE5B,gBAAI,aAAa;AACf,qBAAO;AAAA,YACT;AAEA,gBAAI,eAAe,UAAU,eAAe,UAAU,QAAQ;AAC9D,mBAAO,iBAAiB,KAAK,cAAc,MAAM,eAAe,MAAM;AAAA,UACxE;AAGA,mBAAS,eAAe,MAAM;AAC5B,mBAAO,KAAK,eAAe;AAAA,UAC7B;AAGA,mBAAS,yBAAyB,MAAM;AACtC,gBAAI,QAAQ,MAAM;AAEhB,qBAAO;AAAA,YACT;AAEA;AACE,kBAAI,OAAO,KAAK,QAAQ,UAAU;AAChC,sBAAM,mHAAwH;AAAA,cAChI;AAAA,YACF;AAEA,gBAAI,OAAO,SAAS,YAAY;AAC9B,qBAAO,KAAK,eAAe,KAAK,QAAQ;AAAA,YAC1C;AAEA,gBAAI,OAAO,SAAS,UAAU;AAC5B,qBAAO;AAAA,YACT;AAEA,oBAAQ,MAAM;AAAA,cACZ,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO;AAAA,YAEX;AAEA,gBAAI,OAAO,SAAS,UAAU;AAC5B,sBAAQ,KAAK,UAAU;AAAA,gBACrB,KAAK;AACH,sBAAI,UAAU;AACd,yBAAO,eAAe,OAAO,IAAI;AAAA,gBAEnC,KAAK;AACH,sBAAI,WAAW;AACf,yBAAO,eAAe,SAAS,QAAQ,IAAI;AAAA,gBAE7C,KAAK;AACH,yBAAO,eAAe,MAAM,KAAK,QAAQ,YAAY;AAAA,gBAEvD,KAAK;AACH,sBAAI,YAAY,KAAK,eAAe;AAEpC,sBAAI,cAAc,MAAM;AACtB,2BAAO;AAAA,kBACT;AAEA,yBAAO,yBAAyB,KAAK,IAAI,KAAK;AAAA,gBAEhD,KAAK,iBACH;AACE,sBAAI,gBAAgB;AACpB,sBAAI,UAAU,cAAc;AAC5B,sBAAI,OAAO,cAAc;AAEzB,sBAAI;AACF,2BAAO,yBAAyB,KAAK,OAAO,CAAC;AAAA,kBAC/C,SAAS,GAAG;AACV,2BAAO;AAAA,kBACT;AAAA,gBACF;AAAA,cAGJ;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,iBAAiB,WAAW,WAAW,aAAa;AAC3D,gBAAI,eAAe,UAAU,eAAe,UAAU,QAAQ;AAC9D,mBAAO,UAAU,gBAAgB,iBAAiB,KAAK,cAAc,MAAM,eAAe,MAAM;AAAA,UAClG;AAGA,mBAAS,iBAAiB,MAAM;AAC9B,mBAAO,KAAK,eAAe;AAAA,UAC7B;AAEA,mBAAS,0BAA0B,OAAO;AACxC,gBAAI,MAAM,MAAM,KACZ,OAAO,MAAM;AAEjB,oBAAQ,KAAK;AAAA,cACX,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AACH,oBAAI,UAAU;AACd,uBAAO,iBAAiB,OAAO,IAAI;AAAA,cAErC,KAAK;AACH,oBAAI,WAAW;AACf,uBAAO,iBAAiB,SAAS,QAAQ,IAAI;AAAA,cAE/C,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO,iBAAiB,MAAM,KAAK,QAAQ,YAAY;AAAA,cAEzD,KAAKL;AACH,uBAAO;AAAA,cAET,KAAK;AAEH,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AAEH,uBAAO,yBAAyB,IAAI;AAAA,cAEtC,KAAK;AACH,oBAAI,SAAS,wBAAwB;AAEnC,yBAAO;AAAA,gBACT;AAEA,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO;AAAA,cAGT,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AACH,oBAAI,OAAO,SAAS,YAAY;AAC9B,yBAAO,KAAK,eAAe,KAAK,QAAQ;AAAA,gBAC1C;AAEA,oBAAI,OAAO,SAAS,UAAU;AAC5B,yBAAO;AAAA,gBACT;AAEA;AAAA,YAEJ;AAEA,mBAAO;AAAA,UACT;AAEA,cAAI,yBAAyB,qBAAqB;AAClD,cAAI,UAAU;AACd,cAAI,cAAc;AAClB,mBAAS,sCAAsC;AAC7C;AACE,kBAAI,YAAY,MAAM;AACpB,uBAAO;AAAA,cACT;AAEA,kBAAI,QAAQ,QAAQ;AAEpB,kBAAI,UAAU,QAAQ,OAAO,UAAU,aAAa;AAClD,uBAAO,0BAA0B,KAAK;AAAA,cACxC;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,4BAA4B;AACnC;AACE,kBAAI,YAAY,MAAM;AACpB,uBAAO;AAAA,cACT;AAIA,qBAAO,4BAA4B,OAAO;AAAA,YAC5C;AAAA,UACF;AAEA,mBAAS,oBAAoB;AAC3B;AACE,qCAAuB,kBAAkB;AACzC,wBAAU;AACV,4BAAc;AAAA,YAChB;AAAA,UACF;AACA,mBAAS,gBAAgB,OAAO;AAC9B;AACE,qCAAuB,kBAAkB,UAAU,OAAO,OAAO;AACjE,wBAAU;AACV,4BAAc;AAAA,YAChB;AAAA,UACF;AACA,mBAAS,kBAAkB;AACzB;AACE,qBAAO;AAAA,YACT;AAAA,UACF;AACA,mBAAS,eAAe,WAAW;AACjC;AACE,4BAAc;AAAA,YAChB;AAAA,UACF;AAKA,mBAAS,SAAS,OAAO;AAGvB,mBAAO,KAAK;AAAA,UACd;AACA,mBAAS,iBAAiB,OAAO;AAC/B,oBAAQ,OAAO,OAAO;AAAA,cACpB,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AACH;AACE,oDAAkC,KAAK;AAAA,gBACzC;AAEA,uBAAO;AAAA,cAET;AAEE,uBAAO;AAAA,YACX;AAAA,UACF;AAEA,cAAI,mBAAmB;AAAA,YACrB,QAAQ;AAAA,YACR,UAAU;AAAA,YACV,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,OAAO;AAAA,YACP,OAAO;AAAA,YACP,QAAQ;AAAA,UACV;AACA,mBAAS,0BAA0B,SAAS,OAAO;AACjD;AACE,kBAAI,EAAE,iBAAiB,MAAM,IAAI,KAAK,MAAM,YAAY,MAAM,WAAW,MAAM,YAAY,MAAM,YAAY,MAAM,SAAS,OAAO;AACjI,sBAAM,mNAAkO;AAAA,cAC1O;AAEA,kBAAI,EAAE,MAAM,YAAY,MAAM,YAAY,MAAM,YAAY,MAAM,WAAW,OAAO;AAClF,sBAAM,uNAAsO;AAAA,cAC9O;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,YAAY,MAAM;AACzB,gBAAI,OAAO,KAAK;AAChB,gBAAI,WAAW,KAAK;AACpB,mBAAO,YAAY,SAAS,YAAY,MAAM,YAAY,SAAS,cAAc,SAAS;AAAA,UAC5F;AAEA,mBAAS,WAAW,MAAM;AACxB,mBAAO,KAAK;AAAA,UACd;AAEA,mBAAS,cAAc,MAAM;AAC3B,iBAAK,gBAAgB;AAAA,UACvB;AAEA,mBAAS,iBAAiB,MAAM;AAC9B,gBAAI,QAAQ;AAEZ,gBAAI,CAAC,MAAM;AACT,qBAAO;AAAA,YACT;AAEA,gBAAI,YAAY,IAAI,GAAG;AACrB,sBAAQ,KAAK,UAAU,SAAS;AAAA,YAClC,OAAO;AACL,sBAAQ,KAAK;AAAA,YACf;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,iBAAiB,MAAM;AAC9B,gBAAI,aAAa,YAAY,IAAI,IAAI,YAAY;AACjD,gBAAI,aAAa,OAAO,yBAAyB,KAAK,YAAY,WAAW,UAAU;AAEvF;AACE,gDAAkC,KAAK,UAAU,CAAC;AAAA,YACpD;AAEA,gBAAI,eAAe,KAAK,KAAK,UAAU;AAKvC,gBAAI,KAAK,eAAe,UAAU,KAAK,OAAO,eAAe,eAAe,OAAO,WAAW,QAAQ,cAAc,OAAO,WAAW,QAAQ,YAAY;AACxJ;AAAA,YACF;AAEA,gBAAIM,OAAM,WAAW,KACjBC,OAAM,WAAW;AACrB,mBAAO,eAAe,MAAM,YAAY;AAAA,cACtC,cAAc;AAAA,cACd,KAAK,WAAY;AACf,uBAAOD,KAAI,KAAK,IAAI;AAAA,cACtB;AAAA,cACA,KAAK,SAAU,OAAO;AACpB;AACE,oDAAkC,KAAK;AAAA,gBACzC;AAEA,+BAAe,KAAK;AACpB,gBAAAC,KAAI,KAAK,MAAM,KAAK;AAAA,cACtB;AAAA,YACF,CAAC;AAKD,mBAAO,eAAe,MAAM,YAAY;AAAA,cACtC,YAAY,WAAW;AAAA,YACzB,CAAC;AACD,gBAAI,UAAU;AAAA,cACZ,UAAU,WAAY;AACpB,uBAAO;AAAA,cACT;AAAA,cACA,UAAU,SAAU,OAAO;AACzB;AACE,oDAAkC,KAAK;AAAA,gBACzC;AAEA,+BAAe,KAAK;AAAA,cACtB;AAAA,cACA,cAAc,WAAY;AACxB,8BAAc,IAAI;AAClB,uBAAO,KAAK,UAAU;AAAA,cACxB;AAAA,YACF;AACA,mBAAO;AAAA,UACT;AAEA,mBAAS,MAAM,MAAM;AACnB,gBAAI,WAAW,IAAI,GAAG;AACpB;AAAA,YACF;AAGA,iBAAK,gBAAgB,iBAAiB,IAAI;AAAA,UAC5C;AACA,mBAAS,qBAAqB,MAAM;AAClC,gBAAI,CAAC,MAAM;AACT,qBAAO;AAAA,YACT;AAEA,gBAAI,UAAU,WAAW,IAAI;AAG7B,gBAAI,CAAC,SAAS;AACZ,qBAAO;AAAA,YACT;AAEA,gBAAI,YAAY,QAAQ,SAAS;AACjC,gBAAI,YAAY,iBAAiB,IAAI;AAErC,gBAAI,cAAc,WAAW;AAC3B,sBAAQ,SAAS,SAAS;AAC1B,qBAAO;AAAA,YACT;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,iBAAiB,KAAK;AAC7B,kBAAM,QAAQ,OAAO,aAAa,cAAc,WAAW;AAE3D,gBAAI,OAAO,QAAQ,aAAa;AAC9B,qBAAO;AAAA,YACT;AAEA,gBAAI;AACF,qBAAO,IAAI,iBAAiB,IAAI;AAAA,YAClC,SAAS,GAAG;AACV,qBAAO,IAAI;AAAA,YACb;AAAA,UACF;AAEA,cAAI,2BAA2B;AAC/B,cAAI,+BAA+B;AACnC,cAAI,kCAAkC;AACtC,cAAI,kCAAkC;AAEtC,mBAASC,cAAa,OAAO;AAC3B,gBAAI,cAAc,MAAM,SAAS,cAAc,MAAM,SAAS;AAC9D,mBAAO,cAAc,MAAM,WAAW,OAAO,MAAM,SAAS;AAAA,UAC9D;AAmBA,mBAAS,aAAa,SAAS,OAAO;AACpC,gBAAI,OAAO;AACX,gBAAI,UAAU,MAAM;AACpB,gBAAI,YAAYJ,QAAO,CAAC,GAAG,OAAO;AAAA,cAChC,gBAAgB;AAAA,cAChB,cAAc;AAAA,cACd,OAAO;AAAA,cACP,SAAS,WAAW,OAAO,UAAU,KAAK,cAAc;AAAA,YAC1D,CAAC;AACD,mBAAO;AAAA,UACT;AACA,mBAAS,iBAAiB,SAAS,OAAO;AACxC;AACE,wCAA0B,SAAS,KAAK;AAExC,kBAAI,MAAM,YAAY,UAAa,MAAM,mBAAmB,UAAa,CAAC,8BAA8B;AACtG,sBAAM,8WAAuY,oCAAoC,KAAK,eAAe,MAAM,IAAI;AAE/c,+CAA+B;AAAA,cACjC;AAEA,kBAAI,MAAM,UAAU,UAAa,MAAM,iBAAiB,UAAa,CAAC,0BAA0B;AAC9F,sBAAM,sWAA+X,oCAAoC,KAAK,eAAe,MAAM,IAAI;AAEvc,2CAA2B;AAAA,cAC7B;AAAA,YACF;AAEA,gBAAI,OAAO;AACX,gBAAI,eAAe,MAAM,gBAAgB,OAAO,KAAK,MAAM;AAC3D,iBAAK,gBAAgB;AAAA,cACnB,gBAAgB,MAAM,WAAW,OAAO,MAAM,UAAU,MAAM;AAAA,cAC9D,cAAc,iBAAiB,MAAM,SAAS,OAAO,MAAM,QAAQ,YAAY;AAAA,cAC/E,YAAYI,cAAa,KAAK;AAAA,YAChC;AAAA,UACF;AACA,mBAAS,cAAc,SAAS,OAAO;AACrC,gBAAI,OAAO;AACX,gBAAI,UAAU,MAAM;AAEpB,gBAAI,WAAW,MAAM;AACnB,kCAAoB,MAAM,WAAW,SAAS,KAAK;AAAA,YACrD;AAAA,UACF;AACA,mBAAS,cAAc,SAAS,OAAO;AACrC,gBAAI,OAAO;AAEX;AACE,kBAAI,aAAaA,cAAa,KAAK;AAEnC,kBAAI,CAAC,KAAK,cAAc,cAAc,cAAc,CAAC,iCAAiC;AACpF,sBAAM,sUAA0V;AAEhW,kDAAkC;AAAA,cACpC;AAEA,kBAAI,KAAK,cAAc,cAAc,CAAC,cAAc,CAAC,iCAAiC;AACpF,sBAAM,+TAAmV;AAEzV,kDAAkC;AAAA,cACpC;AAAA,YACF;AAEA,0BAAc,SAAS,KAAK;AAC5B,gBAAI,QAAQ,iBAAiB,MAAM,KAAK;AACxC,gBAAI,OAAO,MAAM;AAEjB,gBAAI,SAAS,MAAM;AACjB,kBAAI,SAAS,UAAU;AACrB,oBAAI,UAAU,KAAK,KAAK,UAAU;AAAA;AAAA,gBAElC,KAAK,SAAS,OAAO;AACnB,uBAAK,QAAQ,SAAS,KAAK;AAAA,gBAC7B;AAAA,cACF,WAAW,KAAK,UAAU,SAAS,KAAK,GAAG;AACzC,qBAAK,QAAQ,SAAS,KAAK;AAAA,cAC7B;AAAA,YACF,WAAW,SAAS,YAAY,SAAS,SAAS;AAGhD,mBAAK,gBAAgB,OAAO;AAC5B;AAAA,YACF;AAEA;AAME,kBAAI,MAAM,eAAe,OAAO,GAAG;AACjC,gCAAgB,MAAM,MAAM,MAAM,KAAK;AAAA,cACzC,WAAW,MAAM,eAAe,cAAc,GAAG;AAC/C,gCAAgB,MAAM,MAAM,MAAM,iBAAiB,MAAM,YAAY,CAAC;AAAA,cACxE;AAAA,YACF;AAEA;AAGE,kBAAI,MAAM,WAAW,QAAQ,MAAM,kBAAkB,MAAM;AACzD,qBAAK,iBAAiB,CAAC,CAAC,MAAM;AAAA,cAChC;AAAA,YACF;AAAA,UACF;AACA,mBAAS,iBAAiB,SAAS,OAAOC,cAAa;AACrD,gBAAI,OAAO;AAGX,gBAAI,MAAM,eAAe,OAAO,KAAK,MAAM,eAAe,cAAc,GAAG;AACzE,kBAAI,OAAO,MAAM;AACjB,kBAAI,WAAW,SAAS,YAAY,SAAS;AAG7C,kBAAI,aAAa,MAAM,UAAU,UAAa,MAAM,UAAU,OAAO;AACnE;AAAA,cACF;AAEA,kBAAI,eAAe,SAAS,KAAK,cAAc,YAAY;AAG3D,kBAAI,CAACA,cAAa;AAChB;AAOE,sBAAI,iBAAiB,KAAK,OAAO;AAC/B,yBAAK,QAAQ;AAAA,kBACf;AAAA,gBACF;AAAA,cACF;AAEA;AAIE,qBAAK,eAAe;AAAA,cACtB;AAAA,YACF;AAOA,gBAAI,OAAO,KAAK;AAEhB,gBAAI,SAAS,IAAI;AACf,mBAAK,OAAO;AAAA,YACd;AAEA;AAOE,mBAAK,iBAAiB,CAAC,KAAK;AAC5B,mBAAK,iBAAiB,CAAC,CAAC,KAAK,cAAc;AAAA,YAC7C;AAEA,gBAAI,SAAS,IAAI;AACf,mBAAK,OAAO;AAAA,YACd;AAAA,UACF;AACA,mBAAS,uBAAuB,SAAS,OAAO;AAC9C,gBAAI,OAAO;AACX,0BAAc,MAAM,KAAK;AACzB,+BAAmB,MAAM,KAAK;AAAA,UAChC;AAEA,mBAAS,mBAAmB,UAAU,OAAO;AAC3C,gBAAI,OAAO,MAAM;AAEjB,gBAAI,MAAM,SAAS,WAAW,QAAQ,MAAM;AAC1C,kBAAI,YAAY;AAEhB,qBAAO,UAAU,YAAY;AAC3B,4BAAY,UAAU;AAAA,cACxB;AASA;AACE,6CAA6B,MAAM,MAAM;AAAA,cAC3C;AAEA,kBAAI,QAAQ,UAAU,iBAAiB,gBAAgB,KAAK,UAAU,KAAK,IAAI,IAAI,iBAAiB;AAEpG,uBAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACrC,oBAAI,YAAY,MAAM,CAAC;AAEvB,oBAAI,cAAc,YAAY,UAAU,SAAS,SAAS,MAAM;AAC9D;AAAA,gBACF;AAMA,oBAAI,aAAa,6BAA6B,SAAS;AAEvD,oBAAI,CAAC,YAAY;AACf,wBAAM,IAAI,MAAM,+FAAoG;AAAA,gBACtH;AAIA,qCAAqB,SAAS;AAI9B,8BAAc,WAAW,UAAU;AAAA,cACrC;AAAA,YACF;AAAA,UACF;AAUA,mBAAS,gBAAgB,MAAM,MAAM,OAAO;AAC1C;AAAA;AAAA,cACA,SAAS,YAAY,iBAAiB,KAAK,aAAa,MAAM;AAAA,cAAM;AAClE,kBAAI,SAAS,MAAM;AACjB,qBAAK,eAAe,SAAS,KAAK,cAAc,YAAY;AAAA,cAC9D,WAAW,KAAK,iBAAiB,SAAS,KAAK,GAAG;AAChD,qBAAK,eAAe,SAAS,KAAK;AAAA,cACpC;AAAA,YACF;AAAA,UACF;AAEA,cAAI,6BAA6B;AACjC,cAAI,sBAAsB;AAC1B,cAAI,0BAA0B;AAK9B,mBAAS,cAAc,SAAS,OAAO;AACrC;AAEE,kBAAI,MAAM,SAAS,MAAM;AACvB,oBAAI,OAAO,MAAM,aAAa,YAAY,MAAM,aAAa,MAAM;AACjE,kBAAAb,QAAM,SAAS,QAAQ,MAAM,UAAU,SAAU,OAAO;AACtD,wBAAI,SAAS,MAAM;AACjB;AAAA,oBACF;AAEA,wBAAI,OAAO,UAAU,YAAY,OAAO,UAAU,UAAU;AAC1D;AAAA,oBACF;AAEA,wBAAI,CAAC,qBAAqB;AACxB,4CAAsB;AAEtB,4BAAM,uHAA4H;AAAA,oBACpI;AAAA,kBACF,CAAC;AAAA,gBACH,WAAW,MAAM,2BAA2B,MAAM;AAChD,sBAAI,CAAC,yBAAyB;AAC5B,8CAA0B;AAE1B,0BAAM,oGAAyG;AAAA,kBACjH;AAAA,gBACF;AAAA,cACF;AAGA,kBAAI,MAAM,YAAY,QAAQ,CAAC,4BAA4B;AACzD,sBAAM,gGAAqG;AAE3G,6CAA6B;AAAA,cAC/B;AAAA,YACF;AAAA,UACF;AACA,mBAAS,mBAAmB,SAAS,OAAO;AAE1C,gBAAI,MAAM,SAAS,MAAM;AACvB,sBAAQ,aAAa,SAAS,SAAS,iBAAiB,MAAM,KAAK,CAAC,CAAC;AAAA,YACvE;AAAA,UACF;AAEA,cAAI,cAAc,MAAM;AAExB,mBAAS,QAAQ,GAAG;AAClB,mBAAO,YAAY,CAAC;AAAA,UACtB;AAEA,cAAI;AAEJ;AACE,yCAA6B;AAAA,UAC/B;AAEA,mBAAS,8BAA8B;AACrC,gBAAI,YAAY,oCAAoC;AAEpD,gBAAI,WAAW;AACb,qBAAO,qCAAqC,YAAY;AAAA,YAC1D;AAEA,mBAAO;AAAA,UACT;AAEA,cAAI,iBAAiB,CAAC,SAAS,cAAc;AAK7C,mBAAS,qBAAqB,OAAO;AACnC;AACE,wCAA0B,UAAU,KAAK;AAEzC,uBAAS,IAAI,GAAG,IAAI,eAAe,QAAQ,KAAK;AAC9C,oBAAI,WAAW,eAAe,CAAC;AAE/B,oBAAI,MAAM,QAAQ,KAAK,MAAM;AAC3B;AAAA,gBACF;AAEA,oBAAI,kBAAkB,QAAQ,MAAM,QAAQ,CAAC;AAE7C,oBAAI,MAAM,YAAY,CAAC,iBAAiB;AACtC,wBAAM,gFAAqF,UAAU,4BAA4B,CAAC;AAAA,gBACpI,WAAW,CAAC,MAAM,YAAY,iBAAiB;AAC7C,wBAAM,uFAA4F,UAAU,4BAA4B,CAAC;AAAA,gBAC3I;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,cAAc,MAAM,UAAU,WAAW,oBAAoB;AACpE,gBAAIc,WAAU,KAAK;AAEnB,gBAAI,UAAU;AACZ,kBAAI,iBAAiB;AACrB,kBAAI,gBAAgB,CAAC;AAErB,uBAAS,IAAI,GAAG,IAAI,eAAe,QAAQ,KAAK;AAE9C,8BAAc,MAAM,eAAe,CAAC,CAAC,IAAI;AAAA,cAC3C;AAEA,uBAAS,KAAK,GAAG,KAAKA,SAAQ,QAAQ,MAAM;AAC1C,oBAAI,WAAW,cAAc,eAAe,MAAMA,SAAQ,EAAE,EAAE,KAAK;AAEnE,oBAAIA,SAAQ,EAAE,EAAE,aAAa,UAAU;AACrC,kBAAAA,SAAQ,EAAE,EAAE,WAAW;AAAA,gBACzB;AAEA,oBAAI,YAAY,oBAAoB;AAClC,kBAAAA,SAAQ,EAAE,EAAE,kBAAkB;AAAA,gBAChC;AAAA,cACF;AAAA,YACF,OAAO;AAGL,kBAAI,iBAAiB,SAAS,iBAAiB,SAAS,CAAC;AAEzD,kBAAI,kBAAkB;AAEtB,uBAAS,MAAM,GAAG,MAAMA,SAAQ,QAAQ,OAAO;AAC7C,oBAAIA,SAAQ,GAAG,EAAE,UAAU,gBAAgB;AACzC,kBAAAA,SAAQ,GAAG,EAAE,WAAW;AAExB,sBAAI,oBAAoB;AACtB,oBAAAA,SAAQ,GAAG,EAAE,kBAAkB;AAAA,kBACjC;AAEA;AAAA,gBACF;AAEA,oBAAI,oBAAoB,QAAQ,CAACA,SAAQ,GAAG,EAAE,UAAU;AACtD,oCAAkBA,SAAQ,GAAG;AAAA,gBAC/B;AAAA,cACF;AAEA,kBAAI,oBAAoB,MAAM;AAC5B,gCAAgB,WAAW;AAAA,cAC7B;AAAA,YACF;AAAA,UACF;AAkBA,mBAAS,eAAe,SAAS,OAAO;AACtC,mBAAON,QAAO,CAAC,GAAG,OAAO;AAAA,cACvB,OAAO;AAAA,YACT,CAAC;AAAA,UACH;AACA,mBAAS,mBAAmB,SAAS,OAAO;AAC1C,gBAAI,OAAO;AAEX;AACE,mCAAqB,KAAK;AAAA,YAC5B;AAEA,iBAAK,gBAAgB;AAAA,cACnB,aAAa,CAAC,CAAC,MAAM;AAAA,YACvB;AAEA;AACE,kBAAI,MAAM,UAAU,UAAa,MAAM,iBAAiB,UAAa,CAAC,4BAA4B;AAChG,sBAAM,8RAAkT;AAExT,6CAA6B;AAAA,cAC/B;AAAA,YACF;AAAA,UACF;AACA,mBAAS,mBAAmB,SAAS,OAAO;AAC1C,gBAAI,OAAO;AACX,iBAAK,WAAW,CAAC,CAAC,MAAM;AACxB,gBAAI,QAAQ,MAAM;AAElB,gBAAI,SAAS,MAAM;AACjB,4BAAc,MAAM,CAAC,CAAC,MAAM,UAAU,OAAO,KAAK;AAAA,YACpD,WAAW,MAAM,gBAAgB,MAAM;AACrC,4BAAc,MAAM,CAAC,CAAC,MAAM,UAAU,MAAM,cAAc,IAAI;AAAA,YAChE;AAAA,UACF;AACA,mBAAS,kBAAkB,SAAS,OAAO;AACzC,gBAAI,OAAO;AACX,gBAAI,cAAc,KAAK,cAAc;AACrC,iBAAK,cAAc,cAAc,CAAC,CAAC,MAAM;AACzC,gBAAI,QAAQ,MAAM;AAElB,gBAAI,SAAS,MAAM;AACjB,4BAAc,MAAM,CAAC,CAAC,MAAM,UAAU,OAAO,KAAK;AAAA,YACpD,WAAW,gBAAgB,CAAC,CAAC,MAAM,UAAU;AAE3C,kBAAI,MAAM,gBAAgB,MAAM;AAC9B,8BAAc,MAAM,CAAC,CAAC,MAAM,UAAU,MAAM,cAAc,IAAI;AAAA,cAChE,OAAO;AAEL,8BAAc,MAAM,CAAC,CAAC,MAAM,UAAU,MAAM,WAAW,CAAC,IAAI,IAAI,KAAK;AAAA,cACvE;AAAA,YACF;AAAA,UACF;AACA,mBAAS,yBAAyB,SAAS,OAAO;AAChD,gBAAI,OAAO;AACX,gBAAI,QAAQ,MAAM;AAElB,gBAAI,SAAS,MAAM;AACjB,4BAAc,MAAM,CAAC,CAAC,MAAM,UAAU,OAAO,KAAK;AAAA,YACpD;AAAA,UACF;AAEA,cAAI,uBAAuB;AAiB3B,mBAAS,eAAe,SAAS,OAAO;AACtC,gBAAI,OAAO;AAEX,gBAAI,MAAM,2BAA2B,MAAM;AACzC,oBAAM,IAAI,MAAM,8DAA8D;AAAA,YAChF;AAQA,gBAAI,YAAYA,QAAO,CAAC,GAAG,OAAO;AAAA,cAChC,OAAO;AAAA,cACP,cAAc;AAAA,cACd,UAAU,SAAS,KAAK,cAAc,YAAY;AAAA,YACpD,CAAC;AAED,mBAAO;AAAA,UACT;AACA,mBAAS,mBAAmB,SAAS,OAAO;AAC1C,gBAAI,OAAO;AAEX;AACE,wCAA0B,YAAY,KAAK;AAE3C,kBAAI,MAAM,UAAU,UAAa,MAAM,iBAAiB,UAAa,CAAC,sBAAsB;AAC1F,sBAAM,2VAAoX,oCAAoC,KAAK,aAAa;AAEhb,uCAAuB;AAAA,cACzB;AAAA,YACF;AAEA,gBAAI,eAAe,MAAM;AAEzB,gBAAI,gBAAgB,MAAM;AACxB,kBAAI,WAAW,MAAM,UACjB,eAAe,MAAM;AAEzB,kBAAI,YAAY,MAAM;AACpB;AACE,wBAAM,oFAAyF;AAAA,gBACjG;AAEA;AACE,sBAAI,gBAAgB,MAAM;AACxB,0BAAM,IAAI,MAAM,qEAAqE;AAAA,kBACvF;AAEA,sBAAI,QAAQ,QAAQ,GAAG;AACrB,wBAAI,SAAS,SAAS,GAAG;AACvB,4BAAM,IAAI,MAAM,6CAA6C;AAAA,oBAC/D;AAEA,+BAAW,SAAS,CAAC;AAAA,kBACvB;AAEA,iCAAe;AAAA,gBACjB;AAAA,cACF;AAEA,kBAAI,gBAAgB,MAAM;AACxB,+BAAe;AAAA,cACjB;AAEA,6BAAe;AAAA,YACjB;AAEA,iBAAK,gBAAgB;AAAA,cACnB,cAAc,iBAAiB,YAAY;AAAA,YAC7C;AAAA,UACF;AACA,mBAAS,gBAAgB,SAAS,OAAO;AACvC,gBAAI,OAAO;AACX,gBAAI,QAAQ,iBAAiB,MAAM,KAAK;AACxC,gBAAI,eAAe,iBAAiB,MAAM,YAAY;AAEtD,gBAAI,SAAS,MAAM;AAGjB,kBAAI,WAAW,SAAS,KAAK;AAE7B,kBAAI,aAAa,KAAK,OAAO;AAC3B,qBAAK,QAAQ;AAAA,cACf;AAEA,kBAAI,MAAM,gBAAgB,QAAQ,KAAK,iBAAiB,UAAU;AAChE,qBAAK,eAAe;AAAA,cACtB;AAAA,YACF;AAEA,gBAAI,gBAAgB,MAAM;AACxB,mBAAK,eAAe,SAAS,YAAY;AAAA,YAC3C;AAAA,UACF;AACA,mBAAS,mBAAmB,SAAS,OAAO;AAC1C,gBAAI,OAAO;AAGX,gBAAI,cAAc,KAAK;AAKvB,gBAAI,gBAAgB,KAAK,cAAc,cAAc;AACnD,kBAAI,gBAAgB,MAAM,gBAAgB,MAAM;AAC9C,qBAAK,QAAQ;AAAA,cACf;AAAA,YACF;AAAA,UACF;AACA,mBAAS,yBAAyB,SAAS,OAAO;AAEhD,4BAAgB,SAAS,KAAK;AAAA,UAChC;AAEA,cAAI,iBAAiB;AACrB,cAAI,iBAAiB;AACrB,cAAI,gBAAgB;AAEpB,mBAAS,sBAAsB,MAAM;AACnC,oBAAQ,MAAM;AAAA,cACZ,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO;AAAA,cAET;AACE,uBAAO;AAAA,YACX;AAAA,UACF;AACA,mBAAS,kBAAkB,iBAAiB,MAAM;AAChD,gBAAI,mBAAmB,QAAQ,oBAAoB,gBAAgB;AAEjE,qBAAO,sBAAsB,IAAI;AAAA,YACnC;AAEA,gBAAI,oBAAoB,iBAAiB,SAAS,iBAAiB;AAEjE,qBAAO;AAAA,YACT;AAGA,mBAAO;AAAA,UACT;AAOA,cAAI,qCAAqC,SAAU,MAAM;AACvD,gBAAI,OAAO,UAAU,eAAe,MAAM,yBAAyB;AACjE,qBAAO,SAAU,MAAM,MAAM,MAAM,MAAM;AACvC,sBAAM,wBAAwB,WAAY;AACxC,yBAAO,KAAK,MAAM,MAAM,MAAM,IAAI;AAAA,gBACpC,CAAC;AAAA,cACH;AAAA,YACF,OAAO;AACL,qBAAO;AAAA,YACT;AAAA,UACF;AAEA,cAAI;AASJ,cAAI,eAAe,mCAAmC,SAAU,MAAM,MAAM;AAC1E,gBAAI,KAAK,iBAAiB,eAAe;AAEvC,kBAAI,EAAE,eAAe,OAAO;AAI1B,uCAAuB,wBAAwB,SAAS,cAAc,KAAK;AAC3E,qCAAqB,YAAY,UAAU,KAAK,QAAQ,EAAE,SAAS,IAAI;AACvE,oBAAI,UAAU,qBAAqB;AAEnC,uBAAO,KAAK,YAAY;AACtB,uBAAK,YAAY,KAAK,UAAU;AAAA,gBAClC;AAEA,uBAAO,QAAQ,YAAY;AACzB,uBAAK,YAAY,QAAQ,UAAU;AAAA,gBACrC;AAEA;AAAA,cACF;AAAA,YACF;AAEA,iBAAK,YAAY;AAAA,UACnB,CAAC;AAKD,cAAI,eAAe;AACnB,cAAI,YAAY;AAChB,cAAI,eAAe;AACnB,cAAI,gBAAgB;AACpB,cAAI,yBAAyB;AAY7B,cAAI,iBAAiB,SAAU,MAAM,MAAM;AACzC,gBAAI,MAAM;AACR,kBAAI,aAAa,KAAK;AAEtB,kBAAI,cAAc,eAAe,KAAK,aAAa,WAAW,aAAa,WAAW;AACpF,2BAAW,YAAY;AACvB;AAAA,cACF;AAAA,YACF;AAEA,iBAAK,cAAc;AAAA,UACrB;AAIA,cAAI,sBAAsB;AAAA,YACxB,WAAW,CAAC,kBAAkB,sBAAsB,qBAAqB,qBAAqB,2BAA2B,iBAAiB,sBAAsB,yBAAyB;AAAA,YACzL,YAAY,CAAC,wBAAwB,kBAAkB,mBAAmB,mBAAmB,oBAAoB,uBAAuB,uBAAuB,oBAAoB,gBAAgB;AAAA,YACnM,oBAAoB,CAAC,uBAAuB,qBAAqB;AAAA,YACjE,QAAQ,CAAC,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,oBAAoB,qBAAqB,oBAAoB,mBAAmB,mBAAmB,mBAAmB,oBAAoB,oBAAoB,oBAAoB,kBAAkB,kBAAkB,gBAAgB;AAAA,YACxV,gBAAgB,CAAC,uBAAuB,uBAAuB,qBAAqB;AAAA,YACpF,kBAAkB,CAAC,yBAAyB,yBAAyB,uBAAuB;AAAA,YAC5F,cAAc,CAAC,qBAAqB,qBAAqB,mBAAmB;AAAA,YAC5E,aAAa,CAAC,qBAAqB,mBAAmB,oBAAoB,gBAAgB;AAAA,YAC1F,aAAa,CAAC,qBAAqB,qBAAqB,oBAAoB,qBAAqB,kBAAkB;AAAA,YACnH,iBAAiB,CAAC,wBAAwB,wBAAwB,sBAAsB;AAAA,YACxF,mBAAmB,CAAC,0BAA0B,0BAA0B,wBAAwB;AAAA,YAChG,YAAY,CAAC,mBAAmB,mBAAmB,iBAAiB;AAAA,YACpE,cAAc,CAAC,0BAA0B,2BAA2B,uBAAuB,sBAAsB;AAAA,YACjH,aAAa,CAAC,oBAAoB,oBAAoB,kBAAkB;AAAA,YACxE,aAAa,CAAC,qBAAqB,mBAAmB,oBAAoB,gBAAgB;AAAA,YAC1F,WAAW,CAAC,kBAAkB,kBAAkB,gBAAgB;AAAA,YAChE,aAAa,CAAC,qBAAqB,mBAAmB,oBAAoB,gBAAgB;AAAA,YAC1F,YAAY,CAAC,mBAAmB,mBAAmB,iBAAiB;AAAA,YACpE,SAAS,CAAC,eAAe,aAAa;AAAA,YACtC,MAAM,CAAC,aAAa,YAAY,YAAY;AAAA,YAC5C,UAAU,CAAC,iBAAiB,UAAU;AAAA,YACtC,MAAM,CAAC,cAAc,uBAAuB,eAAe,wBAAwB,YAAY,kBAAkB,eAAe,aAAa,eAAe,yBAAyB,mBAAmB,wBAAwB,wBAAwB,sBAAsB,uBAAuB,cAAc,YAAY;AAAA,YAC/T,aAAa,CAAC,yBAAyB,mBAAmB,wBAAwB,wBAAwB,sBAAsB,qBAAqB;AAAA,YACrJ,KAAK,CAAC,aAAa,QAAQ;AAAA,YAC3B,MAAM,CAAC,mBAAmB,gBAAgB,gBAAgB,qBAAqB,uBAAuB,kBAAkB;AAAA,YACxH,UAAU,CAAC,iBAAiB,mBAAmB,cAAc,cAAc;AAAA,YAC3E,YAAY,CAAC,iBAAiB,iBAAiB;AAAA,YAC/C,eAAe,CAAC,WAAW;AAAA,YAC3B,SAAS,CAAC,aAAa,QAAQ;AAAA,YAC/B,SAAS,CAAC,cAAc,cAAc;AAAA,YACtC,YAAY,CAAC,QAAQ;AAAA,YACrB,cAAc,CAAC,qBAAqB,uBAAuB,kBAAkB;AAAA,YAC7E,WAAW,CAAC,kBAAkB,qBAAqB,eAAe;AAAA,YAClE,QAAQ,CAAC,gBAAgB,cAAc,eAAe,WAAW;AAAA,YACjE,QAAQ,CAAC,aAAa,aAAa,aAAa;AAAA,YAChD,MAAM,CAAC,YAAY,iBAAiB,aAAa,YAAY,cAAc,iBAAiB,iBAAiB,cAAc,UAAU;AAAA,YACrI,cAAc,CAAC,iBAAiB,eAAe;AAAA,YAC/C,SAAS,CAAC,gBAAgB,gBAAgB,cAAc;AAAA,YACxD,UAAU,CAAC,aAAa,WAAW;AAAA,YACnC,SAAS,CAAC,iBAAiB,eAAe,gBAAgB,YAAY;AAAA,YACtE,cAAc,CAAC,gBAAgB,gBAAgB;AAAA,YAC/C,YAAY,CAAC,cAAc,cAAc;AAAA,YACzC,WAAW,CAAC,aAAa,aAAa;AAAA,YACtC,gBAAgB,CAAC,uBAAuB,sBAAsB,qBAAqB;AAAA,YACnF,cAAc,CAAC,qBAAqB,mBAAmB;AAAA,YACvD,YAAY,CAAC,mBAAmB,sBAAsB,sBAAsB,0BAA0B;AAAA,YACtG,UAAU,CAAC,cAAc;AAAA,UAC3B;AAKA,cAAI,mBAAmB;AAAA,YACrB,yBAAyB;AAAA,YACzB,aAAa;AAAA,YACb,mBAAmB;AAAA,YACnB,kBAAkB;AAAA,YAClB,kBAAkB;AAAA,YAClB,SAAS;AAAA,YACT,cAAc;AAAA,YACd,iBAAiB;AAAA,YACjB,aAAa;AAAA,YACb,SAAS;AAAA,YACT,MAAM;AAAA,YACN,UAAU;AAAA,YACV,cAAc;AAAA,YACd,YAAY;AAAA,YACZ,cAAc;AAAA,YACd,WAAW;AAAA,YACX,UAAU;AAAA,YACV,SAAS;AAAA,YACT,YAAY;AAAA,YACZ,aAAa;AAAA,YACb,cAAc;AAAA,YACd,YAAY;AAAA,YACZ,eAAe;AAAA,YACf,gBAAgB;AAAA,YAChB,iBAAiB;AAAA,YACjB,YAAY;AAAA,YACZ,WAAW;AAAA,YACX,YAAY;AAAA,YACZ,SAAS;AAAA,YACT,OAAO;AAAA,YACP,SAAS;AAAA,YACT,SAAS;AAAA,YACT,QAAQ;AAAA,YACR,QAAQ;AAAA,YACR,MAAM;AAAA;AAAA,YAEN,aAAa;AAAA,YACb,cAAc;AAAA,YACd,aAAa;AAAA,YACb,iBAAiB;AAAA,YACjB,kBAAkB;AAAA,YAClB,kBAAkB;AAAA,YAClB,eAAe;AAAA,YACf,aAAa;AAAA,UACf;AAQA,mBAAS,UAAUF,SAAQ,KAAK;AAC9B,mBAAOA,UAAS,IAAI,OAAO,CAAC,EAAE,YAAY,IAAI,IAAI,UAAU,CAAC;AAAA,UAC/D;AAOA,cAAI,WAAW,CAAC,UAAU,MAAM,OAAO,GAAG;AAG1C,iBAAO,KAAK,gBAAgB,EAAE,QAAQ,SAAU,MAAM;AACpD,qBAAS,QAAQ,SAAUA,SAAQ;AACjC,+BAAiB,UAAUA,SAAQ,IAAI,CAAC,IAAI,iBAAiB,IAAI;AAAA,YACnE,CAAC;AAAA,UACH,CAAC;AAYD,mBAAS,oBAAoB,MAAM,OAAO,kBAAkB;AAU1D,gBAAI,UAAU,SAAS,QAAQ,OAAO,UAAU,aAAa,UAAU;AAEvE,gBAAI,SAAS;AACX,qBAAO;AAAA,YACT;AAEA,gBAAI,CAAC,oBAAoB,OAAO,UAAU,YAAY,UAAU,KAAK,EAAE,iBAAiB,eAAe,IAAI,KAAK,iBAAiB,IAAI,IAAI;AACvI,qBAAO,QAAQ;AAAA,YACjB;AAEA;AACE,6CAA+B,OAAO,IAAI;AAAA,YAC5C;AAEA,oBAAQ,KAAK,OAAO,KAAK;AAAA,UAC3B;AAEA,cAAI,mBAAmB;AACvB,cAAI,YAAY;AAehB,mBAAS,mBAAmB,MAAM;AAChC,mBAAO,KAAK,QAAQ,kBAAkB,KAAK,EAAE,YAAY,EAAE,QAAQ,WAAW,MAAM;AAAA,UACtF;AAEA,cAAI,iBAAiB,WAAY;AAAA,UAAC;AAElC;AAEE,gBAAI,8BAA8B;AAClC,gBAAI,cAAc;AAClB,gBAAI,gBAAgB;AAEpB,gBAAI,oCAAoC;AACxC,gBAAI,mBAAmB,CAAC;AACxB,gBAAI,oBAAoB,CAAC;AACzB,gBAAI,oBAAoB;AACxB,gBAAI,yBAAyB;AAE7B,gBAAI,WAAW,SAAU,QAAQ;AAC/B,qBAAO,OAAO,QAAQ,eAAe,SAAU,GAAG,WAAW;AAC3D,uBAAO,UAAU,YAAY;AAAA,cAC/B,CAAC;AAAA,YACH;AAEA,gBAAI,0BAA0B,SAAU,MAAM;AAC5C,kBAAI,iBAAiB,eAAe,IAAI,KAAK,iBAAiB,IAAI,GAAG;AACnE;AAAA,cACF;AAEA,+BAAiB,IAAI,IAAI;AAEzB;AAAA,gBAAM;AAAA,gBAAmD;AAAA;AAAA;AAAA;AAAA,gBAGzD,SAAS,KAAK,QAAQ,aAAa,KAAK,CAAC;AAAA,cAAC;AAAA,YAC5C;AAEA,gBAAI,2BAA2B,SAAU,MAAM;AAC7C,kBAAI,iBAAiB,eAAe,IAAI,KAAK,iBAAiB,IAAI,GAAG;AACnE;AAAA,cACF;AAEA,+BAAiB,IAAI,IAAI;AAEzB,oBAAM,mEAAmE,MAAM,KAAK,OAAO,CAAC,EAAE,YAAY,IAAI,KAAK,MAAM,CAAC,CAAC;AAAA,YAC7H;AAEA,gBAAI,8BAA8B,SAAU,MAAM,OAAO;AACvD,kBAAI,kBAAkB,eAAe,KAAK,KAAK,kBAAkB,KAAK,GAAG;AACvE;AAAA,cACF;AAEA,gCAAkB,KAAK,IAAI;AAE3B,oBAAM,8EAAmF,MAAM,MAAM,QAAQ,mCAAmC,EAAE,CAAC;AAAA,YACrJ;AAEA,gBAAI,sBAAsB,SAAU,MAAM,OAAO;AAC/C,kBAAI,mBAAmB;AACrB;AAAA,cACF;AAEA,kCAAoB;AAEpB,oBAAM,8DAA8D,IAAI;AAAA,YAC1E;AAEA,gBAAI,2BAA2B,SAAU,MAAM,OAAO;AACpD,kBAAI,wBAAwB;AAC1B;AAAA,cACF;AAEA,uCAAyB;AAEzB,oBAAM,mEAAmE,IAAI;AAAA,YAC/E;AAEA,6BAAiB,SAAU,MAAM,OAAO;AACtC,kBAAI,KAAK,QAAQ,GAAG,IAAI,IAAI;AAC1B,wCAAwB,IAAI;AAAA,cAC9B,WAAW,4BAA4B,KAAK,IAAI,GAAG;AACjD,yCAAyB,IAAI;AAAA,cAC/B,WAAW,kCAAkC,KAAK,KAAK,GAAG;AACxD,4CAA4B,MAAM,KAAK;AAAA,cACzC;AAEA,kBAAI,OAAO,UAAU,UAAU;AAC7B,oBAAI,MAAM,KAAK,GAAG;AAChB,sCAAoB,MAAM,KAAK;AAAA,gBACjC,WAAW,CAAC,SAAS,KAAK,GAAG;AAC3B,2CAAyB,MAAM,KAAK;AAAA,gBACtC;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,cAAI,mBAAmB;AAavB,mBAAS,+BAA+BS,SAAQ;AAC9C;AACE,kBAAI,aAAa;AACjB,kBAAIC,aAAY;AAEhB,uBAAS,aAAaD,SAAQ;AAC5B,oBAAI,CAACA,QAAO,eAAe,SAAS,GAAG;AACrC;AAAA,gBACF;AAEA,oBAAI,aAAaA,QAAO,SAAS;AAEjC,oBAAI,cAAc,MAAM;AACtB,sBAAI,mBAAmB,UAAU,QAAQ,IAAI,MAAM;AACnD,gCAAcC,cAAa,mBAAmB,YAAY,mBAAmB,SAAS,KAAK;AAC3F,gCAAc,oBAAoB,WAAW,YAAY,gBAAgB;AACzE,kBAAAA,aAAY;AAAA,gBACd;AAAA,cACF;AAEA,qBAAO,cAAc;AAAA,YACvB;AAAA,UACF;AASA,mBAAS,kBAAkB,MAAMD,SAAQ;AACvC,gBAAIE,SAAQ,KAAK;AAEjB,qBAAS,aAAaF,SAAQ;AAC5B,kBAAI,CAACA,QAAO,eAAe,SAAS,GAAG;AACrC;AAAA,cACF;AAEA,kBAAI,mBAAmB,UAAU,QAAQ,IAAI,MAAM;AAEnD;AACE,oBAAI,CAAC,kBAAkB;AACrB,mCAAiB,WAAWA,QAAO,SAAS,CAAC;AAAA,gBAC/C;AAAA,cACF;AAEA,kBAAI,aAAa,oBAAoB,WAAWA,QAAO,SAAS,GAAG,gBAAgB;AAEnF,kBAAI,cAAc,SAAS;AACzB,4BAAY;AAAA,cACd;AAEA,kBAAI,kBAAkB;AACpB,gBAAAE,OAAM,YAAY,WAAW,UAAU;AAAA,cACzC,OAAO;AACL,gBAAAA,OAAM,SAAS,IAAI;AAAA,cACrB;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,aAAa,OAAO;AAC3B,mBAAO,SAAS,QAAQ,OAAO,UAAU,aAAa,UAAU;AAAA,UAClE;AAWA,mBAAS,mBAAmBF,SAAQ;AAClC,gBAAI,WAAW,CAAC;AAEhB,qBAAS,OAAOA,SAAQ;AACtB,kBAAI,YAAY,oBAAoB,GAAG,KAAK,CAAC,GAAG;AAEhD,uBAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AACzC,yBAAS,UAAU,CAAC,CAAC,IAAI;AAAA,cAC3B;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AAiBA,mBAAS,wCAAwC,cAAc,YAAY;AACzE;AACE,kBAAI,CAAC,YAAY;AACf;AAAA,cACF;AAEA,kBAAI,kBAAkB,mBAAmB,YAAY;AACrD,kBAAI,iBAAiB,mBAAmB,UAAU;AAClD,kBAAI,cAAc,CAAC;AAEnB,uBAAS,OAAO,iBAAiB;AAC/B,oBAAI,cAAc,gBAAgB,GAAG;AACrC,oBAAI,qBAAqB,eAAe,GAAG;AAE3C,oBAAI,sBAAsB,gBAAgB,oBAAoB;AAC5D,sBAAI,aAAa,cAAc,MAAM;AAErC,sBAAI,YAAY,UAAU,GAAG;AAC3B;AAAA,kBACF;AAEA,8BAAY,UAAU,IAAI;AAE1B,wBAAM,uPAA2Q,aAAa,aAAa,WAAW,CAAC,IAAI,aAAa,YAAY,aAAa,kBAAkB;AAAA,gBACrX;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAIA,cAAI,mBAAmB;AAAA,YACrB,MAAM;AAAA,YACN,MAAM;AAAA,YACN,IAAI;AAAA,YACJ,KAAK;AAAA,YACL,OAAO;AAAA,YACP,IAAI;AAAA,YACJ,KAAK;AAAA,YACL,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,MAAM;AAAA,YACN,MAAM;AAAA,YACN,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,OAAO;AAAA,YACP,KAAK;AAAA;AAAA,UAEP;AAIA,cAAI,kBAAkBP,QAAO;AAAA,YAC3B,UAAU;AAAA,UACZ,GAAG,gBAAgB;AAEnB,cAAIU,QAAO;AAEX,mBAAS,iBAAiB,KAAK,OAAO;AACpC,gBAAI,CAAC,OAAO;AACV;AAAA,YACF;AAGA,gBAAI,gBAAgB,GAAG,GAAG;AACxB,kBAAI,MAAM,YAAY,QAAQ,MAAM,2BAA2B,MAAM;AACnE,sBAAM,IAAI,MAAM,MAAM,4FAAiG;AAAA,cACzH;AAAA,YACF;AAEA,gBAAI,MAAM,2BAA2B,MAAM;AACzC,kBAAI,MAAM,YAAY,MAAM;AAC1B,sBAAM,IAAI,MAAM,oEAAoE;AAAA,cACtF;AAEA,kBAAI,OAAO,MAAM,4BAA4B,YAAY,EAAEA,SAAQ,MAAM,0BAA0B;AACjG,sBAAM,IAAI,MAAM,6JAAuK;AAAA,cACzL;AAAA,YACF;AAEA;AACE,kBAAI,CAAC,MAAM,kCAAkC,MAAM,mBAAmB,MAAM,YAAY,MAAM;AAC5F,sBAAM,2NAA0O;AAAA,cAClP;AAAA,YACF;AAEA,gBAAI,MAAM,SAAS,QAAQ,OAAO,MAAM,UAAU,UAAU;AAC1D,oBAAM,IAAI,MAAM,sJAAgK;AAAA,YAClL;AAAA,UACF;AAEA,mBAAS,kBAAkB,SAAS,OAAO;AACzC,gBAAI,QAAQ,QAAQ,GAAG,MAAM,IAAI;AAC/B,qBAAO,OAAO,MAAM,OAAO;AAAA,YAC7B;AAEA,oBAAQ,SAAS;AAAA,cAKf,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AACH,uBAAO;AAAA,cAET;AACE,uBAAO;AAAA,YACX;AAAA,UACF;AAKA,cAAI,wBAAwB;AAAA;AAAA,YAE1B,QAAQ;AAAA,YACR,eAAe;AAAA,YACf,kBAAkB;AAAA,YAClB,WAAW;AAAA,YACX,QAAQ;AAAA,YACR,iBAAiB;AAAA,YACjB,KAAK;AAAA,YACL,IAAI;AAAA,YACJ,OAAO;AAAA,YACP,gBAAgB;AAAA,YAChB,cAAc;AAAA,YACd,aAAa;AAAA,YACb,WAAW;AAAA,YACX,UAAU;AAAA,YACV,UAAU;AAAA,YACV,SAAS;AAAA,YACT,aAAa;AAAA,YACb,aAAa;AAAA,YACb,WAAW;AAAA,YACX,SAAS;AAAA,YACT,SAAS;AAAA,YACT,UAAU;AAAA,YACV,MAAM;AAAA,YACN,OAAO;AAAA,YACP,SAAS;AAAA,YACT,WAAW;AAAA,YACX,MAAM;AAAA,YACN,SAAS;AAAA,YACT,SAAS;AAAA,YACT,iBAAiB;AAAA,YACjB,aAAa;AAAA,YACb,UAAU;AAAA,YACV,cAAc;AAAA,YACd,QAAQ;AAAA,YACR,aAAa;AAAA,YACb,yBAAyB;AAAA,YACzB,MAAM;AAAA,YACN,UAAU;AAAA,YACV,SAAS;AAAA,YACT,gBAAgB;AAAA,YAChB,cAAc;AAAA,YACd,OAAO;AAAA,YACP,KAAK;AAAA,YACL,UAAU;AAAA,YACV,yBAAyB;AAAA,YACzB,uBAAuB;AAAA,YACvB,UAAU;AAAA,YACV,WAAW;AAAA,YACX,SAAS;AAAA,YACT,cAAc;AAAA,YACd,KAAK;AAAA,YACL,MAAM;AAAA,YACN,YAAY;AAAA,YACZ,YAAY;AAAA,YACZ,aAAa;AAAA,YACb,gBAAgB;AAAA,YAChB,YAAY;AAAA,YACZ,aAAa;AAAA,YACb,SAAS;AAAA,YACT,QAAQ;AAAA,YACR,QAAQ;AAAA,YACR,MAAM;AAAA,YACN,MAAM;AAAA,YACN,UAAU;AAAA,YACV,SAAS;AAAA,YACT,WAAW;AAAA,YACX,cAAc;AAAA,YACd,MAAM;AAAA,YACN,IAAI;AAAA,YACJ,YAAY;AAAA,YACZ,aAAa;AAAA,YACb,WAAW;AAAA,YACX,WAAW;AAAA,YACX,WAAW;AAAA,YACX,IAAI;AAAA,YACJ,QAAQ;AAAA,YACR,UAAU;AAAA,YACV,SAAS;AAAA,YACT,WAAW;AAAA,YACX,UAAU;AAAA,YACV,WAAW;AAAA,YACX,SAAS;AAAA,YACT,MAAM;AAAA,YACN,OAAO;AAAA,YACP,MAAM;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,YACN,KAAK;AAAA,YACL,UAAU;AAAA,YACV,aAAa;AAAA,YACb,cAAc;AAAA,YACd,KAAK;AAAA,YACL,WAAW;AAAA,YACX,OAAO;AAAA,YACP,YAAY;AAAA,YACZ,QAAQ;AAAA,YACR,KAAK;AAAA,YACL,WAAW;AAAA,YACX,UAAU;AAAA,YACV,OAAO;AAAA,YACP,MAAM;AAAA,YACN,UAAU;AAAA,YACV,OAAO;AAAA,YACP,YAAY;AAAA,YACZ,MAAM;AAAA,YACN,SAAS;AAAA,YACT,SAAS;AAAA,YACT,aAAa;AAAA,YACb,aAAa;AAAA,YACb,QAAQ;AAAA,YACR,SAAS;AAAA,YACT,SAAS;AAAA,YACT,YAAY;AAAA,YACZ,UAAU;AAAA,YACV,gBAAgB;AAAA,YAChB,KAAK;AAAA,YACL,UAAU;AAAA,YACV,UAAU;AAAA,YACV,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS;AAAA,YACT,SAAS;AAAA,YACT,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,WAAW;AAAA,YACX,UAAU;AAAA,YACV,UAAU;AAAA,YACV,OAAO;AAAA,YACP,MAAM;AAAA,YACN,OAAO;AAAA,YACP,MAAM;AAAA,YACN,YAAY;AAAA,YACZ,KAAK;AAAA,YACL,QAAQ;AAAA,YACR,SAAS;AAAA,YACT,QAAQ;AAAA,YACR,OAAO;AAAA,YACP,MAAM;AAAA,YACN,OAAO;AAAA,YACP,SAAS;AAAA,YACT,UAAU;AAAA,YACV,QAAQ;AAAA,YACR,OAAO;AAAA,YACP,MAAM;AAAA,YACN,QAAQ;AAAA,YACR,OAAO;AAAA,YACP,OAAO;AAAA,YACP,OAAO;AAAA,YACP,MAAM;AAAA;AAAA,YAEN,OAAO;AAAA,YACP,cAAc;AAAA,YACd,iBAAiB;AAAA,YACjB,YAAY;AAAA,YACZ,UAAU;AAAA,YACV,mBAAmB;AAAA,YACnB,sBAAsB;AAAA,YACtB,cAAc;AAAA,YACd,YAAY;AAAA,YACZ,WAAW;AAAA,YACX,YAAY;AAAA,YACZ,eAAe;AAAA,YACf,QAAQ;AAAA,YACR,eAAe;AAAA,YACf,eAAe;AAAA,YACf,aAAa;AAAA,YACb,SAAS;AAAA,YACT,eAAe;AAAA,YACf,eAAe;AAAA,YACf,kBAAkB;AAAA,YAClB,aAAa;AAAA,YACb,MAAM;AAAA,YACN,OAAO;AAAA,YACP,MAAM;AAAA,YACN,IAAI;AAAA,YACJ,UAAU;AAAA,YACV,WAAW;AAAA,YACX,cAAc;AAAA,YACd,MAAM;AAAA,YACN,UAAU;AAAA,YACV,aAAa;AAAA,YACb,eAAe;AAAA,YACf,UAAU;AAAA,YACV,aAAa;AAAA,YACb,OAAO;AAAA,YACP,oBAAoB;AAAA,YACpB,uBAAuB;AAAA,YACvB,2BAA2B;AAAA,YAC3B,+BAA+B;AAAA,YAC/B,cAAc;AAAA,YACd,iBAAiB;AAAA,YACjB,gBAAgB;AAAA,YAChB,mBAAmB;AAAA,YACnB,mBAAmB;AAAA,YACnB,kBAAkB;AAAA,YAClB,QAAQ;AAAA,YACR,IAAI;AAAA,YACJ,IAAI;AAAA,YACJ,GAAG;AAAA,YACH,UAAU;AAAA,YACV,YAAY;AAAA,YACZ,SAAS;AAAA,YACT,iBAAiB;AAAA,YACjB,WAAW;AAAA,YACX,SAAS;AAAA,YACT,SAAS;AAAA,YACT,kBAAkB;AAAA,YAClB,qBAAqB;AAAA,YACrB,KAAK;AAAA,YACL,IAAI;AAAA,YACJ,IAAI;AAAA,YACJ,UAAU;AAAA,YACV,WAAW;AAAA,YACX,kBAAkB;AAAA,YAClB,qBAAqB;AAAA,YACrB,KAAK;AAAA,YACL,UAAU;AAAA,YACV,2BAA2B;AAAA,YAC3B,MAAM;AAAA,YACN,aAAa;AAAA,YACb,gBAAgB;AAAA,YAChB,UAAU;AAAA,YACV,aAAa;AAAA,YACb,QAAQ;AAAA,YACR,WAAW;AAAA,YACX,aAAa;AAAA,YACb,cAAc;AAAA,YACd,iBAAiB;AAAA,YACjB,YAAY;AAAA,YACZ,eAAe;AAAA,YACf,WAAW;AAAA,YACX,YAAY;AAAA,YACZ,eAAe;AAAA,YACf,UAAU;AAAA,YACV,aAAa;AAAA,YACb,gBAAgB;AAAA,YAChB,oBAAoB;AAAA,YACpB,aAAa;AAAA,YACb,gBAAgB;AAAA,YAChB,WAAW;AAAA,YACX,cAAc;AAAA,YACd,aAAa;AAAA,YACb,gBAAgB;AAAA,YAChB,YAAY;AAAA,YACZ,eAAe;AAAA,YACf,QAAQ;AAAA,YACR,MAAM;AAAA,YACN,IAAI;AAAA,YACJ,IAAI;AAAA,YACJ,IAAI;AAAA,YACJ,IAAI;AAAA,YACJ,WAAW;AAAA,YACX,cAAc;AAAA,YACd,4BAA4B;AAAA,YAC5B,gCAAgC;AAAA,YAChC,0BAA0B;AAAA,YAC1B,8BAA8B;AAAA,YAC9B,UAAU;AAAA,YACV,mBAAmB;AAAA,YACnB,eAAe;AAAA,YACf,SAAS;AAAA,YACT,WAAW;AAAA,YACX,eAAe;AAAA,YACf,cAAc;AAAA,YACd,kBAAkB;AAAA,YAClB,aAAa;AAAA,YACb,gBAAgB;AAAA,YAChB,mBAAmB;AAAA,YACnB,KAAK;AAAA,YACL,IAAI;AAAA,YACJ,QAAQ;AAAA,YACR,WAAW;AAAA,YACX,IAAI;AAAA,YACJ,IAAI;AAAA,YACJ,IAAI;AAAA,YACJ,IAAI;AAAA,YACJ,GAAG;AAAA,YACH,cAAc;AAAA,YACd,kBAAkB;AAAA,YAClB,SAAS;AAAA,YACT,WAAW;AAAA,YACX,YAAY;AAAA,YACZ,UAAU;AAAA,YACV,cAAc;AAAA,YACd,eAAe;AAAA,YACf,kBAAkB;AAAA,YAClB,eAAe;AAAA,YACf,kBAAkB;AAAA,YAClB,mBAAmB;AAAA,YACnB,OAAO;AAAA,YACP,WAAW;AAAA,YACX,cAAc;AAAA,YACd,cAAc;AAAA,YACd,WAAW;AAAA,YACX,cAAc;AAAA,YACd,aAAa;AAAA,YACb,gBAAgB;AAAA,YAChB,aAAa;AAAA,YACb,aAAa;AAAA,YACb,MAAM;AAAA,YACN,kBAAkB;AAAA,YAClB,WAAW;AAAA,YACX,cAAc;AAAA,YACd,MAAM;AAAA,YACN,YAAY;AAAA,YACZ,QAAQ;AAAA,YACR,SAAS;AAAA,YACT,UAAU;AAAA,YACV,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,aAAa;AAAA,YACb,QAAQ;AAAA,YACR,UAAU;AAAA,YACV,kBAAkB;AAAA,YAClB,qBAAqB;AAAA,YACrB,mBAAmB;AAAA,YACnB,sBAAsB;AAAA,YACtB,YAAY;AAAA,YACZ,eAAe;AAAA,YACf,SAAS;AAAA,YACT,YAAY;AAAA,YACZ,YAAY;AAAA,YACZ,qBAAqB;AAAA,YACrB,kBAAkB;AAAA,YAClB,cAAc;AAAA,YACd,eAAe;AAAA,YACf,kBAAkB;AAAA,YAClB,QAAQ;AAAA,YACR,WAAW;AAAA,YACX,WAAW;AAAA,YACX,WAAW;AAAA,YACX,QAAQ;AAAA,YACR,eAAe;AAAA,YACf,qBAAqB;AAAA,YACrB,gBAAgB;AAAA,YAChB,UAAU;AAAA,YACV,GAAG;AAAA,YACH,QAAQ;AAAA,YACR,MAAM;AAAA,YACN,MAAM;AAAA,YACN,iBAAiB;AAAA,YACjB,oBAAoB;AAAA,YACpB,aAAa;AAAA,YACb,WAAW;AAAA,YACX,oBAAoB;AAAA,YACpB,kBAAkB;AAAA,YAClB,UAAU;AAAA,YACV,SAAS;AAAA,YACT,QAAQ;AAAA,YACR,SAAS;AAAA,YACT,QAAQ;AAAA,YACR,IAAI;AAAA,YACJ,IAAI;AAAA,YACJ,OAAO;AAAA,YACP,UAAU;AAAA,YACV,MAAM;AAAA,YACN,gBAAgB;AAAA,YAChB,mBAAmB;AAAA,YACnB,OAAO;AAAA,YACP,SAAS;AAAA,YACT,kBAAkB;AAAA,YAClB,kBAAkB;AAAA,YAClB,OAAO;AAAA,YACP,cAAc;AAAA,YACd,aAAa;AAAA,YACb,cAAc;AAAA,YACd,OAAO;AAAA,YACP,OAAO;AAAA,YACP,aAAa;AAAA,YACb,WAAW;AAAA,YACX,cAAc;AAAA,YACd,aAAa;AAAA,YACb,gBAAgB;AAAA,YAChB,uBAAuB;AAAA,YACvB,0BAA0B;AAAA,YAC1B,wBAAwB;AAAA,YACxB,2BAA2B;AAAA,YAC3B,QAAQ;AAAA,YACR,QAAQ;AAAA,YACR,iBAAiB;AAAA,YACjB,oBAAoB;AAAA,YACpB,kBAAkB;AAAA,YAClB,qBAAqB;AAAA,YACrB,eAAe;AAAA,YACf,kBAAkB;AAAA,YAClB,gBAAgB;AAAA,YAChB,mBAAmB;AAAA,YACnB,kBAAkB;AAAA,YAClB,qBAAqB;AAAA,YACrB,aAAa;AAAA,YACb,gBAAgB;AAAA,YAChB,eAAe;AAAA,YACf,kBAAkB;AAAA,YAClB,gCAAgC;AAAA,YAChC,0BAA0B;AAAA,YAC1B,cAAc;AAAA,YACd,gBAAgB;AAAA,YAChB,aAAa;AAAA,YACb,SAAS;AAAA,YACT,SAAS;AAAA,YACT,YAAY;AAAA,YACZ,eAAe;AAAA,YACf,gBAAgB;AAAA,YAChB,mBAAmB;AAAA,YACnB,YAAY;AAAA,YACZ,eAAe;AAAA,YACf,kBAAkB;AAAA,YAClB,IAAI;AAAA,YACJ,WAAW;AAAA,YACX,QAAQ;AAAA,YACR,IAAI;AAAA,YACJ,IAAI;AAAA,YACJ,mBAAmB;AAAA,YACnB,sBAAsB;AAAA,YACtB,oBAAoB;AAAA,YACpB,uBAAuB;AAAA,YACvB,SAAS;AAAA,YACT,aAAa;AAAA,YACb,gBAAgB;AAAA,YAChB,cAAc;AAAA,YACd,iBAAiB;AAAA,YACjB,YAAY;AAAA,YACZ,gBAAgB;AAAA,YAChB,cAAc;AAAA,YACd,aAAa;AAAA,YACb,gBAAgB;AAAA,YAChB,QAAQ;AAAA,YACR,cAAc;AAAA,YACd,iBAAiB;AAAA,YACjB,SAAS;AAAA,YACT,UAAU;AAAA,YACV,cAAc;AAAA,YACd,aAAa;AAAA,YACb,iBAAiB;AAAA,YACjB,aAAa;AAAA,YACb,iBAAiB;AAAA,YACjB,UAAU;AAAA,YACV,aAAa;AAAA,YACb,cAAc;AAAA,YACd,iBAAiB;AAAA,YACjB,SAAS;AAAA,YACT,YAAY;AAAA,YACZ,YAAY;AAAA,YACZ,eAAe;AAAA,YACf,kBAAkB;AAAA,YAClB,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,aAAa;AAAA,YACb,gBAAgB;AAAA,YAChB,aAAa;AAAA,YACb,gBAAgB;AAAA,YAChB,IAAI;AAAA,YACJ,IAAI;AAAA,YACJ,GAAG;AAAA,YACH,kBAAkB;AAAA,YAClB,SAAS;AAAA,YACT,YAAY;AAAA,YACZ,cAAc;AAAA,YACd,iBAAiB;AAAA,YACjB,cAAc;AAAA,YACd,iBAAiB;AAAA,YACjB,WAAW;AAAA,YACX,cAAc;AAAA,YACd,WAAW;AAAA,YACX,cAAc;AAAA,YACd,WAAW;AAAA,YACX,cAAc;AAAA,YACd,YAAY;AAAA,YACZ,eAAe;AAAA,YACf,WAAW;AAAA,YACX,cAAc;AAAA,YACd,SAAS;AAAA,YACT,YAAY;AAAA,YACZ,SAAS;AAAA,YACT,YAAY;AAAA,YACZ,OAAO;AAAA,YACP,aAAa;AAAA,YACb,YAAY;AAAA,YACZ,eAAe;AAAA,YACf,UAAU;AAAA,YACV,IAAI;AAAA,YACJ,IAAI;AAAA,YACJ,GAAG;AAAA,YACH,kBAAkB;AAAA,YAClB,GAAG;AAAA,YACH,YAAY;AAAA,UACd;AAEA,cAAI,iBAAiB;AAAA,YACnB,gBAAgB;AAAA;AAAA,YAEhB,oBAAoB;AAAA,YACpB,gBAAgB;AAAA,YAChB,iBAAiB;AAAA;AAAA,YAEjB,eAAe;AAAA;AAAA,YAEf,gBAAgB;AAAA;AAAA,YAEhB,qBAAqB;AAAA,YACrB,cAAc;AAAA,YACd,wBAAwB;AAAA;AAAA,YAExB,qBAAqB;AAAA,YACrB,gBAAgB;AAAA,YAChB,iBAAiB;AAAA,YACjB,iBAAiB;AAAA,YACjB,cAAc;AAAA,YACd,cAAc;AAAA,YACd,kBAAkB;AAAA,YAClB,wBAAwB;AAAA,YACxB,oBAAoB;AAAA,YACpB,oBAAoB;AAAA,YACpB,gBAAgB;AAAA,YAChB,iBAAiB;AAAA,YACjB,iBAAiB;AAAA,YACjB,iBAAiB;AAAA,YACjB,aAAa;AAAA,YACb,iBAAiB;AAAA,YACjB,iBAAiB;AAAA,YACjB,iBAAiB;AAAA,YACjB,kBAAkB;AAAA;AAAA,YAElB,eAAe;AAAA,YACf,aAAa;AAAA,YACb,aAAa;AAAA,YACb,iBAAiB;AAAA;AAAA,YAEjB,mBAAmB;AAAA,YACnB,gBAAgB;AAAA;AAAA,YAEhB,yBAAyB;AAAA,YACzB,iBAAiB;AAAA,YACjB,iBAAiB;AAAA,YACjB,gBAAgB;AAAA,YAChB,iBAAiB;AAAA,YACjB,oBAAoB;AAAA,YACpB,qBAAqB;AAAA,YACrB,eAAe;AAAA,YACf,mBAAmB;AAAA,YACnB,aAAa;AAAA,YACb,iBAAiB;AAAA,YACjB,iBAAiB;AAAA,YACjB,iBAAiB;AAAA,YACjB,gBAAgB;AAAA,YAChB,gBAAgB;AAAA,UAClB;AAEA,cAAI,mBAAmB,CAAC;AACxB,cAAI,QAAQ,IAAI,OAAO,cAAc,sBAAsB,KAAK;AAChE,cAAI,aAAa,IAAI,OAAO,kBAAkB,sBAAsB,KAAK;AAEzE,mBAAS,iBAAiB,SAAS,MAAM;AACvC;AACE,kBAAI,eAAe,KAAK,kBAAkB,IAAI,KAAK,iBAAiB,IAAI,GAAG;AACzE,uBAAO;AAAA,cACT;AAEA,kBAAI,WAAW,KAAK,IAAI,GAAG;AACzB,oBAAI,WAAW,UAAU,KAAK,MAAM,CAAC,EAAE,YAAY;AACnD,oBAAI,cAAc,eAAe,eAAe,QAAQ,IAAI,WAAW;AAGvE,oBAAI,eAAe,MAAM;AACvB,wBAAM,iGAAiG,IAAI;AAE3G,mCAAiB,IAAI,IAAI;AACzB,yBAAO;AAAA,gBACT;AAGA,oBAAI,SAAS,aAAa;AACxB,wBAAM,mDAAmD,MAAM,WAAW;AAE1E,mCAAiB,IAAI,IAAI;AACzB,yBAAO;AAAA,gBACT;AAAA,cACF;AAEA,kBAAI,MAAM,KAAK,IAAI,GAAG;AACpB,oBAAI,iBAAiB,KAAK,YAAY;AACtC,oBAAI,eAAe,eAAe,eAAe,cAAc,IAAI,iBAAiB;AAGpF,oBAAI,gBAAgB,MAAM;AACxB,mCAAiB,IAAI,IAAI;AACzB,yBAAO;AAAA,gBACT;AAGA,oBAAI,SAAS,cAAc;AACzB,wBAAM,mDAAmD,MAAM,YAAY;AAE3E,mCAAiB,IAAI,IAAI;AACzB,yBAAO;AAAA,gBACT;AAAA,cACF;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,qBAAqB,MAAM,OAAO;AACzC;AACE,kBAAI,eAAe,CAAC;AAEpB,uBAAS,OAAO,OAAO;AACrB,oBAAI,UAAU,iBAAiB,MAAM,GAAG;AAExC,oBAAI,CAAC,SAAS;AACZ,+BAAa,KAAK,GAAG;AAAA,gBACvB;AAAA,cACF;AAEA,kBAAI,oBAAoB,aAAa,IAAI,SAAU,MAAM;AACvD,uBAAO,MAAM,OAAO;AAAA,cACtB,CAAC,EAAE,KAAK,IAAI;AAEZ,kBAAI,aAAa,WAAW,GAAG;AAC7B,sBAAM,kGAAuG,mBAAmB,IAAI;AAAA,cACtI,WAAW,aAAa,SAAS,GAAG;AAClC,sBAAM,mGAAwG,mBAAmB,IAAI;AAAA,cACvI;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,mBAAmB,MAAM,OAAO;AACvC,gBAAI,kBAAkB,MAAM,KAAK,GAAG;AAClC;AAAA,YACF;AAEA,iCAAqB,MAAM,KAAK;AAAA,UAClC;AAEA,cAAI,mBAAmB;AACvB,mBAAS,qBAAqB,MAAM,OAAO;AACzC;AACE,kBAAI,SAAS,WAAW,SAAS,cAAc,SAAS,UAAU;AAChE;AAAA,cACF;AAEA,kBAAI,SAAS,QAAQ,MAAM,UAAU,QAAQ,CAAC,kBAAkB;AAC9D,mCAAmB;AAEnB,oBAAI,SAAS,YAAY,MAAM,UAAU;AACvC,wBAAM,8KAAwL,IAAI;AAAA,gBACpM,OAAO;AACL,wBAAM,8IAAwJ,IAAI;AAAA,gBACpK;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,cAAI,qBAAqB,WAAY;AAAA,UAAC;AAEtC;AACE,gBAAI,qBAAqB,CAAC;AAC1B,gBAAI,mBAAmB;AACvB,gBAAI,2BAA2B;AAC/B,gBAAI,UAAU,IAAI,OAAO,cAAc,sBAAsB,KAAK;AAClE,gBAAI,eAAe,IAAI,OAAO,kBAAkB,sBAAsB,KAAK;AAE3E,iCAAqB,SAAU,SAAS,MAAM,OAAO,eAAe;AAClE,kBAAI,eAAe,KAAK,oBAAoB,IAAI,KAAK,mBAAmB,IAAI,GAAG;AAC7E,uBAAO;AAAA,cACT;AAEA,kBAAI,iBAAiB,KAAK,YAAY;AAEtC,kBAAI,mBAAmB,eAAe,mBAAmB,cAAc;AACrE,sBAAM,8KAAwL;AAE9L,mCAAmB,IAAI,IAAI;AAC3B,uBAAO;AAAA,cACT;AAGA,kBAAI,iBAAiB,MAAM;AACzB,oBAAIC,gCAA+B,cAAc,8BAC7CC,6BAA4B,cAAc;AAE9C,oBAAID,8BAA6B,eAAe,IAAI,GAAG;AACrD,yBAAO;AAAA,gBACT;AAEA,oBAAI,mBAAmBC,2BAA0B,eAAe,cAAc,IAAIA,2BAA0B,cAAc,IAAI;AAE9H,oBAAI,oBAAoB,MAAM;AAC5B,wBAAM,2DAA2D,MAAM,gBAAgB;AAEvF,qCAAmB,IAAI,IAAI;AAC3B,yBAAO;AAAA,gBACT;AAEA,oBAAI,iBAAiB,KAAK,IAAI,GAAG;AAC/B,wBAAM,4DAA4D,IAAI;AAEtE,qCAAmB,IAAI,IAAI;AAC3B,yBAAO;AAAA,gBACT;AAAA,cACF,WAAW,iBAAiB,KAAK,IAAI,GAAG;AAItC,oBAAI,yBAAyB,KAAK,IAAI,GAAG;AACvC,wBAAM,iHAAsH,IAAI;AAAA,gBAClI;AAEA,mCAAmB,IAAI,IAAI;AAC3B,uBAAO;AAAA,cACT;AAGA,kBAAI,QAAQ,KAAK,IAAI,KAAK,aAAa,KAAK,IAAI,GAAG;AACjD,uBAAO;AAAA,cACT;AAEA,kBAAI,mBAAmB,aAAa;AAClC,sBAAM,kIAAuI;AAE7I,mCAAmB,IAAI,IAAI;AAC3B,uBAAO;AAAA,cACT;AAEA,kBAAI,mBAAmB,QAAQ;AAC7B,sBAAM,uGAA4G;AAElH,mCAAmB,IAAI,IAAI;AAC3B,uBAAO;AAAA,cACT;AAEA,kBAAI,mBAAmB,QAAQ,UAAU,QAAQ,UAAU,UAAa,OAAO,UAAU,UAAU;AACjG,sBAAM,iGAAsG,OAAO,KAAK;AAExH,mCAAmB,IAAI,IAAI;AAC3B,uBAAO;AAAA,cACT;AAEA,kBAAI,OAAO,UAAU,YAAY,MAAM,KAAK,GAAG;AAC7C,sBAAM,yFAA8F,IAAI;AAExG,mCAAmB,IAAI,IAAI;AAC3B,uBAAO;AAAA,cACT;AAEA,kBAAI,eAAe,gBAAgB,IAAI;AACvC,kBAAI,aAAa,iBAAiB,QAAQ,aAAa,SAAS;AAEhE,kBAAI,sBAAsB,eAAe,cAAc,GAAG;AACxD,oBAAI,eAAe,sBAAsB,cAAc;AAEvD,oBAAI,iBAAiB,MAAM;AACzB,wBAAM,iDAAiD,MAAM,YAAY;AAEzE,qCAAmB,IAAI,IAAI;AAC3B,yBAAO;AAAA,gBACT;AAAA,cACF,WAAW,CAAC,cAAc,SAAS,gBAAgB;AAGjD,sBAAM,gQAAoR,MAAM,cAAc;AAE9S,mCAAmB,IAAI,IAAI;AAC3B,uBAAO;AAAA,cACT;AAEA,kBAAI,OAAO,UAAU,aAAa,iCAAiC,MAAM,OAAO,cAAc,KAAK,GAAG;AACpG,oBAAI,OAAO;AACT,wBAAM,mJAA6J,OAAO,MAAM,MAAM,OAAO,IAAI;AAAA,gBACnM,OAAO;AACL,wBAAM,0QAA8R,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,IAAI;AAAA,gBAChV;AAEA,mCAAmB,IAAI,IAAI;AAC3B,uBAAO;AAAA,cACT;AAIA,kBAAI,YAAY;AACd,uBAAO;AAAA,cACT;AAGA,kBAAI,iCAAiC,MAAM,OAAO,cAAc,KAAK,GAAG;AACtE,mCAAmB,IAAI,IAAI;AAC3B,uBAAO;AAAA,cACT;AAGA,mBAAK,UAAU,WAAW,UAAU,WAAW,iBAAiB,QAAQ,aAAa,SAAS,SAAS;AACrG,sBAAM,qFAA+F,OAAO,MAAM,UAAU,UAAU,qDAAqD,qFAAqF,MAAM,KAAK;AAE3R,mCAAmB,IAAI,IAAI;AAC3B,uBAAO;AAAA,cACT;AAEA,qBAAO;AAAA,YACT;AAAA,UACF;AAEA,cAAI,wBAAwB,SAAU,MAAM,OAAO,eAAe;AAChE;AACE,kBAAI,eAAe,CAAC;AAEpB,uBAAS,OAAO,OAAO;AACrB,oBAAI,UAAU,mBAAmB,MAAM,KAAK,MAAM,GAAG,GAAG,aAAa;AAErE,oBAAI,CAAC,SAAS;AACZ,+BAAa,KAAK,GAAG;AAAA,gBACvB;AAAA,cACF;AAEA,kBAAI,oBAAoB,aAAa,IAAI,SAAU,MAAM;AACvD,uBAAO,MAAM,OAAO;AAAA,cACtB,CAAC,EAAE,KAAK,IAAI;AAEZ,kBAAI,aAAa,WAAW,GAAG;AAC7B,sBAAM,mMAA6M,mBAAmB,IAAI;AAAA,cAC5O,WAAW,aAAa,SAAS,GAAG;AAClC,sBAAM,yMAAmN,mBAAmB,IAAI;AAAA,cAClP;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,qBAAqB,MAAM,OAAO,eAAe;AACxD,gBAAI,kBAAkB,MAAM,KAAK,GAAG;AAClC;AAAA,YACF;AAEA,kCAAsB,MAAM,OAAO,aAAa;AAAA,UAClD;AAEA,cAAI,mCAAmC;AACvC,cAAI,mBAAmB,KAAK;AAC5B,cAAI,mBAAmB,KAAK;AAM5B,cAAI,4CAA4C,mCAAmC,mBAAmB;AAItG,cAAI,wBAAwB;AAC5B,mBAAS,kBAAkB,OAAO;AAChC;AACE,kBAAI,0BAA0B,MAAM;AAClC,sBAAM,qHAA0H;AAAA,cAClI;AAAA,YACF;AAEA,oCAAwB;AAAA,UAC1B;AACA,mBAAS,sBAAsB;AAC7B;AACE,kBAAI,0BAA0B,MAAM;AAClC,sBAAM,yHAA8H;AAAA,cACtI;AAAA,YACF;AAEA,oCAAwB;AAAA,UAC1B;AACA,mBAAS,iBAAiB,OAAO;AAC/B,mBAAO,UAAU;AAAA,UACnB;AAUA,mBAAS,eAAe,aAAa;AAGnC,gBAAI,SAAS,YAAY,UAAU,YAAY,cAAc;AAE7D,gBAAI,OAAO,yBAAyB;AAClC,uBAAS,OAAO;AAAA,YAClB;AAIA,mBAAO,OAAO,aAAa,YAAY,OAAO,aAAa;AAAA,UAC7D;AAEA,cAAI,cAAc;AAClB,cAAI,gBAAgB;AACpB,cAAI,eAAe;AAEnB,mBAAS,qBAAqB,QAAQ;AAGpC,gBAAI,mBAAmB,oBAAoB,MAAM;AAEjD,gBAAI,CAAC,kBAAkB;AAErB;AAAA,YACF;AAEA,gBAAI,OAAO,gBAAgB,YAAY;AACrC,oBAAM,IAAI,MAAM,8JAAmK;AAAA,YACrL;AAEA,gBAAI,YAAY,iBAAiB;AAEjC,gBAAI,WAAW;AACb,kBAAI,SAAS,6BAA6B,SAAS;AAEnD,0BAAY,iBAAiB,WAAW,iBAAiB,MAAM,MAAM;AAAA,YACvE;AAAA,UACF;AAEA,mBAAS,yBAAyB,MAAM;AACtC,0BAAc;AAAA,UAChB;AACA,mBAAS,oBAAoB,QAAQ;AACnC,gBAAI,eAAe;AACjB,kBAAI,cAAc;AAChB,6BAAa,KAAK,MAAM;AAAA,cAC1B,OAAO;AACL,+BAAe,CAAC,MAAM;AAAA,cACxB;AAAA,YACF,OAAO;AACL,8BAAgB;AAAA,YAClB;AAAA,UACF;AACA,mBAAS,oBAAoB;AAC3B,mBAAO,kBAAkB,QAAQ,iBAAiB;AAAA,UACpD;AACA,mBAAS,uBAAuB;AAC9B,gBAAI,CAAC,eAAe;AAClB;AAAA,YACF;AAEA,gBAAI,SAAS;AACb,gBAAI,gBAAgB;AACpB,4BAAgB;AAChB,2BAAe;AACf,iCAAqB,MAAM;AAE3B,gBAAI,eAAe;AACjB,uBAAS,IAAI,GAAG,IAAI,cAAc,QAAQ,KAAK;AAC7C,qCAAqB,cAAc,CAAC,CAAC;AAAA,cACvC;AAAA,YACF;AAAA,UACF;AAQA,cAAI,qBAAqB,SAAU,IAAI,aAAa;AAClD,mBAAO,GAAG,WAAW;AAAA,UACvB;AAEA,cAAI,gBAAgB,WAAY;AAAA,UAAC;AAEjC,cAAI,uBAAuB;AAE3B,mBAAS,qBAAqB;AAK5B,gBAAI,yCAAyC,kBAAkB;AAE/D,gBAAI,wCAAwC;AAM1C,4BAAc;AACd,mCAAqB;AAAA,YACvB;AAAA,UACF;AAEA,mBAAS,eAAe,IAAI,GAAG,GAAG;AAChC,gBAAI,sBAAsB;AAGxB,qBAAO,GAAG,GAAG,CAAC;AAAA,YAChB;AAEA,mCAAuB;AAEvB,gBAAI;AACF,qBAAO,mBAAmB,IAAI,GAAG,CAAC;AAAA,YACpC,UAAE;AACA,qCAAuB;AACvB,iCAAmB;AAAA,YACrB;AAAA,UACF;AACA,mBAAS,0BAA0B,qBAAqB,sBAAsB,gBAAgB;AAC5F,iCAAqB;AACrB,4BAAgB;AAAA,UAClB;AAEA,mBAAS,cAAc,KAAK;AAC1B,mBAAO,QAAQ,YAAY,QAAQ,WAAW,QAAQ,YAAY,QAAQ;AAAA,UAC5E;AAEA,mBAAS,wBAAwB,MAAM,MAAM,OAAO;AAClD,oBAAQ,MAAM;AAAA,cACZ,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AACH,uBAAO,CAAC,EAAE,MAAM,YAAY,cAAc,IAAI;AAAA,cAEhD;AACE,uBAAO;AAAA,YACX;AAAA,UACF;AAQA,mBAAS,YAAY,MAAM,kBAAkB;AAC3C,gBAAI,YAAY,KAAK;AAErB,gBAAI,cAAc,MAAM;AAEtB,qBAAO;AAAA,YACT;AAEA,gBAAI,QAAQ,6BAA6B,SAAS;AAElD,gBAAI,UAAU,MAAM;AAElB,qBAAO;AAAA,YACT;AAEA,gBAAI,WAAW,MAAM,gBAAgB;AAErC,gBAAI,wBAAwB,kBAAkB,KAAK,MAAM,KAAK,GAAG;AAC/D,qBAAO;AAAA,YACT;AAEA,gBAAI,YAAY,OAAO,aAAa,YAAY;AAC9C,oBAAM,IAAI,MAAM,eAAe,mBAAmB,0DAA0D,OAAO,WAAW,SAAS;AAAA,YACzI;AAEA,mBAAO;AAAA,UACT;AAEA,cAAI,gCAAgC;AAGpC,cAAIf,YAAW;AACb,gBAAI;AACF,kBAAI,UAAU,CAAC;AAEf,qBAAO,eAAe,SAAS,WAAW;AAAA,gBACxC,KAAK,WAAY;AACf,kDAAgC;AAAA,gBAClC;AAAA,cACF,CAAC;AACD,qBAAO,iBAAiB,QAAQ,SAAS,OAAO;AAChD,qBAAO,oBAAoB,QAAQ,SAAS,OAAO;AAAA,YACrD,SAAS,GAAG;AACV,8CAAgC;AAAA,YAClC;AAAA,UACF;AAEA,mBAAS,0BAA0B,MAAM,MAAM,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG;AACxE,gBAAI,WAAW,MAAM,UAAU,MAAM,KAAK,WAAW,CAAC;AAEtD,gBAAI;AACF,mBAAK,MAAM,SAAS,QAAQ;AAAA,YAC9B,SAASgB,QAAO;AACd,mBAAK,QAAQA,MAAK;AAAA,YACpB;AAAA,UACF;AAEA,cAAI,4BAA4B;AAEhC;AAqBE,gBAAI,OAAO,WAAW,eAAe,OAAO,OAAO,kBAAkB,cAAc,OAAO,aAAa,eAAe,OAAO,SAAS,gBAAgB,YAAY;AAChK,kBAAI,WAAW,SAAS,cAAc,OAAO;AAE7C,0CAA4B,SAAS,yBAAyB,MAAM,MAAM,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG;AAKnG,oBAAI,OAAO,aAAa,eAAe,aAAa,MAAM;AACxD,wBAAM,IAAI,MAAM,scAAoe;AAAA,gBACtf;AAEA,oBAAI,MAAM,SAAS,YAAY,OAAO;AACtC,oBAAI,UAAU;AAOd,oBAAI,WAAW;AAIf,oBAAI,cAAc,OAAO;AAGzB,oBAAI,wBAAwB,OAAO,yBAAyB,QAAQ,OAAO;AAE3E,yBAAS,uBAAuB;AAK9B,2BAAS,oBAAoB,SAASC,eAAc,KAAK;AAKzD,sBAAI,OAAO,OAAO,UAAU,eAAe,OAAO,eAAe,OAAO,GAAG;AACzE,2BAAO,QAAQ;AAAA,kBACjB;AAAA,gBACF;AAKA,oBAAI,WAAW,MAAM,UAAU,MAAM,KAAK,WAAW,CAAC;AAEtD,yBAASA,gBAAe;AACtB,4BAAU;AACV,uCAAqB;AACrB,uBAAK,MAAM,SAAS,QAAQ;AAC5B,6BAAW;AAAA,gBACb;AAaA,oBAAID;AAEJ,oBAAI,cAAc;AAClB,oBAAI,qBAAqB;AAEzB,yBAAS,kBAAkB,OAAO;AAChC,kBAAAA,SAAQ,MAAM;AACd,gCAAc;AAEd,sBAAIA,WAAU,QAAQ,MAAM,UAAU,KAAK,MAAM,WAAW,GAAG;AAC7D,yCAAqB;AAAA,kBACvB;AAEA,sBAAI,MAAM,kBAAkB;AAI1B,wBAAIA,UAAS,QAAQ,OAAOA,WAAU,UAAU;AAC9C,0BAAI;AACF,wBAAAA,OAAM,mBAAmB;AAAA,sBAC3B,SAAS,OAAO;AAAA,sBAChB;AAAA,oBACF;AAAA,kBACF;AAAA,gBACF;AAGA,oBAAI,UAAU,YAAY,OAAO,OAAO;AAExC,uBAAO,iBAAiB,SAAS,iBAAiB;AAClD,yBAAS,iBAAiB,SAASC,eAAc,KAAK;AAGtD,oBAAI,UAAU,SAAS,OAAO,KAAK;AACnC,yBAAS,cAAc,GAAG;AAE1B,oBAAI,uBAAuB;AACzB,yBAAO,eAAe,QAAQ,SAAS,qBAAqB;AAAA,gBAC9D;AAEA,oBAAI,WAAW,UAAU;AACvB,sBAAI,CAAC,aAAa;AAGhB,oBAAAD,SAAQ,IAAI,MAAM,mdAAsf;AAAA,kBAC1gB,WAAW,oBAAoB;AAE7B,oBAAAA,SAAQ,IAAI,MAAM,4KAAsL;AAAA,kBAC1M;AAEA,uBAAK,QAAQA,MAAK;AAAA,gBACpB;AAGA,uBAAO,oBAAoB,SAAS,iBAAiB;AAErD,oBAAI,CAAC,SAAS;AAKZ,uCAAqB;AACrB,yBAAO,0BAA0B,MAAM,MAAM,SAAS;AAAA,gBACxD;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,cAAI,8BAA8B;AAElC,cAAI,WAAW;AACf,cAAI,cAAc;AAElB,cAAI,kBAAkB;AACtB,cAAI,eAAe;AACnB,cAAI,WAAW;AAAA,YACb,SAAS,SAAUA,QAAO;AACxB,yBAAW;AACX,4BAAcA;AAAA,YAChB;AAAA,UACF;AAeA,mBAAS,sBAAsB,MAAM,MAAM,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG;AACpE,uBAAW;AACX,0BAAc;AACd,wCAA4B,MAAM,UAAU,SAAS;AAAA,UACvD;AAYA,mBAAS,wCAAwC,MAAM,MAAM,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG;AACtF,kCAAsB,MAAM,MAAM,SAAS;AAE3C,gBAAI,UAAU;AACZ,kBAAIA,SAAQ,iBAAiB;AAE7B,kBAAI,CAAC,iBAAiB;AACpB,kCAAkB;AAClB,+BAAeA;AAAA,cACjB;AAAA,YACF;AAAA,UACF;AAMA,mBAAS,qBAAqB;AAC5B,gBAAI,iBAAiB;AACnB,kBAAIA,SAAQ;AACZ,gCAAkB;AAClB,6BAAe;AACf,oBAAMA;AAAA,YACR;AAAA,UACF;AACA,mBAAS,iBAAiB;AACxB,mBAAO;AAAA,UACT;AACA,mBAAS,mBAAmB;AAC1B,gBAAI,UAAU;AACZ,kBAAIA,SAAQ;AACZ,yBAAW;AACX,4BAAc;AACd,qBAAOA;AAAA,YACT,OAAO;AACL,oBAAM,IAAI,MAAM,6HAAkI;AAAA,YACpJ;AAAA,UACF;AAWA,mBAAS,IAAI,KAAK;AAChB,mBAAO,IAAI;AAAA,UACb;AACA,mBAAS,IAAI,KAAK;AAChB,mBAAO,IAAI,oBAAoB;AAAA,UACjC;AACA,mBAAS,IAAI,KAAK,OAAO;AACvB,gBAAI,kBAAkB;AAAA,UACxB;AAGA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AAEA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI,sBAAsB,UAAU,SAAS,WAAW,MAAM,WAAW;AAEzE,cAAI;AAAA;AAAA,YAEJ;AAAA;AAEA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AAMA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AAIA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AAGA,cAAI;AAAA;AAAA;AAAA,YAEJ,SAAS,WAAa;AAAA;AACtB,cAAI,eAAe,YAAY,SAAS,gBAAgB,eAAe,MAAM,YAAY;AACzF,cAAI,aAAa,SAAS,WAAW,MAAM;AAE3C,cAAI,cAAc,UAAU;AAI5B,cAAI,aAAa,eAAe,gBAAgB;AAEhD,cAAI,oBAAoB,qBAAqB;AAC7C,mBAAS,uBAAuB,OAAO;AACrC,gBAAI,OAAO;AACX,gBAAI,iBAAiB;AAErB,gBAAI,CAAC,MAAM,WAAW;AAGpB,kBAAI,WAAW;AAEf,iBAAG;AACD,uBAAO;AAEP,qBAAK,KAAK,SAAS,YAAY,gBAAgB,SAAS;AAItD,mCAAiB,KAAK;AAAA,gBACxB;AAEA,2BAAW,KAAK;AAAA,cAClB,SAAS;AAAA,YACX,OAAO;AACL,qBAAO,KAAK,QAAQ;AAClB,uBAAO,KAAK;AAAA,cACd;AAAA,YACF;AAEA,gBAAI,KAAK,QAAQ,UAAU;AAGzB,qBAAO;AAAA,YACT;AAIA,mBAAO;AAAA,UACT;AACA,mBAAS,6BAA6B,OAAO;AAC3C,gBAAI,MAAM,QAAQ,mBAAmB;AACnC,kBAAI,gBAAgB,MAAM;AAE1B,kBAAI,kBAAkB,MAAM;AAC1B,oBAAIE,WAAU,MAAM;AAEpB,oBAAIA,aAAY,MAAM;AACpB,kCAAgBA,SAAQ;AAAA,gBAC1B;AAAA,cACF;AAEA,kBAAI,kBAAkB,MAAM;AAC1B,uBAAO,cAAc;AAAA,cACvB;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AACA,mBAAS,sBAAsB,OAAO;AACpC,mBAAO,MAAM,QAAQ,WAAW,MAAM,UAAU,gBAAgB;AAAA,UAClE;AACA,mBAAS,eAAe,OAAO;AAC7B,mBAAO,uBAAuB,KAAK,MAAM;AAAA,UAC3C;AACA,mBAAS,UAAU,WAAW;AAC5B;AACE,kBAAI,QAAQ,kBAAkB;AAE9B,kBAAI,UAAU,QAAQ,MAAM,QAAQ,gBAAgB;AAClD,oBAAI,aAAa;AACjB,oBAAI,WAAW,WAAW;AAE1B,oBAAI,CAAC,SAAS,0BAA0B;AACtC,wBAAM,yRAA6S,0BAA0B,UAAU,KAAK,aAAa;AAAA,gBAC3W;AAEA,yBAAS,2BAA2B;AAAA,cACtC;AAAA,YACF;AAEA,gBAAI,QAAQ,IAAI,SAAS;AAEzB,gBAAI,CAAC,OAAO;AACV,qBAAO;AAAA,YACT;AAEA,mBAAO,uBAAuB,KAAK,MAAM;AAAA,UAC3C;AAEA,mBAAS,gBAAgB,OAAO;AAC9B,gBAAI,uBAAuB,KAAK,MAAM,OAAO;AAC3C,oBAAM,IAAI,MAAM,gDAAgD;AAAA,YAClE;AAAA,UACF;AAEA,mBAAS,8BAA8B,OAAO;AAC5C,gBAAI,YAAY,MAAM;AAEtB,gBAAI,CAAC,WAAW;AAEd,kBAAI,iBAAiB,uBAAuB,KAAK;AAEjD,kBAAI,mBAAmB,MAAM;AAC3B,sBAAM,IAAI,MAAM,gDAAgD;AAAA,cAClE;AAEA,kBAAI,mBAAmB,OAAO;AAC5B,uBAAO;AAAA,cACT;AAEA,qBAAO;AAAA,YACT;AAKA,gBAAI,IAAI;AACR,gBAAI,IAAI;AAER,mBAAO,MAAM;AACX,kBAAI,UAAU,EAAE;AAEhB,kBAAI,YAAY,MAAM;AAEpB;AAAA,cACF;AAEA,kBAAI,UAAU,QAAQ;AAEtB,kBAAI,YAAY,MAAM;AAKpB,oBAAI,aAAa,QAAQ;AAEzB,oBAAI,eAAe,MAAM;AACvB,sBAAI,IAAI;AACR;AAAA,gBACF;AAGA;AAAA,cACF;AAKA,kBAAI,QAAQ,UAAU,QAAQ,OAAO;AACnC,oBAAI,QAAQ,QAAQ;AAEpB,uBAAO,OAAO;AACZ,sBAAI,UAAU,GAAG;AAEf,oCAAgB,OAAO;AACvB,2BAAO;AAAA,kBACT;AAEA,sBAAI,UAAU,GAAG;AAEf,oCAAgB,OAAO;AACvB,2BAAO;AAAA,kBACT;AAEA,0BAAQ,MAAM;AAAA,gBAChB;AAIA,sBAAM,IAAI,MAAM,gDAAgD;AAAA,cAClE;AAEA,kBAAI,EAAE,WAAW,EAAE,QAAQ;AAKzB,oBAAI;AACJ,oBAAI;AAAA,cACN,OAAO;AAML,oBAAI,eAAe;AACnB,oBAAI,SAAS,QAAQ;AAErB,uBAAO,QAAQ;AACb,sBAAI,WAAW,GAAG;AAChB,mCAAe;AACf,wBAAI;AACJ,wBAAI;AACJ;AAAA,kBACF;AAEA,sBAAI,WAAW,GAAG;AAChB,mCAAe;AACf,wBAAI;AACJ,wBAAI;AACJ;AAAA,kBACF;AAEA,2BAAS,OAAO;AAAA,gBAClB;AAEA,oBAAI,CAAC,cAAc;AAEjB,2BAAS,QAAQ;AAEjB,yBAAO,QAAQ;AACb,wBAAI,WAAW,GAAG;AAChB,qCAAe;AACf,0BAAI;AACJ,0BAAI;AACJ;AAAA,oBACF;AAEA,wBAAI,WAAW,GAAG;AAChB,qCAAe;AACf,0BAAI;AACJ,0BAAI;AACJ;AAAA,oBACF;AAEA,6BAAS,OAAO;AAAA,kBAClB;AAEA,sBAAI,CAAC,cAAc;AACjB,0BAAM,IAAI,MAAM,8HAAmI;AAAA,kBACrJ;AAAA,gBACF;AAAA,cACF;AAEA,kBAAI,EAAE,cAAc,GAAG;AACrB,sBAAM,IAAI,MAAM,8HAAmI;AAAA,cACrJ;AAAA,YACF;AAIA,gBAAI,EAAE,QAAQ,UAAU;AACtB,oBAAM,IAAI,MAAM,gDAAgD;AAAA,YAClE;AAEA,gBAAI,EAAE,UAAU,YAAY,GAAG;AAE7B,qBAAO;AAAA,YACT;AAGA,mBAAO;AAAA,UACT;AACA,mBAAS,qBAAqB,QAAQ;AACpC,gBAAI,gBAAgB,8BAA8B,MAAM;AACxD,mBAAO,kBAAkB,OAAO,yBAAyB,aAAa,IAAI;AAAA,UAC5E;AAEA,mBAAS,yBAAyB,MAAM;AAEtC,gBAAI,KAAK,QAAQ,iBAAiB,KAAK,QAAQ,UAAU;AACvD,qBAAO;AAAA,YACT;AAEA,gBAAI,QAAQ,KAAK;AAEjB,mBAAO,UAAU,MAAM;AACrB,kBAAI,QAAQ,yBAAyB,KAAK;AAE1C,kBAAI,UAAU,MAAM;AAClB,uBAAO;AAAA,cACT;AAEA,sBAAQ,MAAM;AAAA,YAChB;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,kCAAkC,QAAQ;AACjD,gBAAI,gBAAgB,8BAA8B,MAAM;AACxD,mBAAO,kBAAkB,OAAO,sCAAsC,aAAa,IAAI;AAAA,UACzF;AAEA,mBAAS,sCAAsC,MAAM;AAEnD,gBAAI,KAAK,QAAQ,iBAAiB,KAAK,QAAQ,UAAU;AACvD,qBAAO;AAAA,YACT;AAEA,gBAAI,QAAQ,KAAK;AAEjB,mBAAO,UAAU,MAAM;AACrB,kBAAI,MAAM,QAAQ,YAAY;AAC5B,oBAAI,QAAQ,sCAAsC,KAAK;AAEvD,oBAAI,UAAU,MAAM;AAClB,yBAAO;AAAA,gBACT;AAAA,cACF;AAEA,sBAAQ,MAAM;AAAA,YAChB;AAEA,mBAAO;AAAA,UACT;AAGA,cAAI,mBAAmB,UAAU;AACjC,cAAI,iBAAiB,UAAU;AAC/B,cAAI,cAAc,UAAU;AAC5B,cAAI,eAAe,UAAU;AAC7B,cAAI,MAAM,UAAU;AACpB,cAAI,0BAA0B,UAAU;AACxC,cAAI,oBAAoB,UAAU;AAClC,cAAI,uBAAuB,UAAU;AACrC,cAAI,iBAAiB,UAAU;AAC/B,cAAI,cAAc,UAAU;AAC5B,cAAI,eAAe,UAAU;AAG7B,cAAI,sBAAsB,UAAU;AACpC,cAAI,gCAAgC,UAAU;AAE9C,cAAI,aAAa;AACjB,cAAI,eAAe;AACnB,cAAI,yBAAyB;AAC7B,cAAI,iBAAiB;AACrB,cAAI,oBAAoB,OAAO,mCAAmC;AAClE,mBAAS,gBAAgB,WAAW;AAClC,gBAAI,OAAO,mCAAmC,aAAa;AAEzD,qBAAO;AAAA,YACT;AAEA,gBAAI,OAAO;AAEX,gBAAI,KAAK,YAAY;AAInB,qBAAO;AAAA,YACT;AAEA,gBAAI,CAAC,KAAK,eAAe;AACvB;AACE,sBAAM,+KAAyL;AAAA,cACjM;AAGA,qBAAO;AAAA,YACT;AAEA,gBAAI;AACF,kBAAI,0BAA0B;AAI5B,4BAAYf,QAAO,CAAC,GAAG,WAAW;AAAA,kBAChC;AAAA,kBACA;AAAA,gBACF,CAAC;AAAA,cACH;AAEA,2BAAa,KAAK,OAAO,SAAS;AAElC,6BAAe;AAAA,YACjB,SAAS,KAAK;AAEZ;AACE,sBAAM,mDAAmD,GAAG;AAAA,cAC9D;AAAA,YACF;AAEA,gBAAI,KAAK,UAAU;AAEjB,qBAAO;AAAA,YACT,OAAO;AAEL,qBAAO;AAAA,YACT;AAAA,UACF;AACA,mBAAS,eAAegB,OAAM,UAAU;AACtC;AACE,kBAAI,gBAAgB,OAAO,aAAa,wBAAwB,YAAY;AAC1E,oBAAI;AACF,+BAAa,oBAAoB,YAAYA,OAAM,QAAQ;AAAA,gBAC7D,SAAS,KAAK;AACZ,sBAAK,CAAC,gBAAgB;AACpB,qCAAiB;AAEjB,0BAAM,kDAAkD,GAAG;AAAA,kBAC7D;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AACA,mBAAS,aAAaA,OAAM,eAAe;AACzC,gBAAI,gBAAgB,OAAO,aAAa,sBAAsB,YAAY;AACxE,kBAAI;AACF,oBAAI,YAAYA,MAAK,QAAQ,QAAQ,gBAAgB;AAErD,oBAAI,qBAAqB;AACvB,sBAAI;AAEJ,0BAAQ,eAAe;AAAA,oBACrB,KAAK;AACH,0CAAoB;AACpB;AAAA,oBAEF,KAAK;AACH,0CAAoB;AACpB;AAAA,oBAEF,KAAK;AACH,0CAAoB;AACpB;AAAA,oBAEF,KAAK;AACH,0CAAoB;AACpB;AAAA,oBAEF;AACE,0CAAoB;AACpB;AAAA,kBACJ;AAEA,+BAAa,kBAAkB,YAAYA,OAAM,mBAAmB,QAAQ;AAAA,gBAC9E,OAAO;AACL,+BAAa,kBAAkB,YAAYA,OAAM,QAAW,QAAQ;AAAA,gBACtE;AAAA,cACF,SAAS,KAAK;AACZ;AACE,sBAAI,CAAC,gBAAgB;AACnB,qCAAiB;AAEjB,0BAAM,kDAAkD,GAAG;AAAA,kBAC7D;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AACA,mBAAS,iBAAiBA,OAAM;AAC9B,gBAAI,gBAAgB,OAAO,aAAa,0BAA0B,YAAY;AAC5E,kBAAI;AACF,6BAAa,sBAAsB,YAAYA,KAAI;AAAA,cACrD,SAAS,KAAK;AACZ;AACE,sBAAI,CAAC,gBAAgB;AACnB,qCAAiB;AAEjB,0BAAM,kDAAkD,GAAG;AAAA,kBAC7D;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AACA,mBAAS,gBAAgB,OAAO;AAC9B,gBAAI,gBAAgB,OAAO,aAAa,yBAAyB,YAAY;AAC3E,kBAAI;AACF,6BAAa,qBAAqB,YAAY,KAAK;AAAA,cACrD,SAAS,KAAK;AACZ;AACE,sBAAI,CAAC,gBAAgB;AACnB,qCAAiB;AAEjB,0BAAM,kDAAkD,GAAG;AAAA,kBAC7D;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AACA,mBAAS,2BAA2B,iBAAiB;AACnD;AACE,kBAAI,OAAO,wBAAwB,YAAY;AAI7C,8CAA8B,eAAe;AAC7C,mCAAmB,eAAe;AAAA,cACpC;AAEA,kBAAI,gBAAgB,OAAO,aAAa,kBAAkB,YAAY;AACpE,oBAAI;AACF,+BAAa,cAAc,YAAY,eAAe;AAAA,gBACxD,SAAS,KAAK;AACZ;AACE,wBAAI,CAAC,gBAAgB;AACnB,uCAAiB;AAEjB,4BAAM,kDAAkD,GAAG;AAAA,oBAC7D;AAAA,kBACF;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,qBAAqB,gBAAgB;AAC5C,qCAAyB;AAAA,UAC3B;AAEA,mBAAS,kBAAkB;AACzB;AACE,kBAAI,MAAM,oBAAI,IAAI;AAClB,kBAAI,OAAO;AAEX,uBAASC,SAAQ,GAAGA,SAAQ,YAAYA,UAAS;AAC/C,oBAAI,QAAQ,gBAAgB,IAAI;AAChC,oBAAI,IAAI,MAAM,KAAK;AACnB,wBAAQ;AAAA,cACV;AAEA,qBAAO;AAAA,YACT;AAAA,UACF;AAEA,mBAAS,kBAAkB,OAAO;AAChC;AACE,kBAAI,2BAA2B,QAAQ,OAAO,uBAAuB,sBAAsB,YAAY;AACrG,uCAAuB,kBAAkB,KAAK;AAAA,cAChD;AAAA,YACF;AAAA,UACF;AACA,mBAAS,oBAAoB;AAC3B;AACE,kBAAI,2BAA2B,QAAQ,OAAO,uBAAuB,sBAAsB,YAAY;AACrG,uCAAuB,kBAAkB;AAAA,cAC3C;AAAA,YACF;AAAA,UACF;AACA,mBAAS,2BAA2B,OAAO;AACzC;AACE,kBAAI,2BAA2B,QAAQ,OAAO,uBAAuB,+BAA+B,YAAY;AAC9G,uCAAuB,2BAA2B,KAAK;AAAA,cACzD;AAAA,YACF;AAAA,UACF;AACA,mBAAS,6BAA6B;AACpC;AACE,kBAAI,2BAA2B,QAAQ,OAAO,uBAAuB,+BAA+B,YAAY;AAC9G,uCAAuB,2BAA2B;AAAA,cACpD;AAAA,YACF;AAAA,UACF;AACA,mBAAS,uCAAuC,OAAO;AACrD;AACE,kBAAI,2BAA2B,QAAQ,OAAO,uBAAuB,2CAA2C,YAAY;AAC1H,uCAAuB,uCAAuC,KAAK;AAAA,cACrE;AAAA,YACF;AAAA,UACF;AACA,mBAAS,yCAAyC;AAChD;AACE,kBAAI,2BAA2B,QAAQ,OAAO,uBAAuB,2CAA2C,YAAY;AAC1H,uCAAuB,uCAAuC;AAAA,cAChE;AAAA,YACF;AAAA,UACF;AACA,mBAAS,yCAAyC,OAAO;AACvD;AACE,kBAAI,2BAA2B,QAAQ,OAAO,uBAAuB,6CAA6C,YAAY;AAC5H,uCAAuB,yCAAyC,KAAK;AAAA,cACvE;AAAA,YACF;AAAA,UACF;AACA,mBAAS,2CAA2C;AAClD;AACE,kBAAI,2BAA2B,QAAQ,OAAO,uBAAuB,6CAA6C,YAAY;AAC5H,uCAAuB,yCAAyC;AAAA,cAClE;AAAA,YACF;AAAA,UACF;AACA,mBAAS,sCAAsC,OAAO;AACpD;AACE,kBAAI,2BAA2B,QAAQ,OAAO,uBAAuB,0CAA0C,YAAY;AACzH,uCAAuB,sCAAsC,KAAK;AAAA,cACpE;AAAA,YACF;AAAA,UACF;AACA,mBAAS,wCAAwC;AAC/C;AACE,kBAAI,2BAA2B,QAAQ,OAAO,uBAAuB,0CAA0C,YAAY;AACzH,uCAAuB,sCAAsC;AAAA,cAC/D;AAAA,YACF;AAAA,UACF;AACA,mBAAS,wCAAwC,OAAO;AACtD;AACE,kBAAI,2BAA2B,QAAQ,OAAO,uBAAuB,4CAA4C,YAAY;AAC3H,uCAAuB,wCAAwC,KAAK;AAAA,cACtE;AAAA,YACF;AAAA,UACF;AACA,mBAAS,0CAA0C;AACjD;AACE,kBAAI,2BAA2B,QAAQ,OAAO,uBAAuB,4CAA4C,YAAY;AAC3H,uCAAuB,wCAAwC;AAAA,cACjE;AAAA,YACF;AAAA,UACF;AACA,mBAAS,qBAAqB,OAAO,aAAa,OAAO;AACvD;AACE,kBAAI,2BAA2B,QAAQ,OAAO,uBAAuB,yBAAyB,YAAY;AACxG,uCAAuB,qBAAqB,OAAO,aAAa,KAAK;AAAA,cACvE;AAAA,YACF;AAAA,UACF;AACA,mBAAS,uBAAuB,OAAO,UAAU,OAAO;AACtD;AACE,kBAAI,2BAA2B,QAAQ,OAAO,uBAAuB,2BAA2B,YAAY;AAC1G,uCAAuB,uBAAuB,OAAO,UAAU,KAAK;AAAA,cACtE;AAAA,YACF;AAAA,UACF;AACA,mBAAS,yBAAyB,OAAO;AACvC;AACE,kBAAI,2BAA2B,QAAQ,OAAO,uBAAuB,6BAA6B,YAAY;AAC5G,uCAAuB,yBAAyB,KAAK;AAAA,cACvD;AAAA,YACF;AAAA,UACF;AACA,mBAAS,2BAA2B;AAClC;AACE,kBAAI,2BAA2B,QAAQ,OAAO,uBAAuB,6BAA6B,YAAY;AAC5G,uCAAuB,yBAAyB;AAAA,cAClD;AAAA,YACF;AAAA,UACF;AACA,mBAAS,0BAA0B,OAAO;AACxC;AACE,kBAAI,2BAA2B,QAAQ,OAAO,uBAAuB,8BAA8B,YAAY;AAC7G,uCAAuB,0BAA0B,KAAK;AAAA,cACxD;AAAA,YACF;AAAA,UACF;AACA,mBAAS,4BAA4B;AACnC;AACE,kBAAI,2BAA2B,QAAQ,OAAO,uBAAuB,8BAA8B,YAAY;AAC7G,uCAAuB,0BAA0B;AAAA,cACnD;AAAA,YACF;AAAA,UACF;AACA,mBAAS,kBAAkB,OAAO;AAChC;AACE,kBAAI,2BAA2B,QAAQ,OAAO,uBAAuB,sBAAsB,YAAY;AACrG,uCAAuB,kBAAkB,KAAK;AAAA,cAChD;AAAA,YACF;AAAA,UACF;AACA,mBAAS,oBAAoB;AAC3B;AACE,kBAAI,2BAA2B,QAAQ,OAAO,uBAAuB,sBAAsB,YAAY;AACrG,uCAAuB,kBAAkB;AAAA,cAC3C;AAAA,YACF;AAAA,UACF;AACA,mBAAS,oBAAoB;AAC3B;AACE,kBAAI,2BAA2B,QAAQ,OAAO,uBAAuB,sBAAsB,YAAY;AACrG,uCAAuB,kBAAkB;AAAA,cAC3C;AAAA,YACF;AAAA,UACF;AACA,mBAAS,oBAAoB,MAAM;AACjC;AACE,kBAAI,2BAA2B,QAAQ,OAAO,uBAAuB,wBAAwB,YAAY;AACvG,uCAAuB,oBAAoB,IAAI;AAAA,cACjD;AAAA,YACF;AAAA,UACF;AACA,mBAAS,yBAAyB,OAAO,MAAM;AAC7C;AACE,kBAAI,2BAA2B,QAAQ,OAAO,uBAAuB,6BAA6B,YAAY;AAC5G,uCAAuB,yBAAyB,OAAO,IAAI;AAAA,cAC7D;AAAA,YACF;AAAA,UACF;AACA,mBAAS,yBAAyB,OAAO,MAAM;AAC7C;AACE,kBAAI,2BAA2B,QAAQ,OAAO,uBAAuB,6BAA6B,YAAY;AAC5G,uCAAuB,yBAAyB,OAAO,IAAI;AAAA,cAC7D;AAAA,YACF;AAAA,UACF;AAEA,cAAI;AAAA;AAAA,YAEJ;AAAA;AAEA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AAGA,cAAI,QAAQ,KAAK,QAAQ,KAAK,QAAQ;AAItC,cAAI,MAAM,KAAK;AACf,cAAI,MAAM,KAAK;AAEf,mBAAS,cAAc,GAAG;AACxB,gBAAI,SAAS,MAAM;AAEnB,gBAAI,WAAW,GAAG;AAChB,qBAAO;AAAA,YACT;AAEA,mBAAO,MAAM,IAAI,MAAM,IAAI,MAAM,KAAK;AAAA,UACxC;AAIA,cAAI,aAAa;AACjB,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI,gBAAgB;AACpB,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AAGA,mBAAS,gBAAgB,MAAM;AAC7B;AACE,kBAAI,OAAO,UAAU;AACnB,uBAAO;AAAA,cACT;AAEA,kBAAI,OAAO,8BAA8B;AACvC,uBAAO;AAAA,cACT;AAEA,kBAAI,OAAO,qBAAqB;AAC9B,uBAAO;AAAA,cACT;AAEA,kBAAI,OAAO,sBAAsB;AAC/B,uBAAO;AAAA,cACT;AAEA,kBAAI,OAAO,aAAa;AACtB,uBAAO;AAAA,cACT;AAEA,kBAAI,OAAO,yBAAyB;AAClC,uBAAO;AAAA,cACT;AAEA,kBAAI,OAAO,iBAAiB;AAC1B,uBAAO;AAAA,cACT;AAEA,kBAAI,OAAO,YAAY;AACrB,uBAAO;AAAA,cACT;AAEA,kBAAI,OAAO,wBAAwB;AACjC,uBAAO;AAAA,cACT;AAEA,kBAAI,OAAO,mBAAmB;AAC5B,uBAAO;AAAA,cACT;AAEA,kBAAI,OAAO,UAAU;AACnB,uBAAO;AAAA,cACT;AAEA,kBAAI,OAAO,eAAe;AACxB,uBAAO;AAAA,cACT;AAAA,YACF;AAAA,UACF;AACA,cAAI,cAAc;AAClB,cAAI,qBAAqB;AACzB,cAAI,gBAAgB;AAEpB,mBAAS,wBAAwB,OAAO;AACtC,oBAAQ,uBAAuB,KAAK,GAAG;AAAA,cACrC,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AACH,uBAAO,QAAQ;AAAA,cAEjB,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AACH,uBAAO,QAAQ;AAAA,cAEjB,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO;AAAA,cAET;AACE;AACE,wBAAM,2DAA2D;AAAA,gBACnE;AAGA,uBAAO;AAAA,YACX;AAAA,UACF;AAEA,mBAAS,aAAaD,OAAM,UAAU;AAEpC,gBAAI,eAAeA,MAAK;AAExB,gBAAI,iBAAiB,SAAS;AAC5B,qBAAO;AAAA,YACT;AAEA,gBAAI,YAAY;AAChB,gBAAI,iBAAiBA,MAAK;AAC1B,gBAAI,cAAcA,MAAK;AAGvB,gBAAI,sBAAsB,eAAe;AAEzC,gBAAI,wBAAwB,SAAS;AACnC,kBAAI,wBAAwB,sBAAsB,CAAC;AAEnD,kBAAI,0BAA0B,SAAS;AACrC,4BAAY,wBAAwB,qBAAqB;AAAA,cAC3D,OAAO;AACL,oBAAI,qBAAqB,sBAAsB;AAE/C,oBAAI,uBAAuB,SAAS;AAClC,8BAAY,wBAAwB,kBAAkB;AAAA,gBACxD;AAAA,cACF;AAAA,YACF,OAAO;AAEL,kBAAI,iBAAiB,eAAe,CAAC;AAErC,kBAAI,mBAAmB,SAAS;AAC9B,4BAAY,wBAAwB,cAAc;AAAA,cACpD,OAAO;AACL,oBAAI,gBAAgB,SAAS;AAC3B,8BAAY,wBAAwB,WAAW;AAAA,gBACjD;AAAA,cACF;AAAA,YACF;AAEA,gBAAI,cAAc,SAAS;AAGzB,qBAAO;AAAA,YACT;AAKA,gBAAI,aAAa,WAAW,aAAa;AAAA;AAAA,aAExC,WAAW,oBAAoB,SAAS;AACvC,kBAAI,WAAW,uBAAuB,SAAS;AAC/C,kBAAI,UAAU,uBAAuB,QAAQ;AAE7C;AAAA;AAAA;AAAA,gBAEA,YAAY;AAAA;AAAA;AAAA,gBAGZ,aAAa,gBAAgB,UAAU,qBAAqB;AAAA,gBAAS;AAEnE,uBAAO;AAAA,cACT;AAAA,YACF;AAEA,iBAAK,YAAY,yBAAyB,SAAS;AAKjD,2BAAa,eAAe;AAAA,YAC9B;AAwBA,gBAAI,iBAAiBA,MAAK;AAE1B,gBAAI,mBAAmB,SAAS;AAC9B,kBAAI,gBAAgBA,MAAK;AACzB,kBAAI,QAAQ,YAAY;AAExB,qBAAO,QAAQ,GAAG;AAChB,oBAAIC,SAAQ,uBAAuB,KAAK;AACxC,oBAAI,OAAO,KAAKA;AAChB,6BAAa,cAAcA,MAAK;AAChC,yBAAS,CAAC;AAAA,cACZ;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AACA,mBAAS,uBAAuBD,OAAM,OAAO;AAC3C,gBAAI,aAAaA,MAAK;AACtB,gBAAI,sBAAsB;AAE1B,mBAAO,QAAQ,GAAG;AAChB,kBAAIC,SAAQ,uBAAuB,KAAK;AACxC,kBAAI,OAAO,KAAKA;AAChB,kBAAI,YAAY,WAAWA,MAAK;AAEhC,kBAAI,YAAY,qBAAqB;AACnC,sCAAsB;AAAA,cACxB;AAEA,uBAAS,CAAC;AAAA,YACZ;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,sBAAsB,MAAM,aAAa;AAChD,oBAAQ,MAAM;AAAA,cACZ,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAUH,uBAAO,cAAc;AAAA,cAEvB,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AACH,uBAAO,cAAc;AAAA,cAEvB,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAMH,uBAAO;AAAA,cAET,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAEH,uBAAO;AAAA,cAET;AACE;AACE,wBAAM,2DAA2D;AAAA,gBACnE;AAEA,uBAAO;AAAA,YACX;AAAA,UACF;AAEA,mBAAS,0BAA0BD,OAAM,aAAa;AAIpD,gBAAI,eAAeA,MAAK;AACxB,gBAAI,iBAAiBA,MAAK;AAC1B,gBAAI,cAAcA,MAAK;AACvB,gBAAI,kBAAkBA,MAAK;AAI3B,gBAAI,QAAQ;AAEZ,mBAAO,QAAQ,GAAG;AAChB,kBAAIC,SAAQ,uBAAuB,KAAK;AACxC,kBAAI,OAAO,KAAKA;AAChB,kBAAI,iBAAiB,gBAAgBA,MAAK;AAE1C,kBAAI,mBAAmB,aAAa;AAIlC,qBAAK,OAAO,oBAAoB,YAAY,OAAO,iBAAiB,SAAS;AAE3E,kCAAgBA,MAAK,IAAI,sBAAsB,MAAM,WAAW;AAAA,gBAClE;AAAA,cACF,WAAW,kBAAkB,aAAa;AAExC,gBAAAD,MAAK,gBAAgB;AAAA,cACvB;AAEA,uBAAS,CAAC;AAAA,YACZ;AAAA,UACF;AAGA,mBAAS,+BAA+BA,OAAM;AAC5C,mBAAO,wBAAwBA,MAAK,YAAY;AAAA,UAClD;AACA,mBAAS,oCAAoCA,OAAM;AACjD,gBAAI,yBAAyBA,MAAK,eAAe,CAAC;AAElD,gBAAI,2BAA2B,SAAS;AACtC,qBAAO;AAAA,YACT;AAEA,gBAAI,yBAAyB,eAAe;AAC1C,qBAAO;AAAA,YACT;AAEA,mBAAO;AAAA,UACT;AACA,mBAAS,iBAAiB,OAAO;AAC/B,oBAAQ,QAAQ,cAAc;AAAA,UAChC;AACA,mBAAS,oBAAoB,OAAO;AAClC,oBAAQ,QAAQ,kBAAkB;AAAA,UACpC;AACA,mBAAS,oBAAoB,OAAO;AAClC,oBAAQ,QAAQ,gBAAgB;AAAA,UAClC;AACA,mBAAS,2BAA2B,OAAO;AACzC,gBAAI,cAAc,WAAW,sBAAsB;AACnD,oBAAQ,QAAQ,iBAAiB;AAAA,UACnC;AACA,mBAAS,wBAAwB,OAAO;AACtC,oBAAQ,QAAQ,qBAAqB;AAAA,UACvC;AACA,mBAAS,qBAAqBA,OAAM,OAAO;AAEzC,gBAAI,mBAAmB,+BAA+B,sBAAsB,uBAAuB;AACnG,oBAAQ,QAAQ,sBAAsB;AAAA,UACxC;AACA,mBAAS,oBAAoBA,OAAM,OAAO;AAGxC,oBAAQ,QAAQA,MAAK,kBAAkB;AAAA,UACzC;AACA,mBAAS,iBAAiB,MAAM;AAC9B,oBAAQ,OAAO,qBAAqB;AAAA,UACtC;AACA,mBAAS,0BAA0B;AAIjC,gBAAI,OAAO;AACX,mCAAuB;AAEvB,iBAAK,qBAAqB,qBAAqB,SAAS;AACtD,mCAAqB;AAAA,YACvB;AAEA,mBAAO;AAAA,UACT;AACA,mBAAS,qBAAqB;AAC5B,gBAAI,OAAO;AACX,8BAAkB;AAElB,iBAAK,gBAAgB,gBAAgB,SAAS;AAC5C,8BAAgB;AAAA,YAClB;AAEA,mBAAO;AAAA,UACT;AACA,mBAAS,uBAAuB,OAAO;AACrC,mBAAO,QAAQ,CAAC;AAAA,UAClB;AACA,mBAAS,kBAAkB,OAAO;AAKhC,mBAAO,uBAAuB,KAAK;AAAA,UACrC;AAEA,mBAAS,uBAAuB,OAAO;AACrC,mBAAO,KAAK,MAAM,KAAK;AAAA,UACzB;AAEA,mBAAS,YAAY,MAAM;AACzB,mBAAO,uBAAuB,IAAI;AAAA,UACpC;AAEA,mBAAS,iBAAiB,GAAG,GAAG;AAC9B,oBAAQ,IAAI,OAAO;AAAA,UACrB;AACA,mBAAS,gBAAgBb,MAAK,QAAQ;AACpC,oBAAQA,OAAM,YAAY;AAAA,UAC5B;AACA,mBAAS,WAAW,GAAG,GAAG;AACxB,mBAAO,IAAI;AAAA,UACb;AACA,mBAAS,YAAYA,MAAK,QAAQ;AAChC,mBAAOA,OAAM,CAAC;AAAA,UAChB;AACA,mBAAS,eAAe,GAAG,GAAG;AAC5B,mBAAO,IAAI;AAAA,UACb;AAGA,mBAAS,YAAY,MAAM;AACzB,mBAAO;AAAA,UACT;AACA,mBAAS,mBAAmB,GAAG,GAAG;AAEhC,mBAAO,MAAM,UAAU,IAAI,IAAI,IAAI;AAAA,UACrC;AACA,mBAAS,cAAc,SAAS;AAG9B,gBAAI,UAAU,CAAC;AAEf,qBAAS,IAAI,GAAG,IAAI,YAAY,KAAK;AACnC,sBAAQ,KAAK,OAAO;AAAA,YACtB;AAEA,mBAAO;AAAA,UACT;AACA,mBAAS,gBAAgBa,OAAM,YAAY,WAAW;AACpD,YAAAA,MAAK,gBAAgB;AAarB,gBAAI,eAAe,UAAU;AAC3B,cAAAA,MAAK,iBAAiB;AACtB,cAAAA,MAAK,cAAc;AAAA,YACrB;AAEA,gBAAI,aAAaA,MAAK;AACtB,gBAAIC,SAAQ,YAAY,UAAU;AAGlC,uBAAWA,MAAK,IAAI;AAAA,UACtB;AACA,mBAAS,kBAAkBD,OAAM,gBAAgB;AAC/C,YAAAA,MAAK,kBAAkB;AACvB,YAAAA,MAAK,eAAe,CAAC;AAErB,gBAAI,kBAAkBA,MAAK;AAC3B,gBAAI,QAAQ;AAEZ,mBAAO,QAAQ,GAAG;AAChB,kBAAIC,SAAQ,uBAAuB,KAAK;AACxC,kBAAI,OAAO,KAAKA;AAChB,8BAAgBA,MAAK,IAAI;AACzB,uBAAS,CAAC;AAAA,YACZ;AAAA,UACF;AACA,mBAAS,eAAeD,OAAM,aAAa,WAAW;AACpD,YAAAA,MAAK,eAAeA,MAAK,iBAAiB;AAAA,UAC5C;AACA,mBAAS,iBAAiBA,OAAM,gBAAgB;AAC9C,gBAAI,uBAAuBA,MAAK,eAAe,CAAC;AAChD,YAAAA,MAAK,eAAe;AAEpB,YAAAA,MAAK,iBAAiB;AACtB,YAAAA,MAAK,cAAc;AACnB,YAAAA,MAAK,gBAAgB;AACrB,YAAAA,MAAK,oBAAoB;AACzB,YAAAA,MAAK,kBAAkB;AACvB,gBAAI,gBAAgBA,MAAK;AACzB,gBAAI,aAAaA,MAAK;AACtB,gBAAI,kBAAkBA,MAAK;AAE3B,gBAAI,QAAQ;AAEZ,mBAAO,QAAQ,GAAG;AAChB,kBAAIC,SAAQ,uBAAuB,KAAK;AACxC,kBAAI,OAAO,KAAKA;AAChB,4BAAcA,MAAK,IAAI;AACvB,yBAAWA,MAAK,IAAI;AACpB,8BAAgBA,MAAK,IAAI;AACzB,uBAAS,CAAC;AAAA,YACZ;AAAA,UACF;AACA,mBAAS,kBAAkBD,OAAM,gBAAgB;AAY/C,gBAAI,qBAAqBA,MAAK,kBAAkB;AAChD,gBAAI,gBAAgBA,MAAK;AACzB,gBAAI,QAAQ;AAEZ,mBAAO,OAAO;AACZ,kBAAIC,SAAQ,uBAAuB,KAAK;AACxC,kBAAI,OAAO,KAAKA;AAEhB;AAAA;AAAA,gBACA,OAAO;AAAA,gBACP,cAAcA,MAAK,IAAI;AAAA,gBAAgB;AACrC,8BAAcA,MAAK,KAAK;AAAA,cAC1B;AAEA,uBAAS,CAAC;AAAA,YACZ;AAAA,UACF;AACA,mBAAS,0BAA0BD,OAAME,cAAa;AACpD,gBAAI,aAAa,uBAAuBA,YAAW;AACnD,gBAAI;AAEJ,oBAAQ,YAAY;AAAA,cAClB,KAAK;AACH,uBAAO;AACP;AAAA,cAEF,KAAK;AACH,uBAAO;AACP;AAAA,cAEF,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AACH,uBAAO;AACP;AAAA,cAEF,KAAK;AACH,uBAAO;AACP;AAAA,cAEF;AAGE,uBAAO;AACP;AAAA,YACJ;AAKA,iBAAK,QAAQF,MAAK,iBAAiBE,mBAAkB,QAAQ;AAE3D,qBAAO;AAAA,YACT;AAEA,mBAAO;AAAA,UACT;AACA,mBAAS,mBAAmBF,OAAM,OAAO,OAAO;AAE9C,gBAAI,CAAC,mBAAmB;AACtB;AAAA,YACF;AAEA,gBAAI,yBAAyBA,MAAK;AAElC,mBAAO,QAAQ,GAAG;AAChB,kBAAIC,SAAQ,YAAY,KAAK;AAC7B,kBAAI,OAAO,KAAKA;AAChB,kBAAI,WAAW,uBAAuBA,MAAK;AAC3C,uBAAS,IAAI,KAAK;AAClB,uBAAS,CAAC;AAAA,YACZ;AAAA,UACF;AACA,mBAAS,4BAA4BD,OAAM,OAAO;AAEhD,gBAAI,CAAC,mBAAmB;AACtB;AAAA,YACF;AAEA,gBAAI,yBAAyBA,MAAK;AAClC,gBAAI,mBAAmBA,MAAK;AAE5B,mBAAO,QAAQ,GAAG;AAChB,kBAAIC,SAAQ,YAAY,KAAK;AAC7B,kBAAI,OAAO,KAAKA;AAChB,kBAAI,WAAW,uBAAuBA,MAAK;AAE3C,kBAAI,SAAS,OAAO,GAAG;AACrB,yBAAS,QAAQ,SAAU,OAAO;AAChC,sBAAI,YAAY,MAAM;AAEtB,sBAAI,cAAc,QAAQ,CAAC,iBAAiB,IAAI,SAAS,GAAG;AAC1D,qCAAiB,IAAI,KAAK;AAAA,kBAC5B;AAAA,gBACF,CAAC;AACD,yBAAS,MAAM;AAAA,cACjB;AAEA,uBAAS,CAAC;AAAA,YACZ;AAAA,UACF;AACA,mBAAS,uBAAuBD,OAAM,OAAO;AAC3C;AACE,qBAAO;AAAA,YACT;AAAA,UACF;AAEA,cAAI,wBAAwB;AAC5B,cAAI,0BAA0B;AAC9B,cAAI,uBAAuB;AAC3B,cAAI,oBAAoB;AACxB,cAAI,wBAAwB;AAC5B,mBAAS,2BAA2B;AAClC,mBAAO;AAAA,UACT;AACA,mBAAS,yBAAyB,aAAa;AAC7C,oCAAwB;AAAA,UAC1B;AACA,mBAAS,gBAAgB,UAAU,IAAI;AACrC,gBAAI,mBAAmB;AAEvB,gBAAI;AACF,sCAAwB;AACxB,qBAAO,GAAG;AAAA,YACZ,UAAE;AACA,sCAAwB;AAAA,YAC1B;AAAA,UACF;AACA,mBAAS,oBAAoB,GAAG,GAAG;AACjC,mBAAO,MAAM,KAAK,IAAI,IAAI,IAAI;AAAA,UAChC;AACA,mBAAS,mBAAmB,GAAG,GAAG;AAChC,mBAAO,MAAM,KAAK,IAAI,IAAI,IAAI;AAAA,UAChC;AACA,mBAAS,sBAAsB,GAAG,GAAG;AACnC,mBAAO,MAAM,KAAK,IAAI;AAAA,UACxB;AACA,mBAAS,qBAAqB,OAAO;AACnC,gBAAI,OAAO,uBAAuB,KAAK;AAEvC,gBAAI,CAAC,sBAAsB,uBAAuB,IAAI,GAAG;AACvD,qBAAO;AAAA,YACT;AAEA,gBAAI,CAAC,sBAAsB,yBAAyB,IAAI,GAAG;AACzD,qBAAO;AAAA,YACT;AAEA,gBAAI,oBAAoB,IAAI,GAAG;AAC7B,qBAAO;AAAA,YACT;AAEA,mBAAO;AAAA,UACT;AAKA,mBAAS,iBAAiBA,OAAM;AAC9B,gBAAI,eAAeA,MAAK,QAAQ;AAChC,mBAAO,aAAa;AAAA,UACtB;AAEA,cAAI;AAEJ,mBAAS,+BAA+B,IAAI;AAC1C,2CAA+B;AAAA,UACjC;AACA,mBAAS,4BAA4B,OAAO;AAC1C,yCAA6B,KAAK;AAAA,UACpC;AACA,cAAI;AACJ,mBAAS,8BAA8B,IAAI;AACzC,yCAA6B;AAAA,UAC/B;AACA,cAAI;AACJ,mBAAS,qCAAqC,IAAI;AAChD,gDAAoC;AAAA,UACtC;AACA,cAAI;AACJ,mBAAS,4BAA4B,IAAI;AACvC,yCAA6B;AAAA,UAC/B;AACA,cAAI;AACJ,mBAAS,8BAA8B,IAAI;AACzC,yCAA6B;AAAA,UAC/B;AAGA,cAAI,4BAA4B;AAEhC,cAAI,uBAAuB,CAAC;AAG5B,cAAI,cAAc;AAClB,cAAI,aAAa;AACjB,cAAI,cAAc;AAElB,cAAI,iBAAiB,oBAAI,IAAI;AAC7B,cAAI,wBAAwB,oBAAI,IAAI;AAEpC,cAAI,iCAAiC,CAAC;AACtC,cAAI,2BAA2B;AAAA,YAAC;AAAA,YAAa;AAAA,YAAW;AAAA,YAAe;AAAA,YAAY;AAAA,YAAc;AAAA,YAAY;AAAA,YAAY;AAAA,YAAiB;AAAA,YAAe;AAAA,YAAa;AAAA,YAAW;AAAA,YAAa;AAAA,YAAQ;AAAA,YAAkB;AAAA,YAAoB;AAAA,YAAW;AAAA,YAAY;AAAA,YAAS;AAAA,YAAS;AAAA;AAAA,YACrR;AAAA,YAAQ;AAAA,YAAO;AAAA,YAAS;AAAA,YAAS;AAAA,YAAU;AAAA,YAAe;AAAA,YAAS;AAAA,UAAQ;AAC3E,mBAAS,qCAAqC,WAAW;AACvD,mBAAO,yBAAyB,QAAQ,SAAS,IAAI;AAAA,UACvD;AAEA,mBAAS,4BAA4B,WAAW,cAAc,kBAAkB,iBAAiB,aAAa;AAC5G,mBAAO;AAAA,cACL;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA,kBAAkB,CAAC,eAAe;AAAA,YACpC;AAAA,UACF;AAEA,mBAAS,uBAAuB,cAAc,aAAa;AACzD,oBAAQ,cAAc;AAAA,cACpB,KAAK;AAAA,cACL,KAAK;AACH,8BAAc;AACd;AAAA,cAEF,KAAK;AAAA,cACL,KAAK;AACH,6BAAa;AACb;AAAA,cAEF,KAAK;AAAA,cACL,KAAK;AACH,8BAAc;AACd;AAAA,cAEF,KAAK;AAAA,cACL,KAAK,cACH;AACE,oBAAI,YAAY,YAAY;AAC5B,+BAAe,OAAO,SAAS;AAC/B;AAAA,cACF;AAAA,cAEF,KAAK;AAAA,cACL,KAAK,sBACH;AACE,oBAAI,aAAa,YAAY;AAC7B,sCAAsB,OAAO,UAAU;AACvC;AAAA,cACF;AAAA,YACJ;AAAA,UACF;AAEA,mBAAS,kDAAkD,qBAAqB,WAAW,cAAc,kBAAkB,iBAAiB,aAAa;AACvJ,gBAAI,wBAAwB,QAAQ,oBAAoB,gBAAgB,aAAa;AACnF,kBAAI,cAAc,4BAA4B,WAAW,cAAc,kBAAkB,iBAAiB,WAAW;AAErH,kBAAI,cAAc,MAAM;AACtB,oBAAI,UAAU,oBAAoB,SAAS;AAE3C,oBAAI,YAAY,MAAM;AAEpB,6CAA2B,OAAO;AAAA,gBACpC;AAAA,cACF;AAEA,qBAAO;AAAA,YACT;AAMA,gCAAoB,oBAAoB;AACxC,gBAAI,mBAAmB,oBAAoB;AAE3C,gBAAI,oBAAoB,QAAQ,iBAAiB,QAAQ,eAAe,MAAM,IAAI;AAChF,+BAAiB,KAAK,eAAe;AAAA,YACvC;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,uBAAuB,WAAW,cAAc,kBAAkB,iBAAiB,aAAa;AAIvG,oBAAQ,cAAc;AAAA,cACpB,KAAK,WACH;AACE,oBAAI,aAAa;AACjB,8BAAc,kDAAkD,aAAa,WAAW,cAAc,kBAAkB,iBAAiB,UAAU;AACnJ,uBAAO;AAAA,cACT;AAAA,cAEF,KAAK,aACH;AACE,oBAAI,YAAY;AAChB,6BAAa,kDAAkD,YAAY,WAAW,cAAc,kBAAkB,iBAAiB,SAAS;AAChJ,uBAAO;AAAA,cACT;AAAA,cAEF,KAAK,aACH;AACE,oBAAI,aAAa;AACjB,8BAAc,kDAAkD,aAAa,WAAW,cAAc,kBAAkB,iBAAiB,UAAU;AACnJ,uBAAO;AAAA,cACT;AAAA,cAEF,KAAK,eACH;AACE,oBAAI,eAAe;AACnB,oBAAI,YAAY,aAAa;AAC7B,+BAAe,IAAI,WAAW,kDAAkD,eAAe,IAAI,SAAS,KAAK,MAAM,WAAW,cAAc,kBAAkB,iBAAiB,YAAY,CAAC;AAChM,uBAAO;AAAA,cACT;AAAA,cAEF,KAAK,qBACH;AACE,oBAAI,gBAAgB;AACpB,oBAAI,cAAc,cAAc;AAChC,sCAAsB,IAAI,aAAa,kDAAkD,sBAAsB,IAAI,WAAW,KAAK,MAAM,WAAW,cAAc,kBAAkB,iBAAiB,aAAa,CAAC;AACnN,uBAAO;AAAA,cACT;AAAA,YACJ;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,+BAA+B,cAAc;AAIpD,gBAAI,aAAa,2BAA2B,aAAa,MAAM;AAE/D,gBAAI,eAAe,MAAM;AACvB,kBAAI,iBAAiB,uBAAuB,UAAU;AAEtD,kBAAI,mBAAmB,MAAM;AAC3B,oBAAI,MAAM,eAAe;AAEzB,oBAAI,QAAQ,mBAAmB;AAC7B,sBAAI,WAAW,6BAA6B,cAAc;AAE1D,sBAAI,aAAa,MAAM;AAGrB,iCAAa,YAAY;AACzB,+CAA2B,aAAa,UAAU,WAAY;AAC5D,wDAAkC,cAAc;AAAA,oBAClD,CAAC;AACD;AAAA,kBACF;AAAA,gBACF,WAAW,QAAQ,UAAU;AAC3B,sBAAIA,QAAO,eAAe;AAE1B,sBAAI,iBAAiBA,KAAI,GAAG;AAC1B,iCAAa,YAAY,sBAAsB,cAAc;AAG7D;AAAA,kBACF;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAEA,yBAAa,YAAY;AAAA,UAC3B;AAEA,mBAAS,6BAA6B,QAAQ;AAI5C,gBAAI,iBAAiB,2BAA2B;AAChD,gBAAI,eAAe;AAAA,cACjB,WAAW;AAAA,cACX;AAAA,cACA,UAAU;AAAA,YACZ;AACA,gBAAI,IAAI;AAER,mBAAO,IAAI,+BAA+B,QAAQ,KAAK;AAErD,kBAAI,CAAC,sBAAsB,gBAAgB,+BAA+B,CAAC,EAAE,QAAQ,GAAG;AACtF;AAAA,cACF;AAAA,YACF;AAEA,2CAA+B,OAAO,GAAG,GAAG,YAAY;AAExD,gBAAI,MAAM,GAAG;AACX,6CAA+B,YAAY;AAAA,YAC7C;AAAA,UACF;AAEA,mBAAS,mCAAmC,aAAa;AACvD,gBAAI,YAAY,cAAc,MAAM;AAClC,qBAAO;AAAA,YACT;AAEA,gBAAI,mBAAmB,YAAY;AAEnC,mBAAO,iBAAiB,SAAS,GAAG;AAClC,kBAAI,kBAAkB,iBAAiB,CAAC;AACxC,kBAAI,gBAAgB,0BAA0B,YAAY,cAAc,YAAY,kBAAkB,iBAAiB,YAAY,WAAW;AAE9I,kBAAI,kBAAkB,MAAM;AAC1B;AACE,sBAAI,cAAc,YAAY;AAC9B,sBAAI,mBAAmB,IAAI,YAAY,YAAY,YAAY,MAAM,WAAW;AAChF,oCAAkB,gBAAgB;AAClC,8BAAY,OAAO,cAAc,gBAAgB;AACjD,sCAAoB;AAAA,gBACtB;AAAA,cACF,OAAO;AAEL,oBAAI,UAAU,oBAAoB,aAAa;AAE/C,oBAAI,YAAY,MAAM;AACpB,6CAA2B,OAAO;AAAA,gBACpC;AAEA,4BAAY,YAAY;AACxB,uBAAO;AAAA,cACT;AAGA,+BAAiB,MAAM;AAAA,YACzB;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,wCAAwC,aAAa,KAAK,KAAK;AACtE,gBAAI,mCAAmC,WAAW,GAAG;AACnD,kBAAI,OAAO,GAAG;AAAA,YAChB;AAAA,UACF;AAEA,mBAAS,wBAAwB;AAC/B,wCAA4B;AAG5B,gBAAI,gBAAgB,QAAQ,mCAAmC,WAAW,GAAG;AAC3E,4BAAc;AAAA,YAChB;AAEA,gBAAI,eAAe,QAAQ,mCAAmC,UAAU,GAAG;AACzE,2BAAa;AAAA,YACf;AAEA,gBAAI,gBAAgB,QAAQ,mCAAmC,WAAW,GAAG;AAC3E,4BAAc;AAAA,YAChB;AAEA,2BAAe,QAAQ,uCAAuC;AAC9D,kCAAsB,QAAQ,uCAAuC;AAAA,UACvE;AAEA,mBAAS,4BAA4B,aAAa,WAAW;AAC3D,gBAAI,YAAY,cAAc,WAAW;AACvC,0BAAY,YAAY;AAExB,kBAAI,CAAC,2BAA2B;AAC9B,4CAA4B;AAI5B,0BAAU,0BAA0B,UAAU,yBAAyB,qBAAqB;AAAA,cAC9F;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,iBAAiB,WAAW;AAGnC,gBAAI,qBAAqB,SAAS,GAAG;AACnC,0CAA4B,qBAAqB,CAAC,GAAG,SAAS;AAI9D,uBAAS,IAAI,GAAG,IAAI,qBAAqB,QAAQ,KAAK;AACpD,oBAAI,cAAc,qBAAqB,CAAC;AAExC,oBAAI,YAAY,cAAc,WAAW;AACvC,8BAAY,YAAY;AAAA,gBAC1B;AAAA,cACF;AAAA,YACF;AAEA,gBAAI,gBAAgB,MAAM;AACxB,0CAA4B,aAAa,SAAS;AAAA,YACpD;AAEA,gBAAI,eAAe,MAAM;AACvB,0CAA4B,YAAY,SAAS;AAAA,YACnD;AAEA,gBAAI,gBAAgB,MAAM;AACxB,0CAA4B,aAAa,SAAS;AAAA,YACpD;AAEA,gBAAI,UAAU,SAAUG,cAAa;AACnC,qBAAO,4BAA4BA,cAAa,SAAS;AAAA,YAC3D;AAEA,2BAAe,QAAQ,OAAO;AAC9B,kCAAsB,QAAQ,OAAO;AAErC,qBAAS,KAAK,GAAG,KAAK,+BAA+B,QAAQ,MAAM;AACjE,kBAAI,eAAe,+BAA+B,EAAE;AAEpD,kBAAI,aAAa,cAAc,WAAW;AACxC,6BAAa,YAAY;AAAA,cAC3B;AAAA,YACF;AAEA,mBAAO,+BAA+B,SAAS,GAAG;AAChD,kBAAI,qBAAqB,+BAA+B,CAAC;AAEzD,kBAAI,mBAAmB,cAAc,MAAM;AAEzC;AAAA,cACF,OAAO;AACL,+CAA+B,kBAAkB;AAEjD,oBAAI,mBAAmB,cAAc,MAAM;AAEzC,iDAA+B,MAAM;AAAA,gBACvC;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,cAAI,0BAA0B,qBAAqB;AAEnD,cAAI,WAAW;AAGf,mBAAS,WAAW,SAAS;AAC3B,uBAAW,CAAC,CAAC;AAAA,UACf;AACA,mBAAS,YAAY;AACnB,mBAAO;AAAA,UACT;AACA,mBAAS,uCAAuC,iBAAiB,cAAc,kBAAkB;AAC/F,gBAAI,gBAAgB,iBAAiB,YAAY;AACjD,gBAAI;AAEJ,oBAAQ,eAAe;AAAA,cACrB,KAAK;AACH,kCAAkB;AAClB;AAAA,cAEF,KAAK;AACH,kCAAkB;AAClB;AAAA,cAEF,KAAK;AAAA,cACL;AACE,kCAAkB;AAClB;AAAA,YACJ;AAEA,mBAAO,gBAAgB,KAAK,MAAM,cAAc,kBAAkB,eAAe;AAAA,UACnF;AAEA,mBAAS,sBAAsB,cAAc,kBAAkB,WAAW,aAAa;AACrF,gBAAI,mBAAmB,yBAAyB;AAChD,gBAAI,iBAAiB,wBAAwB;AAC7C,oCAAwB,aAAa;AAErC,gBAAI;AACF,uCAAyB,qBAAqB;AAC9C,4BAAc,cAAc,kBAAkB,WAAW,WAAW;AAAA,YACtE,UAAE;AACA,uCAAyB,gBAAgB;AACzC,sCAAwB,aAAa;AAAA,YACvC;AAAA,UACF;AAEA,mBAAS,wBAAwB,cAAc,kBAAkB,WAAW,aAAa;AACvF,gBAAI,mBAAmB,yBAAyB;AAChD,gBAAI,iBAAiB,wBAAwB;AAC7C,oCAAwB,aAAa;AAErC,gBAAI;AACF,uCAAyB,uBAAuB;AAChD,4BAAc,cAAc,kBAAkB,WAAW,WAAW;AAAA,YACtE,UAAE;AACA,uCAAyB,gBAAgB;AACzC,sCAAwB,aAAa;AAAA,YACvC;AAAA,UACF;AAEA,mBAAS,cAAc,cAAc,kBAAkB,iBAAiB,aAAa;AACnF,gBAAI,CAAC,UAAU;AACb;AAAA,YACF;AAEA;AACE,8FAAgF,cAAc,kBAAkB,iBAAiB,WAAW;AAAA,YAC9I;AAAA,UACF;AAEA,mBAAS,gFAAgF,cAAc,kBAAkB,iBAAiB,aAAa;AACrJ,gBAAI,YAAY,0BAA0B,cAAc,kBAAkB,iBAAiB,WAAW;AAEtG,gBAAI,cAAc,MAAM;AACtB,gDAAkC,cAAc,kBAAkB,aAAa,mBAAmB,eAAe;AACjH,qCAAuB,cAAc,WAAW;AAChD;AAAA,YACF;AAEA,gBAAI,uBAAuB,WAAW,cAAc,kBAAkB,iBAAiB,WAAW,GAAG;AACnG,0BAAY,gBAAgB;AAC5B;AAAA,YACF;AAIA,mCAAuB,cAAc,WAAW;AAEhD,gBAAI,mBAAmB,oBAAoB,qCAAqC,YAAY,GAAG;AAC7F,qBAAO,cAAc,MAAM;AACzB,oBAAI,QAAQ,oBAAoB,SAAS;AAEzC,oBAAI,UAAU,MAAM;AAClB,8CAA4B,KAAK;AAAA,gBACnC;AAEA,oBAAI,gBAAgB,0BAA0B,cAAc,kBAAkB,iBAAiB,WAAW;AAE1G,oBAAI,kBAAkB,MAAM;AAC1B,oDAAkC,cAAc,kBAAkB,aAAa,mBAAmB,eAAe;AAAA,gBACnH;AAEA,oBAAI,kBAAkB,WAAW;AAC/B;AAAA,gBACF;AAEA,4BAAY;AAAA,cACd;AAEA,kBAAI,cAAc,MAAM;AACtB,4BAAY,gBAAgB;AAAA,cAC9B;AAEA;AAAA,YACF;AAIA,8CAAkC,cAAc,kBAAkB,aAAa,MAAM,eAAe;AAAA,UACtG;AAEA,cAAI,oBAAoB;AAGxB,mBAAS,0BAA0B,cAAc,kBAAkB,iBAAiB,aAAa;AAE/F,gCAAoB;AACpB,gBAAI,oBAAoB,eAAe,WAAW;AAClD,gBAAI,aAAa,2BAA2B,iBAAiB;AAE7D,gBAAI,eAAe,MAAM;AACvB,kBAAI,iBAAiB,uBAAuB,UAAU;AAEtD,kBAAI,mBAAmB,MAAM;AAE3B,6BAAa;AAAA,cACf,OAAO;AACL,oBAAI,MAAM,eAAe;AAEzB,oBAAI,QAAQ,mBAAmB;AAC7B,sBAAI,WAAW,6BAA6B,cAAc;AAE1D,sBAAI,aAAa,MAAM;AAKrB,2BAAO;AAAA,kBACT;AAKA,+BAAa;AAAA,gBACf,WAAW,QAAQ,UAAU;AAC3B,sBAAIH,QAAO,eAAe;AAE1B,sBAAI,iBAAiBA,KAAI,GAAG;AAG1B,2BAAO,sBAAsB,cAAc;AAAA,kBAC7C;AAEA,+BAAa;AAAA,gBACf,WAAW,mBAAmB,YAAY;AAKxC,+BAAa;AAAA,gBACf;AAAA,cACF;AAAA,YACF;AAEA,gCAAoB;AAEpB,mBAAO;AAAA,UACT;AACA,mBAAS,iBAAiB,cAAc;AACtC,oBAAQ,cAAc;AAAA,cAEpB,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cAGL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cAGL,KAAK;AAAA,cACL,KAAK;AAAA,cAGL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cAGL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AACH,uBAAO;AAAA,cAET,KAAK,WACH;AAIE,oBAAI,oBAAoB,wBAAwB;AAEhD,wBAAQ,mBAAmB;AAAA,kBACzB,KAAK;AACH,2BAAO;AAAA,kBAET,KAAK;AACH,2BAAO;AAAA,kBAET,KAAK;AAAA,kBACL,KAAK;AAEH,2BAAO;AAAA,kBAET,KAAK;AACH,2BAAO;AAAA,kBAET;AACE,2BAAO;AAAA,gBACX;AAAA,cACF;AAAA,cAEF;AACE,uBAAO;AAAA,YACX;AAAA,UACF;AAEA,mBAAS,uBAAuB,QAAQ,WAAW,UAAU;AAC3D,mBAAO,iBAAiB,WAAW,UAAU,KAAK;AAClD,mBAAO;AAAA,UACT;AACA,mBAAS,wBAAwB,QAAQ,WAAW,UAAU;AAC5D,mBAAO,iBAAiB,WAAW,UAAU,IAAI;AACjD,mBAAO;AAAA,UACT;AACA,mBAAS,uCAAuC,QAAQ,WAAW,UAAU,SAAS;AACpF,mBAAO,iBAAiB,WAAW,UAAU;AAAA,cAC3C,SAAS;AAAA,cACT;AAAA,YACF,CAAC;AACD,mBAAO;AAAA,UACT;AACA,mBAAS,sCAAsC,QAAQ,WAAW,UAAU,SAAS;AACnF,mBAAO,iBAAiB,WAAW,UAAU;AAAA,cAC3C;AAAA,YACF,CAAC;AACD,mBAAO;AAAA,UACT;AAaA,cAAIA,QAAO;AACX,cAAI,YAAY;AAChB,cAAI,eAAe;AACnB,mBAAS,WAAW,mBAAmB;AACrC,YAAAA,QAAO;AACP,wBAAY,QAAQ;AACpB,mBAAO;AAAA,UACT;AACA,mBAAS,QAAQ;AACf,YAAAA,QAAO;AACP,wBAAY;AACZ,2BAAe;AAAA,UACjB;AACA,mBAAS,UAAU;AACjB,gBAAI,cAAc;AAChB,qBAAO;AAAA,YACT;AAEA,gBAAI;AACJ,gBAAI,aAAa;AACjB,gBAAI,cAAc,WAAW;AAC7B,gBAAI;AACJ,gBAAI,WAAW,QAAQ;AACvB,gBAAI,YAAY,SAAS;AAEzB,iBAAK,QAAQ,GAAG,QAAQ,aAAa,SAAS;AAC5C,kBAAI,WAAW,KAAK,MAAM,SAAS,KAAK,GAAG;AACzC;AAAA,cACF;AAAA,YACF;AAEA,gBAAI,SAAS,cAAc;AAE3B,iBAAK,MAAM,GAAG,OAAO,QAAQ,OAAO;AAClC,kBAAI,WAAW,cAAc,GAAG,MAAM,SAAS,YAAY,GAAG,GAAG;AAC/D;AAAA,cACF;AAAA,YACF;AAEA,gBAAI,YAAY,MAAM,IAAI,IAAI,MAAM;AACpC,2BAAe,SAAS,MAAM,OAAO,SAAS;AAC9C,mBAAO;AAAA,UACT;AACA,mBAAS,UAAU;AACjB,gBAAI,WAAWA,OAAM;AACnB,qBAAOA,MAAK;AAAA,YACd;AAEA,mBAAOA,MAAK;AAAA,UACd;AAYA,mBAAS,iBAAiB,aAAa;AACrC,gBAAI;AACJ,gBAAI,UAAU,YAAY;AAE1B,gBAAI,cAAc,aAAa;AAC7B,yBAAW,YAAY;AAEvB,kBAAI,aAAa,KAAK,YAAY,IAAI;AACpC,2BAAW;AAAA,cACb;AAAA,YACF,OAAO;AAEL,yBAAW;AAAA,YACb;AAIA,gBAAI,aAAa,IAAI;AACnB,yBAAW;AAAA,YACb;AAIA,gBAAI,YAAY,MAAM,aAAa,IAAI;AACrC,qBAAO;AAAA,YACT;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,0BAA0B;AACjC,mBAAO;AAAA,UACT;AAEA,mBAAS,2BAA2B;AAClC,mBAAO;AAAA,UACT;AAIA,mBAAS,qBAAqB,WAAW;AAcvC,qBAAS,mBAAmB,WAAW,gBAAgB,YAAY,aAAa,mBAAmB;AACjG,mBAAK,aAAa;AAClB,mBAAK,cAAc;AACnB,mBAAK,OAAO;AACZ,mBAAK,cAAc;AACnB,mBAAK,SAAS;AACd,mBAAK,gBAAgB;AAErB,uBAAS,aAAa,WAAW;AAC/B,oBAAI,CAAC,UAAU,eAAe,SAAS,GAAG;AACxC;AAAA,gBACF;AAEA,oBAAII,aAAY,UAAU,SAAS;AAEnC,oBAAIA,YAAW;AACb,uBAAK,SAAS,IAAIA,WAAU,WAAW;AAAA,gBACzC,OAAO;AACL,uBAAK,SAAS,IAAI,YAAY,SAAS;AAAA,gBACzC;AAAA,cACF;AAEA,kBAAI,mBAAmB,YAAY,oBAAoB,OAAO,YAAY,mBAAmB,YAAY,gBAAgB;AAEzH,kBAAI,kBAAkB;AACpB,qBAAK,qBAAqB;AAAA,cAC5B,OAAO;AACL,qBAAK,qBAAqB;AAAA,cAC5B;AAEA,mBAAK,uBAAuB;AAC5B,qBAAO;AAAA,YACT;AAEA,YAAApB,QAAO,mBAAmB,WAAW;AAAA,cACnC,gBAAgB,WAAY;AAC1B,qBAAK,mBAAmB;AACxB,oBAAI,QAAQ,KAAK;AAEjB,oBAAI,CAAC,OAAO;AACV;AAAA,gBACF;AAEA,oBAAI,MAAM,gBAAgB;AACxB,wBAAM,eAAe;AAAA,gBACvB,WAAW,OAAO,MAAM,gBAAgB,WAAW;AACjD,wBAAM,cAAc;AAAA,gBACtB;AAEA,qBAAK,qBAAqB;AAAA,cAC5B;AAAA,cACA,iBAAiB,WAAY;AAC3B,oBAAI,QAAQ,KAAK;AAEjB,oBAAI,CAAC,OAAO;AACV;AAAA,gBACF;AAEA,oBAAI,MAAM,iBAAiB;AACzB,wBAAM,gBAAgB;AAAA,gBACxB,WAAW,OAAO,MAAM,iBAAiB,WAAW;AAMlD,wBAAM,eAAe;AAAA,gBACvB;AAEA,qBAAK,uBAAuB;AAAA,cAC9B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAOA,SAAS,WAAY;AAAA,cACrB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAOA,cAAc;AAAA,YAChB,CAAC;AACD,mBAAO;AAAA,UACT;AAOA,cAAI,iBAAiB;AAAA,YACnB,YAAY;AAAA,YACZ,SAAS;AAAA,YACT,YAAY;AAAA,YACZ,WAAW,SAAU,OAAO;AAC1B,qBAAO,MAAM,aAAa,KAAK,IAAI;AAAA,YACrC;AAAA,YACA,kBAAkB;AAAA,YAClB,WAAW;AAAA,UACb;AACA,cAAI,iBAAiB,qBAAqB,cAAc;AAExD,cAAI,mBAAmBA,QAAO,CAAC,GAAG,gBAAgB;AAAA,YAChD,MAAM;AAAA,YACN,QAAQ;AAAA,UACV,CAAC;AAED,cAAI,mBAAmB,qBAAqB,gBAAgB;AAC5D,cAAI;AACJ,cAAI;AACJ,cAAI;AAEJ,mBAAS,iCAAiC,OAAO;AAC/C,gBAAI,UAAU,gBAAgB;AAC5B,kBAAI,kBAAkB,MAAM,SAAS,aAAa;AAChD,gCAAgB,MAAM,UAAU,eAAe;AAC/C,gCAAgB,MAAM,UAAU,eAAe;AAAA,cACjD,OAAO;AACL,gCAAgB;AAChB,gCAAgB;AAAA,cAClB;AAEA,+BAAiB;AAAA,YACnB;AAAA,UACF;AAOA,cAAI,sBAAsBA,QAAO,CAAC,GAAG,kBAAkB;AAAA,YACrD,SAAS;AAAA,YACT,SAAS;AAAA,YACT,SAAS;AAAA,YACT,SAAS;AAAA,YACT,OAAO;AAAA,YACP,OAAO;AAAA,YACP,SAAS;AAAA,YACT,UAAU;AAAA,YACV,QAAQ;AAAA,YACR,SAAS;AAAA,YACT,kBAAkB;AAAA,YAClB,QAAQ;AAAA,YACR,SAAS;AAAA,YACT,eAAe,SAAU,OAAO;AAC9B,kBAAI,MAAM,kBAAkB;AAAW,uBAAO,MAAM,gBAAgB,MAAM,aAAa,MAAM,YAAY,MAAM;AAC/G,qBAAO,MAAM;AAAA,YACf;AAAA,YACA,WAAW,SAAU,OAAO;AAC1B,kBAAI,eAAe,OAAO;AACxB,uBAAO,MAAM;AAAA,cACf;AAEA,+CAAiC,KAAK;AACtC,qBAAO;AAAA,YACT;AAAA,YACA,WAAW,SAAU,OAAO;AAC1B,kBAAI,eAAe,OAAO;AACxB,uBAAO,MAAM;AAAA,cACf;AAKA,qBAAO;AAAA,YACT;AAAA,UACF,CAAC;AAED,cAAI,sBAAsB,qBAAqB,mBAAmB;AAMlE,cAAI,qBAAqBA,QAAO,CAAC,GAAG,qBAAqB;AAAA,YACvD,cAAc;AAAA,UAChB,CAAC;AAED,cAAI,qBAAqB,qBAAqB,kBAAkB;AAMhE,cAAI,sBAAsBA,QAAO,CAAC,GAAG,kBAAkB;AAAA,YACrD,eAAe;AAAA,UACjB,CAAC;AAED,cAAI,sBAAsB,qBAAqB,mBAAmB;AAOlE,cAAI,0BAA0BA,QAAO,CAAC,GAAG,gBAAgB;AAAA,YACvD,eAAe;AAAA,YACf,aAAa;AAAA,YACb,eAAe;AAAA,UACjB,CAAC;AAED,cAAI,0BAA0B,qBAAqB,uBAAuB;AAM1E,cAAI,0BAA0BA,QAAO,CAAC,GAAG,gBAAgB;AAAA,YACvD,eAAe,SAAU,OAAO;AAC9B,qBAAO,mBAAmB,QAAQ,MAAM,gBAAgB,OAAO;AAAA,YACjE;AAAA,UACF,CAAC;AAED,cAAI,0BAA0B,qBAAqB,uBAAuB;AAM1E,cAAI,4BAA4BA,QAAO,CAAC,GAAG,gBAAgB;AAAA,YACzD,MAAM;AAAA,UACR,CAAC;AAED,cAAI,4BAA4B,qBAAqB,yBAAyB;AAQ9E,cAAI,sBAAsB;AAM1B,cAAI,eAAe;AAAA,YACjB,KAAK;AAAA,YACL,UAAU;AAAA,YACV,MAAM;AAAA,YACN,IAAI;AAAA,YACJ,OAAO;AAAA,YACP,MAAM;AAAA,YACN,KAAK;AAAA,YACL,KAAK;AAAA,YACL,MAAM;AAAA,YACN,MAAM;AAAA,YACN,QAAQ;AAAA,YACR,iBAAiB;AAAA,UACnB;AAOA,cAAI,iBAAiB;AAAA,YACnB,KAAK;AAAA,YACL,KAAK;AAAA,YACL,MAAM;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,YACN,OAAO;AAAA,YACP,OAAO;AAAA,YACP,OAAO;AAAA,YACP,OAAO;AAAA,YACP,OAAO;AAAA,YACP,OAAO;AAAA,YACP,OAAO;AAAA,YACP,OAAO;AAAA,YACP,OAAO;AAAA,YACP,OAAO;AAAA,YACP,OAAO;AAAA,YACP,OAAO;AAAA,YACP,OAAO;AAAA,YACP,OAAO;AAAA,YACP,OAAO;AAAA,UACT;AAMA,mBAAS,YAAY,aAAa;AAChC,gBAAI,YAAY,KAAK;AAKnB,kBAAI,MAAM,aAAa,YAAY,GAAG,KAAK,YAAY;AAEvD,kBAAI,QAAQ,gBAAgB;AAC1B,uBAAO;AAAA,cACT;AAAA,YACF;AAGA,gBAAI,YAAY,SAAS,YAAY;AACnC,kBAAI,WAAW,iBAAiB,WAAW;AAG3C,qBAAO,aAAa,KAAK,UAAU,OAAO,aAAa,QAAQ;AAAA,YACjE;AAEA,gBAAI,YAAY,SAAS,aAAa,YAAY,SAAS,SAAS;AAGlE,qBAAO,eAAe,YAAY,OAAO,KAAK;AAAA,YAChD;AAEA,mBAAO;AAAA,UACT;AAOA,cAAI,oBAAoB;AAAA,YACtB,KAAK;AAAA,YACL,SAAS;AAAA,YACT,MAAM;AAAA,YACN,OAAO;AAAA,UACT;AAIA,mBAAS,oBAAoB,QAAQ;AACnC,gBAAI,iBAAiB;AACrB,gBAAI,cAAc,eAAe;AAEjC,gBAAI,YAAY,kBAAkB;AAChC,qBAAO,YAAY,iBAAiB,MAAM;AAAA,YAC5C;AAEA,gBAAI,UAAU,kBAAkB,MAAM;AACtC,mBAAO,UAAU,CAAC,CAAC,YAAY,OAAO,IAAI;AAAA,UAC5C;AAEA,mBAAS,sBAAsB,aAAa;AAC1C,mBAAO;AAAA,UACT;AAOA,cAAI,yBAAyBA,QAAO,CAAC,GAAG,kBAAkB;AAAA,YACxD,KAAK;AAAA,YACL,MAAM;AAAA,YACN,UAAU;AAAA,YACV,SAAS;AAAA,YACT,UAAU;AAAA,YACV,QAAQ;AAAA,YACR,SAAS;AAAA,YACT,QAAQ;AAAA,YACR,QAAQ;AAAA,YACR,kBAAkB;AAAA;AAAA,YAElB,UAAU,SAAU,OAAO;AAKzB,kBAAI,MAAM,SAAS,YAAY;AAC7B,uBAAO,iBAAiB,KAAK;AAAA,cAC/B;AAEA,qBAAO;AAAA,YACT;AAAA,YACA,SAAS,SAAU,OAAO;AAOxB,kBAAI,MAAM,SAAS,aAAa,MAAM,SAAS,SAAS;AACtD,uBAAO,MAAM;AAAA,cACf;AAEA,qBAAO;AAAA,YACT;AAAA,YACA,OAAO,SAAU,OAAO;AAGtB,kBAAI,MAAM,SAAS,YAAY;AAC7B,uBAAO,iBAAiB,KAAK;AAAA,cAC/B;AAEA,kBAAI,MAAM,SAAS,aAAa,MAAM,SAAS,SAAS;AACtD,uBAAO,MAAM;AAAA,cACf;AAEA,qBAAO;AAAA,YACT;AAAA,UACF,CAAC;AAED,cAAI,yBAAyB,qBAAqB,sBAAsB;AAMxE,cAAI,wBAAwBA,QAAO,CAAC,GAAG,qBAAqB;AAAA,YAC1D,WAAW;AAAA,YACX,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,UAAU;AAAA,YACV,oBAAoB;AAAA,YACpB,OAAO;AAAA,YACP,OAAO;AAAA,YACP,OAAO;AAAA,YACP,aAAa;AAAA,YACb,WAAW;AAAA,UACb,CAAC;AAED,cAAI,wBAAwB,qBAAqB,qBAAqB;AAMtE,cAAI,sBAAsBA,QAAO,CAAC,GAAG,kBAAkB;AAAA,YACrD,SAAS;AAAA,YACT,eAAe;AAAA,YACf,gBAAgB;AAAA,YAChB,QAAQ;AAAA,YACR,SAAS;AAAA,YACT,SAAS;AAAA,YACT,UAAU;AAAA,YACV,kBAAkB;AAAA,UACpB,CAAC;AAED,cAAI,sBAAsB,qBAAqB,mBAAmB;AAOlE,cAAI,2BAA2BA,QAAO,CAAC,GAAG,gBAAgB;AAAA,YACxD,cAAc;AAAA,YACd,aAAa;AAAA,YACb,eAAe;AAAA,UACjB,CAAC;AAED,cAAI,2BAA2B,qBAAqB,wBAAwB;AAM5E,cAAI,sBAAsBA,QAAO,CAAC,GAAG,qBAAqB;AAAA,YACxD,QAAQ,SAAU,OAAO;AACvB,qBAAO,YAAY,QAAQ,MAAM;AAAA;AAAA,gBACjC,iBAAiB,QAAQ,CAAC,MAAM,cAAc;AAAA;AAAA,YAChD;AAAA,YACA,QAAQ,SAAU,OAAO;AACvB,qBAAO,YAAY,QAAQ,MAAM;AAAA;AAAA,gBACjC,iBAAiB,QAAQ,CAAC,MAAM;AAAA;AAAA,kBAChC,gBAAgB,QAAQ,CAAC,MAAM,aAAa;AAAA;AAAA;AAAA,YAC9C;AAAA,YACA,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,YAKR,WAAW;AAAA,UACb,CAAC;AAED,cAAI,sBAAsB,qBAAqB,mBAAmB;AAElE,cAAI,eAAe,CAAC,GAAG,IAAI,IAAI,EAAE;AAEjC,cAAI,gBAAgB;AACpB,cAAI,yBAAyBH,cAAa,sBAAsB;AAChE,cAAI,eAAe;AAEnB,cAAIA,cAAa,kBAAkB,UAAU;AAC3C,2BAAe,SAAS;AAAA,UAC1B;AAKA,cAAI,uBAAuBA,cAAa,eAAe,UAAU,CAAC;AAIlE,cAAI,6BAA6BA,eAAc,CAAC,0BAA0B,gBAAgB,eAAe,KAAK,gBAAgB;AAC9H,cAAI,gBAAgB;AACpB,cAAI,gBAAgB,OAAO,aAAa,aAAa;AAErD,mBAAS,iBAAiB;AACxB,kCAAsB,iBAAiB,CAAC,kBAAkB,YAAY,aAAa,OAAO,CAAC;AAC3F,kCAAsB,oBAAoB,CAAC,kBAAkB,YAAY,WAAW,YAAY,SAAS,WAAW,CAAC;AACrH,kCAAsB,sBAAsB,CAAC,oBAAoB,YAAY,WAAW,YAAY,SAAS,WAAW,CAAC;AACzH,kCAAsB,uBAAuB,CAAC,qBAAqB,YAAY,WAAW,YAAY,SAAS,WAAW,CAAC;AAAA,UAC7H;AAGA,cAAI,mBAAmB;AAOvB,mBAAS,kBAAkB,aAAa;AACtC,oBAAQ,YAAY,WAAW,YAAY,UAAU,YAAY;AAAA,YACjE,EAAE,YAAY,WAAW,YAAY;AAAA,UACvC;AAMA,mBAAS,wBAAwB,cAAc;AAC7C,oBAAQ,cAAc;AAAA,cACpB,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO;AAAA,YACX;AAAA,UACF;AAOA,mBAAS,2BAA2B,cAAc,aAAa;AAC7D,mBAAO,iBAAiB,aAAa,YAAY,YAAY;AAAA,UAC/D;AAMA,mBAAS,yBAAyB,cAAc,aAAa;AAC3D,oBAAQ,cAAc;AAAA,cACpB,KAAK;AAEH,uBAAO,aAAa,QAAQ,YAAY,OAAO,MAAM;AAAA,cAEvD,KAAK;AAGH,uBAAO,YAAY,YAAY;AAAA,cAEjC,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAEH,uBAAO;AAAA,cAET;AACE,uBAAO;AAAA,YACX;AAAA,UACF;AAYA,mBAAS,uBAAuB,aAAa;AAC3C,gBAAI,SAAS,YAAY;AAEzB,gBAAI,OAAO,WAAW,YAAY,UAAU,QAAQ;AAClD,qBAAO,OAAO;AAAA,YAChB;AAEA,mBAAO;AAAA,UACT;AAaA,mBAAS,iBAAiB,aAAa;AACrC,mBAAO,YAAY,WAAW;AAAA,UAChC;AAGA,cAAI,cAAc;AAKlB,mBAAS,wBAAwB,eAAe,cAAc,YAAY,aAAa,mBAAmB;AACxG,gBAAI;AACJ,gBAAI;AAEJ,gBAAI,wBAAwB;AAC1B,0BAAY,wBAAwB,YAAY;AAAA,YAClD,WAAW,CAAC,aAAa;AACvB,kBAAI,2BAA2B,cAAc,WAAW,GAAG;AACzD,4BAAY;AAAA,cACd;AAAA,YACF,WAAW,yBAAyB,cAAc,WAAW,GAAG;AAC9D,0BAAY;AAAA,YACd;AAEA,gBAAI,CAAC,WAAW;AACd,qBAAO;AAAA,YACT;AAEA,gBAAI,8BAA8B,CAAC,iBAAiB,WAAW,GAAG;AAGhE,kBAAI,CAAC,eAAe,cAAc,sBAAsB;AACtD,8BAAc,WAAW,iBAAiB;AAAA,cAC5C,WAAW,cAAc,oBAAoB;AAC3C,oBAAI,aAAa;AACf,iCAAe,QAAQ;AAAA,gBACzB;AAAA,cACF;AAAA,YACF;AAEA,gBAAI,YAAY,4BAA4B,YAAY,SAAS;AAEjE,gBAAI,UAAU,SAAS,GAAG;AACxB,kBAAI,QAAQ,IAAI,0BAA0B,WAAW,cAAc,MAAM,aAAa,iBAAiB;AACvG,4BAAc,KAAK;AAAA,gBACjB;AAAA,gBACA;AAAA,cACF,CAAC;AAED,kBAAI,cAAc;AAGhB,sBAAM,OAAO;AAAA,cACf,OAAO;AACL,oBAAI,aAAa,uBAAuB,WAAW;AAEnD,oBAAI,eAAe,MAAM;AACvB,wBAAM,OAAO;AAAA,gBACf;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,0BAA0B,cAAc,aAAa;AAC5D,oBAAQ,cAAc;AAAA,cACpB,KAAK;AACH,uBAAO,uBAAuB,WAAW;AAAA,cAE3C,KAAK;AAeH,oBAAI,QAAQ,YAAY;AAExB,oBAAI,UAAU,eAAe;AAC3B,yBAAO;AAAA,gBACT;AAEA,mCAAmB;AACnB,uBAAO;AAAA,cAET,KAAK;AAEH,oBAAI,QAAQ,YAAY;AAIxB,oBAAI,UAAU,iBAAiB,kBAAkB;AAC/C,yBAAO;AAAA,gBACT;AAEA,uBAAO;AAAA,cAET;AAEE,uBAAO;AAAA,YACX;AAAA,UACF;AAOA,mBAAS,4BAA4B,cAAc,aAAa;AAK9D,gBAAI,aAAa;AACf,kBAAI,iBAAiB,oBAAoB,CAAC,0BAA0B,yBAAyB,cAAc,WAAW,GAAG;AACvH,oBAAI,QAAQ,QAAQ;AACpB,sBAAM;AACN,8BAAc;AACd,uBAAO;AAAA,cACT;AAEA,qBAAO;AAAA,YACT;AAEA,oBAAQ,cAAc;AAAA,cACpB,KAAK;AAGH,uBAAO;AAAA,cAET,KAAK;AAiBH,oBAAI,CAAC,kBAAkB,WAAW,GAAG;AAOnC,sBAAI,YAAY,QAAQ,YAAY,KAAK,SAAS,GAAG;AACnD,2BAAO,YAAY;AAAA,kBACrB,WAAW,YAAY,OAAO;AAC5B,2BAAO,OAAO,aAAa,YAAY,KAAK;AAAA,kBAC9C;AAAA,gBACF;AAEA,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO,8BAA8B,CAAC,iBAAiB,WAAW,IAAI,OAAO,YAAY;AAAA,cAE3F;AACE,uBAAO;AAAA,YACX;AAAA,UACF;AASA,mBAAS,wBAAwB,eAAe,cAAc,YAAY,aAAa,mBAAmB;AACxG,gBAAI;AAEJ,gBAAI,sBAAsB;AACxB,sBAAQ,0BAA0B,cAAc,WAAW;AAAA,YAC7D,OAAO;AACL,sBAAQ,4BAA4B,cAAc,WAAW;AAAA,YAC/D;AAIA,gBAAI,CAAC,OAAO;AACV,qBAAO;AAAA,YACT;AAEA,gBAAI,YAAY,4BAA4B,YAAY,eAAe;AAEvE,gBAAI,UAAU,SAAS,GAAG;AACxB,kBAAI,QAAQ,IAAI,oBAAoB,iBAAiB,eAAe,MAAM,aAAa,iBAAiB;AACxG,4BAAc,KAAK;AAAA,gBACjB;AAAA,gBACA;AAAA,cACF,CAAC;AACD,oBAAM,OAAO;AAAA,YACf;AAAA,UACF;AAqBA,mBAAS,cAAc,eAAe,cAAc,YAAY,aAAa,mBAAmB,kBAAkB,iBAAiB;AACjI,oCAAwB,eAAe,cAAc,YAAY,aAAa,iBAAiB;AAC/F,oCAAwB,eAAe,cAAc,YAAY,aAAa,iBAAiB;AAAA,UACjG;AAKA,cAAI,sBAAsB;AAAA,YACxB,OAAO;AAAA,YACP,MAAM;AAAA,YACN,UAAU;AAAA,YACV,kBAAkB;AAAA,YAClB,OAAO;AAAA,YACP,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,UAAU;AAAA,YACV,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,KAAK;AAAA,YACL,MAAM;AAAA,YACN,MAAM;AAAA,YACN,KAAK;AAAA,YACL,MAAM;AAAA,UACR;AAEA,mBAAS,mBAAmB,MAAM;AAChC,gBAAI,WAAW,QAAQ,KAAK,YAAY,KAAK,SAAS,YAAY;AAElE,gBAAI,aAAa,SAAS;AACxB,qBAAO,CAAC,CAAC,oBAAoB,KAAK,IAAI;AAAA,YACxC;AAEA,gBAAI,aAAa,YAAY;AAC3B,qBAAO;AAAA,YACT;AAEA,mBAAO;AAAA,UACT;AAgBA,mBAAS,iBAAiB,iBAAiB;AACzC,gBAAI,CAACA,YAAW;AACd,qBAAO;AAAA,YACT;AAEA,gBAAI,YAAY,OAAO;AACvB,gBAAI,cAAe,aAAa;AAEhC,gBAAI,CAAC,aAAa;AAChB,kBAAI,UAAU,SAAS,cAAc,KAAK;AAC1C,sBAAQ,aAAa,WAAW,SAAS;AACzC,4BAAc,OAAO,QAAQ,SAAS,MAAM;AAAA,YAC9C;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,mBAAmB;AAC1B,kCAAsB,YAAY,CAAC,UAAU,SAAS,WAAW,YAAY,SAAS,WAAW,SAAS,iBAAiB,CAAC;AAAA,UAC9H;AAEA,mBAAS,+BAA+B,eAAe,MAAM,aAAa,QAAQ;AAEhF,gCAAoB,MAAM;AAC1B,gBAAI,YAAY,4BAA4B,MAAM,UAAU;AAE5D,gBAAI,UAAU,SAAS,GAAG;AACxB,kBAAI,QAAQ,IAAI,eAAe,YAAY,UAAU,MAAM,aAAa,MAAM;AAC9E,4BAAc,KAAK;AAAA,gBACjB;AAAA,gBACA;AAAA,cACF,CAAC;AAAA,YACH;AAAA,UACF;AAMA,cAAI,gBAAgB;AACpB,cAAI,oBAAoB;AAKxB,mBAAS,qBAAqB,MAAM;AAClC,gBAAI,WAAW,KAAK,YAAY,KAAK,SAAS,YAAY;AAC1D,mBAAO,aAAa,YAAY,aAAa,WAAW,KAAK,SAAS;AAAA,UACxE;AAEA,mBAAS,0BAA0B,aAAa;AAC9C,gBAAI,gBAAgB,CAAC;AACrB,2CAA+B,eAAe,mBAAmB,aAAa,eAAe,WAAW,CAAC;AAYzG,2BAAe,iBAAiB,aAAa;AAAA,UAC/C;AAEA,mBAAS,gBAAgB,eAAe;AACtC,iCAAqB,eAAe,CAAC;AAAA,UACvC;AAEA,mBAAS,sBAAsB,YAAY;AACzC,gBAAI,aAAa,oBAAoB,UAAU;AAE/C,gBAAI,qBAAqB,UAAU,GAAG;AACpC,qBAAO;AAAA,YACT;AAAA,UACF;AAEA,mBAAS,4BAA4B,cAAc,YAAY;AAC7D,gBAAI,iBAAiB,UAAU;AAC7B,qBAAO;AAAA,YACT;AAAA,UACF;AAMA,cAAI,wBAAwB;AAE5B,cAAIA,YAAW;AAGb,oCAAwB,iBAAiB,OAAO,MAAM,CAAC,SAAS,gBAAgB,SAAS,eAAe;AAAA,UAC1G;AAQA,mBAAS,4BAA4B,QAAQ,YAAY;AACvD,4BAAgB;AAChB,gCAAoB;AACpB,0BAAc,YAAY,oBAAoB,oBAAoB;AAAA,UACpE;AAOA,mBAAS,6BAA6B;AACpC,gBAAI,CAAC,eAAe;AAClB;AAAA,YACF;AAEA,0BAAc,YAAY,oBAAoB,oBAAoB;AAClE,4BAAgB;AAChB,gCAAoB;AAAA,UACtB;AAOA,mBAAS,qBAAqB,aAAa;AACzC,gBAAI,YAAY,iBAAiB,SAAS;AACxC;AAAA,YACF;AAEA,gBAAI,sBAAsB,iBAAiB,GAAG;AAC5C,wCAA0B,WAAW;AAAA,YACvC;AAAA,UACF;AAEA,mBAAS,kCAAkC,cAAc,QAAQ,YAAY;AAC3E,gBAAI,iBAAiB,WAAW;AAW9B,yCAA2B;AAC3B,0CAA4B,QAAQ,UAAU;AAAA,YAChD,WAAW,iBAAiB,YAAY;AACtC,yCAA2B;AAAA,YAC7B;AAAA,UACF;AAGA,mBAAS,mCAAmC,cAAc,YAAY;AACpE,gBAAI,iBAAiB,qBAAqB,iBAAiB,WAAW,iBAAiB,WAAW;AAWhG,qBAAO,sBAAsB,iBAAiB;AAAA,YAChD;AAAA,UACF;AAMA,mBAAS,oBAAoB,MAAM;AAIjC,gBAAI,WAAW,KAAK;AACpB,mBAAO,YAAY,SAAS,YAAY,MAAM,YAAY,KAAK,SAAS,cAAc,KAAK,SAAS;AAAA,UACtG;AAEA,mBAAS,2BAA2B,cAAc,YAAY;AAC5D,gBAAI,iBAAiB,SAAS;AAC5B,qBAAO,sBAAsB,UAAU;AAAA,YACzC;AAAA,UACF;AAEA,mBAAS,mCAAmC,cAAc,YAAY;AACpE,gBAAI,iBAAiB,WAAW,iBAAiB,UAAU;AACzD,qBAAO,sBAAsB,UAAU;AAAA,YACzC;AAAA,UACF;AAEA,mBAAS,0BAA0B,MAAM;AACvC,gBAAI,QAAQ,KAAK;AAEjB,gBAAI,CAAC,SAAS,CAAC,MAAM,cAAc,KAAK,SAAS,UAAU;AACzD;AAAA,YACF;AAEA;AAEE,8BAAgB,MAAM,UAAU,KAAK,KAAK;AAAA,YAC5C;AAAA,UACF;AAaA,mBAAS,gBAAgB,eAAe,cAAc,YAAY,aAAa,mBAAmB,kBAAkB,iBAAiB;AACnI,gBAAI,aAAa,aAAa,oBAAoB,UAAU,IAAI;AAChE,gBAAI,mBAAmB;AAEvB,gBAAI,qBAAqB,UAAU,GAAG;AACpC,kCAAoB;AAAA,YACtB,WAAW,mBAAmB,UAAU,GAAG;AACzC,kBAAI,uBAAuB;AACzB,oCAAoB;AAAA,cACtB,OAAO;AACL,oCAAoB;AACpB,kCAAkB;AAAA,cACpB;AAAA,YACF,WAAW,oBAAoB,UAAU,GAAG;AAC1C,kCAAoB;AAAA,YACtB;AAEA,gBAAI,mBAAmB;AACrB,kBAAI,OAAO,kBAAkB,cAAc,UAAU;AAErD,kBAAI,MAAM;AACR,+CAA+B,eAAe,MAAM,aAAa,iBAAiB;AAClF;AAAA,cACF;AAAA,YACF;AAEA,gBAAI,iBAAiB;AACnB,8BAAgB,cAAc,YAAY,UAAU;AAAA,YACtD;AAGA,gBAAI,iBAAiB,YAAY;AAC/B,wCAA0B,UAAU;AAAA,YACtC;AAAA,UACF;AAEA,mBAAS,mBAAmB;AAC1B,gCAAoB,gBAAgB,CAAC,YAAY,WAAW,CAAC;AAC7D,gCAAoB,gBAAgB,CAAC,YAAY,WAAW,CAAC;AAC7D,gCAAoB,kBAAkB,CAAC,cAAc,aAAa,CAAC;AACnE,gCAAoB,kBAAkB,CAAC,cAAc,aAAa,CAAC;AAAA,UACrE;AAUA,mBAAS,gBAAgB,eAAe,cAAc,YAAY,aAAa,mBAAmB,kBAAkB,iBAAiB;AACnI,gBAAI,cAAc,iBAAiB,eAAe,iBAAiB;AACnE,gBAAI,aAAa,iBAAiB,cAAc,iBAAiB;AAEjE,gBAAI,eAAe,CAAC,iBAAiB,WAAW,GAAG;AAKjD,kBAAI,UAAU,YAAY,iBAAiB,YAAY;AAEvD,kBAAI,SAAS;AAGX,oBAAI,2BAA2B,OAAO,KAAK,wBAAwB,OAAO,GAAG;AAC3E;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAEA,gBAAI,CAAC,cAAc,CAAC,aAAa;AAE/B;AAAA,YACF;AAEA,gBAAI;AAEJ,gBAAI,kBAAkB,WAAW,mBAAmB;AAElD,oBAAM;AAAA,YACR,OAAO;AAEL,kBAAI,MAAM,kBAAkB;AAE5B,kBAAI,KAAK;AACP,sBAAM,IAAI,eAAe,IAAI;AAAA,cAC/B,OAAO;AACL,sBAAM;AAAA,cACR;AAAA,YACF;AAEA,gBAAI;AACJ,gBAAI;AAEJ,gBAAI,YAAY;AACd,kBAAI,WAAW,YAAY,iBAAiB,YAAY;AAExD,qBAAO;AACP,mBAAK,WAAW,2BAA2B,QAAQ,IAAI;AAEvD,kBAAI,OAAO,MAAM;AACf,oBAAI,iBAAiB,uBAAuB,EAAE;AAE9C,oBAAI,OAAO,kBAAkB,GAAG,QAAQ,iBAAiB,GAAG,QAAQ,UAAU;AAC5E,uBAAK;AAAA,gBACP;AAAA,cACF;AAAA,YACF,OAAO;AAEL,qBAAO;AACP,mBAAK;AAAA,YACP;AAEA,gBAAI,SAAS,IAAI;AAEf;AAAA,YACF;AAEA,gBAAI,qBAAqB;AACzB,gBAAI,iBAAiB;AACrB,gBAAI,iBAAiB;AACrB,gBAAI,kBAAkB;AAEtB,gBAAI,iBAAiB,gBAAgB,iBAAiB,eAAe;AACnE,mCAAqB;AACrB,+BAAiB;AACjB,+BAAiB;AACjB,gCAAkB;AAAA,YACpB;AAEA,gBAAI,WAAW,QAAQ,OAAO,MAAM,oBAAoB,IAAI;AAC5D,gBAAI,SAAS,MAAM,OAAO,MAAM,oBAAoB,EAAE;AACtD,gBAAI,QAAQ,IAAI,mBAAmB,gBAAgB,kBAAkB,SAAS,MAAM,aAAa,iBAAiB;AAClH,kBAAM,SAAS;AACf,kBAAM,gBAAgB;AACtB,gBAAI,QAAQ;AAGZ,gBAAI,mBAAmB,2BAA2B,iBAAiB;AAEnE,gBAAI,qBAAqB,YAAY;AACnC,kBAAI,aAAa,IAAI,mBAAmB,gBAAgB,kBAAkB,SAAS,IAAI,aAAa,iBAAiB;AACrH,yBAAW,SAAS;AACpB,yBAAW,gBAAgB;AAC3B,sBAAQ;AAAA,YACV;AAEA,kDAAsC,eAAe,OAAO,OAAO,MAAM,EAAE;AAAA,UAC7E;AAMA,mBAAS,GAAG,GAAG,GAAG;AAChB,mBAAO,MAAM,MAAM,MAAM,KAAK,IAAI,MAAM,IAAI,MAAM,MAAM,KAAK,MAAM;AAAA,UAErE;AAEA,cAAI,WAAW,OAAO,OAAO,OAAO,aAAa,OAAO,KAAK;AAQ7D,mBAAS,aAAa,MAAM,MAAM;AAChC,gBAAI,SAAS,MAAM,IAAI,GAAG;AACxB,qBAAO;AAAA,YACT;AAEA,gBAAI,OAAO,SAAS,YAAY,SAAS,QAAQ,OAAO,SAAS,YAAY,SAAS,MAAM;AAC1F,qBAAO;AAAA,YACT;AAEA,gBAAI,QAAQ,OAAO,KAAK,IAAI;AAC5B,gBAAI,QAAQ,OAAO,KAAK,IAAI;AAE5B,gBAAI,MAAM,WAAW,MAAM,QAAQ;AACjC,qBAAO;AAAA,YACT;AAGA,qBAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACrC,kBAAI,aAAa,MAAM,CAAC;AAExB,kBAAI,CAAC,eAAe,KAAK,MAAM,UAAU,KAAK,CAAC,SAAS,KAAK,UAAU,GAAG,KAAK,UAAU,CAAC,GAAG;AAC3F,uBAAO;AAAA,cACT;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AASA,mBAAS,YAAY,MAAM;AACzB,mBAAO,QAAQ,KAAK,YAAY;AAC9B,qBAAO,KAAK;AAAA,YACd;AAEA,mBAAO;AAAA,UACT;AAUA,mBAAS,eAAe,MAAM;AAC5B,mBAAO,MAAM;AACX,kBAAI,KAAK,aAAa;AACpB,uBAAO,KAAK;AAAA,cACd;AAEA,qBAAO,KAAK;AAAA,YACd;AAAA,UACF;AAUA,mBAAS,0BAA0BmB,OAAM,QAAQ;AAC/C,gBAAI,OAAO,YAAYA,KAAI;AAC3B,gBAAI,YAAY;AAChB,gBAAI,UAAU;AAEd,mBAAO,MAAM;AACX,kBAAI,KAAK,aAAa,WAAW;AAC/B,0BAAU,YAAY,KAAK,YAAY;AAEvC,oBAAI,aAAa,UAAU,WAAW,QAAQ;AAC5C,yBAAO;AAAA,oBACL;AAAA,oBACA,QAAQ,SAAS;AAAA,kBACnB;AAAA,gBACF;AAEA,4BAAY;AAAA,cACd;AAEA,qBAAO,YAAY,eAAe,IAAI,CAAC;AAAA,YACzC;AAAA,UACF;AAOA,mBAAS,WAAW,WAAW;AAC7B,gBAAI,gBAAgB,UAAU;AAC9B,gBAAI,MAAM,iBAAiB,cAAc,eAAe;AACxD,gBAAI,YAAY,IAAI,gBAAgB,IAAI,aAAa;AAErD,gBAAI,CAAC,aAAa,UAAU,eAAe,GAAG;AAC5C,qBAAO;AAAA,YACT;AAEA,gBAAI,aAAa,UAAU,YACvB,eAAe,UAAU,cACzB,YAAY,UAAU,WACtB,cAAc,UAAU;AAQ5B,gBAAI;AAEF,yBAAW;AACX,wBAAU;AAAA,YAEZ,SAAS,GAAG;AACV,qBAAO;AAAA,YACT;AAEA,mBAAO,2BAA2B,WAAW,YAAY,cAAc,WAAW,WAAW;AAAA,UAC/F;AAWA,mBAAS,2BAA2B,WAAW,YAAY,cAAc,WAAW,aAAa;AAC/F,gBAAI,SAAS;AACb,gBAAI,QAAQ;AACZ,gBAAI,MAAM;AACV,gBAAI,oBAAoB;AACxB,gBAAI,mBAAmB;AACvB,gBAAI,OAAO;AACX,gBAAI,aAAa;AAEjB;AAAO,qBAAO,MAAM;AAClB,oBAAI,OAAO;AAEX,uBAAO,MAAM;AACX,sBAAI,SAAS,eAAe,iBAAiB,KAAK,KAAK,aAAa,YAAY;AAC9E,4BAAQ,SAAS;AAAA,kBACnB;AAEA,sBAAI,SAAS,cAAc,gBAAgB,KAAK,KAAK,aAAa,YAAY;AAC5E,0BAAM,SAAS;AAAA,kBACjB;AAEA,sBAAI,KAAK,aAAa,WAAW;AAC/B,8BAAU,KAAK,UAAU;AAAA,kBAC3B;AAEA,uBAAK,OAAO,KAAK,gBAAgB,MAAM;AACrC;AAAA,kBACF;AAGA,+BAAa;AACb,yBAAO;AAAA,gBACT;AAEA,uBAAO,MAAM;AACX,sBAAI,SAAS,WAAW;AAKtB,0BAAM;AAAA,kBACR;AAEA,sBAAI,eAAe,cAAc,EAAE,sBAAsB,cAAc;AACrE,4BAAQ;AAAA,kBACV;AAEA,sBAAI,eAAe,aAAa,EAAE,qBAAqB,aAAa;AAClE,0BAAM;AAAA,kBACR;AAEA,uBAAK,OAAO,KAAK,iBAAiB,MAAM;AACtC;AAAA,kBACF;AAEA,yBAAO;AACP,+BAAa,KAAK;AAAA,gBACpB;AAGA,uBAAO;AAAA,cACT;AAEA,gBAAI,UAAU,MAAM,QAAQ,IAAI;AAG9B,qBAAO;AAAA,YACT;AAEA,mBAAO;AAAA,cACL;AAAA,cACA;AAAA,YACF;AAAA,UACF;AAcA,mBAAS,WAAW,MAAM,SAAS;AACjC,gBAAI,MAAM,KAAK,iBAAiB;AAChC,gBAAI,MAAM,OAAO,IAAI,eAAe;AAIpC,gBAAI,CAAC,IAAI,cAAc;AACrB;AAAA,YACF;AAEA,gBAAI,YAAY,IAAI,aAAa;AACjC,gBAAI,SAAS,KAAK,YAAY;AAC9B,gBAAI,QAAQ,KAAK,IAAI,QAAQ,OAAO,MAAM;AAC1C,gBAAI,MAAM,QAAQ,QAAQ,SAAY,QAAQ,KAAK,IAAI,QAAQ,KAAK,MAAM;AAG1E,gBAAI,CAAC,UAAU,UAAU,QAAQ,KAAK;AACpC,kBAAI,OAAO;AACX,oBAAM;AACN,sBAAQ;AAAA,YACV;AAEA,gBAAI,cAAc,0BAA0B,MAAM,KAAK;AACvD,gBAAI,YAAY,0BAA0B,MAAM,GAAG;AAEnD,gBAAI,eAAe,WAAW;AAC5B,kBAAI,UAAU,eAAe,KAAK,UAAU,eAAe,YAAY,QAAQ,UAAU,iBAAiB,YAAY,UAAU,UAAU,cAAc,UAAU,QAAQ,UAAU,gBAAgB,UAAU,QAAQ;AACpN;AAAA,cACF;AAEA,kBAAI,QAAQ,IAAI,YAAY;AAC5B,oBAAM,SAAS,YAAY,MAAM,YAAY,MAAM;AACnD,wBAAU,gBAAgB;AAE1B,kBAAI,QAAQ,KAAK;AACf,0BAAU,SAAS,KAAK;AACxB,0BAAU,OAAO,UAAU,MAAM,UAAU,MAAM;AAAA,cACnD,OAAO;AACL,sBAAM,OAAO,UAAU,MAAM,UAAU,MAAM;AAC7C,0BAAU,SAAS,KAAK;AAAA,cAC1B;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,WAAW,MAAM;AACxB,mBAAO,QAAQ,KAAK,aAAa;AAAA,UACnC;AAEA,mBAAS,aAAa,WAAW,WAAW;AAC1C,gBAAI,CAAC,aAAa,CAAC,WAAW;AAC5B,qBAAO;AAAA,YACT,WAAW,cAAc,WAAW;AAClC,qBAAO;AAAA,YACT,WAAW,WAAW,SAAS,GAAG;AAChC,qBAAO;AAAA,YACT,WAAW,WAAW,SAAS,GAAG;AAChC,qBAAO,aAAa,WAAW,UAAU,UAAU;AAAA,YACrD,WAAW,cAAc,WAAW;AAClC,qBAAO,UAAU,SAAS,SAAS;AAAA,YACrC,WAAW,UAAU,yBAAyB;AAC5C,qBAAO,CAAC,EAAE,UAAU,wBAAwB,SAAS,IAAI;AAAA,YAC3D,OAAO;AACL,qBAAO;AAAA,YACT;AAAA,UACF;AAEA,mBAAS,aAAa,MAAM;AAC1B,mBAAO,QAAQ,KAAK,iBAAiB,aAAa,KAAK,cAAc,iBAAiB,IAAI;AAAA,UAC5F;AAEA,mBAAS,kBAAkB,QAAQ;AACjC,gBAAI;AAQF,qBAAO,OAAO,OAAO,cAAc,SAAS,SAAS;AAAA,YACvD,SAAS,KAAK;AACZ,qBAAO;AAAA,YACT;AAAA,UACF;AAEA,mBAAS,uBAAuB;AAC9B,gBAAI,MAAM;AACV,gBAAI,UAAU,iBAAiB;AAE/B,mBAAO,mBAAmB,IAAI,mBAAmB;AAC/C,kBAAI,kBAAkB,OAAO,GAAG;AAC9B,sBAAM,QAAQ;AAAA,cAChB,OAAO;AACL,uBAAO;AAAA,cACT;AAEA,wBAAU,iBAAiB,IAAI,QAAQ;AAAA,YACzC;AAEA,mBAAO;AAAA,UACT;AAeA,mBAAS,yBAAyB,MAAM;AACtC,gBAAI,WAAW,QAAQ,KAAK,YAAY,KAAK,SAAS,YAAY;AAClE,mBAAO,aAAa,aAAa,YAAY,KAAK,SAAS,UAAU,KAAK,SAAS,YAAY,KAAK,SAAS,SAAS,KAAK,SAAS,SAAS,KAAK,SAAS,eAAe,aAAa,cAAc,KAAK,oBAAoB;AAAA,UAChO;AACA,mBAAS,0BAA0B;AACjC,gBAAI,cAAc,qBAAqB;AACvC,mBAAO;AAAA,cACL;AAAA,cACA,gBAAgB,yBAAyB,WAAW,IAAI,aAAa,WAAW,IAAI;AAAA,YACtF;AAAA,UACF;AAOA,mBAAS,iBAAiB,2BAA2B;AACnD,gBAAI,iBAAiB,qBAAqB;AAC1C,gBAAI,mBAAmB,0BAA0B;AACjD,gBAAI,sBAAsB,0BAA0B;AAEpD,gBAAI,mBAAmB,oBAAoB,aAAa,gBAAgB,GAAG;AACzE,kBAAI,wBAAwB,QAAQ,yBAAyB,gBAAgB,GAAG;AAC9E,6BAAa,kBAAkB,mBAAmB;AAAA,cACpD;AAGA,kBAAI,YAAY,CAAC;AACjB,kBAAI,WAAW;AAEf,qBAAO,WAAW,SAAS,YAAY;AACrC,oBAAI,SAAS,aAAa,cAAc;AACtC,4BAAU,KAAK;AAAA,oBACb,SAAS;AAAA,oBACT,MAAM,SAAS;AAAA,oBACf,KAAK,SAAS;AAAA,kBAChB,CAAC;AAAA,gBACH;AAAA,cACF;AAEA,kBAAI,OAAO,iBAAiB,UAAU,YAAY;AAChD,iCAAiB,MAAM;AAAA,cACzB;AAEA,uBAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AACzC,oBAAI,OAAO,UAAU,CAAC;AACtB,qBAAK,QAAQ,aAAa,KAAK;AAC/B,qBAAK,QAAQ,YAAY,KAAK;AAAA,cAChC;AAAA,YACF;AAAA,UACF;AAQA,mBAAS,aAAa,OAAO;AAC3B,gBAAI;AAEJ,gBAAI,oBAAoB,OAAO;AAE7B,0BAAY;AAAA,gBACV,OAAO,MAAM;AAAA,gBACb,KAAK,MAAM;AAAA,cACb;AAAA,YACF,OAAO;AAEL,0BAAY,WAAW,KAAK;AAAA,YAC9B;AAEA,mBAAO,aAAa;AAAA,cAClB,OAAO;AAAA,cACP,KAAK;AAAA,YACP;AAAA,UACF;AAQA,mBAAS,aAAa,OAAO,SAAS;AACpC,gBAAI,QAAQ,QAAQ;AACpB,gBAAI,MAAM,QAAQ;AAElB,gBAAI,QAAQ,QAAW;AACrB,oBAAM;AAAA,YACR;AAEA,gBAAI,oBAAoB,OAAO;AAC7B,oBAAM,iBAAiB;AACvB,oBAAM,eAAe,KAAK,IAAI,KAAK,MAAM,MAAM,MAAM;AAAA,YACvD,OAAO;AACL,yBAAW,OAAO,OAAO;AAAA,YAC3B;AAAA,UACF;AAEA,cAAI,2BAA2BnB,cAAa,kBAAkB,YAAY,SAAS,gBAAgB;AAEnG,mBAAS,mBAAmB;AAC1B,kCAAsB,YAAY,CAAC,YAAY,eAAe,WAAW,WAAW,WAAW,SAAS,aAAa,WAAW,iBAAiB,CAAC;AAAA,UACpJ;AAEA,cAAI,kBAAkB;AACtB,cAAI,sBAAsB;AAC1B,cAAI,gBAAgB;AACpB,cAAI,YAAY;AAQhB,mBAAS,eAAe,MAAM;AAC5B,gBAAI,oBAAoB,QAAQ,yBAAyB,IAAI,GAAG;AAC9D,qBAAO;AAAA,gBACL,OAAO,KAAK;AAAA,gBACZ,KAAK,KAAK;AAAA,cACZ;AAAA,YACF,OAAO;AACL,kBAAI,MAAM,KAAK,iBAAiB,KAAK,cAAc,eAAe;AAClE,kBAAI,YAAY,IAAI,aAAa;AACjC,qBAAO;AAAA,gBACL,YAAY,UAAU;AAAA,gBACtB,cAAc,UAAU;AAAA,gBACxB,WAAW,UAAU;AAAA,gBACrB,aAAa,UAAU;AAAA,cACzB;AAAA,YACF;AAAA,UACF;AAMA,mBAAS,uBAAuB,aAAa;AAC3C,mBAAO,YAAY,WAAW,cAAc,YAAY,WAAW,YAAY,aAAa,gBAAgB,cAAc,YAAY;AAAA,UACxI;AAUA,mBAAS,qBAAqB,eAAe,aAAa,mBAAmB;AAK3E,gBAAI,MAAM,uBAAuB,iBAAiB;AAElD,gBAAI,aAAa,mBAAmB,QAAQ,oBAAoB,iBAAiB,GAAG,GAAG;AACrF;AAAA,YACF;AAGA,gBAAI,mBAAmB,eAAe,eAAe;AAErD,gBAAI,CAAC,iBAAiB,CAAC,aAAa,eAAe,gBAAgB,GAAG;AACpE,8BAAgB;AAChB,kBAAI,YAAY,4BAA4B,qBAAqB,UAAU;AAE3E,kBAAI,UAAU,SAAS,GAAG;AACxB,oBAAI,QAAQ,IAAI,eAAe,YAAY,UAAU,MAAM,aAAa,iBAAiB;AACzF,8BAAc,KAAK;AAAA,kBACjB;AAAA,kBACA;AAAA,gBACF,CAAC;AACD,sBAAM,SAAS;AAAA,cACjB;AAAA,YACF;AAAA,UACF;AAiBA,mBAAS,gBAAgB,eAAe,cAAc,YAAY,aAAa,mBAAmB,kBAAkB,iBAAiB;AACnI,gBAAI,aAAa,aAAa,oBAAoB,UAAU,IAAI;AAEhE,oBAAQ,cAAc;AAAA,cAEpB,KAAK;AACH,oBAAI,mBAAmB,UAAU,KAAK,WAAW,oBAAoB,QAAQ;AAC3E,oCAAkB;AAClB,wCAAsB;AACtB,kCAAgB;AAAA,gBAClB;AAEA;AAAA,cAEF,KAAK;AACH,kCAAkB;AAClB,sCAAsB;AACtB,gCAAgB;AAChB;AAAA,cAIF,KAAK;AACH,4BAAY;AACZ;AAAA,cAEF,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AACH,4BAAY;AACZ,qCAAqB,eAAe,aAAa,iBAAiB;AAClE;AAAA,cAWF,KAAK;AACH,oBAAI,0BAA0B;AAC5B;AAAA,gBACF;AAAA,cAIF,KAAK;AAAA,cACL,KAAK;AACH,qCAAqB,eAAe,aAAa,iBAAiB;AAAA,YACtE;AAAA,UACF;AAUA,mBAAS,cAAc,WAAW,WAAW;AAC3C,gBAAIwB,YAAW,CAAC;AAChB,YAAAA,UAAS,UAAU,YAAY,CAAC,IAAI,UAAU,YAAY;AAC1D,YAAAA,UAAS,WAAW,SAAS,IAAI,WAAW;AAC5C,YAAAA,UAAS,QAAQ,SAAS,IAAI,QAAQ;AACtC,mBAAOA;AAAA,UACT;AAMA,cAAI,iBAAiB;AAAA,YACnB,cAAc,cAAc,aAAa,cAAc;AAAA,YACvD,oBAAoB,cAAc,aAAa,oBAAoB;AAAA,YACnE,gBAAgB,cAAc,aAAa,gBAAgB;AAAA,YAC3D,eAAe,cAAc,cAAc,eAAe;AAAA,UAC5D;AAKA,cAAI,qBAAqB,CAAC;AAK1B,cAAI,QAAQ,CAAC;AAKb,cAAIxB,YAAW;AACb,oBAAQ,SAAS,cAAc,KAAK,EAAE;AAKtC,gBAAI,EAAE,oBAAoB,SAAS;AACjC,qBAAO,eAAe,aAAa;AACnC,qBAAO,eAAe,mBAAmB;AACzC,qBAAO,eAAe,eAAe;AAAA,YACvC;AAGA,gBAAI,EAAE,qBAAqB,SAAS;AAClC,qBAAO,eAAe,cAAc;AAAA,YACtC;AAAA,UACF;AASA,mBAAS,2BAA2B,WAAW;AAC7C,gBAAI,mBAAmB,SAAS,GAAG;AACjC,qBAAO,mBAAmB,SAAS;AAAA,YACrC,WAAW,CAAC,eAAe,SAAS,GAAG;AACrC,qBAAO;AAAA,YACT;AAEA,gBAAI,YAAY,eAAe,SAAS;AAExC,qBAAS,aAAa,WAAW;AAC/B,kBAAI,UAAU,eAAe,SAAS,KAAK,aAAa,OAAO;AAC7D,uBAAO,mBAAmB,SAAS,IAAI,UAAU,SAAS;AAAA,cAC5D;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AAEA,cAAI,gBAAgB,2BAA2B,cAAc;AAC7D,cAAI,sBAAsB,2BAA2B,oBAAoB;AACzE,cAAI,kBAAkB,2BAA2B,gBAAgB;AACjE,cAAI,iBAAiB,2BAA2B,eAAe;AAE/D,cAAI,6BAA6B,oBAAI,IAAI;AAUzC,cAAI,0BAA0B,CAAC,SAAS,YAAY,UAAU,WAAW,kBAAkB,SAAS,SAAS,eAAe,QAAQ,OAAO,QAAQ,WAAW,aAAa,YAAY,aAAa,YAAY,aAAa,QAAQ,kBAAkB,WAAW,aAAa,SAAS,SAAS,qBAAqB,SAAS,WAAW,WAAW,YAAY,SAAS,QAAQ,cAAc,kBAAkB,aAAa,sBAAsB,aAAa,aAAa,YAAY,aAAa,WAAW,SAAS,SAAS,QAAQ,WAAW,iBAAiB,eAAe,eAAe,cAAc,eAAe,aAAa,YAAY,cAAc,SAAS,UAAU,UAAU,WAAW,WAAW,UAAU,WAAW,cAAc,eAAe,YAAY,cAAc,gBAAgB,UAAU,UAAU,aAAa,WAAW,OAAO;AAE70B,mBAAS,oBAAoB,cAAc,WAAW;AACpD,uCAA2B,IAAI,cAAc,SAAS;AACtD,kCAAsB,WAAW,CAAC,YAAY,CAAC;AAAA,UACjD;AAEA,mBAAS,uBAAuB;AAC9B,qBAAS,IAAI,GAAG,IAAI,wBAAwB,QAAQ,KAAK;AACvD,kBAAI,YAAY,wBAAwB,CAAC;AACzC,kBAAI,eAAe,UAAU,YAAY;AACzC,kBAAI,mBAAmB,UAAU,CAAC,EAAE,YAAY,IAAI,UAAU,MAAM,CAAC;AACrE,kCAAoB,cAAc,OAAO,gBAAgB;AAAA,YAC3D;AAGA,gCAAoB,eAAe,gBAAgB;AACnD,gCAAoB,qBAAqB,sBAAsB;AAC/D,gCAAoB,iBAAiB,kBAAkB;AACvD,gCAAoB,YAAY,eAAe;AAC/C,gCAAoB,WAAW,SAAS;AACxC,gCAAoB,YAAY,QAAQ;AACxC,gCAAoB,gBAAgB,iBAAiB;AAAA,UACvD;AAEA,mBAAS,gBAAgB,eAAe,cAAc,YAAY,aAAa,mBAAmB,kBAAkB,iBAAiB;AACnI,gBAAI,YAAY,2BAA2B,IAAI,YAAY;AAE3D,gBAAI,cAAc,QAAW;AAC3B;AAAA,YACF;AAEA,gBAAI,qBAAqB;AACzB,gBAAI,iBAAiB;AAErB,oBAAQ,cAAc;AAAA,cACpB,KAAK;AAIH,oBAAI,iBAAiB,WAAW,MAAM,GAAG;AACvC;AAAA,gBACF;AAAA,cAIF,KAAK;AAAA,cACL,KAAK;AACH,qCAAqB;AACrB;AAAA,cAEF,KAAK;AACH,iCAAiB;AACjB,qCAAqB;AACrB;AAAA,cAEF,KAAK;AACH,iCAAiB;AACjB,qCAAqB;AACrB;AAAA,cAEF,KAAK;AAAA,cACL,KAAK;AACH,qCAAqB;AACrB;AAAA,cAEF,KAAK;AAGH,oBAAI,YAAY,WAAW,GAAG;AAC5B;AAAA,gBACF;AAAA,cAIF,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cAIL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AACH,qCAAqB;AACrB;AAAA,cAEF,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AACH,qCAAqB;AACrB;AAAA,cAEF,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AACH,qCAAqB;AACrB;AAAA,cAEF,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AACH,qCAAqB;AACrB;AAAA,cAEF,KAAK;AACH,qCAAqB;AACrB;AAAA,cAEF,KAAK;AACH,qCAAqB;AACrB;AAAA,cAEF,KAAK;AACH,qCAAqB;AACrB;AAAA,cAEF,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AACH,qCAAqB;AACrB;AAAA,cAEF,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AACH,qCAAqB;AACrB;AAAA,YACJ;AAEA,gBAAI,kBAAkB,mBAAmB,sBAAsB;AAE/D;AAKE,kBAAI,uBAAuB,CAAC;AAAA;AAAA;AAAA;AAAA,cAI5B,iBAAiB;AAEjB,kBAAI,aAAa,+BAA+B,YAAY,WAAW,YAAY,MAAM,gBAAgB,oBAAoB;AAE7H,kBAAI,WAAW,SAAS,GAAG;AAEzB,oBAAI,SAAS,IAAI,mBAAmB,WAAW,gBAAgB,MAAM,aAAa,iBAAiB;AAEnG,8BAAc,KAAK;AAAA,kBACjB,OAAO;AAAA,kBACP,WAAW;AAAA,gBACb,CAAC;AAAA,cACH;AAAA,YACF;AAAA,UACF;AAGA,+BAAqB;AACrB,2BAAiB;AACjB,2BAAiB;AACjB,2BAAiB;AACjB,yBAAe;AAEf,mBAAS,gBAAgB,eAAe,cAAc,YAAY,aAAa,mBAAmB,kBAAkB,iBAAiB;AAOnI,4BAAgB,eAAe,cAAc,YAAY,aAAa,mBAAmB,gBAAgB;AACzG,gBAAI,gCAAgC,mBAAmB,+CAA+C;AAkBtG,gBAAI,8BAA8B;AAChC,8BAAgB,eAAe,cAAc,YAAY,aAAa,iBAAiB;AACvF,8BAAgB,eAAe,cAAc,YAAY,aAAa,iBAAiB;AACvF,8BAAgB,eAAe,cAAc,YAAY,aAAa,iBAAiB;AACvF,4BAAc,eAAe,cAAc,YAAY,aAAa,iBAAiB;AAAA,YACvF;AAAA,UACF;AAGA,cAAI,kBAAkB,CAAC,SAAS,WAAW,kBAAkB,kBAAkB,WAAW,aAAa,SAAS,SAAS,cAAc,kBAAkB,aAAa,SAAS,QAAQ,WAAW,YAAY,cAAc,UAAU,UAAU,WAAW,WAAW,WAAW,cAAc,gBAAgB,SAAS;AAIxT,cAAI,qBAAqB,IAAI,IAAI,CAAC,UAAU,SAAS,WAAW,QAAQ,UAAU,QAAQ,EAAE,OAAO,eAAe,CAAC;AAEnH,mBAAS,gBAAgB,OAAO,UAAU,eAAe;AACvD,gBAAI,OAAO,MAAM,QAAQ;AACzB,kBAAM,gBAAgB;AACtB,oDAAwC,MAAM,UAAU,QAAW,KAAK;AACxE,kBAAM,gBAAgB;AAAA,UACxB;AAEA,mBAAS,iCAAiC,OAAO,mBAAmB,gBAAgB;AAClF,gBAAI;AAEJ,gBAAI,gBAAgB;AAClB,uBAAS,IAAI,kBAAkB,SAAS,GAAG,KAAK,GAAG,KAAK;AACtD,oBAAI,uBAAuB,kBAAkB,CAAC,GAC1C,WAAW,qBAAqB,UAChC,gBAAgB,qBAAqB,eACrC,WAAW,qBAAqB;AAEpC,oBAAI,aAAa,oBAAoB,MAAM,qBAAqB,GAAG;AACjE;AAAA,gBACF;AAEA,gCAAgB,OAAO,UAAU,aAAa;AAC9C,mCAAmB;AAAA,cACrB;AAAA,YACF,OAAO;AACL,uBAAS,KAAK,GAAG,KAAK,kBAAkB,QAAQ,MAAM;AACpD,oBAAI,wBAAwB,kBAAkB,EAAE,GAC5C,YAAY,sBAAsB,UAClC,iBAAiB,sBAAsB,eACvC,YAAY,sBAAsB;AAEtC,oBAAI,cAAc,oBAAoB,MAAM,qBAAqB,GAAG;AAClE;AAAA,gBACF;AAEA,gCAAgB,OAAO,WAAW,cAAc;AAChD,mCAAmB;AAAA,cACrB;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,qBAAqB,eAAe,kBAAkB;AAC7D,gBAAI,kBAAkB,mBAAmB,sBAAsB;AAE/D,qBAAS,IAAI,GAAG,IAAI,cAAc,QAAQ,KAAK;AAC7C,kBAAI,mBAAmB,cAAc,CAAC,GAClC,QAAQ,iBAAiB,OACzB,YAAY,iBAAiB;AACjC,+CAAiC,OAAO,WAAW,cAAc;AAAA,YACnE;AAGA,+BAAmB;AAAA,UACrB;AAEA,mBAAS,yBAAyB,cAAc,kBAAkB,aAAa,YAAY,iBAAiB;AAC1G,gBAAI,oBAAoB,eAAe,WAAW;AAClD,gBAAI,gBAAgB,CAAC;AACrB,4BAAgB,eAAe,cAAc,YAAY,aAAa,mBAAmB,gBAAgB;AACzG,iCAAqB,eAAe,gBAAgB;AAAA,UACtD;AAEA,mBAAS,0BAA0B,cAAc,eAAe;AAC9D;AACE,kBAAI,CAAC,mBAAmB,IAAI,YAAY,GAAG;AACzC,sBAAM,6GAAkH,YAAY;AAAA,cACtI;AAAA,YACF;AAEA,gBAAI,yBAAyB;AAC7B,gBAAI,cAAc,oBAAoB,aAAa;AACnD,gBAAI,iBAAiB,kBAAkB,cAAc,sBAAsB;AAE3E,gBAAI,CAAC,YAAY,IAAI,cAAc,GAAG;AACpC,sCAAwB,eAAe,cAAc,kBAAkB,sBAAsB;AAC7F,0BAAY,IAAI,cAAc;AAAA,YAChC;AAAA,UACF;AACA,mBAAS,oBAAoB,cAAc,wBAAwB,QAAQ;AACzE;AACE,kBAAI,mBAAmB,IAAI,YAAY,KAAK,CAAC,wBAAwB;AACnE,sBAAM,2HAAgI,YAAY;AAAA,cACpJ;AAAA,YACF;AAEA,gBAAI,mBAAmB;AAEvB,gBAAI,wBAAwB;AAC1B,kCAAoB;AAAA,YACtB;AAEA,oCAAwB,QAAQ,cAAc,kBAAkB,sBAAsB;AAAA,UACxF;AACA,cAAI,kBAAkB,oBAAoB,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,CAAC;AAC5E,mBAAS,2BAA2B,sBAAsB;AACxD,gBAAI,CAAC,qBAAqB,eAAe,GAAG;AAC1C,mCAAqB,eAAe,IAAI;AACxC,8BAAgB,QAAQ,SAAU,cAAc;AAG9C,oBAAI,iBAAiB,mBAAmB;AACtC,sBAAI,CAAC,mBAAmB,IAAI,YAAY,GAAG;AACzC,wCAAoB,cAAc,OAAO,oBAAoB;AAAA,kBAC/D;AAEA,sCAAoB,cAAc,MAAM,oBAAoB;AAAA,gBAC9D;AAAA,cACF,CAAC;AACD,kBAAI,gBAAgB,qBAAqB,aAAa,gBAAgB,uBAAuB,qBAAqB;AAElH,kBAAI,kBAAkB,MAAM;AAG1B,oBAAI,CAAC,cAAc,eAAe,GAAG;AACnC,gCAAc,eAAe,IAAI;AACjC,sCAAoB,mBAAmB,OAAO,aAAa;AAAA,gBAC7D;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,wBAAwB,iBAAiB,cAAc,kBAAkB,wBAAwB,sCAAsC;AAC9I,gBAAI,WAAW,uCAAuC,iBAAiB,cAAc,gBAAgB;AAGrG,gBAAI,oBAAoB;AAExB,gBAAI,+BAA+B;AAOjC,kBAAI,iBAAiB,gBAAgB,iBAAiB,eAAe,iBAAiB,SAAS;AAC7F,oCAAoB;AAAA,cACtB;AAAA,YACF;AAEA,8BAAmB;AACnB,gBAAI;AAGJ,gBAAI,wBAAwB;AAC1B,kBAAI,sBAAsB,QAAW;AACnC,sCAAsB,uCAAuC,iBAAiB,cAAc,UAAU,iBAAiB;AAAA,cACzH,OAAO;AACL,sCAAsB,wBAAwB,iBAAiB,cAAc,QAAQ;AAAA,cACvF;AAAA,YACF,OAAO;AACL,kBAAI,sBAAsB,QAAW;AACnC,sCAAsB,sCAAsC,iBAAiB,cAAc,UAAU,iBAAiB;AAAA,cACxH,OAAO;AACL,sCAAsB,uBAAuB,iBAAiB,cAAc,QAAQ;AAAA,cACtF;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,wBAAwB,gBAAgB,iBAAiB;AAChE,mBAAO,mBAAmB,mBAAmB,eAAe,aAAa,gBAAgB,eAAe,eAAe;AAAA,UACzH;AAEA,mBAAS,kCAAkC,cAAc,kBAAkB,aAAa,YAAY,iBAAiB;AACnH,gBAAI,eAAe;AAEnB,iBAAK,mBAAmB,sCAAsC,MAAM,mBAAmB,sBAAsB,GAAG;AAC9G,kBAAI,sBAAsB;AAE1B,kBAAI,eAAe,MAAM;AAYvB,oBAAI,OAAO;AAEX;AAAU,yBAAO,MAAM;AACrB,wBAAI,SAAS,MAAM;AACjB;AAAA,oBACF;AAEA,wBAAI,UAAU,KAAK;AAEnB,wBAAI,YAAY,YAAY,YAAY,YAAY;AAClD,0BAAI,YAAY,KAAK,UAAU;AAE/B,0BAAI,wBAAwB,WAAW,mBAAmB,GAAG;AAC3D;AAAA,sBACF;AAEA,0BAAI,YAAY,YAAY;AAK1B,4BAAI,YAAY,KAAK;AAErB,+BAAO,cAAc,MAAM;AACzB,8BAAI,WAAW,UAAU;AAEzB,8BAAI,aAAa,YAAY,aAAa,YAAY;AACpD,gCAAI,iBAAiB,UAAU,UAAU;AAEzC,gCAAI,wBAAwB,gBAAgB,mBAAmB,GAAG;AAIhE;AAAA,4BACF;AAAA,0BACF;AAEA,sCAAY,UAAU;AAAA,wBACxB;AAAA,sBACF;AAOA,6BAAO,cAAc,MAAM;AACzB,4BAAI,aAAa,2BAA2B,SAAS;AAErD,4BAAI,eAAe,MAAM;AACvB;AAAA,wBACF;AAEA,4BAAI,YAAY,WAAW;AAE3B,4BAAI,cAAc,iBAAiB,cAAc,UAAU;AACzD,iCAAO,eAAe;AACtB,mCAAS;AAAA,wBACX;AAEA,oCAAY,UAAU;AAAA,sBACxB;AAAA,oBACF;AAEA,2BAAO,KAAK;AAAA,kBACd;AAAA,cACF;AAAA,YACF;AAEA,2BAAe,WAAY;AACzB,qBAAO,yBAAyB,cAAc,kBAAkB,aAAa,YAAY;AAAA,YAC3F,CAAC;AAAA,UACH;AAEA,mBAAS,uBAAuB,UAAU,UAAU,eAAe;AACjE,mBAAO;AAAA,cACL;AAAA,cACA;AAAA,cACA;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,+BAA+B,aAAa,WAAW,iBAAiB,gBAAgB,sBAAsB,aAAa;AAClI,gBAAI,cAAc,cAAc,OAAO,YAAY,YAAY;AAC/D,gBAAI,iBAAiB,iBAAiB,cAAc;AACpD,gBAAI,YAAY,CAAC;AACjB,gBAAI,WAAW;AACf,gBAAI,oBAAoB;AAExB,mBAAO,aAAa,MAAM;AACxB,kBAAI,aAAa,UACb,YAAY,WAAW,WACvB,MAAM,WAAW;AAErB,kBAAI,QAAQ,iBAAiB,cAAc,MAAM;AAC/C,oCAAoB;AAGpB,oBAAI,mBAAmB,MAAM;AAC3B,sBAAI,WAAW,YAAY,UAAU,cAAc;AAEnD,sBAAI,YAAY,MAAM;AACpB,8BAAU,KAAK,uBAAuB,UAAU,UAAU,iBAAiB,CAAC;AAAA,kBAC9E;AAAA,gBACF;AAAA,cACF;AAKA,kBAAI,sBAAsB;AACxB;AAAA,cACF;AAEA,yBAAW,SAAS;AAAA,YACtB;AAEA,mBAAO;AAAA,UACT;AAQA,mBAAS,4BAA4B,aAAa,WAAW;AAC3D,gBAAI,cAAc,YAAY;AAC9B,gBAAI,YAAY,CAAC;AACjB,gBAAI,WAAW;AAEf,mBAAO,aAAa,MAAM;AACxB,kBAAI,aAAa,UACb,YAAY,WAAW,WACvB,MAAM,WAAW;AAErB,kBAAI,QAAQ,iBAAiB,cAAc,MAAM;AAC/C,oBAAI,gBAAgB;AACpB,oBAAI,kBAAkB,YAAY,UAAU,WAAW;AAEvD,oBAAI,mBAAmB,MAAM;AAC3B,4BAAU,QAAQ,uBAAuB,UAAU,iBAAiB,aAAa,CAAC;AAAA,gBACpF;AAEA,oBAAI,iBAAiB,YAAY,UAAU,SAAS;AAEpD,oBAAI,kBAAkB,MAAM;AAC1B,4BAAU,KAAK,uBAAuB,UAAU,gBAAgB,aAAa,CAAC;AAAA,gBAChF;AAAA,cACF;AAEA,yBAAW,SAAS;AAAA,YACtB;AAEA,mBAAO;AAAA,UACT;AAEA,mBAASyB,WAAU,MAAM;AACvB,gBAAI,SAAS,MAAM;AACjB,qBAAO;AAAA,YACT;AAEA,eAAG;AACD,qBAAO,KAAK;AAAA,YAKd,SAAS,QAAQ,KAAK,QAAQ;AAE9B,gBAAI,MAAM;AACR,qBAAO;AAAA,YACT;AAEA,mBAAO;AAAA,UACT;AAOA,mBAAS,wBAAwB,OAAO,OAAO;AAC7C,gBAAI,QAAQ;AACZ,gBAAI,QAAQ;AACZ,gBAAI,SAAS;AAEb,qBAAS,QAAQ,OAAO,OAAO,QAAQA,WAAU,KAAK,GAAG;AACvD;AAAA,YACF;AAEA,gBAAI,SAAS;AAEb,qBAAS,QAAQ,OAAO,OAAO,QAAQA,WAAU,KAAK,GAAG;AACvD;AAAA,YACF;AAGA,mBAAO,SAAS,SAAS,GAAG;AAC1B,sBAAQA,WAAU,KAAK;AACvB;AAAA,YACF;AAGA,mBAAO,SAAS,SAAS,GAAG;AAC1B,sBAAQA,WAAU,KAAK;AACvB;AAAA,YACF;AAGA,gBAAI,QAAQ;AAEZ,mBAAO,SAAS;AACd,kBAAI,UAAU,SAAS,UAAU,QAAQ,UAAU,MAAM,WAAW;AAClE,uBAAO;AAAA,cACT;AAEA,sBAAQA,WAAU,KAAK;AACvB,sBAAQA,WAAU,KAAK;AAAA,YACzB;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,sCAAsC,eAAe,OAAO,QAAQ,QAAQ,gBAAgB;AACnG,gBAAI,mBAAmB,MAAM;AAC7B,gBAAI,YAAY,CAAC;AACjB,gBAAI,WAAW;AAEf,mBAAO,aAAa,MAAM;AACxB,kBAAI,aAAa,QAAQ;AACvB;AAAA,cACF;AAEA,kBAAI,aAAa,UACb,YAAY,WAAW,WACvB,YAAY,WAAW,WACvB,MAAM,WAAW;AAErB,kBAAI,cAAc,QAAQ,cAAc,QAAQ;AAC9C;AAAA,cACF;AAEA,kBAAI,QAAQ,iBAAiB,cAAc,MAAM;AAC/C,oBAAI,gBAAgB;AAEpB,oBAAI,gBAAgB;AAClB,sBAAI,kBAAkB,YAAY,UAAU,gBAAgB;AAE5D,sBAAI,mBAAmB,MAAM;AAC3B,8BAAU,QAAQ,uBAAuB,UAAU,iBAAiB,aAAa,CAAC;AAAA,kBACpF;AAAA,gBACF,WAAW,CAAC,gBAAgB;AAC1B,sBAAI,iBAAiB,YAAY,UAAU,gBAAgB;AAE3D,sBAAI,kBAAkB,MAAM;AAC1B,8BAAU,KAAK,uBAAuB,UAAU,gBAAgB,aAAa,CAAC;AAAA,kBAChF;AAAA,gBACF;AAAA,cACF;AAEA,yBAAW,SAAS;AAAA,YACtB;AAEA,gBAAI,UAAU,WAAW,GAAG;AAC1B,4BAAc,KAAK;AAAA,gBACjB;AAAA,gBACA;AAAA,cACF,CAAC;AAAA,YACH;AAAA,UACF;AAOA,mBAAS,sCAAsC,eAAe,YAAY,YAAY,MAAM,IAAI;AAC9F,gBAAI,SAAS,QAAQ,KAAK,wBAAwB,MAAM,EAAE,IAAI;AAE9D,gBAAI,SAAS,MAAM;AACjB,oDAAsC,eAAe,YAAY,MAAM,QAAQ,KAAK;AAAA,YACtF;AAEA,gBAAI,OAAO,QAAQ,eAAe,MAAM;AACtC,oDAAsC,eAAe,YAAY,IAAI,QAAQ,IAAI;AAAA,YACnF;AAAA,UACF;AACA,mBAAS,kBAAkB,cAAc,SAAS;AAChD,mBAAO,eAAe,QAAQ,UAAU,YAAY;AAAA,UACtD;AAEA,cAAI,0BAA0B;AAC9B,cAAI,6BAA6B;AACjC,cAAI,oCAAoC;AACxC,cAAI,6BAA6B;AACjC,cAAI,YAAY;AAChB,cAAI,WAAW;AACf,cAAI,QAAQ;AACZ,cAAI,SAAS;AACb,cAAI;AACJ,cAAI;AACJ,cAAI;AACJ,cAAI;AACJ,cAAI;AACJ,cAAI;AACJ,cAAI;AAEJ;AACE,gCAAoB;AAAA;AAAA,cAElB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAMR,SAAS;AAAA,YACX;AAEA,8CAAkC,SAAU,MAAM,OAAO;AACvD,iCAAmB,MAAM,KAAK;AAC9B,mCAAqB,MAAM,KAAK;AAChC,mCAAqB,MAAM,OAAO;AAAA,gBAChC;AAAA,gBACA;AAAA,cACF,CAAC;AAAA,YACH;AAUA,8CAAkCzB,cAAa,CAAC,SAAS;AAEzD,oCAAwB,SAAU,UAAU,aAAa,aAAa;AACpE,kBAAI,yBAAyB;AAC3B;AAAA,cACF;AAEA,kBAAI,wBAAwB,kCAAkC,WAAW;AACzE,kBAAI,wBAAwB,kCAAkC,WAAW;AAEzE,kBAAI,0BAA0B,uBAAuB;AACnD;AAAA,cACF;AAEA,wCAA0B;AAE1B,oBAAM,kDAAkD,UAAU,KAAK,UAAU,qBAAqB,GAAG,KAAK,UAAU,qBAAqB,CAAC;AAAA,YAChJ;AAEA,qCAAyB,SAAU,gBAAgB;AACjD,kBAAI,yBAAyB;AAC3B;AAAA,cACF;AAEA,wCAA0B;AAC1B,kBAAI,QAAQ,CAAC;AACb,6BAAe,QAAQ,SAAU,MAAM;AACrC,sBAAM,KAAK,IAAI;AAAA,cACjB,CAAC;AAED,oBAAM,wCAAwC,KAAK;AAAA,YACrD;AAEA,0CAA8B,SAAU,kBAAkB,UAAU;AAClE,kBAAI,aAAa,OAAO;AACtB,sBAAM,wLAAkM,kBAAkB,kBAAkB,gBAAgB;AAAA,cAC9P,OAAO;AACL,sBAAM,8EAA8E,kBAAkB,OAAO,QAAQ;AAAA,cACvH;AAAA,YACF;AAIA,4BAAgB,SAAU,QAAQ,MAAM;AAKtC,kBAAI,cAAc,OAAO,iBAAiB,iBAAiB,OAAO,cAAc,cAAc,OAAO,OAAO,IAAI,OAAO,cAAc,gBAAgB,OAAO,cAAc,OAAO,OAAO;AACxL,0BAAY,YAAY;AACxB,qBAAO,YAAY;AAAA,YACrB;AAAA,UACF;AAOA,cAAI,2BAA2B;AAC/B,cAAI,uCAAuC;AAE3C,mBAAS,kCAAkC,QAAQ;AACjD;AACE,sCAAwB,MAAM;AAAA,YAChC;AAEA,gBAAI,eAAe,OAAO,WAAW,WAAW,SAAS,KAAK;AAC9D,mBAAO,aAAa,QAAQ,0BAA0B,IAAI,EAAE,QAAQ,sCAAsC,EAAE;AAAA,UAC9G;AAEA,mBAAS,sBAAsB,YAAY,YAAY,kBAAkB,eAAe;AACtF,gBAAI,uBAAuB,kCAAkC,UAAU;AACvE,gBAAI,uBAAuB,kCAAkC,UAAU;AAEvE,gBAAI,yBAAyB,sBAAsB;AACjD;AAAA,YACF;AAEA,gBAAI,eAAe;AACjB;AACE,oBAAI,CAAC,yBAAyB;AAC5B,4CAA0B;AAE1B,wBAAM,yDAAyD,sBAAsB,oBAAoB;AAAA,gBAC3G;AAAA,cACF;AAAA,YACF;AAEA,gBAAI,oBAAoB,0CAA0C;AAGhE,oBAAM,IAAI,MAAM,mDAAmD;AAAA,YACrE;AAAA,UACF;AAEA,mBAAS,kCAAkC,sBAAsB;AAC/D,mBAAO,qBAAqB,aAAa,gBAAgB,uBAAuB,qBAAqB;AAAA,UACvG;AAEA,mBAAS0B,QAAO;AAAA,UAAC;AAEjB,mBAAS,iCAAiC,MAAM;AAU9C,iBAAK,UAAUA;AAAA,UACjB;AAEA,mBAAS,wBAAwB,KAAK,YAAY,sBAAsB,WAAW,sBAAsB;AACvG,qBAAS,WAAW,WAAW;AAC7B,kBAAI,CAAC,UAAU,eAAe,OAAO,GAAG;AACtC;AAAA,cACF;AAEA,kBAAI,WAAW,UAAU,OAAO;AAEhC,kBAAI,YAAY,OAAO;AACrB;AACE,sBAAI,UAAU;AAGZ,2BAAO,OAAO,QAAQ;AAAA,kBACxB;AAAA,gBACF;AAGA,kCAAkB,YAAY,QAAQ;AAAA,cACxC,WAAW,YAAY,4BAA4B;AACjD,oBAAI,WAAW,WAAW,SAAS,MAAM,IAAI;AAE7C,oBAAI,YAAY,MAAM;AACpB,+BAAa,YAAY,QAAQ;AAAA,gBACnC;AAAA,cACF,WAAW,YAAY,UAAU;AAC/B,oBAAI,OAAO,aAAa,UAAU;AAKhC,sBAAI,oBAAoB,QAAQ,cAAc,aAAa;AAE3D,sBAAI,mBAAmB;AACrB,mCAAe,YAAY,QAAQ;AAAA,kBACrC;AAAA,gBACF,WAAW,OAAO,aAAa,UAAU;AACvC,iCAAe,YAAY,KAAK,QAAQ;AAAA,gBAC1C;AAAA,cACF,WAAW,YAAY,qCAAqC,YAAY;AAA4B;AAAA,uBAAW,YAAY;AAAW;AAAA,uBAAW,6BAA6B,eAAe,OAAO,GAAG;AACrM,oBAAI,YAAY,MAAM;AACpB,sBAAK,OAAO,aAAa,YAAY;AACnC,gDAA4B,SAAS,QAAQ;AAAA,kBAC/C;AAEA,sBAAI,YAAY,YAAY;AAC1B,8CAA0B,UAAU,UAAU;AAAA,kBAChD;AAAA,gBACF;AAAA,cACF,WAAW,YAAY,MAAM;AAC3B,oCAAoB,YAAY,SAAS,UAAU,oBAAoB;AAAA,cACzE;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,oBAAoB,YAAY,eAAe,uBAAuB,sBAAsB;AAEnG,qBAAS,IAAI,GAAG,IAAI,cAAc,QAAQ,KAAK,GAAG;AAChD,kBAAI,UAAU,cAAc,CAAC;AAC7B,kBAAI,YAAY,cAAc,IAAI,CAAC;AAEnC,kBAAI,YAAY,OAAO;AACrB,kCAAkB,YAAY,SAAS;AAAA,cACzC,WAAW,YAAY,4BAA4B;AACjD,6BAAa,YAAY,SAAS;AAAA,cACpC,WAAW,YAAY,UAAU;AAC/B,+BAAe,YAAY,SAAS;AAAA,cACtC,OAAO;AACL,oCAAoB,YAAY,SAAS,WAAW,oBAAoB;AAAA,cAC1E;AAAA,YACF;AAAA,UACF;AAEA,mBAASC,eAAc,MAAM,OAAO,sBAAsB,iBAAiB;AACzE,gBAAI;AAGJ,gBAAI,gBAAgB,kCAAkC,oBAAoB;AAC1E,gBAAI;AACJ,gBAAI,eAAe;AAEnB,gBAAI,iBAAiB,gBAAgB;AACnC,6BAAe,sBAAsB,IAAI;AAAA,YAC3C;AAEA,gBAAI,iBAAiB,gBAAgB;AACnC;AACE,uCAAuB,kBAAkB,MAAM,KAAK;AAGpD,oBAAI,CAAC,wBAAwB,SAAS,KAAK,YAAY,GAAG;AACxD,wBAAM,0GAAoH,IAAI;AAAA,gBAChI;AAAA,cACF;AAEA,kBAAI,SAAS,UAAU;AAGrB,oBAAI,MAAM,cAAc,cAAc,KAAK;AAE3C,oBAAI,YAAY;AAGhB,oBAAI,aAAa,IAAI;AACrB,6BAAa,IAAI,YAAY,UAAU;AAAA,cACzC,WAAW,OAAO,MAAM,OAAO,UAAU;AAEvC,6BAAa,cAAc,cAAc,MAAM;AAAA,kBAC7C,IAAI,MAAM;AAAA,gBACZ,CAAC;AAAA,cACH,OAAO;AAIL,6BAAa,cAAc,cAAc,IAAI;AAS7C,oBAAI,SAAS,UAAU;AACrB,sBAAI,OAAO;AAEX,sBAAI,MAAM,UAAU;AAClB,yBAAK,WAAW;AAAA,kBAClB,WAAW,MAAM,MAAM;AAKrB,yBAAK,OAAO,MAAM;AAAA,kBACpB;AAAA,gBACF;AAAA,cACF;AAAA,YACF,OAAO;AACL,2BAAa,cAAc,gBAAgB,cAAc,IAAI;AAAA,YAC/D;AAEA;AACE,kBAAI,iBAAiB,gBAAgB;AACnC,oBAAI,CAAC,wBAAwB,OAAO,UAAU,SAAS,KAAK,UAAU,MAAM,iCAAiC,CAAC,eAAe,KAAK,mBAAmB,IAAI,GAAG;AAC1J,oCAAkB,IAAI,IAAI;AAE1B,wBAAM,oIAA8I,IAAI;AAAA,gBAC1J;AAAA,cACF;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AACA,mBAAS,eAAe,MAAM,sBAAsB;AAClD,mBAAO,kCAAkC,oBAAoB,EAAE,eAAe,IAAI;AAAA,UACpF;AACA,mBAAS,qBAAqB,YAAY,KAAK,UAAU,sBAAsB;AAC7E,gBAAI,uBAAuB,kBAAkB,KAAK,QAAQ;AAE1D;AACE,8CAAgC,KAAK,QAAQ;AAAA,YAC/C;AAGA,gBAAI;AAEJ,oBAAQ,KAAK;AAAA,cACX,KAAK;AACH,0CAA0B,UAAU,UAAU;AAC9C,0CAA0B,SAAS,UAAU;AAC7C,wBAAQ;AACR;AAAA,cAEF,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAGH,0CAA0B,QAAQ,UAAU;AAC5C,wBAAQ;AACR;AAAA,cAEF,KAAK;AAAA,cACL,KAAK;AAGH,yBAAS,IAAI,GAAG,IAAI,gBAAgB,QAAQ,KAAK;AAC/C,4CAA0B,gBAAgB,CAAC,GAAG,UAAU;AAAA,gBAC1D;AAEA,wBAAQ;AACR;AAAA,cAEF,KAAK;AAGH,0CAA0B,SAAS,UAAU;AAC7C,wBAAQ;AACR;AAAA,cAEF,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAGH,0CAA0B,SAAS,UAAU;AAC7C,0CAA0B,QAAQ,UAAU;AAC5C,wBAAQ;AACR;AAAA,cAEF,KAAK;AAGH,0CAA0B,UAAU,UAAU;AAC9C,wBAAQ;AACR;AAAA,cAEF,KAAK;AACH,iCAAiB,YAAY,QAAQ;AACrC,wBAAQ,aAAa,YAAY,QAAQ;AAGzC,0CAA0B,WAAW,UAAU;AAC/C;AAAA,cAEF,KAAK;AACH,8BAAc,YAAY,QAAQ;AAClC,wBAAQ;AACR;AAAA,cAEF,KAAK;AACH,mCAAmB,YAAY,QAAQ;AACvC,wBAAQ,eAAe,YAAY,QAAQ;AAG3C,0CAA0B,WAAW,UAAU;AAC/C;AAAA,cAEF,KAAK;AACH,mCAAmB,YAAY,QAAQ;AACvC,wBAAQ,eAAe,YAAY,QAAQ;AAG3C,0CAA0B,WAAW,UAAU;AAC/C;AAAA,cAEF;AACE,wBAAQ;AAAA,YACZ;AAEA,6BAAiB,KAAK,KAAK;AAC3B,oCAAwB,KAAK,YAAY,sBAAsB,OAAO,oBAAoB;AAE1F,oBAAQ,KAAK;AAAA,cACX,KAAK;AAGH,sBAAM,UAAU;AAChB,iCAAiB,YAAY,UAAU,KAAK;AAC5C;AAAA,cAEF,KAAK;AAGH,sBAAM,UAAU;AAChB,mCAAmB,UAAU;AAC7B;AAAA,cAEF,KAAK;AACH,mCAAmB,YAAY,QAAQ;AACvC;AAAA,cAEF,KAAK;AACH,mCAAmB,YAAY,QAAQ;AACvC;AAAA,cAEF;AACE,oBAAI,OAAO,MAAM,YAAY,YAAY;AAEvC,mDAAiC,UAAU;AAAA,gBAC7C;AAEA;AAAA,YACJ;AAAA,UACF;AAEA,mBAAS,eAAe,YAAY,KAAK,cAAc,cAAc,sBAAsB;AACzF;AACE,8CAAgC,KAAK,YAAY;AAAA,YACnD;AAEA,gBAAI,gBAAgB;AACpB,gBAAI;AACJ,gBAAI;AAEJ,oBAAQ,KAAK;AAAA,cACX,KAAK;AACH,4BAAY,aAAa,YAAY,YAAY;AACjD,4BAAY,aAAa,YAAY,YAAY;AACjD,gCAAgB,CAAC;AACjB;AAAA,cAEF,KAAK;AACH,4BAAY,eAAe,YAAY,YAAY;AACnD,4BAAY,eAAe,YAAY,YAAY;AACnD,gCAAgB,CAAC;AACjB;AAAA,cAEF,KAAK;AACH,4BAAY,eAAe,YAAY,YAAY;AACnD,4BAAY,eAAe,YAAY,YAAY;AACnD,gCAAgB,CAAC;AACjB;AAAA,cAEF;AACE,4BAAY;AACZ,4BAAY;AAEZ,oBAAI,OAAO,UAAU,YAAY,cAAc,OAAO,UAAU,YAAY,YAAY;AAEtF,mDAAiC,UAAU;AAAA,gBAC7C;AAEA;AAAA,YACJ;AAEA,6BAAiB,KAAK,SAAS;AAC/B,gBAAI;AACJ,gBAAI;AACJ,gBAAI,eAAe;AAEnB,iBAAK,WAAW,WAAW;AACzB,kBAAI,UAAU,eAAe,OAAO,KAAK,CAAC,UAAU,eAAe,OAAO,KAAK,UAAU,OAAO,KAAK,MAAM;AACzG;AAAA,cACF;AAEA,kBAAI,YAAY,OAAO;AACrB,oBAAI,YAAY,UAAU,OAAO;AAEjC,qBAAK,aAAa,WAAW;AAC3B,sBAAI,UAAU,eAAe,SAAS,GAAG;AACvC,wBAAI,CAAC,cAAc;AACjB,qCAAe,CAAC;AAAA,oBAClB;AAEA,iCAAa,SAAS,IAAI;AAAA,kBAC5B;AAAA,gBACF;AAAA,cACF,WAAW,YAAY,8BAA8B,YAAY;AAAU;AAAA,uBAAW,YAAY,qCAAqC,YAAY;AAA4B;AAAA,uBAAW,YAAY;AAAW;AAAA,uBAAW,6BAA6B,eAAe,OAAO,GAAG;AAIhR,oBAAI,CAAC,eAAe;AAClB,kCAAgB,CAAC;AAAA,gBACnB;AAAA,cACF,OAAO;AAGL,iBAAC,gBAAgB,iBAAiB,CAAC,GAAG,KAAK,SAAS,IAAI;AAAA,cAC1D;AAAA,YACF;AAEA,iBAAK,WAAW,WAAW;AACzB,kBAAI,WAAW,UAAU,OAAO;AAChC,kBAAI,WAAW,aAAa,OAAO,UAAU,OAAO,IAAI;AAExD,kBAAI,CAAC,UAAU,eAAe,OAAO,KAAK,aAAa,YAAY,YAAY,QAAQ,YAAY,MAAM;AACvG;AAAA,cACF;AAEA,kBAAI,YAAY,OAAO;AACrB;AACE,sBAAI,UAAU;AAGZ,2BAAO,OAAO,QAAQ;AAAA,kBACxB;AAAA,gBACF;AAEA,oBAAI,UAAU;AAEZ,uBAAK,aAAa,UAAU;AAC1B,wBAAI,SAAS,eAAe,SAAS,MAAM,CAAC,YAAY,CAAC,SAAS,eAAe,SAAS,IAAI;AAC5F,0BAAI,CAAC,cAAc;AACjB,uCAAe,CAAC;AAAA,sBAClB;AAEA,mCAAa,SAAS,IAAI;AAAA,oBAC5B;AAAA,kBACF;AAGA,uBAAK,aAAa,UAAU;AAC1B,wBAAI,SAAS,eAAe,SAAS,KAAK,SAAS,SAAS,MAAM,SAAS,SAAS,GAAG;AACrF,0BAAI,CAAC,cAAc;AACjB,uCAAe,CAAC;AAAA,sBAClB;AAEA,mCAAa,SAAS,IAAI,SAAS,SAAS;AAAA,oBAC9C;AAAA,kBACF;AAAA,gBACF,OAAO;AAEL,sBAAI,CAAC,cAAc;AACjB,wBAAI,CAAC,eAAe;AAClB,sCAAgB,CAAC;AAAA,oBACnB;AAEA,kCAAc,KAAK,SAAS,YAAY;AAAA,kBAC1C;AAEA,iCAAe;AAAA,gBACjB;AAAA,cACF,WAAW,YAAY,4BAA4B;AACjD,oBAAI,WAAW,WAAW,SAAS,MAAM,IAAI;AAC7C,oBAAI,WAAW,WAAW,SAAS,MAAM,IAAI;AAE7C,oBAAI,YAAY,MAAM;AACpB,sBAAI,aAAa,UAAU;AACzB,qBAAC,gBAAgB,iBAAiB,CAAC,GAAG,KAAK,SAAS,QAAQ;AAAA,kBAC9D;AAAA,gBACF;AAAA,cACF,WAAW,YAAY,UAAU;AAC/B,oBAAI,OAAO,aAAa,YAAY,OAAO,aAAa,UAAU;AAChE,mBAAC,gBAAgB,iBAAiB,CAAC,GAAG,KAAK,SAAS,KAAK,QAAQ;AAAA,gBACnE;AAAA,cACF,WAAW,YAAY,qCAAqC,YAAY;AAA4B;AAAA,uBAAW,6BAA6B,eAAe,OAAO,GAAG;AACnK,oBAAI,YAAY,MAAM;AAEpB,sBAAK,OAAO,aAAa,YAAY;AACnC,gDAA4B,SAAS,QAAQ;AAAA,kBAC/C;AAEA,sBAAI,YAAY,YAAY;AAC1B,8CAA0B,UAAU,UAAU;AAAA,kBAChD;AAAA,gBACF;AAEA,oBAAI,CAAC,iBAAiB,aAAa,UAAU;AAI3C,kCAAgB,CAAC;AAAA,gBACnB;AAAA,cACF,OAAO;AAGL,iBAAC,gBAAgB,iBAAiB,CAAC,GAAG,KAAK,SAAS,QAAQ;AAAA,cAC9D;AAAA,YACF;AAEA,gBAAI,cAAc;AAChB;AACE,wDAAwC,cAAc,UAAU,KAAK,CAAC;AAAA,cACxE;AAEA,eAAC,gBAAgB,iBAAiB,CAAC,GAAG,KAAK,OAAO,YAAY;AAAA,YAChE;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,iBAAiB,YAAY,eAAe,KAAK,cAAc,cAAc;AAIpF,gBAAI,QAAQ,WAAW,aAAa,SAAS,WAAW,aAAa,QAAQ,MAAM;AACjF,4BAAc,YAAY,YAAY;AAAA,YACxC;AAEA,gBAAI,wBAAwB,kBAAkB,KAAK,YAAY;AAC/D,gBAAI,uBAAuB,kBAAkB,KAAK,YAAY;AAE9D,gCAAoB,YAAY,eAAe,uBAAuB,oBAAoB;AAG1F,oBAAQ,KAAK;AAAA,cACX,KAAK;AAIH,8BAAc,YAAY,YAAY;AACtC;AAAA,cAEF,KAAK;AACH,gCAAgB,YAAY,YAAY;AACxC;AAAA,cAEF,KAAK;AAGH,kCAAkB,YAAY,YAAY;AAC1C;AAAA,YACJ;AAAA,UACF;AAEA,mBAAS,wBAAwB,UAAU;AACzC;AACE,kBAAI,iBAAiB,SAAS,YAAY;AAE1C,kBAAI,CAAC,sBAAsB,eAAe,cAAc,GAAG;AACzD,uBAAO;AAAA,cACT;AAEA,qBAAO,sBAAsB,cAAc,KAAK;AAAA,YAClD;AAAA,UACF;AAEA,mBAAS,uBAAuB,YAAY,KAAK,UAAU,iBAAiB,sBAAsB,kBAAkB,eAAe;AACjI,gBAAI;AACJ,gBAAI;AAEJ;AACE,qCAAuB,kBAAkB,KAAK,QAAQ;AACtD,8CAAgC,KAAK,QAAQ;AAAA,YAC/C;AAGA,oBAAQ,KAAK;AAAA,cACX,KAAK;AACH,0CAA0B,UAAU,UAAU;AAC9C,0CAA0B,SAAS,UAAU;AAC7C;AAAA,cAEF,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAGH,0CAA0B,QAAQ,UAAU;AAC5C;AAAA,cAEF,KAAK;AAAA,cACL,KAAK;AAGH,yBAAS,IAAI,GAAG,IAAI,gBAAgB,QAAQ,KAAK;AAC/C,4CAA0B,gBAAgB,CAAC,GAAG,UAAU;AAAA,gBAC1D;AAEA;AAAA,cAEF,KAAK;AAGH,0CAA0B,SAAS,UAAU;AAC7C;AAAA,cAEF,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAGH,0CAA0B,SAAS,UAAU;AAC7C,0CAA0B,QAAQ,UAAU;AAC5C;AAAA,cAEF,KAAK;AAGH,0CAA0B,UAAU,UAAU;AAC9C;AAAA,cAEF,KAAK;AACH,iCAAiB,YAAY,QAAQ;AAGrC,0CAA0B,WAAW,UAAU;AAC/C;AAAA,cAEF,KAAK;AACH,8BAAc,YAAY,QAAQ;AAClC;AAAA,cAEF,KAAK;AACH,mCAAmB,YAAY,QAAQ;AAGvC,0CAA0B,WAAW,UAAU;AAC/C;AAAA,cAEF,KAAK;AACH,mCAAmB,YAAY,QAAQ;AAGvC,0CAA0B,WAAW,UAAU;AAC/C;AAAA,YACJ;AAEA,6BAAiB,KAAK,QAAQ;AAE9B;AACE,oCAAsB,oBAAI,IAAI;AAC9B,kBAAI,aAAa,WAAW;AAE5B,uBAAS,KAAK,GAAG,KAAK,WAAW,QAAQ,MAAM;AAC7C,oBAAI,OAAO,WAAW,EAAE,EAAE,KAAK,YAAY;AAE3C,wBAAQ,MAAM;AAAA,kBAGZ,KAAK;AACH;AAAA,kBAEF,KAAK;AACH;AAAA,kBAEF,KAAK;AACH;AAAA,kBAEF;AAGE,wCAAoB,IAAI,WAAW,EAAE,EAAE,IAAI;AAAA,gBAC/C;AAAA,cACF;AAAA,YACF;AAEA,gBAAI,gBAAgB;AAEpB,qBAAS,WAAW,UAAU;AAC5B,kBAAI,CAAC,SAAS,eAAe,OAAO,GAAG;AACrC;AAAA,cACF;AAEA,kBAAI,WAAW,SAAS,OAAO;AAE/B,kBAAI,YAAY,UAAU;AAUxB,oBAAI,OAAO,aAAa,UAAU;AAChC,sBAAI,WAAW,gBAAgB,UAAU;AACvC,wBAAI,SAAS,0BAA0B,MAAM,MAAM;AACjD,4CAAsB,WAAW,aAAa,UAAU,kBAAkB,aAAa;AAAA,oBACzF;AAEA,oCAAgB,CAAC,UAAU,QAAQ;AAAA,kBACrC;AAAA,gBACF,WAAW,OAAO,aAAa,UAAU;AACvC,sBAAI,WAAW,gBAAgB,KAAK,UAAU;AAC5C,wBAAI,SAAS,0BAA0B,MAAM,MAAM;AACjD,4CAAsB,WAAW,aAAa,UAAU,kBAAkB,aAAa;AAAA,oBACzF;AAEA,oCAAgB,CAAC,UAAU,KAAK,QAAQ;AAAA,kBAC1C;AAAA,gBACF;AAAA,cACF,WAAW,6BAA6B,eAAe,OAAO,GAAG;AAC/D,oBAAI,YAAY,MAAM;AACpB,sBAAK,OAAO,aAAa,YAAY;AACnC,gDAA4B,SAAS,QAAQ;AAAA,kBAC/C;AAEA,sBAAI,YAAY,YAAY;AAC1B,8CAA0B,UAAU,UAAU;AAAA,kBAChD;AAAA,gBACF;AAAA,cACF,WAAW,iBAAiB;AAAA,cAC5B,OAAO,yBAAyB,WAAW;AAEzC,oBAAI,cAAc;AAClB,oBAAI,eAAe,wBAAwB,qCAAqC,OAAO,gBAAgB,OAAO;AAE9G,oBAAI,SAAS,0BAA0B,MAAM;AAAM;AAAA,yBAAW,YAAY,qCAAqC,YAAY;AAAA;AAAA,gBAE3H,YAAY,WAAW,YAAY,aAAa,YAAY;AAAY;AAAA,yBAAW,YAAY,4BAA4B;AACzH,sBAAI,aAAa,WAAW;AAC5B,sBAAI,WAAW,WAAW,SAAS,MAAM,IAAI;AAE7C,sBAAI,YAAY,MAAM;AACpB,wBAAI,eAAe,cAAc,YAAY,QAAQ;AAErD,wBAAI,iBAAiB,YAAY;AAC/B,4CAAsB,SAAS,YAAY,YAAY;AAAA,oBACzD;AAAA,kBACF;AAAA,gBACF,WAAW,YAAY,OAAO;AAE5B,sCAAoB,OAAO,OAAO;AAElC,sBAAI,iCAAiC;AACnC,wBAAI,gBAAgB,+BAA+B,QAAQ;AAC3D,kCAAc,WAAW,aAAa,OAAO;AAE7C,wBAAI,kBAAkB,aAAa;AACjC,4CAAsB,SAAS,aAAa,aAAa;AAAA,oBAC3D;AAAA,kBACF;AAAA,gBACF,WAAW,wBAAwB,CAAC,oCAAoC;AAEtE,sCAAoB,OAAO,QAAQ,YAAY,CAAC;AAChD,gCAAc,qBAAqB,YAAY,SAAS,QAAQ;AAEhE,sBAAI,aAAa,aAAa;AAC5B,0CAAsB,SAAS,aAAa,QAAQ;AAAA,kBACtD;AAAA,gBACF,WAAW,CAAC,sBAAsB,SAAS,cAAc,oBAAoB,KAAK,CAAC,sBAAsB,SAAS,UAAU,cAAc,oBAAoB,GAAG;AAC/J,sBAAI,2BAA2B;AAE/B,sBAAI,iBAAiB,MAAM;AAEzB,wCAAoB,OAAO,aAAa,aAAa;AACrD,kCAAc,oBAAoB,YAAY,SAAS,UAAU,YAAY;AAAA,kBAC/E,OAAO;AACL,wBAAI,eAAe;AAEnB,wBAAI,iBAAiB,gBAAgB;AACnC,qCAAe,sBAAsB,GAAG;AAAA,oBAC1C;AAEA,wBAAI,iBAAiB,gBAAgB;AAEnC,0CAAoB,OAAO,QAAQ,YAAY,CAAC;AAAA,oBAClD,OAAO;AACL,0BAAI,eAAe,wBAAwB,OAAO;AAElD,0BAAI,iBAAiB,QAAQ,iBAAiB,SAAS;AAMrD,mDAA2B;AAE3B,4CAAoB,OAAO,YAAY;AAAA,sBACzC;AAGA,0CAAoB,OAAO,OAAO;AAAA,oBACpC;AAEA,kCAAc,qBAAqB,YAAY,SAAS,QAAQ;AAAA,kBAClE;AAEA,sBAAI,wBAAwB;AAE5B,sBAAI,CAAC,yBAAyB,aAAa,eAAe,CAAC,0BAA0B;AACnF,0CAAsB,SAAS,aAAa,QAAQ;AAAA,kBACtD;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAEA;AACE,kBAAI,eAAe;AACjB;AAAA;AAAA,kBACA,oBAAoB,OAAO,KAAK,SAAS,0BAA0B,MAAM;AAAA,kBAAM;AAE7E,yCAAuB,mBAAmB;AAAA,gBAC5C;AAAA,cACF;AAAA,YACF;AAEA,oBAAQ,KAAK;AAAA,cACX,KAAK;AAGH,sBAAM,UAAU;AAChB,iCAAiB,YAAY,UAAU,IAAI;AAC3C;AAAA,cAEF,KAAK;AAGH,sBAAM,UAAU;AAChB,mCAAmB,UAAU;AAC7B;AAAA,cAEF,KAAK;AAAA,cACL,KAAK;AAMH;AAAA,cAEF;AACE,oBAAI,OAAO,SAAS,YAAY,YAAY;AAE1C,mDAAiC,UAAU;AAAA,gBAC7C;AAEA;AAAA,YACJ;AAEA,mBAAO;AAAA,UACT;AACA,mBAAS,iBAAiB,UAAU,MAAM,kBAAkB;AAC1D,gBAAI,cAAc,SAAS,cAAc;AACzC,mBAAO;AAAA,UACT;AACA,mBAAS,gCAAgC,YAAY,OAAO;AAC1D;AACE,kBAAI,yBAAyB;AAC3B;AAAA,cACF;AAEA,wCAA0B;AAE1B,oBAAM,yDAAyD,MAAM,SAAS,YAAY,GAAG,WAAW,SAAS,YAAY,CAAC;AAAA,YAChI;AAAA,UACF;AACA,mBAAS,6BAA6B,YAAY,OAAO;AACvD;AACE,kBAAI,yBAAyB;AAC3B;AAAA,cACF;AAEA,wCAA0B;AAE1B,oBAAM,qEAAqE,MAAM,WAAW,WAAW,SAAS,YAAY,CAAC;AAAA,YAC/H;AAAA,UACF;AACA,mBAAS,+BAA+B,YAAY,KAAK,OAAO;AAC9D;AACE,kBAAI,yBAAyB;AAC3B;AAAA,cACF;AAEA,wCAA0B;AAE1B,oBAAM,4DAA4D,KAAK,WAAW,SAAS,YAAY,CAAC;AAAA,YAC1G;AAAA,UACF;AACA,mBAAS,4BAA4B,YAAY,MAAM;AACrD;AACE,kBAAI,SAAS,IAAI;AAKf;AAAA,cACF;AAEA,kBAAI,yBAAyB;AAC3B;AAAA,cACF;AAEA,wCAA0B;AAE1B,oBAAM,0EAA0E,MAAM,WAAW,SAAS,YAAY,CAAC;AAAA,YACzH;AAAA,UACF;AACA,mBAAS,yBAAyB,YAAY,KAAK,OAAO;AACxD,oBAAQ,KAAK;AAAA,cACX,KAAK;AACH,uCAAuB,YAAY,KAAK;AACxC;AAAA,cAEF,KAAK;AACH,yCAAyB,YAAY,KAAK;AAC1C;AAAA,cAEF,KAAK;AACH,yCAAyB,YAAY,KAAK;AAC1C;AAAA,YACJ;AAAA,UACF;AAEA,cAAI,qBAAqB,WAAY;AAAA,UAAC;AAEtC,cAAI,sBAAsB,WAAY;AAAA,UAAC;AAEvC;AAYE,gBAAI,cAAc,CAAC,WAAW,UAAU,QAAQ,WAAW,SAAS,QAAQ,YAAY,WAAW,cAAc,QAAQ,MAAM,UAAU,WAAW,UAAU,OAAO,YAAY,MAAM,WAAW,OAAO,OAAO,MAAM,MAAM,SAAS,YAAY,cAAc,UAAU,UAAU,QAAQ,SAAS,YAAY,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,QAAQ,UAAU,UAAU,MAAM,QAAQ,UAAU,OAAO,SAAS,WAAW,MAAM,QAAQ,WAAW,QAAQ,WAAW,QAAQ,YAAY,QAAQ,OAAO,WAAW,YAAY,YAAY,UAAU,MAAM,KAAK,SAAS,aAAa,OAAO,UAAU,WAAW,UAAU,UAAU,SAAS,WAAW,SAAS,SAAS,MAAM,YAAY,YAAY,SAAS,MAAM,SAAS,SAAS,MAAM,SAAS,MAAM,OAAO,KAAK;AAEtvB,gBAAI,cAAc;AAAA,cAAC;AAAA,cAAU;AAAA,cAAW;AAAA,cAAQ;AAAA,cAAS;AAAA,cAAM;AAAA,cAAM;AAAA,cAAW;AAAA,cAAU;AAAA;AAAA;AAAA;AAAA,cAG1F;AAAA,cAAiB;AAAA,cAAQ;AAAA,YAAO;AAEhC,gBAAI,kBAAkB,YAAY,OAAO,CAAC,QAAQ,CAAC;AAEnD,gBAAI,iBAAiB,CAAC,MAAM,MAAM,MAAM,UAAU,YAAY,KAAK,MAAM,IAAI;AAC7E,gBAAI,oBAAoB;AAAA,cACtB,SAAS;AAAA,cACT,SAAS;AAAA,cACT,aAAa;AAAA,cACb,kBAAkB;AAAA,cAClB,gBAAgB;AAAA,cAChB,mBAAmB;AAAA,cACnB,wBAAwB;AAAA,cACxB,sBAAsB;AAAA,YACxB;AAEA,kCAAsB,SAAU,SAAS,KAAK;AAC5C,kBAAI,eAAexB,QAAO,CAAC,GAAG,WAAW,iBAAiB;AAE1D,kBAAI,OAAO;AAAA,gBACT;AAAA,cACF;AAEA,kBAAI,YAAY,QAAQ,GAAG,MAAM,IAAI;AACnC,6BAAa,cAAc;AAC3B,6BAAa,mBAAmB;AAChC,6BAAa,iBAAiB;AAAA,cAChC;AAEA,kBAAI,gBAAgB,QAAQ,GAAG,MAAM,IAAI;AACvC,6BAAa,oBAAoB;AAAA,cACnC;AAIA,kBAAI,YAAY,QAAQ,GAAG,MAAM,MAAM,QAAQ,aAAa,QAAQ,SAAS,QAAQ,KAAK;AACxF,6BAAa,yBAAyB;AACtC,6BAAa,uBAAuB;AAAA,cACtC;AAEA,2BAAa,UAAU;AAEvB,kBAAI,QAAQ,QAAQ;AAClB,6BAAa,UAAU;AAAA,cACzB;AAEA,kBAAI,QAAQ,KAAK;AACf,6BAAa,cAAc;AAAA,cAC7B;AAEA,kBAAI,QAAQ,UAAU;AACpB,6BAAa,mBAAmB;AAAA,cAClC;AAEA,kBAAI,QAAQ,QAAQ;AAClB,6BAAa,iBAAiB;AAAA,cAChC;AAEA,kBAAI,QAAQ,KAAK;AACf,6BAAa,oBAAoB;AAAA,cACnC;AAEA,kBAAI,QAAQ,MAAM;AAChB,6BAAa,yBAAyB;AAAA,cACxC;AAEA,kBAAI,QAAQ,QAAQ,QAAQ,MAAM;AAChC,6BAAa,uBAAuB;AAAA,cACtC;AAEA,qBAAO;AAAA,YACT;AAMA,gBAAI,uBAAuB,SAAU,KAAK,WAAW;AAEnD,sBAAQ,WAAW;AAAA,gBAEjB,KAAK;AACH,yBAAO,QAAQ,YAAY,QAAQ,cAAc,QAAQ;AAAA,gBAE3D,KAAK;AACH,yBAAO,QAAQ,YAAY,QAAQ;AAAA,gBAIrC,KAAK;AACH,yBAAO,QAAQ;AAAA,gBAOjB,KAAK;AACH,yBAAO,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,WAAW,QAAQ,YAAY,QAAQ;AAAA,gBAGxF,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AACH,yBAAO,QAAQ,QAAQ,QAAQ,WAAW,QAAQ,YAAY,QAAQ;AAAA,gBAGxE,KAAK;AACH,yBAAO,QAAQ,SAAS,QAAQ;AAAA,gBAGlC,KAAK;AACH,yBAAO,QAAQ,aAAa,QAAQ,cAAc,QAAQ,WAAW,QAAQ,WAAW,QAAQ,WAAW,QAAQ,WAAW,QAAQ,YAAY,QAAQ;AAAA,gBAG5J,KAAK;AACH,yBAAO,QAAQ,UAAU,QAAQ,cAAc,QAAQ,aAAa,QAAQ,UAAU,QAAQ,UAAU,QAAQ,WAAW,QAAQ,cAAc,QAAQ,cAAc,QAAQ,WAAW,QAAQ,YAAY,QAAQ;AAAA,gBAGxN,KAAK;AACH,yBAAO,QAAQ,UAAU,QAAQ,UAAU,QAAQ;AAAA,gBAErD,KAAK;AACH,yBAAO,QAAQ;AAAA,gBAEjB,KAAK;AACH,yBAAO,QAAQ;AAAA,cACnB;AAKA,sBAAQ,KAAK;AAAA,gBACX,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AACH,yBAAO,cAAc,QAAQ,cAAc,QAAQ,cAAc,QAAQ,cAAc,QAAQ,cAAc,QAAQ,cAAc;AAAA,gBAErI,KAAK;AAAA,gBACL,KAAK;AACH,yBAAO,eAAe,QAAQ,SAAS,MAAM;AAAA,gBAE/C,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAKH,yBAAO,aAAa;AAAA,cACxB;AAEA,qBAAO;AAAA,YACT;AAMA,gBAAI,4BAA4B,SAAU,KAAK,cAAc;AAC3D,sBAAQ,KAAK;AAAA,gBACX,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AACH,yBAAO,aAAa;AAAA,gBAEtB,KAAK;AACH,yBAAO,aAAa,WAAW,aAAa;AAAA,gBAE9C,KAAK;AACH,yBAAO,aAAa;AAAA,gBAEtB,KAAK;AAAA,gBACL,KAAK;AACH,yBAAO,aAAa;AAAA,gBAEtB,KAAK;AACH,yBAAO,aAAa;AAAA,gBAEtB,KAAK;AAGH,yBAAO,aAAa;AAAA,gBAEtB,KAAK;AACH,yBAAO,aAAa;AAAA,cACxB;AAEA,qBAAO;AAAA,YACT;AAEA,gBAAI,YAAY,CAAC;AAEjB,iCAAqB,SAAU,UAAU,WAAW,cAAc;AAChE,6BAAe,gBAAgB;AAC/B,kBAAI,aAAa,aAAa;AAC9B,kBAAI,YAAY,cAAc,WAAW;AAEzC,kBAAI,aAAa,MAAM;AACrB,oBAAI,YAAY,MAAM;AACpB,wBAAM,uEAAuE;AAAA,gBAC/E;AAEA,2BAAW;AAAA,cACb;AAEA,kBAAI,gBAAgB,qBAAqB,UAAU,SAAS,IAAI,OAAO;AACvE,kBAAI,kBAAkB,gBAAgB,OAAO,0BAA0B,UAAU,YAAY;AAC7F,kBAAI,0BAA0B,iBAAiB;AAE/C,kBAAI,CAAC,yBAAyB;AAC5B;AAAA,cACF;AAEA,kBAAI,cAAc,wBAAwB;AAC1C,kBAAI,UAAU,CAAC,CAAC,gBAAgB,MAAM,WAAW,MAAM;AAEvD,kBAAI,UAAU,OAAO,GAAG;AACtB;AAAA,cACF;AAEA,wBAAU,OAAO,IAAI;AACrB,kBAAI,iBAAiB;AACrB,kBAAI,iBAAiB;AAErB,kBAAI,aAAa,SAAS;AACxB,oBAAI,KAAK,KAAK,SAAS,GAAG;AACxB,mCAAiB;AAAA,gBACnB,OAAO;AACL,mCAAiB;AACjB,mCAAiB;AAAA,gBACnB;AAAA,cACF,OAAO;AACL,iCAAiB,MAAM,WAAW;AAAA,cACpC;AAEA,kBAAI,eAAe;AACjB,oBAAI,OAAO;AAEX,oBAAI,gBAAgB,WAAW,aAAa,MAAM;AAChD,0BAAQ;AAAA,gBACV;AAEA,sBAAM,qEAAqE,gBAAgB,aAAa,gBAAgB,IAAI;AAAA,cAC9H,OAAO;AACL,sBAAM,sEAA2E,gBAAgB,WAAW;AAAA,cAC9G;AAAA,YACF;AAAA,UACF;AAEA,cAAI,+BAA+B;AACnC,cAAI,sBAAsB;AAC1B,cAAI,oBAAoB;AACxB,cAAI,8BAA8B;AAClC,cAAI,+BAA+B;AACnC,cAAI,UAAU;AACd,cAAI,gBAAgB;AACpB,cAAI,uBAAuB;AAC3B,mBAAS,mBAAmB,uBAAuB;AACjD,gBAAI;AACJ,gBAAI;AACJ,gBAAI,WAAW,sBAAsB;AAErC,oBAAQ,UAAU;AAAA,cAChB,KAAK;AAAA,cACL,KAAK,wBACH;AACE,uBAAO,aAAa,gBAAgB,cAAc;AAClD,oBAAIgB,QAAO,sBAAsB;AACjC,4BAAYA,QAAOA,MAAK,eAAe,kBAAkB,MAAM,EAAE;AACjE;AAAA,cACF;AAAA,cAEF,SACE;AACE,oBAAI,YAAY,aAAa,eAAe,sBAAsB,aAAa;AAC/E,oBAAI,eAAe,UAAU,gBAAgB;AAC7C,uBAAO,UAAU;AACjB,4BAAY,kBAAkB,cAAc,IAAI;AAChD;AAAA,cACF;AAAA,YACJ;AAEA;AACE,kBAAI,eAAe,KAAK,YAAY;AACpC,kBAAI,eAAe,oBAAoB,MAAM,YAAY;AACzD,qBAAO;AAAA,gBACL;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UACF;AACA,mBAAS,oBAAoB,mBAAmB,MAAM,uBAAuB;AAC3E;AACE,kBAAI,uBAAuB;AAC3B,kBAAI,YAAY,kBAAkB,qBAAqB,WAAW,IAAI;AACtE,kBAAI,eAAe,oBAAoB,qBAAqB,cAAc,IAAI;AAC9E,qBAAO;AAAA,gBACL;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UACF;AACA,mBAAS,kBAAkB,UAAU;AACnC,mBAAO;AAAA,UACT;AACA,mBAAS,iBAAiB,eAAe;AACvC,4BAAgB,UAAU;AAC1B,mCAAuB,wBAAwB;AAC/C,gBAAI,iBAAiB;AAErB,uBAAW,KAAK;AAChB,mBAAO;AAAA,UACT;AACA,mBAAS,iBAAiB,eAAe;AACvC,6BAAiB,oBAAoB;AACrC,uBAAW,aAAa;AACxB,4BAAgB;AAChB,mCAAuB;AAAA,UACzB;AACA,mBAAS,eAAe,MAAM,OAAO,uBAAuB,aAAa,wBAAwB;AAC/F,gBAAI;AAEJ;AAEE,kBAAI,iBAAiB;AACrB,iCAAmB,MAAM,MAAM,eAAe,YAAY;AAE1D,kBAAI,OAAO,MAAM,aAAa,YAAY,OAAO,MAAM,aAAa,UAAU;AAC5E,oBAAI,SAAS,KAAK,MAAM;AACxB,oBAAI,kBAAkB,oBAAoB,eAAe,cAAc,IAAI;AAC3E,mCAAmB,MAAM,QAAQ,eAAe;AAAA,cAClD;AAEA,gCAAkB,eAAe;AAAA,YACnC;AAEA,gBAAI,aAAaQ,eAAc,MAAM,OAAO,uBAAuB,eAAe;AAClF,8BAAkB,wBAAwB,UAAU;AACpD,6BAAiB,YAAY,KAAK;AAClC,mBAAO;AAAA,UACT;AACA,mBAAS,mBAAmB,gBAAgB,OAAO;AACjD,2BAAe,YAAY,KAAK;AAAA,UAClC;AACA,mBAAS,wBAAwB,YAAY,MAAM,OAAO,uBAAuB,aAAa;AAC5F,iCAAqB,YAAY,MAAM,OAAO,qBAAqB;AAEnE,oBAAQ,MAAM;AAAA,cACZ,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AACH,uBAAO,CAAC,CAAC,MAAM;AAAA,cAEjB,KAAK;AACH,uBAAO;AAAA,cAET;AACE,uBAAO;AAAA,YACX;AAAA,UACF;AACA,mBAAS,cAAc,YAAY,MAAM,UAAU,UAAU,uBAAuB,aAAa;AAC/F;AACE,kBAAI,iBAAiB;AAErB,kBAAI,OAAO,SAAS,aAAa,OAAO,SAAS,aAAa,OAAO,SAAS,aAAa,YAAY,OAAO,SAAS,aAAa,WAAW;AAC7I,oBAAI,SAAS,KAAK,SAAS;AAC3B,oBAAI,kBAAkB,oBAAoB,eAAe,cAAc,IAAI;AAC3E,mCAAmB,MAAM,QAAQ,eAAe;AAAA,cAClD;AAAA,YACF;AAEA,mBAAO,eAAe,YAAY,MAAM,UAAU,QAAQ;AAAA,UAC5D;AACA,mBAAS,qBAAqB,MAAM,OAAO;AACzC,mBAAO,SAAS,cAAc,SAAS,cAAc,OAAO,MAAM,aAAa,YAAY,OAAO,MAAM,aAAa,YAAY,OAAO,MAAM,4BAA4B,YAAY,MAAM,4BAA4B,QAAQ,MAAM,wBAAwB,UAAU;AAAA,UAC1Q;AACA,mBAAS,mBAAmB,MAAM,uBAAuB,aAAa,wBAAwB;AAC5F;AACE,kBAAI,iBAAiB;AACrB,iCAAmB,MAAM,MAAM,eAAe,YAAY;AAAA,YAC5D;AAEA,gBAAI,WAAW,eAAe,MAAM,qBAAqB;AACzD,8BAAkB,wBAAwB,QAAQ;AAClD,mBAAO;AAAA,UACT;AACA,mBAAS,0BAA0B;AACjC,gBAAI,eAAe,OAAO;AAE1B,gBAAI,iBAAiB,QAAW;AAC9B,qBAAO;AAAA,YACT;AAEA,mBAAO,iBAAiB,aAAa,IAAI;AAAA,UAC3C;AAIA,cAAI,kBAAkB,OAAO,eAAe,aAAa,aAAa;AACtE,cAAI,gBAAgB,OAAO,iBAAiB,aAAa,eAAe;AACxE,cAAI,YAAY;AAChB,cAAI,eAAe,OAAO,YAAY,aAAa,UAAU;AAC7D,cAAIC,qBAAoB,OAAO,mBAAmB,aAAa,iBAAiB,OAAO,iBAAiB,cAAc,SAAU,UAAU;AACxI,mBAAO,aAAa,QAAQ,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,qBAAqB;AAAA,UAC9E,IAAI;AAEJ,mBAAS,sBAAsBZ,QAAO;AACpC,uBAAW,WAAY;AACrB,oBAAMA;AAAA,YACR,CAAC;AAAA,UACH;AACA,mBAAS,YAAY,YAAY,MAAM,UAAU,wBAAwB;AAOvE,oBAAQ,MAAM;AAAA,cACZ,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AACH,oBAAI,SAAS,WAAW;AACtB,6BAAW,MAAM;AAAA,gBACnB;AAEA;AAAA,cAEF,KAAK,OACH;AACE,oBAAI,SAAS,KAAK;AAChB,6BAAW,MAAM,SAAS;AAAA,gBAC5B;AAEA;AAAA,cACF;AAAA,YACJ;AAAA,UACF;AACA,mBAAS,aAAa,YAAY,eAAe,MAAM,UAAU,UAAU,wBAAwB;AAEjG,6BAAiB,YAAY,eAAe,MAAM,UAAU,QAAQ;AAGpE,6BAAiB,YAAY,QAAQ;AAAA,UACvC;AACA,mBAAS,iBAAiB,YAAY;AACpC,2BAAe,YAAY,EAAE;AAAA,UAC/B;AACA,mBAAS,iBAAiB,cAAc,SAAS,SAAS;AACxD,yBAAa,YAAY;AAAA,UAC3B;AACA,mBAAS,YAAY,gBAAgB,OAAO;AAC1C,2BAAe,YAAY,KAAK;AAAA,UAClC;AACA,mBAAS,uBAAuB,WAAW,OAAO;AAChD,gBAAI;AAEJ,gBAAI,UAAU,aAAa,cAAc;AACvC,2BAAa,UAAU;AACvB,yBAAW,aAAa,OAAO,SAAS;AAAA,YAC1C,OAAO;AACL,2BAAa;AACb,yBAAW,YAAY,KAAK;AAAA,YAC9B;AAUA,gBAAI,qBAAqB,UAAU;AAEnC,iBAAK,uBAAuB,QAAQ,uBAAuB,WAAc,WAAW,YAAY,MAAM;AAEpG,+CAAiC,UAAU;AAAA,YAC7C;AAAA,UACF;AACA,mBAAS,aAAa,gBAAgB,OAAO,aAAa;AACxD,2BAAe,aAAa,OAAO,WAAW;AAAA,UAChD;AACA,mBAAS,wBAAwB,WAAW,OAAO,aAAa;AAC9D,gBAAI,UAAU,aAAa,cAAc;AACvC,wBAAU,WAAW,aAAa,OAAO,WAAW;AAAA,YACtD,OAAO;AACL,wBAAU,aAAa,OAAO,WAAW;AAAA,YAC3C;AAAA,UACF;AAEA,mBAAS,YAAY,gBAAgB,OAAO;AAC1C,2BAAe,YAAY,KAAK;AAAA,UAClC;AACA,mBAAS,yBAAyB,WAAW,OAAO;AAClD,gBAAI,UAAU,aAAa,cAAc;AACvC,wBAAU,WAAW,YAAY,KAAK;AAAA,YACxC,OAAO;AACL,wBAAU,YAAY,KAAK;AAAA,YAC7B;AAAA,UACF;AACA,mBAAS,sBAAsB,gBAAgB,kBAAkB;AAC/D,gBAAI,OAAO;AAIX,gBAAI,QAAQ;AAEZ,eAAG;AACD,kBAAI,WAAW,KAAK;AACpB,6BAAe,YAAY,IAAI;AAE/B,kBAAI,YAAY,SAAS,aAAa,cAAc;AAClD,oBAAI,OAAO,SAAS;AAEpB,oBAAI,SAAS,mBAAmB;AAC9B,sBAAI,UAAU,GAAG;AACf,mCAAe,YAAY,QAAQ;AAEnC,qCAAiB,gBAAgB;AACjC;AAAA,kBACF,OAAO;AACL;AAAA,kBACF;AAAA,gBACF,WAAW,SAAS,uBAAuB,SAAS,+BAA+B,SAAS,8BAA8B;AACxH;AAAA,gBACF;AAAA,cACF;AAEA,qBAAO;AAAA,YACT,SAAS;AAIT,6BAAiB,gBAAgB;AAAA,UACnC;AACA,mBAAS,mCAAmC,WAAW,kBAAkB;AACvE,gBAAI,UAAU,aAAa,cAAc;AACvC,oCAAsB,UAAU,YAAY,gBAAgB;AAAA,YAC9D,WAAW,UAAU,aAAa,cAAc;AAC9C,oCAAsB,WAAW,gBAAgB;AAAA,YACnD;AAGA,6BAAiB,SAAS;AAAA,UAC5B;AACA,mBAAS,aAAa,UAAU;AAG9B,uBAAW;AACX,gBAAIJ,SAAQ,SAAS;AAErB,gBAAI,OAAOA,OAAM,gBAAgB,YAAY;AAC3C,cAAAA,OAAM,YAAY,WAAW,QAAQ,WAAW;AAAA,YAClD,OAAO;AACL,cAAAA,OAAM,UAAU;AAAA,YAClB;AAAA,UACF;AACA,mBAAS,iBAAiB,cAAc;AACtC,yBAAa,YAAY;AAAA,UAC3B;AACA,mBAAS,eAAe,UAAU,OAAO;AACvC,uBAAW;AACX,gBAAI,YAAY,MAAM,OAAO;AAC7B,gBAAI,UAAU,cAAc,UAAa,cAAc,QAAQ,UAAU,eAAe,SAAS,IAAI,UAAU,UAAU;AACzH,qBAAS,MAAM,UAAU,oBAAoB,WAAW,OAAO;AAAA,UACjE;AACA,mBAAS,mBAAmB,cAAc,MAAM;AAC9C,yBAAa,YAAY;AAAA,UAC3B;AACA,mBAAS,eAAe,WAAW;AACjC,gBAAI,UAAU,aAAa,cAAc;AACvC,wBAAU,cAAc;AAAA,YAC1B,WAAW,UAAU,aAAa,eAAe;AAC/C,kBAAI,UAAU,iBAAiB;AAC7B,0BAAU,YAAY,UAAU,eAAe;AAAA,cACjD;AAAA,YACF;AAAA,UACF;AACA,mBAAS,mBAAmB,UAAU,MAAM,OAAO;AACjD,gBAAI,SAAS,aAAa,gBAAgB,KAAK,YAAY,MAAM,SAAS,SAAS,YAAY,GAAG;AAChG,qBAAO;AAAA,YACT;AAGA,mBAAO;AAAA,UACT;AACA,mBAAS,uBAAuB,UAAU,MAAM;AAC9C,gBAAI,SAAS,MAAM,SAAS,aAAa,WAAW;AAElD,qBAAO;AAAA,YACT;AAGA,mBAAO;AAAA,UACT;AACA,mBAAS,2BAA2B,UAAU;AAC5C,gBAAI,SAAS,aAAa,cAAc;AAEtC,qBAAO;AAAA,YACT;AAGA,mBAAO;AAAA,UACT;AACA,mBAAS,0BAA0B,UAAU;AAC3C,mBAAO,SAAS,SAAS;AAAA,UAC3B;AACA,mBAAS,2BAA2B,UAAU;AAC5C,mBAAO,SAAS,SAAS;AAAA,UAC3B;AACA,mBAAS,wCAAwC,UAAU;AACzD,gBAAI,UAAU,SAAS,eAAe,SAAS,YAAY;AAC3D,gBAAI,QAAQ,SAAS;AAErB,gBAAI,SAAS;AACX,uBAAS,QAAQ;AAEjB;AACE,0BAAU,QAAQ;AAClB,wBAAQ,QAAQ;AAAA,cAClB;AAAA,YACF;AAEA;AACE,qBAAO;AAAA,gBACL;AAAA,gBACA;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UAYF;AACA,mBAAS,8BAA8B,UAAU,UAAU;AACzD,qBAAS,cAAc;AAAA,UACzB;AAEA,mBAAS,kBAAkB,MAAM;AAE/B,mBAAO,QAAQ,MAAM,OAAO,KAAK,aAAa;AAC5C,kBAAI,WAAW,KAAK;AAEpB,kBAAI,aAAa,gBAAgB,aAAa,WAAW;AACvD;AAAA,cACF;AAEA,kBAAI,aAAa,cAAc;AAC7B,oBAAI,WAAW,KAAK;AAEpB,oBAAI,aAAa,uBAAuB,aAAa,gCAAgC,aAAa,6BAA6B;AAC7H;AAAA,gBACF;AAEA,oBAAI,aAAa,mBAAmB;AAClC,yBAAO;AAAA,gBACT;AAAA,cACF;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,yBAAyB,UAAU;AAC1C,mBAAO,kBAAkB,SAAS,WAAW;AAAA,UAC/C;AACA,mBAAS,wBAAwB,gBAAgB;AAC/C,mBAAO,kBAAkB,eAAe,UAAU;AAAA,UACpD;AACA,mBAAS,uCAAuC,iBAAiB;AAC/D,mBAAO,kBAAkB,gBAAgB,UAAU;AAAA,UACrD;AACA,mBAAS,8CAA8C,gBAAgB;AACrE,mBAAO,kBAAkB,eAAe,WAAW;AAAA,UACrD;AACA,mBAAS,gBAAgB,UAAU,MAAM,OAAO,uBAAuB,aAAa,wBAAwB,eAAe;AACzH,8BAAkB,wBAAwB,QAAQ;AAGlD,6BAAiB,UAAU,KAAK;AAChC,gBAAI;AAEJ;AACE,kBAAI,iBAAiB;AACrB,gCAAkB,eAAe;AAAA,YACnC;AAIA,gBAAI,oBAAoB,uBAAuB,OAAO,oBAAoB;AAC1E,mBAAO,uBAAuB,UAAU,MAAM,OAAO,iBAAiB,uBAAuB,kBAAkB,aAAa;AAAA,UAC9H;AACA,mBAAS,oBAAoB,cAAc,MAAM,wBAAwB,eAAe;AACtF,8BAAkB,wBAAwB,YAAY;AAGtD,gBAAI,oBAAoB,uBAAuB,OAAO,oBAAoB;AAC1E,mBAAO,iBAAiB,cAAc,IAAI;AAAA,UAC5C;AACA,mBAAS,wBAAwB,kBAAkB,wBAAwB;AACzE,8BAAkB,wBAAwB,gBAAgB;AAAA,UAC5D;AACA,mBAAS,+CAA+C,kBAAkB;AACxE,gBAAI,OAAO,iBAAiB;AAI5B,gBAAI,QAAQ;AAEZ,mBAAO,MAAM;AACX,kBAAI,KAAK,aAAa,cAAc;AAClC,oBAAI,OAAO,KAAK;AAEhB,oBAAI,SAAS,mBAAmB;AAC9B,sBAAI,UAAU,GAAG;AACf,2BAAO,yBAAyB,IAAI;AAAA,kBACtC,OAAO;AACL;AAAA,kBACF;AAAA,gBACF,WAAW,SAAS,uBAAuB,SAAS,gCAAgC,SAAS,6BAA6B;AACxH;AAAA,gBACF;AAAA,cACF;AAEA,qBAAO,KAAK;AAAA,YACd;AAGA,mBAAO;AAAA,UACT;AAIA,mBAAS,0BAA0B,gBAAgB;AACjD,gBAAI,OAAO,eAAe;AAI1B,gBAAI,QAAQ;AAEZ,mBAAO,MAAM;AACX,kBAAI,KAAK,aAAa,cAAc;AAClC,oBAAI,OAAO,KAAK;AAEhB,oBAAI,SAAS,uBAAuB,SAAS,gCAAgC,SAAS,6BAA6B;AACjH,sBAAI,UAAU,GAAG;AACf,2BAAO;AAAA,kBACT,OAAO;AACL;AAAA,kBACF;AAAA,gBACF,WAAW,SAAS,mBAAmB;AACrC;AAAA,gBACF;AAAA,cACF;AAEA,qBAAO,KAAK;AAAA,YACd;AAEA,mBAAO;AAAA,UACT;AACA,mBAAS,wBAAwB,WAAW;AAE1C,6BAAiB,SAAS;AAAA,UAC5B;AACA,mBAAS,+BAA+B,kBAAkB;AAExD,6BAAiB,gBAAgB;AAAA,UACnC;AACA,mBAAS,oCAAoC,YAAY;AACvD,mBAAO,eAAe,UAAU,eAAe;AAAA,UACjD;AACA,mBAAS,yCAAyC,iBAAiB,cAAc,MAAM,kBAAkB;AACvG,gBAAI,gBAAgB;AACpB,kCAAsB,aAAa,WAAW,MAAM,kBAAkB,aAAa;AAAA,UACrF;AACA,mBAAS,gCAAgC,YAAY,aAAa,gBAAgB,cAAc,MAAM,kBAAkB;AACtH,gBAAI,YAAY,4BAA4B,MAAM,MAAM;AACtD,kBAAI,gBAAgB;AACpB,oCAAsB,aAAa,WAAW,MAAM,kBAAkB,aAAa;AAAA,YACrF;AAAA,UACF;AACA,mBAAS,qCAAqC,iBAAiB,UAAU;AACvE;AACE,kBAAI,SAAS,aAAa,cAAc;AACtC,gDAAgC,iBAAiB,QAAQ;AAAA,cAC3D,WAAW,SAAS,aAAa;AAAc;AAAA,mBAAO;AACpD,6CAA6B,iBAAiB,QAAQ;AAAA,cACxD;AAAA,YACF;AAAA,UACF;AACA,mBAAS,4CAA4C,gBAAgB,UAAU;AAC7E;AAEE,kBAAI,aAAa,eAAe;AAEhC,kBAAI,eAAe,MAAM;AACvB,oBAAI,SAAS,aAAa,cAAc;AACtC,kDAAgC,YAAY,QAAQ;AAAA,gBACtD,WAAW,SAAS,aAAa;AAAc;AAAA,qBAAO;AACpD,+CAA6B,YAAY,QAAQ;AAAA,gBACnD;AAAA,cACF;AAAA,YACF;AAAA,UACF;AACA,mBAAS,sBAAsB,YAAY,aAAa,gBAAgB,UAAU,kBAAkB;AAClG;AACE,kBAAI,oBAAoB,YAAY,4BAA4B,MAAM,MAAM;AAC1E,oBAAI,SAAS,aAAa,cAAc;AACtC,kDAAgC,gBAAgB,QAAQ;AAAA,gBAC1D,WAAW,SAAS,aAAa;AAAc;AAAA,qBAAO;AACpD,+CAA6B,gBAAgB,QAAQ;AAAA,gBACvD;AAAA,cACF;AAAA,YACF;AAAA,UACF;AACA,mBAAS,4CAA4C,iBAAiB,MAAM,OAAO;AACjF;AACE,6CAA+B,iBAAiB,IAAI;AAAA,YACtD;AAAA,UACF;AACA,mBAAS,gDAAgD,iBAAiB,MAAM;AAC9E;AACE,0CAA4B,iBAAiB,IAAI;AAAA,YACnD;AAAA,UACF;AACA,mBAAS,mDAAmD,gBAAgB,MAAM,OAAO;AACvF;AAEE,kBAAI,aAAa,eAAe;AAChC,kBAAI,eAAe;AAAM,+CAA+B,YAAY,IAAI;AAAA,YAC1E;AAAA,UACF;AACA,mBAAS,uDAAuD,gBAAgB,MAAM;AACpF;AAEE,kBAAI,aAAa,eAAe;AAChC,kBAAI,eAAe;AAAM,4CAA4B,YAAY,IAAI;AAAA,YACvE;AAAA,UACF;AACA,mBAAS,6BAA6B,YAAY,aAAa,gBAAgB,MAAM,OAAO,kBAAkB;AAC5G;AACE,kBAAI,oBAAoB,YAAY,4BAA4B,MAAM,MAAM;AAC1E,+CAA+B,gBAAgB,IAAI;AAAA,cACrD;AAAA,YACF;AAAA,UACF;AACA,mBAAS,iCAAiC,YAAY,aAAa,gBAAgB,MAAM,kBAAkB;AACzG;AACE,kBAAI,oBAAoB,YAAY,4BAA4B,MAAM,MAAM;AAC1E,4CAA4B,gBAAgB,IAAI;AAAA,cAClD;AAAA,YACF;AAAA,UACF;AACA,mBAAS,wBAAwB,iBAAiB;AAChD;AAGE,oBAAM,iGAAiG,gBAAgB,SAAS,YAAY,CAAC;AAAA,YAC/I;AAAA,UACF;AACA,mBAAS,mBAAmB,gBAAgB;AAC1C,uCAA2B,cAAc;AAAA,UAC3C;AAEA,cAAI,YAAY,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,CAAC;AAClD,cAAI,sBAAsB,kBAAkB;AAC5C,cAAI,mBAAmB,kBAAkB;AACzC,cAAI,+BAA+B,sBAAsB;AACzD,cAAI,2BAA2B,mBAAmB;AAClD,cAAI,mCAAmC,sBAAsB;AAC7D,cAAI,6BAA6B,oBAAoB;AACrD,mBAAS,sBAAsB,MAAM;AAGnC,mBAAO,KAAK,mBAAmB;AAC/B,mBAAO,KAAK,gBAAgB;AAC5B,mBAAO,KAAK,wBAAwB;AACpC,mBAAO,KAAK,gCAAgC;AAC5C,mBAAO,KAAK,0BAA0B;AAAA,UACxC;AACA,mBAAS,kBAAkB,UAAU,MAAM;AACzC,iBAAK,mBAAmB,IAAI;AAAA,UAC9B;AACA,mBAAS,oBAAoB,UAAU,MAAM;AAC3C,iBAAK,4BAA4B,IAAI;AAAA,UACvC;AACA,mBAAS,sBAAsB,MAAM;AACnC,iBAAK,4BAA4B,IAAI;AAAA,UACvC;AACA,mBAAS,wBAAwB,MAAM;AACrC,mBAAO,CAAC,CAAC,KAAK,4BAA4B;AAAA,UAC5C;AAQA,mBAAS,2BAA2B,YAAY;AAC9C,gBAAI,aAAa,WAAW,mBAAmB;AAE/C,gBAAI,YAAY;AAEd,qBAAO;AAAA,YACT;AAIA,gBAAI,aAAa,WAAW;AAE5B,mBAAO,YAAY;AASjB,2BAAa,WAAW,4BAA4B,KAAK,WAAW,mBAAmB;AAEvF,kBAAI,YAAY;AAcd,oBAAI,YAAY,WAAW;AAE3B,oBAAI,WAAW,UAAU,QAAQ,cAAc,QAAQ,UAAU,UAAU,MAAM;AAG/E,sBAAI,mBAAmB,0BAA0B,UAAU;AAE3D,yBAAO,qBAAqB,MAAM;AAShC,wBAAI,qBAAqB,iBAAiB,mBAAmB;AAE7D,wBAAI,oBAAoB;AACtB,6BAAO;AAAA,oBACT;AAMA,uCAAmB,0BAA0B,gBAAgB;AAAA,kBAG/D;AAAA,gBACF;AAEA,uBAAO;AAAA,cACT;AAEA,2BAAa;AACb,2BAAa,WAAW;AAAA,YAC1B;AAEA,mBAAO;AAAA,UACT;AAMA,mBAAS,oBAAoB,MAAM;AACjC,gBAAI,OAAO,KAAK,mBAAmB,KAAK,KAAK,4BAA4B;AAEzE,gBAAI,MAAM;AACR,kBAAI,KAAK,QAAQ,iBAAiB,KAAK,QAAQ,YAAY,KAAK,QAAQ,qBAAqB,KAAK,QAAQ,UAAU;AAClH,uBAAO;AAAA,cACT,OAAO;AACL,uBAAO;AAAA,cACT;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AAMA,mBAAS,oBAAoB,MAAM;AACjC,gBAAI,KAAK,QAAQ,iBAAiB,KAAK,QAAQ,UAAU;AAGvD,qBAAO,KAAK;AAAA,YACd;AAIA,kBAAM,IAAI,MAAM,wCAAwC;AAAA,UAC1D;AACA,mBAAS,6BAA6B,MAAM;AAC1C,mBAAO,KAAK,gBAAgB,KAAK;AAAA,UACnC;AACA,mBAAS,iBAAiB,MAAM,OAAO;AACrC,iBAAK,gBAAgB,IAAI;AAAA,UAC3B;AACA,mBAAS,oBAAoB,MAAM;AACjC,gBAAI,qBAAqB,KAAK,wBAAwB;AAEtD,gBAAI,uBAAuB,QAAW;AACpC,mCAAqB,KAAK,wBAAwB,IAAI,oBAAI,IAAI;AAAA,YAChE;AAEA,mBAAO;AAAA,UACT;AAEA,cAAI,qBAAqB,CAAC;AAC1B,cAAI,2BAA2B,qBAAqB;AAEpD,mBAAS,8BAA8B,SAAS;AAC9C;AACE,kBAAI,SAAS;AACX,oBAAI,QAAQ,QAAQ;AACpB,oBAAI,QAAQ,qCAAqC,QAAQ,MAAM,QAAQ,SAAS,QAAQ,MAAM,OAAO,IAAI;AACzG,yCAAyB,mBAAmB,KAAK;AAAA,cACnD,OAAO;AACL,yCAAyB,mBAAmB,IAAI;AAAA,cAClD;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,eAAe,WAAWiB,SAAQ,UAAU,eAAe,SAAS;AAC3E;AAEE,kBAAIC,OAAM,SAAS,KAAK,KAAK,cAAc;AAE3C,uBAAS,gBAAgB,WAAW;AAClC,oBAAIA,KAAI,WAAW,YAAY,GAAG;AAChC,sBAAI,UAAU;AAId,sBAAI;AAGF,wBAAI,OAAO,UAAU,YAAY,MAAM,YAAY;AAEjD,0BAAI,MAAM,OAAO,iBAAiB,iBAAiB,OAAO,WAAW,YAAY,eAAe,+FAAoG,OAAO,UAAU,YAAY,IAAI,iGAAsG;AAC3U,0BAAI,OAAO;AACX,4BAAM;AAAA,oBACR;AAEA,8BAAU,UAAU,YAAY,EAAED,SAAQ,cAAc,eAAe,UAAU,MAAM,8CAA8C;AAAA,kBACvI,SAAS,IAAI;AACX,8BAAU;AAAA,kBACZ;AAEA,sBAAI,WAAW,EAAE,mBAAmB,QAAQ;AAC1C,kDAA8B,OAAO;AAErC,0BAAM,4RAAqT,iBAAiB,eAAe,UAAU,cAAc,OAAO,OAAO;AAEjY,kDAA8B,IAAI;AAAA,kBACpC;AAEA,sBAAI,mBAAmB,SAAS,EAAE,QAAQ,WAAW,qBAAqB;AAGxE,uCAAmB,QAAQ,OAAO,IAAI;AACtC,kDAA8B,OAAO;AAErC,0BAAM,sBAAsB,UAAU,QAAQ,OAAO;AAErD,kDAA8B,IAAI;AAAA,kBACpC;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,cAAI,aAAa,CAAC;AAClB,cAAI;AAEJ;AACE,yBAAa,CAAC;AAAA,UAChB;AAEA,cAAI,QAAQ;AAEZ,mBAAS,aAAa,cAAc;AAClC,mBAAO;AAAA,cACL,SAAS;AAAA,YACX;AAAA,UACF;AAEA,mBAAS,IAAI,QAAQ,OAAO;AAC1B,gBAAI,QAAQ,GAAG;AACb;AACE,sBAAM,iBAAiB;AAAA,cACzB;AAEA;AAAA,YACF;AAEA;AACE,kBAAI,UAAU,WAAW,KAAK,GAAG;AAC/B,sBAAM,0BAA0B;AAAA,cAClC;AAAA,YACF;AAEA,mBAAO,UAAU,WAAW,KAAK;AACjC,uBAAW,KAAK,IAAI;AAEpB;AACE,yBAAW,KAAK,IAAI;AAAA,YACtB;AAEA;AAAA,UACF;AAEA,mBAAS,KAAK,QAAQ,OAAO,OAAO;AAClC;AACA,uBAAW,KAAK,IAAI,OAAO;AAE3B;AACE,yBAAW,KAAK,IAAI;AAAA,YACtB;AAEA,mBAAO,UAAU;AAAA,UACnB;AAEA,cAAI;AAEJ;AACE,gDAAoC,CAAC;AAAA,UACvC;AAEA,cAAI,qBAAqB,CAAC;AAE1B;AACE,mBAAO,OAAO,kBAAkB;AAAA,UAClC;AAGA,cAAI,qBAAqB,aAAa,kBAAkB;AAExD,cAAI,4BAA4B,aAAa,KAAK;AAIlD,cAAI,kBAAkB;AAEtB,mBAAS,mBAAmBzB,iBAAgB,WAAW,6BAA6B;AAClF;AACE,kBAAI,+BAA+B,kBAAkB,SAAS,GAAG;AAK/D,uBAAO;AAAA,cACT;AAEA,qBAAO,mBAAmB;AAAA,YAC5B;AAAA,UACF;AAEA,mBAAS,aAAaA,iBAAgB,iBAAiB,eAAe;AACpE;AACE,kBAAI,WAAWA,gBAAe;AAC9B,uBAAS,8CAA8C;AACvD,uBAAS,4CAA4C;AAAA,YACvD;AAAA,UACF;AAEA,mBAAS,iBAAiBA,iBAAgB,iBAAiB;AACzD;AACE,kBAAI,OAAOA,gBAAe;AAC1B,kBAAI,eAAe,KAAK;AAExB,kBAAI,CAAC,cAAc;AACjB,uBAAO;AAAA,cACT;AAKA,kBAAI,WAAWA,gBAAe;AAE9B,kBAAI,YAAY,SAAS,gDAAgD,iBAAiB;AACxF,uBAAO,SAAS;AAAA,cAClB;AAEA,kBAAI,UAAU,CAAC;AAEf,uBAAS,OAAO,cAAc;AAC5B,wBAAQ,GAAG,IAAI,gBAAgB,GAAG;AAAA,cACpC;AAEA;AACE,oBAAI,OAAO,0BAA0BA,eAAc,KAAK;AACxD,+BAAe,cAAc,SAAS,WAAW,IAAI;AAAA,cACvD;AAIA,kBAAI,UAAU;AACZ,6BAAaA,iBAAgB,iBAAiB,OAAO;AAAA,cACvD;AAEA,qBAAO;AAAA,YACT;AAAA,UACF;AAEA,mBAAS,oBAAoB;AAC3B;AACE,qBAAO,0BAA0B;AAAA,YACnC;AAAA,UACF;AAEA,mBAAS,kBAAkB,MAAM;AAC/B;AACE,kBAAI,oBAAoB,KAAK;AAC7B,qBAAO,sBAAsB,QAAQ,sBAAsB;AAAA,YAC7D;AAAA,UACF;AAEA,mBAAS,WAAW,OAAO;AACzB;AACE,kBAAI,2BAA2B,KAAK;AACpC,kBAAI,oBAAoB,KAAK;AAAA,YAC/B;AAAA,UACF;AAEA,mBAAS,yBAAyB,OAAO;AACvC;AACE,kBAAI,2BAA2B,KAAK;AACpC,kBAAI,oBAAoB,KAAK;AAAA,YAC/B;AAAA,UACF;AAEA,mBAAS,0BAA0B,OAAO,SAAS,WAAW;AAC5D;AACE,kBAAI,mBAAmB,YAAY,oBAAoB;AACrD,sBAAM,IAAI,MAAM,yGAA8G;AAAA,cAChI;AAEA,mBAAK,oBAAoB,SAAS,KAAK;AACvC,mBAAK,2BAA2B,WAAW,KAAK;AAAA,YAClD;AAAA,UACF;AAEA,mBAAS,oBAAoB,OAAO,MAAM,eAAe;AACvD;AACE,kBAAI,WAAW,MAAM;AACrB,kBAAI,oBAAoB,KAAK;AAG7B,kBAAI,OAAO,SAAS,oBAAoB,YAAY;AAClD;AACE,sBAAI,gBAAgB,0BAA0B,KAAK,KAAK;AAExD,sBAAI,CAAC,kCAAkC,aAAa,GAAG;AACrD,sDAAkC,aAAa,IAAI;AAEnD,0BAAM,kLAA4L,eAAe,aAAa;AAAA,kBAChO;AAAA,gBACF;AAEA,uBAAO;AAAA,cACT;AAEA,kBAAI,eAAe,SAAS,gBAAgB;AAE5C,uBAAS,cAAc,cAAc;AACnC,oBAAI,EAAE,cAAc,oBAAoB;AACtC,wBAAM,IAAI,OAAO,0BAA0B,KAAK,KAAK,aAAa,8BAA+B,aAAa,wCAAyC;AAAA,gBACzJ;AAAA,cACF;AAEA;AACE,oBAAI,OAAO,0BAA0B,KAAK,KAAK;AAC/C,+BAAe,mBAAmB,cAAc,iBAAiB,IAAI;AAAA,cACvE;AAEA,qBAAOD,QAAO,CAAC,GAAG,eAAe,YAAY;AAAA,YAC/C;AAAA,UACF;AAEA,mBAAS,oBAAoBC,iBAAgB;AAC3C;AACE,kBAAI,WAAWA,gBAAe;AAI9B,kBAAI,6BAA6B,YAAY,SAAS,6CAA6C;AAGnG,gCAAkB,mBAAmB;AACrC,mBAAK,oBAAoB,4BAA4BA,eAAc;AACnE,mBAAK,2BAA2B,0BAA0B,SAASA,eAAc;AACjF,qBAAO;AAAA,YACT;AAAA,UACF;AAEA,mBAAS,0BAA0BA,iBAAgB,MAAM,WAAW;AAClE;AACE,kBAAI,WAAWA,gBAAe;AAE9B,kBAAI,CAAC,UAAU;AACb,sBAAM,IAAI,MAAM,kHAAuH;AAAA,cACzI;AAEA,kBAAI,WAAW;AAIb,oBAAI,gBAAgB,oBAAoBA,iBAAgB,MAAM,eAAe;AAC7E,yBAAS,4CAA4C;AAGrD,oBAAI,2BAA2BA,eAAc;AAC7C,oBAAI,oBAAoBA,eAAc;AAEtC,qBAAK,oBAAoB,eAAeA,eAAc;AACtD,qBAAK,2BAA2B,WAAWA,eAAc;AAAA,cAC3D,OAAO;AACL,oBAAI,2BAA2BA,eAAc;AAC7C,qBAAK,2BAA2B,WAAWA,eAAc;AAAA,cAC3D;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,2BAA2B,OAAO;AACzC;AAGE,kBAAI,CAAC,eAAe,KAAK,KAAK,MAAM,QAAQ,gBAAgB;AAC1D,sBAAM,IAAI,MAAM,+HAAoI;AAAA,cACtJ;AAEA,kBAAI,OAAO;AAEX,iBAAG;AACD,wBAAQ,KAAK,KAAK;AAAA,kBAChB,KAAK;AACH,2BAAO,KAAK,UAAU;AAAA,kBAExB,KAAK,gBACH;AACE,wBAAI,YAAY,KAAK;AAErB,wBAAI,kBAAkB,SAAS,GAAG;AAChC,6BAAO,KAAK,UAAU;AAAA,oBACxB;AAEA;AAAA,kBACF;AAAA,gBACJ;AAEA,uBAAO,KAAK;AAAA,cACd,SAAS,SAAS;AAElB,oBAAM,IAAI,MAAM,gHAAqH;AAAA,YACvI;AAAA,UACF;AAEA,cAAI,aAAa;AACjB,cAAI,iBAAiB;AAErB,cAAI,YAAY;AAChB,cAAI,8BAA8B;AAClC,cAAI,sBAAsB;AAC1B,mBAAS,qBAAqB,UAAU;AAGtC,gBAAI,cAAc,MAAM;AACtB,0BAAY,CAAC,QAAQ;AAAA,YACvB,OAAO;AAGL,wBAAU,KAAK,QAAQ;AAAA,YACzB;AAAA,UACF;AACA,mBAAS,2BAA2B,UAAU;AAC5C,0CAA8B;AAC9B,iCAAqB,QAAQ;AAAA,UAC/B;AACA,mBAAS,qCAAqC;AAM5C,gBAAI,6BAA6B;AAC/B,iCAAmB;AAAA,YACrB;AAAA,UACF;AACA,mBAAS,qBAAqB;AAC5B,gBAAI,CAAC,uBAAuB,cAAc,MAAM;AAE9C,oCAAsB;AACtB,kBAAI,IAAI;AACR,kBAAI,yBAAyB,yBAAyB;AAEtD,kBAAI;AACF,oBAAI,SAAS;AACb,oBAAI,QAAQ;AAGZ,yCAAyB,qBAAqB;AAE9C,uBAAO,IAAI,MAAM,QAAQ,KAAK;AAC5B,sBAAI,WAAW,MAAM,CAAC;AAEtB,qBAAG;AACD,+BAAW,SAAS,MAAM;AAAA,kBAC5B,SAAS,aAAa;AAAA,gBACxB;AAEA,4BAAY;AACZ,8CAA8B;AAAA,cAChC,SAASY,QAAO;AAEd,oBAAI,cAAc,MAAM;AACtB,8BAAY,UAAU,MAAM,IAAI,CAAC;AAAA,gBACnC;AAGA,iCAAiB,mBAAmB,kBAAkB;AACtD,sBAAMA;AAAA,cACR,UAAE;AACA,yCAAyB,sBAAsB;AAC/C,sCAAsB;AAAA,cACxB;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AAMA,cAAI,YAAY,CAAC;AACjB,cAAI,iBAAiB;AACrB,cAAI,mBAAmB;AACvB,cAAI,gBAAgB;AACpB,cAAI,UAAU,CAAC;AACf,cAAI,eAAe;AACnB,cAAI,sBAAsB;AAC1B,cAAI,gBAAgB;AACpB,cAAI,sBAAsB;AAC1B,mBAAS,cAAcZ,iBAAgB;AACrC,+BAAmB;AACnB,oBAAQA,gBAAe,QAAQ,YAAY;AAAA,UAC7C;AACA,mBAAS,gBAAgBA,iBAAgB;AACvC,+BAAmB;AACnB,mBAAO;AAAA,UACT;AACA,mBAAS,YAAY;AACnB,gBAAI,WAAW;AACf,gBAAI,mBAAmB;AACvB,gBAAI,KAAK,mBAAmB,CAAC,cAAc,gBAAgB;AAC3D,mBAAO,GAAG,SAAS,EAAE,IAAI;AAAA,UAC3B;AACA,mBAAS,aAAaA,iBAAgB,eAAe;AAenD,+BAAmB;AACnB,sBAAU,gBAAgB,IAAI;AAC9B,sBAAU,gBAAgB,IAAI;AAC9B,+BAAmBA;AACnB,4BAAgB;AAAA,UAClB;AACA,mBAAS,WAAWA,iBAAgB,eAAegB,QAAO;AACxD,+BAAmB;AACnB,oBAAQ,cAAc,IAAI;AAC1B,oBAAQ,cAAc,IAAI;AAC1B,oBAAQ,cAAc,IAAI;AAC1B,kCAAsBhB;AACtB,gBAAI,uBAAuB;AAC3B,gBAAI,eAAe;AAGnB,gBAAI,aAAa,aAAa,oBAAoB,IAAI;AACtD,gBAAI,SAAS,uBAAuB,EAAE,KAAK;AAC3C,gBAAI,OAAOgB,SAAQ;AACnB,gBAAI,SAAS,aAAa,aAAa,IAAI;AAG3C,gBAAI,SAAS,IAAI;AAcf,kBAAI,uBAAuB,aAAa,aAAa;AAErD,kBAAI,mBAAmB,KAAK,wBAAwB;AAEpD,kBAAI,eAAe,SAAS,iBAAiB,SAAS,EAAE;AAExD,kBAAI,eAAe,UAAU;AAC7B,kBAAI,mBAAmB,aAAa;AAGpC,kBAAI,eAAe,aAAa,aAAa,IAAI;AACjD,kBAAI,gBAAgB,QAAQ;AAC5B,kBAAI,KAAK,gBAAgB;AACzB,kBAAI,WAAW,cAAc;AAC7B,8BAAgB,KAAK,eAAe;AACpC,oCAAsB;AAAA,YACxB,OAAO;AAEL,kBAAIW,WAAU,QAAQ;AAEtB,kBAAI,MAAMA,WAAU;AAEpB,kBAAI,YAAY;AAChB,8BAAgB,KAAK,SAAS;AAC9B,oCAAsB;AAAA,YACxB;AAAA,UACF;AACA,mBAAS,uBAAuB3B,iBAAgB;AAC9C,+BAAmB;AAGnB,gBAAI,cAAcA,gBAAe;AAEjC,gBAAI,gBAAgB,MAAM;AACxB,kBAAI,gBAAgB;AACpB,kBAAI,YAAY;AAChB,2BAAaA,iBAAgB,aAAa;AAC1C,yBAAWA,iBAAgB,eAAe,SAAS;AAAA,YACrD;AAAA,UACF;AAEA,mBAAS,aAAa,QAAQ;AAC5B,mBAAO,KAAK,MAAM,MAAM;AAAA,UAC1B;AAEA,mBAAS,cAAc,IAAI;AACzB,mBAAO,KAAK,aAAa,EAAE,IAAI;AAAA,UACjC;AAEA,mBAAS,eAAeA,iBAAgB;AAMtC,mBAAOA,oBAAmB,kBAAkB;AAC1C,iCAAmB,UAAU,EAAE,cAAc;AAC7C,wBAAU,cAAc,IAAI;AAC5B,8BAAgB,UAAU,EAAE,cAAc;AAC1C,wBAAU,cAAc,IAAI;AAAA,YAC9B;AAEA,mBAAOA,oBAAmB,qBAAqB;AAC7C,oCAAsB,QAAQ,EAAE,YAAY;AAC5C,sBAAQ,YAAY,IAAI;AACxB,oCAAsB,QAAQ,EAAE,YAAY;AAC5C,sBAAQ,YAAY,IAAI;AACxB,8BAAgB,QAAQ,EAAE,YAAY;AACtC,sBAAQ,YAAY,IAAI;AAAA,YAC1B;AAAA,UACF;AACA,mBAAS,0BAA0B;AACjC,+BAAmB;AAEnB,gBAAI,wBAAwB,MAAM;AAChC,qBAAO;AAAA,gBACL,IAAI;AAAA,gBACJ,UAAU;AAAA,cACZ;AAAA,YACF,OAAO;AACL,qBAAO;AAAA,YACT;AAAA,UACF;AACA,mBAAS,4BAA4BA,iBAAgB,kBAAkB;AACrE,+BAAmB;AACnB,oBAAQ,cAAc,IAAI;AAC1B,oBAAQ,cAAc,IAAI;AAC1B,oBAAQ,cAAc,IAAI;AAC1B,4BAAgB,iBAAiB;AACjC,kCAAsB,iBAAiB;AACvC,kCAAsBA;AAAA,UACxB;AAEA,mBAAS,qBAAqB;AAC5B;AACE,kBAAI,CAAC,eAAe,GAAG;AACrB,sBAAM,yEAA8E;AAAA,cACtF;AAAA,YACF;AAAA,UACF;AAIA,cAAI,uBAAuB;AAC3B,cAAI,yBAAyB;AAC7B,cAAI,cAAc;AAGlB,cAAI,uBAAuB;AAE3B,cAAI,kBAAkB;AAEtB,mBAAS,kBAAkB;AACzB;AACE,kBAAI,aAAa;AACf,sBAAM,6EAA6E;AAAA,cACrF;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,gCAAgC;AACvC;AACE,qCAAuB;AAAA,YACzB;AAAA,UACF;AACA,mBAAS,qCAAqC;AAC5C;AACE,qBAAO;AAAA,YACT;AAAA,UACF;AAEA,mBAAS,oBAAoB,OAAO;AAElC,gBAAI,iBAAiB,MAAM,UAAU;AACrC,qCAAyB,uCAAuC,cAAc;AAC9E,mCAAuB;AACvB,0BAAc;AACd,8BAAkB;AAClB,mCAAuB;AACvB,mBAAO;AAAA,UACT;AAEA,mBAAS,oDAAoD,OAAO,kBAAkB,aAAa;AAEjG,qCAAyB,8CAA8C,gBAAgB;AACvF,mCAAuB;AACvB,0BAAc;AACd,8BAAkB;AAClB,mCAAuB;AAEvB,gBAAI,gBAAgB,MAAM;AACxB,0CAA4B,OAAO,WAAW;AAAA,YAChD;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,uBAAuB,aAAa,UAAU;AACrD;AACE,sBAAQ,YAAY,KAAK;AAAA,gBACvB,KAAK,UACH;AACE,uDAAqC,YAAY,UAAU,eAAe,QAAQ;AAClF;AAAA,gBACF;AAAA,gBAEF,KAAK,eACH;AACE,sBAAI,oBAAoB,YAAY,OAAO,oBAAoB;AAC/D;AAAA,oBAAsB,YAAY;AAAA,oBAAM,YAAY;AAAA,oBAAe,YAAY;AAAA,oBAAW;AAAA;AAAA,oBAC1F;AAAA,kBAAgB;AAChB;AAAA,gBACF;AAAA,gBAEF,KAAK,mBACH;AACE,sBAAI,gBAAgB,YAAY;AAChC,sBAAI,cAAc,eAAe;AAAM,gEAA4C,cAAc,YAAY,QAAQ;AACrH;AAAA,gBACF;AAAA,cACJ;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,yBAAyB,aAAa,UAAU;AACvD,mCAAuB,aAAa,QAAQ;AAC5C,gBAAI,gBAAgB,uCAAuC;AAC3D,0BAAc,YAAY;AAC1B,0BAAc,SAAS;AACvB,gBAAI,YAAY,YAAY;AAE5B,gBAAI,cAAc,MAAM;AACtB,0BAAY,YAAY,CAAC,aAAa;AACtC,0BAAY,SAAS;AAAA,YACvB,OAAO;AACL,wBAAU,KAAK,aAAa;AAAA,YAC9B;AAAA,UACF;AAEA,mBAAS,wBAAwB,aAAa,OAAO;AACnD;AACE,kBAAI,sBAAsB;AAIxB;AAAA,cACF;AAEA,sBAAQ,YAAY,KAAK;AAAA,gBACvB,KAAK,UACH;AACE,sBAAI,kBAAkB,YAAY,UAAU;AAE5C,0BAAQ,MAAM,KAAK;AAAA,oBACjB,KAAK;AACH,0BAAI,OAAO,MAAM;AACjB,0BAAI,QAAQ,MAAM;AAClB,kEAA4C,iBAAiB,IAAI;AACjE;AAAA,oBAEF,KAAK;AACH,0BAAI,OAAO,MAAM;AACjB,sEAAgD,iBAAiB,IAAI;AACrE;AAAA,kBACJ;AAEA;AAAA,gBACF;AAAA,gBAEF,KAAK,eACH;AACE,sBAAI,aAAa,YAAY;AAC7B,sBAAI,cAAc,YAAY;AAC9B,sBAAI,iBAAiB,YAAY;AAEjC,0BAAQ,MAAM,KAAK;AAAA,oBACjB,KAAK,eACH;AACE,0BAAI,QAAQ,MAAM;AAClB,0BAAI,SAAS,MAAM;AACnB,0BAAI,oBAAoB,YAAY,OAAO,oBAAoB;AAC/D;AAAA,wBAA6B;AAAA,wBAAY;AAAA,wBAAa;AAAA,wBAAgB;AAAA,wBAAO;AAAA;AAAA,wBAC7E;AAAA,sBAAgB;AAChB;AAAA,oBACF;AAAA,oBAEF,KAAK,UACH;AACE,0BAAI,QAAQ,MAAM;AAElB,0BAAI,qBAAqB,YAAY,OAAO,oBAAoB;AAEhE;AAAA,wBAAiC;AAAA,wBAAY;AAAA,wBAAa;AAAA,wBAAgB;AAAA;AAAA,wBAC1E;AAAA,sBAAiB;AACjB;AAAA,oBACF;AAAA,kBACJ;AAEA;AAAA,gBACF;AAAA,gBAEF,KAAK,mBACH;AACE,sBAAI,gBAAgB,YAAY;AAChC,sBAAI,kBAAkB,cAAc;AACpC,sBAAI,oBAAoB;AAAM,4BAAQ,MAAM,KAAK;AAAA,sBAC/C,KAAK;AACH,4BAAI,SAAS,MAAM;AACnB,4BAAI,UAAU,MAAM;AACpB,2EAAmD,iBAAiB,MAAM;AAC1E;AAAA,sBAEF,KAAK;AACH,4BAAI,SAAS,MAAM;AACnB,+EAAuD,iBAAiB,MAAM;AAC9E;AAAA,oBACJ;AACA;AAAA,gBACF;AAAA,gBAEF;AACE;AAAA,cACJ;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,0BAA0B,aAAa,OAAO;AACrD,kBAAM,QAAQ,MAAM,QAAQ,CAAC,YAAY;AACzC,oCAAwB,aAAa,KAAK;AAAA,UAC5C;AAEA,mBAAS,WAAW,OAAO,cAAc;AACvC,oBAAQ,MAAM,KAAK;AAAA,cACjB,KAAK,eACH;AACE,oBAAI,OAAO,MAAM;AACjB,oBAAI,QAAQ,MAAM;AAClB,oBAAI,WAAW,mBAAmB,cAAc,IAAI;AAEpD,oBAAI,aAAa,MAAM;AACrB,wBAAM,YAAY;AAClB,yCAAuB;AACvB,2CAAyB,wBAAwB,QAAQ;AACzD,yBAAO;AAAA,gBACT;AAEA,uBAAO;AAAA,cACT;AAAA,cAEF,KAAK,UACH;AACE,oBAAI,OAAO,MAAM;AACjB,oBAAI,eAAe,uBAAuB,cAAc,IAAI;AAE5D,oBAAI,iBAAiB,MAAM;AACzB,wBAAM,YAAY;AAClB,yCAAuB;AAEvB,2CAAyB;AACzB,yBAAO;AAAA,gBACT;AAEA,uBAAO;AAAA,cACT;AAAA,cAEF,KAAK,mBACH;AACE,oBAAI,mBAAmB,2BAA2B,YAAY;AAE9D,oBAAI,qBAAqB,MAAM;AAC7B,sBAAI,gBAAgB;AAAA,oBAClB,YAAY;AAAA,oBACZ,aAAa,wBAAwB;AAAA,oBACrC,WAAW;AAAA,kBACb;AACA,wBAAM,gBAAgB;AAKtB,sBAAI,qBAAqB,kCAAkC,gBAAgB;AAC3E,qCAAmB,SAAS;AAC5B,wBAAM,QAAQ;AACd,yCAAuB;AAGvB,2CAAyB;AACzB,yBAAO;AAAA,gBACT;AAEA,uBAAO;AAAA,cACT;AAAA,cAEF;AACE,uBAAO;AAAA,YACX;AAAA,UACF;AAEA,mBAAS,6BAA6B,OAAO;AAC3C,oBAAQ,MAAM,OAAO,oBAAoB,WAAW,MAAM,QAAQ,gBAAgB;AAAA,UACpF;AAEA,mBAAS,yBAAyB,OAAO;AACvC,kBAAM,IAAI,MAAM,yFAA8F;AAAA,UAChH;AAEA,mBAAS,iCAAiC,OAAO;AAC/C,gBAAI,CAAC,aAAa;AAChB;AAAA,YACF;AAEA,gBAAI,eAAe;AAEnB,gBAAI,CAAC,cAAc;AACjB,kBAAI,6BAA6B,KAAK,GAAG;AACvC,wCAAwB,sBAAsB,KAAK;AACnD,yCAAyB;AAAA,cAC3B;AAGA,wCAA0B,sBAAsB,KAAK;AACrD,4BAAc;AACd,qCAAuB;AACvB;AAAA,YACF;AAEA,gBAAI,yBAAyB;AAE7B,gBAAI,CAAC,WAAW,OAAO,YAAY,GAAG;AACpC,kBAAI,6BAA6B,KAAK,GAAG;AACvC,wCAAwB,sBAAsB,KAAK;AACnD,yCAAyB;AAAA,cAC3B;AAKA,6BAAe,yBAAyB,sBAAsB;AAC9D,kBAAI,2BAA2B;AAE/B,kBAAI,CAAC,gBAAgB,CAAC,WAAW,OAAO,YAAY,GAAG;AAErD,0CAA0B,sBAAsB,KAAK;AACrD,8BAAc;AACd,uCAAuB;AACvB;AAAA,cACF;AAMA,uCAAyB,0BAA0B,sBAAsB;AAAA,YAC3E;AAAA,UACF;AAEA,mBAAS,6BAA6B,OAAO,uBAAuB,aAAa;AAE/E,gBAAI,WAAW,MAAM;AACrB,gBAAI,0BAA0B,CAAC;AAC/B,gBAAI,gBAAgB,gBAAgB,UAAU,MAAM,MAAM,MAAM,eAAe,uBAAuB,aAAa,OAAO,uBAAuB;AAEjJ,kBAAM,cAAc;AAGpB,gBAAI,kBAAkB,MAAM;AAC1B,qBAAO;AAAA,YACT;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,iCAAiC,OAAO;AAE/C,gBAAI,eAAe,MAAM;AACzB,gBAAI,cAAc,MAAM;AACxB,gBAAI,eAAe,oBAAoB,cAAc,aAAa,KAAK;AAEvE,gBAAI,cAAc;AAGhB,kBAAI,cAAc;AAElB,kBAAI,gBAAgB,MAAM;AACxB,wBAAQ,YAAY,KAAK;AAAA,kBACvB,KAAK,UACH;AACE,wBAAI,kBAAkB,YAAY,UAAU;AAC5C,wBAAI,oBAAoB,YAAY,OAAO,oBAAoB;AAC/D;AAAA,sBAAyC;AAAA,sBAAiB;AAAA,sBAAc;AAAA;AAAA,sBACxE;AAAA,oBAAgB;AAChB;AAAA,kBACF;AAAA,kBAEF,KAAK,eACH;AACE,wBAAI,aAAa,YAAY;AAC7B,wBAAI,cAAc,YAAY;AAC9B,wBAAI,iBAAiB,YAAY;AAEjC,wBAAI,sBAAsB,YAAY,OAAO,oBAAoB;AAEjE;AAAA,sBAAgC;AAAA,sBAAY;AAAA,sBAAa;AAAA,sBAAgB;AAAA,sBAAc;AAAA;AAAA,sBACvF;AAAA,oBAAkB;AAClB;AAAA,kBACF;AAAA,gBACJ;AAAA,cACF;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,qCAAqC,OAAO;AAEnD,gBAAI,gBAAgB,MAAM;AAC1B,gBAAI,mBAAmB,kBAAkB,OAAO,cAAc,aAAa;AAE3E,gBAAI,CAAC,kBAAkB;AACrB,oBAAM,IAAI,MAAM,qHAA0H;AAAA,YAC5I;AAEA,oCAAwB,kBAAkB,KAAK;AAAA,UACjD;AAEA,mBAAS,mCAAmC,OAAO;AAEjD,gBAAI,gBAAgB,MAAM;AAC1B,gBAAI,mBAAmB,kBAAkB,OAAO,cAAc,aAAa;AAE3E,gBAAI,CAAC,kBAAkB;AACrB,oBAAM,IAAI,MAAM,qHAA0H;AAAA,YAC5I;AAEA,mBAAO,+CAA+C,gBAAgB;AAAA,UACxE;AAEA,mBAAS,oBAAoB,OAAO;AAClC,gBAAI,SAAS,MAAM;AAEnB,mBAAO,WAAW,QAAQ,OAAO,QAAQ,iBAAiB,OAAO,QAAQ,YAAY,OAAO,QAAQ,mBAAmB;AACrH,uBAAS,OAAO;AAAA,YAClB;AAEA,mCAAuB;AAAA,UACzB;AAEA,mBAAS,kBAAkB,OAAO;AAEhC,gBAAI,UAAU,sBAAsB;AAGlC,qBAAO;AAAA,YACT;AAEA,gBAAI,CAAC,aAAa;AAIhB,kCAAoB,KAAK;AACzB,4BAAc;AACd,qBAAO;AAAA,YACT;AAMA,gBAAI,MAAM,QAAQ,aAAa,MAAM,QAAQ,iBAAiB,oCAAoC,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,MAAM,MAAM,aAAa,IAAI;AACxK,kBAAI,eAAe;AAEnB,kBAAI,cAAc;AAChB,oBAAI,6BAA6B,KAAK,GAAG;AACvC,4CAA0B,KAAK;AAC/B,2CAAyB;AAAA,gBAC3B,OAAO;AACL,yBAAO,cAAc;AACnB,6CAAyB,OAAO,YAAY;AAC5C,mCAAe,yBAAyB,YAAY;AAAA,kBACtD;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAEA,gCAAoB,KAAK;AAEzB,gBAAI,MAAM,QAAQ,mBAAmB;AACnC,uCAAyB,mCAAmC,KAAK;AAAA,YACnE,OAAO;AACL,uCAAyB,uBAAuB,yBAAyB,MAAM,SAAS,IAAI;AAAA,YAC9F;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,yBAAyB;AAChC,mBAAO,eAAe,2BAA2B;AAAA,UACnD;AAEA,mBAAS,0BAA0B,OAAO;AACxC,gBAAI,eAAe;AAEnB,mBAAO,cAAc;AACnB,qCAAuB,OAAO,YAAY;AAC1C,6BAAe,yBAAyB,YAAY;AAAA,YACtD;AAAA,UACF;AAEA,mBAAS,sBAAsB;AAE7B,mCAAuB;AACvB,qCAAyB;AACzB,0BAAc;AACd,mCAAuB;AAAA,UACzB;AAEA,mBAAS,sCAAsC;AAC7C,gBAAI,oBAAoB,MAAM;AAI5B,qCAAuB,eAAe;AACtC,gCAAkB;AAAA,YACpB;AAAA,UACF;AAEA,mBAAS,iBAAiB;AACxB,mBAAO;AAAA,UACT;AAEA,mBAAS,oBAAoBY,QAAO;AAClC,gBAAI,oBAAoB,MAAM;AAC5B,gCAAkB,CAACA,MAAK;AAAA,YAC1B,OAAO;AACL,8BAAgB,KAAKA,MAAK;AAAA,YAC5B;AAAA,UACF;AAEA,cAAI,4BAA4B,qBAAqB;AACrD,cAAI,eAAe;AACnB,mBAAS,2BAA2B;AAClC,mBAAO,0BAA0B;AAAA,UACnC;AAEA,cAAI,0BAA0B;AAAA,YAC5B,+BAA+B,SAAU,OAAO,UAAU;AAAA,YAAC;AAAA,YAC3D,qCAAqC,WAAY;AAAA,YAAC;AAAA,YAClD,4BAA4B,SAAU,OAAO,UAAU;AAAA,YAAC;AAAA,YACxD,2BAA2B,WAAY;AAAA,YAAC;AAAA,YACxC,wBAAwB,WAAY;AAAA,YAAC;AAAA,UACvC;AAEA;AACE,gBAAI,iBAAiB,SAAU,OAAO;AACpC,kBAAI,kBAAkB;AACtB,kBAAI,OAAO;AAEX,qBAAO,SAAS,MAAM;AACpB,oBAAI,KAAK,OAAO,kBAAkB;AAChC,oCAAkB;AAAA,gBACpB;AAEA,uBAAO,KAAK;AAAA,cACd;AAEA,qBAAO;AAAA,YACT;AAEA,gBAAI,oBAAoB,SAAUV,MAAK;AACrC,kBAAI,QAAQ,CAAC;AACb,cAAAA,KAAI,QAAQ,SAAU,OAAO;AAC3B,sBAAM,KAAK,KAAK;AAAA,cAClB,CAAC;AACD,qBAAO,MAAM,KAAK,EAAE,KAAK,IAAI;AAAA,YAC/B;AAEA,gBAAI,oCAAoC,CAAC;AACzC,gBAAI,2CAA2C,CAAC;AAChD,gBAAI,2CAA2C,CAAC;AAChD,gBAAI,kDAAkD,CAAC;AACvD,gBAAI,qCAAqC,CAAC;AAC1C,gBAAI,4CAA4C,CAAC;AAEjD,gBAAI,+BAA+B,oBAAI,IAAI;AAE3C,oCAAwB,gCAAgC,SAAU,OAAO,UAAU;AAEjF,kBAAI,6BAA6B,IAAI,MAAM,IAAI,GAAG;AAChD;AAAA,cACF;AAEA,kBAAI,OAAO,SAAS,uBAAuB;AAAA,cAC3C,SAAS,mBAAmB,iCAAiC,MAAM;AACjE,kDAAkC,KAAK,KAAK;AAAA,cAC9C;AAEA,kBAAI,MAAM,OAAO,oBAAoB,OAAO,SAAS,8BAA8B,YAAY;AAC7F,yDAAyC,KAAK,KAAK;AAAA,cACrD;AAEA,kBAAI,OAAO,SAAS,8BAA8B,cAAc,SAAS,0BAA0B,iCAAiC,MAAM;AACxI,yDAAyC,KAAK,KAAK;AAAA,cACrD;AAEA,kBAAI,MAAM,OAAO,oBAAoB,OAAO,SAAS,qCAAqC,YAAY;AACpG,gEAAgD,KAAK,KAAK;AAAA,cAC5D;AAEA,kBAAI,OAAO,SAAS,wBAAwB,cAAc,SAAS,oBAAoB,iCAAiC,MAAM;AAC5H,mDAAmC,KAAK,KAAK;AAAA,cAC/C;AAEA,kBAAI,MAAM,OAAO,oBAAoB,OAAO,SAAS,+BAA+B,YAAY;AAC9F,0DAA0C,KAAK,KAAK;AAAA,cACtD;AAAA,YACF;AAEA,oCAAwB,sCAAsC,WAAY;AAExE,kBAAI,gCAAgC,oBAAI,IAAI;AAE5C,kBAAI,kCAAkC,SAAS,GAAG;AAChD,kDAAkC,QAAQ,SAAU,OAAO;AACzD,gDAA8B,IAAI,0BAA0B,KAAK,KAAK,WAAW;AACjF,+CAA6B,IAAI,MAAM,IAAI;AAAA,gBAC7C,CAAC;AACD,oDAAoC,CAAC;AAAA,cACvC;AAEA,kBAAI,uCAAuC,oBAAI,IAAI;AAEnD,kBAAI,yCAAyC,SAAS,GAAG;AACvD,yDAAyC,QAAQ,SAAU,OAAO;AAChE,uDAAqC,IAAI,0BAA0B,KAAK,KAAK,WAAW;AACxF,+CAA6B,IAAI,MAAM,IAAI;AAAA,gBAC7C,CAAC;AACD,2DAA2C,CAAC;AAAA,cAC9C;AAEA,kBAAI,uCAAuC,oBAAI,IAAI;AAEnD,kBAAI,yCAAyC,SAAS,GAAG;AACvD,yDAAyC,QAAQ,SAAU,OAAO;AAChE,uDAAqC,IAAI,0BAA0B,KAAK,KAAK,WAAW;AACxF,+CAA6B,IAAI,MAAM,IAAI;AAAA,gBAC7C,CAAC;AACD,2DAA2C,CAAC;AAAA,cAC9C;AAEA,kBAAI,8CAA8C,oBAAI,IAAI;AAE1D,kBAAI,gDAAgD,SAAS,GAAG;AAC9D,gEAAgD,QAAQ,SAAU,OAAO;AACvE,8DAA4C,IAAI,0BAA0B,KAAK,KAAK,WAAW;AAC/F,+CAA6B,IAAI,MAAM,IAAI;AAAA,gBAC7C,CAAC;AACD,kEAAkD,CAAC;AAAA,cACrD;AAEA,kBAAI,iCAAiC,oBAAI,IAAI;AAE7C,kBAAI,mCAAmC,SAAS,GAAG;AACjD,mDAAmC,QAAQ,SAAU,OAAO;AAC1D,iDAA+B,IAAI,0BAA0B,KAAK,KAAK,WAAW;AAClF,+CAA6B,IAAI,MAAM,IAAI;AAAA,gBAC7C,CAAC;AACD,qDAAqC,CAAC;AAAA,cACxC;AAEA,kBAAI,wCAAwC,oBAAI,IAAI;AAEpD,kBAAI,0CAA0C,SAAS,GAAG;AACxD,0DAA0C,QAAQ,SAAU,OAAO;AACjE,wDAAsC,IAAI,0BAA0B,KAAK,KAAK,WAAW;AACzF,+CAA6B,IAAI,MAAM,IAAI;AAAA,gBAC7C,CAAC;AACD,4DAA4C,CAAC;AAAA,cAC/C;AAIA,kBAAI,qCAAqC,OAAO,GAAG;AACjD,oBAAI,cAAc,kBAAkB,oCAAoC;AAExE,sBAAM,8TAA6U,WAAW;AAAA,cAChW;AAEA,kBAAI,4CAA4C,OAAO,GAAG;AACxD,oBAAI,eAAe,kBAAkB,2CAA2C;AAEhF,sBAAM,ifAAohB,YAAY;AAAA,cACxiB;AAEA,kBAAI,sCAAsC,OAAO,GAAG;AAClD,oBAAI,gBAAgB,kBAAkB,qCAAqC;AAE3E,sBAAM,kSAAsT,aAAa;AAAA,cAC3U;AAEA,kBAAI,8BAA8B,OAAO,GAAG;AAC1C,oBAAI,gBAAgB,kBAAkB,6BAA6B;AAEnE,gBAAAV,MAAK,okBAAumB,aAAa;AAAA,cAC3nB;AAEA,kBAAI,qCAAqC,OAAO,GAAG;AACjD,oBAAI,gBAAgB,kBAAkB,oCAAoC;AAE1E,gBAAAA,MAAK,qwBAAuzB,aAAa;AAAA,cAC30B;AAEA,kBAAI,+BAA+B,OAAO,GAAG;AAC3C,oBAAI,gBAAgB,kBAAkB,8BAA8B;AAEpE,gBAAAA,MAAK,0iBAA6kB,aAAa;AAAA,cACjmB;AAAA,YACF;AAEA,gBAAI,8BAA8B,oBAAI,IAAI;AAE1C,gBAAI,4BAA4B,oBAAI,IAAI;AAExC,oCAAwB,6BAA6B,SAAU,OAAO,UAAU;AAC9E,kBAAI,aAAa,eAAe,KAAK;AAErC,kBAAI,eAAe,MAAM;AACvB,sBAAM,qIAA0I;AAEhJ;AAAA,cACF;AAGA,kBAAI,0BAA0B,IAAI,MAAM,IAAI,GAAG;AAC7C;AAAA,cACF;AAEA,kBAAI,kBAAkB,4BAA4B,IAAI,UAAU;AAEhE,kBAAI,MAAM,KAAK,gBAAgB,QAAQ,MAAM,KAAK,qBAAqB,QAAQ,aAAa,QAAQ,OAAO,SAAS,oBAAoB,YAAY;AAClJ,oBAAI,oBAAoB,QAAW;AACjC,oCAAkB,CAAC;AACnB,8CAA4B,IAAI,YAAY,eAAe;AAAA,gBAC7D;AAEA,gCAAgB,KAAK,KAAK;AAAA,cAC5B;AAAA,YACF;AAEA,oCAAwB,4BAA4B,WAAY;AAC9D,0CAA4B,QAAQ,SAAU,YAAY,YAAY;AACpE,oBAAI,WAAW,WAAW,GAAG;AAC3B;AAAA,gBACF;AAEA,oBAAI,aAAa,WAAW,CAAC;AAC7B,oBAAI,cAAc,oBAAI,IAAI;AAC1B,2BAAW,QAAQ,SAAU,OAAO;AAClC,8BAAY,IAAI,0BAA0B,KAAK,KAAK,WAAW;AAC/D,4CAA0B,IAAI,MAAM,IAAI;AAAA,gBAC1C,CAAC;AACD,oBAAI,cAAc,kBAAkB,WAAW;AAE/C,oBAAI;AACF,kCAAgB,UAAU;AAE1B,wBAAM,oTAAwU,WAAW;AAAA,gBAC3V,UAAE;AACA,oCAAkB;AAAA,gBACpB;AAAA,cACF,CAAC;AAAA,YACH;AAEA,oCAAwB,yBAAyB,WAAY;AAC3D,kDAAoC,CAAC;AACrC,yDAA2C,CAAC;AAC5C,yDAA2C,CAAC;AAC5C,gEAAkD,CAAC;AACnD,mDAAqC,CAAC;AACtC,0DAA4C,CAAC;AAC7C,4CAA8B,oBAAI,IAAI;AAAA,YACxC;AAAA,UACF;AAEA,mBAAS,oBAAoB,WAAW,WAAW;AACjD,gBAAI,aAAa,UAAU,cAAc;AAEvC,kBAAI,QAAQO,QAAO,CAAC,GAAG,SAAS;AAChC,kBAAI,eAAe,UAAU;AAE7B,uBAAS,YAAY,cAAc;AACjC,oBAAI,MAAM,QAAQ,MAAM,QAAW;AACjC,wBAAM,QAAQ,IAAI,aAAa,QAAQ;AAAA,gBACzC;AAAA,cACF;AAEA,qBAAO;AAAA,YACT;AAEA,mBAAO;AAAA,UACT;AAEA,cAAI,cAAc,aAAa,IAAI;AACnC,cAAI;AAEJ;AAEE,4BAAgB,CAAC;AAAA,UACnB;AAEA,cAAI,0BAA0B;AAC9B,cAAI,wBAAwB;AAC5B,cAAI,2BAA2B;AAC/B,cAAI,+BAA+B;AACnC,mBAAS,2BAA2B;AAGlC,sCAA0B;AAC1B,oCAAwB;AACxB,uCAA2B;AAE3B;AACE,6CAA+B;AAAA,YACjC;AAAA,UACF;AACA,mBAAS,kCAAkC;AACzC;AACE,6CAA+B;AAAA,YACjC;AAAA,UACF;AACA,mBAAS,iCAAiC;AACxC;AACE,6CAA+B;AAAA,YACjC;AAAA,UACF;AACA,mBAAS,aAAa,eAAe,SAAS,WAAW;AACvD;AACE,mBAAK,aAAa,QAAQ,eAAe,aAAa;AACtD,sBAAQ,gBAAgB;AAExB;AACE,oBAAI,QAAQ,qBAAqB,UAAa,QAAQ,qBAAqB,QAAQ,QAAQ,qBAAqB,eAAe;AAC7H,wBAAM,8GAAmH;AAAA,gBAC3H;AAEA,wBAAQ,mBAAmB;AAAA,cAC7B;AAAA,YACF;AAAA,UACF;AACA,mBAAS,YAAY,SAAS,eAAe;AAC3C,gBAAI,eAAe,YAAY;AAC/B,gBAAI,aAAa,aAAa;AAE9B;AACE;AACE,wBAAQ,gBAAgB;AAAA,cAC1B;AAAA,YACF;AAAA,UACF;AACA,mBAAS,gCAAgC,QAAQkB,cAAa,iBAAiB;AAE7E,gBAAI,OAAO;AAEX,mBAAO,SAAS,MAAM;AACpB,kBAAI,YAAY,KAAK;AAErB,kBAAI,CAAC,gBAAgB,KAAK,YAAYA,YAAW,GAAG;AAClD,qBAAK,aAAa,WAAW,KAAK,YAAYA,YAAW;AAEzD,oBAAI,cAAc,MAAM;AACtB,4BAAU,aAAa,WAAW,UAAU,YAAYA,YAAW;AAAA,gBACrE;AAAA,cACF,WAAW,cAAc,QAAQ,CAAC,gBAAgB,UAAU,YAAYA,YAAW,GAAG;AACpF,0BAAU,aAAa,WAAW,UAAU,YAAYA,YAAW;AAAA,cACrE;AAEA,kBAAI,SAAS,iBAAiB;AAC5B;AAAA,cACF;AAEA,qBAAO,KAAK;AAAA,YACd;AAEA;AACE,kBAAI,SAAS,iBAAiB;AAC5B,sBAAM,0IAA+I;AAAA,cACvJ;AAAA,YACF;AAAA,UACF;AACA,mBAAS,uBAAuBjB,iBAAgB,SAASiB,cAAa;AACpE;AACE,2CAA6BjB,iBAAgB,SAASiB,YAAW;AAAA,YACnE;AAAA,UACF;AAEA,mBAAS,6BAA6BjB,iBAAgB,SAASiB,cAAa;AAE1E,gBAAI,QAAQjB,gBAAe;AAE3B,gBAAI,UAAU,MAAM;AAElB,oBAAM,SAASA;AAAA,YACjB;AAEA,mBAAO,UAAU,MAAM;AACrB,kBAAI,YAAY;AAEhB,kBAAI,OAAO,MAAM;AAEjB,kBAAI,SAAS,MAAM;AACjB,4BAAY,MAAM;AAClB,oBAAI,aAAa,KAAK;AAEtB,uBAAO,eAAe,MAAM;AAE1B,sBAAI,WAAW,YAAY,SAAS;AAElC,wBAAI,MAAM,QAAQ,gBAAgB;AAEhC,0BAAI,OAAO,kBAAkBiB,YAAW;AACxC,0BAAI,SAAS,aAAa,aAAa,IAAI;AAC3C,6BAAO,MAAM;AAMb,0BAAI,cAAc,MAAM;AAExB,0BAAI,gBAAgB;AAAM;AAAA,2BAAO;AAC/B,4BAAI,cAAc,YAAY;AAC9B,4BAAI,UAAU,YAAY;AAE1B,4BAAI,YAAY,MAAM;AAEpB,iCAAO,OAAO;AAAA,wBAChB,OAAO;AACL,iCAAO,OAAO,QAAQ;AACtB,kCAAQ,OAAO;AAAA,wBACjB;AAEA,oCAAY,UAAU;AAAA,sBACxB;AAAA,oBACF;AAEA,0BAAM,QAAQ,WAAW,MAAM,OAAOA,YAAW;AACjD,wBAAI,YAAY,MAAM;AAEtB,wBAAI,cAAc,MAAM;AACtB,gCAAU,QAAQ,WAAW,UAAU,OAAOA,YAAW;AAAA,oBAC3D;AAEA,oDAAgC,MAAM,QAAQA,cAAajB,eAAc;AAEzE,yBAAK,QAAQ,WAAW,KAAK,OAAOiB,YAAW;AAG/C;AAAA,kBACF;AAEA,+BAAa,WAAW;AAAA,gBAC1B;AAAA,cACF,WAAW,MAAM,QAAQ,iBAAiB;AAExC,4BAAY,MAAM,SAASjB,gBAAe,OAAO,OAAO,MAAM;AAAA,cAChE,WAAW,MAAM,QAAQ,oBAAoB;AAI3C,oBAAI,iBAAiB,MAAM;AAE3B,oBAAI,mBAAmB,MAAM;AAC3B,wBAAM,IAAI,MAAM,kFAAkF;AAAA,gBACpG;AAEA,+BAAe,QAAQ,WAAW,eAAe,OAAOiB,YAAW;AACnE,oBAAI,aAAa,eAAe;AAEhC,oBAAI,eAAe,MAAM;AACvB,6BAAW,QAAQ,WAAW,WAAW,OAAOA,YAAW;AAAA,gBAC7D;AAMA,gDAAgC,gBAAgBA,cAAajB,eAAc;AAC3E,4BAAY,MAAM;AAAA,cACpB,OAAO;AAEL,4BAAY,MAAM;AAAA,cACpB;AAEA,kBAAI,cAAc,MAAM;AAEtB,0BAAU,SAAS;AAAA,cACrB,OAAO;AAEL,4BAAY;AAEZ,uBAAO,cAAc,MAAM;AACzB,sBAAI,cAAcA,iBAAgB;AAEhC,gCAAY;AACZ;AAAA,kBACF;AAEA,sBAAI,UAAU,UAAU;AAExB,sBAAI,YAAY,MAAM;AAEpB,4BAAQ,SAAS,UAAU;AAC3B,gCAAY;AACZ;AAAA,kBACF;AAGA,8BAAY,UAAU;AAAA,gBACxB;AAAA,cACF;AAEA,sBAAQ;AAAA,YACV;AAAA,UACF;AACA,mBAAS,qBAAqBA,iBAAgBiB,cAAa;AACzD,sCAA0BjB;AAC1B,oCAAwB;AACxB,uCAA2B;AAC3B,gBAAI,eAAeA,gBAAe;AAElC,gBAAI,iBAAiB,MAAM;AACzB;AACE,oBAAI,eAAe,aAAa;AAEhC,oBAAI,iBAAiB,MAAM;AACzB,sBAAI,iBAAiB,aAAa,OAAOiB,YAAW,GAAG;AAErD,qDAAiC;AAAA,kBACnC;AAGA,+BAAa,eAAe;AAAA,gBAC9B;AAAA,cACF;AAAA,YACF;AAAA,UACF;AACA,mBAAS,YAAY,SAAS;AAC5B;AAGE,kBAAI,8BAA8B;AAChC,sBAAM,8PAA6Q;AAAA,cACrR;AAAA,YACF;AAEA,gBAAI,QAAS,QAAQ;AAErB,gBAAI,6BAA6B;AAAS;AAAA,iBAAO;AAC/C,kBAAI,cAAc;AAAA,gBAChB;AAAA,gBACA,eAAe;AAAA,gBACf,MAAM;AAAA,cACR;AAEA,kBAAI,0BAA0B,MAAM;AAClC,oBAAI,4BAA4B,MAAM;AACpC,wBAAM,IAAI,MAAM,8PAA6Q;AAAA,gBAC/R;AAGA,wCAAwB;AACxB,wCAAwB,eAAe;AAAA,kBACrC,OAAO;AAAA,kBACP,cAAc;AAAA,gBAChB;AAAA,cACF,OAAO;AAEL,wCAAwB,sBAAsB,OAAO;AAAA,cACvD;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AAMA,cAAI,mBAAmB;AACvB,mBAAS,0BAA0B,OAAO;AACxC,gBAAI,qBAAqB,MAAM;AAC7B,iCAAmB,CAAC,KAAK;AAAA,YAC3B,OAAO;AACL,+BAAiB,KAAK,KAAK;AAAA,YAC7B;AAAA,UACF;AACA,mBAAS,kCAAkC;AAMzC,gBAAI,qBAAqB,MAAM;AAC7B,uBAAS,IAAI,GAAG,IAAI,iBAAiB,QAAQ,KAAK;AAChD,oBAAI,QAAQ,iBAAiB,CAAC;AAC9B,oBAAI,wBAAwB,MAAM;AAElC,oBAAI,0BAA0B,MAAM;AAClC,wBAAM,cAAc;AACpB,sBAAI,yBAAyB,sBAAsB;AACnD,sBAAI,oBAAoB,MAAM;AAE9B,sBAAI,sBAAsB,MAAM;AAC9B,wBAAI,qBAAqB,kBAAkB;AAC3C,sCAAkB,OAAO;AACzB,0CAAsB,OAAO;AAAA,kBAC/B;AAEA,wBAAM,UAAU;AAAA,gBAClB;AAAA,cACF;AAEA,iCAAmB;AAAA,YACrB;AAAA,UACF;AACA,mBAAS,4BAA4B,OAAO,OAAO,QAAQ,MAAM;AAC/D,gBAAI,cAAc,MAAM;AAExB,gBAAI,gBAAgB,MAAM;AAExB,qBAAO,OAAO;AAGd,wCAA0B,KAAK;AAAA,YACjC,OAAO;AACL,qBAAO,OAAO,YAAY;AAC1B,0BAAY,OAAO;AAAA,YACrB;AAEA,kBAAM,cAAc;AACpB,mBAAO,8BAA8B,OAAO,IAAI;AAAA,UAClD;AACA,mBAAS,6CAA6C,OAAO,OAAO,QAAQ,MAAM;AAChF,gBAAI,cAAc,MAAM;AAExB,gBAAI,gBAAgB,MAAM;AAExB,qBAAO,OAAO;AAGd,wCAA0B,KAAK;AAAA,YACjC,OAAO;AACL,qBAAO,OAAO,YAAY;AAC1B,0BAAY,OAAO;AAAA,YACrB;AAEA,kBAAM,cAAc;AAAA,UACtB;AACA,mBAAS,6BAA6B,OAAO,OAAO,QAAQ,MAAM;AAChE,gBAAI,cAAc,MAAM;AAExB,gBAAI,gBAAgB,MAAM;AAExB,qBAAO,OAAO;AAGd,wCAA0B,KAAK;AAAA,YACjC,OAAO;AACL,qBAAO,OAAO,YAAY;AAC1B,0BAAY,OAAO;AAAA,YACrB;AAEA,kBAAM,cAAc;AACpB,mBAAO,8BAA8B,OAAO,IAAI;AAAA,UAClD;AACA,mBAAS,+BAA+B,OAAO,MAAM;AACnD,mBAAO,8BAA8B,OAAO,IAAI;AAAA,UAClD;AAGA,cAAI,uCAAuC;AAE3C,mBAAS,8BAA8B,aAAa,MAAM;AAExD,wBAAY,QAAQ,WAAW,YAAY,OAAO,IAAI;AACtD,gBAAI,YAAY,YAAY;AAE5B,gBAAI,cAAc,MAAM;AACtB,wBAAU,QAAQ,WAAW,UAAU,OAAO,IAAI;AAAA,YACpD;AAEA;AACE,kBAAI,cAAc,SAAS,YAAY,SAAS,YAAY,gBAAgB,SAAS;AACnF,yDAAyC,WAAW;AAAA,cACtD;AAAA,YACF;AAGA,gBAAI,OAAO;AACX,gBAAI,SAAS,YAAY;AAEzB,mBAAO,WAAW,MAAM;AACtB,qBAAO,aAAa,WAAW,OAAO,YAAY,IAAI;AACtD,0BAAY,OAAO;AAEnB,kBAAI,cAAc,MAAM;AACtB,0BAAU,aAAa,WAAW,UAAU,YAAY,IAAI;AAAA,cAC9D,OAAO;AACL;AACE,uBAAK,OAAO,SAAS,YAAY,gBAAgB,SAAS;AACxD,6DAAyC,WAAW;AAAA,kBACtD;AAAA,gBACF;AAAA,cACF;AAEA,qBAAO;AACP,uBAAS,OAAO;AAAA,YAClB;AAEA,gBAAI,KAAK,QAAQ,UAAU;AACzB,kBAAIF,QAAO,KAAK;AAChB,qBAAOA;AAAA,YACT,OAAO;AACL,qBAAO;AAAA,YACT;AAAA,UACF;AAEA,cAAI,cAAc;AAClB,cAAI,eAAe;AACnB,cAAI,cAAc;AAClB,cAAI,gBAAgB;AAIpB,cAAI,iBAAiB;AACrB,cAAI;AACJ,cAAI;AAEJ;AACE,wCAA4B;AAC5B,uCAA2B;AAAA,UAC7B;AAEA,mBAAS,sBAAsB,OAAO;AACpC,gBAAI,QAAQ;AAAA,cACV,WAAW,MAAM;AAAA,cACjB,iBAAiB;AAAA,cACjB,gBAAgB;AAAA,cAChB,QAAQ;AAAA,gBACN,SAAS;AAAA,gBACT,aAAa;AAAA,gBACb,OAAO;AAAA,cACT;AAAA,cACA,SAAS;AAAA,YACX;AACA,kBAAM,cAAc;AAAA,UACtB;AACA,mBAAS,iBAAiBD,UAASd,iBAAgB;AAEjD,gBAAI,QAAQA,gBAAe;AAC3B,gBAAI,eAAec,SAAQ;AAE3B,gBAAI,UAAU,cAAc;AAC1B,kBAAI,QAAQ;AAAA,gBACV,WAAW,aAAa;AAAA,gBACxB,iBAAiB,aAAa;AAAA,gBAC9B,gBAAgB,aAAa;AAAA,gBAC7B,QAAQ,aAAa;AAAA,gBACrB,SAAS,aAAa;AAAA,cACxB;AACA,cAAAd,gBAAe,cAAc;AAAA,YAC/B;AAAA,UACF;AACA,mBAAS,aAAa,WAAW,MAAM;AACrC,gBAAI,SAAS;AAAA,cACX;AAAA,cACA;AAAA,cACA,KAAK;AAAA,cACL,SAAS;AAAA,cACT,UAAU;AAAA,cACV,MAAM;AAAA,YACR;AACA,mBAAO;AAAA,UACT;AACA,mBAAS,cAAc,OAAO,QAAQ,MAAM;AAC1C,gBAAI,cAAc,MAAM;AAExB,gBAAI,gBAAgB,MAAM;AAExB,qBAAO;AAAA,YACT;AAEA,gBAAI,cAAc,YAAY;AAE9B;AACE,kBAAI,6BAA6B,eAAe,CAAC,2BAA2B;AAC1E,sBAAM,4MAA2N;AAEjO,4CAA4B;AAAA,cAC9B;AAAA,YACF;AAEA,gBAAI,+BAA+B,GAAG;AAGpC,kBAAI,UAAU,YAAY;AAE1B,kBAAI,YAAY,MAAM;AAEpB,uBAAO,OAAO;AAAA,cAChB,OAAO;AACL,uBAAO,OAAO,QAAQ;AACtB,wBAAQ,OAAO;AAAA,cACjB;AAEA,0BAAY,UAAU;AAKtB,qBAAO,qCAAqC,OAAO,IAAI;AAAA,YACzD,OAAO;AACL,qBAAO,6BAA6B,OAAO,aAAa,QAAQ,IAAI;AAAA,YACtE;AAAA,UACF;AACA,mBAAS,oBAAoBe,OAAM,OAAO,MAAM;AAC9C,gBAAI,cAAc,MAAM;AAExB,gBAAI,gBAAgB,MAAM;AAExB;AAAA,YACF;AAEA,gBAAI,cAAc,YAAY;AAE9B,gBAAI,iBAAiB,IAAI,GAAG;AAC1B,kBAAI,aAAa,YAAY;AAM7B,2BAAa,eAAe,YAAYA,MAAK,YAAY;AAEzD,kBAAI,gBAAgB,WAAW,YAAY,IAAI;AAC/C,0BAAY,QAAQ;AAIpB,gCAAkBA,OAAM,aAAa;AAAA,YACvC;AAAA,UACF;AACA,mBAAS,sBAAsBf,iBAAgB,gBAAgB;AAI7D,gBAAI,QAAQA,gBAAe;AAE3B,gBAAIc,WAAUd,gBAAe;AAE7B,gBAAIc,aAAY,MAAM;AACpB,kBAAI,eAAeA,SAAQ;AAE3B,kBAAI,UAAU,cAAc;AAO1B,oBAAI,WAAW;AACf,oBAAI,UAAU;AACd,oBAAI,kBAAkB,MAAM;AAE5B,oBAAI,oBAAoB,MAAM;AAE5B,sBAAI,SAAS;AAEb,qBAAG;AACD,wBAAI,QAAQ;AAAA,sBACV,WAAW,OAAO;AAAA,sBAClB,MAAM,OAAO;AAAA,sBACb,KAAK,OAAO;AAAA,sBACZ,SAAS,OAAO;AAAA,sBAChB,UAAU,OAAO;AAAA,sBACjB,MAAM;AAAA,oBACR;AAEA,wBAAI,YAAY,MAAM;AACpB,iCAAW,UAAU;AAAA,oBACvB,OAAO;AACL,8BAAQ,OAAO;AACf,gCAAU;AAAA,oBACZ;AAEA,6BAAS,OAAO;AAAA,kBAClB,SAAS,WAAW;AAGpB,sBAAI,YAAY,MAAM;AACpB,+BAAW,UAAU;AAAA,kBACvB,OAAO;AACL,4BAAQ,OAAO;AACf,8BAAU;AAAA,kBACZ;AAAA,gBACF,OAAO;AAEL,6BAAW,UAAU;AAAA,gBACvB;AAEA,wBAAQ;AAAA,kBACN,WAAW,aAAa;AAAA,kBACxB,iBAAiB;AAAA,kBACjB,gBAAgB;AAAA,kBAChB,QAAQ,aAAa;AAAA,kBACrB,SAAS,aAAa;AAAA,gBACxB;AACA,gBAAAd,gBAAe,cAAc;AAC7B;AAAA,cACF;AAAA,YACF;AAGA,gBAAI,iBAAiB,MAAM;AAE3B,gBAAI,mBAAmB,MAAM;AAC3B,oBAAM,kBAAkB;AAAA,YAC1B,OAAO;AACL,6BAAe,OAAO;AAAA,YACxB;AAEA,kBAAM,iBAAiB;AAAA,UACzB;AAEA,mBAAS,mBAAmBA,iBAAgB,OAAO,QAAQ,WAAW,WAAW,UAAU;AACzF,oBAAQ,OAAO,KAAK;AAAA,cAClB,KAAK,cACH;AACE,oBAAI,UAAU,OAAO;AAErB,oBAAI,OAAO,YAAY,YAAY;AAEjC;AACE,oDAAgC;AAAA,kBAClC;AAEA,sBAAI,YAAY,QAAQ,KAAK,UAAU,WAAW,SAAS;AAE3D;AACE,wBAAKA,gBAAe,OAAO,kBAAkB;AAC3C,iDAA2B,IAAI;AAE/B,0BAAI;AACF,gCAAQ,KAAK,UAAU,WAAW,SAAS;AAAA,sBAC7C,UAAE;AACA,mDAA2B,KAAK;AAAA,sBAClC;AAAA,oBACF;AAEA,mDAA+B;AAAA,kBACjC;AAEA,yBAAO;AAAA,gBACT;AAGA,uBAAO;AAAA,cACT;AAAA,cAEF,KAAK,eACH;AACE,gBAAAA,gBAAe,QAAQA,gBAAe,QAAQ,CAAC,gBAAgB;AAAA,cACjE;AAAA,cAGF,KAAK,aACH;AACE,oBAAI,WAAW,OAAO;AACtB,oBAAI;AAEJ,oBAAI,OAAO,aAAa,YAAY;AAElC;AACE,oDAAgC;AAAA,kBAClC;AAEA,iCAAe,SAAS,KAAK,UAAU,WAAW,SAAS;AAE3D;AACE,wBAAKA,gBAAe,OAAO,kBAAkB;AAC3C,iDAA2B,IAAI;AAE/B,0BAAI;AACF,iCAAS,KAAK,UAAU,WAAW,SAAS;AAAA,sBAC9C,UAAE;AACA,mDAA2B,KAAK;AAAA,sBAClC;AAAA,oBACF;AAEA,mDAA+B;AAAA,kBACjC;AAAA,gBACF,OAAO;AAEL,iCAAe;AAAA,gBACjB;AAEA,oBAAI,iBAAiB,QAAQ,iBAAiB,QAAW;AAEvD,yBAAO;AAAA,gBACT;AAGA,uBAAOD,QAAO,CAAC,GAAG,WAAW,YAAY;AAAA,cAC3C;AAAA,cAEF,KAAK,aACH;AACE,iCAAiB;AACjB,uBAAO;AAAA,cACT;AAAA,YACJ;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,mBAAmBC,iBAAgB,OAAO,UAAUiB,cAAa;AAExE,gBAAI,QAAQjB,gBAAe;AAC3B,6BAAiB;AAEjB;AACE,yCAA2B,MAAM;AAAA,YACnC;AAEA,gBAAI,kBAAkB,MAAM;AAC5B,gBAAI,iBAAiB,MAAM;AAE3B,gBAAI,eAAe,MAAM,OAAO;AAEhC,gBAAI,iBAAiB,MAAM;AACzB,oBAAM,OAAO,UAAU;AAGvB,kBAAI,oBAAoB;AACxB,kBAAI,qBAAqB,kBAAkB;AAC3C,gCAAkB,OAAO;AAEzB,kBAAI,mBAAmB,MAAM;AAC3B,kCAAkB;AAAA,cACpB,OAAO;AACL,+BAAe,OAAO;AAAA,cACxB;AAEA,+BAAiB;AAMjB,kBAAIc,WAAUd,gBAAe;AAE7B,kBAAIc,aAAY,MAAM;AAEpB,oBAAI,eAAeA,SAAQ;AAC3B,oBAAI,wBAAwB,aAAa;AAEzC,oBAAI,0BAA0B,gBAAgB;AAC5C,sBAAI,0BAA0B,MAAM;AAClC,iCAAa,kBAAkB;AAAA,kBACjC,OAAO;AACL,0CAAsB,OAAO;AAAA,kBAC/B;AAEA,+BAAa,iBAAiB;AAAA,gBAChC;AAAA,cACF;AAAA,YACF;AAGA,gBAAI,oBAAoB,MAAM;AAE5B,kBAAI,WAAW,MAAM;AAGrB,kBAAI,WAAW;AACf,kBAAI,eAAe;AACnB,kBAAI,qBAAqB;AACzB,kBAAI,oBAAoB;AACxB,kBAAI,SAAS;AAEb,iBAAG;AACD,oBAAI,aAAa,OAAO;AACxB,oBAAI,kBAAkB,OAAO;AAE7B,oBAAI,CAAC,gBAAgBG,cAAa,UAAU,GAAG;AAI7C,sBAAI,QAAQ;AAAA,oBACV,WAAW;AAAA,oBACX,MAAM;AAAA,oBACN,KAAK,OAAO;AAAA,oBACZ,SAAS,OAAO;AAAA,oBAChB,UAAU,OAAO;AAAA,oBACjB,MAAM;AAAA,kBACR;AAEA,sBAAI,sBAAsB,MAAM;AAC9B,yCAAqB,oBAAoB;AACzC,mCAAe;AAAA,kBACjB,OAAO;AACL,wCAAoB,kBAAkB,OAAO;AAAA,kBAC/C;AAGA,6BAAW,WAAW,UAAU,UAAU;AAAA,gBAC5C,OAAO;AAEL,sBAAI,sBAAsB,MAAM;AAC9B,wBAAI,SAAS;AAAA,sBACX,WAAW;AAAA;AAAA;AAAA;AAAA,sBAIX,MAAM;AAAA,sBACN,KAAK,OAAO;AAAA,sBACZ,SAAS,OAAO;AAAA,sBAChB,UAAU,OAAO;AAAA,sBACjB,MAAM;AAAA,oBACR;AACA,wCAAoB,kBAAkB,OAAO;AAAA,kBAC/C;AAGA,6BAAW,mBAAmBjB,iBAAgB,OAAO,QAAQ,UAAU,OAAO,QAAQ;AACtF,sBAAI,WAAW,OAAO;AAEtB,sBAAI,aAAa;AAAA;AAAA,kBAEjB,OAAO,SAAS,QAAQ;AACtB,oBAAAA,gBAAe,SAAS;AACxB,wBAAI,UAAU,MAAM;AAEpB,wBAAI,YAAY,MAAM;AACpB,4BAAM,UAAU,CAAC,MAAM;AAAA,oBACzB,OAAO;AACL,8BAAQ,KAAK,MAAM;AAAA,oBACrB;AAAA,kBACF;AAAA,gBACF;AAEA,yBAAS,OAAO;AAEhB,oBAAI,WAAW,MAAM;AACnB,iCAAe,MAAM,OAAO;AAE5B,sBAAI,iBAAiB,MAAM;AACzB;AAAA,kBACF,OAAO;AAGL,wBAAI,qBAAqB;AAGzB,wBAAI,sBAAsB,mBAAmB;AAC7C,uCAAmB,OAAO;AAC1B,6BAAS;AACT,0BAAM,iBAAiB;AACvB,0BAAM,OAAO,UAAU;AAAA,kBACzB;AAAA,gBACF;AAAA,cACF,SAAS;AAET,kBAAI,sBAAsB,MAAM;AAC9B,+BAAe;AAAA,cACjB;AAEA,oBAAM,YAAY;AAClB,oBAAM,kBAAkB;AACxB,oBAAM,iBAAiB;AAIvB,kBAAI,kBAAkB,MAAM,OAAO;AAEnC,kBAAI,oBAAoB,MAAM;AAC5B,oBAAI,cAAc;AAElB,mBAAG;AACD,6BAAW,WAAW,UAAU,YAAY,IAAI;AAChD,gCAAc,YAAY;AAAA,gBAC5B,SAAS,gBAAgB;AAAA,cAC3B,WAAW,oBAAoB,MAAM;AAGnC,sBAAM,OAAO,QAAQ;AAAA,cACvB;AASA,qCAAuB,QAAQ;AAC/B,cAAAA,gBAAe,QAAQ;AACvB,cAAAA,gBAAe,gBAAgB;AAAA,YACjC;AAEA;AACE,yCAA2B;AAAA,YAC7B;AAAA,UACF;AAEA,mBAAS,aAAa,UAAU,SAAS;AACvC,gBAAI,OAAO,aAAa,YAAY;AAClC,oBAAM,IAAI,MAAM,wEAAwE,eAAe,SAAS;AAAA,YAClH;AAEA,qBAAS,KAAK,OAAO;AAAA,UACvB;AAEA,mBAAS,sCAAsC;AAC7C,6BAAiB;AAAA,UACnB;AACA,mBAAS,qCAAqC;AAC5C,mBAAO;AAAA,UACT;AACA,mBAAS,kBAAkB,cAAc,eAAe,UAAU;AAEhE,gBAAI,UAAU,cAAc;AAC5B,0BAAc,UAAU;AAExB,gBAAI,YAAY,MAAM;AACpB,uBAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;AACvC,oBAAI,SAAS,QAAQ,CAAC;AACtB,oBAAI,WAAW,OAAO;AAEtB,oBAAI,aAAa,MAAM;AACrB,yBAAO,WAAW;AAClB,+BAAa,UAAU,QAAQ;AAAA,gBACjC;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,cAAI,uBAAuB,CAAC;AAG5B,cAAI,kBAAkB,IAAIT,QAAM,UAAU,EAAE;AAC5C,cAAI;AACJ,cAAI;AACJ,cAAI;AACJ,cAAI;AACJ,cAAI;AACJ,cAAI;AACJ,cAAI;AACJ,cAAI;AACJ,cAAI;AACJ,cAAI;AAEJ;AACE,sDAA0C,oBAAI,IAAI;AAClD,6CAAiC,oBAAI,IAAI;AACzC,kEAAsD,oBAAI,IAAI;AAC9D,0DAA8C,oBAAI,IAAI;AACtD,wDAA4C,oBAAI,IAAI;AACpD,gDAAoC,oBAAI,IAAI;AAC5C,qDAAyC,oBAAI,IAAI;AACjD,gDAAoC,oBAAI,IAAI;AAC5C,gBAAI,2BAA2B,oBAAI,IAAI;AAEvC,oCAAwB,SAAU,UAAU,YAAY;AACtD,kBAAI,aAAa,QAAQ,OAAO,aAAa,YAAY;AACvD;AAAA,cACF;AAEA,kBAAI,MAAM,aAAa,MAAM;AAE7B,kBAAI,CAAC,yBAAyB,IAAI,GAAG,GAAG;AACtC,yCAAyB,IAAI,GAAG;AAEhC,sBAAM,mGAAwG,YAAY,QAAQ;AAAA,cACpI;AAAA,YACF;AAEA,0CAA8B,SAAU,MAAM,cAAc;AAC1D,kBAAI,iBAAiB,QAAW;AAC9B,oBAAI,gBAAgB,yBAAyB,IAAI,KAAK;AAEtD,oBAAI,CAAC,kCAAkC,IAAI,aAAa,GAAG;AACzD,oDAAkC,IAAI,aAAa;AAEnD,wBAAM,gHAAqH,aAAa;AAAA,gBAC1I;AAAA,cACF;AAAA,YACF;AAOA,mBAAO,eAAe,sBAAsB,wBAAwB;AAAA,cAClE,YAAY;AAAA,cACZ,OAAO,WAAY;AACjB,sBAAM,IAAI,MAAM,8UAAuW;AAAA,cACzX;AAAA,YACF,CAAC;AACD,mBAAO,OAAO,oBAAoB;AAAA,UACpC;AAEA,mBAAS,2BAA2BS,iBAAgB,MAAM,0BAA0B,WAAW;AAC7F,gBAAI,YAAYA,gBAAe;AAC/B,gBAAI,eAAe,yBAAyB,WAAW,SAAS;AAEhE;AACE,kBAAKA,gBAAe,OAAO,kBAAkB;AAC3C,2CAA2B,IAAI;AAE/B,oBAAI;AAEF,iCAAe,yBAAyB,WAAW,SAAS;AAAA,gBAC9D,UAAE;AACA,6CAA2B,KAAK;AAAA,gBAClC;AAAA,cACF;AAEA,0CAA4B,MAAM,YAAY;AAAA,YAChD;AAGA,gBAAI,gBAAgB,iBAAiB,QAAQ,iBAAiB,SAAY,YAAYD,QAAO,CAAC,GAAG,WAAW,YAAY;AACxH,YAAAC,gBAAe,gBAAgB;AAG/B,gBAAIA,gBAAe,UAAU,SAAS;AAEpC,kBAAI,cAAcA,gBAAe;AACjC,0BAAY,YAAY;AAAA,YAC1B;AAAA,UACF;AAEA,cAAI,wBAAwB;AAAA,YAC1B;AAAA,YACA,iBAAiB,SAAU,MAAM,SAAS,UAAU;AAClD,kBAAI,QAAQ,IAAI,IAAI;AACpB,kBAAI,YAAY,iBAAiB;AACjC,kBAAI,OAAO,kBAAkB,KAAK;AAClC,kBAAI,SAAS,aAAa,WAAW,IAAI;AACzC,qBAAO,UAAU;AAEjB,kBAAI,aAAa,UAAa,aAAa,MAAM;AAC/C;AACE,wCAAsB,UAAU,UAAU;AAAA,gBAC5C;AAEA,uBAAO,WAAW;AAAA,cACpB;AAEA,kBAAIe,QAAO,cAAc,OAAO,QAAQ,IAAI;AAE5C,kBAAIA,UAAS,MAAM;AACjB,sCAAsBA,OAAM,OAAO,MAAM,SAAS;AAClD,oCAAoBA,OAAM,OAAO,IAAI;AAAA,cACvC;AAEA;AACE,yCAAyB,OAAO,IAAI;AAAA,cACtC;AAAA,YACF;AAAA,YACA,qBAAqB,SAAU,MAAM,SAAS,UAAU;AACtD,kBAAI,QAAQ,IAAI,IAAI;AACpB,kBAAI,YAAY,iBAAiB;AACjC,kBAAI,OAAO,kBAAkB,KAAK;AAClC,kBAAI,SAAS,aAAa,WAAW,IAAI;AACzC,qBAAO,MAAM;AACb,qBAAO,UAAU;AAEjB,kBAAI,aAAa,UAAa,aAAa,MAAM;AAC/C;AACE,wCAAsB,UAAU,cAAc;AAAA,gBAChD;AAEA,uBAAO,WAAW;AAAA,cACpB;AAEA,kBAAIA,QAAO,cAAc,OAAO,QAAQ,IAAI;AAE5C,kBAAIA,UAAS,MAAM;AACjB,sCAAsBA,OAAM,OAAO,MAAM,SAAS;AAClD,oCAAoBA,OAAM,OAAO,IAAI;AAAA,cACvC;AAEA;AACE,yCAAyB,OAAO,IAAI;AAAA,cACtC;AAAA,YACF;AAAA,YACA,oBAAoB,SAAU,MAAM,UAAU;AAC5C,kBAAI,QAAQ,IAAI,IAAI;AACpB,kBAAI,YAAY,iBAAiB;AACjC,kBAAI,OAAO,kBAAkB,KAAK;AAClC,kBAAI,SAAS,aAAa,WAAW,IAAI;AACzC,qBAAO,MAAM;AAEb,kBAAI,aAAa,UAAa,aAAa,MAAM;AAC/C;AACE,wCAAsB,UAAU,aAAa;AAAA,gBAC/C;AAEA,uBAAO,WAAW;AAAA,cACpB;AAEA,kBAAIA,QAAO,cAAc,OAAO,QAAQ,IAAI;AAE5C,kBAAIA,UAAS,MAAM;AACjB,sCAAsBA,OAAM,OAAO,MAAM,SAAS;AAClD,oCAAoBA,OAAM,OAAO,IAAI;AAAA,cACvC;AAEA;AACE,yCAAyB,OAAO,IAAI;AAAA,cACtC;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,2BAA2Bf,iBAAgB,MAAM,UAAU,UAAU,UAAU,UAAU,aAAa;AAC7G,gBAAI,WAAWA,gBAAe;AAE9B,gBAAI,OAAO,SAAS,0BAA0B,YAAY;AACxD,kBAAI,eAAe,SAAS,sBAAsB,UAAU,UAAU,WAAW;AAEjF;AACE,oBAAKA,gBAAe,OAAO,kBAAkB;AAC3C,6CAA2B,IAAI;AAE/B,sBAAI;AAEF,mCAAe,SAAS,sBAAsB,UAAU,UAAU,WAAW;AAAA,kBAC/E,UAAE;AACA,+CAA2B,KAAK;AAAA,kBAClC;AAAA,gBACF;AAEA,oBAAI,iBAAiB,QAAW;AAC9B,wBAAM,iHAAsH,yBAAyB,IAAI,KAAK,WAAW;AAAA,gBAC3K;AAAA,cACF;AAEA,qBAAO;AAAA,YACT;AAEA,gBAAI,KAAK,aAAa,KAAK,UAAU,sBAAsB;AACzD,qBAAO,CAAC,aAAa,UAAU,QAAQ,KAAK,CAAC,aAAa,UAAU,QAAQ;AAAA,YAC9E;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,mBAAmBA,iBAAgB,MAAM,UAAU;AAC1D,gBAAI,WAAWA,gBAAe;AAE9B;AACE,kBAAI,OAAO,yBAAyB,IAAI,KAAK;AAC7C,kBAAI,gBAAgB,SAAS;AAE7B,kBAAI,CAAC,eAAe;AAClB,oBAAI,KAAK,aAAa,OAAO,KAAK,UAAU,WAAW,YAAY;AACjE,wBAAM,qIAA0I,IAAI;AAAA,gBACtJ,OAAO;AACL,wBAAM,oHAAyH,IAAI;AAAA,gBACrI;AAAA,cACF;AAEA,kBAAI,SAAS,mBAAmB,CAAC,SAAS,gBAAgB,wBAAwB,CAAC,SAAS,OAAO;AACjG,sBAAM,qLAA+L,IAAI;AAAA,cAC3M;AAEA,kBAAI,SAAS,mBAAmB,CAAC,SAAS,gBAAgB,sBAAsB;AAC9E,sBAAM,0LAAoM,IAAI;AAAA,cAChN;AAEA,kBAAI,SAAS,WAAW;AACtB,sBAAM,2GAAgH,IAAI;AAAA,cAC5H;AAEA,kBAAI,SAAS,aAAa;AACxB,sBAAM,+GAAoH,IAAI;AAAA,cAChI;AAEA;AACE,oBAAI,SAAS,cAAc;AACzB,wBAAM,iHAAsH,IAAI;AAAA,gBAClI;AAEA,oBAAI,KAAK,eAAe,KAAK,gBAAgB,CAAC,uCAAuC,IAAI,IAAI,GAAG;AAC9F,yDAAuC,IAAI,IAAI;AAE/C,wBAAM,sHAA2H,IAAI;AAAA,gBACvI;AAAA,cACF;AAEA,kBAAI,OAAO,SAAS,0BAA0B,YAAY;AACxD,sBAAM,+KAA8L,IAAI;AAAA,cAC1M;AAEA,kBAAI,KAAK,aAAa,KAAK,UAAU,wBAAwB,OAAO,SAAS,0BAA0B,aAAa;AAClH,sBAAM,gMAA0M,yBAAyB,IAAI,KAAK,kBAAkB;AAAA,cACtQ;AAEA,kBAAI,OAAO,SAAS,wBAAwB,YAAY;AACtD,sBAAM,6HAAuI,IAAI;AAAA,cACnJ;AAEA,kBAAI,OAAO,SAAS,6BAA6B,YAAY;AAC3D,sBAAM,oTAAwU,IAAI;AAAA,cACpV;AAEA,kBAAI,OAAO,SAAS,8BAA8B,YAAY;AAC5D,sBAAM,iGAAsG,IAAI;AAAA,cAClH;AAEA,kBAAI,OAAO,SAAS,qCAAqC,YAAY;AACnE,sBAAM,+GAAoH,IAAI;AAAA,cAChI;AAEA,kBAAI,kBAAkB,SAAS,UAAU;AAEzC,kBAAI,SAAS,UAAU,UAAa,iBAAiB;AACnD,sBAAM,4HAAiI,MAAM,IAAI;AAAA,cACnJ;AAEA,kBAAI,SAAS,cAAc;AACzB,sBAAM,qJAA0J,MAAM,IAAI;AAAA,cAC5K;AAEA,kBAAI,OAAO,SAAS,4BAA4B,cAAc,OAAO,SAAS,uBAAuB,cAAc,CAAC,oDAAoD,IAAI,IAAI,GAAG;AACjL,oEAAoD,IAAI,IAAI;AAE5D,sBAAM,kIAAuI,yBAAyB,IAAI,CAAC;AAAA,cAC7K;AAEA,kBAAI,OAAO,SAAS,6BAA6B,YAAY;AAC3D,sBAAM,gIAAqI,IAAI;AAAA,cACjJ;AAEA,kBAAI,OAAO,SAAS,6BAA6B,YAAY;AAC3D,sBAAM,gIAAqI,IAAI;AAAA,cACjJ;AAEA,kBAAI,OAAO,KAAK,4BAA4B,YAAY;AACtD,sBAAM,+HAAoI,IAAI;AAAA,cAChJ;AAEA,kBAAI,SAAS,SAAS;AAEtB,kBAAI,WAAW,OAAO,WAAW,YAAY,QAAQ,MAAM,IAAI;AAC7D,sBAAM,8CAA8C,IAAI;AAAA,cAC1D;AAEA,kBAAI,OAAO,SAAS,oBAAoB,cAAc,OAAO,KAAK,sBAAsB,UAAU;AAChG,sBAAM,8FAAmG,IAAI;AAAA,cAC/G;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,mBAAmBA,iBAAgB,UAAU;AACpD,qBAAS,UAAU;AACnB,YAAAA,gBAAe,YAAY;AAE3B,gBAAI,UAAUA,eAAc;AAE5B;AACE,uBAAS,yBAAyB;AAAA,YACpC;AAAA,UACF;AAEA,mBAAS,uBAAuBA,iBAAgB,MAAM,OAAO;AAC3D,gBAAI,0BAA0B;AAC9B,gBAAI,kBAAkB;AACtB,gBAAI,UAAU;AACd,gBAAI,cAAc,KAAK;AAEvB;AACE,kBAAI,iBAAiB,MAAM;AACzB,oBAAI;AAAA;AAAA,kBACJ,gBAAgB,QAAQ,gBAAgB,UAAa,YAAY,aAAa,sBAAsB,YAAY,aAAa;AAAA;AAE7H,oBAAI,CAAC,WAAW,CAAC,kCAAkC,IAAI,IAAI,GAAG;AAC5D,oDAAkC,IAAI,IAAI;AAC1C,sBAAI,WAAW;AAEf,sBAAI,gBAAgB,QAAW;AAC7B,+BAAW;AAAA,kBACb,WAAW,OAAO,gBAAgB,UAAU;AAC1C,+BAAW,8BAA8B,OAAO,cAAc;AAAA,kBAChE,WAAW,YAAY,aAAa,qBAAqB;AACvD,+BAAW;AAAA,kBACb,WAAW,YAAY,aAAa,QAAW;AAE7C,+BAAW;AAAA,kBACb,OAAO;AACL,+BAAW,iDAAiD,OAAO,KAAK,WAAW,EAAE,KAAK,IAAI,IAAI;AAAA,kBACpG;AAEA,wBAAM,0HAA+H,yBAAyB,IAAI,KAAK,aAAa,QAAQ;AAAA,gBAC9L;AAAA,cACF;AAAA,YACF;AAEA,gBAAI,OAAO,gBAAgB,YAAY,gBAAgB,MAAM;AAC3D,wBAAU,YAAY,WAAW;AAAA,YACnC,OAAO;AACL,gCAAkB,mBAAmBA,iBAAgB,MAAM,IAAI;AAC/D,kBAAI,eAAe,KAAK;AACxB,wCAA0B,iBAAiB,QAAQ,iBAAiB;AACpE,wBAAU,0BAA0B,iBAAiBA,iBAAgB,eAAe,IAAI;AAAA,YAC1F;AAEA,gBAAI,WAAW,IAAI,KAAK,OAAO,OAAO;AAEtC;AACE,kBAAKA,gBAAe,OAAO,kBAAkB;AAC3C,2CAA2B,IAAI;AAE/B,oBAAI;AACF,6BAAW,IAAI,KAAK,OAAO,OAAO;AAAA,gBACpC,UAAE;AACA,6CAA2B,KAAK;AAAA,gBAClC;AAAA,cACF;AAAA,YACF;AAEA,gBAAI,QAAQA,gBAAe,gBAAgB,SAAS,UAAU,QAAQ,SAAS,UAAU,SAAY,SAAS,QAAQ;AACtH,+BAAmBA,iBAAgB,QAAQ;AAE3C;AACE,kBAAI,OAAO,KAAK,6BAA6B,cAAc,UAAU,MAAM;AACzE,oBAAI,gBAAgB,yBAAyB,IAAI,KAAK;AAEtD,oBAAI,CAAC,+BAA+B,IAAI,aAAa,GAAG;AACtD,iDAA+B,IAAI,aAAa;AAEhD,wBAAM,mRAAkS,eAAe,SAAS,UAAU,OAAO,SAAS,aAAa,aAAa;AAAA,gBACtX;AAAA,cACF;AAKA,kBAAI,OAAO,KAAK,6BAA6B,cAAc,OAAO,SAAS,4BAA4B,YAAY;AACjH,oBAAI,qBAAqB;AACzB,oBAAI,4BAA4B;AAChC,oBAAI,sBAAsB;AAE1B,oBAAI,OAAO,SAAS,uBAAuB,cAAc,SAAS,mBAAmB,iCAAiC,MAAM;AAC1H,uCAAqB;AAAA,gBACvB,WAAW,OAAO,SAAS,8BAA8B,YAAY;AACnE,uCAAqB;AAAA,gBACvB;AAEA,oBAAI,OAAO,SAAS,8BAA8B,cAAc,SAAS,0BAA0B,iCAAiC,MAAM;AACxI,8CAA4B;AAAA,gBAC9B,WAAW,OAAO,SAAS,qCAAqC,YAAY;AAC1E,8CAA4B;AAAA,gBAC9B;AAEA,oBAAI,OAAO,SAAS,wBAAwB,cAAc,SAAS,oBAAoB,iCAAiC,MAAM;AAC5H,wCAAsB;AAAA,gBACxB,WAAW,OAAO,SAAS,+BAA+B,YAAY;AACpE,wCAAsB;AAAA,gBACxB;AAEA,oBAAI,uBAAuB,QAAQ,8BAA8B,QAAQ,wBAAwB,MAAM;AACrG,sBAAI,iBAAiB,yBAAyB,IAAI,KAAK;AAEvD,sBAAI,aAAa,OAAO,KAAK,6BAA6B,aAAa,+BAA+B;AAEtG,sBAAI,CAAC,4CAA4C,IAAI,cAAc,GAAG;AACpE,gEAA4C,IAAI,cAAc;AAE9D,0BAAM,oSAAmT,gBAAgB,YAAY,uBAAuB,OAAO,SAAS,qBAAqB,IAAI,8BAA8B,OAAO,SAAS,4BAA4B,IAAI,wBAAwB,OAAO,SAAS,sBAAsB,EAAE;AAAA,kBACriB;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAIA,gBAAI,yBAAyB;AAC3B,2BAAaA,iBAAgB,iBAAiB,OAAO;AAAA,YACvD;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,uBAAuBA,iBAAgB,UAAU;AACxD,gBAAI,WAAW,SAAS;AAExB,gBAAI,OAAO,SAAS,uBAAuB,YAAY;AACrD,uBAAS,mBAAmB;AAAA,YAC9B;AAEA,gBAAI,OAAO,SAAS,8BAA8B,YAAY;AAC5D,uBAAS,0BAA0B;AAAA,YACrC;AAEA,gBAAI,aAAa,SAAS,OAAO;AAC/B;AACE,sBAAM,4IAAsJ,0BAA0BA,eAAc,KAAK,WAAW;AAAA,cACtN;AAEA,oCAAsB,oBAAoB,UAAU,SAAS,OAAO,IAAI;AAAA,YAC1E;AAAA,UACF;AAEA,mBAAS,8BAA8BA,iBAAgB,UAAU,UAAU,aAAa;AACtF,gBAAI,WAAW,SAAS;AAExB,gBAAI,OAAO,SAAS,8BAA8B,YAAY;AAC5D,uBAAS,0BAA0B,UAAU,WAAW;AAAA,YAC1D;AAEA,gBAAI,OAAO,SAAS,qCAAqC,YAAY;AACnE,uBAAS,iCAAiC,UAAU,WAAW;AAAA,YACjE;AAEA,gBAAI,SAAS,UAAU,UAAU;AAC/B;AACE,oBAAI,gBAAgB,0BAA0BA,eAAc,KAAK;AAEjE,oBAAI,CAAC,wCAAwC,IAAI,aAAa,GAAG;AAC/D,0DAAwC,IAAI,aAAa;AAEzD,wBAAM,mJAA6J,aAAa;AAAA,gBAClL;AAAA,cACF;AAEA,oCAAsB,oBAAoB,UAAU,SAAS,OAAO,IAAI;AAAA,YAC1E;AAAA,UACF;AAGA,mBAAS,mBAAmBA,iBAAgB,MAAM,UAAUiB,cAAa;AACvE;AACE,iCAAmBjB,iBAAgB,MAAM,QAAQ;AAAA,YACnD;AAEA,gBAAI,WAAWA,gBAAe;AAC9B,qBAAS,QAAQ;AACjB,qBAAS,QAAQA,gBAAe;AAChC,qBAAS,OAAO;AAChB,kCAAsBA,eAAc;AACpC,gBAAI,cAAc,KAAK;AAEvB,gBAAI,OAAO,gBAAgB,YAAY,gBAAgB,MAAM;AAC3D,uBAAS,UAAU,YAAY,WAAW;AAAA,YAC5C,OAAO;AACL,kBAAI,kBAAkB,mBAAmBA,iBAAgB,MAAM,IAAI;AACnE,uBAAS,UAAU,iBAAiBA,iBAAgB,eAAe;AAAA,YACrE;AAEA;AACE,kBAAI,SAAS,UAAU,UAAU;AAC/B,oBAAI,gBAAgB,yBAAyB,IAAI,KAAK;AAEtD,oBAAI,CAAC,0CAA0C,IAAI,aAAa,GAAG;AACjE,4DAA0C,IAAI,aAAa;AAE3D,wBAAM,wKAAkL,aAAa;AAAA,gBACvM;AAAA,cACF;AAEA,kBAAIA,gBAAe,OAAO,kBAAkB;AAC1C,wCAAwB,2BAA2BA,iBAAgB,QAAQ;AAAA,cAC7E;AAEA;AACE,wCAAwB,8BAA8BA,iBAAgB,QAAQ;AAAA,cAChF;AAAA,YACF;AAEA,qBAAS,QAAQA,gBAAe;AAChC,gBAAI,2BAA2B,KAAK;AAEpC,gBAAI,OAAO,6BAA6B,YAAY;AAClD,yCAA2BA,iBAAgB,MAAM,0BAA0B,QAAQ;AACnF,uBAAS,QAAQA,gBAAe;AAAA,YAClC;AAIA,gBAAI,OAAO,KAAK,6BAA6B,cAAc,OAAO,SAAS,4BAA4B,eAAe,OAAO,SAAS,8BAA8B,cAAc,OAAO,SAAS,uBAAuB,aAAa;AACpO,qCAAuBA,iBAAgB,QAAQ;AAG/C,iCAAmBA,iBAAgB,UAAU,UAAUiB,YAAW;AAClE,uBAAS,QAAQjB,gBAAe;AAAA,YAClC;AAEA,gBAAI,OAAO,SAAS,sBAAsB,YAAY;AACpD,kBAAI,aAAa;AAEjB;AACE,8BAAc;AAAA,cAChB;AAEA,mBAAMA,gBAAe,OAAO,uBAAuB,QAAQ;AACzD,8BAAc;AAAA,cAChB;AAEA,cAAAA,gBAAe,SAAS;AAAA,YAC1B;AAAA,UACF;AAEA,mBAAS,yBAAyBA,iBAAgB,MAAM,UAAUiB,cAAa;AAC7E,gBAAI,WAAWjB,gBAAe;AAC9B,gBAAI,WAAWA,gBAAe;AAC9B,qBAAS,QAAQ;AACjB,gBAAI,aAAa,SAAS;AAC1B,gBAAI,cAAc,KAAK;AACvB,gBAAI,cAAc;AAElB,gBAAI,OAAO,gBAAgB,YAAY,gBAAgB,MAAM;AAC3D,4BAAc,YAAY,WAAW;AAAA,YACvC,OAAO;AACL,kBAAI,4BAA4B,mBAAmBA,iBAAgB,MAAM,IAAI;AAC7E,4BAAc,iBAAiBA,iBAAgB,yBAAyB;AAAA,YAC1E;AAEA,gBAAI,2BAA2B,KAAK;AACpC,gBAAI,mBAAmB,OAAO,6BAA6B,cAAc,OAAO,SAAS,4BAA4B;AAMrH,gBAAI,CAAC,qBAAqB,OAAO,SAAS,qCAAqC,cAAc,OAAO,SAAS,8BAA8B,aAAa;AACtJ,kBAAI,aAAa,YAAY,eAAe,aAAa;AACvD,8CAA8BA,iBAAgB,UAAU,UAAU,WAAW;AAAA,cAC/E;AAAA,YACF;AAEA,gDAAoC;AACpC,gBAAI,WAAWA,gBAAe;AAC9B,gBAAI,WAAW,SAAS,QAAQ;AAChC,+BAAmBA,iBAAgB,UAAU,UAAUiB,YAAW;AAClE,uBAAWjB,gBAAe;AAE1B,gBAAI,aAAa,YAAY,aAAa,YAAY,CAAC,kBAAkB,KAAK,CAAC,mCAAmC,GAAG;AAGnH,kBAAI,OAAO,SAAS,sBAAsB,YAAY;AACpD,oBAAI,aAAa;AAEjB;AACE,gCAAc;AAAA,gBAChB;AAEA,qBAAMA,gBAAe,OAAO,uBAAuB,QAAQ;AACzD,gCAAc;AAAA,gBAChB;AAEA,gBAAAA,gBAAe,SAAS;AAAA,cAC1B;AAEA,qBAAO;AAAA,YACT;AAEA,gBAAI,OAAO,6BAA6B,YAAY;AAClD,yCAA2BA,iBAAgB,MAAM,0BAA0B,QAAQ;AACnF,yBAAWA,gBAAe;AAAA,YAC5B;AAEA,gBAAI,eAAe,mCAAmC,KAAK,2BAA2BA,iBAAgB,MAAM,UAAU,UAAU,UAAU,UAAU,WAAW;AAE/J,gBAAI,cAAc;AAGhB,kBAAI,CAAC,qBAAqB,OAAO,SAAS,8BAA8B,cAAc,OAAO,SAAS,uBAAuB,aAAa;AACxI,oBAAI,OAAO,SAAS,uBAAuB,YAAY;AACrD,2BAAS,mBAAmB;AAAA,gBAC9B;AAEA,oBAAI,OAAO,SAAS,8BAA8B,YAAY;AAC5D,2BAAS,0BAA0B;AAAA,gBACrC;AAAA,cACF;AAEA,kBAAI,OAAO,SAAS,sBAAsB,YAAY;AACpD,oBAAI,cAAc;AAElB;AACE,iCAAe;AAAA,gBACjB;AAEA,qBAAMA,gBAAe,OAAO,uBAAuB,QAAQ;AACzD,iCAAe;AAAA,gBACjB;AAEA,gBAAAA,gBAAe,SAAS;AAAA,cAC1B;AAAA,YACF,OAAO;AAGL,kBAAI,OAAO,SAAS,sBAAsB,YAAY;AACpD,oBAAI,eAAe;AAEnB;AACE,kCAAgB;AAAA,gBAClB;AAEA,qBAAMA,gBAAe,OAAO,uBAAuB,QAAQ;AACzD,kCAAgB;AAAA,gBAClB;AAEA,gBAAAA,gBAAe,SAAS;AAAA,cAC1B;AAIA,cAAAA,gBAAe,gBAAgB;AAC/B,cAAAA,gBAAe,gBAAgB;AAAA,YACjC;AAIA,qBAAS,QAAQ;AACjB,qBAAS,QAAQ;AACjB,qBAAS,UAAU;AACnB,mBAAO;AAAA,UACT;AAGA,mBAAS,oBAAoBc,UAASd,iBAAgB,MAAM,UAAUiB,cAAa;AACjF,gBAAI,WAAWjB,gBAAe;AAC9B,6BAAiBc,UAASd,eAAc;AACxC,gBAAI,qBAAqBA,gBAAe;AACxC,gBAAI,WAAWA,gBAAe,SAASA,gBAAe,cAAc,qBAAqB,oBAAoBA,gBAAe,MAAM,kBAAkB;AACpJ,qBAAS,QAAQ;AACjB,gBAAI,qBAAqBA,gBAAe;AACxC,gBAAI,aAAa,SAAS;AAC1B,gBAAI,cAAc,KAAK;AACvB,gBAAI,cAAc;AAElB,gBAAI,OAAO,gBAAgB,YAAY,gBAAgB,MAAM;AAC3D,4BAAc,YAAY,WAAW;AAAA,YACvC,OAAO;AACL,kBAAI,sBAAsB,mBAAmBA,iBAAgB,MAAM,IAAI;AACvE,4BAAc,iBAAiBA,iBAAgB,mBAAmB;AAAA,YACpE;AAEA,gBAAI,2BAA2B,KAAK;AACpC,gBAAI,mBAAmB,OAAO,6BAA6B,cAAc,OAAO,SAAS,4BAA4B;AAMrH,gBAAI,CAAC,qBAAqB,OAAO,SAAS,qCAAqC,cAAc,OAAO,SAAS,8BAA8B,aAAa;AACtJ,kBAAI,uBAAuB,sBAAsB,eAAe,aAAa;AAC3E,8CAA8BA,iBAAgB,UAAU,UAAU,WAAW;AAAA,cAC/E;AAAA,YACF;AAEA,gDAAoC;AACpC,gBAAI,WAAWA,gBAAe;AAC9B,gBAAI,WAAW,SAAS,QAAQ;AAChC,+BAAmBA,iBAAgB,UAAU,UAAUiB,YAAW;AAClE,uBAAWjB,gBAAe;AAE1B,gBAAI,uBAAuB,sBAAsB,aAAa,YAAY,CAAC,kBAAkB,KAAK,CAAC,mCAAmC,KAAK,CAAE,8BAAkC;AAG7K,kBAAI,OAAO,SAAS,uBAAuB,YAAY;AACrD,oBAAI,uBAAuBc,SAAQ,iBAAiB,aAAaA,SAAQ,eAAe;AACtF,kBAAAd,gBAAe,SAAS;AAAA,gBAC1B;AAAA,cACF;AAEA,kBAAI,OAAO,SAAS,4BAA4B,YAAY;AAC1D,oBAAI,uBAAuBc,SAAQ,iBAAiB,aAAaA,SAAQ,eAAe;AACtF,kBAAAd,gBAAe,SAAS;AAAA,gBAC1B;AAAA,cACF;AAEA,qBAAO;AAAA,YACT;AAEA,gBAAI,OAAO,6BAA6B,YAAY;AAClD,yCAA2BA,iBAAgB,MAAM,0BAA0B,QAAQ;AACnF,yBAAWA,gBAAe;AAAA,YAC5B;AAEA,gBAAI,eAAe,mCAAmC,KAAK,2BAA2BA,iBAAgB,MAAM,UAAU,UAAU,UAAU,UAAU,WAAW;AAAA;AAAA;AAAA;AAAA,YAI/J;AAEA,gBAAI,cAAc;AAGhB,kBAAI,CAAC,qBAAqB,OAAO,SAAS,+BAA+B,cAAc,OAAO,SAAS,wBAAwB,aAAa;AAC1I,oBAAI,OAAO,SAAS,wBAAwB,YAAY;AACtD,2BAAS,oBAAoB,UAAU,UAAU,WAAW;AAAA,gBAC9D;AAEA,oBAAI,OAAO,SAAS,+BAA+B,YAAY;AAC7D,2BAAS,2BAA2B,UAAU,UAAU,WAAW;AAAA,gBACrE;AAAA,cACF;AAEA,kBAAI,OAAO,SAAS,uBAAuB,YAAY;AACrD,gBAAAA,gBAAe,SAAS;AAAA,cAC1B;AAEA,kBAAI,OAAO,SAAS,4BAA4B,YAAY;AAC1D,gBAAAA,gBAAe,SAAS;AAAA,cAC1B;AAAA,YACF,OAAO;AAGL,kBAAI,OAAO,SAAS,uBAAuB,YAAY;AACrD,oBAAI,uBAAuBc,SAAQ,iBAAiB,aAAaA,SAAQ,eAAe;AACtF,kBAAAd,gBAAe,SAAS;AAAA,gBAC1B;AAAA,cACF;AAEA,kBAAI,OAAO,SAAS,4BAA4B,YAAY;AAC1D,oBAAI,uBAAuBc,SAAQ,iBAAiB,aAAaA,SAAQ,eAAe;AACtF,kBAAAd,gBAAe,SAAS;AAAA,gBAC1B;AAAA,cACF;AAIA,cAAAA,gBAAe,gBAAgB;AAC/B,cAAAA,gBAAe,gBAAgB;AAAA,YACjC;AAIA,qBAAS,QAAQ;AACjB,qBAAS,QAAQ;AACjB,qBAAS,UAAU;AACnB,mBAAO;AAAA,UACT;AAEA,cAAI;AACJ,cAAI;AACJ,cAAI;AACJ,cAAI;AACJ,cAAI;AAEJ,cAAI,oBAAoB,SAAU,OAAO,aAAa;AAAA,UAAC;AAEvD;AACE,+BAAmB;AACnB,qCAAyB;AACzB,qCAAyB,CAAC;AAO1B,oCAAwB,CAAC;AACzB,0CAA8B,CAAC;AAE/B,gCAAoB,SAAU,OAAO,aAAa;AAChD,kBAAI,UAAU,QAAQ,OAAO,UAAU,UAAU;AAC/C;AAAA,cACF;AAEA,kBAAI,CAAC,MAAM,UAAU,MAAM,OAAO,aAAa,MAAM,OAAO,MAAM;AAChE;AAAA,cACF;AAEA,kBAAI,OAAO,MAAM,WAAW,UAAU;AACpC,sBAAM,IAAI,MAAM,iIAAsI;AAAA,cACxJ;AAEA,oBAAM,OAAO,YAAY;AACzB,kBAAI,gBAAgB,0BAA0B,WAAW,KAAK;AAE9D,kBAAI,sBAAsB,aAAa,GAAG;AACxC;AAAA,cACF;AAEA,oCAAsB,aAAa,IAAI;AAEvC,oBAAM,uHAAiI;AAAA,YACzI;AAAA,UACF;AAEA,mBAAS,UAAU,aAAac,UAAS,SAAS;AAChD,gBAAI,WAAW,QAAQ;AAEvB,gBAAI,aAAa,QAAQ,OAAO,aAAa,cAAc,OAAO,aAAa,UAAU;AACvF;AAGE,qBAAK,YAAY,OAAO,oBAAoB;AAAA;AAAA;AAAA,gBAG5C,EAAE,QAAQ,UAAU,QAAQ,SAAS,QAAQ,OAAO,cAAc,QAAQ,QAAQ;AAChF,sBAAI,gBAAgB,0BAA0B,WAAW,KAAK;AAE9D,sBAAI,CAAC,uBAAuB,aAAa,GAAG;AAC1C;AACE,4BAAM,gRAAoS,QAAQ;AAAA,oBACpT;AAEA,2CAAuB,aAAa,IAAI;AAAA,kBAC1C;AAAA,gBACF;AAAA,cACF;AAEA,kBAAI,QAAQ,QAAQ;AAClB,oBAAI,QAAQ,QAAQ;AACpB,oBAAI;AAEJ,oBAAI,OAAO;AACT,sBAAI,aAAa;AAEjB,sBAAI,WAAW,QAAQ,gBAAgB;AACrC,0BAAM,IAAI,MAAM,4KAA2L;AAAA,kBAC7M;AAEA,yBAAO,WAAW;AAAA,gBACpB;AAEA,oBAAI,CAAC,MAAM;AACT,wBAAM,IAAI,MAAM,kCAAkC,WAAW,wEAA6E;AAAA,gBAC5I;AAGA,oBAAI,eAAe;AAEnB;AACE,0CAAwB,UAAU,KAAK;AAAA,gBACzC;AAEA,oBAAI,YAAY,KAAK;AAErB,oBAAIA,aAAY,QAAQA,SAAQ,QAAQ,QAAQ,OAAOA,SAAQ,QAAQ,cAAcA,SAAQ,IAAI,eAAe,WAAW;AACzH,yBAAOA,SAAQ;AAAA,gBACjB;AAEA,oBAAI,MAAM,SAAU,OAAO;AACzB,sBAAI,OAAO,aAAa;AAExB,sBAAI,SAAS,iBAAiB;AAE5B,2BAAO,aAAa,OAAO,CAAC;AAAA,kBAC9B;AAEA,sBAAI,UAAU,MAAM;AAClB,2BAAO,KAAK,SAAS;AAAA,kBACvB,OAAO;AACL,yBAAK,SAAS,IAAI;AAAA,kBACpB;AAAA,gBACF;AAEA,oBAAI,aAAa;AACjB,uBAAO;AAAA,cACT,OAAO;AACL,oBAAI,OAAO,aAAa,UAAU;AAChC,wBAAM,IAAI,MAAM,4FAA4F;AAAA,gBAC9G;AAEA,oBAAI,CAAC,QAAQ,QAAQ;AACnB,wBAAM,IAAI,MAAM,4CAA4C,WAAW,0VAAmX;AAAA,gBAC5b;AAAA,cACF;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,yBAAyB,aAAa,UAAU;AACvD,gBAAI,cAAc,OAAO,UAAU,SAAS,KAAK,QAAQ;AACzD,kBAAM,IAAI,MAAM,qDAAqD,gBAAgB,oBAAoB,uBAAuB,OAAO,KAAK,QAAQ,EAAE,KAAK,IAAI,IAAI,MAAM,eAAe,2EAAqF;AAAA,UAC/Q;AAEA,mBAAS,mBAAmB,aAAa;AACvC;AACE,kBAAI,gBAAgB,0BAA0B,WAAW,KAAK;AAE9D,kBAAI,4BAA4B,aAAa,GAAG;AAC9C;AAAA,cACF;AAEA,0CAA4B,aAAa,IAAI;AAE7C,oBAAM,2LAAqM;AAAA,YAC7M;AAAA,UACF;AAEA,mBAAS,YAAY,UAAU;AAC7B,gBAAI,UAAU,SAAS;AACvB,gBAAI,OAAO,SAAS;AACpB,mBAAO,KAAK,OAAO;AAAA,UACrB;AAMA,mBAAS,gBAAgB,wBAAwB;AAC/C,qBAAS,YAAY,aAAa,eAAe;AAC/C,kBAAI,CAAC,wBAAwB;AAE3B;AAAA,cACF;AAEA,kBAAI,YAAY,YAAY;AAE5B,kBAAI,cAAc,MAAM;AACtB,4BAAY,YAAY,CAAC,aAAa;AACtC,4BAAY,SAAS;AAAA,cACvB,OAAO;AACL,0BAAU,KAAK,aAAa;AAAA,cAC9B;AAAA,YACF;AAEA,qBAAS,wBAAwB,aAAa,mBAAmB;AAC/D,kBAAI,CAAC,wBAAwB;AAE3B,uBAAO;AAAA,cACT;AAIA,kBAAI,gBAAgB;AAEpB,qBAAO,kBAAkB,MAAM;AAC7B,4BAAY,aAAa,aAAa;AACtC,gCAAgB,cAAc;AAAA,cAChC;AAEA,qBAAO;AAAA,YACT;AAEA,qBAAS,qBAAqB,aAAa,mBAAmB;AAI5D,kBAAI,mBAAmB,oBAAI,IAAI;AAC/B,kBAAI,gBAAgB;AAEpB,qBAAO,kBAAkB,MAAM;AAC7B,oBAAI,cAAc,QAAQ,MAAM;AAC9B,mCAAiB,IAAI,cAAc,KAAK,aAAa;AAAA,gBACvD,OAAO;AACL,mCAAiB,IAAI,cAAc,OAAO,aAAa;AAAA,gBACzD;AAEA,gCAAgB,cAAc;AAAA,cAChC;AAEA,qBAAO;AAAA,YACT;AAEA,qBAAS,SAAS,OAAO,cAAc;AAGrC,kBAAI,QAAQ,qBAAqB,OAAO,YAAY;AACpD,oBAAM,QAAQ;AACd,oBAAM,UAAU;AAChB,qBAAO;AAAA,YACT;AAEA,qBAAS,WAAW,UAAU,iBAAiB,UAAU;AACvD,uBAAS,QAAQ;AAEjB,kBAAI,CAAC,wBAAwB;AAG3B,yBAAS,SAAS;AAClB,uBAAO;AAAA,cACT;AAEA,kBAAIA,WAAU,SAAS;AAEvB,kBAAIA,aAAY,MAAM;AACpB,oBAAI,WAAWA,SAAQ;AAEvB,oBAAI,WAAW,iBAAiB;AAE9B,2BAAS,SAAS;AAClB,yBAAO;AAAA,gBACT,OAAO;AAEL,yBAAO;AAAA,gBACT;AAAA,cACF,OAAO;AAEL,yBAAS,SAAS;AAClB,uBAAO;AAAA,cACT;AAAA,YACF;AAEA,qBAAS,iBAAiB,UAAU;AAGlC,kBAAI,0BAA0B,SAAS,cAAc,MAAM;AACzD,yBAAS,SAAS;AAAA,cACpB;AAEA,qBAAO;AAAA,YACT;AAEA,qBAAS,eAAe,aAAaA,UAAS,aAAa,OAAO;AAChE,kBAAIA,aAAY,QAAQA,SAAQ,QAAQ,UAAU;AAEhD,oBAAI,UAAU,oBAAoB,aAAa,YAAY,MAAM,KAAK;AACtE,wBAAQ,SAAS;AACjB,uBAAO;AAAA,cACT,OAAO;AAEL,oBAAI,WAAW,SAASA,UAAS,WAAW;AAC5C,yBAAS,SAAS;AAClB,uBAAO;AAAA,cACT;AAAA,YACF;AAEA,qBAAS,cAAc,aAAaA,UAAS,SAAS,OAAO;AAC3D,kBAAI,cAAc,QAAQ;AAE1B,kBAAI,gBAAgB,qBAAqB;AACvC,uBAAOc,gBAAe,aAAad,UAAS,QAAQ,MAAM,UAAU,OAAO,QAAQ,GAAG;AAAA,cACxF;AAEA,kBAAIA,aAAY,MAAM;AACpB,oBAAIA,SAAQ,gBAAgB;AAAA,gBAC3B,kCAAkCA,UAAS,OAAO;AAAA;AAAA;AAAA;AAAA,gBAInD,OAAO,gBAAgB,YAAY,gBAAgB,QAAQ,YAAY,aAAa,mBAAmB,YAAY,WAAW,MAAMA,SAAQ,MAAM;AAEhJ,sBAAI,WAAW,SAASA,UAAS,QAAQ,KAAK;AAC9C,2BAAS,MAAM,UAAU,aAAaA,UAAS,OAAO;AACtD,2BAAS,SAAS;AAElB;AACE,6BAAS,eAAe,QAAQ;AAChC,6BAAS,cAAc,QAAQ;AAAA,kBACjC;AAEA,yBAAO;AAAA,gBACT;AAAA,cACF;AAGA,kBAAI,UAAU,uBAAuB,SAAS,YAAY,MAAM,KAAK;AACrE,sBAAQ,MAAM,UAAU,aAAaA,UAAS,OAAO;AACrD,sBAAQ,SAAS;AACjB,qBAAO;AAAA,YACT;AAEA,qBAAS,aAAa,aAAaA,UAAS,QAAQ,OAAO;AACzD,kBAAIA,aAAY,QAAQA,SAAQ,QAAQ,cAAcA,SAAQ,UAAU,kBAAkB,OAAO,iBAAiBA,SAAQ,UAAU,mBAAmB,OAAO,gBAAgB;AAE5K,oBAAI,UAAU,sBAAsB,QAAQ,YAAY,MAAM,KAAK;AACnE,wBAAQ,SAAS;AACjB,uBAAO;AAAA,cACT,OAAO;AAEL,oBAAI,WAAW,SAASA,UAAS,OAAO,YAAY,CAAC,CAAC;AACtD,yBAAS,SAAS;AAClB,uBAAO;AAAA,cACT;AAAA,YACF;AAEA,qBAASc,gBAAe,aAAad,UAAS,UAAU,OAAO,KAAK;AAClE,kBAAIA,aAAY,QAAQA,SAAQ,QAAQnB,WAAU;AAEhD,oBAAI,UAAU,wBAAwB,UAAU,YAAY,MAAM,OAAO,GAAG;AAC5E,wBAAQ,SAAS;AACjB,uBAAO;AAAA,cACT,OAAO;AAEL,oBAAI,WAAW,SAASmB,UAAS,QAAQ;AACzC,yBAAS,SAAS;AAClB,uBAAO;AAAA,cACT;AAAA,YACF;AAEA,qBAAS,YAAY,aAAa,UAAU,OAAO;AACjD,kBAAI,OAAO,aAAa,YAAY,aAAa,MAAM,OAAO,aAAa,UAAU;AAInF,oBAAI,UAAU,oBAAoB,KAAK,UAAU,YAAY,MAAM,KAAK;AACxE,wBAAQ,SAAS;AACjB,uBAAO;AAAA,cACT;AAEA,kBAAI,OAAO,aAAa,YAAY,aAAa,MAAM;AACrD,wBAAQ,SAAS,UAAU;AAAA,kBACzB,KAAK,oBACH;AACE,wBAAI,WAAW,uBAAuB,UAAU,YAAY,MAAM,KAAK;AAEvE,6BAAS,MAAM,UAAU,aAAa,MAAM,QAAQ;AACpD,6BAAS,SAAS;AAClB,2BAAO;AAAA,kBACT;AAAA,kBAEF,KAAK,mBACH;AACE,wBAAI,YAAY,sBAAsB,UAAU,YAAY,MAAM,KAAK;AAEvE,8BAAU,SAAS;AACnB,2BAAO;AAAA,kBACT;AAAA,kBAEF,KAAK,iBACH;AACE,wBAAI,UAAU,SAAS;AACvB,wBAAI,OAAO,SAAS;AACpB,2BAAO,YAAY,aAAa,KAAK,OAAO,GAAG,KAAK;AAAA,kBACtD;AAAA,gBACJ;AAEA,oBAAI,QAAQ,QAAQ,KAAK,cAAc,QAAQ,GAAG;AAChD,sBAAI,YAAY,wBAAwB,UAAU,YAAY,MAAM,OAAO,IAAI;AAE/E,4BAAU,SAAS;AACnB,yBAAO;AAAA,gBACT;AAEA,yCAAyB,aAAa,QAAQ;AAAA,cAChD;AAEA;AACE,oBAAI,OAAO,aAAa,YAAY;AAClC,qCAAmB,WAAW;AAAA,gBAChC;AAAA,cACF;AAEA,qBAAO;AAAA,YACT;AAEA,qBAAS,WAAW,aAAa,UAAU,UAAU,OAAO;AAE1D,kBAAI,MAAM,aAAa,OAAO,SAAS,MAAM;AAE7C,kBAAI,OAAO,aAAa,YAAY,aAAa,MAAM,OAAO,aAAa,UAAU;AAInF,oBAAI,QAAQ,MAAM;AAChB,yBAAO;AAAA,gBACT;AAEA,uBAAO,eAAe,aAAa,UAAU,KAAK,UAAU,KAAK;AAAA,cACnE;AAEA,kBAAI,OAAO,aAAa,YAAY,aAAa,MAAM;AACrD,wBAAQ,SAAS,UAAU;AAAA,kBACzB,KAAK,oBACH;AACE,wBAAI,SAAS,QAAQ,KAAK;AACxB,6BAAO,cAAc,aAAa,UAAU,UAAU,KAAK;AAAA,oBAC7D,OAAO;AACL,6BAAO;AAAA,oBACT;AAAA,kBACF;AAAA,kBAEF,KAAK,mBACH;AACE,wBAAI,SAAS,QAAQ,KAAK;AACxB,6BAAO,aAAa,aAAa,UAAU,UAAU,KAAK;AAAA,oBAC5D,OAAO;AACL,6BAAO;AAAA,oBACT;AAAA,kBACF;AAAA,kBAEF,KAAK,iBACH;AACE,wBAAI,UAAU,SAAS;AACvB,wBAAI,OAAO,SAAS;AACpB,2BAAO,WAAW,aAAa,UAAU,KAAK,OAAO,GAAG,KAAK;AAAA,kBAC/D;AAAA,gBACJ;AAEA,oBAAI,QAAQ,QAAQ,KAAK,cAAc,QAAQ,GAAG;AAChD,sBAAI,QAAQ,MAAM;AAChB,2BAAO;AAAA,kBACT;AAEA,yBAAOc,gBAAe,aAAa,UAAU,UAAU,OAAO,IAAI;AAAA,gBACpE;AAEA,yCAAyB,aAAa,QAAQ;AAAA,cAChD;AAEA;AACE,oBAAI,OAAO,aAAa,YAAY;AAClC,qCAAmB,WAAW;AAAA,gBAChC;AAAA,cACF;AAEA,qBAAO;AAAA,YACT;AAEA,qBAAS,cAAc,kBAAkB,aAAa,QAAQ,UAAU,OAAO;AAC7E,kBAAI,OAAO,aAAa,YAAY,aAAa,MAAM,OAAO,aAAa,UAAU;AAGnF,oBAAI,eAAe,iBAAiB,IAAI,MAAM,KAAK;AACnD,uBAAO,eAAe,aAAa,cAAc,KAAK,UAAU,KAAK;AAAA,cACvE;AAEA,kBAAI,OAAO,aAAa,YAAY,aAAa,MAAM;AACrD,wBAAQ,SAAS,UAAU;AAAA,kBACzB,KAAK,oBACH;AACE,wBAAI,gBAAgB,iBAAiB,IAAI,SAAS,QAAQ,OAAO,SAAS,SAAS,GAAG,KAAK;AAE3F,2BAAO,cAAc,aAAa,eAAe,UAAU,KAAK;AAAA,kBAClE;AAAA,kBAEF,KAAK,mBACH;AACE,wBAAI,iBAAiB,iBAAiB,IAAI,SAAS,QAAQ,OAAO,SAAS,SAAS,GAAG,KAAK;AAE5F,2BAAO,aAAa,aAAa,gBAAgB,UAAU,KAAK;AAAA,kBAClE;AAAA,kBAEF,KAAK;AACH,wBAAI,UAAU,SAAS;AACvB,wBAAI,OAAO,SAAS;AACpB,2BAAO,cAAc,kBAAkB,aAAa,QAAQ,KAAK,OAAO,GAAG,KAAK;AAAA,gBACpF;AAEA,oBAAI,QAAQ,QAAQ,KAAK,cAAc,QAAQ,GAAG;AAChD,sBAAI,iBAAiB,iBAAiB,IAAI,MAAM,KAAK;AAErD,yBAAOA,gBAAe,aAAa,gBAAgB,UAAU,OAAO,IAAI;AAAA,gBAC1E;AAEA,yCAAyB,aAAa,QAAQ;AAAA,cAChD;AAEA;AACE,oBAAI,OAAO,aAAa,YAAY;AAClC,qCAAmB,WAAW;AAAA,gBAChC;AAAA,cACF;AAEA,qBAAO;AAAA,YACT;AAMA,qBAAS,iBAAiB,OAAO,WAAW,aAAa;AACvD;AACE,oBAAI,OAAO,UAAU,YAAY,UAAU,MAAM;AAC/C,yBAAO;AAAA,gBACT;AAEA,wBAAQ,MAAM,UAAU;AAAA,kBACtB,KAAK;AAAA,kBACL,KAAK;AACH,sCAAkB,OAAO,WAAW;AACpC,wBAAI,MAAM,MAAM;AAEhB,wBAAI,OAAO,QAAQ,UAAU;AAC3B;AAAA,oBACF;AAEA,wBAAI,cAAc,MAAM;AACtB,kCAAY,oBAAI,IAAI;AACpB,gCAAU,IAAI,GAAG;AACjB;AAAA,oBACF;AAEA,wBAAI,CAAC,UAAU,IAAI,GAAG,GAAG;AACvB,gCAAU,IAAI,GAAG;AACjB;AAAA,oBACF;AAEA,0BAAM,kRAAiS,GAAG;AAE1S;AAAA,kBAEF,KAAK;AACH,wBAAI,UAAU,MAAM;AACpB,wBAAI,OAAO,MAAM;AACjB,qCAAiB,KAAK,OAAO,GAAG,WAAW,WAAW;AACtD;AAAA,gBACJ;AAAA,cACF;AAEA,qBAAO;AAAA,YACT;AAEA,qBAAS,uBAAuB,aAAa,mBAAmB,aAAa,OAAO;AAgBlF;AAEE,oBAAI,YAAY;AAEhB,yBAAS,IAAI,GAAG,IAAI,YAAY,QAAQ,KAAK;AAC3C,sBAAI,QAAQ,YAAY,CAAC;AACzB,8BAAY,iBAAiB,OAAO,WAAW,WAAW;AAAA,gBAC5D;AAAA,cACF;AAEA,kBAAI,sBAAsB;AAC1B,kBAAI,mBAAmB;AACvB,kBAAI,WAAW;AACf,kBAAI,kBAAkB;AACtB,kBAAI,SAAS;AACb,kBAAI,eAAe;AAEnB,qBAAO,aAAa,QAAQ,SAAS,YAAY,QAAQ,UAAU;AACjE,oBAAI,SAAS,QAAQ,QAAQ;AAC3B,iCAAe;AACf,6BAAW;AAAA,gBACb,OAAO;AACL,iCAAe,SAAS;AAAA,gBAC1B;AAEA,oBAAI,WAAW,WAAW,aAAa,UAAU,YAAY,MAAM,GAAG,KAAK;AAE3E,oBAAI,aAAa,MAAM;AAKrB,sBAAI,aAAa,MAAM;AACrB,+BAAW;AAAA,kBACb;AAEA;AAAA,gBACF;AAEA,oBAAI,wBAAwB;AAC1B,sBAAI,YAAY,SAAS,cAAc,MAAM;AAG3C,gCAAY,aAAa,QAAQ;AAAA,kBACnC;AAAA,gBACF;AAEA,kCAAkB,WAAW,UAAU,iBAAiB,MAAM;AAE9D,oBAAI,qBAAqB,MAAM;AAE7B,wCAAsB;AAAA,gBACxB,OAAO;AAKL,mCAAiB,UAAU;AAAA,gBAC7B;AAEA,mCAAmB;AACnB,2BAAW;AAAA,cACb;AAEA,kBAAI,WAAW,YAAY,QAAQ;AAEjC,wCAAwB,aAAa,QAAQ;AAE7C,oBAAI,eAAe,GAAG;AACpB,sBAAI,gBAAgB;AACpB,+BAAa,aAAa,aAAa;AAAA,gBACzC;AAEA,uBAAO;AAAA,cACT;AAEA,kBAAI,aAAa,MAAM;AAGrB,uBAAO,SAAS,YAAY,QAAQ,UAAU;AAC5C,sBAAI,YAAY,YAAY,aAAa,YAAY,MAAM,GAAG,KAAK;AAEnE,sBAAI,cAAc,MAAM;AACtB;AAAA,kBACF;AAEA,oCAAkB,WAAW,WAAW,iBAAiB,MAAM;AAE/D,sBAAI,qBAAqB,MAAM;AAE7B,0CAAsB;AAAA,kBACxB,OAAO;AACL,qCAAiB,UAAU;AAAA,kBAC7B;AAEA,qCAAmB;AAAA,gBACrB;AAEA,oBAAI,eAAe,GAAG;AACpB,sBAAI,iBAAiB;AACrB,+BAAa,aAAa,cAAc;AAAA,gBAC1C;AAEA,uBAAO;AAAA,cACT;AAGA,kBAAI,mBAAmB,qBAAqB,aAAa,QAAQ;AAEjE,qBAAO,SAAS,YAAY,QAAQ,UAAU;AAC5C,oBAAI,aAAa,cAAc,kBAAkB,aAAa,QAAQ,YAAY,MAAM,GAAG,KAAK;AAEhG,oBAAI,eAAe,MAAM;AACvB,sBAAI,wBAAwB;AAC1B,wBAAI,WAAW,cAAc,MAAM;AAKjC,uCAAiB,OAAO,WAAW,QAAQ,OAAO,SAAS,WAAW,GAAG;AAAA,oBAC3E;AAAA,kBACF;AAEA,oCAAkB,WAAW,YAAY,iBAAiB,MAAM;AAEhE,sBAAI,qBAAqB,MAAM;AAC7B,0CAAsB;AAAA,kBACxB,OAAO;AACL,qCAAiB,UAAU;AAAA,kBAC7B;AAEA,qCAAmB;AAAA,gBACrB;AAAA,cACF;AAEA,kBAAI,wBAAwB;AAG1B,iCAAiB,QAAQ,SAAUC,QAAO;AACxC,yBAAO,YAAY,aAAaA,MAAK;AAAA,gBACvC,CAAC;AAAA,cACH;AAEA,kBAAI,eAAe,GAAG;AACpB,oBAAI,kBAAkB;AACtB,6BAAa,aAAa,eAAe;AAAA,cAC3C;AAEA,qBAAO;AAAA,YACT;AAEA,qBAAS,0BAA0B,aAAa,mBAAmB,qBAAqB,OAAO;AAG7F,kBAAI,aAAa,cAAc,mBAAmB;AAElD,kBAAI,OAAO,eAAe,YAAY;AACpC,sBAAM,IAAI,MAAM,oGAAyG;AAAA,cAC3H;AAEA;AAGE,oBAAI,OAAO,WAAW;AAAA,gBACtB,oBAAoB,OAAO,WAAW,MAAM,aAAa;AACvD,sBAAI,CAAC,wBAAwB;AAC3B,0BAAM,gTAAoU;AAAA,kBAC5U;AAEA,2CAAyB;AAAA,gBAC3B;AAGA,oBAAI,oBAAoB,YAAY,YAAY;AAC9C,sBAAI,CAAC,kBAAkB;AACrB,0BAAM,uFAA4F;AAAA,kBACpG;AAEA,qCAAmB;AAAA,gBACrB;AAIA,oBAAI,eAAe,WAAW,KAAK,mBAAmB;AAEtD,oBAAI,cAAc;AAChB,sBAAI,YAAY;AAEhB,sBAAI,QAAQ,aAAa,KAAK;AAE9B,yBAAO,CAAC,MAAM,MAAM,QAAQ,aAAa,KAAK,GAAG;AAC/C,wBAAI,QAAQ,MAAM;AAClB,gCAAY,iBAAiB,OAAO,WAAW,WAAW;AAAA,kBAC5D;AAAA,gBACF;AAAA,cACF;AAEA,kBAAI,cAAc,WAAW,KAAK,mBAAmB;AAErD,kBAAI,eAAe,MAAM;AACvB,sBAAM,IAAI,MAAM,0CAA0C;AAAA,cAC5D;AAEA,kBAAI,sBAAsB;AAC1B,kBAAI,mBAAmB;AACvB,kBAAI,WAAW;AACf,kBAAI,kBAAkB;AACtB,kBAAI,SAAS;AACb,kBAAI,eAAe;AACnB,kBAAI,OAAO,YAAY,KAAK;AAE5B,qBAAO,aAAa,QAAQ,CAAC,KAAK,MAAM,UAAU,OAAO,YAAY,KAAK,GAAG;AAC3E,oBAAI,SAAS,QAAQ,QAAQ;AAC3B,iCAAe;AACf,6BAAW;AAAA,gBACb,OAAO;AACL,iCAAe,SAAS;AAAA,gBAC1B;AAEA,oBAAI,WAAW,WAAW,aAAa,UAAU,KAAK,OAAO,KAAK;AAElE,oBAAI,aAAa,MAAM;AAKrB,sBAAI,aAAa,MAAM;AACrB,+BAAW;AAAA,kBACb;AAEA;AAAA,gBACF;AAEA,oBAAI,wBAAwB;AAC1B,sBAAI,YAAY,SAAS,cAAc,MAAM;AAG3C,gCAAY,aAAa,QAAQ;AAAA,kBACnC;AAAA,gBACF;AAEA,kCAAkB,WAAW,UAAU,iBAAiB,MAAM;AAE9D,oBAAI,qBAAqB,MAAM;AAE7B,wCAAsB;AAAA,gBACxB,OAAO;AAKL,mCAAiB,UAAU;AAAA,gBAC7B;AAEA,mCAAmB;AACnB,2BAAW;AAAA,cACb;AAEA,kBAAI,KAAK,MAAM;AAEb,wCAAwB,aAAa,QAAQ;AAE7C,oBAAI,eAAe,GAAG;AACpB,sBAAI,gBAAgB;AACpB,+BAAa,aAAa,aAAa;AAAA,gBACzC;AAEA,uBAAO;AAAA,cACT;AAEA,kBAAI,aAAa,MAAM;AAGrB,uBAAO,CAAC,KAAK,MAAM,UAAU,OAAO,YAAY,KAAK,GAAG;AACtD,sBAAI,aAAa,YAAY,aAAa,KAAK,OAAO,KAAK;AAE3D,sBAAI,eAAe,MAAM;AACvB;AAAA,kBACF;AAEA,oCAAkB,WAAW,YAAY,iBAAiB,MAAM;AAEhE,sBAAI,qBAAqB,MAAM;AAE7B,0CAAsB;AAAA,kBACxB,OAAO;AACL,qCAAiB,UAAU;AAAA,kBAC7B;AAEA,qCAAmB;AAAA,gBACrB;AAEA,oBAAI,eAAe,GAAG;AACpB,sBAAI,kBAAkB;AACtB,+BAAa,aAAa,eAAe;AAAA,gBAC3C;AAEA,uBAAO;AAAA,cACT;AAGA,kBAAI,mBAAmB,qBAAqB,aAAa,QAAQ;AAEjE,qBAAO,CAAC,KAAK,MAAM,UAAU,OAAO,YAAY,KAAK,GAAG;AACtD,oBAAI,aAAa,cAAc,kBAAkB,aAAa,QAAQ,KAAK,OAAO,KAAK;AAEvF,oBAAI,eAAe,MAAM;AACvB,sBAAI,wBAAwB;AAC1B,wBAAI,WAAW,cAAc,MAAM;AAKjC,uCAAiB,OAAO,WAAW,QAAQ,OAAO,SAAS,WAAW,GAAG;AAAA,oBAC3E;AAAA,kBACF;AAEA,oCAAkB,WAAW,YAAY,iBAAiB,MAAM;AAEhE,sBAAI,qBAAqB,MAAM;AAC7B,0CAAsB;AAAA,kBACxB,OAAO;AACL,qCAAiB,UAAU;AAAA,kBAC7B;AAEA,qCAAmB;AAAA,gBACrB;AAAA,cACF;AAEA,kBAAI,wBAAwB;AAG1B,iCAAiB,QAAQ,SAAUA,QAAO;AACxC,yBAAO,YAAY,aAAaA,MAAK;AAAA,gBACvC,CAAC;AAAA,cACH;AAEA,kBAAI,eAAe,GAAG;AACpB,oBAAI,kBAAkB;AACtB,6BAAa,aAAa,eAAe;AAAA,cAC3C;AAEA,qBAAO;AAAA,YACT;AAEA,qBAAS,wBAAwB,aAAa,mBAAmB,aAAa,OAAO;AAGnF,kBAAI,sBAAsB,QAAQ,kBAAkB,QAAQ,UAAU;AAGpE,wCAAwB,aAAa,kBAAkB,OAAO;AAC9D,oBAAI,WAAW,SAAS,mBAAmB,WAAW;AACtD,yBAAS,SAAS;AAClB,uBAAO;AAAA,cACT;AAIA,sCAAwB,aAAa,iBAAiB;AACtD,kBAAI,UAAU,oBAAoB,aAAa,YAAY,MAAM,KAAK;AACtE,sBAAQ,SAAS;AACjB,qBAAO;AAAA,YACT;AAEA,qBAAS,uBAAuB,aAAa,mBAAmB,SAAS,OAAO;AAC9E,kBAAI,MAAM,QAAQ;AAClB,kBAAI,QAAQ;AAEZ,qBAAO,UAAU,MAAM;AAGrB,oBAAI,MAAM,QAAQ,KAAK;AACrB,sBAAI,cAAc,QAAQ;AAE1B,sBAAI,gBAAgB,qBAAqB;AACvC,wBAAI,MAAM,QAAQlC,WAAU;AAC1B,8CAAwB,aAAa,MAAM,OAAO;AAClD,0BAAI,WAAW,SAAS,OAAO,QAAQ,MAAM,QAAQ;AACrD,+BAAS,SAAS;AAElB;AACE,iCAAS,eAAe,QAAQ;AAChC,iCAAS,cAAc,QAAQ;AAAA,sBACjC;AAEA,6BAAO;AAAA,oBACT;AAAA,kBACF,OAAO;AACL,wBAAI,MAAM,gBAAgB;AAAA,oBACzB,kCAAkC,OAAO,OAAO;AAAA;AAAA;AAAA;AAAA,oBAIjD,OAAO,gBAAgB,YAAY,gBAAgB,QAAQ,YAAY,aAAa,mBAAmB,YAAY,WAAW,MAAM,MAAM,MAAM;AAC9I,8CAAwB,aAAa,MAAM,OAAO;AAElD,0BAAI,YAAY,SAAS,OAAO,QAAQ,KAAK;AAE7C,gCAAU,MAAM,UAAU,aAAa,OAAO,OAAO;AACrD,gCAAU,SAAS;AAEnB;AACE,kCAAU,eAAe,QAAQ;AACjC,kCAAU,cAAc,QAAQ;AAAA,sBAClC;AAEA,6BAAO;AAAA,oBACT;AAAA,kBACF;AAGA,0CAAwB,aAAa,KAAK;AAC1C;AAAA,gBACF,OAAO;AACL,8BAAY,aAAa,KAAK;AAAA,gBAChC;AAEA,wBAAQ,MAAM;AAAA,cAChB;AAEA,kBAAI,QAAQ,SAAS,qBAAqB;AACxC,oBAAI,UAAU,wBAAwB,QAAQ,MAAM,UAAU,YAAY,MAAM,OAAO,QAAQ,GAAG;AAClG,wBAAQ,SAAS;AACjB,uBAAO;AAAA,cACT,OAAO;AACL,oBAAI,YAAY,uBAAuB,SAAS,YAAY,MAAM,KAAK;AAEvE,0BAAU,MAAM,UAAU,aAAa,mBAAmB,OAAO;AACjE,0BAAU,SAAS;AACnB,uBAAO;AAAA,cACT;AAAA,YACF;AAEA,qBAAS,sBAAsB,aAAa,mBAAmB,QAAQ,OAAO;AAC5E,kBAAI,MAAM,OAAO;AACjB,kBAAI,QAAQ;AAEZ,qBAAO,UAAU,MAAM;AAGrB,oBAAI,MAAM,QAAQ,KAAK;AACrB,sBAAI,MAAM,QAAQ,cAAc,MAAM,UAAU,kBAAkB,OAAO,iBAAiB,MAAM,UAAU,mBAAmB,OAAO,gBAAgB;AAClJ,4CAAwB,aAAa,MAAM,OAAO;AAClD,wBAAI,WAAW,SAAS,OAAO,OAAO,YAAY,CAAC,CAAC;AACpD,6BAAS,SAAS;AAClB,2BAAO;AAAA,kBACT,OAAO;AACL,4CAAwB,aAAa,KAAK;AAC1C;AAAA,kBACF;AAAA,gBACF,OAAO;AACL,8BAAY,aAAa,KAAK;AAAA,gBAChC;AAEA,wBAAQ,MAAM;AAAA,cAChB;AAEA,kBAAI,UAAU,sBAAsB,QAAQ,YAAY,MAAM,KAAK;AACnE,sBAAQ,SAAS;AACjB,qBAAO;AAAA,YACT;AAKA,qBAASmC,sBAAqB,aAAa,mBAAmB,UAAU,OAAO;AAQ7E,kBAAI,4BAA4B,OAAO,aAAa,YAAY,aAAa,QAAQ,SAAS,SAAS,uBAAuB,SAAS,QAAQ;AAE/I,kBAAI,2BAA2B;AAC7B,2BAAW,SAAS,MAAM;AAAA,cAC5B;AAGA,kBAAI,OAAO,aAAa,YAAY,aAAa,MAAM;AACrD,wBAAQ,SAAS,UAAU;AAAA,kBACzB,KAAK;AACH,2BAAO,iBAAiB,uBAAuB,aAAa,mBAAmB,UAAU,KAAK,CAAC;AAAA,kBAEjG,KAAK;AACH,2BAAO,iBAAiB,sBAAsB,aAAa,mBAAmB,UAAU,KAAK,CAAC;AAAA,kBAEhG,KAAK;AACH,wBAAI,UAAU,SAAS;AACvB,wBAAI,OAAO,SAAS;AAEpB,2BAAOA,sBAAqB,aAAa,mBAAmB,KAAK,OAAO,GAAG,KAAK;AAAA,gBACpF;AAEA,oBAAI,QAAQ,QAAQ,GAAG;AACrB,yBAAO,uBAAuB,aAAa,mBAAmB,UAAU,KAAK;AAAA,gBAC/E;AAEA,oBAAI,cAAc,QAAQ,GAAG;AAC3B,yBAAO,0BAA0B,aAAa,mBAAmB,UAAU,KAAK;AAAA,gBAClF;AAEA,yCAAyB,aAAa,QAAQ;AAAA,cAChD;AAEA,kBAAI,OAAO,aAAa,YAAY,aAAa,MAAM,OAAO,aAAa,UAAU;AACnF,uBAAO,iBAAiB,wBAAwB,aAAa,mBAAmB,KAAK,UAAU,KAAK,CAAC;AAAA,cACvG;AAEA;AACE,oBAAI,OAAO,aAAa,YAAY;AAClC,qCAAmB,WAAW;AAAA,gBAChC;AAAA,cACF;AAGA,qBAAO,wBAAwB,aAAa,iBAAiB;AAAA,YAC/D;AAEA,mBAAOA;AAAA,UACT;AAEA,cAAI,uBAAuB,gBAAgB,IAAI;AAC/C,cAAI,mBAAmB,gBAAgB,KAAK;AAC5C,mBAAS,iBAAiBhB,UAASd,iBAAgB;AACjD,gBAAIc,aAAY,QAAQd,gBAAe,UAAUc,SAAQ,OAAO;AAC9D,oBAAM,IAAI,MAAM,oCAAoC;AAAA,YACtD;AAEA,gBAAId,gBAAe,UAAU,MAAM;AACjC;AAAA,YACF;AAEA,gBAAI,eAAeA,gBAAe;AAClC,gBAAI,WAAW,qBAAqB,cAAc,aAAa,YAAY;AAC3E,YAAAA,gBAAe,QAAQ;AACvB,qBAAS,SAASA;AAElB,mBAAO,aAAa,YAAY,MAAM;AACpC,6BAAe,aAAa;AAC5B,yBAAW,SAAS,UAAU,qBAAqB,cAAc,aAAa,YAAY;AAC1F,uBAAS,SAASA;AAAA,YACpB;AAEA,qBAAS,UAAU;AAAA,UACrB;AAEA,mBAAS,iBAAiBA,iBAAgB,OAAO;AAC/C,gBAAI,QAAQA,gBAAe;AAE3B,mBAAO,UAAU,MAAM;AACrB,kCAAoB,OAAO,KAAK;AAChC,sBAAQ,MAAM;AAAA,YAChB;AAAA,UACF;AAEA,cAAI,aAAa,CAAC;AAClB,cAAI,uBAAuB,aAAa,UAAU;AAClD,cAAI,0BAA0B,aAAa,UAAU;AACrD,cAAI,0BAA0B,aAAa,UAAU;AAErD,mBAAS,gBAAgB,GAAG;AAC1B,gBAAI,MAAM,YAAY;AACpB,oBAAM,IAAI,MAAM,sGAA2G;AAAA,YAC7H;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,uBAAuB;AAC9B,gBAAI,eAAe,gBAAgB,wBAAwB,OAAO;AAClE,mBAAO;AAAA,UACT;AAEA,mBAAS,kBAAkB,OAAO,kBAAkB;AAGlD,iBAAK,yBAAyB,kBAAkB,KAAK;AAGrD,iBAAK,yBAAyB,OAAO,KAAK;AAM1C,iBAAK,sBAAsB,YAAY,KAAK;AAC5C,gBAAI,kBAAkB,mBAAmB,gBAAgB;AAEzD,gBAAI,sBAAsB,KAAK;AAC/B,iBAAK,sBAAsB,iBAAiB,KAAK;AAAA,UACnD;AAEA,mBAAS,iBAAiB,OAAO;AAC/B,gBAAI,sBAAsB,KAAK;AAC/B,gBAAI,yBAAyB,KAAK;AAClC,gBAAI,yBAAyB,KAAK;AAAA,UACpC;AAEA,mBAAS,iBAAiB;AACxB,gBAAI,UAAU,gBAAgB,qBAAqB,OAAO;AAC1D,mBAAO;AAAA,UACT;AAEA,mBAAS,gBAAgB,OAAO;AAC9B,gBAAI,eAAe,gBAAgB,wBAAwB,OAAO;AAClE,gBAAI,UAAU,gBAAgB,qBAAqB,OAAO;AAC1D,gBAAI,cAAc,oBAAoB,SAAS,MAAM,IAAI;AAEzD,gBAAI,YAAY,aAAa;AAC3B;AAAA,YACF;AAIA,iBAAK,yBAAyB,OAAO,KAAK;AAC1C,iBAAK,sBAAsB,aAAa,KAAK;AAAA,UAC/C;AAEA,mBAAS,eAAe,OAAO;AAG7B,gBAAI,wBAAwB,YAAY,OAAO;AAC7C;AAAA,YACF;AAEA,gBAAI,sBAAsB,KAAK;AAC/B,gBAAI,yBAAyB,KAAK;AAAA,UACpC;AAEA,cAAI,yBAAyB;AAK7B,cAAI,6BAA6B;AAQjC,cAAI,iCAAiC;AAIrC,cAAI,wBAAwB;AAC5B,cAAI,sBAAsB,aAAa,sBAAsB;AAC7D,mBAAS,mBAAmB,eAAe,MAAM;AAC/C,oBAAQ,gBAAgB,UAAU;AAAA,UACpC;AACA,mBAAS,iCAAiC,eAAe;AACvD,mBAAO,gBAAgB;AAAA,UACzB;AACA,mBAAS,0BAA0B,eAAe,gBAAgB;AAChE,mBAAO,gBAAgB,6BAA6B;AAAA,UACtD;AACA,mBAAS,0BAA0B,eAAe,gBAAgB;AAChE,mBAAO,gBAAgB;AAAA,UACzB;AACA,mBAAS,oBAAoB,OAAO,YAAY;AAC9C,iBAAK,qBAAqB,YAAY,KAAK;AAAA,UAC7C;AACA,mBAAS,mBAAmB,OAAO;AACjC,gBAAI,qBAAqB,KAAK;AAAA,UAChC;AAEA,mBAAS,sBAAsBA,iBAAgB,oBAAoB;AAGjE,gBAAI,YAAYA,gBAAe;AAE/B,gBAAI,cAAc,MAAM;AACtB,kBAAI,UAAU,eAAe,MAAM;AAEjC,uBAAO;AAAA,cACT;AAEA,qBAAO;AAAA,YACT;AAEA,gBAAI,QAAQA,gBAAe;AAE3B;AACE,qBAAO;AAAA,YACT;AAAA,UACF;AACA,mBAAS,mBAAmB,KAAK;AAC/B,gBAAI,OAAO;AAEX,mBAAO,SAAS,MAAM;AACpB,kBAAI,KAAK,QAAQ,mBAAmB;AAClC,oBAAI,QAAQ,KAAK;AAEjB,oBAAI,UAAU,MAAM;AAClB,sBAAI,aAAa,MAAM;AAEvB,sBAAI,eAAe,QAAQ,0BAA0B,UAAU,KAAK,2BAA2B,UAAU,GAAG;AAC1G,2BAAO;AAAA,kBACT;AAAA,gBACF;AAAA,cACF,WAAW,KAAK,QAAQ;AAAA;AAAA,cAExB,KAAK,cAAc,gBAAgB,QAAW;AAC5C,oBAAI,cAAc,KAAK,QAAQ,gBAAgB;AAE/C,oBAAI,YAAY;AACd,yBAAO;AAAA,gBACT;AAAA,cACF,WAAW,KAAK,UAAU,MAAM;AAC9B,qBAAK,MAAM,SAAS;AACpB,uBAAO,KAAK;AACZ;AAAA,cACF;AAEA,kBAAI,SAAS,KAAK;AAChB,uBAAO;AAAA,cACT;AAEA,qBAAO,KAAK,YAAY,MAAM;AAC5B,oBAAI,KAAK,WAAW,QAAQ,KAAK,WAAW,KAAK;AAC/C,yBAAO;AAAA,gBACT;AAEA,uBAAO,KAAK;AAAA,cACd;AAEA,mBAAK,QAAQ,SAAS,KAAK;AAC3B,qBAAO,KAAK;AAAA,YACd;AAEA,mBAAO;AAAA,UACT;AAEA,cAAI;AAAA;AAAA,YAEJ;AAAA;AAEA,cAAI;AAAA;AAAA,YAEJ;AAAA;AAEA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AAKA,cAAI,wBAAwB,CAAC;AAC7B,mBAAS,8BAA8B;AACrC,qBAAS,IAAI,GAAG,IAAI,sBAAsB,QAAQ,KAAK;AACrD,kBAAI,gBAAgB,sBAAsB,CAAC;AAE3C;AACE,8BAAc,gCAAgC;AAAA,cAChD;AAAA,YACF;AAEA,kCAAsB,SAAS;AAAA,UACjC;AAKA,mBAAS,kCAAkCe,OAAM,eAAe;AAC9D,gBAAI,aAAa,cAAc;AAC/B,gBAAI,UAAU,WAAW,cAAc,OAAO;AAG9C,gBAAIA,MAAK,mCAAmC,MAAM;AAChD,cAAAA,MAAK,kCAAkC,CAAC,eAAe,OAAO;AAAA,YAChE,OAAO;AACL,cAAAA,MAAK,gCAAgC,KAAK,eAAe,OAAO;AAAA,YAClE;AAAA,UACF;AAEA,cAAI,2BAA2B,qBAAqB,wBAChD,4BAA4B,qBAAqB;AACrD,cAAI;AACJ,cAAI;AAEJ;AACE,sDAA0C,oBAAI,IAAI;AAAA,UACpD;AAGA,cAAI,cAAc;AAGlB,cAAI,4BAA4B;AAKhC,cAAI,cAAc;AAClB,cAAI,qBAAqB;AAKzB,cAAI,+BAA+B;AAKnC,cAAI,6CAA6C;AAEjD,cAAI,iBAAiB;AAIrB,cAAI,wBAAwB;AAC5B,cAAI,kBAAkB;AAEtB,cAAI,uBAAuB;AAI3B,cAAI,eAAe;AACnB,cAAI,0BAA0B;AAI9B,cAAI,6BAA6B;AAEjC,mBAAS,oBAAoB;AAC3B;AACE,kBAAI,WAAW;AAEf,kBAAI,iBAAiB,MAAM;AACzB,+BAAe,CAAC,QAAQ;AAAA,cAC1B,OAAO;AACL,6BAAa,KAAK,QAAQ;AAAA,cAC5B;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,qBAAqB;AAC5B;AACE,kBAAI,WAAW;AAEf,kBAAI,iBAAiB,MAAM;AACzB;AAEA,oBAAI,aAAa,uBAAuB,MAAM,UAAU;AACtD,0CAAwB,QAAQ;AAAA,gBAClC;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,qBAAqB,MAAM;AAClC;AACE,kBAAI,SAAS,UAAa,SAAS,QAAQ,CAAC,QAAQ,IAAI,GAAG;AAGzD,sBAAM,oIAAyI,sBAAsB,OAAO,IAAI;AAAA,cAClL;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,wBAAwB,iBAAiB;AAChD;AACE,kBAAI,gBAAgB,0BAA0B,yBAAyB;AAEvE,kBAAI,CAAC,wCAAwC,IAAI,aAAa,GAAG;AAC/D,wDAAwC,IAAI,aAAa;AAEzD,oBAAI,iBAAiB,MAAM;AACzB,sBAAI,QAAQ;AACZ,sBAAI,oBAAoB;AAExB,2BAAS,IAAI,GAAG,KAAK,yBAAyB,KAAK;AACjD,wBAAI,cAAc,aAAa,CAAC;AAChC,wBAAI,cAAc,MAAM,0BAA0B,kBAAkB;AACpE,wBAAI,MAAM,IAAI,IAAI,OAAO;AAGzB,2BAAO,IAAI,SAAS,mBAAmB;AACrC,6BAAO;AAAA,oBACT;AAEA,2BAAO,cAAc;AACrB,6BAAS;AAAA,kBACX;AAEA,wBAAM,iXAA+Y,eAAe,KAAK;AAAA,gBAC3a;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,wBAAwB;AAC/B,kBAAM,IAAI,MAAM,ibAA0c;AAAA,UAC5d;AAEA,mBAAS,mBAAmB,UAAU,UAAU;AAC9C;AACE,kBAAI,4BAA4B;AAE9B,uBAAO;AAAA,cACT;AAAA,YACF;AAEA,gBAAI,aAAa,MAAM;AACrB;AACE,sBAAM,4KAAsL,oBAAoB;AAAA,cAClN;AAEA,qBAAO;AAAA,YACT;AAEA;AAGE,kBAAI,SAAS,WAAW,SAAS,QAAQ;AACvC,sBAAM,sJAAqK,sBAAsB,MAAM,SAAS,KAAK,IAAI,IAAI,KAAK,MAAM,SAAS,KAAK,IAAI,IAAI,GAAG;AAAA,cACnQ;AAAA,YACF;AAEA,qBAAS,IAAI,GAAG,IAAI,SAAS,UAAU,IAAI,SAAS,QAAQ,KAAK;AAC/D,kBAAI,SAAS,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG;AACtC;AAAA,cACF;AAEA,qBAAO;AAAA,YACT;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,gBAAgBD,UAASd,iBAAgB,WAAW,OAAO,WAAW,iBAAiB;AAC9F,0BAAc;AACd,wCAA4BA;AAE5B;AACE,6BAAec,aAAY,OAAOA,SAAQ,kBAAkB;AAC5D,wCAA0B;AAE1B,2CAA6BA,aAAY,QAAQA,SAAQ,SAASd,gBAAe;AAAA,YACnF;AAEA,YAAAA,gBAAe,gBAAgB;AAC/B,YAAAA,gBAAe,cAAc;AAC7B,YAAAA,gBAAe,QAAQ;AAYvB;AACE,kBAAIc,aAAY,QAAQA,SAAQ,kBAAkB,MAAM;AACtD,yCAAyB,UAAU;AAAA,cACrC,WAAW,iBAAiB,MAAM;AAMhC,yCAAyB,UAAU;AAAA,cACrC,OAAO;AACL,yCAAyB,UAAU;AAAA,cACrC;AAAA,YACF;AAEA,gBAAI,WAAW,UAAU,OAAO,SAAS;AAEzC,gBAAI,4CAA4C;AAG9C,kBAAI,oBAAoB;AAExB,iBAAG;AACD,6DAA6C;AAC7C,iCAAiB;AAEjB,oBAAI,qBAAqB,iBAAiB;AACxC,wBAAM,IAAI,MAAM,sFAA2F;AAAA,gBAC7G;AAEA,qCAAqB;AAErB;AAGE,+CAA6B;AAAA,gBAC/B;AAGA,8BAAc;AACd,qCAAqB;AACrB,gBAAAd,gBAAe,cAAc;AAE7B;AAEE,4CAA0B;AAAA,gBAC5B;AAEA,yCAAyB,UAAW;AACpC,2BAAW,UAAU,OAAO,SAAS;AAAA,cACvC,SAAS;AAAA,YACX;AAIA,qCAAyB,UAAU;AAEnC;AACE,cAAAA,gBAAe,kBAAkB;AAAA,YACnC;AAIA,gBAAI,uBAAuB,gBAAgB,QAAQ,YAAY,SAAS;AACxE,0BAAc;AACd,wCAA4B;AAC5B,0BAAc;AACd,iCAAqB;AAErB;AACE,qCAAuB;AACvB,6BAAe;AACf,wCAA0B;AAK1B,kBAAIc,aAAY,SAASA,SAAQ,QAAQ,iBAAiBd,gBAAe,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,eAKhFc,SAAQ,OAAO,oBAAoB,QAAQ;AAC1C,sBAAM,uFAA4F;AAAA,cACpG;AAAA,YACF;AAEA,2CAA+B;AAG/B,gBAAI,sBAAsB;AACxB,oBAAM,IAAI,MAAM,iGAAsG;AAAA,YACxH;AAEA,mBAAO;AAAA,UACT;AACA,mBAAS,uBAAuB;AAI9B,gBAAI,kBAAkB,mBAAmB;AACzC,6BAAiB;AACjB,mBAAO;AAAA,UACT;AACA,mBAAS,aAAaA,UAASd,iBAAgB,OAAO;AACpD,YAAAA,gBAAe,cAAcc,SAAQ;AAGrC,iBAAMd,gBAAe,OAAO,uBAAuB,QAAQ;AACzD,cAAAA,gBAAe,SAAS,EAAE,kBAAkB,iBAAiB,UAAU;AAAA,YACzE,OAAO;AACL,cAAAA,gBAAe,SAAS,EAAE,UAAU;AAAA,YACtC;AAEA,YAAAc,SAAQ,QAAQ,YAAYA,SAAQ,OAAO,KAAK;AAAA,UAClD;AACA,mBAAS,uBAAuB;AAG9B,qCAAyB,UAAU;AAEnC,gBAAI,8BAA8B;AAShC,kBAAI,OAAO,0BAA0B;AAErC,qBAAO,SAAS,MAAM;AACpB,oBAAI,QAAQ,KAAK;AAEjB,oBAAI,UAAU,MAAM;AAClB,wBAAM,UAAU;AAAA,gBAClB;AAEA,uBAAO,KAAK;AAAA,cACd;AAEA,6CAA+B;AAAA,YACjC;AAEA,0BAAc;AACd,wCAA4B;AAC5B,0BAAc;AACd,iCAAqB;AAErB;AACE,6BAAe;AACf,wCAA0B;AAC1B,qCAAuB;AACvB,mDAAqC;AAAA,YACvC;AAEA,yDAA6C;AAC7C,6BAAiB;AAAA,UACnB;AAEA,mBAAS,0BAA0B;AACjC,gBAAI,OAAO;AAAA,cACT,eAAe;AAAA,cACf,WAAW;AAAA,cACX,WAAW;AAAA,cACX,OAAO;AAAA,cACP,MAAM;AAAA,YACR;AAEA,gBAAI,uBAAuB,MAAM;AAE/B,wCAA0B,gBAAgB,qBAAqB;AAAA,YACjE,OAAO;AAEL,mCAAqB,mBAAmB,OAAO;AAAA,YACjD;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,2BAA2B;AAMlC,gBAAI;AAEJ,gBAAI,gBAAgB,MAAM;AACxB,kBAAIA,WAAU,0BAA0B;AAExC,kBAAIA,aAAY,MAAM;AACpB,kCAAkBA,SAAQ;AAAA,cAC5B,OAAO;AACL,kCAAkB;AAAA,cACpB;AAAA,YACF,OAAO;AACL,gCAAkB,YAAY;AAAA,YAChC;AAEA,gBAAI;AAEJ,gBAAI,uBAAuB,MAAM;AAC/B,uCAAyB,0BAA0B;AAAA,YACrD,OAAO;AACL,uCAAyB,mBAAmB;AAAA,YAC9C;AAEA,gBAAI,2BAA2B,MAAM;AAEnC,mCAAqB;AACrB,uCAAyB,mBAAmB;AAC5C,4BAAc;AAAA,YAChB,OAAO;AAEL,kBAAI,oBAAoB,MAAM;AAC5B,sBAAM,IAAI,MAAM,sDAAsD;AAAA,cACxE;AAEA,4BAAc;AACd,kBAAI,UAAU;AAAA,gBACZ,eAAe,YAAY;AAAA,gBAC3B,WAAW,YAAY;AAAA,gBACvB,WAAW,YAAY;AAAA,gBACvB,OAAO,YAAY;AAAA,gBACnB,MAAM;AAAA,cACR;AAEA,kBAAI,uBAAuB,MAAM;AAE/B,0CAA0B,gBAAgB,qBAAqB;AAAA,cACjE,OAAO;AAEL,qCAAqB,mBAAmB,OAAO;AAAA,cACjD;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,qCAAqC;AAC5C,mBAAO;AAAA,cACL,YAAY;AAAA,cACZ,QAAQ;AAAA,YACV;AAAA,UACF;AAEA,mBAAS,kBAAkB,OAAO,QAAQ;AAExC,mBAAO,OAAO,WAAW,aAAa,OAAO,KAAK,IAAI;AAAA,UACxD;AAEA,mBAAS,aAAa,SAAS,YAAY,MAAM;AAC/C,gBAAI,OAAO,wBAAwB;AACnC,gBAAI;AAEJ,gBAAI,SAAS,QAAW;AACtB,6BAAe,KAAK,UAAU;AAAA,YAChC,OAAO;AACL,6BAAe;AAAA,YACjB;AAEA,iBAAK,gBAAgB,KAAK,YAAY;AACtC,gBAAI,QAAQ;AAAA,cACV,SAAS;AAAA,cACT,aAAa;AAAA,cACb,OAAO;AAAA,cACP,UAAU;AAAA,cACV,qBAAqB;AAAA,cACrB,mBAAmB;AAAA,YACrB;AACA,iBAAK,QAAQ;AACb,gBAAI,WAAW,MAAM,WAAW,sBAAsB,KAAK,MAAM,2BAA2B,KAAK;AACjG,mBAAO,CAAC,KAAK,eAAe,QAAQ;AAAA,UACtC;AAEA,mBAAS,cAAc,SAAS,YAAY,MAAM;AAChD,gBAAI,OAAO,yBAAyB;AACpC,gBAAI,QAAQ,KAAK;AAEjB,gBAAI,UAAU,MAAM;AAClB,oBAAM,IAAI,MAAM,2EAA2E;AAAA,YAC7F;AAEA,kBAAM,sBAAsB;AAC5B,gBAAIA,WAAU;AAEd,gBAAI,YAAYA,SAAQ;AAExB,gBAAI,eAAe,MAAM;AAEzB,gBAAI,iBAAiB,MAAM;AAGzB,kBAAI,cAAc,MAAM;AAEtB,oBAAI,YAAY,UAAU;AAC1B,oBAAI,eAAe,aAAa;AAChC,0BAAU,OAAO;AACjB,6BAAa,OAAO;AAAA,cACtB;AAEA;AACE,oBAAIA,SAAQ,cAAc,WAAW;AAGnC,wBAAM,wFAA6F;AAAA,gBACrG;AAAA,cACF;AAEA,cAAAA,SAAQ,YAAY,YAAY;AAChC,oBAAM,UAAU;AAAA,YAClB;AAEA,gBAAI,cAAc,MAAM;AAEtB,kBAAI,QAAQ,UAAU;AACtB,kBAAI,WAAWA,SAAQ;AACvB,kBAAI,eAAe;AACnB,kBAAI,oBAAoB;AACxB,kBAAI,mBAAmB;AACvB,kBAAI,SAAS;AAEb,iBAAG;AACD,oBAAI,aAAa,OAAO;AAExB,oBAAI,CAAC,gBAAgB,aAAa,UAAU,GAAG;AAI7C,sBAAI,QAAQ;AAAA,oBACV,MAAM;AAAA,oBACN,QAAQ,OAAO;AAAA,oBACf,eAAe,OAAO;AAAA,oBACtB,YAAY,OAAO;AAAA,oBACnB,MAAM;AAAA,kBACR;AAEA,sBAAI,qBAAqB,MAAM;AAC7B,wCAAoB,mBAAmB;AACvC,mCAAe;AAAA,kBACjB,OAAO;AACL,uCAAmB,iBAAiB,OAAO;AAAA,kBAC7C;AAKA,4CAA0B,QAAQ,WAAW,0BAA0B,OAAO,UAAU;AACxF,yCAAuB,UAAU;AAAA,gBACnC,OAAO;AAEL,sBAAI,qBAAqB,MAAM;AAC7B,wBAAI,SAAS;AAAA;AAAA;AAAA;AAAA,sBAIX,MAAM;AAAA,sBACN,QAAQ,OAAO;AAAA,sBACf,eAAe,OAAO;AAAA,sBACtB,YAAY,OAAO;AAAA,sBACnB,MAAM;AAAA,oBACR;AACA,uCAAmB,iBAAiB,OAAO;AAAA,kBAC7C;AAGA,sBAAI,OAAO,eAAe;AAGxB,+BAAW,OAAO;AAAA,kBACpB,OAAO;AACL,wBAAI,SAAS,OAAO;AACpB,+BAAW,QAAQ,UAAU,MAAM;AAAA,kBACrC;AAAA,gBACF;AAEA,yBAAS,OAAO;AAAA,cAClB,SAAS,WAAW,QAAQ,WAAW;AAEvC,kBAAI,qBAAqB,MAAM;AAC7B,+BAAe;AAAA,cACjB,OAAO;AACL,iCAAiB,OAAO;AAAA,cAC1B;AAIA,kBAAI,CAAC,SAAS,UAAU,KAAK,aAAa,GAAG;AAC3C,iDAAiC;AAAA,cACnC;AAEA,mBAAK,gBAAgB;AACrB,mBAAK,YAAY;AACjB,mBAAK,YAAY;AACjB,oBAAM,oBAAoB;AAAA,YAC5B;AAKA,gBAAI,kBAAkB,MAAM;AAE5B,gBAAI,oBAAoB,MAAM;AAC5B,kBAAI,cAAc;AAElB,iBAAG;AACD,oBAAI,kBAAkB,YAAY;AAClC,0CAA0B,QAAQ,WAAW,0BAA0B,OAAO,eAAe;AAC7F,uCAAuB,eAAe;AACtC,8BAAc,YAAY;AAAA,cAC5B,SAAS,gBAAgB;AAAA,YAC3B,WAAW,cAAc,MAAM;AAG7B,oBAAM,QAAQ;AAAA,YAChB;AAEA,gBAAI,WAAW,MAAM;AACrB,mBAAO,CAAC,KAAK,eAAe,QAAQ;AAAA,UACtC;AAEA,mBAAS,gBAAgB,SAAS,YAAY,MAAM;AAClD,gBAAI,OAAO,yBAAyB;AACpC,gBAAI,QAAQ,KAAK;AAEjB,gBAAI,UAAU,MAAM;AAClB,oBAAM,IAAI,MAAM,2EAA2E;AAAA,YAC7F;AAEA,kBAAM,sBAAsB;AAG5B,gBAAI,WAAW,MAAM;AACrB,gBAAI,wBAAwB,MAAM;AAClC,gBAAI,WAAW,KAAK;AAEpB,gBAAI,0BAA0B,MAAM;AAElC,oBAAM,UAAU;AAChB,kBAAI,yBAAyB,sBAAsB;AACnD,kBAAI,SAAS;AAEb,iBAAG;AAID,oBAAI,SAAS,OAAO;AACpB,2BAAW,QAAQ,UAAU,MAAM;AACnC,yBAAS,OAAO;AAAA,cAClB,SAAS,WAAW;AAIpB,kBAAI,CAAC,SAAS,UAAU,KAAK,aAAa,GAAG;AAC3C,iDAAiC;AAAA,cACnC;AAEA,mBAAK,gBAAgB;AAKrB,kBAAI,KAAK,cAAc,MAAM;AAC3B,qBAAK,YAAY;AAAA,cACnB;AAEA,oBAAM,oBAAoB;AAAA,YAC5B;AAEA,mBAAO,CAAC,UAAU,QAAQ;AAAA,UAC5B;AAEA,mBAAS,mBAAmB,QAAQ,aAAa,WAAW;AAC1D;AACE,qBAAO;AAAA,YACT;AAAA,UACF;AAEA,mBAAS,oBAAoB,QAAQ,aAAa,WAAW;AAC3D;AACE,qBAAO;AAAA,YACT;AAAA,UACF;AAEA,mBAAS,uBAAuB,WAAW,aAAa,mBAAmB;AACzE,gBAAI,QAAQ;AACZ,gBAAI,OAAO,wBAAwB;AACnC,gBAAI;AACJ,gBAAIV,eAAc,eAAe;AAEjC,gBAAIA,cAAa;AACf,kBAAI,sBAAsB,QAAW;AACnC,sBAAM,IAAI,MAAM,4GAAiH;AAAA,cACnI;AAEA,6BAAe,kBAAkB;AAEjC;AACE,oBAAI,CAAC,4BAA4B;AAC/B,sBAAI,iBAAiB,kBAAkB,GAAG;AACxC,0BAAM,4EAA4E;AAElF,iDAA6B;AAAA,kBAC/B;AAAA,gBACF;AAAA,cACF;AAAA,YACF,OAAO;AACL,6BAAe,YAAY;AAE3B;AACE,oBAAI,CAAC,4BAA4B;AAC/B,sBAAI,iBAAiB,YAAY;AAEjC,sBAAI,CAAC,SAAS,cAAc,cAAc,GAAG;AAC3C,0BAAM,sEAAsE;AAE5E,iDAA6B;AAAA,kBAC/B;AAAA,gBACF;AAAA,cACF;AASA,kBAAIW,QAAO,sBAAsB;AAEjC,kBAAIA,UAAS,MAAM;AACjB,sBAAM,IAAI,MAAM,iFAAiF;AAAA,cACnG;AAEA,kBAAI,CAAC,qBAAqBA,OAAM,WAAW,GAAG;AAC5C,0CAA0B,OAAO,aAAa,YAAY;AAAA,cAC5D;AAAA,YACF;AAKA,iBAAK,gBAAgB;AACrB,gBAAI,OAAO;AAAA,cACT,OAAO;AAAA,cACP;AAAA,YACF;AACA,iBAAK,QAAQ;AAEb,wBAAY,iBAAiB,KAAK,MAAM,OAAO,MAAM,SAAS,GAAG,CAAC,SAAS,CAAC;AAQ5E,kBAAM,SAAS;AACf,uBAAW,YAAY,WAAW,oBAAoB,KAAK,MAAM,OAAO,MAAM,cAAc,WAAW,GAAG,QAAW,IAAI;AACzH,mBAAO;AAAA,UACT;AAEA,mBAAS,wBAAwB,WAAW,aAAa,mBAAmB;AAC1E,gBAAI,QAAQ;AACZ,gBAAI,OAAO,yBAAyB;AAIpC,gBAAI,eAAe,YAAY;AAE/B;AACE,kBAAI,CAAC,4BAA4B;AAC/B,oBAAI,iBAAiB,YAAY;AAEjC,oBAAI,CAAC,SAAS,cAAc,cAAc,GAAG;AAC3C,wBAAM,sEAAsE;AAE5E,+CAA6B;AAAA,gBAC/B;AAAA,cACF;AAAA,YACF;AAEA,gBAAI,eAAe,KAAK;AACxB,gBAAI,kBAAkB,CAAC,SAAS,cAAc,YAAY;AAE1D,gBAAI,iBAAiB;AACnB,mBAAK,gBAAgB;AACrB,+CAAiC;AAAA,YACnC;AAEA,gBAAI,OAAO,KAAK;AAChB,yBAAa,iBAAiB,KAAK,MAAM,OAAO,MAAM,SAAS,GAAG,CAAC,SAAS,CAAC;AAK7E,gBAAI,KAAK,gBAAgB,eAAe;AAAA;AAAA,YAExC,uBAAuB,QAAQ,mBAAmB,cAAc,MAAM,WAAW;AAC/E,oBAAM,SAAS;AACf,yBAAW,YAAY,WAAW,oBAAoB,KAAK,MAAM,OAAO,MAAM,cAAc,WAAW,GAAG,QAAW,IAAI;AAIzH,kBAAIA,QAAO,sBAAsB;AAEjC,kBAAIA,UAAS,MAAM;AACjB,sBAAM,IAAI,MAAM,iFAAiF;AAAA,cACnG;AAEA,kBAAI,CAAC,qBAAqBA,OAAM,WAAW,GAAG;AAC5C,0CAA0B,OAAO,aAAa,YAAY;AAAA,cAC5D;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,0BAA0B,OAAO,aAAa,kBAAkB;AACvE,kBAAM,SAAS;AACf,gBAAI,QAAQ;AAAA,cACV;AAAA,cACA,OAAO;AAAA,YACT;AACA,gBAAI,uBAAuB,0BAA0B;AAErD,gBAAI,yBAAyB,MAAM;AACjC,qCAAuB,mCAAmC;AAC1D,wCAA0B,cAAc;AACxC,mCAAqB,SAAS,CAAC,KAAK;AAAA,YACtC,OAAO;AACL,kBAAI,SAAS,qBAAqB;AAElC,kBAAI,WAAW,MAAM;AACnB,qCAAqB,SAAS,CAAC,KAAK;AAAA,cACtC,OAAO;AACL,uBAAO,KAAK,KAAK;AAAA,cACnB;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,oBAAoB,OAAO,MAAM,cAAc,aAAa;AAEnE,iBAAK,QAAQ;AACb,iBAAK,cAAc;AAKnB,gBAAI,uBAAuB,IAAI,GAAG;AAEhC,iCAAmB,KAAK;AAAA,YAC1B;AAAA,UACF;AAEA,mBAAS,iBAAiB,OAAO,MAAM,WAAW;AAChD,gBAAI,oBAAoB,WAAY;AAGlC,kBAAI,uBAAuB,IAAI,GAAG;AAEhC,mCAAmB,KAAK;AAAA,cAC1B;AAAA,YACF;AAGA,mBAAO,UAAU,iBAAiB;AAAA,UACpC;AAEA,mBAAS,uBAAuB,MAAM;AACpC,gBAAI,oBAAoB,KAAK;AAC7B,gBAAI,YAAY,KAAK;AAErB,gBAAI;AACF,kBAAI,YAAY,kBAAkB;AAClC,qBAAO,CAAC,SAAS,WAAW,SAAS;AAAA,YACvC,SAASH,QAAO;AACd,qBAAO;AAAA,YACT;AAAA,UACF;AAEA,mBAAS,mBAAmB,OAAO;AACjC,gBAAIG,QAAO,+BAA+B,OAAO,QAAQ;AAEzD,gBAAIA,UAAS,MAAM;AACjB,oCAAsBA,OAAM,OAAO,UAAU,WAAW;AAAA,YAC1D;AAAA,UACF;AAEA,mBAAS,WAAW,cAAc;AAChC,gBAAI,OAAO,wBAAwB;AAEnC,gBAAI,OAAO,iBAAiB,YAAY;AAEtC,6BAAe,aAAa;AAAA,YAC9B;AAEA,iBAAK,gBAAgB,KAAK,YAAY;AACtC,gBAAI,QAAQ;AAAA,cACV,SAAS;AAAA,cACT,aAAa;AAAA,cACb,OAAO;AAAA,cACP,UAAU;AAAA,cACV,qBAAqB;AAAA,cACrB,mBAAmB;AAAA,YACrB;AACA,iBAAK,QAAQ;AACb,gBAAI,WAAW,MAAM,WAAW,iBAAiB,KAAK,MAAM,2BAA2B,KAAK;AAC5F,mBAAO,CAAC,KAAK,eAAe,QAAQ;AAAA,UACtC;AAEA,mBAAS,YAAY,cAAc;AACjC,mBAAO,cAAc,iBAAiB;AAAA,UACxC;AAEA,mBAAS,cAAc,cAAc;AACnC,mBAAO,gBAAgB,iBAAiB;AAAA,UAC1C;AAEA,mBAAS,WAAW,KAAK,QAAQ,SAAS,MAAM;AAC9C,gBAAI,SAAS;AAAA,cACX;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA;AAAA,cAEA,MAAM;AAAA,YACR;AACA,gBAAI,uBAAuB,0BAA0B;AAErD,gBAAI,yBAAyB,MAAM;AACjC,qCAAuB,mCAAmC;AAC1D,wCAA0B,cAAc;AACxC,mCAAqB,aAAa,OAAO,OAAO;AAAA,YAClD,OAAO;AACL,kBAAI,aAAa,qBAAqB;AAEtC,kBAAI,eAAe,MAAM;AACvB,qCAAqB,aAAa,OAAO,OAAO;AAAA,cAClD,OAAO;AACL,oBAAI,cAAc,WAAW;AAC7B,2BAAW,OAAO;AAClB,uBAAO,OAAO;AACd,qCAAqB,aAAa;AAAA,cACpC;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,SAAS,cAAc;AAC9B,gBAAI,OAAO,wBAAwB;AAEnC;AACE,kBAAI,QAAQ;AAAA,gBACV,SAAS;AAAA,cACX;AACA,mBAAK,gBAAgB;AACrB,qBAAO;AAAA,YACT;AAAA,UACF;AAEA,mBAAS,UAAU,cAAc;AAC/B,gBAAI,OAAO,yBAAyB;AACpC,mBAAO,KAAK;AAAA,UACd;AAEA,mBAAS,gBAAgB,YAAY,WAAW,QAAQ,MAAM;AAC5D,gBAAI,OAAO,wBAAwB;AACnC,gBAAI,WAAW,SAAS,SAAY,OAAO;AAC3C,sCAA0B,SAAS;AACnC,iBAAK,gBAAgB,WAAW,YAAY,WAAW,QAAQ,QAAW,QAAQ;AAAA,UACpF;AAEA,mBAAS,iBAAiB,YAAY,WAAW,QAAQ,MAAM;AAC7D,gBAAI,OAAO,yBAAyB;AACpC,gBAAI,WAAW,SAAS,SAAY,OAAO;AAC3C,gBAAI,UAAU;AAEd,gBAAI,gBAAgB,MAAM;AACxB,kBAAI,aAAa,YAAY;AAC7B,wBAAU,WAAW;AAErB,kBAAI,aAAa,MAAM;AACrB,oBAAI,WAAW,WAAW;AAE1B,oBAAI,mBAAmB,UAAU,QAAQ,GAAG;AAC1C,uBAAK,gBAAgB,WAAW,WAAW,QAAQ,SAAS,QAAQ;AACpE;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAEA,sCAA0B,SAAS;AACnC,iBAAK,gBAAgB,WAAW,YAAY,WAAW,QAAQ,SAAS,QAAQ;AAAA,UAClF;AAEA,mBAAS,YAAY,QAAQ,MAAM;AACjC,iBAAM,0BAA0B,OAAO,uBAAuB,QAAQ;AACpE,qBAAO,gBAAgB,kBAAkB,UAAU,eAAe,WAAW,QAAQ,IAAI;AAAA,YAC3F,OAAO;AACL,qBAAO,gBAAgB,UAAU,eAAe,WAAW,QAAQ,IAAI;AAAA,YACzE;AAAA,UACF;AAEA,mBAAS,aAAa,QAAQ,MAAM;AAClC,mBAAO,iBAAiB,SAAS,WAAW,QAAQ,IAAI;AAAA,UAC1D;AAEA,mBAAS,qBAAqB,QAAQ,MAAM;AAC1C,mBAAO,gBAAgB,QAAQ,WAAW,QAAQ,IAAI;AAAA,UACxD;AAEA,mBAAS,sBAAsB,QAAQ,MAAM;AAC3C,mBAAO,iBAAiB,QAAQ,WAAW,QAAQ,IAAI;AAAA,UACzD;AAEA,mBAAS,kBAAkB,QAAQ,MAAM;AACvC,gBAAI,aAAa;AAEjB;AACE,4BAAc;AAAA,YAChB;AAEA,iBAAM,0BAA0B,OAAO,uBAAuB,QAAQ;AACpE,4BAAc;AAAA,YAChB;AAEA,mBAAO,gBAAgB,YAAY,QAAQ,QAAQ,IAAI;AAAA,UACzD;AAEA,mBAAS,mBAAmB,QAAQ,MAAM;AACxC,mBAAO,iBAAiB,QAAQ,QAAQ,QAAQ,IAAI;AAAA,UACtD;AAEA,mBAAS,uBAAuB,QAAQ,KAAK;AAC3C,gBAAI,OAAO,QAAQ,YAAY;AAC7B,kBAAI,cAAc;AAElB,kBAAI,QAAQ,OAAO;AAEnB,0BAAY,KAAK;AACjB,qBAAO,WAAY;AACjB,4BAAY,IAAI;AAAA,cAClB;AAAA,YACF,WAAW,QAAQ,QAAQ,QAAQ,QAAW;AAC5C,kBAAI,YAAY;AAEhB;AACE,oBAAI,CAAC,UAAU,eAAe,SAAS,GAAG;AACxC,wBAAM,gIAAqI,0BAA0B,OAAO,KAAK,SAAS,EAAE,KAAK,IAAI,IAAI,GAAG;AAAA,gBAC9M;AAAA,cACF;AAEA,kBAAI,SAAS,OAAO;AAEpB,wBAAU,UAAU;AACpB,qBAAO,WAAY;AACjB,0BAAU,UAAU;AAAA,cACtB;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,sBAAsB,KAAK,QAAQ,MAAM;AAChD;AACE,kBAAI,OAAO,WAAW,YAAY;AAChC,sBAAM,gHAAqH,WAAW,OAAO,OAAO,SAAS,MAAM;AAAA,cACrK;AAAA,YACF;AAGA,gBAAI,aAAa,SAAS,QAAQ,SAAS,SAAY,KAAK,OAAO,CAAC,GAAG,CAAC,IAAI;AAC5E,gBAAI,aAAa;AAEjB;AACE,4BAAc;AAAA,YAChB;AAEA,iBAAM,0BAA0B,OAAO,uBAAuB,QAAQ;AACpE,4BAAc;AAAA,YAChB;AAEA,mBAAO,gBAAgB,YAAY,QAAQ,uBAAuB,KAAK,MAAM,QAAQ,GAAG,GAAG,UAAU;AAAA,UACvG;AAEA,mBAAS,uBAAuB,KAAK,QAAQ,MAAM;AACjD;AACE,kBAAI,OAAO,WAAW,YAAY;AAChC,sBAAM,gHAAqH,WAAW,OAAO,OAAO,SAAS,MAAM;AAAA,cACrK;AAAA,YACF;AAGA,gBAAI,aAAa,SAAS,QAAQ,SAAS,SAAY,KAAK,OAAO,CAAC,GAAG,CAAC,IAAI;AAC5E,mBAAO,iBAAiB,QAAQ,QAAQ,uBAAuB,KAAK,MAAM,QAAQ,GAAG,GAAG,UAAU;AAAA,UACpG;AAEA,mBAAS,gBAAgB,OAAO,aAAa;AAAA,UAG7C;AAEA,cAAI,mBAAmB;AAEvB,mBAAS,cAAc,UAAU,MAAM;AACrC,gBAAI,OAAO,wBAAwB;AACnC,gBAAI,WAAW,SAAS,SAAY,OAAO;AAC3C,iBAAK,gBAAgB,CAAC,UAAU,QAAQ;AACxC,mBAAO;AAAA,UACT;AAEA,mBAAS,eAAe,UAAU,MAAM;AACtC,gBAAI,OAAO,yBAAyB;AACpC,gBAAI,WAAW,SAAS,SAAY,OAAO;AAC3C,gBAAI,YAAY,KAAK;AAErB,gBAAI,cAAc,MAAM;AACtB,kBAAI,aAAa,MAAM;AACrB,oBAAI,WAAW,UAAU,CAAC;AAE1B,oBAAI,mBAAmB,UAAU,QAAQ,GAAG;AAC1C,yBAAO,UAAU,CAAC;AAAA,gBACpB;AAAA,cACF;AAAA,YACF;AAEA,iBAAK,gBAAgB,CAAC,UAAU,QAAQ;AACxC,mBAAO;AAAA,UACT;AAEA,mBAAS,UAAU,YAAY,MAAM;AACnC,gBAAI,OAAO,wBAAwB;AACnC,gBAAI,WAAW,SAAS,SAAY,OAAO;AAC3C,gBAAI,YAAY,WAAW;AAC3B,iBAAK,gBAAgB,CAAC,WAAW,QAAQ;AACzC,mBAAO;AAAA,UACT;AAEA,mBAAS,WAAW,YAAY,MAAM;AACpC,gBAAI,OAAO,yBAAyB;AACpC,gBAAI,WAAW,SAAS,SAAY,OAAO;AAC3C,gBAAI,YAAY,KAAK;AAErB,gBAAI,cAAc,MAAM;AAEtB,kBAAI,aAAa,MAAM;AACrB,oBAAI,WAAW,UAAU,CAAC;AAE1B,oBAAI,mBAAmB,UAAU,QAAQ,GAAG;AAC1C,yBAAO,UAAU,CAAC;AAAA,gBACpB;AAAA,cACF;AAAA,YACF;AAEA,gBAAI,YAAY,WAAW;AAC3B,iBAAK,gBAAgB,CAAC,WAAW,QAAQ;AACzC,mBAAO;AAAA,UACT;AAEA,mBAAS,mBAAmB,OAAO;AACjC,gBAAI,OAAO,wBAAwB;AACnC,iBAAK,gBAAgB;AACrB,mBAAO;AAAA,UACT;AAEA,mBAAS,oBAAoB,OAAO;AAClC,gBAAI,OAAO,yBAAyB;AACpC,gBAAI,sBAAsB;AAC1B,gBAAI,YAAY,oBAAoB;AACpC,mBAAO,wBAAwB,MAAM,WAAW,KAAK;AAAA,UACvD;AAEA,mBAAS,sBAAsB,OAAO;AACpC,gBAAI,OAAO,yBAAyB;AAEpC,gBAAI,gBAAgB,MAAM;AAExB,mBAAK,gBAAgB;AACrB,qBAAO;AAAA,YACT,OAAO;AAEL,kBAAI,YAAY,YAAY;AAC5B,qBAAO,wBAAwB,MAAM,WAAW,KAAK;AAAA,YACvD;AAAA,UACF;AAEA,mBAAS,wBAAwB,MAAM,WAAW,OAAO;AACvD,gBAAI,mBAAmB,CAAC,2BAA2B,WAAW;AAE9D,gBAAI,kBAAkB;AAGpB,kBAAI,CAAC,SAAS,OAAO,SAAS,GAAG;AAE/B,oBAAI,eAAe,wBAAwB;AAC3C,0CAA0B,QAAQ,WAAW,0BAA0B,OAAO,YAAY;AAC1F,uCAAuB,YAAY;AAKnC,qBAAK,YAAY;AAAA,cACnB;AAGA,qBAAO;AAAA,YACT,OAAO;AASL,kBAAI,KAAK,WAAW;AAElB,qBAAK,YAAY;AACjB,iDAAiC;AAAA,cACnC;AAEA,mBAAK,gBAAgB;AACrB,qBAAO;AAAA,YACT;AAAA,UACF;AAEA,mBAAS,gBAAgB,YAAY,UAAUV,UAAS;AACtD,gBAAI,mBAAmB,yBAAyB;AAChD,qCAAyB,oBAAoB,kBAAkB,uBAAuB,CAAC;AACvF,uBAAW,IAAI;AACf,gBAAI,iBAAiB,0BAA0B;AAC/C,sCAA0B,aAAa,CAAC;AACxC,gBAAI,oBAAoB,0BAA0B;AAElD;AACE,wCAA0B,WAAW,iBAAiB,oBAAI,IAAI;AAAA,YAChE;AAEA,gBAAI;AACF,yBAAW,KAAK;AAChB,uBAAS;AAAA,YACX,UAAE;AACA,uCAAyB,gBAAgB;AACzC,wCAA0B,aAAa;AAEvC;AACE,oBAAI,mBAAmB,QAAQ,kBAAkB,gBAAgB;AAC/D,sBAAI,qBAAqB,kBAAkB,eAAe;AAE1D,sBAAI,qBAAqB,IAAI;AAC3B,oBAAAb,MAAK,qMAA+M;AAAA,kBACtN;AAEA,oCAAkB,eAAe,MAAM;AAAA,gBACzC;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,kBAAkB;AACzB,gBAAI,cAAc,WAAW,KAAK,GAC9B,YAAY,YAAY,CAAC,GACzB,aAAa,YAAY,CAAC;AAG9B,gBAAI,QAAQ,gBAAgB,KAAK,MAAM,UAAU;AACjD,gBAAI,OAAO,wBAAwB;AACnC,iBAAK,gBAAgB;AACrB,mBAAO,CAAC,WAAW,KAAK;AAAA,UAC1B;AAEA,mBAAS,mBAAmB;AAC1B,gBAAI,eAAe,YAAY,GAC3B,YAAY,aAAa,CAAC;AAE9B,gBAAI,OAAO,yBAAyB;AACpC,gBAAI,QAAQ,KAAK;AACjB,mBAAO,CAAC,WAAW,KAAK;AAAA,UAC1B;AAEA,mBAAS,qBAAqB;AAC5B,gBAAI,iBAAiB,cAAc,GAC/B,YAAY,eAAe,CAAC;AAEhC,gBAAI,OAAO,yBAAyB;AACpC,gBAAI,QAAQ,KAAK;AACjB,mBAAO,CAAC,WAAW,KAAK;AAAA,UAC1B;AAEA,cAAI,qCAAqC;AACzC,mBAAS,6CAA6C;AACpD;AACE,qBAAO;AAAA,YACT;AAAA,UACF;AAEA,mBAAS,UAAU;AACjB,gBAAI,OAAO,wBAAwB;AACnC,gBAAIuB,QAAO,sBAAsB;AAMjC,gBAAI,mBAAmBA,MAAK;AAC5B,gBAAI;AAEJ,gBAAI,eAAe,GAAG;AACpB,kBAAI,SAAS,UAAU;AAEvB,mBAAK,MAAM,mBAAmB,MAAM;AAIpC,kBAAI,UAAU;AAEd,kBAAI,UAAU,GAAG;AACf,sBAAM,MAAM,QAAQ,SAAS,EAAE;AAAA,cACjC;AAEA,oBAAM;AAAA,YACR,OAAO;AAEL,kBAAI,iBAAiB;AACrB,mBAAK,MAAM,mBAAmB,MAAM,eAAe,SAAS,EAAE,IAAI;AAAA,YACpE;AAEA,iBAAK,gBAAgB;AACrB,mBAAO;AAAA,UACT;AAEA,mBAAS,WAAW;AAClB,gBAAI,OAAO,yBAAyB;AACpC,gBAAI,KAAK,KAAK;AACd,mBAAO;AAAA,UACT;AAEA,mBAAS,sBAAsB,OAAO,OAAO,QAAQ;AACnD;AACE,kBAAI,OAAO,UAAU,CAAC,MAAM,YAAY;AACtC,sBAAM,mMAA6M;AAAA,cACrN;AAAA,YACF;AAEA,gBAAI,OAAO,kBAAkB,KAAK;AAClC,gBAAI,SAAS;AAAA,cACX;AAAA,cACA;AAAA,cACA,eAAe;AAAA,cACf,YAAY;AAAA,cACZ,MAAM;AAAA,YACR;AAEA,gBAAI,oBAAoB,KAAK,GAAG;AAC9B,uCAAyB,OAAO,MAAM;AAAA,YACxC,OAAO;AACL,kBAAIA,QAAO,4BAA4B,OAAO,OAAO,QAAQ,IAAI;AAEjE,kBAAIA,UAAS,MAAM;AACjB,oBAAI,YAAY,iBAAiB;AACjC,sCAAsBA,OAAM,OAAO,MAAM,SAAS;AAClD,yCAAyBA,OAAM,OAAO,IAAI;AAAA,cAC5C;AAAA,YACF;AAEA,iCAAqB,OAAO,IAAI;AAAA,UAClC;AAEA,mBAAS,iBAAiB,OAAO,OAAO,QAAQ;AAC9C;AACE,kBAAI,OAAO,UAAU,CAAC,MAAM,YAAY;AACtC,sBAAM,mMAA6M;AAAA,cACrN;AAAA,YACF;AAEA,gBAAI,OAAO,kBAAkB,KAAK;AAClC,gBAAI,SAAS;AAAA,cACX;AAAA,cACA;AAAA,cACA,eAAe;AAAA,cACf,YAAY;AAAA,cACZ,MAAM;AAAA,YACR;AAEA,gBAAI,oBAAoB,KAAK,GAAG;AAC9B,uCAAyB,OAAO,MAAM;AAAA,YACxC,OAAO;AACL,kBAAI,YAAY,MAAM;AAEtB,kBAAI,MAAM,UAAU,YAAY,cAAc,QAAQ,UAAU,UAAU,UAAU;AAIlF,oBAAI,sBAAsB,MAAM;AAEhC,oBAAI,wBAAwB,MAAM;AAChC,sBAAI;AAEJ;AACE,qCAAiB,yBAAyB;AAC1C,6CAAyB,UAAU;AAAA,kBACrC;AAEA,sBAAI;AACF,wBAAI,eAAe,MAAM;AACzB,wBAAI,aAAa,oBAAoB,cAAc,MAAM;AAKzD,2BAAO,gBAAgB;AACvB,2BAAO,aAAa;AAEpB,wBAAI,SAAS,YAAY,YAAY,GAAG;AAMtC,mEAA6C,OAAO,OAAO,QAAQ,IAAI;AACvE;AAAA,oBACF;AAAA,kBACF,SAASH,QAAO;AAAA,kBAChB,UAAE;AACA;AACE,+CAAyB,UAAU;AAAA,oBACrC;AAAA,kBACF;AAAA,gBACF;AAAA,cACF;AAEA,kBAAIG,QAAO,4BAA4B,OAAO,OAAO,QAAQ,IAAI;AAEjE,kBAAIA,UAAS,MAAM;AACjB,oBAAI,YAAY,iBAAiB;AACjC,sCAAsBA,OAAM,OAAO,MAAM,SAAS;AAClD,yCAAyBA,OAAM,OAAO,IAAI;AAAA,cAC5C;AAAA,YACF;AAEA,iCAAqB,OAAO,IAAI;AAAA,UAClC;AAEA,mBAAS,oBAAoB,OAAO;AAClC,gBAAI,YAAY,MAAM;AACtB,mBAAO,UAAU,6BAA6B,cAAc,QAAQ,cAAc;AAAA,UACpF;AAEA,mBAAS,yBAAyB,OAAO,QAAQ;AAI/C,yDAA6C,+BAA+B;AAC5E,gBAAI,UAAU,MAAM;AAEpB,gBAAI,YAAY,MAAM;AAEpB,qBAAO,OAAO;AAAA,YAChB,OAAO;AACL,qBAAO,OAAO,QAAQ;AACtB,sBAAQ,OAAO;AAAA,YACjB;AAEA,kBAAM,UAAU;AAAA,UAClB;AAGA,mBAAS,yBAAyBA,OAAM,OAAO,MAAM;AACnD,gBAAI,iBAAiB,IAAI,GAAG;AAC1B,kBAAI,aAAa,MAAM;AAMvB,2BAAa,eAAe,YAAYA,MAAK,YAAY;AAEzD,kBAAI,gBAAgB,WAAW,YAAY,IAAI;AAC/C,oBAAM,QAAQ;AAId,gCAAkBA,OAAM,aAAa;AAAA,YACvC;AAAA,UACF;AAEA,mBAAS,qBAAqB,OAAO,MAAM,QAAQ;AAEjD;AACE,uCAAyB,OAAO,IAAI;AAAA,YACtC;AAAA,UACF;AAEA,cAAI,wBAAwB;AAAA,YAC1B;AAAA,YACA,aAAa;AAAA,YACb,YAAY;AAAA,YACZ,WAAW;AAAA,YACX,qBAAqB;AAAA,YACrB,oBAAoB;AAAA,YACpB,iBAAiB;AAAA,YACjB,SAAS;AAAA,YACT,YAAY;AAAA,YACZ,QAAQ;AAAA,YACR,UAAU;AAAA,YACV,eAAe;AAAA,YACf,kBAAkB;AAAA,YAClB,eAAe;AAAA,YACf,kBAAkB;AAAA,YAClB,sBAAsB;AAAA,YACtB,OAAO;AAAA,YACP,0BAA0B;AAAA,UAC5B;AAEA,cAAI,8BAA8B;AAClC,cAAI,2CAA2C;AAC/C,cAAI,+BAA+B;AACnC,cAAI,iCAAiC;AACrC,cAAI,2CAA2C;AAC/C,cAAI,4CAA4C;AAChD,cAAI,8CAA8C;AAElD;AACE,gBAAI,2BAA2B,WAAY;AACzC,oBAAM,8PAA6Q;AAAA,YACrR;AAEA,gBAAI,wBAAwB,WAAY;AACtC,oBAAM,oNAAmO;AAAA,YAC3O;AAEA,0CAA8B;AAAA,cAC5B,aAAa,SAAU,SAAS;AAC9B,uBAAO,YAAY,OAAO;AAAA,cAC5B;AAAA,cACA,aAAa,SAAU,UAAU,MAAM;AACrC,uCAAuB;AACvB,kCAAkB;AAClB,qCAAqB,IAAI;AACzB,uBAAO,cAAc,UAAU,IAAI;AAAA,cACrC;AAAA,cACA,YAAY,SAAU,SAAS;AAC7B,uCAAuB;AACvB,kCAAkB;AAClB,uBAAO,YAAY,OAAO;AAAA,cAC5B;AAAA,cACA,WAAW,SAAU,QAAQ,MAAM;AACjC,uCAAuB;AACvB,kCAAkB;AAClB,qCAAqB,IAAI;AACzB,uBAAO,YAAY,QAAQ,IAAI;AAAA,cACjC;AAAA,cACA,qBAAqB,SAAU,KAAK,QAAQ,MAAM;AAChD,uCAAuB;AACvB,kCAAkB;AAClB,qCAAqB,IAAI;AACzB,uBAAO,sBAAsB,KAAK,QAAQ,IAAI;AAAA,cAChD;AAAA,cACA,oBAAoB,SAAU,QAAQ,MAAM;AAC1C,uCAAuB;AACvB,kCAAkB;AAClB,qCAAqB,IAAI;AACzB,uBAAO,qBAAqB,QAAQ,IAAI;AAAA,cAC1C;AAAA,cACA,iBAAiB,SAAU,QAAQ,MAAM;AACvC,uCAAuB;AACvB,kCAAkB;AAClB,qCAAqB,IAAI;AACzB,uBAAO,kBAAkB,QAAQ,IAAI;AAAA,cACvC;AAAA,cACA,SAAS,SAAU,QAAQ,MAAM;AAC/B,uCAAuB;AACvB,kCAAkB;AAClB,qCAAqB,IAAI;AACzB,oBAAI,iBAAiB,yBAAyB;AAC9C,yCAAyB,UAAU;AAEnC,oBAAI;AACF,yBAAO,UAAU,QAAQ,IAAI;AAAA,gBAC/B,UAAE;AACA,2CAAyB,UAAU;AAAA,gBACrC;AAAA,cACF;AAAA,cACA,YAAY,SAAU,SAAS,YAAY,MAAM;AAC/C,uCAAuB;AACvB,kCAAkB;AAClB,oBAAI,iBAAiB,yBAAyB;AAC9C,yCAAyB,UAAU;AAEnC,oBAAI;AACF,yBAAO,aAAa,SAAS,YAAY,IAAI;AAAA,gBAC/C,UAAE;AACA,2CAAyB,UAAU;AAAA,gBACrC;AAAA,cACF;AAAA,cACA,QAAQ,SAAU,cAAc;AAC9B,uCAAuB;AACvB,kCAAkB;AAClB,uBAAO,SAAS,YAAY;AAAA,cAC9B;AAAA,cACA,UAAU,SAAU,cAAc;AAChC,uCAAuB;AACvB,kCAAkB;AAClB,oBAAI,iBAAiB,yBAAyB;AAC9C,yCAAyB,UAAU;AAEnC,oBAAI;AACF,yBAAO,WAAW,YAAY;AAAA,gBAChC,UAAE;AACA,2CAAyB,UAAU;AAAA,gBACrC;AAAA,cACF;AAAA,cACA,eAAe,SAAU,OAAO,aAAa;AAC3C,uCAAuB;AACvB,kCAAkB;AAClB,uBAAO,gBAAgB;AAAA,cACzB;AAAA,cACA,kBAAkB,SAAU,OAAO;AACjC,uCAAuB;AACvB,kCAAkB;AAClB,uBAAO,mBAAmB,KAAK;AAAA,cACjC;AAAA,cACA,eAAe,WAAY;AACzB,uCAAuB;AACvB,kCAAkB;AAClB,uBAAO,gBAAgB;AAAA,cACzB;AAAA,cACA,kBAAkB,SAAU,QAAQ,aAAa,WAAW;AAC1D,uCAAuB;AACvB,kCAAkB;AAClB,uBAAO,mBAAmB;AAAA,cAC5B;AAAA,cACA,sBAAsB,SAAU,WAAW,aAAa,mBAAmB;AACzE,uCAAuB;AACvB,kCAAkB;AAClB,uBAAO,uBAAuB,WAAW,aAAa,iBAAiB;AAAA,cACzE;AAAA,cACA,OAAO,WAAY;AACjB,uCAAuB;AACvB,kCAAkB;AAClB,uBAAO,QAAQ;AAAA,cACjB;AAAA,cACA,0BAA0B;AAAA,YAC5B;AAEA,uDAA2C;AAAA,cACzC,aAAa,SAAU,SAAS;AAC9B,uBAAO,YAAY,OAAO;AAAA,cAC5B;AAAA,cACA,aAAa,SAAU,UAAU,MAAM;AACrC,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,cAAc,UAAU,IAAI;AAAA,cACrC;AAAA,cACA,YAAY,SAAU,SAAS;AAC7B,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,YAAY,OAAO;AAAA,cAC5B;AAAA,cACA,WAAW,SAAU,QAAQ,MAAM;AACjC,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,YAAY,QAAQ,IAAI;AAAA,cACjC;AAAA,cACA,qBAAqB,SAAU,KAAK,QAAQ,MAAM;AAChD,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,sBAAsB,KAAK,QAAQ,IAAI;AAAA,cAChD;AAAA,cACA,oBAAoB,SAAU,QAAQ,MAAM;AAC1C,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,qBAAqB,QAAQ,IAAI;AAAA,cAC1C;AAAA,cACA,iBAAiB,SAAU,QAAQ,MAAM;AACvC,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,kBAAkB,QAAQ,IAAI;AAAA,cACvC;AAAA,cACA,SAAS,SAAU,QAAQ,MAAM;AAC/B,uCAAuB;AACvB,mCAAmB;AACnB,oBAAI,iBAAiB,yBAAyB;AAC9C,yCAAyB,UAAU;AAEnC,oBAAI;AACF,yBAAO,UAAU,QAAQ,IAAI;AAAA,gBAC/B,UAAE;AACA,2CAAyB,UAAU;AAAA,gBACrC;AAAA,cACF;AAAA,cACA,YAAY,SAAU,SAAS,YAAY,MAAM;AAC/C,uCAAuB;AACvB,mCAAmB;AACnB,oBAAI,iBAAiB,yBAAyB;AAC9C,yCAAyB,UAAU;AAEnC,oBAAI;AACF,yBAAO,aAAa,SAAS,YAAY,IAAI;AAAA,gBAC/C,UAAE;AACA,2CAAyB,UAAU;AAAA,gBACrC;AAAA,cACF;AAAA,cACA,QAAQ,SAAU,cAAc;AAC9B,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,SAAS,YAAY;AAAA,cAC9B;AAAA,cACA,UAAU,SAAU,cAAc;AAChC,uCAAuB;AACvB,mCAAmB;AACnB,oBAAI,iBAAiB,yBAAyB;AAC9C,yCAAyB,UAAU;AAEnC,oBAAI;AACF,yBAAO,WAAW,YAAY;AAAA,gBAChC,UAAE;AACA,2CAAyB,UAAU;AAAA,gBACrC;AAAA,cACF;AAAA,cACA,eAAe,SAAU,OAAO,aAAa;AAC3C,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,gBAAgB;AAAA,cACzB;AAAA,cACA,kBAAkB,SAAU,OAAO;AACjC,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,mBAAmB,KAAK;AAAA,cACjC;AAAA,cACA,eAAe,WAAY;AACzB,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,gBAAgB;AAAA,cACzB;AAAA,cACA,kBAAkB,SAAU,QAAQ,aAAa,WAAW;AAC1D,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,mBAAmB;AAAA,cAC5B;AAAA,cACA,sBAAsB,SAAU,WAAW,aAAa,mBAAmB;AACzE,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,uBAAuB,WAAW,aAAa,iBAAiB;AAAA,cACzE;AAAA,cACA,OAAO,WAAY;AACjB,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,QAAQ;AAAA,cACjB;AAAA,cACA,0BAA0B;AAAA,YAC5B;AAEA,2CAA+B;AAAA,cAC7B,aAAa,SAAU,SAAS;AAC9B,uBAAO,YAAY,OAAO;AAAA,cAC5B;AAAA,cACA,aAAa,SAAU,UAAU,MAAM;AACrC,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,eAAe,UAAU,IAAI;AAAA,cACtC;AAAA,cACA,YAAY,SAAU,SAAS;AAC7B,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,YAAY,OAAO;AAAA,cAC5B;AAAA,cACA,WAAW,SAAU,QAAQ,MAAM;AACjC,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,aAAa,QAAQ,IAAI;AAAA,cAClC;AAAA,cACA,qBAAqB,SAAU,KAAK,QAAQ,MAAM;AAChD,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,uBAAuB,KAAK,QAAQ,IAAI;AAAA,cACjD;AAAA,cACA,oBAAoB,SAAU,QAAQ,MAAM;AAC1C,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,sBAAsB,QAAQ,IAAI;AAAA,cAC3C;AAAA,cACA,iBAAiB,SAAU,QAAQ,MAAM;AACvC,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,mBAAmB,QAAQ,IAAI;AAAA,cACxC;AAAA,cACA,SAAS,SAAU,QAAQ,MAAM;AAC/B,uCAAuB;AACvB,mCAAmB;AACnB,oBAAI,iBAAiB,yBAAyB;AAC9C,yCAAyB,UAAU;AAEnC,oBAAI;AACF,yBAAO,WAAW,QAAQ,IAAI;AAAA,gBAChC,UAAE;AACA,2CAAyB,UAAU;AAAA,gBACrC;AAAA,cACF;AAAA,cACA,YAAY,SAAU,SAAS,YAAY,MAAM;AAC/C,uCAAuB;AACvB,mCAAmB;AACnB,oBAAI,iBAAiB,yBAAyB;AAC9C,yCAAyB,UAAU;AAEnC,oBAAI;AACF,yBAAO,cAAc,SAAS,YAAY,IAAI;AAAA,gBAChD,UAAE;AACA,2CAAyB,UAAU;AAAA,gBACrC;AAAA,cACF;AAAA,cACA,QAAQ,SAAU,cAAc;AAC9B,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,UAAU;AAAA,cACnB;AAAA,cACA,UAAU,SAAU,cAAc;AAChC,uCAAuB;AACvB,mCAAmB;AACnB,oBAAI,iBAAiB,yBAAyB;AAC9C,yCAAyB,UAAU;AAEnC,oBAAI;AACF,yBAAO,YAAY,YAAY;AAAA,gBACjC,UAAE;AACA,2CAAyB,UAAU;AAAA,gBACrC;AAAA,cACF;AAAA,cACA,eAAe,SAAU,OAAO,aAAa;AAC3C,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,iBAAiB;AAAA,cAC1B;AAAA,cACA,kBAAkB,SAAU,OAAO;AACjC,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,oBAAoB,KAAK;AAAA,cAClC;AAAA,cACA,eAAe,WAAY;AACzB,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,iBAAiB;AAAA,cAC1B;AAAA,cACA,kBAAkB,SAAU,QAAQ,aAAa,WAAW;AAC1D,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,oBAAoB;AAAA,cAC7B;AAAA,cACA,sBAAsB,SAAU,WAAW,aAAa,mBAAmB;AACzE,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,wBAAwB,WAAW,WAAW;AAAA,cACvD;AAAA,cACA,OAAO,WAAY;AACjB,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,SAAS;AAAA,cAClB;AAAA,cACA,0BAA0B;AAAA,YAC5B;AAEA,6CAAiC;AAAA,cAC/B,aAAa,SAAU,SAAS;AAC9B,uBAAO,YAAY,OAAO;AAAA,cAC5B;AAAA,cACA,aAAa,SAAU,UAAU,MAAM;AACrC,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,eAAe,UAAU,IAAI;AAAA,cACtC;AAAA,cACA,YAAY,SAAU,SAAS;AAC7B,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,YAAY,OAAO;AAAA,cAC5B;AAAA,cACA,WAAW,SAAU,QAAQ,MAAM;AACjC,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,aAAa,QAAQ,IAAI;AAAA,cAClC;AAAA,cACA,qBAAqB,SAAU,KAAK,QAAQ,MAAM;AAChD,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,uBAAuB,KAAK,QAAQ,IAAI;AAAA,cACjD;AAAA,cACA,oBAAoB,SAAU,QAAQ,MAAM;AAC1C,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,sBAAsB,QAAQ,IAAI;AAAA,cAC3C;AAAA,cACA,iBAAiB,SAAU,QAAQ,MAAM;AACvC,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,mBAAmB,QAAQ,IAAI;AAAA,cACxC;AAAA,cACA,SAAS,SAAU,QAAQ,MAAM;AAC/B,uCAAuB;AACvB,mCAAmB;AACnB,oBAAI,iBAAiB,yBAAyB;AAC9C,yCAAyB,UAAU;AAEnC,oBAAI;AACF,yBAAO,WAAW,QAAQ,IAAI;AAAA,gBAChC,UAAE;AACA,2CAAyB,UAAU;AAAA,gBACrC;AAAA,cACF;AAAA,cACA,YAAY,SAAU,SAAS,YAAY,MAAM;AAC/C,uCAAuB;AACvB,mCAAmB;AACnB,oBAAI,iBAAiB,yBAAyB;AAC9C,yCAAyB,UAAU;AAEnC,oBAAI;AACF,yBAAO,gBAAgB,SAAS,YAAY,IAAI;AAAA,gBAClD,UAAE;AACA,2CAAyB,UAAU;AAAA,gBACrC;AAAA,cACF;AAAA,cACA,QAAQ,SAAU,cAAc;AAC9B,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,UAAU;AAAA,cACnB;AAAA,cACA,UAAU,SAAU,cAAc;AAChC,uCAAuB;AACvB,mCAAmB;AACnB,oBAAI,iBAAiB,yBAAyB;AAC9C,yCAAyB,UAAU;AAEnC,oBAAI;AACF,yBAAO,cAAc,YAAY;AAAA,gBACnC,UAAE;AACA,2CAAyB,UAAU;AAAA,gBACrC;AAAA,cACF;AAAA,cACA,eAAe,SAAU,OAAO,aAAa;AAC3C,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,iBAAiB;AAAA,cAC1B;AAAA,cACA,kBAAkB,SAAU,OAAO;AACjC,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,sBAAsB,KAAK;AAAA,cACpC;AAAA,cACA,eAAe,WAAY;AACzB,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,mBAAmB;AAAA,cAC5B;AAAA,cACA,kBAAkB,SAAU,QAAQ,aAAa,WAAW;AAC1D,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,oBAAoB;AAAA,cAC7B;AAAA,cACA,sBAAsB,SAAU,WAAW,aAAa,mBAAmB;AACzE,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,wBAAwB,WAAW,WAAW;AAAA,cACvD;AAAA,cACA,OAAO,WAAY;AACjB,uCAAuB;AACvB,mCAAmB;AACnB,uBAAO,SAAS;AAAA,cAClB;AAAA,cACA,0BAA0B;AAAA,YAC5B;AAEA,uDAA2C;AAAA,cACzC,aAAa,SAAU,SAAS;AAC9B,yCAAyB;AACzB,uBAAO,YAAY,OAAO;AAAA,cAC5B;AAAA,cACA,aAAa,SAAU,UAAU,MAAM;AACrC,uCAAuB;AACvB,sCAAsB;AACtB,kCAAkB;AAClB,uBAAO,cAAc,UAAU,IAAI;AAAA,cACrC;AAAA,cACA,YAAY,SAAU,SAAS;AAC7B,uCAAuB;AACvB,sCAAsB;AACtB,kCAAkB;AAClB,uBAAO,YAAY,OAAO;AAAA,cAC5B;AAAA,cACA,WAAW,SAAU,QAAQ,MAAM;AACjC,uCAAuB;AACvB,sCAAsB;AACtB,kCAAkB;AAClB,uBAAO,YAAY,QAAQ,IAAI;AAAA,cACjC;AAAA,cACA,qBAAqB,SAAU,KAAK,QAAQ,MAAM;AAChD,uCAAuB;AACvB,sCAAsB;AACtB,kCAAkB;AAClB,uBAAO,sBAAsB,KAAK,QAAQ,IAAI;AAAA,cAChD;AAAA,cACA,oBAAoB,SAAU,QAAQ,MAAM;AAC1C,uCAAuB;AACvB,sCAAsB;AACtB,kCAAkB;AAClB,uBAAO,qBAAqB,QAAQ,IAAI;AAAA,cAC1C;AAAA,cACA,iBAAiB,SAAU,QAAQ,MAAM;AACvC,uCAAuB;AACvB,sCAAsB;AACtB,kCAAkB;AAClB,uBAAO,kBAAkB,QAAQ,IAAI;AAAA,cACvC;AAAA,cACA,SAAS,SAAU,QAAQ,MAAM;AAC/B,uCAAuB;AACvB,sCAAsB;AACtB,kCAAkB;AAClB,oBAAI,iBAAiB,yBAAyB;AAC9C,yCAAyB,UAAU;AAEnC,oBAAI;AACF,yBAAO,UAAU,QAAQ,IAAI;AAAA,gBAC/B,UAAE;AACA,2CAAyB,UAAU;AAAA,gBACrC;AAAA,cACF;AAAA,cACA,YAAY,SAAU,SAAS,YAAY,MAAM;AAC/C,uCAAuB;AACvB,sCAAsB;AACtB,kCAAkB;AAClB,oBAAI,iBAAiB,yBAAyB;AAC9C,yCAAyB,UAAU;AAEnC,oBAAI;AACF,yBAAO,aAAa,SAAS,YAAY,IAAI;AAAA,gBAC/C,UAAE;AACA,2CAAyB,UAAU;AAAA,gBACrC;AAAA,cACF;AAAA,cACA,QAAQ,SAAU,cAAc;AAC9B,uCAAuB;AACvB,sCAAsB;AACtB,kCAAkB;AAClB,uBAAO,SAAS,YAAY;AAAA,cAC9B;AAAA,cACA,UAAU,SAAU,cAAc;AAChC,uCAAuB;AACvB,sCAAsB;AACtB,kCAAkB;AAClB,oBAAI,iBAAiB,yBAAyB;AAC9C,yCAAyB,UAAU;AAEnC,oBAAI;AACF,yBAAO,WAAW,YAAY;AAAA,gBAChC,UAAE;AACA,2CAAyB,UAAU;AAAA,gBACrC;AAAA,cACF;AAAA,cACA,eAAe,SAAU,OAAO,aAAa;AAC3C,uCAAuB;AACvB,sCAAsB;AACtB,kCAAkB;AAClB,uBAAO,gBAAgB;AAAA,cACzB;AAAA,cACA,kBAAkB,SAAU,OAAO;AACjC,uCAAuB;AACvB,sCAAsB;AACtB,kCAAkB;AAClB,uBAAO,mBAAmB,KAAK;AAAA,cACjC;AAAA,cACA,eAAe,WAAY;AACzB,uCAAuB;AACvB,sCAAsB;AACtB,kCAAkB;AAClB,uBAAO,gBAAgB;AAAA,cACzB;AAAA,cACA,kBAAkB,SAAU,QAAQ,aAAa,WAAW;AAC1D,uCAAuB;AACvB,sCAAsB;AACtB,kCAAkB;AAClB,uBAAO,mBAAmB;AAAA,cAC5B;AAAA,cACA,sBAAsB,SAAU,WAAW,aAAa,mBAAmB;AACzE,uCAAuB;AACvB,sCAAsB;AACtB,kCAAkB;AAClB,uBAAO,uBAAuB,WAAW,aAAa,iBAAiB;AAAA,cACzE;AAAA,cACA,OAAO,WAAY;AACjB,uCAAuB;AACvB,sCAAsB;AACtB,kCAAkB;AAClB,uBAAO,QAAQ;AAAA,cACjB;AAAA,cACA,0BAA0B;AAAA,YAC5B;AAEA,wDAA4C;AAAA,cAC1C,aAAa,SAAU,SAAS;AAC9B,yCAAyB;AACzB,uBAAO,YAAY,OAAO;AAAA,cAC5B;AAAA,cACA,aAAa,SAAU,UAAU,MAAM;AACrC,uCAAuB;AACvB,sCAAsB;AACtB,mCAAmB;AACnB,uBAAO,eAAe,UAAU,IAAI;AAAA,cACtC;AAAA,cACA,YAAY,SAAU,SAAS;AAC7B,uCAAuB;AACvB,sCAAsB;AACtB,mCAAmB;AACnB,uBAAO,YAAY,OAAO;AAAA,cAC5B;AAAA,cACA,WAAW,SAAU,QAAQ,MAAM;AACjC,uCAAuB;AACvB,sCAAsB;AACtB,mCAAmB;AACnB,uBAAO,aAAa,QAAQ,IAAI;AAAA,cAClC;AAAA,cACA,qBAAqB,SAAU,KAAK,QAAQ,MAAM;AAChD,uCAAuB;AACvB,sCAAsB;AACtB,mCAAmB;AACnB,uBAAO,uBAAuB,KAAK,QAAQ,IAAI;AAAA,cACjD;AAAA,cACA,oBAAoB,SAAU,QAAQ,MAAM;AAC1C,uCAAuB;AACvB,sCAAsB;AACtB,mCAAmB;AACnB,uBAAO,sBAAsB,QAAQ,IAAI;AAAA,cAC3C;AAAA,cACA,iBAAiB,SAAU,QAAQ,MAAM;AACvC,uCAAuB;AACvB,sCAAsB;AACtB,mCAAmB;AACnB,uBAAO,mBAAmB,QAAQ,IAAI;AAAA,cACxC;AAAA,cACA,SAAS,SAAU,QAAQ,MAAM;AAC/B,uCAAuB;AACvB,sCAAsB;AACtB,mCAAmB;AACnB,oBAAI,iBAAiB,yBAAyB;AAC9C,yCAAyB,UAAU;AAEnC,oBAAI;AACF,yBAAO,WAAW,QAAQ,IAAI;AAAA,gBAChC,UAAE;AACA,2CAAyB,UAAU;AAAA,gBACrC;AAAA,cACF;AAAA,cACA,YAAY,SAAU,SAAS,YAAY,MAAM;AAC/C,uCAAuB;AACvB,sCAAsB;AACtB,mCAAmB;AACnB,oBAAI,iBAAiB,yBAAyB;AAC9C,yCAAyB,UAAU;AAEnC,oBAAI;AACF,yBAAO,cAAc,SAAS,YAAY,IAAI;AAAA,gBAChD,UAAE;AACA,2CAAyB,UAAU;AAAA,gBACrC;AAAA,cACF;AAAA,cACA,QAAQ,SAAU,cAAc;AAC9B,uCAAuB;AACvB,sCAAsB;AACtB,mCAAmB;AACnB,uBAAO,UAAU;AAAA,cACnB;AAAA,cACA,UAAU,SAAU,cAAc;AAChC,uCAAuB;AACvB,sCAAsB;AACtB,mCAAmB;AACnB,oBAAI,iBAAiB,yBAAyB;AAC9C,yCAAyB,UAAU;AAEnC,oBAAI;AACF,yBAAO,YAAY,YAAY;AAAA,gBACjC,UAAE;AACA,2CAAyB,UAAU;AAAA,gBACrC;AAAA,cACF;AAAA,cACA,eAAe,SAAU,OAAO,aAAa;AAC3C,uCAAuB;AACvB,sCAAsB;AACtB,mCAAmB;AACnB,uBAAO,iBAAiB;AAAA,cAC1B;AAAA,cACA,kBAAkB,SAAU,OAAO;AACjC,uCAAuB;AACvB,sCAAsB;AACtB,mCAAmB;AACnB,uBAAO,oBAAoB,KAAK;AAAA,cAClC;AAAA,cACA,eAAe,WAAY;AACzB,uCAAuB;AACvB,sCAAsB;AACtB,mCAAmB;AACnB,uBAAO,iBAAiB;AAAA,cAC1B;AAAA,cACA,kBAAkB,SAAU,QAAQ,aAAa,WAAW;AAC1D,uCAAuB;AACvB,sCAAsB;AACtB,mCAAmB;AACnB,uBAAO,oBAAoB;AAAA,cAC7B;AAAA,cACA,sBAAsB,SAAU,WAAW,aAAa,mBAAmB;AACzE,uCAAuB;AACvB,sCAAsB;AACtB,mCAAmB;AACnB,uBAAO,wBAAwB,WAAW,WAAW;AAAA,cACvD;AAAA,cACA,OAAO,WAAY;AACjB,uCAAuB;AACvB,sCAAsB;AACtB,mCAAmB;AACnB,uBAAO,SAAS;AAAA,cAClB;AAAA,cACA,0BAA0B;AAAA,YAC5B;AAEA,0DAA8C;AAAA,cAC5C,aAAa,SAAU,SAAS;AAC9B,yCAAyB;AACzB,uBAAO,YAAY,OAAO;AAAA,cAC5B;AAAA,cACA,aAAa,SAAU,UAAU,MAAM;AACrC,uCAAuB;AACvB,sCAAsB;AACtB,mCAAmB;AACnB,uBAAO,eAAe,UAAU,IAAI;AAAA,cACtC;AAAA,cACA,YAAY,SAAU,SAAS;AAC7B,uCAAuB;AACvB,sCAAsB;AACtB,mCAAmB;AACnB,uBAAO,YAAY,OAAO;AAAA,cAC5B;AAAA,cACA,WAAW,SAAU,QAAQ,MAAM;AACjC,uCAAuB;AACvB,sCAAsB;AACtB,mCAAmB;AACnB,uBAAO,aAAa,QAAQ,IAAI;AAAA,cAClC;AAAA,cACA,qBAAqB,SAAU,KAAK,QAAQ,MAAM;AAChD,uCAAuB;AACvB,sCAAsB;AACtB,mCAAmB;AACnB,uBAAO,uBAAuB,KAAK,QAAQ,IAAI;AAAA,cACjD;AAAA,cACA,oBAAoB,SAAU,QAAQ,MAAM;AAC1C,uCAAuB;AACvB,sCAAsB;AACtB,mCAAmB;AACnB,uBAAO,sBAAsB,QAAQ,IAAI;AAAA,cAC3C;AAAA,cACA,iBAAiB,SAAU,QAAQ,MAAM;AACvC,uCAAuB;AACvB,sCAAsB;AACtB,mCAAmB;AACnB,uBAAO,mBAAmB,QAAQ,IAAI;AAAA,cACxC;AAAA,cACA,SAAS,SAAU,QAAQ,MAAM;AAC/B,uCAAuB;AACvB,sCAAsB;AACtB,mCAAmB;AACnB,oBAAI,iBAAiB,yBAAyB;AAC9C,yCAAyB,UAAU;AAEnC,oBAAI;AACF,yBAAO,WAAW,QAAQ,IAAI;AAAA,gBAChC,UAAE;AACA,2CAAyB,UAAU;AAAA,gBACrC;AAAA,cACF;AAAA,cACA,YAAY,SAAU,SAAS,YAAY,MAAM;AAC/C,uCAAuB;AACvB,sCAAsB;AACtB,mCAAmB;AACnB,oBAAI,iBAAiB,yBAAyB;AAC9C,yCAAyB,UAAU;AAEnC,oBAAI;AACF,yBAAO,gBAAgB,SAAS,YAAY,IAAI;AAAA,gBAClD,UAAE;AACA,2CAAyB,UAAU;AAAA,gBACrC;AAAA,cACF;AAAA,cACA,QAAQ,SAAU,cAAc;AAC9B,uCAAuB;AACvB,sCAAsB;AACtB,mCAAmB;AACnB,uBAAO,UAAU;AAAA,cACnB;AAAA,cACA,UAAU,SAAU,cAAc;AAChC,uCAAuB;AACvB,sCAAsB;AACtB,mCAAmB;AACnB,oBAAI,iBAAiB,yBAAyB;AAC9C,yCAAyB,UAAU;AAEnC,oBAAI;AACF,yBAAO,cAAc,YAAY;AAAA,gBACnC,UAAE;AACA,2CAAyB,UAAU;AAAA,gBACrC;AAAA,cACF;AAAA,cACA,eAAe,SAAU,OAAO,aAAa;AAC3C,uCAAuB;AACvB,sCAAsB;AACtB,mCAAmB;AACnB,uBAAO,iBAAiB;AAAA,cAC1B;AAAA,cACA,kBAAkB,SAAU,OAAO;AACjC,uCAAuB;AACvB,sCAAsB;AACtB,mCAAmB;AACnB,uBAAO,sBAAsB,KAAK;AAAA,cACpC;AAAA,cACA,eAAe,WAAY;AACzB,uCAAuB;AACvB,sCAAsB;AACtB,mCAAmB;AACnB,uBAAO,mBAAmB;AAAA,cAC5B;AAAA,cACA,kBAAkB,SAAU,QAAQ,aAAa,WAAW;AAC1D,uCAAuB;AACvB,sCAAsB;AACtB,mCAAmB;AACnB,uBAAO,oBAAoB;AAAA,cAC7B;AAAA,cACA,sBAAsB,SAAU,WAAW,aAAa,mBAAmB;AACzE,uCAAuB;AACvB,sCAAsB;AACtB,mCAAmB;AACnB,uBAAO,wBAAwB,WAAW,WAAW;AAAA,cACvD;AAAA,cACA,OAAO,WAAY;AACjB,uCAAuB;AACvB,sCAAsB;AACtB,mCAAmB;AACnB,uBAAO,SAAS;AAAA,cAClB;AAAA,cACA,0BAA0B;AAAA,YAC5B;AAAA,UACF;AAEA,cAAI,QAAQ,UAAU;AACtB,cAAI,aAAa;AACjB,cAAI,wBAAwB;AAC5B,cAAI,oBAAoB;AACxB,cAAI,yBAAyB;AAkB7B,cAAI,wBAAwB;AAC5B,cAAI,wBAAwB;AAE5B,mBAAS,wBAAwB;AAC/B,mBAAO;AAAA,UACT;AAEA,mBAAS,4BAA4B;AACnC;AACE,sCAAwB;AAAA,YAC1B;AAAA,UACF;AAEA,mBAAS,wBAAwB;AAC/B;AACE,sCAAwB;AACxB,sCAAwB;AAAA,YAC1B;AAAA,UACF;AAEA,mBAAS,uBAAuB;AAC9B;AACE,sCAAwB;AACxB,sCAAwB;AAAA,YAC1B;AAAA,UACF;AAEA,mBAAS,gBAAgB;AACvB,mBAAO;AAAA,UACT;AAEA,mBAAS,mBAAmB;AAE1B,yBAAa,MAAM;AAAA,UACrB;AAEA,mBAAS,mBAAmB,OAAO;AAEjC,gCAAoB,MAAM;AAE1B,gBAAI,MAAM,kBAAkB,GAAG;AAC7B,oBAAM,kBAAkB,MAAM;AAAA,YAChC;AAAA,UACF;AAEA,mBAAS,2BAA2B,OAAO;AAEzC,gCAAoB;AAAA,UACtB;AAEA,mBAAS,yCAAyC,OAAO,kBAAkB;AAEzE,gBAAI,qBAAqB,GAAG;AAC1B,kBAAI,cAAc,MAAM,IAAI;AAC5B,oBAAM,kBAAkB;AAExB,kBAAI,kBAAkB;AACpB,sBAAM,mBAAmB;AAAA,cAC3B;AAEA,kCAAoB;AAAA,YACtB;AAAA,UACF;AAEA,mBAAS,2BAA2B,OAAO;AAEzC,gBAAI,yBAAyB,GAAG;AAC9B,kBAAI,cAAc,MAAM,IAAI;AAC5B,sCAAwB;AAGxB,kBAAI,cAAc,MAAM;AAExB,qBAAO,gBAAgB,MAAM;AAC3B,wBAAQ,YAAY,KAAK;AAAA,kBACvB,KAAK;AACH,wBAAIA,QAAO,YAAY;AACvB,oBAAAA,MAAK,kBAAkB;AACvB;AAAA,kBAEF,KAAK;AACH,wBAAI,kBAAkB,YAAY;AAClC,oCAAgB,kBAAkB;AAClC;AAAA,gBACJ;AAEA,8BAAc,YAAY;AAAA,cAC5B;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,4BAA4B,OAAO;AAE1C,gBAAI,0BAA0B,GAAG;AAC/B,kBAAI,cAAc,MAAM,IAAI;AAC5B,uCAAyB;AAGzB,kBAAI,cAAc,MAAM;AAExB,qBAAO,gBAAgB,MAAM;AAC3B,wBAAQ,YAAY,KAAK;AAAA,kBACvB,KAAK;AACH,wBAAIA,QAAO,YAAY;AAEvB,wBAAIA,UAAS,MAAM;AACjB,sBAAAA,MAAK,yBAAyB;AAAA,oBAChC;AAEA;AAAA,kBAEF,KAAK;AACH,wBAAI,kBAAkB,YAAY;AAElC,wBAAI,oBAAoB,MAAM;AAI5B,sCAAgB,yBAAyB;AAAA,oBAC3C;AAEA;AAAA,gBACJ;AAEA,8BAAc,YAAY;AAAA,cAC5B;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,yBAAyB;AAEhC,oCAAwB,MAAM;AAAA,UAChC;AAEA,mBAAS,0BAA0B;AAEjC,qCAAyB,MAAM;AAAA,UACjC;AAEA,mBAAS,uBAAuB,OAAO;AAIrC,gBAAI,QAAQ,MAAM;AAElB,mBAAO,OAAO;AACZ,oBAAM,kBAAkB,MAAM;AAC9B,sBAAQ,MAAM;AAAA,YAChB;AAAA,UACF;AAEA,mBAAS,2BAA2B,OAAO,QAAQ;AAGjD,mBAAO;AAAA,cACL;AAAA,cACA;AAAA,cACA,OAAO,4BAA4B,MAAM;AAAA,cACzC,QAAQ;AAAA,YACV;AAAA,UACF;AACA,mBAAS,oBAAoB,OAAO,QAAQ,OAAO;AACjD,mBAAO;AAAA,cACL;AAAA,cACA,QAAQ;AAAA,cACR,OAAO,SAAS,OAAO,QAAQ;AAAA,cAC/B,QAAQ,UAAU,OAAO,SAAS;AAAA,YACpC;AAAA,UACF;AAKA,mBAAS,gBAAgB,UAAU,WAAW;AAC5C,mBAAO;AAAA,UACT;AAEA,mBAAS,iBAAiB,UAAU,WAAW;AAC7C,gBAAI;AACF,kBAAI,WAAW,gBAAgB,UAAU,SAAS;AAGlD,kBAAI,aAAa,OAAO;AACtB;AAAA,cACF;AAEA,kBAAIH,SAAQ,UAAU;AAEtB,kBAAI,MAAM;AACR,oBAAI,SAAS,UAAU;AACvB,oBAAI,QAAQ,UAAU;AACtB,oBAAI,iBAAiB,UAAU,OAAO,QAAQ;AAI9C,oBAAIA,UAAS,QAAQA,OAAM,kBAAkB;AAC3C,sBAAI,SAAS,QAAQ,gBAAgB;AAInC;AAAA,kBACF;AAMA,0BAAQ,OAAO,EAAEA,MAAK;AAAA,gBAGxB;AAEA,oBAAI,gBAAgB,SAAS,0BAA0B,MAAM,IAAI;AACjE,oBAAI,uBAAuB,gBAAgB,sCAAsC,gBAAgB,iBAAiB;AAClH,oBAAI;AAEJ,oBAAI,SAAS,QAAQ,UAAU;AAC7B,yCAAuB;AAAA,gBACzB,OAAO;AACL,sBAAI,oBAAoB,0BAA0B,QAAQ,KAAK;AAC/D,yCAAuB,kEAAkE,4CAA4C,oBAAoB;AAAA,gBAC3J;AAEA,oBAAI,kBAAkB,uBAAuB,OAAO,iBAAiB,UAAU,KAAK;AAKpF,wBAAQ,OAAO,EAAE,eAAe;AAAA,cAClC,OAAO;AAIL,wBAAQ,OAAO,EAAEA,MAAK;AAAA,cACxB;AAAA,YACF,SAAS,GAAG;AAKV,yBAAW,WAAY;AACrB,sBAAM;AAAA,cACR,CAAC;AAAA,YACH;AAAA,UACF;AAEA,cAAI,oBAAoB,OAAO,YAAY,aAAa,UAAU;AAElE,mBAAS,sBAAsB,OAAO,WAAW,MAAM;AACrD,gBAAI,SAAS,aAAa,aAAa,IAAI;AAE3C,mBAAO,MAAM;AAGb,mBAAO,UAAU;AAAA,cACf,SAAS;AAAA,YACX;AACA,gBAAIA,SAAQ,UAAU;AAEtB,mBAAO,WAAW,WAAY;AAC5B,8BAAgBA,MAAK;AACrB,+BAAiB,OAAO,SAAS;AAAA,YACnC;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,uBAAuB,OAAO,WAAW,MAAM;AACtD,gBAAI,SAAS,aAAa,aAAa,IAAI;AAC3C,mBAAO,MAAM;AACb,gBAAI,2BAA2B,MAAM,KAAK;AAE1C,gBAAI,OAAO,6BAA6B,YAAY;AAClD,kBAAI,UAAU,UAAU;AAExB,qBAAO,UAAU,WAAY;AAC3B,uBAAO,yBAAyB,OAAO;AAAA,cACzC;AAEA,qBAAO,WAAW,WAAY;AAC5B;AACE,yDAAuC,KAAK;AAAA,gBAC9C;AAEA,iCAAiB,OAAO,SAAS;AAAA,cACnC;AAAA,YACF;AAEA,gBAAI,OAAO,MAAM;AAEjB,gBAAI,SAAS,QAAQ,OAAO,KAAK,sBAAsB,YAAY;AACjE,qBAAO,WAAW,SAAS,WAAW;AACpC;AACE,yDAAuC,KAAK;AAAA,gBAC9C;AAEA,iCAAiB,OAAO,SAAS;AAEjC,oBAAI,OAAO,6BAA6B,YAAY;AAMlD,kDAAgC,IAAI;AAAA,gBACtC;AAEA,oBAAImB,WAAU,UAAU;AACxB,oBAAI,QAAQ,UAAU;AACtB,qBAAK,kBAAkBA,UAAS;AAAA,kBAC9B,gBAAgB,UAAU,OAAO,QAAQ;AAAA,gBAC3C,CAAC;AAED;AACE,sBAAI,OAAO,6BAA6B,YAAY;AAIlD,wBAAI,CAAC,iBAAiB,MAAM,OAAO,QAAQ,GAAG;AAC5C,4BAAM,uJAA4J,0BAA0B,KAAK,KAAK,SAAS;AAAA,oBACjN;AAAA,kBACF;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,mBAAmBhB,OAAM,UAAU,OAAO;AAajD,gBAAI,YAAYA,MAAK;AACrB,gBAAI;AAEJ,gBAAI,cAAc,MAAM;AACtB,0BAAYA,MAAK,YAAY,IAAI,kBAAkB;AACnD,0BAAY,oBAAI,IAAI;AACpB,wBAAU,IAAI,UAAU,SAAS;AAAA,YACnC,OAAO;AACL,0BAAY,UAAU,IAAI,QAAQ;AAElC,kBAAI,cAAc,QAAW;AAC3B,4BAAY,oBAAI,IAAI;AACpB,0BAAU,IAAI,UAAU,SAAS;AAAA,cACnC;AAAA,YACF;AAEA,gBAAI,CAAC,UAAU,IAAI,KAAK,GAAG;AAEzB,wBAAU,IAAI,KAAK;AACnB,kBAAI,OAAO,kBAAkB,KAAK,MAAMA,OAAM,UAAU,KAAK;AAE7D;AACE,oBAAI,mBAAmB;AAErB,yCAAuBA,OAAM,KAAK;AAAA,gBACpC;AAAA,cACF;AAEA,uBAAS,KAAK,MAAM,IAAI;AAAA,YAC1B;AAAA,UACF;AAEA,mBAAS,oBAAoB,kBAAkBA,OAAM,UAAU,OAAO;AAYpE,gBAAI,YAAY,iBAAiB;AAEjC,gBAAI,cAAc,MAAM;AACtB,kBAAI,cAAc,oBAAI,IAAI;AAC1B,0BAAY,IAAI,QAAQ;AACxB,+BAAiB,cAAc;AAAA,YACjC,OAAO;AACL,wBAAU,IAAI,QAAQ;AAAA,YACxB;AAAA,UACF;AAEA,mBAAS,wBAAwB,aAAa,iBAAiB;AAI7D,gBAAI,MAAM,YAAY;AAEtB,iBAAK,YAAY,OAAO,oBAAoB,WAAW,QAAQ,qBAAqB,QAAQ,cAAc,QAAQ,sBAAsB;AACtI,kBAAI,gBAAgB,YAAY;AAEhC,kBAAI,eAAe;AACjB,4BAAY,cAAc,cAAc;AACxC,4BAAY,gBAAgB,cAAc;AAC1C,4BAAY,QAAQ,cAAc;AAAA,cACpC,OAAO;AACL,4BAAY,cAAc;AAC1B,4BAAY,gBAAgB;AAAA,cAC9B;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,oCAAoC,aAAa;AACxD,gBAAI,OAAO;AAEX,eAAG;AACD,kBAAI,KAAK,QAAQ,qBAAqB,sBAAsB,IAAI,GAAG;AACjE,uBAAO;AAAA,cACT;AAIA,qBAAO,KAAK;AAAA,YACd,SAAS,SAAS;AAElB,mBAAO;AAAA,UACT;AAEA,mBAAS,kCAAkC,kBAAkB,aAAa,aAAaA,OAAM,iBAAiB;AAG5G,iBAAK,iBAAiB,OAAO,oBAAoB,QAAQ;AAOvD,kBAAI,qBAAqB,aAAa;AAgBpC,iCAAiB,SAAS;AAAA,cAC5B,OAAO;AACL,iCAAiB,SAAS;AAC1B,4BAAY,SAAS;AAIrB,4BAAY,SAAS,EAAE,sBAAsB;AAE7C,oBAAI,YAAY,QAAQ,gBAAgB;AACtC,sBAAI,qBAAqB,YAAY;AAErC,sBAAI,uBAAuB,MAAM;AAI/B,gCAAY,MAAM;AAAA,kBACpB,OAAO;AAIL,wBAAI,SAAS,aAAa,aAAa,QAAQ;AAC/C,2BAAO,MAAM;AACb,kCAAc,aAAa,QAAQ,QAAQ;AAAA,kBAC7C;AAAA,gBACF;AAIA,4BAAY,QAAQ,WAAW,YAAY,OAAO,QAAQ;AAAA,cAC5D;AAEA,qBAAO;AAAA,YACT;AA0CA,6BAAiB,SAAS;AAG1B,6BAAiB,QAAQ;AACzB,mBAAO;AAAA,UACT;AAEA,mBAAS,eAAeA,OAAM,aAAa,aAAa,OAAO,iBAAiB;AAE9E,wBAAY,SAAS;AAErB;AACE,kBAAI,mBAAmB;AAErB,uCAAuBA,OAAM,eAAe;AAAA,cAC9C;AAAA,YACF;AAEA,gBAAI,UAAU,QAAQ,OAAO,UAAU,YAAY,OAAO,MAAM,SAAS,YAAY;AAEnF,kBAAI,WAAW;AACf,sCAAwB,WAAW;AAEnC;AACE,oBAAI,eAAe,KAAK,YAAY,OAAO,gBAAgB;AACzD,gDAA8B;AAAA,gBAChC;AAAA,cACF;AAGA,kBAAI,mBAAmB,oCAAoC,WAAW;AAEtE,kBAAI,qBAAqB,MAAM;AAC7B,iCAAiB,SAAS,CAAC;AAC3B,kDAAkC,kBAAkB,aAAa,aAAaA,OAAM,eAAe;AAGnG,oBAAI,iBAAiB,OAAO,gBAAgB;AAC1C,qCAAmBA,OAAM,UAAU,eAAe;AAAA,gBACpD;AAEA,oCAAoB,kBAAkBA,OAAM,QAAQ;AACpD;AAAA,cACF,OAAO;AAGL,oBAAI,CAAC,iBAAiB,eAAe,GAAG;AAQtC,qCAAmBA,OAAM,UAAU,eAAe;AAClD,kDAAgC;AAChC;AAAA,gBACF;AAKA,oBAAI,wBAAwB,IAAI,MAAM,mMAAkN;AAGxP,wBAAQ;AAAA,cACV;AAAA,YACF,OAAO;AAEL,kBAAI,eAAe,KAAK,YAAY,OAAO,gBAAgB;AACzD,8CAA8B;AAE9B,oBAAI,oBAAoB,oCAAoC,WAAW;AAMvE,oBAAI,sBAAsB,MAAM;AAC9B,uBAAK,kBAAkB,QAAQ,mBAAmB,SAAS;AAGzD,sCAAkB,SAAS;AAAA,kBAC7B;AAEA,oDAAkC,mBAAmB,aAAa,aAAaA,OAAM,eAAe;AAGpG,sCAAoB,2BAA2B,OAAO,WAAW,CAAC;AAClE;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAEA,oBAAQ,2BAA2B,OAAO,WAAW;AACrD,2BAAe,KAAK;AAIpB,gBAAIf,kBAAiB;AAErB,eAAG;AACD,sBAAQA,gBAAe,KAAK;AAAA,gBAC1B,KAAK,UACH;AACE,sBAAI,aAAa;AACjB,kBAAAA,gBAAe,SAAS;AACxB,sBAAI,OAAO,kBAAkB,eAAe;AAC5C,kBAAAA,gBAAe,QAAQ,WAAWA,gBAAe,OAAO,IAAI;AAC5D,sBAAI,SAAS,sBAAsBA,iBAAgB,YAAY,IAAI;AACnE,wCAAsBA,iBAAgB,MAAM;AAC5C;AAAA,gBACF;AAAA,gBAEF,KAAK;AAEH,sBAAI,YAAY;AAChB,sBAAI,OAAOA,gBAAe;AAC1B,sBAAI,WAAWA,gBAAe;AAE9B,uBAAKA,gBAAe,QAAQ,gBAAgB,YAAY,OAAO,KAAK,6BAA6B,cAAc,aAAa,QAAQ,OAAO,SAAS,sBAAsB,cAAc,CAAC,mCAAmC,QAAQ,IAAI;AACtO,oBAAAA,gBAAe,SAAS;AAExB,wBAAI,QAAQ,kBAAkB,eAAe;AAE7C,oBAAAA,gBAAe,QAAQ,WAAWA,gBAAe,OAAO,KAAK;AAE7D,wBAAI,UAAU,uBAAuBA,iBAAgB,WAAW,KAAK;AAErE,0CAAsBA,iBAAgB,OAAO;AAC7C;AAAA,kBACF;AAEA;AAAA,cACJ;AAEA,cAAAA,kBAAiBA,gBAAe;AAAA,YAClC,SAASA,oBAAmB;AAAA,UAC9B;AAEA,mBAAS,oBAAoB;AAC3B;AACE,qBAAO;AAAA,YACT;AAAA,UACF;AAEA,cAAI,sBAAsB,qBAAqB;AAC/C,cAAI,mBAAmB;AACvB,cAAI;AACJ,cAAI;AACJ,cAAI;AACJ,cAAI;AACJ,cAAI;AACJ,cAAI;AACJ,cAAI;AACJ,cAAI;AAEJ;AACE,mCAAuB,CAAC;AACxB,iDAAqC,CAAC;AACtC,yDAA6C,CAAC;AAC9C,6DAAiD,CAAC;AAClD,uCAA2B,CAAC;AAC5B,2CAA+B;AAC/B,sCAA0B,CAAC;AAC3B,sCAA0B,CAAC;AAAA,UAC7B;AAEA,mBAAS,kBAAkBc,UAASd,iBAAgB,cAAciB,cAAa;AAC7E,gBAAIH,aAAY,MAAM;AAKpB,cAAAd,gBAAe,QAAQ,iBAAiBA,iBAAgB,MAAM,cAAciB,YAAW;AAAA,YACzF,OAAO;AAML,cAAAjB,gBAAe,QAAQ,qBAAqBA,iBAAgBc,SAAQ,OAAO,cAAcG,YAAW;AAAA,YACtG;AAAA,UACF;AAEA,mBAAS,gCAAgCH,UAASd,iBAAgB,cAAciB,cAAa;AAS3F,YAAAjB,gBAAe,QAAQ,qBAAqBA,iBAAgBc,SAAQ,OAAO,MAAMG,YAAW;AAK5F,YAAAjB,gBAAe,QAAQ,qBAAqBA,iBAAgB,MAAM,cAAciB,YAAW;AAAA,UAC7F;AAEA,mBAAS,iBAAiBH,UAASd,iBAAgB,WAAW,WAAWiB,cAAa;AAIpF;AACE,kBAAIjB,gBAAe,SAASA,gBAAe,aAAa;AAGtD,oBAAI,iBAAiB,UAAU;AAE/B,oBAAI,gBAAgB;AAClB;AAAA,oBAAe;AAAA,oBAAgB;AAAA;AAAA,oBAC/B;AAAA,oBAAQ,yBAAyB,SAAS;AAAA,kBAAC;AAAA,gBAC7C;AAAA,cACF;AAAA,YACF;AAEA,gBAAIgC,UAAS,UAAU;AACvB,gBAAI,MAAMhC,gBAAe;AAEzB,gBAAI;AACJ,gBAAI;AACJ,iCAAqBA,iBAAgBiB,YAAW;AAEhD;AACE,yCAA2BjB,eAAc;AAAA,YAC3C;AAEA;AACE,kCAAoB,UAAUA;AAC9B,6BAAe,IAAI;AACnB,6BAAe,gBAAgBc,UAASd,iBAAgBgC,SAAQ,WAAW,KAAKf,YAAW;AAC3F,sBAAQ,qBAAqB;AAE7B,kBAAKjB,gBAAe,OAAO,kBAAkB;AAC3C,2CAA2B,IAAI;AAE/B,oBAAI;AACF,iCAAe,gBAAgBc,UAASd,iBAAgBgC,SAAQ,WAAW,KAAKf,YAAW;AAC3F,0BAAQ,qBAAqB;AAAA,gBAC/B,UAAE;AACA,6CAA2B,KAAK;AAAA,gBAClC;AAAA,cACF;AAEA,6BAAe,KAAK;AAAA,YACtB;AAEA;AACE,yCAA2B;AAAA,YAC7B;AAEA,gBAAIH,aAAY,QAAQ,CAAC,kBAAkB;AACzC,2BAAaA,UAASd,iBAAgBiB,YAAW;AACjD,qBAAO,6BAA6BH,UAASd,iBAAgBiB,YAAW;AAAA,YAC1E;AAEA,gBAAI,eAAe,KAAK,OAAO;AAC7B,qCAAuBjB,eAAc;AAAA,YACvC;AAGA,YAAAA,gBAAe,SAAS;AACxB,8BAAkBc,UAASd,iBAAgB,cAAciB,YAAW;AACpE,mBAAOjB,gBAAe;AAAA,UACxB;AAEA,mBAAS,oBAAoBc,UAASd,iBAAgB,WAAW,WAAWiB,cAAa;AACvF,gBAAIH,aAAY,MAAM;AACpB,kBAAI,OAAO,UAAU;AAErB,kBAAI,0BAA0B,IAAI,KAAK,UAAU,YAAY;AAAA,cAC7D,UAAU,iBAAiB,QAAW;AACpC,oBAAI,eAAe;AAEnB;AACE,iCAAe,+BAA+B,IAAI;AAAA,gBACpD;AAKA,gBAAAd,gBAAe,MAAM;AACrB,gBAAAA,gBAAe,OAAO;AAEtB;AACE,iDAA+BA,iBAAgB,IAAI;AAAA,gBACrD;AAEA,uBAAO,0BAA0Bc,UAASd,iBAAgB,cAAc,WAAWiB,YAAW;AAAA,cAChG;AAEA;AACE,oBAAI,iBAAiB,KAAK;AAE1B,oBAAI,gBAAgB;AAGlB;AAAA,oBAAe;AAAA,oBAAgB;AAAA;AAAA,oBAC/B;AAAA,oBAAQ,yBAAyB,IAAI;AAAA,kBAAC;AAAA,gBACxC;AAAA,cACF;AAEA,kBAAI,QAAQ,4BAA4B,UAAU,MAAM,MAAM,WAAWjB,iBAAgBA,gBAAe,MAAMiB,YAAW;AACzH,oBAAM,MAAMjB,gBAAe;AAC3B,oBAAM,SAASA;AACf,cAAAA,gBAAe,QAAQ;AACvB,qBAAO;AAAA,YACT;AAEA;AACE,kBAAI,QAAQ,UAAU;AACtB,kBAAI,kBAAkB,MAAM;AAE5B,kBAAI,iBAAiB;AAGnB;AAAA,kBAAe;AAAA,kBAAiB;AAAA;AAAA,kBAChC;AAAA,kBAAQ,yBAAyB,KAAK;AAAA,gBAAC;AAAA,cACzC;AAAA,YACF;AAEA,gBAAI,eAAec,SAAQ;AAE3B,gBAAI,8BAA8B,8BAA8BA,UAASG,YAAW;AAEpF,gBAAI,CAAC,6BAA6B;AAGhC,kBAAI,YAAY,aAAa;AAE7B,kBAAI,UAAU,UAAU;AACxB,wBAAU,YAAY,OAAO,UAAU;AAEvC,kBAAI,QAAQ,WAAW,SAAS,KAAKH,SAAQ,QAAQd,gBAAe,KAAK;AACvE,uBAAO,6BAA6Bc,UAASd,iBAAgBiB,YAAW;AAAA,cAC1E;AAAA,YACF;AAGA,YAAAjB,gBAAe,SAAS;AACxB,gBAAI,WAAW,qBAAqB,cAAc,SAAS;AAC3D,qBAAS,MAAMA,gBAAe;AAC9B,qBAAS,SAASA;AAClB,YAAAA,gBAAe,QAAQ;AACvB,mBAAO;AAAA,UACT;AAEA,mBAAS,0BAA0Bc,UAASd,iBAAgB,WAAW,WAAWiB,cAAa;AAI7F;AACE,kBAAIjB,gBAAe,SAASA,gBAAe,aAAa;AAGtD,oBAAI,gBAAgBA,gBAAe;AAEnC,oBAAI,cAAc,aAAa,iBAAiB;AAI9C,sBAAI,gBAAgB;AACpB,sBAAI,UAAU,cAAc;AAC5B,sBAAI,OAAO,cAAc;AAEzB,sBAAI;AACF,oCAAgB,KAAK,OAAO;AAAA,kBAC9B,SAAS,GAAG;AACV,oCAAgB;AAAA,kBAClB;AAGA,sBAAI,iBAAiB,iBAAiB,cAAc;AAEpD,sBAAI,gBAAgB;AAClB;AAAA,sBAAe;AAAA,sBAAgB;AAAA;AAAA,sBAC/B;AAAA,sBAAQ,yBAAyB,aAAa;AAAA,oBAAC;AAAA,kBACjD;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAEA,gBAAIc,aAAY,MAAM;AACpB,kBAAI,YAAYA,SAAQ;AAExB,kBAAI,aAAa,WAAW,SAAS,KAAKA,SAAQ,QAAQd,gBAAe;AAAA,cACxEA,gBAAe,SAASc,SAAQ,MAAQ;AACvC,mCAAmB;AAgBnB,gBAAAd,gBAAe,eAAe,YAAY;AAE1C,oBAAI,CAAC,8BAA8Bc,UAASG,YAAW,GAAG;AAcxD,kBAAAjB,gBAAe,QAAQc,SAAQ;AAC/B,yBAAO,6BAA6BA,UAASd,iBAAgBiB,YAAW;AAAA,gBAC1E,YAAYH,SAAQ,QAAQ,kCAAkC,SAAS;AAGrE,qCAAmB;AAAA,gBACrB;AAAA,cACF;AAAA,YACF;AAEA,mBAAO,wBAAwBA,UAASd,iBAAgB,WAAW,WAAWiB,YAAW;AAAA,UAC3F;AAEA,mBAAS,yBAAyBH,UAASd,iBAAgBiB,cAAa;AACtE,gBAAI,YAAYjB,gBAAe;AAC/B,gBAAI,eAAe,UAAU;AAC7B,gBAAI,YAAYc,aAAY,OAAOA,SAAQ,gBAAgB;AAE3D,gBAAI,UAAU,SAAS,YAAY,oBAAqB;AAEtD,mBAAKd,gBAAe,OAAO,oBAAoB,QAAQ;AAGrD,oBAAI,YAAY;AAAA,kBACd,WAAW;AAAA,kBACX,WAAW;AAAA,kBACX,aAAa;AAAA,gBACf;AACA,gBAAAA,gBAAe,gBAAgB;AAE/B,gCAAgBA,iBAAgBiB,YAAW;AAAA,cAC7C,WAAW,CAAC,iBAAiBA,cAAa,aAAa,GAAG;AACxD,oBAAI,mBAAmB;AAGvB,oBAAI;AAEJ,oBAAI,cAAc,MAAM;AACtB,sBAAI,gBAAgB,UAAU;AAC9B,kCAAgB,WAAW,eAAeA,YAAW;AAAA,gBACvD,OAAO;AACL,kCAAgBA;AAAA,gBAClB;AAGA,gBAAAjB,gBAAe,QAAQA,gBAAe,aAAa,YAAY,aAAa;AAC5E,oBAAI,aAAa;AAAA,kBACf,WAAW;AAAA,kBACX,WAAW;AAAA,kBACX,aAAa;AAAA,gBACf;AACA,gBAAAA,gBAAe,gBAAgB;AAC/B,gBAAAA,gBAAe,cAAc;AAI7B,gCAAgBA,iBAAgB,aAAa;AAE7C,uBAAO;AAAA,cACT,OAAO;AAIL,oBAAI,cAAc;AAAA,kBAChB,WAAW;AAAA,kBACX,WAAW;AAAA,kBACX,aAAa;AAAA,gBACf;AACA,gBAAAA,gBAAe,gBAAgB;AAE/B,oBAAIiC,sBAAqB,cAAc,OAAO,UAAU,YAAYhB;AAEpE,gCAAgBjB,iBAAgBiC,mBAAkB;AAAA,cACpD;AAAA,YACF,OAAO;AAEL,kBAAI;AAEJ,kBAAI,cAAc,MAAM;AAEtB,sCAAsB,WAAW,UAAU,WAAWhB,YAAW;AAEjE,gBAAAjB,gBAAe,gBAAgB;AAAA,cACjC,OAAO;AAIL,sCAAsBiB;AAAA,cACxB;AAEA,8BAAgBjB,iBAAgB,mBAAmB;AAAA,YACrD;AAEA,8BAAkBc,UAASd,iBAAgB,cAAciB,YAAW;AACpE,mBAAOjB,gBAAe;AAAA,UACxB;AAEA,mBAAS,eAAec,UAASd,iBAAgBiB,cAAa;AAC5D,gBAAI,eAAejB,gBAAe;AAClC,8BAAkBc,UAASd,iBAAgB,cAAciB,YAAW;AACpE,mBAAOjB,gBAAe;AAAA,UACxB;AAEA,mBAAS,WAAWc,UAASd,iBAAgBiB,cAAa;AACxD,gBAAI,eAAejB,gBAAe,aAAa;AAC/C,8BAAkBc,UAASd,iBAAgB,cAAciB,YAAW;AACpE,mBAAOjB,gBAAe;AAAA,UACxB;AAEA,mBAAS,eAAec,UAASd,iBAAgBiB,cAAa;AAC5D;AACE,cAAAjB,gBAAe,SAAS;AAExB;AAGE,oBAAI,YAAYA,gBAAe;AAC/B,0BAAU,iBAAiB;AAC3B,0BAAU,wBAAwB;AAAA,cACpC;AAAA,YACF;AAEA,gBAAI,YAAYA,gBAAe;AAC/B,gBAAI,eAAe,UAAU;AAC7B,8BAAkBc,UAASd,iBAAgB,cAAciB,YAAW;AACpE,mBAAOjB,gBAAe;AAAA,UACxB;AAEA,mBAAS,QAAQc,UAASd,iBAAgB;AACxC,gBAAI,MAAMA,gBAAe;AAEzB,gBAAIc,aAAY,QAAQ,QAAQ,QAAQA,aAAY,QAAQA,SAAQ,QAAQ,KAAK;AAE/E,cAAAd,gBAAe,SAAS;AAExB;AACE,gBAAAA,gBAAe,SAAS;AAAA,cAC1B;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,wBAAwBc,UAASd,iBAAgB,WAAW,WAAWiB,cAAa;AAC3F;AACE,kBAAIjB,gBAAe,SAASA,gBAAe,aAAa;AAGtD,oBAAI,iBAAiB,UAAU;AAE/B,oBAAI,gBAAgB;AAClB;AAAA,oBAAe;AAAA,oBAAgB;AAAA;AAAA,oBAC/B;AAAA,oBAAQ,yBAAyB,SAAS;AAAA,kBAAC;AAAA,gBAC7C;AAAA,cACF;AAAA,YACF;AAEA,gBAAI;AAEJ;AACE,kBAAI,kBAAkB,mBAAmBA,iBAAgB,WAAW,IAAI;AACxE,wBAAU,iBAAiBA,iBAAgB,eAAe;AAAA,YAC5D;AAEA,gBAAI;AACJ,gBAAI;AACJ,iCAAqBA,iBAAgBiB,YAAW;AAEhD;AACE,yCAA2BjB,eAAc;AAAA,YAC3C;AAEA;AACE,kCAAoB,UAAUA;AAC9B,6BAAe,IAAI;AACnB,6BAAe,gBAAgBc,UAASd,iBAAgB,WAAW,WAAW,SAASiB,YAAW;AAClG,sBAAQ,qBAAqB;AAE7B,kBAAKjB,gBAAe,OAAO,kBAAkB;AAC3C,2CAA2B,IAAI;AAE/B,oBAAI;AACF,iCAAe,gBAAgBc,UAASd,iBAAgB,WAAW,WAAW,SAASiB,YAAW;AAClG,0BAAQ,qBAAqB;AAAA,gBAC/B,UAAE;AACA,6CAA2B,KAAK;AAAA,gBAClC;AAAA,cACF;AAEA,6BAAe,KAAK;AAAA,YACtB;AAEA;AACE,yCAA2B;AAAA,YAC7B;AAEA,gBAAIH,aAAY,QAAQ,CAAC,kBAAkB;AACzC,2BAAaA,UAASd,iBAAgBiB,YAAW;AACjD,qBAAO,6BAA6BH,UAASd,iBAAgBiB,YAAW;AAAA,YAC1E;AAEA,gBAAI,eAAe,KAAK,OAAO;AAC7B,qCAAuBjB,eAAc;AAAA,YACvC;AAGA,YAAAA,gBAAe,SAAS;AACxB,8BAAkBc,UAASd,iBAAgB,cAAciB,YAAW;AACpE,mBAAOjB,gBAAe;AAAA,UACxB;AAEA,mBAAS,qBAAqBc,UAASd,iBAAgB,WAAW,WAAWiB,cAAa;AACxF;AAEE,sBAAQ,YAAYjB,eAAc,GAAG;AAAA,gBACnC,KAAK,OACH;AACE,sBAAI,YAAYA,gBAAe;AAC/B,sBAAI,OAAOA,gBAAe;AAG1B,sBAAI,eAAe,IAAI,KAAKA,gBAAe,eAAe,UAAU,OAAO;AAC3E,sBAAI,QAAQ,aAAa;AAEzB,4BAAU,QAAQ,gBAAgB,WAAW,OAAO,IAAI;AAExD;AAAA,gBACF;AAAA,gBAEF,KAAK,MACH;AACE,kBAAAA,gBAAe,SAAS;AACxB,kBAAAA,gBAAe,SAAS;AAExB,sBAAI,UAAU,IAAI,MAAM,sCAAsC;AAC9D,sBAAI,OAAO,kBAAkBiB,YAAW;AACxC,kBAAAjB,gBAAe,QAAQ,WAAWA,gBAAe,OAAO,IAAI;AAE5D,sBAAI,SAAS,uBAAuBA,iBAAgB,2BAA2B,SAASA,eAAc,GAAG,IAAI;AAC7G,wCAAsBA,iBAAgB,MAAM;AAC5C;AAAA,gBACF;AAAA,cACJ;AAEA,kBAAIA,gBAAe,SAASA,gBAAe,aAAa;AAGtD,oBAAI,iBAAiB,UAAU;AAE/B,oBAAI,gBAAgB;AAClB;AAAA,oBAAe;AAAA,oBAAgB;AAAA;AAAA,oBAC/B;AAAA,oBAAQ,yBAAyB,SAAS;AAAA,kBAAC;AAAA,gBAC7C;AAAA,cACF;AAAA,YACF;AAKA,gBAAI;AAEJ,gBAAI,kBAAkB,SAAS,GAAG;AAChC,2BAAa;AACb,kCAAoBA,eAAc;AAAA,YACpC,OAAO;AACL,2BAAa;AAAA,YACf;AAEA,iCAAqBA,iBAAgBiB,YAAW;AAChD,gBAAI,WAAWjB,gBAAe;AAC9B,gBAAI;AAEJ,gBAAI,aAAa,MAAM;AACrB,uDAAyCc,UAASd,eAAc;AAEhE,qCAAuBA,iBAAgB,WAAW,SAAS;AAC3D,iCAAmBA,iBAAgB,WAAW,WAAWiB,YAAW;AACpE,6BAAe;AAAA,YACjB,WAAWH,aAAY,MAAM;AAE3B,6BAAe,yBAAyBd,iBAAgB,WAAW,WAAWiB,YAAW;AAAA,YAC3F,OAAO;AACL,6BAAe,oBAAoBH,UAASd,iBAAgB,WAAW,WAAWiB,YAAW;AAAA,YAC/F;AAEA,gBAAI,iBAAiB,qBAAqBH,UAASd,iBAAgB,WAAW,cAAc,YAAYiB,YAAW;AAEnH;AACE,kBAAI,OAAOjB,gBAAe;AAE1B,kBAAI,gBAAgB,KAAK,UAAU,WAAW;AAC5C,oBAAI,CAAC,8BAA8B;AACjC,wBAAM,+HAAoI,0BAA0BA,eAAc,KAAK,aAAa;AAAA,gBACtM;AAEA,+CAA+B;AAAA,cACjC;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,qBAAqBc,UAASd,iBAAgB,WAAW,cAAc,YAAYiB,cAAa;AAEvG,oBAAQH,UAASd,eAAc;AAC/B,gBAAI,mBAAmBA,gBAAe,QAAQ,gBAAgB;AAE9D,gBAAI,CAAC,gBAAgB,CAAC,iBAAiB;AAErC,kBAAI,YAAY;AACd,0CAA0BA,iBAAgB,WAAW,KAAK;AAAA,cAC5D;AAEA,qBAAO,6BAA6Bc,UAASd,iBAAgBiB,YAAW;AAAA,YAC1E;AAEA,gBAAI,WAAWjB,gBAAe;AAE9B,gCAAoB,UAAUA;AAC9B,gBAAI;AAEJ,gBAAI,mBAAmB,OAAO,UAAU,6BAA6B,YAAY;AAM/E,6BAAe;AAEf;AACE,2CAA2B;AAAA,cAC7B;AAAA,YACF,OAAO;AACL;AACE,2CAA2BA,eAAc;AAAA,cAC3C;AAEA;AACE,+BAAe,IAAI;AACnB,+BAAe,SAAS,OAAO;AAE/B,oBAAKA,gBAAe,OAAO,kBAAkB;AAC3C,6CAA2B,IAAI;AAE/B,sBAAI;AACF,6BAAS,OAAO;AAAA,kBAClB,UAAE;AACA,+CAA2B,KAAK;AAAA,kBAClC;AAAA,gBACF;AAEA,+BAAe,KAAK;AAAA,cACtB;AAEA;AACE,2CAA2B;AAAA,cAC7B;AAAA,YACF;AAGA,YAAAA,gBAAe,SAAS;AAExB,gBAAIc,aAAY,QAAQ,iBAAiB;AAKvC,8CAAgCA,UAASd,iBAAgB,cAAciB,YAAW;AAAA,YACpF,OAAO;AACL,gCAAkBH,UAASd,iBAAgB,cAAciB,YAAW;AAAA,YACtE;AAIA,YAAAjB,gBAAe,gBAAgB,SAAS;AAExC,gBAAI,YAAY;AACd,wCAA0BA,iBAAgB,WAAW,IAAI;AAAA,YAC3D;AAEA,mBAAOA,gBAAe;AAAA,UACxB;AAEA,mBAAS,oBAAoBA,iBAAgB;AAC3C,gBAAIe,QAAOf,gBAAe;AAE1B,gBAAIe,MAAK,gBAAgB;AACvB,wCAA0Bf,iBAAgBe,MAAK,gBAAgBA,MAAK,mBAAmBA,MAAK,OAAO;AAAA,YACrG,WAAWA,MAAK,SAAS;AAEvB,wCAA0Bf,iBAAgBe,MAAK,SAAS,KAAK;AAAA,YAC/D;AAEA,8BAAkBf,iBAAgBe,MAAK,aAAa;AAAA,UACtD;AAEA,mBAAS,eAAeD,UAASd,iBAAgBiB,cAAa;AAC5D,gCAAoBjB,eAAc;AAElC,gBAAIc,aAAY,MAAM;AACpB,oBAAM,IAAI,MAAM,sDAAsD;AAAA,YACxE;AAEA,gBAAI,YAAYd,gBAAe;AAC/B,gBAAI,YAAYA,gBAAe;AAC/B,gBAAI,eAAe,UAAU;AAC7B,6BAAiBc,UAASd,eAAc;AACxC,+BAAmBA,iBAAgB,WAAW,MAAMiB,YAAW;AAC/D,gBAAI,YAAYjB,gBAAe;AAC/B,gBAAIe,QAAOf,gBAAe;AAI1B,gBAAI,eAAe,UAAU;AAE7B,gBAAK,UAAU,cAAc;AAK3B,kBAAI,gBAAgB;AAAA,gBAClB,SAAS;AAAA,gBACT,cAAc;AAAA,gBACd,OAAO,UAAU;AAAA,gBACjB,2BAA2B,UAAU;AAAA,gBACrC,aAAa,UAAU;AAAA,cACzB;AACA,kBAAI,cAAcA,gBAAe;AAGjC,0BAAY,YAAY;AACxB,cAAAA,gBAAe,gBAAgB;AAE/B,kBAAIA,gBAAe,QAAQ,mBAAmB;AAG5C,oBAAI,mBAAmB,2BAA2B,IAAI,MAAM,iJAA2J,GAAGA,eAAc;AACxO,uBAAO,8BAA8Bc,UAASd,iBAAgB,cAAciB,cAAa,gBAAgB;AAAA,cAC3G,WAAW,iBAAiB,cAAc;AACxC,oBAAI,oBAAoB,2BAA2B,IAAI,MAAM,qHAA0H,GAAGjB,eAAc;AAExM,uBAAO,8BAA8Bc,UAASd,iBAAgB,cAAciB,cAAa,iBAAiB;AAAA,cAC5G,OAAO;AAEL,oCAAoBjB,eAAc;AAElC,oBAAI,QAAQ,iBAAiBA,iBAAgB,MAAM,cAAciB,YAAW;AAC5E,gBAAAjB,gBAAe,QAAQ;AACvB,oBAAI,OAAO;AAEX,uBAAO,MAAM;AAOX,uBAAK,QAAQ,KAAK,QAAQ,CAAC,YAAY;AACvC,yBAAO,KAAK;AAAA,gBACd;AAAA,cACF;AAAA,YACF,OAAO;AAGL,kCAAoB;AAEpB,kBAAI,iBAAiB,cAAc;AACjC,uBAAO,6BAA6Bc,UAASd,iBAAgBiB,YAAW;AAAA,cAC1E;AAEA,gCAAkBH,UAASd,iBAAgB,cAAciB,YAAW;AAAA,YACtE;AAEA,mBAAOjB,gBAAe;AAAA,UACxB;AAEA,mBAAS,8BAA8Bc,UAASd,iBAAgB,cAAciB,cAAa,kBAAkB;AAE3G,gCAAoB;AACpB,gCAAoB,gBAAgB;AACpC,YAAAjB,gBAAe,SAAS;AACxB,8BAAkBc,UAASd,iBAAgB,cAAciB,YAAW;AACpE,mBAAOjB,gBAAe;AAAA,UACxB;AAEA,mBAAS,oBAAoBc,UAASd,iBAAgBiB,cAAa;AACjE,4BAAgBjB,eAAc;AAE9B,gBAAIc,aAAY,MAAM;AACpB,+CAAiCd,eAAc;AAAA,YACjD;AAEA,gBAAI,OAAOA,gBAAe;AAC1B,gBAAI,YAAYA,gBAAe;AAC/B,gBAAI,YAAYc,aAAY,OAAOA,SAAQ,gBAAgB;AAC3D,gBAAI,eAAe,UAAU;AAC7B,gBAAI,oBAAoB,qBAAqB,MAAM,SAAS;AAE5D,gBAAI,mBAAmB;AAKrB,6BAAe;AAAA,YACjB,WAAW,cAAc,QAAQ,qBAAqB,MAAM,SAAS,GAAG;AAGtE,cAAAd,gBAAe,SAAS;AAAA,YAC1B;AAEA,oBAAQc,UAASd,eAAc;AAC/B,8BAAkBc,UAASd,iBAAgB,cAAciB,YAAW;AACpE,mBAAOjB,gBAAe;AAAA,UACxB;AAEA,mBAAS,eAAec,UAASd,iBAAgB;AAC/C,gBAAIc,aAAY,MAAM;AACpB,+CAAiCd,eAAc;AAAA,YACjD;AAIA,mBAAO;AAAA,UACT;AAEA,mBAAS,mBAAmB,UAAUA,iBAAgB,aAAaiB,cAAa;AAC9E,qDAAyC,UAAUjB,eAAc;AACjE,gBAAI,QAAQA,gBAAe;AAC3B,gBAAI,gBAAgB;AACpB,gBAAI,UAAU,cAAc;AAC5B,gBAAI,OAAO,cAAc;AACzB,gBAAI,YAAY,KAAK,OAAO;AAE5B,YAAAA,gBAAe,OAAO;AACtB,gBAAI,cAAcA,gBAAe,MAAM,wBAAwB,SAAS;AACxE,gBAAI,gBAAgB,oBAAoB,WAAW,KAAK;AACxD,gBAAI;AAEJ,oBAAQ,aAAa;AAAA,cACnB,KAAK,mBACH;AACE;AACE,iDAA+BA,iBAAgB,SAAS;AACxD,kBAAAA,gBAAe,OAAO,YAAY,+BAA+B,SAAS;AAAA,gBAC5E;AAEA,wBAAQ,wBAAwB,MAAMA,iBAAgB,WAAW,eAAeiB,YAAW;AAC3F,uBAAO;AAAA,cACT;AAAA,cAEF,KAAK,gBACH;AACE;AACE,kBAAAjB,gBAAe,OAAO,YAAY,4BAA4B,SAAS;AAAA,gBACzE;AAEA,wBAAQ,qBAAqB,MAAMA,iBAAgB,WAAW,eAAeiB,YAAW;AACxF,uBAAO;AAAA,cACT;AAAA,cAEF,KAAK,YACH;AACE;AACE,kBAAAjB,gBAAe,OAAO,YAAY,iCAAiC,SAAS;AAAA,gBAC9E;AAEA,wBAAQ,iBAAiB,MAAMA,iBAAgB,WAAW,eAAeiB,YAAW;AACpF,uBAAO;AAAA,cACT;AAAA,cAEF,KAAK,eACH;AACE;AACE,sBAAIjB,gBAAe,SAASA,gBAAe,aAAa;AACtD,wBAAI,iBAAiB,UAAU;AAE/B,wBAAI,gBAAgB;AAClB;AAAA,wBAAe;AAAA,wBAAgB;AAAA;AAAA,wBAC/B;AAAA,wBAAQ,yBAAyB,SAAS;AAAA,sBAAC;AAAA,oBAC7C;AAAA,kBACF;AAAA,gBACF;AAEA,wBAAQ;AAAA,kBAAoB;AAAA,kBAAMA;AAAA,kBAAgB;AAAA,kBAAW,oBAAoB,UAAU,MAAM,aAAa;AAAA;AAAA,kBAC9GiB;AAAA,gBAAW;AACX,uBAAO;AAAA,cACT;AAAA,YACJ;AAEA,gBAAI,OAAO;AAEX;AACE,kBAAI,cAAc,QAAQ,OAAO,cAAc,YAAY,UAAU,aAAa,iBAAiB;AACjG,uBAAO;AAAA,cACT;AAAA,YACF;AAKA,kBAAM,IAAI,MAAM,mEAAmE,YAAY,QAAQ,2DAA2D,KAAK;AAAA,UACzK;AAEA,mBAAS,8BAA8B,UAAUjB,iBAAgB,WAAW,WAAWiB,cAAa;AAClG,qDAAyC,UAAUjB,eAAc;AAEjE,YAAAA,gBAAe,MAAM;AAKrB,gBAAI;AAEJ,gBAAI,kBAAkB,SAAS,GAAG;AAChC,2BAAa;AACb,kCAAoBA,eAAc;AAAA,YACpC,OAAO;AACL,2BAAa;AAAA,YACf;AAEA,iCAAqBA,iBAAgBiB,YAAW;AAChD,mCAAuBjB,iBAAgB,WAAW,SAAS;AAC3D,+BAAmBA,iBAAgB,WAAW,WAAWiB,YAAW;AACpE,mBAAO,qBAAqB,MAAMjB,iBAAgB,WAAW,MAAM,YAAYiB,YAAW;AAAA,UAC5F;AAEA,mBAAS,4BAA4B,UAAUjB,iBAAgB,WAAWiB,cAAa;AACrF,qDAAyC,UAAUjB,eAAc;AACjE,gBAAI,QAAQA,gBAAe;AAC3B,gBAAI;AAEJ;AACE,kBAAI,kBAAkB,mBAAmBA,iBAAgB,WAAW,KAAK;AACzE,wBAAU,iBAAiBA,iBAAgB,eAAe;AAAA,YAC5D;AAEA,iCAAqBA,iBAAgBiB,YAAW;AAChD,gBAAI;AACJ,gBAAI;AAEJ;AACE,yCAA2BjB,eAAc;AAAA,YAC3C;AAEA;AACE,kBAAI,UAAU,aAAa,OAAO,UAAU,UAAU,WAAW,YAAY;AAC3E,oBAAI,gBAAgB,yBAAyB,SAAS,KAAK;AAE3D,oBAAI,CAAC,qBAAqB,aAAa,GAAG;AACxC,wBAAM,0KAA+K,eAAe,aAAa;AAEjN,uCAAqB,aAAa,IAAI;AAAA,gBACxC;AAAA,cACF;AAEA,kBAAIA,gBAAe,OAAO,kBAAkB;AAC1C,wCAAwB,2BAA2BA,iBAAgB,IAAI;AAAA,cACzE;AAEA,6BAAe,IAAI;AACnB,kCAAoB,UAAUA;AAC9B,sBAAQ,gBAAgB,MAAMA,iBAAgB,WAAW,OAAO,SAASiB,YAAW;AACpF,sBAAQ,qBAAqB;AAC7B,6BAAe,KAAK;AAAA,YACtB;AAEA;AACE,yCAA2B;AAAA,YAC7B;AAGA,YAAAjB,gBAAe,SAAS;AAExB;AAGE,kBAAI,OAAO,UAAU,YAAY,UAAU,QAAQ,OAAO,MAAM,WAAW,cAAc,MAAM,aAAa,QAAW;AACrH,oBAAI,iBAAiB,yBAAyB,SAAS,KAAK;AAE5D,oBAAI,CAAC,mCAAmC,cAAc,GAAG;AACvD,wBAAM,kWAAsX,gBAAgB,gBAAgB,cAAc;AAE1a,qDAAmC,cAAc,IAAI;AAAA,gBACvD;AAAA,cACF;AAAA,YACF;AAEA;AAAA;AAAA;AAAA,cAEC,OAAO,UAAU,YAAY,UAAU,QAAQ,OAAO,MAAM,WAAW,cAAc,MAAM,aAAa;AAAA,cAAW;AAClH;AACE,oBAAI,kBAAkB,yBAAyB,SAAS,KAAK;AAE7D,oBAAI,CAAC,mCAAmC,eAAe,GAAG;AACxD,wBAAM,kWAAsX,iBAAiB,iBAAiB,eAAe;AAE7a,qDAAmC,eAAe,IAAI;AAAA,gBACxD;AAAA,cACF;AAGA,cAAAA,gBAAe,MAAM;AAErB,cAAAA,gBAAe,gBAAgB;AAC/B,cAAAA,gBAAe,cAAc;AAI7B,kBAAI,aAAa;AAEjB,kBAAI,kBAAkB,SAAS,GAAG;AAChC,6BAAa;AACb,oCAAoBA,eAAc;AAAA,cACpC,OAAO;AACL,6BAAa;AAAA,cACf;AAEA,cAAAA,gBAAe,gBAAgB,MAAM,UAAU,QAAQ,MAAM,UAAU,SAAY,MAAM,QAAQ;AACjG,oCAAsBA,eAAc;AACpC,iCAAmBA,iBAAgB,KAAK;AACxC,iCAAmBA,iBAAgB,WAAW,OAAOiB,YAAW;AAChE,qBAAO,qBAAqB,MAAMjB,iBAAgB,WAAW,MAAM,YAAYiB,YAAW;AAAA,YAC5F,OAAO;AAEL,cAAAjB,gBAAe,MAAM;AAErB;AAEE,oBAAKA,gBAAe,OAAO,kBAAkB;AAC3C,6CAA2B,IAAI;AAE/B,sBAAI;AACF,4BAAQ,gBAAgB,MAAMA,iBAAgB,WAAW,OAAO,SAASiB,YAAW;AACpF,4BAAQ,qBAAqB;AAAA,kBAC/B,UAAE;AACA,+CAA2B,KAAK;AAAA,kBAClC;AAAA,gBACF;AAAA,cACF;AAEA,kBAAI,eAAe,KAAK,OAAO;AAC7B,uCAAuBjB,eAAc;AAAA,cACvC;AAEA,gCAAkB,MAAMA,iBAAgB,OAAOiB,YAAW;AAE1D;AACE,+CAA+BjB,iBAAgB,SAAS;AAAA,cAC1D;AAEA,qBAAOA,gBAAe;AAAA,YACxB;AAAA,UACF;AAEA,mBAAS,+BAA+BA,iBAAgB,WAAW;AACjE;AACE,kBAAI,WAAW;AACb,oBAAI,UAAU,mBAAmB;AAC/B,wBAAM,yEAAyE,UAAU,eAAe,UAAU,QAAQ,WAAW;AAAA,gBACvI;AAAA,cACF;AAEA,kBAAIA,gBAAe,QAAQ,MAAM;AAC/B,oBAAI,OAAO;AACX,oBAAI,YAAY,oCAAoC;AAEpD,oBAAI,WAAW;AACb,0BAAQ,qCAAqC,YAAY;AAAA,gBAC3D;AAEA,oBAAI,aAAa,aAAa;AAC9B,oBAAI,cAAcA,gBAAe;AAEjC,oBAAI,aAAa;AACf,+BAAa,YAAY,WAAW,MAAM,YAAY;AAAA,gBACxD;AAEA,oBAAI,CAAC,yBAAyB,UAAU,GAAG;AACzC,2CAAyB,UAAU,IAAI;AAEvC,wBAAM,8HAAwI,IAAI;AAAA,gBACpJ;AAAA,cACF;AAEA,kBAAI,OAAO,UAAU,6BAA6B,YAAY;AAC5D,oBAAI,kBAAkB,yBAAyB,SAAS,KAAK;AAE7D,oBAAI,CAAC,+CAA+C,eAAe,GAAG;AACpE,wBAAM,oEAAoE,eAAe;AAEzF,iEAA+C,eAAe,IAAI;AAAA,gBACpE;AAAA,cACF;AAEA,kBAAI,OAAO,UAAU,gBAAgB,YAAY,UAAU,gBAAgB,MAAM;AAC/E,oBAAI,kBAAkB,yBAAyB,SAAS,KAAK;AAE7D,oBAAI,CAAC,2CAA2C,eAAe,GAAG;AAChE,wBAAM,uDAAuD,eAAe;AAE5E,6DAA2C,eAAe,IAAI;AAAA,gBAChE;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,cAAI,mBAAmB;AAAA,YACrB,YAAY;AAAA,YACZ,aAAa;AAAA,YACb,WAAW;AAAA,UACb;AAEA,mBAAS,4BAA4BiB,cAAa;AAChD,mBAAO;AAAA,cACL,WAAWA;AAAA,cACX,WAAW,kBAAkB;AAAA,cAC7B,aAAa;AAAA,YACf;AAAA,UACF;AAEA,mBAAS,6BAA6B,oBAAoBA,cAAa;AACrE,gBAAI,YAAY;AAEhB,mBAAO;AAAA,cACL,WAAW,WAAW,mBAAmB,WAAWA,YAAW;AAAA,cAC/D;AAAA,cACA,aAAa,mBAAmB;AAAA,YAClC;AAAA,UACF;AAGA,mBAAS,uBAAuB,iBAAiBH,UAASd,iBAAgBiB,cAAa;AAIrF,gBAAIH,aAAY,MAAM;AACpB,kBAAI,gBAAgBA,SAAQ;AAE5B,kBAAI,kBAAkB,MAAM;AAK1B,uBAAO;AAAA,cACT;AAAA,YACF;AAGA,mBAAO,mBAAmB,iBAAiB,qBAAqB;AAAA,UAClE;AAEA,mBAAS,8BAA8BA,UAASG,cAAa;AAE3D,mBAAO,YAAYH,SAAQ,YAAYG,YAAW;AAAA,UACpD;AAEA,mBAAS,wBAAwBH,UAASd,iBAAgBiB,cAAa;AACrE,gBAAI,YAAYjB,gBAAe;AAE/B;AACE,kBAAI,cAAcA,eAAc,GAAG;AACjC,gBAAAA,gBAAe,SAAS;AAAA,cAC1B;AAAA,YACF;AAEA,gBAAI,kBAAkB,oBAAoB;AAC1C,gBAAI,eAAe;AACnB,gBAAI,cAAcA,gBAAe,QAAQ,gBAAgB;AAEzD,gBAAI,cAAc,uBAAuB,iBAAiBc,QAAO,GAAG;AAGlE,6BAAe;AACf,cAAAd,gBAAe,SAAS,CAAC;AAAA,YAC3B,OAAO;AAEL,kBAAIc,aAAY,QAAQA,SAAQ,kBAAkB,MAAM;AAKtD;AACE,oCAAkB,0BAA0B,iBAAiB,8BAA8B;AAAA,gBAC7F;AAAA,cACF;AAAA,YACF;AAEA,8BAAkB,iCAAiC,eAAe;AAClE,gCAAoBd,iBAAgB,eAAe;AAuBnD,gBAAIc,aAAY,MAAM;AAIpB,+CAAiCd,eAAc;AAE/C,kBAAI,gBAAgBA,gBAAe;AAEnC,kBAAI,kBAAkB,MAAM;AAC1B,oBAAI,aAAa,cAAc;AAE/B,oBAAI,eAAe,MAAM;AACvB,yBAAO,iCAAiCA,iBAAgB,UAAU;AAAA,gBACpE;AAAA,cACF;AAEA,kBAAI,sBAAsB,UAAU;AACpC,kBAAI,uBAAuB,UAAU;AAErC,kBAAI,cAAc;AAChB,oBAAI,mBAAmB,8BAA8BA,iBAAgB,qBAAqB,sBAAsBiB,YAAW;AAC3H,oBAAI,uBAAuBjB,gBAAe;AAC1C,qCAAqB,gBAAgB,4BAA4BiB,YAAW;AAC5E,gBAAAjB,gBAAe,gBAAgB;AAE/B,uBAAO;AAAA,cACT,OAAO;AACL,uBAAO,6BAA6BA,iBAAgB,mBAAmB;AAAA,cACzE;AAAA,YACF,OAAO;AAGL,kBAAI,YAAYc,SAAQ;AAExB,kBAAI,cAAc,MAAM;AACtB,oBAAI,cAAc,UAAU;AAE5B,oBAAI,gBAAgB,MAAM;AACxB,yBAAO,kCAAkCA,UAASd,iBAAgB,YAAY,WAAW,aAAa,WAAWiB,YAAW;AAAA,gBAC9H;AAAA,cACF;AAEA,kBAAI,cAAc;AAChB,oBAAI,wBAAwB,UAAU;AACtC,oBAAI,uBAAuB,UAAU;AACrC,oBAAI,wBAAwB,+BAA+BH,UAASd,iBAAgB,sBAAsB,uBAAuBiB,YAAW;AAC5I,oBAAI,yBAAyBjB,gBAAe;AAC5C,oBAAI,qBAAqBc,SAAQ,MAAM;AACvC,uCAAuB,gBAAgB,uBAAuB,OAAO,4BAA4BG,YAAW,IAAI,6BAA6B,oBAAoBA,YAAW;AAE5K,uCAAuB,aAAa,8BAA8BH,UAASG,YAAW;AACtF,gBAAAjB,gBAAe,gBAAgB;AAC/B,uBAAO;AAAA,cACT,OAAO;AACL,oBAAI,wBAAwB,UAAU;AAEtC,oBAAI,yBAAyB,8BAA8Bc,UAASd,iBAAgB,uBAAuBiB,YAAW;AAEtH,gBAAAjB,gBAAe,gBAAgB;AAC/B,uBAAO;AAAA,cACT;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,6BAA6BA,iBAAgB,iBAAiBiB,cAAa;AAClF,gBAAI,OAAOjB,gBAAe;AAC1B,gBAAI,oBAAoB;AAAA,cACtB,MAAM;AAAA,cACN,UAAU;AAAA,YACZ;AACA,gBAAI,uBAAuB,kCAAkC,mBAAmB,IAAI;AACpF,iCAAqB,SAASA;AAC9B,YAAAA,gBAAe,QAAQ;AACvB,mBAAO;AAAA,UACT;AAEA,mBAAS,8BAA8BA,iBAAgB,iBAAiB,kBAAkBiB,cAAa;AACrG,gBAAI,OAAOjB,gBAAe;AAC1B,gBAAI,4BAA4BA,gBAAe;AAC/C,gBAAI,oBAAoB;AAAA,cACtB,MAAM;AAAA,cACN,UAAU;AAAA,YACZ;AACA,gBAAI;AACJ,gBAAI;AAEJ,iBAAK,OAAO,oBAAoB,UAAU,8BAA8B,MAAM;AAG5E,qCAAuB;AACvB,mCAAqB,aAAa;AAClC,mCAAqB,eAAe;AAEpC,kBAAKA,gBAAe,OAAO,aAAa;AAKtC,qCAAqB,iBAAiB;AACtC,qCAAqB,kBAAkB;AACvC,qCAAqB,mBAAmB;AACxC,qCAAqB,mBAAmB;AAAA,cAC1C;AAEA,sCAAwB,wBAAwB,kBAAkB,MAAMiB,cAAa,IAAI;AAAA,YAC3F,OAAO;AACL,qCAAuB,kCAAkC,mBAAmB,IAAI;AAChF,sCAAwB,wBAAwB,kBAAkB,MAAMA,cAAa,IAAI;AAAA,YAC3F;AAEA,iCAAqB,SAASjB;AAC9B,kCAAsB,SAASA;AAC/B,iCAAqB,UAAU;AAC/B,YAAAA,gBAAe,QAAQ;AACvB,mBAAO;AAAA,UACT;AAEA,mBAAS,kCAAkC,gBAAgB,MAAMiB,cAAa;AAG5E,mBAAO,yBAAyB,gBAAgB,MAAM,SAAS,IAAI;AAAA,UACrE;AAEA,mBAAS,mCAAmCH,UAAS,gBAAgB;AAGnE,mBAAO,qBAAqBA,UAAS,cAAc;AAAA,UACrD;AAEA,mBAAS,8BAA8BA,UAASd,iBAAgB,iBAAiBiB,cAAa;AAC5F,gBAAI,8BAA8BH,SAAQ;AAC1C,gBAAI,+BAA+B,4BAA4B;AAC/D,gBAAI,uBAAuB,mCAAmC,6BAA6B;AAAA,cACzF,MAAM;AAAA,cACN,UAAU;AAAA,YACZ,CAAC;AAED,iBAAKd,gBAAe,OAAO,oBAAoB,QAAQ;AACrD,mCAAqB,QAAQiB;AAAA,YAC/B;AAEA,iCAAqB,SAASjB;AAC9B,iCAAqB,UAAU;AAE/B,gBAAI,iCAAiC,MAAM;AAEzC,kBAAI,YAAYA,gBAAe;AAE/B,kBAAI,cAAc,MAAM;AACtB,gBAAAA,gBAAe,YAAY,CAAC,4BAA4B;AACxD,gBAAAA,gBAAe,SAAS;AAAA,cAC1B,OAAO;AACL,0BAAU,KAAK,4BAA4B;AAAA,cAC7C;AAAA,YACF;AAEA,YAAAA,gBAAe,QAAQ;AACvB,mBAAO;AAAA,UACT;AAEA,mBAAS,+BAA+Bc,UAASd,iBAAgB,iBAAiB,kBAAkBiB,cAAa;AAC/G,gBAAI,OAAOjB,gBAAe;AAC1B,gBAAI,8BAA8Bc,SAAQ;AAC1C,gBAAI,+BAA+B,4BAA4B;AAC/D,gBAAI,oBAAoB;AAAA,cACtB,MAAM;AAAA,cACN,UAAU;AAAA,YACZ;AACA,gBAAI;AAEJ;AAAA;AAAA;AAAA,eAEC,OAAO,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAM5Bd,gBAAe,UAAU;AAAA,cAA6B;AACpD,kBAAI,4BAA4BA,gBAAe;AAC/C,qCAAuB;AACvB,mCAAqB,aAAa;AAClC,mCAAqB,eAAe;AAEpC,kBAAKA,gBAAe,OAAO,aAAa;AAKtC,qCAAqB,iBAAiB;AACtC,qCAAqB,kBAAkB;AACvC,qCAAqB,mBAAmB,4BAA4B;AACpE,qCAAqB,mBAAmB,4BAA4B;AAAA,cACtE;AAKA,cAAAA,gBAAe,YAAY;AAAA,YAC7B,OAAO;AACL,qCAAuB,mCAAmC,6BAA6B,iBAAiB;AAIxG,mCAAqB,eAAe,4BAA4B,eAAe;AAAA,YACjF;AAEA,gBAAI;AAEJ,gBAAI,iCAAiC,MAAM;AACzC,sCAAwB,qBAAqB,8BAA8B,gBAAgB;AAAA,YAC7F,OAAO;AACL,sCAAwB,wBAAwB,kBAAkB,MAAMiB,cAAa,IAAI;AAGzF,oCAAsB,SAAS;AAAA,YACjC;AAEA,kCAAsB,SAASjB;AAC/B,iCAAqB,SAASA;AAC9B,iCAAqB,UAAU;AAC/B,YAAAA,gBAAe,QAAQ;AACvB,mBAAO;AAAA,UACT;AAEA,mBAAS,uCAAuCc,UAASd,iBAAgBiB,cAAa,kBAAkB;AAQtG,gBAAI,qBAAqB,MAAM;AAC7B,kCAAoB,gBAAgB;AAAA,YACtC;AAGA,iCAAqBjB,iBAAgBc,SAAQ,OAAO,MAAMG,YAAW;AAErE,gBAAI,YAAYjB,gBAAe;AAC/B,gBAAI,kBAAkB,UAAU;AAChC,gBAAI,uBAAuB,6BAA6BA,iBAAgB,eAAe;AAGvF,iCAAqB,SAAS;AAC9B,YAAAA,gBAAe,gBAAgB;AAC/B,mBAAO;AAAA,UACT;AAEA,mBAAS,gDAAgDc,UAASd,iBAAgB,iBAAiB,kBAAkBiB,cAAa;AAChI,gBAAI,YAAYjB,gBAAe;AAC/B,gBAAI,oBAAoB;AAAA,cACtB,MAAM;AAAA,cACN,UAAU;AAAA,YACZ;AACA,gBAAI,uBAAuB,kCAAkC,mBAAmB,SAAS;AACzF,gBAAI,wBAAwB,wBAAwB,kBAAkB,WAAWiB,cAAa,IAAI;AAGlG,kCAAsB,SAAS;AAC/B,iCAAqB,SAASjB;AAC9B,kCAAsB,SAASA;AAC/B,iCAAqB,UAAU;AAC/B,YAAAA,gBAAe,QAAQ;AAEvB,iBAAKA,gBAAe,OAAO,oBAAoB,QAAQ;AAGrD,mCAAqBA,iBAAgBc,SAAQ,OAAO,MAAMG,YAAW;AAAA,YACvE;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,iCAAiCjB,iBAAgB,kBAAkBiB,cAAa;AAGvF,iBAAKjB,gBAAe,OAAO,oBAAoB,QAAQ;AACrD;AACE,sBAAM,mOAAuP;AAAA,cAC/P;AAEA,cAAAA,gBAAe,QAAQ,YAAY,QAAQ;AAAA,YAC7C,WAAW,2BAA2B,gBAAgB,GAAG;AAYvD,cAAAA,gBAAe,QAAQ,YAAY,oBAAoB;AAAA,YACzD,OAAO;AAGL,cAAAA,gBAAe,QAAQ,YAAY,aAAa;AAAA,YAClD;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,kCAAkCc,UAASd,iBAAgB,YAAY,WAAW,kBAAkB,eAAeiB,cAAa;AACvI,gBAAI,CAAC,YAAY;AAIf,8BAAgB;AAEhB,mBAAKjB,gBAAe,OAAO,oBAAoB,QAAQ;AACrD,uBAAO;AAAA,kBAAuCc;AAAA,kBAASd;AAAA,kBAAgBiB;AAAA;AAAA;AAAA;AAAA,kBAGvE;AAAA,gBAAI;AAAA,cACN;AAEA,kBAAI,2BAA2B,gBAAgB,GAAG;AAIhD,oBAAI,QAAQ,SAAS;AAErB;AACE,sBAAI,wBAAwB,wCAAwC,gBAAgB;AAEpF,2BAAS,sBAAsB;AAC/B,4BAAU,sBAAsB;AAChC,0BAAQ,sBAAsB;AAAA,gBAChC;AAEA,oBAAIL;AAEJ,oBAAI,SAAS;AAEX,kBAAAA,SAAQ,IAAI,MAAM,OAAO;AAAA,gBAC3B,OAAO;AACL,kBAAAA,SAAQ,IAAI,MAAM,mIAA6I;AAAA,gBACjK;AAEA,oBAAI,gBAAgB,oBAAoBA,QAAO,QAAQ,KAAK;AAC5D,uBAAO,uCAAuCE,UAASd,iBAAgBiB,cAAa,aAAa;AAAA,cACnG;AAIA,kBAAIiB,qBAAoB,iBAAiBjB,cAAaH,SAAQ,UAAU;AAExE,kBAAI,oBAAoBoB,oBAAmB;AAGzC,oBAAInB,QAAO,sBAAsB;AAEjC,oBAAIA,UAAS,MAAM;AACjB,sBAAI,yBAAyB,0BAA0BA,OAAME,YAAW;AAExE,sBAAI,2BAA2B,UAAU,2BAA2B,cAAc,WAAW;AAI3F,kCAAc,YAAY;AAE1B,wBAAI,YAAY;AAChB,mDAA+BH,UAAS,sBAAsB;AAC9D,0CAAsBC,OAAMD,UAAS,wBAAwB,SAAS;AAAA,kBACxE;AAAA,gBACF;AAOA,gDAAgC;AAEhC,oBAAI,iBAAiB,oBAAoB,IAAI,MAAM,8MAA6N,CAAC;AAEjR,uBAAO,uCAAuCA,UAASd,iBAAgBiB,cAAa,cAAc;AAAA,cACpG,WAAW,0BAA0B,gBAAgB,GAAG;AAUtD,gBAAAjB,gBAAe,SAAS;AAExB,gBAAAA,gBAAe,QAAQc,SAAQ;AAE/B,oBAAI,QAAQ,gCAAgC,KAAK,MAAMA,QAAO;AAC9D,8CAA8B,kBAAkB,KAAK;AACrD,uBAAO;AAAA,cACT,OAAO;AAEL,oEAAoDd,iBAAgB,kBAAkB,cAAc,WAAW;AAC/G,oBAAI,kBAAkB,UAAU;AAChC,oBAAI,uBAAuB,6BAA6BA,iBAAgB,eAAe;AAOvF,qCAAqB,SAAS;AAC9B,uBAAO;AAAA,cACT;AAAA,YACF,OAAO;AAGL,kBAAIA,gBAAe,QAAQ,mBAAmB;AAE5C,gBAAAA,gBAAe,SAAS,CAAC;AAEzB,oBAAI,kBAAkB,oBAAoB,IAAI,MAAM,0FAA+F,CAAC;AAEpJ,uBAAO,uCAAuCc,UAASd,iBAAgBiB,cAAa,eAAe;AAAA,cACrG,WAAWjB,gBAAe,kBAAkB,MAAM;AAGhD,gBAAAA,gBAAe,QAAQc,SAAQ;AAG/B,gBAAAd,gBAAe,SAAS;AACxB,uBAAO;AAAA,cACT,OAAO;AAGL,oBAAI,sBAAsB,UAAU;AACpC,oBAAI,uBAAuB,UAAU;AACrC,oBAAI,wBAAwB,gDAAgDc,UAASd,iBAAgB,qBAAqB,sBAAsBiB,YAAW;AAC3J,oBAAI,yBAAyBjB,gBAAe;AAC5C,uCAAuB,gBAAgB,4BAA4BiB,YAAW;AAC9E,gBAAAjB,gBAAe,gBAAgB;AAC/B,uBAAO;AAAA,cACT;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,4BAA4B,OAAOiB,cAAa,iBAAiB;AACxE,kBAAM,QAAQ,WAAW,MAAM,OAAOA,YAAW;AACjD,gBAAI,YAAY,MAAM;AAEtB,gBAAI,cAAc,MAAM;AACtB,wBAAU,QAAQ,WAAW,UAAU,OAAOA,YAAW;AAAA,YAC3D;AAEA,4CAAgC,MAAM,QAAQA,cAAa,eAAe;AAAA,UAC5E;AAEA,mBAAS,+BAA+BjB,iBAAgB,YAAYiB,cAAa;AAI/E,gBAAI,OAAO;AAEX,mBAAO,SAAS,MAAM;AACpB,kBAAI,KAAK,QAAQ,mBAAmB;AAClC,oBAAI,QAAQ,KAAK;AAEjB,oBAAI,UAAU,MAAM;AAClB,8CAA4B,MAAMA,cAAajB,eAAc;AAAA,gBAC/D;AAAA,cACF,WAAW,KAAK,QAAQ,uBAAuB;AAM7C,4CAA4B,MAAMiB,cAAajB,eAAc;AAAA,cAC/D,WAAW,KAAK,UAAU,MAAM;AAC9B,qBAAK,MAAM,SAAS;AACpB,uBAAO,KAAK;AACZ;AAAA,cACF;AAEA,kBAAI,SAASA,iBAAgB;AAC3B;AAAA,cACF;AAEA,qBAAO,KAAK,YAAY,MAAM;AAC5B,oBAAI,KAAK,WAAW,QAAQ,KAAK,WAAWA,iBAAgB;AAC1D;AAAA,gBACF;AAEA,uBAAO,KAAK;AAAA,cACd;AAEA,mBAAK,QAAQ,SAAS,KAAK;AAC3B,qBAAO,KAAK;AAAA,YACd;AAAA,UACF;AAEA,mBAAS,mBAAmB,YAAY;AAQtC,gBAAI,MAAM;AACV,gBAAI,iBAAiB;AAErB,mBAAO,QAAQ,MAAM;AACnB,kBAAI,aAAa,IAAI;AAErB,kBAAI,eAAe,QAAQ,mBAAmB,UAAU,MAAM,MAAM;AAClE,iCAAiB;AAAA,cACnB;AAEA,oBAAM,IAAI;AAAA,YACZ;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,oBAAoB,aAAa;AACxC;AACE,kBAAI,gBAAgB,UAAa,gBAAgB,cAAc,gBAAgB,eAAe,gBAAgB,cAAc,CAAC,wBAAwB,WAAW,GAAG;AACjK,wCAAwB,WAAW,IAAI;AAEvC,oBAAI,OAAO,gBAAgB,UAAU;AACnC,0BAAQ,YAAY,YAAY,GAAG;AAAA,oBACjC,KAAK;AAAA,oBACL,KAAK;AAAA,oBACL,KAAK,aACH;AACE,4BAAM,8FAAmG,aAAa,YAAY,YAAY,CAAC;AAE/I;AAAA,oBACF;AAAA,oBAEF,KAAK;AAAA,oBACL,KAAK,YACH;AACE,4BAAM,+HAAoI,aAAa,YAAY,YAAY,CAAC;AAEhL;AAAA,oBACF;AAAA,oBAEF;AACE,4BAAM,gHAAqH,WAAW;AAEtI;AAAA,kBACJ;AAAA,gBACF,OAAO;AACL,wBAAM,wHAA6H,WAAW;AAAA,gBAChJ;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,oBAAoB,UAAU,aAAa;AAClD;AACE,kBAAI,aAAa,UAAa,CAAC,wBAAwB,QAAQ,GAAG;AAChE,oBAAI,aAAa,eAAe,aAAa,UAAU;AACrD,0CAAwB,QAAQ,IAAI;AAEpC,wBAAM,qGAA0G,QAAQ;AAAA,gBAC1H,WAAW,gBAAgB,cAAc,gBAAgB,aAAa;AACpE,0CAAwB,QAAQ,IAAI;AAEpC,wBAAM,yIAAmJ,QAAQ;AAAA,gBACnK;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,gCAAgC,WAAWgB,QAAO;AACzD;AACE,kBAAI,YAAY,QAAQ,SAAS;AACjC,kBAAI,aAAa,CAAC,aAAa,OAAO,cAAc,SAAS,MAAM;AAEnE,kBAAI,aAAa,YAAY;AAC3B,oBAAI,OAAO,YAAY,UAAU;AAEjC,sBAAM,uOAA2P,MAAMA,QAAO,IAAI;AAElR,uBAAO;AAAA,cACT;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,6BAA6B,UAAU,aAAa;AAC3D;AACE,mBAAK,gBAAgB,cAAc,gBAAgB,gBAAgB,aAAa,UAAa,aAAa,QAAQ,aAAa,OAAO;AACpI,oBAAI,QAAQ,QAAQ,GAAG;AACrB,2BAAS,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;AACxC,wBAAI,CAAC,gCAAgC,SAAS,CAAC,GAAG,CAAC,GAAG;AACpD;AAAA,oBACF;AAAA,kBACF;AAAA,gBACF,OAAO;AACL,sBAAI,aAAa,cAAc,QAAQ;AAEvC,sBAAI,OAAO,eAAe,YAAY;AACpC,wBAAI,mBAAmB,WAAW,KAAK,QAAQ;AAE/C,wBAAI,kBAAkB;AACpB,0BAAI,OAAO,iBAAiB,KAAK;AACjC,0BAAI,KAAK;AAET,6BAAO,CAAC,KAAK,MAAM,OAAO,iBAAiB,KAAK,GAAG;AACjD,4BAAI,CAAC,gCAAgC,KAAK,OAAO,EAAE,GAAG;AACpD;AAAA,wBACF;AAEA;AAAA,sBACF;AAAA,oBACF;AAAA,kBACF,OAAO;AACL,0BAAM,wKAAkL,WAAW;AAAA,kBACrM;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,4BAA4BhB,iBAAgB,aAAa,MAAM,gBAAgB,UAAU;AAChG,gBAAI,cAAcA,gBAAe;AAEjC,gBAAI,gBAAgB,MAAM;AACxB,cAAAA,gBAAe,gBAAgB;AAAA,gBAC7B;AAAA,gBACA,WAAW;AAAA,gBACX,oBAAoB;AAAA,gBACpB,MAAM;AAAA,gBACN;AAAA,gBACA;AAAA,cACF;AAAA,YACF,OAAO;AAEL,0BAAY,cAAc;AAC1B,0BAAY,YAAY;AACxB,0BAAY,qBAAqB;AACjC,0BAAY,OAAO;AACnB,0BAAY,OAAO;AACnB,0BAAY,WAAW;AAAA,YACzB;AAAA,UACF;AASA,mBAAS,4BAA4Bc,UAASd,iBAAgBiB,cAAa;AACzE,gBAAI,YAAYjB,gBAAe;AAC/B,gBAAI,cAAc,UAAU;AAC5B,gBAAI,WAAW,UAAU;AACzB,gBAAI,cAAc,UAAU;AAC5B,gCAAoB,WAAW;AAC/B,gCAAoB,UAAU,WAAW;AACzC,yCAA6B,aAAa,WAAW;AACrD,8BAAkBc,UAASd,iBAAgB,aAAaiB,YAAW;AACnE,gBAAI,kBAAkB,oBAAoB;AAC1C,gBAAI,sBAAsB,mBAAmB,iBAAiB,qBAAqB;AAEnF,gBAAI,qBAAqB;AACvB,gCAAkB,0BAA0B,iBAAiB,qBAAqB;AAClF,cAAAjB,gBAAe,SAAS;AAAA,YAC1B,OAAO;AACL,kBAAI,mBAAmBc,aAAY,SAASA,SAAQ,QAAQ,gBAAgB;AAE5E,kBAAI,kBAAkB;AAIpB,+CAA+Bd,iBAAgBA,gBAAe,OAAOiB,YAAW;AAAA,cAClF;AAEA,gCAAkB,iCAAiC,eAAe;AAAA,YACpE;AAEA,gCAAoBjB,iBAAgB,eAAe;AAEnD,iBAAKA,gBAAe,OAAO,oBAAoB,QAAQ;AAGrD,cAAAA,gBAAe,gBAAgB;AAAA,YACjC,OAAO;AACL,sBAAQ,aAAa;AAAA,gBACnB,KAAK,YACH;AACE,sBAAI,iBAAiB,mBAAmBA,gBAAe,KAAK;AAC5D,sBAAI;AAEJ,sBAAI,mBAAmB,MAAM;AAG3B,2BAAOA,gBAAe;AACtB,oBAAAA,gBAAe,QAAQ;AAAA,kBACzB,OAAO;AAGL,2BAAO,eAAe;AACtB,mCAAe,UAAU;AAAA,kBAC3B;AAEA;AAAA,oBAA4BA;AAAA,oBAAgB;AAAA;AAAA,oBAC5C;AAAA,oBAAM;AAAA,oBAAgB;AAAA,kBAAQ;AAC9B;AAAA,gBACF;AAAA,gBAEF,KAAK,aACH;AAKE,sBAAI,QAAQ;AACZ,sBAAI,MAAMA,gBAAe;AACzB,kBAAAA,gBAAe,QAAQ;AAEvB,yBAAO,QAAQ,MAAM;AACnB,wBAAI,aAAa,IAAI;AAErB,wBAAI,eAAe,QAAQ,mBAAmB,UAAU,MAAM,MAAM;AAElE,sBAAAA,gBAAe,QAAQ;AACvB;AAAA,oBACF;AAEA,wBAAI,UAAU,IAAI;AAClB,wBAAI,UAAU;AACd,4BAAQ;AACR,0BAAM;AAAA,kBACR;AAGA;AAAA,oBAA4BA;AAAA,oBAAgB;AAAA;AAAA,oBAC5C;AAAA,oBAAO;AAAA;AAAA,oBACP;AAAA,kBAAQ;AACR;AAAA,gBACF;AAAA,gBAEF,KAAK,YACH;AACE;AAAA,oBAA4BA;AAAA,oBAAgB;AAAA;AAAA,oBAC5C;AAAA;AAAA,oBACA;AAAA;AAAA,oBACA;AAAA,kBAAS;AACT;AAAA,gBACF;AAAA,gBAEF,SACE;AAGE,kBAAAA,gBAAe,gBAAgB;AAAA,gBACjC;AAAA,cACJ;AAAA,YACF;AAEA,mBAAOA,gBAAe;AAAA,UACxB;AAEA,mBAAS,sBAAsBc,UAASd,iBAAgBiB,cAAa;AACnE,8BAAkBjB,iBAAgBA,gBAAe,UAAU,aAAa;AACxE,gBAAI,eAAeA,gBAAe;AAElC,gBAAIc,aAAY,MAAM;AAMpB,cAAAd,gBAAe,QAAQ,qBAAqBA,iBAAgB,MAAM,cAAciB,YAAW;AAAA,YAC7F,OAAO;AACL,gCAAkBH,UAASd,iBAAgB,cAAciB,YAAW;AAAA,YACtE;AAEA,mBAAOjB,gBAAe;AAAA,UACxB;AAEA,cAAI,kDAAkD;AAEtD,mBAAS,sBAAsBc,UAASd,iBAAgBiB,cAAa;AACnE,gBAAI,eAAejB,gBAAe;AAClC,gBAAI,UAAU,aAAa;AAC3B,gBAAI,WAAWA,gBAAe;AAC9B,gBAAI,WAAWA,gBAAe;AAC9B,gBAAI,WAAW,SAAS;AAExB;AACE,kBAAI,EAAE,WAAW,WAAW;AAC1B,oBAAI,CAAC,iDAAiD;AACpD,oEAAkD;AAElD,wBAAM,sGAAsG;AAAA,gBAC9G;AAAA,cACF;AAEA,kBAAI,oBAAoBA,gBAAe,KAAK;AAE5C,kBAAI,mBAAmB;AACrB,+BAAe,mBAAmB,UAAU,QAAQ,kBAAkB;AAAA,cACxE;AAAA,YACF;AAEA,yBAAaA,iBAAgB,SAAS,QAAQ;AAE9C;AACE,kBAAI,aAAa,MAAM;AACrB,oBAAI,WAAW,SAAS;AAExB,oBAAI,SAAS,UAAU,QAAQ,GAAG;AAEhC,sBAAI,SAAS,aAAa,SAAS,YAAY,CAAC,kBAAkB,GAAG;AACnE,2BAAO,6BAA6Bc,UAASd,iBAAgBiB,YAAW;AAAA,kBAC1E;AAAA,gBACF,OAAO;AAGL,yCAAuBjB,iBAAgB,SAASiB,YAAW;AAAA,gBAC7D;AAAA,cACF;AAAA,YACF;AAEA,gBAAI,cAAc,SAAS;AAC3B,8BAAkBH,UAASd,iBAAgB,aAAaiB,YAAW;AACnE,mBAAOjB,gBAAe;AAAA,UACxB;AAEA,cAAI,uCAAuC;AAE3C,mBAAS,sBAAsBc,UAASd,iBAAgBiB,cAAa;AACnE,gBAAI,UAAUjB,gBAAe;AAQ7B;AACE,kBAAI,QAAQ,aAAa,QAAW;AAIlC,oBAAI,YAAY,QAAQ,UAAU;AAChC,sBAAI,CAAC,sCAAsC;AACzC,2DAAuC;AAEvC,0BAAM,iJAAsJ;AAAA,kBAC9J;AAAA,gBACF;AAAA,cACF,OAAO;AACL,0BAAU,QAAQ;AAAA,cACpB;AAAA,YACF;AAEA,gBAAI,WAAWA,gBAAe;AAC9B,gBAAIgC,UAAS,SAAS;AAEtB;AACE,kBAAI,OAAOA,YAAW,YAAY;AAChC,sBAAM,qPAAoQ;AAAA,cAC5Q;AAAA,YACF;AAEA,iCAAqBhC,iBAAgBiB,YAAW;AAChD,gBAAI,WAAW,YAAY,OAAO;AAElC;AACE,yCAA2BjB,eAAc;AAAA,YAC3C;AAEA,gBAAI;AAEJ;AACE,kCAAoB,UAAUA;AAC9B,6BAAe,IAAI;AACnB,4BAAcgC,QAAO,QAAQ;AAC7B,6BAAe,KAAK;AAAA,YACtB;AAEA;AACE,yCAA2B;AAAA,YAC7B;AAGA,YAAAhC,gBAAe,SAAS;AACxB,8BAAkBc,UAASd,iBAAgB,aAAaiB,YAAW;AACnE,mBAAOjB,gBAAe;AAAA,UACxB;AAEA,mBAAS,mCAAmC;AAC1C,+BAAmB;AAAA,UACrB;AAEA,mBAAS,yCAAyCc,UAASd,iBAAgB;AACzE,iBAAKA,gBAAe,OAAO,oBAAoB,QAAQ;AACrD,kBAAIc,aAAY,MAAM;AAKpB,gBAAAA,SAAQ,YAAY;AACpB,gBAAAd,gBAAe,YAAY;AAE3B,gBAAAA,gBAAe,SAAS;AAAA,cAC1B;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,6BAA6Bc,UAASd,iBAAgBiB,cAAa;AAC1E,gBAAIH,aAAY,MAAM;AAEpB,cAAAd,gBAAe,eAAec,SAAQ;AAAA,YACxC;AAEA;AAEE,yCAA2B;AAAA,YAC7B;AAEA,mCAAuBd,gBAAe,KAAK;AAE3C,gBAAI,CAAC,iBAAiBiB,cAAajB,gBAAe,UAAU,GAAG;AAI7D;AACE,uBAAO;AAAA,cACT;AAAA,YACF;AAIA,6BAAiBc,UAASd,eAAc;AACxC,mBAAOA,gBAAe;AAAA,UACxB;AAEA,mBAAS,aAAac,UAAS,mBAAmB,mBAAmB;AACnE;AACE,kBAAI,cAAc,kBAAkB;AAEpC,kBAAI,gBAAgB,MAAM;AAExB,sBAAM,IAAI,MAAM,6BAA6B;AAAA,cAC/C;AAIA,cAAAA,SAAQ,YAAY;AACpB,gCAAkB,YAAY;AAE9B,gCAAkB,QAAQ,kBAAkB;AAC5C,gCAAkB,UAAU,kBAAkB;AAC9C,gCAAkB,SAAS,kBAAkB;AAC7C,gCAAkB,MAAM,kBAAkB;AAE1C,kBAAI,sBAAsB,YAAY,OAAO;AAC3C,4BAAY,QAAQ;AAAA,cACtB,OAAO;AACL,oBAAI,cAAc,YAAY;AAE9B,oBAAI,gBAAgB,MAAM;AAExB,wBAAM,IAAI,MAAM,kCAAkC;AAAA,gBACpD;AAEA,uBAAO,YAAY,YAAY,mBAAmB;AAChD,gCAAc,YAAY;AAE1B,sBAAI,gBAAgB,MAAM;AAExB,0BAAM,IAAI,MAAM,wCAAwC;AAAA,kBAC1D;AAAA,gBACF;AAEA,4BAAY,UAAU;AAAA,cACxB;AAIA,kBAAI,YAAY,YAAY;AAE5B,kBAAI,cAAc,MAAM;AACtB,4BAAY,YAAY,CAACA,QAAO;AAChC,4BAAY,SAAS;AAAA,cACvB,OAAO;AACL,0BAAU,KAAKA,QAAO;AAAA,cACxB;AAEA,gCAAkB,SAAS;AAE3B,qBAAO;AAAA,YACT;AAAA,UACF;AAEA,mBAAS,8BAA8BA,UAASG,cAAa;AAG3D,gBAAI,cAAcH,SAAQ;AAE1B,gBAAI,iBAAiB,aAAaG,YAAW,GAAG;AAC9C,qBAAO;AAAA,YACT;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,uCAAuCH,UAASd,iBAAgBiB,cAAa;AAIpF,oBAAQjB,gBAAe,KAAK;AAAA,cAC1B,KAAK;AACH,oCAAoBA,eAAc;AAClC,oBAAIe,QAAOf,gBAAe;AAE1B,oCAAoB;AACpB;AAAA,cAEF,KAAK;AACH,gCAAgBA,eAAc;AAC9B;AAAA,cAEF,KAAK,gBACH;AACE,oBAAI,YAAYA,gBAAe;AAE/B,oBAAI,kBAAkB,SAAS,GAAG;AAChC,sCAAoBA,eAAc;AAAA,gBACpC;AAEA;AAAA,cACF;AAAA,cAEF,KAAK;AACH,kCAAkBA,iBAAgBA,gBAAe,UAAU,aAAa;AACxE;AAAA,cAEF,KAAK,iBACH;AACE,oBAAI,WAAWA,gBAAe,cAAc;AAC5C,oBAAI,UAAUA,gBAAe,KAAK;AAClC,6BAAaA,iBAAgB,SAAS,QAAQ;AAC9C;AAAA,cACF;AAAA,cAEF,KAAK;AACH;AAEE,sBAAI,eAAe,iBAAiBiB,cAAajB,gBAAe,UAAU;AAE1E,sBAAI,cAAc;AAChB,oBAAAA,gBAAe,SAAS;AAAA,kBAC1B;AAEA;AAGE,wBAAI,YAAYA,gBAAe;AAC/B,8BAAU,iBAAiB;AAC3B,8BAAU,wBAAwB;AAAA,kBACpC;AAAA,gBACF;AAEA;AAAA,cAEF,KAAK,mBACH;AACE,oBAAI,QAAQA,gBAAe;AAE3B,oBAAI,UAAU,MAAM;AAClB,sBAAI,MAAM,eAAe,MAAM;AAC7B,wCAAoBA,iBAAgB,iCAAiC,oBAAoB,OAAO,CAAC;AAIjG,oBAAAA,gBAAe,SAAS;AAGxB,2BAAO;AAAA,kBACT;AAMA,sBAAI,uBAAuBA,gBAAe;AAC1C,sBAAI,oBAAoB,qBAAqB;AAE7C,sBAAI,iBAAiBiB,cAAa,iBAAiB,GAAG;AAGpD,2BAAO,wBAAwBH,UAASd,iBAAgBiB,YAAW;AAAA,kBACrE,OAAO;AAGL,wCAAoBjB,iBAAgB,iCAAiC,oBAAoB,OAAO,CAAC;AAGjG,wBAAI,QAAQ,6BAA6Bc,UAASd,iBAAgBiB,YAAW;AAE7E,wBAAI,UAAU,MAAM;AAGlB,6BAAO,MAAM;AAAA,oBACf,OAAO;AAIL,6BAAO;AAAA,oBACT;AAAA,kBACF;AAAA,gBACF,OAAO;AACL,sCAAoBjB,iBAAgB,iCAAiC,oBAAoB,OAAO,CAAC;AAAA,gBACnG;AAEA;AAAA,cACF;AAAA,cAEF,KAAK,uBACH;AACE,oBAAI,oBAAoBc,SAAQ,QAAQ,gBAAgB;AAExD,oBAAI,gBAAgB,iBAAiBG,cAAajB,gBAAe,UAAU;AAE3E,oBAAI,kBAAkB;AACpB,sBAAI,eAAe;AAMjB,2BAAO,4BAA4Bc,UAASd,iBAAgBiB,YAAW;AAAA,kBACzE;AAKA,kBAAAjB,gBAAe,SAAS;AAAA,gBAC1B;AAKA,oBAAI,cAAcA,gBAAe;AAEjC,oBAAI,gBAAgB,MAAM;AAGxB,8BAAY,YAAY;AACxB,8BAAY,OAAO;AACnB,8BAAY,aAAa;AAAA,gBAC3B;AAEA,oCAAoBA,iBAAgB,oBAAoB,OAAO;AAE/D,oBAAI,eAAe;AACjB;AAAA,gBACF,OAAO;AAIL,yBAAO;AAAA,gBACT;AAAA,cACF;AAAA,cAEF,KAAK;AAAA,cACL,KAAK,uBACH;AASE,gBAAAA,gBAAe,QAAQ;AACvB,uBAAO,yBAAyBc,UAASd,iBAAgBiB,YAAW;AAAA,cACtE;AAAA,YACJ;AAEA,mBAAO,6BAA6BH,UAASd,iBAAgBiB,YAAW;AAAA,UAC1E;AAEA,mBAAS,UAAUH,UAASd,iBAAgBiB,cAAa;AACvD;AACE,kBAAIjB,gBAAe,sBAAsBc,aAAY,MAAM;AAEzD,uBAAO,aAAaA,UAASd,iBAAgB,4BAA4BA,gBAAe,MAAMA,gBAAe,KAAKA,gBAAe,cAAcA,gBAAe,eAAe,MAAMA,gBAAe,MAAMA,gBAAe,KAAK,CAAC;AAAA,cAC/N;AAAA,YACF;AAEA,gBAAIc,aAAY,MAAM;AACpB,kBAAI,WAAWA,SAAQ;AACvB,kBAAI,WAAWd,gBAAe;AAE9B,kBAAI,aAAa,YAAY,kBAAkB;AAAA,cAC9CA,gBAAe,SAASc,SAAQ,MAAQ;AAGvC,mCAAmB;AAAA,cACrB,OAAO;AAGL,oBAAI,8BAA8B,8BAA8BA,UAASG,YAAW;AAEpF,oBAAI,CAAC;AAAA;AAAA,iBAEJjB,gBAAe,QAAQ,gBAAgB,SAAS;AAE/C,qCAAmB;AACnB,yBAAO,uCAAuCc,UAASd,iBAAgBiB,YAAW;AAAA,gBACpF;AAEA,qBAAKH,SAAQ,QAAQ,kCAAkC,SAAS;AAG9D,qCAAmB;AAAA,gBACrB,OAAO;AAKL,qCAAmB;AAAA,gBACrB;AAAA,cACF;AAAA,YACF,OAAO;AACL,iCAAmB;AAEnB,kBAAI,eAAe,KAAK,cAAcd,eAAc,GAAG;AAUrD,oBAAI,YAAYA,gBAAe;AAC/B,oBAAI,gBAAgB,gBAAgB;AACpC,2BAAWA,iBAAgB,eAAe,SAAS;AAAA,cACrD;AAAA,YACF;AAOA,YAAAA,gBAAe,QAAQ;AAEvB,oBAAQA,gBAAe,KAAK;AAAA,cAC1B,KAAK,wBACH;AACE,uBAAO,4BAA4Bc,UAASd,iBAAgBA,gBAAe,MAAMiB,YAAW;AAAA,cAC9F;AAAA,cAEF,KAAK,eACH;AACE,oBAAI,cAAcjB,gBAAe;AACjC,uBAAO,mBAAmBc,UAASd,iBAAgB,aAAaiB,YAAW;AAAA,cAC7E;AAAA,cAEF,KAAK,mBACH;AACE,oBAAI,YAAYjB,gBAAe;AAC/B,oBAAI,kBAAkBA,gBAAe;AACrC,oBAAI,gBAAgBA,gBAAe,gBAAgB,YAAY,kBAAkB,oBAAoB,WAAW,eAAe;AAC/H,uBAAO,wBAAwBc,UAASd,iBAAgB,WAAW,eAAeiB,YAAW;AAAA,cAC/F;AAAA,cAEF,KAAK,gBACH;AACE,oBAAI,aAAajB,gBAAe;AAChC,oBAAI,mBAAmBA,gBAAe;AAEtC,oBAAI,iBAAiBA,gBAAe,gBAAgB,aAAa,mBAAmB,oBAAoB,YAAY,gBAAgB;AAEpI,uBAAO,qBAAqBc,UAASd,iBAAgB,YAAY,gBAAgBiB,YAAW;AAAA,cAC9F;AAAA,cAEF,KAAK;AACH,uBAAO,eAAeH,UAASd,iBAAgBiB,YAAW;AAAA,cAE5D,KAAK;AACH,uBAAO,oBAAoBH,UAASd,iBAAgBiB,YAAW;AAAA,cAEjE,KAAK;AACH,uBAAO,eAAeH,UAASd,eAAc;AAAA,cAE/C,KAAK;AACH,uBAAO,wBAAwBc,UAASd,iBAAgBiB,YAAW;AAAA,cAErE,KAAK;AACH,uBAAO,sBAAsBH,UAASd,iBAAgBiB,YAAW;AAAA,cAEnE,KAAK,YACH;AACE,oBAAI,OAAOjB,gBAAe;AAC1B,oBAAI,oBAAoBA,gBAAe;AAEvC,oBAAI,kBAAkBA,gBAAe,gBAAgB,OAAO,oBAAoB,oBAAoB,MAAM,iBAAiB;AAE3H,uBAAO,iBAAiBc,UAASd,iBAAgB,MAAM,iBAAiBiB,YAAW;AAAA,cACrF;AAAA,cAEF,KAAKtB;AACH,uBAAO,eAAemB,UAASd,iBAAgBiB,YAAW;AAAA,cAE5D,KAAK;AACH,uBAAO,WAAWH,UAASd,iBAAgBiB,YAAW;AAAA,cAExD,KAAK;AACH,uBAAO,eAAeH,UAASd,iBAAgBiB,YAAW;AAAA,cAE5D,KAAK;AACH,uBAAO,sBAAsBH,UAASd,iBAAgBiB,YAAW;AAAA,cAEnE,KAAK;AACH,uBAAO,sBAAsBH,UAASd,iBAAgBiB,YAAW;AAAA,cAEnE,KAAK,eACH;AACE,oBAAI,SAASjB,gBAAe;AAC5B,oBAAI,oBAAoBA,gBAAe;AAEvC,oBAAI,kBAAkB,oBAAoB,QAAQ,iBAAiB;AAEnE;AACE,sBAAIA,gBAAe,SAASA,gBAAe,aAAa;AACtD,wBAAI,iBAAiB,OAAO;AAE5B,wBAAI,gBAAgB;AAClB;AAAA,wBAAe;AAAA,wBAAgB;AAAA;AAAA,wBAC/B;AAAA,wBAAQ,yBAAyB,MAAM;AAAA,sBAAC;AAAA,oBAC1C;AAAA,kBACF;AAAA,gBACF;AAEA,kCAAkB,oBAAoB,OAAO,MAAM,eAAe;AAClE,uBAAO,oBAAoBc,UAASd,iBAAgB,QAAQ,iBAAiBiB,YAAW;AAAA,cAC1F;AAAA,cAEF,KAAK,qBACH;AACE,uBAAO,0BAA0BH,UAASd,iBAAgBA,gBAAe,MAAMA,gBAAe,cAAciB,YAAW;AAAA,cACzH;AAAA,cAEF,KAAK,0BACH;AACE,oBAAI,cAAcjB,gBAAe;AACjC,oBAAI,oBAAoBA,gBAAe;AAEvC,oBAAI,kBAAkBA,gBAAe,gBAAgB,cAAc,oBAAoB,oBAAoB,aAAa,iBAAiB;AAEzI,uBAAO,8BAA8Bc,UAASd,iBAAgB,aAAa,iBAAiBiB,YAAW;AAAA,cACzG;AAAA,cAEF,KAAK,uBACH;AACE,uBAAO,4BAA4BH,UAASd,iBAAgBiB,YAAW;AAAA,cACzE;AAAA,cAEF,KAAK,gBACH;AAEE;AAAA,cACF;AAAA,cAEF,KAAK,oBACH;AACE,uBAAO,yBAAyBH,UAASd,iBAAgBiB,YAAW;AAAA,cACtE;AAAA,YACJ;AAEA,kBAAM,IAAI,MAAM,+BAA+BjB,gBAAe,MAAM,yEAA8E;AAAA,UACpJ;AAEA,mBAAS,WAAWA,iBAAgB;AAGlC,YAAAA,gBAAe,SAAS;AAAA,UAC1B;AAEA,mBAAS,UAAUA,iBAAgB;AACjC,YAAAA,gBAAe,SAAS;AAExB;AACE,cAAAA,gBAAe,SAAS;AAAA,YAC1B;AAAA,UACF;AAEA,cAAI;AACJ,cAAI;AACJ,cAAI;AACJ,cAAI;AAEJ;AAEE,gCAAoB,SAAU,QAAQA,iBAAgB,uBAAuB,UAAU;AAGrF,kBAAI,OAAOA,gBAAe;AAE1B,qBAAO,SAAS,MAAM;AACpB,oBAAI,KAAK,QAAQ,iBAAiB,KAAK,QAAQ,UAAU;AACvD,qCAAmB,QAAQ,KAAK,SAAS;AAAA,gBAC3C,WAAW,KAAK,QAAQ;AAAY;AAAA,yBAAW,KAAK,UAAU,MAAM;AAClE,uBAAK,MAAM,SAAS;AACpB,yBAAO,KAAK;AACZ;AAAA,gBACF;AAEA,oBAAI,SAASA,iBAAgB;AAC3B;AAAA,gBACF;AAEA,uBAAO,KAAK,YAAY,MAAM;AAC5B,sBAAI,KAAK,WAAW,QAAQ,KAAK,WAAWA,iBAAgB;AAC1D;AAAA,kBACF;AAEA,yBAAO,KAAK;AAAA,gBACd;AAEA,qBAAK,QAAQ,SAAS,KAAK;AAC3B,uBAAO,KAAK;AAAA,cACd;AAAA,YACF;AAEA,kCAAsB,SAAUc,UAASd,iBAAgB;AAAA,YACzD;AAEA,oCAAwB,SAAUc,UAASd,iBAAgB,MAAM,UAAU,uBAAuB;AAGhG,kBAAI,WAAWc,SAAQ;AAEvB,kBAAI,aAAa,UAAU;AAGzB;AAAA,cACF;AAMA,kBAAI,WAAWd,gBAAe;AAC9B,kBAAI,qBAAqB,eAAe;AAIxC,kBAAI,gBAAgB,cAAc,UAAU,MAAM,UAAU,UAAU,uBAAuB,kBAAkB;AAE/G,cAAAA,gBAAe,cAAc;AAG7B,kBAAI,eAAe;AACjB,2BAAWA,eAAc;AAAA,cAC3B;AAAA,YACF;AAEA,+BAAmB,SAAUc,UAASd,iBAAgB,SAAS,SAAS;AAEtE,kBAAI,YAAY,SAAS;AACvB,2BAAWA,eAAc;AAAA,cAC3B;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,mBAAmB,aAAa,0BAA0B;AACjE,gBAAI,eAAe,GAAG;AAGpB;AAAA,YACF;AAEA,oBAAQ,YAAY,UAAU;AAAA,cAC5B,KAAK,UACH;AAME,oBAAI,WAAW,YAAY;AAC3B,oBAAI,eAAe;AAEnB,uBAAO,aAAa,MAAM;AACxB,sBAAI,SAAS,cAAc,MAAM;AAC/B,mCAAe;AAAA,kBACjB;AAEA,6BAAW,SAAS;AAAA,gBACtB;AAIA,oBAAI,iBAAiB,MAAM;AAEzB,8BAAY,OAAO;AAAA,gBACrB,OAAO;AAGL,+BAAa,UAAU;AAAA,gBACzB;AAEA;AAAA,cACF;AAAA,cAEF,KAAK,aACH;AAME,oBAAI,YAAY,YAAY;AAC5B,oBAAI,gBAAgB;AAEpB,uBAAO,cAAc,MAAM;AACzB,sBAAI,UAAU,cAAc,MAAM;AAChC,oCAAgB;AAAA,kBAClB;AAEA,8BAAY,UAAU;AAAA,gBACxB;AAIA,oBAAI,kBAAkB,MAAM;AAE1B,sBAAI,CAAC,4BAA4B,YAAY,SAAS,MAAM;AAG1D,gCAAY,KAAK,UAAU;AAAA,kBAC7B,OAAO;AACL,gCAAY,OAAO;AAAA,kBACrB;AAAA,gBACF,OAAO;AAGL,gCAAc,UAAU;AAAA,gBAC1B;AAEA;AAAA,cACF;AAAA,YACJ;AAAA,UACF;AAEA,mBAAS,iBAAiB,eAAe;AACvC,gBAAI,aAAa,cAAc,cAAc,QAAQ,cAAc,UAAU,UAAU,cAAc;AACrG,gBAAI,gBAAgB;AACpB,gBAAI,eAAe;AAEnB,gBAAI,CAAC,YAAY;AAEf,mBAAM,cAAc,OAAO,iBAAiB,QAAQ;AAGlD,oBAAI,iBAAiB,cAAc;AACnC,oBAAI,mBAAmB,cAAc;AACrC,oBAAI,QAAQ,cAAc;AAE1B,uBAAO,UAAU,MAAM;AACrB,kCAAgB,WAAW,eAAe,WAAW,MAAM,OAAO,MAAM,UAAU,CAAC;AACnF,kCAAgB,MAAM;AACtB,kCAAgB,MAAM;AAQtB,oCAAkB,MAAM;AACxB,sCAAoB,MAAM;AAC1B,0BAAQ,MAAM;AAAA,gBAChB;AAEA,8BAAc,iBAAiB;AAC/B,8BAAc,mBAAmB;AAAA,cACnC,OAAO;AACL,oBAAI,SAAS,cAAc;AAE3B,uBAAO,WAAW,MAAM;AACtB,kCAAgB,WAAW,eAAe,WAAW,OAAO,OAAO,OAAO,UAAU,CAAC;AACrF,kCAAgB,OAAO;AACvB,kCAAgB,OAAO;AAIvB,yBAAO,SAAS;AAChB,2BAAS,OAAO;AAAA,gBAClB;AAAA,cACF;AAEA,4BAAc,gBAAgB;AAAA,YAChC,OAAO;AAEL,mBAAM,cAAc,OAAO,iBAAiB,QAAQ;AAGlD,oBAAI,oBAAoB,cAAc;AACtC,oBAAI,UAAU,cAAc;AAE5B,uBAAO,YAAY,MAAM;AACvB,kCAAgB,WAAW,eAAe,WAAW,QAAQ,OAAO,QAAQ,UAAU,CAAC;AAKvF,kCAAgB,QAAQ,eAAe;AACvC,kCAAgB,QAAQ,QAAQ;AAChC,uCAAqB,QAAQ;AAC7B,4BAAU,QAAQ;AAAA,gBACpB;AAEA,8BAAc,mBAAmB;AAAA,cACnC,OAAO;AACL,oBAAI,UAAU,cAAc;AAE5B,uBAAO,YAAY,MAAM;AACvB,kCAAgB,WAAW,eAAe,WAAW,QAAQ,OAAO,QAAQ,UAAU,CAAC;AAKvF,kCAAgB,QAAQ,eAAe;AACvC,kCAAgB,QAAQ,QAAQ;AAIhC,0BAAQ,SAAS;AACjB,4BAAU,QAAQ;AAAA,gBACpB;AAAA,cACF;AAEA,4BAAc,gBAAgB;AAAA,YAChC;AAEA,0BAAc,aAAa;AAC3B,mBAAO;AAAA,UACT;AAEA,mBAAS,mCAAmCc,UAASd,iBAAgB,WAAW;AAC9E,gBAAI,uBAAuB,MAAMA,gBAAe,OAAO,oBAAoB,WAAWA,gBAAe,QAAQ,gBAAgB,SAAS;AACpI,wCAA0BA,eAAc;AACxC,kCAAoB;AACpB,cAAAA,gBAAe,SAAS,oBAAoB,aAAa;AACzD,qBAAO;AAAA,YACT;AAEA,gBAAI,cAAc,kBAAkBA,eAAc;AAElD,gBAAI,cAAc,QAAQ,UAAU,eAAe,MAAM;AAGvD,kBAAIc,aAAY,MAAM;AACpB,oBAAI,CAAC,aAAa;AAChB,wBAAM,IAAI,MAAM,yGAA8G;AAAA,gBAChI;AAEA,qDAAqCd,eAAc;AACnD,iCAAiBA,eAAc;AAE/B;AACE,uBAAKA,gBAAe,OAAO,iBAAiB,QAAQ;AAClD,wBAAI,qBAAqB,cAAc;AAEvC,wBAAI,oBAAoB;AAEtB,0BAAI,uBAAuBA,gBAAe;AAE1C,0BAAI,yBAAyB,MAAM;AAEjC,wBAAAA,gBAAe,oBAAoB,qBAAqB;AAAA,sBAC1D;AAAA,oBACF;AAAA,kBACF;AAAA,gBACF;AAEA,uBAAO;AAAA,cACT,OAAO;AAGL,oCAAoB;AAEpB,qBAAKA,gBAAe,QAAQ,gBAAgB,SAAS;AAEnD,kBAAAA,gBAAe,gBAAgB;AAAA,gBACjC;AAOA,gBAAAA,gBAAe,SAAS;AACxB,iCAAiBA,eAAc;AAE/B;AACE,uBAAKA,gBAAe,OAAO,iBAAiB,QAAQ;AAClD,wBAAI,sBAAsB,cAAc;AAExC,wBAAI,qBAAqB;AAEvB,0BAAI,wBAAwBA,gBAAe;AAE3C,0BAAI,0BAA0B,MAAM;AAElC,wBAAAA,gBAAe,oBAAoB,sBAAsB;AAAA,sBAC3D;AAAA,oBACF;AAAA,kBACF;AAAA,gBACF;AAEA,uBAAO;AAAA,cACT;AAAA,YACF,OAAO;AAKL,kDAAoC;AAEpC,qBAAO;AAAA,YACT;AAAA,UACF;AAEA,mBAAS,aAAac,UAASd,iBAAgBiB,cAAa;AAC1D,gBAAI,WAAWjB,gBAAe;AAK9B,2BAAeA,eAAc;AAE7B,oBAAQA,gBAAe,KAAK;AAAA,cAC1B,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAKL;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AACH,iCAAiBK,eAAc;AAC/B,uBAAO;AAAA,cAET,KAAK,gBACH;AACE,oBAAI,YAAYA,gBAAe;AAE/B,oBAAI,kBAAkB,SAAS,GAAG;AAChC,6BAAWA,eAAc;AAAA,gBAC3B;AAEA,iCAAiBA,eAAc;AAC/B,uBAAO;AAAA,cACT;AAAA,cAEF,KAAK,UACH;AACE,oBAAI,YAAYA,gBAAe;AAC/B,iCAAiBA,eAAc;AAC/B,yCAAyBA,eAAc;AACvC,4CAA4B;AAE5B,oBAAI,UAAU,gBAAgB;AAC5B,4BAAU,UAAU,UAAU;AAC9B,4BAAU,iBAAiB;AAAA,gBAC7B;AAEA,oBAAIc,aAAY,QAAQA,SAAQ,UAAU,MAAM;AAG9C,sBAAI,cAAc,kBAAkBd,eAAc;AAElD,sBAAI,aAAa;AAGf,+BAAWA,eAAc;AAAA,kBAC3B,OAAO;AACL,wBAAIc,aAAY,MAAM;AACpB,0BAAI,YAAYA,SAAQ;AAExB;AAAA;AAAA,wBACA,CAAC,UAAU;AAAA,yBACVd,gBAAe,QAAQ,uBAAuB;AAAA,wBAAS;AAOtD,wBAAAA,gBAAe,SAAS;AAIxB,4DAAoC;AAAA,sBACtC;AAAA,oBACF;AAAA,kBACF;AAAA,gBACF;AAEA,oCAAoBc,UAASd,eAAc;AAC3C,iCAAiBA,eAAc;AAE/B,uBAAO;AAAA,cACT;AAAA,cAEF,KAAK,eACH;AACE,+BAAeA,eAAc;AAC7B,oBAAI,wBAAwB,qBAAqB;AACjD,oBAAI,OAAOA,gBAAe;AAE1B,oBAAIc,aAAY,QAAQd,gBAAe,aAAa,MAAM;AACxD,wCAAsBc,UAASd,iBAAgB,MAAM,UAAU,qBAAqB;AAEpF,sBAAIc,SAAQ,QAAQd,gBAAe,KAAK;AACtC,8BAAUA,eAAc;AAAA,kBAC1B;AAAA,gBACF,OAAO;AACL,sBAAI,CAAC,UAAU;AACb,wBAAIA,gBAAe,cAAc,MAAM;AACrC,4BAAM,IAAI,MAAM,6GAAkH;AAAA,oBACpI;AAGA,qCAAiBA,eAAc;AAC/B,2BAAO;AAAA,kBACT;AAEA,sBAAI,qBAAqB,eAAe;AAKxC,sBAAI,eAAe,kBAAkBA,eAAc;AAEnD,sBAAI,cAAc;AAGhB,wBAAI,6BAA6BA,iBAAgB,uBAAuB,kBAAkB,GAAG;AAG3F,iCAAWA,eAAc;AAAA,oBAC3B;AAAA,kBACF,OAAO;AACL,wBAAI,WAAW,eAAe,MAAM,UAAU,uBAAuB,oBAAoBA,eAAc;AACvG,sCAAkB,UAAUA,iBAAgB,OAAO,KAAK;AACxD,oBAAAA,gBAAe,YAAY;AAI3B,wBAAI,wBAAwB,UAAU,MAAM,UAAU,qBAAqB,GAAG;AAC5E,iCAAWA,eAAc;AAAA,oBAC3B;AAAA,kBACF;AAEA,sBAAIA,gBAAe,QAAQ,MAAM;AAE/B,8BAAUA,eAAc;AAAA,kBAC1B;AAAA,gBACF;AAEA,iCAAiBA,eAAc;AAC/B,uBAAO;AAAA,cACT;AAAA,cAEF,KAAK,UACH;AACE,oBAAI,UAAU;AAEd,oBAAIc,YAAWd,gBAAe,aAAa,MAAM;AAC/C,sBAAI,UAAUc,SAAQ;AAGtB,mCAAiBA,UAASd,iBAAgB,SAAS,OAAO;AAAA,gBAC5D,OAAO;AACL,sBAAI,OAAO,YAAY,UAAU;AAC/B,wBAAIA,gBAAe,cAAc,MAAM;AACrC,4BAAM,IAAI,MAAM,6GAAkH;AAAA,oBACpI;AAAA,kBAEF;AAEA,sBAAI,yBAAyB,qBAAqB;AAElD,sBAAI,sBAAsB,eAAe;AAEzC,sBAAI,gBAAgB,kBAAkBA,eAAc;AAEpD,sBAAI,eAAe;AACjB,wBAAI,iCAAiCA,eAAc,GAAG;AACpD,iCAAWA,eAAc;AAAA,oBAC3B;AAAA,kBACF,OAAO;AACL,oBAAAA,gBAAe,YAAY,mBAAmB,SAAS,wBAAwB,qBAAqBA,eAAc;AAAA,kBACpH;AAAA,gBACF;AAEA,iCAAiBA,eAAc;AAC/B,uBAAO;AAAA,cACT;AAAA,cAEF,KAAK,mBACH;AACE,mCAAmBA,eAAc;AACjC,oBAAI,YAAYA,gBAAe;AAM/B,oBAAIc,aAAY,QAAQA,SAAQ,kBAAkB,QAAQA,SAAQ,cAAc,eAAe,MAAM;AACnG,sBAAI,kCAAkC,mCAAmCA,UAASd,iBAAgB,SAAS;AAE3G,sBAAI,CAAC,iCAAiC;AACpC,wBAAIA,gBAAe,QAAQ,eAAe;AAGxC,6BAAOA;AAAA,oBACT,OAAO;AAGL,6BAAO;AAAA,oBACT;AAAA,kBACF;AAAA,gBAEF;AAEA,qBAAKA,gBAAe,QAAQ,gBAAgB,SAAS;AAEnD,kBAAAA,gBAAe,QAAQiB;AAEvB,uBAAMjB,gBAAe,OAAO,iBAAiB,QAAQ;AACnD,2CAAuBA,eAAc;AAAA,kBACvC;AAGA,yBAAOA;AAAA,gBACT;AAEA,oBAAI,iBAAiB,cAAc;AACnC,oBAAI,iBAAiBc,aAAY,QAAQA,SAAQ,kBAAkB;AAInE,oBAAI,mBAAmB,gBAAgB;AAarC,sBAAI,gBAAgB;AAClB,wBAAI,mBAAmBd,gBAAe;AACtC,qCAAiB,SAAS;AAI1B,yBAAKA,gBAAe,OAAO,oBAAoB,QAAQ;AAQrD,0BAAI,2BAA2Bc,aAAY,SAASd,gBAAe,cAAc,+BAA+B,QAAQ,CAAC;AAEzH,0BAAI,4BAA4B,mBAAmB,oBAAoB,SAAS,8BAA8B,GAAG;AAG/G,yCAAiB;AAAA,sBACnB,OAAO;AAGL,wDAAgC;AAAA,sBAClC;AAAA,oBACF;AAAA,kBACF;AAAA,gBACF;AAEA,oBAAI,YAAYA,gBAAe;AAE/B,oBAAI,cAAc,MAAM;AAGtB,kBAAAA,gBAAe,SAAS;AAAA,gBAC1B;AAEA,iCAAiBA,eAAc;AAE/B;AACE,uBAAKA,gBAAe,OAAO,iBAAiB,QAAQ;AAClD,wBAAI,gBAAgB;AAElB,0BAAI,uBAAuBA,gBAAe;AAE1C,0BAAI,yBAAyB,MAAM;AAEjC,wBAAAA,gBAAe,oBAAoB,qBAAqB;AAAA,sBAC1D;AAAA,oBACF;AAAA,kBACF;AAAA,gBACF;AAEA,uBAAO;AAAA,cACT;AAAA,cAEF,KAAK;AACH,iCAAiBA,eAAc;AAC/B,oCAAoBc,UAASd,eAAc;AAE3C,oBAAIc,aAAY,MAAM;AACpB,qCAAmBd,gBAAe,UAAU,aAAa;AAAA,gBAC3D;AAEA,iCAAiBA,eAAc;AAC/B,uBAAO;AAAA,cAET,KAAK;AAEH,oBAAI,UAAUA,gBAAe,KAAK;AAClC,4BAAY,SAASA,eAAc;AACnC,iCAAiBA,eAAc;AAC/B,uBAAO;AAAA,cAET,KAAK,0BACH;AAGE,oBAAI,aAAaA,gBAAe;AAEhC,oBAAI,kBAAkB,UAAU,GAAG;AACjC,6BAAWA,eAAc;AAAA,gBAC3B;AAEA,iCAAiBA,eAAc;AAC/B,uBAAO;AAAA,cACT;AAAA,cAEF,KAAK,uBACH;AACE,mCAAmBA,eAAc;AACjC,oBAAI,cAAcA,gBAAe;AAEjC,oBAAI,gBAAgB,MAAM;AAGxB,mCAAiBA,eAAc;AAC/B,yBAAO;AAAA,gBACT;AAEA,oBAAI,qBAAqBA,gBAAe,QAAQ,gBAAgB;AAChE,oBAAI,eAAe,YAAY;AAE/B,oBAAI,iBAAiB,MAAM;AAEzB,sBAAI,CAAC,mBAAmB;AAUtB,wBAAI,oBAAoB,yBAAyB,MAAMc,aAAY,SAASA,SAAQ,QAAQ,gBAAgB;AAE5G,wBAAI,CAAC,mBAAmB;AACtB,0BAAI,MAAMd,gBAAe;AAEzB,6BAAO,QAAQ,MAAM;AACnB,4BAAI,YAAY,mBAAmB,GAAG;AAEtC,4BAAI,cAAc,MAAM;AACtB,8CAAoB;AACpB,0BAAAA,gBAAe,SAAS;AACxB,6CAAmB,aAAa,KAAK;AAarC,8BAAI,eAAe,UAAU;AAE7B,8BAAI,iBAAiB,MAAM;AACzB,4BAAAA,gBAAe,cAAc;AAC7B,4BAAAA,gBAAe,SAAS;AAAA,0BAC1B;AAMA,0BAAAA,gBAAe,eAAe;AAC9B,2CAAiBA,iBAAgBiB,YAAW;AAG5C,8CAAoBjB,iBAAgB,0BAA0B,oBAAoB,SAAS,qBAAqB,CAAC;AAEjH,iCAAOA,gBAAe;AAAA,wBACxB;AAEA,8BAAM,IAAI;AAAA,sBACZ;AAAA,oBACF;AAEA,wBAAI,YAAY,SAAS,QAAQ,IAAI,IAAI,oBAAoB,GAAG;AAI9D,sBAAAA,gBAAe,SAAS;AACxB,0CAAoB;AACpB,yCAAmB,aAAa,KAAK;AASrC,sBAAAA,gBAAe,QAAQ;AAAA,oBACzB;AAAA,kBACF,OAAO;AACL,uCAAmB,aAAa,KAAK;AAAA,kBACvC;AAAA,gBAEF,OAAO;AAEL,sBAAI,CAAC,mBAAmB;AACtB,wBAAI,aAAa,mBAAmB,YAAY;AAEhD,wBAAI,eAAe,MAAM;AACvB,sBAAAA,gBAAe,SAAS;AACxB,0CAAoB;AAGpB,0BAAI,gBAAgB,WAAW;AAE/B,0BAAI,kBAAkB,MAAM;AAC1B,wBAAAA,gBAAe,cAAc;AAC7B,wBAAAA,gBAAe,SAAS;AAAA,sBAC1B;AAEA,yCAAmB,aAAa,IAAI;AAEpC,0BAAI,YAAY,SAAS,QAAQ,YAAY,aAAa,YAAY,CAAC,aAAa,aAAa,CAAC,eAAe,GAC/G;AAEE,yCAAiBA,eAAc;AAC/B,+BAAO;AAAA,sBACT;AAAA,oBACJ;AAAA;AAAA;AAAA;AAAA,sBAGA,IAAI,IAAI,IAAI,YAAY,qBAAqB,oBAAoB,KAAKiB,iBAAgB;AAAA,sBAAe;AAInG,sBAAAjB,gBAAe,SAAS;AACxB,0CAAoB;AACpB,yCAAmB,aAAa,KAAK;AASrC,sBAAAA,gBAAe,QAAQ;AAAA,oBACzB;AAAA,kBACF;AAEA,sBAAI,YAAY,aAAa;AAM3B,iCAAa,UAAUA,gBAAe;AACtC,oBAAAA,gBAAe,QAAQ;AAAA,kBACzB,OAAO;AACL,wBAAI,kBAAkB,YAAY;AAElC,wBAAI,oBAAoB,MAAM;AAC5B,sCAAgB,UAAU;AAAA,oBAC5B,OAAO;AACL,sBAAAA,gBAAe,QAAQ;AAAA,oBACzB;AAEA,gCAAY,OAAO;AAAA,kBACrB;AAAA,gBACF;AAEA,oBAAI,YAAY,SAAS,MAAM;AAG7B,sBAAI,OAAO,YAAY;AACvB,8BAAY,YAAY;AACxB,8BAAY,OAAO,KAAK;AACxB,8BAAY,qBAAqB,IAAI;AACrC,uBAAK,UAAU;AAIf,sBAAI,kBAAkB,oBAAoB;AAE1C,sBAAI,mBAAmB;AACrB,sCAAkB,0BAA0B,iBAAiB,qBAAqB;AAAA,kBACpF,OAAO;AACL,sCAAkB,iCAAiC,eAAe;AAAA,kBACpE;AAEA,sCAAoBA,iBAAgB,eAAe;AAGnD,yBAAO;AAAA,gBACT;AAEA,iCAAiBA,eAAc;AAC/B,uBAAO;AAAA,cACT;AAAA,cAEF,KAAK,gBACH;AAEE;AAAA,cACF;AAAA,cAEF,KAAK;AAAA,cACL,KAAK,uBACH;AACE,+BAAeA,eAAc;AAC7B,oBAAI,aAAaA,gBAAe;AAChC,oBAAI,eAAe,eAAe;AAElC,oBAAIc,aAAY,MAAM;AACpB,sBAAI,aAAaA,SAAQ;AACzB,sBAAI,eAAe,eAAe;AAElC,sBAAI,iBAAiB;AAAA,kBACrB,CAAC,oBAAsB;AACrB,oBAAAd,gBAAe,SAAS;AAAA,kBAC1B;AAAA,gBACF;AAEA,oBAAI,CAAC,iBAAiBA,gBAAe,OAAO,oBAAoB,QAAQ;AACtE,mCAAiBA,eAAc;AAAA,gBACjC,OAAO;AAGL,sBAAI,iBAAiB,oBAAoB,aAAa,GAAG;AACvD,qCAAiBA,eAAc;AAE/B;AAIE,0BAAKA,gBAAe,gBAAgB,YAAY,SAAS;AACvD,wBAAAA,gBAAe,SAAS;AAAA,sBAC1B;AAAA,oBACF;AAAA,kBACF;AAAA,gBACF;AACA,uBAAO;AAAA,cACT;AAAA,cAEF,KAAK,gBACH;AAEE,uBAAO;AAAA,cACT;AAAA,cAEF,KAAK,wBACH;AAEE,uBAAO;AAAA,cACT;AAAA,YACJ;AAEA,kBAAM,IAAI,MAAM,+BAA+BA,gBAAe,MAAM,yEAA8E;AAAA,UACpJ;AAEA,mBAAS,WAAWc,UAASd,iBAAgBiB,cAAa;AAKxD,2BAAejB,eAAc;AAE7B,oBAAQA,gBAAe,KAAK;AAAA,cAC1B,KAAK,gBACH;AACE,oBAAI,YAAYA,gBAAe;AAE/B,oBAAI,kBAAkB,SAAS,GAAG;AAChC,6BAAWA,eAAc;AAAA,gBAC3B;AAEA,oBAAI,QAAQA,gBAAe;AAE3B,oBAAI,QAAQ,eAAe;AACzB,kBAAAA,gBAAe,QAAQ,QAAQ,CAAC,gBAAgB;AAEhD,uBAAMA,gBAAe,OAAO,iBAAiB,QAAQ;AACnD,2CAAuBA,eAAc;AAAA,kBACvC;AAEA,yBAAOA;AAAA,gBACT;AAEA,uBAAO;AAAA,cACT;AAAA,cAEF,KAAK,UACH;AACE,oBAAIe,QAAOf,gBAAe;AAC1B,iCAAiBA,eAAc;AAC/B,yCAAyBA,eAAc;AACvC,4CAA4B;AAC5B,oBAAI,SAASA,gBAAe;AAE5B,qBAAK,SAAS,mBAAmB,YAAY,SAAS,gBAAgB,SAAS;AAG7E,kBAAAA,gBAAe,QAAQ,SAAS,CAAC,gBAAgB;AACjD,yBAAOA;AAAA,gBACT;AAGA,uBAAO;AAAA,cACT;AAAA,cAEF,KAAK,eACH;AAEE,+BAAeA,eAAc;AAC7B,uBAAO;AAAA,cACT;AAAA,cAEF,KAAK,mBACH;AACE,mCAAmBA,eAAc;AACjC,oBAAI,gBAAgBA,gBAAe;AAEnC,oBAAI,kBAAkB,QAAQ,cAAc,eAAe,MAAM;AAC/D,sBAAIA,gBAAe,cAAc,MAAM;AACrC,0BAAM,IAAI,MAAM,mGAAwG;AAAA,kBAC1H;AAEA,sCAAoB;AAAA,gBACtB;AAEA,oBAAI,UAAUA,gBAAe;AAE7B,oBAAI,UAAU,eAAe;AAC3B,kBAAAA,gBAAe,QAAQ,UAAU,CAAC,gBAAgB;AAElD,uBAAMA,gBAAe,OAAO,iBAAiB,QAAQ;AACnD,2CAAuBA,eAAc;AAAA,kBACvC;AAEA,yBAAOA;AAAA,gBACT;AAEA,uBAAO;AAAA,cACT;AAAA,cAEF,KAAK,uBACH;AACE,mCAAmBA,eAAc;AAGjC,uBAAO;AAAA,cACT;AAAA,cAEF,KAAK;AACH,iCAAiBA,eAAc;AAC/B,uBAAO;AAAA,cAET,KAAK;AACH,oBAAI,UAAUA,gBAAe,KAAK;AAClC,4BAAY,SAASA,eAAc;AACnC,uBAAO;AAAA,cAET,KAAK;AAAA,cACL,KAAK;AACH,+BAAeA,eAAc;AAC7B,uBAAO;AAAA,cAET,KAAK;AAEH,uBAAO;AAAA,cAET;AACE,uBAAO;AAAA,YACX;AAAA,UACF;AAEA,mBAAS,sBAAsBc,UAAS,iBAAiBG,cAAa;AAKpE,2BAAe,eAAe;AAE9B,oBAAQ,gBAAgB,KAAK;AAAA,cAC3B,KAAK,gBACH;AACE,oBAAI,oBAAoB,gBAAgB,KAAK;AAE7C,oBAAI,sBAAsB,QAAQ,sBAAsB,QAAW;AACjE,6BAAW,eAAe;AAAA,gBAC5B;AAEA;AAAA,cACF;AAAA,cAEF,KAAK,UACH;AACE,oBAAIF,QAAO,gBAAgB;AAC3B,iCAAiB,eAAe;AAChC,yCAAyB,eAAe;AACxC,4CAA4B;AAC5B;AAAA,cACF;AAAA,cAEF,KAAK,eACH;AACE,+BAAe,eAAe;AAC9B;AAAA,cACF;AAAA,cAEF,KAAK;AACH,iCAAiB,eAAe;AAChC;AAAA,cAEF,KAAK;AACH,mCAAmB,eAAe;AAClC;AAAA,cAEF,KAAK;AACH,mCAAmB,eAAe;AAClC;AAAA,cAEF,KAAK;AACH,oBAAI,UAAU,gBAAgB,KAAK;AACnC,4BAAY,SAAS,eAAe;AACpC;AAAA,cAEF,KAAK;AAAA,cACL,KAAK;AACH,+BAAe,eAAe;AAC9B;AAAA,YACJ;AAAA,UACF;AAEA,cAAI,4CAA4C;AAEhD;AACE,wDAA4C,oBAAI,IAAI;AAAA,UACtD;AAKA,cAAI,2BAA2B;AAC/B,cAAI,4BAA4B;AAChC,cAAI,kBAAkB,OAAO,YAAY,aAAa,UAAU;AAChE,cAAI,aAAa;AAEjB,cAAI,kBAAkB;AACtB,cAAI,iBAAiB;AACrB,mBAAS,yBAAyBH,QAAO;AAMvC;AACE,oCAAsB,MAAM,WAAY;AACtC,sBAAMA;AAAA,cACR,CAAC;AACD,+BAAiB;AAAA,YACnB;AAAA,UACF;AAEA,cAAI,oCAAoC,SAAUE,UAAS,UAAU;AACnE,qBAAS,QAAQA,SAAQ;AACzB,qBAAS,QAAQA,SAAQ;AAEzB,gBAAKA,SAAQ,OAAO,aAAa;AAC/B,kBAAI;AACF,uCAAuB;AACvB,yBAAS,qBAAqB;AAAA,cAChC,UAAE;AACA,2CAA2BA,QAAO;AAAA,cACpC;AAAA,YACF,OAAO;AACL,uBAAS,qBAAqB;AAAA,YAChC;AAAA,UACF;AAGA,mBAAS,0CAA0CA,UAAS,wBAAwB;AAClF,gBAAI;AACF,wCAA0B,QAAQA,QAAO;AAAA,YAC3C,SAASF,QAAO;AACd,sCAAwBE,UAAS,wBAAwBF,MAAK;AAAA,YAChE;AAAA,UACF;AAGA,mBAAS,+BAA+BE,UAAS,wBAAwB,UAAU;AACjF,gBAAI;AACF,gDAAkCA,UAAS,QAAQ;AAAA,YACrD,SAASF,QAAO;AACd,sCAAwBE,UAAS,wBAAwBF,MAAK;AAAA,YAChE;AAAA,UACF;AAGA,mBAAS,4BAA4BE,UAAS,wBAAwB,UAAU;AAC9E,gBAAI;AACF,uBAAS,kBAAkB;AAAA,YAC7B,SAASF,QAAO;AACd,sCAAwBE,UAAS,wBAAwBF,MAAK;AAAA,YAChE;AAAA,UACF;AAGA,mBAAS,gBAAgBE,UAAS,wBAAwB;AACxD,gBAAI;AACF,8BAAgBA,QAAO;AAAA,YACzB,SAASF,QAAO;AACd,sCAAwBE,UAAS,wBAAwBF,MAAK;AAAA,YAChE;AAAA,UACF;AAEA,mBAAS,gBAAgBE,UAAS,wBAAwB;AACxD,gBAAI,MAAMA,SAAQ;AAElB,gBAAI,QAAQ,MAAM;AAChB,kBAAI,OAAO,QAAQ,YAAY;AAC7B,oBAAI;AAEJ,oBAAI;AACF,sBAAI,uBAAuB,6BAA6BA,SAAQ,OAAO,aAAa;AAClF,wBAAI;AACF,6CAAuB;AACvB,+BAAS,IAAI,IAAI;AAAA,oBACnB,UAAE;AACA,iDAA2BA,QAAO;AAAA,oBACpC;AAAA,kBACF,OAAO;AACL,6BAAS,IAAI,IAAI;AAAA,kBACnB;AAAA,gBACF,SAASF,QAAO;AACd,0CAAwBE,UAAS,wBAAwBF,MAAK;AAAA,gBAChE;AAEA;AACE,sBAAI,OAAO,WAAW,YAAY;AAChC,0BAAM,mGAAwG,0BAA0BE,QAAO,CAAC;AAAA,kBAClJ;AAAA,gBACF;AAAA,cACF,OAAO;AACL,oBAAI,UAAU;AAAA,cAChB;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,kBAAkBA,UAAS,wBAAwB,SAAS;AACnE,gBAAI;AACF,sBAAQ;AAAA,YACV,SAASF,QAAO;AACd,sCAAwBE,UAAS,wBAAwBF,MAAK;AAAA,YAChE;AAAA,UACF;AAEA,cAAI,wBAAwB;AAC5B,cAAI,oCAAoC;AACxC,mBAAS,4BAA4BG,OAAM,YAAY;AACrD,oCAAwB,iBAAiBA,MAAK,aAAa;AAC3D,yBAAa;AACb,8CAAkC;AAElC,gBAAI,aAAa;AACjB,gDAAoC;AACpC,oCAAwB;AACxB,mBAAO;AAAA,UACT;AAEA,mBAAS,oCAAoC;AAC3C,mBAAO,eAAe,MAAM;AAC1B,kBAAI,QAAQ;AAEZ,kBAAI,QAAQ,MAAM;AAElB,mBAAK,MAAM,eAAe,wBAAwB,WAAW,UAAU,MAAM;AAC3E,sBAAM,SAAS;AACf,6BAAa;AAAA,cACf,OAAO;AACL,qDAAqC;AAAA,cACvC;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,uCAAuC;AAC9C,mBAAO,eAAe,MAAM;AAC1B,kBAAI,QAAQ;AACZ,8BAAgB,KAAK;AAErB,kBAAI;AACF,mDAAmC,KAAK;AAAA,cAC1C,SAASH,QAAO;AACd,wCAAwB,OAAO,MAAM,QAAQA,MAAK;AAAA,cACpD;AAEA,gCAAkB;AAClB,kBAAI,UAAU,MAAM;AAEpB,kBAAI,YAAY,MAAM;AACpB,wBAAQ,SAAS,MAAM;AACvB,6BAAa;AACb;AAAA,cACF;AAEA,2BAAa,MAAM;AAAA,YACrB;AAAA,UACF;AAEA,mBAAS,mCAAmC,cAAc;AACxD,gBAAIE,WAAU,aAAa;AAC3B,gBAAI,QAAQ,aAAa;AAEzB,iBAAK,QAAQ,cAAc,SAAS;AAClC,8BAAgB,YAAY;AAE5B,sBAAQ,aAAa,KAAK;AAAA,gBACxB,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK,qBACH;AACE;AAAA,gBACF;AAAA,gBAEF,KAAK,gBACH;AACE,sBAAIA,aAAY,MAAM;AACpB,wBAAI,YAAYA,SAAQ;AACxB,wBAAI,YAAYA,SAAQ;AACxB,wBAAI,WAAW,aAAa;AAI5B;AACE,0BAAI,aAAa,SAAS,aAAa,eAAe,CAAC,8BAA8B;AACnF,4BAAI,SAAS,UAAU,aAAa,eAAe;AACjD,gCAAM,0MAA8N,0BAA0B,YAAY,KAAK,UAAU;AAAA,wBAC3R;AAEA,4BAAI,SAAS,UAAU,aAAa,eAAe;AACjD,gCAAM,0MAA8N,0BAA0B,YAAY,KAAK,UAAU;AAAA,wBAC3R;AAAA,sBACF;AAAA,oBACF;AAEA,wBAAI,WAAW,SAAS,wBAAwB,aAAa,gBAAgB,aAAa,OAAO,YAAY,oBAAoB,aAAa,MAAM,SAAS,GAAG,SAAS;AAEzK;AACE,0BAAI,aAAa;AAEjB,0BAAI,aAAa,UAAa,CAAC,WAAW,IAAI,aAAa,IAAI,GAAG;AAChE,mCAAW,IAAI,aAAa,IAAI;AAEhC,8BAAM,2GAAgH,0BAA0B,YAAY,CAAC;AAAA,sBAC/J;AAAA,oBACF;AAEA,6BAAS,sCAAsC;AAAA,kBACjD;AAEA;AAAA,gBACF;AAAA,gBAEF,KAAK,UACH;AACE;AACE,wBAAIC,QAAO,aAAa;AACxB,mCAAeA,MAAK,aAAa;AAAA,kBACnC;AAEA;AAAA,gBACF;AAAA,gBAEF,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAEH;AAAA,gBAEF,SACE;AACE,wBAAM,IAAI,MAAM,0HAA+H;AAAA,gBACjJ;AAAA,cACJ;AAEA,gCAAkB;AAAA,YACpB;AAAA,UACF;AAEA,mBAAS,4BAA4B,OAAO,cAAc,wBAAwB;AAChF,gBAAI,cAAc,aAAa;AAC/B,gBAAI,aAAa,gBAAgB,OAAO,YAAY,aAAa;AAEjE,gBAAI,eAAe,MAAM;AACvB,kBAAI,cAAc,WAAW;AAC7B,kBAAI,SAAS;AAEb,iBAAG;AACD,qBAAK,OAAO,MAAM,WAAW,OAAO;AAElC,sBAAI,UAAU,OAAO;AACrB,yBAAO,UAAU;AAEjB,sBAAI,YAAY,QAAW;AACzB;AACE,2BAAK,QAAQ,eAAe,WAAW;AACrC,iEAAyC,YAAY;AAAA,sBACvD,YAAY,QAAQ,YAAY,WAAW;AACzC,gEAAwC,YAAY;AAAA,sBACtD;AAAA,oBACF;AAEA;AACE,2BAAK,QAAQ,eAAe,WAAW;AACrC,oDAA4B,IAAI;AAAA,sBAClC;AAAA,oBACF;AAEA,sCAAkB,cAAc,wBAAwB,OAAO;AAE/D;AACE,2BAAK,QAAQ,eAAe,WAAW;AACrC,oDAA4B,KAAK;AAAA,sBACnC;AAAA,oBACF;AAEA;AACE,2BAAK,QAAQ,eAAe,WAAW;AACrC,iEAAyC;AAAA,sBAC3C,YAAY,QAAQ,YAAY,WAAW;AACzC,gEAAwC;AAAA,sBAC1C;AAAA,oBACF;AAAA,kBACF;AAAA,gBACF;AAEA,yBAAS,OAAO;AAAA,cAClB,SAAS,WAAW;AAAA,YACtB;AAAA,UACF;AAEA,mBAAS,0BAA0B,OAAO,cAAc;AACtD,gBAAI,cAAc,aAAa;AAC/B,gBAAI,aAAa,gBAAgB,OAAO,YAAY,aAAa;AAEjE,gBAAI,eAAe,MAAM;AACvB,kBAAI,cAAc,WAAW;AAC7B,kBAAI,SAAS;AAEb,iBAAG;AACD,qBAAK,OAAO,MAAM,WAAW,OAAO;AAClC;AACE,yBAAK,QAAQ,eAAe,WAAW;AACrC,6DAAuC,YAAY;AAAA,oBACrD,YAAY,QAAQ,YAAY,WAAW;AACzC,4DAAsC,YAAY;AAAA,oBACpD;AAAA,kBACF;AAGA,sBAAI,SAAS,OAAO;AAEpB;AACE,yBAAK,QAAQ,eAAe,WAAW;AACrC,kDAA4B,IAAI;AAAA,oBAClC;AAAA,kBACF;AAEA,yBAAO,UAAU,OAAO;AAExB;AACE,yBAAK,QAAQ,eAAe,WAAW;AACrC,kDAA4B,KAAK;AAAA,oBACnC;AAAA,kBACF;AAEA;AACE,yBAAK,QAAQ,eAAe,WAAW;AACrC,6DAAuC;AAAA,oBACzC,YAAY,QAAQ,YAAY,WAAW;AACzC,4DAAsC;AAAA,oBACxC;AAAA,kBACF;AAEA;AACE,wBAAI,UAAU,OAAO;AAErB,wBAAI,YAAY,UAAa,OAAO,YAAY,YAAY;AAC1D,0BAAI,WAAW;AAEf,2BAAK,OAAO,MAAM,YAAY,SAAS;AACrC,mCAAW;AAAA,sBACb,YAAY,OAAO,MAAM,eAAe,SAAS;AAC/C,mCAAW;AAAA,sBACb,OAAO;AACL,mCAAW;AAAA,sBACb;AAEA,0BAAI,WAAW;AAEf,0BAAI,YAAY,MAAM;AACpB,mCAAW;AAAA,sBACb,WAAW,OAAO,QAAQ,SAAS,YAAY;AAC7C,mCAAW,iCAAiC,WAAW,+HAAyI,WAAW;AAAA,sBAC7M,OAAO;AACL,mCAAW,oBAAoB;AAAA,sBACjC;AAEA,4BAAM,iFAAsF,UAAU,QAAQ;AAAA,oBAChH;AAAA,kBACF;AAAA,gBACF;AAEA,yBAAS,OAAO;AAAA,cAClB,SAAS,WAAW;AAAA,YACtB;AAAA,UACF;AAEA,mBAAS,6BAA6B,cAAc,cAAc;AAChE;AAEE,mBAAK,aAAa,QAAQ,YAAY,SAAS;AAC7C,wBAAQ,aAAa,KAAK;AAAA,kBACxB,KAAK,UACH;AACE,wBAAI,wBAAwB,aAAa,UAAU;AACnD,wBAAI,wBAAwB,aAAa,eACrC,KAAK,sBAAsB,IAC3B,eAAe,sBAAsB;AAGzC,wBAAIoB,cAAa,cAAc;AAC/B,wBAAI,QAAQ,aAAa,cAAc,OAAO,UAAU;AAExD;AACE,0BAAI,sBAAsB,GAAG;AAC3B,gCAAQ;AAAA,sBACV;AAAA,oBACF;AAEA,wBAAI,OAAO,iBAAiB,YAAY;AACtC,mCAAa,IAAI,OAAO,uBAAuBA,WAAU;AAAA,oBAC3D;AAIA,wBAAI,cAAc,aAAa;AAE/B;AAAO,6BAAO,gBAAgB,MAAM;AAClC,gCAAQ,YAAY,KAAK;AAAA,0BACvB,KAAK;AACH,gCAAIpB,QAAO,YAAY;AACvB,4BAAAA,MAAK,yBAAyB;AAC9B,kCAAM;AAAA,0BAER,KAAK;AACH,gCAAI,kBAAkB,YAAY;AAClC,4CAAgB,yBAAyB;AACzC,kCAAM;AAAA,wBACV;AAEA,sCAAc,YAAY;AAAA,sBAC5B;AAEA;AAAA,kBACF;AAAA,gBACJ;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,0BAA0B,cAAcD,UAAS,cAAc,gBAAgB;AACtF,iBAAK,aAAa,QAAQ,gBAAgB,SAAS;AACjD,sBAAQ,aAAa,KAAK;AAAA,gBACxB,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK,qBACH;AACE,sBAAK,CAAC,2BAA2B;AAK/B,wBAAK,aAAa,OAAO,aAAa;AACpC,0BAAI;AACF,+CAAuB;AACvB,kDAA0B,SAAS,WAAW,YAAY;AAAA,sBAC5D,UAAE;AACA,mDAA2B,YAAY;AAAA,sBACzC;AAAA,oBACF,OAAO;AACL,gDAA0B,SAAS,WAAW,YAAY;AAAA,oBAC5D;AAAA,kBACF;AAEA;AAAA,gBACF;AAAA,gBAEF,KAAK,gBACH;AACE,sBAAI,WAAW,aAAa;AAE5B,sBAAI,aAAa,QAAQ,QAAQ;AAC/B,wBAAI,CAAC,2BAA2B;AAC9B,0BAAIA,aAAY,MAAM;AAIpB;AACE,8BAAI,aAAa,SAAS,aAAa,eAAe,CAAC,8BAA8B;AACnF,gCAAI,SAAS,UAAU,aAAa,eAAe;AACjD,oCAAM,oMAAwN,0BAA0B,YAAY,KAAK,UAAU;AAAA,4BACrR;AAEA,gCAAI,SAAS,UAAU,aAAa,eAAe;AACjD,oCAAM,oMAAwN,0BAA0B,YAAY,KAAK,UAAU;AAAA,4BACrR;AAAA,0BACF;AAAA,wBACF;AAEA,4BAAK,aAAa,OAAO,aAAa;AACpC,8BAAI;AACF,mDAAuB;AACvB,qCAAS,kBAAkB;AAAA,0BAC7B,UAAE;AACA,uDAA2B,YAAY;AAAA,0BACzC;AAAA,wBACF,OAAO;AACL,mCAAS,kBAAkB;AAAA,wBAC7B;AAAA,sBACF,OAAO;AACL,4BAAI,YAAY,aAAa,gBAAgB,aAAa,OAAOA,SAAQ,gBAAgB,oBAAoB,aAAa,MAAMA,SAAQ,aAAa;AACrJ,4BAAI,YAAYA,SAAQ;AAIxB;AACE,8BAAI,aAAa,SAAS,aAAa,eAAe,CAAC,8BAA8B;AACnF,gCAAI,SAAS,UAAU,aAAa,eAAe;AACjD,oCAAM,qMAAyN,0BAA0B,YAAY,KAAK,UAAU;AAAA,4BACtR;AAEA,gCAAI,SAAS,UAAU,aAAa,eAAe;AACjD,oCAAM,qMAAyN,0BAA0B,YAAY,KAAK,UAAU;AAAA,4BACtR;AAAA,0BACF;AAAA,wBACF;AAEA,4BAAK,aAAa,OAAO,aAAa;AACpC,8BAAI;AACF,mDAAuB;AACvB,qCAAS,mBAAmB,WAAW,WAAW,SAAS,mCAAmC;AAAA,0BAChG,UAAE;AACA,uDAA2B,YAAY;AAAA,0BACzC;AAAA,wBACF,OAAO;AACL,mCAAS,mBAAmB,WAAW,WAAW,SAAS,mCAAmC;AAAA,wBAChG;AAAA,sBACF;AAAA,oBACF;AAAA,kBACF;AAIA,sBAAI,cAAc,aAAa;AAE/B,sBAAI,gBAAgB,MAAM;AACxB;AACE,0BAAI,aAAa,SAAS,aAAa,eAAe,CAAC,8BAA8B;AACnF,4BAAI,SAAS,UAAU,aAAa,eAAe;AACjD,gCAAM,8MAAkO,0BAA0B,YAAY,KAAK,UAAU;AAAA,wBAC/R;AAEA,4BAAI,SAAS,UAAU,aAAa,eAAe;AACjD,gCAAM,8MAAkO,0BAA0B,YAAY,KAAK,UAAU;AAAA,wBAC/R;AAAA,sBACF;AAAA,oBACF;AAKA,sCAAkB,cAAc,aAAa,QAAQ;AAAA,kBACvD;AAEA;AAAA,gBACF;AAAA,gBAEF,KAAK,UACH;AAGE,sBAAI,eAAe,aAAa;AAEhC,sBAAI,iBAAiB,MAAM;AACzB,wBAAI,YAAY;AAEhB,wBAAI,aAAa,UAAU,MAAM;AAC/B,8BAAQ,aAAa,MAAM,KAAK;AAAA,wBAC9B,KAAK;AACH,sCAAY,kBAAkB,aAAa,MAAM,SAAS;AAC1D;AAAA,wBAEF,KAAK;AACH,sCAAY,aAAa,MAAM;AAC/B;AAAA,sBACJ;AAAA,oBACF;AAEA,sCAAkB,cAAc,cAAc,SAAS;AAAA,kBACzD;AAEA;AAAA,gBACF;AAAA,gBAEF,KAAK,eACH;AACE,sBAAI,aAAa,aAAa;AAK9B,sBAAIA,aAAY,QAAQ,aAAa,QAAQ,QAAQ;AACnD,wBAAI,OAAO,aAAa;AACxB,wBAAI,QAAQ,aAAa;AACzB,gCAAY,YAAY,MAAM,KAAK;AAAA,kBACrC;AAEA;AAAA,gBACF;AAAA,gBAEF,KAAK,UACH;AAEE;AAAA,gBACF;AAAA,gBAEF,KAAK,YACH;AAEE;AAAA,gBACF;AAAA,gBAEF,KAAK,UACH;AACE;AACE,wBAAI,yBAAyB,aAAa,eACtC,WAAW,uBAAuB,UAClC,WAAW,uBAAuB;AACtC,wBAAI,iBAAiB,aAAa,UAAU;AAC5C,wBAAIqB,cAAa,cAAc;AAC/B,wBAAI,QAAQrB,aAAY,OAAO,UAAU;AAEzC;AACE,0BAAI,sBAAsB,GAAG;AAC3B,gCAAQ;AAAA,sBACV;AAAA,oBACF;AAEA,wBAAI,OAAO,aAAa,YAAY;AAClC,+BAAS,aAAa,cAAc,IAAI,OAAO,aAAa,gBAAgB,aAAa,kBAAkB,aAAa,iBAAiBqB,WAAU;AAAA,oBACrJ;AAEA;AACE,0BAAI,OAAO,aAAa,YAAY;AAClC,iCAAS,aAAa,cAAc,IAAI,OAAO,gBAAgBA,WAAU;AAAA,sBAC3E;AAKA,0DAAoC,YAAY;AAGhD,0BAAI,cAAc,aAAa;AAE/B;AAAO,+BAAO,gBAAgB,MAAM;AAClC,kCAAQ,YAAY,KAAK;AAAA,4BACvB,KAAK;AACH,kCAAIpB,QAAO,YAAY;AACvB,8BAAAA,MAAK,kBAAkB;AACvB,oCAAM;AAAA,4BAER,KAAK;AACH,kCAAI,kBAAkB,YAAY;AAClC,8CAAgB,kBAAkB;AAClC,oCAAM;AAAA,0BACV;AAEA,wCAAc,YAAY;AAAA,wBAC5B;AAAA,oBACF;AAAA,kBACF;AAEA;AAAA,gBACF;AAAA,gBAEF,KAAK,mBACH;AACE,mDAAiC,cAAc,YAAY;AAC3D;AAAA,gBACF;AAAA,gBAEF,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK,wBACH;AACE;AAAA,gBACF;AAAA,gBAEF;AACE,wBAAM,IAAI,MAAM,0HAA+H;AAAA,cACnJ;AAAA,YACF;AAEA,gBAAK,CAAC,2BAA2B;AAC/B;AACE,oBAAI,aAAa,QAAQ,KAAK;AAC5B,kCAAgB,YAAY;AAAA,gBAC9B;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,6BAA6B,MAAM;AAG1C,oBAAQ,KAAK,KAAK;AAAA,cAChB,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK,qBACH;AACE,oBAAK,KAAK,OAAO,aAAa;AAC5B,sBAAI;AACF,2CAAuB;AACvB,8DAA0C,MAAM,KAAK,MAAM;AAAA,kBAC7D,UAAE;AACA,+CAA2B,IAAI;AAAA,kBACjC;AAAA,gBACF,OAAO;AACL,4DAA0C,MAAM,KAAK,MAAM;AAAA,gBAC7D;AAEA;AAAA,cACF;AAAA,cAEF,KAAK,gBACH;AACE,oBAAI,WAAW,KAAK;AAEpB,oBAAI,OAAO,SAAS,sBAAsB,YAAY;AACpD,8CAA4B,MAAM,KAAK,QAAQ,QAAQ;AAAA,gBACzD;AAEA,gCAAgB,MAAM,KAAK,MAAM;AACjC;AAAA,cACF;AAAA,cAEF,KAAK,eACH;AACE,gCAAgB,MAAM,KAAK,MAAM;AACjC;AAAA,cACF;AAAA,YACJ;AAAA,UACF;AAEA,mBAAS,wBAAwB,cAAc,UAAU;AAEvD,gBAAI,kBAAkB;AAEtB;AAGE,kBAAI,OAAO;AAEX,qBAAO,MAAM;AACX,oBAAI,KAAK,QAAQ,eAAe;AAC9B,sBAAI,oBAAoB,MAAM;AAC5B,sCAAkB;AAElB,wBAAI;AACF,0BAAI,WAAW,KAAK;AAEpB,0BAAI,UAAU;AACZ,qCAAa,QAAQ;AAAA,sBACvB,OAAO;AACL,uCAAe,KAAK,WAAW,KAAK,aAAa;AAAA,sBACnD;AAAA,oBACF,SAASH,QAAO;AACd,8CAAwB,cAAc,aAAa,QAAQA,MAAK;AAAA,oBAClE;AAAA,kBACF;AAAA,gBACF,WAAW,KAAK,QAAQ,UAAU;AAChC,sBAAI,oBAAoB,MAAM;AAC5B,wBAAI;AACF,0BAAI,aAAa,KAAK;AAEtB,0BAAI,UAAU;AACZ,yCAAiB,UAAU;AAAA,sBAC7B,OAAO;AACL,2CAAmB,YAAY,KAAK,aAAa;AAAA,sBACnD;AAAA,oBACF,SAASA,QAAO;AACd,8CAAwB,cAAc,aAAa,QAAQA,MAAK;AAAA,oBAClE;AAAA,kBACF;AAAA,gBACF,YAAY,KAAK,QAAQ,sBAAsB,KAAK,QAAQ,0BAA0B,KAAK,kBAAkB,QAAQ,SAAS;AAAc;AAAA,yBAAW,KAAK,UAAU,MAAM;AAC1K,uBAAK,MAAM,SAAS;AACpB,yBAAO,KAAK;AACZ;AAAA,gBACF;AAEA,oBAAI,SAAS,cAAc;AACzB;AAAA,gBACF;AAEA,uBAAO,KAAK,YAAY,MAAM;AAC5B,sBAAI,KAAK,WAAW,QAAQ,KAAK,WAAW,cAAc;AACxD;AAAA,kBACF;AAEA,sBAAI,oBAAoB,MAAM;AAC5B,sCAAkB;AAAA,kBACpB;AAEA,yBAAO,KAAK;AAAA,gBACd;AAEA,oBAAI,oBAAoB,MAAM;AAC5B,oCAAkB;AAAA,gBACpB;AAEA,qBAAK,QAAQ,SAAS,KAAK;AAC3B,uBAAO,KAAK;AAAA,cACd;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,gBAAgB,cAAc;AACrC,gBAAI,MAAM,aAAa;AAEvB,gBAAI,QAAQ,MAAM;AAChB,kBAAI,WAAW,aAAa;AAC5B,kBAAI;AAEJ,sBAAQ,aAAa,KAAK;AAAA,gBACxB,KAAK;AACH,kCAAgB,kBAAkB,QAAQ;AAC1C;AAAA,gBAEF;AACE,kCAAgB;AAAA,cACpB;AAEA,kBAAI,OAAO,QAAQ,YAAY;AAC7B,oBAAI;AAEJ,oBAAK,aAAa,OAAO,aAAa;AACpC,sBAAI;AACF,2CAAuB;AACvB,6BAAS,IAAI,aAAa;AAAA,kBAC5B,UAAE;AACA,+CAA2B,YAAY;AAAA,kBACzC;AAAA,gBACF,OAAO;AACL,2BAAS,IAAI,aAAa;AAAA,gBAC5B;AAEA;AACE,sBAAI,OAAO,WAAW,YAAY;AAChC,0BAAM,mGAAwG,0BAA0B,YAAY,CAAC;AAAA,kBACvJ;AAAA,gBACF;AAAA,cACF,OAAO;AACL;AACE,sBAAI,CAAC,IAAI,eAAe,SAAS,GAAG;AAClC,0BAAM,iGAAsG,0BAA0B,YAAY,CAAC;AAAA,kBACrJ;AAAA,gBACF;AAEA,oBAAI,UAAU;AAAA,cAChB;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,oBAAoB,OAAO;AAiBlC,gBAAI,YAAY,MAAM;AAEtB,gBAAI,cAAc,MAAM;AACtB,wBAAU,SAAS;AAAA,YACrB;AAEA,kBAAM,SAAS;AAAA,UACjB;AAEA,mBAAS,wBAAwB,OAAO;AACtC,gBAAI,YAAY,MAAM;AAEtB,gBAAI,cAAc,MAAM;AACtB,oBAAM,YAAY;AAClB,sCAAwB,SAAS;AAAA,YACnC;AAIA;AAOE,oBAAM,QAAQ;AACd,oBAAM,YAAY;AAClB,oBAAM,UAAU;AAKhB,kBAAI,MAAM,QAAQ,eAAe;AAC/B,oBAAI,eAAe,MAAM;AAEzB,oBAAI,iBAAiB,MAAM;AACzB,wCAAsB,YAAY;AAAA,gBACpC;AAAA,cACF;AAEA,oBAAM,YAAY;AAMlB;AACE,sBAAM,cAAc;AAAA,cACtB;AAEA;AAQE,sBAAM,SAAS;AACf,sBAAM,eAAe;AACrB,sBAAM,gBAAgB;AACtB,sBAAM,gBAAgB;AACtB,sBAAM,eAAe;AACrB,sBAAM,YAAY;AAElB,sBAAM,cAAc;AAAA,cACtB;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,mBAAmB,OAAO;AACjC,gBAAI,SAAS,MAAM;AAEnB,mBAAO,WAAW,MAAM;AACtB,kBAAI,aAAa,MAAM,GAAG;AACxB,uBAAO;AAAA,cACT;AAEA,uBAAS,OAAO;AAAA,YAClB;AAEA,kBAAM,IAAI,MAAM,sGAA2G;AAAA,UAC7H;AAEA,mBAAS,aAAa,OAAO;AAC3B,mBAAO,MAAM,QAAQ,iBAAiB,MAAM,QAAQ,YAAY,MAAM,QAAQ;AAAA,UAChF;AAEA,mBAAS,eAAe,OAAO;AAK7B,gBAAI,OAAO;AAEX;AAAU,qBAAO,MAAM;AAErB,uBAAO,KAAK,YAAY,MAAM;AAC5B,sBAAI,KAAK,WAAW,QAAQ,aAAa,KAAK,MAAM,GAAG;AAGrD,2BAAO;AAAA,kBACT;AAEA,yBAAO,KAAK;AAAA,gBACd;AAEA,qBAAK,QAAQ,SAAS,KAAK;AAC3B,uBAAO,KAAK;AAEZ,uBAAO,KAAK,QAAQ,iBAAiB,KAAK,QAAQ,YAAY,KAAK,QAAQ,oBAAoB;AAG7F,sBAAI,KAAK,QAAQ,WAAW;AAE1B,6BAAS;AAAA,kBACX;AAIA,sBAAI,KAAK,UAAU,QAAQ,KAAK,QAAQ,YAAY;AAClD,6BAAS;AAAA,kBACX,OAAO;AACL,yBAAK,MAAM,SAAS;AACpB,2BAAO,KAAK;AAAA,kBACd;AAAA,gBACF;AAGA,oBAAI,EAAE,KAAK,QAAQ,YAAY;AAE7B,yBAAO,KAAK;AAAA,gBACd;AAAA,cACF;AAAA,UACF;AAEA,mBAAS,gBAAgB,cAAc;AAGrC,gBAAI,cAAc,mBAAmB,YAAY;AAEjD,oBAAQ,YAAY,KAAK;AAAA,cACvB,KAAK,eACH;AACE,oBAAI,SAAS,YAAY;AAEzB,oBAAI,YAAY,QAAQ,cAAc;AAEpC,mCAAiB,MAAM;AAEvB,8BAAY,SAAS,CAAC;AAAA,gBACxB;AAEA,oBAAI,SAAS,eAAe,YAAY;AAGxC,4CAA4B,cAAc,QAAQ,MAAM;AACxD;AAAA,cACF;AAAA,cAEF,KAAK;AAAA,cACL,KAAK,YACH;AACE,oBAAI,UAAU,YAAY,UAAU;AAEpC,oBAAI,UAAU,eAAe,YAAY;AAEzC,yDAAyC,cAAc,SAAS,OAAO;AACvE;AAAA,cACF;AAAA,cAGF;AACE,sBAAM,IAAI,MAAM,iGAAsG;AAAA,YAC1H;AAAA,UACF;AAEA,mBAAS,yCAAyC,MAAM,QAAQ,QAAQ;AACtE,gBAAI,MAAM,KAAK;AACf,gBAAI,SAAS,QAAQ,iBAAiB,QAAQ;AAE9C,gBAAI,QAAQ;AACV,kBAAI,YAAY,KAAK;AAErB,kBAAI,QAAQ;AACV,wCAAwB,QAAQ,WAAW,MAAM;AAAA,cACnD,OAAO;AACL,uCAAuB,QAAQ,SAAS;AAAA,cAC1C;AAAA,YACF,WAAW,QAAQ;AAAY;AAAA,iBAAO;AACpC,kBAAI,QAAQ,KAAK;AAEjB,kBAAI,UAAU,MAAM;AAClB,yDAAyC,OAAO,QAAQ,MAAM;AAC9D,oBAAI,UAAU,MAAM;AAEpB,uBAAO,YAAY,MAAM;AACvB,2DAAyC,SAAS,QAAQ,MAAM;AAChE,4BAAU,QAAQ;AAAA,gBACpB;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,4BAA4B,MAAM,QAAQ,QAAQ;AACzD,gBAAI,MAAM,KAAK;AACf,gBAAI,SAAS,QAAQ,iBAAiB,QAAQ;AAE9C,gBAAI,QAAQ;AACV,kBAAI,YAAY,KAAK;AAErB,kBAAI,QAAQ;AACV,6BAAa,QAAQ,WAAW,MAAM;AAAA,cACxC,OAAO;AACL,4BAAY,QAAQ,SAAS;AAAA,cAC/B;AAAA,YACF,WAAW,QAAQ;AAAY;AAAA,iBAAO;AACpC,kBAAI,QAAQ,KAAK;AAEjB,kBAAI,UAAU,MAAM;AAClB,4CAA4B,OAAO,QAAQ,MAAM;AACjD,oBAAI,UAAU,MAAM;AAEpB,uBAAO,YAAY,MAAM;AACvB,8CAA4B,SAAS,QAAQ,MAAM;AACnD,4BAAU,QAAQ;AAAA,gBACpB;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAMA,cAAI,aAAa;AACjB,cAAI,wBAAwB;AAE5B,mBAAS,sBAAsBG,OAAM,aAAa,cAAc;AAC9D;AAgBE,kBAAI,SAAS;AAEb;AAAY,uBAAO,WAAW,MAAM;AAClC,0BAAQ,OAAO,KAAK;AAAA,oBAClB,KAAK,eACH;AACE,mCAAa,OAAO;AACpB,8CAAwB;AACxB,4BAAM;AAAA,oBACR;AAAA,oBAEF,KAAK,UACH;AACE,mCAAa,OAAO,UAAU;AAC9B,8CAAwB;AACxB,4BAAM;AAAA,oBACR;AAAA,oBAEF,KAAK,YACH;AACE,mCAAa,OAAO,UAAU;AAC9B,8CAAwB;AACxB,4BAAM;AAAA,oBACR;AAAA,kBACJ;AAEA,2BAAS,OAAO;AAAA,gBAClB;AAEA,kBAAI,eAAe,MAAM;AACvB,sBAAM,IAAI,MAAM,sGAA2G;AAAA,cAC7H;AAEA,2CAA6BA,OAAM,aAAa,YAAY;AAC5D,2BAAa;AACb,sCAAwB;AAAA,YAC1B;AAEA,gCAAoB,YAAY;AAAA,UAClC;AAEA,mBAAS,mCAAmC,cAAc,wBAAwB,QAAQ;AAExF,gBAAI,QAAQ,OAAO;AAEnB,mBAAO,UAAU,MAAM;AACrB,2CAA6B,cAAc,wBAAwB,KAAK;AACxE,sBAAQ,MAAM;AAAA,YAChB;AAAA,UACF;AAEA,mBAAS,6BAA6B,cAAc,wBAAwB,cAAc;AACxF,4BAAgB,YAAY;AAI5B,oBAAQ,aAAa,KAAK;AAAA,cACxB,KAAK,eACH;AACE,oBAAI,CAAC,2BAA2B;AAC9B,kCAAgB,cAAc,sBAAsB;AAAA,gBACtD;AAAA,cAEF;AAAA,cAGF,KAAK,UACH;AAIE;AACE,sBAAI,iBAAiB;AACrB,sBAAI,4BAA4B;AAChC,+BAAa;AACb,qDAAmC,cAAc,wBAAwB,YAAY;AACrF,+BAAa;AACb,0CAAwB;AAExB,sBAAI,eAAe,MAAM;AAGvB,wBAAI,uBAAuB;AACzB,+CAAyB,YAAY,aAAa,SAAS;AAAA,oBAC7D,OAAO;AACL,kCAAY,YAAY,aAAa,SAAS;AAAA,oBAChD;AAAA,kBACF;AAAA,gBACF;AAEA;AAAA,cACF;AAAA,cAEF,KAAK,oBACH;AAIE;AACE,sBAAI,eAAe,MAAM;AACvB,wBAAI,uBAAuB;AACzB,yDAAmC,YAAY,aAAa,SAAS;AAAA,oBACvE,OAAO;AACL,4CAAsB,YAAY,aAAa,SAAS;AAAA,oBAC1D;AAAA,kBACF;AAAA,gBACF;AAEA;AAAA,cACF;AAAA,cAEF,KAAK,YACH;AACE;AAEE,sBAAI,kBAAkB;AACtB,sBAAI,6BAA6B;AACjC,+BAAa,aAAa,UAAU;AACpC,0CAAwB;AACxB,qDAAmC,cAAc,wBAAwB,YAAY;AACrF,+BAAa;AACb,0CAAwB;AAAA,gBAC1B;AAEA;AAAA,cACF;AAAA,cAEF,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK,qBACH;AACE,oBAAI,CAAC,2BAA2B;AAC9B,sBAAI,cAAc,aAAa;AAE/B,sBAAI,gBAAgB,MAAM;AACxB,wBAAI,aAAa,YAAY;AAE7B,wBAAI,eAAe,MAAM;AACvB,0BAAI,cAAc,WAAW;AAC7B,0BAAI,SAAS;AAEb,yBAAG;AACD,4BAAI,UAAU,QACV,UAAU,QAAQ,SAClB,MAAM,QAAQ;AAElB,4BAAI,YAAY,QAAW;AACzB,+BAAK,MAAM,eAAe,WAAW;AACnC,8CAAkB,cAAc,wBAAwB,OAAO;AAAA,0BACjE,YAAY,MAAM,YAAY,WAAW;AACvC;AACE,sEAAwC,YAAY;AAAA,4BACtD;AAEA,gCAAK,aAAa,OAAO,aAAa;AACpC,qDAAuB;AACvB,gDAAkB,cAAc,wBAAwB,OAAO;AAC/D,yDAA2B,YAAY;AAAA,4BACzC,OAAO;AACL,gDAAkB,cAAc,wBAAwB,OAAO;AAAA,4BACjE;AAEA;AACE,sEAAwC;AAAA,4BAC1C;AAAA,0BACF;AAAA,wBACF;AAEA,iCAAS,OAAO;AAAA,sBAClB,SAAS,WAAW;AAAA,oBACtB;AAAA,kBACF;AAAA,gBACF;AAEA,mDAAmC,cAAc,wBAAwB,YAAY;AACrF;AAAA,cACF;AAAA,cAEF,KAAK,gBACH;AACE,oBAAI,CAAC,2BAA2B;AAC9B,kCAAgB,cAAc,sBAAsB;AACpD,sBAAI,WAAW,aAAa;AAE5B,sBAAI,OAAO,SAAS,yBAAyB,YAAY;AACvD,mDAA+B,cAAc,wBAAwB,QAAQ;AAAA,kBAC/E;AAAA,gBACF;AAEA,mDAAmC,cAAc,wBAAwB,YAAY;AACrF;AAAA,cACF;AAAA,cAEF,KAAK,gBACH;AAEE,mDAAmC,cAAc,wBAAwB,YAAY;AACrF;AAAA,cACF;AAAA,cAEF,KAAK,oBACH;AACE;AAAA;AAAA,kBACC,aAAa,OAAO;AAAA,kBAAgB;AAUnC,sBAAI,gCAAgC;AACpC,8CAA4B,iCAAiC,aAAa,kBAAkB;AAC5F,qDAAmC,cAAc,wBAAwB,YAAY;AACrF,8CAA4B;AAAA,gBAC9B,OAAO;AACL,qDAAmC,cAAc,wBAAwB,YAAY;AAAA,gBACvF;AAEA;AAAA,cACF;AAAA,cAEF,SACE;AACE,mDAAmC,cAAc,wBAAwB,YAAY;AACrF;AAAA,cACF;AAAA,YACJ;AAAA,UACF;AAEA,mBAAS,uBAAuB,cAAc;AAE5C,gBAAI,WAAW,aAAa;AAAA,UAC9B;AAEA,mBAAS,iCAAiC,cAAc,cAAc;AAEpE,gBAAI,WAAW,aAAa;AAE5B,gBAAI,aAAa,MAAM;AACrB,kBAAID,WAAU,aAAa;AAE3B,kBAAIA,aAAY,MAAM;AACpB,oBAAI,YAAYA,SAAQ;AAExB,oBAAI,cAAc,MAAM;AACtB,sBAAI,mBAAmB,UAAU;AAEjC,sBAAI,qBAAqB,MAAM;AAC7B,mDAA+B,gBAAgB;AAAA,kBACjD;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,6BAA6B,cAAc;AAIlD,gBAAI,YAAY,aAAa;AAE7B,gBAAI,cAAc,MAAM;AACtB,2BAAa,cAAc;AAC3B,kBAAI,aAAa,aAAa;AAE9B,kBAAI,eAAe,MAAM;AACvB,6BAAa,aAAa,YAAY,IAAI,gBAAgB;AAAA,cAC5D;AAEA,wBAAU,QAAQ,SAAU,UAAU;AAEpC,oBAAI,QAAQ,qBAAqB,KAAK,MAAM,cAAc,QAAQ;AAElE,oBAAI,CAAC,WAAW,IAAI,QAAQ,GAAG;AAC7B,6BAAW,IAAI,QAAQ;AAEvB;AACE,wBAAI,mBAAmB;AACrB,0BAAI,oBAAoB,QAAQ,mBAAmB,MAAM;AAEvD,+CAAuB,gBAAgB,eAAe;AAAA,sBACxD,OAAO;AACL,8BAAM,MAAM,qEAAqE;AAAA,sBACnF;AAAA,oBACF;AAAA,kBACF;AAEA,2BAAS,KAAK,OAAO,KAAK;AAAA,gBAC5B;AAAA,cACF,CAAC;AAAA,YACH;AAAA,UACF;AACA,mBAAS,sBAAsBC,OAAM,cAAc,gBAAgB;AACjE,8BAAkB;AAClB,6BAAiBA;AACjB,4BAAgB,YAAY;AAC5B,yCAA6B,cAAcA,KAAI;AAC/C,4BAAgB,YAAY;AAC5B,8BAAkB;AAClB,6BAAiB;AAAA,UACnB;AAEA,mBAAS,mCAAmCA,OAAM,aAAa,OAAO;AAGpE,gBAAI,YAAY,YAAY;AAE5B,gBAAI,cAAc,MAAM;AACtB,uBAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AACzC,oBAAI,gBAAgB,UAAU,CAAC;AAE/B,oBAAI;AACF,wCAAsBA,OAAM,aAAa,aAAa;AAAA,gBACxD,SAASH,QAAO;AACd,0CAAwB,eAAe,aAAaA,MAAK;AAAA,gBAC3D;AAAA,cACF;AAAA,YACF;AAEA,gBAAI,iBAAiB,gBAAgB;AAErC,gBAAI,YAAY,eAAe,cAAc;AAC3C,kBAAI,QAAQ,YAAY;AAExB,qBAAO,UAAU,MAAM;AACrB,gCAAgB,KAAK;AACrB,6CAA6B,OAAOG,KAAI;AACxC,wBAAQ,MAAM;AAAA,cAChB;AAAA,YACF;AAEA,4BAAgB,cAAc;AAAA,UAChC;AAEA,mBAAS,6BAA6B,cAAcA,OAAM,OAAO;AAC/D,gBAAID,WAAU,aAAa;AAC3B,gBAAI,QAAQ,aAAa;AAIzB,oBAAQ,aAAa,KAAK;AAAA,cACxB,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK,qBACH;AACE,mDAAmCC,OAAM,YAAY;AACrD,4CAA4B,YAAY;AAExC,oBAAI,QAAQ,QAAQ;AAClB,sBAAI;AACF,gDAA4B,YAAY,WAAW,cAAc,aAAa,MAAM;AACpF,8CAA0B,YAAY,WAAW,YAAY;AAAA,kBAC/D,SAASH,QAAO;AACd,4CAAwB,cAAc,aAAa,QAAQA,MAAK;AAAA,kBAClE;AAOA,sBAAK,aAAa,OAAO,aAAa;AACpC,wBAAI;AACF,6CAAuB;AACvB,kDAA4B,SAAS,WAAW,cAAc,aAAa,MAAM;AAAA,oBACnF,SAASA,QAAO;AACd,8CAAwB,cAAc,aAAa,QAAQA,MAAK;AAAA,oBAClE;AAEA,+CAA2B,YAAY;AAAA,kBACzC,OAAO;AACL,wBAAI;AACF,kDAA4B,SAAS,WAAW,cAAc,aAAa,MAAM;AAAA,oBACnF,SAASA,QAAO;AACd,8CAAwB,cAAc,aAAa,QAAQA,MAAK;AAAA,oBAClE;AAAA,kBACF;AAAA,gBACF;AAEA;AAAA,cACF;AAAA,cAEF,KAAK,gBACH;AACE,mDAAmCG,OAAM,YAAY;AACrD,4CAA4B,YAAY;AAExC,oBAAI,QAAQ,KAAK;AACf,sBAAID,aAAY,MAAM;AACpB,oCAAgBA,UAASA,SAAQ,MAAM;AAAA,kBACzC;AAAA,gBACF;AAEA;AAAA,cACF;AAAA,cAEF,KAAK,eACH;AACE,mDAAmCC,OAAM,YAAY;AACrD,4CAA4B,YAAY;AAExC,oBAAI,QAAQ,KAAK;AACf,sBAAID,aAAY,MAAM;AACpB,oCAAgBA,UAASA,SAAQ,MAAM;AAAA,kBACzC;AAAA,gBACF;AAEA;AAOE,sBAAI,aAAa,QAAQ,cAAc;AACrC,wBAAI,WAAW,aAAa;AAE5B,wBAAI;AACF,uCAAiB,QAAQ;AAAA,oBAC3B,SAASF,QAAO;AACd,8CAAwB,cAAc,aAAa,QAAQA,MAAK;AAAA,oBAClE;AAAA,kBACF;AAEA,sBAAI,QAAQ,QAAQ;AAClB,wBAAI,aAAa,aAAa;AAE9B,wBAAI,cAAc,MAAM;AAEtB,0BAAI,WAAW,aAAa;AAI5B,0BAAI,WAAWE,aAAY,OAAOA,SAAQ,gBAAgB;AAC1D,0BAAI,OAAO,aAAa;AAExB,0BAAI,gBAAgB,aAAa;AACjC,mCAAa,cAAc;AAE3B,0BAAI,kBAAkB,MAAM;AAC1B,4BAAI;AACF,uCAAa,YAAY,eAAe,MAAM,UAAU,UAAU,YAAY;AAAA,wBAChF,SAASF,QAAO;AACd,kDAAwB,cAAc,aAAa,QAAQA,MAAK;AAAA,wBAClE;AAAA,sBACF;AAAA,oBACF;AAAA,kBACF;AAAA,gBACF;AAEA;AAAA,cACF;AAAA,cAEF,KAAK,UACH;AACE,mDAAmCG,OAAM,YAAY;AACrD,4CAA4B,YAAY;AAExC,oBAAI,QAAQ,QAAQ;AAClB;AACE,wBAAI,aAAa,cAAc,MAAM;AACnC,4BAAM,IAAI,MAAM,gHAAqH;AAAA,oBACvI;AAEA,wBAAI,eAAe,aAAa;AAChC,wBAAI,UAAU,aAAa;AAI3B,wBAAI,UAAUD,aAAY,OAAOA,SAAQ,gBAAgB;AAEzD,wBAAI;AACF,uCAAiB,cAAc,SAAS,OAAO;AAAA,oBACjD,SAASF,QAAO;AACd,8CAAwB,cAAc,aAAa,QAAQA,MAAK;AAAA,oBAClE;AAAA,kBACF;AAAA,gBACF;AAEA;AAAA,cACF;AAAA,cAEF,KAAK,UACH;AACE,mDAAmCG,OAAM,YAAY;AACrD,4CAA4B,YAAY;AAExC,oBAAI,QAAQ,QAAQ;AAClB;AACE,wBAAID,aAAY,MAAM;AACpB,0BAAI,gBAAgBA,SAAQ;AAE5B,0BAAI,cAAc,cAAc;AAC9B,4BAAI;AACF,kDAAwBC,MAAK,aAAa;AAAA,wBAC5C,SAASH,QAAO;AACd,kDAAwB,cAAc,aAAa,QAAQA,MAAK;AAAA,wBAClE;AAAA,sBACF;AAAA,oBACF;AAAA,kBACF;AAAA,gBACF;AAEA;AAAA,cACF;AAAA,cAEF,KAAK,YACH;AACE,mDAAmCG,OAAM,YAAY;AACrD,4CAA4B,YAAY;AAExC;AAAA,cACF;AAAA,cAEF,KAAK,mBACH;AACE,mDAAmCA,OAAM,YAAY;AACrD,4CAA4B,YAAY;AACxC,oBAAI,iBAAiB,aAAa;AAElC,oBAAI,eAAe,QAAQ,YAAY;AACrC,sBAAI,oBAAoB,eAAe;AACvC,sBAAI,WAAW,eAAe;AAC9B,sBAAI,WAAW,aAAa;AAG5B,oCAAkB,WAAW;AAE7B,sBAAI,UAAU;AACZ,wBAAI,YAAY,eAAe,cAAc,QAAQ,eAAe,UAAU,kBAAkB;AAEhG,wBAAI,CAAC,WAAW;AAEd,+CAAyB;AAAA,oBAC3B;AAAA,kBACF;AAAA,gBACF;AAEA,oBAAI,QAAQ,QAAQ;AAClB,sBAAI;AACF,2CAAuB,YAAY;AAAA,kBACrC,SAASH,QAAO;AACd,4CAAwB,cAAc,aAAa,QAAQA,MAAK;AAAA,kBAClE;AAEA,+CAA6B,YAAY;AAAA,gBAC3C;AAEA;AAAA,cACF;AAAA,cAEF,KAAK,oBACH;AACE,oBAAI,aAAaE,aAAY,QAAQA,SAAQ,kBAAkB;AAE/D;AAAA;AAAA,kBACC,aAAa,OAAO;AAAA,kBAAgB;AAInC,sBAAI,gCAAgC;AACpC,8CAA4B,iCAAiC;AAC7D,qDAAmCC,OAAM,YAAY;AACrD,8CAA4B;AAAA,gBAC9B,OAAO;AACL,qDAAmCA,OAAM,YAAY;AAAA,gBACvD;AAEA,4CAA4B,YAAY;AAExC,oBAAI,QAAQ,YAAY;AACtB,sBAAI,qBAAqB,aAAa;AACtC,sBAAI,YAAY,aAAa;AAE7B,sBAAI,YAAY,cAAc;AAE9B,sBAAI,oBAAoB;AAGxB,qCAAmB,WAAW;AAE9B;AACE,wBAAI,WAAW;AACb,0BAAI,CAAC,YAAY;AACf,6BAAK,kBAAkB,OAAO,oBAAoB,QAAQ;AACxD,uCAAa;AACb,8BAAI,iBAAiB,kBAAkB;AAEvC,iCAAO,mBAAmB,MAAM;AAC9B,yCAAa;AACb,yDAA6B,cAAc;AAC3C,6CAAiB,eAAe;AAAA,0BAClC;AAAA,wBACF;AAAA,sBACF;AAAA,oBACF;AAAA,kBACF;AAEA;AAGE,4CAAwB,mBAAmB,SAAS;AAAA,kBACtD;AAAA,gBACF;AAEA;AAAA,cACF;AAAA,cAEF,KAAK,uBACH;AACE,mDAAmCA,OAAM,YAAY;AACrD,4CAA4B,YAAY;AAExC,oBAAI,QAAQ,QAAQ;AAClB,+CAA6B,YAAY;AAAA,gBAC3C;AAEA;AAAA,cACF;AAAA,cAEF,KAAK,gBACH;AAEE;AAAA,cACF;AAAA,cAEF,SACE;AACE,mDAAmCA,OAAM,YAAY;AACrD,4CAA4B,YAAY;AACxC;AAAA,cACF;AAAA,YACJ;AAAA,UACF;AAEA,mBAAS,4BAA4B,cAAc;AAIjD,gBAAI,QAAQ,aAAa;AAEzB,gBAAI,QAAQ,WAAW;AACrB,kBAAI;AACF,gCAAgB,YAAY;AAAA,cAC9B,SAASH,QAAO;AACd,wCAAwB,cAAc,aAAa,QAAQA,MAAK;AAAA,cAClE;AAMA,2BAAa,SAAS,CAAC;AAAA,YACzB;AAEA,gBAAI,QAAQ,WAAW;AACrB,2BAAa,SAAS,CAAC;AAAA,YACzB;AAAA,UACF;AAEA,mBAAS,oBAAoB,cAAcG,OAAM,gBAAgB;AAC/D,8BAAkB;AAClB,6BAAiBA;AACjB,yBAAa;AACb,sCAA0B,cAAcA,OAAM,cAAc;AAC5D,8BAAkB;AAClB,6BAAiB;AAAA,UACnB;AAEA,mBAAS,0BAA0B,aAAaA,OAAM,gBAAgB;AAEpE,gBAAI,gBAAgB,YAAY,OAAO,oBAAoB;AAE3D,mBAAO,eAAe,MAAM;AAC1B,kBAAI,QAAQ;AACZ,kBAAI,aAAa,MAAM;AAEvB,kBAAK,MAAM,QAAQ,sBAAsB,cAAc;AAErD,oBAAI,WAAW,MAAM,kBAAkB;AACvC,oBAAI,8BAA8B,YAAY;AAE9C,oBAAI,6BAA6B;AAE/B,oDAAkC,aAAaA,OAAM,cAAc;AACnE;AAAA,gBACF,OAAO;AAEL,sBAAID,WAAU,MAAM;AACpB,sBAAI,YAAYA,aAAY,QAAQA,SAAQ,kBAAkB;AAC9D,sBAAI,+BAA+B,aAAa;AAChD,sBAAI,+BAA+B;AACnC,sBAAI,gCAAgC;AAEpC,6CAA2B;AAC3B,8CAA4B;AAE5B,sBAAI,6BAA6B,CAAC,+BAA+B;AAG/D,iCAAa;AACb,gDAA4B,KAAK;AAAA,kBACnC;AAEA,sBAAI,QAAQ;AAEZ,yBAAO,UAAU,MAAM;AACrB,iCAAa;AACb;AAAA,sBAA0B;AAAA;AAAA,sBAC1BC;AAAA,sBAAM;AAAA,oBAAc;AACpB,4BAAQ,MAAM;AAAA,kBAChB;AAGA,+BAAa;AACb,6CAA2B;AAC3B,8CAA4B;AAC5B,oDAAkC,aAAaA,OAAM,cAAc;AACnE;AAAA,gBACF;AAAA,cACF;AAEA,mBAAK,MAAM,eAAe,gBAAgB,WAAW,eAAe,MAAM;AACxE,2BAAW,SAAS;AACpB,6BAAa;AAAA,cACf,OAAO;AACL,kDAAkC,aAAaA,OAAM,cAAc;AAAA,cACrE;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,kCAAkC,aAAaA,OAAM,gBAAgB;AAC5E,mBAAO,eAAe,MAAM;AAC1B,kBAAI,QAAQ;AAEZ,mBAAK,MAAM,QAAQ,gBAAgB,SAAS;AAC1C,oBAAID,WAAU,MAAM;AACpB,gCAAgB,KAAK;AAErB,oBAAI;AACF,4CAA0BC,OAAMD,UAAS,OAAO,cAAc;AAAA,gBAChE,SAASF,QAAO;AACd,0CAAwB,OAAO,MAAM,QAAQA,MAAK;AAAA,gBACpD;AAEA,kCAAkB;AAAA,cACpB;AAEA,kBAAI,UAAU,aAAa;AACzB,6BAAa;AACb;AAAA,cACF;AAEA,kBAAI,UAAU,MAAM;AAEpB,kBAAI,YAAY,MAAM;AACpB,wBAAQ,SAAS,MAAM;AACvB,6BAAa;AACb;AAAA,cACF;AAEA,2BAAa,MAAM;AAAA,YACrB;AAAA,UACF;AAEA,mBAAS,6BAA6B,aAAa;AACjD,mBAAO,eAAe,MAAM;AAC1B,kBAAI,QAAQ;AACZ,kBAAI,aAAa,MAAM;AAEvB,sBAAQ,MAAM,KAAK;AAAA,gBACjB,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK,qBACH;AACE,sBAAK,MAAM,OAAO,aAAa;AAC7B,wBAAI;AACF,6CAAuB;AACvB,kDAA4B,QAAQ,OAAO,MAAM,MAAM;AAAA,oBACzD,UAAE;AACA,iDAA2B,KAAK;AAAA,oBAClC;AAAA,kBACF,OAAO;AACL,gDAA4B,QAAQ,OAAO,MAAM,MAAM;AAAA,kBACzD;AAEA;AAAA,gBACF;AAAA,gBAEF,KAAK,gBACH;AAEE,kCAAgB,OAAO,MAAM,MAAM;AACnC,sBAAI,WAAW,MAAM;AAErB,sBAAI,OAAO,SAAS,yBAAyB,YAAY;AACvD,mDAA+B,OAAO,MAAM,QAAQ,QAAQ;AAAA,kBAC9D;AAEA;AAAA,gBACF;AAAA,gBAEF,KAAK,eACH;AACE,kCAAgB,OAAO,MAAM,MAAM;AACnC;AAAA,gBACF;AAAA,gBAEF,KAAK,oBACH;AAEE,sBAAI,WAAW,MAAM,kBAAkB;AAEvC,sBAAI,UAAU;AAGZ,oDAAgC,WAAW;AAC3C;AAAA,kBACF;AAEA;AAAA,gBACF;AAAA,cACJ;AAGA,kBAAI,eAAe,MAAM;AACvB,2BAAW,SAAS;AACpB,6BAAa;AAAA,cACf,OAAO;AACL,gDAAgC,WAAW;AAAA,cAC7C;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,gCAAgC,aAAa;AACpD,mBAAO,eAAe,MAAM;AAC1B,kBAAI,QAAQ;AAEZ,kBAAI,UAAU,aAAa;AACzB,6BAAa;AACb;AAAA,cACF;AAEA,kBAAI,UAAU,MAAM;AAEpB,kBAAI,YAAY,MAAM;AACpB,wBAAQ,SAAS,MAAM;AACvB,6BAAa;AACb;AAAA,cACF;AAEA,2BAAa,MAAM;AAAA,YACrB;AAAA,UACF;AAEA,mBAAS,4BAA4B,aAAa;AAChD,mBAAO,eAAe,MAAM;AAC1B,kBAAI,QAAQ;AACZ,kBAAI,aAAa,MAAM;AAEvB,kBAAI,MAAM,QAAQ,oBAAoB;AACpC,oBAAI,WAAW,MAAM,kBAAkB;AAEvC,oBAAI,UAAU;AAEZ,iDAA+B,WAAW;AAC1C;AAAA,gBACF;AAAA,cACF;AAGA,kBAAI,eAAe,MAAM;AAGvB,2BAAW,SAAS;AACpB,6BAAa;AAAA,cACf,OAAO;AACL,+CAA+B,WAAW;AAAA,cAC5C;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,+BAA+B,aAAa;AACnD,mBAAO,eAAe,MAAM;AAC1B,kBAAI,QAAQ;AAEZ,8BAAgB,KAAK;AAErB,kBAAI;AACF,6CAA6B,KAAK;AAAA,cACpC,SAASA,QAAO;AACd,wCAAwB,OAAO,MAAM,QAAQA,MAAK;AAAA,cACpD;AAEA,gCAAkB;AAElB,kBAAI,UAAU,aAAa;AACzB,6BAAa;AACb;AAAA,cACF;AAEA,kBAAI,UAAU,MAAM;AAEpB,kBAAI,YAAY,MAAM;AAGpB,wBAAQ,SAAS,MAAM;AACvB,6BAAa;AACb;AAAA,cACF;AAEA,2BAAa,MAAM;AAAA,YACrB;AAAA,UACF;AAEA,mBAAS,0BAA0BG,OAAM,cAAc,gBAAgB,sBAAsB;AAC3F,yBAAa;AACb,4CAAgC,cAAcA,OAAM,gBAAgB,oBAAoB;AAAA,UAC1F;AAEA,mBAAS,gCAAgC,aAAaA,OAAM,gBAAgB,sBAAsB;AAChG,mBAAO,eAAe,MAAM;AAC1B,kBAAI,QAAQ;AACZ,kBAAI,aAAa,MAAM;AAEvB,mBAAK,MAAM,eAAe,iBAAiB,WAAW,eAAe,MAAM;AACzE,2BAAW,SAAS;AACpB,6BAAa;AAAA,cACf,OAAO;AACL,mDAAmC,aAAaA,OAAM,gBAAgB,oBAAoB;AAAA,cAC5F;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,mCAAmC,aAAaA,OAAM,gBAAgB,sBAAsB;AACnG,mBAAO,eAAe,MAAM;AAC1B,kBAAI,QAAQ;AAEZ,mBAAK,MAAM,QAAQ,aAAa,SAAS;AACvC,gCAAgB,KAAK;AAErB,oBAAI;AACF,4CAA0BA,OAAM,OAAO,gBAAgB,oBAAoB;AAAA,gBAC7E,SAASH,QAAO;AACd,0CAAwB,OAAO,MAAM,QAAQA,MAAK;AAAA,gBACpD;AAEA,kCAAkB;AAAA,cACpB;AAEA,kBAAI,UAAU,aAAa;AACzB,6BAAa;AACb;AAAA,cACF;AAEA,kBAAI,UAAU,MAAM;AAEpB,kBAAI,YAAY,MAAM;AACpB,wBAAQ,SAAS,MAAM;AACvB,6BAAa;AACb;AAAA,cACF;AAEA,2BAAa,MAAM;AAAA,YACrB;AAAA,UACF;AAEA,mBAAS,0BAA0B,cAAc,cAAc,gBAAgB,sBAAsB;AACnG,oBAAQ,aAAa,KAAK;AAAA,cACxB,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK,qBACH;AACE,oBAAK,aAAa,OAAO,aAAa;AACpC,0CAAwB;AAExB,sBAAI;AACF,8CAA0B,YAAY,WAAW,YAAY;AAAA,kBAC/D,UAAE;AACA,gDAA4B,YAAY;AAAA,kBAC1C;AAAA,gBACF,OAAO;AACL,4CAA0B,YAAY,WAAW,YAAY;AAAA,gBAC/D;AAEA;AAAA,cACF;AAAA,YACJ;AAAA,UACF;AAEA,mBAAS,4BAA4B,YAAY;AAC/C,yBAAa;AACb,8CAAkC;AAAA,UACpC;AAEA,mBAAS,oCAAoC;AAC3C,mBAAO,eAAe,MAAM;AAC1B,kBAAI,QAAQ;AACZ,kBAAI,QAAQ,MAAM;AAElB,mBAAK,WAAW,QAAQ,mBAAmB,SAAS;AAClD,oBAAI,YAAY,MAAM;AAEtB,oBAAI,cAAc,MAAM;AACtB,2BAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AACzC,wBAAI,gBAAgB,UAAU,CAAC;AAC/B,iCAAa;AACb,yEAAqD,eAAe,KAAK;AAAA,kBAC3E;AAEA;AAYE,wBAAI,gBAAgB,MAAM;AAE1B,wBAAI,kBAAkB,MAAM;AAC1B,0BAAI,gBAAgB,cAAc;AAElC,0BAAI,kBAAkB,MAAM;AAC1B,sCAAc,QAAQ;AAEtB,2BAAG;AACD,8BAAI,kBAAkB,cAAc;AACpC,wCAAc,UAAU;AACxB,0CAAgB;AAAA,wBAClB,SAAS,kBAAkB;AAAA,sBAC7B;AAAA,oBACF;AAAA,kBACF;AAEA,+BAAa;AAAA,gBACf;AAAA,cACF;AAEA,mBAAK,MAAM,eAAe,iBAAiB,WAAW,UAAU,MAAM;AACpE,sBAAM,SAAS;AACf,6BAAa;AAAA,cACf,OAAO;AACL,qDAAqC;AAAA,cACvC;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,uCAAuC;AAC9C,mBAAO,eAAe,MAAM;AAC1B,kBAAI,QAAQ;AAEZ,mBAAK,MAAM,QAAQ,aAAa,SAAS;AACvC,gCAAgB,KAAK;AACrB,4CAA4B,KAAK;AACjC,kCAAkB;AAAA,cACpB;AAEA,kBAAI,UAAU,MAAM;AAEpB,kBAAI,YAAY,MAAM;AACpB,wBAAQ,SAAS,MAAM;AACvB,6BAAa;AACb;AAAA,cACF;AAEA,2BAAa,MAAM;AAAA,YACrB;AAAA,UACF;AAEA,mBAAS,4BAA4B,cAAc;AACjD,oBAAQ,aAAa,KAAK;AAAA,cACxB,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK,qBACH;AACE,oBAAK,aAAa,OAAO,aAAa;AACpC,0CAAwB;AACxB,8CAA4B,YAAY,WAAW,cAAc,aAAa,MAAM;AACpF,8CAA4B,YAAY;AAAA,gBAC1C,OAAO;AACL,8CAA4B,YAAY,WAAW,cAAc,aAAa,MAAM;AAAA,gBACtF;AAEA;AAAA,cACF;AAAA,YACJ;AAAA,UACF;AAEA,mBAAS,qDAAqD,oBAAoB,wBAAwB;AACxG,mBAAO,eAAe,MAAM;AAC1B,kBAAI,QAAQ;AAGZ,8BAAgB,KAAK;AACrB,2DAA6C,OAAO,sBAAsB;AAC1E,gCAAkB;AAClB,kBAAI,QAAQ,MAAM;AAGlB,kBAAI,UAAU,MAAM;AAClB,sBAAM,SAAS;AACf,6BAAa;AAAA,cACf,OAAO;AACL,wEAAwD,kBAAkB;AAAA,cAC5E;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,wDAAwD,oBAAoB;AACnF,mBAAO,eAAe,MAAM;AAC1B,kBAAI,QAAQ;AACZ,kBAAI,UAAU,MAAM;AACpB,kBAAI,cAAc,MAAM;AAExB;AAIE,wCAAwB,KAAK;AAE7B,oBAAI,UAAU,oBAAoB;AAChC,+BAAa;AACb;AAAA,gBACF;AAAA,cACF;AAEA,kBAAI,YAAY,MAAM;AACpB,wBAAQ,SAAS;AACjB,6BAAa;AACb;AAAA,cACF;AAEA,2BAAa;AAAA,YACf;AAAA,UACF;AAEA,mBAAS,6CAA6CE,UAAS,wBAAwB;AACrF,oBAAQA,SAAQ,KAAK;AAAA,cACnB,KAAK;AAAA,cACL,KAAK;AAAA,cACL,KAAK,qBACH;AACE,oBAAKA,SAAQ,OAAO,aAAa;AAC/B,0CAAwB;AACxB,8CAA4B,WAAWA,UAAS,sBAAsB;AACtE,8CAA4BA,QAAO;AAAA,gBACrC,OAAO;AACL,8CAA4B,WAAWA,UAAS,sBAAsB;AAAA,gBACxE;AAEA;AAAA,cACF;AAAA,YACJ;AAAA,UACF;AAGA,mBAAS,6BAA6B,OAAO;AAC3C;AAGE,sBAAQ,MAAM,KAAK;AAAA,gBACjB,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK,qBACH;AACE,sBAAI;AACF,8CAA0B,SAAS,WAAW,KAAK;AAAA,kBACrD,SAASF,QAAO;AACd,4CAAwB,OAAO,MAAM,QAAQA,MAAK;AAAA,kBACpD;AAEA;AAAA,gBACF;AAAA,gBAEF,KAAK,gBACH;AACE,sBAAI,WAAW,MAAM;AAErB,sBAAI;AACF,6BAAS,kBAAkB;AAAA,kBAC7B,SAASA,QAAO;AACd,4CAAwB,OAAO,MAAM,QAAQA,MAAK;AAAA,kBACpD;AAEA;AAAA,gBACF;AAAA,cACJ;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,8BAA8B,OAAO;AAC5C;AAGE,sBAAQ,MAAM,KAAK;AAAA,gBACjB,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK,qBACH;AACE,sBAAI;AACF,8CAA0B,YAAY,WAAW,KAAK;AAAA,kBACxD,SAASA,QAAO;AACd,4CAAwB,OAAO,MAAM,QAAQA,MAAK;AAAA,kBACpD;AAEA;AAAA,gBACF;AAAA,cACJ;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,+BAA+B,OAAO;AAC7C;AAGE,sBAAQ,MAAM,KAAK;AAAA,gBACjB,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK,qBACH;AACE,sBAAI;AACF,gDAA4B,SAAS,WAAW,OAAO,MAAM,MAAM;AAAA,kBACrE,SAASA,QAAO;AACd,4CAAwB,OAAO,MAAM,QAAQA,MAAK;AAAA,kBACpD;AAEA;AAAA,gBACF;AAAA,gBAEF,KAAK,gBACH;AACE,sBAAI,WAAW,MAAM;AAErB,sBAAI,OAAO,SAAS,yBAAyB,YAAY;AACvD,mDAA+B,OAAO,MAAM,QAAQ,QAAQ;AAAA,kBAC9D;AAEA;AAAA,gBACF;AAAA,cACJ;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,gCAAgC,OAAO;AAC9C;AAGE,sBAAQ,MAAM,KAAK;AAAA,gBACjB,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK,qBACH;AACE,sBAAI;AACF,gDAA4B,YAAY,WAAW,OAAO,MAAM,MAAM;AAAA,kBACxE,SAASA,QAAO;AACd,4CAAwB,OAAO,MAAM,QAAQA,MAAK;AAAA,kBACpD;AAAA,gBACF;AAAA,cACJ;AAAA,YACF;AAAA,UACF;AAEA,cAAI,iBAAiB;AACrB,cAAI,wBAAwB;AAC5B,cAAI,YAAY;AAChB,cAAI,iBAAiB;AACrB,cAAI,YAAY;AAEhB,cAAI,OAAO,WAAW,cAAc,OAAO,KAAK;AAC9C,gBAAI,YAAY,OAAO;AACvB,6BAAiB,UAAU,oBAAoB;AAC/C,oCAAwB,UAAU,2BAA2B;AAC7D,wBAAY,UAAU,eAAe;AACrC,6BAAiB,UAAU,kBAAkB;AAC7C,wBAAY,UAAU,eAAe;AAAA,UACvC;AACA,cAAI,cAAc,CAAC;AACnB,mBAAS,iBAAiB;AACxB;AACE,0BAAY,QAAQ,SAAU,YAAY;AACxC,uBAAO,WAAW;AAAA,cACpB,CAAC;AAAA,YACH;AAAA,UACF;AAEA,cAAI,uBAAuB,qBAAqB;AAChD,mBAAS,uBAAuB,OAAO;AACrC;AAKE,kBAAI;AAAA;AAAA,gBACJ,OAAO,6BAA6B,cAAc,2BAA2B;AAAA;AAE7E,kBAAI,gBAAgB,OAAO,SAAS;AACpC,qBAAQ,iBAAiB,gCAAgC;AAAA,YAC3D;AAAA,UACF;AACA,mBAAS,6BAA6B;AACpC;AACE,kBAAI;AAAA;AAAA,gBACJ,OAAO,6BAA6B,cAAc,2BAA2B;AAAA;AAE7E,kBAAI,CAAC,+BAA+B,qBAAqB,YAAY,MAAM;AAEzE,sBAAM,uEAA4E;AAAA,cACpF;AAEA,qBAAO;AAAA,YACT;AAAA,UACF;AAEA,cAAI,OAAO,KAAK;AAChB,cAAI,2BAA2B,qBAAqB,wBAChD,sBAAsB,qBAAqB,mBAC3C,4BAA4B,qBAAqB,yBACjD,yBAAyB,qBAAqB;AAClD,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI;AAAA;AAAA,YAEJ;AAAA;AACA,cAAI,iBAAiB;AACrB,cAAI,mBAAmB;AACvB,cAAI,cAAc;AAClB,cAAI,gBAAgB;AACpB,cAAI,yBAAyB;AAC7B,cAAI,gBAAgB;AACpB,cAAI,qBAAqB;AAEzB,cAAI,mBAAmB;AAEvB,cAAI,qBAAqB;AAEzB,cAAI,iBAAiB;AAErB,cAAI,gCAAgC;AASpC,cAAI,qBAAqB;AACzB,cAAI,2BAA2B,aAAa,OAAO;AAEnD,cAAI,+BAA+B;AAEnC,cAAI,+BAA+B;AAKnC,cAAI,kCAAkC;AAGtC,cAAI,iCAAiC;AAErC,cAAI,4CAA4C;AAEhD,cAAI,gCAAgC;AAEpC,cAAI,qCAAqC;AAGzC,cAAI,sCAAsC;AAG1C,cAAI,+BAA+B;AACnC,cAAI,uBAAuB;AAG3B,cAAI,qCAAqC;AAGzC,cAAI,oBAAoB;AACxB,cAAI,4BAA4B;AAEhC,mBAAS,mBAAmB;AAC1B,iDAAqC,IAAI,IAAI;AAAA,UAC/C;AAEA,mBAAS,sBAAsB;AAC7B,mBAAO;AAAA,UACT;AACA,cAAI,mBAAmB;AACvB,cAAI,qBAAqB;AACzB,cAAI,yCAAyC;AAC7C,cAAI,6BAA6B;AACjC,cAAI,gCAAgC;AACpC,cAAI,6BAA6B;AACjC,cAAI,gCAAgC,CAAC;AACrC,cAAI,4BAA4B;AAEhC,cAAI,sBAAsB;AAC1B,cAAI,oBAAoB;AACxB,cAAI,wBAAwB;AAC5B,cAAI,2BAA2B;AAC/B,cAAI,wCAAwC;AAC5C,cAAI,8BAA8B;AAClC,cAAI,2BAA2B;AAC/B,cAAI,+BAA+B;AAInC,cAAI,mBAAmB;AACvB,cAAI,6BAA6B;AACjC,cAAI,2BAA2B;AAC/B,mBAAS,wBAAwB;AAC/B,mBAAO;AAAA,UACT;AACA,mBAAS,mBAAmB;AAC1B,iBAAK,oBAAoB,gBAAgB,oBAAoB,WAAW;AAEtE,qBAAO,IAAI;AAAA,YACb;AAGA,gBAAI,qBAAqB,aAAa;AAEpC,qBAAO;AAAA,YACT;AAGA,+BAAmB,IAAI;AACvB,mBAAO;AAAA,UACT;AACA,mBAAS,kBAAkB,OAAO;AAEhC,gBAAI,OAAO,MAAM;AAEjB,iBAAK,OAAO,oBAAoB,QAAQ;AACtC,qBAAO;AAAA,YACT,YAAa,mBAAmB,mBAAmB,aAAa,kCAAkC,SAAS;AAUzG,qBAAO,kBAAkB,6BAA6B;AAAA,YACxD;AAEA,gBAAI,eAAe,yBAAyB,MAAM;AAElD,gBAAI,cAAc;AAChB,kBAAK,0BAA0B,eAAe,MAAM;AAClD,oBAAI,aAAa,0BAA0B;AAE3C,oBAAI,CAAC,WAAW,gBAAgB;AAC9B,6BAAW,iBAAiB,oBAAI,IAAI;AAAA,gBACtC;AAEA,2BAAW,eAAe,IAAI,KAAK;AAAA,cACrC;AASA,kBAAI,+BAA+B,QAAQ;AAEzC,6CAA6B,wBAAwB;AAAA,cACvD;AAEA,qBAAO;AAAA,YACT;AAQA,gBAAI,aAAa,yBAAyB;AAE1C,gBAAI,eAAe,QAAQ;AACzB,qBAAO;AAAA,YACT;AAQA,gBAAI,YAAY,wBAAwB;AACxC,mBAAO;AAAA,UACT;AAEA,mBAAS,iBAAiB,OAAO;AAK/B,gBAAI,OAAO,MAAM;AAEjB,iBAAK,OAAO,oBAAoB,QAAQ;AACtC,qBAAO;AAAA,YACT;AAEA,mBAAO,mBAAmB;AAAA,UAC5B;AAEA,mBAAS,sBAAsBG,OAAM,OAAO,MAAM,WAAW;AAC3D,kCAAsB;AAEtB;AACE,kBAAI,0BAA0B;AAC5B,sBAAM,+CAA+C;AAAA,cACvD;AAAA,YACF;AAEA;AACE,kBAAI,0BAA0B;AAC5B,wDAAwC;AAAA,cAC1C;AAAA,YACF;AAGA,4BAAgBA,OAAM,MAAM,SAAS;AAErC,iBAAK,mBAAmB,mBAAmB,WAAWA,UAAS,oBAAoB;AAMjF,+CAAiC,KAAK;AAAA,YACxC,OAAO;AAGL;AACE,oBAAI,mBAAmB;AACrB,qCAAmBA,OAAM,OAAO,IAAI;AAAA,gBACtC;AAAA,cACF;AAEA,gDAAkC,KAAK;AAEvC,kBAAIA,UAAS,oBAAoB;AAM/B,qBAAM,mBAAmB,mBAAmB,WAAW;AACrD,8DAA4C,WAAW,2CAA2C,IAAI;AAAA,gBACxG;AAEA,oBAAI,iCAAiC,wBAAwB;AAO3D,sCAAoBA,OAAM,6BAA6B;AAAA,gBACzD;AAAA,cACF;AAEA,oCAAsBA,OAAM,SAAS;AAErC,kBAAI,SAAS,YAAY,qBAAqB,cAAc,MAAM,OAAO,oBAAoB;AAAA,cAC7F,CAAG,uBAAuB,kBAAmB;AAM3C,iCAAiB;AACjB,mDAAmC;AAAA,cACrC;AAAA,YACF;AAAA,UACF;AACA,mBAAS,+BAA+BA,OAAM,MAAM,WAAW;AAU7D,gBAAID,WAAUC,MAAK;AACnB,YAAAD,SAAQ,QAAQ;AAChB,4BAAgBC,OAAM,MAAM,SAAS;AACrC,kCAAsBA,OAAM,SAAS;AAAA,UACvC;AACA,mBAAS,+BAA+B,OAAO;AAG7C;AAAA;AAAA;AAAA,eAEI,mBAAmB,mBAAmB;AAAA;AAAA,UAE5C;AAMA,mBAAS,sBAAsBA,OAAM,aAAa;AAChD,gBAAI,uBAAuBA,MAAK;AAGhC,sCAA0BA,OAAM,WAAW;AAE3C,gBAAI,YAAY,aAAaA,OAAMA,UAAS,qBAAqB,gCAAgC,OAAO;AAExG,gBAAI,cAAc,SAAS;AAEzB,kBAAI,yBAAyB,MAAM;AACjC,iCAAiB,oBAAoB;AAAA,cACvC;AAEA,cAAAA,MAAK,eAAe;AACpB,cAAAA,MAAK,mBAAmB;AACxB;AAAA,YACF;AAGA,gBAAI,sBAAsB,uBAAuB,SAAS;AAE1D,gBAAI,2BAA2BA,MAAK;AAEpC,gBAAI,6BAA6B;AAAA;AAAA;AAAA,YAGjC,EAAG,uBAAuB,YAAY,QAAQ,yBAAyB,sBAAsB;AAC3F;AAIE,oBAAI,wBAAwB,QAAQ,6BAA6B,UAAU;AACzE,wBAAM,4GAA4G;AAAA,gBACpH;AAAA,cACF;AAGA;AAAA,YACF;AAEA,gBAAI,wBAAwB,MAAM;AAEhC,+BAAiB,oBAAoB;AAAA,YACvC;AAGA,gBAAI;AAEJ,gBAAI,wBAAwB,UAAU;AAGpC,kBAAIA,MAAK,QAAQ,YAAY;AAC3B,oBAAK,uBAAuB,qBAAqB,MAAM;AACrD,yCAAuB,0BAA0B;AAAA,gBACnD;AAEA,2CAA2B,sBAAsB,KAAK,MAAMA,KAAI,CAAC;AAAA,cACnE,OAAO;AACL,qCAAqB,sBAAsB,KAAK,MAAMA,KAAI,CAAC;AAAA,cAC7D;AAEA;AAEE,oBAAK,uBAAuB,YAAY,MAAM;AAI5C,yCAAuB,QAAQ,KAAK,kBAAkB;AAAA,gBACxD,OAAO;AACL,kBAAAS,mBAAkB,WAAY;AAK5B,yBAAK,oBAAoB,gBAAgB,oBAAoB,WAAW;AAGtE,yCAAmB;AAAA,oBACrB;AAAA,kBACF,CAAC;AAAA,gBACH;AAAA,cACF;AAEA,gCAAkB;AAAA,YACpB,OAAO;AACL,kBAAI;AAEJ,sBAAQ,qBAAqB,SAAS,GAAG;AAAA,gBACvC,KAAK;AACH,2CAAyB;AACzB;AAAA,gBAEF,KAAK;AACH,2CAAyB;AACzB;AAAA,gBAEF,KAAK;AACH,2CAAyB;AACzB;AAAA,gBAEF,KAAK;AACH,2CAAyB;AACzB;AAAA,gBAEF;AACE,2CAAyB;AACzB;AAAA,cACJ;AAEA,gCAAkB,mBAAmB,wBAAwB,4BAA4B,KAAK,MAAMT,KAAI,CAAC;AAAA,YAC3G;AAEA,YAAAA,MAAK,mBAAmB;AACxB,YAAAA,MAAK,eAAe;AAAA,UACtB;AAIA,mBAAS,4BAA4BA,OAAM,YAAY;AACrD;AACE,oCAAsB;AAAA,YACxB;AAIA,+BAAmB;AACnB,yCAA6B;AAE7B,iBAAK,oBAAoB,gBAAgB,oBAAoB,WAAW;AACtE,oBAAM,IAAI,MAAM,gCAAgC;AAAA,YAClD;AAIA,gBAAI,uBAAuBA,MAAK;AAChC,gBAAI,yBAAyB,oBAAoB;AAEjD,gBAAI,wBAAwB;AAG1B,kBAAIA,MAAK,iBAAiB,sBAAsB;AAI9C,uBAAO;AAAA,cACT;AAAA,YACF;AAIA,gBAAI,QAAQ,aAAaA,OAAMA,UAAS,qBAAqB,gCAAgC,OAAO;AAEpG,gBAAI,UAAU,SAAS;AAErB,qBAAO;AAAA,YACT;AAQA,gBAAI,kBAAkB,CAAC,qBAAqBA,OAAM,KAAK,KAAK,CAAC,oBAAoBA,OAAM,KAAK,KAAO,CAAC;AACpG,gBAAI,aAAa,kBAAkB,qBAAqBA,OAAM,KAAK,IAAI,eAAeA,OAAM,KAAK;AAEjG,gBAAI,eAAe,gBAAgB;AACjC,kBAAI,eAAe,aAAa;AAK9B,oBAAI,kBAAkB,oCAAoCA,KAAI;AAE9D,oBAAI,oBAAoB,SAAS;AAC/B,0BAAQ;AACR,+BAAa,2BAA2BA,OAAM,eAAe;AAAA,gBAC/D;AAAA,cACF;AAEA,kBAAI,eAAe,kBAAkB;AACnC,oBAAI,aAAa;AACjB,kCAAkBA,OAAM,OAAO;AAC/B,oCAAoBA,OAAM,KAAK;AAC/B,sCAAsBA,OAAM,IAAI,CAAC;AACjC,sBAAM;AAAA,cACR;AAEA,kBAAI,eAAe,oBAAoB;AAQrC,oCAAoBA,OAAM,KAAK;AAAA,cACjC,OAAO;AAOL,oBAAI,sBAAsB,CAAC,qBAAqBA,OAAM,KAAK;AAC3D,oBAAI,eAAeA,MAAK,QAAQ;AAEhC,oBAAI,uBAAuB,CAAC,qCAAqC,YAAY,GAAG;AAG9E,+BAAa,eAAeA,OAAM,KAAK;AAEvC,sBAAI,eAAe,aAAa;AAC9B,wBAAI,mBAAmB,oCAAoCA,KAAI;AAE/D,wBAAI,qBAAqB,SAAS;AAChC,8BAAQ;AACR,mCAAa,2BAA2BA,OAAM,gBAAgB;AAAA,oBAEhE;AAAA,kBACF;AAEA,sBAAI,eAAe,kBAAkB;AACnC,wBAAI,cAAc;AAClB,sCAAkBA,OAAM,OAAO;AAC/B,wCAAoBA,OAAM,KAAK;AAC/B,0CAAsBA,OAAM,IAAI,CAAC;AACjC,0BAAM;AAAA,kBACR;AAAA,gBACF;AAIA,gBAAAA,MAAK,eAAe;AACpB,gBAAAA,MAAK,gBAAgB;AACrB,uCAAuBA,OAAM,YAAY,KAAK;AAAA,cAChD;AAAA,YACF;AAEA,kCAAsBA,OAAM,IAAI,CAAC;AAEjC,gBAAIA,MAAK,iBAAiB,sBAAsB;AAG9C,qBAAO,4BAA4B,KAAK,MAAMA,KAAI;AAAA,YACpD;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,2BAA2BA,OAAM,iBAAiB;AAIzD,gBAAI,yBAAyB;AAE7B,gBAAI,iBAAiBA,KAAI,GAAG;AAY1B,kBAAI,qBAAqB,kBAAkBA,OAAM,eAAe;AAChE,iCAAmB,SAAS;AAE5B;AACE,wCAAwBA,MAAK,aAAa;AAAA,cAC5C;AAAA,YACF;AAEA,gBAAI,aAAa,eAAeA,OAAM,eAAe;AAErD,gBAAI,eAAe,aAAa;AAK9B,kBAAI,0BAA0B;AAC9B,oDAAsC;AAGtC,kBAAI,4BAA4B,MAAM;AACpC,uCAAuB,uBAAuB;AAAA,cAChD;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,uBAAuB,QAAQ;AACtC,gBAAI,wCAAwC,MAAM;AAChD,oDAAsC;AAAA,YACxC,OAAO;AACL,kDAAoC,KAAK,MAAM,qCAAqC,MAAM;AAAA,YAC5F;AAAA,UACF;AAEA,mBAAS,uBAAuBA,OAAM,YAAY,OAAO;AACvD,oBAAQ,YAAY;AAAA,cAClB,KAAK;AAAA,cACL,KAAK,kBACH;AACE,sBAAM,IAAI,MAAM,gDAAgD;AAAA,cAClE;AAAA,cAKF,KAAK,aACH;AAGE,2BAAWA,OAAM,qCAAqC,yBAAyB;AAC/E;AAAA,cACF;AAAA,cAEF,KAAK,eACH;AACE,oCAAoBA,OAAM,KAAK;AAG/B,oBAAI,oBAAoB,KAAK;AAAA,gBAC7B,CAAC,+BAA+B,GAAG;AAGjC,sBAAI,iBAAiB,+BAA+B,uBAAuB,IAAI;AAE/E,sBAAI,iBAAiB,IAAI;AACvB,wBAAI,YAAY,aAAaA,OAAM,OAAO;AAE1C,wBAAI,cAAc,SAAS;AAEzB;AAAA,oBACF;AAEA,wBAAI,iBAAiBA,MAAK;AAE1B,wBAAI,CAAC,gBAAgB,gBAAgB,KAAK,GAAG;AAK3C,0BAAI,YAAY,iBAAiB;AACjC,qCAAeA,OAAM,cAAc;AACnC;AAAA,oBACF;AAKA,oBAAAA,MAAK,gBAAgB,gBAAgB,WAAW,KAAK,MAAMA,OAAM,qCAAqC,yBAAyB,GAAG,cAAc;AAChJ;AAAA,kBACF;AAAA,gBACF;AAGA,2BAAWA,OAAM,qCAAqC,yBAAyB;AAC/E;AAAA,cACF;AAAA,cAEF,KAAK,wBACH;AACE,oCAAoBA,OAAM,KAAK;AAE/B,oBAAI,wBAAwB,KAAK,GAAG;AAIlC;AAAA,gBACF;AAEA,oBAAI,CAAC,+BAA+B,GAAG;AAOrC,sBAAI,sBAAsB,uBAAuBA,OAAM,KAAK;AAC5D,sBAAI,cAAc;AAClB,sBAAI,gBAAgB,IAAI,IAAI;AAE5B,sBAAI,kBAAkB,IAAI,aAAa,IAAI;AAG3C,sBAAI,kBAAkB,IAAI;AAGxB,oBAAAA,MAAK,gBAAgB,gBAAgB,WAAW,KAAK,MAAMA,OAAM,qCAAqC,yBAAyB,GAAG,eAAe;AACjJ;AAAA,kBACF;AAAA,gBACF;AAGA,2BAAWA,OAAM,qCAAqC,yBAAyB;AAC/E;AAAA,cACF;AAAA,cAEF,KAAK,eACH;AAEE,2BAAWA,OAAM,qCAAqC,yBAAyB;AAC/E;AAAA,cACF;AAAA,cAEF,SACE;AACE,sBAAM,IAAI,MAAM,2BAA2B;AAAA,cAC7C;AAAA,YACJ;AAAA,UACF;AAEA,mBAAS,qCAAqC,cAAc;AAI1D,gBAAI,OAAO;AAEX,mBAAO,MAAM;AACX,kBAAI,KAAK,QAAQ,kBAAkB;AACjC,oBAAI,cAAc,KAAK;AAEvB,oBAAI,gBAAgB,MAAM;AACxB,sBAAI,SAAS,YAAY;AAEzB,sBAAI,WAAW,MAAM;AACnB,6BAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,0BAAI,QAAQ,OAAO,CAAC;AACpB,0BAAI,cAAc,MAAM;AACxB,0BAAI,gBAAgB,MAAM;AAE1B,0BAAI;AACF,4BAAI,CAAC,SAAS,YAAY,GAAG,aAAa,GAAG;AAE3C,iCAAO;AAAA,wBACT;AAAA,sBACF,SAASH,QAAO;AAGd,+BAAO;AAAA,sBACT;AAAA,oBACF;AAAA,kBACF;AAAA,gBACF;AAAA,cACF;AAEA,kBAAI,QAAQ,KAAK;AAEjB,kBAAI,KAAK,eAAe,oBAAoB,UAAU,MAAM;AAC1D,sBAAM,SAAS;AACf,uBAAO;AACP;AAAA,cACF;AAEA,kBAAI,SAAS,cAAc;AACzB,uBAAO;AAAA,cACT;AAEA,qBAAO,KAAK,YAAY,MAAM;AAC5B,oBAAI,KAAK,WAAW,QAAQ,KAAK,WAAW,cAAc;AACxD,yBAAO;AAAA,gBACT;AAEA,uBAAO,KAAK;AAAA,cACd;AAEA,mBAAK,QAAQ,SAAS,KAAK;AAC3B,qBAAO,KAAK;AAAA,YACd;AAIA,mBAAO;AAAA,UACT;AAEA,mBAAS,oBAAoBG,OAAM,gBAAgB;AAKjD,6BAAiB,YAAY,gBAAgB,6BAA6B;AAC1E,6BAAiB,YAAY,gBAAgB,yCAAyC;AACtF,8BAAkBA,OAAM,cAAc;AAAA,UACxC;AAIA,mBAAS,sBAAsBA,OAAM;AACnC;AACE,mCAAqB;AAAA,YACvB;AAEA,iBAAK,oBAAoB,gBAAgB,oBAAoB,WAAW;AACtE,oBAAM,IAAI,MAAM,gCAAgC;AAAA,YAClD;AAEA,gCAAoB;AACpB,gBAAI,QAAQ,aAAaA,OAAM,OAAO;AAEtC,gBAAI,CAAC,iBAAiB,OAAO,QAAQ,GAAG;AAEtC,oCAAsBA,OAAM,IAAI,CAAC;AACjC,qBAAO;AAAA,YACT;AAEA,gBAAI,aAAa,eAAeA,OAAM,KAAK;AAE3C,gBAAIA,MAAK,QAAQ,cAAc,eAAe,aAAa;AAKzD,kBAAI,kBAAkB,oCAAoCA,KAAI;AAE9D,kBAAI,oBAAoB,SAAS;AAC/B,wBAAQ;AACR,6BAAa,2BAA2BA,OAAM,eAAe;AAAA,cAC/D;AAAA,YACF;AAEA,gBAAI,eAAe,kBAAkB;AACnC,kBAAI,aAAa;AACjB,gCAAkBA,OAAM,OAAO;AAC/B,kCAAoBA,OAAM,KAAK;AAC/B,oCAAsBA,OAAM,IAAI,CAAC;AACjC,oBAAM;AAAA,YACR;AAEA,gBAAI,eAAe,oBAAoB;AACrC,oBAAM,IAAI,MAAM,gDAAgD;AAAA,YAClE;AAIA,gBAAI,eAAeA,MAAK,QAAQ;AAChC,YAAAA,MAAK,eAAe;AACpB,YAAAA,MAAK,gBAAgB;AACrB,uBAAWA,OAAM,qCAAqC,yBAAyB;AAG/E,kCAAsBA,OAAM,IAAI,CAAC;AACjC,mBAAO;AAAA,UACT;AAEA,mBAAS,UAAUA,OAAM,OAAO;AAC9B,gBAAI,UAAU,SAAS;AACrB,gCAAkBA,OAAM,WAAW,OAAO,QAAQ,CAAC;AACnD,oCAAsBA,OAAM,IAAI,CAAC;AAEjC,mBAAK,oBAAoB,gBAAgB,oBAAoB,WAAW;AACtE,iCAAiB;AACjB,mCAAmB;AAAA,cACrB;AAAA,YACF;AAAA,UACF;AACA,mBAAS,iBAAiB,IAAI,GAAG;AAC/B,gBAAI,uBAAuB;AAC3B,gCAAoB;AAEpB,gBAAI;AACF,qBAAO,GAAG,CAAC;AAAA,YACb,UAAE;AACA,iCAAmB;AAGnB,kBAAI,qBAAqB;AAAA,cACzB,CAAG,uBAAuB,kBAAmB;AAC3C,iCAAiB;AACjB,mDAAmC;AAAA,cACrC;AAAA,YACF;AAAA,UACF;AACA,mBAAS,gBAAgB,IAAI,GAAG,GAAG,GAAG,GAAG;AACvC,gBAAI,mBAAmB,yBAAyB;AAChD,gBAAI,iBAAiB,0BAA0B;AAE/C,gBAAI;AACF,wCAA0B,aAAa;AACvC,uCAAyB,qBAAqB;AAC9C,qBAAO,GAAG,GAAG,GAAG,GAAG,CAAC;AAAA,YACtB,UAAE;AACA,uCAAyB,gBAAgB;AACzC,wCAA0B,aAAa;AAEvC,kBAAI,qBAAqB,WAAW;AAClC,iCAAiB;AAAA,cACnB;AAAA,YACF;AAAA,UACF;AAIA,mBAAS,UAAU,IAAI;AAGrB,gBAAI,kCAAkC,QAAQ,8BAA8B,QAAQ,eAAe,oBAAoB,gBAAgB,oBAAoB,WAAW;AACpK,kCAAoB;AAAA,YACtB;AAEA,gBAAI,uBAAuB;AAC3B,gCAAoB;AACpB,gBAAI,iBAAiB,0BAA0B;AAC/C,gBAAI,mBAAmB,yBAAyB;AAEhD,gBAAI;AACF,wCAA0B,aAAa;AACvC,uCAAyB,qBAAqB;AAE9C,kBAAI,IAAI;AACN,uBAAO,GAAG;AAAA,cACZ,OAAO;AACL,uBAAO;AAAA,cACT;AAAA,YACF,UAAE;AACA,uCAAyB,gBAAgB;AACzC,wCAA0B,aAAa;AACvC,iCAAmB;AAInB,mBAAK,oBAAoB,gBAAgB,oBAAoB,WAAW;AACtE,mCAAmB;AAAA,cACrB;AAAA,YACF;AAAA,UACF;AACA,mBAAS,qBAAqB;AAG5B,oBAAS,oBAAoB,gBAAgB,oBAAoB;AAAA,UACnE;AACA,mBAAS,gBAAgB,OAAO,OAAO;AACrC,iBAAK,0BAA0B,oBAAoB,KAAK;AACxD,iCAAqB,WAAW,oBAAoB,KAAK;AACzD,8CAAkC,WAAW,iCAAiC,KAAK;AAAA,UACrF;AACA,mBAAS,eAAe,OAAO;AAC7B,iCAAqB,yBAAyB;AAC9C,gBAAI,0BAA0B,KAAK;AAAA,UACrC;AAEA,mBAAS,kBAAkBA,OAAM,OAAO;AACtC,YAAAA,MAAK,eAAe;AACpB,YAAAA,MAAK,gBAAgB;AACrB,gBAAI,gBAAgBA,MAAK;AAEzB,gBAAI,kBAAkB,WAAW;AAG/B,cAAAA,MAAK,gBAAgB;AAErB,4BAAc,aAAa;AAAA,YAC7B;AAEA,gBAAI,mBAAmB,MAAM;AAC3B,kBAAI,kBAAkB,eAAe;AAErC,qBAAO,oBAAoB,MAAM;AAC/B,oBAAID,WAAU,gBAAgB;AAC9B,sCAAsBA,UAAS,eAAe;AAC9C,kCAAkB,gBAAgB;AAAA,cACpC;AAAA,YACF;AAEA,iCAAqBC;AACrB,gBAAI,qBAAqB,qBAAqBA,MAAK,SAAS,IAAI;AAChE,6BAAiB;AACjB,4CAAgC,qBAAqB,kCAAkC;AACvF,2CAA+B;AAC/B,2CAA+B;AAC/B,6CAAiC;AACjC,wDAA4C;AAC5C,4CAAgC;AAChC,iDAAqC;AACrC,kDAAsC;AACtC,4CAAgC;AAEhC;AACE,sCAAwB,uBAAuB;AAAA,YACjD;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,YAAYA,OAAM,aAAa;AACtC,eAAG;AACD,kBAAI,cAAc;AAElB,kBAAI;AAEF,yCAAyB;AACzB,qCAAqB;AACrB,kCAAkB;AAGlB,oCAAoB,UAAU;AAE9B,oBAAI,gBAAgB,QAAQ,YAAY,WAAW,MAAM;AAKvD,iDAA+B;AAC/B,iDAA+B;AAO/B,mCAAiB;AACjB;AAAA,gBACF;AAEA,oBAAI,uBAAuB,YAAY,OAAO,aAAa;AAIzD,2DAAyC,aAAa,IAAI;AAAA,gBAC5D;AAEA,oBAAI,0BAA0B;AAC5B,6CAA2B;AAE3B,sBAAI,gBAAgB,QAAQ,OAAO,gBAAgB,YAAY,OAAO,YAAY,SAAS,YAAY;AACrG,wBAAI,WAAW;AACf,2CAAuB,aAAa,UAAU,6BAA6B;AAAA,kBAC7E,OAAO;AACL,yCAAqB,aAAa,aAAa,6BAA6B;AAAA,kBAC9E;AAAA,gBACF;AAEA,+BAAeA,OAAM,YAAY,QAAQ,aAAa,aAAa,6BAA6B;AAChG,mCAAmB,WAAW;AAAA,cAChC,SAAS,uBAAuB;AAE9B,8BAAc;AAEd,oBAAI,mBAAmB,eAAe,gBAAgB,MAAM;AAG1D,gCAAc,YAAY;AAC1B,mCAAiB;AAAA,gBACnB,OAAO;AACL,gCAAc;AAAA,gBAChB;AAEA;AAAA,cACF;AAGA;AAAA,YACF,SAAS;AAAA,UACX;AAEA,mBAAS,iBAAiB;AACxB,gBAAI,iBAAiB,yBAAyB;AAC9C,qCAAyB,UAAU;AAEnC,gBAAI,mBAAmB,MAAM;AAI3B,qBAAO;AAAA,YACT,OAAO;AACL,qBAAO;AAAA,YACT;AAAA,UACF;AAEA,mBAAS,cAAc,gBAAgB;AACrC,qCAAyB,UAAU;AAAA,UACrC;AAEA,mBAAS,2BAA2B;AAClC,2CAA+B,IAAI;AAAA,UACrC;AACA,mBAAS,uBAAuB,MAAM;AACpC,6CAAiC,WAAW,MAAM,8BAA8B;AAAA,UAClF;AACA,mBAAS,mBAAmB;AAC1B,gBAAI,iCAAiC,gBAAgB;AACnD,6CAA+B;AAAA,YACjC;AAAA,UACF;AACA,mBAAS,kCAAkC;AACzC,gBAAI,iCAAiC,kBAAkB,iCAAiC,iBAAiB,iCAAiC,aAAa;AACrJ,6CAA+B;AAAA,YACjC;AAIA,gBAAI,uBAAuB,SAAS,oBAAoB,8BAA8B,KAAK,oBAAoB,yCAAyC,IAAI;AAQ1J,kCAAoB,oBAAoB,6BAA6B;AAAA,YACvE;AAAA,UACF;AACA,mBAAS,eAAeH,QAAO;AAC7B,gBAAI,iCAAiC,wBAAwB;AAC3D,6CAA+B;AAAA,YACjC;AAEA,gBAAI,uCAAuC,MAAM;AAC/C,mDAAqC,CAACA,MAAK;AAAA,YAC7C,OAAO;AACL,iDAAmC,KAAKA,MAAK;AAAA,YAC/C;AAAA,UACF;AAGA,mBAAS,2BAA2B;AAGlC,mBAAO,iCAAiC;AAAA,UAC1C;AAEA,mBAAS,eAAeG,OAAM,OAAO;AACnC,gBAAI,uBAAuB;AAC3B,gCAAoB;AACpB,gBAAI,iBAAiB,eAAe;AAGpC,gBAAI,uBAAuBA,SAAQ,kCAAkC,OAAO;AAC1E;AACE,oBAAI,mBAAmB;AACrB,sBAAI,mBAAmBA,MAAK;AAE5B,sBAAI,iBAAiB,OAAO,GAAG;AAC7B,2CAAuBA,OAAM,6BAA6B;AAC1D,qCAAiB,MAAM;AAAA,kBACzB;AAMA,8CAA4BA,OAAM,KAAK;AAAA,gBACzC;AAAA,cACF;AAEA,0CAA4B,uBAAuB;AACnD,gCAAkBA,OAAM,KAAK;AAAA,YAC/B;AAEA;AACE,gCAAkB,KAAK;AAAA,YACzB;AAEA,eAAG;AACD,kBAAI;AACF,6BAAa;AACb;AAAA,cACF,SAAS,aAAa;AACpB,4BAAYA,OAAM,WAAW;AAAA,cAC/B;AAAA,YACF,SAAS;AAET,qCAAyB;AACzB,+BAAmB;AACnB,0BAAc,cAAc;AAE5B,gBAAI,mBAAmB,MAAM;AAE3B,oBAAM,IAAI,MAAM,wGAA6G;AAAA,YAC/H;AAEA;AACE,gCAAkB;AAAA,YACpB;AAGA,iCAAqB;AACrB,4CAAgC;AAChC,mBAAO;AAAA,UACT;AAKA,mBAAS,eAAe;AAEtB,mBAAO,mBAAmB,MAAM;AAC9B,gCAAkB,cAAc;AAAA,YAClC;AAAA,UACF;AAEA,mBAAS,qBAAqBA,OAAM,OAAO;AACzC,gBAAI,uBAAuB;AAC3B,gCAAoB;AACpB,gBAAI,iBAAiB,eAAe;AAGpC,gBAAI,uBAAuBA,SAAQ,kCAAkC,OAAO;AAC1E;AACE,oBAAI,mBAAmB;AACrB,sBAAI,mBAAmBA,MAAK;AAE5B,sBAAI,iBAAiB,OAAO,GAAG;AAC7B,2CAAuBA,OAAM,6BAA6B;AAC1D,qCAAiB,MAAM;AAAA,kBACzB;AAMA,8CAA4BA,OAAM,KAAK;AAAA,gBACzC;AAAA,cACF;AAEA,0CAA4B,uBAAuB;AACnD,+BAAiB;AACjB,gCAAkBA,OAAM,KAAK;AAAA,YAC/B;AAEA;AACE,gCAAkB,KAAK;AAAA,YACzB;AAEA,eAAG;AACD,kBAAI;AACF,mCAAmB;AACnB;AAAA,cACF,SAAS,aAAa;AACpB,4BAAYA,OAAM,WAAW;AAAA,cAC/B;AAAA,YACF,SAAS;AAET,qCAAyB;AACzB,0BAAc,cAAc;AAC5B,+BAAmB;AAGnB,gBAAI,mBAAmB,MAAM;AAE3B;AACE,kCAAkB;AAAA,cACpB;AAEA,qBAAO;AAAA,YACT,OAAO;AAEL;AACE,kCAAkB;AAAA,cACpB;AAGA,mCAAqB;AACrB,8CAAgC;AAEhC,qBAAO;AAAA,YACT;AAAA,UACF;AAIA,mBAAS,qBAAqB;AAE5B,mBAAO,mBAAmB,QAAQ,CAAC,YAAY,GAAG;AAChD,gCAAkB,cAAc;AAAA,YAClC;AAAA,UACF;AAEA,mBAAS,kBAAkB,YAAY;AAIrC,gBAAID,WAAU,WAAW;AACzB,4BAAgB,UAAU;AAC1B,gBAAI;AAEJ,iBAAM,WAAW,OAAO,iBAAiB,QAAQ;AAC/C,iCAAmB,UAAU;AAC7B,qBAAO,YAAYA,UAAS,YAAY,kBAAkB;AAC1D,uDAAyC,YAAY,IAAI;AAAA,YAC3D,OAAO;AACL,qBAAO,YAAYA,UAAS,YAAY,kBAAkB;AAAA,YAC5D;AAEA,8BAAkB;AAClB,uBAAW,gBAAgB,WAAW;AAEtC,gBAAI,SAAS,MAAM;AAEjB,iCAAmB,UAAU;AAAA,YAC/B,OAAO;AACL,+BAAiB;AAAA,YACnB;AAEA,gCAAoB,UAAU;AAAA,UAChC;AAEA,mBAAS,mBAAmB,YAAY;AAGtC,gBAAI,gBAAgB;AAEpB,eAAG;AAID,kBAAIA,WAAU,cAAc;AAC5B,kBAAI,cAAc,cAAc;AAEhC,mBAAK,cAAc,QAAQ,gBAAgB,SAAS;AAClD,gCAAgB,aAAa;AAC7B,oBAAI,OAAO;AAEX,qBAAM,cAAc,OAAO,iBAAiB,QAAQ;AAClD,yBAAO,aAAaA,UAAS,eAAe,kBAAkB;AAAA,gBAChE,OAAO;AACL,qCAAmB,aAAa;AAChC,yBAAO,aAAaA,UAAS,eAAe,kBAAkB;AAE9D,2DAAyC,eAAe,KAAK;AAAA,gBAC/D;AAEA,kCAAkB;AAElB,oBAAI,SAAS,MAAM;AAEjB,mCAAiB;AACjB;AAAA,gBACF;AAAA,cACF,OAAO;AAIL,oBAAI,QAAQ,WAAWA,UAAS,aAAa;AAG7C,oBAAI,UAAU,MAAM;AAKlB,wBAAM,SAAS;AACf,mCAAiB;AACjB;AAAA,gBACF;AAEA,qBAAM,cAAc,OAAO,iBAAiB,QAAQ;AAElD,2DAAyC,eAAe,KAAK;AAE7D,sBAAI,iBAAiB,cAAc;AACnC,sBAAI,QAAQ,cAAc;AAE1B,yBAAO,UAAU,MAAM;AACrB,sCAAkB,MAAM;AACxB,4BAAQ,MAAM;AAAA,kBAChB;AAEA,gCAAc,iBAAiB;AAAA,gBACjC;AAEA,oBAAI,gBAAgB,MAAM;AAExB,8BAAY,SAAS;AACrB,8BAAY,eAAe;AAC3B,8BAAY,YAAY;AAAA,gBAC1B,OAAO;AAEL,iDAA+B;AAC/B,mCAAiB;AACjB;AAAA,gBACF;AAAA,cACF;AAEA,kBAAI,eAAe,cAAc;AAEjC,kBAAI,iBAAiB,MAAM;AAEzB,iCAAiB;AACjB;AAAA,cACF;AAGA,8BAAgB;AAEhB,+BAAiB;AAAA,YACnB,SAAS,kBAAkB;AAG3B,gBAAI,iCAAiC,gBAAgB;AACnD,6CAA+B;AAAA,YACjC;AAAA,UACF;AAEA,mBAAS,WAAWC,OAAM,mBAAmB,aAAa;AAGxD,gBAAI,6BAA6B,yBAAyB;AAC1D,gBAAI,iBAAiB,0BAA0B;AAE/C,gBAAI;AACF,wCAA0B,aAAa;AACvC,uCAAyB,qBAAqB;AAC9C,6BAAeA,OAAM,mBAAmB,aAAa,0BAA0B;AAAA,YACjF,UAAE;AACA,wCAA0B,aAAa;AACvC,uCAAyB,0BAA0B;AAAA,YACrD;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,eAAeA,OAAM,mBAAmB,aAAa,qBAAqB;AACjF,eAAG;AAOD,kCAAoB;AAAA,YACtB,SAAS,kCAAkC;AAE3C,oDAAwC;AAExC,iBAAK,oBAAoB,gBAAgB,oBAAoB,WAAW;AACtE,oBAAM,IAAI,MAAM,gCAAgC;AAAA,YAClD;AAEA,gBAAI,eAAeA,MAAK;AACxB,gBAAI,QAAQA,MAAK;AAEjB;AACE,gCAAkB,KAAK;AAAA,YACzB;AAEA,gBAAI,iBAAiB,MAAM;AAEzB;AACE,kCAAkB;AAAA,cACpB;AAEA,qBAAO;AAAA,YACT,OAAO;AACL;AACE,oBAAI,UAAU,SAAS;AACrB,wBAAM,iFAAsF;AAAA,gBAC9F;AAAA,cACF;AAAA,YACF;AAEA,YAAAA,MAAK,eAAe;AACpB,YAAAA,MAAK,gBAAgB;AAErB,gBAAI,iBAAiBA,MAAK,SAAS;AACjC,oBAAM,IAAI,MAAM,6GAAkH;AAAA,YACpI;AAIA,YAAAA,MAAK,eAAe;AACpB,YAAAA,MAAK,mBAAmB;AAGxB,gBAAI,iBAAiB,WAAW,aAAa,OAAO,aAAa,UAAU;AAC3E,6BAAiBA,OAAM,cAAc;AAErC,gBAAIA,UAAS,oBAAoB;AAE/B,mCAAqB;AACrB,+BAAiB;AACjB,8CAAgC;AAAA,YAClC;AAOA,iBAAK,aAAa,eAAe,iBAAiB,YAAY,aAAa,QAAQ,iBAAiB,SAAS;AAC3G,kBAAI,CAAC,4BAA4B;AAC/B,6CAA6B;AAO7B,4CAA4B;AAC5B,mCAAmB,gBAAgB,WAAY;AAC7C,sCAAoB;AAIpB,yBAAO;AAAA,gBACT,CAAC;AAAA,cACH;AAAA,YACF;AAOA,gBAAI,qBAAqB,aAAa,gBAAgB,qBAAqB,eAAe,aAAa,kBAAkB;AACzH,gBAAI,iBAAiB,aAAa,SAAS,qBAAqB,eAAe,aAAa,kBAAkB;AAE9G,gBAAI,qBAAqB,eAAe;AACtC,kBAAI,iBAAiB,0BAA0B;AAC/C,wCAA0B,aAAa;AACvC,kBAAI,mBAAmB,yBAAyB;AAChD,uCAAyB,qBAAqB;AAC9C,kBAAI,uBAAuB;AAC3B,kCAAoB;AAEpB,kCAAoB,UAAU;AAO9B,kBAAIqB,qCAAoC,4BAA4BrB,OAAM,YAAY;AAEtF;AAGE,iCAAiB;AAAA,cACnB;AAGA,oCAAsBA,OAAM,cAAc,KAAK;AAE/C,+BAAiBA,MAAK,aAAa;AAKnC,cAAAA,MAAK,UAAU;AAEf;AACE,yCAAyB,KAAK;AAAA,cAChC;AAEA,kCAAoB,cAAcA,OAAM,KAAK;AAE7C;AACE,yCAAyB;AAAA,cAC3B;AAIA,2BAAa;AACb,iCAAmB;AAEnB,uCAAyB,gBAAgB;AACzC,wCAA0B,aAAa;AAAA,YACzC,OAAO;AAEL,cAAAA,MAAK,UAAU;AAIf;AACE,iCAAiB;AAAA,cACnB;AAAA,YACF;AAEA,gBAAI,4BAA4B;AAEhC,gBAAI,4BAA4B;AAG9B,2CAA6B;AAC7B,8CAAgCA;AAChC,2CAA6B;AAAA,YAC/B,OAAO;AAEL;AACE,2CAA2B;AAC3B,+CAA+B;AAAA,cACjC;AAAA,YACF;AAGA,6BAAiBA,MAAK;AAWtB,gBAAI,mBAAmB,SAAS;AAG9B,uDAAyC;AAAA,YAC3C;AAEA;AACE,kBAAI,CAAC,2BAA2B;AAC9B,+CAA+BA,MAAK,SAAS,KAAK;AAAA,cACpD;AAAA,YACF;AAEA,yBAAa,aAAa,WAAW,mBAAmB;AAExD;AACE,kBAAI,mBAAmB;AACrB,gBAAAA,MAAK,iBAAiB,MAAM;AAAA,cAC9B;AAAA,YACF;AAEA;AACE,6BAAe;AAAA,YACjB;AAIA,kCAAsBA,OAAM,IAAI,CAAC;AAEjC,gBAAI,sBAAsB,MAAM;AAG9B,kBAAI,qBAAqBA,MAAK;AAE9B,uBAAS,IAAI,GAAG,IAAI,kBAAkB,QAAQ,KAAK;AACjD,oBAAI,mBAAmB,kBAAkB,CAAC;AAC1C,oBAAI,iBAAiB,iBAAiB;AACtC,oBAAI,SAAS,iBAAiB;AAC9B,mCAAmB,iBAAiB,OAAO;AAAA,kBACzC;AAAA,kBACA;AAAA,gBACF,CAAC;AAAA,cACH;AAAA,YACF;AAEA,gBAAI,kBAAkB;AACpB,iCAAmB;AACnB,kBAAI,UAAU;AACd,mCAAqB;AACrB,oBAAM;AAAA,YACR;AAUA,gBAAI,iBAAiB,4BAA4B,QAAQ,KAAKA,MAAK,QAAQ,YAAY;AACrF,kCAAoB;AAAA,YACtB;AAGA,6BAAiBA,MAAK;AAEtB,gBAAI,iBAAiB,gBAAgB,QAAQ,GAAG;AAC9C;AACE,0CAA0B;AAAA,cAC5B;AAIA,kBAAIA,UAAS,uBAAuB;AAClC;AAAA,cACF,OAAO;AACL,oCAAoB;AACpB,wCAAwBA;AAAA,cAC1B;AAAA,YACF,OAAO;AACL,kCAAoB;AAAA,YACtB;AAGA,+BAAmB;AAEnB;AACE,gCAAkB;AAAA,YACpB;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,sBAAsB;AAO7B,gBAAI,kCAAkC,MAAM;AAC1C,kBAAI,iBAAiB,qBAAqB,0BAA0B;AACpE,kBAAI,WAAW,mBAAmB,sBAAsB,cAAc;AACtE,kBAAI,iBAAiB,0BAA0B;AAC/C,kBAAI,mBAAmB,yBAAyB;AAEhD,kBAAI;AACF,0CAA0B,aAAa;AACvC,yCAAyB,QAAQ;AACjC,uBAAO,wBAAwB;AAAA,cACjC,UAAE;AACA,yCAAyB,gBAAgB;AACzC,0CAA0B,aAAa;AAAA,cACzC;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AACA,mBAAS,oCAAoC,OAAO;AAClD;AACE,4CAA8B,KAAK,KAAK;AAExC,kBAAI,CAAC,4BAA4B;AAC/B,6CAA6B;AAC7B,mCAAmB,gBAAgB,WAAY;AAC7C,sCAAoB;AACpB,yBAAO;AAAA,gBACT,CAAC;AAAA,cACH;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,0BAA0B;AACjC,gBAAI,kCAAkC,MAAM;AAC1C,qBAAO;AAAA,YACT;AAGA,gBAAI,cAAc;AAClB,wCAA4B;AAC5B,gBAAIA,QAAO;AACX,gBAAI,QAAQ;AACZ,4CAAgC;AAIhC,yCAA6B;AAE7B,iBAAK,oBAAoB,gBAAgB,oBAAoB,WAAW;AACtE,oBAAM,IAAI,MAAM,uDAAuD;AAAA,YACzE;AAEA;AACE,yCAA2B;AAC3B,sDAAwC;AAAA,YAC1C;AAEA;AACE,wCAA0B,KAAK;AAAA,YACjC;AAEA,gBAAI,uBAAuB;AAC3B,gCAAoB;AACpB,wCAA4BA,MAAK,OAAO;AACxC,sCAA0BA,OAAMA,MAAK,SAAS,OAAO,WAAW;AAEhE;AACE,kBAAI,kBAAkB;AACtB,8CAAgC,CAAC;AAEjC,uBAAS,IAAI,GAAG,IAAI,gBAAgB,QAAQ,KAAK;AAC/C,oBAAI,SAAS,gBAAgB,CAAC;AAC9B,6CAA6BA,OAAM,MAAM;AAAA,cAC3C;AAAA,YACF;AAEA;AACE,wCAA0B;AAAA,YAC5B;AAEA;AACE,6CAA+BA,MAAK,SAAS,IAAI;AAAA,YACnD;AAEA,+BAAmB;AACnB,+BAAmB;AAEnB;AAGE,kBAAI,uCAAuC;AACzC,oBAAIA,UAAS,8BAA8B;AACzC;AAAA,gBACF,OAAO;AACL,6CAA2B;AAC3B,iDAA+BA;AAAA,gBACjC;AAAA,cACF,OAAO;AACL,2CAA2B;AAAA,cAC7B;AAEA,yCAA2B;AAC3B,sDAAwC;AAAA,YAC1C;AAGA,6BAAiBA,KAAI;AAErB;AACE,kBAAI,YAAYA,MAAK,QAAQ;AAC7B,wBAAU,iBAAiB;AAC3B,wBAAU,wBAAwB;AAAA,YACpC;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,mCAAmC,UAAU;AACpD,mBAAO,2CAA2C,QAAQ,uCAAuC,IAAI,QAAQ;AAAA,UAC/G;AACA,mBAAS,gCAAgC,UAAU;AACjD,gBAAI,2CAA2C,MAAM;AACnD,uDAAyC,oBAAI,IAAI,CAAC,QAAQ,CAAC;AAAA,YAC7D,OAAO;AACL,qDAAuC,IAAI,QAAQ;AAAA,YACrD;AAAA,UACF;AAEA,mBAAS,4BAA4BH,QAAO;AAC1C,gBAAI,CAAC,kBAAkB;AACrB,iCAAmB;AACnB,mCAAqBA;AAAA,YACvB;AAAA,UACF;AAEA,cAAI,kBAAkB;AAEtB,mBAAS,8BAA8B,WAAW,aAAaA,QAAO;AACpE,gBAAI,YAAY,2BAA2BA,QAAO,WAAW;AAC7D,gBAAI,SAAS,sBAAsB,WAAW,WAAW,QAAQ;AACjE,gBAAIG,QAAO,cAAc,WAAW,QAAQ,QAAQ;AACpD,gBAAI,YAAY,iBAAiB;AAEjC,gBAAIA,UAAS,MAAM;AACjB,8BAAgBA,OAAM,UAAU,SAAS;AACzC,oCAAsBA,OAAM,SAAS;AAAA,YACvC;AAAA,UACF;AAEA,mBAAS,wBAAwB,aAAa,wBAAwB,SAAS;AAC7E;AACE,uCAAyB,OAAO;AAChC,0CAA4B,KAAK;AAAA,YACnC;AAEA,gBAAI,YAAY,QAAQ,UAAU;AAGhC,4CAA8B,aAAa,aAAa,OAAO;AAC/D;AAAA,YACF;AAEA,gBAAI,QAAQ;AAEZ;AACE,sBAAQ;AAAA,YACV;AAEA,mBAAO,UAAU,MAAM;AACrB,kBAAI,MAAM,QAAQ,UAAU;AAC1B,8CAA8B,OAAO,aAAa,OAAO;AACzD;AAAA,cACF,WAAW,MAAM,QAAQ,gBAAgB;AACvC,oBAAI,OAAO,MAAM;AACjB,oBAAI,WAAW,MAAM;AAErB,oBAAI,OAAO,KAAK,6BAA6B,cAAc,OAAO,SAAS,sBAAsB,cAAc,CAAC,mCAAmC,QAAQ,GAAG;AAC5J,sBAAI,YAAY,2BAA2B,SAAS,WAAW;AAC/D,sBAAI,SAAS,uBAAuB,OAAO,WAAW,QAAQ;AAC9D,sBAAIA,QAAO,cAAc,OAAO,QAAQ,QAAQ;AAChD,sBAAI,YAAY,iBAAiB;AAEjC,sBAAIA,UAAS,MAAM;AACjB,oCAAgBA,OAAM,UAAU,SAAS;AACzC,0CAAsBA,OAAM,SAAS;AAAA,kBACvC;AAEA;AAAA,gBACF;AAAA,cACF;AAEA,sBAAQ,MAAM;AAAA,YAChB;AAEA;AAME,oBAAM,wRAA4S,OAAO;AAAA,YAC3T;AAAA,UACF;AACA,mBAAS,kBAAkBA,OAAM,UAAU,aAAa;AACtD,gBAAI,YAAYA,MAAK;AAErB,gBAAI,cAAc,MAAM;AAGtB,wBAAU,OAAO,QAAQ;AAAA,YAC3B;AAEA,gBAAI,YAAY,iBAAiB;AACjC,2BAAeA,OAAM,WAAW;AAChC,yDAA6CA,KAAI;AAEjD,gBAAI,uBAAuBA,SAAQ,gBAAgB,+BAA+B,WAAW,GAAG;AAQ9F,kBAAI,iCAAiC,0BAA0B,iCAAiC,iBAAiB,oBAAoB,6BAA6B,KAAK,IAAI,IAAI,+BAA+B,sBAAsB;AAElO,kCAAkBA,OAAM,OAAO;AAAA,cACjC,OAAO;AAGL,gDAAgC,WAAW,+BAA+B,WAAW;AAAA,cACvF;AAAA,YACF;AAEA,kCAAsBA,OAAM,SAAS;AAAA,UACvC;AAEA,mBAAS,sBAAsB,eAAe,WAAW;AAKvD,gBAAI,cAAc,QAAQ;AAGxB,0BAAY,iBAAiB,aAAa;AAAA,YAC5C;AAGA,gBAAI,YAAY,iBAAiB;AACjC,gBAAIA,QAAO,+BAA+B,eAAe,SAAS;AAElE,gBAAIA,UAAS,MAAM;AACjB,8BAAgBA,OAAM,WAAW,SAAS;AAC1C,oCAAsBA,OAAM,SAAS;AAAA,YACvC;AAAA,UACF;AAEA,mBAAS,gCAAgC,eAAe;AACtD,gBAAI,gBAAgB,cAAc;AAClC,gBAAI,YAAY;AAEhB,gBAAI,kBAAkB,MAAM;AAC1B,0BAAY,cAAc;AAAA,YAC5B;AAEA,kCAAsB,eAAe,SAAS;AAAA,UAChD;AACA,mBAAS,qBAAqB,eAAe,UAAU;AACrD,gBAAI,YAAY;AAEhB,gBAAI;AAEJ,oBAAQ,cAAc,KAAK;AAAA,cACzB,KAAK;AACH,6BAAa,cAAc;AAC3B,oBAAI,gBAAgB,cAAc;AAElC,oBAAI,kBAAkB,MAAM;AAC1B,8BAAY,cAAc;AAAA,gBAC5B;AAEA;AAAA,cAEF,KAAK;AACH,6BAAa,cAAc;AAC3B;AAAA,cAEF;AACE,sBAAM,IAAI,MAAM,yEAA8E;AAAA,YAClG;AAEA,gBAAI,eAAe,MAAM;AAGvB,yBAAW,OAAO,QAAQ;AAAA,YAC5B;AAEA,kCAAsB,eAAe,SAAS;AAAA,UAChD;AAUA,mBAAS,IAAI,aAAa;AACxB,mBAAO,cAAc,MAAM,MAAM,cAAc,MAAM,MAAM,cAAc,OAAO,OAAO,cAAc,OAAO,OAAO,cAAc,MAAO,MAAO,cAAc,OAAO,OAAO,KAAK,cAAc,IAAI,IAAI;AAAA,UACxM;AAEA,mBAAS,wBAAwB;AAC/B,gBAAI,oBAAoB,qBAAqB;AAC3C,kCAAoB;AACpB,sCAAwB;AACxB,oBAAM,IAAI,MAAM,kNAAiO;AAAA,YACnP;AAEA;AACE,kBAAI,2BAA2B,6BAA6B;AAC1D,2CAA2B;AAC3B,+CAA+B;AAE/B,sBAAM,4MAA2N;AAAA,cACnO;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,0CAA0C;AACjD;AACE,sCAAwB,0BAA0B;AAElD;AACE,wCAAwB,oCAAoC;AAAA,cAC9D;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,+BAA+B,OAAO,mBAAmB;AAChE;AAIE,8BAAgB,KAAK;AACrB,iCAAmB,OAAO,gBAAgB,8BAA8B;AAExE,kBAAI,mBAAmB;AACrB,mCAAmB,OAAO,iBAAiB,+BAA+B;AAAA,cAC5E;AAEA,iCAAmB,OAAO,gBAAgB,4BAA4B;AAEtE,kBAAI,mBAAmB;AACrB,mCAAmB,OAAO,iBAAiB,6BAA6B;AAAA,cAC1E;AAEA,gCAAkB;AAAA,YACpB;AAAA,UACF;AAEA,mBAAS,mBAAmB,YAAY,YAAY,gBAAgB;AAClE;AAGE,kBAAID,WAAU;AACd,kBAAI,cAAc;AAElB,qBAAOA,aAAY,MAAM;AACvB,oBAAI,qBAAqBA,SAAQ,eAAe;AAEhD,oBAAIA,aAAY,eAAeA,SAAQ,UAAU,QAAQ,uBAAuB,SAAS;AACvF,kBAAAA,WAAUA,SAAQ;AAAA,gBACpB,OAAO;AACL,uBAAKA,SAAQ,QAAQ,gBAAgB,SAAS;AAC5C,mCAAeA,QAAO;AAAA,kBACxB;AAEA,sBAAIA,SAAQ,YAAY,MAAM;AAC5B,oBAAAA,WAAUA,SAAQ;AAAA,kBACpB,OAAO;AACL,oBAAAA,WAAU,cAAcA,SAAQ;AAAA,kBAClC;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,cAAI,8CAA8C;AAClD,mBAAS,yCAAyC,OAAO;AACvD;AACE,mBAAK,mBAAmB,mBAAmB,WAAW;AAEpD;AAAA,cACF;AAEA,kBAAI,EAAE,MAAM,OAAO,iBAAiB;AAClC;AAAA,cACF;AAEA,kBAAI,MAAM,MAAM;AAEhB,kBAAI,QAAQ,0BAA0B,QAAQ,YAAY,QAAQ,kBAAkB,QAAQ,qBAAqB,QAAQ,cAAc,QAAQ,iBAAiB,QAAQ,qBAAqB;AAE3L;AAAA,cACF;AAIA,kBAAI,gBAAgB,0BAA0B,KAAK,KAAK;AAExD,kBAAI,gDAAgD,MAAM;AACxD,oBAAI,4CAA4C,IAAI,aAAa,GAAG;AAClE;AAAA,gBACF;AAEA,4DAA4C,IAAI,aAAa;AAAA,cAC/D,OAAO;AACL,8DAA8C,oBAAI,IAAI,CAAC,aAAa,CAAC;AAAA,cACvE;AAEA,kBAAI,gBAAgB;AAEpB,kBAAI;AACF,gCAAgB,KAAK;AAErB,sBAAM,mPAAkQ;AAAA,cAC1Q,UAAE;AACA,oBAAI,eAAe;AACjB,kCAAgB,KAAK;AAAA,gBACvB,OAAO;AACL,oCAAkB;AAAA,gBACpB;AAAA,cACF;AAAA,YACF;AAAA,UACF;AACA,cAAI;AAEJ;AACE,gBAAI,aAAa;AAEjB,0BAAc,SAAUA,UAAS,YAAY,OAAO;AAMlD,kBAAI,6BAA6B,2BAA2B,YAAY,UAAU;AAElF,kBAAI;AACF,uBAAO,UAAUA,UAAS,YAAY,KAAK;AAAA,cAC7C,SAAS,eAAe;AACtB,oBAAI,mCAAmC,KAAK,kBAAkB,QAAQ,OAAO,kBAAkB,YAAY,OAAO,cAAc,SAAS,YAAY;AAGnJ,wBAAM;AAAA,gBACR;AAIA,yCAAyB;AACzB,qCAAqB;AAIrB,sCAAsBA,UAAS,UAAU;AAEzC,2CAA2B,YAAY,0BAA0B;AAEjE,oBAAK,WAAW,OAAO,aAAa;AAElC,qCAAmB,UAAU;AAAA,gBAC/B;AAGA,sCAAsB,MAAM,WAAW,MAAMA,UAAS,YAAY,KAAK;AAEvE,oBAAI,eAAe,GAAG;AACpB,sBAAI,cAAc,iBAAiB;AAEnC,sBAAI,OAAO,gBAAgB,YAAY,gBAAgB,QAAQ,YAAY,oBAAoB,OAAO,kBAAkB,YAAY,kBAAkB,QAAQ,CAAC,cAAc,kBAAkB;AAE7L,kCAAc,mBAAmB;AAAA,kBACnC;AAAA,gBACF;AAIA,sBAAM;AAAA,cACR;AAAA,YACF;AAAA,UACF;AAEA,cAAI,6BAA6B;AACjC,cAAI;AAEJ;AACE,4DAAgD,oBAAI,IAAI;AAAA,UAC1D;AAEA,mBAAS,iCAAiC,OAAO;AAC/C;AACE,kBAAI,eAAe,CAAC,2CAA2C,GAAG;AAChE,wBAAQ,MAAM,KAAK;AAAA,kBACjB,KAAK;AAAA,kBACL,KAAK;AAAA,kBACL,KAAK,qBACH;AACE,wBAAI,yBAAyB,kBAAkB,0BAA0B,cAAc,KAAK;AAE5F,wBAAI,YAAY;AAEhB,wBAAI,CAAC,8CAA8C,IAAI,SAAS,GAAG;AACjE,oEAA8C,IAAI,SAAS;AAC3D,0BAAI,wBAAwB,0BAA0B,KAAK,KAAK;AAEhE,4BAAM,oNAA8N,uBAAuB,wBAAwB,sBAAsB;AAAA,oBAC3S;AAEA;AAAA,kBACF;AAAA,kBAEF,KAAK,gBACH;AACE,wBAAI,CAAC,4BAA4B;AAC/B,4BAAM,2IAAqJ;AAE3J,mDAA6B;AAAA,oBAC/B;AAEA;AAAA,kBACF;AAAA,gBACJ;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,uBAAuBC,OAAM,OAAO;AAC3C;AACE,kBAAI,mBAAmB;AACrB,oBAAI,mBAAmBA,MAAK;AAC5B,iCAAiB,QAAQ,SAAU,iBAAiB;AAClD,qCAAmBA,OAAM,iBAAiB,KAAK;AAAA,gBACjD,CAAC;AAAA,cAGH;AAAA,YACF;AAAA,UACF;AACA,cAAI,sBAAsB,CAAC;AAE3B,mBAAS,mBAAmB,eAAe,UAAU;AACnD;AAGE,kBAAI,WAAW,uBAAuB;AAEtC,kBAAI,aAAa,MAAM;AACrB,yBAAS,KAAK,QAAQ;AACtB,uBAAO;AAAA,cACT,OAAO;AACL,uBAAO,iBAAiB,eAAe,QAAQ;AAAA,cACjD;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,iBAAiB,cAAc;AACtC,gBAAK,iBAAiB,qBAAqB;AACzC;AAAA,YACF;AAGA,mBAAO,eAAe,YAAY;AAAA,UACpC;AAEA,mBAAS,iCAAiC;AAExC,mBAAQ,uBAAuB,YAAY;AAAA,UAC7C;AAEA,mBAAS,kCAAkC,OAAO;AAChD;AACE,kBAAI,MAAM,OAAO,gBAAgB;AAC/B,oBAAI,CAAC,2BAA2B,GAAG;AAEjC;AAAA,gBACF;AAAA,cACF,OAAO;AAEL,oBAAI,CAAC,uBAAuB,GAAG;AAE7B;AAAA,gBACF;AAEA,oBAAI,qBAAqB,WAAW;AAGlC;AAAA,gBACF;AAEA,oBAAI,MAAM,QAAQ,qBAAqB,MAAM,QAAQ,cAAc,MAAM,QAAQ,qBAAqB;AAGpG;AAAA,gBACF;AAAA,cACF;AAEA,kBAAI,uBAAuB,YAAY,MAAM;AAC3C,oBAAI,gBAAgB;AAEpB,oBAAI;AACF,kCAAgB,KAAK;AAErB,wBAAM,2XAAwa,0BAA0B,KAAK,CAAC;AAAA,gBAChd,UAAE;AACA,sBAAI,eAAe;AACjB,oCAAgB,KAAK;AAAA,kBACvB,OAAO;AACL,sCAAkB;AAAA,kBACpB;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,6CAA6CA,OAAM;AAC1D;AACE,kBAAIA,MAAK,QAAQ,cAAc,2BAA2B,KAAK,uBAAuB,YAAY,MAAM;AACtG,sBAAM,2ZAA6c;AAAA,cACrd;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,4BAA4B,WAAW;AAC9C;AACE,yCAA2B;AAAA,YAC7B;AAAA,UACF;AAGA,cAAI,gBAAgB;AAEpB,cAAI,mBAAmB;AACvB,cAAI,oBAAoB,SAAU,SAAS;AACzC;AACE,8BAAgB;AAAA,YAClB;AAAA,UACF;AACA,mBAAS,+BAA+B,MAAM;AAC5C;AACE,kBAAI,kBAAkB,MAAM;AAE1B,uBAAO;AAAA,cACT;AAEA,kBAAI,SAAS,cAAc,IAAI;AAE/B,kBAAI,WAAW,QAAW;AACxB,uBAAO;AAAA,cACT;AAGA,qBAAO,OAAO;AAAA,YAChB;AAAA,UACF;AACA,mBAAS,4BAA4B,MAAM;AAEzC,mBAAO,+BAA+B,IAAI;AAAA,UAC5C;AACA,mBAAS,iCAAiC,MAAM;AAC9C;AACE,kBAAI,kBAAkB,MAAM;AAE1B,uBAAO;AAAA,cACT;AAEA,kBAAI,SAAS,cAAc,IAAI;AAE/B,kBAAI,WAAW,QAAW;AAExB,oBAAI,SAAS,QAAQ,SAAS,UAAa,OAAO,KAAK,WAAW,YAAY;AAI5E,sBAAI,gBAAgB,+BAA+B,KAAK,MAAM;AAE9D,sBAAI,KAAK,WAAW,eAAe;AACjC,wBAAI,gBAAgB;AAAA,sBAClB,UAAU;AAAA,sBACV,QAAQ;AAAA,oBACV;AAEA,wBAAI,KAAK,gBAAgB,QAAW;AAClC,oCAAc,cAAc,KAAK;AAAA,oBACnC;AAEA,2BAAO;AAAA,kBACT;AAAA,gBACF;AAEA,uBAAO;AAAA,cACT;AAGA,qBAAO,OAAO;AAAA,YAChB;AAAA,UACF;AACA,mBAAS,kCAAkC,OAAO,SAAS;AACzD;AACE,kBAAI,kBAAkB,MAAM;AAE1B,uBAAO;AAAA,cACT;AAEA,kBAAI,WAAW,MAAM;AACrB,kBAAI,WAAW,QAAQ;AAEvB,kBAAI,uBAAuB;AAC3B,kBAAI,mBAAmB,OAAO,aAAa,YAAY,aAAa,OAAO,SAAS,WAAW;AAE/F,sBAAQ,MAAM,KAAK;AAAA,gBACjB,KAAK,gBACH;AACE,sBAAI,OAAO,aAAa,YAAY;AAClC,2CAAuB;AAAA,kBACzB;AAEA;AAAA,gBACF;AAAA,gBAEF,KAAK,mBACH;AACE,sBAAI,OAAO,aAAa,YAAY;AAClC,2CAAuB;AAAA,kBACzB,WAAW,qBAAqB,iBAAiB;AAK/C,2CAAuB;AAAA,kBACzB;AAEA;AAAA,gBACF;AAAA,gBAEF,KAAK,YACH;AACE,sBAAI,qBAAqB,wBAAwB;AAC/C,2CAAuB;AAAA,kBACzB,WAAW,qBAAqB,iBAAiB;AAC/C,2CAAuB;AAAA,kBACzB;AAEA;AAAA,gBACF;AAAA,gBAEF,KAAK;AAAA,gBACL,KAAK,qBACH;AACE,sBAAI,qBAAqB,iBAAiB;AAGxC,2CAAuB;AAAA,kBACzB,WAAW,qBAAqB,iBAAiB;AAC/C,2CAAuB;AAAA,kBACzB;AAEA;AAAA,gBACF;AAAA,gBAEF;AACE,yBAAO;AAAA,cACX;AAGA,kBAAI,sBAAsB;AAMxB,oBAAI,aAAa,cAAc,QAAQ;AAEvC,oBAAI,eAAe,UAAa,eAAe,cAAc,QAAQ,GAAG;AACtE,yBAAO;AAAA,gBACT;AAAA,cACF;AAEA,qBAAO;AAAA,YACT;AAAA,UACF;AACA,mBAAS,uCAAuC,OAAO;AACrD;AACE,kBAAI,kBAAkB,MAAM;AAE1B;AAAA,cACF;AAEA,kBAAI,OAAO,YAAY,YAAY;AACjC;AAAA,cACF;AAEA,kBAAI,qBAAqB,MAAM;AAC7B,mCAAmB,oBAAI,QAAQ;AAAA,cACjC;AAEA,+BAAiB,IAAI,KAAK;AAAA,YAC5B;AAAA,UACF;AACA,cAAI,kBAAkB,SAAUA,OAAM,QAAQ;AAC5C;AACE,kBAAI,kBAAkB,MAAM;AAE1B;AAAA,cACF;AAEA,kBAAI,gBAAgB,OAAO,eACvB,kBAAkB,OAAO;AAC7B,kCAAoB;AACpB,wBAAU,WAAY;AACpB,sDAAsCA,MAAK,SAAS,iBAAiB,aAAa;AAAA,cACpF,CAAC;AAAA,YACH;AAAA,UACF;AACA,cAAI,eAAe,SAAUA,OAAM,SAAS;AAC1C;AACE,kBAAIA,MAAK,YAAY,oBAAoB;AAIvC;AAAA,cACF;AAEA,kCAAoB;AACpB,wBAAU,WAAY;AACpB,gCAAgB,SAASA,OAAM,MAAM,IAAI;AAAA,cAC3C,CAAC;AAAA,YACH;AAAA,UACF;AAEA,mBAAS,sCAAsC,OAAO,iBAAiB,eAAe;AACpF;AACE,kBAAI,YAAY,MAAM,WAClB,QAAQ,MAAM,OACd,UAAU,MAAM,SAChB,MAAM,MAAM,KACZ,OAAO,MAAM;AACjB,kBAAI,gBAAgB;AAEpB,sBAAQ,KAAK;AAAA,gBACX,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AACH,kCAAgB;AAChB;AAAA,gBAEF,KAAK;AACH,kCAAgB,KAAK;AACrB;AAAA,cACJ;AAEA,kBAAI,kBAAkB,MAAM;AAC1B,sBAAM,IAAI,MAAM,qDAAqD;AAAA,cACvE;AAEA,kBAAI,cAAc;AAClB,kBAAI,eAAe;AAEnB,kBAAI,kBAAkB,MAAM;AAC1B,oBAAI,SAAS,cAAc,aAAa;AAExC,oBAAI,WAAW,QAAW;AACxB,sBAAI,cAAc,IAAI,MAAM,GAAG;AAC7B,mCAAe;AAAA,kBACjB,WAAW,gBAAgB,IAAI,MAAM,GAAG;AACtC,wBAAI,QAAQ,gBAAgB;AAC1B,qCAAe;AAAA,oBACjB,OAAO;AACL,oCAAc;AAAA,oBAChB;AAAA,kBACF;AAAA,gBACF;AAAA,cACF;AAEA,kBAAI,qBAAqB,MAAM;AAC7B,oBAAI,iBAAiB,IAAI,KAAK,KAAK,cAAc,QAAQ,iBAAiB,IAAI,SAAS,GAAG;AACxF,iCAAe;AAAA,gBACjB;AAAA,cACF;AAEA,kBAAI,cAAc;AAChB,sBAAM,qBAAqB;AAAA,cAC7B;AAEA,kBAAI,gBAAgB,aAAa;AAC/B,oBAAIsB,SAAQ,+BAA+B,OAAO,QAAQ;AAE1D,oBAAIA,WAAU,MAAM;AAClB,wCAAsBA,QAAO,OAAO,UAAU,WAAW;AAAA,gBAC3D;AAAA,cACF;AAEA,kBAAI,UAAU,QAAQ,CAAC,cAAc;AACnC,sDAAsC,OAAO,iBAAiB,aAAa;AAAA,cAC7E;AAEA,kBAAI,YAAY,MAAM;AACpB,sDAAsC,SAAS,iBAAiB,aAAa;AAAA,cAC/E;AAAA,YACF;AAAA,UACF;AAEA,cAAI,8BAA8B,SAAUtB,OAAM,UAAU;AAC1D;AACE,kBAAI,gBAAgB,oBAAI,IAAI;AAC5B,kBAAI,QAAQ,IAAI,IAAI,SAAS,IAAI,SAAU,QAAQ;AACjD,uBAAO,OAAO;AAAA,cAChB,CAAC,CAAC;AACF,4DAA8CA,MAAK,SAAS,OAAO,aAAa;AAChF,qBAAO;AAAA,YACT;AAAA,UACF;AAEA,mBAAS,8CAA8C,OAAO,OAAO,eAAe;AAClF;AACE,kBAAI,QAAQ,MAAM,OACd,UAAU,MAAM,SAChB,MAAM,MAAM,KACZ,OAAO,MAAM;AACjB,kBAAI,gBAAgB;AAEpB,sBAAQ,KAAK;AAAA,gBACX,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AACH,kCAAgB;AAChB;AAAA,gBAEF,KAAK;AACH,kCAAgB,KAAK;AACrB;AAAA,cACJ;AAEA,kBAAI,WAAW;AAEf,kBAAI,kBAAkB,MAAM;AAC1B,oBAAI,MAAM,IAAI,aAAa,GAAG;AAC5B,6BAAW;AAAA,gBACb;AAAA,cACF;AAEA,kBAAI,UAAU;AAIZ,mDAAmC,OAAO,aAAa;AAAA,cACzD,OAAO;AAEL,oBAAI,UAAU,MAAM;AAClB,gEAA8C,OAAO,OAAO,aAAa;AAAA,gBAC3E;AAAA,cACF;AAEA,kBAAI,YAAY,MAAM;AACpB,8DAA8C,SAAS,OAAO,aAAa;AAAA,cAC7E;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,mCAAmC,OAAO,eAAe;AAChE;AACE,kBAAI,qBAAqB,wCAAwC,OAAO,aAAa;AAErF,kBAAI,oBAAoB;AACtB;AAAA,cACF;AAGA,kBAAI,OAAO;AAEX,qBAAO,MAAM;AACX,wBAAQ,KAAK,KAAK;AAAA,kBAChB,KAAK;AACH,kCAAc,IAAI,KAAK,SAAS;AAChC;AAAA,kBAEF,KAAK;AACH,kCAAc,IAAI,KAAK,UAAU,aAAa;AAC9C;AAAA,kBAEF,KAAK;AACH,kCAAc,IAAI,KAAK,UAAU,aAAa;AAC9C;AAAA,gBACJ;AAEA,oBAAI,KAAK,WAAW,MAAM;AACxB,wBAAM,IAAI,MAAM,+BAA+B;AAAA,gBACjD;AAEA,uBAAO,KAAK;AAAA,cACd;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,wCAAwC,OAAO,eAAe;AACrE;AACE,kBAAI,OAAO;AACX,kBAAI,qBAAqB;AAEzB,qBAAO,MAAM;AACX,oBAAI,KAAK,QAAQ,eAAe;AAE9B,uCAAqB;AACrB,gCAAc,IAAI,KAAK,SAAS;AAAA,gBAClC,WAAW,KAAK,UAAU,MAAM;AAC9B,uBAAK,MAAM,SAAS;AACpB,yBAAO,KAAK;AACZ;AAAA,gBACF;AAEA,oBAAI,SAAS,OAAO;AAClB,yBAAO;AAAA,gBACT;AAEA,uBAAO,KAAK,YAAY,MAAM;AAC5B,sBAAI,KAAK,WAAW,QAAQ,KAAK,WAAW,OAAO;AACjD,2BAAO;AAAA,kBACT;AAEA,yBAAO,KAAK;AAAA,gBACd;AAEA,qBAAK,QAAQ,SAAS,KAAK;AAC3B,uBAAO,KAAK;AAAA,cACd;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AAEA,cAAI;AAEJ;AACE,gCAAoB;AAEpB,gBAAI;AACF,kBAAI,sBAAsB,OAAO,kBAAkB,CAAC,CAAC;AAGrD,kCAAI,IAAI,CAAC,CAAC,qBAAqB,IAAI,CAAC,CAAC;AACrC,kCAAI,IAAI,CAAC,mBAAmB,CAAC;AAAA,YAE/B,SAAS,GAAG;AAEV,kCAAoB;AAAA,YACtB;AAAA,UACF;AAEA,mBAAS,UAAU,KAAK,cAAc,KAAK,MAAM;AAE/C,iBAAK,MAAM;AACX,iBAAK,MAAM;AACX,iBAAK,cAAc;AACnB,iBAAK,OAAO;AACZ,iBAAK,YAAY;AAEjB,iBAAK,SAAS;AACd,iBAAK,QAAQ;AACb,iBAAK,UAAU;AACf,iBAAK,QAAQ;AACb,iBAAK,MAAM;AACX,iBAAK,eAAe;AACpB,iBAAK,gBAAgB;AACrB,iBAAK,cAAc;AACnB,iBAAK,gBAAgB;AACrB,iBAAK,eAAe;AACpB,iBAAK,OAAO;AAEZ,iBAAK,QAAQ;AACb,iBAAK,eAAe;AACpB,iBAAK,YAAY;AACjB,iBAAK,QAAQ;AACb,iBAAK,aAAa;AAClB,iBAAK,YAAY;AAEjB;AAaE,mBAAK,iBAAiB,OAAO;AAC7B,mBAAK,kBAAkB,OAAO;AAC9B,mBAAK,mBAAmB,OAAO;AAC/B,mBAAK,mBAAmB,OAAO;AAI/B,mBAAK,iBAAiB;AACtB,mBAAK,kBAAkB;AACvB,mBAAK,mBAAmB;AACxB,mBAAK,mBAAmB;AAAA,YAC1B;AAEA;AAEE,mBAAK,eAAe;AACpB,mBAAK,cAAc;AACnB,mBAAK,qBAAqB;AAC1B,mBAAK,kBAAkB;AAEvB,kBAAI,CAAC,qBAAqB,OAAO,OAAO,sBAAsB,YAAY;AACxE,uBAAO,kBAAkB,IAAI;AAAA,cAC/B;AAAA,YACF;AAAA,UACF;AAeA,cAAI,cAAc,SAAU,KAAK,cAAc,KAAK,MAAM;AAExD,mBAAO,IAAI,UAAU,KAAK,cAAc,KAAK,IAAI;AAAA,UACnD;AAEA,mBAAS,kBAAkB,WAAW;AACpC,gBAAI,YAAY,UAAU;AAC1B,mBAAO,CAAC,EAAE,aAAa,UAAU;AAAA,UACnC;AAEA,mBAAS,0BAA0B,MAAM;AACvC,mBAAO,OAAO,SAAS,cAAc,CAAC,kBAAkB,IAAI,KAAK,KAAK,iBAAiB;AAAA,UACzF;AACA,mBAAS,wBAAwB,WAAW;AAC1C,gBAAI,OAAO,cAAc,YAAY;AACnC,qBAAO,kBAAkB,SAAS,IAAI,iBAAiB;AAAA,YACzD,WAAW,cAAc,UAAa,cAAc,MAAM;AACxD,kBAAI,WAAW,UAAU;AAEzB,kBAAI,aAAa,wBAAwB;AACvC,uBAAO;AAAA,cACT;AAEA,kBAAI,aAAa,iBAAiB;AAChC,uBAAO;AAAA,cACT;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,qBAAqBD,UAAS,cAAc;AACnD,gBAAId,kBAAiBc,SAAQ;AAE7B,gBAAId,oBAAmB,MAAM;AAM3B,cAAAA,kBAAiB,YAAYc,SAAQ,KAAK,cAAcA,SAAQ,KAAKA,SAAQ,IAAI;AACjF,cAAAd,gBAAe,cAAcc,SAAQ;AACrC,cAAAd,gBAAe,OAAOc,SAAQ;AAC9B,cAAAd,gBAAe,YAAYc,SAAQ;AAEnC;AAEE,gBAAAd,gBAAe,eAAec,SAAQ;AACtC,gBAAAd,gBAAe,cAAcc,SAAQ;AACrC,gBAAAd,gBAAe,kBAAkBc,SAAQ;AAAA,cAC3C;AAEA,cAAAd,gBAAe,YAAYc;AAC3B,cAAAA,SAAQ,YAAYd;AAAA,YACtB,OAAO;AACL,cAAAA,gBAAe,eAAe;AAE9B,cAAAA,gBAAe,OAAOc,SAAQ;AAG9B,cAAAd,gBAAe,QAAQ;AAEvB,cAAAA,gBAAe,eAAe;AAC9B,cAAAA,gBAAe,YAAY;AAE3B;AAKE,gBAAAA,gBAAe,iBAAiB;AAChC,gBAAAA,gBAAe,kBAAkB;AAAA,cACnC;AAAA,YACF;AAIA,YAAAA,gBAAe,QAAQc,SAAQ,QAAQ;AACvC,YAAAd,gBAAe,aAAac,SAAQ;AACpC,YAAAd,gBAAe,QAAQc,SAAQ;AAC/B,YAAAd,gBAAe,QAAQc,SAAQ;AAC/B,YAAAd,gBAAe,gBAAgBc,SAAQ;AACvC,YAAAd,gBAAe,gBAAgBc,SAAQ;AACvC,YAAAd,gBAAe,cAAcc,SAAQ;AAGrC,gBAAI,sBAAsBA,SAAQ;AAClC,YAAAd,gBAAe,eAAe,wBAAwB,OAAO,OAAO;AAAA,cAClE,OAAO,oBAAoB;AAAA,cAC3B,cAAc,oBAAoB;AAAA,YACpC;AAEA,YAAAA,gBAAe,UAAUc,SAAQ;AACjC,YAAAd,gBAAe,QAAQc,SAAQ;AAC/B,YAAAd,gBAAe,MAAMc,SAAQ;AAE7B;AACE,cAAAd,gBAAe,mBAAmBc,SAAQ;AAC1C,cAAAd,gBAAe,mBAAmBc,SAAQ;AAAA,YAC5C;AAEA;AACE,cAAAd,gBAAe,qBAAqBc,SAAQ;AAE5C,sBAAQd,gBAAe,KAAK;AAAA,gBAC1B,KAAK;AAAA,gBACL,KAAK;AAAA,gBACL,KAAK;AACH,kBAAAA,gBAAe,OAAO,+BAA+Bc,SAAQ,IAAI;AACjE;AAAA,gBAEF,KAAK;AACH,kBAAAd,gBAAe,OAAO,4BAA4Bc,SAAQ,IAAI;AAC9D;AAAA,gBAEF,KAAK;AACH,kBAAAd,gBAAe,OAAO,iCAAiCc,SAAQ,IAAI;AACnE;AAAA,cACJ;AAAA,YACF;AAEA,mBAAOd;AAAA,UACT;AAEA,mBAAS,oBAAoBA,iBAAgBiB,cAAa;AASxD,YAAAjB,gBAAe,SAAS,aAAa;AAErC,gBAAIc,WAAUd,gBAAe;AAE7B,gBAAIc,aAAY,MAAM;AAEpB,cAAAd,gBAAe,aAAa;AAC5B,cAAAA,gBAAe,QAAQiB;AACvB,cAAAjB,gBAAe,QAAQ;AACvB,cAAAA,gBAAe,eAAe;AAC9B,cAAAA,gBAAe,gBAAgB;AAC/B,cAAAA,gBAAe,gBAAgB;AAC/B,cAAAA,gBAAe,cAAc;AAC7B,cAAAA,gBAAe,eAAe;AAC9B,cAAAA,gBAAe,YAAY;AAE3B;AAGE,gBAAAA,gBAAe,mBAAmB;AAClC,gBAAAA,gBAAe,mBAAmB;AAAA,cACpC;AAAA,YACF,OAAO;AAEL,cAAAA,gBAAe,aAAac,SAAQ;AACpC,cAAAd,gBAAe,QAAQc,SAAQ;AAC/B,cAAAd,gBAAe,QAAQc,SAAQ;AAC/B,cAAAd,gBAAe,eAAe;AAC9B,cAAAA,gBAAe,YAAY;AAC3B,cAAAA,gBAAe,gBAAgBc,SAAQ;AACvC,cAAAd,gBAAe,gBAAgBc,SAAQ;AACvC,cAAAd,gBAAe,cAAcc,SAAQ;AAErC,cAAAd,gBAAe,OAAOc,SAAQ;AAG9B,kBAAI,sBAAsBA,SAAQ;AAClC,cAAAd,gBAAe,eAAe,wBAAwB,OAAO,OAAO;AAAA,gBAClE,OAAO,oBAAoB;AAAA,gBAC3B,cAAc,oBAAoB;AAAA,cACpC;AAEA;AAGE,gBAAAA,gBAAe,mBAAmBc,SAAQ;AAC1C,gBAAAd,gBAAe,mBAAmBc,SAAQ;AAAA,cAC5C;AAAA,YACF;AAEA,mBAAOd;AAAA,UACT;AACA,mBAAS,oBAAoB,KAAK,cAAc,oCAAoC;AAClF,gBAAI;AAEJ,gBAAI,QAAQ,gBAAgB;AAC1B,qBAAO;AAEP,kBAAI,iBAAiB,MAAM;AACzB,wBAAQ;AAER;AACE,0BAAQ;AAAA,gBACV;AAAA,cACF;AAAA,YACF,OAAO;AACL,qBAAO;AAAA,YACT;AAEA,gBAAK,mBAAmB;AAItB,sBAAQ;AAAA,YACV;AAEA,mBAAO,YAAY,UAAU,MAAM,MAAM,IAAI;AAAA,UAC/C;AACA,mBAAS,4BAA4B,MACrC,KAAK,cAAc,OAAO,MAAM,OAAO;AACrC,gBAAI,WAAW;AAEf,gBAAI,eAAe;AAEnB,gBAAI,OAAO,SAAS,YAAY;AAC9B,kBAAI,kBAAkB,IAAI,GAAG;AAC3B,2BAAW;AAEX;AACE,iCAAe,4BAA4B,YAAY;AAAA,gBACzD;AAAA,cACF,OAAO;AACL;AACE,iCAAe,+BAA+B,YAAY;AAAA,gBAC5D;AAAA,cACF;AAAA,YACF,WAAW,OAAO,SAAS,UAAU;AACnC,yBAAW;AAAA,YACb,OAAO;AACL;AAAQ,wBAAQ,MAAM;AAAA,kBACpB,KAAK;AACH,2BAAO,wBAAwB,aAAa,UAAU,MAAM,OAAO,GAAG;AAAA,kBAExE,KAAK;AACH,+BAAW;AACX,4BAAQ;AAER,yBAAM,OAAO,oBAAoB,QAAQ;AAEvC,8BAAQ;AAAA,oBACV;AAEA;AAAA,kBAEF,KAAK;AACH,2BAAO,wBAAwB,cAAc,MAAM,OAAO,GAAG;AAAA,kBAE/D,KAAK;AACH,2BAAO,wBAAwB,cAAc,MAAM,OAAO,GAAG;AAAA,kBAE/D,KAAK;AACH,2BAAO,4BAA4B,cAAc,MAAM,OAAO,GAAG;AAAA,kBAEnE,KAAK;AACH,2BAAO,yBAAyB,cAAc,MAAM,OAAO,GAAG;AAAA,kBAEhE,KAAK;AAAA,kBAIL,KAAK;AAAA,kBAIL,KAAK;AAAA,kBAIL,KAAK;AAAA,kBAIL,KAAK;AAAA,kBAIL,SACE;AACE,wBAAI,OAAO,SAAS,YAAY,SAAS,MAAM;AAC7C,8BAAQ,KAAK,UAAU;AAAA,wBACrB,KAAK;AACH,qCAAW;AACX,gCAAM;AAAA,wBAER,KAAK;AAEH,qCAAW;AACX,gCAAM;AAAA,wBAER,KAAK;AACH,qCAAW;AAEX;AACE,2CAAe,iCAAiC,YAAY;AAAA,0BAC9D;AAEA,gCAAM;AAAA,wBAER,KAAK;AACH,qCAAW;AACX,gCAAM;AAAA,wBAER,KAAK;AACH,qCAAW;AACX,yCAAe;AACf,gCAAM;AAAA,sBACV;AAAA,oBACF;AAEA,wBAAI,OAAO;AAEX;AACE,0BAAI,SAAS,UAAa,OAAO,SAAS,YAAY,SAAS,QAAQ,OAAO,KAAK,IAAI,EAAE,WAAW,GAAG;AACrG,gCAAQ;AAAA,sBACV;AAEA,0BAAI,YAAY,QAAQ,0BAA0B,KAAK,IAAI;AAE3D,0BAAI,WAAW;AACb,gCAAQ,qCAAqC,YAAY;AAAA,sBAC3D;AAAA,oBACF;AAEA,0BAAM,IAAI,MAAM,0HAA+H,eAAe,QAAQ,OAAO,OAAO,OAAO,QAAQ,MAAM,KAAK;AAAA,kBAChN;AAAA,gBACJ;AAAA,YACF;AAEA,gBAAI,QAAQ,YAAY,UAAU,cAAc,KAAK,IAAI;AACzD,kBAAM,cAAc;AACpB,kBAAM,OAAO;AACb,kBAAM,QAAQ;AAEd;AACE,oBAAM,cAAc;AAAA,YACtB;AAEA,mBAAO;AAAA,UACT;AACA,mBAAS,uBAAuB,SAAS,MAAM,OAAO;AACpD,gBAAI,QAAQ;AAEZ;AACE,sBAAQ,QAAQ;AAAA,YAClB;AAEA,gBAAI,OAAO,QAAQ;AACnB,gBAAI,MAAM,QAAQ;AAClB,gBAAI,eAAe,QAAQ;AAC3B,gBAAI,QAAQ,4BAA4B,MAAM,KAAK,cAAc,OAAO,MAAM,KAAK;AAEnF;AACE,oBAAM,eAAe,QAAQ;AAC7B,oBAAM,cAAc,QAAQ;AAAA,YAC9B;AAEA,mBAAO;AAAA,UACT;AACA,mBAAS,wBAAwB,UAAU,MAAM,OAAO,KAAK;AAC3D,gBAAI,QAAQ,YAAYL,WAAU,UAAU,KAAK,IAAI;AACrD,kBAAM,QAAQ;AACd,mBAAO;AAAA,UACT;AAEA,mBAAS,wBAAwB,cAAc,MAAM,OAAO,KAAK;AAC/D;AACE,kBAAI,OAAO,aAAa,OAAO,UAAU;AACvC,sBAAM,6FAA6F,OAAO,aAAa,EAAE;AAAA,cAC3H;AAAA,YACF;AAEA,gBAAI,QAAQ,YAAY,UAAU,cAAc,KAAK,OAAO,WAAW;AACvE,kBAAM,cAAc;AACpB,kBAAM,QAAQ;AAEd;AACE,oBAAM,YAAY;AAAA,gBAChB,gBAAgB;AAAA,gBAChB,uBAAuB;AAAA,cACzB;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,wBAAwB,cAAc,MAAM,OAAO,KAAK;AAC/D,gBAAI,QAAQ,YAAY,mBAAmB,cAAc,KAAK,IAAI;AAClE,kBAAM,cAAc;AACpB,kBAAM,QAAQ;AACd,mBAAO;AAAA,UACT;AACA,mBAAS,4BAA4B,cAAc,MAAM,OAAO,KAAK;AACnE,gBAAI,QAAQ,YAAY,uBAAuB,cAAc,KAAK,IAAI;AACtE,kBAAM,cAAc;AACpB,kBAAM,QAAQ;AACd,mBAAO;AAAA,UACT;AACA,mBAAS,yBAAyB,cAAc,MAAM,OAAO,KAAK;AAChE,gBAAI,QAAQ,YAAY,oBAAoB,cAAc,KAAK,IAAI;AACnE,kBAAM,cAAc;AACpB,kBAAM,QAAQ;AACd,gBAAI,uBAAuB;AAAA,cACzB,UAAU;AAAA,YACZ;AACA,kBAAM,YAAY;AAClB,mBAAO;AAAA,UACT;AACA,mBAAS,oBAAoB,SAAS,MAAM,OAAO;AACjD,gBAAI,QAAQ,YAAY,UAAU,SAAS,MAAM,IAAI;AACrD,kBAAM,QAAQ;AACd,mBAAO;AAAA,UACT;AACA,mBAAS,yCAAyC;AAChD,gBAAI,QAAQ,YAAY,eAAe,MAAM,MAAM,MAAM;AACzD,kBAAM,cAAc;AACpB,mBAAO;AAAA,UACT;AACA,mBAAS,kCAAkC,gBAAgB;AACzD,gBAAI,QAAQ,YAAY,oBAAoB,MAAM,MAAM,MAAM;AAC9D,kBAAM,YAAY;AAClB,mBAAO;AAAA,UACT;AACA,mBAAS,sBAAsB,QAAQ,MAAM,OAAO;AAClD,gBAAI,eAAe,OAAO,aAAa,OAAO,OAAO,WAAW,CAAC;AACjE,gBAAI,QAAQ,YAAY,YAAY,cAAc,OAAO,KAAK,IAAI;AAClE,kBAAM,QAAQ;AACd,kBAAM,YAAY;AAAA,cAChB,eAAe,OAAO;AAAA,cACtB,iBAAiB;AAAA;AAAA,cAEjB,gBAAgB,OAAO;AAAA,YACzB;AACA,mBAAO;AAAA,UACT;AAEA,mBAAS,2BAA2B,QAAQ,QAAQ;AAClD,gBAAI,WAAW,MAAM;AAGnB,uBAAS,YAAY,wBAAwB,MAAM,MAAM,MAAM;AAAA,YACjE;AAOA,mBAAO,MAAM,OAAO;AACpB,mBAAO,MAAM,OAAO;AACpB,mBAAO,cAAc,OAAO;AAC5B,mBAAO,OAAO,OAAO;AACrB,mBAAO,YAAY,OAAO;AAC1B,mBAAO,SAAS,OAAO;AACvB,mBAAO,QAAQ,OAAO;AACtB,mBAAO,UAAU,OAAO;AACxB,mBAAO,QAAQ,OAAO;AACtB,mBAAO,MAAM,OAAO;AACpB,mBAAO,eAAe,OAAO;AAC7B,mBAAO,gBAAgB,OAAO;AAC9B,mBAAO,cAAc,OAAO;AAC5B,mBAAO,gBAAgB,OAAO;AAC9B,mBAAO,eAAe,OAAO;AAC7B,mBAAO,OAAO,OAAO;AACrB,mBAAO,QAAQ,OAAO;AACtB,mBAAO,eAAe,OAAO;AAC7B,mBAAO,YAAY,OAAO;AAC1B,mBAAO,QAAQ,OAAO;AACtB,mBAAO,aAAa,OAAO;AAC3B,mBAAO,YAAY,OAAO;AAE1B;AACE,qBAAO,iBAAiB,OAAO;AAC/B,qBAAO,kBAAkB,OAAO;AAChC,qBAAO,mBAAmB,OAAO;AACjC,qBAAO,mBAAmB,OAAO;AAAA,YACnC;AAEA,mBAAO,eAAe,OAAO;AAC7B,mBAAO,cAAc,OAAO;AAC5B,mBAAO,qBAAqB,OAAO;AACnC,mBAAO,kBAAkB,OAAO;AAChC,mBAAO;AAAA,UACT;AAEA,mBAAS,cAAc,eAAe,KAAK2C,UAAS,kBAAkB,oBAAoB;AACxF,iBAAK,MAAM;AACX,iBAAK,gBAAgB;AACrB,iBAAK,kBAAkB;AACvB,iBAAK,UAAU;AACf,iBAAK,YAAY;AACjB,iBAAK,eAAe;AACpB,iBAAK,gBAAgB;AACrB,iBAAK,UAAU;AACf,iBAAK,iBAAiB;AACtB,iBAAK,eAAe;AACpB,iBAAK,mBAAmB;AACxB,iBAAK,aAAa,cAAc,OAAO;AACvC,iBAAK,kBAAkB,cAAc,WAAW;AAChD,iBAAK,eAAe;AACpB,iBAAK,iBAAiB;AACtB,iBAAK,cAAc;AACnB,iBAAK,eAAe;AACpB,iBAAK,mBAAmB;AACxB,iBAAK,gBAAgB;AACrB,iBAAK,iBAAiB;AACtB,iBAAK,gBAAgB,cAAc,OAAO;AAC1C,iBAAK,mBAAmB;AACxB,iBAAK,qBAAqB;AAE1B;AACE,mBAAK,kCAAkC;AAAA,YACzC;AAEA;AACE,mBAAK,iBAAiB;AACtB,mBAAK,wBAAwB;AAAA,YAC/B;AAEA;AACE,mBAAK,mBAAmB,oBAAI,IAAI;AAChC,kBAAI,yBAAyB,KAAK,yBAAyB,CAAC;AAE5D,uBAAS,KAAK,GAAG,KAAK,YAAY,MAAM;AACtC,uCAAuB,KAAK,oBAAI,IAAI,CAAC;AAAA,cACvC;AAAA,YACF;AAEA;AACE,sBAAQ,KAAK;AAAA,gBACX,KAAK;AACH,uBAAK,iBAAiBA,WAAU,kBAAkB;AAClD;AAAA,gBAEF,KAAK;AACH,uBAAK,iBAAiBA,WAAU,cAAc;AAC9C;AAAA,cACJ;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,gBAAgB,eAAe,KAAKA,UAAS,iBAAiB,oBAAoB,cAAc,oCAIzG,kBAAkB,oBAAoB,qBAAqB;AACzD,gBAAIvB,QAAO,IAAI,cAAc,eAAe,KAAKuB,UAAS,kBAAkB,kBAAkB;AAI9F,gBAAI,qBAAqB,oBAAoB,KAAK,YAAY;AAC9D,YAAAvB,MAAK,UAAU;AACf,+BAAmB,YAAYA;AAE/B;AACE,kBAAI,gBAAgB;AAAA,gBAClB,SAAS;AAAA,gBACT,cAAcuB;AAAA,gBACd,OAAO;AAAA;AAAA,gBAEP,aAAa;AAAA,gBACb,2BAA2B;AAAA,cAC7B;AACA,iCAAmB,gBAAgB;AAAA,YACrC;AAEA,kCAAsB,kBAAkB;AACxC,mBAAOvB;AAAA,UACT;AAEA,cAAI,eAAe;AAEnB,mBAAS,aAAa,UAAU,eAChC,gBAAgB;AACd,gBAAI,MAAM,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI;AAE9E;AACE,qCAAuB,GAAG;AAAA,YAC5B;AAEA,mBAAO;AAAA;AAAA,cAEL,UAAU;AAAA,cACV,KAAK,OAAO,OAAO,OAAO,KAAK;AAAA,cAC/B;AAAA,cACA;AAAA,cACA;AAAA,YACF;AAAA,UACF;AAEA,cAAI;AACJ,cAAI;AAEJ;AACE,wCAA4B;AAC5B,+CAAmC,CAAC;AAAA,UACtC;AAEA,mBAAS,qBAAqB,iBAAiB;AAC7C,gBAAI,CAAC,iBAAiB;AACpB,qBAAO;AAAA,YACT;AAEA,gBAAI,QAAQ,IAAI,eAAe;AAC/B,gBAAI,gBAAgB,2BAA2B,KAAK;AAEpD,gBAAI,MAAM,QAAQ,gBAAgB;AAChC,kBAAI,YAAY,MAAM;AAEtB,kBAAI,kBAAkB,SAAS,GAAG;AAChC,uBAAO,oBAAoB,OAAO,WAAW,aAAa;AAAA,cAC5D;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,4BAA4B,WAAW,YAAY;AAC1D;AACE,kBAAI,QAAQ,IAAI,SAAS;AAEzB,kBAAI,UAAU,QAAW;AACvB,oBAAI,OAAO,UAAU,WAAW,YAAY;AAC1C,wBAAM,IAAI,MAAM,gDAAgD;AAAA,gBAClE,OAAO;AACL,sBAAI,OAAO,OAAO,KAAK,SAAS,EAAE,KAAK,GAAG;AAC1C,wBAAM,IAAI,MAAM,wDAAwD,IAAI;AAAA,gBAC9E;AAAA,cACF;AAEA,kBAAI,YAAY,qBAAqB,KAAK;AAE1C,kBAAI,cAAc,MAAM;AACtB,uBAAO;AAAA,cACT;AAEA,kBAAI,UAAU,OAAO,kBAAkB;AACrC,oBAAI,gBAAgB,0BAA0B,KAAK,KAAK;AAExD,oBAAI,CAAC,iCAAiC,aAAa,GAAG;AACpD,mDAAiC,aAAa,IAAI;AAClD,sBAAI,gBAAgB;AAEpB,sBAAI;AACF,oCAAgB,SAAS;AAEzB,wBAAI,MAAM,OAAO,kBAAkB;AACjC,4BAAM,yPAA6Q,YAAY,YAAY,aAAa;AAAA,oBAC1T,OAAO;AACL,4BAAM,gQAAoR,YAAY,YAAY,aAAa;AAAA,oBACjU;AAAA,kBACF,UAAE;AAGA,wBAAI,eAAe;AACjB,sCAAgB,aAAa;AAAA,oBAC/B,OAAO;AACL,wCAAkB;AAAA,oBACpB;AAAA,kBACF;AAAA,gBACF;AAAA,cACF;AAEA,qBAAO,UAAU;AAAA,YACnB;AAAA,UACF;AAEA,mBAAS,gBAAgB,eAAe,KAAK,oBAAoB,cAAc,oCAAoC,kBAAkB,oBAAoB,qBAAqB;AAC5K,gBAAIuB,WAAU;AACd,gBAAI,kBAAkB;AACtB,mBAAO,gBAAgB,eAAe,KAAKA,UAAS,iBAAiB,oBAAoB,cAAc,oCAAoC,kBAAkB,kBAAkB;AAAA,UACjL;AACA,mBAAS,yBAAyB,iBAClC,UAAU,eAAe,KAAK,oBAAoB,cAAc,oCAAoC,kBAAkB,oBAAoB,qBAAqB;AAC7J,gBAAIA,WAAU;AACd,gBAAIvB,QAAO,gBAAgB,eAAe,KAAKuB,UAAS,iBAAiB,oBAAoB,cAAc,oCAAoC,kBAAkB,kBAAkB;AAEnL,YAAAvB,MAAK,UAAU,qBAAqB,IAAI;AAOxC,gBAAID,WAAUC,MAAK;AACnB,gBAAI,YAAY,iBAAiB;AACjC,gBAAI,OAAO,kBAAkBD,QAAO;AACpC,gBAAI,SAAS,aAAa,WAAW,IAAI;AACzC,mBAAO,WAAW,aAAa,UAAa,aAAa,OAAO,WAAW;AAC3E,0BAAcA,UAAS,QAAQ,IAAI;AACnC,2CAA+BC,OAAM,MAAM,SAAS;AACpD,mBAAOA;AAAA,UACT;AACA,mBAAS,gBAAgB,SAAS,WAAW,iBAAiB,UAAU;AACtE;AACE,6BAAe,WAAW,OAAO;AAAA,YACnC;AAEA,gBAAI,YAAY,UAAU;AAC1B,gBAAI,YAAY,iBAAiB;AACjC,gBAAI,OAAO,kBAAkB,SAAS;AAEtC;AACE,kCAAoB,IAAI;AAAA,YAC1B;AAEA,gBAAI,UAAU,qBAAqB,eAAe;AAElD,gBAAI,UAAU,YAAY,MAAM;AAC9B,wBAAU,UAAU;AAAA,YACtB,OAAO;AACL,wBAAU,iBAAiB;AAAA,YAC7B;AAEA;AACE,kBAAI,eAAe,YAAY,QAAQ,CAAC,2BAA2B;AACjE,4CAA4B;AAE5B,sBAAM,8NAA6O,0BAA0B,OAAO,KAAK,SAAS;AAAA,cACpS;AAAA,YACF;AAEA,gBAAI,SAAS,aAAa,WAAW,IAAI;AAGzC,mBAAO,UAAU;AAAA,cACf;AAAA,YACF;AACA,uBAAW,aAAa,SAAY,OAAO;AAE3C,gBAAI,aAAa,MAAM;AACrB;AACE,oBAAI,OAAO,aAAa,YAAY;AAClC,wBAAM,uGAA4G,QAAQ;AAAA,gBAC5H;AAAA,cACF;AAEA,qBAAO,WAAW;AAAA,YACpB;AAEA,gBAAIA,QAAO,cAAc,WAAW,QAAQ,IAAI;AAEhD,gBAAIA,UAAS,MAAM;AACjB,oCAAsBA,OAAM,WAAW,MAAM,SAAS;AACtD,kCAAoBA,OAAM,WAAW,IAAI;AAAA,YAC3C;AAEA,mBAAO;AAAA,UACT;AACA,mBAAS,sBAAsB,WAAW;AACxC,gBAAI,iBAAiB,UAAU;AAE/B,gBAAI,CAAC,eAAe,OAAO;AACzB,qBAAO;AAAA,YACT;AAEA,oBAAQ,eAAe,MAAM,KAAK;AAAA,cAChC,KAAK;AACH,uBAAO,kBAAkB,eAAe,MAAM,SAAS;AAAA,cAEzD;AACE,uBAAO,eAAe,MAAM;AAAA,YAChC;AAAA,UACF;AACA,mBAAS,8BAA8B,OAAO;AAC5C,oBAAQ,MAAM,KAAK;AAAA,cACjB,KAAK,UACH;AACE,oBAAIA,QAAO,MAAM;AAEjB,oBAAI,iBAAiBA,KAAI,GAAG;AAE1B,sBAAI,QAAQ,+BAA+BA,KAAI;AAC/C,4BAAUA,OAAM,KAAK;AAAA,gBACvB;AAEA;AAAA,cACF;AAAA,cAEF,KAAK,mBACH;AACE,0BAAU,WAAY;AACpB,sBAAIA,QAAO,+BAA+B,OAAO,QAAQ;AAEzD,sBAAIA,UAAS,MAAM;AACjB,wBAAI,YAAY,iBAAiB;AACjC,0CAAsBA,OAAM,OAAO,UAAU,SAAS;AAAA,kBACxD;AAAA,gBACF,CAAC;AAID,oBAAI,YAAY;AAChB,2CAA2B,OAAO,SAAS;AAC3C;AAAA,cACF;AAAA,YACJ;AAAA,UACF;AAEA,mBAAS,kBAAkB,OAAO,WAAW;AAC3C,gBAAI,gBAAgB,MAAM;AAE1B,gBAAI,kBAAkB,QAAQ,cAAc,eAAe,MAAM;AAC/D,4BAAc,YAAY,mBAAmB,cAAc,WAAW,SAAS;AAAA,YACjF;AAAA,UACF;AAGA,mBAAS,2BAA2B,OAAO,WAAW;AACpD,8BAAkB,OAAO,SAAS;AAClC,gBAAI,YAAY,MAAM;AAEtB,gBAAI,WAAW;AACb,gCAAkB,WAAW,SAAS;AAAA,YACxC;AAAA,UACF;AACA,mBAAS,6BAA6B,OAAO;AAC3C,gBAAI,MAAM,QAAQ,mBAAmB;AAKnC;AAAA,YACF;AAEA,gBAAI,OAAO;AACX,gBAAIA,QAAO,+BAA+B,OAAO,IAAI;AAErD,gBAAIA,UAAS,MAAM;AACjB,kBAAI,YAAY,iBAAiB;AACjC,oCAAsBA,OAAM,OAAO,MAAM,SAAS;AAAA,YACpD;AAEA,uCAA2B,OAAO,IAAI;AAAA,UACxC;AACA,mBAAS,oCAAoC,OAAO;AAClD,gBAAI,MAAM,QAAQ,mBAAmB;AAGnC;AAAA,YACF;AAEA,gBAAI,OAAO,kBAAkB,KAAK;AAClC,gBAAIA,QAAO,+BAA+B,OAAO,IAAI;AAErD,gBAAIA,UAAS,MAAM;AACjB,kBAAI,YAAY,iBAAiB;AACjC,oCAAsBA,OAAM,OAAO,MAAM,SAAS;AAAA,YACpD;AAEA,uCAA2B,OAAO,IAAI;AAAA,UACxC;AACA,mBAAS,8BAA8B,OAAO;AAC5C,gBAAI,YAAY,kCAAkC,KAAK;AAEvD,gBAAI,cAAc,MAAM;AACtB,qBAAO;AAAA,YACT;AAEA,mBAAO,UAAU;AAAA,UACnB;AAEA,cAAI,kBAAkB,SAAU,OAAO;AACrC,mBAAO;AAAA,UACT;AAEA,mBAAS,YAAY,OAAO;AAC1B,mBAAO,gBAAgB,KAAK;AAAA,UAC9B;AAEA,cAAI,oBAAoB,SAAU,OAAO;AACvC,mBAAO;AAAA,UACT;AAEA,mBAAS,cAAc,OAAO;AAC5B,mBAAO,kBAAkB,KAAK;AAAA,UAChC;AACA,cAAI,oBAAoB;AACxB,cAAI,8BAA8B;AAClC,cAAI,8BAA8B;AAClC,cAAI,gBAAgB;AACpB,cAAI,0BAA0B;AAC9B,cAAI,0BAA0B;AAC9B,cAAI,iBAAiB;AACrB,cAAI,kBAAkB;AACtB,cAAI,qBAAqB;AAEzB;AACE,gBAAI,qBAAqB,SAAU,KAAK,MAAMC,QAAO;AACnD,kBAAI,MAAM,KAAKA,MAAK;AACpB,kBAAI,UAAU,QAAQ,GAAG,IAAI,IAAI,MAAM,IAAIjB,QAAO,CAAC,GAAG,GAAG;AAEzD,kBAAIiB,SAAQ,MAAM,KAAK,QAAQ;AAC7B,oBAAI,QAAQ,OAAO,GAAG;AACpB,0BAAQ,OAAO,KAAK,CAAC;AAAA,gBACvB,OAAO;AACL,yBAAO,QAAQ,GAAG;AAAA,gBACpB;AAEA,uBAAO;AAAA,cACT;AAGA,sBAAQ,GAAG,IAAI,mBAAmB,IAAI,GAAG,GAAG,MAAMA,SAAQ,CAAC;AAC3D,qBAAO;AAAA,YACT;AAEA,gBAAI,iBAAiB,SAAU,KAAK,MAAM;AACxC,qBAAO,mBAAmB,KAAK,MAAM,CAAC;AAAA,YACxC;AAEA,gBAAI,qBAAqB,SAAU,KAAK,SAAS,SAASA,QAAO;AAC/D,kBAAI,SAAS,QAAQA,MAAK;AAC1B,kBAAI,UAAU,QAAQ,GAAG,IAAI,IAAI,MAAM,IAAIjB,QAAO,CAAC,GAAG,GAAG;AAEzD,kBAAIiB,SAAQ,MAAM,QAAQ,QAAQ;AAChC,oBAAI,SAAS,QAAQA,MAAK;AAE1B,wBAAQ,MAAM,IAAI,QAAQ,MAAM;AAEhC,oBAAI,QAAQ,OAAO,GAAG;AACpB,0BAAQ,OAAO,QAAQ,CAAC;AAAA,gBAC1B,OAAO;AACL,yBAAO,QAAQ,MAAM;AAAA,gBACvB;AAAA,cACF,OAAO;AAEL,wBAAQ,MAAM,IAAI;AAAA;AAAA,kBAClB,IAAI,MAAM;AAAA,kBAAG;AAAA,kBAAS;AAAA,kBAASA,SAAQ;AAAA,gBAAC;AAAA,cAC1C;AAEA,qBAAO;AAAA,YACT;AAEA,gBAAI,iBAAiB,SAAU,KAAK,SAAS,SAAS;AACpD,kBAAI,QAAQ,WAAW,QAAQ,QAAQ;AACrC,gBAAAxB,MAAK,mDAAmD;AAExD;AAAA,cACF,OAAO;AACL,yBAAS,IAAI,GAAG,IAAI,QAAQ,SAAS,GAAG,KAAK;AAC3C,sBAAI,QAAQ,CAAC,MAAM,QAAQ,CAAC,GAAG;AAC7B,oBAAAA,MAAK,0EAA0E;AAE/E;AAAA,kBACF;AAAA,gBACF;AAAA,cACF;AAEA,qBAAO,mBAAmB,KAAK,SAAS,SAAS,CAAC;AAAA,YACpD;AAEA,gBAAI,kBAAkB,SAAU,KAAK,MAAMwB,QAAO,OAAO;AACvD,kBAAIA,UAAS,KAAK,QAAQ;AACxB,uBAAO;AAAA,cACT;AAEA,kBAAI,MAAM,KAAKA,MAAK;AACpB,kBAAI,UAAU,QAAQ,GAAG,IAAI,IAAI,MAAM,IAAIjB,QAAO,CAAC,GAAG,GAAG;AAEzD,sBAAQ,GAAG,IAAI,gBAAgB,IAAI,GAAG,GAAG,MAAMiB,SAAQ,GAAG,KAAK;AAC/D,qBAAO;AAAA,YACT;AAEA,gBAAI,cAAc,SAAU,KAAK,MAAM,OAAO;AAC5C,qBAAO,gBAAgB,KAAK,MAAM,GAAG,KAAK;AAAA,YAC5C;AAEA,gBAAI,WAAW,SAAU,OAAO,IAAI;AAGlC,kBAAIuB,eAAc,MAAM;AAExB,qBAAOA,iBAAgB,QAAQ,KAAK,GAAG;AACrC,gBAAAA,eAAcA,aAAY;AAC1B;AAAA,cACF;AAEA,qBAAOA;AAAA,YACT;AAGA,gCAAoB,SAAU,OAAO,IAAI,MAAM,OAAO;AACpD,kBAAI,OAAO,SAAS,OAAO,EAAE;AAE7B,kBAAI,SAAS,MAAM;AACjB,oBAAI,WAAW,YAAY,KAAK,eAAe,MAAM,KAAK;AAC1D,qBAAK,gBAAgB;AACrB,qBAAK,YAAY;AAMjB,sBAAM,gBAAgBxC,QAAO,CAAC,GAAG,MAAM,aAAa;AACpD,oBAAIgB,QAAO,+BAA+B,OAAO,QAAQ;AAEzD,oBAAIA,UAAS,MAAM;AACjB,wCAAsBA,OAAM,OAAO,UAAU,WAAW;AAAA,gBAC1D;AAAA,cACF;AAAA,YACF;AAEA,0CAA8B,SAAU,OAAO,IAAI,MAAM;AACvD,kBAAI,OAAO,SAAS,OAAO,EAAE;AAE7B,kBAAI,SAAS,MAAM;AACjB,oBAAI,WAAW,eAAe,KAAK,eAAe,IAAI;AACtD,qBAAK,gBAAgB;AACrB,qBAAK,YAAY;AAMjB,sBAAM,gBAAgBhB,QAAO,CAAC,GAAG,MAAM,aAAa;AACpD,oBAAIgB,QAAO,+BAA+B,OAAO,QAAQ;AAEzD,oBAAIA,UAAS,MAAM;AACjB,wCAAsBA,OAAM,OAAO,UAAU,WAAW;AAAA,gBAC1D;AAAA,cACF;AAAA,YACF;AAEA,0CAA8B,SAAU,OAAO,IAAI,SAAS,SAAS;AACnE,kBAAI,OAAO,SAAS,OAAO,EAAE;AAE7B,kBAAI,SAAS,MAAM;AACjB,oBAAI,WAAW,eAAe,KAAK,eAAe,SAAS,OAAO;AAClE,qBAAK,gBAAgB;AACrB,qBAAK,YAAY;AAMjB,sBAAM,gBAAgBhB,QAAO,CAAC,GAAG,MAAM,aAAa;AACpD,oBAAIgB,QAAO,+BAA+B,OAAO,QAAQ;AAEzD,oBAAIA,UAAS,MAAM;AACjB,wCAAsBA,OAAM,OAAO,UAAU,WAAW;AAAA,gBAC1D;AAAA,cACF;AAAA,YACF;AAGA,4BAAgB,SAAU,OAAO,MAAM,OAAO;AAC5C,oBAAM,eAAe,YAAY,MAAM,eAAe,MAAM,KAAK;AAEjE,kBAAI,MAAM,WAAW;AACnB,sBAAM,UAAU,eAAe,MAAM;AAAA,cACvC;AAEA,kBAAIA,QAAO,+BAA+B,OAAO,QAAQ;AAEzD,kBAAIA,UAAS,MAAM;AACjB,sCAAsBA,OAAM,OAAO,UAAU,WAAW;AAAA,cAC1D;AAAA,YACF;AAEA,sCAA0B,SAAU,OAAO,MAAM;AAC/C,oBAAM,eAAe,eAAe,MAAM,eAAe,IAAI;AAE7D,kBAAI,MAAM,WAAW;AACnB,sBAAM,UAAU,eAAe,MAAM;AAAA,cACvC;AAEA,kBAAIA,QAAO,+BAA+B,OAAO,QAAQ;AAEzD,kBAAIA,UAAS,MAAM;AACjB,sCAAsBA,OAAM,OAAO,UAAU,WAAW;AAAA,cAC1D;AAAA,YACF;AAEA,sCAA0B,SAAU,OAAO,SAAS,SAAS;AAC3D,oBAAM,eAAe,eAAe,MAAM,eAAe,SAAS,OAAO;AAEzE,kBAAI,MAAM,WAAW;AACnB,sBAAM,UAAU,eAAe,MAAM;AAAA,cACvC;AAEA,kBAAIA,QAAO,+BAA+B,OAAO,QAAQ;AAEzD,kBAAIA,UAAS,MAAM;AACjB,sCAAsBA,OAAM,OAAO,UAAU,WAAW;AAAA,cAC1D;AAAA,YACF;AAEA,6BAAiB,SAAU,OAAO;AAChC,kBAAIA,QAAO,+BAA+B,OAAO,QAAQ;AAEzD,kBAAIA,UAAS,MAAM;AACjB,sCAAsBA,OAAM,OAAO,UAAU,WAAW;AAAA,cAC1D;AAAA,YACF;AAEA,8BAAkB,SAAU,oBAAoB;AAC9C,gCAAkB;AAAA,YACpB;AAEA,iCAAqB,SAAU,sBAAsB;AACnD,kCAAoB;AAAA,YACtB;AAAA,UACF;AAEA,mBAAS,wBAAwB,OAAO;AACtC,gBAAI,YAAY,qBAAqB,KAAK;AAE1C,gBAAI,cAAc,MAAM;AACtB,qBAAO;AAAA,YACT;AAEA,mBAAO,UAAU;AAAA,UACnB;AAEA,mBAAS,6BAA6B,UAAU;AAC9C,mBAAO;AAAA,UACT;AAEA,mBAAS,6BAA6B;AACpC,mBAAO;AAAA,UACT;AAEA,mBAAS,mBAAmB,gBAAgB;AAC1C,gBAAI,0BAA0B,eAAe;AAC7C,gBAAIyB,0BAAyB,qBAAqB;AAClD,mBAAO,gBAAgB;AAAA,cACrB,YAAY,eAAe;AAAA,cAC3B,SAAS,eAAe;AAAA,cACxB,qBAAqB,eAAe;AAAA,cACpC,gBAAgB,eAAe;AAAA,cAC/B;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA,sBAAsBA;AAAA,cACtB;AAAA,cACA,yBAAyB,2BAA2B;AAAA;AAAA,cAEpD;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA;AAAA,cAEA,iBAAkB;AAAA;AAAA;AAAA,cAGlB,mBAAmB;AAAA,YACrB,CAAC;AAAA,UACH;AAIA,cAAI,4BAA4B,OAAO,gBAAgB;AAAA;AAAA;AAAA,YAEvD;AAAA,cAAc,SAAU5B,QAAO;AAG7B,oBAAQ,OAAO,EAAEA,MAAK;AAAA,UACxB;AAEA,mBAAS,aAAa,cAAc;AAClC,iBAAK,gBAAgB;AAAA,UACvB;AAEA,gCAAsB,UAAU,SAAS,aAAa,UAAU,SAAS,SAAU,UAAU;AAC3F,gBAAIG,QAAO,KAAK;AAEhB,gBAAIA,UAAS,MAAM;AACjB,oBAAM,IAAI,MAAM,kCAAkC;AAAA,YACpD;AAEA;AACE,kBAAI,OAAO,UAAU,CAAC,MAAM,YAAY;AACtC,sBAAM,wJAA6J;AAAA,cACrK,WAAW,iBAAiB,UAAU,CAAC,CAAC,GAAG;AACzC,sBAAM,oJAAyJ;AAAA,cACjK,WAAW,OAAO,UAAU,CAAC,MAAM,aAAa;AAC9C,sBAAM,oFAAyF;AAAA,cACjG;AAEA,kBAAI,YAAYA,MAAK;AAErB,kBAAI,UAAU,aAAa,cAAc;AACvC,oBAAI,eAAe,8BAA8BA,MAAK,OAAO;AAE7D,oBAAI,cAAc;AAChB,sBAAI,aAAa,eAAe,WAAW;AACzC,0BAAM,qNAAoO;AAAA,kBAC5O;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAEA,4BAAgB,UAAUA,OAAM,MAAM,IAAI;AAAA,UAC5C;AAEA,gCAAsB,UAAU,UAAU,aAAa,UAAU,UAAU,WAAY;AACrF;AACE,kBAAI,OAAO,UAAU,CAAC,MAAM,YAAY;AACtC,sBAAM,gJAAqJ;AAAA,cAC7J;AAAA,YACF;AAEA,gBAAIA,QAAO,KAAK;AAEhB,gBAAIA,UAAS,MAAM;AACjB,mBAAK,gBAAgB;AACrB,kBAAI,YAAYA,MAAK;AAErB;AACE,oBAAI,mBAAmB,GAAG;AACxB,wBAAM,kMAA4M;AAAA,gBACpN;AAAA,cACF;AAEA,wBAAU,WAAY;AACpB,gCAAgB,MAAMA,OAAM,MAAM,IAAI;AAAA,cACxC,CAAC;AACD,oCAAsB,SAAS;AAAA,YACjC;AAAA,UACF;AAEA,mBAAS,WAAW,WAAWV,UAAS;AACtC,gBAAI,CAAC,iBAAiB,SAAS,GAAG;AAChC,oBAAM,IAAI,MAAM,yDAAyD;AAAA,YAC3E;AAEA,yCAA6B,SAAS;AACtC,gBAAI,eAAe;AACnB,gBAAI,qCAAqC;AACzC,gBAAI,mBAAmB;AACvB,gBAAI,qBAAqB;AACzB,gBAAI,sBAAsB;AAE1B,gBAAIA,aAAY,QAAQA,aAAY,QAAW;AAC7C;AACE,oBAAIA,SAAQ,SAAS;AACnB,kBAAAb,MAAK,uGAAuG;AAAA,gBAC9G,OAAO;AACL,sBAAI,OAAOa,aAAY,YAAYA,aAAY,QAAQA,SAAQ,aAAa,oBAAoB;AAC9F,0BAAM,2KAA+L;AAAA,kBACvM;AAAA,gBACF;AAAA,cACF;AAEA,kBAAIA,SAAQ,wBAAwB,MAAM;AACxC,+BAAe;AAAA,cACjB;AAEA,kBAAIA,SAAQ,qBAAqB,QAAW;AAC1C,mCAAmBA,SAAQ;AAAA,cAC7B;AAEA,kBAAIA,SAAQ,uBAAuB,QAAW;AAC5C,qCAAqBA,SAAQ;AAAA,cAC/B;AAEA,kBAAIA,SAAQ,wBAAwB,QAAW;AAC7C,sCAAsBA,SAAQ;AAAA,cAChC;AAAA,YACF;AAEA,gBAAIU,QAAO,gBAAgB,WAAW,gBAAgB,MAAM,cAAc,oCAAoC,kBAAkB,kBAAkB;AAClJ,gCAAoBA,MAAK,SAAS,SAAS;AAC3C,gBAAI,uBAAuB,UAAU,aAAa,eAAe,UAAU,aAAa;AACxF,uCAA2B,oBAAoB;AAC/C,mBAAO,IAAI,aAAaA,KAAI;AAAA,UAC9B;AAEA,mBAAS,sBAAsB,cAAc;AAC3C,iBAAK,gBAAgB;AAAA,UACvB;AAEA,mBAAS,kBAAkB,QAAQ;AACjC,gBAAI,QAAQ;AACV,2CAA6B,MAAM;AAAA,YACrC;AAAA,UACF;AAEA,gCAAsB,UAAU,6BAA6B;AAC7D,mBAAS,YAAY,WAAW,iBAAiBV,UAAS;AACxD,gBAAI,CAAC,iBAAiB,SAAS,GAAG;AAChC,oBAAM,IAAI,MAAM,0DAA0D;AAAA,YAC5E;AAEA,yCAA6B,SAAS;AAEtC;AACE,kBAAI,oBAAoB,QAAW;AACjC,sBAAM,oHAAyH;AAAA,cACjI;AAAA,YACF;AAIA,gBAAI,qBAAqBA,YAAW,OAAOA,WAAU;AAErD,gBAAI,iBAAiBA,YAAW,QAAQA,SAAQ,mBAAmB;AACnE,gBAAI,eAAe;AACnB,gBAAI,qCAAqC;AACzC,gBAAI,mBAAmB;AACvB,gBAAI,qBAAqB;AAEzB,gBAAIA,aAAY,QAAQA,aAAY,QAAW;AAC7C,kBAAIA,SAAQ,wBAAwB,MAAM;AACxC,+BAAe;AAAA,cACjB;AAEA,kBAAIA,SAAQ,qBAAqB,QAAW;AAC1C,mCAAmBA,SAAQ;AAAA,cAC7B;AAEA,kBAAIA,SAAQ,uBAAuB,QAAW;AAC5C,qCAAqBA,SAAQ;AAAA,cAC/B;AAAA,YACF;AAEA,gBAAIU,QAAO,yBAAyB,iBAAiB,MAAM,WAAW,gBAAgB,oBAAoB,cAAc,oCAAoC,kBAAkB,kBAAkB;AAChM,gCAAoBA,MAAK,SAAS,SAAS;AAE3C,uCAA2B,SAAS;AAEpC,gBAAI,gBAAgB;AAClB,uBAAS,IAAI,GAAG,IAAI,eAAe,QAAQ,KAAK;AAC9C,oBAAI,gBAAgB,eAAe,CAAC;AACpC,kDAAkCA,OAAM,aAAa;AAAA,cACvD;AAAA,YACF;AAEA,mBAAO,IAAI,sBAAsBA,KAAI;AAAA,UACvC;AACA,mBAAS,iBAAiB,MAAM;AAC9B,mBAAO,CAAC,EAAE,SAAS,KAAK,aAAa,gBAAgB,KAAK,aAAa,iBAAiB,KAAK,aAAa,0BAA0B,CAAC;AAAA,UACvI;AAGA,mBAAS,uBAAuB,MAAM;AACpC,mBAAO,CAAC,EAAE,SAAS,KAAK,aAAa,gBAAgB,KAAK,aAAa,iBAAiB,KAAK,aAAa,0BAA0B,KAAK,aAAa,gBAAgB,KAAK,cAAc;AAAA,UAC3L;AAEA,mBAAS,6BAA6B,WAAW;AAC/C;AACE,kBAAI,UAAU,aAAa,gBAAgB,UAAU,WAAW,UAAU,QAAQ,YAAY,MAAM,QAAQ;AAC1G,sBAAM,qQAAyR;AAAA,cACjS;AAEA,kBAAI,wBAAwB,SAAS,GAAG;AACtC,oBAAI,UAAU,qBAAqB;AACjC,wBAAM,oIAAyI;AAAA,gBACjJ,OAAO;AACL,wBAAM,oMAA8M;AAAA,gBACtN;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,cAAI,sBAAsB,qBAAqB;AAC/C,cAAI;AAEJ;AACE,qCAAyB,SAAU,WAAW;AAC5C,kBAAI,UAAU,uBAAuB,UAAU,aAAa,cAAc;AACxE,oBAAI,eAAe,8BAA8B,UAAU,oBAAoB,OAAO;AAEtF,oBAAI,cAAc;AAChB,sBAAI,aAAa,eAAe,WAAW;AACzC,0BAAM,2NAA0O;AAAA,kBAClP;AAAA,gBACF;AAAA,cACF;AAEA,kBAAI,4BAA4B,CAAC,CAAC,UAAU;AAC5C,kBAAI,SAAS,+BAA+B,SAAS;AACrD,kBAAI,uBAAuB,CAAC,EAAE,UAAU,oBAAoB,MAAM;AAElE,kBAAI,wBAAwB,CAAC,2BAA2B;AACtD,sBAAM,mQAAkR;AAAA,cAC1R;AAEA,kBAAI,UAAU,aAAa,gBAAgB,UAAU,WAAW,UAAU,QAAQ,YAAY,MAAM,QAAQ;AAC1G,sBAAM,gRAAoS;AAAA,cAC5S;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,+BAA+B,WAAW;AACjD,gBAAI,CAAC,WAAW;AACd,qBAAO;AAAA,YACT;AAEA,gBAAI,UAAU,aAAa,eAAe;AACxC,qBAAO,UAAU;AAAA,YACnB,OAAO;AACL,qBAAO,UAAU;AAAA,YACnB;AAAA,UACF;AAEA,mBAAS,yBAAyB;AAAA,UAElC;AAEA,mBAAS,iCAAiC,WAAW,iBAAiB,iBAAiB,UAAU,sBAAsB;AACrH,gBAAI,sBAAsB;AACxB,kBAAI,OAAO,aAAa,YAAY;AAClC,oBAAI,mBAAmB;AAEvB,2BAAW,WAAY;AACrB,sBAAI,WAAW,sBAAsBA,KAAI;AACzC,mCAAiB,KAAK,QAAQ;AAAA,gBAChC;AAAA,cACF;AAEA,kBAAIA,QAAO;AAAA,gBAAyB;AAAA,gBAAiB;AAAA,gBAAU;AAAA,gBAAW;AAAA,gBAAY;AAAA;AAAA,gBACtF;AAAA;AAAA,gBACA;AAAA;AAAA,gBACA;AAAA;AAAA,gBACA;AAAA,cAAsB;AACtB,wBAAU,sBAAsBA;AAChC,kCAAoBA,MAAK,SAAS,SAAS;AAC3C,kBAAI,uBAAuB,UAAU,aAAa,eAAe,UAAU,aAAa;AACxF,yCAA2B,oBAAoB;AAC/C,wBAAU;AACV,qBAAOA;AAAA,YACT,OAAO;AAEL,kBAAI;AAEJ,qBAAO,cAAc,UAAU,WAAW;AACxC,0BAAU,YAAY,WAAW;AAAA,cACnC;AAEA,kBAAI,OAAO,aAAa,YAAY;AAClC,oBAAI,oBAAoB;AAExB,2BAAW,WAAY;AACrB,sBAAI,WAAW,sBAAsBsB,MAAK;AAE1C,oCAAkB,KAAK,QAAQ;AAAA,gBACjC;AAAA,cACF;AAEA,kBAAIA,SAAQ;AAAA,gBAAgB;AAAA,gBAAW;AAAA,gBAAY;AAAA;AAAA,gBACnD;AAAA;AAAA,gBACA;AAAA;AAAA,gBACA;AAAA;AAAA,gBACA;AAAA,cAAsB;AAEtB,wBAAU,sBAAsBA;AAChC,kCAAoBA,OAAM,SAAS,SAAS;AAE5C,kBAAI,wBAAwB,UAAU,aAAa,eAAe,UAAU,aAAa;AAEzF,yCAA2B,qBAAqB;AAEhD,wBAAU,WAAY;AACpB,gCAAgB,iBAAiBA,QAAO,iBAAiB,QAAQ;AAAA,cACnE,CAAC;AACD,qBAAOA;AAAA,YACT;AAAA,UACF;AAEA,mBAAS,wBAAwB,UAAU,YAAY;AACrD;AACE,kBAAI,aAAa,QAAQ,OAAO,aAAa,YAAY;AACvD,sBAAM,mGAAwG,YAAY,QAAQ;AAAA,cACpI;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,iCAAiC,iBAAiB,UAAU,WAAW,cAAc,UAAU;AACtG;AACE,qCAAuB,SAAS;AAChC,sCAAwB,aAAa,SAAY,OAAO,UAAU,QAAQ;AAAA,YAC5E;AAEA,gBAAI,YAAY,UAAU;AAC1B,gBAAItB;AAEJ,gBAAI,CAAC,WAAW;AAEd,cAAAA,QAAO,iCAAiC,WAAW,UAAU,iBAAiB,UAAU,YAAY;AAAA,YACtG,OAAO;AACL,cAAAA,QAAO;AAEP,kBAAI,OAAO,aAAa,YAAY;AAClC,oBAAI,mBAAmB;AAEvB,2BAAW,WAAY;AACrB,sBAAI,WAAW,sBAAsBA,KAAI;AACzC,mCAAiB,KAAK,QAAQ;AAAA,gBAChC;AAAA,cACF;AAGA,8BAAgB,UAAUA,OAAM,iBAAiB,QAAQ;AAAA,YAC3D;AAEA,mBAAO,sBAAsBA,KAAI;AAAA,UACnC;AAEA,mBAAS,YAAY,oBAAoB;AACvC;AACE,kBAAI,QAAQ,oBAAoB;AAEhC,kBAAI,UAAU,QAAQ,MAAM,cAAc,MAAM;AAC9C,oBAAI,0BAA0B,MAAM,UAAU;AAE9C,oBAAI,CAAC,yBAAyB;AAC5B,wBAAM,kRAAsS,yBAAyB,MAAM,IAAI,KAAK,aAAa;AAAA,gBACnW;AAEA,sBAAM,UAAU,2BAA2B;AAAA,cAC7C;AAAA,YACF;AAEA,gBAAI,sBAAsB,MAAM;AAC9B,qBAAO;AAAA,YACT;AAEA,gBAAI,mBAAmB,aAAa,cAAc;AAChD,qBAAO;AAAA,YACT;AAEA;AACE,qBAAO,4BAA4B,oBAAoB,aAAa;AAAA,YACtE;AAAA,UACF;AACA,mBAAS,QAAQ,SAAS,WAAW,UAAU;AAC7C;AACE,oBAAM,4NAA2O;AAAA,YACnP;AAEA,gBAAI,CAAC,uBAAuB,SAAS,GAAG;AACtC,oBAAM,IAAI,MAAM,wCAAwC;AAAA,YAC1D;AAEA;AACE,kBAAI,eAAe,wBAAwB,SAAS,KAAK,UAAU,wBAAwB;AAE3F,kBAAI,cAAc;AAChB,sBAAM,2LAAqM;AAAA,cAC7M;AAAA,YACF;AAGA,mBAAO,iCAAiC,MAAM,SAAS,WAAW,MAAM,QAAQ;AAAA,UAClF;AACA,mBAAS,OAAO,SAAS,WAAW,UAAU;AAC5C;AACE,oBAAM,0NAAyO;AAAA,YACjP;AAEA,gBAAI,CAAC,uBAAuB,SAAS,GAAG;AACtC,oBAAM,IAAI,MAAM,wCAAwC;AAAA,YAC1D;AAEA;AACE,kBAAI,eAAe,wBAAwB,SAAS,KAAK,UAAU,wBAAwB;AAE3F,kBAAI,cAAc;AAChB,sBAAM,+KAAyL;AAAA,cACjM;AAAA,YACF;AAEA,mBAAO,iCAAiC,MAAM,SAAS,WAAW,OAAO,QAAQ;AAAA,UACnF;AACA,mBAAS,oCAAoC,iBAAiB,SAAS,eAAe,UAAU;AAC9F;AACE,oBAAM,yQAAwR;AAAA,YAChS;AAEA,gBAAI,CAAC,uBAAuB,aAAa,GAAG;AAC1C,oBAAM,IAAI,MAAM,wCAAwC;AAAA,YAC1D;AAEA,gBAAI,mBAAmB,QAAQ,CAAC,IAAI,eAAe,GAAG;AACpD,oBAAM,IAAI,MAAM,iDAAiD;AAAA,YACnE;AAEA,mBAAO,iCAAiC,iBAAiB,SAAS,eAAe,OAAO,QAAQ;AAAA,UAClG;AACA,mBAAS,uBAAuB,WAAW;AACzC,gBAAI,CAAC,uBAAuB,SAAS,GAAG;AACtC,oBAAM,IAAI,MAAM,qEAAqE;AAAA,YACvF;AAEA;AACE,kBAAI,eAAe,wBAAwB,SAAS,KAAK,UAAU,wBAAwB;AAE3F,kBAAI,cAAc;AAChB,sBAAM,yLAA8L;AAAA,cACtM;AAAA,YACF;AAEA,gBAAI,UAAU,qBAAqB;AACjC;AACE,oBAAI,SAAS,+BAA+B,SAAS;AACrD,oBAAI,2BAA2B,UAAU,CAAC,oBAAoB,MAAM;AAEpE,oBAAI,0BAA0B;AAC5B,wBAAM,wGAA6G;AAAA,gBACrH;AAAA,cACF;AAGA,wBAAU,WAAY;AACpB,iDAAiC,MAAM,MAAM,WAAW,OAAO,WAAY;AAEzE,4BAAU,sBAAsB;AAChC,wCAAsB,SAAS;AAAA,gBACjC,CAAC;AAAA,cACH,CAAC;AAGD,qBAAO;AAAA,YACT,OAAO;AACL;AACE,oBAAI,UAAU,+BAA+B,SAAS;AAEtD,oBAAI,uBAAuB,CAAC,EAAE,WAAW,oBAAoB,OAAO;AAEpE,oBAAI,uBAAuB,UAAU,aAAa,gBAAgB,uBAAuB,UAAU,UAAU,KAAK,CAAC,CAAC,UAAU,WAAW;AAEzI,oBAAI,sBAAsB;AACxB,wBAAM,8HAAmI,uBAAuB,oFAAyF,qGAA0G;AAAA,gBACrW;AAAA,cACF;AAEA,qBAAO;AAAA,YACT;AAAA,UACF;AAEA,yCAA+B,6BAA6B;AAC5D,wCAA8B,4BAA4B;AAC1D,+CAAqC,mCAAmC;AACxE,sCAA4B,wBAAwB;AACpD,wCAA8B,eAAe;AAE7C;AACE,gBAAI,OAAO,QAAQ;AAAA,YACnB,IAAI,aAAa,QAAQ,OAAO,IAAI,UAAU,YAAY,cAAc,OAAO,QAAQ;AAAA,YACvF,IAAI,aAAa,QAAQ,OAAO,IAAI,UAAU,UAAU,cAAc,OAAO,IAAI,UAAU,YAAY,YAAY;AACjH,oBAAM,6IAAkJ;AAAA,YAC1J;AAAA,UACF;AAEA,mCAAyB,wBAAwB;AACjD,oCAA0B,kBAAkB,iBAAiB,SAAS;AAEtE,mBAAS,eAAe,UAAU,WAAW;AAC3C,gBAAI,MAAM,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI;AAE9E,gBAAI,CAAC,iBAAiB,SAAS,GAAG;AAChC,oBAAM,IAAI,MAAM,wCAAwC;AAAA,YAC1D;AAIA,mBAAO,aAAa,UAAU,WAAW,MAAM,GAAG;AAAA,UACpD;AAEA,mBAAS,2BAA2B,iBAAiB,SAAS,eAAe,UAAU;AACrF,mBAAO,oCAAoC,iBAAiB,SAAS,eAAe,QAAQ;AAAA,UAC9F;AAEA,cAAI,YAAY;AAAA,YACd,uBAAuB;AAAA;AAAA;AAAA,YAGvB,QAAQ,CAAC,qBAAqB,qBAAqB,8BAA8B,qBAAqB,sBAAsB,gBAAgB;AAAA,UAC9I;AAEA,mBAAS,aAAa,WAAWV,UAAS;AACxC;AACE,kBAAI,CAAC,UAAU,yBAAyB,MAAQ;AAC9C,sBAAM,6HAAkI;AAAA,cAC1I;AAAA,YACF;AAEA,mBAAO,WAAW,WAAWA,QAAO;AAAA,UACtC;AAEA,mBAAS,cAAc,WAAW,iBAAiBA,UAAS;AAC1D;AACE,kBAAI,CAAC,UAAU,yBAAyB,MAAQ;AAC9C,sBAAM,8HAAmI;AAAA,cAC3I;AAAA,YACF;AAEA,mBAAO,YAAY,WAAW,iBAAiBA,QAAO;AAAA,UACxD;AAKA,mBAAS,YAAY,IAAI;AACvB;AACE,kBAAI,mBAAmB,GAAG;AACxB,sBAAM,uKAAiL;AAAA,cACzL;AAAA,YACF;AAEA,mBAAO,UAAU,EAAE;AAAA,UACrB;AACA,cAAI,gBAAgB,mBAAmB;AAAA,YACrC,yBAAyB;AAAA,YACzB,YAAa;AAAA,YACb,SAAS;AAAA,YACT,qBAAqB;AAAA,UACvB,CAAC;AAED;AACE,gBAAI,CAAC,iBAAiBT,cAAa,OAAO,QAAQ,OAAO,MAAM;AAE7D,kBAAI,UAAU,UAAU,QAAQ,QAAQ,IAAI,MAAM,UAAU,UAAU,QAAQ,MAAM,MAAM,MAAM,UAAU,UAAU,QAAQ,SAAS,IAAI,IAAI;AAC3I,oBAAI,WAAW,OAAO,SAAS;AAE/B,oBAAI,mBAAmB,KAAK,QAAQ,GAAG;AAErC,0BAAQ,KAAK,gHAA0H,aAAa,UAAU,kHAAuH,KAAK,kBAAkB;AAAA,gBAC9S;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,kBAAQ,qDAAqD;AAC7D,kBAAQ,eAAe;AACvB,kBAAQ,aAAa;AACrB,kBAAQ,cAAc;AACtB,kBAAQ,YAAY;AACpB,kBAAQ,UAAU;AAClB,kBAAQ,cAAc;AACtB,kBAAQ,SAAS;AACjB,kBAAQ,yBAAyB;AACjC,kBAAQ,0BAA0B;AAClC,kBAAQ,sCAAsC;AAC9C,kBAAQ,UAAU;AAElB,cACE,OAAO,mCAAmC,eAC1C,OAAO,+BAA+B,+BACpC,YACF;AACA,2CAA+B,2BAA2B,IAAI,MAAM,CAAC;AAAA,UACvE;AAAA,QAEE,GAAG;AAAA,MACL;AAAA;AAAA;;;AC3q6BA;AAAA;AAAA;AA8BA,UAAI,OAAuC;AAGzC,iBAAS;AACT,eAAO,UAAU;AAAA,MACnB,OAAO;AACL,eAAO,UAAU;AAAA,MACnB;AAAA;AAAA;;;ACrCA;AAAA;AAAA;AAEA,UAAI,IAAI;AACR,UAAI,OAAuC;AACzC,gBAAQ,aAAa,EAAE;AACvB,gBAAQ,cAAc,EAAE;AAAA,MAC1B,OAAO;AACD,YAAI,EAAE;AACV,gBAAQ,aAAa,SAAS,GAAG,GAAG;AAClC,YAAE,wBAAwB;AAC1B,cAAI;AACF,mBAAO,EAAE,WAAW,GAAG,CAAC;AAAA,UAC1B,UAAE;AACA,cAAE,wBAAwB;AAAA,UAC5B;AAAA,QACF;AACA,gBAAQ,cAAc,SAAS,GAAG,GAAG,GAAG;AACtC,YAAE,wBAAwB;AAC1B,cAAI;AACF,mBAAO,EAAE,YAAY,GAAG,GAAG,CAAC;AAAA,UAC9B,UAAE;AACA,cAAE,wBAAwB;AAAA,UAC5B;AAAA,QACF;AAAA,MACF;AAjBM;AAAA;AAAA;;;ACPN;AAAA;AAOA,UAAI,eAAe,mEAAmE,MAAM,EAAE;AAK9F,cAAQ,SAAS,SAAU,QAAQ;AACjC,YAAI,KAAK,UAAU,SAAS,aAAa,QAAQ;AAC/C,iBAAO,aAAa,MAAM;AAAA,QAC5B;AACA,cAAM,IAAI,UAAU,+BAA+B,MAAM;AAAA,MAC3D;AAMA,cAAQ,SAAS,SAAU,UAAU;AACnC,YAAI,OAAO;AACX,YAAI,OAAO;AAEX,YAAI,UAAU;AACd,YAAI,UAAU;AAEd,YAAI,OAAO;AACX,YAAI,OAAO;AAEX,YAAI,OAAO;AACX,YAAI,QAAQ;AAEZ,YAAI,eAAe;AACnB,YAAI,eAAe;AAGnB,YAAI,QAAQ,YAAY,YAAY,MAAM;AACxC,iBAAQ,WAAW;AAAA,QACrB;AAGA,YAAI,WAAW,YAAY,YAAY,SAAS;AAC9C,iBAAQ,WAAW,UAAU;AAAA,QAC/B;AAGA,YAAI,QAAQ,YAAY,YAAY,MAAM;AACxC,iBAAQ,WAAW,OAAO;AAAA,QAC5B;AAGA,YAAI,YAAY,MAAM;AACpB,iBAAO;AAAA,QACT;AAGA,YAAI,YAAY,OAAO;AACrB,iBAAO;AAAA,QACT;AAGA,eAAO;AAAA,MACT;AAAA;AAAA;;;AClEA;AAAA;AAqCA,UAAI,SAAS;AAcb,UAAI,iBAAiB;AAGrB,UAAI,WAAW,KAAK;AAGpB,UAAI,gBAAgB,WAAW;AAG/B,UAAI,uBAAuB;AAQ3B,eAAS,YAAY,QAAQ;AAC3B,eAAO,SAAS,KACV,CAAC,UAAW,KAAK,KAClB,UAAU,KAAK;AAAA,MACtB;AAQA,eAAS,cAAc,QAAQ;AAC7B,YAAI,cAAc,SAAS,OAAO;AAClC,YAAI,UAAU,UAAU;AACxB,eAAO,aACH,CAAC,UACD;AAAA,MACN;AAKA,cAAQ,SAAS,SAAS,iBAAiB,QAAQ;AACjD,YAAI,UAAU;AACd,YAAI;AAEJ,YAAI,MAAM,YAAY,MAAM;AAE5B,WAAG;AACD,kBAAQ,MAAM;AACd,mBAAS;AACT,cAAI,MAAM,GAAG;AAGX,qBAAS;AAAA,UACX;AACA,qBAAW,OAAO,OAAO,KAAK;AAAA,QAChC,SAAS,MAAM;AAEf,eAAO;AAAA,MACT;AAMA,cAAQ,SAAS,SAAS,iBAAiB,MAAM,QAAQ,WAAW;AAClE,YAAI,SAAS,KAAK;AAClB,YAAI,SAAS;AACb,YAAI,QAAQ;AACZ,YAAI,cAAc;AAElB,WAAG;AACD,cAAI,UAAU,QAAQ;AACpB,kBAAM,IAAI,MAAM,4CAA4C;AAAA,UAC9D;AAEA,kBAAQ,OAAO,OAAO,KAAK,WAAW,QAAQ,CAAC;AAC/C,cAAI,UAAU,IAAI;AAChB,kBAAM,IAAI,MAAM,2BAA2B,KAAK,OAAO,SAAS,CAAC,CAAC;AAAA,UACpE;AAEA,yBAAe,CAAC,EAAE,QAAQ;AAC1B,mBAAS;AACT,mBAAS,UAAU,SAAS;AAC5B,mBAAS;AAAA,QACX,SAAS;AAET,kBAAU,QAAQ,cAAc,MAAM;AACtC,kBAAU,OAAO;AAAA,MACnB;AAAA;AAAA;;;AC3IA;AAAA;AAiBA,eAAS,OAAO,OAAO,OAAO,eAAe;AAC3C,YAAI,SAAS,OAAO;AAClB,iBAAO,MAAM,KAAK;AAAA,QACpB,WAAW,UAAU,WAAW,GAAG;AACjC,iBAAO;AAAA,QACT,OAAO;AACL,gBAAM,IAAI,MAAM,MAAM,QAAQ,2BAA2B;AAAA,QAC3D;AAAA,MACF;AACA,cAAQ,SAAS;AAEjB,UAAI,YAAY;AAChB,UAAI,gBAAgB;AAEpB,eAAS,SAAS,MAAM;AACtB,YAAI,QAAQ,KAAK,MAAM,SAAS;AAChC,YAAI,CAAC,OAAO;AACV,iBAAO;AAAA,QACT;AACA,eAAO;AAAA,UACL,QAAQ,MAAM,CAAC;AAAA,UACf,MAAM,MAAM,CAAC;AAAA,UACb,MAAM,MAAM,CAAC;AAAA,UACb,MAAM,MAAM,CAAC;AAAA,UACb,MAAM,MAAM,CAAC;AAAA,QACf;AAAA,MACF;AACA,cAAQ,WAAW;AAEnB,eAAS,YAAY,YAAY;AAC/B,YAAI,MAAM;AACV,YAAI,WAAW,QAAQ;AACrB,iBAAO,WAAW,SAAS;AAAA,QAC7B;AACA,eAAO;AACP,YAAI,WAAW,MAAM;AACnB,iBAAO,WAAW,OAAO;AAAA,QAC3B;AACA,YAAI,WAAW,MAAM;AACnB,iBAAO,WAAW;AAAA,QACpB;AACA,YAAI,WAAW,MAAM;AACnB,iBAAO,MAAM,WAAW;AAAA,QAC1B;AACA,YAAI,WAAW,MAAM;AACnB,iBAAO,WAAW;AAAA,QACpB;AACA,eAAO;AAAA,MACT;AACA,cAAQ,cAAc;AAatB,eAAS6C,WAAU,OAAO;AACxB,YAAI,OAAO;AACX,YAAI,MAAM,SAAS,KAAK;AACxB,YAAI,KAAK;AACP,cAAI,CAAC,IAAI,MAAM;AACb,mBAAO;AAAA,UACT;AACA,iBAAO,IAAI;AAAA,QACb;AACA,YAAIC,cAAa,QAAQ,WAAW,IAAI;AAExC,YAAI,QAAQ,KAAK,MAAM,KAAK;AAC5B,iBAAS,MAAM,KAAK,GAAG,IAAI,MAAM,SAAS,GAAG,KAAK,GAAG,KAAK;AACxD,iBAAO,MAAM,CAAC;AACd,cAAI,SAAS,KAAK;AAChB,kBAAM,OAAO,GAAG,CAAC;AAAA,UACnB,WAAW,SAAS,MAAM;AACxB;AAAA,UACF,WAAW,KAAK,GAAG;AACjB,gBAAI,SAAS,IAAI;AAIf,oBAAM,OAAO,IAAI,GAAG,EAAE;AACtB,mBAAK;AAAA,YACP,OAAO;AACL,oBAAM,OAAO,GAAG,CAAC;AACjB;AAAA,YACF;AAAA,UACF;AAAA,QACF;AACA,eAAO,MAAM,KAAK,GAAG;AAErB,YAAI,SAAS,IAAI;AACf,iBAAOA,cAAa,MAAM;AAAA,QAC5B;AAEA,YAAI,KAAK;AACP,cAAI,OAAO;AACX,iBAAO,YAAY,GAAG;AAAA,QACxB;AACA,eAAO;AAAA,MACT;AACA,cAAQ,YAAYD;AAkBpB,eAASE,MAAK,OAAO,OAAO;AAC1B,YAAI,UAAU,IAAI;AAChB,kBAAQ;AAAA,QACV;AACA,YAAI,UAAU,IAAI;AAChB,kBAAQ;AAAA,QACV;AACA,YAAI,WAAW,SAAS,KAAK;AAC7B,YAAI,WAAW,SAAS,KAAK;AAC7B,YAAI,UAAU;AACZ,kBAAQ,SAAS,QAAQ;AAAA,QAC3B;AAGA,YAAI,YAAY,CAAC,SAAS,QAAQ;AAChC,cAAI,UAAU;AACZ,qBAAS,SAAS,SAAS;AAAA,UAC7B;AACA,iBAAO,YAAY,QAAQ;AAAA,QAC7B;AAEA,YAAI,YAAY,MAAM,MAAM,aAAa,GAAG;AAC1C,iBAAO;AAAA,QACT;AAGA,YAAI,YAAY,CAAC,SAAS,QAAQ,CAAC,SAAS,MAAM;AAChD,mBAAS,OAAO;AAChB,iBAAO,YAAY,QAAQ;AAAA,QAC7B;AAEA,YAAI,SAAS,MAAM,OAAO,CAAC,MAAM,MAC7B,QACAF,WAAU,MAAM,QAAQ,QAAQ,EAAE,IAAI,MAAM,KAAK;AAErD,YAAI,UAAU;AACZ,mBAAS,OAAO;AAChB,iBAAO,YAAY,QAAQ;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AACA,cAAQ,OAAOE;AAEf,cAAQ,aAAa,SAAU,OAAO;AACpC,eAAO,MAAM,OAAO,CAAC,MAAM,OAAO,UAAU,KAAK,KAAK;AAAA,MACxD;AAQA,eAASC,UAAS,OAAO,OAAO;AAC9B,YAAI,UAAU,IAAI;AAChB,kBAAQ;AAAA,QACV;AAEA,gBAAQ,MAAM,QAAQ,OAAO,EAAE;AAM/B,YAAI,QAAQ;AACZ,eAAO,MAAM,QAAQ,QAAQ,GAAG,MAAM,GAAG;AACvC,cAAI,QAAQ,MAAM,YAAY,GAAG;AACjC,cAAI,QAAQ,GAAG;AACb,mBAAO;AAAA,UACT;AAKA,kBAAQ,MAAM,MAAM,GAAG,KAAK;AAC5B,cAAI,MAAM,MAAM,mBAAmB,GAAG;AACpC,mBAAO;AAAA,UACT;AAEA,YAAE;AAAA,QACJ;AAGA,eAAO,MAAM,QAAQ,CAAC,EAAE,KAAK,KAAK,IAAI,MAAM,OAAO,MAAM,SAAS,CAAC;AAAA,MACrE;AACA,cAAQ,WAAWA;AAEnB,UAAI,oBAAqB,WAAY;AACnC,YAAI,MAAM,uBAAO,OAAO,IAAI;AAC5B,eAAO,EAAE,eAAe;AAAA,MAC1B,EAAE;AAEF,eAAS,SAAU,GAAG;AACpB,eAAO;AAAA,MACT;AAWA,eAAS,YAAY,MAAM;AACzB,YAAI,cAAc,IAAI,GAAG;AACvB,iBAAO,MAAM;AAAA,QACf;AAEA,eAAO;AAAA,MACT;AACA,cAAQ,cAAc,oBAAoB,WAAW;AAErD,eAAS,cAAc,MAAM;AAC3B,YAAI,cAAc,IAAI,GAAG;AACvB,iBAAO,KAAK,MAAM,CAAC;AAAA,QACrB;AAEA,eAAO;AAAA,MACT;AACA,cAAQ,gBAAgB,oBAAoB,WAAW;AAEvD,eAAS,cAAc,GAAG;AACxB,YAAI,CAAC,GAAG;AACN,iBAAO;AAAA,QACT;AAEA,YAAI,SAAS,EAAE;AAEf,YAAI,SAAS,GAA4B;AACvC,iBAAO;AAAA,QACT;AAEA,YAAI,EAAE,WAAW,SAAS,CAAC,MAAM,MAC7B,EAAE,WAAW,SAAS,CAAC,MAAM,MAC7B,EAAE,WAAW,SAAS,CAAC,MAAM,OAC7B,EAAE,WAAW,SAAS,CAAC,MAAM,OAC7B,EAAE,WAAW,SAAS,CAAC,MAAM,OAC7B,EAAE,WAAW,SAAS,CAAC,MAAM,OAC7B,EAAE,WAAW,SAAS,CAAC,MAAM,OAC7B,EAAE,WAAW,SAAS,CAAC,MAAM,MAC7B,EAAE,WAAW,SAAS,CAAC,MAAM,IAAe;AAC9C,iBAAO;AAAA,QACT;AAEA,iBAAS,IAAI,SAAS,IAAI,KAAK,GAAG,KAAK;AACrC,cAAI,EAAE,WAAW,CAAC,MAAM,IAAc;AACpC,mBAAO;AAAA,UACT;AAAA,QACF;AAEA,eAAO;AAAA,MACT;AAUA,eAAS,2BAA2B,UAAU,UAAU,qBAAqB;AAC3E,YAAI,MAAM,OAAO,SAAS,QAAQ,SAAS,MAAM;AACjD,YAAI,QAAQ,GAAG;AACb,iBAAO;AAAA,QACT;AAEA,cAAM,SAAS,eAAe,SAAS;AACvC,YAAI,QAAQ,GAAG;AACb,iBAAO;AAAA,QACT;AAEA,cAAM,SAAS,iBAAiB,SAAS;AACzC,YAAI,QAAQ,KAAK,qBAAqB;AACpC,iBAAO;AAAA,QACT;AAEA,cAAM,SAAS,kBAAkB,SAAS;AAC1C,YAAI,QAAQ,GAAG;AACb,iBAAO;AAAA,QACT;AAEA,cAAM,SAAS,gBAAgB,SAAS;AACxC,YAAI,QAAQ,GAAG;AACb,iBAAO;AAAA,QACT;AAEA,eAAO,OAAO,SAAS,MAAM,SAAS,IAAI;AAAA,MAC5C;AACA,cAAQ,6BAA6B;AAWrC,eAAS,oCAAoC,UAAU,UAAU,sBAAsB;AACrF,YAAI,MAAM,SAAS,gBAAgB,SAAS;AAC5C,YAAI,QAAQ,GAAG;AACb,iBAAO;AAAA,QACT;AAEA,cAAM,SAAS,kBAAkB,SAAS;AAC1C,YAAI,QAAQ,KAAK,sBAAsB;AACrC,iBAAO;AAAA,QACT;AAEA,cAAM,OAAO,SAAS,QAAQ,SAAS,MAAM;AAC7C,YAAI,QAAQ,GAAG;AACb,iBAAO;AAAA,QACT;AAEA,cAAM,SAAS,eAAe,SAAS;AACvC,YAAI,QAAQ,GAAG;AACb,iBAAO;AAAA,QACT;AAEA,cAAM,SAAS,iBAAiB,SAAS;AACzC,YAAI,QAAQ,GAAG;AACb,iBAAO;AAAA,QACT;AAEA,eAAO,OAAO,SAAS,MAAM,SAAS,IAAI;AAAA,MAC5C;AACA,cAAQ,sCAAsC;AAE9C,eAAS,OAAO,OAAO,OAAO;AAC5B,YAAI,UAAU,OAAO;AACnB,iBAAO;AAAA,QACT;AAEA,YAAI,UAAU,MAAM;AAClB,iBAAO;AAAA,QACT;AAEA,YAAI,UAAU,MAAM;AAClB,iBAAO;AAAA,QACT;AAEA,YAAI,QAAQ,OAAO;AACjB,iBAAO;AAAA,QACT;AAEA,eAAO;AAAA,MACT;AAMA,eAAS,oCAAoC,UAAU,UAAU;AAC/D,YAAI,MAAM,SAAS,gBAAgB,SAAS;AAC5C,YAAI,QAAQ,GAAG;AACb,iBAAO;AAAA,QACT;AAEA,cAAM,SAAS,kBAAkB,SAAS;AAC1C,YAAI,QAAQ,GAAG;AACb,iBAAO;AAAA,QACT;AAEA,cAAM,OAAO,SAAS,QAAQ,SAAS,MAAM;AAC7C,YAAI,QAAQ,GAAG;AACb,iBAAO;AAAA,QACT;AAEA,cAAM,SAAS,eAAe,SAAS;AACvC,YAAI,QAAQ,GAAG;AACb,iBAAO;AAAA,QACT;AAEA,cAAM,SAAS,iBAAiB,SAAS;AACzC,YAAI,QAAQ,GAAG;AACb,iBAAO;AAAA,QACT;AAEA,eAAO,OAAO,SAAS,MAAM,SAAS,IAAI;AAAA,MAC5C;AACA,cAAQ,sCAAsC;AAO9C,eAAS,oBAAoB,KAAK;AAChC,eAAO,KAAK,MAAM,IAAI,QAAQ,kBAAkB,EAAE,CAAC;AAAA,MACrD;AACA,cAAQ,sBAAsB;AAM9B,eAAS,iBAAiB,YAAY,WAAW,cAAc;AAC7D,oBAAY,aAAa;AAEzB,YAAI,YAAY;AAEd,cAAI,WAAW,WAAW,SAAS,CAAC,MAAM,OAAO,UAAU,CAAC,MAAM,KAAK;AACrE,0BAAc;AAAA,UAChB;AAMA,sBAAY,aAAa;AAAA,QAC3B;AAgBA,YAAI,cAAc;AAChB,cAAI,SAAS,SAAS,YAAY;AAClC,cAAI,CAAC,QAAQ;AACX,kBAAM,IAAI,MAAM,kCAAkC;AAAA,UACpD;AACA,cAAI,OAAO,MAAM;AAEf,gBAAI,QAAQ,OAAO,KAAK,YAAY,GAAG;AACvC,gBAAI,SAAS,GAAG;AACd,qBAAO,OAAO,OAAO,KAAK,UAAU,GAAG,QAAQ,CAAC;AAAA,YAClD;AAAA,UACF;AACA,sBAAYD,MAAK,YAAY,MAAM,GAAG,SAAS;AAAA,QACjD;AAEA,eAAOF,WAAU,SAAS;AAAA,MAC5B;AACA,cAAQ,mBAAmB;AAAA;AAAA;;;ACve3B;AAAA;AAOA,UAAI,OAAO;AACX,UAAI,MAAM,OAAO,UAAU;AAC3B,UAAI,eAAe,OAAO,QAAQ;AAQlC,eAAS,WAAW;AAClB,aAAK,SAAS,CAAC;AACf,aAAK,OAAO,eAAe,oBAAI,IAAI,IAAI,uBAAO,OAAO,IAAI;AAAA,MAC3D;AAKA,eAAS,YAAY,SAAS,mBAAmB,QAAQ,kBAAkB;AACzE,YAAI,MAAM,IAAI,SAAS;AACvB,iBAAS,IAAI,GAAG,MAAM,OAAO,QAAQ,IAAI,KAAK,KAAK;AACjD,cAAI,IAAI,OAAO,CAAC,GAAG,gBAAgB;AAAA,QACrC;AACA,eAAO;AAAA,MACT;AAQA,eAAS,UAAU,OAAO,SAAS,gBAAgB;AACjD,eAAO,eAAe,KAAK,KAAK,OAAO,OAAO,oBAAoB,KAAK,IAAI,EAAE;AAAA,MAC/E;AAOA,eAAS,UAAU,MAAM,SAAS,aAAa,MAAM,kBAAkB;AACrE,YAAI,OAAO,eAAe,OAAO,KAAK,YAAY,IAAI;AACtD,YAAI,cAAc,eAAe,KAAK,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,MAAM,IAAI;AAC1E,YAAI,MAAM,KAAK,OAAO;AACtB,YAAI,CAAC,eAAe,kBAAkB;AACpC,eAAK,OAAO,KAAK,IAAI;AAAA,QACvB;AACA,YAAI,CAAC,aAAa;AAChB,cAAI,cAAc;AAChB,iBAAK,KAAK,IAAI,MAAM,GAAG;AAAA,UACzB,OAAO;AACL,iBAAK,KAAK,IAAI,IAAI;AAAA,UACpB;AAAA,QACF;AAAA,MACF;AAOA,eAAS,UAAU,MAAM,SAAS,aAAa,MAAM;AACnD,YAAI,cAAc;AAChB,iBAAO,KAAK,KAAK,IAAI,IAAI;AAAA,QAC3B,OAAO;AACL,cAAI,OAAO,KAAK,YAAY,IAAI;AAChC,iBAAO,IAAI,KAAK,KAAK,MAAM,IAAI;AAAA,QACjC;AAAA,MACF;AAOA,eAAS,UAAU,UAAU,SAAS,iBAAiB,MAAM;AAC3D,YAAI,cAAc;AAChB,cAAI,MAAM,KAAK,KAAK,IAAI,IAAI;AAC5B,cAAI,OAAO,GAAG;AACV,mBAAO;AAAA,UACX;AAAA,QACF,OAAO;AACL,cAAI,OAAO,KAAK,YAAY,IAAI;AAChC,cAAI,IAAI,KAAK,KAAK,MAAM,IAAI,GAAG;AAC7B,mBAAO,KAAK,KAAK,IAAI;AAAA,UACvB;AAAA,QACF;AAEA,cAAM,IAAI,MAAM,MAAM,OAAO,sBAAsB;AAAA,MACrD;AAOA,eAAS,UAAU,KAAK,SAAS,YAAY,MAAM;AACjD,YAAI,QAAQ,KAAK,OAAO,KAAK,OAAO,QAAQ;AAC1C,iBAAO,KAAK,OAAO,IAAI;AAAA,QACzB;AACA,cAAM,IAAI,MAAM,2BAA2B,IAAI;AAAA,MACjD;AAOA,eAAS,UAAU,UAAU,SAAS,mBAAmB;AACvD,eAAO,KAAK,OAAO,MAAM;AAAA,MAC3B;AAEA,cAAQ,WAAW;AAAA;AAAA;;;ACxHnB;AAAA;AAOA,UAAI,OAAO;AAMX,eAAS,uBAAuB,UAAU,UAAU;AAElD,YAAI,QAAQ,SAAS;AACrB,YAAI,QAAQ,SAAS;AACrB,YAAI,UAAU,SAAS;AACvB,YAAI,UAAU,SAAS;AACvB,eAAO,QAAQ,SAAS,SAAS,SAAS,WAAW,WAC9C,KAAK,oCAAoC,UAAU,QAAQ,KAAK;AAAA,MACzE;AAOA,eAAS,cAAc;AACrB,aAAK,SAAS,CAAC;AACf,aAAK,UAAU;AAEf,aAAK,QAAQ,EAAC,eAAe,IAAI,iBAAiB,EAAC;AAAA,MACrD;AAQA,kBAAY,UAAU,kBACpB,SAAS,oBAAoB,WAAW,UAAU;AAChD,aAAK,OAAO,QAAQ,WAAW,QAAQ;AAAA,MACzC;AAOF,kBAAY,UAAU,MAAM,SAAS,gBAAgB,UAAU;AAC7D,YAAI,uBAAuB,KAAK,OAAO,QAAQ,GAAG;AAChD,eAAK,QAAQ;AACb,eAAK,OAAO,KAAK,QAAQ;AAAA,QAC3B,OAAO;AACL,eAAK,UAAU;AACf,eAAK,OAAO,KAAK,QAAQ;AAAA,QAC3B;AAAA,MACF;AAWA,kBAAY,UAAU,UAAU,SAAS,sBAAsB;AAC7D,YAAI,CAAC,KAAK,SAAS;AACjB,eAAK,OAAO,KAAK,KAAK,mCAAmC;AACzD,eAAK,UAAU;AAAA,QACjB;AACA,eAAO,KAAK;AAAA,MACd;AAEA,cAAQ,cAAc;AAAA;AAAA;;;AC9EtB;AAAA;AAOA,UAAI,YAAY;AAChB,UAAI,OAAO;AACX,UAAI,WAAW,oBAAuB;AACtC,UAAI,cAAc,uBAA0B;AAU5C,eAAS,mBAAmB,OAAO;AACjC,YAAI,CAAC,OAAO;AACV,kBAAQ,CAAC;AAAA,QACX;AACA,aAAK,QAAQ,KAAK,OAAO,OAAO,QAAQ,IAAI;AAC5C,aAAK,cAAc,KAAK,OAAO,OAAO,cAAc,IAAI;AACxD,aAAK,kBAAkB,KAAK,OAAO,OAAO,kBAAkB,KAAK;AACjE,aAAK,WAAW,IAAI,SAAS;AAC7B,aAAK,SAAS,IAAI,SAAS;AAC3B,aAAK,YAAY,IAAI,YAAY;AACjC,aAAK,mBAAmB;AAAA,MAC1B;AAEA,yBAAmB,UAAU,WAAW;AAOxC,yBAAmB,gBACjB,SAAS,iCAAiC,oBAAoB;AAC5D,YAAI,aAAa,mBAAmB;AACpC,YAAI,YAAY,IAAI,mBAAmB;AAAA,UACrC,MAAM,mBAAmB;AAAA,UACzB;AAAA,QACF,CAAC;AACD,2BAAmB,YAAY,SAAU,SAAS;AAChD,cAAI,aAAa;AAAA,YACf,WAAW;AAAA,cACT,MAAM,QAAQ;AAAA,cACd,QAAQ,QAAQ;AAAA,YAClB;AAAA,UACF;AAEA,cAAI,QAAQ,UAAU,MAAM;AAC1B,uBAAW,SAAS,QAAQ;AAC5B,gBAAI,cAAc,MAAM;AACtB,yBAAW,SAAS,KAAK,SAAS,YAAY,WAAW,MAAM;AAAA,YACjE;AAEA,uBAAW,WAAW;AAAA,cACpB,MAAM,QAAQ;AAAA,cACd,QAAQ,QAAQ;AAAA,YAClB;AAEA,gBAAI,QAAQ,QAAQ,MAAM;AACxB,yBAAW,OAAO,QAAQ;AAAA,YAC5B;AAAA,UACF;AAEA,oBAAU,WAAW,UAAU;AAAA,QACjC,CAAC;AACD,2BAAmB,QAAQ,QAAQ,SAAU,YAAY;AACvD,cAAI,iBAAiB;AACrB,cAAI,eAAe,MAAM;AACvB,6BAAiB,KAAK,SAAS,YAAY,UAAU;AAAA,UACvD;AAEA,cAAI,CAAC,UAAU,SAAS,IAAI,cAAc,GAAG;AAC3C,sBAAU,SAAS,IAAI,cAAc;AAAA,UACvC;AAEA,cAAI,UAAU,mBAAmB,iBAAiB,UAAU;AAC5D,cAAI,WAAW,MAAM;AACnB,sBAAU,iBAAiB,YAAY,OAAO;AAAA,UAChD;AAAA,QACF,CAAC;AACD,eAAO;AAAA,MACT;AAYF,yBAAmB,UAAU,aAC3B,SAAS,8BAA8B,OAAO;AAC5C,YAAI,YAAY,KAAK,OAAO,OAAO,WAAW;AAC9C,YAAI,WAAW,KAAK,OAAO,OAAO,YAAY,IAAI;AAClD,YAAI,SAAS,KAAK,OAAO,OAAO,UAAU,IAAI;AAC9C,YAAI,OAAO,KAAK,OAAO,OAAO,QAAQ,IAAI;AAE1C,YAAI,CAAC,KAAK,iBAAiB;AACzB,eAAK,iBAAiB,WAAW,UAAU,QAAQ,IAAI;AAAA,QACzD;AAEA,YAAI,UAAU,MAAM;AAClB,mBAAS,OAAO,MAAM;AACtB,cAAI,CAAC,KAAK,SAAS,IAAI,MAAM,GAAG;AAC9B,iBAAK,SAAS,IAAI,MAAM;AAAA,UAC1B;AAAA,QACF;AAEA,YAAI,QAAQ,MAAM;AAChB,iBAAO,OAAO,IAAI;AAClB,cAAI,CAAC,KAAK,OAAO,IAAI,IAAI,GAAG;AAC1B,iBAAK,OAAO,IAAI,IAAI;AAAA,UACtB;AAAA,QACF;AAEA,aAAK,UAAU,IAAI;AAAA,UACjB,eAAe,UAAU;AAAA,UACzB,iBAAiB,UAAU;AAAA,UAC3B,cAAc,YAAY,QAAQ,SAAS;AAAA,UAC3C,gBAAgB,YAAY,QAAQ,SAAS;AAAA,UAC7C;AAAA,UACA;AAAA,QACF,CAAC;AAAA,MACH;AAKF,yBAAmB,UAAU,mBAC3B,SAAS,oCAAoC,aAAa,gBAAgB;AACxE,YAAI,SAAS;AACb,YAAI,KAAK,eAAe,MAAM;AAC5B,mBAAS,KAAK,SAAS,KAAK,aAAa,MAAM;AAAA,QACjD;AAEA,YAAI,kBAAkB,MAAM;AAG1B,cAAI,CAAC,KAAK,kBAAkB;AAC1B,iBAAK,mBAAmB,uBAAO,OAAO,IAAI;AAAA,UAC5C;AACA,eAAK,iBAAiB,KAAK,YAAY,MAAM,CAAC,IAAI;AAAA,QACpD,WAAW,KAAK,kBAAkB;AAGhC,iBAAO,KAAK,iBAAiB,KAAK,YAAY,MAAM,CAAC;AACrD,cAAI,OAAO,KAAK,KAAK,gBAAgB,EAAE,WAAW,GAAG;AACnD,iBAAK,mBAAmB;AAAA,UAC1B;AAAA,QACF;AAAA,MACF;AAkBF,yBAAmB,UAAU,iBAC3B,SAAS,kCAAkC,oBAAoB,aAAa,gBAAgB;AAC1F,YAAI,aAAa;AAEjB,YAAI,eAAe,MAAM;AACvB,cAAI,mBAAmB,QAAQ,MAAM;AACnC,kBAAM,IAAI;AAAA,cACR;AAAA,YAEF;AAAA,UACF;AACA,uBAAa,mBAAmB;AAAA,QAClC;AACA,YAAI,aAAa,KAAK;AAEtB,YAAI,cAAc,MAAM;AACtB,uBAAa,KAAK,SAAS,YAAY,UAAU;AAAA,QACnD;AAGA,YAAI,aAAa,IAAI,SAAS;AAC9B,YAAI,WAAW,IAAI,SAAS;AAG5B,aAAK,UAAU,gBAAgB,SAAU,SAAS;AAChD,cAAI,QAAQ,WAAW,cAAc,QAAQ,gBAAgB,MAAM;AAEjE,gBAAI,WAAW,mBAAmB,oBAAoB;AAAA,cACpD,MAAM,QAAQ;AAAA,cACd,QAAQ,QAAQ;AAAA,YAClB,CAAC;AACD,gBAAI,SAAS,UAAU,MAAM;AAE3B,sBAAQ,SAAS,SAAS;AAC1B,kBAAI,kBAAkB,MAAM;AAC1B,wBAAQ,SAAS,KAAK,KAAK,gBAAgB,QAAQ,MAAM;AAAA,cAC3D;AACA,kBAAI,cAAc,MAAM;AACtB,wBAAQ,SAAS,KAAK,SAAS,YAAY,QAAQ,MAAM;AAAA,cAC3D;AACA,sBAAQ,eAAe,SAAS;AAChC,sBAAQ,iBAAiB,SAAS;AAClC,kBAAI,SAAS,QAAQ,MAAM;AACzB,wBAAQ,OAAO,SAAS;AAAA,cAC1B;AAAA,YACF;AAAA,UACF;AAEA,cAAI,SAAS,QAAQ;AACrB,cAAI,UAAU,QAAQ,CAAC,WAAW,IAAI,MAAM,GAAG;AAC7C,uBAAW,IAAI,MAAM;AAAA,UACvB;AAEA,cAAI,OAAO,QAAQ;AACnB,cAAI,QAAQ,QAAQ,CAAC,SAAS,IAAI,IAAI,GAAG;AACvC,qBAAS,IAAI,IAAI;AAAA,UACnB;AAAA,QAEF,GAAG,IAAI;AACP,aAAK,WAAW;AAChB,aAAK,SAAS;AAGd,2BAAmB,QAAQ,QAAQ,SAAUI,aAAY;AACvD,cAAI,UAAU,mBAAmB,iBAAiBA,WAAU;AAC5D,cAAI,WAAW,MAAM;AACnB,gBAAI,kBAAkB,MAAM;AAC1B,cAAAA,cAAa,KAAK,KAAK,gBAAgBA,WAAU;AAAA,YACnD;AACA,gBAAI,cAAc,MAAM;AACtB,cAAAA,cAAa,KAAK,SAAS,YAAYA,WAAU;AAAA,YACnD;AACA,iBAAK,iBAAiBA,aAAY,OAAO;AAAA,UAC3C;AAAA,QACF,GAAG,IAAI;AAAA,MACT;AAaF,yBAAmB,UAAU,mBAC3B,SAAS,mCAAmC,YAAY,WAAW,SACvB,OAAO;AAKjD,YAAI,aAAa,OAAO,UAAU,SAAS,YAAY,OAAO,UAAU,WAAW,UAAU;AACzF,gBAAM,IAAI;AAAA,YACN;AAAA,UAGJ;AAAA,QACJ;AAEA,YAAI,cAAc,UAAU,cAAc,YAAY,cAC/C,WAAW,OAAO,KAAK,WAAW,UAAU,KAC5C,CAAC,aAAa,CAAC,WAAW,CAAC,OAAO;AAEvC;AAAA,QACF,WACS,cAAc,UAAU,cAAc,YAAY,cAC/C,aAAa,UAAU,aAAa,YAAY,aAChD,WAAW,OAAO,KAAK,WAAW,UAAU,KAC5C,UAAU,OAAO,KAAK,UAAU,UAAU,KAC1C,SAAS;AAEnB;AAAA,QACF,OACK;AACH,gBAAM,IAAI,MAAM,sBAAsB,KAAK,UAAU;AAAA,YACnD,WAAW;AAAA,YACX,QAAQ;AAAA,YACR,UAAU;AAAA,YACV,MAAM;AAAA,UACR,CAAC,CAAC;AAAA,QACJ;AAAA,MACF;AAMF,yBAAmB,UAAU,qBAC3B,SAAS,uCAAuC;AAC9C,YAAI,0BAA0B;AAC9B,YAAI,wBAAwB;AAC5B,YAAI,yBAAyB;AAC7B,YAAI,uBAAuB;AAC3B,YAAI,eAAe;AACnB,YAAI,iBAAiB;AACrB,YAAI,SAAS;AACb,YAAI;AACJ,YAAI;AACJ,YAAI;AACJ,YAAI;AAEJ,YAAI,WAAW,KAAK,UAAU,QAAQ;AACtC,iBAAS,IAAI,GAAG,MAAM,SAAS,QAAQ,IAAI,KAAK,KAAK;AACnD,oBAAU,SAAS,CAAC;AACpB,iBAAO;AAEP,cAAI,QAAQ,kBAAkB,uBAAuB;AACnD,sCAA0B;AAC1B,mBAAO,QAAQ,kBAAkB,uBAAuB;AACtD,sBAAQ;AACR;AAAA,YACF;AAAA,UACF,OACK;AACH,gBAAI,IAAI,GAAG;AACT,kBAAI,CAAC,KAAK,oCAAoC,SAAS,SAAS,IAAI,CAAC,CAAC,GAAG;AACvE;AAAA,cACF;AACA,sBAAQ;AAAA,YACV;AAAA,UACF;AAEA,kBAAQ,UAAU,OAAO,QAAQ,kBACJ,uBAAuB;AACpD,oCAA0B,QAAQ;AAElC,cAAI,QAAQ,UAAU,MAAM;AAC1B,wBAAY,KAAK,SAAS,QAAQ,QAAQ,MAAM;AAChD,oBAAQ,UAAU,OAAO,YAAY,cAAc;AACnD,6BAAiB;AAGjB,oBAAQ,UAAU,OAAO,QAAQ,eAAe,IACnB,oBAAoB;AACjD,mCAAuB,QAAQ,eAAe;AAE9C,oBAAQ,UAAU,OAAO,QAAQ,iBACJ,sBAAsB;AACnD,qCAAyB,QAAQ;AAEjC,gBAAI,QAAQ,QAAQ,MAAM;AACxB,wBAAU,KAAK,OAAO,QAAQ,QAAQ,IAAI;AAC1C,sBAAQ,UAAU,OAAO,UAAU,YAAY;AAC/C,6BAAe;AAAA,YACjB;AAAA,UACF;AAEA,oBAAU;AAAA,QACZ;AAEA,eAAO;AAAA,MACT;AAEF,yBAAmB,UAAU,0BAC3B,SAAS,0CAA0C,UAAU,aAAa;AACxE,eAAO,SAAS,IAAI,SAAU,QAAQ;AACpC,cAAI,CAAC,KAAK,kBAAkB;AAC1B,mBAAO;AAAA,UACT;AACA,cAAI,eAAe,MAAM;AACvB,qBAAS,KAAK,SAAS,aAAa,MAAM;AAAA,UAC5C;AACA,cAAI,MAAM,KAAK,YAAY,MAAM;AACjC,iBAAO,OAAO,UAAU,eAAe,KAAK,KAAK,kBAAkB,GAAG,IAClE,KAAK,iBAAiB,GAAG,IACzB;AAAA,QACN,GAAG,IAAI;AAAA,MACT;AAKF,yBAAmB,UAAU,SAC3B,SAAS,4BAA4B;AACnC,YAAI,MAAM;AAAA,UACR,SAAS,KAAK;AAAA,UACd,SAAS,KAAK,SAAS,QAAQ;AAAA,UAC/B,OAAO,KAAK,OAAO,QAAQ;AAAA,UAC3B,UAAU,KAAK,mBAAmB;AAAA,QACpC;AACA,YAAI,KAAK,SAAS,MAAM;AACtB,cAAI,OAAO,KAAK;AAAA,QAClB;AACA,YAAI,KAAK,eAAe,MAAM;AAC5B,cAAI,aAAa,KAAK;AAAA,QACxB;AACA,YAAI,KAAK,kBAAkB;AACzB,cAAI,iBAAiB,KAAK,wBAAwB,IAAI,SAAS,IAAI,UAAU;AAAA,QAC/E;AAEA,eAAO;AAAA,MACT;AAKF,yBAAmB,UAAU,WAC3B,SAAS,8BAA8B;AACrC,eAAO,KAAK,UAAU,KAAK,OAAO,CAAC;AAAA,MACrC;AAEF,cAAQ,qBAAqB;AAAA;AAAA;;;ACxa7B;AAAA;AAOA,cAAQ,uBAAuB;AAC/B,cAAQ,oBAAoB;AAe5B,eAAS,gBAAgB,MAAM,OAAO,SAAS,WAAW,UAAU,OAAO;AAUzE,YAAI,MAAM,KAAK,OAAO,QAAQ,QAAQ,CAAC,IAAI;AAC3C,YAAI,MAAM,SAAS,SAAS,UAAU,GAAG,GAAG,IAAI;AAChD,YAAI,QAAQ,GAAG;AAEb,iBAAO;AAAA,QACT,WACS,MAAM,GAAG;AAEhB,cAAI,QAAQ,MAAM,GAAG;AAEnB,mBAAO,gBAAgB,KAAK,OAAO,SAAS,WAAW,UAAU,KAAK;AAAA,UACxE;AAIA,cAAI,SAAS,QAAQ,mBAAmB;AACtC,mBAAO,QAAQ,UAAU,SAAS,QAAQ;AAAA,UAC5C,OAAO;AACL,mBAAO;AAAA,UACT;AAAA,QACF,OACK;AAEH,cAAI,MAAM,OAAO,GAAG;AAElB,mBAAO,gBAAgB,MAAM,KAAK,SAAS,WAAW,UAAU,KAAK;AAAA,UACvE;AAGA,cAAI,SAAS,QAAQ,mBAAmB;AACtC,mBAAO;AAAA,UACT,OAAO;AACL,mBAAO,OAAO,IAAI,KAAK;AAAA,UACzB;AAAA,QACF;AAAA,MACF;AAoBA,cAAQ,SAAS,SAAS,OAAO,SAAS,WAAW,UAAU,OAAO;AACpE,YAAI,UAAU,WAAW,GAAG;AAC1B,iBAAO;AAAA,QACT;AAEA,YAAI,QAAQ;AAAA,UAAgB;AAAA,UAAI,UAAU;AAAA,UAAQ;AAAA,UAAS;AAAA,UAC/B;AAAA,UAAU,SAAS,QAAQ;AAAA,QAAoB;AAC3E,YAAI,QAAQ,GAAG;AACb,iBAAO;AAAA,QACT;AAKA,eAAO,QAAQ,KAAK,GAAG;AACrB,cAAI,SAAS,UAAU,KAAK,GAAG,UAAU,QAAQ,CAAC,GAAG,IAAI,MAAM,GAAG;AAChE;AAAA,UACF;AACA,YAAE;AAAA,QACJ;AAEA,eAAO;AAAA,MACT;AAAA;AAAA;;;AC9GA;AAAA;AA2BA,eAAS,KAAK,KAAK,GAAG,GAAG;AACvB,YAAI,OAAO,IAAI,CAAC;AAChB,YAAI,CAAC,IAAI,IAAI,CAAC;AACd,YAAI,CAAC,IAAI;AAAA,MACX;AAUA,eAAS,iBAAiB,KAAK,MAAM;AACnC,eAAO,KAAK,MAAM,MAAO,KAAK,OAAO,KAAK,OAAO,IAAK;AAAA,MACxD;AAcA,eAAS,YAAY,KAAK,YAAY,GAAG,GAAG;AAK1C,YAAI,IAAI,GAAG;AAYT,cAAI,aAAa,iBAAiB,GAAG,CAAC;AACtC,cAAI,IAAI,IAAI;AAEZ,eAAK,KAAK,YAAY,CAAC;AACvB,cAAI,QAAQ,IAAI,CAAC;AAQjB,mBAAS,IAAI,GAAG,IAAI,GAAG,KAAK;AAC1B,gBAAI,WAAW,IAAI,CAAC,GAAG,KAAK,KAAK,GAAG;AAClC,mBAAK;AACL,mBAAK,KAAK,GAAG,CAAC;AAAA,YAChB;AAAA,UACF;AAEA,eAAK,KAAK,IAAI,GAAG,CAAC;AAClB,cAAI,IAAI,IAAI;AAIZ,sBAAY,KAAK,YAAY,GAAG,IAAI,CAAC;AACrC,sBAAY,KAAK,YAAY,IAAI,GAAG,CAAC;AAAA,QACvC;AAAA,MACF;AAUA,cAAQ,YAAY,SAAU,KAAK,YAAY;AAC7C,oBAAY,KAAK,YAAY,GAAG,IAAI,SAAS,CAAC;AAAA,MAChD;AAAA;AAAA;;;ACjHA;AAAA;AAOA,UAAI,OAAO;AACX,UAAI,eAAe;AACnB,UAAI,WAAW,oBAAuB;AACtC,UAAI,YAAY;AAChB,UAAI,YAAY,qBAAwB;AAExC,eAAS,kBAAkB,YAAY,eAAe;AACpD,YAAI,YAAY;AAChB,YAAI,OAAO,eAAe,UAAU;AAClC,sBAAY,KAAK,oBAAoB,UAAU;AAAA,QACjD;AAEA,eAAO,UAAU,YAAY,OACzB,IAAI,yBAAyB,WAAW,aAAa,IACrD,IAAI,uBAAuB,WAAW,aAAa;AAAA,MACzD;AAEA,wBAAkB,gBAAgB,SAAS,YAAY,eAAe;AACpE,eAAO,uBAAuB,cAAc,YAAY,aAAa;AAAA,MACvE;AAKA,wBAAkB,UAAU,WAAW;AAgCvC,wBAAkB,UAAU,sBAAsB;AAClD,aAAO,eAAe,kBAAkB,WAAW,sBAAsB;AAAA,QACvE,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,KAAK,WAAY;AACf,cAAI,CAAC,KAAK,qBAAqB;AAC7B,iBAAK,eAAe,KAAK,WAAW,KAAK,UAAU;AAAA,UACrD;AAEA,iBAAO,KAAK;AAAA,QACd;AAAA,MACF,CAAC;AAED,wBAAkB,UAAU,qBAAqB;AACjD,aAAO,eAAe,kBAAkB,WAAW,qBAAqB;AAAA,QACtE,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,KAAK,WAAY;AACf,cAAI,CAAC,KAAK,oBAAoB;AAC5B,iBAAK,eAAe,KAAK,WAAW,KAAK,UAAU;AAAA,UACrD;AAEA,iBAAO,KAAK;AAAA,QACd;AAAA,MACF,CAAC;AAED,wBAAkB,UAAU,0BAC1B,SAAS,yCAAyC,MAAM,OAAO;AAC7D,YAAI,IAAI,KAAK,OAAO,KAAK;AACzB,eAAO,MAAM,OAAO,MAAM;AAAA,MAC5B;AAOF,wBAAkB,UAAU,iBAC1B,SAAS,gCAAgC,MAAM,aAAa;AAC1D,cAAM,IAAI,MAAM,0CAA0C;AAAA,MAC5D;AAEF,wBAAkB,kBAAkB;AACpC,wBAAkB,iBAAiB;AAEnC,wBAAkB,uBAAuB;AACzC,wBAAkB,oBAAoB;AAkBtC,wBAAkB,UAAU,cAC1B,SAAS,8BAA8B,WAAW,UAAU,QAAQ;AAClE,YAAI,UAAU,YAAY;AAC1B,YAAI,QAAQ,UAAU,kBAAkB;AAExC,YAAI;AACJ,gBAAQ,OAAO;AAAA,UACf,KAAK,kBAAkB;AACrB,uBAAW,KAAK;AAChB;AAAA,UACF,KAAK,kBAAkB;AACrB,uBAAW,KAAK;AAChB;AAAA,UACF;AACE,kBAAM,IAAI,MAAM,6BAA6B;AAAA,QAC/C;AAEA,YAAI,aAAa,KAAK;AACtB,iBAAS,IAAI,SAAU,SAAS;AAC9B,cAAI,SAAS,QAAQ,WAAW,OAAO,OAAO,KAAK,SAAS,GAAG,QAAQ,MAAM;AAC7E,mBAAS,KAAK,iBAAiB,YAAY,QAAQ,KAAK,aAAa;AACrE,iBAAO;AAAA,YACL;AAAA,YACA,eAAe,QAAQ;AAAA,YACvB,iBAAiB,QAAQ;AAAA,YACzB,cAAc,QAAQ;AAAA,YACtB,gBAAgB,QAAQ;AAAA,YACxB,MAAM,QAAQ,SAAS,OAAO,OAAO,KAAK,OAAO,GAAG,QAAQ,IAAI;AAAA,UAClE;AAAA,QACF,GAAG,IAAI,EAAE,QAAQ,WAAW,OAAO;AAAA,MACrC;AAwBF,wBAAkB,UAAU,2BAC1B,SAAS,2CAA2C,OAAO;AACzD,YAAI,OAAO,KAAK,OAAO,OAAO,MAAM;AAMpC,YAAI,SAAS;AAAA,UACX,QAAQ,KAAK,OAAO,OAAO,QAAQ;AAAA,UACnC,cAAc;AAAA,UACd,gBAAgB,KAAK,OAAO,OAAO,UAAU,CAAC;AAAA,QAChD;AAEA,eAAO,SAAS,KAAK,iBAAiB,OAAO,MAAM;AACnD,YAAI,OAAO,SAAS,GAAG;AACrB,iBAAO,CAAC;AAAA,QACV;AAEA,YAAI,WAAW,CAAC;AAEhB,YAAI,QAAQ,KAAK;AAAA,UAAa;AAAA,UACA,KAAK;AAAA,UACL;AAAA,UACA;AAAA,UACA,KAAK;AAAA,UACL,aAAa;AAAA,QAAiB;AAC5D,YAAI,SAAS,GAAG;AACd,cAAI,UAAU,KAAK,kBAAkB,KAAK;AAE1C,cAAI,MAAM,WAAW,QAAW;AAC9B,gBAAI,eAAe,QAAQ;AAM3B,mBAAO,WAAW,QAAQ,iBAAiB,cAAc;AACvD,uBAAS,KAAK;AAAA,gBACZ,MAAM,KAAK,OAAO,SAAS,iBAAiB,IAAI;AAAA,gBAChD,QAAQ,KAAK,OAAO,SAAS,mBAAmB,IAAI;AAAA,gBACpD,YAAY,KAAK,OAAO,SAAS,uBAAuB,IAAI;AAAA,cAC9D,CAAC;AAED,wBAAU,KAAK,kBAAkB,EAAE,KAAK;AAAA,YAC1C;AAAA,UACF,OAAO;AACL,gBAAI,iBAAiB,QAAQ;AAM7B,mBAAO,WACA,QAAQ,iBAAiB,QACzB,QAAQ,kBAAkB,gBAAgB;AAC/C,uBAAS,KAAK;AAAA,gBACZ,MAAM,KAAK,OAAO,SAAS,iBAAiB,IAAI;AAAA,gBAChD,QAAQ,KAAK,OAAO,SAAS,mBAAmB,IAAI;AAAA,gBACpD,YAAY,KAAK,OAAO,SAAS,uBAAuB,IAAI;AAAA,cAC9D,CAAC;AAED,wBAAU,KAAK,kBAAkB,EAAE,KAAK;AAAA,YAC1C;AAAA,UACF;AAAA,QACF;AAEA,eAAO;AAAA,MACT;AAEF,cAAQ,oBAAoB;AAoC5B,eAAS,uBAAuB,YAAY,eAAe;AACzD,YAAI,YAAY;AAChB,YAAI,OAAO,eAAe,UAAU;AAClC,sBAAY,KAAK,oBAAoB,UAAU;AAAA,QACjD;AAEA,YAAI,UAAU,KAAK,OAAO,WAAW,SAAS;AAC9C,YAAI,UAAU,KAAK,OAAO,WAAW,SAAS;AAG9C,YAAI,QAAQ,KAAK,OAAO,WAAW,SAAS,CAAC,CAAC;AAC9C,YAAI,aAAa,KAAK,OAAO,WAAW,cAAc,IAAI;AAC1D,YAAI,iBAAiB,KAAK,OAAO,WAAW,kBAAkB,IAAI;AAClE,YAAI,WAAW,KAAK,OAAO,WAAW,UAAU;AAChD,YAAI,OAAO,KAAK,OAAO,WAAW,QAAQ,IAAI;AAI9C,YAAI,WAAW,KAAK,UAAU;AAC5B,gBAAM,IAAI,MAAM,0BAA0B,OAAO;AAAA,QACnD;AAEA,YAAI,YAAY;AACd,uBAAa,KAAK,UAAU,UAAU;AAAA,QACxC;AAEA,kBAAU,QACP,IAAI,MAAM,EAIV,IAAI,KAAK,SAAS,EAKlB,IAAI,SAAU,QAAQ;AACrB,iBAAO,cAAc,KAAK,WAAW,UAAU,KAAK,KAAK,WAAW,MAAM,IACtE,KAAK,SAAS,YAAY,MAAM,IAChC;AAAA,QACN,CAAC;AAMH,aAAK,SAAS,SAAS,UAAU,MAAM,IAAI,MAAM,GAAG,IAAI;AACxD,aAAK,WAAW,SAAS,UAAU,SAAS,IAAI;AAEhD,aAAK,mBAAmB,KAAK,SAAS,QAAQ,EAAE,IAAI,SAAU,GAAG;AAC/D,iBAAO,KAAK,iBAAiB,YAAY,GAAG,aAAa;AAAA,QAC3D,CAAC;AAED,aAAK,aAAa;AAClB,aAAK,iBAAiB;AACtB,aAAK,YAAY;AACjB,aAAK,gBAAgB;AACrB,aAAK,OAAO;AAAA,MACd;AAEA,6BAAuB,YAAY,OAAO,OAAO,kBAAkB,SAAS;AAC5E,6BAAuB,UAAU,WAAW;AAM5C,6BAAuB,UAAU,mBAAmB,SAAS,SAAS;AACpE,YAAI,iBAAiB;AACrB,YAAI,KAAK,cAAc,MAAM;AAC3B,2BAAiB,KAAK,SAAS,KAAK,YAAY,cAAc;AAAA,QAChE;AAEA,YAAI,KAAK,SAAS,IAAI,cAAc,GAAG;AACrC,iBAAO,KAAK,SAAS,QAAQ,cAAc;AAAA,QAC7C;AAIA,YAAI;AACJ,aAAK,IAAI,GAAG,IAAI,KAAK,iBAAiB,QAAQ,EAAE,GAAG;AACjD,cAAI,KAAK,iBAAiB,CAAC,KAAK,SAAS;AACvC,mBAAO;AAAA,UACT;AAAA,QACF;AAEA,eAAO;AAAA,MACT;AAWA,6BAAuB,gBACrB,SAAS,gCAAgC,YAAY,eAAe;AAClE,YAAI,MAAM,OAAO,OAAO,uBAAuB,SAAS;AAExD,YAAI,QAAQ,IAAI,SAAS,SAAS,UAAU,WAAW,OAAO,QAAQ,GAAG,IAAI;AAC7E,YAAI,UAAU,IAAI,WAAW,SAAS,UAAU,WAAW,SAAS,QAAQ,GAAG,IAAI;AACnF,YAAI,aAAa,WAAW;AAC5B,YAAI,iBAAiB,WAAW;AAAA,UAAwB,IAAI,SAAS,QAAQ;AAAA,UACrB,IAAI;AAAA,QAAU;AACtE,YAAI,OAAO,WAAW;AACtB,YAAI,gBAAgB;AACpB,YAAI,mBAAmB,IAAI,SAAS,QAAQ,EAAE,IAAI,SAAU,GAAG;AAC7D,iBAAO,KAAK,iBAAiB,IAAI,YAAY,GAAG,aAAa;AAAA,QAC/D,CAAC;AAOD,YAAI,oBAAoB,WAAW,UAAU,QAAQ,EAAE,MAAM;AAC7D,YAAI,wBAAwB,IAAI,sBAAsB,CAAC;AACvD,YAAI,uBAAuB,IAAI,qBAAqB,CAAC;AAErD,iBAAS,IAAI,GAAG,SAAS,kBAAkB,QAAQ,IAAI,QAAQ,KAAK;AAClE,cAAI,aAAa,kBAAkB,CAAC;AACpC,cAAI,cAAc,IAAI;AACtB,sBAAY,gBAAgB,WAAW;AACvC,sBAAY,kBAAkB,WAAW;AAEzC,cAAI,WAAW,QAAQ;AACrB,wBAAY,SAAS,QAAQ,QAAQ,WAAW,MAAM;AACtD,wBAAY,eAAe,WAAW;AACtC,wBAAY,iBAAiB,WAAW;AAExC,gBAAI,WAAW,MAAM;AACnB,0BAAY,OAAO,MAAM,QAAQ,WAAW,IAAI;AAAA,YAClD;AAEA,iCAAqB,KAAK,WAAW;AAAA,UACvC;AAEA,gCAAsB,KAAK,WAAW;AAAA,QACxC;AAEA,kBAAU,IAAI,oBAAoB,KAAK,0BAA0B;AAEjE,eAAO;AAAA,MACT;AAKF,6BAAuB,UAAU,WAAW;AAK5C,aAAO,eAAe,uBAAuB,WAAW,WAAW;AAAA,QACjE,KAAK,WAAY;AACf,iBAAO,KAAK,iBAAiB,MAAM;AAAA,QACrC;AAAA,MACF,CAAC;AAKD,eAAS,UAAU;AACjB,aAAK,gBAAgB;AACrB,aAAK,kBAAkB;AACvB,aAAK,SAAS;AACd,aAAK,eAAe;AACpB,aAAK,iBAAiB;AACtB,aAAK,OAAO;AAAA,MACd;AAOA,6BAAuB,UAAU,iBAC/B,SAAS,gCAAgC,MAAM,aAAa;AAC1D,YAAI,gBAAgB;AACpB,YAAI,0BAA0B;AAC9B,YAAI,uBAAuB;AAC3B,YAAI,yBAAyB;AAC7B,YAAI,iBAAiB;AACrB,YAAI,eAAe;AACnB,YAAI,SAAS,KAAK;AAClB,YAAI,QAAQ;AACZ,YAAI,iBAAiB,CAAC;AACtB,YAAI,OAAO,CAAC;AACZ,YAAI,mBAAmB,CAAC;AACxB,YAAI,oBAAoB,CAAC;AACzB,YAAI,SAAS,KAAK,SAAS,KAAK;AAEhC,eAAO,QAAQ,QAAQ;AACrB,cAAI,KAAK,OAAO,KAAK,MAAM,KAAK;AAC9B;AACA;AACA,sCAA0B;AAAA,UAC5B,WACS,KAAK,OAAO,KAAK,MAAM,KAAK;AACnC;AAAA,UACF,OACK;AACH,sBAAU,IAAI,QAAQ;AACtB,oBAAQ,gBAAgB;AAOxB,iBAAK,MAAM,OAAO,MAAM,QAAQ,OAAO;AACrC,kBAAI,KAAK,wBAAwB,MAAM,GAAG,GAAG;AAC3C;AAAA,cACF;AAAA,YACF;AACA,kBAAM,KAAK,MAAM,OAAO,GAAG;AAE3B,sBAAU,eAAe,GAAG;AAC5B,gBAAI,SAAS;AACX,uBAAS,IAAI;AAAA,YACf,OAAO;AACL,wBAAU,CAAC;AACX,qBAAO,QAAQ,KAAK;AAClB,0BAAU,OAAO,MAAM,OAAO,IAAI;AAClC,wBAAQ,KAAK;AACb,wBAAQ,KAAK;AACb,wBAAQ,KAAK,KAAK;AAAA,cACpB;AAEA,kBAAI,QAAQ,WAAW,GAAG;AACxB,sBAAM,IAAI,MAAM,wCAAwC;AAAA,cAC1D;AAEA,kBAAI,QAAQ,WAAW,GAAG;AACxB,sBAAM,IAAI,MAAM,wCAAwC;AAAA,cAC1D;AAEA,6BAAe,GAAG,IAAI;AAAA,YACxB;AAGA,oBAAQ,kBAAkB,0BAA0B,QAAQ,CAAC;AAC7D,sCAA0B,QAAQ;AAElC,gBAAI,QAAQ,SAAS,GAAG;AAEtB,sBAAQ,SAAS,iBAAiB,QAAQ,CAAC;AAC3C,gCAAkB,QAAQ,CAAC;AAG3B,sBAAQ,eAAe,uBAAuB,QAAQ,CAAC;AACvD,qCAAuB,QAAQ;AAE/B,sBAAQ,gBAAgB;AAGxB,sBAAQ,iBAAiB,yBAAyB,QAAQ,CAAC;AAC3D,uCAAyB,QAAQ;AAEjC,kBAAI,QAAQ,SAAS,GAAG;AAEtB,wBAAQ,OAAO,eAAe,QAAQ,CAAC;AACvC,gCAAgB,QAAQ,CAAC;AAAA,cAC3B;AAAA,YACF;AAEA,8BAAkB,KAAK,OAAO;AAC9B,gBAAI,OAAO,QAAQ,iBAAiB,UAAU;AAC5C,+BAAiB,KAAK,OAAO;AAAA,YAC/B;AAAA,UACF;AAAA,QACF;AAEA,kBAAU,mBAAmB,KAAK,mCAAmC;AACrE,aAAK,sBAAsB;AAE3B,kBAAU,kBAAkB,KAAK,0BAA0B;AAC3D,aAAK,qBAAqB;AAAA,MAC5B;AAMF,6BAAuB,UAAU,eAC/B,SAAS,8BAA8B,SAAS,WAAW,WACpB,aAAa,aAAa,OAAO;AAMtE,YAAI,QAAQ,SAAS,KAAK,GAAG;AAC3B,gBAAM,IAAI,UAAU,kDACE,QAAQ,SAAS,CAAC;AAAA,QAC1C;AACA,YAAI,QAAQ,WAAW,IAAI,GAAG;AAC5B,gBAAM,IAAI,UAAU,oDACE,QAAQ,WAAW,CAAC;AAAA,QAC5C;AAEA,eAAO,aAAa,OAAO,SAAS,WAAW,aAAa,KAAK;AAAA,MACnE;AAMF,6BAAuB,UAAU,qBAC/B,SAAS,uCAAuC;AAC9C,iBAAS,QAAQ,GAAG,QAAQ,KAAK,mBAAmB,QAAQ,EAAE,OAAO;AACnE,cAAI,UAAU,KAAK,mBAAmB,KAAK;AAM3C,cAAI,QAAQ,IAAI,KAAK,mBAAmB,QAAQ;AAC9C,gBAAI,cAAc,KAAK,mBAAmB,QAAQ,CAAC;AAEnD,gBAAI,QAAQ,kBAAkB,YAAY,eAAe;AACvD,sBAAQ,sBAAsB,YAAY,kBAAkB;AAC5D;AAAA,YACF;AAAA,UACF;AAGA,kBAAQ,sBAAsB;AAAA,QAChC;AAAA,MACF;AA0BF,6BAAuB,UAAU,sBAC/B,SAAS,sCAAsC,OAAO;AACpD,YAAI,SAAS;AAAA,UACX,eAAe,KAAK,OAAO,OAAO,MAAM;AAAA,UACxC,iBAAiB,KAAK,OAAO,OAAO,QAAQ;AAAA,QAC9C;AAEA,YAAI,QAAQ,KAAK;AAAA,UACf;AAAA,UACA,KAAK;AAAA,UACL;AAAA,UACA;AAAA,UACA,KAAK;AAAA,UACL,KAAK,OAAO,OAAO,QAAQ,kBAAkB,oBAAoB;AAAA,QACnE;AAEA,YAAI,SAAS,GAAG;AACd,cAAI,UAAU,KAAK,mBAAmB,KAAK;AAE3C,cAAI,QAAQ,kBAAkB,OAAO,eAAe;AAClD,gBAAI,SAAS,KAAK,OAAO,SAAS,UAAU,IAAI;AAChD,gBAAI,WAAW,MAAM;AACnB,uBAAS,KAAK,SAAS,GAAG,MAAM;AAChC,uBAAS,KAAK,iBAAiB,KAAK,YAAY,QAAQ,KAAK,aAAa;AAAA,YAC5E;AACA,gBAAI,OAAO,KAAK,OAAO,SAAS,QAAQ,IAAI;AAC5C,gBAAI,SAAS,MAAM;AACjB,qBAAO,KAAK,OAAO,GAAG,IAAI;AAAA,YAC5B;AACA,mBAAO;AAAA,cACL;AAAA,cACA,MAAM,KAAK,OAAO,SAAS,gBAAgB,IAAI;AAAA,cAC/C,QAAQ,KAAK,OAAO,SAAS,kBAAkB,IAAI;AAAA,cACnD;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAEA,eAAO;AAAA,UACL,QAAQ;AAAA,UACR,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,MAAM;AAAA,QACR;AAAA,MACF;AAMF,6BAAuB,UAAU,0BAC/B,SAAS,iDAAiD;AACxD,YAAI,CAAC,KAAK,gBAAgB;AACxB,iBAAO;AAAA,QACT;AACA,eAAO,KAAK,eAAe,UAAU,KAAK,SAAS,KAAK,KACtD,CAAC,KAAK,eAAe,KAAK,SAAU,IAAI;AAAE,iBAAO,MAAM;AAAA,QAAM,CAAC;AAAA,MAClE;AAOF,6BAAuB,UAAU,mBAC/B,SAAS,mCAAmC,SAAS,eAAe;AAClE,YAAI,CAAC,KAAK,gBAAgB;AACxB,iBAAO;AAAA,QACT;AAEA,YAAI,QAAQ,KAAK,iBAAiB,OAAO;AACzC,YAAI,SAAS,GAAG;AACd,iBAAO,KAAK,eAAe,KAAK;AAAA,QAClC;AAEA,YAAI,iBAAiB;AACrB,YAAI,KAAK,cAAc,MAAM;AAC3B,2BAAiB,KAAK,SAAS,KAAK,YAAY,cAAc;AAAA,QAChE;AAEA,YAAI;AACJ,YAAI,KAAK,cAAc,SACf,MAAM,KAAK,SAAS,KAAK,UAAU,IAAI;AAK7C,cAAI,iBAAiB,eAAe,QAAQ,cAAc,EAAE;AAC5D,cAAI,IAAI,UAAU,UACX,KAAK,SAAS,IAAI,cAAc,GAAG;AACxC,mBAAO,KAAK,eAAe,KAAK,SAAS,QAAQ,cAAc,CAAC;AAAA,UAClE;AAEA,eAAK,CAAC,IAAI,QAAQ,IAAI,QAAQ,QACvB,KAAK,SAAS,IAAI,MAAM,cAAc,GAAG;AAC9C,mBAAO,KAAK,eAAe,KAAK,SAAS,QAAQ,MAAM,cAAc,CAAC;AAAA,UACxE;AAAA,QACF;AAMA,YAAI,eAAe;AACjB,iBAAO;AAAA,QACT,OACK;AACH,gBAAM,IAAI,MAAM,MAAM,iBAAiB,4BAA4B;AAAA,QACrE;AAAA,MACF;AAyBF,6BAAuB,UAAU,uBAC/B,SAAS,uCAAuC,OAAO;AACrD,YAAI,SAAS,KAAK,OAAO,OAAO,QAAQ;AACxC,iBAAS,KAAK,iBAAiB,MAAM;AACrC,YAAI,SAAS,GAAG;AACd,iBAAO;AAAA,YACL,MAAM;AAAA,YACN,QAAQ;AAAA,YACR,YAAY;AAAA,UACd;AAAA,QACF;AAEA,YAAI,SAAS;AAAA,UACX;AAAA,UACA,cAAc,KAAK,OAAO,OAAO,MAAM;AAAA,UACvC,gBAAgB,KAAK,OAAO,OAAO,QAAQ;AAAA,QAC7C;AAEA,YAAI,QAAQ,KAAK;AAAA,UACf;AAAA,UACA,KAAK;AAAA,UACL;AAAA,UACA;AAAA,UACA,KAAK;AAAA,UACL,KAAK,OAAO,OAAO,QAAQ,kBAAkB,oBAAoB;AAAA,QACnE;AAEA,YAAI,SAAS,GAAG;AACd,cAAI,UAAU,KAAK,kBAAkB,KAAK;AAE1C,cAAI,QAAQ,WAAW,OAAO,QAAQ;AACpC,mBAAO;AAAA,cACL,MAAM,KAAK,OAAO,SAAS,iBAAiB,IAAI;AAAA,cAChD,QAAQ,KAAK,OAAO,SAAS,mBAAmB,IAAI;AAAA,cACpD,YAAY,KAAK,OAAO,SAAS,uBAAuB,IAAI;AAAA,YAC9D;AAAA,UACF;AAAA,QACF;AAEA,eAAO;AAAA,UACL,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,YAAY;AAAA,QACd;AAAA,MACF;AAEF,cAAQ,yBAAyB;AAmDjC,eAAS,yBAAyB,YAAY,eAAe;AAC3D,YAAI,YAAY;AAChB,YAAI,OAAO,eAAe,UAAU;AAClC,sBAAY,KAAK,oBAAoB,UAAU;AAAA,QACjD;AAEA,YAAI,UAAU,KAAK,OAAO,WAAW,SAAS;AAC9C,YAAI,WAAW,KAAK,OAAO,WAAW,UAAU;AAEhD,YAAI,WAAW,KAAK,UAAU;AAC5B,gBAAM,IAAI,MAAM,0BAA0B,OAAO;AAAA,QACnD;AAEA,aAAK,WAAW,IAAI,SAAS;AAC7B,aAAK,SAAS,IAAI,SAAS;AAE3B,YAAI,aAAa;AAAA,UACf,MAAM;AAAA,UACN,QAAQ;AAAA,QACV;AACA,aAAK,YAAY,SAAS,IAAI,SAAU,GAAG;AACzC,cAAI,EAAE,KAAK;AAGT,kBAAM,IAAI,MAAM,oDAAoD;AAAA,UACtE;AACA,cAAI,SAAS,KAAK,OAAO,GAAG,QAAQ;AACpC,cAAI,aAAa,KAAK,OAAO,QAAQ,MAAM;AAC3C,cAAI,eAAe,KAAK,OAAO,QAAQ,QAAQ;AAE/C,cAAI,aAAa,WAAW,QACvB,eAAe,WAAW,QAAQ,eAAe,WAAW,QAAS;AACxE,kBAAM,IAAI,MAAM,sDAAsD;AAAA,UACxE;AACA,uBAAa;AAEb,iBAAO;AAAA,YACL,iBAAiB;AAAA;AAAA;AAAA,cAGf,eAAe,aAAa;AAAA,cAC5B,iBAAiB,eAAe;AAAA,YAClC;AAAA,YACA,UAAU,IAAI,kBAAkB,KAAK,OAAO,GAAG,KAAK,GAAG,aAAa;AAAA,UACtE;AAAA,QACF,CAAC;AAAA,MACH;AAEA,+BAAyB,YAAY,OAAO,OAAO,kBAAkB,SAAS;AAC9E,+BAAyB,UAAU,cAAc;AAKjD,+BAAyB,UAAU,WAAW;AAK9C,aAAO,eAAe,yBAAyB,WAAW,WAAW;AAAA,QACnE,KAAK,WAAY;AACf,cAAI,UAAU,CAAC;AACf,mBAAS,IAAI,GAAG,IAAI,KAAK,UAAU,QAAQ,KAAK;AAC9C,qBAAS,IAAI,GAAG,IAAI,KAAK,UAAU,CAAC,EAAE,SAAS,QAAQ,QAAQ,KAAK;AAClE,sBAAQ,KAAK,KAAK,UAAU,CAAC,EAAE,SAAS,QAAQ,CAAC,CAAC;AAAA,YACpD;AAAA,UACF;AACA,iBAAO;AAAA,QACT;AAAA,MACF,CAAC;AAqBD,+BAAyB,UAAU,sBACjC,SAAS,6CAA6C,OAAO;AAC3D,YAAI,SAAS;AAAA,UACX,eAAe,KAAK,OAAO,OAAO,MAAM;AAAA,UACxC,iBAAiB,KAAK,OAAO,OAAO,QAAQ;AAAA,QAC9C;AAIA,YAAI,eAAe,aAAa;AAAA,UAAO;AAAA,UAAQ,KAAK;AAAA,UAClD,SAASC,SAAQC,UAAS;AACxB,gBAAI,MAAMD,QAAO,gBAAgBC,SAAQ,gBAAgB;AACzD,gBAAI,KAAK;AACP,qBAAO;AAAA,YACT;AAEA,mBAAQD,QAAO,kBACPC,SAAQ,gBAAgB;AAAA,UAClC;AAAA,QAAC;AACH,YAAI,UAAU,KAAK,UAAU,YAAY;AAEzC,YAAI,CAAC,SAAS;AACZ,iBAAO;AAAA,YACL,QAAQ;AAAA,YACR,MAAM;AAAA,YACN,QAAQ;AAAA,YACR,MAAM;AAAA,UACR;AAAA,QACF;AAEA,eAAO,QAAQ,SAAS,oBAAoB;AAAA,UAC1C,MAAM,OAAO,iBACV,QAAQ,gBAAgB,gBAAgB;AAAA,UAC3C,QAAQ,OAAO,mBACZ,QAAQ,gBAAgB,kBAAkB,OAAO,gBAC/C,QAAQ,gBAAgB,kBAAkB,IAC1C;AAAA,UACL,MAAM,MAAM;AAAA,QACd,CAAC;AAAA,MACH;AAMF,+BAAyB,UAAU,0BACjC,SAAS,mDAAmD;AAC1D,eAAO,KAAK,UAAU,MAAM,SAAU,GAAG;AACvC,iBAAO,EAAE,SAAS,wBAAwB;AAAA,QAC5C,CAAC;AAAA,MACH;AAOF,+BAAyB,UAAU,mBACjC,SAAS,0CAA0C,SAAS,eAAe;AACzE,iBAAS,IAAI,GAAG,IAAI,KAAK,UAAU,QAAQ,KAAK;AAC9C,cAAI,UAAU,KAAK,UAAU,CAAC;AAE9B,cAAI,UAAU,QAAQ,SAAS,iBAAiB,SAAS,IAAI;AAC7D,cAAI,SAAS;AACX,mBAAO;AAAA,UACT;AAAA,QACF;AACA,YAAI,eAAe;AACjB,iBAAO;AAAA,QACT,OACK;AACH,gBAAM,IAAI,MAAM,MAAM,UAAU,4BAA4B;AAAA,QAC9D;AAAA,MACF;AAoBF,+BAAyB,UAAU,uBACjC,SAAS,8CAA8C,OAAO;AAC5D,iBAAS,IAAI,GAAG,IAAI,KAAK,UAAU,QAAQ,KAAK;AAC9C,cAAI,UAAU,KAAK,UAAU,CAAC;AAI9B,cAAI,QAAQ,SAAS,iBAAiB,KAAK,OAAO,OAAO,QAAQ,CAAC,MAAM,IAAI;AAC1E;AAAA,UACF;AACA,cAAI,oBAAoB,QAAQ,SAAS,qBAAqB,KAAK;AACnE,cAAI,mBAAmB;AACrB,gBAAI,MAAM;AAAA,cACR,MAAM,kBAAkB,QACrB,QAAQ,gBAAgB,gBAAgB;AAAA,cAC3C,QAAQ,kBAAkB,UACvB,QAAQ,gBAAgB,kBAAkB,kBAAkB,OAC1D,QAAQ,gBAAgB,kBAAkB,IAC1C;AAAA,YACP;AACA,mBAAO;AAAA,UACT;AAAA,QACF;AAEA,eAAO;AAAA,UACL,MAAM;AAAA,UACN,QAAQ;AAAA,QACV;AAAA,MACF;AAOF,+BAAyB,UAAU,iBACjC,SAAS,uCAAuC,MAAM,aAAa;AACjE,aAAK,sBAAsB,CAAC;AAC5B,aAAK,qBAAqB,CAAC;AAC3B,iBAAS,IAAI,GAAG,IAAI,KAAK,UAAU,QAAQ,KAAK;AAC9C,cAAI,UAAU,KAAK,UAAU,CAAC;AAC9B,cAAI,kBAAkB,QAAQ,SAAS;AACvC,mBAAS,IAAI,GAAG,IAAI,gBAAgB,QAAQ,KAAK;AAC/C,gBAAI,UAAU,gBAAgB,CAAC;AAE/B,gBAAI,SAAS,QAAQ,SAAS,SAAS,GAAG,QAAQ,MAAM;AACxD,qBAAS,KAAK,iBAAiB,QAAQ,SAAS,YAAY,QAAQ,KAAK,aAAa;AACtF,iBAAK,SAAS,IAAI,MAAM;AACxB,qBAAS,KAAK,SAAS,QAAQ,MAAM;AAErC,gBAAI,OAAO;AACX,gBAAI,QAAQ,MAAM;AAChB,qBAAO,QAAQ,SAAS,OAAO,GAAG,QAAQ,IAAI;AAC9C,mBAAK,OAAO,IAAI,IAAI;AACpB,qBAAO,KAAK,OAAO,QAAQ,IAAI;AAAA,YACjC;AAMA,gBAAI,kBAAkB;AAAA,cACpB;AAAA,cACA,eAAe,QAAQ,iBACpB,QAAQ,gBAAgB,gBAAgB;AAAA,cAC3C,iBAAiB,QAAQ,mBACtB,QAAQ,gBAAgB,kBAAkB,QAAQ,gBACjD,QAAQ,gBAAgB,kBAAkB,IAC1C;AAAA,cACJ,cAAc,QAAQ;AAAA,cACtB,gBAAgB,QAAQ;AAAA,cACxB;AAAA,YACF;AAEA,iBAAK,oBAAoB,KAAK,eAAe;AAC7C,gBAAI,OAAO,gBAAgB,iBAAiB,UAAU;AACpD,mBAAK,mBAAmB,KAAK,eAAe;AAAA,YAC9C;AAAA,UACF;AAAA,QACF;AAEA,kBAAU,KAAK,qBAAqB,KAAK,mCAAmC;AAC5E,kBAAU,KAAK,oBAAoB,KAAK,0BAA0B;AAAA,MACpE;AAEF,cAAQ,2BAA2B;AAAA;AAAA;;;ACxnCnC;AAAA;AAOA,UAAI,qBAAqB,+BAAkC;AAC3D,UAAI,OAAO;AAIX,UAAI,gBAAgB;AAGpB,UAAI,eAAe;AAKnB,UAAI,eAAe;AAcnB,eAAS,WAAW,OAAO,SAAS,SAAS,SAAS,OAAO;AAC3D,aAAK,WAAW,CAAC;AACjB,aAAK,iBAAiB,CAAC;AACvB,aAAK,OAAO,SAAS,OAAO,OAAO;AACnC,aAAK,SAAS,WAAW,OAAO,OAAO;AACvC,aAAK,SAAS,WAAW,OAAO,OAAO;AACvC,aAAK,OAAO,SAAS,OAAO,OAAO;AACnC,aAAK,YAAY,IAAI;AACrB,YAAI,WAAW;AAAM,eAAK,IAAI,OAAO;AAAA,MACvC;AAUA,iBAAW,0BACT,SAAS,mCAAmC,gBAAgB,oBAAoB,eAAe;AAG7F,YAAI,OAAO,IAAI,WAAW;AAM1B,YAAI,iBAAiB,eAAe,MAAM,aAAa;AACvD,YAAI,sBAAsB;AAC1B,YAAI,gBAAgB,WAAW;AAC7B,cAAI,eAAe,YAAY;AAE/B,cAAI,UAAU,YAAY,KAAK;AAC/B,iBAAO,eAAe;AAEtB,mBAAS,cAAc;AACrB,mBAAO,sBAAsB,eAAe,SACxC,eAAe,qBAAqB,IAAI;AAAA,UAC9C;AAAA,QACF;AAGA,YAAI,oBAAoB,GAAG,sBAAsB;AAKjD,YAAI,cAAc;AAElB,2BAAmB,YAAY,SAAU,SAAS;AAChD,cAAI,gBAAgB,MAAM;AAGxB,gBAAI,oBAAoB,QAAQ,eAAe;AAE7C,iCAAmB,aAAa,cAAc,CAAC;AAC/C;AACA,oCAAsB;AAAA,YAExB,OAAO;AAIL,kBAAI,WAAW,eAAe,mBAAmB,KAAK;AACtD,kBAAI,OAAO,SAAS,OAAO,GAAG,QAAQ,kBACR,mBAAmB;AACjD,6BAAe,mBAAmB,IAAI,SAAS,OAAO,QAAQ,kBAC1B,mBAAmB;AACvD,oCAAsB,QAAQ;AAC9B,iCAAmB,aAAa,IAAI;AAEpC,4BAAc;AACd;AAAA,YACF;AAAA,UACF;AAIA,iBAAO,oBAAoB,QAAQ,eAAe;AAChD,iBAAK,IAAI,cAAc,CAAC;AACxB;AAAA,UACF;AACA,cAAI,sBAAsB,QAAQ,iBAAiB;AACjD,gBAAI,WAAW,eAAe,mBAAmB,KAAK;AACtD,iBAAK,IAAI,SAAS,OAAO,GAAG,QAAQ,eAAe,CAAC;AACpD,2BAAe,mBAAmB,IAAI,SAAS,OAAO,QAAQ,eAAe;AAC7E,kCAAsB,QAAQ;AAAA,UAChC;AACA,wBAAc;AAAA,QAChB,GAAG,IAAI;AAEP,YAAI,sBAAsB,eAAe,QAAQ;AAC/C,cAAI,aAAa;AAEf,+BAAmB,aAAa,cAAc,CAAC;AAAA,UACjD;AAEA,eAAK,IAAI,eAAe,OAAO,mBAAmB,EAAE,KAAK,EAAE,CAAC;AAAA,QAC9D;AAGA,2BAAmB,QAAQ,QAAQ,SAAU,YAAY;AACvD,cAAI,UAAU,mBAAmB,iBAAiB,UAAU;AAC5D,cAAI,WAAW,MAAM;AACnB,gBAAI,iBAAiB,MAAM;AACzB,2BAAa,KAAK,KAAK,eAAe,UAAU;AAAA,YAClD;AACA,iBAAK,iBAAiB,YAAY,OAAO;AAAA,UAC3C;AAAA,QACF,CAAC;AAED,eAAO;AAEP,iBAAS,mBAAmB,SAAS,MAAM;AACzC,cAAI,YAAY,QAAQ,QAAQ,WAAW,QAAW;AACpD,iBAAK,IAAI,IAAI;AAAA,UACf,OAAO;AACL,gBAAI,SAAS,gBACT,KAAK,KAAK,eAAe,QAAQ,MAAM,IACvC,QAAQ;AACZ,iBAAK,IAAI,IAAI;AAAA,cAAW,QAAQ;AAAA,cACR,QAAQ;AAAA,cACR;AAAA,cACA;AAAA,cACA,QAAQ;AAAA,YAAI,CAAC;AAAA,UACvC;AAAA,QACF;AAAA,MACF;AAQF,iBAAW,UAAU,MAAM,SAAS,eAAe,QAAQ;AACzD,YAAI,MAAM,QAAQ,MAAM,GAAG;AACzB,iBAAO,QAAQ,SAAU,OAAO;AAC9B,iBAAK,IAAI,KAAK;AAAA,UAChB,GAAG,IAAI;AAAA,QACT,WACS,OAAO,YAAY,KAAK,OAAO,WAAW,UAAU;AAC3D,cAAI,QAAQ;AACV,iBAAK,SAAS,KAAK,MAAM;AAAA,UAC3B;AAAA,QACF,OACK;AACH,gBAAM,IAAI;AAAA,YACR,gFAAgF;AAAA,UAClF;AAAA,QACF;AACA,eAAO;AAAA,MACT;AAQA,iBAAW,UAAU,UAAU,SAAS,mBAAmB,QAAQ;AACjE,YAAI,MAAM,QAAQ,MAAM,GAAG;AACzB,mBAAS,IAAI,OAAO,SAAO,GAAG,KAAK,GAAG,KAAK;AACzC,iBAAK,QAAQ,OAAO,CAAC,CAAC;AAAA,UACxB;AAAA,QACF,WACS,OAAO,YAAY,KAAK,OAAO,WAAW,UAAU;AAC3D,eAAK,SAAS,QAAQ,MAAM;AAAA,QAC9B,OACK;AACH,gBAAM,IAAI;AAAA,YACR,gFAAgF;AAAA,UAClF;AAAA,QACF;AACA,eAAO;AAAA,MACT;AASA,iBAAW,UAAU,OAAO,SAAS,gBAAgB,KAAK;AACxD,YAAI;AACJ,iBAAS,IAAI,GAAG,MAAM,KAAK,SAAS,QAAQ,IAAI,KAAK,KAAK;AACxD,kBAAQ,KAAK,SAAS,CAAC;AACvB,cAAI,MAAM,YAAY,GAAG;AACvB,kBAAM,KAAK,GAAG;AAAA,UAChB,OACK;AACH,gBAAI,UAAU,IAAI;AAChB,kBAAI,OAAO;AAAA,gBAAE,QAAQ,KAAK;AAAA,gBACb,MAAM,KAAK;AAAA,gBACX,QAAQ,KAAK;AAAA,gBACb,MAAM,KAAK;AAAA,cAAK,CAAC;AAAA,YAChC;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAQA,iBAAW,UAAU,OAAO,SAAS,gBAAgB,MAAM;AACzD,YAAI;AACJ,YAAI;AACJ,YAAI,MAAM,KAAK,SAAS;AACxB,YAAI,MAAM,GAAG;AACX,wBAAc,CAAC;AACf,eAAK,IAAI,GAAG,IAAI,MAAI,GAAG,KAAK;AAC1B,wBAAY,KAAK,KAAK,SAAS,CAAC,CAAC;AACjC,wBAAY,KAAK,IAAI;AAAA,UACvB;AACA,sBAAY,KAAK,KAAK,SAAS,CAAC,CAAC;AACjC,eAAK,WAAW;AAAA,QAClB;AACA,eAAO;AAAA,MACT;AASA,iBAAW,UAAU,eAAe,SAAS,wBAAwB,UAAU,cAAc;AAC3F,YAAI,YAAY,KAAK,SAAS,KAAK,SAAS,SAAS,CAAC;AACtD,YAAI,UAAU,YAAY,GAAG;AAC3B,oBAAU,aAAa,UAAU,YAAY;AAAA,QAC/C,WACS,OAAO,cAAc,UAAU;AACtC,eAAK,SAAS,KAAK,SAAS,SAAS,CAAC,IAAI,UAAU,QAAQ,UAAU,YAAY;AAAA,QACpF,OACK;AACH,eAAK,SAAS,KAAK,GAAG,QAAQ,UAAU,YAAY,CAAC;AAAA,QACvD;AACA,eAAO;AAAA,MACT;AASA,iBAAW,UAAU,mBACnB,SAAS,4BAA4B,aAAa,gBAAgB;AAChE,aAAK,eAAe,KAAK,YAAY,WAAW,CAAC,IAAI;AAAA,MACvD;AAQF,iBAAW,UAAU,qBACnB,SAAS,8BAA8B,KAAK;AAC1C,iBAAS,IAAI,GAAG,MAAM,KAAK,SAAS,QAAQ,IAAI,KAAK,KAAK;AACxD,cAAI,KAAK,SAAS,CAAC,EAAE,YAAY,GAAG;AAClC,iBAAK,SAAS,CAAC,EAAE,mBAAmB,GAAG;AAAA,UACzC;AAAA,QACF;AAEA,YAAI,UAAU,OAAO,KAAK,KAAK,cAAc;AAC7C,iBAAS,IAAI,GAAG,MAAM,QAAQ,QAAQ,IAAI,KAAK,KAAK;AAClD,cAAI,KAAK,cAAc,QAAQ,CAAC,CAAC,GAAG,KAAK,eAAe,QAAQ,CAAC,CAAC,CAAC;AAAA,QACrE;AAAA,MACF;AAMF,iBAAW,UAAU,WAAW,SAAS,sBAAsB;AAC7D,YAAI,MAAM;AACV,aAAK,KAAK,SAAU,OAAO;AACzB,iBAAO;AAAA,QACT,CAAC;AACD,eAAO;AAAA,MACT;AAMA,iBAAW,UAAU,wBAAwB,SAAS,iCAAiC,OAAO;AAC5F,YAAI,YAAY;AAAA,UACd,MAAM;AAAA,UACN,MAAM;AAAA,UACN,QAAQ;AAAA,QACV;AACA,YAAI,MAAM,IAAI,mBAAmB,KAAK;AACtC,YAAI,sBAAsB;AAC1B,YAAI,qBAAqB;AACzB,YAAI,mBAAmB;AACvB,YAAI,qBAAqB;AACzB,YAAI,mBAAmB;AACvB,aAAK,KAAK,SAAU,OAAO,UAAU;AACnC,oBAAU,QAAQ;AAClB,cAAI,SAAS,WAAW,QACjB,SAAS,SAAS,QAClB,SAAS,WAAW,MAAM;AAC/B,gBAAG,uBAAuB,SAAS,UAC7B,qBAAqB,SAAS,QAC9B,uBAAuB,SAAS,UAChC,qBAAqB,SAAS,MAAM;AACxC,kBAAI,WAAW;AAAA,gBACb,QAAQ,SAAS;AAAA,gBACjB,UAAU;AAAA,kBACR,MAAM,SAAS;AAAA,kBACf,QAAQ,SAAS;AAAA,gBACnB;AAAA,gBACA,WAAW;AAAA,kBACT,MAAM,UAAU;AAAA,kBAChB,QAAQ,UAAU;AAAA,gBACpB;AAAA,gBACA,MAAM,SAAS;AAAA,cACjB,CAAC;AAAA,YACH;AACA,iCAAqB,SAAS;AAC9B,+BAAmB,SAAS;AAC5B,iCAAqB,SAAS;AAC9B,+BAAmB,SAAS;AAC5B,kCAAsB;AAAA,UACxB,WAAW,qBAAqB;AAC9B,gBAAI,WAAW;AAAA,cACb,WAAW;AAAA,gBACT,MAAM,UAAU;AAAA,gBAChB,QAAQ,UAAU;AAAA,cACpB;AAAA,YACF,CAAC;AACD,iCAAqB;AACrB,kCAAsB;AAAA,UACxB;AACA,mBAAS,MAAM,GAAG,SAAS,MAAM,QAAQ,MAAM,QAAQ,OAAO;AAC5D,gBAAI,MAAM,WAAW,GAAG,MAAM,cAAc;AAC1C,wBAAU;AACV,wBAAU,SAAS;AAEnB,kBAAI,MAAM,MAAM,QAAQ;AACtB,qCAAqB;AACrB,sCAAsB;AAAA,cACxB,WAAW,qBAAqB;AAC9B,oBAAI,WAAW;AAAA,kBACb,QAAQ,SAAS;AAAA,kBACjB,UAAU;AAAA,oBACR,MAAM,SAAS;AAAA,oBACf,QAAQ,SAAS;AAAA,kBACnB;AAAA,kBACA,WAAW;AAAA,oBACT,MAAM,UAAU;AAAA,oBAChB,QAAQ,UAAU;AAAA,kBACpB;AAAA,kBACA,MAAM,SAAS;AAAA,gBACjB,CAAC;AAAA,cACH;AAAA,YACF,OAAO;AACL,wBAAU;AAAA,YACZ;AAAA,UACF;AAAA,QACF,CAAC;AACD,aAAK,mBAAmB,SAAU,YAAY,eAAe;AAC3D,cAAI,iBAAiB,YAAY,aAAa;AAAA,QAChD,CAAC;AAED,eAAO,EAAE,MAAM,UAAU,MAAM,IAAS;AAAA,MAC1C;AAEA,cAAQ,aAAa;AAAA;AAAA;;;AC5ZrB;AAAA;AAKA,cAAQ,qBAAqB,+BAAsC;AACnE,cAAQ,oBAAoB,8BAAqC;AACjE,cAAQ,aAAa,sBAA6B;AAAA;AAAA;;;ACPlD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAyBA,WAAS,eAAe,OAAO,gBAAgB;AAE7C,QAAI,KAAK;AACT,aAAS,IAAI,MAAM,SAAS,GAAG,KAAK,GAAG,KAAK;AAC1C,UAAI,OAAO,MAAM,CAAC;AAClB,UAAI,SAAS,KAAK;AAChB,cAAM,OAAO,GAAG,CAAC;AAAA,MACnB,WAAW,SAAS,MAAM;AACxB,cAAM,OAAO,GAAG,CAAC;AACjB;AAAA,MACF,WAAW,IAAI;AACb,cAAM,OAAO,GAAG,CAAC;AACjB;AAAA,MACF;AAAA,IACF;AAGA,QAAI,gBAAgB;AAClB,aAAO,MAAM,IAAI;AACf,cAAM,QAAQ,IAAI;AAAA,MACpB;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAYO,WAAS,UAAU;AACxB,QAAI,eAAe,IACf,mBAAmB;AAEvB,aAAS,IAAI,UAAU,SAAS,GAAG,KAAK,MAAM,CAAC,kBAAkB,KAAK;AACpE,UAAI,OAAQ,KAAK,IAAK,UAAU,CAAC,IAAI;AAGrC,UAAI,OAAO,SAAS,UAAU;AAC5B,cAAM,IAAI,UAAU,2CAA2C;AAAA,MACjE,WAAW,CAAC,MAAM;AAChB;AAAA,MACF;AAEA,qBAAe,OAAO,MAAM;AAC5B,yBAAmB,KAAK,OAAO,CAAC,MAAM;AAAA,IACxC;AAMA,mBAAe,eAAe,OAAO,aAAa,MAAM,GAAG,GAAG,SAAS,GAAG;AACxE,aAAO,CAAC,CAAC;AAAA,IACX,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,GAAG;AAE/B,YAAS,mBAAmB,MAAM,MAAM,gBAAiB;AAAA,EAC3D;AAIO,WAAS,UAAU,MAAM;AAC9B,QAAI,iBAAiB,WAAW,IAAI,GAChC,gBAAgB,OAAO,MAAM,EAAE,MAAM;AAGzC,WAAO,eAAe,OAAO,KAAK,MAAM,GAAG,GAAG,SAAS,GAAG;AACxD,aAAO,CAAC,CAAC;AAAA,IACX,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,GAAG;AAE7B,QAAI,CAAC,QAAQ,CAAC,gBAAgB;AAC5B,aAAO;AAAA,IACT;AACA,QAAI,QAAQ,eAAe;AACzB,cAAQ;AAAA,IACV;AAEA,YAAQ,iBAAiB,MAAM,MAAM;AAAA,EACvC;AAGO,WAAS,WAAW,MAAM;AAC/B,WAAO,KAAK,OAAO,CAAC,MAAM;AAAA,EAC5B;AAGO,WAAS,OAAO;AACrB,QAAI,QAAQ,MAAM,UAAU,MAAM,KAAK,WAAW,CAAC;AACnD,WAAO,UAAU,OAAO,OAAO,SAAS,GAAG,OAAO;AAChD,UAAI,OAAO,MAAM,UAAU;AACzB,cAAM,IAAI,UAAU,wCAAwC;AAAA,MAC9D;AACA,aAAO;AAAA,IACT,CAAC,EAAE,KAAK,GAAG,CAAC;AAAA,EACd;AAKO,WAAS,SAAS,MAAM,IAAI;AACjC,WAAO,QAAQ,IAAI,EAAE,OAAO,CAAC;AAC7B,SAAK,QAAQ,EAAE,EAAE,OAAO,CAAC;AAEzB,aAAS,KAAK,KAAK;AACjB,UAAI,QAAQ;AACZ,aAAO,QAAQ,IAAI,QAAQ,SAAS;AAClC,YAAI,IAAI,KAAK,MAAM;AAAI;AAAA,MACzB;AAEA,UAAI,MAAM,IAAI,SAAS;AACvB,aAAO,OAAO,GAAG,OAAO;AACtB,YAAI,IAAI,GAAG,MAAM;AAAI;AAAA,MACvB;AAEA,UAAI,QAAQ;AAAK,eAAO,CAAC;AACzB,aAAO,IAAI,MAAM,OAAO,MAAM,QAAQ,CAAC;AAAA,IACzC;AAEA,QAAI,YAAY,KAAK,KAAK,MAAM,GAAG,CAAC;AACpC,QAAI,UAAU,KAAK,GAAG,MAAM,GAAG,CAAC;AAEhC,QAAI,SAAS,KAAK,IAAI,UAAU,QAAQ,QAAQ,MAAM;AACtD,QAAI,kBAAkB;AACtB,aAAS,IAAI,GAAG,IAAI,QAAQ,KAAK;AAC/B,UAAI,UAAU,CAAC,MAAM,QAAQ,CAAC,GAAG;AAC/B,0BAAkB;AAClB;AAAA,MACF;AAAA,IACF;AAEA,QAAI,cAAc,CAAC;AACnB,aAAS,IAAI,iBAAiB,IAAI,UAAU,QAAQ,KAAK;AACvD,kBAAY,KAAK,IAAI;AAAA,IACvB;AAEA,kBAAc,YAAY,OAAO,QAAQ,MAAM,eAAe,CAAC;AAE/D,WAAO,YAAY,KAAK,GAAG;AAAA,EAC7B;AAKO,WAAS,QAAQ,MAAM;AAC5B,QAAI,SAAS,UAAU,IAAI,GACvBC,QAAO,OAAO,CAAC,GACf,MAAM,OAAO,CAAC;AAElB,QAAI,CAACA,SAAQ,CAAC,KAAK;AAEjB,aAAO;AAAA,IACT;AAEA,QAAI,KAAK;AAEP,YAAM,IAAI,OAAO,GAAG,IAAI,SAAS,CAAC;AAAA,IACpC;AAEA,WAAOA,QAAO;AAAA,EAChB;AAEO,WAAS,SAAS,MAAM,KAAK;AAClC,QAAI,IAAI,UAAU,IAAI,EAAE,CAAC;AAEzB,QAAI,OAAO,EAAE,OAAO,KAAK,IAAI,MAAM,MAAM,KAAK;AAC5C,UAAI,EAAE,OAAO,GAAG,EAAE,SAAS,IAAI,MAAM;AAAA,IACvC;AACA,WAAO;AAAA,EACT;AAGO,WAAS,QAAQ,MAAM;AAC5B,WAAO,UAAU,IAAI,EAAE,CAAC;AAAA,EAC1B;AAaA,WAAS,OAAQ,IAAI,GAAG;AACpB,QAAI,GAAG;AAAQ,aAAO,GAAG,OAAO,CAAC;AACjC,QAAI,MAAM,CAAC;AACX,aAAS,IAAI,GAAG,IAAI,GAAG,QAAQ,KAAK;AAChC,UAAI,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE;AAAG,YAAI,KAAK,GAAG,CAAC,CAAC;AAAA,IACvC;AACA,WAAO;AAAA,EACX;AAhOA,MAqDI,aAEA,WAoHO,KACA,WAiCJ,cAsBH;AAnOJ;AAAA;AAqDA,MAAI,cACA;AACJ,MAAI,YAAY,SAAS,UAAU;AACjC,eAAO,YAAY,KAAK,QAAQ,EAAE,MAAM,CAAC;AAAA,MAC3C;AAkHO,MAAI,MAAM;AACV,MAAI,YAAY;AAiCvB,MAAO,eAAQ;AAAA,QACb;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAWA,MAAI,SAAS,KAAK,OAAO,EAAE,MAAM,MAC7B,SAAU,KAAK,OAAO,KAAK;AAAE,eAAO,IAAI,OAAO,OAAO,GAAG;AAAA,MAAE,IAC3D,SAAU,KAAK,OAAO,KAAK;AACvB,YAAI,QAAQ;AAAG,kBAAQ,IAAI,SAAS;AACpC,eAAO,IAAI,OAAO,OAAO,GAAG;AAAA,MAChC;AAAA;AAAA;;;ACxOJ;AAAA;AACA,UAAM,WAAW;AAEjB,UAAI,YAAY,SAAS,SAAS;AAC9B,eAAO,UAAU,SAAS;AAC1B,iBAAS,KAAK,UAAU;AACpB,iBAAO,QAAQ,CAAC,IAAI,SAAS,CAAC;AAAA,QAClC;AAAA,MACJ,WAAW,UAAW;AAClB,eAAO,UAAU;AAAA,MACrB;AAAA;AAAA;;;ACVA;AAAA;AAAA;AAAA;AAAA,MAAO;AAAP;AAAA;AAAA,MAAO,aAAQ,CAAC;AAAA;AAAA;;;ACAhB;AAAA;AACA,UAAM,WAAW;AAEjB,UAAI,YAAY,SAAS,SAAS;AAC9B,eAAO,UAAU,SAAS;AAC1B,iBAAS,KAAK,UAAU;AACpB,iBAAO,QAAQ,CAAC,IAAI,SAAS,CAAC;AAAA,QAClC;AAAA,MACJ,WAAW,UAAW;AAClB,eAAO,UAAU;AAAA,MACrB;AAAA;AAAA;;;ACVA;AAAA;AAEA,UAAI,WAAW,OAAO,UAAU;AAEhC,UAAI,WACF,OAAO,WAAW,eAClB,OAAO,OAAO,UAAU,cACxB,OAAO,OAAO,gBAAgB,cAC9B,OAAO,OAAO,SAAS;AAGzB,eAAS,cAAe,OAAO;AAC7B,eAAO,SAAS,KAAK,KAAK,EAAE,MAAM,GAAG,EAAE,MAAM;AAAA,MAC/C;AAEA,eAAS,gBAAiB,KAAK,YAAY,QAAQ;AACjD,wBAAgB;AAEhB,YAAI,YAAY,IAAI,aAAa;AAEjC,YAAI,YAAY,GAAG;AACjB,gBAAM,IAAI,WAAW,2BAA2B;AAAA,QAClD;AAEA,YAAI,WAAW,QAAW;AACxB,mBAAS;AAAA,QACX,OAAO;AACL,sBAAY;AAEZ,cAAI,SAAS,WAAW;AACtB,kBAAM,IAAI,WAAW,2BAA2B;AAAA,UAClD;AAAA,QACF;AAEA,eAAO,WACH,OAAO,KAAK,IAAI,MAAM,YAAY,aAAa,MAAM,CAAC,IACtD,IAAI,OAAO,IAAI,WAAW,IAAI,MAAM,YAAY,aAAa,MAAM,CAAC,CAAC;AAAA,MAC3E;AAEA,eAAS,WAAY,QAAQ,UAAU;AACrC,YAAI,OAAO,aAAa,YAAY,aAAa,IAAI;AACnD,qBAAW;AAAA,QACb;AAEA,YAAI,CAAC,OAAO,WAAW,QAAQ,GAAG;AAChC,gBAAM,IAAI,UAAU,4CAA4C;AAAA,QAClE;AAEA,eAAO,WACH,OAAO,KAAK,QAAQ,QAAQ,IAC5B,IAAI,OAAO,QAAQ,QAAQ;AAAA,MACjC;AAEA,eAAS,WAAY,OAAO,kBAAkB,QAAQ;AACpD,YAAI,OAAO,UAAU,UAAU;AAC7B,gBAAM,IAAI,UAAU,uCAAuC;AAAA,QAC7D;AAEA,YAAI,cAAc,KAAK,GAAG;AACxB,iBAAO,gBAAgB,OAAO,kBAAkB,MAAM;AAAA,QACxD;AAEA,YAAI,OAAO,UAAU,UAAU;AAC7B,iBAAO,WAAW,OAAO,gBAAgB;AAAA,QAC3C;AAEA,eAAO,WACH,OAAO,KAAK,KAAK,IACjB,IAAI,OAAO,KAAK;AAAA,MACtB;AAEA,aAAO,UAAU;AAAA;AAAA;;;ACvEjB;AAAA;AAAA,UAAI,oBAAoB,qBAAsB;AAC9C,UAAI,OAAO;AAEX,UAAI;AACJ,UAAI;AACF,aAAK;AACL,YAAI,CAAC,GAAG,cAAc,CAAC,GAAG,cAAc;AAEtC,eAAK;AAAA,QACP;AAAA,MACF,SAAS,KAAK;AAAA,MAEd;AAEA,UAAI,aAAa;AAQjB,eAAS,eAAe,KAAK,SAAS;AACpC,eAAO,IAAI,QAAQ,OAAO;AAAA,MAC5B;AAGA,UAAI,0BAA0B;AAC9B,UAAI,wBAAwB;AAG5B,UAAI,8BAA8B;AAGlC,UAAI,cAAc;AAGlB,UAAI,oBAAoB,CAAC;AAGzB,UAAI,iBAAiB,CAAC;AAGtB,UAAI,cAAc;AAGlB,UAAI,uBAAuB,CAAC;AAC5B,UAAI,sBAAsB,CAAC;AAE3B,eAAS,cAAc;AACrB,YAAI,gBAAgB;AAClB,iBAAO;AACT,YAAI,gBAAgB;AAClB,iBAAO;AACT,eAAS,OAAO,WAAW,eAAiB,OAAO,mBAAmB,cAAe,EAAE,OAAO,WAAW,OAAO,UAAU,OAAO,WAAW,OAAO,QAAQ,SAAS;AAAA,MACtK;AAEA,eAAS,+BAA+B;AACtC,eAAS,OAAO,YAAY,YAAc,YAAY,QAAU,OAAO,QAAQ,OAAO;AAAA,MACxF;AAEA,eAAS,uBAAuB;AAC9B,YAAK,OAAO,YAAY,YAAc,YAAY,MAAO;AACvD,iBAAO,QAAQ;AAAA,QACjB,OAAO;AACL,iBAAO;AAAA,QACT;AAAA,MACF;AAEA,eAAS,sBAAsB;AAC7B,YAAK,OAAO,YAAY,YAAc,YAAY,MAAO;AACvD,iBAAO,QAAQ;AAAA,QACjB;AAAA,MACF;AAEA,eAAS,kBAAkB,MAAM;AAC/B,YAAK,OAAO,YAAY,YAAc,YAAY,QAAU,OAAO,QAAQ,SAAS,YAAa;AAC/F,iBAAO,QAAQ,KAAK,IAAI;AAAA,QAC1B;AAAA,MACF;AAEA,eAAS,YAAY,MAAM;AACzB,eAAO,SAAS,KAAK;AACnB,mBAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,gBAAI,MAAM,KAAK,CAAC,EAAE,GAAG;AACrB,gBAAI,KAAK;AACP,qBAAO;AAAA,YACT;AAAA,UACF;AACA,iBAAO;AAAA,QACT;AAAA,MACF;AAEA,UAAI,eAAe,YAAY,oBAAoB;AAEnD,2BAAqB,KAAK,SAASC,OAAM;AAEvC,QAAAA,QAAOA,MAAK,KAAK;AACjB,YAAI,SAAS,KAAKA,KAAI,GAAG;AAEvB,UAAAA,QAAOA,MAAK,QAAQ,qBAAqB,SAAS,UAAU,OAAO;AACjE,mBAAO,QACL;AAAA;AAAA,cACA;AAAA;AAAA,UACJ,CAAC;AAAA,QACH;AACA,YAAIA,SAAQ,mBAAmB;AAC7B,iBAAO,kBAAkBA,KAAI;AAAA,QAC/B;AAEA,YAAI,WAAW;AACf,YAAI;AACF,cAAI,CAAC,IAAI;AAEP,gBAAI,MAAM,IAAI,eAAe;AAC7B,gBAAI;AAAA,cAAK;AAAA,cAAOA;AAAA;AAAA,cAAmB;AAAA,YAAK;AACxC,gBAAI,KAAK,IAAI;AACb,gBAAI,IAAI,eAAe,KAAK,IAAI,WAAW,KAAK;AAC9C,yBAAW,IAAI;AAAA,YACjB;AAAA,UACF,WAAW,GAAG,WAAWA,KAAI,GAAG;AAE9B,uBAAW,GAAG,aAAaA,OAAM,MAAM;AAAA,UACzC;AAAA,QACF,SAAS,IAAI;AAAA,QAEb;AAEA,eAAO,kBAAkBA,KAAI,IAAI;AAAA,MACnC,CAAC;AAID,eAAS,mBAAmB,MAAM,KAAK;AACrC,YAAI,CAAC;AAAM,iBAAO;AAClB,YAAI,MAAM,KAAK,QAAQ,IAAI;AAC3B,YAAI,QAAQ,kBAAkB,KAAK,GAAG;AACtC,YAAI,WAAW,QAAQ,MAAM,CAAC,IAAI;AAClC,YAAI,YAAY,IAAI,MAAM,SAAS,MAAM;AACzC,YAAI,YAAY,UAAU,KAAK,SAAS,GAAG;AAEzC,sBAAY;AACZ,iBAAO,WAAW,KAAK,QAAQ,IAAI,MAAM,SAAS,MAAM,GAAG,GAAG,EAAE,QAAQ,OAAO,GAAG;AAAA,QACpF;AACA,eAAO,WAAW,KAAK,QAAQ,IAAI,MAAM,SAAS,MAAM,GAAG,GAAG;AAAA,MAChE;AAEA,eAAS,qBAAqB,QAAQ;AACpC,YAAI;AAEJ,YAAI,YAAY,GAAG;AAChB,cAAI;AACF,gBAAI,MAAM,IAAI,eAAe;AAC7B,gBAAI,KAAK,OAAO,QAAQ,KAAK;AAC7B,gBAAI,KAAK,IAAI;AACb,uBAAW,IAAI,eAAe,IAAI,IAAI,eAAe;AAGrD,gBAAI,kBAAkB,IAAI,kBAAkB,WAAW,KACjC,IAAI,kBAAkB,aAAa;AACzD,gBAAI,iBAAiB;AACnB,qBAAO;AAAA,YACT;AAAA,UACF,SAAS,GAAG;AAAA,UACZ;AAAA,QACH;AAGA,mBAAW,aAAa,MAAM;AAC9B,YAAI,KAAK;AAGT,YAAI,WAAW;AACf,eAAO,QAAQ,GAAG,KAAK,QAAQ;AAAG,sBAAY;AAC9C,YAAI,CAAC;AAAW,iBAAO;AACvB,eAAO,UAAU,CAAC;AAAA,MACpB;AAOA,UAAI,oBAAoB,YAAY,mBAAmB;AACvD,0BAAoB,KAAK,SAAS,QAAQ;AACxC,YAAI,mBAAmB,qBAAqB,MAAM;AAClD,YAAI,CAAC;AAAkB,iBAAO;AAG9B,YAAI;AACJ,YAAI,YAAY,KAAK,gBAAgB,GAAG;AAEtC,cAAI,UAAU,iBAAiB,MAAM,iBAAiB,QAAQ,GAAG,IAAI,CAAC;AACtE,0BAAgB,WAAW,SAAS,QAAQ,EAAE,SAAS;AACvD,6BAAmB;AAAA,QACrB,OAAO;AAEL,6BAAmB,mBAAmB,QAAQ,gBAAgB;AAC9D,0BAAgB,aAAa,gBAAgB;AAAA,QAC/C;AAEA,YAAI,CAAC,eAAe;AAClB,iBAAO;AAAA,QACT;AAEA,eAAO;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,QACP;AAAA,MACF,CAAC;AAED,eAAS,kBAAkB,UAAU;AACnC,YAAI,YAAY,eAAe,SAAS,MAAM;AAC9C,YAAI,CAAC,WAAW;AAEd,cAAI,YAAY,kBAAkB,SAAS,MAAM;AACjD,cAAI,WAAW;AACb,wBAAY,eAAe,SAAS,MAAM,IAAI;AAAA,cAC5C,KAAK,UAAU;AAAA,cACf,KAAK,IAAI,kBAAkB,UAAU,GAAG;AAAA,YAC1C;AAIA,gBAAI,UAAU,IAAI,gBAAgB;AAChC,wBAAU,IAAI,QAAQ,QAAQ,SAAS,QAAQ,GAAG;AAChD,oBAAI,WAAW,UAAU,IAAI,eAAe,CAAC;AAC7C,oBAAI,UAAU;AACZ,sBAAI,MAAM,mBAAmB,UAAU,KAAK,MAAM;AAClD,oCAAkB,GAAG,IAAI;AAAA,gBAC3B;AAAA,cACF,CAAC;AAAA,YACH;AAAA,UACF,OAAO;AACL,wBAAY,eAAe,SAAS,MAAM,IAAI;AAAA,cAC5C,KAAK;AAAA,cACL,KAAK;AAAA,YACP;AAAA,UACF;AAAA,QACF;AAGA,YAAI,aAAa,UAAU,OAAO,OAAO,UAAU,IAAI,wBAAwB,YAAY;AACzF,cAAI,mBAAmB,UAAU,IAAI,oBAAoB,QAAQ;AAOjE,cAAI,iBAAiB,WAAW,MAAM;AACpC,6BAAiB,SAAS;AAAA,cACxB,UAAU;AAAA,cAAK,iBAAiB;AAAA,YAAM;AACxC,mBAAO;AAAA,UACT;AAAA,QACF;AAEA,eAAO;AAAA,MACT;AAIA,eAAS,cAAc,QAAQ;AAE7B,YAAI,QAAQ,yCAAyC,KAAK,MAAM;AAChE,YAAI,OAAO;AACT,cAAI,WAAW,kBAAkB;AAAA,YAC/B,QAAQ,MAAM,CAAC;AAAA,YACf,MAAM,CAAC,MAAM,CAAC;AAAA,YACd,QAAQ,MAAM,CAAC,IAAI;AAAA,UACrB,CAAC;AACD,iBAAO,aAAa,MAAM,CAAC,IAAI,OAAO,SAAS,SAAS,MACtD,SAAS,OAAO,OAAO,SAAS,SAAS,KAAK;AAAA,QAClD;AAGA,gBAAQ,6BAA6B,KAAK,MAAM;AAChD,YAAI,OAAO;AACT,iBAAO,aAAa,MAAM,CAAC,IAAI,OAAO,cAAc,MAAM,CAAC,CAAC,IAAI;AAAA,QAClE;AAGA,eAAO;AAAA,MACT;AAQA,eAAS,mBAAmB;AAC1B,YAAI;AACJ,YAAI,eAAe;AACnB,YAAI,KAAK,SAAS,GAAG;AACnB,yBAAe;AAAA,QACjB,OAAO;AACL,qBAAW,KAAK,yBAAyB;AACzC,cAAI,CAAC,YAAY,KAAK,OAAO,GAAG;AAC9B,2BAAe,KAAK,cAAc;AAClC,4BAAgB;AAAA,UAClB;AAEA,cAAI,UAAU;AACZ,4BAAgB;AAAA,UAClB,OAAO;AAIL,4BAAgB;AAAA,UAClB;AACA,cAAI,aAAa,KAAK,cAAc;AACpC,cAAI,cAAc,MAAM;AACtB,4BAAgB,MAAM;AACtB,gBAAI,eAAe,KAAK,gBAAgB;AACxC,gBAAI,cAAc;AAChB,8BAAgB,MAAM;AAAA,YACxB;AAAA,UACF;AAAA,QACF;AAEA,YAAI,OAAO;AACX,YAAI,eAAe,KAAK,gBAAgB;AACxC,YAAI,YAAY;AAChB,YAAI,gBAAgB,KAAK,cAAc;AACvC,YAAI,eAAe,EAAE,KAAK,WAAW,KAAK;AAC1C,YAAI,cAAc;AAChB,cAAI,WAAW,KAAK,YAAY;AAEhC,cAAI,aAAa,mBAAmB;AAClC,uBAAW;AAAA,UACb;AACA,cAAI,aAAa,KAAK,cAAc;AACpC,cAAI,cAAc;AAChB,gBAAI,YAAY,aAAa,QAAQ,QAAQ,KAAK,GAAG;AACnD,sBAAQ,WAAW;AAAA,YACrB;AACA,oBAAQ;AACR,gBAAI,cAAc,aAAa,QAAQ,MAAM,UAAU,KAAK,aAAa,SAAS,WAAW,SAAS,GAAG;AACvG,sBAAQ,UAAU,aAAa;AAAA,YACjC;AAAA,UACF,OAAO;AACL,oBAAQ,WAAW,OAAO,cAAc;AAAA,UAC1C;AAAA,QACF,WAAW,eAAe;AACxB,kBAAQ,UAAU,gBAAgB;AAAA,QACpC,WAAW,cAAc;AACvB,kBAAQ;AAAA,QACV,OAAO;AACL,kBAAQ;AACR,sBAAY;AAAA,QACd;AACA,YAAI,WAAW;AACb,kBAAQ,OAAO,eAAe;AAAA,QAChC;AACA,eAAO;AAAA,MACT;AAEA,eAAS,cAAc,OAAO;AAC5B,YAAI,SAAS,CAAC;AACd,eAAO,oBAAoB,OAAO,eAAe,KAAK,CAAC,EAAE,QAAQ,SAAS,MAAM;AAC9E,iBAAO,IAAI,IAAI,cAAc,KAAK,IAAI,IAAI,WAAW;AAAE,mBAAO,MAAM,IAAI,EAAE,KAAK,KAAK;AAAA,UAAG,IAAI,MAAM,IAAI;AAAA,QACvG,CAAC;AACD,eAAO,WAAW;AAClB,eAAO;AAAA,MACT;AAEA,eAAS,aAAa,OAAO,OAAO;AAElC,YAAI,UAAU,QAAW;AACvB,kBAAQ,EAAE,cAAc,MAAM,aAAa,KAAK;AAAA,QAClD;AACA,YAAG,MAAM,SAAS,GAAG;AACnB,gBAAM,cAAc;AACpB,iBAAO;AAAA,QACT;AAKA,YAAI,SAAS,MAAM,YAAY,KAAK,MAAM,yBAAyB;AACnE,YAAI,QAAQ;AACV,cAAI,OAAO,MAAM,cAAc;AAC/B,cAAI,SAAS,MAAM,gBAAgB,IAAI;AAOvC,cAAI,WAAW;AACf,cAAI,eAAe,SAAS,KAAK,qBAAqB,CAAC,IAAI,IAAI;AAC/D,cAAI,SAAS,KAAK,SAAS,gBAAgB,CAAC,YAAY,KAAK,CAAC,MAAM,OAAO,GAAG;AAC5E,sBAAU;AAAA,UACZ;AAEA,cAAI,WAAW,kBAAkB;AAAA,YAC/B;AAAA,YACA;AAAA,YACA;AAAA,UACF,CAAC;AACD,gBAAM,cAAc;AACpB,kBAAQ,cAAc,KAAK;AAC3B,cAAI,uBAAuB,MAAM;AACjC,gBAAM,kBAAkB,WAAW;AACjC,gBAAI,MAAM,gBAAgB,MAAM;AAC9B,qBAAO,qBAAqB;AAAA,YAC9B;AACA,mBAAO,MAAM,aAAa,QAAQ,qBAAqB;AAAA,UACzD;AACA,gBAAM,cAAc,WAAW;AAAE,mBAAO,SAAS;AAAA,UAAQ;AACzD,gBAAM,gBAAgB,WAAW;AAAE,mBAAO,SAAS;AAAA,UAAM;AACzD,gBAAM,kBAAkB,WAAW;AAAE,mBAAO,SAAS,SAAS;AAAA,UAAG;AACjE,gBAAM,2BAA2B,WAAW;AAAE,mBAAO,SAAS;AAAA,UAAQ;AACtE,iBAAO;AAAA,QACT;AAGA,YAAI,SAAS,MAAM,OAAO,KAAK,MAAM,cAAc;AACnD,YAAI,QAAQ;AACV,mBAAS,cAAc,MAAM;AAC7B,kBAAQ,cAAc,KAAK;AAC3B,gBAAM,gBAAgB,WAAW;AAAE,mBAAO;AAAA,UAAQ;AAClD,iBAAO;AAAA,QACT;AAGA,eAAO;AAAA,MACT;AAIA,eAAS,kBAAkB,OAAO,OAAO;AACvC,YAAI,6BAA6B;AAC/B,8BAAoB,CAAC;AACrB,2BAAiB,CAAC;AAAA,QACpB;AAEA,YAAI,OAAO,MAAM,QAAQ;AACzB,YAAI,UAAU,MAAM,WAAW;AAC/B,YAAI,cAAc,OAAO,OAAO;AAEhC,YAAI,QAAQ,EAAE,cAAc,MAAM,aAAa,KAAK;AACpD,YAAI,iBAAiB,CAAC;AACtB,iBAAS,IAAI,MAAM,SAAS,GAAG,KAAK,GAAG,KAAK;AAC1C,yBAAe,KAAK,cAAc,aAAa,MAAM,CAAC,GAAG,KAAK,CAAC;AAC/D,gBAAM,eAAe,MAAM;AAAA,QAC7B;AACA,cAAM,cAAc,MAAM,eAAe;AACzC,eAAO,cAAc,eAAe,QAAQ,EAAE,KAAK,EAAE;AAAA,MACvD;AAGA,eAAS,eAAe,OAAO;AAC7B,YAAI,QAAQ,sCAAsC,KAAK,MAAM,KAAK;AAClE,YAAI,OAAO;AACT,cAAI,SAAS,MAAM,CAAC;AACpB,cAAI,OAAO,CAAC,MAAM,CAAC;AACnB,cAAI,SAAS,CAAC,MAAM,CAAC;AAGrB,cAAI,WAAW,kBAAkB,MAAM;AAGvC,cAAI,CAAC,YAAY,MAAM,GAAG,WAAW,MAAM,GAAG;AAC5C,gBAAI;AACF,yBAAW,GAAG,aAAa,QAAQ,MAAM;AAAA,YAC3C,SAAS,IAAI;AACX,yBAAW;AAAA,YACb;AAAA,UACF;AAGA,cAAI,UAAU;AACZ,gBAAI,OAAO,SAAS,MAAM,gBAAgB,EAAE,OAAO,CAAC;AACpD,gBAAI,MAAM;AACR,qBAAO,SAAS,MAAM,OAAO,OAAO,OAAO,OACzC,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI;AAAA,YAClC;AAAA,UACF;AAAA,QACF;AACA,eAAO;AAAA,MACT;AAEA,eAAS,kBAAmB,OAAO;AACjC,YAAI,SAAS,eAAe,KAAK;AAGjC,YAAI,SAAS,oBAAoB;AACjC,YAAI,UAAU,OAAO,WAAW,OAAO,QAAQ,aAAa;AAC1D,iBAAO,QAAQ,YAAY,IAAI;AAAA,QACjC;AAEA,YAAI,QAAQ;AACV,kBAAQ,MAAM;AACd,kBAAQ,MAAM,MAAM;AAAA,QACtB;AAEA,gBAAQ,MAAM,MAAM,KAAK;AACzB,0BAAkB,CAAC;AAAA,MACrB;AAEA,eAAS,4BAA6B;AACpC,YAAI,WAAW,QAAQ;AAEvB,gBAAQ,OAAO,SAAU,MAAM;AAC7B,cAAI,SAAS,qBAAqB;AAChC,gBAAI,WAAY,UAAU,CAAC,KAAK,UAAU,CAAC,EAAE;AAC7C,gBAAI,eAAgB,KAAK,UAAU,IAAI,EAAE,SAAS;AAElD,gBAAI,YAAY,CAAC,cAAc;AAC7B,qBAAO,kBAAkB,UAAU,CAAC,CAAC;AAAA,YACvC;AAAA,UACF;AAEA,iBAAO,SAAS,MAAM,MAAM,SAAS;AAAA,QACvC;AAAA,MACF;AAEA,UAAI,+BAA+B,qBAAqB,MAAM,CAAC;AAC/D,UAAI,8BAA8B,oBAAoB,MAAM,CAAC;AAE7D,cAAQ,eAAe;AACvB,cAAQ,iBAAiB;AACzB,cAAQ,oBAAoB;AAC5B,cAAQ,oBAAoB;AAE5B,cAAQ,UAAU,SAAS,SAAS;AAClC,kBAAU,WAAW,CAAC;AAEtB,YAAI,QAAQ,aAAa;AACvB,wBAAc,QAAQ;AACtB,cAAI,CAAC,QAAQ,WAAW,MAAM,EAAE,QAAQ,WAAW,MAAM,IAAI;AAC3D,kBAAM,IAAI,MAAM,iBAAiB,cAAc,2DAA2D;AAAA,UAC5G;AAAA,QACF;AAIA,YAAI,QAAQ,cAAc;AACxB,cAAI,QAAQ,sBAAsB;AAChC,iCAAqB,SAAS;AAAA,UAChC;AAEA,+BAAqB,QAAQ,QAAQ,YAAY;AAAA,QACnD;AAIA,YAAI,QAAQ,mBAAmB;AAC7B,cAAI,QAAQ,2BAA2B;AACrC,gCAAoB,SAAS;AAAA,UAC/B;AAEA,8BAAoB,QAAQ,QAAQ,iBAAiB;AAAA,QACvD;AAGA,YAAI,QAAQ,eAAe,CAAC,YAAY,GAAG;AAEzC,cAAI,SAAS,eAAe,QAAQ,QAAQ;AAC5C,cAAI,WAAW,OAAO,UAAU;AAEhC,cAAI,CAAC,SAAS,oBAAoB;AAChC,mBAAO,UAAU,WAAW,SAAS,SAAS,UAAU;AACtD,gCAAkB,QAAQ,IAAI;AAC9B,6BAAe,QAAQ,IAAI;AAC3B,qBAAO,SAAS,KAAK,MAAM,SAAS,QAAQ;AAAA,YAC9C;AAEA,mBAAO,UAAU,SAAS,qBAAqB;AAAA,UACjD;AAAA,QACF;AAGA,YAAI,CAAC,6BAA6B;AAChC,wCAA8B,iCAAiC,UAC7D,QAAQ,8BAA8B;AAAA,QAC1C;AAGA,YAAI,CAAC,yBAAyB;AAC5B,oCAA0B;AAC1B,gBAAM,oBAAoB;AAAA,QAC5B;AAEA,YAAI,CAAC,uBAAuB;AAC1B,cAAI,iBAAiB,8BAA8B,UACjD,QAAQ,2BAA2B;AAKrC,cAAI;AAEF,gBAAI,iBAAiB,eAAe,QAAQ,gBAAgB;AAC5D,gBAAI,eAAe,iBAAiB,OAAO;AACzC,+BAAiB;AAAA,YACnB;AAAA,UACF,SAAQ,GAAG;AAAA,UAAC;AASZ,cAAI,kBAAkB,6BAA6B,GAAG;AACpD,oCAAwB;AACxB,sCAA0B;AAAA,UAC5B;AAAA,QACF;AAAA,MACF;AAEA,cAAQ,wBAAwB,WAAW;AACzC,6BAAqB,SAAS;AAC9B,4BAAoB,SAAS;AAE7B,+BAAuB,6BAA6B,MAAM,CAAC;AAC3D,8BAAsB,4BAA4B,MAAM,CAAC;AAEzD,4BAAoB,YAAY,mBAAmB;AACnD,uBAAe,YAAY,oBAAoB;AAAA,MACjD;AAAA;AAAA;;;AChnBA;AAAA;AAAA;AAYA,UAAI,MAAuC;AACzC,SAAC,WAAW;AACd;AAEA,cAAIC,UAAQ;AAMZ,cAAI,qBAAqB,OAAO,IAAI,eAAe;AACnD,cAAI,oBAAoB,OAAO,IAAI,cAAc;AACjD,cAAI,sBAAsB,OAAO,IAAI,gBAAgB;AACrD,cAAI,yBAAyB,OAAO,IAAI,mBAAmB;AAC3D,cAAI,sBAAsB,OAAO,IAAI,gBAAgB;AACrD,cAAI,sBAAsB,OAAO,IAAI,gBAAgB;AACrD,cAAI,qBAAqB,OAAO,IAAI,eAAe;AACnD,cAAI,yBAAyB,OAAO,IAAI,mBAAmB;AAC3D,cAAI,sBAAsB,OAAO,IAAI,gBAAgB;AACrD,cAAI,2BAA2B,OAAO,IAAI,qBAAqB;AAC/D,cAAI,kBAAkB,OAAO,IAAI,YAAY;AAC7C,cAAI,kBAAkB,OAAO,IAAI,YAAY;AAC7C,cAAI,uBAAuB,OAAO,IAAI,iBAAiB;AACvD,cAAI,wBAAwB,OAAO;AACnC,cAAI,uBAAuB;AAC3B,mBAAS,cAAc,eAAe;AACpC,gBAAI,kBAAkB,QAAQ,OAAO,kBAAkB,UAAU;AAC/D,qBAAO;AAAA,YACT;AAEA,gBAAI,gBAAgB,yBAAyB,cAAc,qBAAqB,KAAK,cAAc,oBAAoB;AAEvH,gBAAI,OAAO,kBAAkB,YAAY;AACvC,qBAAO;AAAA,YACT;AAEA,mBAAO;AAAA,UACT;AAEA,cAAI,uBAAuBA,QAAM;AAEjC,mBAAS,MAAMC,SAAQ;AACrB;AACE;AACE,yBAAS,QAAQ,UAAU,QAAQ,OAAO,IAAI,MAAM,QAAQ,IAAI,QAAQ,IAAI,CAAC,GAAG,QAAQ,GAAG,QAAQ,OAAO,SAAS;AACjH,uBAAK,QAAQ,CAAC,IAAI,UAAU,KAAK;AAAA,gBACnC;AAEA,6BAAa,SAASA,SAAQ,IAAI;AAAA,cACpC;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,aAAa,OAAOA,SAAQ,MAAM;AAGzC;AACE,kBAAIC,0BAAyB,qBAAqB;AAClD,kBAAI,QAAQA,wBAAuB,iBAAiB;AAEpD,kBAAI,UAAU,IAAI;AAChB,gBAAAD,WAAU;AACV,uBAAO,KAAK,OAAO,CAAC,KAAK,CAAC;AAAA,cAC5B;AAGA,kBAAI,iBAAiB,KAAK,IAAI,SAAU,MAAM;AAC5C,uBAAO,OAAO,IAAI;AAAA,cACpB,CAAC;AAED,6BAAe,QAAQ,cAAcA,OAAM;AAI3C,uBAAS,UAAU,MAAM,KAAK,QAAQ,KAAK,GAAG,SAAS,cAAc;AAAA,YACvE;AAAA,UACF;AAIA,cAAI,iBAAiB;AACrB,cAAI,qBAAqB;AACzB,cAAI,0BAA0B;AAE9B,cAAI,qBAAqB;AAIzB,cAAI,qBAAqB;AAEzB,cAAI;AAEJ;AACE,qCAAyB,OAAO,IAAI,wBAAwB;AAAA,UAC9D;AAEA,mBAAS,mBAAmB,MAAM;AAChC,gBAAI,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;AAC1D,qBAAO;AAAA,YACT;AAGA,gBAAI,SAAS,uBAAuB,SAAS,uBAAuB,sBAAuB,SAAS,0BAA0B,SAAS,uBAAuB,SAAS,4BAA4B,sBAAuB,SAAS,wBAAwB,kBAAmB,sBAAuB,yBAA0B;AAC7T,qBAAO;AAAA,YACT;AAEA,gBAAI,OAAO,SAAS,YAAY,SAAS,MAAM;AAC7C,kBAAI,KAAK,aAAa,mBAAmB,KAAK,aAAa,mBAAmB,KAAK,aAAa,uBAAuB,KAAK,aAAa,sBAAsB,KAAK,aAAa;AAAA;AAAA;AAAA;AAAA,cAIjL,KAAK,aAAa,0BAA0B,KAAK,gBAAgB,QAAW;AAC1E,uBAAO;AAAA,cACT;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AAEA,mBAAS,eAAe,WAAW,WAAW,aAAa;AACzD,gBAAI,cAAc,UAAU;AAE5B,gBAAI,aAAa;AACf,qBAAO;AAAA,YACT;AAEA,gBAAI,eAAe,UAAU,eAAe,UAAU,QAAQ;AAC9D,mBAAO,iBAAiB,KAAK,cAAc,MAAM,eAAe,MAAM;AAAA,UACxE;AAGA,mBAAS,eAAe,MAAM;AAC5B,mBAAO,KAAK,eAAe;AAAA,UAC7B;AAGA,mBAAS,yBAAyB,MAAM;AACtC,gBAAI,QAAQ,MAAM;AAEhB,qBAAO;AAAA,YACT;AAEA;AACE,kBAAI,OAAO,KAAK,QAAQ,UAAU;AAChC,sBAAM,mHAAwH;AAAA,cAChI;AAAA,YACF;AAEA,gBAAI,OAAO,SAAS,YAAY;AAC9B,qBAAO,KAAK,eAAe,KAAK,QAAQ;AAAA,YAC1C;AAEA,gBAAI,OAAO,SAAS,UAAU;AAC5B,qBAAO;AAAA,YACT;AAEA,oBAAQ,MAAM;AAAA,cACZ,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO;AAAA,cAET,KAAK;AACH,uBAAO;AAAA,YAEX;AAEA,gBAAI,OAAO,SAAS,UAAU;AAC5B,sBAAQ,KAAK,UAAU;AAAA,gBACrB,KAAK;AACH,sBAAI,UAAU;AACd,yBAAO,eAAe,OAAO,IAAI;AAAA,gBAEnC,KAAK;AACH,sBAAI,WAAW;AACf,yBAAO,eAAe,SAAS,QAAQ,IAAI;AAAA,gBAE7C,KAAK;AACH,yBAAO,eAAe,MAAM,KAAK,QAAQ,YAAY;AAAA,gBAEvD,KAAK;AACH,sBAAI,YAAY,KAAK,eAAe;AAEpC,sBAAI,cAAc,MAAM;AACtB,2BAAO;AAAA,kBACT;AAEA,yBAAO,yBAAyB,KAAK,IAAI,KAAK;AAAA,gBAEhD,KAAK,iBACH;AACE,sBAAI,gBAAgB;AACpB,sBAAI,UAAU,cAAc;AAC5B,sBAAI,OAAO,cAAc;AAEzB,sBAAI;AACF,2BAAO,yBAAyB,KAAK,OAAO,CAAC;AAAA,kBAC/C,SAAS,GAAG;AACV,2BAAO;AAAA,kBACT;AAAA,gBACF;AAAA,cAGJ;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AAEA,cAAIE,UAAS,OAAO;AAMpB,cAAI,gBAAgB;AACpB,cAAI;AACJ,cAAI;AACJ,cAAI;AACJ,cAAI;AACJ,cAAI;AACJ,cAAI;AACJ,cAAI;AAEJ,mBAAS,cAAc;AAAA,UAAC;AAExB,sBAAY,qBAAqB;AACjC,mBAAS,cAAc;AACrB;AACE,kBAAI,kBAAkB,GAAG;AAEvB,0BAAU,QAAQ;AAClB,2BAAW,QAAQ;AACnB,2BAAW,QAAQ;AACnB,4BAAY,QAAQ;AACpB,4BAAY,QAAQ;AACpB,qCAAqB,QAAQ;AAC7B,+BAAe,QAAQ;AAEvB,oBAAI,QAAQ;AAAA,kBACV,cAAc;AAAA,kBACd,YAAY;AAAA,kBACZ,OAAO;AAAA,kBACP,UAAU;AAAA,gBACZ;AAEA,uBAAO,iBAAiB,SAAS;AAAA,kBAC/B,MAAM;AAAA,kBACN,KAAK;AAAA,kBACL,MAAM;AAAA,kBACN,OAAO;AAAA,kBACP,OAAO;AAAA,kBACP,gBAAgB;AAAA,kBAChB,UAAU;AAAA,gBACZ,CAAC;AAAA,cAEH;AAEA;AAAA,YACF;AAAA,UACF;AACA,mBAAS,eAAe;AACtB;AACE;AAEA,kBAAI,kBAAkB,GAAG;AAEvB,oBAAI,QAAQ;AAAA,kBACV,cAAc;AAAA,kBACd,YAAY;AAAA,kBACZ,UAAU;AAAA,gBACZ;AAEA,uBAAO,iBAAiB,SAAS;AAAA,kBAC/B,KAAKA,QAAO,CAAC,GAAG,OAAO;AAAA,oBACrB,OAAO;AAAA,kBACT,CAAC;AAAA,kBACD,MAAMA,QAAO,CAAC,GAAG,OAAO;AAAA,oBACtB,OAAO;AAAA,kBACT,CAAC;AAAA,kBACD,MAAMA,QAAO,CAAC,GAAG,OAAO;AAAA,oBACtB,OAAO;AAAA,kBACT,CAAC;AAAA,kBACD,OAAOA,QAAO,CAAC,GAAG,OAAO;AAAA,oBACvB,OAAO;AAAA,kBACT,CAAC;AAAA,kBACD,OAAOA,QAAO,CAAC,GAAG,OAAO;AAAA,oBACvB,OAAO;AAAA,kBACT,CAAC;AAAA,kBACD,gBAAgBA,QAAO,CAAC,GAAG,OAAO;AAAA,oBAChC,OAAO;AAAA,kBACT,CAAC;AAAA,kBACD,UAAUA,QAAO,CAAC,GAAG,OAAO;AAAA,oBAC1B,OAAO;AAAA,kBACT,CAAC;AAAA,gBACH,CAAC;AAAA,cAEH;AAEA,kBAAI,gBAAgB,GAAG;AACrB,sBAAM,8EAAmF;AAAA,cAC3F;AAAA,YACF;AAAA,UACF;AAEA,cAAI,yBAAyB,qBAAqB;AAClD,cAAI;AACJ,mBAAS,8BAA8B,MAAM,QAAQ,SAAS;AAC5D;AACE,kBAAI,WAAW,QAAW;AAExB,oBAAI;AACF,wBAAM,MAAM;AAAA,gBACd,SAAS,GAAG;AACV,sBAAI,QAAQ,EAAE,MAAM,KAAK,EAAE,MAAM,cAAc;AAC/C,2BAAS,SAAS,MAAM,CAAC,KAAK;AAAA,gBAChC;AAAA,cACF;AAGA,qBAAO,OAAO,SAAS;AAAA,YACzB;AAAA,UACF;AACA,cAAI,UAAU;AACd,cAAI;AAEJ;AACE,gBAAI,kBAAkB,OAAO,YAAY,aAAa,UAAU;AAChE,kCAAsB,IAAI,gBAAgB;AAAA,UAC5C;AAEA,mBAAS,6BAA6B,IAAI,WAAW;AAEnD,gBAAK,CAAC,MAAM,SAAS;AACnB,qBAAO;AAAA,YACT;AAEA;AACE,kBAAI,QAAQ,oBAAoB,IAAI,EAAE;AAEtC,kBAAI,UAAU,QAAW;AACvB,uBAAO;AAAA,cACT;AAAA,YACF;AAEA,gBAAI;AACJ,sBAAU;AACV,gBAAI,4BAA4B,MAAM;AAEtC,kBAAM,oBAAoB;AAC1B,gBAAI;AAEJ;AACE,mCAAqB,uBAAuB;AAG5C,qCAAuB,UAAU;AACjC,0BAAY;AAAA,YACd;AAEA,gBAAI;AAEF,kBAAI,WAAW;AAEb,oBAAI,OAAO,WAAY;AACrB,wBAAM,MAAM;AAAA,gBACd;AAGA,uBAAO,eAAe,KAAK,WAAW,SAAS;AAAA,kBAC7C,KAAK,WAAY;AAGf,0BAAM,MAAM;AAAA,kBACd;AAAA,gBACF,CAAC;AAED,oBAAI,OAAO,YAAY,YAAY,QAAQ,WAAW;AAGpD,sBAAI;AACF,4BAAQ,UAAU,MAAM,CAAC,CAAC;AAAA,kBAC5B,SAAS,GAAG;AACV,8BAAU;AAAA,kBACZ;AAEA,0BAAQ,UAAU,IAAI,CAAC,GAAG,IAAI;AAAA,gBAChC,OAAO;AACL,sBAAI;AACF,yBAAK,KAAK;AAAA,kBACZ,SAAS,GAAG;AACV,8BAAU;AAAA,kBACZ;AAEA,qBAAG,KAAK,KAAK,SAAS;AAAA,gBACxB;AAAA,cACF,OAAO;AACL,oBAAI;AACF,wBAAM,MAAM;AAAA,gBACd,SAAS,GAAG;AACV,4BAAU;AAAA,gBACZ;AAEA,mBAAG;AAAA,cACL;AAAA,YACF,SAAS,QAAQ;AAEf,kBAAI,UAAU,WAAW,OAAO,OAAO,UAAU,UAAU;AAGzD,oBAAI,cAAc,OAAO,MAAM,MAAM,IAAI;AACzC,oBAAI,eAAe,QAAQ,MAAM,MAAM,IAAI;AAC3C,oBAAI,IAAI,YAAY,SAAS;AAC7B,oBAAI,IAAI,aAAa,SAAS;AAE9B,uBAAO,KAAK,KAAK,KAAK,KAAK,YAAY,CAAC,MAAM,aAAa,CAAC,GAAG;AAO7D;AAAA,gBACF;AAEA,uBAAO,KAAK,KAAK,KAAK,GAAG,KAAK,KAAK;AAGjC,sBAAI,YAAY,CAAC,MAAM,aAAa,CAAC,GAAG;AAMtC,wBAAI,MAAM,KAAK,MAAM,GAAG;AACtB,yBAAG;AACD;AACA;AAGA,4BAAI,IAAI,KAAK,YAAY,CAAC,MAAM,aAAa,CAAC,GAAG;AAE/C,8BAAI,SAAS,OAAO,YAAY,CAAC,EAAE,QAAQ,YAAY,MAAM;AAK7D,8BAAI,GAAG,eAAe,OAAO,SAAS,aAAa,GAAG;AACpD,qCAAS,OAAO,QAAQ,eAAe,GAAG,WAAW;AAAA,0BACvD;AAEA;AACE,gCAAI,OAAO,OAAO,YAAY;AAC5B,kDAAoB,IAAI,IAAI,MAAM;AAAA,4BACpC;AAAA,0BACF;AAGA,iCAAO;AAAA,wBACT;AAAA,sBACF,SAAS,KAAK,KAAK,KAAK;AAAA,oBAC1B;AAEA;AAAA,kBACF;AAAA,gBACF;AAAA,cACF;AAAA,YACF,UAAE;AACA,wBAAU;AAEV;AACE,uCAAuB,UAAU;AACjC,6BAAa;AAAA,cACf;AAEA,oBAAM,oBAAoB;AAAA,YAC5B;AAGA,gBAAI,OAAO,KAAK,GAAG,eAAe,GAAG,OAAO;AAC5C,gBAAI,iBAAiB,OAAO,8BAA8B,IAAI,IAAI;AAElE;AACE,kBAAI,OAAO,OAAO,YAAY;AAC5B,oCAAoB,IAAI,IAAI,cAAc;AAAA,cAC5C;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AACA,mBAAS,+BAA+B,IAAI,QAAQ,SAAS;AAC3D;AACE,qBAAO,6BAA6B,IAAI,KAAK;AAAA,YAC/C;AAAA,UACF;AAEA,mBAAS,gBAAgB,WAAW;AAClC,gBAAI,YAAY,UAAU;AAC1B,mBAAO,CAAC,EAAE,aAAa,UAAU;AAAA,UACnC;AAEA,mBAAS,qCAAqC,MAAM,QAAQ,SAAS;AAEnE,gBAAI,QAAQ,MAAM;AAChB,qBAAO;AAAA,YACT;AAEA,gBAAI,OAAO,SAAS,YAAY;AAC9B;AACE,uBAAO,6BAA6B,MAAM,gBAAgB,IAAI,CAAC;AAAA,cACjE;AAAA,YACF;AAEA,gBAAI,OAAO,SAAS,UAAU;AAC5B,qBAAO,8BAA8B,IAAI;AAAA,YAC3C;AAEA,oBAAQ,MAAM;AAAA,cACZ,KAAK;AACH,uBAAO,8BAA8B,UAAU;AAAA,cAEjD,KAAK;AACH,uBAAO,8BAA8B,cAAc;AAAA,YACvD;AAEA,gBAAI,OAAO,SAAS,UAAU;AAC5B,sBAAQ,KAAK,UAAU;AAAA,gBACrB,KAAK;AACH,yBAAO,+BAA+B,KAAK,MAAM;AAAA,gBAEnD,KAAK;AAEH,yBAAO,qCAAqC,KAAK,MAAM,QAAQ,OAAO;AAAA,gBAExE,KAAK,iBACH;AACE,sBAAI,gBAAgB;AACpB,sBAAI,UAAU,cAAc;AAC5B,sBAAI,OAAO,cAAc;AAEzB,sBAAI;AAEF,2BAAO,qCAAqC,KAAK,OAAO,GAAG,QAAQ,OAAO;AAAA,kBAC5E,SAAS,GAAG;AAAA,kBAAC;AAAA,gBACf;AAAA,cACJ;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AAEA,cAAI,iBAAiB,OAAO,UAAU;AAEtC,cAAI,qBAAqB,CAAC;AAC1B,cAAI,yBAAyB,qBAAqB;AAElD,mBAAS,8BAA8B,SAAS;AAC9C;AACE,kBAAI,SAAS;AACX,oBAAI,QAAQ,QAAQ;AACpB,oBAAI,QAAQ,qCAAqC,QAAQ,MAAM,QAAQ,SAAS,QAAQ,MAAM,OAAO,IAAI;AACzG,uCAAuB,mBAAmB,KAAK;AAAA,cACjD,OAAO;AACL,uCAAuB,mBAAmB,IAAI;AAAA,cAChD;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,eAAe,WAAWC,SAAQ,UAAU,eAAe,SAAS;AAC3E;AAEE,kBAAI,MAAM,SAAS,KAAK,KAAK,cAAc;AAE3C,uBAAS,gBAAgB,WAAW;AAClC,oBAAI,IAAI,WAAW,YAAY,GAAG;AAChC,sBAAI,UAAU;AAId,sBAAI;AAGF,wBAAI,OAAO,UAAU,YAAY,MAAM,YAAY;AAEjD,0BAAI,MAAM,OAAO,iBAAiB,iBAAiB,OAAO,WAAW,YAAY,eAAe,+FAAoG,OAAO,UAAU,YAAY,IAAI,iGAAsG;AAC3U,0BAAI,OAAO;AACX,4BAAM;AAAA,oBACR;AAEA,8BAAU,UAAU,YAAY,EAAEA,SAAQ,cAAc,eAAe,UAAU,MAAM,8CAA8C;AAAA,kBACvI,SAAS,IAAI;AACX,8BAAU;AAAA,kBACZ;AAEA,sBAAI,WAAW,EAAE,mBAAmB,QAAQ;AAC1C,kDAA8B,OAAO;AAErC,0BAAM,4RAAqT,iBAAiB,eAAe,UAAU,cAAc,OAAO,OAAO;AAEjY,kDAA8B,IAAI;AAAA,kBACpC;AAEA,sBAAI,mBAAmB,SAAS,EAAE,QAAQ,WAAW,qBAAqB;AAGxE,uCAAmB,QAAQ,OAAO,IAAI;AACtC,kDAA8B,OAAO;AAErC,0BAAM,sBAAsB,UAAU,QAAQ,OAAO;AAErD,kDAA8B,IAAI;AAAA,kBACpC;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,cAAI,cAAc,MAAM;AAExB,mBAAS,QAAQ,GAAG;AAClB,mBAAO,YAAY,CAAC;AAAA,UACtB;AAYA,mBAAS,SAAS,OAAO;AACvB;AAEE,kBAAI,iBAAiB,OAAO,WAAW,cAAc,OAAO;AAC5D,kBAAI,OAAO,kBAAkB,MAAM,OAAO,WAAW,KAAK,MAAM,YAAY,QAAQ;AACpF,qBAAO;AAAA,YACT;AAAA,UACF;AAGA,mBAAS,kBAAkB,OAAO;AAChC;AACE,kBAAI;AACF,mCAAmB,KAAK;AACxB,uBAAO;AAAA,cACT,SAAS,GAAG;AACV,uBAAO;AAAA,cACT;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,mBAAmB,OAAO;AAwBjC,mBAAO,KAAK;AAAA,UACd;AACA,mBAAS,uBAAuB,OAAO;AACrC;AACE,kBAAI,kBAAkB,KAAK,GAAG;AAC5B,sBAAM,mHAAwH,SAAS,KAAK,CAAC;AAE7I,uBAAO,mBAAmB,KAAK;AAAA,cACjC;AAAA,YACF;AAAA,UACF;AAEA,cAAI,oBAAoB,qBAAqB;AAC7C,cAAI,iBAAiB;AAAA,YACnB,KAAK;AAAA,YACL,KAAK;AAAA,YACL,QAAQ;AAAA,YACR,UAAU;AAAA,UACZ;AACA,cAAI;AACJ,cAAI;AACJ,cAAI;AAEJ;AACE,qCAAyB,CAAC;AAAA,UAC5B;AAEA,mBAAS,YAAY,QAAQ;AAC3B;AACE,kBAAI,eAAe,KAAK,QAAQ,KAAK,GAAG;AACtC,oBAAI,SAAS,OAAO,yBAAyB,QAAQ,KAAK,EAAE;AAE5D,oBAAI,UAAU,OAAO,gBAAgB;AACnC,yBAAO;AAAA,gBACT;AAAA,cACF;AAAA,YACF;AAEA,mBAAO,OAAO,QAAQ;AAAA,UACxB;AAEA,mBAAS,YAAY,QAAQ;AAC3B;AACE,kBAAI,eAAe,KAAK,QAAQ,KAAK,GAAG;AACtC,oBAAI,SAAS,OAAO,yBAAyB,QAAQ,KAAK,EAAE;AAE5D,oBAAI,UAAU,OAAO,gBAAgB;AACnC,yBAAO;AAAA,gBACT;AAAA,cACF;AAAA,YACF;AAEA,mBAAO,OAAO,QAAQ;AAAA,UACxB;AAEA,mBAAS,qCAAqC,QAAQ,MAAM;AAC1D;AACE,kBAAI,OAAO,OAAO,QAAQ,YAAY,kBAAkB,WAAW,QAAQ,kBAAkB,QAAQ,cAAc,MAAM;AACvH,oBAAI,gBAAgB,yBAAyB,kBAAkB,QAAQ,IAAI;AAE3E,oBAAI,CAAC,uBAAuB,aAAa,GAAG;AAC1C,wBAAM,6VAAsX,yBAAyB,kBAAkB,QAAQ,IAAI,GAAG,OAAO,GAAG;AAEhc,yCAAuB,aAAa,IAAI;AAAA,gBAC1C;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,2BAA2B,OAAO,aAAa;AACtD;AACE,kBAAI,wBAAwB,WAAY;AACtC,oBAAI,CAAC,4BAA4B;AAC/B,+CAA6B;AAE7B,wBAAM,6OAA4P,WAAW;AAAA,gBAC/Q;AAAA,cACF;AAEA,oCAAsB,iBAAiB;AACvC,qBAAO,eAAe,OAAO,OAAO;AAAA,gBAClC,KAAK;AAAA,gBACL,cAAc;AAAA,cAChB,CAAC;AAAA,YACH;AAAA,UACF;AAEA,mBAAS,2BAA2B,OAAO,aAAa;AACtD;AACE,kBAAI,wBAAwB,WAAY;AACtC,oBAAI,CAAC,4BAA4B;AAC/B,+CAA6B;AAE7B,wBAAM,6OAA4P,WAAW;AAAA,gBAC/Q;AAAA,cACF;AAEA,oCAAsB,iBAAiB;AACvC,qBAAO,eAAe,OAAO,OAAO;AAAA,gBAClC,KAAK;AAAA,gBACL,cAAc;AAAA,cAChB,CAAC;AAAA,YACH;AAAA,UACF;AAuBA,cAAI,eAAe,SAAU,MAAM,KAAK,KAAK,MAAM,QAAQ,OAAO,OAAO;AACvE,gBAAI,UAAU;AAAA;AAAA,cAEZ,UAAU;AAAA;AAAA,cAEV;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA;AAAA,cAEA,QAAQ;AAAA,YACV;AAEA;AAKE,sBAAQ,SAAS,CAAC;AAKlB,qBAAO,eAAe,QAAQ,QAAQ,aAAa;AAAA,gBACjD,cAAc;AAAA,gBACd,YAAY;AAAA,gBACZ,UAAU;AAAA,gBACV,OAAO;AAAA,cACT,CAAC;AAED,qBAAO,eAAe,SAAS,SAAS;AAAA,gBACtC,cAAc;AAAA,gBACd,YAAY;AAAA,gBACZ,UAAU;AAAA,gBACV,OAAO;AAAA,cACT,CAAC;AAGD,qBAAO,eAAe,SAAS,WAAW;AAAA,gBACxC,cAAc;AAAA,gBACd,YAAY;AAAA,gBACZ,UAAU;AAAA,gBACV,OAAO;AAAA,cACT,CAAC;AAED,kBAAI,OAAO,QAAQ;AACjB,uBAAO,OAAO,QAAQ,KAAK;AAC3B,uBAAO,OAAO,OAAO;AAAA,cACvB;AAAA,YACF;AAEA,mBAAO;AAAA,UACT;AAQA,mBAAS,OAAO,MAAM,QAAQ,UAAU,QAAQ,MAAM;AACpD;AACE,kBAAI;AAEJ,kBAAI,QAAQ,CAAC;AACb,kBAAI,MAAM;AACV,kBAAI,MAAM;AAOV,kBAAI,aAAa,QAAW;AAC1B;AACE,yCAAuB,QAAQ;AAAA,gBACjC;AAEA,sBAAM,KAAK;AAAA,cACb;AAEA,kBAAI,YAAY,MAAM,GAAG;AACvB;AACE,yCAAuB,OAAO,GAAG;AAAA,gBACnC;AAEA,sBAAM,KAAK,OAAO;AAAA,cACpB;AAEA,kBAAI,YAAY,MAAM,GAAG;AACvB,sBAAM,OAAO;AACb,qDAAqC,QAAQ,IAAI;AAAA,cACnD;AAGA,mBAAK,YAAY,QAAQ;AACvB,oBAAI,eAAe,KAAK,QAAQ,QAAQ,KAAK,CAAC,eAAe,eAAe,QAAQ,GAAG;AACrF,wBAAM,QAAQ,IAAI,OAAO,QAAQ;AAAA,gBACnC;AAAA,cACF;AAGA,kBAAI,QAAQ,KAAK,cAAc;AAC7B,oBAAI,eAAe,KAAK;AAExB,qBAAK,YAAY,cAAc;AAC7B,sBAAI,MAAM,QAAQ,MAAM,QAAW;AACjC,0BAAM,QAAQ,IAAI,aAAa,QAAQ;AAAA,kBACzC;AAAA,gBACF;AAAA,cACF;AAEA,kBAAI,OAAO,KAAK;AACd,oBAAI,cAAc,OAAO,SAAS,aAAa,KAAK,eAAe,KAAK,QAAQ,YAAY;AAE5F,oBAAI,KAAK;AACP,6CAA2B,OAAO,WAAW;AAAA,gBAC/C;AAEA,oBAAI,KAAK;AACP,6CAA2B,OAAO,WAAW;AAAA,gBAC/C;AAAA,cACF;AAEA,qBAAO,aAAa,MAAM,KAAK,KAAK,MAAM,QAAQ,kBAAkB,SAAS,KAAK;AAAA,YACpF;AAAA,UACF;AAEA,cAAI,sBAAsB,qBAAqB;AAC/C,cAAI,2BAA2B,qBAAqB;AAEpD,mBAAS,gCAAgC,SAAS;AAChD;AACE,kBAAI,SAAS;AACX,oBAAI,QAAQ,QAAQ;AACpB,oBAAI,QAAQ,qCAAqC,QAAQ,MAAM,QAAQ,SAAS,QAAQ,MAAM,OAAO,IAAI;AACzG,yCAAyB,mBAAmB,KAAK;AAAA,cACnD,OAAO;AACL,yCAAyB,mBAAmB,IAAI;AAAA,cAClD;AAAA,YACF;AAAA,UACF;AAEA,cAAI;AAEJ;AACE,4CAAgC;AAAA,UAClC;AAUA,mBAASC,gBAAe,QAAQ;AAC9B;AACE,qBAAO,OAAO,WAAW,YAAY,WAAW,QAAQ,OAAO,aAAa;AAAA,YAC9E;AAAA,UACF;AAEA,mBAAS,8BAA8B;AACrC;AACE,kBAAI,oBAAoB,SAAS;AAC/B,oBAAI,OAAO,yBAAyB,oBAAoB,QAAQ,IAAI;AAEpE,oBAAI,MAAM;AACR,yBAAO,qCAAqC,OAAO;AAAA,gBACrD;AAAA,cACF;AAEA,qBAAO;AAAA,YACT;AAAA,UACF;AAEA,mBAAS,2BAA2B,QAAQ;AAC1C;AACE,kBAAI,WAAW,QAAW;AACxB,oBAAI,WAAW,OAAO,SAAS,QAAQ,aAAa,EAAE;AACtD,oBAAI,aAAa,OAAO;AACxB,uBAAO,4BAA4B,WAAW,MAAM,aAAa;AAAA,cACnE;AAEA,qBAAO;AAAA,YACT;AAAA,UACF;AAQA,cAAI,wBAAwB,CAAC;AAE7B,mBAAS,6BAA6B,YAAY;AAChD;AACE,kBAAI,OAAO,4BAA4B;AAEvC,kBAAI,CAAC,MAAM;AACT,oBAAI,aAAa,OAAO,eAAe,WAAW,aAAa,WAAW,eAAe,WAAW;AAEpG,oBAAI,YAAY;AACd,yBAAO,gDAAgD,aAAa;AAAA,gBACtE;AAAA,cACF;AAEA,qBAAO;AAAA,YACT;AAAA,UACF;AAcA,mBAAS,oBAAoB,SAAS,YAAY;AAChD;AACE,kBAAI,CAAC,QAAQ,UAAU,QAAQ,OAAO,aAAa,QAAQ,OAAO,MAAM;AACtE;AAAA,cACF;AAEA,sBAAQ,OAAO,YAAY;AAC3B,kBAAI,4BAA4B,6BAA6B,UAAU;AAEvE,kBAAI,sBAAsB,yBAAyB,GAAG;AACpD;AAAA,cACF;AAEA,oCAAsB,yBAAyB,IAAI;AAInD,kBAAI,aAAa;AAEjB,kBAAI,WAAW,QAAQ,UAAU,QAAQ,WAAW,oBAAoB,SAAS;AAE/E,6BAAa,iCAAiC,yBAAyB,QAAQ,OAAO,IAAI,IAAI;AAAA,cAChG;AAEA,8CAAgC,OAAO;AAEvC,oBAAM,6HAAkI,2BAA2B,UAAU;AAE7K,8CAAgC,IAAI;AAAA,YACtC;AAAA,UACF;AAYA,mBAAS,kBAAkB,MAAM,YAAY;AAC3C;AACE,kBAAI,OAAO,SAAS,UAAU;AAC5B;AAAA,cACF;AAEA,kBAAI,QAAQ,IAAI,GAAG;AACjB,yBAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,sBAAI,QAAQ,KAAK,CAAC;AAElB,sBAAIA,gBAAe,KAAK,GAAG;AACzB,wCAAoB,OAAO,UAAU;AAAA,kBACvC;AAAA,gBACF;AAAA,cACF,WAAWA,gBAAe,IAAI,GAAG;AAE/B,oBAAI,KAAK,QAAQ;AACf,uBAAK,OAAO,YAAY;AAAA,gBAC1B;AAAA,cACF,WAAW,MAAM;AACf,oBAAI,aAAa,cAAc,IAAI;AAEnC,oBAAI,OAAO,eAAe,YAAY;AAGpC,sBAAI,eAAe,KAAK,SAAS;AAC/B,wBAAI,WAAW,WAAW,KAAK,IAAI;AACnC,wBAAI;AAEJ,2BAAO,EAAE,OAAO,SAAS,KAAK,GAAG,MAAM;AACrC,0BAAIA,gBAAe,KAAK,KAAK,GAAG;AAC9B,4CAAoB,KAAK,OAAO,UAAU;AAAA,sBAC5C;AAAA,oBACF;AAAA,kBACF;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AASA,mBAAS,kBAAkB,SAAS;AAClC;AACE,kBAAI,OAAO,QAAQ;AAEnB,kBAAI,SAAS,QAAQ,SAAS,UAAa,OAAO,SAAS,UAAU;AACnE;AAAA,cACF;AAEA,kBAAI;AAEJ,kBAAI,OAAO,SAAS,YAAY;AAC9B,4BAAY,KAAK;AAAA,cACnB,WAAW,OAAO,SAAS,aAAa,KAAK,aAAa;AAAA;AAAA,cAE1D,KAAK,aAAa,kBAAkB;AAClC,4BAAY,KAAK;AAAA,cACnB,OAAO;AACL;AAAA,cACF;AAEA,kBAAI,WAAW;AAEb,oBAAI,OAAO,yBAAyB,IAAI;AACxC,+BAAe,WAAW,QAAQ,OAAO,QAAQ,MAAM,OAAO;AAAA,cAChE,WAAW,KAAK,cAAc,UAAa,CAAC,+BAA+B;AACzE,gDAAgC;AAEhC,oBAAI,QAAQ,yBAAyB,IAAI;AAEzC,sBAAM,uGAAuG,SAAS,SAAS;AAAA,cACjI;AAEA,kBAAI,OAAO,KAAK,oBAAoB,cAAc,CAAC,KAAK,gBAAgB,sBAAsB;AAC5F,sBAAM,4HAAiI;AAAA,cACzI;AAAA,YACF;AAAA,UACF;AAOA,mBAAS,sBAAsB,UAAU;AACvC;AACE,kBAAI,OAAO,OAAO,KAAK,SAAS,KAAK;AAErC,uBAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,oBAAI,MAAM,KAAK,CAAC;AAEhB,oBAAI,QAAQ,cAAc,QAAQ,OAAO;AACvC,kDAAgC,QAAQ;AAExC,wBAAM,4GAAiH,GAAG;AAE1H,kDAAgC,IAAI;AACpC;AAAA,gBACF;AAAA,cACF;AAEA,kBAAI,SAAS,QAAQ,MAAM;AACzB,gDAAgC,QAAQ;AAExC,sBAAM,uDAAuD;AAE7D,gDAAgC,IAAI;AAAA,cACtC;AAAA,YACF;AAAA,UACF;AAEA,mBAAS,kBAAkB,MAAM,OAAO,KAAK,kBAAkB,QAAQ,MAAM;AAC3E;AACE,kBAAI,YAAY,mBAAmB,IAAI;AAGvC,kBAAI,CAAC,WAAW;AACd,oBAAI,OAAO;AAEX,oBAAI,SAAS,UAAa,OAAO,SAAS,YAAY,SAAS,QAAQ,OAAO,KAAK,IAAI,EAAE,WAAW,GAAG;AACrG,0BAAQ;AAAA,gBACV;AAEA,oBAAI,aAAa,2BAA2B,MAAM;AAElD,oBAAI,YAAY;AACd,0BAAQ;AAAA,gBACV,OAAO;AACL,0BAAQ,4BAA4B;AAAA,gBACtC;AAEA,oBAAI;AAEJ,oBAAI,SAAS,MAAM;AACjB,+BAAa;AAAA,gBACf,WAAW,QAAQ,IAAI,GAAG;AACxB,+BAAa;AAAA,gBACf,WAAW,SAAS,UAAa,KAAK,aAAa,oBAAoB;AACrE,+BAAa,OAAO,yBAAyB,KAAK,IAAI,KAAK,aAAa;AACxE,yBAAO;AAAA,gBACT,OAAO;AACL,+BAAa,OAAO;AAAA,gBACtB;AAEA,sBAAM,2IAAqJ,YAAY,IAAI;AAAA,cAC7K;AAEA,kBAAI,UAAU,OAAO,MAAM,OAAO,KAAK,QAAQ,IAAI;AAGnD,kBAAI,WAAW,MAAM;AACnB,uBAAO;AAAA,cACT;AAOA,kBAAI,WAAW;AACb,oBAAI,WAAW,MAAM;AAErB,oBAAI,aAAa,QAAW;AAC1B,sBAAI,kBAAkB;AACpB,wBAAI,QAAQ,QAAQ,GAAG;AACrB,+BAAS,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;AACxC,0CAAkB,SAAS,CAAC,GAAG,IAAI;AAAA,sBACrC;AAEA,0BAAI,OAAO,QAAQ;AACjB,+BAAO,OAAO,QAAQ;AAAA,sBACxB;AAAA,oBACF,OAAO;AACL,4BAAM,sJAAgK;AAAA,oBACxK;AAAA,kBACF,OAAO;AACL,sCAAkB,UAAU,IAAI;AAAA,kBAClC;AAAA,gBACF;AAAA,cACF;AAEA,kBAAI,SAAS,qBAAqB;AAChC,sCAAsB,OAAO;AAAA,cAC/B,OAAO;AACL,kCAAkB,OAAO;AAAA,cAC3B;AAEA,qBAAO;AAAA,YACT;AAAA,UACF;AAKA,mBAAS,wBAAwB,MAAM,OAAO,KAAK;AACjD;AACE,qBAAO,kBAAkB,MAAM,OAAO,KAAK,IAAI;AAAA,YACjD;AAAA,UACF;AACA,mBAAS,yBAAyB,MAAM,OAAO,KAAK;AAClD;AACE,qBAAO,kBAAkB,MAAM,OAAO,KAAK,KAAK;AAAA,YAClD;AAAA,UACF;AAEA,cAAIC,OAAO;AAGX,cAAIC,QAAQ;AAEZ,kBAAQ,WAAW;AACnB,kBAAQ,MAAMD;AACd,kBAAQ,OAAOC;AAAA,QACb,GAAG;AAAA,MACL;AAAA;AAAA;;;ACjyCA;AAAA;AAAA;AAEA,UAAI,OAAuC;AACzC,eAAO,UAAU;AAAA,MACnB,OAAO;AACL,eAAO,UAAU;AAAA,MACnB;AAAA;AAAA;;;ACNA,MAAAC,gBAAkB;AAClB,sBAAqB;;;ACDrB,+BAAc,QAAQ;;;ACAtB,MAAAC,gBAA2C;;;ACE3C,MAAM,gBAA4C,CAAA;AAGlD,MAAI,OAA2B;AAE/B,MAAI;AACF,WAAO;WACA,GAAG;;AAIN,WAAU,WAAW,aAAqB,gBAAsB;AACpE,QAAI,OAAO,SAAS,aAAa;AAE/B,UAAM,WAAa,KAAa,eAAgB,KAAa,gBAAgB,CAAA;AAI7E,UAAI,CAAC,SAAS,WAAW,KAAK,CAAC,cAAc,WAAW,GAAG;AACzD,sBAAc,WAAW,IAAI;AAC7B,YAAM,WAAY,SAAS,WAAW,IAAI,SAAS,WAAW,KAAK,CAAA;AACnE,iBAAS,KAAK,cAAc;;;EAGlC;;;ACvBA,aAAW,yBAAyB,OAAO;;;ACA3C,aAAW,mBAAmB,SAAS;;;AC4BhC,MAAI,WAAW,WAAW;AAC/B,eAAW,OAAO,UAAU,SAASC,UAAS,GAAG;AAC7C,eAAS,GAAG,IAAI,GAAG,IAAI,UAAU,QAAQ,IAAI,GAAG,KAAK;AACjD,YAAI,UAAU,CAAC;AACf,iBAAS,KAAK;AAAG,cAAI,OAAO,UAAU,eAAe,KAAK,GAAG,CAAC;AAAG,cAAE,CAAC,IAAI,EAAE,CAAC;AAAA,MAC/E;AACA,aAAO;AAAA,IACX;AACA,WAAO,SAAS,MAAM,MAAM,SAAS;AAAA,EACvC;AAEO,WAAS,OAAO,GAAG,GAAG;AAC3B,QAAI,IAAI,CAAC;AACT,aAAS,KAAK;AAAG,UAAI,OAAO,UAAU,eAAe,KAAK,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI;AAC9E,UAAE,CAAC,IAAI,EAAE,CAAC;AACd,QAAI,KAAK,QAAQ,OAAO,OAAO,0BAA0B;AACrD,eAAS,IAAI,GAAG,IAAI,OAAO,sBAAsB,CAAC,GAAG,IAAI,EAAE,QAAQ,KAAK;AACpE,YAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,UAAU,qBAAqB,KAAK,GAAG,EAAE,CAAC,CAAC;AACzE,YAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAAA,MACxB;AACJ,WAAO;AAAA,EACT;AAiKO,WAAS,cAAc,IAAI,MAAM,MAAM;AAC5C,QAAI,QAAQ,UAAU,WAAW;AAAG,eAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,IAAI,IAAI,GAAG,KAAK;AACjF,YAAI,MAAM,EAAE,KAAK,OAAO;AACpB,cAAI,CAAC;AAAI,iBAAK,MAAM,UAAU,MAAM,KAAK,MAAM,GAAG,CAAC;AACnD,aAAG,CAAC,IAAI,KAAK,CAAC;AAAA,QAClB;AAAA,MACJ;AACA,WAAO,GAAG,OAAO,MAAM,MAAM,UAAU,MAAM,KAAK,IAAI,CAAC;AAAA,EACzD;;;AC3NO,MAAM,gBAAgB;;;;IAI3B,MAAM;;;;IAKN,YAAY;;;;IAKZ,aAAa;;AAyEf,MAAM,qBAAqB;AAK3B,MAAM,mBAAmB,OAAO,cAAc,eAAe,UAAU,KAAK,UAAU,SAAS;AAE/F,MAAI,UAMA,CAAA;AAGJ,MAAI;AAIF,cAAW,UAAU,CAAA;WACrBC,KAAM;;AAIR,MAAI;AASJ,MAAA;;IAAA,WAAA;AA6BE,eAAAC,YAAY,QAA4B,sBAA4C;;AA1B5E,aAAA,SAAmB,CAAA;AACnB,aAAA,kBAA4B,CAAA;AAE5B,aAAA,WAAW;AACX,aAAA,kBAA6C,CAAA;AAC7C,aAAA,yBAAqC,CAAA;AACrC,aAAA,oBAAgC,CAAA;AAChC,aAAA,mBAAsE,CAAA;AAoB5E,aAAK,UAAO,SAAA;;UAEV,eAAe,OAAO,aAAa,cAAc,cAAc,OAAO,cAAc;UACpF,eAAe;UACf,WAAW;UACX,aAAa;QAAS,GACnB,MAAM;AAGX,aAAK,oBAAmBD,MAAA,yBAAoB,QAApB,yBAAoB,SAAA,SAApB,qBAAsB,qBAAe,QAAAA,QAAA,SAAAA,MAAI,KAAK;AACtE,aAAK,YAAW,KAAA,yBAAoB,QAApB,yBAAoB,SAAA,SAApB,qBAAsB,aAAO,QAAA,OAAA,SAAA,KAAI,KAAK;AACtD,aAAK,mBAAkB,MAAA,KAAA,KAAK,QAAQ,oBAAc,QAAA,OAAA,SAAA,KAAI,yBAAoB,QAApB,yBAAoB,SAAA,SAApB,qBAAsB,oBAAc,QAAA,OAAA,SAAA,KAAI,KAAK;AACnG,aAAK,mBAAkB,KAAA,yBAAoB,QAApB,yBAAoB,SAAA,SAApB,qBAAsB,oBAAc,QAAA,OAAA,SAAA,KAAI,KAAK;AACpE,aAAK,UAAS,KAAA,yBAAoB,QAApB,yBAAoB,SAAA,SAApB,qBAAsB,WAAK,QAAA,OAAA,SAAA,KAAI,KAAK;MACpD;AA7Bc,MAAAC,YAAA,cAAd,WAAA;AACE,sBAAc,QAAQ,kBAAkB;AAExC,YAAI,CAAC,eAAgB,YAAY,qBAAqB,YAAY,kBAAkB,kBAAkB,UAAW;AAC/G,cAAM,gBAAe,YAAO,QAAP,YAAO,SAAA,SAAP,QAAS,iBAAgB,CAAA;AAE9C,cAAM,aAAa,IAAIA,YAAW,aAAa,aAAa,aAAa,oBAAoB;AAC7F,wBAAc;AACd,kBAAQ,kBAAkB,IAAI;;AAGhC,eAAO;MACT;AAuBO,MAAAA,YAAA,UAAA,YAAP,WAAA;AACE,eAAO,KAAK,UAAU;UACpB,iBAAiB,KAAK;UACtB,SAAS,KAAK;UACd,gBAAgB,KAAK;UACrB,gBAAgB,KAAK;UACrB,OAAO,KAAK;SACb;MACH;AAKO,MAAAA,YAAA,UAAA,YAAP,SAAiB,QAA0B;AACzC,aAAK,UAAO,SAAA,SAAA,CAAA,GACP,KAAK,OAAO,GACZ,MAAM;MAEb;AAQO,MAAAA,YAAA,UAAA,UAAP,SAAe,UAAkB;AAAjC,YAAA,QAAA;AACE,aAAK,kBAAkB,KAAK,QAAQ;AAEpC,eAAO,WAAA;AACL,gBAAK,oBAAoB,MAAK,kBAAkB,OAAO,SAAA,IAAE;AAAI,mBAAA,OAAO;UAAP,CAAe;QAC9E;MACF;AAQO,MAAAA,YAAA,UAAA,eAAP,SAAoB,UAAkB;AAAtC,YAAA,QAAA;AACE,aAAK,uBAAuB,KAAK,QAAQ;AAEzC,eAAO,WAAA;AACL,gBAAK,yBAAyB,MAAK,uBAAuB,OAAO,SAAA,IAAE;AAAI,mBAAA,OAAO;UAAP,CAAe;QACxF;MACF;AAOO,MAAAA,YAAA,UAAA,eAAP,SAAoB,aAAoB;AAC9B,YAAA,YAAc,KAAK,QAAO;AAClC,YAAM,SAAS,eAAe,KAAK,QAAQ;AAE3C,eAAO,GAAA,OAAG,YAAY,YAAY,MAAM,EAAE,EAAA,OAAG,QAAM,GAAA,EAAA,OAAI,KAAK,UAAU;MACxE;AAMO,MAAAA,YAAA,UAAA,iBAAP,SAAsB,WAAmB,KAAa,MAAgBC,QAAe;AACnF,aAAK,gBAAgB,GAAG,IAAI;AAC5B,aAAK,iBAAiB,SAAS,IAAI;UACjC;UACA,OAAKA;;MAET;AAMO,MAAAD,YAAA,UAAA,mBAAP,SAAwB,KAAW;AACjC,eAAO,KAAK,gBAAgB,GAAG;MACjC;AAKO,MAAAA,YAAA,UAAA,oBAAP,WAAA;AACE,eAAO,KAAK;MACd;AAMO,MAAAA,YAAA,UAAA,oBAAP,SAAyB,WAAiB;AACxC,YAAM,QAAQ,KAAK,iBAAiB,SAAS;AAE7C,eAAO,SAAS,MAAM;MACxB;AAMO,MAAAA,YAAA,UAAA,6BAAP,SAAkC,WAAiB;AACjD,YAAM,QAAQ,KAAK,iBAAiB,SAAS;AAE7C,eAAO,SAAS,MAAM;MACxB;AAMO,MAAAA,YAAA,UAAA,aAAP,SAAkB,MAAc,UAAkB;AACxC,YAAA,gBAAkB,KAAK,QAAO;AACtC,YAAM,UAAU,kBAAkB,cAAc,OAAO,KAAK,iBAAgB,IAAK;AAEjF,YAAI,UAAU;AACZ,eAAK,gBAAgB,KAAK,IAAI;;AAGhC,YAAI,SAAS;AACX,kBAAQ,eAAe;YACrB,KAAK,cAAc;AACT,kBAAA,QAAU,QAAQ;AAE1B,kBAAI;AACD,sBAAwB,WAAW,MAAO,MAAwB,SAAS,MAAM;uBAC3E,GAAG;;AAKZ;YAEF,KAAK,cAAc;AACjB,sBAAQ,YAAY,SAAS,eAAe,IAAI,CAAC;AACjD;;eAEC;AACL,eAAK,OAAO,KAAK,IAAI;;AAIvB,YAAI,KAAK,QAAQ,cAAc;AAE7B,eAAK,QAAQ,aAAa,IAAI;;AAGhC,aAAK,uBAAuB,QAAQ,SAAA,UAAQ;AAAI,iBAAA,SAAQ;QAAR,CAAU;MAC5D;AAMO,MAAAA,YAAA,UAAA,WAAP,SAAgB,uBAA+B;AAC7C,gBAAQ,wBAAwB,KAAK,gBAAgB,KAAK,EAAE,IAAI,MAAM,KAAK,OAAO,KAAK,EAAE;MAC3F;AAMO,MAAAA,YAAA,UAAA,QAAP,WAAA;AACE,aAAK,SAAS,CAAA;AACd,aAAK,WAAW;AAChB,aAAK,mBAAmB,CAAA;AACxB,aAAK,kBAAkB,CAAA;AAEvB,aAAK,kBAAkB,QAAQ,SAAA,UAAQ;AAAI,iBAAA,SAAQ;QAAR,CAAU;MACvD;AAGO,MAAAA,YAAA,UAAA,YAAP,WAAA;AACE,aAAK,kBAAkB,CAAA;MACzB;AAEQ,MAAAA,YAAA,UAAA,mBAAR,WAAA;AAAA,YAAA,QAAA;AACE,YAAI,CAAC,KAAK,iBAAiB,OAAO,aAAa,aAAa;AAC1D,eAAK,gBAAgB,KAAK,oBAAmB;AAE7C,cAAI,CAAC,kBAAkB;AAErB,mBAAO,sBAAsB,WAAA;AAC3B,oBAAK,gBAAgB;YACvB,CAAC;;;AAGL,eAAO,KAAK;MACd;AAEQ,MAAAA,YAAA,UAAA,sBAAR,WAAA;AACE,YAAM,OAAwB,SAAS;AACvC,YAAM,eAAe,SAAS,cAAc,OAAO;AACnD,YAAI,qBAAkC;AAEtC,qBAAa,aAAa,qBAAqB,MAAM;AAE7C,YAAA,cAAgB,KAAK,QAAO;AACpC,YAAI,aAAa;AACf,cAAI,YAAY,OAAO;AACrB,yBAAa,aAAa,SAAS,YAAY,KAAK;;;AAGxD,YAAI,KAAK,mBAAmB;AAG1B,+BAAqB,KAAK,kBAAkB;eACvC;AACL,cAAM,sBAAsC,KAAK,yBAAwB;AAEzE,cAAI,qBAAqB;AACvB,iCAAqB,oBAAoB;iBACpC;AACL,iCAAqB,KAAK,WAAW,CAAC;;;AAI1C,aAAM,aAAa,cAAc,KAAM,SAAS,kBAAkB,IAAI,qBAAqB,IAAI;AAC/F,aAAK,oBAAoB;AAEzB,eAAO;MACT;AAEQ,MAAAA,YAAA,UAAA,2BAAR,WAAA;AACE,YAAM,OAAwB,SAAS;AACvC,YAAI,MAAM;AACR,iBAAO,KAAK,cAAc,0BAA0B;;AAEtD,eAAO;MACT;AACF,aAAAA;IAAA,EAxRA;;;;ACpHM,WAAU,oBAAiB;AAAC,QAAA,OAAA,CAAA;aAAA,KAAA,GAAA,KAAA,UAAA,QAAA,MAAyD;AAAzD,WAAA,EAAA,IAAA,UAAA,EAAA;;AAIhC,QAAM,UAAoB,CAAA;AAC1B,QAAM,UAAgB,CAAA;AACtB,QAAM,aAAa,WAAW,YAAW;AAEzC,aAAS,aAAa,UAA+B;AACnD,eAAkBE,MAAA,GAAA,aAAA,UAAAA,MAAA,WAAA,QAAAA,OAAU;AAAvB,YAAM,MAAG,WAAAA,GAAA;AACZ,YAAI,KAAK;AACP,cAAI,OAAO,QAAQ,UAAU;AAC3B,gBAAI,IAAI,QAAQ,GAAG,KAAK,GAAG;AACzB,2BAAa,IAAI,MAAM,GAAG,CAAC;mBACtB;AACL,kBAAM,iBAAiB,WAAW,kBAAkB,GAAG;AAEvD,kBAAI,gBAAgB;AAClB,6BAAa,cAAc;qBACtB;AAEL,oBAAI,QAAQ,QAAQ,GAAG,MAAM,IAAI;AAC/B,0BAAQ,KAAK,GAAG;;;;qBAIb,MAAM,QAAQ,GAAG,GAAG;AAC7B,yBAAa,GAAG;qBACP,OAAO,QAAQ,UAAU;AAClC,oBAAQ,KAAK,GAAG;;;;IAIxB;AAEA,iBAAa,IAAI;AAEjB,WAAO;MACL;MACA;;EAEJ;;;AC3CM,WAAU,OAAO,OAAc;AACnC,QAAI,SAAS,OAAO;AAClB,aAAO;;EAEX;AAKM,WAAU,SAAM;AACpB,QAAI,SAAS,QAAW;AACtB,aACE,OAAO,aAAa,eACpB,CAAC,CAAC,SAAS,mBACX,SAAS,gBAAgB,aAAa,KAAK,MAAM;;AAErD,WAAO;EACT;AAKA,MAAI;AACJ,SAAO,OAAM;AAEP,WAAU,kBAAe;AAC7B,WAAO;MACL,KAAK,OAAM;;EAEf;;;AClCA,MAAM,QAAmC,CAAA;AAEnC,WAAU,WAAW,WAAgC,OAAa;AACtE,QAAM,OAAe,UAAU,KAAK;AAEpC,QAAI,KAAK,OAAO,CAAC,MAAM,KAAK;AAC1B,gBAAU,KAAK,IAAI,MAAM,IAAI,IAAI,MAAM,IAAI,KAAK,KAAK,QAAQ,YAAY,KAAK,EAAE,YAAW;;EAE/F;;;ACDA,MAAI;AAEE,WAAU,oBAAiB;;AAC/B,QAAI,CAAC,iBAAiB;AACpB,UAAM,MAAM,OAAO,aAAa,cAAc,WAAW;AACzD,UAAM,MAAM,OAAO,cAAc,cAAc,YAAY;AAC3D,UAAM,aAAYC,MAAA,QAAG,QAAH,QAAG,SAAA,SAAH,IAAK,eAAS,QAAAA,QAAA,SAAA,SAAAA,IAAE,YAAW;AAE7C,UAAI,CAAC,KAAK;AACR,0BAAkB;UAChB,UAAU;UACV,OAAO;UACP,SAAS;UACT,MAAM;;aAEH;AACL,0BAAkB;UAChB,UAAU,CAAC,EAAE,OAAO,sBAAsB,IAAI,gBAAgB;UAC9D,OAAO,CAAC,EAAE,aAAa,UAAU,QAAQ,SAAS,IAAI;UACtD,SAAS,CAAC,EAAE,aAAa,UAAU,QAAQ,OAAO,IAAI;UACtD,MAAM,CAAC,EAAE,QAAQ,WAAW,KAAK,IAAI,SAAS,KAAK,aAAa,KAAK,UAAU,SAAS;;;;AAK9F,WAAO;EACT;;;AC/BA,MAAM,kBAA6C;IACjD,eAAe;;AAGX,WAAU,YAAY,WAAgC,OAAa;AACvE,QAAM,iBAAiB,kBAAiB;AAExC,QAAM,OAAO,UAAU,KAAK;AAE5B,QAAI,gBAAgB,IAAI,GAAG;AACzB,UAAM,QAAQ,UAAU,QAAQ,CAAC;AAEjC,UAAI,gBAAgB,IAAI,GAAG;AACzB,YAAI,eAAe,UAAU;AAC3B,oBAAU,KAAK,aAAa,MAAM,KAAK;;AAEzC,YAAI,eAAe,OAAO;AACxB,oBAAU,KAAK,UAAU,MAAM,KAAK;;AAEtC,YAAI,eAAe,MAAM;AACvB,oBAAU,KAAK,SAAS,MAAM,KAAK;;AAErC,YAAI,eAAe,SAAS;AAC1B,oBAAU,KAAK,QAAQ,MAAM,KAAK;;;;EAI1C;;;AC7BA,MAAM,yBAAyB;IAC7B;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;AAGI,WAAU,aAAa,WAAgC,OAAa;AACxE,QAAM,OAAO,UAAU,KAAK;AAC5B,QAAM,QAAQ,UAAU,QAAQ,CAAC;AAEjC,QAAI,OAAO,UAAU,UAAU;AAC7B,UAAM,iBAAiB,uBAAuB,QAAQ,IAAc,IAAI;AACxE,UAAM,uBAAuB,KAAK,QAAQ,IAAI,IAAI;AAClD,UAAM,OAAO,kBAAkB,uBAAuB,KAAK;AAE3D,gBAAU,QAAQ,CAAC,IAAI,GAAA,OAAG,KAAK,EAAA,OAAG,IAAI;;EAE1C;;;;ACtBA,MAAM,OAAO;AACb,MAAM,QAAQ;AACd,MAAM,UAAU;AAChB,MAAM,qBAAiB,KAAA,CAAA,GACrB,GAAC,IAAI,IAAG,OACR,GAAC,KAAK,IAAG;AAEX,MAAM,qBAAgD;IACpD,YAAY;IACZ,aAAa;IACb,aAAa;;AAOT,WAAU,YAAY,SAAwB,WAAgC,OAAa;AAC/F,QAAI,QAAQ,KAAK;AACf,UAAM,SAAO,UAAU,KAAK;AAE5B,UAAI,CAAC,QAAM;AACT;;AAGF,UAAM,QAAQ,UAAU,QAAQ,CAAC;AAEjC,UAAI,OAAO,UAAU,YAAY,MAAM,QAAQ,OAAO,KAAK,GAAG;AAC5D,kBAAU,QAAQ,CAAC,IAAI,MAAM,QAAQ,8CAA8C,EAAE;iBAC5E,OAAK,QAAQ,IAAI,KAAK,GAAG;AAClC,kBAAU,KAAK,IAAI,OAAK,QAAQ,MAAM,KAAK;iBAClC,OAAK,QAAQ,KAAK,KAAK,GAAG;AACnC,kBAAU,KAAK,IAAI,OAAK,QAAQ,OAAO,IAAI;iBAClC,OAAO,KAAK,EAAE,QAAQ,IAAI,KAAK,GAAG;AAC3C,kBAAU,QAAQ,CAAC,IAAI,MAAM,QAAQ,MAAM,KAAK;iBACvC,OAAO,KAAK,EAAE,QAAQ,KAAK,KAAK,GAAG;AAC5C,kBAAU,QAAQ,CAAC,IAAI,MAAM,QAAQ,OAAO,IAAI;iBACvC,kBAAkB,MAAI,GAAG;AAClC,kBAAU,KAAK,IAAI,kBAAkB,MAAI;iBAChC,mBAAmB,KAAK,GAAG;AACpC,kBAAU,QAAQ,CAAC,IAAI,mBAAmB,KAAK;aAC1C;AACL,gBAAQ,QAAM;UACZ,KAAK;UACL,KAAK;AACH,sBAAU,QAAQ,CAAC,IAAI,SAAS,KAAK;AACrC;UACF,KAAK;AACH,sBAAU,QAAQ,CAAC,IAAI,UAAU,OAAO,CAAC;AACzC;;;;EAIV;AAKA,WAAS,UAAU,OAAe,WAAiB;AACjD,QAAM,QAAQ,MAAM,MAAM,GAAG;AAC7B,QAAM,YAAY,SAAS,MAAM,SAAS,GAAG,EAAE;AAE/C,UAAM,CAAC,IAAI,MAAM,CAAC,EAAE,QAAQ,OAAO,SAAS,GAAG,OAAO,YAAY,EAAE,CAAC;AAErE,WAAO,MAAM,KAAK,GAAG;EACvB;AAKA,WAAS,SAAS,OAAa;AAC7B,QAAI,OAAO,UAAU,UAAU;AAC7B,UAAM,QAAQ,MAAM,MAAM,GAAG;AAE7B,UAAI,MAAM,WAAW,GAAG;AACtB,eAAO,GAAA,OAAG,MAAM,CAAC,GAAC,GAAA,EAAA,OAAI,MAAM,CAAC,GAAC,GAAA,EAAA,OAAI,MAAM,CAAC,GAAC,GAAA,EAAA,OAAI,MAAM,CAAC,CAAC;;;AAI1D,WAAO;EACT;;;ACrEM,WAAU,wBAAwB,OAAa;AACnD,QAAM,QAAQ,CAAA;AACd,QAAI,YAAY;AAChB,QAAI,SAAS;AAEb,aAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACrC,cAAQ,MAAM,CAAC,GAAG;QAChB,KAAK;AACH;AACA;QACF,KAAK;AACH,cAAI,QAAQ;AACV;;AAEF;QACF,KAAK;QACL,KAAK;AACH,cAAI,CAAC,QAAQ;AAEX,gBAAI,IAAI,WAAW;AACjB,oBAAM,KAAK,MAAM,UAAU,WAAW,CAAC,CAAC;;AAE1C,wBAAY,IAAI;;AAElB;;;AAKN,QAAI,YAAY,MAAM,QAAQ;AAC5B,YAAM,KAAK,MAAM,UAAU,SAAS,CAAC;;AAGvC,WAAO;EACT;;;ACpCA,MAAM,eAAe;AASrB,WAAS,eAAeC,QAAoC;AAC1D,QAAM,YAAoBA,UAASA,OAAM,GAAG;AAE5C,WAAO,YAAa,UAAwB,cAAc;EAC5D;AAEA,MAAM,uBAAuB;AAW7B,WAAS,4BAA4B,qBAA2B;AAE9D,QAAI,CAAC,qBAAqB,KAAK,mBAAmB,GAAG;AACnD,aAAO;;AAGT,QAAM,kBAAqC,CAAA;AAE3C,QAAM,aAAa;AACnB,QAAI,QAAQ;AAEZ,WAAQ,QAAQ,WAAW,KAAK,mBAAmB,GAAI;AAErD,UAAI,MAAM,CAAC,EAAE,QAAQ,GAAG,IAAI,IAAI;AAC9B,wBAAgB,KAAK;UACnB,MAAM;UACN,MAAM,QAAQ,MAAM,CAAC,EAAE;;UAEvB,MAAM,CAAC,EACJ,MAAM,GAAG,EACT,IAAI,SAAC,GAAS;AAAK,mBAAA,WAAA,OAAW,EAAE,KAAI,GAAE,GAAA;UAAnB,CAAsB,EACzC,KAAK,IAAI;SACb;;;AAKL,WAAO,gBACJ,QAAO,EACP,OAAO,SAAC,UAAkBC,KAAyD;UAAxD,aAAUA,IAAA,CAAA,GAAE,gBAAaA,IAAA,CAAA,GAAE,cAAWA,IAAA,CAAA;AAChE,UAAM,SAAS,SAAS,MAAM,GAAG,UAAU;AAC3C,UAAM,SAAS,SAAS,MAAM,aAAa;AAE3C,aAAO,SAAS,cAAc;IAChC,GAAG,mBAAmB;EAC1B;AAEA,WAAS,eAAe,aAAqB,iBAAuB;AAClE,QAAI,YAAY,QAAQ,UAAU,KAAK,GAAG;AACxC,aAAO,YAAY,QAAQ,sBAAsB,IAAI;eAC5C,YAAY,QAAQ,GAAG,MAAM,GAAG;AACzC,aAAO,kBAAkB;eAChB,YAAY,QAAQ,GAAG,IAAI,GAAG;AACvC,aAAO,kBAAkB,MAAM;;AAGjC,WAAO;EACT;AAEA,WAAS,gBAAgB,iBAAyBD,QAAmC,UAAkB,OAAa;AAAlE,QAAAA,WAAA,QAAA;AAAA,MAAAA,SAAA,EAAoB,SAAS,CAAA,EAAE;IAAE;AACjF,QAAI,SAAS,QAAQ,GAAG,MAAM,GAAG;AAC/B,iBAAW,WAAW,MAAM;AAC5B,mBAAa,CAAC,KAAK,GAAGA,QAAO,QAAQ;eAC5B,SAAS,QAAQ,GAAG,IAAI,IAAI;AACrC,kCAA4B,QAAQ,EACjC,MAAM,GAAG,EACT,IAAI,SAAC,GAAS;AAAK,eAAA,EAAE,KAAI;MAAN,CAAQ,EAC3B,QAAQ,SAAC,mBAAyB;AACjC,eAAA,aAAa,CAAC,KAAK,GAAGA,QAAO,eAAe,mBAAmB,eAAe,CAAC;MAA/E,CAAgF;WAE/E;AACL,mBAAa,CAAC,KAAK,GAAGA,QAAO,eAAe,UAAU,eAAe,CAAC;;EAE1E;AAEA,WAAS,aAAa,MAAgBA,QAAmC,iBAA6B;AAAhE,QAAAA,WAAA,QAAA;AAAA,MAAAA,SAAA,EAAoB,SAAS,CAAA,EAAE;IAAE;AAAE,QAAA,oBAAA,QAAA;AAAA,wBAAA;IAA6B;AACpG,QAAM,aAAa,WAAW,YAAW;AACzC,QAAI,eAAwCA,OAAM,eAAe;AAEjE,QAAI,CAAC,cAAc;AACjB,qBAAe,CAAA;AACf,MAAAA,OAAM,eAAe,IAAI;AACzB,MAAAA,OAAM,QAAQ,KAAK,eAAe;;AAGpC,aAAkB,KAAA,GAAA,SAAA,MAAA,KAAA,OAAA,QAAA,MAAM;AAAnB,UAAM,MAAG,OAAA,EAAA;AAEZ,UAAI,OAAO,QAAQ,UAAU;AAC3B,YAAM,gBAAgB,WAAW,kBAAkB,GAAG;AAEtD,YAAI,eAAe;AACjB,uBAAa,eAAeA,QAAO,eAAe;;iBAG3C,MAAM,QAAQ,GAAG,GAAG;AAC7B,qBAAa,KAAKA,QAAO,eAAe;aACnC;AACL,iBAAW,QAAQ,KAAY;AAC7B,cAAK,IAAY,eAAe,IAAI,GAAG;AACrC,gBAAM,YAAa,IAAY,IAAI;AAEnC,gBAAI,SAAS,aAAa;AAExB,kBAAM,YAAwC,IAAY;AAE1D,uBAAW,eAAe,WAAW;AACnC,oBAAI,UAAU,eAAe,WAAW,GAAG;AACzC,kCAAgB,iBAAiBA,QAAO,aAAa,UAAU,WAAW,CAAC;;;uBAGtE,OAAO,cAAc,UAAU;AAExC,kBAAI,cAAc,MAAM;AACtB,gCAAgB,iBAAiBA,QAAO,MAAM,SAAS;;mBAEpD;AACL,kBAAI,cAAc,QAAW;AAE3B,oBAAI,SAAS,YAAY,SAAS,WAAW;AAC3C,8BAAY,cAAc,MAAM,SAAS;uBACpC;AACJ,+BAAqB,IAAI,IAAI;;;;;;;;AAS5C,WAAOA;EACT;AAEA,WAAS,YAAY,cAA2B,MAAc,OAAa;AACzE,QAAI,QAAQ,OAAO,UAAU,WAAW,wBAAwB,KAAK,IAAI,CAAC,KAAK;AAE/E,QAAI,MAAM,WAAW,GAAG;AACtB,YAAM,KAAK,KAAK;;AAGlB,QAAI,MAAM,MAAM,SAAS,CAAC,MAAM,cAAc;AAE5C,cAAQ,MAAM,MAAM,GAAG,EAAE,EAAE,IAAI,SAAA,GAAC;AAAI,eAAA,IAAI;MAAJ,CAAiB;;AAGvD,iBAAa,OAAO,KAAK,IAAI,MAAM,CAAC;AACpC,iBAAa,OAAO,OAAO,IAAI,MAAM,CAAC,KAAK,MAAM,CAAC;AAClD,iBAAa,OAAO,QAAQ,IAAI,MAAM,CAAC,KAAK,MAAM,CAAC;AACnD,iBAAa,OAAO,MAAM,IAAI,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC;EAC/D;AAEA,WAAS,eAAe,SAAwBA,QAAe;AAC7D,QAAM,aAAuB,CAAC,QAAQ,MAAM,QAAQ,KAAK;AACzD,QAAI,WAAW;AAEf,aAAuB,KAAA,GAAAC,MAAAD,OAAM,SAAN,KAAAC,IAAA,QAAA,MAAe;AAAjC,UAAM,WAAQA,IAAA,EAAA;AACjB,iBAAW,KAAK,QAAQ;AACxB,UAAM,mBAAmBD,OAAM,QAAQ;AAEvC,eAAW,YAAY,kBAAkB;AACvC,YAAI,iBAAiB,eAAe,QAAQ,KAAK,iBAAiB,QAAQ,MAAM,QAAW;AACzF,qBAAW;AACX,qBAAW,KAAK,UAAU,iBAAiB,QAAQ,CAAC;;;;AAK1D,WAAO,WAAW,WAAW,KAAK,EAAE,IAAI;EAC1C;AAEA,WAAS,aAAa,QAAgB,OAAa;AACjD,QAAI,SAAS,GAAG;AACd,aAAO;;AAGT,QAAI,UAAU,GAAG;AACf,aAAO;;AAGT,WAAO,SAAS,aAAa,QAAQ,QAAQ,CAAC;EAChD;AAEM,WAAU,qBAAqB,SAAwB,aAA+C;AAC1G,QAAI,CAAC,aAAa;AAChB,aAAO;;AAGT,QAAM,aAAkC,CAAA;AAExC,aAAW,SAAS,aAAa;AAC/B,UAAI,YAAY,eAAe,KAAK,KAAK,UAAU,gBAAgB,YAAY,KAAK,MAAM,QAAW;AACnG,mBAAW,KAAK,OAAO,YAAY,KAAK,CAAC;;;AAK7C,aAAS,IAAI,GAAG,IAAI,WAAW,QAAQ,KAAK,GAAG;AAC7C,iBAAW,YAAY,CAAC;AACxB,mBAAa,YAAY,CAAC;AAC1B,kBAAY,SAAS,YAAY,CAAC;AAClC,kBAAY,YAAY,CAAC;;AAI3B,aAAS,IAAI,GAAG,IAAI,WAAW,QAAQ,KAAK,GAAG;AAC7C,iBAAW,OAAO,GAAG,GAAG,KAAK,WAAW,CAAC,GAAG,GAAG;;AAGjD,WAAO,WAAW,KAAK,EAAE;EAC3B;AASM,WAAU,oBAAoB,SAAsB;AAAE,QAAA,OAAA,CAAA;aAAA,KAAA,GAAA,KAAA,UAAA,QAAA,MAAiB;AAAjB,WAAA,KAAA,CAAA,IAAA,UAAA,EAAA;;AAC1D,QAAMA,SAAkB,aAAa,IAAI;AACzC,QAAM,MAAM,eAAe,SAASA,MAAK;AAEzC,QAAI,KAAK;AACP,UAAM,aAAa,WAAW,YAAW;AACzC,UAAM,eAAuC;QAC3C,WAAW,WAAW,iBAAiB,GAAG;QAC1C;QACA;;AAGF,UAAI,CAAC,aAAa,WAAW;AAC3B,qBAAa,YAAY,WAAW,aAAa,eAAeA,MAAK,CAAC;AACtE,YAAM,gBAA0B,CAAA;AAEhC,iBAAuBC,MAAA,GAAA,KAAAD,OAAM,SAANC,MAAA,GAAA,QAAAA,OAAe;AAAjC,cAAM,WAAQ,GAAAA,GAAA;AACjB,wBAAc,KAAK,UAAU,qBAAqB,SAASD,OAAM,QAAQ,CAAC,CAAC;;AAE7E,qBAAa,gBAAgB;;AAG/B,aAAO;;AAGT,WAAO;EACT;AAQM,WAAU,kBAAkB,cAA6B,uBAAiC;AAAjC,QAAA,0BAAA,QAAA;AAAA,8BAAA;IAAiC;AAC9F,QAAM,aAAa,WAAW,YAAW;AACjC,QAAA,YAAwC,aAAY,WAAzC,MAA6B,aAAY,KAApC,OAAwB,aAAY,MAA9B,gBAAkB,aAAY;AAE5D,QAAI,eAAe;AAEjB,eAAS,IAAI,GAAG,IAAI,cAAc,QAAQ,KAAK,GAAG;AAChD,YAAMA,SAAQ,cAAc,IAAI,CAAC;AACjC,YAAIA,QAAO;AACT,cAAI,WAAW,cAAc,CAAC;AAC9B,qBAAW,SAAS,QAAQ,MAAM,aAAa,IAAA,OAAI,aAAa,SAAS,GAAI,qBAAqB,CAAC;AAGnG,cAAM,gBAAgB,GAAA,OAAG,UAAQ,GAAA,EAAA,OAAIA,QAAK,GAAA,EAAA,OAAI,SAAS,QAAQ,GAAG,MAAM,IAAI,MAAM,EAAE;AACpF,qBAAW,WAAW,aAAa;;;AAGvC,iBAAW,eAAe,WAAY,KAAM,MAAO,aAAa;;EAEpE;AAEM,WAAU,iBAAiB,SAAsB;AAAE,QAAA,OAAA,CAAA;aAAA,KAAA,GAAA,KAAA,UAAA,QAAA,MAAiB;AAAjB,WAAA,KAAA,CAAA,IAAA,UAAA,EAAA;;AACvD,QAAM,eAAe,oBAAmB,MAAA,QAAA,cAAA,CAAC,OAAO,GAAK,MAAI,KAAA,CAAA;AACzD,QAAI,cAAc;AAChB,wBAAkB,cAAc,QAAQ,qBAAqB;AAE7D,aAAO,aAAa;;AAGtB,WAAO;EACT;;;AChSM,WAAU,SACd,MACA,SAAuB;AAEvB,QAAM,YAAY,gBAAgB,QAAQ,OAAO,CAAC,IAAI;AAChD,QAAAE,MAAuB,kBAAkB,SAAS,GAAhD,UAAOA,IAAA,SAAE,UAAOA,IAAA;AAExB,QAAI,QAAQ,QAAQ;AAClB,cAAQ,KAAK,iBAAiB,WAAW,CAAA,GAAI,OAAO,CAAC;;AAGvD,WAAO,QAAQ,KAAK,GAAG;EACzB;;;AC2EM,WAAU,kBAAe;AAAC,QAAA,YAAA,CAAA;aAAA,KAAA,GAAA,KAAA,UAAA,QAAA,MAAsD;AAAtD,gBAAA,EAAA,IAAA,UAAA,EAAA;;AAC9B,QAAI,aAAa,UAAU,WAAW,KAAK,UAAU,CAAC,KAAK,CAAE,UAAU,CAAC,EAAgB,oBAAoB;AAC1G,aAAO,UAAU,CAAC;;AAGpB,QAAM,YAAwC,CAAA;AAG9C,QAAM,4BAAwF,CAAA;AAE9F,aAAyBC,MAAA,GAAA,cAAA,WAAAA,MAAA,YAAA,QAAAA,OAAW;AAA/B,UAAM,aAAU,YAAAA,GAAA;AACnB,UAAI,YAAY;AACd,iBAAW,QAAQ,YAAY;AAC7B,cAAI,WAAW,eAAe,IAAI,GAAG;AACnC,gBAAI,SAAS,wBAAwB,WAAW,uBAAuB,QAAW;AAGhF,kBAAM,yBAAyB,WAAW;AAC1C,uBAAW,eAAe,wBAAwB;AAChD,oBAAI,uBAAuB,eAAe,WAAW,GAAG;AACtD,sBAAI,0BAA0B,eAAe,WAAW,GAAG;AACzD,8CAA0B,WAAW,EAAE,KAAK,uBAAuB,WAAW,CAAC;yBAC1E;AACL,8CAA0B,WAAW,IAAI,CAAC,uBAAuB,WAAW,CAAC;;;;AAKnF;;AAKF,gBAAM,cAAuB,UAAkB,IAAI;AACnD,gBAAM,eAAgB,WAAmB,IAAI;AAE7C,gBAAI,gBAAgB,QAAW;AAC5B,wBAAkB,IAAI,IAAI;mBACtB;AACJ,wBAAkB,IAAI,IAAC,cAAA,cAAA,CAAA,GAElB,MAAM,QAAQ,WAAW,IAAI,cAAc,CAAC,WAAyB,GAAE,IAAA,GACvE,MAAM,QAAQ,YAAY,IAAI,eAAe,CAAC,YAA0B,GAAE,IAAA;;;;;;AAQ1F,QAAI,OAAO,KAAK,yBAAyB,EAAE,SAAS,GAAG;AACrD,gBAAU,qBAAqB,CAAA;AAC/B,UAAM,kBAAkB,UAAU;6BAGvBC,cAAW;AACpB,YAAI,0BAA0B,eAAeA,YAAW,GAAG;AACzD,cAAM,eAAa,0BAA0BA,YAAW;AACxD,0BAAgBA,YAAW,IAAI,SAAC,YAAe;AAC7C,mBAAO,gBAAe,MAAA,QACjB,aAAW,IAAI,SAAC,uBAAuD;AACxE,qBAAA,OAAO,0BAA0B,aAAa,sBAAsB,UAAU,IAAI;YAAlF,CAAuG,CACxG;UAEL;;;AATJ,eAAW,eAAe,2BAAyB;gBAAxC,WAAW;;;AAcxB,WAAO;EACT;;;ACzKM,WAAU,SAAS,MAAe;AACtC,QAAM,aAAa,WAAW,YAAW;AAEzC,QAAM,OAAO,qBAAqB,gBAAe,GAAI,IAAU;AAE/D,QAAM,YAAY,WAAW,iBAAiB,IAAI;AAElD,QAAI,WAAW;AACb;;AAGF,QAAM,OAAO,WAAW,aAAY;AACpC,eAAW,WAAW,cAAA,OAAc,MAAI,GAAA,GAAK,IAAI;AACjD,eAAW,eAAe,MAAM,MAAM,CAAA,GAAI,CAAC,aAAa,IAAI,CAAC;EAC/D;;;ACpBA,aAAW,0BAA0B,QAAQ;;;ACAvC,WAAU,YAAS;AACvB,WACE,OAAO,WAAW,eAClB,CAAC,EACC,OAAO;IAEP,OAAO,SAAS;EAGtB;;;ACVA,MAAI,UAA8B;AAKlC,MAAI;AACF,cAAU;WACH,GAAG;;AAYN,WAAU,UAAU,aAA4B;AACpD,QAAI,CAAC,UAAS,KAAM,OAAO,YAAY,aAAa;AAClD,aAAO;WACF;AACL,UAAM,KAAK;AAEX,aAAO,MAAM,GAAG,iBAAiB,GAAG,cAAc,cAAc,GAAG,cAAc,cAAc;;EAEnG;;;ACpBM,WAAU,YAAY,aAAgC;AAC1D,QAAI,CAAC,UAAS,KAAM,OAAO,aAAa,aAAa;AACnD,aAAO;WACF;AACL,UAAM,KAAK;AAEX,aAAO,MAAM,GAAG,gBAAgB,GAAG,gBAAgB;;EAEvD;;;ACfA,MAAI,mBAA4D;AAU1D,WAAU,KAAK,SAAe;AAClC,QAAI,oBAAoB,MAAuC;AAC7D,uBAAiB,OAAO;eACf,WAAW,QAAQ,MAAM;AAClC,cAAQ,KAAK,OAAO;;EAExB;;;ACNM,WAAU,iBAAoB,eAAuB,OAAU,gBAA+B;AAClG,QAAI,MAAuC;AACzC,eAAW,YAAY,gBAAgB;AACrC,YAAI,SAAS,YAAY,OAAO;AAC9B,cAAI,qBAAqB,GAAA,OAAG,eAAa,aAAA,EAAA,OAAc,UAAQ,qCAAA;AAC/D,cAAM,sBAAsB,eAAe,QAAQ;AACnD,cAAI,qBAAqB;AACvB,kCAAsB,SAAA,OAAS,qBAAmB,YAAA;;AAEpD,eAAK,kBAAkB;;;;EAI/B;;;ACdA,MAAM,4BAA4B;AAClC,MAAM,2BAA2B;AAEjC,MAAI,WAAW;AAmCf,MAAA;;IAAA,WAAA;AAAA,eAAAC,kBAAA;MAoDA;AAnDgB,MAAAA,gBAAA,WAAd,SAA0B,KAAa,cAA4B;AACjE,YAAM,iBAAiB,mBAAkB;AAEzC,YAAI,eAAe,GAAG,MAAM,QAAW;AACrC,yBAAe,GAAG,IAAI,OAAO,iBAAiB,aAAc,aAAyB,IAAK;;AAG5F,eAAO,eAAe,GAAG;MAC3B;AAEc,MAAAA,gBAAA,WAAd,SAA0B,KAAa,OAAQ;AAC7C,YAAM,iBAAiB,mBAAkB;AACzC,YAAM,YAAY,eAAe,wBAAwB;AACzD,YAAI,WAAW,eAAe,GAAG;AAEjC,YAAI,UAAU,UAAU;AACtB,yBAAe,GAAG,IAAI;AAEtB,cAAI,oBAAoB;YACtB;YACA;YACA;;AAGF,mBAAS,MAAM,WAAW;AACxB,gBAAI,UAAU,eAAe,EAAE,GAAG;AAChC,wBAAU,EAAE,EAAE,iBAAiB;;;;AAKrC,eAAO;MACT;AAEc,MAAAA,gBAAA,oBAAd,SAAgC,IAAwB;AAGtD,YAAI,KAAK,GAAG;AACZ,YAAM,YAAY,cAAa;AAE/B,YAAI,CAAC,IAAI;AACP,eAAK,GAAG,SAAS,OAAO,UAAU;;AAGpC,kBAAU,EAAE,IAAI;MAClB;AAEc,MAAAA,gBAAA,uBAAd,SAAmC,IAAwB;AACzD,YAAM,YAAY,cAAa;AAC/B,eAAO,UAAU,GAAG,MAAgB;MACtC;AACF,aAAAA;IAAA,EApDA;;AAuDA,WAAS,qBAAkB;;AACzB,QAAM,MAAM,UAAS;AAErB,QAAM,YAAoC,OAAO,CAAA;AAEjD,QAAI,CAAC,UAAU,yBAAyB,GAAG;AACzC,gBAAU,yBAAyB,KAACC,MAAA,CAAA,GAClCA,IAAC,wBAAwB,IAAG,CAAA;;AAIhC,WAAO,UAAU,yBAAyB;EAC5C;AAEA,WAAS,gBAAa;AACpB,QAAM,iBAAiB,mBAAkB;AACzC,WAAO,eAAe,wBAAwB;EAChD;;;ACnHM,WAAU,QAAQ,KAAW;AACjC,QAAI,SAAS;AACb,QAAI;AACF,UAAM,MAAM,UAAS;AACrB,eAAS,MAAM,IAAI,eAAe,QAAQ,GAAG,IAAI;aAC1C,GAAG;;AAGZ,WAAO;EACT;AAOM,WAAU,QAAQ,KAAa,MAAY;;AAC/C,QAAI;AACF,OAAAC,MAAA,UAAS,OAAE,QAAAA,QAAA,SAAA,SAAAA,IAAE,eAAe,QAAQ,KAAK,IAAI;aACtC,GAAG;;EAGd;;;ACvBA,MAAM,wBAAwB;AAG9B,MAAI;AAKE,WAAUC,QAAO,OAA6B;AAA7B,QAAA,UAAA,QAAA;AAAA,cAAA,CAAA;IAA6B;AAClD,QAAI,MAAM,QAAQ,QAAW;AAC3B,aAAO,MAAM;;AAEf,QAAI,WAAW,QAAW;AAExB,UAAI,WAAW,QAAQ,qBAAqB;AAC5C,UAAI,aAAa,MAAM;AACrB,iBAAS,aAAa;AACtB,QAAAC,QAAO,MAAM;;AAGf,UAAI,MAAM,YAAW;AACrB,UAAI,WAAW,UAAa,KAAK;AAC/B,kBAAW,IAAI,QAAQ,IAAI,KAAK,aAAa,KAAK,KAAM,IAAI,gBAAgB,aAAa,KAAK,OAAO;AACrG,eAAkB,MAAM;;;AAI5B,WAAO,CAAC,CAAC;EACX;AAKM,WAAUA,QAAO,OAAgB,gBAA+B;AAA/B,QAAA,mBAAA,QAAA;AAAA,uBAAA;IAA+B;AACpE,QAAI,MAAM,YAAW;AACrB,QAAI,KAAK;AACP,UAAI,gBAAgB,aAAa,OAAO,QAAQ,QAAQ,KAAK;;AAG/D,QAAI,gBAAgB;AAClB,cAAQ,uBAAuB,QAAQ,MAAM,GAAG;;AAGlD,aAAS;AACT,WAAkB,MAAM;EAC1B;;;ACxCA,MAAI,+BAA+B;AACnC,MAAI,gBAAgB;AACpB,MAAM,eAAe,EAAE,OAAO,KAAI;AAClC,MAAM,cAAmB,CAAA;AACzB,MAAI,WAAW,OAAO,YAAY,cAAc,OAAO;AAmBjD,WAAU,oBAAiB;AAC/B;EACF;AAgDM,WAAU,gBACd,IACA,cACA,6BAA4C;AAD5C,QAAA,iBAAA,QAAA;AAAA,qBAAA;IAA0B;AAC1B,QAAA,gCAAA,QAAA;AAAA,oCAAA;IAA4C;AAG5C,QAAI,CAAC,UAAU;AACb,aAAO;;AAGT,QAAI,CAAC,8BAA8B;AACjC,UAAM,aAAa,WAAW,YAAW;AAEzC,UAAI,cAAe,WAAqC,SAAS;AAC/D,mBAAW,YAAW,EAAG,QAAQ,iBAAiB;;AAEpD,qCAA+B;;AAGjC,QAAI;AACJ,QAAI,YAAY;AAChB,QAAI,oBAAoB;AAExB,WAAO,SAAS,mBAAgB;AAAC,UAAA,OAAA,CAAA;eAAA,KAAA,GAAA,KAAA,UAAA,QAAA,MAAc;AAAd,aAAA,EAAA,IAAA,UAAA,EAAA;;AAC/B,UAAI,cAAmB;AAEvB,UACE,aAAa,UACb,sBAAsB,iBACrB,eAAe,KAAK,YAAY,cACjC;AACA,mBAAW,YAAW;AACtB,oBAAY;AACZ,4BAAoB;;AAGtB,oBAAc;AAGd,eAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,YAAI,MAAM,cAAc,KAAK,CAAC,CAAC;AAE/B,YAAI,CAAC,YAAY,IAAI,IAAI,GAAG,GAAG;AAC7B,sBAAY,IAAI,IAAI,KAAK,YAAW,CAAE;;AAGxC,sBAAc,YAAY,IAAI,IAAI,GAAG;;AAGvC,UAAI,CAAC,YAAY,eAAe,OAAO,GAAG;AACxC,oBAAY,QAAQ,GAAE,MAAA,QAAI,IAAI;AAC9B;;AAGF,UAAI,gCAAgC,YAAY,UAAU,QAAQ,YAAY,UAAU,SAAY;AAClG,oBAAY,QAAQ,GAAE,MAAA,QAAI,IAAI;;AAGhC,aAAO,YAAY;IACrB;EACF;AA4CA,WAAS,cAAc,KAAQ;AAC7B,QAAI,CAAC,KAAK;AACR,aAAO;eACE,OAAO,QAAQ,YAAY,OAAO,QAAQ,YAAY;AAC/D,aAAO;eACE,CAAC,YAAY,GAAG,GAAG;AAC5B,kBAAY,GAAG,IAAI,EAAE,IAAG;;AAG1B,WAAO,YAAY,GAAG;EACxB;AAEA,WAAS,cAAW;AAClB,WAAO;MACL,KAAK,WAAW,IAAI,SAAQ,IAAK;;EAErC;;;AC7KM,WAAU,MAAG;AAAC,QAAA,OAAA,CAAA;aAAA,KAAA,GAAA,KAAA,UAAA,QAAA,MAAoB;AAApB,WAAA,EAAA,IAAA,UAAA,EAAA;;AAClB,QAAI,UAAU,CAAA;AAEd,aAAgBC,MAAA,GAAA,SAAA,MAAAA,MAAA,OAAA,QAAAA,OAAM;AAAjB,UAAI,MAAG,OAAAA,GAAA;AACV,UAAI,KAAK;AACP,YAAI,OAAO,QAAQ,UAAU;AAC3B,kBAAQ,KAAK,GAAG;mBACP,IAAI,eAAe,UAAU,KAAK,OAAO,IAAI,aAAa,YAAY;AAC/E,kBAAQ,KAAK,IAAI,SAAQ,CAAE;eACtB;AAEL,mBAAS,OAAO,KAAY;AAE1B,gBAAK,IAAY,GAAG,GAAG;AACrB,sBAAQ,KAAK,GAAG;;;;;;AAO1B,WAAO,QAAQ,KAAK,GAAG;EACzB;;;AC9BA,MAAM,0BAA0B;AAChC,MAAM,oBAAoB,EAAE,UAAU,CAAA,GAAI,gBAAgB,CAAA,GAAI,qBAAqB,MAAK;AAExF,MAAI,eAAe,eAAe,SAA0B,yBAAyB;IACnF,UAAU,CAAA;IACV,gBAAgB,CAAA;IAChB,qBAAqB;GACtB;AAED,MAAI,UAA0B,CAAA;AAE9B,MAAA;;IAAA,WAAA;AAAA,eAAAC,kBAAA;MA4EA;AAzEgB,MAAAA,gBAAA,QAAd,WAAA;AACE,qBAAa,WAAW,CAAA;AACxB,qBAAa,iBAAiB,CAAA;MAChC;AAKc,MAAAA,gBAAA,gBAAd,SAA4B,UAAmB;AAC7C,qBAAa,WAAQ,SAAA,SAAA,CAAA,GAAQ,aAAa,QAAQ,GAAK,QAAQ;AAC/D,QAAAA,gBAAe,aAAY;MAC7B;AAKc,MAAAA,gBAAA,sBAAd,SAAkC,WAAmB,UAAmB;AACtE,qBAAa,eAAe,SAAS,IAAC,SAAA,SAAA,CAAA,GAAQ,aAAa,eAAe,SAAS,CAAC,GAAK,QAAQ;AACjG,QAAAA,gBAAe,aAAY;MAC7B;AAEc,MAAAA,gBAAA,cAAd,SACE,YACA,WACA,eAAkD;AAAlD,YAAA,kBAAA,QAAA;AAAA,0BAAA;QAAkD;AAGlD,YAAM,WAAsB,CAAA;AAC5B,YAAM,sBAAuB,aAAa,cAAc,eAAe,SAAS,KAAM,CAAA;AACtF,YAAM,uBAAwB,aAAa,aAAa,eAAe,SAAS,KAAM,CAAA;AAEtF,iBAAqB,KAAA,GAAA,eAAA,YAAA,KAAA,aAAA,QAAA,MAAY;AAA5B,cAAI,WAAQ,aAAA,EAAA;AACf,mBAAS,QAAQ,IACf,oBAAoB,QAAQ,KAC5B,cAAc,SAAS,QAAQ,KAC/B,qBAAqB,QAAQ,KAC7B,aAAa,SAAS,QAAQ;;AAGlC,eAAO;MACT;AAOc,MAAAA,gBAAA,sBAAd,SAAkC,MAAkB,gBAAwB;AAC1E,QAAAA,gBAAe,mBAAmB;AAClC,YAAI;AACF,eAAI;iBACJC,KAAM;;AAGR,QAAAD,gBAAe,mBAAmB;AAClC,YAAI,CAAC,gBAAgB;AACnB,UAAAA,gBAAe,aAAY;;MAE/B;AAEc,MAAAA,gBAAA,UAAd,SAAsB,UAAoB;AACxC,gBAAQ,KAAK,QAAQ;MACvB;AAEc,MAAAA,gBAAA,YAAd,SAAwB,UAAoB;AAC1C,kBAAU,QAAQ,OAAO,SAAC,IAAc;AAAK,iBAAA,OAAO;QAAP,CAAe;MAC9D;AAEe,MAAAA,gBAAA,eAAf,WAAA;AACE,YAAI,CAACA,gBAAe,kBAAkB;AACpC,kBAAQ,QAAQ,SAAC,IAAc;AAAK,mBAAA,GAAE;UAAF,CAAI;;MAE5C;AACF,aAAAA;IAAA,EA5EA;;;;ACjCA,cAAuB;AAOhB,MAAM,oBAA0B,oBAAkC;IACvE,gBAAgB;MACd,qBAAqB;MACrB,UAAU,CAAA;MACV,gBAAgB,CAAA;;GAEnB;;;ACbD,MAAM,cAAc,WAAA;AAAC,QAAA,QAAA,CAAA;aAAA,KAAA,GAAA,KAAA,UAAA,QAAA,MAA+C;AAA/C,YAAA,EAAA,IAAA,UAAA,EAAA;;AACnB,QAAM,SAAiC,CAAA;AAEvC,aAAmBE,MAAA,GAAA,UAAA,OAAAA,MAAA,QAAA,QAAAA,OAAO;AAArB,UAAM,OAAI,QAAAA,GAAA;AACb,UAAM,OAAO,MAAM,QAAQ,IAAI,IAAI,OAAO,OAAO,KAAK,IAAI;AAE1D,eAAkB,KAAA,GAAA,SAAA,MAAA,KAAA,OAAA,QAAA,MAAM;AAAnB,YAAM,MAAG,OAAA,EAAA;AACZ,eAAO,GAAG,IAAI;;;AAIlB,WAAO;EACT;AAOO,MAAM,oBAAoB,YAAY;IAC3C;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACD;AAOM,MAAM,wBAAwB,YAAY;IAC/C;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;GACD;AAOM,MAAM,wBAAwB,YAAY,uBAAuB,iBAAiB;AAOlF,MAAM,kBAAkB,YAAY,uBAAuB;IAChE;;GACD;AAOM,MAAM,kBAAkB,YAAY,uBAAuB;IAChE;IACA;IACA;IACA;IACA;IACA;;GACD;AAOM,MAAM,kBAAkB,YAAY,iBAAiB;IAC1D;;GACD;AAOM,MAAM,eAAe,YAAY,uBAAuB;IAC7D;;GACD;AAOM,MAAM,eAAe,YAAY,uBAAuB;IAC7D;;GACD;AAOM,MAAM,mBAAmB,YAAY,uBAAuB;IACjE;IACA;IACA;IACA;IACA;IACA;IACA;;GACD;AAOM,MAAM,mBAAmB,YAAY,uBAAuB;IACjE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;GACD;AAOM,MAAM,kBAAkB,YAAY,kBAAkB;IAC3D;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;I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", "names": ["warn", "format", "ReactDebugCurrentFrame", "assign", "createElement", "cloneElement", "isValidElement", "createContext", "moduleObject", "error", "forwardRef", "useContext", "useState", "useRef", "useEffect", "useInsertionEffect", "useLayoutEffect", "useCallback", "useMemo", "useId", "Component", "values", "resolve", "returnValue", "createFactory", "Children", "initialTime", "startTime", "React", "warn", "format", "ReactDebugCurrentFrame", "Fragment", "canUseDOM", "prefix", "sanitizeURL", "assign", "workInProgress", "get", "set", "isControlled", "isHydrating", "options", "styles", "delimiter", "style", "HTML", "registrationNameDependencies", "possibleRegistrationNames", "error", "callCallback", "current", "root", "index", "renderLanes", "queuedEvent", "normalize", "prefixes", "getParent", "noop", "createElement", "scheduleMicrotask", "values", "has", "newBits", "updateFragment", "child", "reconcileChildFibers", "error$1", "render", "subtreeRenderLanes", "hasContextChanged", "commitTime", "shouldFireAfterActiveInstanceBlur", "_root", "hydrate", "currentHook", "ReactCurrentDispatcher", "normalize", "isAbsolute", "join", "relative", "sourceFile", "needle", "section", "root", "path", "React", "format", "ReactDebugCurrentFrame", "assign", "values", "isValidElement", "jsx", "jsxs", "import_react", "import_react", "__assign", "_a", "Stylesheet", "rules", "_i", "_a", "rules", "_a", "_a", "_a", "subCompProp", "GlobalSettings", "_a", "_a", "getRTL", "setRTL", "_a", "Customizations", "_a", "_a", "getItem", "getItem", "_a", "_a", "_a", "Depths", "LocalizedFontNames", "LocalizedFontFamilies", "FontSizes", "FontWeights", "IconFontSizes", "_a", "__assign", "_a", "_a", "loadTheme", "_a", "loadTheme", "_a", "React", "React", "assign", "React", "_a", "name_1", "assign", "getRTL", "_a", "styles", "assign", "_a", "React", "GlobalClassNames", "_a", "_a", "GlobalClassNames", "__GLOBAL__", "window", "global", "__NAMESPACE_PREFIX__", "getGlobalVar", "name", "defaultValue", "Symbol", "for", "DEBUG_RESET_CLASSES", "DEFINITION_LOOKUP_TABLE", "DATA_BUCKET_ATTR", "RESET_HASH_PREFIX", "SEQUENCE_HASH_LENGTH", "SEQUENCE_PREFIX", "DEBUG_SEQUENCE_SEPARATOR", "SEQUENCE_SIZE", "process", "length", "LOOKUP_DEFINITIONS_INDEX", "LOOKUP_DIR_INDEX", "padEndHash", "value", "hashLength", "length", "SEQUENCE_HASH_LENGTH", "i", "hashSequence", "classes", "dir", "sequenceIds", "process", "SEQUENCE_PREFIX", "hash", "DEBUG_SEQUENCE_SEPARATOR", "join", "reduceToClassName", "classMap", "dir", "className", "propertyHash", "classNameMapping", "hasRTLClassName", "Array", "isArray", "slice", "reduceToClassNameForSlots", "classesMapBySlot", "classNamesForSlots", "slotName", "slotClasses", "sequenceHash", "hashSequence", "resultSlotClasses", "DEFINITION_LOOKUP_TABLE", "mergeClassesCachedResults", "mergeClasses", "dir", "resultClassName", "sequenceMatch", "sequencesIds", "Array", "arguments", "length", "containsResetClassName", "i", "className", "sequenceIndex", "indexOf", "SEQUENCE_PREFIX", "process", "split", "forEach", "entry", "startsWith", "RESET_HASH_PREFIX", "DEBUG_RESET_CLASSES", "console", "error", "sequenceId", "substr", "SEQUENCE_SIZE", "slice", "mergeClassesResult", "undefined", "sequenceMappings", "sequenceMapping", "DEFINITION_LOOKUP_TABLE", "push", "LOOKUP_DEFINITIONS_INDEX", "LOOKUP_DIR_INDEX", "resultDefinitions", "Object", "assign", "apply", "concat", "atomicClassNames", "reduceToClassName", "newSequenceHash", "hashSequence", "sequenceDetails", "cssRules", "Set", "debugData", "getChildrenSequences", "debugSequenceHash", "key", "Object", "keys", "mergeClassesCachedResults", "find", "startsWith", "split", "SEQUENCE_PREFIX", "filter", "sequence", "length", "map", "addCSSRule", "rule", "add", "addSequenceDetails", "classNamesForSlots", "sourceURL", "entries", "forEach", "slotName", "sequenceHash", "substring", "SEQUENCE_SIZE", "getCSSRules", "Array", "from", "getSequenceDetails", "getDirectionalClassName", "classes", "direction", "Array", "isArray", "getDebugClassNames", "lookupItem", "parentLookupItem", "parentDebugClassNames", "overridingSiblings", "classesMapping", "Object", "entries", "map", "propertyHash", "className", "overriddenBy", "matching", "find", "parentClassName", "siblingHasSameRule", "filter", "debugClassNames", "siblingClassName", "length", "undefined", "getDebugTree", "debugSequenceHash", "parentNode", "lookupItem", "DEFINITION_LOOKUP_TABLE", "undefined", "parentLookupItem", "sequenceHash", "debugClassNames", "getDebugClassNames", "children", "node", "direction", "childrenSequences", "debugData", "getChildrenSequences", "reverse", "forEach", "sequence", "child", "push", "length", "rules", "className", "mapData", "getSequenceDetails", "slot", "slotName", "sourceURL", "cssRule", "getCSSRules", "find", "includes", "injectDevTools", "document", "window", "defaultView", "__GRIFFEL_DEVTOOLS__", "devtools", "getInfo", "element", "rootDebugSequenceHash", "Array", "from", "classList", "find", "className", "startsWith", "SEQUENCE_PREFIX", "undefined", "getDebugTree", "Object", "defineProperty", "configurable", "enumerable", "get", "isDevToolsEnabled", "Boolean", "window", "_a", "sessionStorage", "getItem", "e", "normalizeCSSBucketEntry", "entry", "Array", "isArray", "length", "Error", "createIsomorphicStyleSheet", "styleElement", "bucketName", "elementAttributes", "__cssRulesForSSR", "DATA_BUCKET_ATTR", "attrName", "setAttribute", "insertRule", "rule", "sheet", "cssRules", "length", "push", "element", "Array", "from", "map", "cssRule", "cssText", "styleBucketOrdering", "styleBucketOrderingMap", "reduce", "acc", "cur", "j", "getStyleSheetForBucket", "bucketName", "targetDocument", "insertionPoint", "renderer", "metadata", "isMediaBucket", "stylesheetKey", "stylesheets", "tag", "createElement", "stylesheet", "createIsomorphicStyleSheet", "styleElementAttributes", "media", "head", "insertBefore", "findInsertionPoint", "targetBucket", "targetOrder", "comparer", "el", "getAttribute", "DATA_BUCKET_ATTR", "styleElements", "querySelectorAll", "mediaElements", "length", "compareMediaQueries", "index", "styleElement", "item", "nextSibling", "ignoreSuffixes", "join", "ignoreSuffixesRegex", "RegExp", "safeInsertRule", "sheet", "ruleCSS", "insertRule", "e", "test", "console", "error", "lastIndex", "defaultCompareMediaQueries", "a", "b", "createDOMRenderer", "targetDocument", "document", "undefined", "options", "unstable_filterCSSRule", "insertionPoint", "styleElementAttributes", "compareMediaQueries", "renderer", "insertionCache", "stylesheets", "Object", "freeze", "id", "insertCSSRules", "cssRules", "styleBucketName", "cssRulesForBucket", "i", "l", "length", "ruleCSS", "metadata", "normalizeCSSBucketEntry", "sheet", "getStyleSheetForBucket", "isDevToolsEnabled", "debugData", "addCSSRule", "safeInsertRule", "process", "injectDevTools", "UNKNOWN_FUNCTION", "parseStackTraceLine", "line", "parseChrome", "parseGecko", "parseJSC", "chromeRe", "chromeRe2", "chromeEvalRe", "parts", "exec", "loc", "isNative", "indexOf", "isEval", "submatch", "name", "geckoRe", "geckoEvalRe", "javaScriptCoreRe", "getSourceURLfromError", "stacks", "String", "Error", "stack", "split", "userMakeStyleCallLine", "findUserMakeStyleCallInStacks", "undefined", "result", "parseStackTraceLine", "loc", "i", "length", "includes", "insertionFactory", "insertionCache", "insertStyles", "renderer", "cssRules", "id", "undefined", "insertCSSRules", "__styles", "classesMapBySlot", "cssRules", "factory", "insertionFactory", "insertStyles", "ltrClassNamesForSlots", "rtlClassNamesForSlots", "sourceURL", "isDevToolsEnabled", "getSourceURLfromError", "computeClasses", "options", "dir", "renderer", "isLTR", "reduceToClassNameForSlots", "classNamesForSlots", "debugData", "addSequenceDetails", "__resetStyles", "ltrClassName", "rtlClassName", "cssRules", "factory", "insertionFactory", "insertStyles", "computeClassName", "options", "dir", "renderer", "className", "Array", "isArray", "r", "process", "DEBUG_RESET_CLASSES", "canUseDOM", "window", "document", "createElement", "useInsertionEffect", "undefined", "insertionFactory", "insertionCache", "insert", "renderer", "cssRules", "useInsertionEffect", "canUseDOM", "insertCSSRules", "id", "undefined", "RendererContext", "React", "createContext", "createDOMRenderer", "useRenderer", "useContext", "RendererContext", "TextDirectionContext", "React", "createContext", "useTextDirection", "useContext", "TextDirectionContext", "__styles", "classesMapBySlot", "cssRules", "getStyles", "vanillaStyles", "insertionFactory", "useClasses", "dir", "useTextDirection", "renderer", "useRenderer", "__resetStyles", "ltrClassName", "rtlClassName", "cssRules", "getStyles", "vanillaResetStyles", "insertionFactory", "useClasses", "dir", "useTextDirection", "renderer", "useRenderer", "React", "React", "resolveShorthand", "React", "canUseDOM", "React", "React", "canUseDOM", "React", "toObjectMap", "baseElementEvents", "baseElementProperties", "htmlElementProperties", "labelProperties", "audioProperties", "videoProperties", "olProperties", "liProperties", "anchorProperties", "buttonProperties", "inputProperties", "textAreaProperties", "selectProperties", "optionProperties", "tableProperties", "trProperties", "thProperties", "tdProperties", "colGroupProperties", "colProperties", "formProperties", "iframeProperties", "imgProperties", "getNativeProps", "labelProperties", "audioProperties", "videoProperties", "olProperties", "liProperties", "anchorProperties", "buttonProperties", "inputProperties", "textAreaProperties", "selectProperties", "optionProperties", "tableProperties", "trProperties", "thProperties", "tdProperties", "colGroupProperties", "colProperties", "formProperties", "iframeProperties", "imgProperties", "getNativeElementProps", "htmlElementProperties", "getNativeProps", "React", "React", "_React_useContext", "React", "resolveShorthand", "React", "React", "React", "getNativeElementProps", "buttonClassNames", "root", "icon", "useRootBaseClassName", "__resetStyles", "r", "s", "useIconBaseClassName", "useRootStyles", "__styles", "outline", "De3pzq", "Jwef8y", "iro3zm", "primary", "g2u3we", "h3c5rm", "B9xav0g", "zhjwy3", "sj55zd", "Bgoe8wy", "Bwzppfd", "oetu4i", "gg5e9n", "Bi91k9c", "b661bw", "Bk6r4ia", "B9zn80p", "Bpld233", "B2d53fq", "Bsw6fvg", "Bjwas2f", "Bn1d65q", "Bxeuatn", "n51gp8", "Bbusuzp", "ycbfsm", "Bqrx1nm", "pgvf35", "Bh7lczh", "dpv3f4", "Bpnjhaq", "ze5xyy", "g2kj27", "Bf756sw", "Bow2dr7", "Bvhedfk", "Gye4lf", "pc6evw", "secondary", "subtle", "Bk3fhr4", "Bmfj8id", "Bbdnnc7", "em6i61", "vm6p8p", "x3br3k", "Bx3q9su", "xd2cci", "transparent", "circular", "Bbmb7ep", "Beyfa6y", "B7oj6ja", "Btl43ni", "rounded", "square", "small", "Bf4jedk", "z8tnut", "z189sj", "Byoj8tv", "uwmqm3", "Be2twd7", "Bhrd7zp", "Bg96gwp", "smallWithIcon", "medium", "large", "largeWithIcon", "d", "h", "m", "useRootDisabledStyles", "base", "Bceei9c", "eoavqd", "c3iz72", "highContrast", "G867l3", "gdbnj", "mxns5l", "o3nasb", "useRootFocusStyles", "kdpuga", "Bw81rd7", "B6xbmo0", "dm238s", "B8q5s1w", "Bci5o5g", "n8qw10", "Bdrgwmp", "j6ew2k", "useRootIconOnlyStyles", "B2u0y6b", "useIconStyles", "Bqenvij", "a9b677", "Bqrlyyl", "before", "t21cq0", "after", "Frg6f3", "useButtonStyles_unstable", "state", "rootBaseClassName", "iconBaseClassName", "rootStyles", "rootDisabledStyles", "rootFocusStyles", "rootIconOnlyStyles", "iconStyles", "appearance", "disabled", "disabledFocusable", "icon", "iconOnly", "iconPosition", "shape", "size", "root", "className", "mergeClasses", "buttonClassNames", "children", "import_react", "values", "format", "_a", "_a", "ScalarType", "WireType", "_a", "format", "makeReadOptions", "makeWriteOptions", "writeScalar", "readScalar", "_a", "writeEnum", "writeScalar", "val", "a", "_a", "MethodKind", "MethodIdempotency", "Code", "value", "resolve", "v", "__asyncValues", "resolve", "v", "__await", "__asyncDelegator", "__asyncGenerator", "transport", "_a", "_a", "_a", "fallback", "values", "normalize", "_a", "__await", "__asyncGenerator", "_a", "input", "URL", "AnalyzeConversationRequest", "Token", "Segment", "AnalyzeConversationRequest", "Subscribable", "constructor", "listeners", "Set", "subscribe", "bind", "listener", "identity", "add", "onSubscribe", "delete", "onUnsubscribe", "hasListeners", "size", "isServer", "window", "noop", "undefined", "functionalUpdate", "updater", "input", "isValidTimeout", "value", "Infinity", "timeUntilStale", "updatedAt", "staleTime", "Math", "max", "Date", "now", "parseQueryArgs", "arg1", "arg2", "arg3", "isQueryKey", "queryKey", "queryFn", "parseFilterArgs", "arg1", "arg2", "arg3", "isQueryKey", "queryKey", "matchQuery", "filters", "query", "type", "exact", "fetchStatus", "predicate", "queryKey", "stale", "isQueryKey", "queryHash", "hashQueryKeyByOptions", "options", "partialMatchKey", "isActive", "isStale", "state", "matchMutation", "mutation", "fetching", "mutationKey", "hashQueryKey", "status", "hashFn", "queryKeyHashFn", "JSON", "stringify", "_", "val", "isPlainObject", "Object", "keys", "sort", "reduce", "result", "key", "a", "b", "partialDeepEqual", "some", "replaceEqualDeep", "array", "isPlainArray", "aSize", "length", "bItems", "bSize", "copy", "equalItems", "i", "isPlainArray", "value", "Array", "isArray", "length", "Object", "keys", "isPlainObject", "o", "hasObjectPrototype", "ctor", "constructor", "prot", "prototype", "hasOwnProperty", "toString", "call", "isQueryKey", "sleep", "timeout", "Promise", "resolve", "setTimeout", "scheduleMicrotask", "callback", "then", "getAbortController", "AbortController", "replaceData", "prevData", "data", "options", "isDataEqual", "structuralSharing", "replaceEqualDeep", "FocusManager", "Subscribable", "constructor", "setup", "onFocus", "isServer", "window", "addEventListener", "listener", "removeEventListener", "onSubscribe", "cleanup", "setEventListener", "onUnsubscribe", "hasListeners", "undefined", "focused", "setFocused", "changed", "listeners", "forEach", "isFocused", "document", "includes", "visibilityState", "focusManager", "onlineEvents", "OnlineManager", "Subscribable", "constructor", "setup", "onOnline", "isServer", "window", "addEventListener", "listener", "forEach", "event", "removeEventListener", "onSubscribe", "cleanup", "setEventListener", "onUnsubscribe", "hasListeners", "undefined", "online", "setOnline", "changed", "listeners", "isOnline", "navigator", "onLine", "onlineManager", "defaultRetryDelay", "failureCount", "Math", "min", "canFetch", "networkMode", "onlineManager", "isOnline", "CancelledError", "constructor", "options", "revert", "silent", "isCancelledError", "value", "createRetryer", "config", "isRetryCancelled", "isResolved", "continueFn", "promiseResolve", "promiseReject", "promise", "Promise", "outerResolve", "outerReject", "cancel", "cancelOptions", "reject", "abort", "cancelRetry", "continueRetry", "shouldPause", "focusManager", "isFocused", "resolve", "onSuccess", "onError", "pause", "continueResolve", "canContinue", "onPause", "then", "undefined", "onContinue", "run", "promiseOrValue", "fn", "error", "catch", "retry", "retryDelay", "delay", "shouldRetry", "onFail", "sleep", "continue", "didContinue", "defaultLogger", "console", "createNotifyManager", "queue", "transactions", "notifyFn", "callback", "batchNotifyFn", "batch", "result", "flush", "schedule", "push", "scheduleMicrotask", "batchCalls", "args", "originalQueue", "length", "forEach", "setNotifyFunction", "fn", "setBatchNotifyFunction", "notifyManager", "Removable", "destroy", "clearGcTimeout", "scheduleGc", "isValidTimeout", "cacheTime", "gcTimeout", "setTimeout", "optionalRemove", "updateCacheTime", "newCacheTime", "Math", "max", "isServer", "Infinity", "clearTimeout", "undefined", "Query", "Removable", "constructor", "config", "abortSignalConsumed", "defaultOptions", "setOptions", "options", "observers", "cache", "logger", "defaultLogger", "queryKey", "queryHash", "initialState", "state", "getDefaultState", "scheduleGc", "meta", "updateCacheTime", "cacheTime", "optionalRemove", "length", "fetchStatus", "remove", "setData", "newData", "data", "replaceData", "dispatch", "type", "dataUpdatedAt", "updatedAt", "manual", "setState", "setStateOptions", "cancel", "promise", "retryer", "then", "noop", "catch", "Promise", "resolve", "destroy", "silent", "reset", "isActive", "some", "observer", "enabled", "isDisabled", "getObserversCount", "isStale", "isInvalidated", "getCurrentResult", "isStaleByTime", "staleTime", "timeUntilStale", "onFocus", "find", "x", "shouldFetchOnWindowFocus", "refetch", "cancelRefetch", "continue", "onOnline", "shouldFetchOnReconnect", "addObserver", "includes", "push", "clearGcTimeout", "notify", "query", "removeObserver", "filter", "revert", "cancelRetry", "invalidate", "fetch", "fetchOptions", "continueRetry", "queryFn", "process", "Array", "isArray", "error", "abortController", "getAbortController", "queryFnContext", "pageParam", "undefined", "addSignalProperty", "object", "Object", "defineProperty", "enumerable", "get", "signal", "fetchFn", "reject", "context", "behavior", "onFetch", "revertState", "fetchMeta", "onError", "isCancelledError", "onSettled", "isFetchingOptimistic", "createRetryer", "fn", "abort", "bind", "onSuccess", "Error", "onFail", "failureCount", "onPause", "onContinue", "retry", "retryDelay", "networkMode", "action", "reducer", "fetchFailureCount", "fetchFailureReason", "canFetch", "status", "dataUpdateCount", "Date", "now", "errorUpdateCount", "errorUpdatedAt", "notifyManager", "batch", "forEach", "onQueryUpdate", "initialData", "hasData", "initialDataUpdatedAt", "QueryCache", "Subscribable", "constructor", "config", "queries", "queriesMap", "build", "client", "options", "state", "queryKey", "queryHash", "hashQueryKeyByOptions", "query", "get", "Query", "cache", "logger", "getLogger", "defaultQueryOptions", "defaultOptions", "getQueryDefaults", "add", "push", "notify", "type", "remove", "queryInMap", "destroy", "filter", "x", "clear", "notifyManager", "batch", "forEach", "getAll", "find", "arg1", "arg2", "filters", "parseFilterArgs", "exact", "matchQuery", "findAll", "Object", "keys", "length", "event", "listeners", "listener", "onFocus", "onOnline", "Mutation", "Removable", "constructor", "config", "defaultOptions", "mutationId", "mutationCache", "logger", "defaultLogger", "observers", "state", "getDefaultState", "setOptions", "options", "scheduleGc", "updateCacheTime", "cacheTime", "meta", "setState", "dispatch", "type", "addObserver", "observer", "includes", "push", "clearGcTimeout", "notify", "mutation", "removeObserver", "filter", "x", "optionalRemove", "length", "status", "remove", "continue", "retryer", "execute", "executeMutation", "createRetryer", "fn", "mutationFn", "Promise", "reject", "variables", "onFail", "failureCount", "error", "onPause", "onContinue", "retry", "retryDelay", "networkMode", "promise", "restored", "onMutate", "context", "data", "onSuccess", "onSettled", "onError", "process", "undefined", "action", "reducer", "failureReason", "isPaused", "canFetch", "notifyManager", "batch", "forEach", "onMutationUpdate", "MutationCache", "Subscribable", "constructor", "config", "mutations", "mutationId", "build", "client", "options", "state", "mutation", "Mutation", "mutationCache", "logger", "getLogger", "defaultMutationOptions", "defaultOptions", "mutationKey", "getMutationDefaults", "undefined", "add", "push", "notify", "type", "remove", "filter", "x", "clear", "notifyManager", "batch", "forEach", "getAll", "find", "filters", "exact", "matchMutation", "findAll", "event", "listeners", "listener", "resumePausedMutations", "resuming", "Promise", "resolve", "then", "pausedMutations", "isPaused", "reduce", "promise", "continue", "catch", "noop", "infiniteQueryBehavior", "onFetch", "context", "fetchFn", "refetchPage", "fetchOptions", "meta", "fetchMore", "pageParam", "isFetchingNextPage", "direction", "isFetchingPreviousPage", "oldPages", "state", "data", "pages", "oldPageParams", "pageParams", "newPageParams", "cancelled", "addSignalProperty", "object", "Object", "defineProperty", "enumerable", "get", "signal", "aborted", "addEventListener", "queryFn", "options", "Promise", "reject", "queryHash", "buildNewPages", "param", "page", "previous", "fetchPage", "manual", "length", "resolve", "queryFnContext", "queryKey", "queryFnResult", "promise", "then", "getNextPageParam", "getPreviousPageParam", "shouldFetchFirstPage", "i", "shouldFetchNextPage", "finalPromise", "QueryClient", "constructor", "config", "queryCache", "QueryCache", "mutationCache", "MutationCache", "logger", "defaultLogger", "defaultOptions", "queryDefaults", "mutationDefaults", "mountCount", "error", "mount", "unsubscribeFocus", "focusManager", "subscribe", "isFocused", "resumePausedMutations", "onFocus", "unsubscribeOnline", "onlineManager", "isOnline", "onOnline", "unmount", "undefined", "isFetching", "arg1", "arg2", "filters", "parseFilterArgs", "fetchStatus", "findAll", "length", "isMutating", "fetching", "getQueryData", "queryKey", "find", "state", "data", "ensureQueryData", "arg3", "parsedOptions", "parseQueryArgs", "cachedData", "Promise", "resolve", "fetchQuery", "getQueriesData", "queryKeyOrFilters", "getQueryCache", "map", "setQueryData", "updater", "options", "query", "prevData", "functionalUpdate", "defaultedOptions", "defaultQueryOptions", "build", "setData", "manual", "setQueriesData", "notifyManager", "batch", "getQueryState", "removeQueries", "forEach", "remove", "resetQueries", "refetchFilters", "type", "reset", "refetchQueries", "cancelQueries", "cancelOptions", "revert", "promises", "cancel", "all", "then", "noop", "catch", "invalidateQueries", "invalidate", "refetchType", "filter", "isDisabled", "fetch", "cancelRefetch", "meta", "refetchPage", "promise", "throwOnError", "retry", "isStaleByTime", "staleTime", "prefetchQuery", "fetchInfiniteQuery", "behavior", "infiniteQueryBehavior", "prefetchInfiniteQuery", "getMutationCache", "getLogger", "getDefaultOptions", "setDefaultOptions", "setQueryDefaults", "result", "x", "hashQueryKey", "push", "getQueryDefaults", "firstMatchingDefaults", "partialMatchKey", "process", "matchingDefaults", "JSON", "stringify", "setMutationDefaults", "mutationKey", "getMutationDefaults", "_defaulted", "queries", "queryHash", "hashQueryKeyByOptions", "refetchOnReconnect", "networkMode", "useErrorBoundary", "suspense", "defaultMutationOptions", "mutations", "clear", "import_jsx_runtime", "annotation", "idx", "tag", "import_jsx_runtime", "import_jsx_runtime", "ReactDOM", "React"] } diff --git a/js/dist/extension/options.js b/js/dist/extension/options.js index 5e858883..5cc65af4 100644 --- a/js/dist/extension/options.js +++ b/js/dist/extension/options.js @@ -48017,6 +48017,10 @@ Be sure to create slots properly by using "slot.always" or "slot.optional" with * @generated from field: repeated content.Content related = 2; */ related = []; + /** + * @generated from field: repeated string parents = 3; + */ + parents = []; constructor(data) { super(); proto3.util.initPartial(data, this); @@ -48025,7 +48029,8 @@ Be sure to create slots properly by using "slot.always" or "slot.optional" with static typeName = "content.Contents"; static fields = proto3.util.newFieldList(() => [ { no: 1, name: "content", kind: "message", T: Content }, - { no: 2, name: "related", kind: "message", T: Content, repeated: true } + { no: 2, name: "related", kind: "message", T: Content, repeated: true }, + { no: 3, name: "parents", kind: "scalar", T: 9, repeated: true } ]); static fromBinary(bytes, options) { return new _Contents().fromBinary(bytes, options); diff --git a/js/dist/extension/options.js.map b/js/dist/extension/options.js.map index 65789c57..cc28888f 100644 --- a/js/dist/extension/options.js.map +++ b/js/dist/extension/options.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": ["../../../node_modules/react/cjs/react.development.js", "../../../node_modules/react/index.js", "../../../node_modules/react-dom/node_modules/scheduler/cjs/scheduler.development.js", "../../../node_modules/react-dom/node_modules/scheduler/index.js", "../../../node_modules/react-dom/cjs/react-dom.development.js", "../../../node_modules/react-dom/index.js", "../../../node_modules/react-dom/client.js", "../../../node_modules/react/cjs/react-jsx-runtime.development.js", "../../../node_modules/react/jsx-runtime.js", "../../src/extension/options.tsx", "../../../node_modules/@fluentui/set-version/lib/setVersion.ts", "../../../node_modules/@fluentui/set-version/lib/index.ts", "../../../node_modules/@fluentui/react/lib/version.ts", "../../../node_modules/tslib/tslib.es6.mjs", "../../../node_modules/@fluentui/merge-styles/lib/Stylesheet.ts", "../../../node_modules/@fluentui/merge-styles/lib/extractStyleParts.ts", "../../../node_modules/@fluentui/merge-styles/lib/StyleOptionsState.ts", "../../../node_modules/@fluentui/merge-styles/lib/transforms/transforms/kebabRules.ts", "../../../node_modules/@fluentui/merge-styles/lib/getVendorSettings.ts", "../../../node_modules/@fluentui/merge-styles/lib/transforms/transforms/prefixRules.ts", "../../../node_modules/@fluentui/merge-styles/lib/transforms/transforms/provideUnits.ts", "../../../node_modules/@fluentui/merge-styles/lib/transforms/transforms/rtlifyRules.ts", "../../../node_modules/@fluentui/merge-styles/lib/tokenizeWithParentheses.ts", "../../../node_modules/@fluentui/merge-styles/lib/styleToClassName.ts", "../../../node_modules/@fluentui/merge-styles/lib/mergeStyles.ts", "../../../node_modules/@fluentui/merge-styles/lib/concatStyleSets.ts", "../../../node_modules/@fluentui/merge-styles/lib/mergeStyleSets.ts", "../../../node_modules/@fluentui/merge-styles/lib/concatStyleSetsWithProps.ts", "../../../node_modules/@fluentui/merge-styles/lib/fontFace.ts", "../../../node_modules/@fluentui/merge-styles/lib/keyframes.ts", "../../../node_modules/@fluentui/merge-styles/lib/version.ts", "../../../node_modules/@fluentui/style-utilities/lib/utilities/utilities/buildClassMap.ts", "../../../node_modules/@fluentui/utilities/lib/dom/dom/canUseDOM.ts", "../../../node_modules/@fluentui/utilities/lib/dom/dom/getWindow.ts", "../../../node_modules/@fluentui/utilities/lib/Async.ts", "../../../node_modules/@fluentui/utilities/lib/object.ts", "../../../node_modules/@fluentui/utilities/lib/EventGroup.ts", "../../../node_modules/@fluentui/utilities/lib/dom/dom/getDocument.ts", "../../../node_modules/@fluentui/utilities/lib/scroll.ts", "../../../node_modules/@fluentui/utilities/lib/BaseComponent.ts", "../../../node_modules/@fluentui/utilities/lib/warn/warn/warn.ts", "../../../node_modules/@fluentui/utilities/lib/warn/warn/warnConditionallyRequiredProps.ts", "../../../node_modules/@fluentui/utilities/lib/warn/warn/warnMutuallyExclusive.ts", "../../../node_modules/@fluentui/utilities/lib/warn/warn/warnDeprecations.ts", "../../../node_modules/@fluentui/utilities/lib/DelayedRender.tsx", "../../../node_modules/@fluentui/utilities/lib/GlobalSettings.ts", "../../../node_modules/@fluentui/utilities/lib/KeyCodes.ts", "../../../node_modules/@fluentui/utilities/lib/Rectangle.ts", "../../../node_modules/@fluentui/utilities/lib/appendFunction.ts", "../../../node_modules/@fluentui/utilities/lib/aria.ts", "../../../node_modules/@fluentui/utilities/lib/array.ts", "../../../node_modules/@fluentui/utilities/lib/sessionStorage.ts", "../../../node_modules/@fluentui/utilities/lib/rtl.ts", "../../../node_modules/@fluentui/dom-utilities/lib/isVirtualElement.ts", "../../../node_modules/@fluentui/dom-utilities/lib/getVirtualParent.ts", "../../../node_modules/@fluentui/dom-utilities/lib/getParent.ts", "../../../node_modules/@fluentui/dom-utilities/lib/elementContains.ts", "../../../node_modules/@fluentui/dom-utilities/lib/findElementRecursive.ts", "../../../node_modules/@fluentui/dom-utilities/lib/elementContainsAttribute.ts", "../../../node_modules/@fluentui/dom-utilities/lib/setPortalAttribute.ts", "../../../node_modules/@fluentui/dom-utilities/lib/portalContainsElement.ts", "../../../node_modules/@fluentui/dom-utilities/lib/setVirtualParent.ts", "../../../node_modules/@fluentui/utilities/lib/focus.ts", "../../../node_modules/@fluentui/utilities/lib/dom/dom/on.ts", "../../../node_modules/@fluentui/utilities/lib/classNamesFunction.ts", "../../../node_modules/@fluentui/utilities/lib/componentAs/componentAs/composeComponentAs.tsx", "../../../node_modules/@fluentui/utilities/lib/memoize.ts", "../../../node_modules/@fluentui/utilities/lib/controlled.ts", "../../../node_modules/@fluentui/utilities/lib/css.ts", "../../../node_modules/@fluentui/utilities/lib/customizations/customizations/Customizations.ts", "../../../node_modules/@fluentui/utilities/lib/customizations/customizations/Customizer.tsx", "../../../node_modules/@fluentui/utilities/lib/customizations/customizations/CustomizerContext.ts", "../../../node_modules/@fluentui/utilities/lib/customizations/customizations/mergeSettings.ts", "../../../node_modules/@fluentui/utilities/lib/customizations/customizations/mergeCustomizations.ts", "../../../node_modules/@fluentui/utilities/lib/customizations/customizations/customizable.tsx", "../../../node_modules/@fluentui/utilities/lib/hoistStatics.ts", "../../../node_modules/@fluentui/utilities/lib/customizations/customizations/useCustomizationSettings.ts", "../../../node_modules/@fluentui/utilities/lib/extendComponent.ts", "../../../node_modules/@fluentui/utilities/lib/getId.ts", "../../../node_modules/@fluentui/utilities/lib/properties.ts", "../../../node_modules/@fluentui/utilities/lib/initializeComponentRef.ts", "../../../node_modules/@fluentui/utilities/lib/keyboard.ts", "../../../node_modules/@fluentui/utilities/lib/setFocusVisibility.ts", "../../../node_modules/@fluentui/utilities/lib/FocusRectsProvider.tsx", "../../../node_modules/@fluentui/utilities/lib/useFocusRects.ts", "../../../node_modules/@fluentui/utilities/lib/localStorage.ts", "../../../node_modules/@fluentui/utilities/lib/language.ts", "../../../node_modules/@fluentui/utilities/lib/merge.ts", "../../../node_modules/@fluentui/utilities/lib/mobileDetector.ts", "../../../node_modules/@fluentui/utilities/lib/modalize.ts", "../../../node_modules/@fluentui/utilities/lib/osDetector.ts", "../../../node_modules/@fluentui/utilities/lib/renderFunction/renderFunction/composeRenderFunction.tsx", "../../../node_modules/@fluentui/utilities/lib/safeRequestAnimationFrame.ts", "../../../node_modules/@fluentui/utilities/lib/styled.tsx", "../../../node_modules/@fluentui/utilities/lib/warn/warn/warnControlledUsage.ts", "../../../node_modules/@fluentui/utilities/lib/ie11Detector.ts", "../../../node_modules/@fluentui/utilities/lib/getPropsWithDefaults.ts", "../../../node_modules/@fluentui/utilities/lib/createMergedRef.ts", "../../../node_modules/@fluentui/utilities/lib/useIsomorphicLayoutEffect.ts", "../../../node_modules/@fluentui/utilities/lib/version.ts", "../../../node_modules/@fluentui/style-utilities/lib/utilities/utilities/icons.ts", "../../../node_modules/@fluentui/theme/lib/utilities/utilities/makeSemanticColors.ts", "../../../node_modules/@fluentui/theme/lib/mergeThemes.ts", "../../../node_modules/@fluentui/theme/lib/colors/colors/DefaultPalette.ts", "../../../node_modules/@fluentui/theme/lib/effects/effects/FluentDepths.ts", "../../../node_modules/@fluentui/theme/lib/effects/effects/DefaultEffects.ts", "../../../node_modules/@fluentui/theme/lib/spacing/spacing/DefaultSpacing.ts", "../../../node_modules/@fluentui/theme/lib/motion/motion/AnimationStyles.ts", "../../../node_modules/@fluentui/theme/lib/fonts/fonts/FluentFonts.ts", "../../../node_modules/@fluentui/theme/lib/fonts/fonts/createFontStyles.ts", "../../../node_modules/@fluentui/theme/lib/fonts/fonts/DefaultFontStyles.ts", "../../../node_modules/@fluentui/theme/lib/createTheme.ts", "../../../node_modules/@fluentui/style-utilities/lib/styles/styles/CommonStyles.ts", "../../../node_modules/@fluentui/style-utilities/lib/styles/styles/zIndexes.ts", "../../../node_modules/@fluentui/style-utilities/lib/styles/styles/getFocusStyle.ts", "../../../node_modules/@fluentui/style-utilities/lib/styles/styles/hiddenContentStyle.ts", "../../../node_modules/@fluentui/style-utilities/lib/styles/styles/getGlobalClassNames.ts", "../../../node_modules/@microsoft/load-themed-styles/src/index.ts", "../../../node_modules/@fluentui/style-utilities/lib/styles/styles/theme.ts", "../../../node_modules/@fluentui/style-utilities/lib/styles/styles/GeneralStyles.ts", "../../../node_modules/@fluentui/style-utilities/lib/styles/styles/getPlaceholderStyles.ts", "../../../node_modules/@fluentui/style-utilities/lib/classNames/classNames/AnimationClassNames.ts", "../../../node_modules/@fluentui/style-utilities/lib/cdn.ts", "../../../node_modules/@fluentui/style-utilities/lib/version.ts", "../../../node_modules/@fluentui/style-utilities/lib/index.ts", "../../../node_modules/@fluentui/react/lib/components/Callout/components/Callout/Callout.tsx", "../../../node_modules/@fluentui/react/lib/components/Callout/components/Callout/CalloutContent.base.tsx", "../../../node_modules/@fluentui/react/lib/common/common/DirectionalHint.ts", "../../../node_modules/@fluentui/react/lib/utilities/positioning/utilities/positioning/positioning.types.ts", "../../../node_modules/@fluentui/react/lib/utilities/positioning/utilities/positioning/positioning.ts", "../../../node_modules/@fluentui/react/lib/components/Popup/components/Popup/Popup.tsx", "../../../node_modules/@fluentui/react-hooks/lib/version.ts", "../../../node_modules/@fluentui/react-hooks/lib/useAsync.ts", "../../../node_modules/@fluentui/react-hooks/lib/useConst.ts", "../../../node_modules/@fluentui/react-hooks/lib/useControllableValue.ts", "../../../node_modules/@fluentui/react-hooks/lib/useEventCallback.ts", "../../../node_modules/@fluentui/react-hooks/lib/useId.ts", "../../../node_modules/@fluentui/react-hooks/lib/useMergedRefs.ts", "../../../node_modules/@fluentui/react-hooks/lib/useOnEvent.ts", "../../../node_modules/@fluentui/react-hooks/lib/usePrevious.ts", "../../../node_modules/@fluentui/react-hooks/lib/useTarget.ts", "../../../node_modules/@fluentui/react-window-provider/lib/WindowProvider.tsx", "../../../node_modules/@fluentui/react-hooks/lib/useUnmount.ts", "../../../node_modules/@fluentui/react-hooks/lib/useWarnings.ts", "../../../node_modules/@fluentui/react/lib/components/Callout/components/Callout/CalloutContent.styles.ts", "../../../node_modules/@fluentui/react/lib/components/Callout/components/Callout/CalloutContent.tsx", "../../../node_modules/@fluentui/react-portal-compat-context/src/PortalCompatContext.ts", "../../../node_modules/@fluentui/react/lib/components/Layer/components/Layer/Layer.base.tsx", "../../../node_modules/@fluentui/react/lib/components/Fabric/components/Fabric/Fabric.base.tsx", "../../../node_modules/@fluentui/react/lib/components/Fabric/components/Fabric/Fabric.styles.ts", "../../../node_modules/@fluentui/react/lib/components/Fabric/components/Fabric/Fabric.tsx", "../../../node_modules/@fluentui/react/lib/components/Layer/components/Layer/Layer.notification.ts", "../../../node_modules/@fluentui/react/lib/components/Layer/components/Layer/Layer.styles.ts", "../../../node_modules/@fluentui/react/lib/components/Layer/components/Layer/Layer.tsx", "../../../node_modules/@fluentui/react/lib/components/FocusTrapZone/components/FocusTrapZone/FocusTrapZone.tsx", "../../../node_modules/@fluentui/react/lib/components/Icon/components/Icon/Icon.base.tsx", "../../../node_modules/@fluentui/react/lib/components/Icon/components/Icon/Icon.types.ts", "../../../node_modules/@fluentui/react/lib/components/Image/components/Image/Image.base.tsx", "../../../node_modules/@fluentui/react/lib/components/Image/components/Image/Image.types.ts", "../../../node_modules/@fluentui/react/lib/components/Image/components/Image/Image.styles.ts", "../../../node_modules/@fluentui/react/lib/components/Image/components/Image/Image.tsx", "../../../node_modules/@fluentui/react/lib/components/Icon/components/Icon/FontIcon.tsx", "../../../node_modules/@fluentui/react/lib/components/Icon/components/Icon/Icon.styles.ts", "../../../node_modules/@fluentui/react/lib/components/Icon/components/Icon/Icon.tsx", "../../../node_modules/@fluentui/react/lib/components/Icon/components/Icon/ImageIcon.tsx", "../../../node_modules/@fluentui/react-focus/lib/components/FocusZone/components/FocusZone/FocusZone.tsx", "../../../node_modules/@fluentui/react-focus/lib/components/FocusZone/components/FocusZone/FocusZone.types.ts", "../../../node_modules/@fluentui/react/lib/components/Button/components/Button/BaseButton.tsx", "../../../node_modules/@fluentui/react/lib/components/ContextualMenu/components/ContextualMenu/ContextualMenu.tsx", "../../../node_modules/@fluentui/react/lib/components/ContextualMenu/components/ContextualMenu/ContextualMenu.base.tsx", "../../../node_modules/@fluentui/react/lib/components/ContextualMenu/components/ContextualMenu/ContextualMenu.types.ts", "../../../node_modules/@fluentui/react/lib/utilities/contextualMenu/utilities/contextualMenu/contextualMenuUtility.ts", "../../../node_modules/@fluentui/react/lib/components/ContextualMenu/components/ContextualMenu/ContextualMenuItem.base.tsx", "../../../node_modules/@fluentui/react/lib/components/Divider/components/Divider/VerticalDivider.classNames.ts", "../../../node_modules/@fluentui/react/lib/components/ContextualMenu/components/ContextualMenu/ContextualMenu.cnstyles.ts", "../../../node_modules/@fluentui/react/lib/components/ContextualMenu/components/ContextualMenu/ContextualMenu.classNames.ts", "../../../node_modules/@fluentui/react/lib/components/ContextualMenu/components/ContextualMenu/ContextualMenuItem.ts", "../../../node_modules/@fluentui/react/lib/components/ContextualMenu/ContextualMenuItemWrapper/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuAnchor.tsx", "../../../node_modules/@fluentui/react/lib/components/ContextualMenu/ContextualMenuItemWrapper/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuItemWrapper.tsx", "../../../node_modules/@fluentui/react/lib/utilities/keytips/utilities/keytips/KeytipConstants.ts", "../../../node_modules/@fluentui/react/lib/utilities/keytips/utilities/keytips/KeytipManager.ts", "../../../node_modules/@fluentui/react/lib/utilities/keytips/utilities/keytips/KeytipUtils.ts", "../../../node_modules/@fluentui/react/lib/components/KeytipData/components/KeytipData/useKeytipData.ts", "../../../node_modules/@fluentui/react/lib/components/KeytipData/components/KeytipData/KeytipData.tsx", "../../../node_modules/@fluentui/react/lib/components/ContextualMenu/ContextualMenuItemWrapper/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuButton.tsx", "../../../node_modules/@fluentui/react/lib/components/ContextualMenu/ContextualMenuItemWrapper/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuSplitButton.tsx", "../../../node_modules/@fluentui/react/lib/components/Divider/components/Divider/VerticalDivider.styles.ts", "../../../node_modules/@fluentui/react/lib/components/Divider/components/Divider/VerticalDivider.base.tsx", "../../../node_modules/@fluentui/react/lib/components/Divider/components/Divider/VerticalDivider.tsx", "../../../node_modules/@fluentui/react/lib/utilities/hooks/utilities/hooks/useResponsiveMode.tsx", "../../../node_modules/@fluentui/react/lib/utilities/decorators/utilities/decorators/withResponsiveMode.tsx", "../../../node_modules/@fluentui/react/lib/utilities/MenuContext/utilities/MenuContext/MenuContext.ts", "../../../node_modules/@fluentui/react/lib/components/ContextualMenu/components/ContextualMenu/ContextualMenu.styles.ts", "../../../node_modules/@fluentui/react/lib/components/Button/components/Button/BaseButton.classNames.ts", "../../../node_modules/@fluentui/react/lib/components/Button/SplitButton/components/Button/SplitButton/SplitButton.classNames.ts", "../../../node_modules/@fluentui/react/lib/components/Button/DefaultButton/components/Button/DefaultButton/DefaultButton.tsx", "../../../node_modules/@fluentui/react/lib/components/Button/components/Button/BaseButton.styles.ts", "../../../node_modules/@fluentui/react/lib/components/Button/SplitButton/components/Button/SplitButton/SplitButton.styles.ts", "../../../node_modules/@fluentui/react/lib/components/Button/components/Button/ButtonThemes.ts", "../../../node_modules/@fluentui/react/lib/components/Button/DefaultButton/components/Button/DefaultButton/DefaultButton.styles.ts", "../../../node_modules/@fluentui/react/lib/components/Button/ActionButton/components/Button/ActionButton/ActionButton.tsx", "../../../node_modules/@fluentui/react/lib/components/Button/ActionButton/components/Button/ActionButton/ActionButton.styles.ts", "../../../node_modules/@fluentui/react/lib/components/Button/IconButton/components/Button/IconButton/IconButton.tsx", "../../../node_modules/@fluentui/react/lib/components/Button/IconButton/components/Button/IconButton/IconButton.styles.ts", "../../../node_modules/@fluentui/react/lib/components/Button/PrimaryButton/components/Button/PrimaryButton/PrimaryButton.tsx", "../../../node_modules/@fluentui/react/lib/components/Button/CommandButton/components/Button/CommandButton/CommandButton.tsx", "../../../node_modules/@fluentui/react/lib/components/Checkbox/components/Checkbox/Checkbox.base.tsx", "../../../node_modules/@fluentui/react/lib/components/Checkbox/components/Checkbox/Checkbox.styles.ts", "../../../node_modules/@fluentui/react/lib/components/Checkbox/components/Checkbox/Checkbox.tsx", "../../../node_modules/@fluentui/react/lib/components/Label/components/Label/Label.base.tsx", "../../../node_modules/@fluentui/react/lib/components/Label/components/Label/Label.styles.ts", "../../../node_modules/@fluentui/react/lib/components/Label/components/Label/Label.tsx", "../../../node_modules/@fluentui/react/lib/components/TextField/components/TextField/TextField.base.tsx", "../../../node_modules/@fluentui/react/lib/components/TextField/components/TextField/TextField.styles.tsx", "../../../node_modules/@fluentui/react/lib/components/TextField/components/TextField/TextField.ts", "../../../node_modules/@fluentui/react/lib/utilities/selectableOption/utilities/selectableOption/SelectableOption.ts", "../../../node_modules/@fluentui/react/lib/utilities/selectableOption/utilities/selectableOption/SelectableOption.types.ts", "../../../node_modules/@fluentui/react/lib/components/Overlay/components/Overlay/Overlay.base.tsx", "../../../node_modules/@fluentui/react/lib/components/Overlay/components/Overlay/Overlay.styles.ts", "../../../node_modules/@fluentui/react/lib/components/Overlay/components/Overlay/Overlay.tsx", "../../../node_modules/@fluentui/react/lib/components/Dropdown/components/Dropdown/Dropdown.base.tsx", "../../../node_modules/@fluentui/react/lib/components/Dropdown/utilities/components/Dropdown/utilities/DropdownSizePosCache.ts", "../../../node_modules/@fluentui/react/lib/components/Panel/components/Panel/Panel.base.tsx", "../../../node_modules/@fluentui/react/lib/components/Panel/components/Panel/Panel.types.ts", "../../../node_modules/@fluentui/react/lib/components/Panel/components/Panel/Panel.styles.ts", "../../../node_modules/@fluentui/react/lib/components/Panel/components/Panel/Panel.ts", "../../../node_modules/@fluentui/react/lib/components/Dropdown/components/Dropdown/Dropdown.styles.ts", "../../../node_modules/@fluentui/react/lib/components/Dropdown/components/Dropdown/Dropdown.tsx", "../../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons.ts", "../../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons-0.ts", "../../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons-1.ts", "../../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons-2.ts", "../../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons-3.ts", "../../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons-4.ts", "../../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons-5.ts", "../../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons-6.ts", "../../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons-7.ts", "../../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons-8.ts", "../../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons-9.ts", "../../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons-10.ts", "../../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons-11.ts", "../../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons-12.ts", "../../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons-13.ts", "../../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons-14.ts", "../../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons-15.ts", "../../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons-16.ts", "../../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons-17.ts", "../../../node_modules/@fluentui/font-icons-mdl2/lib/iconAliases.ts", "../../../node_modules/@fluentui/font-icons-mdl2/lib/version.ts", "../../../node_modules/@fluentui/font-icons-mdl2/lib/index.ts", "../../../node_modules/@fluentui/foundation-legacy/lib/createComponent.tsx", "../../../node_modules/@fluentui/foundation-legacy/lib/slots.tsx", "../../../node_modules/@fluentui/foundation-legacy/lib/utilities.ts", "../../../node_modules/@fluentui/react/lib/components/Stack/StackItem/components/Stack/StackItem/StackItem.styles.ts", "../../../node_modules/@fluentui/react/lib/components/Stack/StackItem/components/Stack/StackItem/StackItem.tsx", "../../../node_modules/@fluentui/react/lib/components/Stack/components/Stack/Stack.tsx", "../../../node_modules/@fluentui/react/lib/components/Stack/components/Stack/StackUtils.ts", "../../../node_modules/@fluentui/react/lib/components/Stack/components/Stack/Stack.styles.ts", "../../../packages/core/src/constants.ts", "../../../node_modules/@emotion/hash/dist/emotion-hash.esm.js", "../../../packages/core/src/runtime/utils/hashSequence.ts", "../../../packages/core/src/runtime/reduceToClassNameForSlots.ts", "../../../packages/core/src/mergeClasses.ts", "../../../packages/core/src/devtools/store.ts", "../../../packages/core/src/devtools/utils.ts", "../../../packages/core/src/devtools/getDebugTree.ts", "../../../packages/core/src/devtools/injectDevTools.ts", "../../../packages/core/src/devtools/isDevToolsEnabled.ts", "../../../packages/core/src/runtime/utils/normalizeCSSBucketEntry.ts", "../../../packages/core/src/renderer/createIsomorphicStyleSheet.ts", "../../../packages/core/src/renderer/getStyleSheetForBucket.ts", "../../../packages/core/src/renderer/safeInsertRule.ts", "../../../packages/core/src/renderer/createDOMRenderer.ts", "../../../packages/core/src/devtools/react-render-tracker/stackTrace.ts", "../../../packages/core/src/devtools/getSourceURLfromError.ts", "../../../packages/core/src/insertionFactory.ts", "../../../packages/core/src/__styles.ts", "../../../packages/core/src/__resetStyles.ts", "../../../packages/react/src/utils/canUseDOM.ts", "../../../packages/react/src/useInsertionEffect.ts", "../../../packages/react/src/insertionFactory.ts", "../../../packages/react/src/RendererContext.tsx", "../../../packages/react/src/TextDirectionContext.tsx", "../../../packages/react/src/__styles.ts", "../../../packages/react/src/__resetStyles.ts", "../../../node_modules/@fluentui/react-jsx-runtime/lib/utils/Runtime.js", "../../../node_modules/@fluentui/react-jsx-runtime/lib/jsx/createJSX.js", "../../../node_modules/@fluentui/react-utilities/lib/compose/slot.js", "../../../node_modules/@fluentui/react-utilities/lib/compose/constants.js", "../../../node_modules/@fluentui/react-utilities/lib/compose/isSlot.js", "../../../node_modules/@fluentui/react-utilities/lib/compose/resolveShorthand.js", "../../../node_modules/@fluentui/react-utilities/lib/compose/assertSlots.js", "../../../node_modules/@fluentui/react-utilities/lib/ssr/canUseDOM.js", "../../../node_modules/@fluentui/react-utilities/lib/hooks/useEventCallback.js", "../../../node_modules/@fluentui/react-utilities/lib/hooks/useIsomorphicLayoutEffect.js", "../../../node_modules/@fluentui/react-utilities/lib/utils/getNativeElementProps.js", "../../../node_modules/@fluentui/react-utilities/lib/utils/properties.js", "../../../node_modules/@fluentui/react-jsx-runtime/lib/utils/getMetadataFromSlotComponent.js", "../../../node_modules/@fluentui/react-jsx-runtime/lib/utils/createCompatSlotComponent.js", "../../../node_modules/@fluentui/react-jsx-runtime/lib/jsx-runtime.js", "../../../node_modules/@fluentui/react-shared-contexts/lib/CustomStyleHooksContext/CustomStyleHooksContext.js", "../../../node_modules/@fluentui/keyboard-keys/lib/keys.js", "../../../node_modules/@fluentui/react-aria/lib/button/useARIAButtonProps.js", "../../../node_modules/@fluentui/react-aria/lib/button/useARIAButtonShorthand.js", "../../../node_modules/@fluentui/react-button/lib/components/Button/Button.js", "../../../node_modules/@fluentui/react-button/lib/components/Button/renderButton.js", "../../../node_modules/@fluentui/react-button/lib/components/Button/useButton.js", "../../../node_modules/@fluentui/react-button/lib/contexts/ButtonContext.js", "../../../node_modules/@fluentui/react-button/lib/components/Button/useButtonStyles.styles.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/assert.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/enum.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/message.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/message-type.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/proto-runtime.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/field.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/google/varint.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/proto-int64.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/binary-encoding.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/field-wrapper.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/scalars.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/binary-format-common.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/binary-format-proto3.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/proto-base64.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/json-format-common.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/json-format-proto3.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/util-common.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/field-list.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/names.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/private/field.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/proto3.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/service-type.js", "../../../node_modules/@bufbuild/protobuf/dist/esm/google/protobuf/empty_pb.js", "../../../node_modules/@bufbuild/connect/dist/esm/code.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol-connect/code-string.js", "../../../node_modules/@bufbuild/connect/dist/esm/connect-error.js", "../../../node_modules/@bufbuild/connect/dist/esm/http-headers.js", "../../../node_modules/@bufbuild/connect/dist/esm/any-client.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol/envelope.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol/async-iterable.js", "../../../node_modules/@bufbuild/connect/dist/esm/promise-client.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol/signals.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol/create-method-url.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol/serialization.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol-connect/content-type.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol-connect/error-json.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol-connect/end-stream.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol-connect/headers.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol-connect/http-status.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol-connect/trailer-mux.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol-connect/version.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol-connect/request-header.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol-connect/validate-response.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol-connect/get-request.js", "../../../node_modules/@bufbuild/connect/dist/esm/protocol/run-call.js", "../../../node_modules/@bufbuild/connect-web/dist/esm/assert-fetch-api.js", "../../../node_modules/@bufbuild/connect-web/dist/esm/connect-transport.js", "../../src/rpc/user/user_pb.ts", "../../src/rpc/content/content_pb.ts", "../../src/rpc/protoflow_pb.ts", "../../src/rpc/ai_pb.ts", "../../src/rpc/protoflow_connect.ts", "../../src/rpc/content/content_connect.ts", "../../src/rpc/user/user_connect.ts", "../../../node_modules/@tanstack/query-core/src/subscribable.ts", "../../../node_modules/@tanstack/query-core/src/utils.ts", "../../../node_modules/@tanstack/query-core/src/focusManager.ts", "../../../node_modules/@tanstack/query-core/src/onlineManager.ts", "../../../node_modules/@tanstack/query-core/src/retryer.ts", "../../../node_modules/@tanstack/query-core/src/logger.ts", "../../../node_modules/@tanstack/query-core/src/notifyManager.ts", "../../../node_modules/@tanstack/query-core/src/removable.ts", "../../../node_modules/@tanstack/query-core/src/query.ts", "../../../node_modules/@tanstack/query-core/src/queryCache.ts", "../../../node_modules/@tanstack/query-core/src/mutation.ts", "../../../node_modules/@tanstack/query-core/src/mutationCache.ts", "../../../node_modules/@tanstack/query-core/src/infiniteQueryBehavior.ts", "../../../node_modules/@tanstack/query-core/src/queryClient.ts", "../../src/service.ts", "../../../node_modules/react-hot-toast/src/core/types.ts", "../../../node_modules/react-hot-toast/src/core/utils.ts", "../../../node_modules/react-hot-toast/src/core/store.ts", "../../../node_modules/react-hot-toast/src/core/toast.ts", "../../../node_modules/react-hot-toast/src/core/use-toaster.ts", "../../../node_modules/react-hot-toast/src/components/toast-bar.tsx", "../../../node_modules/react-hot-toast/src/components/toast-icon.tsx", "../../../node_modules/react-hot-toast/src/components/error.tsx", "../../../node_modules/react-hot-toast/src/components/loader.tsx", "../../../node_modules/react-hot-toast/src/components/checkmark.tsx", "../../../node_modules/react-hot-toast/src/components/toaster.tsx", "../../../node_modules/react-hot-toast/src/index.ts", "../../../node_modules/goober/dist/goober.modern.js"], - "sourcesContent": ["/**\n * @license React\n * react.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var ReactVersion = '18.2.0';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\n/**\n * Keeps track of the current dispatcher.\n */\nvar ReactCurrentDispatcher = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\n\n/**\n * Keeps track of the current batch's configuration such as how long an update\n * should suspend for if it needs to.\n */\nvar ReactCurrentBatchConfig = {\n transition: null\n};\n\nvar ReactCurrentActQueue = {\n current: null,\n // Used to reproduce behavior of `batchedUpdates` in legacy mode.\n isBatchingLegacy: false,\n didScheduleLegacyUpdate: false\n};\n\n/**\n * Keeps track of the current owner.\n *\n * The current owner is the component who should own any components that are\n * currently being constructed.\n */\nvar ReactCurrentOwner = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\n\nvar ReactDebugCurrentFrame = {};\nvar currentExtraStackFrame = null;\nfunction setExtraStackFrame(stack) {\n {\n currentExtraStackFrame = stack;\n }\n}\n\n{\n ReactDebugCurrentFrame.setExtraStackFrame = function (stack) {\n {\n currentExtraStackFrame = stack;\n }\n }; // Stack implementation injected by the current renderer.\n\n\n ReactDebugCurrentFrame.getCurrentStack = null;\n\n ReactDebugCurrentFrame.getStackAddendum = function () {\n var stack = ''; // Add an extra top frame while an element is being validated\n\n if (currentExtraStackFrame) {\n stack += currentExtraStackFrame;\n } // Delegate to the injected renderer-specific implementation\n\n\n var impl = ReactDebugCurrentFrame.getCurrentStack;\n\n if (impl) {\n stack += impl() || '';\n }\n\n return stack;\n };\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar ReactSharedInternals = {\n ReactCurrentDispatcher: ReactCurrentDispatcher,\n ReactCurrentBatchConfig: ReactCurrentBatchConfig,\n ReactCurrentOwner: ReactCurrentOwner\n};\n\n{\n ReactSharedInternals.ReactDebugCurrentFrame = ReactDebugCurrentFrame;\n ReactSharedInternals.ReactCurrentActQueue = ReactCurrentActQueue;\n}\n\n// by calls to these methods by a Babel plugin.\n//\n// In PROD (or in packages without access to React internals),\n// they are left as they are instead.\n\nfunction warn(format) {\n {\n {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n printWarning('warn', format, args);\n }\n }\n}\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\nvar didWarnStateUpdateForUnmountedComponent = {};\n\nfunction warnNoop(publicInstance, callerName) {\n {\n var _constructor = publicInstance.constructor;\n var componentName = _constructor && (_constructor.displayName || _constructor.name) || 'ReactClass';\n var warningKey = componentName + \".\" + callerName;\n\n if (didWarnStateUpdateForUnmountedComponent[warningKey]) {\n return;\n }\n\n error(\"Can't call %s on a component that is not yet mounted. \" + 'This is a no-op, but it might indicate a bug in your application. ' + 'Instead, assign to `this.state` directly or define a `state = {};` ' + 'class property with the desired state in the %s component.', callerName, componentName);\n\n didWarnStateUpdateForUnmountedComponent[warningKey] = true;\n }\n}\n/**\n * This is the abstract API for an update queue.\n */\n\n\nvar ReactNoopUpdateQueue = {\n /**\n * Checks whether or not this composite component is mounted.\n * @param {ReactClass} publicInstance The instance we want to test.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function (publicInstance) {\n return false;\n },\n\n /**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueForceUpdate: function (publicInstance, callback, callerName) {\n warnNoop(publicInstance, 'forceUpdate');\n },\n\n /**\n * Replaces all of the state. Always use this or `setState` to mutate state.\n * You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} completeState Next state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueReplaceState: function (publicInstance, completeState, callback, callerName) {\n warnNoop(publicInstance, 'replaceState');\n },\n\n /**\n * Sets a subset of the state. This only exists because _pendingState is\n * internal. This provides a merging strategy that is not available to deep\n * properties which is confusing. TODO: Expose pendingState or don't use it\n * during the merge.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} partialState Next partial state to be merged with state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} Name of the calling function in the public API.\n * @internal\n */\n enqueueSetState: function (publicInstance, partialState, callback, callerName) {\n warnNoop(publicInstance, 'setState');\n }\n};\n\nvar assign = Object.assign;\n\nvar emptyObject = {};\n\n{\n Object.freeze(emptyObject);\n}\n/**\n * Base class helpers for the updating state of a component.\n */\n\n\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject; // We initialize the default updater but the real one gets injected by the\n // renderer.\n\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nComponent.prototype.isReactComponent = {};\n/**\n * Sets a subset of the state. Always use this to mutate\n * state. You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * There is no guarantee that calls to `setState` will run synchronously,\n * as they may eventually be batched together. You can provide an optional\n * callback that will be executed when the call to setState is actually\n * completed.\n *\n * When a function is provided to setState, it will be called at some point in\n * the future (not synchronously). It will be called with the up to date\n * component arguments (state, props, context). These values can be different\n * from this.* because your function may be called after receiveProps but before\n * shouldComponentUpdate, and this new state, props, and context will not yet be\n * assigned to this.\n *\n * @param {object|function} partialState Next partial state or function to\n * produce next partial state to be merged with current state.\n * @param {?function} callback Called after state is updated.\n * @final\n * @protected\n */\n\nComponent.prototype.setState = function (partialState, callback) {\n if (typeof partialState !== 'object' && typeof partialState !== 'function' && partialState != null) {\n throw new Error('setState(...): takes an object of state variables to update or a ' + 'function which returns an object of state variables.');\n }\n\n this.updater.enqueueSetState(this, partialState, callback, 'setState');\n};\n/**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {?function} callback Called after update is complete.\n * @final\n * @protected\n */\n\n\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, 'forceUpdate');\n};\n/**\n * Deprecated APIs. These APIs used to exist on classic React classes but since\n * we would like to deprecate them, we're not going to move them over to this\n * modern base class. Instead, we define a getter that warns if it's accessed.\n */\n\n\n{\n var deprecatedAPIs = {\n isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],\n replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']\n };\n\n var defineDeprecationWarning = function (methodName, info) {\n Object.defineProperty(Component.prototype, methodName, {\n get: function () {\n warn('%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]);\n\n return undefined;\n }\n });\n };\n\n for (var fnName in deprecatedAPIs) {\n if (deprecatedAPIs.hasOwnProperty(fnName)) {\n defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\n }\n }\n}\n\nfunction ComponentDummy() {}\n\nComponentDummy.prototype = Component.prototype;\n/**\n * Convenience component with default shallow equality check for sCU.\n */\n\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nvar pureComponentPrototype = PureComponent.prototype = new ComponentDummy();\npureComponentPrototype.constructor = PureComponent; // Avoid an extra prototype jump for these methods.\n\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = true;\n\n// an immutable object with a single mutable value\nfunction createRef() {\n var refObject = {\n current: null\n };\n\n {\n Object.seal(refObject);\n }\n\n return refObject;\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown, specialPropRefWarningShown, didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n var warnAboutAccessingKey = function () {\n {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n var warnAboutAccessingRef = function () {\n {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && config.__self && ReactCurrentOwner.current.stateNode !== config.__self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', componentName, config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * Create and return a new ReactElement of the given type.\n * See https://reactjs.org/docs/react-api.html#createelement\n */\n\nfunction createElement(type, config, children) {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null;\n var self = null;\n var source = null;\n\n if (config != null) {\n if (hasValidRef(config)) {\n ref = config.ref;\n\n {\n warnIfStringRefCannotBeAutoConverted(config);\n }\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n self = config.__self === undefined ? null : config.__self;\n source = config.__source === undefined ? null : config.__source; // Remaining properties are added to a new props object\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n\n {\n if (Object.freeze) {\n Object.freeze(childArray);\n }\n }\n\n props.children = childArray;\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n {\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props);\n return newElement;\n}\n/**\n * Clone and return a new ReactElement using element as the starting point.\n * See https://reactjs.org/docs/react-api.html#cloneelement\n */\n\nfunction cloneElement(element, config, children) {\n if (element === null || element === undefined) {\n throw new Error(\"React.cloneElement(...): The argument must be a React element, but you passed \" + element + \".\");\n }\n\n var propName; // Original props are copied\n\n var props = assign({}, element.props); // Reserved names are extracted\n\n var key = element.key;\n var ref = element.ref; // Self is preserved since the owner is preserved.\n\n var self = element._self; // Source is preserved since cloneElement is unlikely to be targeted by a\n // transpiler, and the original source is probably a better indicator of the\n // true owner.\n\n var source = element._source; // Owner will be preserved, unless ref is overridden\n\n var owner = element._owner;\n\n if (config != null) {\n if (hasValidRef(config)) {\n // Silently steal the ref from the parent.\n ref = config.ref;\n owner = ReactCurrentOwner.current;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n } // Remaining properties override existing props\n\n\n var defaultProps;\n\n if (element.type && element.type.defaultProps) {\n defaultProps = element.type.defaultProps;\n }\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n if (config[propName] === undefined && defaultProps !== undefined) {\n // Resolve default props\n props[propName] = defaultProps[propName];\n } else {\n props[propName] = config[propName];\n }\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n\n props.children = childArray;\n }\n\n return ReactElement(element.type, key, ref, self, source, owner, props);\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\nfunction isValidElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\n\nvar SEPARATOR = '.';\nvar SUBSEPARATOR = ':';\n/**\n * Escape and wrap key so it is safe to use as a reactid\n *\n * @param {string} key to be escaped.\n * @return {string} the escaped key.\n */\n\nfunction escape(key) {\n var escapeRegex = /[=:]/g;\n var escaperLookup = {\n '=': '=0',\n ':': '=2'\n };\n var escapedString = key.replace(escapeRegex, function (match) {\n return escaperLookup[match];\n });\n return '$' + escapedString;\n}\n/**\n * TODO: Test that a single child and an array with one item have the same key\n * pattern.\n */\n\n\nvar didWarnAboutMaps = false;\nvar userProvidedKeyEscapeRegex = /\\/+/g;\n\nfunction escapeUserProvidedKey(text) {\n return text.replace(userProvidedKeyEscapeRegex, '$&/');\n}\n/**\n * Generate a key string that identifies a element within a set.\n *\n * @param {*} element A element that could contain a manual key.\n * @param {number} index Index that is used if a manual key is not provided.\n * @return {string}\n */\n\n\nfunction getElementKey(element, index) {\n // Do some typechecking here since we call this blindly. We want to ensure\n // that we don't block potential future ES APIs.\n if (typeof element === 'object' && element !== null && element.key != null) {\n // Explicit key\n {\n checkKeyStringCoercion(element.key);\n }\n\n return escape('' + element.key);\n } // Implicit key determined by the index in the set\n\n\n return index.toString(36);\n}\n\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n\n if (type === 'undefined' || type === 'boolean') {\n // All of the above are perceived as null.\n children = null;\n }\n\n var invokeCallback = false;\n\n if (children === null) {\n invokeCallback = true;\n } else {\n switch (type) {\n case 'string':\n case 'number':\n invokeCallback = true;\n break;\n\n case 'object':\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = true;\n }\n\n }\n }\n\n if (invokeCallback) {\n var _child = children;\n var mappedChild = callback(_child); // If it's the only child, treat the name as if it was wrapped in an array\n // so that it's consistent if the number of children grows:\n\n var childKey = nameSoFar === '' ? SEPARATOR + getElementKey(_child, 0) : nameSoFar;\n\n if (isArray(mappedChild)) {\n var escapedChildKey = '';\n\n if (childKey != null) {\n escapedChildKey = escapeUserProvidedKey(childKey) + '/';\n }\n\n mapIntoArray(mappedChild, array, escapedChildKey, '', function (c) {\n return c;\n });\n } else if (mappedChild != null) {\n if (isValidElement(mappedChild)) {\n {\n // The `if` statement here prevents auto-disabling of the safe\n // coercion ESLint rule, so we must manually disable it below.\n // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key\n if (mappedChild.key && (!_child || _child.key !== mappedChild.key)) {\n checkKeyStringCoercion(mappedChild.key);\n }\n }\n\n mappedChild = cloneAndReplaceKey(mappedChild, // Keep both the (mapped) and old keys if they differ, just as\n // traverseAllChildren used to do for objects as children\n escapedPrefix + ( // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key\n mappedChild.key && (!_child || _child.key !== mappedChild.key) ? // $FlowFixMe Flow incorrectly thinks existing element's key can be a number\n // eslint-disable-next-line react-internal/safe-string-coercion\n escapeUserProvidedKey('' + mappedChild.key) + '/' : '') + childKey);\n }\n\n array.push(mappedChild);\n }\n\n return 1;\n }\n\n var child;\n var nextName;\n var subtreeCount = 0; // Count of children found in the current subtree.\n\n var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;\n\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n nextName = nextNamePrefix + getElementKey(child, i);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else {\n var iteratorFn = getIteratorFn(children);\n\n if (typeof iteratorFn === 'function') {\n var iterableChildren = children;\n\n {\n // Warn about using Maps as children\n if (iteratorFn === iterableChildren.entries) {\n if (!didWarnAboutMaps) {\n warn('Using Maps as children is not supported. ' + 'Use an array of keyed ReactElements instead.');\n }\n\n didWarnAboutMaps = true;\n }\n }\n\n var iterator = iteratorFn.call(iterableChildren);\n var step;\n var ii = 0;\n\n while (!(step = iterator.next()).done) {\n child = step.value;\n nextName = nextNamePrefix + getElementKey(child, ii++);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else if (type === 'object') {\n // eslint-disable-next-line react-internal/safe-string-coercion\n var childrenString = String(children);\n throw new Error(\"Objects are not valid as a React child (found: \" + (childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString) + \"). \" + 'If you meant to render a collection of children, use an array ' + 'instead.');\n }\n }\n\n return subtreeCount;\n}\n\n/**\n * Maps children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenmap\n *\n * The provided mapFunction(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} func The map function.\n * @param {*} context Context for mapFunction.\n * @return {object} Object containing the ordered map of results.\n */\nfunction mapChildren(children, func, context) {\n if (children == null) {\n return children;\n }\n\n var result = [];\n var count = 0;\n mapIntoArray(children, result, '', '', function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\n/**\n * Count the number of children that are typically specified as\n * `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrencount\n *\n * @param {?*} children Children tree container.\n * @return {number} The number of children.\n */\n\n\nfunction countChildren(children) {\n var n = 0;\n mapChildren(children, function () {\n n++; // Don't return anything\n });\n return n;\n}\n\n/**\n * Iterates through children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenforeach\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} forEachFunc\n * @param {*} forEachContext Context for forEachContext.\n */\nfunction forEachChildren(children, forEachFunc, forEachContext) {\n mapChildren(children, function () {\n forEachFunc.apply(this, arguments); // Don't return anything.\n }, forEachContext);\n}\n/**\n * Flatten a children object (typically specified as `props.children`) and\n * return an array with appropriately re-keyed children.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrentoarray\n */\n\n\nfunction toArray(children) {\n return mapChildren(children, function (child) {\n return child;\n }) || [];\n}\n/**\n * Returns the first child in a collection of children and verifies that there\n * is only one child in the collection.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenonly\n *\n * The current implementation of this function assumes that a single child gets\n * passed without a wrapper, but the purpose of this helper function is to\n * abstract away the particular structure of children.\n *\n * @param {?object} children Child collection structure.\n * @return {ReactElement} The first and only `ReactElement` contained in the\n * structure.\n */\n\n\nfunction onlyChild(children) {\n if (!isValidElement(children)) {\n throw new Error('React.Children.only expected to receive a single React element child.');\n }\n\n return children;\n}\n\nfunction createContext(defaultValue) {\n // TODO: Second argument used to be an optional `calculateChangedBits`\n // function. Warn to reserve for future use?\n var context = {\n $$typeof: REACT_CONTEXT_TYPE,\n // As a workaround to support multiple concurrent renderers, we categorize\n // some renderers as primary and others as secondary. We only expect\n // there to be two concurrent renderers at most: React Native (primary) and\n // Fabric (secondary); React DOM (primary) and React ART (secondary).\n // Secondary renderers store their context values on separate fields.\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n // Used to track how many concurrent renderers this context currently\n // supports within in a single renderer. Such as parallel server rendering.\n _threadCount: 0,\n // These are circular\n Provider: null,\n Consumer: null,\n // Add these to use same hidden class in VM as ServerContext\n _defaultValue: null,\n _globalName: null\n };\n context.Provider = {\n $$typeof: REACT_PROVIDER_TYPE,\n _context: context\n };\n var hasWarnedAboutUsingNestedContextConsumers = false;\n var hasWarnedAboutUsingConsumerProvider = false;\n var hasWarnedAboutDisplayNameOnConsumer = false;\n\n {\n // A separate object, but proxies back to the original context object for\n // backwards compatibility. It has a different $$typeof, so we can properly\n // warn for the incorrect usage of Context as a Consumer.\n var Consumer = {\n $$typeof: REACT_CONTEXT_TYPE,\n _context: context\n }; // $FlowFixMe: Flow complains about not setting a value, which is intentional here\n\n Object.defineProperties(Consumer, {\n Provider: {\n get: function () {\n if (!hasWarnedAboutUsingConsumerProvider) {\n hasWarnedAboutUsingConsumerProvider = true;\n\n error('Rendering is not supported and will be removed in ' + 'a future major release. Did you mean to render instead?');\n }\n\n return context.Provider;\n },\n set: function (_Provider) {\n context.Provider = _Provider;\n }\n },\n _currentValue: {\n get: function () {\n return context._currentValue;\n },\n set: function (_currentValue) {\n context._currentValue = _currentValue;\n }\n },\n _currentValue2: {\n get: function () {\n return context._currentValue2;\n },\n set: function (_currentValue2) {\n context._currentValue2 = _currentValue2;\n }\n },\n _threadCount: {\n get: function () {\n return context._threadCount;\n },\n set: function (_threadCount) {\n context._threadCount = _threadCount;\n }\n },\n Consumer: {\n get: function () {\n if (!hasWarnedAboutUsingNestedContextConsumers) {\n hasWarnedAboutUsingNestedContextConsumers = true;\n\n error('Rendering is not supported and will be removed in ' + 'a future major release. Did you mean to render instead?');\n }\n\n return context.Consumer;\n }\n },\n displayName: {\n get: function () {\n return context.displayName;\n },\n set: function (displayName) {\n if (!hasWarnedAboutDisplayNameOnConsumer) {\n warn('Setting `displayName` on Context.Consumer has no effect. ' + \"You should set it directly on the context with Context.displayName = '%s'.\", displayName);\n\n hasWarnedAboutDisplayNameOnConsumer = true;\n }\n }\n }\n }); // $FlowFixMe: Flow complains about missing properties because it doesn't understand defineProperty\n\n context.Consumer = Consumer;\n }\n\n {\n context._currentRenderer = null;\n context._currentRenderer2 = null;\n }\n\n return context;\n}\n\nvar Uninitialized = -1;\nvar Pending = 0;\nvar Resolved = 1;\nvar Rejected = 2;\n\nfunction lazyInitializer(payload) {\n if (payload._status === Uninitialized) {\n var ctor = payload._result;\n var thenable = ctor(); // Transition to the next state.\n // This might throw either because it's missing or throws. If so, we treat it\n // as still uninitialized and try again next time. Which is the same as what\n // happens if the ctor or any wrappers processing the ctor throws. This might\n // end up fixing it if the resolution was a concurrency bug.\n\n thenable.then(function (moduleObject) {\n if (payload._status === Pending || payload._status === Uninitialized) {\n // Transition to the next state.\n var resolved = payload;\n resolved._status = Resolved;\n resolved._result = moduleObject;\n }\n }, function (error) {\n if (payload._status === Pending || payload._status === Uninitialized) {\n // Transition to the next state.\n var rejected = payload;\n rejected._status = Rejected;\n rejected._result = error;\n }\n });\n\n if (payload._status === Uninitialized) {\n // In case, we're still uninitialized, then we're waiting for the thenable\n // to resolve. Set it as pending in the meantime.\n var pending = payload;\n pending._status = Pending;\n pending._result = thenable;\n }\n }\n\n if (payload._status === Resolved) {\n var moduleObject = payload._result;\n\n {\n if (moduleObject === undefined) {\n error('lazy: Expected the result of a dynamic imp' + 'ort() call. ' + 'Instead received: %s\\n\\nYour code should look like: \\n ' + // Break up imports to avoid accidentally parsing them as dependencies.\n 'const MyComponent = lazy(() => imp' + \"ort('./MyComponent'))\\n\\n\" + 'Did you accidentally put curly braces around the import?', moduleObject);\n }\n }\n\n {\n if (!('default' in moduleObject)) {\n error('lazy: Expected the result of a dynamic imp' + 'ort() call. ' + 'Instead received: %s\\n\\nYour code should look like: \\n ' + // Break up imports to avoid accidentally parsing them as dependencies.\n 'const MyComponent = lazy(() => imp' + \"ort('./MyComponent'))\", moduleObject);\n }\n }\n\n return moduleObject.default;\n } else {\n throw payload._result;\n }\n}\n\nfunction lazy(ctor) {\n var payload = {\n // We use these fields to store the result.\n _status: Uninitialized,\n _result: ctor\n };\n var lazyType = {\n $$typeof: REACT_LAZY_TYPE,\n _payload: payload,\n _init: lazyInitializer\n };\n\n {\n // In production, this would just set it on the object.\n var defaultProps;\n var propTypes; // $FlowFixMe\n\n Object.defineProperties(lazyType, {\n defaultProps: {\n configurable: true,\n get: function () {\n return defaultProps;\n },\n set: function (newDefaultProps) {\n error('React.lazy(...): It is not supported to assign `defaultProps` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n\n defaultProps = newDefaultProps; // Match production behavior more closely:\n // $FlowFixMe\n\n Object.defineProperty(lazyType, 'defaultProps', {\n enumerable: true\n });\n }\n },\n propTypes: {\n configurable: true,\n get: function () {\n return propTypes;\n },\n set: function (newPropTypes) {\n error('React.lazy(...): It is not supported to assign `propTypes` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n\n propTypes = newPropTypes; // Match production behavior more closely:\n // $FlowFixMe\n\n Object.defineProperty(lazyType, 'propTypes', {\n enumerable: true\n });\n }\n }\n });\n }\n\n return lazyType;\n}\n\nfunction forwardRef(render) {\n {\n if (render != null && render.$$typeof === REACT_MEMO_TYPE) {\n error('forwardRef requires a render function but received a `memo` ' + 'component. Instead of forwardRef(memo(...)), use ' + 'memo(forwardRef(...)).');\n } else if (typeof render !== 'function') {\n error('forwardRef requires a render function but was given %s.', render === null ? 'null' : typeof render);\n } else {\n if (render.length !== 0 && render.length !== 2) {\n error('forwardRef render functions accept exactly two parameters: props and ref. %s', render.length === 1 ? 'Did you forget to use the ref parameter?' : 'Any additional parameter will be undefined.');\n }\n }\n\n if (render != null) {\n if (render.defaultProps != null || render.propTypes != null) {\n error('forwardRef render functions do not support propTypes or defaultProps. ' + 'Did you accidentally pass a React component?');\n }\n }\n }\n\n var elementType = {\n $$typeof: REACT_FORWARD_REF_TYPE,\n render: render\n };\n\n {\n var ownName;\n Object.defineProperty(elementType, 'displayName', {\n enumerable: false,\n configurable: true,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name; // The inner component shouldn't inherit this display name in most cases,\n // because the component may be used elsewhere.\n // But it's nice for anonymous functions to inherit the name,\n // so that our component-stack generation logic will display their frames.\n // An anonymous function generally suggests a pattern like:\n // React.forwardRef((props, ref) => {...});\n // This kind of inner function is not used elsewhere so the side effect is okay.\n\n if (!render.name && !render.displayName) {\n render.displayName = name;\n }\n }\n });\n }\n\n return elementType;\n}\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction memo(type, compare) {\n {\n if (!isValidElementType(type)) {\n error('memo: The first argument must be a component. Instead ' + 'received: %s', type === null ? 'null' : typeof type);\n }\n }\n\n var elementType = {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: compare === undefined ? null : compare\n };\n\n {\n var ownName;\n Object.defineProperty(elementType, 'displayName', {\n enumerable: false,\n configurable: true,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name; // The inner component shouldn't inherit this display name in most cases,\n // because the component may be used elsewhere.\n // But it's nice for anonymous functions to inherit the name,\n // so that our component-stack generation logic will display their frames.\n // An anonymous function generally suggests a pattern like:\n // React.memo((props) => {...});\n // This kind of inner function is not used elsewhere so the side effect is okay.\n\n if (!type.name && !type.displayName) {\n type.displayName = name;\n }\n }\n });\n }\n\n return elementType;\n}\n\nfunction resolveDispatcher() {\n var dispatcher = ReactCurrentDispatcher.current;\n\n {\n if (dispatcher === null) {\n error('Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for' + ' one of the following reasons:\\n' + '1. You might have mismatching versions of React and the renderer (such as React DOM)\\n' + '2. You might be breaking the Rules of Hooks\\n' + '3. You might have more than one copy of React in the same app\\n' + 'See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.');\n }\n } // Will result in a null access error if accessed outside render phase. We\n // intentionally don't throw our own error because this is in a hot path.\n // Also helps ensure this is inlined.\n\n\n return dispatcher;\n}\nfunction useContext(Context) {\n var dispatcher = resolveDispatcher();\n\n {\n // TODO: add a more generic warning for invalid values.\n if (Context._context !== undefined) {\n var realContext = Context._context; // Don't deduplicate because this legitimately causes bugs\n // and nobody should be using this in existing code.\n\n if (realContext.Consumer === Context) {\n error('Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be ' + 'removed in a future major release. Did you mean to call useContext(Context) instead?');\n } else if (realContext.Provider === Context) {\n error('Calling useContext(Context.Provider) is not supported. ' + 'Did you mean to call useContext(Context) instead?');\n }\n }\n }\n\n return dispatcher.useContext(Context);\n}\nfunction useState(initialState) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useState(initialState);\n}\nfunction useReducer(reducer, initialArg, init) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useReducer(reducer, initialArg, init);\n}\nfunction useRef(initialValue) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useRef(initialValue);\n}\nfunction useEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useEffect(create, deps);\n}\nfunction useInsertionEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useInsertionEffect(create, deps);\n}\nfunction useLayoutEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useLayoutEffect(create, deps);\n}\nfunction useCallback(callback, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useCallback(callback, deps);\n}\nfunction useMemo(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useMemo(create, deps);\n}\nfunction useImperativeHandle(ref, create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useImperativeHandle(ref, create, deps);\n}\nfunction useDebugValue(value, formatterFn) {\n {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDebugValue(value, formatterFn);\n }\n}\nfunction useTransition() {\n var dispatcher = resolveDispatcher();\n return dispatcher.useTransition();\n}\nfunction useDeferredValue(value) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDeferredValue(value);\n}\nfunction useId() {\n var dispatcher = resolveDispatcher();\n return dispatcher.useId();\n}\nfunction useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n}\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher$1 = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher$1.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher$1.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('')) {\n _frame = _frame.replace('', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher$1.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n setExtraStackFrame(stack);\n } else {\n setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n\nfunction getDeclarationErrorAddendum() {\n if (ReactCurrentOwner.current) {\n var name = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n}\n\nfunction getSourceInfoErrorAddendumForProps(elementProps) {\n if (elementProps !== null && elementProps !== undefined) {\n return getSourceInfoErrorAddendum(elementProps.__source);\n }\n\n return '';\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n {\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\nfunction createElementWithValidation(type, props, children) {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendumForProps(props);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n {\n error('React.createElement: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n }\n\n var element = createElement.apply(this, arguments); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], type);\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n}\nvar didWarnAboutDeprecatedCreateFactory = false;\nfunction createFactoryWithValidation(type) {\n var validatedFactory = createElementWithValidation.bind(null, type);\n validatedFactory.type = type;\n\n {\n if (!didWarnAboutDeprecatedCreateFactory) {\n didWarnAboutDeprecatedCreateFactory = true;\n\n warn('React.createFactory() is deprecated and will be removed in ' + 'a future major release. Consider using JSX ' + 'or use React.createElement() directly instead.');\n } // Legacy hook: remove it\n\n\n Object.defineProperty(validatedFactory, 'type', {\n enumerable: false,\n get: function () {\n warn('Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.');\n\n Object.defineProperty(this, 'type', {\n value: type\n });\n return type;\n }\n });\n }\n\n return validatedFactory;\n}\nfunction cloneElementWithValidation(element, props, children) {\n var newElement = cloneElement.apply(this, arguments);\n\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], newElement.type);\n }\n\n validatePropTypes(newElement);\n return newElement;\n}\n\nfunction startTransition(scope, options) {\n var prevTransition = ReactCurrentBatchConfig.transition;\n ReactCurrentBatchConfig.transition = {};\n var currentTransition = ReactCurrentBatchConfig.transition;\n\n {\n ReactCurrentBatchConfig.transition._updatedFibers = new Set();\n }\n\n try {\n scope();\n } finally {\n ReactCurrentBatchConfig.transition = prevTransition;\n\n {\n if (prevTransition === null && currentTransition._updatedFibers) {\n var updatedFibersCount = currentTransition._updatedFibers.size;\n\n if (updatedFibersCount > 10) {\n warn('Detected a large number of updates inside startTransition. ' + 'If this is due to a subscription please re-write it to use React provided hooks. ' + 'Otherwise concurrent mode guarantees are off the table.');\n }\n\n currentTransition._updatedFibers.clear();\n }\n }\n }\n}\n\nvar didWarnAboutMessageChannel = false;\nvar enqueueTaskImpl = null;\nfunction enqueueTask(task) {\n if (enqueueTaskImpl === null) {\n try {\n // read require off the module object to get around the bundlers.\n // we don't want them to detect a require and bundle a Node polyfill.\n var requireString = ('require' + Math.random()).slice(0, 7);\n var nodeRequire = module && module[requireString]; // assuming we're in node, let's try to get node's\n // version of setImmediate, bypassing fake timers if any.\n\n enqueueTaskImpl = nodeRequire.call(module, 'timers').setImmediate;\n } catch (_err) {\n // we're in a browser\n // we can't use regular timers because they may still be faked\n // so we try MessageChannel+postMessage instead\n enqueueTaskImpl = function (callback) {\n {\n if (didWarnAboutMessageChannel === false) {\n didWarnAboutMessageChannel = true;\n\n if (typeof MessageChannel === 'undefined') {\n error('This browser does not have a MessageChannel implementation, ' + 'so enqueuing tasks via await act(async () => ...) will fail. ' + 'Please file an issue at https://github.com/facebook/react/issues ' + 'if you encounter this warning.');\n }\n }\n }\n\n var channel = new MessageChannel();\n channel.port1.onmessage = callback;\n channel.port2.postMessage(undefined);\n };\n }\n }\n\n return enqueueTaskImpl(task);\n}\n\nvar actScopeDepth = 0;\nvar didWarnNoAwaitAct = false;\nfunction act(callback) {\n {\n // `act` calls can be nested, so we track the depth. This represents the\n // number of `act` scopes on the stack.\n var prevActScopeDepth = actScopeDepth;\n actScopeDepth++;\n\n if (ReactCurrentActQueue.current === null) {\n // This is the outermost `act` scope. Initialize the queue. The reconciler\n // will detect the queue and use it instead of Scheduler.\n ReactCurrentActQueue.current = [];\n }\n\n var prevIsBatchingLegacy = ReactCurrentActQueue.isBatchingLegacy;\n var result;\n\n try {\n // Used to reproduce behavior of `batchedUpdates` in legacy mode. Only\n // set to `true` while the given callback is executed, not for updates\n // triggered during an async event, because this is how the legacy\n // implementation of `act` behaved.\n ReactCurrentActQueue.isBatchingLegacy = true;\n result = callback(); // Replicate behavior of original `act` implementation in legacy mode,\n // which flushed updates immediately after the scope function exits, even\n // if it's an async function.\n\n if (!prevIsBatchingLegacy && ReactCurrentActQueue.didScheduleLegacyUpdate) {\n var queue = ReactCurrentActQueue.current;\n\n if (queue !== null) {\n ReactCurrentActQueue.didScheduleLegacyUpdate = false;\n flushActQueue(queue);\n }\n }\n } catch (error) {\n popActScope(prevActScopeDepth);\n throw error;\n } finally {\n ReactCurrentActQueue.isBatchingLegacy = prevIsBatchingLegacy;\n }\n\n if (result !== null && typeof result === 'object' && typeof result.then === 'function') {\n var thenableResult = result; // The callback is an async function (i.e. returned a promise). Wait\n // for it to resolve before exiting the current scope.\n\n var wasAwaited = false;\n var thenable = {\n then: function (resolve, reject) {\n wasAwaited = true;\n thenableResult.then(function (returnValue) {\n popActScope(prevActScopeDepth);\n\n if (actScopeDepth === 0) {\n // We've exited the outermost act scope. Recursively flush the\n // queue until there's no remaining work.\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n } else {\n resolve(returnValue);\n }\n }, function (error) {\n // The callback threw an error.\n popActScope(prevActScopeDepth);\n reject(error);\n });\n }\n };\n\n {\n if (!didWarnNoAwaitAct && typeof Promise !== 'undefined') {\n // eslint-disable-next-line no-undef\n Promise.resolve().then(function () {}).then(function () {\n if (!wasAwaited) {\n didWarnNoAwaitAct = true;\n\n error('You called act(async () => ...) without await. ' + 'This could lead to unexpected testing behaviour, ' + 'interleaving multiple act calls and mixing their ' + 'scopes. ' + 'You should - await act(async () => ...);');\n }\n });\n }\n }\n\n return thenable;\n } else {\n var returnValue = result; // The callback is not an async function. Exit the current scope\n // immediately, without awaiting.\n\n popActScope(prevActScopeDepth);\n\n if (actScopeDepth === 0) {\n // Exiting the outermost act scope. Flush the queue.\n var _queue = ReactCurrentActQueue.current;\n\n if (_queue !== null) {\n flushActQueue(_queue);\n ReactCurrentActQueue.current = null;\n } // Return a thenable. If the user awaits it, we'll flush again in\n // case additional work was scheduled by a microtask.\n\n\n var _thenable = {\n then: function (resolve, reject) {\n // Confirm we haven't re-entered another `act` scope, in case\n // the user does something weird like await the thenable\n // multiple times.\n if (ReactCurrentActQueue.current === null) {\n // Recursively flush the queue until there's no remaining work.\n ReactCurrentActQueue.current = [];\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n } else {\n resolve(returnValue);\n }\n }\n };\n return _thenable;\n } else {\n // Since we're inside a nested `act` scope, the returned thenable\n // immediately resolves. The outer scope will flush the queue.\n var _thenable2 = {\n then: function (resolve, reject) {\n resolve(returnValue);\n }\n };\n return _thenable2;\n }\n }\n }\n}\n\nfunction popActScope(prevActScopeDepth) {\n {\n if (prevActScopeDepth !== actScopeDepth - 1) {\n error('You seem to have overlapping act() calls, this is not supported. ' + 'Be sure to await previous act() calls before making a new one. ');\n }\n\n actScopeDepth = prevActScopeDepth;\n }\n}\n\nfunction recursivelyFlushAsyncActWork(returnValue, resolve, reject) {\n {\n var queue = ReactCurrentActQueue.current;\n\n if (queue !== null) {\n try {\n flushActQueue(queue);\n enqueueTask(function () {\n if (queue.length === 0) {\n // No additional work was scheduled. Finish.\n ReactCurrentActQueue.current = null;\n resolve(returnValue);\n } else {\n // Keep flushing work until there's none left.\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n }\n });\n } catch (error) {\n reject(error);\n }\n } else {\n resolve(returnValue);\n }\n }\n}\n\nvar isFlushing = false;\n\nfunction flushActQueue(queue) {\n {\n if (!isFlushing) {\n // Prevent re-entrance.\n isFlushing = true;\n var i = 0;\n\n try {\n for (; i < queue.length; i++) {\n var callback = queue[i];\n\n do {\n callback = callback(true);\n } while (callback !== null);\n }\n\n queue.length = 0;\n } catch (error) {\n // If something throws, leave the remaining callbacks on the queue.\n queue = queue.slice(i + 1);\n throw error;\n } finally {\n isFlushing = false;\n }\n }\n }\n}\n\nvar createElement$1 = createElementWithValidation ;\nvar cloneElement$1 = cloneElementWithValidation ;\nvar createFactory = createFactoryWithValidation ;\nvar Children = {\n map: mapChildren,\n forEach: forEachChildren,\n count: countChildren,\n toArray: toArray,\n only: onlyChild\n};\n\nexports.Children = Children;\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactSharedInternals;\nexports.cloneElement = cloneElement$1;\nexports.createContext = createContext;\nexports.createElement = createElement$1;\nexports.createFactory = createFactory;\nexports.createRef = createRef;\nexports.forwardRef = forwardRef;\nexports.isValidElement = isValidElement;\nexports.lazy = lazy;\nexports.memo = memo;\nexports.startTransition = startTransition;\nexports.unstable_act = act;\nexports.useCallback = useCallback;\nexports.useContext = useContext;\nexports.useDebugValue = useDebugValue;\nexports.useDeferredValue = useDeferredValue;\nexports.useEffect = useEffect;\nexports.useId = useId;\nexports.useImperativeHandle = useImperativeHandle;\nexports.useInsertionEffect = useInsertionEffect;\nexports.useLayoutEffect = useLayoutEffect;\nexports.useMemo = useMemo;\nexports.useReducer = useReducer;\nexports.useRef = useRef;\nexports.useState = useState;\nexports.useSyncExternalStore = useSyncExternalStore;\nexports.useTransition = useTransition;\nexports.version = ReactVersion;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n", "'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n", "/**\n * @license React\n * scheduler.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var enableSchedulerDebugging = false;\nvar enableProfiling = false;\nvar frameYieldMs = 5;\n\nfunction push(heap, node) {\n var index = heap.length;\n heap.push(node);\n siftUp(heap, node, index);\n}\nfunction peek(heap) {\n return heap.length === 0 ? null : heap[0];\n}\nfunction pop(heap) {\n if (heap.length === 0) {\n return null;\n }\n\n var first = heap[0];\n var last = heap.pop();\n\n if (last !== first) {\n heap[0] = last;\n siftDown(heap, last, 0);\n }\n\n return first;\n}\n\nfunction siftUp(heap, node, i) {\n var index = i;\n\n while (index > 0) {\n var parentIndex = index - 1 >>> 1;\n var parent = heap[parentIndex];\n\n if (compare(parent, node) > 0) {\n // The parent is larger. Swap positions.\n heap[parentIndex] = node;\n heap[index] = parent;\n index = parentIndex;\n } else {\n // The parent is smaller. Exit.\n return;\n }\n }\n}\n\nfunction siftDown(heap, node, i) {\n var index = i;\n var length = heap.length;\n var halfLength = length >>> 1;\n\n while (index < halfLength) {\n var leftIndex = (index + 1) * 2 - 1;\n var left = heap[leftIndex];\n var rightIndex = leftIndex + 1;\n var right = heap[rightIndex]; // If the left or right node is smaller, swap with the smaller of those.\n\n if (compare(left, node) < 0) {\n if (rightIndex < length && compare(right, left) < 0) {\n heap[index] = right;\n heap[rightIndex] = node;\n index = rightIndex;\n } else {\n heap[index] = left;\n heap[leftIndex] = node;\n index = leftIndex;\n }\n } else if (rightIndex < length && compare(right, node) < 0) {\n heap[index] = right;\n heap[rightIndex] = node;\n index = rightIndex;\n } else {\n // Neither child is smaller. Exit.\n return;\n }\n }\n}\n\nfunction compare(a, b) {\n // Compare sort index first, then task id.\n var diff = a.sortIndex - b.sortIndex;\n return diff !== 0 ? diff : a.id - b.id;\n}\n\n// TODO: Use symbols?\nvar ImmediatePriority = 1;\nvar UserBlockingPriority = 2;\nvar NormalPriority = 3;\nvar LowPriority = 4;\nvar IdlePriority = 5;\n\nfunction markTaskErrored(task, ms) {\n}\n\n/* eslint-disable no-var */\n\nvar hasPerformanceNow = typeof performance === 'object' && typeof performance.now === 'function';\n\nif (hasPerformanceNow) {\n var localPerformance = performance;\n\n exports.unstable_now = function () {\n return localPerformance.now();\n };\n} else {\n var localDate = Date;\n var initialTime = localDate.now();\n\n exports.unstable_now = function () {\n return localDate.now() - initialTime;\n };\n} // Max 31 bit integer. The max integer size in V8 for 32-bit systems.\n// Math.pow(2, 30) - 1\n// 0b111111111111111111111111111111\n\n\nvar maxSigned31BitInt = 1073741823; // Times out immediately\n\nvar IMMEDIATE_PRIORITY_TIMEOUT = -1; // Eventually times out\n\nvar USER_BLOCKING_PRIORITY_TIMEOUT = 250;\nvar NORMAL_PRIORITY_TIMEOUT = 5000;\nvar LOW_PRIORITY_TIMEOUT = 10000; // Never times out\n\nvar IDLE_PRIORITY_TIMEOUT = maxSigned31BitInt; // Tasks are stored on a min heap\n\nvar taskQueue = [];\nvar timerQueue = []; // Incrementing id counter. Used to maintain insertion order.\n\nvar taskIdCounter = 1; // Pausing the scheduler is useful for debugging.\nvar currentTask = null;\nvar currentPriorityLevel = NormalPriority; // This is set while performing work, to prevent re-entrance.\n\nvar isPerformingWork = false;\nvar isHostCallbackScheduled = false;\nvar isHostTimeoutScheduled = false; // Capture local references to native APIs, in case a polyfill overrides them.\n\nvar localSetTimeout = typeof setTimeout === 'function' ? setTimeout : null;\nvar localClearTimeout = typeof clearTimeout === 'function' ? clearTimeout : null;\nvar localSetImmediate = typeof setImmediate !== 'undefined' ? setImmediate : null; // IE and Node.js + jsdom\n\nvar isInputPending = typeof navigator !== 'undefined' && navigator.scheduling !== undefined && navigator.scheduling.isInputPending !== undefined ? navigator.scheduling.isInputPending.bind(navigator.scheduling) : null;\n\nfunction advanceTimers(currentTime) {\n // Check for tasks that are no longer delayed and add them to the queue.\n var timer = peek(timerQueue);\n\n while (timer !== null) {\n if (timer.callback === null) {\n // Timer was cancelled.\n pop(timerQueue);\n } else if (timer.startTime <= currentTime) {\n // Timer fired. Transfer to the task queue.\n pop(timerQueue);\n timer.sortIndex = timer.expirationTime;\n push(taskQueue, timer);\n } else {\n // Remaining timers are pending.\n return;\n }\n\n timer = peek(timerQueue);\n }\n}\n\nfunction handleTimeout(currentTime) {\n isHostTimeoutScheduled = false;\n advanceTimers(currentTime);\n\n if (!isHostCallbackScheduled) {\n if (peek(taskQueue) !== null) {\n isHostCallbackScheduled = true;\n requestHostCallback(flushWork);\n } else {\n var firstTimer = peek(timerQueue);\n\n if (firstTimer !== null) {\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n }\n }\n}\n\nfunction flushWork(hasTimeRemaining, initialTime) {\n\n\n isHostCallbackScheduled = false;\n\n if (isHostTimeoutScheduled) {\n // We scheduled a timeout but it's no longer needed. Cancel it.\n isHostTimeoutScheduled = false;\n cancelHostTimeout();\n }\n\n isPerformingWork = true;\n var previousPriorityLevel = currentPriorityLevel;\n\n try {\n if (enableProfiling) {\n try {\n return workLoop(hasTimeRemaining, initialTime);\n } catch (error) {\n if (currentTask !== null) {\n var currentTime = exports.unstable_now();\n markTaskErrored(currentTask, currentTime);\n currentTask.isQueued = false;\n }\n\n throw error;\n }\n } else {\n // No catch in prod code path.\n return workLoop(hasTimeRemaining, initialTime);\n }\n } finally {\n currentTask = null;\n currentPriorityLevel = previousPriorityLevel;\n isPerformingWork = false;\n }\n}\n\nfunction workLoop(hasTimeRemaining, initialTime) {\n var currentTime = initialTime;\n advanceTimers(currentTime);\n currentTask = peek(taskQueue);\n\n while (currentTask !== null && !(enableSchedulerDebugging )) {\n if (currentTask.expirationTime > currentTime && (!hasTimeRemaining || shouldYieldToHost())) {\n // This currentTask hasn't expired, and we've reached the deadline.\n break;\n }\n\n var callback = currentTask.callback;\n\n if (typeof callback === 'function') {\n currentTask.callback = null;\n currentPriorityLevel = currentTask.priorityLevel;\n var didUserCallbackTimeout = currentTask.expirationTime <= currentTime;\n\n var continuationCallback = callback(didUserCallbackTimeout);\n currentTime = exports.unstable_now();\n\n if (typeof continuationCallback === 'function') {\n currentTask.callback = continuationCallback;\n } else {\n\n if (currentTask === peek(taskQueue)) {\n pop(taskQueue);\n }\n }\n\n advanceTimers(currentTime);\n } else {\n pop(taskQueue);\n }\n\n currentTask = peek(taskQueue);\n } // Return whether there's additional work\n\n\n if (currentTask !== null) {\n return true;\n } else {\n var firstTimer = peek(timerQueue);\n\n if (firstTimer !== null) {\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n\n return false;\n }\n}\n\nfunction unstable_runWithPriority(priorityLevel, eventHandler) {\n switch (priorityLevel) {\n case ImmediatePriority:\n case UserBlockingPriority:\n case NormalPriority:\n case LowPriority:\n case IdlePriority:\n break;\n\n default:\n priorityLevel = NormalPriority;\n }\n\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n}\n\nfunction unstable_next(eventHandler) {\n var priorityLevel;\n\n switch (currentPriorityLevel) {\n case ImmediatePriority:\n case UserBlockingPriority:\n case NormalPriority:\n // Shift down to normal priority\n priorityLevel = NormalPriority;\n break;\n\n default:\n // Anything lower than normal priority should remain at the current level.\n priorityLevel = currentPriorityLevel;\n break;\n }\n\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n}\n\nfunction unstable_wrapCallback(callback) {\n var parentPriorityLevel = currentPriorityLevel;\n return function () {\n // This is a fork of runWithPriority, inlined for performance.\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = parentPriorityLevel;\n\n try {\n return callback.apply(this, arguments);\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n };\n}\n\nfunction unstable_scheduleCallback(priorityLevel, callback, options) {\n var currentTime = exports.unstable_now();\n var startTime;\n\n if (typeof options === 'object' && options !== null) {\n var delay = options.delay;\n\n if (typeof delay === 'number' && delay > 0) {\n startTime = currentTime + delay;\n } else {\n startTime = currentTime;\n }\n } else {\n startTime = currentTime;\n }\n\n var timeout;\n\n switch (priorityLevel) {\n case ImmediatePriority:\n timeout = IMMEDIATE_PRIORITY_TIMEOUT;\n break;\n\n case UserBlockingPriority:\n timeout = USER_BLOCKING_PRIORITY_TIMEOUT;\n break;\n\n case IdlePriority:\n timeout = IDLE_PRIORITY_TIMEOUT;\n break;\n\n case LowPriority:\n timeout = LOW_PRIORITY_TIMEOUT;\n break;\n\n case NormalPriority:\n default:\n timeout = NORMAL_PRIORITY_TIMEOUT;\n break;\n }\n\n var expirationTime = startTime + timeout;\n var newTask = {\n id: taskIdCounter++,\n callback: callback,\n priorityLevel: priorityLevel,\n startTime: startTime,\n expirationTime: expirationTime,\n sortIndex: -1\n };\n\n if (startTime > currentTime) {\n // This is a delayed task.\n newTask.sortIndex = startTime;\n push(timerQueue, newTask);\n\n if (peek(taskQueue) === null && newTask === peek(timerQueue)) {\n // All tasks are delayed, and this is the task with the earliest delay.\n if (isHostTimeoutScheduled) {\n // Cancel an existing timeout.\n cancelHostTimeout();\n } else {\n isHostTimeoutScheduled = true;\n } // Schedule a timeout.\n\n\n requestHostTimeout(handleTimeout, startTime - currentTime);\n }\n } else {\n newTask.sortIndex = expirationTime;\n push(taskQueue, newTask);\n // wait until the next time we yield.\n\n\n if (!isHostCallbackScheduled && !isPerformingWork) {\n isHostCallbackScheduled = true;\n requestHostCallback(flushWork);\n }\n }\n\n return newTask;\n}\n\nfunction unstable_pauseExecution() {\n}\n\nfunction unstable_continueExecution() {\n\n if (!isHostCallbackScheduled && !isPerformingWork) {\n isHostCallbackScheduled = true;\n requestHostCallback(flushWork);\n }\n}\n\nfunction unstable_getFirstCallbackNode() {\n return peek(taskQueue);\n}\n\nfunction unstable_cancelCallback(task) {\n // remove from the queue because you can't remove arbitrary nodes from an\n // array based heap, only the first one.)\n\n\n task.callback = null;\n}\n\nfunction unstable_getCurrentPriorityLevel() {\n return currentPriorityLevel;\n}\n\nvar isMessageLoopRunning = false;\nvar scheduledHostCallback = null;\nvar taskTimeoutID = -1; // Scheduler periodically yields in case there is other work on the main\n// thread, like user events. By default, it yields multiple times per frame.\n// It does not attempt to align with frame boundaries, since most tasks don't\n// need to be frame aligned; for those that do, use requestAnimationFrame.\n\nvar frameInterval = frameYieldMs;\nvar startTime = -1;\n\nfunction shouldYieldToHost() {\n var timeElapsed = exports.unstable_now() - startTime;\n\n if (timeElapsed < frameInterval) {\n // The main thread has only been blocked for a really short amount of time;\n // smaller than a single frame. Don't yield yet.\n return false;\n } // The main thread has been blocked for a non-negligible amount of time. We\n\n\n return true;\n}\n\nfunction requestPaint() {\n\n}\n\nfunction forceFrameRate(fps) {\n if (fps < 0 || fps > 125) {\n // Using console['error'] to evade Babel and ESLint\n console['error']('forceFrameRate takes a positive int between 0 and 125, ' + 'forcing frame rates higher than 125 fps is not supported');\n return;\n }\n\n if (fps > 0) {\n frameInterval = Math.floor(1000 / fps);\n } else {\n // reset the framerate\n frameInterval = frameYieldMs;\n }\n}\n\nvar performWorkUntilDeadline = function () {\n if (scheduledHostCallback !== null) {\n var currentTime = exports.unstable_now(); // Keep track of the start time so we can measure how long the main thread\n // has been blocked.\n\n startTime = currentTime;\n var hasTimeRemaining = true; // If a scheduler task throws, exit the current browser task so the\n // error can be observed.\n //\n // Intentionally not using a try-catch, since that makes some debugging\n // techniques harder. Instead, if `scheduledHostCallback` errors, then\n // `hasMoreWork` will remain true, and we'll continue the work loop.\n\n var hasMoreWork = true;\n\n try {\n hasMoreWork = scheduledHostCallback(hasTimeRemaining, currentTime);\n } finally {\n if (hasMoreWork) {\n // If there's more work, schedule the next message event at the end\n // of the preceding one.\n schedulePerformWorkUntilDeadline();\n } else {\n isMessageLoopRunning = false;\n scheduledHostCallback = null;\n }\n }\n } else {\n isMessageLoopRunning = false;\n } // Yielding to the browser will give it a chance to paint, so we can\n};\n\nvar schedulePerformWorkUntilDeadline;\n\nif (typeof localSetImmediate === 'function') {\n // Node.js and old IE.\n // There's a few reasons for why we prefer setImmediate.\n //\n // Unlike MessageChannel, it doesn't prevent a Node.js process from exiting.\n // (Even though this is a DOM fork of the Scheduler, you could get here\n // with a mix of Node.js 15+, which has a MessageChannel, and jsdom.)\n // https://github.com/facebook/react/issues/20756\n //\n // But also, it runs earlier which is the semantic we want.\n // If other browsers ever implement it, it's better to use it.\n // Although both of these would be inferior to native scheduling.\n schedulePerformWorkUntilDeadline = function () {\n localSetImmediate(performWorkUntilDeadline);\n };\n} else if (typeof MessageChannel !== 'undefined') {\n // DOM and Worker environments.\n // We prefer MessageChannel because of the 4ms setTimeout clamping.\n var channel = new MessageChannel();\n var port = channel.port2;\n channel.port1.onmessage = performWorkUntilDeadline;\n\n schedulePerformWorkUntilDeadline = function () {\n port.postMessage(null);\n };\n} else {\n // We should only fallback here in non-browser environments.\n schedulePerformWorkUntilDeadline = function () {\n localSetTimeout(performWorkUntilDeadline, 0);\n };\n}\n\nfunction requestHostCallback(callback) {\n scheduledHostCallback = callback;\n\n if (!isMessageLoopRunning) {\n isMessageLoopRunning = true;\n schedulePerformWorkUntilDeadline();\n }\n}\n\nfunction requestHostTimeout(callback, ms) {\n taskTimeoutID = localSetTimeout(function () {\n callback(exports.unstable_now());\n }, ms);\n}\n\nfunction cancelHostTimeout() {\n localClearTimeout(taskTimeoutID);\n taskTimeoutID = -1;\n}\n\nvar unstable_requestPaint = requestPaint;\nvar unstable_Profiling = null;\n\nexports.unstable_IdlePriority = IdlePriority;\nexports.unstable_ImmediatePriority = ImmediatePriority;\nexports.unstable_LowPriority = LowPriority;\nexports.unstable_NormalPriority = NormalPriority;\nexports.unstable_Profiling = unstable_Profiling;\nexports.unstable_UserBlockingPriority = UserBlockingPriority;\nexports.unstable_cancelCallback = unstable_cancelCallback;\nexports.unstable_continueExecution = unstable_continueExecution;\nexports.unstable_forceFrameRate = forceFrameRate;\nexports.unstable_getCurrentPriorityLevel = unstable_getCurrentPriorityLevel;\nexports.unstable_getFirstCallbackNode = unstable_getFirstCallbackNode;\nexports.unstable_next = unstable_next;\nexports.unstable_pauseExecution = unstable_pauseExecution;\nexports.unstable_requestPaint = unstable_requestPaint;\nexports.unstable_runWithPriority = unstable_runWithPriority;\nexports.unstable_scheduleCallback = unstable_scheduleCallback;\nexports.unstable_shouldYield = shouldYieldToHost;\nexports.unstable_wrapCallback = unstable_wrapCallback;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n", "'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n", "/**\n * @license React\n * react-dom.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var React = require('react');\nvar Scheduler = require('scheduler');\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nvar suppressWarning = false;\nfunction setSuppressWarning(newSuppressWarning) {\n {\n suppressWarning = newSuppressWarning;\n }\n} // In DEV, calls to console.warn and console.error get replaced\n// by calls to these methods by a Babel plugin.\n//\n// In PROD (or in packages without access to React internals),\n// they are left as they are instead.\n\nfunction warn(format) {\n {\n if (!suppressWarning) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n printWarning('warn', format, args);\n }\n }\n}\nfunction error(format) {\n {\n if (!suppressWarning) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\nvar FunctionComponent = 0;\nvar ClassComponent = 1;\nvar IndeterminateComponent = 2; // Before we know whether it is function or class\n\nvar HostRoot = 3; // Root of a host tree. Could be nested inside another node.\n\nvar HostPortal = 4; // A subtree. Could be an entry point to a different renderer.\n\nvar HostComponent = 5;\nvar HostText = 6;\nvar Fragment = 7;\nvar Mode = 8;\nvar ContextConsumer = 9;\nvar ContextProvider = 10;\nvar ForwardRef = 11;\nvar Profiler = 12;\nvar SuspenseComponent = 13;\nvar MemoComponent = 14;\nvar SimpleMemoComponent = 15;\nvar LazyComponent = 16;\nvar IncompleteClassComponent = 17;\nvar DehydratedFragment = 18;\nvar SuspenseListComponent = 19;\nvar ScopeComponent = 21;\nvar OffscreenComponent = 22;\nvar LegacyHiddenComponent = 23;\nvar CacheComponent = 24;\nvar TracingMarkerComponent = 25;\n\n// -----------------------------------------------------------------------------\n\nvar enableClientRenderFallbackOnTextMismatch = true; // TODO: Need to review this code one more time before landing\n// the react-reconciler package.\n\nvar enableNewReconciler = false; // Support legacy Primer support on internal FB www\n\nvar enableLazyContextPropagation = false; // FB-only usage. The new API has different semantics.\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n\nvar enableSuspenseAvoidThisFallback = false; // Enables unstable_avoidThisFallback feature in Fizz\n// React DOM Chopping Block\n//\n// Similar to main Chopping Block but only flags related to React DOM. These are\n// grouped because we will likely batch all of them into a single major release.\n// -----------------------------------------------------------------------------\n// Disable support for comment nodes as React DOM containers. Already disabled\n// in open source, but www codebase still relies on it. Need to remove.\n\nvar disableCommentsAsDOMContainers = true; // Disable javascript: URL strings in href for XSS protection.\n// and client rendering, mostly to allow JSX attributes to apply to the custom\n// element's object properties instead of only HTML attributes.\n// https://github.com/facebook/react/issues/11347\n\nvar enableCustomElementPropertySupport = false; // Disables children for