--- /dev/null
+task t7 "|->M1" {
+ start 2003-01-06-00:00:00-+0000
+ end 2003-01-10-17:59:59-+0000
+ projectid simple
+}
+task t1 "|->" {
+ start 2003-01-06-00:00:00-+0000
+ end 2003-01-10-23:59:59-+0000
+ projectid simple
+}
+task t12 "|<-|M2" {
+ start 2003-01-06-00:00:00-+0000
+ end 2003-01-17-17:59:59-+0000
+ projectid simple
+}
+task t10 "|<-|" {
+ start 2003-01-06-00:00:00-+0000
+ end 2003-01-24-17:59:59-+0000
+ projectid simple
+}
+task t9 "|->|" {
+ start 2003-01-06-09:00:00-+0000
+ end 2003-01-27-00:00:00-+0000
+ projectid simple
+}
+task m1 "Milestone1" {
+ start 2003-01-11-00:00:00-+0000
+ end 2003-01-11-00:00:00-+0000
+ projectid simple
+ milestone
+ depends t1, t7
+}
+task t6 "M1<-M2" {
+ start 2003-01-11-00:00:00-+0000
+ end 2003-01-17-17:59:59-+0000
+ projectid simple
+ depends m1
+}
+task t3 "M1->" {
+ start 2003-01-13-09:00:00-+0000
+ end 2003-01-17-17:59:59-+0000
+ projectid simple
+ depends m1
+}
+task t4 "<-M2" {
+ start 2003-01-13-09:00:00-+0000
+ end 2003-01-17-17:59:59-+0000
+ projectid simple
+}
+task t5 "M1->M2" {
+ start 2003-01-13-09:00:00-+0000
+ end 2003-01-19-23:59:58-+0000
+ projectid simple
+ depends m1
+}
+task t11 "M1|->|" {
+ start 2003-01-13-09:00:00-+0000
+ end 2003-01-27-00:00:00-+0000
+ projectid simple
+ depends m1
+}
+task m2 "Milestone2" {
+ start 2003-01-19-23:59:59-+0000
+ end 2003-01-19-23:59:59-+0000
+ projectid simple
+ milestone
+ depends t4, t5, t6, t12
+}
+task t2 "<-|" {
+ start 2003-01-20-00:00:00-+0000
+ end 2003-01-27-00:00:00-+0000
+ projectid simple
+ depends m2
+}
+task t8 "M2<-|" {
+ start 2003-01-20-09:00:00-+0000
+ end 2003-01-27-00:00:00-+0000
+ projectid simple
+ depends m2
+}
+supplement task t7 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task t1 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task t12 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task t10 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task t9 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task m1 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task t6 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task t3 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task t4 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task t5 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task t11 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task m2 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task t2 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task t8 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement resource tux1 {
+ planbooking 2003-01-13-09:00:00-+0000 2003-01-13-11:59:59-+0000 t3
+ planbooking 2003-01-13-13:00:00-+0000 2003-01-13-17:59:59-+0000 t3
+ planbooking 2003-01-14-09:00:00-+0000 2003-01-14-11:59:59-+0000 t3
+ planbooking 2003-01-14-13:00:00-+0000 2003-01-14-17:59:59-+0000 t3
+ planbooking 2003-01-15-09:00:00-+0000 2003-01-15-11:59:59-+0000 t3
+ planbooking 2003-01-15-13:00:00-+0000 2003-01-15-17:59:59-+0000 t3
+ planbooking 2003-01-16-09:00:00-+0000 2003-01-16-11:59:59-+0000 t3
+ planbooking 2003-01-16-13:00:00-+0000 2003-01-16-17:59:59-+0000 t3
+ planbooking 2003-01-17-09:00:00-+0000 2003-01-17-11:59:59-+0000 t3
+ planbooking 2003-01-17-13:00:00-+0000 2003-01-17-17:59:59-+0000 t3
+}
+supplement resource tux10 {
+ planbooking 2003-01-06-09:00:00-+0000 2003-01-06-11:59:59-+0000 t12
+ planbooking 2003-01-06-13:00:00-+0000 2003-01-06-17:59:59-+0000 t12
+ planbooking 2003-01-07-09:00:00-+0000 2003-01-07-11:59:59-+0000 t12
+ planbooking 2003-01-07-13:00:00-+0000 2003-01-07-17:59:59-+0000 t12
+ planbooking 2003-01-08-09:00:00-+0000 2003-01-08-11:59:59-+0000 t12
+ planbooking 2003-01-08-13:00:00-+0000 2003-01-08-17:59:59-+0000 t12
+ planbooking 2003-01-09-09:00:00-+0000 2003-01-09-11:59:59-+0000 t12
+ planbooking 2003-01-09-13:00:00-+0000 2003-01-09-17:59:59-+0000 t12
+ planbooking 2003-01-10-09:00:00-+0000 2003-01-10-11:59:59-+0000 t12
+ planbooking 2003-01-10-13:00:00-+0000 2003-01-10-17:59:59-+0000 t12
+ planbooking 2003-01-13-09:00:00-+0000 2003-01-13-11:59:59-+0000 t12
+ planbooking 2003-01-13-13:00:00-+0000 2003-01-13-17:59:59-+0000 t12
+ planbooking 2003-01-14-09:00:00-+0000 2003-01-14-11:59:59-+0000 t12
+ planbooking 2003-01-14-13:00:00-+0000 2003-01-14-17:59:59-+0000 t12
+ planbooking 2003-01-15-09:00:00-+0000 2003-01-15-11:59:59-+0000 t12
+ planbooking 2003-01-15-13:00:00-+0000 2003-01-15-17:59:59-+0000 t12
+ planbooking 2003-01-16-09:00:00-+0000 2003-01-16-11:59:59-+0000 t12
+ planbooking 2003-01-16-13:00:00-+0000 2003-01-16-17:59:59-+0000 t12
+ planbooking 2003-01-17-09:00:00-+0000 2003-01-17-11:59:59-+0000 t12
+ planbooking 2003-01-17-13:00:00-+0000 2003-01-17-17:59:59-+0000 t12
+}
+supplement resource tux2 {
+ planbooking 2003-01-13-09:00:00-+0000 2003-01-13-11:59:59-+0000 t4
+ planbooking 2003-01-13-13:00:00-+0000 2003-01-13-17:59:59-+0000 t4
+ planbooking 2003-01-14-09:00:00-+0000 2003-01-14-11:59:59-+0000 t4
+ planbooking 2003-01-14-13:00:00-+0000 2003-01-14-17:59:59-+0000 t4
+ planbooking 2003-01-15-09:00:00-+0000 2003-01-15-11:59:59-+0000 t4
+ planbooking 2003-01-15-13:00:00-+0000 2003-01-15-17:59:59-+0000 t4
+ planbooking 2003-01-16-09:00:00-+0000 2003-01-16-11:59:59-+0000 t4
+ planbooking 2003-01-16-13:00:00-+0000 2003-01-16-17:59:59-+0000 t4
+ planbooking 2003-01-17-09:00:00-+0000 2003-01-17-11:59:59-+0000 t4
+ planbooking 2003-01-17-13:00:00-+0000 2003-01-17-17:59:59-+0000 t4
+}
+supplement resource tux3 {
+ planbooking 2003-01-13-09:00:00-+0000 2003-01-13-11:59:59-+0000 t5
+ planbooking 2003-01-13-13:00:00-+0000 2003-01-13-17:59:59-+0000 t5
+ planbooking 2003-01-14-09:00:00-+0000 2003-01-14-11:59:59-+0000 t5
+ planbooking 2003-01-14-13:00:00-+0000 2003-01-14-17:59:59-+0000 t5
+ planbooking 2003-01-15-09:00:00-+0000 2003-01-15-11:59:59-+0000 t5
+ planbooking 2003-01-15-13:00:00-+0000 2003-01-15-17:59:59-+0000 t5
+ planbooking 2003-01-16-09:00:00-+0000 2003-01-16-11:59:59-+0000 t5
+ planbooking 2003-01-16-13:00:00-+0000 2003-01-16-17:59:59-+0000 t5
+ planbooking 2003-01-17-09:00:00-+0000 2003-01-17-11:59:59-+0000 t5
+ planbooking 2003-01-17-13:00:00-+0000 2003-01-17-17:59:59-+0000 t5
+}
+supplement resource tux4 {
+ planbooking 2003-01-13-09:00:00-+0000 2003-01-13-11:59:59-+0000 t6
+ planbooking 2003-01-13-13:00:00-+0000 2003-01-13-17:59:59-+0000 t6
+ planbooking 2003-01-14-09:00:00-+0000 2003-01-14-11:59:59-+0000 t6
+ planbooking 2003-01-14-13:00:00-+0000 2003-01-14-17:59:59-+0000 t6
+ planbooking 2003-01-15-09:00:00-+0000 2003-01-15-11:59:59-+0000 t6
+ planbooking 2003-01-15-13:00:00-+0000 2003-01-15-17:59:59-+0000 t6
+ planbooking 2003-01-16-09:00:00-+0000 2003-01-16-11:59:59-+0000 t6
+ planbooking 2003-01-16-13:00:00-+0000 2003-01-16-17:59:59-+0000 t6
+ planbooking 2003-01-17-09:00:00-+0000 2003-01-17-11:59:59-+0000 t6
+ planbooking 2003-01-17-13:00:00-+0000 2003-01-17-17:59:59-+0000 t6
+}
+supplement resource tux5 {
+ planbooking 2003-01-06-09:00:00-+0000 2003-01-06-11:59:59-+0000 t7
+ planbooking 2003-01-06-13:00:00-+0000 2003-01-06-17:59:59-+0000 t7
+ planbooking 2003-01-07-09:00:00-+0000 2003-01-07-11:59:59-+0000 t7
+ planbooking 2003-01-07-13:00:00-+0000 2003-01-07-17:59:59-+0000 t7
+ planbooking 2003-01-08-09:00:00-+0000 2003-01-08-11:59:59-+0000 t7
+ planbooking 2003-01-08-13:00:00-+0000 2003-01-08-17:59:59-+0000 t7
+ planbooking 2003-01-09-09:00:00-+0000 2003-01-09-11:59:59-+0000 t7
+ planbooking 2003-01-09-13:00:00-+0000 2003-01-09-17:59:59-+0000 t7
+ planbooking 2003-01-10-09:00:00-+0000 2003-01-10-11:59:59-+0000 t7
+ planbooking 2003-01-10-13:00:00-+0000 2003-01-10-17:59:59-+0000 t7
+}
+supplement resource tux6 {
+ planbooking 2003-01-20-09:00:00-+0000 2003-01-20-11:59:59-+0000 t8
+ planbooking 2003-01-20-13:00:00-+0000 2003-01-20-17:59:59-+0000 t8
+ planbooking 2003-01-21-09:00:00-+0000 2003-01-21-11:59:59-+0000 t8
+ planbooking 2003-01-21-13:00:00-+0000 2003-01-21-17:59:59-+0000 t8
+ planbooking 2003-01-22-09:00:00-+0000 2003-01-22-11:59:59-+0000 t8
+ planbooking 2003-01-22-13:00:00-+0000 2003-01-22-17:59:59-+0000 t8
+ planbooking 2003-01-23-09:00:00-+0000 2003-01-23-11:59:59-+0000 t8
+ planbooking 2003-01-23-13:00:00-+0000 2003-01-23-17:59:59-+0000 t8
+ planbooking 2003-01-24-09:00:00-+0000 2003-01-24-11:59:59-+0000 t8
+ planbooking 2003-01-24-13:00:00-+0000 2003-01-24-17:59:59-+0000 t8
+}
+supplement resource tux7 {
+ planbooking 2003-01-06-09:00:00-+0000 2003-01-06-11:59:59-+0000 t9
+ planbooking 2003-01-06-13:00:00-+0000 2003-01-06-17:59:59-+0000 t9
+ planbooking 2003-01-07-09:00:00-+0000 2003-01-07-11:59:59-+0000 t9
+ planbooking 2003-01-07-13:00:00-+0000 2003-01-07-17:59:59-+0000 t9
+ planbooking 2003-01-08-09:00:00-+0000 2003-01-08-11:59:59-+0000 t9
+ planbooking 2003-01-08-13:00:00-+0000 2003-01-08-17:59:59-+0000 t9
+ planbooking 2003-01-09-09:00:00-+0000 2003-01-09-11:59:59-+0000 t9
+ planbooking 2003-01-09-13:00:00-+0000 2003-01-09-17:59:59-+0000 t9
+ planbooking 2003-01-10-09:00:00-+0000 2003-01-10-11:59:59-+0000 t9
+ planbooking 2003-01-10-13:00:00-+0000 2003-01-10-17:59:59-+0000 t9
+ planbooking 2003-01-13-09:00:00-+0000 2003-01-13-11:59:59-+0000 t9
+ planbooking 2003-01-13-13:00:00-+0000 2003-01-13-17:59:59-+0000 t9
+ planbooking 2003-01-14-09:00:00-+0000 2003-01-14-11:59:59-+0000 t9
+ planbooking 2003-01-14-13:00:00-+0000 2003-01-14-17:59:59-+0000 t9
+ planbooking 2003-01-15-09:00:00-+0000 2003-01-15-11:59:59-+0000 t9
+ planbooking 2003-01-15-13:00:00-+0000 2003-01-15-17:59:59-+0000 t9
+ planbooking 2003-01-16-09:00:00-+0000 2003-01-16-11:59:59-+0000 t9
+ planbooking 2003-01-16-13:00:00-+0000 2003-01-16-17:59:59-+0000 t9
+ planbooking 2003-01-17-09:00:00-+0000 2003-01-17-11:59:59-+0000 t9
+ planbooking 2003-01-17-13:00:00-+0000 2003-01-17-17:59:59-+0000 t9
+ planbooking 2003-01-20-09:00:00-+0000 2003-01-20-11:59:59-+0000 t9
+ planbooking 2003-01-20-13:00:00-+0000 2003-01-20-17:59:59-+0000 t9
+ planbooking 2003-01-21-09:00:00-+0000 2003-01-21-11:59:59-+0000 t9
+ planbooking 2003-01-21-13:00:00-+0000 2003-01-21-17:59:59-+0000 t9
+ planbooking 2003-01-22-09:00:00-+0000 2003-01-22-11:59:59-+0000 t9
+ planbooking 2003-01-22-13:00:00-+0000 2003-01-22-17:59:59-+0000 t9
+ planbooking 2003-01-23-09:00:00-+0000 2003-01-23-11:59:59-+0000 t9
+ planbooking 2003-01-23-13:00:00-+0000 2003-01-23-17:59:59-+0000 t9
+ planbooking 2003-01-24-09:00:00-+0000 2003-01-24-11:59:59-+0000 t9
+ planbooking 2003-01-24-13:00:00-+0000 2003-01-24-17:59:59-+0000 t9
+}
+supplement resource tux8 {
+ planbooking 2003-01-06-09:00:00-+0000 2003-01-06-11:59:59-+0000 t10
+ planbooking 2003-01-06-13:00:00-+0000 2003-01-06-17:59:59-+0000 t10
+ planbooking 2003-01-07-09:00:00-+0000 2003-01-07-11:59:59-+0000 t10
+ planbooking 2003-01-07-13:00:00-+0000 2003-01-07-17:59:59-+0000 t10
+ planbooking 2003-01-08-09:00:00-+0000 2003-01-08-11:59:59-+0000 t10
+ planbooking 2003-01-08-13:00:00-+0000 2003-01-08-17:59:59-+0000 t10
+ planbooking 2003-01-09-09:00:00-+0000 2003-01-09-11:59:59-+0000 t10
+ planbooking 2003-01-09-13:00:00-+0000 2003-01-09-17:59:59-+0000 t10
+ planbooking 2003-01-10-09:00:00-+0000 2003-01-10-11:59:59-+0000 t10
+ planbooking 2003-01-10-13:00:00-+0000 2003-01-10-17:59:59-+0000 t10
+ planbooking 2003-01-13-09:00:00-+0000 2003-01-13-11:59:59-+0000 t10
+ planbooking 2003-01-13-13:00:00-+0000 2003-01-13-17:59:59-+0000 t10
+ planbooking 2003-01-14-09:00:00-+0000 2003-01-14-11:59:59-+0000 t10
+ planbooking 2003-01-14-13:00:00-+0000 2003-01-14-17:59:59-+0000 t10
+ planbooking 2003-01-15-09:00:00-+0000 2003-01-15-11:59:59-+0000 t10
+ planbooking 2003-01-15-13:00:00-+0000 2003-01-15-17:59:59-+0000 t10
+ planbooking 2003-01-16-09:00:00-+0000 2003-01-16-11:59:59-+0000 t10
+ planbooking 2003-01-16-13:00:00-+0000 2003-01-16-17:59:59-+0000 t10
+ planbooking 2003-01-17-09:00:00-+0000 2003-01-17-11:59:59-+0000 t10
+ planbooking 2003-01-17-13:00:00-+0000 2003-01-17-17:59:59-+0000 t10
+ planbooking 2003-01-20-09:00:00-+0000 2003-01-20-11:59:59-+0000 t10
+ planbooking 2003-01-20-13:00:00-+0000 2003-01-20-17:59:59-+0000 t10
+ planbooking 2003-01-21-09:00:00-+0000 2003-01-21-11:59:59-+0000 t10
+ planbooking 2003-01-21-13:00:00-+0000 2003-01-21-17:59:59-+0000 t10
+ planbooking 2003-01-22-09:00:00-+0000 2003-01-22-11:59:59-+0000 t10
+ planbooking 2003-01-22-13:00:00-+0000 2003-01-22-17:59:59-+0000 t10
+ planbooking 2003-01-23-09:00:00-+0000 2003-01-23-11:59:59-+0000 t10
+ planbooking 2003-01-23-13:00:00-+0000 2003-01-23-17:59:59-+0000 t10
+ planbooking 2003-01-24-09:00:00-+0000 2003-01-24-11:59:59-+0000 t10
+ planbooking 2003-01-24-13:00:00-+0000 2003-01-24-17:59:59-+0000 t10
+}
+supplement resource tux9 {
+ planbooking 2003-01-13-09:00:00-+0000 2003-01-13-11:59:59-+0000 t11
+ planbooking 2003-01-13-13:00:00-+0000 2003-01-13-17:59:59-+0000 t11
+ planbooking 2003-01-14-09:00:00-+0000 2003-01-14-11:59:59-+0000 t11
+ planbooking 2003-01-14-13:00:00-+0000 2003-01-14-17:59:59-+0000 t11
+ planbooking 2003-01-15-09:00:00-+0000 2003-01-15-11:59:59-+0000 t11
+ planbooking 2003-01-15-13:00:00-+0000 2003-01-15-17:59:59-+0000 t11
+ planbooking 2003-01-16-09:00:00-+0000 2003-01-16-11:59:59-+0000 t11
+ planbooking 2003-01-16-13:00:00-+0000 2003-01-16-17:59:59-+0000 t11
+ planbooking 2003-01-17-09:00:00-+0000 2003-01-17-11:59:59-+0000 t11
+ planbooking 2003-01-17-13:00:00-+0000 2003-01-17-17:59:59-+0000 t11
+ planbooking 2003-01-20-09:00:00-+0000 2003-01-20-11:59:59-+0000 t11
+ planbooking 2003-01-20-13:00:00-+0000 2003-01-20-17:59:59-+0000 t11
+ planbooking 2003-01-21-09:00:00-+0000 2003-01-21-11:59:59-+0000 t11
+ planbooking 2003-01-21-13:00:00-+0000 2003-01-21-17:59:59-+0000 t11
+ planbooking 2003-01-22-09:00:00-+0000 2003-01-22-11:59:59-+0000 t11
+ planbooking 2003-01-22-13:00:00-+0000 2003-01-22-17:59:59-+0000 t11
+ planbooking 2003-01-23-09:00:00-+0000 2003-01-23-11:59:59-+0000 t11
+ planbooking 2003-01-23-13:00:00-+0000 2003-01-23-17:59:59-+0000 t11
+ planbooking 2003-01-24-09:00:00-+0000 2003-01-24-11:59:59-+0000 t11
+ planbooking 2003-01-24-13:00:00-+0000 2003-01-24-17:59:59-+0000 t11
+}
--- /dev/null
+task container3 "Container3" {
+ start 2003-01-11-00:00:00-+0000
+ end 2003-01-18-00:00:00-+0000
+ projectid prj
+}
+task container3.c21 "-D --> |" {
+ start 2003-01-11-00:00:00-+0000
+ end 2003-01-18-00:00:00-+0000
+ projectid prj
+}
+task container3.c28 "-D <-- |" {
+ start 2003-01-11-00:00:00-+0000
+ end 2003-01-18-00:00:00-+0000
+ projectid prj
+}
+task container3.c11 "|D --> |" {
+ start 2003-01-13-00:00:00-+0000
+ end 2003-01-18-00:00:00-+0000
+ projectid prj
+}
+task container3.c14 "|D <-- |" {
+ start 2003-01-13-00:00:00-+0000
+ end 2003-01-18-00:00:00-+0000
+ projectid prj
+}
+task container3.c9 "|D x-> -" {
+ start 2003-01-13-09:00:00-+0000
+ end 2003-01-17-17:59:59-+0000
+ projectid prj
+}
+task container3.c19 "-D x-> -" {
+ start 2003-01-13-09:00:00-+0000
+ end 2003-01-17-17:59:59-+0000
+ projectid prj
+}
+task container3.c24 "-D <-x |" {
+ start 2003-01-13-09:00:00-+0000
+ end 2003-01-17-17:59:59-+0000
+ projectid prj
+}
+task container4 "Container4" {
+ start 2003-01-11-00:00:00-+0000
+ end 2003-01-19-23:59:00-+0000
+ projectid prj
+}
+task container4.c23 "-D --> |D" {
+ start 2003-01-11-00:00:00-+0000
+ end 2003-01-18-00:00:00-+0000
+ projectid prj
+}
+task container4.c30 "-D <-- |D" {
+ start 2003-01-11-00:00:00-+0000
+ end 2003-01-18-00:00:00-+0000
+ projectid prj
+}
+task container4.c22 "-D --> -D" {
+ start 2003-01-11-00:00:00-+0000
+ end 2003-01-19-23:59:00-+0000
+ projectid prj
+}
+task container4.c29 "-D <-- -D" {
+ start 2003-01-11-00:00:00-+0000
+ end 2003-01-19-23:59:00-+0000
+ projectid prj
+}
+task container4.c13 "|D --> |D" {
+ start 2003-01-13-00:00:00-+0000
+ end 2003-01-18-00:00:00-+0000
+ projectid prj
+}
+task container4.c15 "|D <-- -D" {
+ start 2003-01-13-00:00:00-+0000
+ end 2003-01-18-00:00:00-+0000
+ projectid prj
+}
+task container4.c12 "|D --> -D" {
+ start 2003-01-13-00:00:00-+0000
+ end 2003-01-19-23:59:00-+0000
+ projectid prj
+}
+task container4.c10 "|D x-> -D" {
+ start 2003-01-13-09:00:00-+0000
+ end 2003-01-17-17:59:59-+0000
+ projectid prj
+}
+task container4.c20 "-D x-> -D" {
+ start 2003-01-13-09:00:00-+0000
+ end 2003-01-17-17:59:59-+0000
+ projectid prj
+}
+task container4.c25 "-D <-x -D" {
+ start 2003-01-13-09:00:00-+0000
+ end 2003-01-17-17:59:59-+0000
+ projectid prj
+}
+task container4.c26 "-D <-x |D" {
+ start 2003-01-13-09:00:00-+0000
+ end 2003-01-17-17:59:59-+0000
+ projectid prj
+}
+task container1 "Container1" {
+ start 2003-01-13-00:00:00-+0000
+ end 2003-01-18-00:00:00-+0000
+ projectid prj
+}
+task container1.c3 "| --> |" {
+ start 2003-01-13-00:00:00-+0000
+ end 2003-01-18-00:00:00-+0000
+ projectid prj
+}
+task container1.c6 "| <-- |" {
+ start 2003-01-13-00:00:00-+0000
+ end 2003-01-18-00:00:00-+0000
+ projectid prj
+}
+task container1.c1 "| x-> -" {
+ start 2003-01-13-09:00:00-+0000
+ end 2003-01-17-17:59:59-+0000
+ projectid prj
+}
+task container1.c16 "- <-x |" {
+ start 2003-01-13-09:00:00-+0000
+ end 2003-01-17-17:59:59-+0000
+ projectid prj
+}
+task container2 "Container2" {
+ start 2003-01-13-00:00:00-+0000
+ end 2003-01-19-23:59:00-+0000
+ projectid prj
+}
+task container2.c5 "| --> |D" {
+ start 2003-01-13-00:00:00-+0000
+ end 2003-01-18-00:00:00-+0000
+ projectid prj
+}
+task container2.c8 "| <-- |D" {
+ start 2003-01-13-00:00:00-+0000
+ end 2003-01-18-00:00:00-+0000
+ projectid prj
+}
+task container2.c4 "| --> -D" {
+ start 2003-01-13-00:00:00-+0000
+ end 2003-01-19-23:59:00-+0000
+ projectid prj
+}
+task container2.c7 "| <-- -D" {
+ start 2003-01-13-00:00:00-+0000
+ end 2003-01-19-23:59:00-+0000
+ projectid prj
+}
+task container2.c2 "| x-> -D" {
+ start 2003-01-13-09:00:00-+0000
+ end 2003-01-17-17:59:59-+0000
+ projectid prj
+}
+task container2.c17 "- <-x -D" {
+ start 2003-01-13-09:00:00-+0000
+ end 2003-01-17-17:59:59-+0000
+ projectid prj
+}
+task container2.c18 "- <-x |D" {
+ start 2003-01-13-09:00:00-+0000
+ end 2003-01-17-17:59:59-+0000
+ projectid prj
+}
+supplement task container3 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task container3.c21 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task container3.c28 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task container3.c11 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task container3.c14 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task container3.c9 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task container3.c19 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task container3.c24 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task container4 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task container4.c23 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task container4.c30 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task container4.c22 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task container4.c29 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task container4.c13 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task container4.c15 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task container4.c12 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task container4.c10 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task container4.c20 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task container4.c25 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task container4.c26 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task container1 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task container1.c3 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task container1.c6 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task container1.c1 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task container1.c16 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task container2 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task container2.c5 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task container2.c8 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task container2.c4 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task container2.c7 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task container2.c2 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task container2.c17 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement task container2.c18 {
+ minstart 2003-01-01-00:00:00-+0000
+ maxstart 2003-01-31-00:00:00-+0000
+ minend 2003-01-01-00:00:00-+0000
+ maxend 2003-01-31-00:00:00-+0000
+}
+supplement resource tux1 {
+ planbooking 2003-01-13-09:00:00-+0000 2003-01-13-11:59:59-+0000 container1.c1
+ planbooking 2003-01-13-13:00:00-+0000 2003-01-13-17:59:59-+0000 container1.c1
+ planbooking 2003-01-14-09:00:00-+0000 2003-01-14-11:59:59-+0000 container1.c1
+ planbooking 2003-01-14-13:00:00-+0000 2003-01-14-17:59:59-+0000 container1.c1
+ planbooking 2003-01-15-09:00:00-+0000 2003-01-15-11:59:59-+0000 container1.c1
+ planbooking 2003-01-15-13:00:00-+0000 2003-01-15-17:59:59-+0000 container1.c1
+ planbooking 2003-01-16-09:00:00-+0000 2003-01-16-11:59:59-+0000 container1.c1
+ planbooking 2003-01-16-13:00:00-+0000 2003-01-16-17:59:59-+0000 container1.c1
+ planbooking 2003-01-17-09:00:00-+0000 2003-01-17-11:59:59-+0000 container1.c1
+ planbooking 2003-01-17-13:00:00-+0000 2003-01-17-17:59:59-+0000 container1.c1
+}
+supplement resource tux10 {
+ planbooking 2003-01-13-09:00:00-+0000 2003-01-13-11:59:59-+0000 container3.c24
+ planbooking 2003-01-13-13:00:00-+0000 2003-01-13-17:59:59-+0000 container3.c24
+ planbooking 2003-01-14-09:00:00-+0000 2003-01-14-11:59:59-+0000 container3.c24
+ planbooking 2003-01-14-13:00:00-+0000 2003-01-14-17:59:59-+0000 container3.c24
+ planbooking 2003-01-15-09:00:00-+0000 2003-01-15-11:59:59-+0000 container3.c24
+ planbooking 2003-01-15-13:00:00-+0000 2003-01-15-17:59:59-+0000 container3.c24
+ planbooking 2003-01-16-09:00:00-+0000 2003-01-16-11:59:59-+0000 container3.c24
+ planbooking 2003-01-16-13:00:00-+0000 2003-01-16-17:59:59-+0000 container3.c24
+ planbooking 2003-01-17-09:00:00-+0000 2003-01-17-11:59:59-+0000 container3.c24
+ planbooking 2003-01-17-13:00:00-+0000 2003-01-17-17:59:59-+0000 container3.c24
+}
+supplement resource tux11 {
+ planbooking 2003-01-13-09:00:00-+0000 2003-01-13-11:59:59-+0000 container4.c25
+ planbooking 2003-01-13-13:00:00-+0000 2003-01-13-17:59:59-+0000 container4.c25
+ planbooking 2003-01-14-09:00:00-+0000 2003-01-14-11:59:59-+0000 container4.c25
+ planbooking 2003-01-14-13:00:00-+0000 2003-01-14-17:59:59-+0000 container4.c25
+ planbooking 2003-01-15-09:00:00-+0000 2003-01-15-11:59:59-+0000 container4.c25
+ planbooking 2003-01-15-13:00:00-+0000 2003-01-15-17:59:59-+0000 container4.c25
+ planbooking 2003-01-16-09:00:00-+0000 2003-01-16-11:59:59-+0000 container4.c25
+ planbooking 2003-01-16-13:00:00-+0000 2003-01-16-17:59:59-+0000 container4.c25
+ planbooking 2003-01-17-09:00:00-+0000 2003-01-17-11:59:59-+0000 container4.c25
+ planbooking 2003-01-17-13:00:00-+0000 2003-01-17-17:59:59-+0000 container4.c25
+}
+supplement resource tux12 {
+ planbooking 2003-01-13-09:00:00-+0000 2003-01-13-11:59:59-+0000 container4.c26
+ planbooking 2003-01-13-13:00:00-+0000 2003-01-13-17:59:59-+0000 container4.c26
+ planbooking 2003-01-14-09:00:00-+0000 2003-01-14-11:59:59-+0000 container4.c26
+ planbooking 2003-01-14-13:00:00-+0000 2003-01-14-17:59:59-+0000 container4.c26
+ planbooking 2003-01-15-09:00:00-+0000 2003-01-15-11:59:59-+0000 container4.c26
+ planbooking 2003-01-15-13:00:00-+0000 2003-01-15-17:59:59-+0000 container4.c26
+ planbooking 2003-01-16-09:00:00-+0000 2003-01-16-11:59:59-+0000 container4.c26
+ planbooking 2003-01-16-13:00:00-+0000 2003-01-16-17:59:59-+0000 container4.c26
+ planbooking 2003-01-17-09:00:00-+0000 2003-01-17-11:59:59-+0000 container4.c26
+ planbooking 2003-01-17-13:00:00-+0000 2003-01-17-17:59:59-+0000 container4.c26
+}
+supplement resource tux2 {
+ planbooking 2003-01-13-09:00:00-+0000 2003-01-13-11:59:59-+0000 container2.c2
+ planbooking 2003-01-13-13:00:00-+0000 2003-01-13-17:59:59-+0000 container2.c2
+ planbooking 2003-01-14-09:00:00-+0000 2003-01-14-11:59:59-+0000 container2.c2
+ planbooking 2003-01-14-13:00:00-+0000 2003-01-14-17:59:59-+0000 container2.c2
+ planbooking 2003-01-15-09:00:00-+0000 2003-01-15-11:59:59-+0000 container2.c2
+ planbooking 2003-01-15-13:00:00-+0000 2003-01-15-17:59:59-+0000 container2.c2
+ planbooking 2003-01-16-09:00:00-+0000 2003-01-16-11:59:59-+0000 container2.c2
+ planbooking 2003-01-16-13:00:00-+0000 2003-01-16-17:59:59-+0000 container2.c2
+ planbooking 2003-01-17-09:00:00-+0000 2003-01-17-11:59:59-+0000 container2.c2
+ planbooking 2003-01-17-13:00:00-+0000 2003-01-17-17:59:59-+0000 container2.c2
+}
+supplement resource tux3 {
+ planbooking 2003-01-13-09:00:00-+0000 2003-01-13-11:59:59-+0000 container3.c9
+ planbooking 2003-01-13-13:00:00-+0000 2003-01-13-17:59:59-+0000 container3.c9
+ planbooking 2003-01-14-09:00:00-+0000 2003-01-14-11:59:59-+0000 container3.c9
+ planbooking 2003-01-14-13:00:00-+0000 2003-01-14-17:59:59-+0000 container3.c9
+ planbooking 2003-01-15-09:00:00-+0000 2003-01-15-11:59:59-+0000 container3.c9
+ planbooking 2003-01-15-13:00:00-+0000 2003-01-15-17:59:59-+0000 container3.c9
+ planbooking 2003-01-16-09:00:00-+0000 2003-01-16-11:59:59-+0000 container3.c9
+ planbooking 2003-01-16-13:00:00-+0000 2003-01-16-17:59:59-+0000 container3.c9
+ planbooking 2003-01-17-09:00:00-+0000 2003-01-17-11:59:59-+0000 container3.c9
+ planbooking 2003-01-17-13:00:00-+0000 2003-01-17-17:59:59-+0000 container3.c9
+}
+supplement resource tux4 {
+ planbooking 2003-01-13-09:00:00-+0000 2003-01-13-11:59:59-+0000 container4.c10
+ planbooking 2003-01-13-13:00:00-+0000 2003-01-13-17:59:59-+0000 container4.c10
+ planbooking 2003-01-14-09:00:00-+0000 2003-01-14-11:59:59-+0000 container4.c10
+ planbooking 2003-01-14-13:00:00-+0000 2003-01-14-17:59:59-+0000 container4.c10
+ planbooking 2003-01-15-09:00:00-+0000 2003-01-15-11:59:59-+0000 container4.c10
+ planbooking 2003-01-15-13:00:00-+0000 2003-01-15-17:59:59-+0000 container4.c10
+ planbooking 2003-01-16-09:00:00-+0000 2003-01-16-11:59:59-+0000 container4.c10
+ planbooking 2003-01-16-13:00:00-+0000 2003-01-16-17:59:59-+0000 container4.c10
+ planbooking 2003-01-17-09:00:00-+0000 2003-01-17-11:59:59-+0000 container4.c10
+ planbooking 2003-01-17-13:00:00-+0000 2003-01-17-17:59:59-+0000 container4.c10
+}
+supplement resource tux5 {
+ planbooking 2003-01-13-09:00:00-+0000 2003-01-13-11:59:59-+0000 container1.c16
+ planbooking 2003-01-13-13:00:00-+0000 2003-01-13-17:59:59-+0000 container1.c16
+ planbooking 2003-01-14-09:00:00-+0000 2003-01-14-11:59:59-+0000 container1.c16
+ planbooking 2003-01-14-13:00:00-+0000 2003-01-14-17:59:59-+0000 container1.c16
+ planbooking 2003-01-15-09:00:00-+0000 2003-01-15-11:59:59-+0000 container1.c16
+ planbooking 2003-01-15-13:00:00-+0000 2003-01-15-17:59:59-+0000 container1.c16
+ planbooking 2003-01-16-09:00:00-+0000 2003-01-16-11:59:59-+0000 container1.c16
+ planbooking 2003-01-16-13:00:00-+0000 2003-01-16-17:59:59-+0000 container1.c16
+ planbooking 2003-01-17-09:00:00-+0000 2003-01-17-11:59:59-+0000 container1.c16
+ planbooking 2003-01-17-13:00:00-+0000 2003-01-17-17:59:59-+0000 container1.c16
+}
+supplement resource tux6 {
+ planbooking 2003-01-13-09:00:00-+0000 2003-01-13-11:59:59-+0000 container2.c17
+ planbooking 2003-01-13-13:00:00-+0000 2003-01-13-17:59:59-+0000 container2.c17
+ planbooking 2003-01-14-09:00:00-+0000 2003-01-14-11:59:59-+0000 container2.c17
+ planbooking 2003-01-14-13:00:00-+0000 2003-01-14-17:59:59-+0000 container2.c17
+ planbooking 2003-01-15-09:00:00-+0000 2003-01-15-11:59:59-+0000 container2.c17
+ planbooking 2003-01-15-13:00:00-+0000 2003-01-15-17:59:59-+0000 container2.c17
+ planbooking 2003-01-16-09:00:00-+0000 2003-01-16-11:59:59-+0000 container2.c17
+ planbooking 2003-01-16-13:00:00-+0000 2003-01-16-17:59:59-+0000 container2.c17
+ planbooking 2003-01-17-09:00:00-+0000 2003-01-17-11:59:59-+0000 container2.c17
+ planbooking 2003-01-17-13:00:00-+0000 2003-01-17-17:59:59-+0000 container2.c17
+}
+supplement resource tux7 {
+ planbooking 2003-01-13-09:00:00-+0000 2003-01-13-11:59:59-+0000 container2.c18
+ planbooking 2003-01-13-13:00:00-+0000 2003-01-13-17:59:59-+0000 container2.c18
+ planbooking 2003-01-14-09:00:00-+0000 2003-01-14-11:59:59-+0000 container2.c18
+ planbooking 2003-01-14-13:00:00-+0000 2003-01-14-17:59:59-+0000 container2.c18
+ planbooking 2003-01-15-09:00:00-+0000 2003-01-15-11:59:59-+0000 container2.c18
+ planbooking 2003-01-15-13:00:00-+0000 2003-01-15-17:59:59-+0000 container2.c18
+ planbooking 2003-01-16-09:00:00-+0000 2003-01-16-11:59:59-+0000 container2.c18
+ planbooking 2003-01-16-13:00:00-+0000 2003-01-16-17:59:59-+0000 container2.c18
+ planbooking 2003-01-17-09:00:00-+0000 2003-01-17-11:59:59-+0000 container2.c18
+ planbooking 2003-01-17-13:00:00-+0000 2003-01-17-17:59:59-+0000 container2.c18
+}
+supplement resource tux8 {
+ planbooking 2003-01-13-09:00:00-+0000 2003-01-13-11:59:59-+0000 container3.c19
+ planbooking 2003-01-13-13:00:00-+0000 2003-01-13-17:59:59-+0000 container3.c19
+ planbooking 2003-01-14-09:00:00-+0000 2003-01-14-11:59:59-+0000 container3.c19
+ planbooking 2003-01-14-13:00:00-+0000 2003-01-14-17:59:59-+0000 container3.c19
+ planbooking 2003-01-15-09:00:00-+0000 2003-01-15-11:59:59-+0000 container3.c19
+ planbooking 2003-01-15-13:00:00-+0000 2003-01-15-17:59:59-+0000 container3.c19
+ planbooking 2003-01-16-09:00:00-+0000 2003-01-16-11:59:59-+0000 container3.c19
+ planbooking 2003-01-16-13:00:00-+0000 2003-01-16-17:59:59-+0000 container3.c19
+ planbooking 2003-01-17-09:00:00-+0000 2003-01-17-11:59:59-+0000 container3.c19
+ planbooking 2003-01-17-13:00:00-+0000 2003-01-17-17:59:59-+0000 container3.c19
+}
+supplement resource tux9 {
+ planbooking 2003-01-13-09:00:00-+0000 2003-01-13-11:59:59-+0000 container4.c20
+ planbooking 2003-01-13-13:00:00-+0000 2003-01-13-17:59:59-+0000 container4.c20
+ planbooking 2003-01-14-09:00:00-+0000 2003-01-14-11:59:59-+0000 container4.c20
+ planbooking 2003-01-14-13:00:00-+0000 2003-01-14-17:59:59-+0000 container4.c20
+ planbooking 2003-01-15-09:00:00-+0000 2003-01-15-11:59:59-+0000 container4.c20
+ planbooking 2003-01-15-13:00:00-+0000 2003-01-15-17:59:59-+0000 container4.c20
+ planbooking 2003-01-16-09:00:00-+0000 2003-01-16-11:59:59-+0000 container4.c20
+ planbooking 2003-01-16-13:00:00-+0000 2003-01-16-17:59:59-+0000 container4.c20
+ planbooking 2003-01-17-09:00:00-+0000 2003-01-17-11:59:59-+0000 container4.c20
+ planbooking 2003-01-17-13:00:00-+0000 2003-01-17-17:59:59-+0000 container4.c20
+}
--- /dev/null
+project prj "TaskMix2 Project" "$Id" 2003-01-01-0:00-GMT 2003-01-31-0:00-GMT {
+ timezone "GMT"
+}
+
+resource tux1 "Tux1"
+resource tux2 "Tux2"
+resource tux3 "Tux3"
+resource tux4 "Tux4"
+resource tux5 "Tux5"
+resource tux6 "Tux6"
+resource tux7 "Tux7"
+resource tux8 "Tux8"
+resource tux9 "Tux9"
+resource tux10 "Tux10"
+resource tux11 "Tux11"
+resource tux12 "Tux12"
+
+task container1 "Container1" {
+ task c1 "| x-> -" {
+ start 2003-01-13
+ effort 5d
+ allocate tux1
+ }
+
+ task c3 "| --> |" {
+ start 2003-01-13
+ end 2003-01-18
+ }
+
+ task c6 "| <-- |" {
+ start 2003-01-13
+ end 2003-01-18
+ scheduling alap
+ }
+
+ task c16 "- <-x |" {
+ end 2003-01-18
+ effort 5d
+ allocate tux5
+ scheduling alap
+ }
+}
+
+task container2 "Container2" {
+ end 2003-01-19-23:59
+
+ task c2 "| x-> -D" {
+ start 2003-01-13
+ effort 5d
+ allocate tux2
+ scheduling asap
+ }
+
+ task c4 "| --> -D" {
+ start 2003-01-13
+ scheduling asap
+ }
+
+ task c5 "| --> |D" {
+ start 2003-01-13
+ end 2003-01-18
+ scheduling asap
+ }
+
+ task c7 "| <-- -D" {
+ start 2003-01-13
+ scheduling alap
+ }
+
+ task c8 "| <-- |D" {
+ start 2003-01-13
+ end 2003-01-18
+ scheduling alap
+ }
+
+ task c17 "- <-x -D" {
+ effort 5d
+ allocate tux6
+ scheduling alap
+ }
+
+ task c18 "- <-x |D" {
+ end 2003-01-18
+ effort 5d
+ allocate tux7
+ scheduling alap
+ }
+}
+
+task container3 "Container3" {
+ start 2003-01-11
+
+ task c9 "|D x-> -" {
+ start 2003-01-13
+ effort 5d
+ allocate tux3
+ }
+
+ task c11 "|D --> |" {
+ start 2003-01-13
+ end 2003-01-18
+ scheduling asap
+ }
+
+ task c14 "|D <-- |" {
+ start 2003-01-13
+ end 2003-01-18
+ scheduling alap
+ }
+
+ task c19 "-D x-> -" {
+ effort 5d
+ allocate tux8
+ }
+
+ task c21 "-D --> |" {
+ end 2003-01-18
+ }
+
+ task c24 "-D <-x |" {
+ effort 5d
+ allocate tux10
+ end 2003-01-18
+ scheduling alap
+ }
+
+ task c28 "-D <-- |" {
+ end 2003-01-18
+ scheduling alap
+ }
+}
+
+task container4 "Container4" {
+ start 2003-01-11
+ end 2003-01-19-23:59
+
+ task c10 "|D x-> -D" {
+ start 2003-01-13
+ scheduling asap
+ effort 5d
+ allocate tux4
+ }
+
+ task c12 "|D --> -D" {
+ start 2003-01-13
+ scheduling asap
+ }
+
+ task c13 "|D --> |D" {
+ start 2003-01-13
+ end 2003-01-18
+ scheduling asap
+ }
+
+ task c15 "|D <-- -D" {
+ start 2003-01-13
+ end 2003-01-18
+ scheduling alap
+ }
+
+ task c20 "-D x-> -D" {
+ effort 5d
+ allocate tux9
+ scheduling asap
+ }
+
+ task c22 "-D --> -D" {
+ scheduling asap
+ }
+
+ task c23 "-D --> |D" {
+ end 2003-01-18
+ scheduling asap
+ }
+
+ task c25 "-D <-x -D" {
+ effort 5d
+ allocate tux11
+ scheduling alap
+ }
+
+ task c26 "-D <-x |D" {
+ effort 5d
+ allocate tux12
+ end 2003-01-18
+ scheduling alap
+ }
+
+ task c29 "-D <-- -D" {
+ scheduling alap
+ }
+
+ task c30 "-D <-- |D" {
+ end 2003-01-18
+ scheduling alap
+ }
+}
+
+htmltaskreport "TaskMix3.html" {
+ columns id, name, start, end, daily
+}
+
+export "TaskMix3-Export.tjsp" {
+ hidetask 0
+ hideresource 0
+ taskattributes flags, note, minstart, maxstart, minend, maxend,
+ complete, responsible, depends
+}
+
--- /dev/null
+task t1 "Task1" {
+ start 2000-01-01-00:00:00-+0000
+ end 2000-01-14-23:59:59-+0000
+ projectid simple
+}
+task t2 "Task2" {
+ start 2000-01-10-00:00:00-+0000
+ end 2000-01-14-23:59:59-+0000
+ projectid simple
+}
+task m1 "Milestone1" {
+ start 2000-01-15-00:00:00-+0000
+ end 2000-01-15-00:00:00-+0000
+ projectid simple
+ milestone
+ depends t1, t2
+}
+task t3 "Task3" {
+ start 2000-01-15-00:00:00-+0000
+ end 2000-01-21-23:59:59-+0000
+ projectid simple
+ depends m1
+}
+supplement task t1 {
+ minstart 2000-01-01-00:00:00-+0000
+ maxstart 2000-01-31-00:00:00-+0000
+ minend 2000-01-01-00:00:00-+0000
+ maxend 2000-01-31-00:00:00-+0000
+}
+supplement task t2 {
+ minstart 2000-01-01-00:00:00-+0000
+ maxstart 2000-01-31-00:00:00-+0000
+ minend 2000-01-01-00:00:00-+0000
+ maxend 2000-01-31-00:00:00-+0000
+}
+supplement task m1 {
+ minstart 2000-01-01-00:00:00-+0000
+ maxstart 2000-01-31-00:00:00-+0000
+ minend 2000-01-01-00:00:00-+0000
+ maxend 2000-01-31-00:00:00-+0000
+}
+supplement task t3 {
+ minstart 2000-01-01-00:00:00-+0000
+ maxstart 2000-01-31-00:00:00-+0000
+ minend 2000-01-01-00:00:00-+0000
+ maxend 2000-01-31-00:00:00-+0000
+}
--- /dev/null
+project simple "Simple Project" "$Id" 2000-01-01-0:00-GMT 2000-01-31-0:00-GMT {
+ timezone "GMT"
+}
+
+task t1 "Task1" {
+ start 2000-01-01
+ length 10d
+}
+
+task m1 "Milestone1" {
+ depends !t1
+ milestone
+}
+
+task t2 "Task2" {
+ preceeds !m1
+ length 5d
+}
+
+task t3 "Task3" {
+ depends !m1
+ length 5d
+}
+
+htmltaskreport "TaskTree.html" {
+ columns name, start, end, daily
+}
+
+export "TaskTree-Export.tjsp" {
+ hidetask 0
+ hideresource 0
+ taskattributes flags, note, minstart, maxstart, minend, maxend,
+ complete, responsible, depends
+}
+
--- /dev/null
+project test "test" "$Id" 2000-01-01 2000-01-31
+
+task t1 "Task1" {
+ start 2000-01-01
+ length 5d
+}
+
+task t2 "Task2" {
+ start 2000-01-01
+ length 60d
+}
+
+task t3 "Task3" {
+ start 2000-01-01
+ length 10d
+}
+
+htmltaskreport "Runaway1.html" {
+ columns name, start, end, daily
+}
+
--- /dev/null
+project test "test" "$Id" 2000-01-01 2000-01-31
+
+task t1 "Task1" {
+ start 2000-01-01
+ length 5d
+}
+
+task t2 "Task2" {
+ task sub "Sub" {
+ start 2000-01-01
+ length 60d
+ }
+}
+
+task t3 "Task3" {
+ start 2000-01-01
+ length 10d
+}
+
+task t4 "Task4" {
+ depends !t2.sub
+ length 2d
+}
+
+htmltaskreport "Runaway2.html" {
+ columns name, start, end, daily
+}
+
--- /dev/null
+project test "test" "$Id" 2000-01-01 2000-01-31
+
+task t1 "Task1" {
+ end 2000-01-31
+ scheduling alap
+ length 5d
+}
+
+task t2 "Task2" {
+ end 2000-01-31
+ scheduling alap
+ length 60d
+}
+
+task t3 "Task3" {
+ end 2000-01-31
+ scheduling alap
+ length 10d
+}
+
+htmltaskreport "Runaway3.html" {
+ columns name, start, end, daily
+}
+
linkend="include">include</link>. This allows exported projects to be
added at arbitrary points in the task tree.</para></listitem>
+<listitem><para>Include statements within tasks are no longer
+supported. They caused in ambiguous interpretation of
+'flags'.</para></listitem>
+
<listitem><para>The optional attribute <link
linkend="export_taskroot">taskroot</link> has been added to <link
linkend="export">export</link>. This allows to export sub tasks of a
wrong results anyhow. Lots of test cases have been added to the test
suite to check the checker.</para></listitem>
+<listitem><para>The error reporting has been drastically improved. The
+messages should be more precise now and errors that are triggered by
+other errors should be not so promiment anymore.</para></listitem>
+
</itemizedlist> </para>
</sect2>
bool done = FALSE;
time_t day;
+ /* Find all tasks than have enough information to be scheduled and sort
+ * them into two lists; one list for all ASAP tasks and one list for all
+ * ALAP tasks. */
updateActiveTaskList(sortedTasks);
- for (day = start; !(activeAsap.isEmpty() && activeAlap.isEmpty()) &&
- day >= start && day < end; day += timeDelta)
+ for (day = start; !(activeAsap.isEmpty() && activeAlap.isEmpty()); )
{
+ if (debugLevel > 5)
+ qDebug("Scheduling slot %s", time2ISO(day).latin1());
timeDelta = scheduleGranularity;
do
{
break; // Start with top priority tasks again.
}
if (t->needsEarlierTimeSlot(day + scheduleGranularity))
+ {
+ if (debugLevel > 5)
+ qDebug("Scheduling backwards now");
timeDelta = -scheduleGranularity;
+ }
}
} while (!done);
- if (timeDelta < 0)
- continue;
- uint i = 0;
- do
+ if (timeDelta >= 0)
{
- done = TRUE;
- i = 0;
- for (Task* t = activeAsap.first(); t != 0; t = activeAsap.next())
+ do
{
- i++;
- if (!t->schedule(day, scheduleGranularity))
+ done = TRUE;
+ for (Task* t = activeAsap.first(); t != 0;
+ t = activeAsap.next())
{
- done = FALSE;
- break; // Start with top priority tasks again.
+ if (!t->schedule(day, scheduleGranularity))
+ {
+ done = FALSE;
+ break; // Start with top priority tasks again.
+ }
}
- }
- } while (!done);
- if (i != activeAsap.count())
- qFatal("activeAsap list corrupted");
+ } while (!done);
+ }
+ day += timeDelta;
+
+ /* Runaway detection */
+ if (day < start)
+ {
+ if (debugLevel > 2)
+ qDebug("Scheduler ran over start of project");
+
+ for (Task* t = activeAlap.first(); t != 0; t = activeAlap.next())
+ if (t->setRunaway(day - timeDelta, scheduleGranularity))
+ {
+ if (debugLevel > 2)
+ qDebug("Marking task %s as runaway",
+ t->getId().latin1());
+ error = TRUE;
+ }
+ day = start;
+ }
+ if (day >= end)
+ {
+ if (debugLevel > 2)
+ qDebug("Scheduler ran over end of project");
+
+ for (Task* t = activeAsap.first(); t != 0; t = activeAsap.next())
+ if (t->setRunaway(day - timeDelta, scheduleGranularity))
+ {
+ if (debugLevel > 2)
+ qDebug("Marking task %s as runaway",
+ t->getId().latin1());
+ error = TRUE;
+ }
+ day = end - scheduleGranularity;
+ }
}
- if (!activeAsap.isEmpty() || !activeAlap.isEmpty())
- {
- for (Task* t = activeAsap.first(); t != 0; t = activeAsap.next())
- qWarning("Task %s does not fit into the project time frame",
- t->getId().latin1());
- for (Task* t = activeAlap.first(); t != 0; t = activeAlap.next())
- qWarning("Task %s does not fit into the project time frame",
- t->getId().latin1());
- error = TRUE;
- }
+ if (error)
+ for (Task* t = sortedTasks.first(); t; t = sortedTasks.next())
+ if (t->isRunaway())
+ if (t->getScheduling() == Task::ASAP)
+ t->fatalError(QString(
+ "End of task %1 does not fit into the project time "
+ "frame.").arg(t->getId()));
+ else
+ t->fatalError(QString(
+ "Start of task %1 does not fit into the project time "
+ "frame.").arg(t->getId()));
if (!checkSchedule())
error = TRUE;
(token == a) \
{ \
if ((tt = nextToken(token)) == DATE) \
+ { \
+ if (date2time(token) < proj->getStart() || \
+ date2time(token) > proj->getEnd()) \
+ { \
+ fatalError("Date is outside of project time frame"); \
+ return FALSE; \
+ } \
task->b(date2time(token)); \
+ } \
else \
{ \
fatalError("Date expected"); \
}
else if (token == KW("include"))
{
- if (!readInclude())
- return FALSE;
+ fatalError("The 'include' attribute is no longer supported "
+ "within tasks since it caused ambiguoties between "
+ "flag declaration and flag attributes. Please use "
+ "the 'taskprefix' attribute of 'include' ouside "
+ "of tasks instead.");
+ return FALSE;
}
else
{
}
bool
+Task::setRunaway(time_t date, int slotDuration)
+{
+ /* Only mark tasks that have been scheduled in the last timeslot */
+ if (scheduling == ASAP)
+ {
+ if (debugLevel > 4)
+ qDebug("Task %s: lastSlot: %s, date + slotDuration - 1: %s",
+ id.latin1(),
+ time2ISO(lastSlot).latin1(),
+ time2ISO(date + slotDuration - 1).latin1());
+ if (lastSlot == 0 || lastSlot > date + slotDuration - 1)
+ return FALSE;
+ }
+ else
+ {
+ if (debugLevel > 4)
+ qDebug("Task %s: lastSlot: %s, date: %s", id.latin1(),
+ time2ISO(lastSlot).latin1(),
+ time2ISO(date).latin1());
+ if (lastSlot == 0 || lastSlot > date)
+ return FALSE;
+ }
+
+ project->removeActiveTask(this);
+ runAway = TRUE;
+ if (scheduling == ASAP)
+ end = maxEnd + 1;
+ else
+ start = minStart - 1;
+
+ return TRUE;
+}
+
+bool
+Task::isRunaway()
+{
+ /* If a container task has runaway sub tasts, it is very likely that they
+ * are the culprits. So we don't report such a container task as runaway.
+ */
+ for (Task* t = subFirst(); t; t = subNext())
+ if (t->isRunaway())
+ return FALSE;
+
+ return runAway;
+}
+
+bool
Task::bookResources(time_t date, time_t slotDuration)
{
bool allocFound = FALSE;
bool
Task::scheduleOk()
{
+ if (runAway)
+ return FALSE;
+
+ /* If any of the tasks is a runAway, we can safely surpress all other
+ * error messages. */
+ for (Task* t = depends.first(); t; t = depends.next())
+ if (t->runAway)
+ return FALSE;
+ for (Task* t = preceeds.first(); t; t = preceeds.next())
+ if (t->runAway)
+ return FALSE;
+
if (!sub.isEmpty())
{
// All sub task must fit into their parent task.
{
if (start > t->start)
{
- fatalError("Task %s starts ealier than parent",
- t->id.latin1());
+ if (!t->runAway)
+ fatalError("Task %s starts ealier than parent",
+ t->id.latin1());
return FALSE;
}
if (end < t->end)
{
- fatalError("Task %s ends later than parent", t->id.latin1());
+ if (!t->runAway)
+ fatalError("Task %s ends later than parent",
+ t->id.latin1());
return FALSE;
}
}
}
// Check if all previous tasks end before start of this task.
for (Task* t = previous.first(); t != 0; t = previous.next())
- if (t->end > start)
+ if (t->end > start && !t->runAway)
{
fatalError("Impossible dependency:\n"
"Task %s ends at %s but needs to preceed\n"
}
// Check if all following task start after this tasks end.
for (Task* t = followers.first(); t != 0; t = followers.next())
- if (end > t->start)
+ if (end > t->start && !t->runAway)
{
fatalError("Impossible dependency:\n"
"Task %s starts at %s but needs to follow\n"
effort = planEffort;
lastSlot = 0;
schedulingDone = FALSE;
+ runAway = FALSE;
bookedResources.clear();
bookedResources = planBookedResources;
effort = actualEffort;
lastSlot = 0;
schedulingDone = FALSE;
+ runAway = FALSE;
bookedResources.clear();
bookedResources = actualBookedResources;
}
void propagateStart(bool safeMode = TRUE);
void propagateEnd(bool safeMode = TRUE);
void propagateInitialValues();
+ bool setRunaway(time_t date, int slotDuration);
+ bool isRunaway();
/**
* @returns TRUE if the work planned for a day has been completed.
bool isSubTask(Task* t);
+ void fatalError(const char* msg, ...) const;
+
void preparePlan();
void finishPlan();
bool hasPlanEndDependency();
bool hasActualStartDependency();
bool hasActualEndDependency();
- void fatalError(const char* msg, ...) const;
/// A longer description of the task.
QString note;
/// This variable is set to true when the task has been scheduled.
bool schedulingDone;
+ /** This flag is set when the task does not fit into the project time
+ * frame. */
+ bool runAway;
+
/// A list of all the resources booked for this task.
QPtrList<Resource> bookedResources;