Declare sub_refcnt field
diff --git a/include/grpc/impl/codegen/slice.h b/include/grpc/impl/codegen/slice.h
index fbd18e6..45902c6 100644
--- a/include/grpc/impl/codegen/slice.h
+++ b/include/grpc/impl/codegen/slice.h
@@ -68,6 +68,11 @@
    grpc_slice_new, or grpc_slice_new_with_len instead. */
 typedef struct grpc_slice_refcount {
   const grpc_slice_refcount_vtable *vtable;
+  /* If a subset of this slice is taken, use this pointer for the refcount.
+     Typically points back to the refcount itself, however iterning
+     implementations can use this to avoid a verification step on each hash
+     or equality check */
+  struct grpc_slice_refcount *sub_refcount;
 } grpc_slice_refcount;
 
 #define GRPC_SLICE_INLINED_SIZE (sizeof(size_t) + sizeof(uint8_t *) - 1)
diff --git a/src/core/ext/transport/chttp2/transport/hpack_encoder.c b/src/core/ext/transport/chttp2/transport/hpack_encoder.c
index eb19bd7..2eb0c51 100644
--- a/src/core/ext/transport/chttp2/transport/hpack_encoder.c
+++ b/src/core/ext/transport/chttp2/transport/hpack_encoder.c
@@ -65,7 +65,7 @@
 /* don't consider adding anything bigger than this to the hpack table */
 #define MAX_DECODER_SPACE_USAGE 512
 
-static grpc_slice_refcount terminal_slice_refcount = {NULL};
+static grpc_slice_refcount terminal_slice_refcount = {NULL, NULL};
 static const grpc_slice terminal_slice = {&terminal_slice_refcount,
                                           .data.refcounted = {0, 0}};
 
diff --git a/src/core/lib/slice/slice.c b/src/core/lib/slice/slice.c
index 2ae97b3..8188ba9 100644
--- a/src/core/lib/slice/slice.c
+++ b/src/core/lib/slice/slice.c
@@ -81,7 +81,8 @@
 static const grpc_slice_refcount_vtable noop_refcount_vtable = {
     noop_ref, noop_unref, grpc_slice_default_eq_impl,
     grpc_slice_default_hash_impl};
