grpc 1.51.0 → 1.52.0.pre2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of grpc might be problematic. Click here for more details.

Files changed (886) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +91 -23
  3. data/include/grpc/byte_buffer.h +76 -1
  4. data/include/grpc/byte_buffer_reader.h +19 -1
  5. data/include/grpc/compression.h +2 -2
  6. data/include/grpc/event_engine/event_engine.h +17 -3
  7. data/include/grpc/event_engine/internal/memory_allocator_impl.h +1 -1
  8. data/include/grpc/event_engine/internal/slice_cast.h +67 -0
  9. data/include/grpc/event_engine/memory_allocator.h +1 -1
  10. data/include/grpc/event_engine/slice.h +24 -4
  11. data/include/grpc/event_engine/slice_buffer.h +14 -2
  12. data/include/grpc/fork.h +25 -1
  13. data/include/grpc/grpc.h +3 -3
  14. data/include/grpc/grpc_posix.h +1 -1
  15. data/include/grpc/impl/codegen/atm.h +3 -71
  16. data/include/grpc/impl/codegen/atm_gcc_atomic.h +3 -58
  17. data/include/grpc/impl/codegen/atm_gcc_sync.h +3 -59
  18. data/include/grpc/impl/codegen/atm_windows.h +3 -106
  19. data/include/grpc/impl/codegen/byte_buffer.h +4 -78
  20. data/include/grpc/impl/codegen/byte_buffer_reader.h +4 -19
  21. data/include/grpc/impl/codegen/compression_types.h +3 -82
  22. data/include/grpc/impl/codegen/connectivity_state.h +3 -20
  23. data/include/grpc/impl/codegen/fork.h +4 -25
  24. data/include/grpc/impl/codegen/gpr_types.h +2 -34
  25. data/include/grpc/impl/codegen/grpc_types.h +3 -787
  26. data/include/grpc/impl/codegen/log.h +3 -86
  27. data/include/grpc/impl/codegen/port_platform.h +3 -755
  28. data/include/grpc/impl/codegen/propagation_bits.h +3 -28
  29. data/include/grpc/impl/codegen/slice.h +3 -106
  30. data/include/grpc/impl/codegen/status.h +4 -131
  31. data/include/grpc/impl/codegen/sync.h +3 -42
  32. data/include/grpc/impl/codegen/sync_abseil.h +3 -12
  33. data/include/grpc/impl/codegen/sync_custom.h +3 -14
  34. data/include/grpc/impl/codegen/sync_generic.h +3 -25
  35. data/include/grpc/impl/codegen/sync_posix.h +3 -28
  36. data/include/grpc/impl/codegen/sync_windows.h +3 -16
  37. data/include/grpc/impl/compression_types.h +109 -0
  38. data/include/grpc/impl/connectivity_state.h +47 -0
  39. data/include/grpc/impl/grpc_types.h +824 -0
  40. data/include/grpc/impl/propagation_bits.h +54 -0
  41. data/include/grpc/impl/slice_type.h +112 -0
  42. data/include/grpc/load_reporting.h +1 -1
  43. data/include/grpc/module.modulemap +5 -1
  44. data/include/grpc/slice.h +1 -1
  45. data/include/grpc/status.h +131 -1
  46. data/include/grpc/support/atm.h +70 -1
  47. data/include/grpc/support/atm_gcc_atomic.h +59 -1
  48. data/include/grpc/support/atm_gcc_sync.h +58 -1
  49. data/include/grpc/support/atm_windows.h +105 -1
  50. data/include/grpc/support/log.h +87 -1
  51. data/include/grpc/support/log_windows.h +1 -1
  52. data/include/grpc/support/port_platform.h +767 -1
  53. data/include/grpc/support/string_util.h +1 -1
  54. data/include/grpc/support/sync.h +35 -2
  55. data/include/grpc/support/sync_abseil.h +11 -1
  56. data/include/grpc/support/sync_custom.h +13 -1
  57. data/include/grpc/support/sync_generic.h +24 -1
  58. data/include/grpc/support/sync_posix.h +27 -1
  59. data/include/grpc/support/sync_windows.h +15 -1
  60. data/include/grpc/support/time.h +25 -2
  61. data/src/core/ext/filters/census/grpc_context.cc +17 -18
  62. data/src/core/ext/filters/channel_idle/channel_idle_filter.cc +9 -9
  63. data/src/core/ext/filters/channel_idle/channel_idle_filter.h +1 -1
  64. data/src/core/ext/filters/channel_idle/idle_filter_state.h +1 -1
  65. data/src/core/ext/filters/client_channel/backend_metric.cc +2 -0
  66. data/src/core/ext/filters/client_channel/backup_poller.cc +21 -21
  67. data/src/core/ext/filters/client_channel/backup_poller.h +21 -21
  68. data/src/core/ext/filters/client_channel/channel_connectivity.cc +45 -24
  69. data/src/core/ext/filters/client_channel/client_channel.cc +40 -31
  70. data/src/core/ext/filters/client_channel/client_channel.h +7 -6
  71. data/src/core/ext/filters/client_channel/client_channel_channelz.cc +17 -17
  72. data/src/core/ext/filters/client_channel/client_channel_channelz.h +19 -19
  73. data/src/core/ext/filters/client_channel/client_channel_factory.cc +17 -17
  74. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +17 -17
  75. data/src/core/ext/filters/client_channel/config_selector.h +16 -20
  76. data/src/core/ext/filters/client_channel/dynamic_filters.cc +8 -8
  77. data/src/core/ext/filters/client_channel/global_subchannel_pool.h +18 -18
  78. data/src/core/ext/filters/client_channel/health/health_check_client.cc +1 -1
  79. data/src/core/ext/filters/client_channel/http_proxy.cc +39 -39
  80. data/src/core/ext/filters/client_channel/http_proxy.h +18 -18
  81. data/src/core/ext/filters/client_channel/lb_call_state_internal.h +39 -0
  82. data/src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h +17 -17
  83. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +2 -2
  84. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h +1 -2
  85. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +58 -130
  86. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h +37 -21
  87. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +102 -116
  88. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +24 -25
  89. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h +2 -4
  90. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc +17 -17
  91. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +18 -19
  92. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +18 -19
  93. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +18 -19
  94. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc +5 -5
  95. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +173 -196
  96. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +10 -19
  97. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +66 -97
  98. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +14 -13
  99. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +1 -1
  100. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +98 -84
  101. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +10 -8
  102. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +30 -16
  103. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +21 -35
  104. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +45 -39
  105. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +11 -23
  106. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +16 -49
  107. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +31 -21
  108. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc +651 -0
  109. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.h +60 -0
  110. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc +4 -4
  111. data/src/core/ext/filters/client_channel/local_subchannel_pool.h +18 -18
  112. data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +0 -1
  113. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +3 -3
  114. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +40 -41
  115. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +21 -21
  116. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +60 -59
  117. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +67 -66
  118. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +50 -51
  119. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc +18 -18
  120. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +18 -18
  121. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.h +18 -19
  122. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +1 -1
  123. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +1 -1
  124. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +0 -1
  125. data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +44 -33
  126. data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +8 -10
  127. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +59 -73
  128. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h +1 -1
  129. data/src/core/ext/filters/client_channel/retry_filter.cc +1 -1
  130. data/src/core/ext/filters/client_channel/retry_service_config.cc +1 -1
  131. data/src/core/ext/filters/client_channel/retry_throttle.cc +19 -21
  132. data/src/core/ext/filters/client_channel/retry_throttle.h +18 -18
  133. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +1 -1
  134. data/src/core/ext/filters/client_channel/subchannel.cc +139 -155
  135. data/src/core/ext/filters/client_channel/subchannel.h +15 -38
  136. data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +18 -18
  137. data/src/core/ext/filters/deadline/deadline_filter.cc +21 -3
  138. data/src/core/ext/filters/deadline/deadline_filter.h +1 -1
  139. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +2 -1
  140. data/src/core/ext/filters/http/client/http_client_filter.cc +20 -21
  141. data/src/core/ext/filters/http/client/http_client_filter.h +17 -17
  142. data/src/core/ext/filters/http/client_authority_filter.cc +18 -18
  143. data/src/core/ext/filters/http/client_authority_filter.h +18 -18
  144. data/src/core/ext/filters/http/http_filters_plugin.cc +35 -51
  145. data/src/core/ext/filters/http/message_compress/compression_filter.cc +315 -0
  146. data/src/core/ext/filters/http/message_compress/compression_filter.h +132 -0
  147. data/src/core/ext/filters/http/server/http_server_filter.cc +18 -18
  148. data/src/core/ext/filters/http/server/http_server_filter.h +18 -18
  149. data/src/core/ext/filters/message_size/message_size_filter.cc +6 -6
  150. data/src/core/ext/filters/message_size/message_size_filter.h +1 -1
  151. data/src/core/ext/filters/server_config_selector/server_config_selector.h +6 -8
  152. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +3 -4
  153. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +229 -0
  154. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +66 -0
  155. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc +82 -0
  156. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +93 -0
  157. data/src/core/ext/transport/chttp2/alpn/alpn.cc +18 -18
  158. data/src/core/ext/transport/chttp2/alpn/alpn.h +22 -22
  159. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +54 -44
  160. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +28 -22
  161. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +24 -25
  162. data/src/core/ext/transport/chttp2/server/chttp2_server.h +18 -18
  163. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +17 -17
  164. data/src/core/ext/transport/chttp2/transport/bin_decoder.h +30 -30
  165. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +29 -29
  166. data/src/core/ext/transport/chttp2/transport/bin_encoder.h +27 -27
  167. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +66 -35
  168. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +18 -19
  169. data/src/core/ext/transport/chttp2/transport/context_list.cc +19 -19
  170. data/src/core/ext/transport/chttp2/transport/context_list.h +25 -25
  171. data/src/core/ext/transport/chttp2/transport/decode_huff.cc +0 -36
  172. data/src/core/ext/transport/chttp2/transport/decode_huff.h +35 -82
  173. data/src/core/ext/transport/chttp2/transport/flow_control.cc +75 -38
  174. data/src/core/ext/transport/chttp2/transport/flow_control.h +56 -31
  175. data/src/core/ext/transport/chttp2/transport/frame.h +19 -19
  176. data/src/core/ext/transport/chttp2/transport/frame_data.cc +17 -17
  177. data/src/core/ext/transport/chttp2/transport/frame_data.h +22 -22
  178. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +23 -23
  179. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +18 -18
  180. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +21 -21
  181. data/src/core/ext/transport/chttp2/transport/frame_ping.h +19 -19
  182. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +18 -18
  183. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +18 -18
  184. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +19 -19
  185. data/src/core/ext/transport/chttp2/transport/frame_settings.h +20 -20
  186. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +17 -17
  187. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +18 -18
  188. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +129 -176
  189. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +39 -58
  190. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +69 -111
  191. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +20 -20
  192. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +19 -20
  193. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +18 -18
  194. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +21 -19
  195. data/src/core/ext/transport/chttp2/transport/http2_settings.h +36 -34
  196. data/src/core/ext/transport/chttp2/transport/http_trace.cc +19 -0
  197. data/src/core/ext/transport/chttp2/transport/http_trace.h +24 -0
  198. data/src/core/ext/transport/chttp2/transport/huffsyms.cc +20 -20
  199. data/src/core/ext/transport/chttp2/transport/huffsyms.h +19 -19
  200. data/src/core/ext/transport/chttp2/transport/internal.h +170 -163
  201. data/src/core/ext/transport/chttp2/transport/parsing.cc +96 -28
  202. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +19 -19
  203. data/src/core/ext/transport/chttp2/transport/stream_map.cc +23 -23
  204. data/src/core/ext/transport/chttp2/transport/stream_map.h +31 -31
  205. data/src/core/ext/transport/chttp2/transport/varint.cc +17 -17
  206. data/src/core/ext/transport/chttp2/transport/varint.h +24 -24
  207. data/src/core/ext/transport/chttp2/transport/writing.cc +45 -41
  208. data/src/core/ext/transport/inproc/inproc_plugin.cc +17 -17
  209. data/src/core/ext/transport/inproc/inproc_transport.cc +25 -25
  210. data/src/core/ext/transport/inproc/inproc_transport.h +19 -19
  211. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.c +62 -0
  212. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +179 -0
  213. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c +46 -0
  214. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +98 -0
  215. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.c +47 -0
  216. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.h +107 -0
  217. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +3 -2
  218. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +9 -0
  219. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.c +0 -1
  220. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.c +46 -0
  221. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.h +98 -0
  222. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.c +62 -0
  223. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.h +174 -0
  224. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.c +36 -0
  225. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.h +74 -0
  226. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.c +65 -0
  227. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.h +191 -0
  228. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.c +127 -0
  229. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.h +474 -0
  230. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.c +67 -0
  231. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.h +214 -0
  232. data/src/core/ext/upb-generated/xds/type/v3/range.upb.c +64 -0
  233. data/src/core/ext/upb-generated/xds/type/v3/range.upb.h +208 -0
  234. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +0 -1
  235. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c +60 -0
  236. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +40 -0
  237. data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c +50 -0
  238. data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +35 -0
  239. data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.c +45 -0
  240. data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.h +35 -0
  241. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.c +43 -0
  242. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.h +35 -0
  243. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.c +51 -0
  244. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.h +40 -0
  245. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.c +36 -0
  246. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.h +35 -0
  247. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.c +55 -0
  248. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.h +40 -0
  249. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.c +9 -9
  250. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.c +71 -0
  251. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.h +60 -0
  252. data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.c +60 -0
  253. data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.h +40 -0
  254. data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.c +36 -0
  255. data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.h +45 -0
  256. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +4 -7
  257. data/src/core/ext/xds/xds_api.cc +5 -27
  258. data/src/core/ext/xds/xds_api.h +2 -1
  259. data/src/core/ext/xds/xds_certificate_provider.h +1 -1
  260. data/src/core/ext/xds/xds_channel_args.h +1 -1
  261. data/src/core/ext/xds/xds_channel_stack_modifier.h +2 -2
  262. data/src/core/ext/xds/xds_client.cc +14 -6
  263. data/src/core/ext/xds/xds_client.h +6 -3
  264. data/src/core/ext/xds/xds_client_grpc.cc +26 -0
  265. data/src/core/ext/xds/xds_client_grpc.h +1 -1
  266. data/src/core/ext/xds/xds_client_stats.cc +17 -17
  267. data/src/core/ext/xds/xds_client_stats.h +18 -18
  268. data/src/core/ext/xds/xds_cluster.cc +94 -46
  269. data/src/core/ext/xds/xds_cluster.h +44 -23
  270. data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +30 -50
  271. data/src/core/ext/xds/xds_cluster_specifier_plugin.h +14 -9
  272. data/src/core/ext/xds/xds_common_types.cc +4 -3
  273. data/src/core/ext/xds/xds_endpoint.cc +8 -2
  274. data/src/core/ext/xds/xds_health_status.cc +80 -0
  275. data/src/core/ext/xds/xds_health_status.h +82 -0
  276. data/src/core/ext/xds/xds_http_fault_filter.cc +7 -6
  277. data/src/core/ext/xds/xds_http_fault_filter.h +3 -3
  278. data/src/core/ext/xds/xds_http_filters.cc +11 -6
  279. data/src/core/ext/xds/xds_http_filters.h +5 -5
  280. data/src/core/ext/xds/xds_http_rbac_filter.cc +7 -6
  281. data/src/core/ext/xds/xds_http_rbac_filter.h +3 -3
  282. data/src/core/ext/xds/xds_http_stateful_session_filter.cc +218 -0
  283. data/src/core/ext/xds/xds_http_stateful_session_filter.h +58 -0
  284. data/src/core/ext/xds/xds_lb_policy_registry.cc +0 -4
  285. data/src/core/ext/xds/xds_listener.cc +14 -28
  286. data/src/core/ext/xds/xds_listener.h +2 -0
  287. data/src/core/ext/xds/xds_resource_type_impl.h +8 -6
  288. data/src/core/ext/xds/xds_route_config.cc +501 -529
  289. data/src/core/ext/xds/xds_route_config.h +29 -18
  290. data/src/core/ext/xds/xds_server_config_fetcher.cc +12 -24
  291. data/src/core/ext/xds/xds_transport_grpc.cc +2 -2
  292. data/src/core/ext/xds/xds_transport_grpc.h +1 -1
  293. data/src/core/lib/address_utils/parse_address.cc +19 -19
  294. data/src/core/lib/address_utils/parse_address.h +32 -32
  295. data/src/core/lib/address_utils/sockaddr_utils.cc +29 -28
  296. data/src/core/lib/address_utils/sockaddr_utils.h +33 -33
  297. data/src/core/lib/avl/avl.h +4 -4
  298. data/src/core/lib/backoff/backoff.cc +17 -17
  299. data/src/core/lib/backoff/backoff.h +18 -18
  300. data/src/core/lib/channel/call_tracer.h +10 -1
  301. data/src/core/lib/channel/channel_args.cc +19 -20
  302. data/src/core/lib/channel/channel_args.h +43 -42
  303. data/src/core/lib/channel/channel_args_preconditioning.h +1 -1
  304. data/src/core/lib/channel/channel_stack.cc +39 -38
  305. data/src/core/lib/channel/channel_stack.h +127 -127
  306. data/src/core/lib/channel/channel_stack_builder.cc +17 -17
  307. data/src/core/lib/channel/channel_stack_builder_impl.cc +18 -18
  308. data/src/core/lib/channel/channel_trace.cc +17 -17
  309. data/src/core/lib/channel/channel_trace.h +19 -19
  310. data/src/core/lib/channel/channelz.cc +17 -18
  311. data/src/core/lib/channel/channelz.h +26 -26
  312. data/src/core/lib/channel/channelz_registry.cc +17 -17
  313. data/src/core/lib/channel/channelz_registry.h +18 -18
  314. data/src/core/lib/channel/connected_channel.cc +43 -34
  315. data/src/core/lib/channel/connected_channel.h +18 -18
  316. data/src/core/lib/channel/context.h +18 -18
  317. data/src/core/lib/channel/promise_based_filter.cc +191 -68
  318. data/src/core/lib/channel/promise_based_filter.h +10 -1
  319. data/src/core/lib/channel/status_util.cc +35 -17
  320. data/src/core/lib/channel/status_util.h +26 -19
  321. data/src/core/lib/compression/compression.cc +19 -19
  322. data/src/core/lib/compression/compression_internal.cc +41 -48
  323. data/src/core/lib/compression/compression_internal.h +22 -22
  324. data/src/core/lib/compression/message_compress.cc +21 -21
  325. data/src/core/lib/compression/message_compress.h +25 -25
  326. data/src/core/lib/config/core_configuration.h +1 -1
  327. data/src/core/lib/debug/stats.cc +17 -17
  328. data/src/core/lib/debug/stats.h +17 -17
  329. data/src/core/lib/debug/trace.cc +18 -18
  330. data/src/core/lib/debug/trace.h +19 -19
  331. data/src/core/lib/event_engine/executor/executor.h +1 -1
  332. data/src/core/lib/event_engine/forkable.h +1 -1
  333. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +27 -31
  334. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +2 -2
  335. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +36 -37
  336. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +3 -3
  337. data/src/core/lib/event_engine/posix_engine/event_poller.h +3 -3
  338. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +2 -2
  339. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.h +2 -2
  340. data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +2 -2
  341. data/src/core/lib/event_engine/posix_engine/internal_errqueue.h +46 -46
  342. data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +10 -12
  343. data/src/core/lib/event_engine/posix_engine/lockfree_event.h +2 -2
  344. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +79 -41
  345. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +11 -9
  346. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +33 -40
  347. data/src/core/lib/event_engine/posix_engine/posix_engine.h +14 -14
  348. data/src/core/lib/event_engine/posix_engine/posix_engine_closure.h +2 -2
  349. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +236 -0
  350. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +228 -0
  351. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +380 -0
  352. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h +91 -0
  353. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +55 -283
  354. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +4 -49
  355. data/src/core/lib/event_engine/posix_engine/timer.cc +49 -49
  356. data/src/core/lib/event_engine/posix_engine/timer.h +87 -87
  357. data/src/core/lib/event_engine/posix_engine/timer_heap.cc +27 -27
  358. data/src/core/lib/event_engine/posix_engine/timer_heap.h +21 -21
  359. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +19 -20
  360. data/src/core/lib/event_engine/posix_engine/timer_manager.h +20 -20
  361. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +39 -8
  362. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.h +46 -40
  363. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc +8 -7
  364. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h +2 -2
  365. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +6 -7
  366. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.h +2 -2
  367. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h +28 -28
  368. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc +4 -4
  369. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h +3 -3
  370. data/src/core/lib/event_engine/socket_notifier.h +1 -1
  371. data/src/core/lib/event_engine/tcp_socket_utils.cc +373 -0
  372. data/src/core/lib/event_engine/tcp_socket_utils.h +85 -0
  373. data/src/core/lib/event_engine/thread_pool.cc +19 -18
  374. data/src/core/lib/event_engine/thread_pool.h +17 -17
  375. data/src/core/lib/event_engine/time_util.h +1 -1
  376. data/src/core/lib/event_engine/windows/iocp.cc +13 -12
  377. data/src/core/lib/event_engine/windows/iocp.h +1 -1
  378. data/src/core/lib/event_engine/windows/win_socket.cc +2 -2
  379. data/src/core/lib/event_engine/windows/windows_engine.cc +8 -8
  380. data/src/core/lib/event_engine/windows/windows_engine.h +1 -1
  381. data/src/core/lib/experiments/experiments.cc +5 -16
  382. data/src/core/lib/experiments/experiments.h +7 -12
  383. data/src/core/lib/gpr/alloc.cc +19 -17
  384. data/src/core/lib/gpr/alloc.h +18 -18
  385. data/src/core/lib/gpr/atm.cc +17 -17
  386. data/src/core/lib/gpr/cpu_iphone.cc +24 -24
  387. data/src/core/lib/gpr/cpu_linux.cc +22 -21
  388. data/src/core/lib/gpr/cpu_posix.cc +23 -22
  389. data/src/core/lib/gpr/cpu_windows.cc +20 -18
  390. data/src/core/lib/gpr/log.cc +27 -19
  391. data/src/core/lib/gpr/log_android.cc +22 -20
  392. data/src/core/lib/gpr/log_linux.cc +21 -20
  393. data/src/core/lib/gpr/log_posix.cc +20 -19
  394. data/src/core/lib/gpr/log_windows.cc +25 -24
  395. data/src/core/lib/gpr/spinlock.h +18 -18
  396. data/src/core/lib/gpr/string.cc +25 -24
  397. data/src/core/lib/gpr/string.h +57 -57
  398. data/src/core/lib/gpr/string_posix.cc +24 -24
  399. data/src/core/lib/gpr/string_util_windows.cc +22 -22
  400. data/src/core/lib/gpr/string_windows.cc +24 -24
  401. data/src/core/lib/gpr/sync.cc +25 -25
  402. data/src/core/lib/gpr/sync_abseil.cc +22 -20
  403. data/src/core/lib/gpr/sync_posix.cc +23 -21
  404. data/src/core/lib/gpr/sync_windows.cc +29 -27
  405. data/src/core/lib/gpr/time.cc +23 -21
  406. data/src/core/lib/gpr/time_posix.cc +35 -30
  407. data/src/core/lib/gpr/time_precise.cc +22 -22
  408. data/src/core/lib/gpr/time_precise.h +18 -19
  409. data/src/core/lib/gpr/time_windows.cc +25 -22
  410. data/src/core/lib/gpr/tmpfile.h +22 -22
  411. data/src/core/lib/gpr/tmpfile_msys.cc +21 -20
  412. data/src/core/lib/gpr/tmpfile_posix.cc +19 -18
  413. data/src/core/lib/gpr/tmpfile_windows.cc +23 -22
  414. data/src/core/lib/gpr/useful.h +40 -27
  415. data/src/core/lib/gpr/wrap_memcpy.cc +23 -23
  416. data/src/core/lib/gprpp/atomic_utils.h +18 -18
  417. data/src/core/lib/gprpp/bitset.h +24 -0
  418. data/src/core/{ext/filters/http/message_compress/message_decompress_filter.h → lib/gprpp/crash.cc} +15 -14
  419. data/src/core/lib/gprpp/crash.h +34 -0
  420. data/src/core/lib/gprpp/debug_location.h +18 -18
  421. data/src/core/lib/gprpp/dual_ref_counted.h +1 -1
  422. data/src/core/lib/gprpp/env.h +20 -20
  423. data/src/core/lib/gprpp/env_linux.cc +21 -21
  424. data/src/core/lib/gprpp/env_posix.cc +18 -18
  425. data/src/core/lib/gprpp/env_windows.cc +18 -18
  426. data/src/core/lib/gprpp/examine_stack.cc +17 -17
  427. data/src/core/lib/gprpp/examine_stack.h +18 -18
  428. data/src/core/lib/gprpp/fork.cc +21 -22
  429. data/src/core/lib/gprpp/fork.h +22 -22
  430. data/src/core/lib/gprpp/global_config.h +18 -18
  431. data/src/core/lib/gprpp/global_config_custom.h +18 -18
  432. data/src/core/lib/gprpp/global_config_env.cc +17 -17
  433. data/src/core/lib/gprpp/global_config_env.h +23 -23
  434. data/src/core/lib/gprpp/global_config_generic.h +18 -18
  435. data/src/core/lib/gprpp/host_port.cc +26 -26
  436. data/src/core/lib/gprpp/host_port.h +29 -28
  437. data/src/core/lib/gprpp/manual_constructor.h +18 -17
  438. data/src/core/lib/gprpp/memory.h +18 -18
  439. data/src/core/lib/gprpp/mpscq.cc +17 -17
  440. data/src/core/lib/gprpp/mpscq.h +18 -18
  441. data/src/core/lib/gprpp/no_destruct.h +1 -0
  442. data/src/core/lib/gprpp/orphanable.h +18 -18
  443. data/src/core/lib/gprpp/ref_counted.h +18 -18
  444. data/src/core/lib/gprpp/ref_counted_ptr.h +19 -18
  445. data/src/core/lib/gprpp/stat_windows.cc +1 -0
  446. data/src/core/lib/gprpp/status_helper.cc +4 -3
  447. data/src/core/lib/gprpp/sync.h +20 -20
  448. data/src/core/lib/gprpp/table.h +1 -0
  449. data/src/core/lib/gprpp/thd.h +19 -19
  450. data/src/core/lib/gprpp/thd_posix.cc +30 -31
  451. data/src/core/lib/gprpp/thd_windows.cc +25 -24
  452. data/src/core/lib/gprpp/time.cc +13 -7
  453. data/src/core/lib/gprpp/time.h +0 -1
  454. data/src/core/lib/gprpp/time_averaged_stats.cc +20 -20
  455. data/src/core/lib/gprpp/time_averaged_stats.h +48 -48
  456. data/src/core/lib/gprpp/time_util.h +1 -1
  457. data/src/core/lib/gprpp/unique_type_name.h +18 -18
  458. data/src/core/lib/handshaker/proxy_mapper.h +18 -18
  459. data/src/core/lib/handshaker/proxy_mapper_registry.cc +17 -17
  460. data/src/core/lib/handshaker/proxy_mapper_registry.h +18 -18
  461. data/src/core/lib/http/format_request.cc +18 -18
  462. data/src/core/lib/http/format_request.h +18 -18
  463. data/src/core/lib/http/httpcli.cc +17 -17
  464. data/src/core/lib/http/httpcli.h +20 -21
  465. data/src/core/lib/http/httpcli_security_connector.cc +18 -19
  466. data/src/core/lib/http/parser.cc +22 -22
  467. data/src/core/lib/http/parser.h +32 -32
  468. data/src/core/lib/iomgr/block_annotate.h +21 -21
  469. data/src/core/lib/iomgr/buffer_list.cc +52 -21
  470. data/src/core/lib/iomgr/buffer_list.h +63 -57
  471. data/src/core/lib/iomgr/call_combiner.cc +18 -17
  472. data/src/core/lib/iomgr/call_combiner.h +18 -18
  473. data/src/core/lib/iomgr/cfstream_handle.cc +20 -20
  474. data/src/core/lib/iomgr/cfstream_handle.h +22 -22
  475. data/src/core/lib/iomgr/closure.h +42 -41
  476. data/src/core/lib/iomgr/combiner.cc +18 -17
  477. data/src/core/lib/iomgr/combiner.h +18 -18
  478. data/src/core/lib/iomgr/dualstack_socket_posix.cc +21 -21
  479. data/src/core/lib/iomgr/dynamic_annotations.h +20 -20
  480. data/src/core/lib/iomgr/endpoint.cc +17 -17
  481. data/src/core/lib/iomgr/endpoint.h +46 -46
  482. data/src/core/lib/iomgr/endpoint_cfstream.cc +18 -18
  483. data/src/core/lib/iomgr/endpoint_cfstream.h +27 -27
  484. data/src/core/lib/iomgr/endpoint_pair.h +18 -18
  485. data/src/core/lib/iomgr/endpoint_pair_posix.cc +18 -17
  486. data/src/core/lib/iomgr/endpoint_pair_windows.cc +18 -17
  487. data/src/core/lib/iomgr/error.cc +22 -19
  488. data/src/core/lib/iomgr/error.h +20 -21
  489. data/src/core/lib/iomgr/error_cfstream.cc +18 -18
  490. data/src/core/lib/iomgr/error_cfstream.h +19 -19
  491. data/src/core/lib/iomgr/ev_apple.cc +17 -17
  492. data/src/core/lib/iomgr/ev_apple.h +17 -17
  493. data/src/core/lib/iomgr/ev_epoll1_linux.cc +182 -170
  494. data/src/core/lib/iomgr/ev_epoll1_linux.h +18 -18
  495. data/src/core/lib/iomgr/ev_poll_posix.cc +185 -174
  496. data/src/core/lib/iomgr/ev_poll_posix.h +18 -18
  497. data/src/core/lib/iomgr/ev_posix.cc +36 -28
  498. data/src/core/lib/iomgr/ev_posix.h +85 -81
  499. data/src/core/lib/iomgr/ev_windows.cc +18 -18
  500. data/src/core/lib/iomgr/exec_ctx.cc +31 -30
  501. data/src/core/lib/iomgr/exec_ctx.h +139 -138
  502. data/src/core/lib/iomgr/executor.cc +20 -19
  503. data/src/core/lib/iomgr/executor.h +24 -24
  504. data/src/core/lib/iomgr/fork_posix.cc +24 -22
  505. data/src/core/lib/iomgr/fork_windows.cc +21 -21
  506. data/src/core/lib/iomgr/gethostname.h +18 -18
  507. data/src/core/lib/iomgr/gethostname_fallback.cc +17 -17
  508. data/src/core/lib/iomgr/gethostname_host_name_max.cc +17 -17
  509. data/src/core/lib/iomgr/gethostname_sysconf.cc +17 -17
  510. data/src/core/lib/iomgr/grpc_if_nametoindex.h +20 -20
  511. data/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc +20 -19
  512. data/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc +20 -19
  513. data/src/core/lib/iomgr/internal_errqueue.cc +1 -1
  514. data/src/core/lib/iomgr/internal_errqueue.h +80 -80
  515. data/src/core/lib/iomgr/iocp_windows.cc +21 -21
  516. data/src/core/lib/iomgr/iocp_windows.h +18 -18
  517. data/src/core/lib/iomgr/iomgr.cc +19 -18
  518. data/src/core/lib/iomgr/iomgr.h +32 -32
  519. data/src/core/lib/iomgr/iomgr_internal.cc +17 -17
  520. data/src/core/lib/iomgr/iomgr_internal.h +25 -25
  521. data/src/core/lib/iomgr/iomgr_posix.cc +18 -18
  522. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +18 -18
  523. data/src/core/lib/iomgr/iomgr_windows.cc +22 -21
  524. data/src/core/lib/iomgr/load_file.cc +19 -18
  525. data/src/core/lib/iomgr/load_file.h +20 -20
  526. data/src/core/lib/iomgr/lockfree_event.cc +104 -104
  527. data/src/core/lib/iomgr/lockfree_event.h +19 -19
  528. data/src/core/lib/iomgr/nameser.h +84 -84
  529. data/src/core/lib/iomgr/polling_entity.cc +25 -21
  530. data/src/core/lib/iomgr/polling_entity.h +27 -27
  531. data/src/core/lib/iomgr/pollset.cc +17 -17
  532. data/src/core/lib/iomgr/pollset.h +51 -51
  533. data/src/core/lib/iomgr/pollset_set.cc +17 -17
  534. data/src/core/lib/iomgr/pollset_set.h +22 -22
  535. data/src/core/lib/iomgr/pollset_set_windows.cc +18 -18
  536. data/src/core/lib/iomgr/pollset_set_windows.h +18 -18
  537. data/src/core/lib/iomgr/pollset_windows.cc +26 -25
  538. data/src/core/lib/iomgr/pollset_windows.h +22 -22
  539. data/src/core/lib/iomgr/port.h +29 -29
  540. data/src/core/lib/iomgr/python_util.h +18 -18
  541. data/src/core/lib/iomgr/resolve_address.cc +18 -17
  542. data/src/core/lib/iomgr/resolve_address.h +18 -18
  543. data/src/core/lib/iomgr/resolve_address_impl.h +1 -1
  544. data/src/core/lib/iomgr/resolve_address_posix.cc +21 -20
  545. data/src/core/lib/iomgr/resolve_address_windows.cc +4 -3
  546. data/src/core/lib/iomgr/resolved_address.h +1 -1
  547. data/src/core/lib/iomgr/sockaddr.h +21 -21
  548. data/src/core/lib/iomgr/sockaddr_posix.h +18 -18
  549. data/src/core/lib/iomgr/sockaddr_utils_posix.cc +18 -17
  550. data/src/core/lib/iomgr/sockaddr_windows.h +18 -18
  551. data/src/core/lib/iomgr/socket_factory_posix.cc +18 -18
  552. data/src/core/lib/iomgr/socket_factory_posix.h +30 -30
  553. data/src/core/lib/iomgr/socket_mutator.cc +19 -18
  554. data/src/core/lib/iomgr/socket_mutator.h +37 -37
  555. data/src/core/lib/iomgr/socket_utils.h +24 -24
  556. data/src/core/lib/iomgr/socket_utils_common_posix.cc +38 -37
  557. data/src/core/lib/iomgr/socket_utils_linux.cc +18 -17
  558. data/src/core/lib/iomgr/socket_utils_posix.cc +21 -20
  559. data/src/core/lib/iomgr/socket_utils_posix.h +76 -76
  560. data/src/core/lib/iomgr/socket_utils_windows.cc +20 -19
  561. data/src/core/lib/iomgr/socket_windows.cc +35 -34
  562. data/src/core/lib/iomgr/socket_windows.h +56 -56
  563. data/src/core/lib/iomgr/systemd_utils.cc +116 -0
  564. data/src/core/lib/iomgr/systemd_utils.h +33 -0
  565. data/src/core/lib/iomgr/tcp_client.cc +17 -17
  566. data/src/core/lib/iomgr/tcp_client.h +26 -26
  567. data/src/core/lib/iomgr/tcp_client_cfstream.cc +19 -18
  568. data/src/core/lib/iomgr/tcp_client_posix.cc +39 -38
  569. data/src/core/lib/iomgr/tcp_client_posix.h +43 -43
  570. data/src/core/lib/iomgr/tcp_client_windows.cc +28 -27
  571. data/src/core/lib/iomgr/tcp_posix.cc +136 -134
  572. data/src/core/lib/iomgr/tcp_posix.h +27 -27
  573. data/src/core/lib/iomgr/tcp_server.cc +30 -22
  574. data/src/core/lib/iomgr/tcp_server.h +68 -62
  575. data/src/core/lib/iomgr/tcp_server_posix.cc +91 -61
  576. data/src/core/lib/iomgr/tcp_server_utils_posix.h +54 -51
  577. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +72 -34
  578. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +28 -27
  579. data/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc +18 -18
  580. data/src/core/lib/iomgr/tcp_server_windows.cc +71 -75
  581. data/src/core/lib/iomgr/tcp_windows.cc +83 -60
  582. data/src/core/lib/iomgr/tcp_windows.h +29 -29
  583. data/src/core/lib/iomgr/timer.cc +17 -17
  584. data/src/core/lib/iomgr/timer.h +65 -65
  585. data/src/core/lib/iomgr/timer_generic.cc +106 -107
  586. data/src/core/lib/iomgr/timer_generic.h +19 -19
  587. data/src/core/lib/iomgr/timer_heap.cc +25 -25
  588. data/src/core/lib/iomgr/timer_heap.h +19 -19
  589. data/src/core/lib/iomgr/timer_manager.cc +30 -29
  590. data/src/core/lib/iomgr/timer_manager.h +25 -25
  591. data/src/core/lib/iomgr/unix_sockets_posix.cc +18 -17
  592. data/src/core/lib/iomgr/unix_sockets_posix.h +18 -18
  593. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +19 -17
  594. data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +19 -18
  595. data/src/core/lib/iomgr/wakeup_fd_nospecial.cc +23 -23
  596. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +19 -18
  597. data/src/core/lib/iomgr/wakeup_fd_pipe.h +18 -18
  598. data/src/core/lib/iomgr/wakeup_fd_posix.cc +18 -18
  599. data/src/core/lib/iomgr/wakeup_fd_posix.h +50 -50
  600. data/src/core/lib/json/json_object_loader.cc +10 -0
  601. data/src/core/lib/json/json_object_loader.h +15 -1
  602. data/src/core/lib/json/json_reader.cc +28 -28
  603. data/src/core/lib/json/json_writer.cc +56 -56
  604. data/src/core/lib/load_balancing/lb_policy.cc +17 -17
  605. data/src/core/lib/load_balancing/lb_policy.h +3 -4
  606. data/src/core/lib/load_balancing/subchannel_interface.h +1 -1
  607. data/src/core/lib/matchers/matchers.cc +3 -1
  608. data/src/core/lib/matchers/matchers.h +1 -1
  609. data/src/core/lib/promise/activity.h +20 -12
  610. data/src/core/lib/promise/arena_promise.h +2 -1
  611. data/src/core/lib/promise/context.h +1 -0
  612. data/src/core/lib/promise/detail/promise_factory.h +1 -0
  613. data/src/core/lib/promise/detail/switch.h +18 -18
  614. data/src/core/lib/promise/exec_ctx_wakeup_scheduler.h +18 -12
  615. data/src/core/lib/promise/for_each.h +68 -42
  616. data/src/core/lib/promise/latch.h +13 -19
  617. data/src/core/lib/promise/map.h +1 -0
  618. data/src/core/lib/promise/map_pipe.h +1 -0
  619. data/src/core/lib/promise/poll.h +6 -0
  620. data/src/core/lib/promise/seq.h +1 -0
  621. data/src/core/lib/promise/try_concurrently.h +1 -0
  622. data/src/core/lib/promise/try_seq.h +1 -0
  623. data/src/core/lib/resolver/resolver.cc +17 -17
  624. data/src/core/lib/resolver/server_address.cc +17 -17
  625. data/src/core/lib/resolver/server_address.h +18 -18
  626. data/src/core/lib/resource_quota/api.h +1 -1
  627. data/src/core/lib/resource_quota/arena.cc +17 -17
  628. data/src/core/lib/resource_quota/arena.h +18 -18
  629. data/src/core/lib/resource_quota/memory_quota.cc +139 -43
  630. data/src/core/lib/resource_quota/memory_quota.h +85 -23
  631. data/src/core/lib/resource_quota/resource_quota.h +1 -1
  632. data/src/core/lib/security/authorization/authorization_policy_provider.h +1 -1
  633. data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +0 -1
  634. data/src/core/lib/security/authorization/rbac_policy.h +1 -1
  635. data/src/core/lib/security/context/security_context.cc +22 -23
  636. data/src/core/lib/security/context/security_context.h +30 -30
  637. data/src/core/lib/security/credentials/alts/alts_credentials.cc +17 -17
  638. data/src/core/lib/security/credentials/alts/alts_credentials.h +50 -50
  639. data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +19 -19
  640. data/src/core/lib/security/credentials/alts/check_gcp_environment.h +41 -41
  641. data/src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc +17 -17
  642. data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +18 -17
  643. data/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc +18 -17
  644. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc +19 -19
  645. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc +18 -18
  646. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.h +36 -37
  647. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc +18 -18
  648. data/src/core/lib/security/credentials/call_creds_util.h +1 -1
  649. data/src/core/lib/security/credentials/composite/composite_credentials.cc +21 -21
  650. data/src/core/lib/security/credentials/composite/composite_credentials.h +20 -21
  651. data/src/core/lib/security/credentials/credentials.cc +19 -18
  652. data/src/core/lib/security/credentials/credentials.h +34 -33
  653. data/src/core/lib/security/credentials/fake/fake_credentials.cc +19 -19
  654. data/src/core/lib/security/credentials/fake/fake_credentials.h +34 -35
  655. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +17 -17
  656. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +48 -49
  657. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +18 -19
  658. data/src/core/lib/security/credentials/iam/iam_credentials.cc +17 -17
  659. data/src/core/lib/security/credentials/iam/iam_credentials.h +18 -18
  660. data/src/core/lib/security/credentials/jwt/json_token.cc +23 -23
  661. data/src/core/lib/security/credentials/jwt/json_token.h +32 -32
  662. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +17 -17
  663. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +18 -19
  664. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +70 -70
  665. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +43 -43
  666. data/src/core/lib/security/credentials/local/local_credentials.cc +17 -17
  667. data/src/core/lib/security/credentials/local/local_credentials.h +20 -20
  668. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +28 -29
  669. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +19 -19
  670. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +18 -18
  671. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +19 -19
  672. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +19 -20
  673. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +18 -18
  674. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +1 -1
  675. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +1 -2
  676. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +18 -18
  677. data/src/core/lib/security/credentials/tls/tls_credentials.cc +18 -19
  678. data/src/core/lib/security/credentials/tls/tls_credentials.h +18 -18
  679. data/src/core/lib/security/credentials/xds/xds_credentials.cc +1 -2
  680. data/src/core/lib/security/credentials/xds/xds_credentials.h +1 -1
  681. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +26 -27
  682. data/src/core/lib/security/security_connector/alts/alts_security_connector.h +41 -42
  683. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +24 -26
  684. data/src/core/lib/security/security_connector/fake/fake_security_connector.h +20 -21
  685. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +1 -2
  686. data/src/core/lib/security/security_connector/load_system_roots.h +18 -18
  687. data/src/core/lib/security/security_connector/load_system_roots_fallback.cc +18 -18
  688. data/src/core/lib/security/security_connector/load_system_roots_supported.cc +18 -18
  689. data/src/core/lib/security/security_connector/load_system_roots_supported.h +19 -20
  690. data/src/core/lib/security/security_connector/local/local_security_connector.cc +23 -23
  691. data/src/core/lib/security/security_connector/local/local_security_connector.h +40 -41
  692. data/src/core/lib/security/security_connector/security_connector.cc +17 -17
  693. data/src/core/lib/security/security_connector/security_connector.h +32 -33
  694. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +25 -25
  695. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +38 -39
  696. data/src/core/lib/security/security_connector/ssl_utils.cc +32 -32
  697. data/src/core/lib/security/security_connector/ssl_utils.h +31 -31
  698. data/src/core/lib/security/security_connector/ssl_utils_config.cc +22 -22
  699. data/src/core/lib/security/security_connector/ssl_utils_config.h +18 -19
  700. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +21 -21
  701. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +17 -17
  702. data/src/core/lib/security/transport/auth_filters.h +18 -18
  703. data/src/core/lib/security/transport/client_auth_filter.cc +20 -20
  704. data/src/core/lib/security/transport/secure_endpoint.cc +28 -28
  705. data/src/core/lib/security/transport/secure_endpoint.h +22 -22
  706. data/src/core/lib/security/transport/security_handshaker.cc +17 -17
  707. data/src/core/lib/security/transport/security_handshaker.h +19 -19
  708. data/src/core/lib/security/transport/server_auth_filter.cc +22 -23
  709. data/src/core/lib/security/transport/tsi_error.cc +17 -17
  710. data/src/core/lib/security/transport/tsi_error.h +18 -18
  711. data/src/core/lib/security/util/json_util.cc +17 -17
  712. data/src/core/lib/security/util/json_util.h +18 -18
  713. data/src/core/lib/service_config/service_config.h +1 -1
  714. data/src/core/lib/service_config/service_config_call_data.h +7 -1
  715. data/src/core/lib/slice/b64.cc +24 -24
  716. data/src/core/lib/slice/b64.h +29 -29
  717. data/src/core/lib/slice/percent_encoding.cc +17 -17
  718. data/src/core/lib/slice/percent_encoding.h +24 -24
  719. data/src/core/lib/slice/slice.cc +37 -37
  720. data/src/core/lib/slice/slice.h +38 -5
  721. data/src/core/lib/slice/slice_buffer.cc +50 -45
  722. data/src/core/lib/slice/slice_buffer.h +27 -2
  723. data/src/core/lib/slice/slice_internal.h +18 -18
  724. data/src/core/lib/slice/slice_string_helpers.cc +17 -17
  725. data/src/core/lib/slice/slice_string_helpers.h +19 -19
  726. data/src/core/lib/surface/api_trace.cc +17 -17
  727. data/src/core/lib/surface/api_trace.h +22 -22
  728. data/src/core/lib/surface/byte_buffer.cc +19 -19
  729. data/src/core/lib/surface/byte_buffer_reader.cc +19 -19
  730. data/src/core/lib/surface/call.cc +163 -104
  731. data/src/core/lib/surface/call.h +42 -39
  732. data/src/core/lib/surface/call_details.cc +17 -18
  733. data/src/core/lib/surface/call_log_batch.cc +18 -18
  734. data/src/core/lib/surface/call_test_only.h +30 -30
  735. data/src/core/lib/surface/call_trace.cc +5 -5
  736. data/src/core/lib/surface/channel.cc +18 -18
  737. data/src/core/lib/surface/channel.h +31 -31
  738. data/src/core/lib/surface/channel_init.cc +17 -17
  739. data/src/core/lib/surface/channel_init.h +18 -18
  740. data/src/core/lib/surface/channel_ping.cc +18 -18
  741. data/src/core/lib/surface/channel_stack_type.cc +17 -17
  742. data/src/core/lib/surface/channel_stack_type.h +18 -18
  743. data/src/core/lib/surface/completion_queue.cc +136 -140
  744. data/src/core/lib/surface/completion_queue.h +32 -32
  745. data/src/core/lib/surface/completion_queue_factory.cc +28 -28
  746. data/src/core/lib/surface/completion_queue_factory.h +20 -20
  747. data/src/core/lib/surface/event_string.cc +17 -17
  748. data/src/core/lib/surface/event_string.h +20 -20
  749. data/src/core/lib/surface/init.cc +21 -19
  750. data/src/core/lib/surface/init.h +18 -18
  751. data/src/core/lib/surface/init_internally.cc +1 -0
  752. data/src/core/lib/surface/init_internally.h +1 -0
  753. data/src/core/lib/surface/lame_client.cc +18 -18
  754. data/src/core/lib/surface/lame_client.h +19 -19
  755. data/src/core/lib/surface/metadata_array.cc +17 -18
  756. data/src/core/lib/surface/server.cc +15 -15
  757. data/src/core/lib/surface/server.h +2 -3
  758. data/src/core/lib/surface/validate_metadata.cc +17 -17
  759. data/src/core/lib/surface/validate_metadata.h +18 -18
  760. data/src/core/lib/surface/version.cc +21 -21
  761. data/src/core/lib/transport/bdp_estimator.cc +17 -17
  762. data/src/core/lib/transport/bdp_estimator.h +18 -19
  763. data/src/core/lib/transport/connectivity_state.cc +17 -17
  764. data/src/core/lib/transport/connectivity_state.h +19 -19
  765. data/src/core/lib/transport/error_utils.cc +17 -17
  766. data/src/core/lib/transport/error_utils.h +18 -18
  767. data/src/core/lib/transport/handshaker.cc +37 -34
  768. data/src/core/lib/transport/handshaker.h +42 -37
  769. data/src/core/lib/transport/handshaker_factory.h +18 -18
  770. data/src/core/lib/transport/handshaker_registry.cc +17 -17
  771. data/src/core/lib/transport/handshaker_registry.h +18 -18
  772. data/src/core/lib/transport/http2_errors.h +20 -20
  773. data/src/core/lib/transport/http_connect_handshaker.cc +17 -17
  774. data/src/core/lib/transport/http_connect_handshaker.h +18 -18
  775. data/src/core/lib/transport/metadata_batch.cc +4 -1
  776. data/src/core/lib/transport/metadata_batch.h +30 -20
  777. data/src/core/lib/transport/parsed_metadata.h +1 -0
  778. data/src/core/lib/transport/pid_controller.cc +20 -20
  779. data/src/core/lib/transport/pid_controller.h +24 -24
  780. data/src/core/lib/transport/status_conversion.cc +22 -22
  781. data/src/core/lib/transport/status_conversion.h +20 -20
  782. data/src/core/lib/transport/tcp_connect_handshaker.h +1 -1
  783. data/src/core/lib/transport/timeout_encoding.cc +22 -22
  784. data/src/core/lib/transport/timeout_encoding.h +18 -18
  785. data/src/core/lib/transport/transport.cc +25 -24
  786. data/src/core/lib/transport/transport.h +134 -132
  787. data/src/core/lib/transport/transport_impl.h +41 -41
  788. data/src/core/lib/transport/transport_op_string.cc +19 -19
  789. data/src/core/plugin_registry/grpc_plugin_registry.cc +21 -19
  790. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +5 -0
  791. data/src/core/tsi/alts/crypt/aes_gcm.cc +20 -20
  792. data/src/core/tsi/alts/crypt/gsec.cc +26 -26
  793. data/src/core/tsi/alts/crypt/gsec.h +334 -334
  794. data/src/core/tsi/alts/frame_protector/alts_counter.cc +23 -23
  795. data/src/core/tsi/alts/frame_protector/alts_counter.h +66 -66
  796. data/src/core/tsi/alts/frame_protector/alts_crypter.cc +19 -19
  797. data/src/core/tsi/alts/frame_protector/alts_crypter.h +206 -206
  798. data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +72 -71
  799. data/src/core/tsi/alts/frame_protector/alts_frame_protector.h +38 -38
  800. data/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.cc +18 -18
  801. data/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.h +80 -81
  802. data/src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc +22 -22
  803. data/src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc +22 -22
  804. data/src/core/tsi/alts/frame_protector/frame_handler.cc +26 -25
  805. data/src/core/tsi/alts/frame_protector/frame_handler.h +166 -166
  806. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +68 -67
  807. data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +99 -99
  808. data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +18 -17
  809. data/src/core/tsi/alts/handshaker/alts_shared_resource.h +41 -42
  810. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +29 -28
  811. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +58 -58
  812. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h +20 -20
  813. data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +19 -19
  814. data/src/core/tsi/alts/handshaker/alts_tsi_utils.h +36 -36
  815. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +19 -19
  816. data/src/core/tsi/alts/handshaker/transport_security_common_api.h +102 -101
  817. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +38 -37
  818. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.h +38 -39
  819. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc +31 -30
  820. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.h +33 -34
  821. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol.h +65 -66
  822. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +31 -30
  823. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.h +53 -54
  824. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc +54 -53
  825. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.h +138 -139
  826. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +53 -52
  827. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.h +41 -42
  828. data/src/core/tsi/fake_transport_security.cc +77 -76
  829. data/src/core/tsi/fake_transport_security.h +30 -30
  830. data/src/core/tsi/local_transport_security.cc +34 -33
  831. data/src/core/tsi/local_transport_security.h +31 -31
  832. data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +1 -0
  833. data/src/core/tsi/ssl/session_cache/ssl_session.h +18 -18
  834. data/src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc +18 -18
  835. data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +18 -17
  836. data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +19 -19
  837. data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +19 -18
  838. data/src/core/tsi/ssl_transport_security.cc +139 -323
  839. data/src/core/tsi/ssl_transport_security.h +201 -200
  840. data/src/core/tsi/ssl_transport_security_utils.cc +250 -0
  841. data/src/core/tsi/ssl_transport_security_utils.h +147 -0
  842. data/src/core/tsi/ssl_types.h +25 -25
  843. data/src/core/tsi/transport_security.cc +26 -26
  844. data/src/core/tsi/transport_security.h +45 -45
  845. data/src/core/tsi/transport_security_grpc.cc +20 -20
  846. data/src/core/tsi/transport_security_grpc.h +39 -39
  847. data/src/core/tsi/transport_security_interface.h +330 -330
  848. data/src/ruby/ext/grpc/{ext-export-truffleruby.clang → ext-export-truffleruby-with-ruby-abi-version.clang} +0 -0
  849. data/src/ruby/ext/grpc/{ext-export-truffleruby.gcc → ext-export-truffleruby-with-ruby-abi-version.gcc} +0 -0
  850. data/src/ruby/ext/grpc/ext-export-with-ruby-abi-version.clang +2 -0
  851. data/src/ruby/ext/grpc/ext-export-with-ruby-abi-version.gcc +7 -0
  852. data/src/ruby/ext/grpc/ext-export.clang +0 -1
  853. data/src/ruby/ext/grpc/ext-export.gcc +1 -2
  854. data/src/ruby/ext/grpc/extconf.rb +47 -2
  855. data/src/ruby/ext/grpc/rb_call.c +1 -0
  856. data/src/ruby/ext/grpc/rb_channel.c +1 -0
  857. data/src/ruby/ext/grpc/rb_channel_args.c +1 -0
  858. data/src/ruby/ext/grpc/rb_compression_options.c +1 -1
  859. data/src/ruby/ext/grpc/rb_grpc.c +1 -0
  860. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +38 -36
  861. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +59 -56
  862. data/src/ruby/lib/grpc/generic/bidi_call.rb +2 -0
  863. data/src/ruby/lib/grpc/version.rb +1 -1
  864. data/src/ruby/spec/client_server_spec.rb +20 -8
  865. data/third_party/re2/re2/bitstate.cc +3 -3
  866. data/third_party/re2/re2/dfa.cc +13 -13
  867. data/third_party/re2/re2/nfa.cc +4 -4
  868. data/third_party/re2/re2/onepass.cc +2 -2
  869. data/third_party/re2/re2/prefilter_tree.cc +27 -59
  870. data/third_party/re2/re2/prefilter_tree.h +3 -2
  871. data/third_party/re2/re2/prog.cc +11 -2
  872. data/third_party/re2/re2/prog.h +17 -5
  873. data/third_party/re2/re2/re2.cc +6 -11
  874. data/third_party/re2/re2/re2.h +1 -1
  875. data/third_party/re2/re2/regexp.cc +1 -2
  876. data/third_party/re2/re2/stringpiece.h +10 -7
  877. data/third_party/re2/re2/unicode_casefold.cc +25 -11
  878. data/third_party/re2/re2/unicode_groups.cc +319 -151
  879. data/third_party/re2/re2/walker-inl.h +3 -2
  880. data/third_party/re2/util/mutex.h +4 -4
  881. metadata +95 -26
  882. data/include/grpc/impl/codegen/gpr_slice.h +0 -71
  883. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +0 -332
  884. data/src/core/ext/filters/http/message_compress/message_compress_filter.h +0 -52
  885. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +0 -322
  886. data/src/core/ext/filters/server_config_selector/server_config_selector.cc +0 -62
