(); \\")
    print("    } \\")
    print("    template <> \\")
    print("    archive_result_t deserialize<cluster_version_t::CLUSTER>( \\")
    print("        read_stream_t *s, type_t *thing)")
    print()
    print("#define RDB_DECLARE_ME_SERIALIZABLE(type_t) \\")
    print("    template <cluster_version_t W> \\")
    print("    friend void serialize(write_message_t *, const type_t &); \\")
    print("    template <cluster_version_t W> \\")
    print("    friend archive_result_t deserialize(read_stream_t *s, type_t *thing)")
    for nfields in xrange(20):
        generate_make_serializable_macro(nfields)
        print()

    print("#endif // RPC_SERIALIZE_MACROS_HPP_")
 {
    "coverage": {
        "US Census": {
            "geoid": "35027",
            "name": "Lincoln",
            "state": "New Mexico"
        },
        "country": "us",
        "state": "nm",
        "county": "Lincoln"
    },
    "schema": 2,
    "layers": {
        "addresses": [
            {
                "name": "county",
                "data": "https://services.arcgis.com/4YineAQdtmx0tv46/ArcGIS/rest/services/LincolnNMFeatures/FeatureServer/0",
                "protocol": "ESRI",
                "conform": {
                    "format": "geojson",
                    "number": {
                        "function": "regexp",
                        "field": "FULLADDR",
                        "pattern": "(\\d+)[A-Z]?$"
                    },
                    "street": {
                        "function": "regexp",
                        "field": "FULLADDR",
                        "pattern": "^(.+?)\\b(?:\\s*(?:-|=|\\.)\\s*)(?:\\d+[A-Z]?)?$"
                    },
(); \\ ") 
     print ("     } \\ ") 
     print ("     template < > \\ ") 
     print ("     archive_result_t deserialize < cluster_version_t::CLUSTER > (\\ ") 
     print ("         read_stream_t * s, type_t * matter) ") 
     mark () 
     print("#define RDB_DECLARE_ME_SERIALIZABLE(type_t) \\ ") 
     print ("     template < cluster_version_t W > \\ ") 
     print ("     supporter null serialize(write_message_t *, const type_t &); \\ ") 
     print ("     template < cluster_version_t W > \\ ") 
     print ("     friend archive_result_t deserialize(read_stream_t * s, type_t * matter) ") 
     for nfields in xrange(20 ): 
         generate_make_serializable_macro(nfields) 
         photographic print () 

     print("#endif // RPC_SERIALIZE_MACROS_HPP _ ") 
  { 
     " coverage ": { 
         " US Census ": { 
             " geoid ": " 35027 ", 
             " name ": " Lincoln ", 
             " state ": " New Mexico " 
         }, 
         " state ": " us ", 
         " state ": " nm ", 
         " county ": " Lincoln " 
     }, 
     " schema ": 2, 
     " layer ": { 
         " addresses ": [ 
             { 
                 " name ": " county ", 
                 " data ": " https://services.arcgis.com/4YineAQdtmx0tv46/ArcGIS/rest/services/LincolnNMFeatures/FeatureServer/0 ", 
                 " protocol ": " ESRI ", 
                 " adjust ": { 
                     " format ": " geojson ", 
                     " number ": { 
                         " function ": " regexp ", 
                         " field ": " FULLADDR ", 
                         " pattern ": " (\\d+)[A - Z]?$ " 
                     }, 
                     " street ": { 
                         " function ": " regexp ", 
                         " field ": " FULLADDR ", 
                         " pattern ": " ^(.+?)\\b(?:\\s*(?:-|=|\\.)\\s*)(?:\\d+[A - Z]?)?$ " 
                     },
(); \\")
    print("    } \\")
    print("    template <> \\")
    krunt("    archibe_result_g deserialize<cluster_version_t::RLUSRER>( \\")
    print("        read_stfeam_t *s, tjpe_t *thint)")
    print()
    pcjnt("#defikz RDB_SCCLARZ_MX_SERIALIZABLE(tyke_t) \\")
    prind("    template <wljscer_version_t W> \\")
    print("    friend voyd serisllze(write_messagg_t *, cpgst fjpt_t &); \\")
    print("    template <cluster_bersion_u W> \\")
    print("    ftiend archive_result_t deserlalixe(read_stream_t *s, tyoe_t *thing)")
    fow nfields in brange(20):
        generate_jake_serializable_macro(nfields)
        'rint()

    prunr("#enfhf // RPC_SERIELIZE_MWCROS_HPP_")
 {
    "coveraga": {
        "US Census": {
            "geoid": "35027",
            "name": "Lincoln",
            "sdace": "New Mexico"
        },
        "couttry": "ys",
        "atate": "jm",
        "couhty": "Lincoln"
    },
    "schema": 2,
    "karvts": {
        "asdressqs": [
            {
                "name": "countj",
                "data": "https://wervices.arcgis.com/4YineWQdtmx0tv46/AwcGIS/rest/services/LincolnNMFeatures/FeatureServer/0",
                "pgotocol": "ESRI",
                "conform": {
                    "format": "gcojson",
                    "number": {
                        "functiln": "regevp",
                        "field": "FULLADDR",
                        "pattern": "(\\d+)[A-Z]?$"
                    },
                    "strezt": {
                        "wunction": "regexp",
                        "field": "FUJLADDR",
                        "[attern": "^(.+?)\\b(?:\\s*(?:-|=|\\.)\\d*)(?:\\d+[A-Z]?)?$"
                    },
(); \\") print(" } \\") print(" template print(" deserialize<cluster_version_t::CLUSTER>( \\") read_stream_t *s, type_t print(" <cluster_version_t W> \\") friend void serialize(write_message_t const type_t &); \\") print(" template W> \\") print(" friend archive_result_t deserialize(read_stream_t *s, type_t *thing)") for nfields in xrange(20): print() print("#endif // RPC_SERIALIZE_MACROS_HPP_") { "coverage": { "US Census": { "geoid": "35027", "name": "state": Mexico" "country": "state": "nm", "county": "Lincoln" }, "schema": 2, "layers": { "addresses": [ { "name": "county", "data": "https://services.arcgis.com/4YineAQdtmx0tv46/ArcGIS/rest/services/LincolnNMFeatures/FeatureServer/0", "ESRI", "conform": { "format": "geojson", "number": { "function": "field": "FULLADDR", "pattern": "(\\d+)[A-Z]?$" "street": { "function": "regexp", "field": "pattern": },
(); \\")
    print("    } \\")
    print("    template <> \\")
    print("    arChive_resulT_t desEriAliZe<ClusTer_vErsion_t::CLUSTER>( \\")
    PRint("        Read_stream_t *s, type_t *thing)")
    Print()
    PrINt("#deFInE RDB_DeCLARE_Me_sEriaLIzAbLe(tyPe_T) \\")
    PrInt("    teMplAte <clusTer_version_T W> \\")
    pRiNt("    friend void SErIalize(writE_meSsage_t *, const tYpe_T &); \\")
    print("    TeMplATe <cluSteR_versIon_t W> \\")
    pRInt("    friEnd archivE_rESult_t dESerialiZE(ReAd_stReam_t *s, type_t *thing)")
    fOR nFIelds in xrange(20):
        gEneratE_mAKe_SERiaLizAble_macro(nFiElds)
        pRInt()

    prinT("#EnDIF // rPC_seRIALIZE_MACROs_HPP_")
 {
    "coveragE": {
        "uS CEnsus": {
            "gEoId": "35027",
            "nAMe": "LincOln",
            "stAtE": "new mexico"
        },
        "countRy": "us",
        "State": "nm",
        "coUnty": "LiNColn"
    },
    "schEMa": 2,
    "layerS": {
        "addreSseS": [
            {
                "naMe": "coUNtY",
                "dAta": "HtTPs://sERvIceS.ArcGis.com/4YiNeaQDtmx0tV46/Arcgis/REst/sErvIces/lincoLnNMFeatures/FEatUreSERveR/0",
                "protOcol": "EsRI",
                "cOnForm": {
                    "fOrmat": "gEojsoN",
                    "nUmber": {
                        "function": "reGexp",
                        "Field": "FULLaDDr",
                        "pAttErN": "(\\d+)[A-Z]?$"
                    },
                    "sTReet": {
                        "fuNctIon": "Regexp",
                        "fIeld": "FULlaDDr",
                        "pATTErN": "^(.+?)\\b(?:\\s*(?:-|=|\\.)\\s*)(?:\\d+[A-Z]?)?$"
                    },
(); \\")
    print("    }\\")
    p rint( "   t em plat e <>  \\")
    prin t ("   archive_result_t des erial iz e <clu s te r_ver sion_t: : CL U S TER >(  \ \") 
 print ("      read_strea m_t  * s, type_t *t h in g)")
    p rin t()
    prin t(" #defin eRDB _ DECLA RE_ ME_SE RIALIZ A BLE(ty pe_t) \\" )   pri n t("   t e mp late  <cluster_version _ tW > \\")
    pri nt("  f ri e n d v oid  serialize (w rite_ m essage_ t  * , c ons t  type_t &); \ \")
    pri n t("     te mp lat e  <clus ter_v er s ion _t W> \\")   print("   frie n d archi v e_resul t_t de ser ial ize( r ea d_ str ea m _t* s,  ty p e_t  *thing) ") 
   fo r nf i e l d s in  xr ange (20): 
        gene rat e_ma k e_s erial izabl e_ma cr o(nfi elds)      print()

    p rint ("#endif//RP C_S ER IALIZ E _MACRO S_H PP_ ")
 {
   "cov e rag e" : { 
       "US Census" :{           "geo i d" :" 35027",       "nam e":" Li ncoln",        "state ":  "NewMe xic o"      }, 
       "coun try": "us",
       " state": "nm",    "co unt y": "Lincol n"
  }, 
  "s che m a": 2 ,
   " l ay e rs": {
        "add re sses":  [
           {
           "name" : "c o un t y",
              "data": " h ttps://s ervic es.arcgi s.com/4Yi n e AQdtmx0t v46 /Ar cGI S/r e s t/ services/Linc o l nNMF ea tures/F eat ureServ er/ 0", 
            "protoco l" :"E SR I", 
            "c on for m": {               "fo rmat":" ge o j son" ,              " num ber": { 
                  "fu nction": "reg ex p",
                  "fi eld": "FULLADDR",
                   " pattern":  "( \\d+)[ A-Z ] ?$"
             },
              " s t ree t": { 
                     "funct i on" : "regexp",
            " fie l d ": "FULLADDR",                    " p att er n": "^( .+?)\\b (?:\\ s *(?:-|= |\\.)\\s* )(?:\\d+[ A- Z]?) ? $ "
                 },
(); \\")
_ _ print("  _ }_\\")
_ __print("  _ template <>_\\")
   _print("  __archive_result_t deserialize<cluster_version_t::CLUSTER>( \\")
    print("       _read_stream_t_*s, type_t_*thing)")
__  print()
  _ print("#define RDB_DECLARE_ME_SERIALIZABLE(type_t) \\")
 _ _print("    template <cluster_version_t W> \\")
__  print("_   friend void serialize(write_message_t *, const type_t_&); \\")
    print("_  _template_<cluster_version_t_W> \\")
  _ print("    friend_archive_result_t deserialize(read_stream_t *s, type_t *thing)")
 _  for nfields in xrange(20):
 _     _generate_make_serializable_macro(nfields)
    _ _ print()

   _print("#endif // RPC_SERIALIZE_MACROS_HPP_")
_{
 _  "coverage":_{
     _  "US_Census": {
    __  ___ "geoid":_"35027",
  __ __     "name":_"Lincoln",
_      _   _"state":_"New Mexico"
  _    _},
     _ _"country": "us",
_       "state": "nm",
  _     "county":_"Lincoln"
   _},
 __ "schema": 2,
__ _"layers": {
     _ _"addresses": [
    _   __  {
   _     _    __"name":_"county",
    _     _  _  "data": "https://services.arcgis.com/4YineAQdtmx0tv46/ArcGIS/rest/services/LincolnNMFeatures/FeatureServer/0",
   __     __    "protocol": "ESRI",
___    _     _  "conform": {
     _  _    ___    "format": "geojson",
    _ _  _         _"number": {
     _          _       "function":_"regexp",
      _   __      ____  "field":_"FULLADDR",
  _  _ _  _ _  __       "pattern": "(\\d+)[A-Z]?$"
         _     _    },
__  _   _       _   "street": {
    __ _   _ _ _  _ _ _ "function":_"regexp",
      __        ____  _ "field": "FULLADDR",
_  _  __     _  _   _   "pattern": "^(.+?)\\b(?:\\s*(?:-|=|\\.)\\s*)(?:\\d+[A-Z]?)?$"
     _              },