# length checks
com.oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo.foo
com.example.oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
com.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.foo

# invliad examples
com.example.foo.*
com.example.foo.blah*
com.example.foo.*blah
com.example.f00
com.exa💩ple.thing
a-0.b-1.c-3
a-0.b-1.c-o
a0.b1.c3
1.0.0.127.record
0two.example.foo
example.com
com.example
a.
.one.two.three
one.two.three 
one.two..three
one .two.three
 one.two.three
com.exa💩ple.thing
com.atproto.feed.p@st
com.atproto.feed.p_st
com.atproto.feed.p*st
com.atproto.feed.po#t
com.atproto.feed.p!ot
com.example-.foo

