#######################################################
#
# Check splayclass - requires familiaity with internals
# See associated C file to generate mutually exclusive classes
#
#######################################################
body common control
{
  inputs => { "../../default.sub.cf" };
  bundlesequence => { default("$(this.promise_filename)") };
  version => "1.0";
}

bundle common g
{
  classes:
    "classtotest" expression => "any";
}

#######################################################
bundle agent init
{
  vars:
    "dummy" string => "dummy";
}

#######################################################
bundle agent test
{
  vars:
    "dummy" string => "dummy";
}

#######################################################
bundle agent check
{
  classes:
    # The program 028.c generates this list, and exactly 1 class will
    # be True at any time of day
    "ok"
      xor => {
        splayclass("AT", "daily"),
        # Box 0
        splayclass("AA", "daily"),
        # Box 1
        splayclass("AH", "daily"),
        # Box 2
        splayclass("AZ", "daily"),
        # Box 3
        splayclass("Cd", "daily"),
        # Box 4
        splayclass("CV", "daily"),
        # Box 5
        splayclass("Am", "daily"),
        # Box 6
        splayclass("EH", "daily"),
        # Box 7
        splayclass("Bh", "daily"),
        # Box 8
        splayclass("HF", "daily"),
        # Box 9
        splayclass("Bz", "daily"),
        # Box 10
        splayclass("CM", "daily"),
        # Box 11
        splayclass("OR", "daily"),
        # Box 12
        splayclass("FK", "daily"),
        # Box 13
        splayclass("Ay", "daily"),
        # Box 14
        splayclass("Cc", "daily"),
        # Box 15
        splayclass("IF", "daily"),
        # Box 16
        splayclass("IA", "daily"),
        # Box 17
        splayclass("HP", "daily"),
        # Box 18
        splayclass("Et", "daily"),
        # Box 19
        splayclass("Ga", "daily"),
        # Box 20
        splayclass("EF", "daily"),
        # Box 21
        splayclass("DS", "daily"),
        # Box 22
        splayclass("Ee", "daily"),
        # Box 23
        splayclass("BI", "daily"),
        # Box 24
        splayclass("CH", "daily"),
        # Box 25
        splayclass("AS", "daily"),
        # Box 26
        splayclass("Gd", "daily"),
        # Box 27
        splayclass("Dm", "daily"),
        # Box 28
        splayclass("CA", "daily"),
        # Box 29
        splayclass("FZ", "daily"),
        # Box 30
        splayclass("Gv", "daily"),
        # Box 31
        splayclass("ES", "daily"),
        # Box 32
        splayclass("Db", "daily"),
        # Box 33
        splayclass("BS", "daily"),
        # Box 34
        splayclass("KP", "daily"),
        # Box 35
        splayclass("EZ", "daily"),
        # Box 36
        splayclass("Ax", "daily"),
        # Box 37
        splayclass("An", "daily"),
        # Box 38
        splayclass("Mq", "daily"),
        # Box 39
        splayclass("Bw", "daily"),
        # Box 40
        splayclass("BL", "daily"),
        # Box 41
        splayclass("AI", "daily"),
        # Box 42
        splayclass("CN", "daily"),
        # Box 43
        splayclass("Aw", "daily"),
        # Box 44
        splayclass("Ce", "daily"),
        # Box 45
        splayclass("Mh", "daily"),
        # Box 46
        splayclass("Gs", "daily"),
        # Box 47
        splayclass("He", "daily"),
        # Box 48
        splayclass("Ex", "daily"),
        # Box 49
        splayclass("KJ", "daily"),
        # Box 50
        splayclass("GN", "daily"),
        # Box 51
        splayclass("Bm", "daily"),
        # Box 52
        splayclass("Iy", "daily"),
        # Box 53
        splayclass("JG", "daily"),
        # Box 54
        splayclass("Po", "daily"),
        # Box 55
        splayclass("CF", "daily"),
        # Box 56
        splayclass("Fg", "daily"),
        # Box 57
        splayclass("KQ", "daily"),
        # Box 58
        splayclass("AB", "daily"),
        # Box 59
        splayclass("Cq", "daily"),
        # Box 60
        splayclass("KX", "daily"),
        # Box 61
        splayclass("ER", "daily"),
        # Box 62
        splayclass("De", "daily"),
        # Box 63
        splayclass("Fn", "daily"),
        # Box 64
        splayclass("Bn", "daily"),
        # Box 65
        splayclass("DZ", "daily"),
        # Box 66
        splayclass("DA", "daily"),
        # Box 67
        splayclass("Ag", "daily"),
        # Box 68
        splayclass("Bi", "daily"),
        # Box 69
        splayclass("Ki", "daily"),
        # Box 70
        splayclass("Kw", "daily"),
        # Box 71
        splayclass("Ed", "daily"),
        # Box 72
        splayclass("In", "daily"),
        # Box 73
        splayclass("CC", "daily"),
        # Box 74
        splayclass("Dy", "daily"),
        # Box 75
        splayclass("OB", "daily"),
        # Box 76
        splayclass("DU", "daily"),
        # Box 77
        splayclass("Cj", "daily"),
        # Box 78
        splayclass("EC", "daily"),
        # Box 79
        splayclass("Gr", "daily"),
        # Box 80
        splayclass("AO", "daily"),
        # Box 81
        splayclass("Bf", "daily"),
        # Box 82
        splayclass("Gk", "daily"),
        # Box 83
        splayclass("AX", "daily"),
        # Box 84
        splayclass("Ar", "daily"),
        # Box 85
        splayclass("Hq", "daily"),
        # Box 86
        splayclass("Ac", "daily"),
        # Box 87
        splayclass("BG", "daily"),
        # Box 88
        splayclass("Dq", "daily"),
        # Box 89
        splayclass("AY", "daily"),
        # Box 90
        splayclass("BY", "daily"),
        # Box 91
        splayclass("Cn", "daily"),
        # Box 92
        splayclass("BJ", "daily"),
        # Box 93
        splayclass("Yu", "daily"),
        # Box 94
        splayclass("DC", "daily"),
        # Box 95
        splayclass("Dd", "daily"),
        # Box 96
        splayclass("Ca", "daily"),
        # Box 97
        splayclass("Kc", "daily"),
        # Box 98
        splayclass("Op", "daily"),
        # Box 99
        splayclass("PV", "daily"),
        # Box 100
        splayclass("MJ", "daily"),
        # Box 101
        splayclass("GE", "daily"),
        # Box 102
        splayclass("EJ", "daily"),
        # Box 103
        splayclass("Hh", "daily"),
        # Box 104
        splayclass("CJ", "daily"),
        # Box 105
        splayclass("Ev", "daily"),
        # Box 106
        splayclass("Cw", "daily"),
        # Box 107
        splayclass("Cb", "daily"),
        # Box 108
        splayclass("Eh", "daily"),
        # Box 109
        splayclass("Bt", "daily"),
        # Box 110
        splayclass("EB", "daily"),
        # Box 111
        splayclass("Fo", "daily"),
        # Box 112
        splayclass("Nb", "daily"),
        # Box 113
        splayclass("HG", "daily"),
        # Box 114
        splayclass("KD", "daily"),
        # Box 115
        splayclass("DW", "daily"),
        # Box 116
        splayclass("Ak", "daily"),
        # Box 117
        splayclass("Cp", "daily"),
        # Box 118
        splayclass("Ae", "daily"),
        # Box 119
        splayclass("Bg", "daily"),
        # Box 120
        splayclass("Qq", "daily"),
        # Box 121
        splayclass("PC", "daily"),
        # Box 122
        splayclass("CL", "daily"),
        # Box 123
        splayclass("HA", "daily"),
        # Box 124
        splayclass("Aq", "daily"),
        # Box 125
        splayclass("Ef", "daily"),
        # Box 126
        splayclass("PJ", "daily"),
        # Box 127
        splayclass("BA", "daily"),
        # Box 128
        splayclass("Dp", "daily"),
        # Box 129
        splayclass("DK", "daily"),
        # Box 130
        splayclass("Gq", "daily"),
        # Box 131
        splayclass("GW", "daily"),
        # Box 132
        splayclass("Hp", "daily"),
        # Box 133
        splayclass("BK", "daily"),
        # Box 134
        splayclass("NY", "daily"),
        # Box 135
        splayclass("NP", "daily"),
        # Box 136
        splayclass("CB", "daily"),
        # Box 137
        splayclass("CI", "daily"),
        # Box 138
        splayclass("AR", "daily"),
        # Box 139
        splayclass("Pb", "daily"),
        # Box 140
        splayclass("Co", "daily"),
        # Box 141
        splayclass("Ms", "daily"),
        # Box 142
        splayclass("Oq", "daily"),
        # Box 143
        splayclass("Pt", "daily"),
        # Box 144
        splayclass("RQ", "daily"),
        # Box 145
        splayclass("AF", "daily"),
        # Box 146
        splayclass("Fs", "daily"),
        # Box 147
        splayclass("DO", "daily"),
        # Box 148
        splayclass("Cu", "daily"),
        # Box 149
        splayclass("Ds", "daily"),
        # Box 150
        splayclass("Tv", "daily"),
        # Box 151
        splayclass("Ys", "daily"),
        # Box 152
        splayclass("BW", "daily"),
        # Box 153
        splayclass("BP", "daily"),
        # Box 154
        splayclass("cV", "daily"),
        # Box 155
        splayclass("DE", "daily"),
        # Box 156
        splayclass("Fz", "daily"),
        # Box 157
        splayclass("EM", "daily"),
        # Box 158
        splayclass("DL", "daily"),
        # Box 159
        splayclass("cM", "daily"),
        # Box 160
        splayclass("BD", "daily"),
        # Box 161
        splayclass("Bd", "daily"),
        # Box 162
        splayclass("GC", "daily"),
        # Box 163
        splayclass("AE", "daily"),
        # Box 164
        splayclass("Ho", "daily"),
        # Box 165
        splayclass("JE", "daily"),
        # Box 166
        splayclass("CZ", "daily"),
        # Box 167
        splayclass("RG", "daily"),
        # Box 168
        splayclass("As", "daily"),
        # Box 169
        splayclass("Ai", "daily"),
        # Box 170
        splayclass("IT", "daily"),
        # Box 171
        splayclass("Cg", "daily"),
        # Box 172
        splayclass("Cl", "daily"),
        # Box 173
        splayclass("JS", "daily"),
        # Box 174
        splayclass("FO", "daily"),
        # Box 175
        splayclass("HO", "daily"),
        # Box 176
        splayclass("Bq", "daily"),
        # Box 177
        splayclass("OH", "daily"),
        # Box 178
        splayclass("DN", "daily"),
        # Box 179
        splayclass("Hx", "daily"),
        # Box 180
        splayclass("CK", "daily"),
        # Box 181
        splayclass("NC", "daily"),
        # Box 182
        splayclass("PO", "daily"),
        # Box 183
        splayclass("Dz", "daily"),
        # Box 184
        splayclass("Eq", "daily"),
        # Box 185
        splayclass("AG", "daily"),
        # Box 186
        splayclass("Ke", "daily"),
        # Box 187
        splayclass("DT", "daily"),
        # Box 188
        splayclass("EY", "daily"),
        # Box 189
        splayclass("BE", "daily"),
        # Box 190
        splayclass("Br", "daily"),
        # Box 191
        splayclass("Qk", "daily"),
        # Box 192
        splayclass("Jw", "daily"),
        # Box 193
        splayclass("KM", "daily"),
        # Box 194
        splayclass("AP", "daily"),
        # Box 195
        splayclass("DY", "daily"),
        # Box 196
        splayclass("Jz", "daily"),
        # Box 197
        splayclass("Hi", "daily"),
        # Box 198
        splayclass("AM", "daily"),
        # Box 199
        splayclass("WQ", "daily"),
        # Box 200
        splayclass("Cv", "daily"),
        # Box 201
        splayclass("BQ", "daily"),
        # Box 202
        splayclass("Fu", "daily"),
        # Box 203
        splayclass("CR", "daily"),
        # Box 204
        splayclass("JQ", "daily"),
        # Box 205
        splayclass("FN", "daily"),
        # Box 206
        splayclass("QW", "daily"),
        # Box 207
        splayclass("Fb", "daily"),
        # Box 208
        splayclass("DB", "daily"),
        # Box 209
        splayclass("OI", "daily"),
        # Box 210
        splayclass("Ei", "daily"),
        # Box 211
        splayclass("FY", "daily"),
        # Box 212
        splayclass("Cm", "daily"),
        # Box 213
        splayclass("IE", "daily"),
        # Box 214
        splayclass("HM", "daily"),
        # Box 215
        splayclass("BN", "daily"),
        # Box 216
        splayclass("BT", "daily"),
        # Box 217
        splayclass("HD", "daily"),
        # Box 218
        splayclass("GK", "daily"),
        # Box 219
        splayclass("BB", "daily"),
        # Box 220
        splayclass("Bo", "daily"),
        # Box 221
        splayclass("EV", "daily"),
        # Box 222
        splayclass("Ht", "daily"),
        # Box 223
        splayclass("BM", "daily"),
        # Box 224
        splayclass("Lk", "daily"),
        # Box 225
        splayclass("Er", "daily"),
        # Box 226
        splayclass("AD", "daily"),
        # Box 227
        splayclass("GI", "daily"),
        # Box 228
        splayclass("SX", "daily"),
        # Box 229
        splayclass("JH", "daily"),
        # Box 230
        splayclass("IZ", "daily"),
        # Box 231
        splayclass("Cs", "daily"),
        # Box 232
        splayclass("Ym", "daily"),
        # Box 233
        splayclass("DI", "daily"),
        # Box 234
        splayclass("Oo", "daily"),
        # Box 235
        splayclass("LK", "daily"),
        # Box 236
        splayclass("DX", "daily"),
        # Box 237
        splayclass("HR", "daily"),
        # Box 238
        splayclass("Fj", "daily"),
        # Box 239
        splayclass("XC", "daily"),
        # Box 240
        splayclass("AV", "daily"),
        # Box 241
        splayclass("AC", "daily"),
        # Box 242
        splayclass("CW", "daily"),
        # Box 243
        splayclass("AJ", "daily"),
        # Box 244
        splayclass("Av", "daily"),
        # Box 245
        splayclass("CX", "daily"),
        # Box 246
        splayclass("ED", "daily"),
        # Box 247
        splayclass("HE", "daily"),
        # Box 248
        splayclass("Ao", "daily"),
        # Box 249
        splayclass("Gm", "daily"),
        # Box 250
        splayclass("BC", "daily"),
        # Box 251
        splayclass("EN", "daily"),
        # Box 252
        splayclass("EP", "daily"),
        # Box 253
        splayclass("FQ", "daily"),
        # Box 254
        splayclass("Dt", "daily"),
        # Box 255
        splayclass("RC", "daily"),
        # Box 256
        splayclass("Ib", "daily"),
        # Box 257
        splayclass("JI", "daily"),
        # Box 258
        splayclass("BU", "daily"),
        # Box 259
        splayclass("BV", "daily"),
        # Box 260
        splayclass("Xp", "daily"),
        # Box 261
        splayclass("GA", "daily"),
        # Box 262
        splayclass("NE", "daily"),
        # Box 263
        splayclass("Mo", "daily"),
        # Box 264
        splayclass("CE", "daily"),
        # Box 265
        splayclass("AL", "daily"),
        # Box 266
        splayclass("Es", "daily"),
        # Box 267
        splayclass("Py", "daily"),
        # Box 268
        splayclass("Hl", "daily"),
        # Box 269
        splayclass("IC", "daily"),
        # Box 270
        splayclass("Bp", "daily"),
        # Box 271
        splayclass("Iz", "daily"),
        # Box 272
        splayclass("HU", "daily"),
        # Box 273
        splayclass("DQ", "daily"),
        # Box 274
        splayclass("EI", "daily"),
        # Box 275
        splayclass("Cf", "daily"),
        # Box 276
        splayclass("GH", "daily"),
        # Box 277
        splayclass("Aa", "daily"),
        # Box 278
        splayclass("EG", "daily"),
        # Box 279
        splayclass("Ct", "daily"),
        # Box 280
        splayclass("Gl", "daily"),
        # Box 281
        splayclass("AW", "daily"),
        # Box 282
        splayclass("CP", "daily"),
        # Box 283
        splayclass("CO", "daily"),
        # Box 284
        splayclass("AK", "daily"),
        # Box 285
        splayclass("BZ", "daily"),
        # Box 286
        splayclass("Fk", "daily"),
        # Box 287
      };

  reports:
    ok::
      "$(this.promise_filename) Pass";

    !ok::
      "$(this.promise_filename) FAIL";
}