@@ -15,6 +15,7 @@ static const URange16 C_range16[] = {
15
15
  { 1564, 1564 },
16
16
  { 1757, 1757 },
17
17
  { 1807, 1807 },
18
+ { 2192, 2193 },
18
19
  { 2274, 2274 },
19
20
  { 6158, 6158 },
20
21
  { 8203, 8207 },
@@ -46,6 +47,7 @@ static const URange16 Cf_range16[] = {
46
47
  { 1564, 1564 },
47
48
  { 1757, 1757 },
48
49
  { 1807, 1807 },
50
+ { 2192, 2193 },
49
51
  { 2274, 2274 },
50
52
  { 6158, 6158 },
51
53
  { 8203, 8207 },
@@ -124,8 +126,9 @@ static const URange16 L_range16[] = {
124
126
  { 2088, 2088 },
125
127
  { 2112, 2136 },
126
128
  { 2144, 2154 },
127
- { 2208, 2228 },
128
- { 2230, 2247 },
129
+ { 2160, 2183 },
130
+ { 2185, 2190 },
131
+ { 2208, 2249 },
129
132
  { 2308, 2361 },
130
133
  { 2365, 2365 },
131
134
  { 2384, 2384 },
@@ -190,6 +193,7 @@ static const URange16 L_range16[] = {
190
193
  { 3114, 3129 },
191
194
  { 3133, 3133 },
192
195
  { 3160, 3162 },
196
+ { 3165, 3165 },
193
197
  { 3168, 3169 },
194
198
  { 3200, 3200 },
195
199
  { 3205, 3212 },
@@ -198,7 +202,7 @@ static const URange16 L_range16[] = {
198
202
  { 3242, 3251 },
199
203
  { 3253, 3257 },
200
204
  { 3261, 3261 },
201
- { 3294, 3294 },
205
+ { 3293, 3294 },
202
206
  { 3296, 3297 },
203
207
  { 3313, 3314 },
204
208
  { 3332, 3340 },
@@ -269,9 +273,8 @@ static const URange16 L_range16[] = {
269
273
  { 5761, 5786 },
270
274
  { 5792, 5866 },
271
275
  { 5873, 5880 },
272
- { 5888, 5900 },
273
- { 5902, 5905 },
274
- { 5920, 5937 },
276
+ { 5888, 5905 },
277
+ { 5919, 5937 },
275
278
  { 5952, 5969 },
276
279
  { 5984, 5996 },
277
280
  { 5998, 6000 },
@@ -292,7 +295,7 @@ static const URange16 L_range16[] = {
292
295
  { 6688, 6740 },
293
296
  { 6823, 6823 },
294
297
  { 6917, 6963 },
295
- { 6981, 6987 },
298
+ { 6981, 6988 },
296
299
  { 7043, 7072 },
297
300
  { 7086, 7087 },
298
301
  { 7098, 7141 },
@@ -343,9 +346,7 @@ static const URange16 L_range16[] = {
343
346
  { 8517, 8521 },
344
347
  { 8526, 8526 },
345
348
  { 8579, 8580 },
346
- { 11264, 11310 },
347
- { 11312, 11358 },
348
- { 11360, 11492 },
349
+ { 11264, 11492 },
349
350
  { 11499, 11502 },
350
351
  { 11506, 11507 },
351
352
  { 11520, 11557 },
@@ -375,8 +376,7 @@ static const URange16 L_range16[] = {
375
376
  { 12704, 12735 },
376
377
  { 12784, 12799 },
377
378
  { 13312, 19903 },
378
- { 19968, 40956 },
379
- { 40960, 42124 },
379
+ { 19968, 42124 },
380
380
  { 42192, 42237 },
381
381
  { 42240, 42508 },
382
382
  { 42512, 42527 },
@@ -386,9 +386,11 @@ static const URange16 L_range16[] = {
386
386
  { 42656, 42725 },
387
387
  { 42775, 42783 },
388
388
  { 42786, 42888 },
389
- { 42891, 42943 },
390
- { 42946, 42954 },
391
- { 42997, 43009 },
389
+ { 42891, 42954 },
390
+ { 42960, 42961 },
391
+ { 42963, 42963 },
392
+ { 42965, 42969 },
393
+ { 42994, 43009 },
392
394
  { 43011, 43013 },
393
395
  { 43015, 43018 },
394
396
  { 43020, 43042 },
@@ -478,9 +480,20 @@ static const URange32 L_range32[] = {
478
480
  { 66776, 66811 },
479
481
  { 66816, 66855 },
480
482
  { 66864, 66915 },
483
+ { 66928, 66938 },
484
+ { 66940, 66954 },
485
+ { 66956, 66962 },
486
+ { 66964, 66965 },
487
+ { 66967, 66977 },
488
+ { 66979, 66993 },
489
+ { 66995, 67001 },
490
+ { 67003, 67004 },
481
491
  { 67072, 67382 },
482
492
  { 67392, 67413 },
483
493
  { 67424, 67431 },
494
+ { 67456, 67461 },
495
+ { 67463, 67504 },
496
+ { 67506, 67514 },
484
497
  { 67584, 67589 },
485
498
  { 67592, 67592 },
486
499
  { 67594, 67637 },
@@ -516,9 +529,12 @@ static const URange32 L_range32[] = {
516
529
  { 69376, 69404 },
517
530
  { 69415, 69415 },
518
531
  { 69424, 69445 },
532
+ { 69488, 69505 },
519
533
  { 69552, 69572 },
520
534
  { 69600, 69622 },
521
535
  { 69635, 69687 },
536
+ { 69745, 69746 },
537
+ { 69749, 69749 },
522
538
  { 69763, 69807 },
523
539
  { 69840, 69864 },
524
540
  { 69891, 69926 },
@@ -560,6 +576,7 @@ static const URange32 L_range32[] = {
560
576
  { 71296, 71338 },
561
577
  { 71352, 71352 },
562
578
  { 71424, 71450 },
579
+ { 71488, 71494 },
563
580
  { 71680, 71723 },
564
581
  { 71840, 71903 },
565
582
  { 71935, 71942 },
@@ -579,7 +596,7 @@ static const URange32 L_range32[] = {
579
596
  { 72272, 72272 },
580
597
  { 72284, 72329 },
581
598
  { 72349, 72349 },
582
- { 72384, 72440 },
599
+ { 72368, 72440 },
583
600
  { 72704, 72712 },
584
601
  { 72714, 72750 },
585
602
  { 72768, 72768 },
@@ -596,10 +613,12 @@ static const URange32 L_range32[] = {
596
613
  { 73648, 73648 },
597
614
  { 73728, 74649 },
598
615
  { 74880, 75075 },
616
+ { 77712, 77808 },
599
617
  { 77824, 78894 },
600
618
  { 82944, 83526 },
601
619
  { 92160, 92728 },
602
620
  { 92736, 92766 },
621
+ { 92784, 92862 },
603
622
  { 92880, 92909 },
604
623
  { 92928, 92975 },
605
624
  { 92992, 92995 },
@@ -614,7 +633,10 @@ static const URange32 L_range32[] = {
614
633
  { 94208, 100343 },
615
634
  { 100352, 101589 },
616
635
  { 101632, 101640 },
617
- { 110592, 110878 },
636
+ { 110576, 110579 },
637
+ { 110581, 110587 },
638
+ { 110589, 110590 },
639
+ { 110592, 110882 },
618
640
  { 110928, 110930 },
619
641
  { 110948, 110951 },
620
642
  { 110960, 111355 },
@@ -652,10 +674,16 @@ static const URange32 L_range32[] = {
652
674
  { 120714, 120744 },
653
675
  { 120746, 120770 },
654
676
  { 120772, 120779 },
677
+ { 122624, 122654 },
655
678
  { 123136, 123180 },
656
679
  { 123191, 123197 },
657
680
  { 123214, 123214 },
681
+ { 123536, 123565 },
658
682
  { 123584, 123627 },
683
+ { 124896, 124902 },
684
+ { 124904, 124907 },
685
+ { 124909, 124910 },
686
+ { 124912, 124926 },
659
687
  { 124928, 125124 },
660
688
  { 125184, 125251 },
661
689
  { 125259, 125259 },
@@ -692,8 +720,8 @@ static const URange32 L_range32[] = {
692
720
  { 126625, 126627 },
693
721
  { 126629, 126633 },
694
722
  { 126635, 126651 },
695
- { 131072, 173789 },
696
- { 173824, 177972 },
723
+ { 131072, 173791 },
724
+ { 173824, 177976 },
697
725
  { 177984, 178205 },
698
726
  { 178208, 183969 },
699
727
  { 183984, 191456 },
@@ -1132,7 +1160,7 @@ static const URange16 Ll_range16[] = {
1132
1160
  { 8518, 8521 },
1133
1161
  { 8526, 8526 },
1134
1162
  { 8580, 8580 },
1135
- { 11312, 11358 },
1163
+ { 11312, 11359 },
1136
1164
  { 11361, 11361 },
1137
1165
  { 11365, 11366 },
1138
1166
  { 11368, 11368 },
@@ -1301,9 +1329,15 @@ static const URange16 Ll_range16[] = {
1301
1329
  { 42939, 42939 },
1302
1330
  { 42941, 42941 },
1303
1331
  { 42943, 42943 },
1332
+ { 42945, 42945 },
1304
1333
  { 42947, 42947 },
1305
1334
  { 42952, 42952 },
1306
1335
  { 42954, 42954 },
1336
+ { 42961, 42961 },
1337
+ { 42963, 42963 },
1338
+ { 42965, 42965 },
1339
+ { 42967, 42967 },
1340
+ { 42969, 42969 },
1307
1341
  { 42998, 42998 },
1308
1342
  { 43002, 43002 },
1309
1343
  { 43824, 43866 },
@@ -1316,6 +1350,10 @@ static const URange16 Ll_range16[] = {
1316
1350
  static const URange32 Ll_range32[] = {
1317
1351
  { 66600, 66639 },
1318
1352
  { 66776, 66811 },
1353
+ { 66967, 66977 },
1354
+ { 66979, 66993 },
1355
+ { 66995, 67001 },
1356
+ { 67003, 67004 },
1319
1357
  { 68800, 68850 },
1320
1358
  { 71872, 71903 },
1321
1359
  { 93792, 93823 },
@@ -1347,6 +1385,8 @@ static const URange32 Ll_range32[] = {
1347
1385
  { 120746, 120770 },
1348
1386
  { 120772, 120777 },
1349
1387
  { 120779, 120779 },
1388
+ { 122624, 122633 },
1389
+ { 122635, 122654 },
1350
1390
  { 125218, 125251 },
1351
1391
  };
1352
1392
  static const URange16 Lm_range16[] = {
@@ -1365,6 +1405,7 @@ static const URange16 Lm_range16[] = {
1365
1405
  { 2074, 2074 },
1366
1406
  { 2084, 2084 },
1367
1407
  { 2088, 2088 },
1408
+ { 2249, 2249 },
1368
1409
  { 2417, 2417 },
1369
1410
  { 3654, 3654 },
1370
1411
  { 3782, 3782 },
@@ -1395,6 +1436,7 @@ static const URange16 Lm_range16[] = {
1395
1436
  { 42775, 42783 },
1396
1437
  { 42864, 42864 },
1397
1438
  { 42888, 42888 },
1439
+ { 42994, 42996 },
1398
1440
  { 43000, 43001 },
1399
1441
  { 43471, 43471 },
1400
1442
  { 43494, 43494 },
@@ -1407,10 +1449,16 @@ static const URange16 Lm_range16[] = {
1407
1449
  { 65438, 65439 },
1408
1450
  };
1409
1451
  static const URange32 Lm_range32[] = {
1452
+ { 67456, 67461 },
1453
+ { 67463, 67504 },
1454
+ { 67506, 67514 },
1410
1455
  { 92992, 92995 },
1411
1456
  { 94099, 94111 },
1412
1457
  { 94176, 94177 },
1413
1458
  { 94179, 94179 },
1459
+ { 110576, 110579 },
1460
+ { 110581, 110587 },
1461
+ { 110589, 110590 },
1414
1462
  { 123191, 123197 },
1415
1463
  { 125259, 125259 },
1416
1464
  };
@@ -1438,8 +1486,9 @@ static const URange16 Lo_range16[] = {
1438
1486
  { 2048, 2069 },
1439
1487
  { 2112, 2136 },
1440
1488
  { 2144, 2154 },
1441
- { 2208, 2228 },
1442
- { 2230, 2247 },
1489
+ { 2160, 2183 },
1490
+ { 2185, 2190 },
1491
+ { 2208, 2248 },
1443
1492
  { 2308, 2361 },
1444
1493
  { 2365, 2365 },
1445
1494
  { 2384, 2384 },
@@ -1504,6 +1553,7 @@ static const URange16 Lo_range16[] = {
1504
1553
  { 3114, 3129 },
1505
1554
  { 3133, 3133 },
1506
1555
  { 3160, 3162 },
1556
+ { 3165, 3165 },
1507
1557
  { 3168, 3169 },
1508
1558
  { 3200, 3200 },
1509
1559
  { 3205, 3212 },
@@ -1512,7 +1562,7 @@ static const URange16 Lo_range16[] = {
1512
1562
  { 3242, 3251 },
1513
1563
  { 3253, 3257 },
1514
1564
  { 3261, 3261 },
1515
- { 3294, 3294 },
1565
+ { 3293, 3294 },
1516
1566
  { 3296, 3297 },
1517
1567
  { 3313, 3314 },
1518
1568
  { 3332, 3340 },
@@ -1576,9 +1626,8 @@ static const URange16 Lo_range16[] = {
1576
1626
  { 5761, 5786 },
1577
1627
  { 5792, 5866 },
1578
1628
  { 5873, 5880 },
1579
- { 5888, 5900 },
1580
- { 5902, 5905 },
1581
- { 5920, 5937 },
1629
+ { 5888, 5905 },
1630
+ { 5919, 5937 },
1582
1631
  { 5952, 5969 },
1583
1632
  { 5984, 5996 },
1584
1633
  { 5998, 6000 },
@@ -1598,7 +1647,7 @@ static const URange16 Lo_range16[] = {
1598
1647
  { 6656, 6678 },
1599
1648
  { 6688, 6740 },
1600
1649
  { 6917, 6963 },
1601
- { 6981, 6987 },
1650
+ { 6981, 6988 },
1602
1651
  { 7043, 7072 },
1603
1652
  { 7086, 7087 },
1604
1653
  { 7098, 7141 },
@@ -1631,8 +1680,7 @@ static const URange16 Lo_range16[] = {
1631
1680
  { 12704, 12735 },
1632
1681
  { 12784, 12799 },
1633
1682
  { 13312, 19903 },
1634
- { 19968, 40956 },
1635
- { 40960, 40980 },
1683
+ { 19968, 40980 },
1636
1684
  { 40982, 42124 },
1637
1685
  { 42192, 42231 },
1638
1686
  { 42240, 42507 },
@@ -1762,9 +1810,12 @@ static const URange32 Lo_range32[] = {
1762
1810
  { 69376, 69404 },
1763
1811
  { 69415, 69415 },
1764
1812
  { 69424, 69445 },
1813
+ { 69488, 69505 },
1765
1814
  { 69552, 69572 },
1766
1815
  { 69600, 69622 },
1767
1816
  { 69635, 69687 },
1817
+ { 69745, 69746 },
1818
+ { 69749, 69749 },
1768
1819
  { 69763, 69807 },
1769
1820
  { 69840, 69864 },
1770
1821
  { 69891, 69926 },
@@ -1806,6 +1857,7 @@ static const URange32 Lo_range32[] = {
1806
1857
  { 71296, 71338 },
1807
1858
  { 71352, 71352 },
1808
1859
  { 71424, 71450 },
1860
+ { 71488, 71494 },
1809
1861
  { 71680, 71723 },
1810
1862
  { 71935, 71942 },
1811
1863
  { 71945, 71945 },
@@ -1824,7 +1876,7 @@ static const URange32 Lo_range32[] = {
1824
1876
  { 72272, 72272 },
1825
1877
  { 72284, 72329 },
1826
1878
  { 72349, 72349 },
1827
- { 72384, 72440 },
1879
+ { 72368, 72440 },
1828
1880
  { 72704, 72712 },
1829
1881
  { 72714, 72750 },
1830
1882
  { 72768, 72768 },
@@ -1841,10 +1893,12 @@ static const URange32 Lo_range32[] = {
1841
1893
  { 73648, 73648 },
1842
1894
  { 73728, 74649 },
1843
1895
  { 74880, 75075 },
1896
+ { 77712, 77808 },
1844
1897
  { 77824, 78894 },
1845
1898
  { 82944, 83526 },
1846
1899
  { 92160, 92728 },
1847
1900
  { 92736, 92766 },
1901
+ { 92784, 92862 },
1848
1902
  { 92880, 92909 },
1849
1903
  { 92928, 92975 },
1850
1904
  { 93027, 93047 },
@@ -1854,7 +1908,7 @@ static const URange32 Lo_range32[] = {
1854
1908
  { 94208, 100343 },
1855
1909
  { 100352, 101589 },
1856
1910
  { 101632, 101640 },
1857
- { 110592, 110878 },
1911
+ { 110592, 110882 },
1858
1912
  { 110928, 110930 },
1859
1913
  { 110948, 110951 },
1860
1914
  { 110960, 111355 },
@@ -1862,9 +1916,15 @@ static const URange32 Lo_range32[] = {
1862
1916
  { 113776, 113788 },
1863
1917
  { 113792, 113800 },
1864
1918
  { 113808, 113817 },
1919
+ { 122634, 122634 },
1865
1920
  { 123136, 123180 },
1866
1921
  { 123214, 123214 },
1922
+ { 123536, 123565 },
1867
1923
  { 123584, 123627 },
1924
+ { 124896, 124902 },
1925
+ { 124904, 124907 },
1926
+ { 124909, 124910 },
1927
+ { 124912, 124926 },
1868
1928
  { 124928, 125124 },
1869
1929
  { 126464, 126467 },
1870
1930
  { 126469, 126495 },
@@ -1899,8 +1959,8 @@ static const URange32 Lo_range32[] = {
1899
1959
  { 126625, 126627 },
1900
1960
  { 126629, 126633 },
1901
1961
  { 126635, 126651 },
1902
- { 131072, 173789 },
1903
- { 173824, 177972 },
1962
+ { 131072, 173791 },
1963
+ { 173824, 177976 },
1904
1964
  { 177984, 178205 },
1905
1965
  { 178208, 183969 },
1906
1966
  { 183984, 191456 },
@@ -2351,7 +2411,7 @@ static const URange16 Lu_range16[] = {
2351
2411
  { 8510, 8511 },
2352
2412
  { 8517, 8517 },
2353
2413
  { 8579, 8579 },
2354
- { 11264, 11310 },
2414
+ { 11264, 11311 },
2355
2415
  { 11360, 11360 },
2356
2416
  { 11362, 11364 },
2357
2417
  { 11367, 11367 },
@@ -2516,15 +2576,23 @@ static const URange16 Lu_range16[] = {
2516
2576
  { 42938, 42938 },
2517
2577
  { 42940, 42940 },
2518
2578
  { 42942, 42942 },
2579
+ { 42944, 42944 },
2519
2580
  { 42946, 42946 },
2520
2581
  { 42948, 42951 },
2521
2582
  { 42953, 42953 },
2583
+ { 42960, 42960 },
2584
+ { 42966, 42966 },
2585
+ { 42968, 42968 },
2522
2586
  { 42997, 42997 },
2523
2587
  { 65313, 65338 },
2524
2588
  };
2525
2589
  static const URange32 Lu_range32[] = {
2526
2590
  { 66560, 66599 },
2527
2591
  { 66736, 66771 },
2592
+ { 66928, 66938 },
2593
+ { 66940, 66954 },
2594
+ { 66956, 66962 },
2595
+ { 66964, 66965 },
2528
2596
  { 68736, 68786 },
2529
2597
  { 71840, 71871 },
2530
2598
  { 93760, 93791 },
@@ -2586,7 +2654,8 @@ static const URange16 M_range16[] = {
2586
2654
  { 2085, 2087 },
2587
2655
  { 2089, 2093 },
2588
2656
  { 2137, 2139 },
2589
- { 2259, 2273 },
2657
+ { 2200, 2207 },
2658
+ { 2250, 2273 },
2590
2659
  { 2275, 2307 },
2591
2660
  { 2362, 2364 },
2592
2661
  { 2366, 2383 },
@@ -2628,6 +2697,7 @@ static const URange16 M_range16[] = {
2628
2697
  { 3018, 3021 },
2629
2698
  { 3031, 3031 },
2630
2699
  { 3072, 3076 },
2700
+ { 3132, 3132 },
2631
2701
  { 3134, 3140 },
2632
2702
  { 3142, 3144 },
2633
2703
  { 3146, 3149 },
@@ -2679,13 +2749,14 @@ static const URange16 M_range16[] = {
2679
2749
  { 4239, 4239 },
2680
2750
  { 4250, 4253 },
2681
2751
  { 4957, 4959 },
2682
- { 5906, 5908 },
2752
+ { 5906, 5909 },
2683
2753
  { 5938, 5940 },
2684
2754
  { 5970, 5971 },
2685
2755
  { 6002, 6003 },
2686
2756
  { 6068, 6099 },
2687
2757
  { 6109, 6109 },
2688
2758
  { 6155, 6157 },
2759
+ { 6159, 6159 },
2689
2760
  { 6277, 6278 },
2690
2761
  { 6313, 6313 },
2691
2762
  { 6432, 6443 },
@@ -2694,7 +2765,7 @@ static const URange16 M_range16[] = {
2694
2765
  { 6741, 6750 },
2695
2766
  { 6752, 6780 },
2696
2767
  { 6783, 6783 },
2697
- { 6832, 6848 },
2768
+ { 6832, 6862 },
2698
2769
  { 6912, 6916 },
2699
2770
  { 6964, 6980 },
2700
2771
  { 7019, 7027 },
@@ -2707,8 +2778,7 @@ static const URange16 M_range16[] = {
2707
2778
  { 7405, 7405 },
2708
2779
  { 7412, 7412 },
2709
2780
  { 7415, 7417 },
2710
- { 7616, 7673 },
2711
- { 7675, 7679 },
2781
+ { 7616, 7679 },
2712
2782
  { 8400, 8432 },
2713
2783
  { 11503, 11505 },
2714
2784
  { 11647, 11647 },
@@ -2763,10 +2833,14 @@ static const URange32 M_range32[] = {
2763
2833
  { 68900, 68903 },
2764
2834
  { 69291, 69292 },
2765
2835
  { 69446, 69456 },
2836
+ { 69506, 69509 },
2766
2837
  { 69632, 69634 },
2767
2838
  { 69688, 69702 },
2839
+ { 69744, 69744 },
2840
+ { 69747, 69748 },
2768
2841
  { 69759, 69762 },
2769
2842
  { 69808, 69818 },
2843
+ { 69826, 69826 },
2770
2844
  { 69888, 69890 },
2771
2845
  { 69927, 69940 },
2772
2846
  { 69957, 69958 },
@@ -2832,6 +2906,8 @@ static const URange32 M_range32[] = {
2832
2906
  { 94180, 94180 },
2833
2907
  { 94192, 94193 },
2834
2908
  { 113821, 113822 },
2909
+ { 118528, 118573 },
2910
+ { 118576, 118598 },
2835
2911
  { 119141, 119145 },
2836
2912
  { 119149, 119154 },
2837
2913
  { 119163, 119170 },
@@ -2850,6 +2926,7 @@ static const URange32 M_range32[] = {
2850
2926
  { 122915, 122916 },
2851
2927
  { 122918, 122922 },
2852
2928
  { 123184, 123190 },
2929
+ { 123566, 123566 },
2853
2930
  { 123628, 123631 },
2854
2931
  { 125136, 125142 },
2855
2932
  { 125252, 125258 },
@@ -2913,6 +2990,8 @@ static const URange16 Mc_range16[] = {
2913
2990
  { 4231, 4236 },
2914
2991
  { 4239, 4239 },
2915
2992
  { 4250, 4252 },
2993
+ { 5909, 5909 },
2994
+ { 5940, 5940 },
2916
2995
  { 6070, 6070 },
2917
2996
  { 6078, 6085 },
2918
2997
  { 6087, 6088 },
@@ -3066,7 +3145,8 @@ static const URange16 Mn_range16[] = {
3066
3145
  { 2085, 2087 },
3067
3146
  { 2089, 2093 },
3068
3147
  { 2137, 2139 },
3069
- { 2259, 2273 },
3148
+ { 2200, 2207 },
3149
+ { 2250, 2273 },
3070
3150
  { 2275, 2306 },
3071
3151
  { 2362, 2362 },
3072
3152
  { 2364, 2364 },
@@ -3107,6 +3187,7 @@ static const URange16 Mn_range16[] = {
3107
3187
  { 3021, 3021 },
3108
3188
  { 3072, 3072 },
3109
3189
  { 3076, 3076 },
3190
+ { 3132, 3132 },
3110
3191
  { 3134, 3136 },
3111
3192
  { 3142, 3144 },
3112
3193
  { 3146, 3149 },
@@ -3156,7 +3237,7 @@ static const URange16 Mn_range16[] = {
3156
3237
  { 4253, 4253 },
3157
3238
  { 4957, 4959 },
3158
3239
  { 5906, 5908 },
3159
- { 5938, 5940 },
3240
+ { 5938, 5939 },
3160
3241
  { 5970, 5971 },
3161
3242
  { 6002, 6003 },
3162
3243
  { 6068, 6069 },
@@ -3165,6 +3246,7 @@ static const URange16 Mn_range16[] = {
3165
3246
  { 6089, 6099 },
3166
3247
  { 6109, 6109 },
3167
3248
  { 6155, 6157 },
3249
+ { 6159, 6159 },
3168
3250
  { 6277, 6278 },
3169
3251
  { 6313, 6313 },
3170
3252
  { 6432, 6434 },
@@ -3181,7 +3263,7 @@ static const URange16 Mn_range16[] = {
3181
3263
  { 6771, 6780 },
3182
3264
  { 6783, 6783 },
3183
3265
  { 6832, 6845 },
3184
- { 6847, 6848 },
3266
+ { 6847, 6862 },
3185
3267
  { 6912, 6915 },
3186
3268
  { 6964, 6964 },
3187
3269
  { 6966, 6970 },
@@ -3204,8 +3286,7 @@ static const URange16 Mn_range16[] = {
3204
3286
  { 7405, 7405 },
3205
3287
  { 7412, 7412 },
3206
3288
  { 7416, 7417 },
3207
- { 7616, 7673 },
3208
- { 7675, 7679 },
3289
+ { 7616, 7679 },
3209
3290
  { 8400, 8412 },
3210
3291
  { 8417, 8417 },
3211
3292
  { 8421, 8432 },
@@ -3266,11 +3347,15 @@ static const URange32 Mn_range32[] = {
3266
3347
  { 68900, 68903 },
3267
3348
  { 69291, 69292 },
3268
3349
  { 69446, 69456 },
3350
+ { 69506, 69509 },
3269
3351
  { 69633, 69633 },
3270
3352
  { 69688, 69702 },
3353
+ { 69744, 69744 },
3354
+ { 69747, 69748 },
3271
3355
  { 69759, 69761 },
3272
3356
  { 69811, 69814 },
3273
3357
  { 69817, 69818 },
3358
+ { 69826, 69826 },
3274
3359
  { 69888, 69890 },
3275
3360
  { 69927, 69931 },
3276
3361
  { 69933, 69940 },
@@ -3350,6 +3435,8 @@ static const URange32 Mn_range32[] = {
3350
3435
  { 94095, 94098 },
3351
3436
  { 94180, 94180 },
3352
3437
  { 113821, 113822 },
3438
+ { 118528, 118573 },
3439
+ { 118576, 118598 },
3353
3440
  { 119143, 119145 },
3354
3441
  { 119163, 119170 },
3355
3442
  { 119173, 119179 },
@@ -3367,6 +3454,7 @@ static const URange32 Mn_range32[] = {
3367
3454
  { 122915, 122916 },
3368
3455
  { 122918, 122922 },
3369
3456
  { 123184, 123190 },
3457
+ { 123566, 123566 },
3370
3458
  { 123628, 123631 },
3371
3459
  { 125136, 125142 },
3372
3460
  { 125252, 125258 },
@@ -3491,6 +3579,7 @@ static const URange32 N_range32[] = {
3491
3579
  { 73664, 73684 },
3492
3580
  { 74752, 74862 },
3493
3581
  { 92768, 92777 },
3582
+ { 92864, 92873 },
3494
3583
  { 93008, 93017 },
3495
3584
  { 93019, 93025 },
3496
3585
  { 93824, 93846 },
@@ -3567,6 +3656,7 @@ static const URange32 Nd_range32[] = {
3567
3656
  { 73040, 73049 },
3568
3657
  { 73120, 73129 },
3569
3658
  { 92768, 92777 },
3659
+ { 92864, 92873 },
3570
3660
  { 93008, 93017 },
3571
3661
  { 120782, 120831 },
3572
3662
  { 123200, 123209 },
@@ -3693,7 +3783,7 @@ static const URange16 P_range16[] = {
3693
3783
  { 1545, 1546 },
3694
3784
  { 1548, 1549 },
3695
3785
  { 1563, 1563 },
3696
- { 1566, 1567 },
3786
+ { 1565, 1567 },
3697
3787
  { 1642, 1645 },
3698
3788
  { 1748, 1748 },
3699
3789
  { 1792, 1805 },
@@ -3732,6 +3822,7 @@ static const URange16 P_range16[] = {
3732
3822
  { 6816, 6822 },
3733
3823
  { 6824, 6829 },
3734
3824
  { 7002, 7008 },
3825
+ { 7037, 7038 },
3735
3826
  { 7164, 7167 },
3736
3827
  { 7227, 7231 },
3737
3828
  { 7294, 7295 },
@@ -3756,7 +3847,7 @@ static const URange16 P_range16[] = {
3756
3847
  { 11632, 11632 },
3757
3848
  { 11776, 11822 },
3758
3849
  { 11824, 11855 },
3759
- { 11858, 11858 },
3850
+ { 11858, 11869 },
3760
3851
  { 12289, 12291 },
3761
3852
  { 12296, 12305 },
3762
3853
  { 12308, 12319 },
@@ -3814,6 +3905,7 @@ static const URange32 P_range32[] = {
3814
3905
  { 68505, 68508 },
3815
3906
  { 69293, 69293 },
3816
3907
  { 69461, 69465 },
3908
+ { 69510, 69513 },
3817
3909
  { 69703, 69709 },
3818
3910
  { 69819, 69820 },
3819
3911
  { 69822, 69825 },
@@ -3832,6 +3924,7 @@ static const URange32 P_range32[] = {
3832
3924
  { 71105, 71127 },
3833
3925
  { 71233, 71235 },
3834
3926
  { 71264, 71276 },
3927
+ { 71353, 71353 },
3835
3928
  { 71484, 71486 },
3836
3929
  { 71739, 71739 },
3837
3930
  { 72004, 72006 },
@@ -3844,6 +3937,7 @@ static const URange32 P_range32[] = {
3844
3937
  { 73463, 73464 },
3845
3938
  { 73727, 73727 },
3846
3939
  { 74864, 74868 },
3940
+ { 77809, 77810 },
3847
3941
  { 92782, 92783 },
3848
3942
  { 92917, 92917 },
3849
3943
  { 92983, 92987 },
@@ -3873,6 +3967,7 @@ static const URange16 Pd_range16[] = {
3873
3967
  { 11802, 11802 },
3874
3968
  { 11834, 11835 },
3875
3969
  { 11840, 11840 },
3970
+ { 11869, 11869 },
3876
3971
  { 12316, 12316 },
3877
3972
  { 12336, 12336 },
3878
3973
  { 12448, 12448 },
@@ -3928,6 +4023,10 @@ static const URange16 Pe_range16[] = {
3928
4023
  { 11813, 11813 },
3929
4024
  { 11815, 11815 },
3930
4025
  { 11817, 11817 },
4026
+ { 11862, 11862 },
4027
+ { 11864, 11864 },
4028
+ { 11866, 11866 },
4029
+ { 11868, 11868 },
3931
4030
  { 12297, 12297 },
3932
4031
  { 12299, 12299 },
3933
4032
  { 12301, 12301 },
@@ -4007,7 +4106,7 @@ static const URange16 Po_range16[] = {
4007
4106
  { 1545, 1546 },
4008
4107
  { 1548, 1549 },
4009
4108
  { 1563, 1563 },
4010
- { 1566, 1567 },
4109
+ { 1565, 1567 },
4011
4110
  { 1642, 1645 },
4012
4111
  { 1748, 1748 },
4013
4112
  { 1792, 1805 },
@@ -4044,6 +4143,7 @@ static const URange16 Po_range16[] = {
4044
4143
  { 6816, 6822 },
4045
4144
  { 6824, 6829 },
4046
4145
  { 7002, 7008 },
4146
+ { 7037, 7038 },
4047
4147
  { 7164, 7167 },
4048
4148
  { 7227, 7231 },
4049
4149
  { 7294, 7295 },
@@ -4072,7 +4172,7 @@ static const URange16 Po_range16[] = {
4072
4172
  { 11836, 11839 },
4073
4173
  { 11841, 11841 },
4074
4174
  { 11843, 11855 },
4075
- { 11858, 11858 },
4175
+ { 11858, 11860 },
4076
4176
  { 12289, 12291 },
4077
4177
  { 12349, 12349 },
4078
4178
  { 12539, 12539 },
@@ -4128,6 +4228,7 @@ static const URange32 Po_range32[] = {
4128
4228
  { 68409, 68415 },
4129
4229
  { 68505, 68508 },
4130
4230
  { 69461, 69465 },
4231
+ { 69510, 69513 },
4131
4232
  { 69703, 69709 },
4132
4233
  { 69819, 69820 },
4133
4234
  { 69822, 69825 },
@@ -4146,6 +4247,7 @@ static const URange32 Po_range32[] = {
4146
4247
  { 71105, 71127 },
4147
4248
  { 71233, 71235 },
4148
4249
  { 71264, 71276 },
4250
+ { 71353, 71353 },
4149
4251
  { 71484, 71486 },
4150
4252
  { 71739, 71739 },
4151
4253
  { 72004, 72006 },
@@ -4158,6 +4260,7 @@ static const URange32 Po_range32[] = {
4158
4260
  { 73463, 73464 },
4159
4261
  { 73727, 73727 },
4160
4262
  { 74864, 74868 },
4263
+ { 77809, 77810 },
4161
4264
  { 92782, 92783 },
4162
4265
  { 92917, 92917 },
4163
4266
  { 92983, 92987 },
@@ -4215,6 +4318,10 @@ static const URange16 Ps_range16[] = {
4215
4318
  { 11814, 11814 },
4216
4319
  { 11816, 11816 },
4217
4320
  { 11842, 11842 },
4321
+ { 11861, 11861 },
4322
+ { 11863, 11863 },
4323
+ { 11865, 11865 },
4324
+ { 11867, 11867 },
4218
4325
  { 12296, 12296 },
4219
4326
  { 12298, 12298 },
4220
4327
  { 12300, 12300 },
@@ -4279,6 +4386,7 @@ static const URange16 S_range16[] = {
4279
4386
  { 1789, 1790 },
4280
4387
  { 2038, 2038 },
4281
4388
  { 2046, 2047 },
4389
+ { 2184, 2184 },
4282
4390
  { 2546, 2547 },
4283
4391
  { 2554, 2555 },
4284
4392
  { 2801, 2801 },
@@ -4317,7 +4425,7 @@ static const URange16 S_range16[] = {
4317
4425
  { 8274, 8274 },
4318
4426
  { 8314, 8316 },
4319
4427
  { 8330, 8332 },
4320
- { 8352, 8383 },
4428
+ { 8352, 8384 },
4321
4429
  { 8448, 8449 },
4322
4430
  { 8451, 8454 },
4323
4431
  { 8456, 8457 },
@@ -4379,8 +4487,10 @@ static const URange16 S_range16[] = {
4379
4487
  { 43867, 43867 },
4380
4488
  { 43882, 43883 },
4381
4489
  { 64297, 64297 },
4382
- { 64434, 64449 },
4383
- { 65020, 65021 },
4490
+ { 64434, 64450 },
4491
+ { 64832, 64847 },
4492
+ { 64975, 64975 },
4493
+ { 65020, 65023 },
4384
4494
  { 65122, 65122 },
4385
4495
  { 65124, 65126 },
4386
4496
  { 65129, 65129 },
@@ -4409,13 +4519,14 @@ static const URange32 S_range32[] = {
4409
4519
  { 92988, 92991 },
4410
4520
  { 92997, 92997 },
4411
4521
  { 113820, 113820 },
4522
+ { 118608, 118723 },
4412
4523
  { 118784, 119029 },
4413
4524
  { 119040, 119078 },
4414
4525
  { 119081, 119140 },
4415
4526
  { 119146, 119148 },
4416
4527
  { 119171, 119172 },
4417
4528
  { 119180, 119209 },
4418
- { 119214, 119272 },
4529
+ { 119214, 119274 },
4419
4530
  { 119296, 119361 },
4420
4531
  { 119365, 119365 },
4421
4532
  { 119552, 119638 },
@@ -4453,28 +4564,29 @@ static const URange32 S_range32[] = {
4453
4564
  { 127568, 127569 },
4454
4565
  { 127584, 127589 },
4455
4566
  { 127744, 128727 },
4456
- { 128736, 128748 },
4567
+ { 128733, 128748 },
4457
4568
  { 128752, 128764 },
4458
4569
  { 128768, 128883 },
4459
4570
  { 128896, 128984 },
4460
4571
  { 128992, 129003 },
4572
+ { 129008, 129008 },
4461
4573
  { 129024, 129035 },
4462
4574
  { 129040, 129095 },
4463
4575
  { 129104, 129113 },
4464
4576
  { 129120, 129159 },
4465
4577
  { 129168, 129197 },
4466
4578
  { 129200, 129201 },
4467
- { 129280, 129400 },
4468
- { 129402, 129483 },
4469
- { 129485, 129619 },
4579
+ { 129280, 129619 },
4470
4580
  { 129632, 129645 },
4471
4581
  { 129648, 129652 },
4472
- { 129656, 129658 },
4582
+ { 129656, 129660 },
4473
4583
  { 129664, 129670 },
4474
- { 129680, 129704 },
4475
- { 129712, 129718 },
4476
- { 129728, 129730 },
4477
- { 129744, 129750 },
4584
+ { 129680, 129708 },
4585
+ { 129712, 129722 },
4586
+ { 129728, 129733 },
4587
+ { 129744, 129753 },
4588
+ { 129760, 129767 },
4589
+ { 129776, 129782 },
4478
4590
  { 129792, 129938 },
4479
4591
  { 129940, 129994 },
4480
4592
  };
@@ -4490,7 +4602,7 @@ static const URange16 Sc_range16[] = {
4490
4602
  { 3065, 3065 },
4491
4603
  { 3647, 3647 },
4492
4604
  { 6107, 6107 },
4493
- { 8352, 8383 },
4605
+ { 8352, 8384 },
4494
4606
  { 43064, 43064 },
4495
4607
  { 65020, 65020 },
4496
4608
  { 65129, 65129 },
@@ -4517,6 +4629,7 @@ static const URange16 Sk_range16[] = {
4517
4629
  { 751, 767 },
4518
4630
  { 885, 885 },
4519
4631
  { 900, 901 },
4632
+ { 2184, 2184 },
4520
4633
  { 8125, 8125 },
4521
4634
  { 8127, 8129 },
4522
4635
  { 8141, 8143 },
@@ -4529,7 +4642,7 @@ static const URange16 Sk_range16[] = {
4529
4642
  { 42889, 42890 },
4530
4643
  { 43867, 43867 },
4531
4644
  { 43882, 43883 },
4532
- { 64434, 64449 },
4645
+ { 64434, 64450 },
4533
4646
  { 65342, 65342 },
4534
4647
  { 65344, 65344 },
4535
4648
  { 65507, 65507 },
@@ -4713,7 +4826,9 @@ static const URange16 So_range16[] = {
4713
4826
  { 43062, 43063 },
4714
4827
  { 43065, 43065 },
4715
4828
  { 43639, 43641 },
4716
- { 65021, 65021 },
4829
+ { 64832, 64847 },
4830
+ { 64975, 64975 },
4831
+ { 65021, 65023 },
4717
4832
  { 65508, 65508 },
4718
4833
  { 65512, 65512 },
4719
4834
  { 65517, 65518 },
@@ -4734,13 +4849,14 @@ static const URange32 So_range32[] = {
4734
4849
  { 92988, 92991 },
4735
4850
  { 92997, 92997 },
4736
4851
  { 113820, 113820 },
4852
+ { 118608, 118723 },
4737
4853
  { 118784, 119029 },
4738
4854
  { 119040, 119078 },
4739
4855
  { 119081, 119140 },
4740
4856
  { 119146, 119148 },
4741
4857
  { 119171, 119172 },
4742
4858
  { 119180, 119209 },
4743
- { 119214, 119272 },
4859
+ { 119214, 119274 },
4744
4860
  { 119296, 119361 },
4745
4861
  { 119365, 119365 },
4746
4862
  { 119552, 119638 },
@@ -4766,28 +4882,29 @@ static const URange32 So_range32[] = {
4766
4882
  { 127584, 127589 },
4767
4883
  { 127744, 127994 },
4768
4884
  { 128000, 128727 },
4769
- { 128736, 128748 },
4885
+ { 128733, 128748 },
4770
4886
  { 128752, 128764 },
4771
4887
  { 128768, 128883 },
4772
4888
  { 128896, 128984 },
4773
4889
  { 128992, 129003 },
4890
+ { 129008, 129008 },
4774
4891
  { 129024, 129035 },
4775
4892
  { 129040, 129095 },
4776
4893
  { 129104, 129113 },
4777
4894
  { 129120, 129159 },
4778
4895
  { 129168, 129197 },
4779
4896
  { 129200, 129201 },
4780
- { 129280, 129400 },
4781
- { 129402, 129483 },
4782
- { 129485, 129619 },
4897
+ { 129280, 129619 },
4783
4898
  { 129632, 129645 },
4784
4899
  { 129648, 129652 },
4785
- { 129656, 129658 },
4900
+ { 129656, 129660 },
4786
4901
  { 129664, 129670 },
4787
- { 129680, 129704 },
4788
- { 129712, 129718 },
4789
- { 129728, 129730 },
4790
- { 129744, 129750 },
4902
+ { 129680, 129708 },
4903
+ { 129712, 129722 },
4904
+ { 129728, 129733 },
4905
+ { 129744, 129753 },
4906
+ { 129760, 129767 },
4907
+ { 129776, 129782 },
4791
4908
  { 129792, 129938 },
4792
4909
  { 129940, 129994 },
4793
4910
  };
@@ -4824,7 +4941,7 @@ static const URange32 Adlam_range32[] = {
4824
4941
  static const URange32 Ahom_range32[] = {
4825
4942
  { 71424, 71450 },
4826
4943
  { 71453, 71467 },
4827
- { 71472, 71487 },
4944
+ { 71472, 71494 },
4828
4945
  };
4829
4946
  static const URange32 Anatolian_Hieroglyphs_range32[] = {
4830
4947
  { 82944, 83526 },
@@ -4833,23 +4950,23 @@ static const URange16 Arabic_range16[] = {
4833
4950
  { 1536, 1540 },
4834
4951
  { 1542, 1547 },
4835
4952
  { 1549, 1562 },
4836
- { 1564, 1564 },
4837
- { 1566, 1566 },
4953
+ { 1564, 1566 },
4838
4954
  { 1568, 1599 },
4839
4955
  { 1601, 1610 },
4840
4956
  { 1622, 1647 },
4841
4957
  { 1649, 1756 },
4842
4958
  { 1758, 1791 },
4843
4959
  { 1872, 1919 },
4844
- { 2208, 2228 },
4845
- { 2230, 2247 },
4846
- { 2259, 2273 },
4960
+ { 2160, 2190 },
4961
+ { 2192, 2193 },
4962
+ { 2200, 2273 },
4847
4963
  { 2275, 2303 },
4848
- { 64336, 64449 },
4964
+ { 64336, 64450 },
4849
4965
  { 64467, 64829 },
4850
- { 64848, 64911 },
4966
+ { 64832, 64911 },
4851
4967
  { 64914, 64967 },
4852
- { 65008, 65021 },
4968
+ { 64975, 64975 },
4969
+ { 65008, 65023 },
4853
4970
  { 65136, 65140 },
4854
4971
  { 65142, 65276 },
4855
4972
  };
@@ -4901,8 +5018,8 @@ static const URange32 Avestan_range32[] = {
4901
5018
  { 68409, 68415 },
4902
5019
  };
4903
5020
  static const URange16 Balinese_range16[] = {
4904
- { 6912, 6987 },
4905
- { 6992, 7036 },
5021
+ { 6912, 6988 },
5022
+ { 6992, 7038 },
4906
5023
  };
4907
5024
  static const URange16 Bamum_range16[] = {
4908
5025
  { 42656, 42743 },
@@ -4947,7 +5064,7 @@ static const URange16 Bopomofo_range16[] = {
4947
5064
  };
4948
5065
  static const URange32 Brahmi_range32[] = {
4949
5066
  { 69632, 69709 },
4950
- { 69714, 69743 },
5067
+ { 69714, 69749 },
4951
5068
  { 69759, 69759 },
4952
5069
  };
4953
5070
  static const URange16 Braille_range16[] = {
@@ -4964,6 +5081,9 @@ static const URange16 Canadian_Aboriginal_range16[] = {
4964
5081
  { 5120, 5759 },
4965
5082
  { 6320, 6389 },
4966
5083
  };
5084
+ static const URange32 Canadian_Aboriginal_range32[] = {
5085
+ { 72368, 72383 },
5086
+ };
4967
5087
  static const URange32 Carian_range32[] = {
4968
5088
  { 66208, 66256 },
4969
5089
  };
@@ -5030,7 +5150,7 @@ static const URange16 Common_range16[] = {
5030
5150
  { 8294, 8304 },
5031
5151
  { 8308, 8318 },
5032
5152
  { 8320, 8334 },
5033
- { 8352, 8383 },
5153
+ { 8352, 8384 },
5034
5154
  { 8448, 8485 },
5035
5155
  { 8487, 8489 },
5036
5156
  { 8492, 8497 },
@@ -5043,7 +5163,7 @@ static const URange16 Common_range16[] = {
5043
5163
  { 10496, 11123 },
5044
5164
  { 11126, 11157 },
5045
5165
  { 11159, 11263 },
5046
- { 11776, 11858 },
5166
+ { 11776, 11869 },
5047
5167
  { 12272, 12283 },
5048
5168
  { 12288, 12292 },
5049
5169
  { 12294, 12294 },
@@ -5089,15 +5209,15 @@ static const URange32 Common_range32[] = {
5089
5209
  { 65936, 65948 },
5090
5210
  { 66000, 66044 },
5091
5211
  { 66273, 66299 },
5092
- { 94178, 94179 },
5093
5212
  { 113824, 113827 },
5213
+ { 118608, 118723 },
5094
5214
  { 118784, 119029 },
5095
5215
  { 119040, 119078 },
5096
5216
  { 119081, 119142 },
5097
5217
  { 119146, 119162 },
5098
5218
  { 119171, 119172 },
5099
5219
  { 119180, 119209 },
5100
- { 119214, 119272 },
5220
+ { 119214, 119274 },
5101
5221
  { 119520, 119539 },
5102
5222
  { 119552, 119638 },
5103
5223
  { 119648, 119672 },
@@ -5138,28 +5258,29 @@ static const URange32 Common_range32[] = {
5138
5258
  { 127568, 127569 },
5139
5259
  { 127584, 127589 },
5140
5260
  { 127744, 128727 },
5141
- { 128736, 128748 },
5261
+ { 128733, 128748 },
5142
5262
  { 128752, 128764 },
5143
5263
  { 128768, 128883 },
5144
5264
  { 128896, 128984 },
5145
5265
  { 128992, 129003 },
5266
+ { 129008, 129008 },
5146
5267
  { 129024, 129035 },
5147
5268
  { 129040, 129095 },
5148
5269
  { 129104, 129113 },
5149
5270
  { 129120, 129159 },
5150
5271
  { 129168, 129197 },
5151
5272
  { 129200, 129201 },
5152
- { 129280, 129400 },
5153
- { 129402, 129483 },
5154
- { 129485, 129619 },
5273
+ { 129280, 129619 },
5155
5274
  { 129632, 129645 },
5156
5275
  { 129648, 129652 },
5157
- { 129656, 129658 },
5276
+ { 129656, 129660 },
5158
5277
  { 129664, 129670 },
5159
- { 129680, 129704 },
5160
- { 129712, 129718 },
5161
- { 129728, 129730 },
5162
- { 129744, 129750 },
5278
+ { 129680, 129708 },
5279
+ { 129712, 129722 },
5280
+ { 129728, 129733 },
5281
+ { 129744, 129753 },
5282
+ { 129760, 129767 },
5283
+ { 129776, 129782 },
5163
5284
  { 129792, 129938 },
5164
5285
  { 129940, 129994 },
5165
5286
  { 130032, 130041 },
@@ -5185,6 +5306,9 @@ static const URange32 Cypriot_range32[] = {
5185
5306
  { 67644, 67644 },
5186
5307
  { 67647, 67647 },
5187
5308
  };
5309
+ static const URange32 Cypro_Minoan_range32[] = {
5310
+ { 77712, 77810 },
5311
+ };
5188
5312
  static const URange16 Cyrillic_range16[] = {
5189
5313
  { 1024, 1156 },
5190
5314
  { 1159, 1327 },
@@ -5268,6 +5392,12 @@ static const URange16 Ethiopic_range16[] = {
5268
5392
  { 43808, 43814 },
5269
5393
  { 43816, 43822 },
5270
5394
  };
5395
+ static const URange32 Ethiopic_range32[] = {
5396
+ { 124896, 124902 },
5397
+ { 124904, 124907 },
5398
+ { 124909, 124910 },
5399
+ { 124912, 124926 },
5400
+ };
5271
5401
  static const URange16 Georgian_range16[] = {
5272
5402
  { 4256, 4293 },
5273
5403
  { 4295, 4295 },
@@ -5281,8 +5411,7 @@ static const URange16 Georgian_range16[] = {
5281
5411
  { 11565, 11565 },
5282
5412
  };
5283
5413
  static const URange16 Glagolitic_range16[] = {
5284
- { 11264, 11310 },
5285
- { 11312, 11358 },
5414
+ { 11264, 11359 },
5286
5415
  };
5287
5416
  static const URange32 Glagolitic_range32[] = {
5288
5417
  { 122880, 122886 },
@@ -5402,14 +5531,15 @@ static const URange16 Han_range16[] = {
5402
5531
  { 12321, 12329 },
5403
5532
  { 12344, 12347 },
5404
5533
  { 13312, 19903 },
5405
- { 19968, 40956 },
5534
+ { 19968, 40959 },
5406
5535
  { 63744, 64109 },
5407
5536
  { 64112, 64217 },
5408
5537
  };
5409
5538
  static const URange32 Han_range32[] = {
5539
+ { 94178, 94179 },
5410
5540
  { 94192, 94193 },
5411
- { 131072, 173789 },
5412
- { 173824, 177972 },
5541
+ { 131072, 173791 },
5542
+ { 173824, 177976 },
5413
5543
  { 177984, 178205 },
5414
5544
  { 178208, 183969 },
5415
5545
  { 183984, 191456 },
@@ -5460,7 +5590,7 @@ static const URange16 Hiragana_range16[] = {
5460
5590
  { 12445, 12447 },
5461
5591
  };
5462
5592
  static const URange32 Hiragana_range32[] = {
5463
- { 110593, 110878 },
5593
+ { 110593, 110879 },
5464
5594
  { 110928, 110930 },
5465
5595
  { 127488, 127488 },
5466
5596
  };
@@ -5474,15 +5604,14 @@ static const URange16 Inherited_range16[] = {
5474
5604
  { 1611, 1621 },
5475
5605
  { 1648, 1648 },
5476
5606
  { 2385, 2388 },
5477
- { 6832, 6848 },
5607
+ { 6832, 6862 },
5478
5608
  { 7376, 7378 },
5479
5609
  { 7380, 7392 },
5480
5610
  { 7394, 7400 },
5481
5611
  { 7405, 7405 },
5482
5612
  { 7412, 7412 },
5483
5613
  { 7416, 7417 },
5484
- { 7616, 7673 },
5485
- { 7675, 7679 },
5614
+ { 7616, 7679 },
5486
5615
  { 8204, 8205 },
5487
5616
  { 8400, 8432 },
5488
5617
  { 12330, 12333 },
@@ -5494,6 +5623,8 @@ static const URange32 Inherited_range32[] = {
5494
5623
  { 66045, 66045 },
5495
5624
  { 66272, 66272 },
5496
5625
  { 70459, 70459 },
5626
+ { 118528, 118573 },
5627
+ { 118576, 118598 },
5497
5628
  { 119143, 119145 },
5498
5629
  { 119163, 119170 },
5499
5630
  { 119173, 119179 },
@@ -5514,7 +5645,7 @@ static const URange16 Javanese_range16[] = {
5514
5645
  { 43486, 43487 },
5515
5646
  };
5516
5647
  static const URange32 Kaithi_range32[] = {
5517
- { 69760, 69825 },
5648
+ { 69760, 69826 },
5518
5649
  { 69837, 69837 },
5519
5650
  };
5520
5651
  static const URange16 Kannada_range16[] = {
@@ -5527,7 +5658,7 @@ static const URange16 Kannada_range16[] = {
5527
5658
  { 3270, 3272 },
5528
5659
  { 3274, 3277 },
5529
5660
  { 3285, 3286 },
5530
- { 3294, 3294 },
5661
+ { 3293, 3294 },
5531
5662
  { 3296, 3299 },
5532
5663
  { 3302, 3311 },
5533
5664
  { 3313, 3314 },
@@ -5542,7 +5673,11 @@ static const URange16 Katakana_range16[] = {
5542
5673
  { 65393, 65437 },
5543
5674
  };
5544
5675
  static const URange32 Katakana_range32[] = {
5676
+ { 110576, 110579 },
5677
+ { 110581, 110587 },
5678
+ { 110589, 110590 },
5545
5679
  { 110592, 110592 },
5680
+ { 110880, 110882 },
5546
5681
  { 110948, 110951 },
5547
5682
  };
5548
5683
  static const URange16 Kayah_Li_range16[] = {
@@ -5614,9 +5749,11 @@ static const URange16 Latin_range16[] = {
5614
5749
  { 8544, 8584 },
5615
5750
  { 11360, 11391 },
5616
5751
  { 42786, 42887 },
5617
- { 42891, 42943 },
5618
- { 42946, 42954 },
5619
- { 42997, 43007 },
5752
+ { 42891, 42954 },
5753
+ { 42960, 42961 },
5754
+ { 42963, 42963 },
5755
+ { 42965, 42969 },
5756
+ { 42994, 43007 },
5620
5757
  { 43824, 43866 },
5621
5758
  { 43868, 43876 },
5622
5759
  { 43878, 43881 },
@@ -5624,6 +5761,12 @@ static const URange16 Latin_range16[] = {
5624
5761
  { 65313, 65338 },
5625
5762
  { 65345, 65370 },
5626
5763
  };
5764
+ static const URange32 Latin_range32[] = {
5765
+ { 67456, 67461 },
5766
+ { 67463, 67504 },
5767
+ { 67506, 67514 },
5768
+ { 122624, 122654 },
5769
+ };
5627
5770
  static const URange16 Lepcha_range16[] = {
5628
5771
  { 7168, 7223 },
5629
5772
  { 7227, 7241 },
@@ -5732,8 +5875,7 @@ static const URange32 Modi_range32[] = {
5732
5875
  static const URange16 Mongolian_range16[] = {
5733
5876
  { 6144, 6145 },
5734
5877
  { 6148, 6148 },
5735
- { 6150, 6158 },
5736
- { 6160, 6169 },
5878
+ { 6150, 6169 },
5737
5879
  { 6176, 6264 },
5738
5880
  { 6272, 6314 },
5739
5881
  };
@@ -5824,6 +5966,9 @@ static const URange32 Old_South_Arabian_range32[] = {
5824
5966
  static const URange32 Old_Turkic_range32[] = {
5825
5967
  { 68608, 68680 },
5826
5968
  };
5969
+ static const URange32 Old_Uyghur_range32[] = {
5970
+ { 69488, 69513 },
5971
+ };
5827
5972
  static const URange16 Oriya_range16[] = {
5828
5973
  { 2817, 2819 },
5829
5974
  { 2821, 2828 },
@@ -5945,8 +6090,8 @@ static const URange16 Syriac_range16[] = {
5945
6090
  { 2144, 2154 },
5946
6091
  };
5947
6092
  static const URange16 Tagalog_range16[] = {
5948
- { 5888, 5900 },
5949
- { 5902, 5908 },
6093
+ { 5888, 5909 },
6094
+ { 5919, 5919 },
5950
6095
  };
5951
6096
  static const URange16 Tagbanwa_range16[] = {
5952
6097
  { 5984, 5996 },
@@ -5969,7 +6114,7 @@ static const URange16 Tai_Viet_range16[] = {
5969
6114
  { 43739, 43743 },
5970
6115
  };
5971
6116
  static const URange32 Takri_range32[] = {
5972
- { 71296, 71352 },
6117
+ { 71296, 71353 },
5973
6118
  { 71360, 71369 },
5974
6119
  };
5975
6120
  static const URange16 Tamil_range16[] = {
@@ -5994,6 +6139,10 @@ static const URange32 Tamil_range32[] = {
5994
6139
  { 73664, 73713 },
5995
6140
  { 73727, 73727 },
5996
6141
  };
6142
+ static const URange32 Tangsa_range32[] = {
6143
+ { 92784, 92862 },
6144
+ { 92864, 92873 },
6145
+ };
5997
6146
  static const URange32 Tangut_range32[] = {
5998
6147
  { 94176, 94176 },
5999
6148
  { 94208, 100343 },
@@ -6005,11 +6154,12 @@ static const URange16 Telugu_range16[] = {
6005
6154
  { 3086, 3088 },
6006
6155
  { 3090, 3112 },
6007
6156
  { 3114, 3129 },
6008
- { 3133, 3140 },
6157
+ { 3132, 3140 },
6009
6158
  { 3142, 3144 },
6010
6159
  { 3146, 3149 },
6011
6160
  { 3157, 3158 },
6012
6161
  { 3160, 3162 },
6162
+ { 3165, 3165 },
6013
6163
  { 3168, 3171 },
6014
6164
  { 3174, 3183 },
6015
6165
  { 3191, 3199 },
@@ -6039,6 +6189,9 @@ static const URange32 Tirhuta_range32[] = {
6039
6189
  { 70784, 70855 },
6040
6190
  { 70864, 70873 },
6041
6191
  };
6192
+ static const URange32 Toto_range32[] = {
6193
+ { 123536, 123566 },
6194
+ };
6042
6195
  static const URange32 Ugaritic_range32[] = {
6043
6196
  { 66432, 66461 },
6044
6197
  { 66463, 66463 },
@@ -6046,6 +6199,16 @@ static const URange32 Ugaritic_range32[] = {
6046
6199
  static const URange16 Vai_range16[] = {
6047
6200
  { 42240, 42539 },
6048
6201
  };
6202
+ static const URange32 Vithkuqi_range32[] = {
6203
+ { 66928, 66938 },
6204
+ { 66940, 66954 },
6205
+ { 66956, 66962 },
6206
+ { 66964, 66965 },
6207
+ { 66967, 66977 },
6208
+ { 66979, 66993 },
6209
+ { 66995, 67001 },
6210
+ { 67003, 67004 },
6211
+ };
6049
6212
  static const URange32 Wancho_range32[] = {
6050
6213
  { 123584, 123641 },
6051
6214
  { 123647, 123647 },
@@ -6066,7 +6229,7 @@ static const URange16 Yi_range16[] = {
6066
6229
  static const URange32 Zanabazar_Square_range32[] = {
6067
6230
  { 72192, 72263 },
6068
6231
  };
6069
- // 4001 16-bit ranges, 1602 32-bit ranges
6232
+ // 4038 16-bit ranges, 1712 32-bit ranges
6070
6233
  const UGroup unicode_groups[] = {
6071
6234
  { "Adlam", +1, 0, 0, Adlam_range32, 3 },
6072
6235
  { "Ahom", +1, 0, 0, Ahom_range32, 3 },
@@ -6085,22 +6248,23 @@ const UGroup unicode_groups[] = {
6085
6248
  { "Braille", +1, Braille_range16, 1, 0, 0 },
6086
6249
  { "Buginese", +1, Buginese_range16, 2, 0, 0 },
6087
6250
  { "Buhid", +1, Buhid_range16, 1, 0, 0 },
6088
- { "C", +1, C_range16, 16, C_range32, 9 },
6089
- { "Canadian_Aboriginal", +1, Canadian_Aboriginal_range16, 2, 0, 0 },
6251
+ { "C", +1, C_range16, 17, C_range32, 9 },
6252
+ { "Canadian_Aboriginal", +1, Canadian_Aboriginal_range16, 2, Canadian_Aboriginal_range32, 1 },
6090
6253
  { "Carian", +1, 0, 0, Carian_range32, 1 },
6091
6254
  { "Caucasian_Albanian", +1, 0, 0, Caucasian_Albanian_range32, 2 },
6092
6255
  { "Cc", +1, Cc_range16, 2, 0, 0 },
6093
- { "Cf", +1, Cf_range16, 13, Cf_range32, 7 },
6256
+ { "Cf", +1, Cf_range16, 14, Cf_range32, 7 },
6094
6257
  { "Chakma", +1, 0, 0, Chakma_range32, 2 },
6095
6258
  { "Cham", +1, Cham_range16, 4, 0, 0 },
6096
6259
  { "Cherokee", +1, Cherokee_range16, 3, 0, 0 },
6097
6260
  { "Chorasmian", +1, 0, 0, Chorasmian_range32, 1 },
6098
6261
  { "Co", +1, Co_range16, 1, Co_range32, 2 },
6099
- { "Common", +1, Common_range16, 91, Common_range32, 82 },
6262
+ { "Common", +1, Common_range16, 91, Common_range32, 83 },
6100
6263
  { "Coptic", +1, Coptic_range16, 3, 0, 0 },
6101
6264
  { "Cs", +1, Cs_range16, 1, 0, 0 },
6102
6265
  { "Cuneiform", +1, 0, 0, Cuneiform_range32, 4 },
6103
6266
  { "Cypriot", +1, 0, 0, Cypriot_range32, 6 },
6267
+ { "Cypro_Minoan", +1, 0, 0, Cypro_Minoan_range32, 1 },
6104
6268
  { "Cyrillic", +1, Cyrillic_range16, 8, 0, 0 },
6105
6269
  { "Deseret", +1, 0, 0, Deseret_range32, 1 },
6106
6270
  { "Devanagari", +1, Devanagari_range16, 4, 0, 0 },
@@ -6110,16 +6274,16 @@ const UGroup unicode_groups[] = {
6110
6274
  { "Egyptian_Hieroglyphs", +1, 0, 0, Egyptian_Hieroglyphs_range32, 2 },
6111
6275
  { "Elbasan", +1, 0, 0, Elbasan_range32, 1 },
6112
6276
  { "Elymaic", +1, 0, 0, Elymaic_range32, 1 },
6113
- { "Ethiopic", +1, Ethiopic_range16, 32, 0, 0 },
6277
+ { "Ethiopic", +1, Ethiopic_range16, 32, Ethiopic_range32, 4 },
6114
6278
  { "Georgian", +1, Georgian_range16, 10, 0, 0 },
6115
- { "Glagolitic", +1, Glagolitic_range16, 2, Glagolitic_range32, 5 },
6279
+ { "Glagolitic", +1, Glagolitic_range16, 1, Glagolitic_range32, 5 },
6116
6280
  { "Gothic", +1, 0, 0, Gothic_range32, 1 },
6117
6281
  { "Grantha", +1, 0, 0, Grantha_range32, 15 },
6118
6282
  { "Greek", +1, Greek_range16, 33, Greek_range32, 3 },
6119
6283
  { "Gujarati", +1, Gujarati_range16, 14, 0, 0 },
6120
6284
  { "Gunjala_Gondi", +1, 0, 0, Gunjala_Gondi_range32, 6 },
6121
6285
  { "Gurmukhi", +1, Gurmukhi_range16, 16, 0, 0 },
6122
- { "Han", +1, Han_range16, 11, Han_range32, 8 },
6286
+ { "Han", +1, Han_range16, 11, Han_range32, 9 },
6123
6287
  { "Hangul", +1, Hangul_range16, 14, 0, 0 },
6124
6288
  { "Hanifi_Rohingya", +1, 0, 0, Hanifi_Rohingya_range32, 2 },
6125
6289
  { "Hanunoo", +1, Hanunoo_range16, 1, 0, 0 },
@@ -6127,35 +6291,35 @@ const UGroup unicode_groups[] = {
6127
6291
  { "Hebrew", +1, Hebrew_range16, 9, 0, 0 },
6128
6292
  { "Hiragana", +1, Hiragana_range16, 2, Hiragana_range32, 3 },
6129
6293
  { "Imperial_Aramaic", +1, 0, 0, Imperial_Aramaic_range32, 2 },
6130
- { "Inherited", +1, Inherited_range16, 20, Inherited_range32, 8 },
6294
+ { "Inherited", +1, Inherited_range16, 19, Inherited_range32, 10 },
6131
6295
  { "Inscriptional_Pahlavi", +1, 0, 0, Inscriptional_Pahlavi_range32, 2 },
6132
6296
  { "Inscriptional_Parthian", +1, 0, 0, Inscriptional_Parthian_range32, 2 },
6133
6297
  { "Javanese", +1, Javanese_range16, 3, 0, 0 },
6134
6298
  { "Kaithi", +1, 0, 0, Kaithi_range32, 2 },
6135
6299
  { "Kannada", +1, Kannada_range16, 13, 0, 0 },
6136
- { "Katakana", +1, Katakana_range16, 7, Katakana_range32, 2 },
6300
+ { "Katakana", +1, Katakana_range16, 7, Katakana_range32, 6 },
6137
6301
  { "Kayah_Li", +1, Kayah_Li_range16, 2, 0, 0 },
6138
6302
  { "Kharoshthi", +1, 0, 0, Kharoshthi_range32, 8 },
6139
6303
  { "Khitan_Small_Script", +1, 0, 0, Khitan_Small_Script_range32, 2 },
6140
6304
  { "Khmer", +1, Khmer_range16, 4, 0, 0 },
6141
6305
  { "Khojki", +1, 0, 0, Khojki_range32, 2 },
6142
6306
  { "Khudawadi", +1, 0, 0, Khudawadi_range32, 2 },
6143
- { "L", +1, L_range16, 380, L_range32, 242 },
6307
+ { "L", +1, L_range16, 380, L_range32, 268 },
6144
6308
  { "Lao", +1, Lao_range16, 11, 0, 0 },
6145
- { "Latin", +1, Latin_range16, 32, 0, 0 },
6309
+ { "Latin", +1, Latin_range16, 34, Latin_range32, 4 },
6146
6310
  { "Lepcha", +1, Lepcha_range16, 3, 0, 0 },
6147
6311
  { "Limbu", +1, Limbu_range16, 5, 0, 0 },
6148
6312
  { "Linear_A", +1, 0, 0, Linear_A_range32, 3 },
6149
6313
  { "Linear_B", +1, 0, 0, Linear_B_range32, 7 },
6150
6314
  { "Lisu", +1, Lisu_range16, 1, Lisu_range32, 1 },
6151
- { "Ll", +1, Ll_range16, 611, Ll_range32, 34 },
6152
- { "Lm", +1, Lm_range16, 55, Lm_range32, 6 },
6153
- { "Lo", +1, Lo_range16, 290, Lo_range32, 199 },
6315
+ { "Ll", +1, Ll_range16, 617, Ll_range32, 40 },
6316
+ { "Lm", +1, Lm_range16, 57, Lm_range32, 12 },
6317
+ { "Lo", +1, Lo_range16, 290, Lo_range32, 211 },
6154
6318
  { "Lt", +1, Lt_range16, 10, 0, 0 },
6155
- { "Lu", +1, Lu_range16, 601, Lu_range32, 37 },
6319
+ { "Lu", +1, Lu_range16, 605, Lu_range32, 41 },
6156
6320
  { "Lycian", +1, 0, 0, Lycian_range32, 1 },
6157
6321
  { "Lydian", +1, 0, 0, Lydian_range32, 2 },
6158
- { "M", +1, M_range16, 187, M_range32, 103 },
6322
+ { "M", +1, M_range16, 189, M_range32, 110 },
6159
6323
  { "Mahajani", +1, 0, 0, Mahajani_range32, 1 },
6160
6324
  { "Makasar", +1, 0, 0, Makasar_range32, 1 },
6161
6325
  { "Malayalam", +1, Malayalam_range16, 7, 0, 0 },
@@ -6163,7 +6327,7 @@ const UGroup unicode_groups[] = {
6163
6327
  { "Manichaean", +1, 0, 0, Manichaean_range32, 2 },
6164
6328
  { "Marchen", +1, 0, 0, Marchen_range32, 3 },
6165
6329
  { "Masaram_Gondi", +1, 0, 0, Masaram_Gondi_range32, 7 },
6166
- { "Mc", +1, Mc_range16, 109, Mc_range32, 66 },
6330
+ { "Mc", +1, Mc_range16, 111, Mc_range32, 66 },
6167
6331
  { "Me", +1, Me_range16, 5, 0, 0 },
6168
6332
  { "Medefaidrin", +1, 0, 0, Medefaidrin_range32, 1 },
6169
6333
  { "Meetei_Mayek", +1, Meetei_Mayek_range16, 3, 0, 0 },
@@ -6171,16 +6335,16 @@ const UGroup unicode_groups[] = {
6171
6335
  { "Meroitic_Cursive", +1, 0, 0, Meroitic_Cursive_range32, 3 },
6172
6336
  { "Meroitic_Hieroglyphs", +1, 0, 0, Meroitic_Hieroglyphs_range32, 1 },
6173
6337
  { "Miao", +1, 0, 0, Miao_range32, 3 },
6174
- { "Mn", +1, Mn_range16, 210, Mn_range32, 117 },
6338
+ { "Mn", +1, Mn_range16, 212, Mn_range32, 124 },
6175
6339
  { "Modi", +1, 0, 0, Modi_range32, 2 },
6176
- { "Mongolian", +1, Mongolian_range16, 6, Mongolian_range32, 1 },
6340
+ { "Mongolian", +1, Mongolian_range16, 5, Mongolian_range32, 1 },
6177
6341
  { "Mro", +1, 0, 0, Mro_range32, 3 },
6178
6342
  { "Multani", +1, 0, 0, Multani_range32, 5 },
6179
6343
  { "Myanmar", +1, Myanmar_range16, 3, 0, 0 },
6180
- { "N", +1, N_range16, 67, N_range32, 66 },
6344
+ { "N", +1, N_range16, 67, N_range32, 67 },
6181
6345
  { "Nabataean", +1, 0, 0, Nabataean_range32, 2 },
6182
6346
  { "Nandinagari", +1, 0, 0, Nandinagari_range32, 3 },
6183
- { "Nd", +1, Nd_range16, 37, Nd_range32, 24 },
6347
+ { "Nd", +1, Nd_range16, 37, Nd_range32, 25 },
6184
6348
  { "New_Tai_Lue", +1, New_Tai_Lue_range16, 4, 0, 0 },
6185
6349
  { "Newa", +1, 0, 0, Newa_range32, 2 },
6186
6350
  { "Nko", +1, Nko_range16, 2, 0, 0 },
@@ -6198,26 +6362,27 @@ const UGroup unicode_groups[] = {
6198
6362
  { "Old_Sogdian", +1, 0, 0, Old_Sogdian_range32, 1 },
6199
6363
  { "Old_South_Arabian", +1, 0, 0, Old_South_Arabian_range32, 1 },
6200
6364
  { "Old_Turkic", +1, 0, 0, Old_Turkic_range32, 1 },
6365
+ { "Old_Uyghur", +1, 0, 0, Old_Uyghur_range32, 1 },
6201
6366
  { "Oriya", +1, Oriya_range16, 14, 0, 0 },
6202
6367
  { "Osage", +1, 0, 0, Osage_range32, 2 },
6203
6368
  { "Osmanya", +1, 0, 0, Osmanya_range32, 2 },
6204
- { "P", +1, P_range16, 132, P_range32, 53 },
6369
+ { "P", +1, P_range16, 133, P_range32, 56 },
6205
6370
  { "Pahawh_Hmong", +1, 0, 0, Pahawh_Hmong_range32, 5 },
6206
6371
  { "Palmyrene", +1, 0, 0, Palmyrene_range32, 1 },
6207
6372
  { "Pau_Cin_Hau", +1, 0, 0, Pau_Cin_Hau_range32, 1 },
6208
6373
  { "Pc", +1, Pc_range16, 6, 0, 0 },
6209
- { "Pd", +1, Pd_range16, 17, Pd_range32, 1 },
6210
- { "Pe", +1, Pe_range16, 72, 0, 0 },
6374
+ { "Pd", +1, Pd_range16, 18, Pd_range32, 1 },
6375
+ { "Pe", +1, Pe_range16, 76, 0, 0 },
6211
6376
  { "Pf", +1, Pf_range16, 10, 0, 0 },
6212
6377
  { "Phags_Pa", +1, Phags_Pa_range16, 1, 0, 0 },
6213
6378
  { "Phoenician", +1, 0, 0, Phoenician_range32, 2 },
6214
6379
  { "Pi", +1, Pi_range16, 11, 0, 0 },
6215
- { "Po", +1, Po_range16, 129, Po_range32, 52 },
6216
- { "Ps", +1, Ps_range16, 75, 0, 0 },
6380
+ { "Po", +1, Po_range16, 130, Po_range32, 55 },
6381
+ { "Ps", +1, Ps_range16, 79, 0, 0 },
6217
6382
  { "Psalter_Pahlavi", +1, 0, 0, Psalter_Pahlavi_range32, 3 },
6218
6383
  { "Rejang", +1, Rejang_range16, 2, 0, 0 },
6219
6384
  { "Runic", +1, Runic_range16, 2, 0, 0 },
6220
- { "S", +1, S_range16, 148, S_range32, 81 },
6385
+ { "S", +1, S_range16, 151, S_range32, 83 },
6221
6386
  { "Samaritan", +1, Samaritan_range16, 2, 0, 0 },
6222
6387
  { "Saurashtra", +1, Saurashtra_range16, 2, 0, 0 },
6223
6388
  { "Sc", +1, Sc_range16, 18, Sc_range32, 3 },
@@ -6226,9 +6391,9 @@ const UGroup unicode_groups[] = {
6226
6391
  { "Siddham", +1, 0, 0, Siddham_range32, 2 },
6227
6392
  { "SignWriting", +1, 0, 0, SignWriting_range32, 3 },
6228
6393
  { "Sinhala", +1, Sinhala_range16, 12, Sinhala_range32, 1 },
6229
- { "Sk", +1, Sk_range16, 29, Sk_range32, 1 },
6394
+ { "Sk", +1, Sk_range16, 30, Sk_range32, 1 },
6230
6395
  { "Sm", +1, Sm_range16, 53, Sm_range32, 11 },
6231
- { "So", +1, So_range16, 112, So_range32, 70 },
6396
+ { "So", +1, So_range16, 114, So_range32, 72 },
6232
6397
  { "Sogdian", +1, 0, 0, Sogdian_range32, 1 },
6233
6398
  { "Sora_Sompeng", +1, 0, 0, Sora_Sompeng_range32, 2 },
6234
6399
  { "Soyombo", +1, 0, 0, Soyombo_range32, 1 },
@@ -6242,15 +6407,18 @@ const UGroup unicode_groups[] = {
6242
6407
  { "Tai_Viet", +1, Tai_Viet_range16, 2, 0, 0 },
6243
6408
  { "Takri", +1, 0, 0, Takri_range32, 2 },
6244
6409
  { "Tamil", +1, Tamil_range16, 16, Tamil_range32, 2 },
6410
+ { "Tangsa", +1, 0, 0, Tangsa_range32, 2 },
6245
6411
  { "Tangut", +1, 0, 0, Tangut_range32, 4 },
6246
- { "Telugu", +1, Telugu_range16, 12, 0, 0 },
6412
+ { "Telugu", +1, Telugu_range16, 13, 0, 0 },
6247
6413
  { "Thaana", +1, Thaana_range16, 1, 0, 0 },
6248
6414
  { "Thai", +1, Thai_range16, 2, 0, 0 },
6249
6415
  { "Tibetan", +1, Tibetan_range16, 7, 0, 0 },
6250
6416
  { "Tifinagh", +1, Tifinagh_range16, 3, 0, 0 },
6251
6417
  { "Tirhuta", +1, 0, 0, Tirhuta_range32, 2 },
6418
+ { "Toto", +1, 0, 0, Toto_range32, 1 },
6252
6419
  { "Ugaritic", +1, 0, 0, Ugaritic_range32, 2 },
6253
6420
  { "Vai", +1, Vai_range16, 1, 0, 0 },
6421
+ { "Vithkuqi", +1, 0, 0, Vithkuqi_range32, 8 },
6254
6422
  { "Wancho", +1, 0, 0, Wancho_range32, 2 },
6255
6423
  { "Warang_Citi", +1, 0, 0, Warang_Citi_range32, 2 },
6256
6424
  { "Yezidi", +1, 0, 0, Yezidi_range32, 3 },
@@ -6261,7 +6429,7 @@ const UGroup unicode_groups[] = {
6261
6429
  { "Zp", +1, Zp_range16, 1, 0, 0 },
6262
6430
  { "Zs", +1, Zs_range16, 7, 0, 0 },
6263
6431
  };
6264
- const int num_unicode_groups = 192;
6432
+ const int num_unicode_groups = 197;
6265
6433
 
6266
6434
 
6267
6435
  } // namespace re2