-static grpc_slice_refcount noop_refcount = {&noop_refcount_vtable};
+static grpc_slice_refcount noop_refcount = {&noop_refcount_vtable,
+                                            &noop_refcount};
 
 grpc_slice grpc_slice_from_static_buffer(const void *s, size_t len) {
   grpc_slice slice;
diff --git a/src/core/lib/transport/static_metadata.c b/src/core/lib/transport/static_metadata.c
index 5232bd7..13a0fa3 100644
--- a/src/core/lib/transport/static_metadata.c
+++ b/src/core/lib/transport/static_metadata.c
@@ -116,178 +116,313 @@
 
 static void static_ref(void *unused) {}
 static void static_unref(grpc_exec_ctx *exec_ctx, void *unused) {}
-static const grpc_slice_refcount_vtable static_vtable = {
+static const grpc_slice_refcount_vtable static_sub_vtable = {
+    static_ref, static_unref, grpc_slice_default_eq_impl,
+    grpc_slice_default_hash_impl};
+const grpc_slice_refcount_vtable grpc_static_metadata_vtable = {
     static_ref, static_unref, grpc_static_slice_eq, grpc_static_slice_hash};
-typedef struct {
-  grpc_slice_refcount base;
-  const uint16_t offset;
-  const uint16_t length;
-} static_slice_refcount;
-static static_slice_refcount g_refcnts[GRPC_STATIC_MDSTR_COUNT] = {
-    {{&static_vtable}, 0, 5},    {{&static_vtable}, 5, 7},
-    {{&static_vtable}, 12, 7},   {{&static_vtable}, 19, 10},
-    {{&static_vtable}, 29, 7},   {{&static_vtable}, 36, 2},
-    {{&static_vtable}, 38, 12},  {{&static_vtable}, 50, 11},
-    {{&static_vtable}, 61, 16},  {{&static_vtable}, 77, 13},
-    {{&static_vtable}, 90, 20},  {{&static_vtable}, 110, 12},
-    {{&static_vtable}, 122, 30}, {{&static_vtable}, 152, 10},
-    {{&static_vtable}, 162, 4},  {{&static_vtable}, 166, 8},
-    {{&static_vtable}, 174, 11}, {{&static_vtable}, 185, 12},
-    {{&static_vtable}, 197, 16}, {{&static_vtable}, 213, 14},
-    {{&static_vtable}, 227, 0},  {{&static_vtable}, 227, 19},
-    {{&static_vtable}, 246, 12}, {{&static_vtable}, 258, 30},
-    {{&static_vtable}, 288, 31}, {{&static_vtable}, 319, 36},
-    {{&static_vtable}, 355, 1},  {{&static_vtable}, 356, 1},
-    {{&static_vtable}, 357, 1},  {{&static_vtable}, 358, 8},
-    {{&static_vtable}, 366, 4},  {{&static_vtable}, 370, 7},
-    {{&static_vtable}, 377, 8},  {{&static_vtable}, 385, 16},
-    {{&static_vtable}, 401, 4},  {{&static_vtable}, 405, 3},
-    {{&static_vtable}, 408, 3},  {{&static_vtable}, 411, 4},
-    {{&static_vtable}, 415, 5},  {{&static_vtable}, 420, 4},
-    {{&static_vtable}, 424, 3},  {{&static_vtable}, 427, 3},
-    {{&static_vtable}, 430, 1},  {{&static_vtable}, 431, 11},
-    {{&static_vtable}, 442, 3},  {{&static_vtable}, 445, 3},
-    {{&static_vtable}, 448, 3},  {{&static_vtable}, 451, 3},
-    {{&static_vtable}, 454, 3},  {{&static_vtable}, 457, 14},
-    {{&static_vtable}, 471, 15}, {{&static_vtable}, 486, 13},
-    {{&static_vtable}, 499, 15}, {{&static_vtable}, 514, 13},
-    {{&static_vtable}, 527, 6},  {{&static_vtable}, 533, 27},
-    {{&static_vtable}, 560, 3},  {{&static_vtable}, 563, 5},
-    {{&static_vtable}, 568, 13}, {{&static_vtable}, 581, 13},
-    {{&static_vtable}, 594, 19}, {{&static_vtable}, 613, 16},
-    {{&static_vtable}, 629, 16}, {{&static_vtable}, 645, 14},
-    {{&static_vtable}, 659, 16}, {{&static_vtable}, 675, 13},
-    {{&static_vtable}, 688, 6},  {{&static_vtable}, 694, 4},
-    {{&static_vtable}, 698, 4},  {{&static_vtable}, 702, 6},
-    {{&static_vtable}, 708, 7},  {{&static_vtable}, 715, 4},
-    {{&static_vtable}, 719, 8},  {{&static_vtable}, 727, 17},
-    {{&static_vtable}, 744, 13}, {{&static_vtable}, 757, 8},
-    {{&static_vtable}, 765, 19}, {{&static_vtable}, 784, 13},
-    {{&static_vtable}, 797, 4},  {{&static_vtable}, 801, 8},
-    {{&static_vtable}, 809, 12}, {{&static_vtable}, 821, 18},
-    {{&static_vtable}, 839, 19}, {{&static_vtable}, 858, 5},
-    {{&static_vtable}, 863, 7},  {{&static_vtable}, 870, 7},
-    {{&static_vtable}, 877, 11}, {{&static_vtable}, 888, 6},
-    {{&static_vtable}, 894, 10}, {{&static_vtable}, 904, 25},
-    {{&static_vtable}, 929, 17}, {{&static_vtable}, 946, 4},
-    {{&static_vtable}, 950, 3},  {{&static_vtable}, 953, 16},
-    {{&static_vtable}, 969, 16}, {{&static_vtable}, 985, 13},
-    {{&static_vtable}, 998, 12}, {{&static_vtable}, 1010, 21},
+static grpc_slice_refcount static_sub_refcnt = {&static_sub_vtable,
+                                                &static_sub_refcnt};
+grpc_slice_refcount grpc_static_metadata_refcounts[GRPC_STATIC_MDSTR_COUNT] = {
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
+    {&grpc_static_metadata_vtable, &static_sub_refcnt},
 };
 
-bool grpc_is_static_metadata_string(grpc_slice slice) {
-  return slice.refcount != NULL && slice.refcount->vtable == &static_vtable;
-}
-
 const grpc_slice grpc_static_slice_table[GRPC_STATIC_MDSTR_COUNT] = {
-    {.refcount = &g_refcnts[0].base, .data.refcounted = {g_bytes + 0, 5}},
-    {.refcount = &g_refcnts[1].base, .data.refcounted = {g_bytes + 5, 7}},
-    {.refcount = &g_refcnts[2].base, .data.refcounted = {g_bytes + 12, 7}},
-    {.refcount = &g_refcnts[3].base, .data.refcounted = {g_bytes + 19, 10}},
-    {.refcount = &g_refcnts[4].base, .data.refcounted = {g_bytes + 29, 7}},
-    {.refcount = &g_refcnts[5].base, .data.refcounted = {g_bytes + 36, 2}},
-    {.refcount = &g_refcnts[6].base, .data.refcounted = {g_bytes + 38, 12}},
-    {.refcount = &g_refcnts[7].base, .data.refcounted = {g_bytes + 50, 11}},
-    {.refcount = &g_refcnts[8].base, .data.refcounted = {g_bytes + 61, 16}},
-    {.refcount = &g_refcnts[9].base, .data.refcounted = {g_bytes + 77, 13}},
-    {.refcount = &g_refcnts[10].base, .data.refcounted = {g_bytes + 90, 20}},
-    {.refcount = &g_refcnts[11].base, .data.refcounted = {g_bytes + 110, 12}},
-    {.refcount = &g_refcnts[12].base, .data.refcounted = {g_bytes + 122, 30}},
-    {.refcount = &g_refcnts[13].base, .data.refcounted = {g_bytes + 152, 10}},
-    {.refcount = &g_refcnts[14].base, .data.refcounted = {g_bytes + 162, 4}},
-    {.refcount = &g_refcnts[15].base, .data.refcounted = {g_bytes + 166, 8}},
-    {.refcount = &g_refcnts[16].base, .data.refcounted = {g_bytes + 174, 11}},
-    {.refcount = &g_refcnts[17].base, .data.refcounted = {g_bytes + 185, 12}},
-    {.refcount = &g_refcnts[18].base, .data.refcounted = {g_bytes + 197, 16}},
-    {.refcount = &g_refcnts[19].base, .data.refcounted = {g_bytes + 213, 14}},
-    {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}},
-    {.refcount = &g_refcnts[21].base, .data.refcounted = {g_bytes + 227, 19}},
-    {.refcount = &g_refcnts[22].base, .data.refcounted = {g_bytes + 246, 12}},
-    {.refcount = &g_refcnts[23].base, .data.refcounted = {g_bytes + 258, 30}},
-    {.refcount = &g_refcnts[24].base, .data.refcounted = {g_bytes + 288, 31}},
-    {.refcount = &g_refcnts[25].base, .data.refcounted = {g_bytes + 319, 36}},
-    {.refcount = &g_refcnts[26].base, .data.refcounted = {g_bytes + 355, 1}},
-    {.refcount = &g_refcnts[27].base, .data.refcounted = {g_bytes + 356, 1}},
-    {.refcount = &g_refcnts[28].base, .data.refcounted = {g_bytes + 357, 1}},
-    {.refcount = &g_refcnts[29].base, .data.refcounted = {g_bytes + 358, 8}},
-    {.refcount = &g_refcnts[30].base, .data.refcounted = {g_bytes + 366, 4}},
-    {.refcount = &g_refcnts[31].base, .data.refcounted = {g_bytes + 370, 7}},
-    {.refcount = &g_refcnts[32].base, .data.refcounted = {g_bytes + 377, 8}},
-    {.refcount = &g_refcnts[33].base, .data.refcounted = {g_bytes + 385, 16}},
-    {.refcount = &g_refcnts[34].base, .data.refcounted = {g_bytes + 401, 4}},
-    {.refcount = &g_refcnts[35].base, .data.refcounted = {g_bytes + 405, 3}},
-    {.refcount = &g_refcnts[36].base, .data.refcounted = {g_bytes + 408, 3}},
-    {.refcount = &g_refcnts[37].base, .data.refcounted = {g_bytes + 411, 4}},
-    {.refcount = &g_refcnts[38].base, .data.refcounted = {g_bytes + 415, 5}},
-    {.refcount = &g_refcnts[39].base, .data.refcounted = {g_bytes + 420, 4}},
-    {.refcount = &g_refcnts[40].base, .data.refcounted = {g_bytes + 424, 3}},
-    {.refcount = &g_refcnts[41].base, .data.refcounted = {g_bytes + 427, 3}},
-    {.refcount = &g_refcnts[42].base, .data.refcounted = {g_bytes + 430, 1}},
-    {.refcount = &g_refcnts[43].base, .data.refcounted = {g_bytes + 431, 11}},
-    {.refcount = &g_refcnts[44].base, .data.refcounted = {g_bytes + 442, 3}},
-    {.refcount = &g_refcnts[45].base, .data.refcounted = {g_bytes + 445, 3}},
-    {.refcount = &g_refcnts[46].base, .data.refcounted = {g_bytes + 448, 3}},
-    {.refcount = &g_refcnts[47].base, .data.refcounted = {g_bytes + 451, 3}},
-    {.refcount = &g_refcnts[48].base, .data.refcounted = {g_bytes + 454, 3}},
-    {.refcount = &g_refcnts[49].base, .data.refcounted = {g_bytes + 457, 14}},
-    {.refcount = &g_refcnts[50].base, .data.refcounted = {g_bytes + 471, 15}},
-    {.refcount = &g_refcnts[51].base, .data.refcounted = {g_bytes + 486, 13}},
-    {.refcount = &g_refcnts[52].base, .data.refcounted = {g_bytes + 499, 15}},
-    {.refcount = &g_refcnts[53].base, .data.refcounted = {g_bytes + 514, 13}},
-    {.refcount = &g_refcnts[54].base, .data.refcounted = {g_bytes + 527, 6}},
-    {.refcount = &g_refcnts[55].base, .data.refcounted = {g_bytes + 533, 27}},
-    {.refcount = &g_refcnts[56].base, .data.refcounted = {g_bytes + 560, 3}},
-    {.refcount = &g_refcnts[57].base, .data.refcounted = {g_bytes + 563, 5}},
-    {.refcount = &g_refcnts[58].base, .data.refcounted = {g_bytes + 568, 13}},
-    {.refcount = &g_refcnts[59].base, .data.refcounted = {g_bytes + 581, 13}},
-    {.refcount = &g_refcnts[60].base, .data.refcounted = {g_bytes + 594, 19}},
-    {.refcount = &g_refcnts[61].base, .data.refcounted = {g_bytes + 613, 16}},
-    {.refcount = &g_refcnts[62].base, .data.refcounted = {g_bytes + 629, 16}},
-    {.refcount = &g_refcnts[63].base, .data.refcounted = {g_bytes + 645, 14}},
-    {.refcount = &g_refcnts[64].base, .data.refcounted = {g_bytes + 659, 16}},
-    {.refcount = &g_refcnts[65].base, .data.refcounted = {g_bytes + 675, 13}},
-    {.refcount = &g_refcnts[66].base, .data.refcounted = {g_bytes + 688, 6}},
-    {.refcount = &g_refcnts[67].base, .data.refcounted = {g_bytes + 694, 4}},
-    {.refcount = &g_refcnts[68].base, .data.refcounted = {g_bytes + 698, 4}},
-    {.refcount = &g_refcnts[69].base, .data.refcounted = {g_bytes + 702, 6}},
-    {.refcount = &g_refcnts[70].base, .data.refcounted = {g_bytes + 708, 7}},
-    {.refcount = &g_refcnts[71].base, .data.refcounted = {g_bytes + 715, 4}},
-    {.refcount = &g_refcnts[72].base, .data.refcounted = {g_bytes + 719, 8}},
-    {.refcount = &g_refcnts[73].base, .data.refcounted = {g_bytes + 727, 17}},
-    {.refcount = &g_refcnts[74].base, .data.refcounted = {g_bytes + 744, 13}},
-    {.refcount = &g_refcnts[75].base, .data.refcounted = {g_bytes + 757, 8}},
-    {.refcount = &g_refcnts[76].base, .data.refcounted = {g_bytes + 765, 19}},
-    {.refcount = &g_refcnts[77].base, .data.refcounted = {g_bytes + 784, 13}},
-    {.refcount = &g_refcnts[78].base, .data.refcounted = {g_bytes + 797, 4}},
-    {.refcount = &g_refcnts[79].base, .data.refcounted = {g_bytes + 801, 8}},
-    {.refcount = &g_refcnts[80].base, .data.refcounted = {g_bytes + 809, 12}},
-    {.refcount = &g_refcnts[81].base, .data.refcounted = {g_bytes + 821, 18}},
-    {.refcount = &g_refcnts[82].base, .data.refcounted = {g_bytes + 839, 19}},
-    {.refcount = &g_refcnts[83].base, .data.refcounted = {g_bytes + 858, 5}},
-    {.refcount = &g_refcnts[84].base, .data.refcounted = {g_bytes + 863, 7}},
-    {.refcount = &g_refcnts[85].base, .data.refcounted = {g_bytes + 870, 7}},
-    {.refcount = &g_refcnts[86].base, .data.refcounted = {g_bytes + 877, 11}},
-    {.refcount = &g_refcnts[87].base, .data.refcounted = {g_bytes + 888, 6}},
-    {.refcount = &g_refcnts[88].base, .data.refcounted = {g_bytes + 894, 10}},
-    {.refcount = &g_refcnts[89].base, .data.refcounted = {g_bytes + 904, 25}},
-    {.refcount = &g_refcnts[90].base, .data.refcounted = {g_bytes + 929, 17}},
-    {.refcount = &g_refcnts[91].base, .data.refcounted = {g_bytes + 946, 4}},
-    {.refcount = &g_refcnts[92].base, .data.refcounted = {g_bytes + 950, 3}},
-    {.refcount = &g_refcnts[93].base, .data.refcounted = {g_bytes + 953, 16}},
-    {.refcount = &g_refcnts[94].base, .data.refcounted = {g_bytes + 969, 16}},
-    {.refcount = &g_refcnts[95].base, .data.refcounted = {g_bytes + 985, 13}},
-    {.refcount = &g_refcnts[96].base, .data.refcounted = {g_bytes + 998, 12}},
-    {.refcount = &g_refcnts[97].base, .data.refcounted = {g_bytes + 1010, 21}},
+    {.refcount = &grpc_static_metadata_refcounts[0],
+     .data.refcounted = {g_bytes + 0, 5}},
+    {.refcount = &grpc_static_metadata_refcounts[1],
+     .data.refcounted = {g_bytes + 5, 7}},
+    {.refcount = &grpc_static_metadata_refcounts[2],
+     .data.refcounted = {g_bytes + 12, 7}},
+    {.refcount = &grpc_static_metadata_refcounts[3],
+     .data.refcounted = {g_bytes + 19, 10}},
+    {.refcount = &grpc_static_metadata_refcounts[4],
+     .data.refcounted = {g_bytes + 29, 7}},
+    {.refcount = &grpc_static_metadata_refcounts[5],
+     .data.refcounted = {g_bytes + 36, 2}},
+    {.refcount = &grpc_static_metadata_refcounts[6],
+     .data.refcounted = {g_bytes + 38, 12}},
+    {.refcount = &grpc_static_metadata_refcounts[7],
+     .data.refcounted = {g_bytes + 50, 11}},
+    {.refcount = &grpc_static_metadata_refcounts[8],
+     .data.refcounted = {g_bytes + 61, 16}},
+    {.refcount = &grpc_static_metadata_refcounts[9],
+     .data.refcounted = {g_bytes + 77, 13}},
+    {.refcount = &grpc_static_metadata_refcounts[10],
+     .data.refcounted = {g_bytes + 90, 20}},
+    {.refcount = &grpc_static_metadata_refcounts[11],
+     .data.refcounted = {g_bytes + 110, 12}},
+    {.refcount = &grpc_static_metadata_refcounts[12],
+     .data.refcounted = {g_bytes + 122, 30}},
+    {.refcount = &grpc_static_metadata_refcounts[13],
+     .data.refcounted = {g_bytes + 152, 10}},
+    {.refcount = &grpc_static_metadata_refcounts[14],
+     .data.refcounted = {g_bytes + 162, 4}},
+    {.refcount = &grpc_static_metadata_refcounts[15],
+     .data.refcounted = {g_bytes + 166, 8}},
+    {.refcount = &grpc_static_metadata_refcounts[16],
+     .data.refcounted = {g_bytes + 174, 11}},
+    {.refcount = &grpc_static_metadata_refcounts[17],
+     .data.refcounted = {g_bytes + 185, 12}},
+    {.refcount = &grpc_static_metadata_refcounts[18],
+     .data.refcounted = {g_bytes + 197, 16}},
+    {.refcount = &grpc_static_metadata_refcounts[19],
+     .data.refcounted = {g_bytes + 213, 14}},
+    {.refcount = &grpc_static_metadata_refcounts[20],
+     .data.refcounted = {g_bytes + 227, 0}},
+    {.refcount = &grpc_static_metadata_refcounts[21],
+     .data.refcounted = {g_bytes + 227, 19}},
+    {.refcount = &grpc_static_metadata_refcounts[22],
+     .data.refcounted = {g_bytes + 246, 12}},
+    {.refcount = &grpc_static_metadata_refcounts[23],
+     .data.refcounted = {g_bytes + 258, 30}},
+    {.refcount = &grpc_static_metadata_refcounts[24],
+     .data.refcounted = {g_bytes + 288, 31}},
+    {.refcount = &grpc_static_metadata_refcounts[25],
+     .data.refcounted = {g_bytes + 319, 36}},
+    {.refcount = &grpc_static_metadata_refcounts[26],
+     .data.refcounted = {g_bytes + 355, 1}},
+    {.refcount = &grpc_static_metadata_refcounts[27],
+     .data.refcounted = {g_bytes + 356, 1}},
+    {.refcount = &grpc_static_metadata_refcounts[28],
+     .data.refcounted = {g_bytes + 357, 1}},
+    {.refcount = &grpc_static_metadata_refcounts[29],
+     .data.refcounted = {g_bytes + 358, 8}},
+    {.refcount = &grpc_static_metadata_refcounts[30],
+     .data.refcounted = {g_bytes + 366, 4}},
+    {.refcount = &grpc_static_metadata_refcounts[31],
+     .data.refcounted = {g_bytes + 370, 7}},
+    {.refcount = &grpc_static_metadata_refcounts[32],
+     .data.refcounted = {g_bytes + 377, 8}},
+    {.refcount = &grpc_static_metadata_refcounts[33],
+     .data.refcounted = {g_bytes + 385, 16}},
+    {.refcount = &grpc_static_metadata_refcounts[34],
+     .data.refcounted = {g_bytes + 401, 4}},
+    {.refcount = &grpc_static_metadata_refcounts[35],
+     .data.refcounted = {g_bytes + 405, 3}},
+    {.refcount = &grpc_static_metadata_refcounts[36],
+     .data.refcounted = {g_bytes + 408, 3}},
+    {.refcount = &grpc_static_metadata_refcounts[37],
+     .data.refcounted = {g_bytes + 411, 4}},
+    {.refcount = &grpc_static_metadata_refcounts[38],
+     .data.refcounted = {g_bytes + 415, 5}},
+    {.refcount = &grpc_static_metadata_refcounts[39],
+     .data.refcounted = {g_bytes + 420, 4}},
+    {.refcount = &grpc_static_metadata_refcounts[40],
+     .data.refcounted = {g_bytes + 424, 3}},
+    {.refcount = &grpc_static_metadata_refcounts[41],
+     .data.refcounted = {g_bytes + 427, 3}},
+    {.refcount = &grpc_static_metadata_refcounts[42],
+     .data.refcounted = {g_bytes + 430, 1}},
+    {.refcount = &grpc_static_metadata_refcounts[43],
+     .data.refcounted = {g_bytes + 431, 11}},
+    {.refcount = &grpc_static_metadata_refcounts[44],
+     .data.refcounted = {g_bytes + 442, 3}},
+    {.refcount = &grpc_static_metadata_refcounts[45],
+     .data.refcounted = {g_bytes + 445, 3}},
+    {.refcount = &grpc_static_metadata_refcounts[46],
+     .data.refcounted = {g_bytes + 448, 3}},
+    {.refcount = &grpc_static_metadata_refcounts[47],
+     .data.refcounted = {g_bytes + 451, 3}},
+    {.refcount = &grpc_static_metadata_refcounts[48],
+     .data.refcounted = {g_bytes + 454, 3}},
+    {.refcount = &grpc_static_metadata_refcounts[49],
+     .data.refcounted = {g_bytes + 457, 14}},
+    {.refcount = &grpc_static_metadata_refcounts[50],
+     .data.refcounted = {g_bytes + 471, 15}},
+    {.refcount = &grpc_static_metadata_refcounts[51],
+     .data.refcounted = {g_bytes + 486, 13}},
+    {.refcount = &grpc_static_metadata_refcounts[52],
+     .data.refcounted = {g_bytes + 499, 15}},
+    {.refcount = &grpc_static_metadata_refcounts[53],
+     .data.refcounted = {g_bytes + 514, 13}},
+    {.refcount = &grpc_static_metadata_refcounts[54],
+     .data.refcounted = {g_bytes + 527, 6}},
+    {.refcount = &grpc_static_metadata_refcounts[55],
+     .data.refcounted = {g_bytes + 533, 27}},
+    {.refcount = &grpc_static_metadata_refcounts[56],
+     .data.refcounted = {g_bytes + 560, 3}},
+    {.refcount = &grpc_static_metadata_refcounts[57],
+     .data.refcounted = {g_bytes + 563, 5}},
+    {.refcount = &grpc_static_metadata_refcounts[58],
+     .data.refcounted = {g_bytes + 568, 13}},
+    {.refcount = &grpc_static_metadata_refcounts[59],
+     .data.refcounted = {g_bytes + 581, 13}},
+    {.refcount = &grpc_static_metadata_refcounts[60],
+     .data.refcounted = {g_bytes + 594, 19}},
+    {.refcount = &grpc_static_metadata_refcounts[61],
+     .data.refcounted = {g_bytes + 613, 16}},
+    {.refcount = &grpc_static_metadata_refcounts[62],
+     .data.refcounted = {g_bytes + 629, 16}},
+    {.refcount = &grpc_static_metadata_refcounts[63],
+     .data.refcounted = {g_bytes + 645, 14}},
+    {.refcount = &grpc_static_metadata_refcounts[64],
+     .data.refcounted = {g_bytes + 659, 16}},
+    {.refcount = &grpc_static_metadata_refcounts[65],
+     .data.refcounted = {g_bytes + 675, 13}},
+    {.refcount = &grpc_static_metadata_refcounts[66],
+     .data.refcounted = {g_bytes + 688, 6}},
+    {.refcount = &grpc_static_metadata_refcounts[67],
+     .data.refcounted = {g_bytes + 694, 4}},
+    {.refcount = &grpc_static_metadata_refcounts[68],
+     .data.refcounted = {g_bytes + 698, 4}},
+    {.refcount = &grpc_static_metadata_refcounts[69],
+     .data.refcounted = {g_bytes + 702, 6}},
+    {.refcount = &grpc_static_metadata_refcounts[70],
+     .data.refcounted = {g_bytes + 708, 7}},
+    {.refcount = &grpc_static_metadata_refcounts[71],
+     .data.refcounted = {g_bytes + 715, 4}},
+    {.refcount = &grpc_static_metadata_refcounts[72],
+     .data.refcounted = {g_bytes + 719, 8}},
+    {.refcount = &grpc_static_metadata_refcounts[73],
+     .data.refcounted = {g_bytes + 727, 17}},
+    {.refcount = &grpc_static_metadata_refcounts[74],
+     .data.refcounted = {g_bytes + 744, 13}},
+    {.refcount = &grpc_static_metadata_refcounts[75],
+     .data.refcounted = {g_bytes + 757, 8}},
+    {.refcount = &grpc_static_metadata_refcounts[76],
+     .data.refcounted = {g_bytes + 765, 19}},
+    {.refcount = &grpc_static_metadata_refcounts[77],
+     .data.refcounted = {g_bytes + 784, 13}},
+    {.refcount = &grpc_static_metadata_refcounts[78],
+     .data.refcounted = {g_bytes + 797, 4}},
+    {.refcount = &grpc_static_metadata_refcounts[79],
+     .data.refcounted = {g_bytes + 801, 8}},
+    {.refcount = &grpc_static_metadata_refcounts[80],
+     .data.refcounted = {g_bytes + 809, 12}},
+    {.refcount = &grpc_static_metadata_refcounts[81],
+     .data.refcounted = {g_bytes + 821, 18}},
+    {.refcount = &grpc_static_metadata_refcounts[82],
+     .data.refcounted = {g_bytes + 839, 19}},
+    {.refcount = &grpc_static_metadata_refcounts[83],
+     .data.refcounted = {g_bytes + 858, 5}},
+    {.refcount = &grpc_static_metadata_refcounts[84],
+     .data.refcounted = {g_bytes + 863, 7}},
+    {.refcount = &grpc_static_metadata_refcounts[85],
+     .data.refcounted = {g_bytes + 870, 7}},
+    {.refcount = &grpc_static_metadata_refcounts[86],
+     .data.refcounted = {g_bytes + 877, 11}},
+    {.refcount = &grpc_static_metadata_refcounts[87],
+     .data.refcounted = {g_bytes + 888, 6}},
+    {.refcount = &grpc_static_metadata_refcounts[88],
+     .data.refcounted = {g_bytes + 894, 10}},
+    {.refcount = &grpc_static_metadata_refcounts[89],
+     .data.refcounted = {g_bytes + 904, 25}},
+    {.refcount = &grpc_static_metadata_refcounts[90],
+     .data.refcounted = {g_bytes + 929, 17}},
+    {.refcount = &grpc_static_metadata_refcounts[91],
+     .data.refcounted = {g_bytes + 946, 4}},
+    {.refcount = &grpc_static_metadata_refcounts[92],
+     .data.refcounted = {g_bytes + 950, 3}},
+    {.refcount = &grpc_static_metadata_refcounts[93],
+     .data.refcounted = {g_bytes + 953, 16}},
+    {.refcount = &grpc_static_metadata_refcounts[94],
+     .data.refcounted = {g_bytes + 969, 16}},
+    {.refcount = &grpc_static_metadata_refcounts[95],
+     .data.refcounted = {g_bytes + 985, 13}},
+    {.refcount = &grpc_static_metadata_refcounts[96],
+     .data.refcounted = {g_bytes + 998, 12}},
+    {.refcount = &grpc_static_metadata_refcounts[97],
+     .data.refcounted = {g_bytes + 1010, 21}},
 };
 
-int grpc_static_metadata_index(grpc_slice slice) {
-  static_slice_refcount *r = (static_slice_refcount *)slice.refcount;
-  if (slice.data.refcounted.bytes == g_bytes + r->offset &&
-      slice.data.refcounted.length == r->length)
-    return (int)(r - g_refcnts);
-  return -1;
-}
-
 uintptr_t grpc_static_mdelem_user_data[GRPC_STATIC_MDELEM_COUNT] = {
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -347,168 +482,329 @@
 }
 
 grpc_mdelem_data grpc_static_mdelem_table[GRPC_STATIC_MDELEM_COUNT] = {
-    {{.refcount = &g_refcnts[7].base, .data.refcounted = {g_bytes + 50, 11}},
-     {.refcount = &g_refcnts[26].base, .data.refcounted = {g_bytes + 355, 1}}},
-    {{.refcount = &g_refcnts[7].base, .data.refcounted = {g_bytes + 50, 11}},
-     {.refcount = &g_refcnts[27].base, .data.refcounted = {g_bytes + 356, 1}}},
-    {{.refcount = &g_refcnts[7].base, .data.refcounted = {g_bytes + 50, 11}},
-     {.refcount = &g_refcnts[28].base, .data.refcounted = {g_bytes + 357, 1}}},
-    {{.refcount = &g_refcnts[9].base, .data.refcounted = {g_bytes + 77, 13}},
-     {.refcount = &g_refcnts[29].base, .data.refcounted = {g_bytes + 358, 8}}},
-    {{.refcount = &g_refcnts[9].base, .data.refcounted = {g_bytes + 77, 13}},
-     {.refcount = &g_refcnts[30].base, .data.refcounted = {g_bytes + 366, 4}}},
-    {{.refcount = &g_refcnts[9].base, .data.refcounted = {g_bytes + 77, 13}},
-     {.refcount = &g_refcnts[31].base, .data.refcounted = {g_bytes + 370, 7}}},
-    {{.refcount = &g_refcnts[5].base, .data.refcounted = {g_bytes + 36, 2}},
-     {.refcount = &g_refcnts[32].base, .data.refcounted = {g_bytes + 377, 8}}},
-    {{.refcount = &g_refcnts[11].base, .data.refcounted = {g_bytes + 110, 12}},
-     {.refcount = &g_refcnts[33].base, .data.refcounted = {g_bytes + 385, 16}}},
-    {{.refcount = &g_refcnts[1].base, .data.refcounted = {g_bytes + 5, 7}},
-     {.refcount = &g_refcnts[34].base, .data.refcounted = {g_bytes + 401, 4}}},
-    {{.refcount = &g_refcnts[2].base, .data.refcounted = {g_bytes + 12, 7}},
-     {.refcount = &g_refcnts[35].base, .data.refcounted = {g_bytes + 405, 3}}},
-    {{.refcount = &g_refcnts[2].base, .data.refcounted = {g_bytes + 12, 7}},
-     {.refcount = &g_refcnts[36].base, .data.refcounted = {g_bytes + 408, 3}}},
-    {{.refcount = &g_refcnts[4].base, .data.refcounted = {g_bytes + 29, 7}},
-     {.refcount = &g_refcnts[37].base, .data.refcounted = {g_bytes + 411, 4}}},
-    {{.refcount = &g_refcnts[4].base, .data.refcounted = {g_bytes + 29, 7}},
-     {.refcount = &g_refcnts[38].base, .data.refcounted = {g_bytes + 415, 5}}},
-    {{.refcount = &g_refcnts[4].base, .data.refcounted = {g_bytes + 29, 7}},
-     {.refcount = &g_refcnts[39].base, .data.refcounted = {g_bytes + 420, 4}}},
-    {{.refcount = &g_refcnts[3].base, .data.refcounted = {g_bytes + 19, 10}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[1].base, .data.refcounted = {g_bytes + 5, 7}},
-     {.refcount = &g_refcnts[40].base, .data.refcounted = {g_bytes + 424, 3}}},
-    {{.refcount = &g_refcnts[1].base, .data.refcounted = {g_bytes + 5, 7}},
-     {.refcount = &g_refcnts[41].base, .data.refcounted = {g_bytes + 427, 3}}},
-    {{.refcount = &g_refcnts[0].base, .data.refcounted = {g_bytes + 0, 5}},
-     {.refcount = &g_refcnts[42].base, .data.refcounted = {g_bytes + 430, 1}}},
-    {{.refcount = &g_refcnts[0].base, .data.refcounted = {g_bytes + 0, 5}},
-     {.refcount = &g_refcnts[43].base, .data.refcounted = {g_bytes + 431, 11}}},
-    {{.refcount = &g_refcnts[2].base, .data.refcounted = {g_bytes + 12, 7}},
-     {.refcount = &g_refcnts[44].base, .data.refcounted = {g_bytes + 442, 3}}},
-    {{.refcount = &g_refcnts[2].base, .data.refcounted = {g_bytes + 12, 7}},
-     {.refcount = &g_refcnts[45].base, .data.refcounted = {g_bytes + 445, 3}}},
-    {{.refcount = &g_refcnts[2].base, .data.refcounted = {g_bytes + 12, 7}},
-     {.refcount = &g_refcnts[46].base, .data.refcounted = {g_bytes + 448, 3}}},
-    {{.refcount = &g_refcnts[2].base, .data.refcounted = {g_bytes + 12, 7}},
-     {.refcount = &g_refcnts[47].base, .data.refcounted = {g_bytes + 451, 3}}},
-    {{.refcount = &g_refcnts[2].base, .data.refcounted = {g_bytes + 12, 7}},
-     {.refcount = &g_refcnts[48].base, .data.refcounted = {g_bytes + 454, 3}}},
-    {{.refcount = &g_refcnts[49].base, .data.refcounted = {g_bytes + 457, 14}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[50].base, .data.refcounted = {g_bytes + 471, 15}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[50].base, .data.refcounted = {g_bytes + 471, 15}},
-     {.refcount = &g_refcnts[51].base, .data.refcounted = {g_bytes + 486, 13}}},
-    {{.refcount = &g_refcnts[52].base, .data.refcounted = {g_bytes + 499, 15}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[53].base, .data.refcounted = {g_bytes + 514, 13}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[54].base, .data.refcounted = {g_bytes + 527, 6}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[55].base, .data.refcounted = {g_bytes + 533, 27}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[56].base, .data.refcounted = {g_bytes + 560, 3}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[57].base, .data.refcounted = {g_bytes + 563, 5}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[58].base, .data.refcounted = {g_bytes + 568, 13}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[59].base, .data.refcounted = {g_bytes + 581, 13}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[60].base, .data.refcounted = {g_bytes + 594, 19}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[61].base, .data.refcounted = {g_bytes + 613, 16}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[62].base, .data.refcounted = {g_bytes + 629, 16}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[63].base, .data.refcounted = {g_bytes + 645, 14}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[64].base, .data.refcounted = {g_bytes + 659, 16}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[65].base, .data.refcounted = {g_bytes + 675, 13}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[11].base, .data.refcounted = {g_bytes + 110, 12}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[66].base, .data.refcounted = {g_bytes + 688, 6}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[67].base, .data.refcounted = {g_bytes + 694, 4}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[68].base, .data.refcounted = {g_bytes + 698, 4}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[69].base, .data.refcounted = {g_bytes + 702, 6}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[70].base, .data.refcounted = {g_bytes + 708, 7}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[71].base, .data.refcounted = {g_bytes + 715, 4}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[14].base, .data.refcounted = {g_bytes + 162, 4}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[72].base, .data.refcounted = {g_bytes + 719, 8}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[73].base, .data.refcounted = {g_bytes + 727, 17}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[74].base, .data.refcounted = {g_bytes + 744, 13}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[75].base, .data.refcounted = {g_bytes + 757, 8}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[76].base, .data.refcounted = {g_bytes + 765, 19}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[77].base, .data.refcounted = {g_bytes + 784, 13}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[15].base, .data.refcounted = {g_bytes + 166, 8}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[16].base, .data.refcounted = {g_bytes + 174, 11}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[78].base, .data.refcounted = {g_bytes + 797, 4}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[79].base, .data.refcounted = {g_bytes + 801, 8}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[80].base, .data.refcounted = {g_bytes + 809, 12}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[81].base, .data.refcounted = {g_bytes + 821, 18}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[82].base, .data.refcounted = {g_bytes + 839, 19}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[83].base, .data.refcounted = {g_bytes + 858, 5}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[84].base, .data.refcounted = {g_bytes + 863, 7}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[85].base, .data.refcounted = {g_bytes + 870, 7}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[86].base, .data.refcounted = {g_bytes + 877, 11}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[87].base, .data.refcounted = {g_bytes + 888, 6}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[88].base, .data.refcounted = {g_bytes + 894, 10}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[89].base, .data.refcounted = {g_bytes + 904, 25}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[90].base, .data.refcounted = {g_bytes + 929, 17}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[13].base, .data.refcounted = {g_bytes + 152, 10}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[91].base, .data.refcounted = {g_bytes + 946, 4}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[92].base, .data.refcounted = {g_bytes + 950, 3}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[93].base, .data.refcounted = {g_bytes + 953, 16}},
-     {.refcount = &g_refcnts[20].base, .data.refcounted = {g_bytes + 227, 0}}},
-    {{.refcount = &g_refcnts[10].base, .data.refcounted = {g_bytes + 90, 20}},
-     {.refcount = &g_refcnts[29].base, .data.refcounted = {g_bytes + 358, 8}}},
-    {{.refcount = &g_refcnts[10].base, .data.refcounted = {g_bytes + 90, 20}},
-     {.refcount = &g_refcnts[31].base, .data.refcounted = {g_bytes + 370, 7}}},
-    {{.refcount = &g_refcnts[10].base, .data.refcounted = {g_bytes + 90, 20}},
-     {.refcount = &g_refcnts[94].base, .data.refcounted = {g_bytes + 969, 16}}},
-    {{.refcount = &g_refcnts[10].base, .data.refcounted = {g_bytes + 90, 20}},
-     {.refcount = &g_refcnts[30].base, .data.refcounted = {g_bytes + 366, 4}}},
-    {{.refcount = &g_refcnts[10].base, .data.refcounted = {g_bytes + 90, 20}},
-     {.refcount = &g_refcnts[95].base, .data.refcounted = {g_bytes + 985, 13}}},
-    {{.refcount = &g_refcnts[10].base, .data.refcounted = {g_bytes + 90, 20}},
-     {.refcount = &g_refcnts[96].base, .data.refcounted = {g_bytes + 998, 12}}},
-    {{.refcount = &g_refcnts[10].base, .data.refcounted = {g_bytes + 90, 20}},
-     {.refcount = &g_refcnts[97].base,
+    {{.refcount = &grpc_static_metadata_refcounts[7],
+      .data.refcounted = {g_bytes + 50, 11}},
+     {.refcount = &grpc_static_metadata_refcounts[26],
+      .data.refcounted = {g_bytes + 355, 1}}},
+    {{.refcount = &grpc_static_metadata_refcounts[7],
+      .data.refcounted = {g_bytes + 50, 11}},
+     {.refcount = &grpc_static_metadata_refcounts[27],
+      .data.refcounted = {g_bytes + 356, 1}}},
+    {{.refcount = &grpc_static_metadata_refcounts[7],
+      .data.refcounted = {g_bytes + 50, 11}},
+     {.refcount = &grpc_static_metadata_refcounts[28],
+      .data.refcounted = {g_bytes + 357, 1}}},
+    {{.refcount = &grpc_static_metadata_refcounts[9],
+      .data.refcounted = {g_bytes + 77, 13}},
+     {.refcount = &grpc_static_metadata_refcounts[29],
+      .data.refcounted = {g_bytes + 358, 8}}},
+    {{.refcount = &grpc_static_metadata_refcounts[9],
+      .data.refcounted = {g_bytes + 77, 13}},
+     {.refcount = &grpc_static_metadata_refcounts[30],
+      .data.refcounted = {g_bytes + 366, 4}}},
+    {{.refcount = &grpc_static_metadata_refcounts[9],
+      .data.refcounted = {g_bytes + 77, 13}},
+     {.refcount = &grpc_static_metadata_refcounts[31],
+      .data.refcounted = {g_bytes + 370, 7}}},
+    {{.refcount = &grpc_static_metadata_refcounts[5],
+      .data.refcounted = {g_bytes + 36, 2}},
+     {.refcount = &grpc_static_metadata_refcounts[32],
+      .data.refcounted = {g_bytes + 377, 8}}},
+    {{.refcount = &grpc_static_metadata_refcounts[11],
+      .data.refcounted = {g_bytes + 110, 12}},
+     {.refcount = &grpc_static_metadata_refcounts[33],
+      .data.refcounted = {g_bytes + 385, 16}}},
+    {{.refcount = &grpc_static_metadata_refcounts[1],
+      .data.refcounted = {g_bytes + 5, 7}},
+     {.refcount = &grpc_static_metadata_refcounts[34],
+      .data.refcounted = {g_bytes + 401, 4}}},
+    {{.refcount = &grpc_static_metadata_refcounts[2],
+      .data.refcounted = {g_bytes + 12, 7}},
+     {.refcount = &grpc_static_metadata_refcounts[35],
+      .data.refcounted = {g_bytes + 405, 3}}},
+    {{.refcount = &grpc_static_metadata_refcounts[2],
+      .data.refcounted = {g_bytes + 12, 7}},
+     {.refcount = &grpc_static_metadata_refcounts[36],
+      .data.refcounted = {g_bytes + 408, 3}}},
+    {{.refcount = &grpc_static_metadata_refcounts[4],
+      .data.refcounted = {g_bytes + 29, 7}},
+     {.refcount = &grpc_static_metadata_refcounts[37],
+      .data.refcounted = {g_bytes + 411, 4}}},
+    {{.refcount = &grpc_static_metadata_refcounts[4],
+      .data.refcounted = {g_bytes + 29, 7}},
+     {.refcount = &grpc_static_metadata_refcounts[38],
+      .data.refcounted = {g_bytes + 415, 5}}},
+    {{.refcount = &grpc_static_metadata_refcounts[4],
+      .data.refcounted = {g_bytes + 29, 7}},
+     {.refcount = &grpc_static_metadata_refcounts[39],
+      .data.refcounted = {g_bytes + 420, 4}}},
+    {{.refcount = &grpc_static_metadata_refcounts[3],
+      .data.refcounted = {g_bytes + 19, 10}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[1],
+      .data.refcounted = {g_bytes + 5, 7}},
+     {.refcount = &grpc_static_metadata_refcounts[40],
+      .data.refcounted = {g_bytes + 424, 3}}},
+    {{.refcount = &grpc_static_metadata_refcounts[1],
+      .data.refcounted = {g_bytes + 5, 7}},
+     {.refcount = &grpc_static_metadata_refcounts[41],
+      .data.refcounted = {g_bytes + 427, 3}}},
+    {{.refcount = &grpc_static_metadata_refcounts[0],
+      .data.refcounted = {g_bytes + 0, 5}},
+     {.refcount = &grpc_static_metadata_refcounts[42],
+      .data.refcounted = {g_bytes + 430, 1}}},
+    {{.refcount = &grpc_static_metadata_refcounts[0],
+      .data.refcounted = {g_bytes + 0, 5}},
+     {.refcount = &grpc_static_metadata_refcounts[43],
+      .data.refcounted = {g_bytes + 431, 11}}},
+    {{.refcount = &grpc_static_metadata_refcounts[2],
+      .data.refcounted = {g_bytes + 12, 7}},
+     {.refcount = &grpc_static_metadata_refcounts[44],
+      .data.refcounted = {g_bytes + 442, 3}}},
+    {{.refcount = &grpc_static_metadata_refcounts[2],
+      .data.refcounted = {g_bytes + 12, 7}},
+     {.refcount = &grpc_static_metadata_refcounts[45],
+      .data.refcounted = {g_bytes + 445, 3}}},
+    {{.refcount = &grpc_static_metadata_refcounts[2],
+      .data.refcounted = {g_bytes + 12, 7}},
+     {.refcount = &grpc_static_metadata_refcounts[46],
+      .data.refcounted = {g_bytes + 448, 3}}},
+    {{.refcount = &grpc_static_metadata_refcounts[2],
+      .data.refcounted = {g_bytes + 12, 7}},
+     {.refcount = &grpc_static_metadata_refcounts[47],
+      .data.refcounted = {g_bytes + 451, 3}}},
+    {{.refcount = &grpc_static_metadata_refcounts[2],
+      .data.refcounted = {g_bytes + 12, 7}},
+     {.refcount = &grpc_static_metadata_refcounts[48],
+      .data.refcounted = {g_bytes + 454, 3}}},
+    {{.refcount = &grpc_static_metadata_refcounts[49],
+      .data.refcounted = {g_bytes + 457, 14}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[50],
+      .data.refcounted = {g_bytes + 471, 15}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[50],
+      .data.refcounted = {g_bytes + 471, 15}},
+     {.refcount = &grpc_static_metadata_refcounts[51],
+      .data.refcounted = {g_bytes + 486, 13}}},
+    {{.refcount = &grpc_static_metadata_refcounts[52],
+      .data.refcounted = {g_bytes + 499, 15}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[53],
+      .data.refcounted = {g_bytes + 514, 13}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[54],
+      .data.refcounted = {g_bytes + 527, 6}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[55],
+      .data.refcounted = {g_bytes + 533, 27}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[56],
+      .data.refcounted = {g_bytes + 560, 3}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[57],
+      .data.refcounted = {g_bytes + 563, 5}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[58],
+      .data.refcounted = {g_bytes + 568, 13}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[59],
+      .data.refcounted = {g_bytes + 581, 13}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[60],
+      .data.refcounted = {g_bytes + 594, 19}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[61],
+      .data.refcounted = {g_bytes + 613, 16}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[62],
+      .data.refcounted = {g_bytes + 629, 16}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[63],
+      .data.refcounted = {g_bytes + 645, 14}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[64],
+      .data.refcounted = {g_bytes + 659, 16}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[65],
+      .data.refcounted = {g_bytes + 675, 13}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[11],
+      .data.refcounted = {g_bytes + 110, 12}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[66],
+      .data.refcounted = {g_bytes + 688, 6}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[67],
+      .data.refcounted = {g_bytes + 694, 4}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[68],
+      .data.refcounted = {g_bytes + 698, 4}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[69],
+      .data.refcounted = {g_bytes + 702, 6}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[70],
+      .data.refcounted = {g_bytes + 708, 7}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[71],
+      .data.refcounted = {g_bytes + 715, 4}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[14],
+      .data.refcounted = {g_bytes + 162, 4}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[72],
+      .data.refcounted = {g_bytes + 719, 8}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[73],
+      .data.refcounted = {g_bytes + 727, 17}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[74],
+      .data.refcounted = {g_bytes + 744, 13}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[75],
+      .data.refcounted = {g_bytes + 757, 8}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[76],
+      .data.refcounted = {g_bytes + 765, 19}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[77],
+      .data.refcounted = {g_bytes + 784, 13}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[15],
+      .data.refcounted = {g_bytes + 166, 8}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[16],
+      .data.refcounted = {g_bytes + 174, 11}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[78],
+      .data.refcounted = {g_bytes + 797, 4}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[79],
+      .data.refcounted = {g_bytes + 801, 8}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[80],
+      .data.refcounted = {g_bytes + 809, 12}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[81],
+      .data.refcounted = {g_bytes + 821, 18}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[82],
+      .data.refcounted = {g_bytes + 839, 19}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[83],
+      .data.refcounted = {g_bytes + 858, 5}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[84],
+      .data.refcounted = {g_bytes + 863, 7}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[85],
+      .data.refcounted = {g_bytes + 870, 7}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[86],
+      .data.refcounted = {g_bytes + 877, 11}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[87],
+      .data.refcounted = {g_bytes + 888, 6}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[88],
+      .data.refcounted = {g_bytes + 894, 10}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[89],
+      .data.refcounted = {g_bytes + 904, 25}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[90],
+      .data.refcounted = {g_bytes + 929, 17}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[13],
+      .data.refcounted = {g_bytes + 152, 10}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[91],
+      .data.refcounted = {g_bytes + 946, 4}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[92],
+      .data.refcounted = {g_bytes + 950, 3}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[93],
+      .data.refcounted = {g_bytes + 953, 16}},
+     {.refcount = &grpc_static_metadata_refcounts[20],
+      .data.refcounted = {g_bytes + 227, 0}}},
+    {{.refcount = &grpc_static_metadata_refcounts[10],
+      .data.refcounted = {g_bytes + 90, 20}},
+     {.refcount = &grpc_static_metadata_refcounts[29],
+      .data.refcounted = {g_bytes + 358, 8}}},
+    {{.refcount = &grpc_static_metadata_refcounts[10],
+      .data.refcounted = {g_bytes + 90, 20}},
+     {.refcount = &grpc_static_metadata_refcounts[31],
+      .data.refcounted = {g_bytes + 370, 7}}},
+    {{.refcount = &grpc_static_metadata_refcounts[10],
+      .data.refcounted = {g_bytes + 90, 20}},
+     {.refcount = &grpc_static_metadata_refcounts[94],
+      .data.refcounted = {g_bytes + 969, 16}}},
+    {{.refcount = &grpc_static_metadata_refcounts[10],
+      .data.refcounted = {g_bytes + 90, 20}},
+     {.refcount = &grpc_static_metadata_refcounts[30],
+      .data.refcounted = {g_bytes + 366, 4}}},
+    {{.refcount = &grpc_static_metadata_refcounts[10],
+      .data.refcounted = {g_bytes + 90, 20}},
+     {.refcount = &grpc_static_metadata_refcounts[95],
+      .data.refcounted = {g_bytes + 985, 13}}},
+    {{.refcount = &grpc_static_metadata_refcounts[10],
+      .data.refcounted = {g_bytes + 90, 20}},
+     {.refcount = &grpc_static_metadata_refcounts[96],
+      .data.refcounted = {g_bytes + 998, 12}}},
+    {{.refcount = &grpc_static_metadata_refcounts[10],
+      .data.refcounted = {g_bytes + 90, 20}},
+     {.refcount = &grpc_static_metadata_refcounts[97],
       .data.refcounted = {g_bytes + 1010, 21}}},
 };
 #define BATCH_PHASHLEN 0x10
diff --git a/src/core/lib/transport/static_metadata.h b/src/core/lib/transport/static_metadata.h
index 82af892..e03bf24 100644
--- a/src/core/lib/transport/static_metadata.h
+++ b/src/core/lib/transport/static_metadata.h
@@ -249,7 +249,18 @@
 
 bool grpc_is_static_metadata_string(grpc_slice slice);
 
-int grpc_static_metadata_index(grpc_slice slice);
+extern const grpc_slice_refcount_vtable grpc_static_metadata_vtable;
+extern grpc_slice_refcount
+    grpc_static_metadata_refcounts[GRPC_STATIC_MDSTR_COUNT];
+bool grpc_is_static_metadata_string(grpc_slice slice) {
+  return slice.refcount != NULL &&
+         slice.refcount->vtable == &grpc_static_metadata_vtable;
+}
+
+inline int grpc_static_metadata_index(grpc_slice slice) {
+  return (int)(slice.refcount - grpc_static_metadata_refcounts);
+}
+
 #define GRPC_STATIC_MDELEM_COUNT 81
 extern grpc_mdelem_data grpc_static_mdelem_table[GRPC_STATIC_MDELEM_COUNT];
 extern uintptr_t grpc_static_mdelem_user_data[GRPC_STATIC_MDELEM_COUNT];
diff --git a/tools/codegen/core/gen_static_metadata.py b/tools/codegen/core/gen_static_metadata.py
index a0b06ed..027719f 100755
--- a/tools/codegen/core/gen_static_metadata.py
+++ b/tools/codegen/core/gen_static_metadata.py
@@ -331,7 +331,7 @@
   id2strofs[i] = str_ofs
   str_ofs += len(elem);
 def slice_def(i):
-  return '{.refcount = &g_refcnts[%d].base, .data.refcounted = {g_bytes+%d, %d}}' % (i, id2strofs[i], len(all_strs[i]))
+  return '{.refcount = &grpc_static_metadata_refcounts[%d], .data.refcounted = {g_bytes+%d, %d}}' % (i, id2strofs[i], len(all_strs[i]))
 
 # validate configuration
 for elem in METADATA_BATCH_CALLOUTS:
@@ -349,29 +349,29 @@
 print >>C
 print >>C, 'static void static_ref(void *unused) {}'
 print >>C, 'static void static_unref(grpc_exec_ctx *exec_ctx, void *unused) {}'
-print >>C, 'static const grpc_slice_refcount_vtable static_vtable = {static_ref, static_unref, grpc_static_slice_eq, grpc_static_slice_hash};';
-print >>C, 'typedef struct { grpc_slice_refcount base; const uint16_t offset; const uint16_t length; } static_slice_refcount;'
-print >>C, 'static static_slice_refcount g_refcnts[GRPC_STATIC_MDSTR_COUNT] = {'
+print >>C, 'static const grpc_slice_refcount_vtable static_sub_vtable = {static_ref, static_unref, grpc_slice_default_eq_impl, grpc_slice_default_hash_impl};';
+print >>H, 'extern const grpc_slice_refcount_vtable grpc_static_metadata_vtable;';
+print >>C, 'const grpc_slice_refcount_vtable grpc_static_metadata_vtable = {static_ref, static_unref, grpc_static_slice_eq, grpc_static_slice_hash};';
+print >>C, 'static grpc_slice_refcount static_sub_refcnt = {&static_sub_vtable, &static_sub_refcnt};';
+print >>H, 'extern grpc_slice_refcount grpc_static_metadata_refcounts[GRPC_STATIC_MDSTR_COUNT];'
+print >>C, 'grpc_slice_refcount grpc_static_metadata_refcounts[GRPC_STATIC_MDSTR_COUNT] = {'
 for i, elem in enumerate(all_strs):
-  print >>C, '  {{&static_vtable}, %d, %d},' % (id2strofs[i], len(elem))
+  print >>C, '  {&grpc_static_metadata_vtable, &static_sub_refcnt},'
 print >>C, '};'
 print >>C
-print >>C, 'bool grpc_is_static_metadata_string(grpc_slice slice) {'
-print >>C, '  return slice.refcount != NULL && slice.refcount->vtable == &static_vtable;'
-print >>C, '}'
-print >>C
+print >>H, 'bool grpc_is_static_metadata_string(grpc_slice slice) {'
+print >>H, '  return slice.refcount != NULL && slice.refcount->vtable == &grpc_static_metadata_vtable;'
+print >>H, '}'
+print >>H
 print >>C, 'const grpc_slice grpc_static_slice_table[GRPC_STATIC_MDSTR_COUNT] = {'
 for i, elem in enumerate(all_strs):
   print >>C, slice_def(i) + ','
 print >>C, '};'
 print >>C
-print >>H, 'int grpc_static_metadata_index(grpc_slice slice);'
-print >>C, 'int grpc_static_metadata_index(grpc_slice slice) {'
-print >>C, '  static_slice_refcount *r = (static_slice_refcount *)slice.refcount;'
-print >>C, '  if (slice.data.refcounted.bytes == g_bytes + r->offset && slice.data.refcounted.length == r->length) return (int)(r - g_refcnts);'
-print >>C, '  return -1;'
-print >>C, '}'
-print >>C
+print >>H, 'inline int grpc_static_metadata_index(grpc_slice slice) {'
+print >>H, '  return (int)(slice.refcount - grpc_static_metadata_refcounts);'
+print >>H, '}'
+print >>H
 
 print >>D, '# hpack fuzzing dictionary'
 for i, elem in enumerate(all_strs):