This file is indexed.

/usr/share/games/kiki-the-nano-bot/py/levels/hidden.py is in kiki-the-nano-bot-data 1.0.2+dfsg1-6.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# .................................................................................................................
level_dict["hidden"] = {   
                        "scheme":   "metal_scheme",
                        "size":     (9,9,9),    
                        "intro":    "hidden", 
                        "help":     ( 
                                        "$scale(1.5)mission:\nactivate the exit!\n\n" + \
                                        "to activate the exit,\nactivate the 5 switches\n\n" + \
                                        "use the stones to\nreach the exit",
                                    ),
                        "player":   {   "position":         (0,-3,1),
                                    },
                        "exits":    [
                                        {
                                            "name":         "exit",
                                            "active":       0,
                                            "position":     (0,0,0),
                                        },
                                    ],
                        "create":
"""
s = world.getSize()

world.addObjectAtPos (KikiStone (), KikiPos (0,0,1))
world.addObjectAtPos (KikiStone (), KikiPos (0,1,0))
world.addObjectAtPos (KikiStone (), KikiPos (1,0,1))
world.addObjectAtPos (KikiStone (), KikiPos (1,1,0))
world.addObjectAtPos (KikiStone (), KikiPos (2,0,0))
switch1 = KikiSwitch ()
world.addObjectAtPos (switch1, KikiPos (1,0,0))

world.addObjectAtPos (KikiStone (), KikiPos (s.x-1,0,1))
world.addObjectAtPos (KikiStone (), KikiPos (s.x-1,1,0))
world.addObjectAtPos (KikiStone (), KikiPos (s.x-2,0,1))
world.addObjectAtPos (KikiStone (), KikiPos (s.x-2,1,0))
world.addObjectAtPos (KikiStone (), KikiPos (s.x-3,0,0))
switch2 = KikiSwitch ()
world.addObjectAtPos (switch2, KikiPos (s.x-2,0,0))

world.addObjectAtPos (KikiStone (), KikiPos (0,0,s.z-2))
world.addObjectAtPos (KikiStone (), KikiPos (0,1,s.z-1))
world.addObjectAtPos (KikiStone (), KikiPos (1,0,s.z-2))
world.addObjectAtPos (KikiStone (), KikiPos (1,1,s.z-1))
world.addObjectAtPos (KikiStone (), KikiPos (2,0,s.z-1))
switch3 = KikiSwitch ()
world.addObjectAtPos (switch3, KikiPos (1,0,s.z-1))

world.addObjectAtPos (KikiStone (), KikiPos (s.x-1,0,s.z-2))
world.addObjectAtPos (KikiStone (), KikiPos (s.x-1,1,s.z-1))
world.addObjectAtPos (KikiStone (), KikiPos (s.x-2,0,s.z-2))
world.addObjectAtPos (KikiStone (), KikiPos (s.x-2,1,s.z-1))
world.addObjectAtPos (KikiStone (), KikiPos (s.x-3,0,s.z-1))
switch4 = KikiSwitch ()
world.addObjectAtPos (switch4, KikiPos (s.x-2,0,s.z-1))

world.addObjectPoly (KikiStone, [KikiPos (s.x/2-1,s.y-1,s.z/2-1), KikiPos (s.x/2-1,s.y-1,s.z/2+1), \
                                 KikiPos (s.x/2+1,s.y-1,s.z/2+1), KikiPos (s.x/2+1,s.y-1,s.z/2-1)])
switch5 = KikiSwitch ()                              
world.addObjectAtPos (KikiStone (), KikiPos (s.x/2,s.y-2,s.z/2))
world.addObjectAtPos (switch5, KikiPos (s.x/2,s.y-1,s.z/2))

world.switch_counter = 0

def switched (switch):
    world.switch_counter += switch.isActive() and 1 or -1
    exit = kikiObjectToGate (world.getObjectWithName("exit"))
    exit.setActive (world.switch_counter == 5)

switch1.getEventWithName("switched").addAction (continuous (lambda s=switch1: switched(s)))
switch2.getEventWithName("switched").addAction (continuous (lambda s=switch2: switched(s)))
switch3.getEventWithName("switched").addAction (continuous (lambda s=switch3: switched(s)))
switch4.getEventWithName("switched").addAction (continuous (lambda s=switch4: switched(s)))
switch5.getEventWithName("switched").addAction (continuous (lambda s=switch5: switched(s)))
""",                                 
}