Changes have been pushed for the project "Fawkes Robotics Software Framework".

Gitweb: http://git.fawkesrobotics.org/fawkes.git
Trac:   http://trac.fawkesrobotics.org

The branch, thofmann/syncpoint has been updated
  discards  66ffcb4f319aa95b9be40b08ea04eb93adadc6f8 (commit)
  discards  a813cad9808a342105f3d4c09e19d45a32f43d98 (commit)
  discards  45b469c013a83ff6368e6a61618bb3a78a7c08f5 (commit)
  discards  e73399a719df7d3b489db7b42ca4d3e11843f64f (commit)
  discards  0213e944693844467f0a99155df3f93a6625d4fa (commit)
  discards  ea204f648be93c530036443e259031fa9698ba43 (commit)
  discards  33b8a709ca14759fd2f2b396e4be38ff77e28abb (commit)
  discards  f5803e5a70298934b9d5cadc871f5a0dd143a76b (commit)
        to  02a4bc618e2d7a7f00773db39d332e3eafe4c784 (commit)
       via  390c1c9bdccda16f42dc1b107aa228e748f46558 (commit)
       via  e4558703d6858fff0b1cc47de5e2183a5f0b222b (commit)
       via  27db44e957c69c1ea3f72fa9cee769ec0597dd56 (commit)
       via  0ef02ef80e234339e25c2c37b1f31f43bcc3f655 (commit)
       via  f1ca3ad7a08a2804604be7e0dd333c7bb73ca0b5 (commit)
       via  f856a15e486e53ef9bfd0e0133cf337c8f53c3c8 (commit)
       via  8e07a192e8d939501eeeadd71b49b229314879b6 (commit)
       via  21e2052345aa52c965c406cad4394681c8175d82 (commit)
       via  cc24026b7cec981a528b6edff1148c9611d5ca17 (commit)
       via  68fb5eab6b1ba5aac222107a653e663df0412205 (commit)
       via  b19a6c60d776125d0c088fd4f085e16372f7df31 (commit)
       via  9c60478b386abac9a3e6912fc57edc7e6220cd49 (commit)
       via  7af842d66327e3820b92b05a3c3e860890b779fd (commit)
       via  5294f482d4d258116404bfd274517605aeacbf35 (commit)
       via  85316eb0298d15bd9d5a8d539899699b4c8a6691 (commit)
       via  81643ad3349bf27be056eb29838bdd17b61e1f58 (commit)
       via  b248bb243d487d8182bdcbaf9e5c37d0830bb66d (commit)
       via  362681b9c0dd2968b09c842d18c3fa76f9d1694d (commit)
       via  49e95536c5f5b3b6959e4d54e9a8213108a33869 (commit)
       via  4115c3179a763a5765fbe49f1386c7ed8537c04d (commit)
       via  bceced8c969aabd80a39949d7172200f104352b0 (commit)
       via  07e24ebdcf95bbf4dd7bfb514f9511f140246825 (commit)
       via  bc42a0eaf12f9bc225e68f974de3745b22aecdad (commit)
       via  96b371ebc9c704ad24257d560cfa20b5ca90748c (commit)
       via  1833233d7917eeb266cd7bc66dfe59dda8be93b5 (commit)
       via  56ef49516278523d10ab0d18053d9003079e4d47 (commit)
       via  bf65eee1a7109c512603c85f25914f3791e2b5e4 (commit)
       via  f8eda1f69cf88f46319d9078ede01a962cb0a9f6 (commit)
       via  2824ddb6211cb2d3a4dd4e390e83e3b1a5ed4b07 (commit)
       via  0b74a7666297252c14cbd5aa6df0eb6c2e39c0e7 (commit)
       via  065094e7702fed67b1b219e6c055cab9bb3c4ebf (commit)
       via  4405c50e76a25cfcdf5448357beae430e2a764b2 (commit)
       via  03785881497a96d7c32fb5ac13a3e19f754f3a28 (commit)
       via  b7a9d8429f9b1d5844ed0ac9806ada04318f6f7a (commit)
       via  c574ddc7b175aa447ac0cbb9388b35f9546edd7c (commit)
       via  3f46bbd58d2bca1245c4306923df8472182f7077 (commit)
       via  4ff7fa9e4bd5717a1164075c50c0d3f75c73d585 (commit)
       via  df4340d8e6bd0d320c10011c382caefba98cfa22 (commit)
       via  db068df4090ba093c513948ffafc37f973a136dc (commit)
       via  c138b0f6839a382ab38ef1c054efcdaad7a460bc (commit)
       via  cbe447bbd43b33aa8759a4c96dfa069d2a8f1393 (commit)
       via  d0010a206b8df4d023963e9f80b4a3a5f5689e18 (commit)
       via  e5f85655a8eb0b221e9cddb398c9e2d8b9430283 (commit)
       via  ef266b2f991c680b08b81763bbf7c6e5ef139611 (commit)
       via  c15901f662109aab6c33847055b81e94b8ebb129 (commit)
       via  1b31ac4ce4d1024e200360f99d33eaad44b200f4 (commit)
       via  b81a792991f68658a4bf20867eabac75917f08ad (commit)
       via  176a2a738bc42350f8af5caa00a2771d152fd627 (commit)
       via  55a06ddb005111d2608c010c2722c2ecc1b71af4 (commit)
       via  d6176cdfd5a081df891ba1f55c1f001289b2ebf9 (commit)
       via  60379eb4f43a5f24997999725985f5691b34e52a (commit)
       via  20ffdbf3d5b39f39ea3c3a920499441b368257bf (commit)
       via  37d828653547c449c7537a4c639319dea0838343 (commit)
       via  433f1ef587a539f9ee730e36822b15fa0692b2ad (commit)
       via  a0b46accea1342097a4b51c8d24d38e16cfa0e94 (commit)
       via  42949b15aa84ca36d810a7beb730733474ff0ab7 (commit)
       via  1c71ad7f440b9f09b90cd3c08f7c7b777ee723d7 (commit)
       via  55310a9de6a4408b7c3e43e5769fe7c0a319c63a (commit)
       via  cf030e3f9cfd90527b5dbb805110999087063e42 (commit)
       via  a6a2dec6a2da5cc6193edfb97446e47d568ff824 (commit)
       via  1af1b72cf0edc8e181bbf5005207b385bd18018e (commit)
       via  e250a670fbe6aa5b5393ca61c9ce0f96eec429f3 (commit)
       via  1d722ef240c9ca7e54d469582a20581a9484a1ac (commit)
       via  f897ab9bcaec1115b4105459a5cb4cb193c0077a (commit)
       via  20a65d2bbd430e5150c0a04508eb8a895812668d (commit)
       via  25356cd4fb32aa3d5132e5036f1f73af12013865 (commit)
       via  6f361b6d04e2774c03f06233fd643b8f95f7532d (commit)
       via  35ed1e07f7ade6ca21e055b01198b9ad637bc56a (commit)
       via  12d514f72b4429505480a6912e8d99999e2a8e38 (commit)
       via  0c09624e4a110284cdf2da4bd2d359dcc527041b (commit)
       via  2bdfe97f0dc8eb7627d1eb9127075ef6d8a991a8 (commit)
       via  f9b9745bc8d4d8ce20b0d29207453cf49df68c30 (commit)
       via  955b18d566eeb95dc2398acc8a1a267e40e6d8ea (commit)
       via  15de53cea012f31cd3514e8bf13e89c201a079cd (commit)
       via  8a111e14a608f02d793edadbca3ce087493f77a8 (commit)
       via  ac1676aaa57f6618a1b6966721626e753abd69b0 (commit)
       via  c153507b519e69698d93d2cad804bf0f2c7f3cc7 (commit)
       via  db086508c79deeb0c55b4f0b5037487c5a269a97 (commit)
       via  19bbfc5bc84e8155782792e38799710ff72286ea (commit)
       via  ee4eadf2c641f380d28266d24a0d8df5bfc83a01 (commit)
       via  b11d0acd5b84dd5810e4460461da520a0ed2db3a (commit)
       via  4f7febc8de7ea8f5bf698a55749bfcc4409ccfc4 (commit)
       via  20665307e53efb10c29e15e27a53437e84e859d3 (commit)
       via  1ef94efbbe286896ae52678c437433f145362d0f (commit)
       via  a8ba8735e5928e20e945ace2444571977348ed78 (commit)
       via  7f62400e8f92aeabcf90fc7d452472bbec387931 (commit)
       via  7f6c0908995f2eb937feb72013693bf50f652f32 (commit)
       via  54eb5e70166423bba2f46634dc01a6bfaedd09d7 (commit)
       via  c48347208260d769cf9fdd0887c58d8275b015fa (commit)
       via  629dde1d9c09ba47a5ea9a1b5af8b6ddaa28d0dd (commit)
       via  ad2bdfc25c37b7f1551b6fa8fa7465a5fe5affa1 (commit)
       via  e89236a9938e9ebe387c0e842fa9fe902a3acad6 (commit)
       via  d887d1e6b5529f596bc30224c1485a4730da616d (commit)
       via  39a121ecae88bf161a90fb92ae185c542d8596e5 (commit)
       via  fb01ddddef43943c9a7d729a6c219b9e5d28647d (commit)
       via  1aca8dc359787d78a52e62ad51bea8d473bbc618 (commit)
       via  33483a901c247d4dad6eaceb9e2b5c7acf493b7a (commit)
       via  5784eda35dca821eaf6957a1a39e083a91bf6a81 (commit)
       via  9aa53e1c50100e85feb3db6d116dde899e75bd28 (commit)
       via  fd4233c98fbedcf91b8a331f296ef6b1f078cfd5 (commit)
       via  db6e4530d7b9dcac05dcc8843639b1944a903e8c (commit)
       via  11e4416008f768a026ecf250ef5d9b78c02a24db (commit)
       via  0bab9e5bf7c48bbc7629082ec192733f50a01756 (commit)
       via  47ee6e7c7e51802db2a81288d5777ead711747e5 (commit)
       via  1586352215859128b54b34a701dbe7fb14102456 (commit)
       via  ca49e0c3391015426c006c658938b5fcbad79f5b (commit)
       via  3196f06860588b028feaf56c4c0fc634fadc988b (commit)
       via  148068ac9a31fd8fb514e8074453144848ec9b7a (commit)
       via  39262680d743b04e7b4fb483b9df38a35909e145 (commit)
       via  e3470b4e706265ec5198f2cac3ec54e5d00c3866 (commit)
       via  0457b09c146f716a78d4e2758a8f12c5516de970 (commit)
       via  ac5e7a65bbb9d7c8aadd508cf67b12d8f37bea5c (commit)
       via  449040606f58d0c6912c3a97a9f9e1df12f150c9 (commit)
       via  575da006ebdca3d9520619328093dc93daf87978 (commit)
       via  74265a109f23e77768c134d242aac503ce475c44 (commit)
       via  1adb9054eab67b71881988b613970c317eb0e033 (commit)
       via  82f69fbca838f6850a1828a96045e68ec7f0fde7 (commit)
       via  6062ce597a81749ae4a692bfb98971850008015c (commit)
       via  95501be1520c197506e9b364446be8337fe5af84 (commit)
       via  40ed7e7fd3d305cda94de2692714b28fbc5d4575 (commit)
       via  a34d96e6a9dd8713808817f7557cd728c95c1291 (commit)
       via  8bc6a459d6084bf06be33c43b5d999c378373b3b (commit)
       via  5bdab3abbab18d861f6c80eccf9c22b1a0fff7a4 (commit)
       via  2b60ec4340a44195fc4f3568430ad79a68e15272 (commit)
       via  b354f2f1ecd70e97ecfe6fdbcb55bb5a4c8a1306 (commit)
       via  825f57dcd8c590ed1199bcd1f9a81a486fd2a78c (commit)
       via  238b1cff000d8f61482227eaefcbf660875ca133 (commit)
       via  4a069d103f02f882af2e01d837387c6a09f62029 (commit)
       via  a1607325395089954705e081d4812fe4cee88dd7 (commit)
       via  90f90a2b5ba8963506af8797ea5284735ac1d8d5 (commit)
       via  169760dd4e2208561161235b5a7a3db9d016fb86 (commit)
       via  bd708f726133bd584f951a6406241323249e7320 (commit)
       via  32e860074a5897986d6467dcebe01ae2939dcc74 (commit)
       via  8074cee7bff3c9b9f22b1a989a855a5541aa2bc7 (commit)
       via  5e6728d442b29e220b499b3c9a4e044b160c9100 (commit)
       via  0988b9f717d323c8a466ae7d494df4f6ec09676a (commit)
       via  8e49dfb4b44952f9a27f74f0d864c9455f7ad627 (commit)
       via  29563a1fbaadc9aae9ca9e3840c857781a707f44 (commit)
       via  418b4a26159331c87314154a3cda3dceedc08160 (commit)
       via  77eaac721ef03adfae04e6dd681be180d8848985 (commit)
       via  ad82c414320a3ea2c5e747a1ef67b9915bbe7b98 (commit)
       via  3755d4ca029e194a272fe49eb09ccb5be65962a5 (commit)
       via  64513844e1a430919f071c431d1f57893e974959 (commit)
       via  38cff23faa054e4f045e846a28d34c4841612fd1 (commit)
       via  b6bb940e230701791adbef5401515bd080c02a65 (commit)
       via  48200a9cb0248a666fbe8fb7f7f46e45d2e5aae6 (commit)
       via  5dd41233bc46f98bc57bacab48ec2eed7c8d9446 (commit)
       via  23599dbd8ab02f79b573cc35292d7c14dfe6095b (commit)
       via  7c46370913f814d0121a88477dc6eb257a9b3362 (commit)
       via  7771c0170950b952f5c60ff788d940ddc844ff8c (commit)
       via  01c20d061f9055026e03567d18b988f8eefcf4a3 (commit)
       via  8046f7d0be2f514852840b7b0cac34dd409d2dae (commit)
       via  23b9bc4a73eacfa852b32209a51147f291594b63 (commit)
       via  a384a885d85e63ddf7d82be9016d4eeb890e21fb (commit)
       via  8899b57553e02238e26088a0a6db34955d94a7f5 (commit)
       via  a2b4b4eba5f51d7cab7abf5987b169c6978d00c2 (commit)
       via  587280412701ecc6a599f04caf28a2ee1b9e49ff (commit)
       via  55277d5c3ca3fda2d3c61302ffd25aef8c7d6e7d (commit)
       via  a57360fec3066f872444dca5bb37d6061ecf44e9 (commit)
       via  7458a7ad67c15fb40c757d441fc778e4cc2775ad (commit)
       via  8c772265eaa6d20bde26f4a8d64ecb3292b28390 (commit)
       via  5263c07376ad691a924bd01baa0dea7dae3e1a4e (commit)
       via  347b0f072497b9a6bbda83db055ae2b375be1810 (commit)
       via  47c71184063c17abc4288f1dbce930fdcc05385d (commit)
       via  7d828cc192dcc752c46f62c2151063fed04e02c1 (commit)
       via  17ecc87e7e5efdab17054bba541267dee20890a0 (commit)
       via  b4ec8925fc8991d5ba56cc35ddddb284f6b86284 (commit)
       via  fe51cbaf41115ac1f92db184873b25894c7af203 (commit)
       via  40ab6fc1f9aa91a8a7a5264aa66c322bc4fd5733 (commit)
       via  086569b7fb83443638b7a639f35a7d686000ff46 (commit)
       via  d05ebd672ad21003688d1cc413251904d75f1a2e (commit)
       via  cb4060c392194bb0597374d1267503a1a7ddf6a0 (commit)
       via  2342f7b69492f94a65d5775bc47e8d0cb9d12ed3 (commit)
       via  e8918ad6a82f48da14b52628d50c6685fdc21a87 (commit)
       via  7939702bc278af23aed9c8e24af872fe05b320d9 (commit)
       via  ab5a2177664081097e3e17bb1854addb32e286b0 (commit)
       via  04853ab0bef96cc02384cd107e0c0d41394d293f (commit)
       via  cb9d6af74053e393fe3ea0573e236bbd0954e5c9 (commit)
       via  36cc7b29716d77537332195158fd2c1b38872c3e (commit)
       via  d8e0a528521ff4c92bde01a2f04c144897be6254 (commit)
       via  b477a02748ad513c135c63b743302c9c353eacdd (commit)
       via  82c8a470857d70e4ea878023c443e5f91d376293 (commit)
       via  78be80674de122f6436d38260b441201652cca06 (commit)
       via  1854d2789dbd064479bffda03cd467b5c8243e01 (commit)
       via  d9b166dce6048fea52fa6d4df01bc71369d2c484 (commit)
       via  2dc619d855d7b4e0df9a742541133af945c87f9e (commit)
       via  a784575a71b6562abb52197f6909f14af315d27d (commit)
       via  c1a7943104e89e9e4dcc219f54e9efaf2914db50 (commit)
       via  7a9e4b5aacd2e6898c12ab743ce0f46fcabeb3d0 (commit)
       via  b9e883986a34270679d64205939f968b522ea6df (commit)
       via  c6f358caecb7fdbddc9649334a4487ab7af2ae9b (commit)
       via  1d2d5b33d6651ffd770cc973f4738c056fde6470 (commit)
       via  53323243d9b3cb1459281bd42df91ad202844d4f (commit)
       via  4185dcebee3923084054efcd344636371b818e07 (commit)
       via  464e173570191f1d44d3c5aec0e42164f17862cf (commit)
       via  e8452a76a2ee06aad01d3ce6f8d65e07f94f5f7a (commit)
       via  b66d725e35ba9f0eaac19c848a2695110ff23855 (commit)
       via  4fb9e10d98d34a475755d9eb21f1f1af612be3dc (commit)
       via  e799dabb4600662270c05080a2b44947b6fc31c9 (commit)
       via  c9e284b230ae92ca49771ce7c15782a0b2eba966 (commit)
       via  342566bc6d803dcc0e85118aca2dc75105b5ce60 (commit)
       via  574bdebd10f9d4d49bb48a5d3285c781578e1472 (commit)
       via  967854ea3333d861318f90bce6b6f376c1119103 (commit)
       via  ee0e457f60a38b51bda69e2966bd83e904ca63dc (commit)
       via  74eb5e7d66538ea0732a04246ad29b37e5bf3cc9 (commit)
       via  520bdb657a1b8f408163ba51821744bde57acb02 (commit)
       via  6c71c05f2e142ad29a3ce915d979356e0692af5f (commit)
       via  92b6f359018eaa8c3ccbe0df9165b118be607a4e (commit)
       via  a1b359d5deba9c3757bd65a12318fdc6f97a260a (commit)
       via  eb27bec2b72959133929c10266822af6b261cfda (commit)
       via  b27d9706c5dc840103a3eb222565c6bac7289e79 (commit)
       via  c7d650320f683e1d06ef1a31dc69e60ea7efa2d7 (commit)
       via  4b1a487e3dbbcbdf1bbf32f881fd89e7fa3c1788 (commit)
       via  f9def52e7cca8798bc5a67ec734f6c33f38a3d5c (commit)
       via  151a08a58c61d56184859361157a2989c5887c63 (commit)
       via  c549b9dc5021a9ddc2b4011bc2d7516dc7c61563 (commit)
       via  fe2896e04000c9ecebdb16400acc4a5b6e87ce2a (commit)
       via  b9fdcff424cd15ca7d896d5b8ac7f2167f225436 (commit)
       via  043cffbff6c76bc304f3c4fe1d15d2b750d9aeed (commit)
       via  9b108d71b8c0c5292ccca00fb751b4e87ace5c53 (commit)
       via  8bda6ef8242bc580ad81d99cd323fe07d661cfc8 (commit)
       via  955df08cec033e5cd074658dbdb49887a1ee2d49 (commit)
       via  86bf0996bfb7dfdb795ec3ce9e73f9f5e4c6bdd9 (commit)
       via  b5c5c4b75d80aae08065c3cd4418f1339f4c393c (commit)
       via  444d482d86da1f5a21e175088dd8a6e1b8bbedc2 (commit)
       via  e3cff2dd8cf2c33d2050b04756eba986097af992 (commit)
       via  fac455ad0b2d85fa33038cc35c42daee10b19754 (commit)
       via  308b2777729bda649e2eac8a40c70687c4af4efb (commit)
       via  0adbf89416217f87c08e8e3c419a197fe1550f6e (commit)
       via  ee6449513033d9af1a2fcded92e0043d227b29f4 (commit)
       via  7ffce2db54f63cce129819a59ee50b478af3f815 (commit)
       via  764f400dc632923a808d3dfc6f2641e178d721da (commit)
       via  4017ba3e921d919372e6407953941d280e1b3d44 (commit)
       via  ed6ecf6d17eac4ab385bc0d3c410f757adc52dba (commit)
       via  a5ffbc6659f9c859887f2bf60bc1b689907f3cc4 (commit)
       via  63bc7244ee33b353713ba469524d532e56541b02 (commit)
       via  e7666f9bd4dbcc2723c6314201fe9abb1b5adb58 (commit)
       via  7abe3ba2ed19980b35c74517e138d063a904d329 (commit)
       via  55236164d025ba5edc9e20e57c33d6050aa1bf07 (commit)
       via  fb3fc053c3fb64f186df5c5cc96bcdc40026d107 (commit)
       via  e4210aedd8c44b0ddb821c5e3b39a20025d77ec3 (commit)
       via  a10f1620784ec9afeebf92f3a9e9dcca6a04286e (commit)
       via  4b28965af6c27208157234e30487ed4ae3e98c8a (commit)
       via  ee4dc3e512ae97396a406033ec452356f1820532 (commit)
       via  9f81825c0bb6abaee3825f6d6bdd2bd8ed58ce3b (commit)
       via  e53bf4725c63e38aad82c60c7b4b315528716916 (commit)
       via  d713379f4afb2b1a455761611eb789aabb0d488e (commit)
       via  024394a6d8eecdbe01faafc997c50e69383d9cb8 (commit)
       via  681fef69c75820b68d2a4262554c6941e774b065 (commit)
       via  585b535be8bcb8c1b4acd8037c6af9fc601aa188 (commit)
       via  92a4a091a5663d54114941b4c9c1824fa361de25 (commit)
       via  918a5da5d53627f216e2447b17f36116c01f1f84 (commit)
       via  494e0c83368b15a60d07e27d7d2e587f0971a104 (commit)
       via  df318104ad8aae591f39ca30c2990afc189916ad (commit)
       via  6a89106c570319ba34ed79444a59d3bd437fd9ce (commit)
       via  d843a81753235b708c4954b1a08d39392028305a (commit)
       via  efa340e5fd92fbe2c7016a05b71d0bf794f2a91c (commit)
       via  e43cdfc19654f4fb863b484b492226f8f425da6d (commit)
       via  ebd22f59aef7efee5f3fd3c4eb98894c0722ac68 (commit)
       via  c28e0a0e1039acb93e0abf4653752c6b5fc2380b (commit)
       via  a07e1412c57a1ee995c343c449ecdddae4155dda (commit)
       via  a7b9b2b466f50de38ac578a315fc782fd100ef76 (commit)
       via  0004e1c133b56ef2f7e971c2675ca83ee8ec7026 (commit)
       via  ee317f8650919a63c262c8fe6fec70fef19db4c1 (commit)
       via  c474876fcf97cb32afcc40af3bfca1ee9b1009cb (commit)
       via  abe42b424054dc7a4787893171545f64a8e5f1d9 (commit)
       via  fe990c03ef68331b1ba15225cd342b5839666974 (commit)
       via  6dfa74df35ca0f4fe1f2fc223e24c2a25c01e546 (commit)
       via  ab309f9242cf9b439dbf7b172cdbe36ec350895f (commit)
       via  65517b87a64d19f07f8a7d09af29ba93bcb160fb (commit)
       via  2162483b2847bcb675f5ed9a8f3c5668f09a44ba (commit)
       via  2549992a258f9975a1f255337957fa9f15b6a1c4 (commit)
       via  cdbd525efdb11c0d1fa6ec40ae504d5f670210af (commit)
       via  5d197e2f28da90cacf9c29ed37f7000b353ceb38 (commit)
       via  bceddcee14c370792a98c3b5d61108f972521ba8 (commit)
       via  c1ea2420f18fa9fc85885a92d540ebef2008a4df (commit)
       via  0781ca7d4d61075f88fff940ee2ef28d3bf41322 (commit)
       via  59f9122f5e3fae8721efbacef1ce8ce1cf0b5cd8 (commit)
       via  a04946f763da4d37870b2bb984177c2fe8cf459b (commit)
       via  9013cf198ec9687c3f09498fac1ffa0d76335727 (commit)
       via  3d2a783444945b65feee5799be1e436257b9189f (commit)
       via  2352bbf65e653a3dfeb359eee9ab59d9c6e8c63e (commit)
       via  00a11685bdf634216679edd7bb170eea3e1fbd70 (commit)
       via  f2606744d8b47310aacb4788356216c51a586890 (commit)
       via  aed9260e745a266ee92baa971c91613576e8c9d0 (commit)
       via  b96f424c97d0557373c89a852b720e911e96a9c3 (commit)
       via  590d988e1435fdb973f8901641db10429bdc74be (commit)
       via  7f8ccf7bfd11bed4c71621a54dc203fc1da982e9 (commit)
       via  ea78593e7734c63389cc2eaa8b23442d9c1ed9ad (commit)
       via  9c4c2d12c0962320371ec22599a41d857544f477 (commit)
       via  0b8b17b552cb78e563d0ca5ff34f9a54c125dcf5 (commit)
       via  f9d1feff742be838b2527fc945a3aceb2fa29dea (commit)
       via  e7359986b27c32f550386c32a5b92d43b2ffbc70 (commit)
       via  ad578b202db1e4563d1bfb2c58baf2b7f2fb8e06 (commit)
       via  99188962029f7b4ee93c7b0442ff7f80200b3b10 (commit)
       via  a5b06516e52a9b6eed804194b826cfebdac03da8 (commit)
       via  b475806b947d3cb092c68d3e555a6c2573baa436 (commit)
       via  487b485fc45d2fe402efd0a1cd11088d40af61c8 (commit)
       via  a1068c61370597c50fb3bf99b7b42bf4f5269b41 (commit)
       via  011a238d4daa4e2116328ec304420937bf717279 (commit)
       via  09d9b0fa4473b4e6dca633f3b572e52b73c518c8 (commit)
       via  519f30b7e0ed627e23025c0e45f2b7f28d91e581 (commit)
       via  4df242b873160ccf5a33fd36f42c3644e6691b69 (commit)
       via  c3aad2b5c90470cab123b8dafb2c94c2e1771e2b (commit)
       via  434c10748422cf8de9f2e4b3b60d7864eacb8ae1 (commit)
       via  8e2252663fc81633aa0664cd75d2fcbcbd3092e4 (commit)
       via  022ed26a61f119222d3b1fa3af75fb3da8b0b8f1 (commit)
       via  b8874be93709e03bf72f2060c4df79b71152b5e2 (commit)
       via  ca5c3067dc31a3736fb0f1a215327db2e4c673ec (commit)
       via  9f3444b7dfd240d34a5c87d15c54e8f23339afc1 (commit)
       via  0e7087b4b6709c18e1ac2ee06ced0424e88b0925 (commit)
       via  0b902b7bc65711e1771b187ccaad14966d87d067 (commit)
       via  55601d50aba17fd83e855de53ade1ac2117af44d (commit)
       via  a5af83c13c13a5fefc7ebc54735a8675fc315f0d (commit)
       via  2c554ad4166c95e50e25aa0158f6c63722499078 (commit)
       via  dba4a26bfaf5b04627596f46764519e861086841 (commit)
       via  d68bb51dc8b366f6f71bacd79d5c9fe4ca336cad (commit)
       via  ea771293427598540a9c6f7e152ffc108ec0c20e (commit)
       via  0fca7ea74f110850ea80ab8660f8a16a385a1796 (commit)
       via  11f9debf7dba91583305e9090b574f915e6015c2 (commit)
       via  6d6ba619306b46e1af406aecdd23b200f1cd5c1a (commit)
       via  2b24be16c5a756b2a1e9a2c404ae8bf6ae5a4e68 (commit)
       via  7b51f6576e56b9cdcb3921e2eaf95942c74a9c33 (commit)
       via  ced8edaaba30cf0b33ee383a6b8ba174304050fa (commit)
       via  a233f5d458b7e32f0e7b9a9280da87ca282bad3d (commit)
       via  7ef72e719159453508be31ac9636c38f034dc26e (commit)
       via  321f85072dee5bd4a069963a2575408e524f7b69 (commit)
       via  2e8d9b4e17bbf43e0c374ede561e8c5b8bdb42c1 (commit)
       via  95420b11fa1c65c9459897dec5cf3a89b32e3247 (commit)
       via  95fad25dcbe4c0d472fba243d3deb5c44eb44250 (commit)
       via  7ed6b6586acfd476fca60832770a3d526ba58705 (commit)
       via  2c5e7ec368f1f47971e764b060bc27673c1e20a4 (commit)
       via  65e67aadd0770e5098456f6303c194eecc0ee737 (commit)
       via  b32a580b11c8f8fb6ab86e85760a0f5d273c904f (commit)
       via  6e762b57c6dfd95b67b7909055f3b6f64b8087a0 (commit)
       via  e2d7225ffbb5aaade64d7cd65b3fa3c8c20aec51 (commit)
       via  9f4c9348196521c8fccd39115ff57f296fb7ef8c (commit)
       via  6562af596ba57f2321b2d67686ef59cd143ee893 (commit)
       via  e9e4aadd118fbeb65b885424b64773c6cea1a714 (commit)
       via  d18b19510f74017b46eb5d94c51c101c317b9601 (commit)
       via  bb497c7301e0b5fe2f8323bd72674ce962e47783 (commit)
       via  f8ba7401017e27543b95d3205ab77a5769c4d258 (commit)
       via  8c9eb1c9a9673c24b47706edd40b2d49855b115f (commit)
       via  e1125147d8d0c8ab348903734756003d105f4a2e (commit)
       via  4bed698a61fe3c322d88c6b0774489064c88684a (commit)
       via  84ef496006b0f60a281eeaccbe27f3057f63e654 (commit)
       via  272d2e09a9e3f0c10327825391172c61874746b5 (commit)
       via  8181f7ceea9734da25c01ca155a68100b096ad28 (commit)
       via  72b3b057c9034b6bac944f88ebbc552d4c403351 (commit)
       via  97c2985c5d57e41257ed4c4d3c1cbcdd998fcc14 (commit)
       via  65a8b5c2b958792da23f333c2244a903066af6f6 (commit)
       via  dddf0ace08f768eb1a99d6986e5b75a6c620a8e5 (commit)
       via  e7fe8a0f80941dd9c591da81a2ddb550ed6b5af3 (commit)
       via  741f433920cae0aeeff2c21792d906073a5690bf (commit)
       via  8eb99a751b086c24fce13454bc10ea2f7510f352 (commit)
       via  21f08f0b0fe16d97e8648083543b99495c72dbb3 (commit)
       via  2418e647ba980ae6f84dbb46128138b040ca9da0 (commit)
       via  c043efe2fb08412d6733fcf3d1de0e9a7aa4587e (commit)
       via  371670bef03ee1e7708484d9be7c61ff7b335bb5 (commit)
       via  886a255237ddad8950569e6722f229d93a7f0bf6 (commit)
       via  7679625946656f28c9bf4eff842b80fe93b393da (commit)
       via  63118ad2c9e26952585715f1e7f31439c4e37f54 (commit)
       via  99b814be046fb4c6654a849a9426eff8686b9ff1 (commit)
       via  04c87768aa4d23e0a4efc2e8fbb272e124660889 (commit)
       via  6a82cc1d44d950cf2a5c5dfbfe68d2d5537b6a03 (commit)
       via  4fd1f5768ac73464a56ef5e9ab8b634c748cc62f (commit)
       via  fb910339c713abad161b359cc30aa3d35c07a951 (commit)
       via  25c2d556c74e09c83eacb888f41b418d441b90c0 (commit)
       via  daad35661c6eaf318507029c84089795cb10d918 (commit)
       via  7d13f5b420baf230e153a8e283fba27c99de4777 (commit)
       via  2c6f4370b003a935e4f20ebfb09c2115f53303e6 (commit)
       via  3c333aa3b4cdde52fe5384a3c07bd171adad52e5 (commit)
       via  aee4555c94b54e2c0334a119438311a4df12ac43 (commit)
       via  38a48936b1a1038ad45434412bab15ba21219a29 (commit)
       via  85b82f652058c866d39f7662cccb8277b22d63b4 (commit)
       via  27d22d057e13932546817645aa492587c4054421 (commit)
       via  c28e62e2370a1f031f52d5294d88f1d01671ba93 (commit)
       via  751705c91ea66ffc40534569f595dea0e0cd0e05 (commit)
       via  549b3e2964472b4695bc1fbf155a19e20816c16e (commit)
       via  1e9692e796b66e38055057d7fc5f64ca27bec59a (commit)
       via  5589b9601610a5980a9d2803927d6ea244d2e1d5 (commit)
       via  3138bc11dfae8839e64c0f2dc53318748e3cf624 (commit)
       via  7a1264557e42d12cfaeda6366b302637b6404276 (commit)
       via  b64a67ac560b14dfaf54456abd0446388eb81384 (commit)
       via  1ab7a36927c9a0e44981e7f214dab103a0cd8617 (commit)
       via  177376dda799b82bf688f957ef75e733df18d1ac (commit)
       via  e03fb86bb92bb44d773109dd88973beb52cae00a (commit)
       via  fa6597eccc30cbb1db38f8de9ec6c6d75ad25fba (commit)
       via  7ab00bcc183e0b831b0e70038f754147a485a6e5 (commit)
       via  07812087968d65f7c654ff1752d9b98d10f747d4 (commit)
       via  166be5f668ddde726c8356f8ae5041627f172841 (commit)
       via  038b656e0c36cc421b9cc187a0de36f421a155a8 (commit)
       via  4542177be3acf12089cfe96ced9650cb0b91d9b9 (commit)
       via  bd48b8de23ffe43509e373ec64c1cc038a068023 (commit)
       via  ef184b4fac3f05a3823fce15b3a57f93255fc3b1 (commit)
       via  9af27243a483f79e8d136bf8322183d1346cd7bc (commit)
       via  670d194776364c9edb379c41581eff2e00824931 (commit)
       via  d272135bd41fdfa4644d0b6e2d4be728c9c8e278 (commit)
       via  3408d3106a0bf2989efd89be6dcde826f56f3f51 (commit)
       via  44a282c062a3575295693c5daa56affe5cba2795 (commit)
       via  fd6e38b2ef8319cac09f1f3dbbedd4bfc75c22fe (commit)
       via  05d66a4382efd9dc68f188730752ecf38c531588 (commit)
       via  2f8e6b93b5cffffe1db511c7b533bf38081fc07f (commit)
       via  424f9d1e58051024b92c17d6638079c3926f9974 (commit)
       via  06e58516ba6dcad296dcf0965ad7eb308d5101a4 (commit)
       via  f127c34223a2c4ff59d3af6112211e63e01ba2fb (commit)
       via  901825097e75b77a9750ae0796d4f37ebe281036 (commit)
       via  44dff79776007aa67859275911298396612c13d9 (commit)
       via  66cf37cea302c89af97beddcd7c0c43be898fc4d (commit)
       via  97b5b6eb7e2f124f160ad902224a403cfcdf5370 (commit)
       via  5de32ffa0bfbaca707a05a49ea2fcd6413879f32 (commit)
       via  adff41589b73518fee5131ad8ea4b8cb7a0e1059 (commit)
       via  5ea1889f2e45f3c70aa2f30bde27dcaf7195f385 (commit)
       via  15657b18f0a76d2a3422f9713960661171230ddb (commit)
       via  12be7149fc9a488c3f3036bc81bd087551613fe7 (commit)
       via  c0d18eb579b1b3324b59738d5377a7af2b1c550b (commit)
       via  14fb8e54461c80a0ee8a38091aea0651d3cbf14c (commit)
       via  c0e8d68fab5ec98aead97fb5b4e23b4a3d4f0218 (commit)
       via  2520989aafe76912cf4c90645df6a4941ecd8f0e (commit)
       via  a43d550c7bf72e3124574886a9169d13b3ffbce2 (commit)
       via  034db8261e611e26db05446466dd4347715b2ce6 (commit)
       via  81ecb83508b5c0a4c302dc8ef600ff03176ea7a0 (commit)
       via  e1bbbc53fffbf1cffcdd36b7ad7c803263f82fe0 (commit)
       via  e4b8a5405731f2e148aebcb09d78293ed8de59c0 (commit)
       via  267b039adc082e0ad1c4f7ef020dd47894d84f4a (commit)
       via  b33adb0252d8e6a154e31f9698bc80dbf785da62 (commit)
       via  b09522098319c569945fecae9e4841de902c21af (commit)
       via  8eba0b059cca8ba8e5c204f0fe348a9c42e04873 (commit)
       via  415c2a5ba1f7cd224f49256f10f9ea8c3c608d13 (commit)
       via  ffae310723e7b28c73f83ac09543900326e2d373 (commit)
       via  26bea4d9059da45748e79dab413c6b5d8910c0f2 (commit)
       via  cc5fda908adc5fcce6206f8d1ee064c94d5664ce (commit)
       via  743f1e1a7be72c0a3ba09d02b322492181b19810 (commit)
       via  7897f6ab0ca0ccfaf047501120085ab77746ecde (commit)
       via  b7f93ce9655c7f9b09e295db4ecc82fa2b9d549f (commit)
       via  ebbee69ac4406b60417b9aa110a900211105ce86 (commit)
       via  75bd6f72a283dedaf85a4e6863e684c34d1dd9d2 (commit)
       via  2eb7805cebbd837b522dcb0ba2a64e6919ff79b3 (commit)
       via  c40e5d38e66ba2eaf6356d66ff61d582182f17fe (commit)
       via  24895291efc95110b0e1250948d61fe196f2b12a (commit)
       via  b8307d9477d8c5cd53b6bf7edc85e31f74764958 (commit)
       via  900d2600487bbc86878577adc0a55d086c5ac3cd (commit)
       via  7094c7155da99c1c2ff4d25014a1c50d078a6a90 (commit)
       via  0dcbc962dd007ffa5889637358c71b4c903481c5 (commit)
       via  d96eeb8811c0064fc12d8488abab2f77f193f2f9 (commit)
       via  c409ae3985f50799de3fac94d98bd8424a1107ed (commit)
       via  486ffa26573fbd747844edec619439da261163eb (commit)
       via  138039624fe6614aecba23144c1ed21ce6af4d2d (commit)
       via  cfc7fbdb28c6a44ac73ec102ec17c9d3407ddc9a (commit)
       via  9a5cee5b95e1cf518c47f77208d3143019bb8168 (commit)
       via  28962ef501609672c44bdc8d3882ddb4264826d2 (commit)
       via  6505444869e7e498370e41c87ca4fc8f6007f78f (commit)
       via  5260a93e673a3bde522e650098429e290e6687da (commit)
       via  569360adfeed4d627079eec076235c1b8399634e (commit)
       via  94d42947dc543372eed4c32ae927eff5ccf82d31 (commit)
       via  f2142051e692a698cd546d8e02c0ea21ce426117 (commit)
       via  5da19eaa0a05987b48d923521829ebd377a90601 (commit)
       via  31f9e0b3539c8c7f0201e8649fde514a4ddba913 (commit)
       via  8a4d5d73fe8a55725d0c1746a6760cdf397f9dd9 (commit)
       via  1e5c7e5d0e82c899cc829a06926477f722a4c433 (commit)
       via  15bbf4d3dd49b92613e045e961b0d5c64522837f (commit)
       via  970ebe8b019d788d3c56427ac97a4d49ca1cae43 (commit)
       via  33c7002c594101f19435ba5a3439ef9021f1b51e (commit)
       via  f87965fb11e5ef980d951ac19551bf668602f949 (commit)
       via  2478936341f64f949b79f52ab7c88f140556da92 (commit)
       via  568a19e9694c544cb9cd34eae83a5c14922d4ca2 (commit)
       via  9f638f90b6892eb71bd80188722151d2a94ecac4 (commit)
       via  09236608c29c28e971e2eaabf02b573ad521ecf1 (commit)
       via  d934674f694b8928f70a03540f6309b10bdcad37 (commit)
       via  bde880d189cee519b941ad6748980e476cc02184 (commit)
       via  d7a61284dc7d571b50120969bd9d2e18ce0d3053 (commit)
       via  dc8674142e3a075b13caa71b705c2d83dc678f05 (commit)
       via  473ce2e0598e311d16f92ac157fdb48d57e40611 (commit)
       via  bb666b63468fa5e4ed1f7da7fe3105bcbf15124a (commit)
       via  d47b27e0965432e8bf53b4cd8f2675fb38bd8e80 (commit)
       via  92da17a7d8dcb9be98c57bb51a27693796ee929b (commit)
       via  a838e48e274d8b42cdf34859c87eb8e22beba974 (commit)
       via  25349aac01f478be4fb7fccd0908f53cc8d3175c (commit)
       via  3b7732472716c273cac0f92b316f7b28cf25c092 (commit)
       via  f29b64ea3de154b37e81c895bf350a93a9afba6f (commit)
       via  6c3c465e3aae108ba6f3f2f868502c8347d02d75 (commit)
       via  6d4a92367263a27cc458cb88031405b069ac7cfc (commit)
       via  fc560d58ed5ed4e9574a0fc03838cf48f92b8b5a (commit)
       via  49f4524037cd94174eb95360289d87aa8aec1b3d (commit)
       via  b327e67dbae27c37cb5fa70f93bfb50ac7707cd8 (commit)
       via  fd8a55b813a145624037b3351945037190105f7b (commit)
       via  dbf401f5161d3dbefbec832785126b9af8d3cf2c (commit)
       via  1042015cdd892f528f7fbc185e6c82be4b55f353 (commit)
       via  f8a5d5ae6709f425c0129771caee8068a43701bd (commit)
       via  9b42beb6a885bac587c41ed211f01ff48808bc5a (commit)
       via  793b105606ac55a0a5572324e9cc6ce7df06cfaa (commit)
       via  1ce1f54b4907ff0b977af45b32cd4a07b97a5800 (commit)
       via  1369f4a4bf6adb9864fbccdd045753f62fbe47f9 (commit)
       via  45afa48ecac930f89c6cd5fa96e902d9b0dbb3f5 (commit)
       via  eaf6f96ca309182bb940b4a9d7f2abc48ecefd6e (commit)
       via  56aaaee89cc7db3d3f255ea01e7b0ba0e21d5321 (commit)
       via  a2631bc6df283b2964b5f43d3365ed566d26d414 (commit)
       via  8c75c6318c64ec388768f7d2bd410fc6082df5e3 (commit)
       via  a0b76b084600bf9fc06a8e317b8ac9c735c04b32 (commit)
       via  208ed68016a85b507f0fb82d27640e64588fe9a8 (commit)
       via  b53fa9f83edebafb3cab890452834a2e06debce6 (commit)
       via  f608e0c11fc8edad514cef47f8b59a6c8e25f07e (commit)
       via  72099d0c45783e24b346b26ec13babb1af40004d (commit)
       via  9918c1b77a5afce0d1e1cb37dd1382d5ba48fc60 (commit)
       via  a59d1f9b1dd863b2daf3f89207898a8feeb70544 (commit)
       via  b5727adc0c512b1f371a0268293d62fdafa94be3 (commit)
       via  9f91b15e92fa0b2b50306e2f722ff7fd5a1126d6 (commit)
       via  b501fb4daf48691ea92c668070cd87265dd56960 (commit)
       via  df78d68d319c09b0ce54f27573ceb5f35ff83e81 (commit)
       via  be27e465be0eb87e1222fa75af0d1ad6d5e57fbf (commit)
       via  5a77c40be6cc5a1c048df6504a95c432ed7cd602 (commit)
       via  61e81f142f81a81b4951397b09a6169c9995fdcd (commit)
       via  0b00934941b0af3ca216fa4004891e98048d41ff (commit)
       via  af31999627e90532d5774e46a2a0e37f25518f1e (commit)
       via  8919dadc04520cc4e16c6baf549523a385e2133c (commit)
       via  e24c623135f31b5c38882540d24535ee435358c8 (commit)
       via  79774142a36c973cfb7afaa2c4c440233f7c85fe (commit)
       via  0abc0f411e113049a939449b1536075a8c91190f (commit)
       via  bec66cb4783970499583b26385e60525a0a69fe2 (commit)
       via  25d9f61963178eedc41a12945bcd862fb99f32df (commit)
       via  9363e42b298721d187698def86ae1b95d665517e (commit)
       via  9ae802eacd113e03cbc23e9bf2d532cb9a99b642 (commit)
       via  f4c4e92a864a9181d7bbc3b89de3c3eafdc0dfae (commit)
       via  bd6fc1e414cfab24780f8e07275f4c91d4463fdf (commit)
       via  37503314e431c6f93b15968bc5110b9d8bf23a88 (commit)
       via  5aac06d007aa175bf89d2c13b13ca054776a56b8 (commit)
       via  b508fd21558614b784f6c02675e665fdf385d12f (commit)
       via  19062e5c32def6bbd0d270240a4ae134de990d8f (commit)
       via  6f6291c5a9dc773137f67fb0ad32e084432edcaa (commit)
       via  394e347ff182c8732dea32dedb765e81ed3d67b5 (commit)
       via  3c7ccb8c38ec9171c75572e2a1bd7d00e2518a4f (commit)
       via  2f88ab65c8d8569898a3f37e2ac4fb88206eb50e (commit)
       via  074a0f096b50bac3bb08a69db537ab64520f23f6 (commit)
       via  48a6896d0e80d46773705ad4a1971f64a8f909a7 (commit)
       via  d43fd4413a5cfadbe30709af08e5165add9f7864 (commit)
       via  512fada5606eaa3245a5e8e9a22cb0aeffef2bc1 (commit)
       via  7b31b13d22617b153783480004f77e4268c9295a (commit)
       via  b20d5323e3d3a2f98ed16bc04acb1070b6a5e645 (commit)
       via  12c09860abfa145f447f6b74fd42629c981377f8 (commit)
       via  7e251069b4e84f1e80bc5e0e1abb737dce5fa24a (commit)
       via  232ffec0010c253d2914cafa633df00d7c037038 (commit)
       via  11a461ce7615cf3815db7a4189d4b183cbf3dae0 (commit)
       via  8220faf5fa5eb1b5915fd88086abdf224ae02f05 (commit)
       via  13cad8c2aa5e20da7e7168d4842bdb495fa3039a (commit)
       via  299fc457246e6150dedfddcb7b0bafd966df9af4 (commit)
       via  37369fae8fc401b4a98acaf69e721bef2be6d372 (commit)
       via  2ffccc7dfc036a43a26b7baeb331d16139895e72 (commit)
       via  f58a7e98a5934e78aa2466c3fcdd66545c9ef455 (commit)
       via  8ad3f45fead11ace15db66779a76e50a4f94b04d (commit)
       via  ef3f4435270d7e85e66c1149387565363574da81 (commit)
       via  7a45372c7bef10cee2001b29983ba319fa86e30a (commit)
       via  c9a31ad54eeeafa8d06e05f3abf9bb0f17fd3a65 (commit)
       via  d540c388655104d612d95b031910cfc1d6da3298 (commit)
       via  cacadf4e92ccd34dac6f0d23ff7d5b10d22581ff (commit)
       via  8b72c3e7ba6b3e84568cd5d1a4d022c85ab5af23 (commit)
       via  3cf880555932d8620a216260df64e584b570bd56 (commit)
       via  52625115b97a0a3d85a4f7a00db71c7abd5d8256 (commit)
       via  a2afee057efa03b3b9eaa8122f52c414e7d03126 (commit)
       via  1899f747bb68c5ed17e455ad59c16af1d4c804fe (commit)
       via  4830742563b4ce179760c44cfd67c71b91a8c48c (commit)
       via  74654bf2abca5c8e02555db3015ce6b5a8d51138 (commit)
       via  7d0af0da50532037771ff75378d224d4cdb34e8f (commit)
       via  2b260a8700c65d7dde8fb4549453db7c255fc8da (commit)
       via  28b08c81063bd2281e4cbae0f3a638e0833a8dc8 (commit)
       via  0c667995e09e145845dc84dec43c878267a268ba (commit)
       via  a1863e3516f909401b28be458eb482a9c55a8745 (commit)
       via  39f3a87d4b9cdf36cf16fd9a6667a20c9e7f16d9 (commit)
       via  332e52c10c406bd4ba6daa64b9a628c6c7813a2b (commit)
       via  2095db77111e28a270ad625e9ac29a7fb856ca25 (commit)
       via  60cc55412a1c9c27ddac2709ab645dc09d4814f5 (commit)
       via  e34b33d1bc9eae6f258379dd91782d3c5bb9eaca (commit)
       via  8f9ca838c273e7a7536888c1fed306ffe65f223b (commit)
       via  6b87040a0c068da628d1c1923e2287fe55e0719c (commit)
       via  df985e3fa48e48b281e71cc2fa3c97ca76b61b35 (commit)
       via  e57fa26f53cb7932d24182d665d59315cd0f0347 (commit)
       via  8548939b963e5f1e7a5b20731a5b57a7f7881b0b (commit)
       via  2a73799dc2be65ff61dcb4f778c255cc7575de6f (commit)
       via  a3030704e6d04e891ce51377305708e347228769 (commit)
       via  abcc900db75f196b767b427bf8bf815463a2fb19 (commit)
       via  2648b9997154c8bae4f7129de6876426b9051cfa (commit)
       via  69793cbcaa4667d2e19c16654ffec45d62fe4b06 (commit)
       via  87adb59739645f248871f735a711629712d56661 (commit)
       via  95464dcb7df935438038072109c4378030d5d47f (commit)
       via  d0d2f8916fcbfb08c27a77d19d3e12c0a3f5874d (commit)
       via  92a43b8976e5f8b14b5b308afc60d87c487dd38f (commit)
       via  b2cf985b29fd6c5958c2e35ebefd702db34bea2c (commit)
       via  5e560744fa3d804f322d77dbd51dff89a4ae4fd8 (commit)
       via  ce19b4a34442684bd305c9c0c2b10078eca58a75 (commit)
       via  fe8c4805705644ff6c7fd1221f884e0a85a49e8a (commit)
       via  44efc97b04893bd21de8e7b1c290e19c9e409381 (commit)
       via  6f346f5805bc03c5474c00bf943b4ca46c504729 (commit)
       via  1caa7c0c7bfcebb173523f5368fba4e6907b6ca4 (commit)
       via  1e16e3f4783259159bee555ac7f8f05e7340eb28 (commit)
       via  ea51ae553b93ab424e0075ae2bd29c6bda98c0a1 (commit)
       via  bde43a3e92427487896f4724091b8d0f9411319d (commit)
       via  4bdca2f04d0352fa7aa0de200a7cd2ba9f358a4a (commit)
       via  25ac493f741ffbb8e4036b3535465b0498b5d902 (commit)
       via  a9b0905e5d0cd9bb7774365b84c06d21609f6a2d (commit)
       via  0093e52d1e6d1ff458b1777381356a173b6d79e3 (commit)
       via  9630971e4f54258e8773c89a1f62778bb47632cc (commit)
       via  aae1e344972e406cec6ff70d4655d42be077d54f (commit)
       via  9af6f8186565f8d09c5fca7284529c9dbc714beb (commit)
       via  daab1e659fc60bb845c6a50c9638209455446b21 (commit)
       via  82030c21aabf8fb6aebf0c4032183da5e26d8445 (commit)
       via  f987920956723433e29c7a655f37226e7adf73a6 (commit)
       via  c47048b58206c1ee69b5bb0fbf99ac515cc8f677 (commit)
       via  86de8ca09cc29dc2b412a0ebb1bb9476b78e5ceb (commit)
       via  01f327a54b98bbc1c8b139cc4830590ba907887c (commit)
       via  ab6ed681f676b6b17cc4ddac18160c51a71ba0d4 (commit)
       via  e1adc1058186c7421b003cdf292fbf96729a2588 (commit)
       via  0259cba4083cacdb1fb01bb8b28e19b827669141 (commit)
       via  0cad0ee5e6bdc4f9679d8fbdc74a430a5d1479d3 (commit)
       via  12e5443840807cd62abf262b8941e3d35a43daf3 (commit)
       via  560bcb1d44018058a696d2a71ff7ec21614fc006 (commit)
       via  8db169a8089637cd7ad4b8c12e93a21c5d609ae7 (commit)
       via  4acf5fbdd54d55e8543794bae8f12628e56c8672 (commit)
       via  3328d702bf07a6cc35d0d0dfdbcf490b74daa110 (commit)
       via  829578881792f7baec8436f0573ebab89b329b3e (commit)
       via  8760686f1f44e477fe128bde16f2702c7fe19e33 (commit)
       via  38794ee2a83e3cc5fc04ba264f7b40bd386c33a2 (commit)

This update added new revisions after undoing existing revisions.  That is
to say, the old revision is not a strict subset of the new revision.  This
situation occurs when you --force push a change and generate a repository
containing something like this:

 * -- * -- B -- O -- O -- O (66ffcb4f319aa95b9be40b08ea04eb93adadc6f8)
            \
             N -- N -- N (02a4bc618e2d7a7f00773db39d332e3eafe4c784)

When this happens we assume that you've already had alert emails for all
of the O revisions, and so we here report only the revisions in the N
branch from the common base, B.

http://git.fawkesrobotics.org/fawkes.git/thofmann/syncpoint

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- *Log* ---------------------------------------------------------------
commit 8e07a192e8d939501eeeadd71b49b229314879b6
Author:     Till Hofmann <hofm...@kbsg.rwth-aachen.de>
AuthorDate: Mon Feb 3 15:04:05 2014 +0100
Commit:     Till Hofmann <hofm...@kbsg.rwth-aachen.de>
CommitDate: Fri Aug 15 19:39:01 2014 +0200

    syncpoint: add SyncPoint library
    
    SyncPoints are used to synchronize threads dynamically to allow easy
    management of subsequent tasks. As an example, thread E generates data
    which is needed by thread W. Therefore, both threads share a SyncPoint.
    Thread W wait()s for the SyncPoint to be emitted.
    Once thread E is done, it emit()s the SyncPoint, which wakes up thread
    W.
    
    Currently, any thread which uses SyncPoints needs the SyncPointManager
    Aspect. Threads with this aspect have access to the syncpoint_manager.
    
    SyncPoints have to have absolute-path-style identifiers, e.g.
    '/some/syncpoint'.

http://git.fawkesrobotics.org/fawkes.git/commit/8e07a19
http://trac.fawkesrobotics.org/changeset/8e07a19

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit f856a15e486e53ef9bfd0e0133cf337c8f53c3c8
Author:     Till Hofmann <hofm...@kbsg.rwth-aachen.de>
AuthorDate: Mon May 5 15:42:19 2014 +0200
Commit:     Till Hofmann <hofm...@kbsg.rwth-aachen.de>
CommitDate: Fri Aug 15 19:39:01 2014 +0200

    syncpoint: add unit tests

http://git.fawkesrobotics.org/fawkes.git/commit/f856a15
http://trac.fawkesrobotics.org/changeset/f856a15

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit f1ca3ad7a08a2804604be7e0dd333c7bb73ca0b5
Author:     Till Hofmann <hofm...@kbsg.rwth-aachen.de>
AuthorDate: Mon May 5 15:56:39 2014 +0200
Commit:     Till Hofmann <hofm...@kbsg.rwth-aachen.de>
CommitDate: Fri Aug 15 19:39:41 2014 +0200

    syncpoint: add two simple test plugins

http://git.fawkesrobotics.org/fawkes.git/commit/f1ca3ad
http://trac.fawkesrobotics.org/changeset/f1ca3ad

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit 0ef02ef80e234339e25c2c37b1f31f43bcc3f655
Author:     Till Hofmann <hofm...@kbsg.rwth-aachen.de>
AuthorDate: Tue May 20 11:25:07 2014 +0200
Commit:     Till Hofmann <hofm...@kbsg.rwth-aachen.de>
CommitDate: Fri Aug 15 19:39:42 2014 +0200

    syncpoint: use mutexes in SyncPoint and SyncPointManager
    
    Both are called by multiple threads, therefore any calls have to be
    guarded by mutexes.

http://git.fawkesrobotics.org/fawkes.git/commit/0ef02ef
http://trac.fawkesrobotics.org/changeset/0ef02ef

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit 27db44e957c69c1ea3f72fa9cee769ec0597dd56
Author:     Till Hofmann <hofm...@kbsg.rwth-aachen.de>
AuthorDate: Tue May 20 11:27:41 2014 +0200
Commit:     Till Hofmann <hofm...@kbsg.rwth-aachen.de>
CommitDate: Fri Aug 15 19:39:42 2014 +0200

    syncpoint: Minor changes in exception descriptions

http://git.fawkesrobotics.org/fawkes.git/commit/27db44e
http://trac.fawkesrobotics.org/changeset/27db44e

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit e4558703d6858fff0b1cc47de5e2183a5f0b222b
Author:     Till Hofmann <hofm...@kbsg.rwth-aachen.de>
AuthorDate: Tue May 20 11:31:45 2014 +0200
Commit:     Till Hofmann <hofm...@kbsg.rwth-aachen.de>
CommitDate: Fri Aug 15 19:39:43 2014 +0200

    syncpoint: throw exception if a waiting component calls wait() again

http://git.fawkesrobotics.org/fawkes.git/commit/e455870
http://trac.fawkesrobotics.org/changeset/e455870

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit 390c1c9bdccda16f42dc1b107aa228e748f46558
Author:     Till Hofmann <hofm...@kbsg.rwth-aachen.de>
AuthorDate: Tue May 20 11:42:47 2014 +0200
Commit:     Till Hofmann <hofm...@kbsg.rwth-aachen.de>
CommitDate: Fri Aug 15 19:39:43 2014 +0200

    syncpoint: add unit tests for multiple wait calls, multi-threading

http://git.fawkesrobotics.org/fawkes.git/commit/390c1c9
http://trac.fawkesrobotics.org/changeset/390c1c9

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
commit 02a4bc618e2d7a7f00773db39d332e3eafe4c784
Author:     Till Hofmann <hofm...@kbsg.rwth-aachen.de>
AuthorDate: Tue May 20 14:40:22 2014 +0200
Commit:     Till Hofmann <hofm...@kbsg.rwth-aachen.de>
CommitDate: Fri Aug 15 19:39:44 2014 +0200

    syncpoint: add unit tests to test wait/emit calls with multi-threading

http://git.fawkesrobotics.org/fawkes.git/commit/02a4bc6
http://trac.fawkesrobotics.org/changeset/02a4bc6

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


- *Summary* -----------------------------------------------------------
 .gitignore                                         |    6 +-
 cfg/conf.d/amcl.yaml                               |   11 +
 cfg/conf.d/colli.yaml                              |  213 +++++
 cfg/conf.d/flite.yaml                              |    9 +
 cfg/conf.d/frames.yaml                             |   20 +
 cfg/conf.d/gazsim.yaml                             |   68 ++
 cfg/conf.d/gossip.yaml                             |   19 +
 cfg/conf.d/imu.yaml                                |   31 +
 cfg/conf.d/laser-cluster.yaml                      |   58 ++
 cfg/conf.d/laser-lines.yaml                        |   33 +
 cfg/conf.d/laser.yaml                              |   43 +
 cfg/conf.d/laserht.yaml                            |   27 -
 cfg/conf.d/navgraph.yaml                           |   13 +
 cfg/conf.d/pcl_db.yaml                             |    9 +-
 cfg/conf.d/robot_state_publisher.yaml              |   12 +
 cfg/conf.d/robotino.yaml                           |   66 ++-
 cfg/conf.d/ros-robot-description.yaml              |   12 +
 cfg/conf.d/ros.yaml                                |    6 +
 cfg/conf.d/webview.yaml                            |    2 +
 doc/doxygen/parts/base.doxygen                     |    4 +-
 doc/index.html                                     |  203 -----
 doc/luadoc.css                                     |  286 ------
 doc/modules/fawkes.modinit.html                    |  235 -----
 doc/modules/fawkes.stringext.html                  |  132 ---
 doc/modules/fawkes.tableext.html                   |  184 ----
 doc/modules/src.fawkes.depinit.html                |  218 -----
 doc/modules/src.fawkes.dotgraph.html               |  142 ---
 doc/modules/src.fawkes.fsm.html                    |  649 --------------
 doc/modules/src.fawkes.hsm.html                    |  393 ---------
 doc/modules/src.fawkes.interface_initializer.html  |  142 ---
 doc/modules/src.fawkes.logprint.html               |  410 ---------
 doc/modules/src.fawkes.mathext.html                |  294 -------
 doc/modules/src.fawkes.predlib.html                |  142 ---
 doc/modules/src.fawkes.trigger.html                |  142 ---
 etc/buildsys/btypes/rules_fawkes.mk                |    2 +-
 etc/buildsys/clang.mk                              |    4 +
 etc/buildsys/config.mk                             |    1 +
 etc/buildsys/interface.mk                          |    2 +-
 etc/buildsys/lua.mk                                |    4 +-
 etc/buildsys/pcl.mk                                |    6 +
 etc/buildsys/protobuf.mk                           |   76 +--
 etc/buildsys/protobuf_msgs.mk                      |  114 +++
 etc/buildsys/root/docs.mk                          |   10 +-
 etc/buildsys/root/linkscripts.mk                   |    2 +-
 etc/buildsys/ros.mk                                |   11 +-
 etc/buildsys/rules.mk                              |   18 +-
 etc/licscripts/find_invlic.pl                      |    3 +
 res/guis/skillgui/skillgui.ui                      |   65 +-
 src/libs/Makefile                                  |    4 +-
 src/libs/blackboard/net/interface_observer.h       |    2 +-
 src/libs/blackboard/net/interface_proxy.h          |    2 +-
 src/libs/config/yaml.cpp                           |   41 +-
 src/libs/config/yaml.h                             |    3 +
 src/libs/core/plugin.h                             |   16 +-
 src/libs/core/threading/thread.cpp                 |   18 +
 src/libs/core/threading/thread_list.cpp            |    4 +
 src/libs/fvcams/control/color.cpp                  |    6 +-
 src/libs/fvcams/control/color.h                    |    4 +-
 src/libs/fvcams/control/dummy.cpp                  |    6 +-
 src/libs/fvcams/control/dummy.h                    |    4 +-
 src/libs/fvcams/nao.cpp                            |    4 +-
 src/libs/fvcams/nao.h                              |    4 +-
 src/libs/fvcams/v4l2.cpp                           |  160 +++-
 src/libs/fvcams/v4l2.h                             |   21 +-
 src/libs/fvfilters/colorthreshold.cpp              |   98 ++
 src/libs/fvfilters/colorthreshold.h                |   54 ++
 src/libs/fvmodels/Makefile                         |   16 +-
 src/libs/fvmodels/color/similarity.cpp             |  102 +++
 src/libs/fvmodels/color/similarity.h               |  122 +++
 src/libs/fvmodels/color/thresholds_black.cpp       |   40 +-
 src/libs/fvmodels/color/thresholds_black.h         |    6 +-
 .../relative_position/position_to_pixel.cpp        |  118 +++
 .../fvmodels/relative_position/position_to_pixel.h |   61 ++
 src/libs/fvmodels/scanlines/grid.cpp               |    7 +-
 src/libs/fvutils/adapters/iplimage.h               |    2 +-
 src/libs/fvutils/adapters/pcl.cpp                  |    4 +-
 src/libs/fvutils/base/roi.cpp                      |   45 +-
 src/libs/fvutils/base/roi.h                        |    1 +
 src/libs/fvutils/color/bayer.cpp                   |    6 +-
 src/libs/fvutils/color/rgb.cpp                     |   20 +-
 src/libs/fvutils/color/rgbyuv.cpp                  |   70 +-
 src/libs/fvutils/color/threshold.h                 |   77 ++
 src/libs/fvutils/color/yuv.cpp                     |   64 +-
 src/libs/fvutils/color/yuv.h                       |    6 +-
 src/libs/fvutils/color/yuvrgb.cpp                  |   42 +-
 src/libs/fvutils/color/yuvrgb.h                    |    8 +-
 src/libs/fvutils/draw/field_lines.cpp              |    4 +-
 src/libs/gui_utils/service_model.cpp               |    2 +-
 src/libs/interface/interface.cpp                   |   47 +
 src/libs/interface/interface.h                     |    2 +
 src/libs/interfaces/.gitignore                     |    3 +
 src/libs/interfaces/IMUInterface.cpp               |  575 ++++++++++++
 src/libs/interfaces/IMUInterface.h                 |  124 +++
 src/libs/interfaces/IMUInterface.tolua             |   69 ++
 src/libs/interfaces/IMUInterface.xml               |   53 ++
 src/libs/interfaces/NavigatorInterface.cpp         |  520 +++++++++++-
 src/libs/interfaces/NavigatorInterface.h           |  139 +++-
 src/libs/interfaces/NavigatorInterface.tolua       |   52 ++
 src/libs/interfaces/NavigatorInterface.xml         |   41 +-
 src/libs/interfaces/generator/type_checker.h       |    2 +-
 src/libs/kdl_parser/Makefile                       |   58 ++
 src/libs/kdl_parser/exceptions.h                   |   99 +++
 src/libs/kdl_parser/kdl_parser.cpp                 |  197 +++++
 src/libs/kdl_parser/kdl_parser.h                   |  111 +++
 src/libs/kdl_parser/kdl_parser.mk                  |   49 +
 src/libs/kdl_parser/model.cpp                      |  178 ++++
 src/libs/kdl_parser/model.h                        |   77 ++
 src/libs/kdl_parser/tests/Makefile                 |   31 +
 src/libs/kdl_parser/tests/caesar.urdf              |  848 ++++++++++++++++++
 src/libs/kdl_parser/tests/test_kdlparser.cpp       |   72 ++
 src/libs/netcomm/Makefile                          |    2 +-
 src/libs/netcomm/crypto/decrypt.cpp                |  154 ++++
 src/libs/netcomm/crypto/decrypt.h                  |   62 ++
 src/libs/netcomm/crypto/encrypt.cpp                |  204 +++++
 src/libs/netcomm/crypto/encrypt.h                  |   62 ++
 src/libs/netcomm/dns-sd/avahi_thread.cpp           |   26 +-
 src/libs/netcomm/worldinfo/decrypt.cpp             |  154 ----
 src/libs/netcomm/worldinfo/decrypt.h               |   63 --
 src/libs/netcomm/worldinfo/encrypt.cpp             |  203 -----
 src/libs/netcomm/worldinfo/encrypt.h               |   63 --
 src/libs/netcomm/worldinfo/transceiver.cpp         |    8 +-
 src/libs/netcomm/worldinfo/transceiver.h           |    8 +-
 src/libs/pcl_utils/pcl_adapter.cpp                 |   31 +-
 src/libs/pcl_utils/pcl_adapter.h                   |    6 +-
 src/libs/pcl_utils/utils.h                         |   36 +
 src/libs/plugin/Makefile                           |   22 +-
 src/libs/plugin/loader.cpp                         |  146 +++-
 src/libs/plugin/loader.h                           |    7 +-
 src/libs/plugin/manager.cpp                        |    7 +
 src/libs/protobuf_clips/communicator.cpp           |  170 +++-
 src/libs/protobuf_clips/communicator.h             |   67 ++-
 src/libs/protobuf_comm/Makefile                    |   19 +-
 src/libs/protobuf_comm/client.cpp                  |   79 ++-
 src/libs/protobuf_comm/client.h                    |   11 +-
 src/libs/protobuf_comm/crypto.cpp                  |  349 ++++++++
 src/libs/protobuf_comm/crypto.h                    |  101 +++
 src/libs/protobuf_comm/frame_header.h              |   62 ++-
 src/libs/protobuf_comm/message_register.cpp        |   25 +-
 src/libs/protobuf_comm/message_register.h          |    8 +-
 src/libs/protobuf_comm/peer.cpp                    |  322 ++++++-
 src/libs/protobuf_comm/peer.h                      |   84 ++-
 src/libs/protobuf_comm/queue_entry.h               |   13 +-
 src/libs/protobuf_comm/server.cpp                  |   21 +-
 src/libs/tf/tf.tolua                               |    4 +
 src/libs/tf/types.h                                |   33 +-
 src/libs/tf/utils.h                                |   12 +
 src/libs/utils/graph/topological_map_graph.cpp     |  117 +++
 src/libs/utils/graph/topological_map_graph.h       |   15 +
 src/libs/utils/graph/yaml_navgraph.cpp             |   75 ++
 src/libs/utils/math/common.h                       |   71 ++
 src/libs/utils/math/coord.h                        |   18 +-
 src/libs/utils/math/types.h                        |   58 ++-
 src/libs/utils/misc/string_conversions.cpp         |   41 +
 src/libs/utils/misc/string_conversions.h           |    4 +
 src/libs/utils/misc/string_split.h                 |    5 +
 src/libs/utils/system/fam.cpp                      |   65 +-
 src/libs/utils/time/clock.cpp                      |   39 +-
 src/libs/utils/time/clock.h                        |    1 +
 src/libs/utils/time/simts.cpp                      |    7 +
 src/libs/utils/time/simts.h                        |    1 +
 src/libs/utils/time/time.cpp                       |   12 +-
 src/libs/utils/time/timesource.h                   |   10 +
 src/libs/webview/page_reply.cpp                    |   47 +-
 src/libs/webview/page_reply.h                      |    7 +
 src/lua/fawkes/fsm/jumpstate.lua                   |    6 +-
 src/lua/fawkes/hsm.lua                             |    4 +-
 src/lua/fawkes/mathext.lua                         |    9 +
 src/lua/skills/generic/advanced/katana_grab.lua    |   13 +-
 src/lua/skills/generic/align_laserht.lua           |   85 ++
 src/lua/skills/generic/goto.lua                    |    2 +-
 src/lua/skills/generic/katana_approach.lua         |   10 +-
 src/lua/skills/generic/ppgoto.lua                  |    2 +-
 src/lua/skills/generic/relgoto.lua                 |  125 ++-
 src/lua/skills/generic/spin.lua                    |   68 ++
 src/plugins/Makefile                               |   13 +-
 src/plugins/amcl/amcl_thread.cpp                   |  124 +++-
 src/plugins/amcl/amcl_thread.h                     |    3 +
 src/plugins/clips-agent/clips_agent_thread.cpp     |    4 +-
 src/plugins/clips-protobuf/clips/protobuf.clp      |   44 +-
 src/plugins/clips-ros/clips_ros_thread.cpp         |    4 +
 .../clips-webview/clips-webview-processor.cpp      |    1 +
 src/plugins/clips/aspect/clips_env_manager.cpp     |   39 +-
 src/plugins/clips/aspect/clips_env_manager.h       |    3 +-
 src/plugins/clips/feature_blackboard.cpp           |    6 +
 src/plugins/clips/feature_config.cpp               |    2 +
 src/plugins/colli/Makefile                         |   87 ++
 src/plugins/colli/README                           |  453 ++++++++++
 src/plugins/colli/act_thread.cpp                   |  361 ++++++++
 src/plugins/colli/act_thread.h                     |  104 +++
 src/plugins/colli/colli_plugin.cpp                 |   61 ++
 src/plugins/colli/colli_thread.cpp                 |  923 ++++++++++++++++++++
 src/plugins/colli/colli_thread.h                   |  205 +++++
 src/plugins/colli/common/types.h                   |   73 ++
 .../colli/drive_modes/abstract_drive_mode.h        |  362 ++++++++
 .../colli/drive_modes/escape_drive_mode.cpp        |  306 +++++++
 src/plugins/colli/drive_modes/escape_drive_mode.h  |  102 +++
 .../escape_potential_field_drive_mode.cpp          |  234 +++++
 .../escape_potential_field_drive_mode.h            |   63 ++
 .../colli/drive_modes/fast_backward_drive_mode.cpp |  242 +++++
 .../colli/drive_modes/fast_backward_drive_mode.h   |   57 ++
 .../colli/drive_modes/fast_biward_drive_mode.cpp   |  155 ++++
 .../colli/drive_modes/fast_biward_drive_mode.h     |   61 ++
 .../colli/drive_modes/fast_forward_drive_mode.cpp  |  240 +++++
 .../colli/drive_modes/fast_forward_drive_mode.h    |   58 ++
 .../drive_modes/medium_backward_drive_mode.cpp     |  244 ++++++
 .../colli/drive_modes/medium_backward_drive_mode.h |   57 ++
 .../colli/drive_modes/medium_biward_drive_mode.cpp |  155 ++++
 .../colli/drive_modes/medium_biward_drive_mode.h   |   61 ++
 .../drive_modes/medium_forward_drive_mode.cpp      |  238 +++++
 .../colli/drive_modes/medium_forward_drive_mode.h  |   58 ++
 .../colli/drive_modes/select_drive_mode.cpp        |  351 ++++++++
 src/plugins/colli/drive_modes/select_drive_mode.h  |  108 +++
 .../colli/drive_modes/slow_backward_drive_mode.cpp |  226 +++++
 .../colli/drive_modes/slow_backward_drive_mode.h   |   58 ++
 .../colli/drive_modes/slow_biward_drive_mode.cpp   |  153 ++++
 .../colli/drive_modes/slow_biward_drive_mode.h     |   63 ++
 .../colli/drive_modes/slow_forward_drive_mode.cpp  |  233 +++++
 .../colli/drive_modes/slow_forward_drive_mode.h    |   57 ++
 src/plugins/colli/drive_modes/stop_drive_mode.cpp  |   93 ++
 src/plugins/colli/drive_modes/stop_drive_mode.h    |   50 ++
 .../colli/drive_realization/base_motor_instruct.h  |  224 +++++
 .../drive_realization/linear_motor_instruct.cpp    |  204 +++++
 .../drive_realization/linear_motor_instruct.h      |   76 ++
 .../drive_realization/quadratic_motor_instruct.cpp |  191 ++++
 .../drive_realization/quadratic_motor_instruct.h   |   75 ++
 src/plugins/colli/search/abstract_search.h         |  125 +++
 src/plugins/colli/search/astar.cpp                 |  412 +++++++++
 src/plugins/colli/search/astar.h                   |  135 +++
 src/plugins/colli/search/astar_search.cpp          |  309 +++++++
 src/plugins/colli/search/astar_search.h            |   97 ++
 src/plugins/colli/search/astar_state.h             |   92 ++
 src/plugins/colli/search/obstacle.h                |  197 +++++
 src/plugins/colli/search/obstacle_map.h            |   98 ++
 src/plugins/colli/search/og_laser.cpp              |  459 ++++++++++
 src/plugins/colli/search/og_laser.h                |  150 ++++
 .../colli/utils/occupancygrid/occupancygrid.cpp    |  200 +++++
 .../colli/utils/occupancygrid/occupancygrid.h      |   99 +++
 .../colli/utils/occupancygrid/probability.h        |   47 +
 src/plugins/colli/utils/rob/robo_motorcontrol.cpp  |  147 ++++
 src/plugins/colli/utils/rob/robo_motorcontrol.h    |  145 +++
 src/plugins/colli/utils/rob/roboshape.cpp          |  441 ++++++++++
 src/plugins/colli/utils/rob/roboshape.h            |  127 +++
 src/plugins/colli/utils/rob/roboshape_colli.h      |  127 +++
 src/plugins/colli/visualization_thread.cpp         |  200 +++++
 src/plugins/colli/visualization_thread.h           |   96 ++
 src/plugins/flite/synth_thread.cpp                 |    4 +-
 src/plugins/flite/synth_thread.h                   |    4 +
 src/plugins/gazebo/Makefile                        |   12 +-
 src/plugins/gazebo/aspect/gazebo.cpp               |   10 +-
 src/plugins/gazebo/aspect/gazebo.h                 |   10 +-
 src/plugins/gazebo/aspect/gazebo_inifin.cpp        |   23 +-
 src/plugins/gazebo/aspect/gazebo_inifin.h          |    6 +-
 src/plugins/gazebo/gazebo.mk                       |    2 +-
 src/plugins/gazebo/gazebo_plugin.cpp               |    2 +-
 src/plugins/gazebo/gazsim-comm/Makefile            |   72 ++
 .../gazebo/gazsim-comm/gazsim_comm_plugin.cpp      |   47 +
 .../gazebo/gazsim-comm/gazsim_comm_thread.cpp      |  237 +++++
 .../gazebo/gazsim-comm/gazsim_comm_thread.h        |   90 ++
 src/plugins/gazebo/gazsim-laser/Makefile           |   67 ++
 .../gazebo/gazsim-laser/gazsim_laser_plugin.cpp    |   47 +
 .../gazebo/gazsim-laser/gazsim_laser_thread.cpp    |  130 +++
 .../gazebo/gazsim-laser/gazsim_laser_thread.h      |   84 ++
 src/plugins/gazebo/gazsim-localization/Makefile    |   68 ++
 .../gazsim-localization/gazebo-plugin/Makefile     |   56 ++
 .../gazsim-localization/gazebo-plugin/gps.cpp      |  108 +++
 .../gazebo/gazsim-localization/gazebo-plugin/gps.h |   67 ++
 .../gazsim_localization_plugin.cpp                 |   48 +
 .../gazsim_localization_thread.cpp                 |  107 +++
 .../gazsim_localization_thread.h                   |   83 ++
 src/plugins/gazebo/gazsim-robotino/Makefile        |   70 ++
 .../gazsim-robotino/gazebo-plugin-gyro/Makefile    |   56 ++
 .../gazsim-robotino/gazebo-plugin-gyro/gyro.cpp    |   97 ++
 .../gazsim-robotino/gazebo-plugin-gyro/gyro.h      |   68 ++
 .../gazsim-robotino/gazebo-plugin-motor/Makefile   |   56 ++
 .../gazsim-robotino/gazebo-plugin-motor/motor.cpp  |  104 +++
 .../gazsim-robotino/gazebo-plugin-motor/motor.h    |   73 ++
 .../gazsim-robotino/gazsim_robotino_plugin.cpp     |   47 +
 .../gazsim-robotino/gazsim_robotino_thread.cpp     |  400 +++++++++
 .../gazsim-robotino/gazsim_robotino_thread.h       |  151 ++++
 src/plugins/gazebo/gazsim-timesource/Makefile      |   75 ++
 .../gazsim-timesource/gazsim_timesource_plugin.cpp |   45 +
 .../gazsim-timesource/gazsim_timesource_source.cpp |  151 ++++
 .../gazsim-timesource/gazsim_timesource_source.h   |   74 ++
 .../gazsim-timesource/gazsim_timesource_thread.cpp |   77 ++
 .../gazsim-timesource/gazsim_timesource_thread.h   |   69 ++
 .../gazebo/gazsim-vis-localization/Makefile        |   66 ++
 .../gazsim_vis_localization_plugin.cpp             |   47 +
 .../gazsim_vis_localization_thread.cpp             |  134 +++
 .../gazsim_vis_localization_thread.h               |   74 ++
 src/plugins/gazebo/gazsim-webcam/Makefile          |   65 ++
 .../gazebo/gazsim-webcam/gazsim_webcam_plugin.cpp  |   48 +
 .../gazebo/gazsim-webcam/gazsim_webcam_thread.cpp  |  110 +++
 .../gazebo/gazsim-webcam/gazsim_webcam_thread.h    |   82 ++
 src/plugins/gazebo/msgs/Float.proto                |   26 +
 src/plugins/gazebo/msgs/Makefile                   |   26 +
 src/plugins/gazebo/msgs/SimTime.proto              |   33 +
 src/plugins/gazebo/node_thread.cpp                 |   29 +-
 src/plugins/gazebo/node_thread.h                   |   11 +-
 src/plugins/gossip/Makefile                        |   65 ++
 src/plugins/gossip/aspect/Makefile                 |   66 ++
 src/plugins/gossip/aspect/gossip.cpp               |   61 ++
 src/plugins/gossip/aspect/gossip.h                 |   56 ++
 src/plugins/gossip/aspect/gossip_inifin.cpp        |   96 ++
 src/plugins/gossip/aspect/gossip_inifin.h          |   54 ++
 src/plugins/gossip/example/Makefile                |   74 ++
 src/plugins/gossip/example/TestMessage.proto       |   46 +
 src/plugins/gossip/example/gex_receiver_plugin.cpp |   45 +
 src/plugins/gossip/example/gex_receiver_thread.cpp |  124 +++
 src/plugins/gossip/example/gex_receiver_thread.h   |   64 ++
 src/plugins/gossip/example/gex_sender_plugin.cpp   |   45 +
 src/plugins/gossip/example/gex_sender_thread.cpp   |   79 ++
 src/plugins/gossip/example/gex_sender_thread.h     |   59 ++
 src/plugins/gossip/gossip/Makefile                 |   58 ++
 src/plugins/gossip/gossip/gossip_group.cpp         |  105 +++
 src/plugins/gossip/gossip/gossip_group.h           |  109 +++
 src/plugins/gossip/gossip/gossip_group_manager.cpp |  140 +++
 src/plugins/gossip/gossip/gossip_group_manager.h   |   80 ++
 src/plugins/gossip/gossip_plugin.cpp               |   45 +
 src/plugins/gossip/gossip_thread.cpp               |  131 +++
 src/plugins/gossip/gossip_thread.h                 |   62 ++
 src/plugins/imu/Makefile                           |   63 ++
 src/plugins/imu/acquisition_thread.cpp             |  193 ++++
 src/plugins/imu/acquisition_thread.h               |  122 +++
 src/plugins/imu/imu.mk                             |   27 +
 src/plugins/imu/imu_cruizcore_xg1010.cpp           |  617 +++++++++++++
 src/plugins/imu/imu_cruizcore_xg1010.h             |  100 +++
 src/plugins/imu/imu_plugin.cpp                     |  115 +++
 src/plugins/imu/sensor_thread.cpp                  |   92 ++
 src/plugins/imu/sensor_thread.h                    |   69 ++
 src/plugins/laser-cluster/Makefile                 |   95 ++
 src/plugins/laser-cluster/cluster_colors.h         |   35 +
 .../interfaces/LaserClusterInterface.cpp           |  392 +++++++++
 .../interfaces/LaserClusterInterface.h_ext         |  152 ++++
 .../interfaces/LaserClusterInterface.tolua         |   81 ++
 .../interfaces/LaserClusterInterface.xml           |   35 +
 .../interfaces/Makefile                            |    0
 src/plugins/laser-cluster/laser-cluster-plugin.cpp |   46 +
 src/plugins/laser-cluster/laser-cluster-thread.cpp |  610 +++++++++++++
 src/plugins/laser-cluster/laser-cluster-thread.h   |  152 ++++
 src/plugins/laser-filter/filter_thread.cpp         |   40 +-
 src/plugins/laser-filter/filters/720to360.cpp      |    2 +
 src/plugins/laser-filter/filters/circle_sector.cpp |    2 +
 src/plugins/laser-filter/filters/deadspots.cpp     |    2 +
 src/plugins/laser-filter/filters/filter.cpp        |   11 +-
 src/plugins/laser-filter/filters/filter.h          |   10 +-
 src/plugins/laser-filter/filters/max_circle.cpp    |    2 +
 src/plugins/laser-filter/filters/min_circle.cpp    |    2 +
 src/plugins/laser-filter/filters/min_merge.cpp     |   44 +-
 src/plugins/laser-filter/filters/min_merge.h       |   18 +-
 src/plugins/laser-filter/filters/projection.cpp    |    1 +
 src/plugins/laser-filter/filters/reverse_angle.cpp |    2 +
 src/plugins/laser-lines/Makefile                   |  104 +++
 .../laser-lines/interfaces/LaserLineInterface.cpp  |  360 ++++++++
 .../interfaces/LaserLineInterface.h_ext            |  109 +++
 .../interfaces/LaserLineInterface.tolua            |   63 ++
 .../laser-lines/interfaces/LaserLineInterface.xml  |   27 +
 src/plugins/laser-lines/interfaces/Makefile        |   24 +
 src/plugins/laser-lines/laser-lines-plugin.cpp     |   46 +
 src/plugins/laser-lines/laser-lines-thread.cpp     |  574 ++++++++++++
 src/plugins/laser-lines/laser-lines-thread.h       |  161 ++++
 src/plugins/laser-lines/line_colors.h              |   33 +
 src/plugins/laser/Makefile                         |   37 +-
 src/plugins/laser/acquisition_thread.cpp           |   46 +-
 src/plugins/laser/acquisition_thread.h             |    5 +
 src/plugins/laser/lase_edl_aqt.cpp                 |    1 +
 src/plugins/laser/laser.mk                         |   16 +
 src/plugins/laser/laser_plugin.cpp                 |   18 +
 src/plugins/laser/sensor_thread.cpp                |    6 +-
 src/plugins/laser/sick_tim55x_common_aqt.cpp       |  344 ++++++++
 src/plugins/laser/sick_tim55x_common_aqt.h         |   66 ++
 src/plugins/laser/sick_tim55x_ethernet_aqt.cpp     |  330 +++++++
 src/plugins/laser/sick_tim55x_ethernet_aqt.h       |   77 ++
 src/plugins/laser/sick_tim55x_usb_aqt.cpp          |  324 +++++++
 src/plugins/laser/sick_tim55x_usb_aqt.h            |   60 ++
 src/plugins/laser/urg_aqt.cpp                      |   20 +-
 src/plugins/laser/urg_aqt.h                        |    2 +
 src/plugins/laser/urg_gbx_aqt.cpp                  |    1 +
 src/plugins/laserht/Makefile                       |   34 -
 src/plugins/laserht/hough_transform.cpp            |  356 --------
 src/plugins/laserht/hough_transform.h              |  116 ---
 src/plugins/laserht/laserht_plugin.cpp             |   50 --
 src/plugins/laserht/laserht_plugin.h               |   37 -
 src/plugins/laserht/qa/Makefile                    |   25 -
 src/plugins/laserht/qa/qa_lineht.cpp               |  122 ---
 src/plugins/laserht/sensproc_thread.cpp            |  409 ---------
 src/plugins/laserht/sensproc_thread.h              |  108 ---
 src/plugins/navgraph/navgraph_thread.cpp           |  139 ++-
 src/plugins/navgraph/navgraph_thread.h             |    3 +
 src/plugins/navgraph/visualization_thread.cpp      |  144 +++-
 src/plugins/navgraph/visualization_thread.h        |    5 +
 src/plugins/openni/image_thread.cpp                |   45 +-
 src/plugins/openni/image_thread.h                  |    3 +-
 src/plugins/openni/pcl_frombuf_thread.cpp          |    2 +-
 src/plugins/openni/pointcloud_thread.cpp           |   39 +-
 src/plugins/openni/utils/setup.cpp                 |   39 +-
 src/plugins/openni/utils/setup.h                   |    5 +-
 src/plugins/openrave/environment.cpp               |   16 +-
 src/plugins/perception/base/base_thread.cpp        |   12 +-
 src/plugins/perception/pcl-db/Makefile             |   18 +-
 .../interfaces/PclDatabaseMergeInterface.cpp       |   56 +-
 .../interfaces/PclDatabaseMergeInterface.h_ext     |   13 +-
 .../interfaces/PclDatabaseMergeInterface.tolua     |    5 +-
 .../interfaces/PclDatabaseMergeInterface.xml       |    8 +-
 .../interfaces/PclDatabaseRetrieveInterface.cpp    |  142 +++-
 .../interfaces/PclDatabaseRetrieveInterface.h_ext  |   30 +-
 .../interfaces/PclDatabaseRetrieveInterface.tolua  |   11 +-
 .../interfaces/PclDatabaseRetrieveInterface.xml    |   19 +-
 .../interfaces/PclDatabaseStoreInterface.cpp       |  401 +++++++++
 .../interfaces/PclDatabaseStoreInterface.h_ext     |  133 +++
 .../interfaces/PclDatabaseStoreInterface.tolua     |   74 ++
 .../interfaces/PclDatabaseStoreInterface.xml       |   34 +
 .../perception/pcl-db/pcl_db_merge_pipeline.h      |   26 +-
 .../perception/pcl-db/pcl_db_merge_thread.cpp      |   25 +-
 .../perception/pcl-db/pcl_db_merge_thread.h        |    1 +
 src/plugins/perception/pcl-db/pcl_db_pipeline.h    |   74 +-
 .../perception/pcl-db/pcl_db_retrieve_pipeline.h   |   92 ++-
 .../perception/pcl-db/pcl_db_retrieve_thread.cpp   |   54 +-
 .../perception/pcl-db/pcl_db_retrieve_thread.h     |    1 +
 .../perception/pcl-db/pcl_db_store_plugin.cpp      |   46 +
 .../perception/pcl-db/pcl_db_store_thread.cpp      |  187 ++++
 .../perception/pcl-db/pcl_db_store_thread.h        |   76 ++
 src/plugins/perception/pcl-db/ros/Makefile         |   55 +-
 .../pcl-db/ros/pcl_db_roscomm_thread.cpp           |  122 +++-
 .../perception/pcl-db/ros/pcl_db_roscomm_thread.h  |   16 +-
 src/plugins/refboxcomm/processor/spl.cpp           |    6 +
 src/plugins/robot_state_publisher/Makefile         |   53 ++
 .../robot_state_publisher_plugin.cpp               |   47 +
 .../robot_state_publisher_thread.cpp               |  305 +++++++
 .../robot_state_publisher_thread.h                 |  149 ++++
 src/plugins/robotino/Makefile                      |    4 +-
 src/plugins/robotino/act_thread.cpp                |  258 +++++-
 src/plugins/robotino/act_thread.h                  |   36 +-
 .../interfaces/RobotinoSensorInterface.cpp         |  199 +++--
 .../interfaces/RobotinoSensorInterface.h_ext       |   48 +-
 .../interfaces/RobotinoSensorInterface.tolua       |   23 +-
 .../interfaces/RobotinoSensorInterface.xml         |   15 +-
 src/plugins/robotino/robotino.mk                   |    2 +-
 src/plugins/robotino/sensor_com_handler.cpp        |   79 ++
 src/plugins/robotino/sensor_com_handler.h          |   57 ++
 src/plugins/robotino/sensor_thread.cpp             |   81 ++-
 src/plugins/robotino/sensor_thread.h               |   16 +-
 src/plugins/ros/Makefile                           |   31 +-
 src/plugins/ros/move_base_plugin.cpp               |   44 +
 src/plugins/ros/move_base_thread.cpp               |  295 +++++++
 src/plugins/ros/move_base_thread.h                 |  105 +++
 src/plugins/ros/node_thread.cpp                    |    7 +
 src/plugins/ros/pcl_thread.cpp                     |    2 +-
 src/plugins/ros/robot_description_plugin.cpp       |   45 +
 src/plugins/ros/robot_description_thread.cpp       |   76 ++
 src/plugins/ros/robot_description_thread.h         |   49 +
 src/plugins/rrdweb/rrdweb_processor.h              |    2 +-
 src/plugins/webview/static_processor.cpp           |  102 ++-
 src/plugins/webview/static_processor.h             |    7 +-
 src/plugins/webview/webview_thread.cpp             |   11 +-
 src/tools/lasergui/laser_drawing_area.cpp          |    2 +-
 src/tools/refboxrep/msl2007.cpp                    |    4 +-
 src/tools/refboxrep/spl.cpp                        |    6 +-
 src/tools/skillgui/gvplugin_skillgui_cairo.cpp     |    2 +-
 src/tools/vision/show_yuv.cpp                      |   20 +
 459 files changed, 34229 insertions(+), 6587 deletions(-)
 create mode 100644 cfg/conf.d/colli.yaml
 create mode 100644 cfg/conf.d/flite.yaml
 create mode 100644 cfg/conf.d/frames.yaml
 create mode 100644 cfg/conf.d/gazsim.yaml
 create mode 100644 cfg/conf.d/gossip.yaml
 create mode 100644 cfg/conf.d/imu.yaml
 create mode 100644 cfg/conf.d/laser-cluster.yaml
 create mode 100644 cfg/conf.d/laser-lines.yaml
 delete mode 100644 cfg/conf.d/laserht.yaml
 create mode 100644 cfg/conf.d/robot_state_publisher.yaml
 create mode 100644 cfg/conf.d/ros-robot-description.yaml
 delete mode 100644 doc/index.html
 delete mode 100644 doc/luadoc.css
 delete mode 100644 doc/modules/fawkes.modinit.html
 delete mode 100644 doc/modules/fawkes.stringext.html
 delete mode 100644 doc/modules/fawkes.tableext.html
 delete mode 100644 doc/modules/src.fawkes.depinit.html
 delete mode 100644 doc/modules/src.fawkes.dotgraph.html
 delete mode 100644 doc/modules/src.fawkes.fsm.html
 delete mode 100644 doc/modules/src.fawkes.hsm.html
 delete mode 100644 doc/modules/src.fawkes.interface_initializer.html
 delete mode 100644 doc/modules/src.fawkes.logprint.html
 delete mode 100644 doc/modules/src.fawkes.mathext.html
 delete mode 100644 doc/modules/src.fawkes.predlib.html
 delete mode 100644 doc/modules/src.fawkes.trigger.html
 create mode 100644 etc/buildsys/protobuf_msgs.mk
 create mode 100644 src/libs/fvfilters/colorthreshold.cpp
 create mode 100644 src/libs/fvfilters/colorthreshold.h
 create mode 100644 src/libs/fvmodels/color/similarity.cpp
 create mode 100644 src/libs/fvmodels/color/similarity.h
 create mode 100644 src/libs/fvmodels/relative_position/position_to_pixel.cpp
 create mode 100644 src/libs/fvmodels/relative_position/position_to_pixel.h
 create mode 100644 src/libs/fvutils/color/threshold.h
 create mode 100644 src/libs/interfaces/IMUInterface.cpp
 create mode 100644 src/libs/interfaces/IMUInterface.h
 create mode 100644 src/libs/interfaces/IMUInterface.tolua
 create mode 100644 src/libs/interfaces/IMUInterface.xml
 create mode 100644 src/libs/kdl_parser/Makefile
 create mode 100644 src/libs/kdl_parser/exceptions.h
 create mode 100644 src/libs/kdl_parser/kdl_parser.cpp
 create mode 100644 src/libs/kdl_parser/kdl_parser.h
 create mode 100644 src/libs/kdl_parser/kdl_parser.mk
 create mode 100644 src/libs/kdl_parser/model.cpp
 create mode 100644 src/libs/kdl_parser/model.h
 create mode 100644 src/libs/kdl_parser/tests/Makefile
 create mode 100644 src/libs/kdl_parser/tests/caesar.urdf
 create mode 100644 src/libs/kdl_parser/tests/test_kdlparser.cpp
 create mode 100644 src/libs/netcomm/crypto/decrypt.cpp
 create mode 100644 src/libs/netcomm/crypto/decrypt.h
 create mode 100644 src/libs/netcomm/crypto/encrypt.cpp
 create mode 100644 src/libs/netcomm/crypto/encrypt.h
 delete mode 100644 src/libs/netcomm/worldinfo/decrypt.cpp
 delete mode 100644 src/libs/netcomm/worldinfo/decrypt.h
 delete mode 100644 src/libs/netcomm/worldinfo/encrypt.cpp
 delete mode 100644 src/libs/netcomm/worldinfo/encrypt.h
 create mode 100644 src/libs/protobuf_comm/crypto.cpp
 create mode 100644 src/libs/protobuf_comm/crypto.h
 create mode 100644 src/libs/utils/math/common.h
 create mode 100644 src/lua/skills/generic/align_laserht.lua
 create mode 100644 src/lua/skills/generic/spin.lua
 create mode 100644 src/plugins/colli/Makefile
 create mode 100644 src/plugins/colli/README
 create mode 100644 src/plugins/colli/act_thread.cpp
 create mode 100644 src/plugins/colli/act_thread.h
 create mode 100644 src/plugins/colli/colli_plugin.cpp
 create mode 100644 src/plugins/colli/colli_thread.cpp
 create mode 100644 src/plugins/colli/colli_thread.h
 create mode 100644 src/plugins/colli/common/types.h
 create mode 100644 src/plugins/colli/drive_modes/abstract_drive_mode.h
 create mode 100644 src/plugins/colli/drive_modes/escape_drive_mode.cpp
 create mode 100644 src/plugins/colli/drive_modes/escape_drive_mode.h
 create mode 100644 
src/plugins/colli/drive_modes/escape_potential_field_drive_mode.cpp
 create mode 100644 
src/plugins/colli/drive_modes/escape_potential_field_drive_mode.h
 create mode 100644 src/plugins/colli/drive_modes/fast_backward_drive_mode.cpp
 create mode 100644 src/plugins/colli/drive_modes/fast_backward_drive_mode.h
 create mode 100644 src/plugins/colli/drive_modes/fast_biward_drive_mode.cpp
 create mode 100644 src/plugins/colli/drive_modes/fast_biward_drive_mode.h
 create mode 100644 src/plugins/colli/drive_modes/fast_forward_drive_mode.cpp
 create mode 100644 src/plugins/colli/drive_modes/fast_forward_drive_mode.h
 create mode 100644 src/plugins/colli/drive_modes/medium_backward_drive_mode.cpp
 create mode 100644 src/plugins/colli/drive_modes/medium_backward_drive_mode.h
 create mode 100644 src/plugins/colli/drive_modes/medium_biward_drive_mode.cpp
 create mode 100644 src/plugins/colli/drive_modes/medium_biward_drive_mode.h
 create mode 100644 src/plugins/colli/drive_modes/medium_forward_drive_mode.cpp
 create mode 100644 src/plugins/colli/drive_modes/medium_forward_drive_mode.h
 create mode 100644 src/plugins/colli/drive_modes/select_drive_mode.cpp
 create mode 100644 src/plugins/colli/drive_modes/select_drive_mode.h
 create mode 100644 src/plugins/colli/drive_modes/slow_backward_drive_mode.cpp
 create mode 100644 src/plugins/colli/drive_modes/slow_backward_drive_mode.h
 create mode 100644 src/plugins/colli/drive_modes/slow_biward_drive_mode.cpp
 create mode 100644 src/plugins/colli/drive_modes/slow_biward_drive_mode.h
 create mode 100644 src/plugins/colli/drive_modes/slow_forward_drive_mode.cpp
 create mode 100644 src/plugins/colli/drive_modes/slow_forward_drive_mode.h
 create mode 100644 src/plugins/colli/drive_modes/stop_drive_mode.cpp
 create mode 100644 src/plugins/colli/drive_modes/stop_drive_mode.h
 create mode 100644 src/plugins/colli/drive_realization/base_motor_instruct.h
 create mode 100644 
src/plugins/colli/drive_realization/linear_motor_instruct.cpp
 create mode 100644 src/plugins/colli/drive_realization/linear_motor_instruct.h
 create mode 100644 
src/plugins/colli/drive_realization/quadratic_motor_instruct.cpp
 create mode 100644 
src/plugins/colli/drive_realization/quadratic_motor_instruct.h
 create mode 100644 src/plugins/colli/search/abstract_search.h
 create mode 100644 src/plugins/colli/search/astar.cpp
 create mode 100644 src/plugins/colli/search/astar.h
 create mode 100644 src/plugins/colli/search/astar_search.cpp
 create mode 100644 src/plugins/colli/search/astar_search.h
 create mode 100644 src/plugins/colli/search/astar_state.h
 create mode 100644 src/plugins/colli/search/obstacle.h
 create mode 100644 src/plugins/colli/search/obstacle_map.h
 create mode 100644 src/plugins/colli/search/og_laser.cpp
 create mode 100644 src/plugins/colli/search/og_laser.h
 create mode 100644 src/plugins/colli/utils/occupancygrid/occupancygrid.cpp
 create mode 100644 src/plugins/colli/utils/occupancygrid/occupancygrid.h
 create mode 100644 src/plugins/colli/utils/occupancygrid/probability.h
 create mode 100644 src/plugins/colli/utils/rob/robo_motorcontrol.cpp
 create mode 100644 src/plugins/colli/utils/rob/robo_motorcontrol.h
 create mode 100644 src/plugins/colli/utils/rob/roboshape.cpp
 create mode 100644 src/plugins/colli/utils/rob/roboshape.h
 create mode 100644 src/plugins/colli/utils/rob/roboshape_colli.h
 create mode 100644 src/plugins/colli/visualization_thread.cpp
 create mode 100644 src/plugins/colli/visualization_thread.h
 create mode 100644 src/plugins/gazebo/gazsim-comm/Makefile
 create mode 100644 src/plugins/gazebo/gazsim-comm/gazsim_comm_plugin.cpp
 create mode 100644 src/plugins/gazebo/gazsim-comm/gazsim_comm_thread.cpp
 create mode 100644 src/plugins/gazebo/gazsim-comm/gazsim_comm_thread.h
 create mode 100644 src/plugins/gazebo/gazsim-laser/Makefile
 create mode 100644 src/plugins/gazebo/gazsim-laser/gazsim_laser_plugin.cpp
 create mode 100644 src/plugins/gazebo/gazsim-laser/gazsim_laser_thread.cpp
 create mode 100644 src/plugins/gazebo/gazsim-laser/gazsim_laser_thread.h
 create mode 100644 src/plugins/gazebo/gazsim-localization/Makefile
 create mode 100644 
src/plugins/gazebo/gazsim-localization/gazebo-plugin/Makefile
 create mode 100644 src/plugins/gazebo/gazsim-localization/gazebo-plugin/gps.cpp
 create mode 100644 src/plugins/gazebo/gazsim-localization/gazebo-plugin/gps.h
 create mode 100644 
src/plugins/gazebo/gazsim-localization/gazsim_localization_plugin.cpp
 create mode 100644 
src/plugins/gazebo/gazsim-localization/gazsim_localization_thread.cpp
 create mode 100644 
src/plugins/gazebo/gazsim-localization/gazsim_localization_thread.h
 create mode 100644 src/plugins/gazebo/gazsim-robotino/Makefile
 create mode 100644 
src/plugins/gazebo/gazsim-robotino/gazebo-plugin-gyro/Makefile
 create mode 100644 
src/plugins/gazebo/gazsim-robotino/gazebo-plugin-gyro/gyro.cpp
 create mode 100644 src/plugins/gazebo/gazsim-robotino/gazebo-plugin-gyro/gyro.h
 create mode 100644 
src/plugins/gazebo/gazsim-robotino/gazebo-plugin-motor/Makefile
 create mode 100644 
src/plugins/gazebo/gazsim-robotino/gazebo-plugin-motor/motor.cpp
 create mode 100644 
src/plugins/gazebo/gazsim-robotino/gazebo-plugin-motor/motor.h
 create mode 100644 
src/plugins/gazebo/gazsim-robotino/gazsim_robotino_plugin.cpp
 create mode 100644 
src/plugins/gazebo/gazsim-robotino/gazsim_robotino_thread.cpp
 create mode 100644 src/plugins/gazebo/gazsim-robotino/gazsim_robotino_thread.h
 create mode 100644 src/plugins/gazebo/gazsim-timesource/Makefile
 create mode 100644 
src/plugins/gazebo/gazsim-timesource/gazsim_timesource_plugin.cpp
 create mode 100644 
src/plugins/gazebo/gazsim-timesource/gazsim_timesource_source.cpp
 create mode 100644 
src/plugins/gazebo/gazsim-timesource/gazsim_timesource_source.h
 create mode 100644 
src/plugins/gazebo/gazsim-timesource/gazsim_timesource_thread.cpp
 create mode 100644 
src/plugins/gazebo/gazsim-timesource/gazsim_timesource_thread.h
 create mode 100644 src/plugins/gazebo/gazsim-vis-localization/Makefile
 create mode 100644 
src/plugins/gazebo/gazsim-vis-localization/gazsim_vis_localization_plugin.cpp
 create mode 100644 
src/plugins/gazebo/gazsim-vis-localization/gazsim_vis_localization_thread.cpp
 create mode 100644 
src/plugins/gazebo/gazsim-vis-localization/gazsim_vis_localization_thread.h
 create mode 100644 src/plugins/gazebo/gazsim-webcam/Makefile
 create mode 100644 src/plugins/gazebo/gazsim-webcam/gazsim_webcam_plugin.cpp
 create mode 100644 src/plugins/gazebo/gazsim-webcam/gazsim_webcam_thread.cpp
 create mode 100644 src/plugins/gazebo/gazsim-webcam/gazsim_webcam_thread.h
 create mode 100644 src/plugins/gazebo/msgs/Float.proto
 create mode 100644 src/plugins/gazebo/msgs/Makefile
 create mode 100644 src/plugins/gazebo/msgs/SimTime.proto
 create mode 100644 src/plugins/gossip/Makefile
 create mode 100644 src/plugins/gossip/aspect/Makefile
 create mode 100644 src/plugins/gossip/aspect/gossip.cpp
 create mode 100644 src/plugins/gossip/aspect/gossip.h
 create mode 100644 src/plugins/gossip/aspect/gossip_inifin.cpp
 create mode 100644 src/plugins/gossip/aspect/gossip_inifin.h
 create mode 100644 src/plugins/gossip/example/Makefile
 create mode 100644 src/plugins/gossip/example/TestMessage.proto
 create mode 100644 src/plugins/gossip/example/gex_receiver_plugin.cpp
 create mode 100644 src/plugins/gossip/example/gex_receiver_thread.cpp
 create mode 100644 src/plugins/gossip/example/gex_receiver_thread.h
 create mode 100644 src/plugins/gossip/example/gex_sender_plugin.cpp
 create mode 100644 src/plugins/gossip/example/gex_sender_thread.cpp
 create mode 100644 src/plugins/gossip/example/gex_sender_thread.h
 create mode 100644 src/plugins/gossip/gossip/Makefile
 create mode 100644 src/plugins/gossip/gossip/gossip_group.cpp
 create mode 100644 src/plugins/gossip/gossip/gossip_group.h
 create mode 100644 src/plugins/gossip/gossip/gossip_group_manager.cpp
 create mode 100644 src/plugins/gossip/gossip/gossip_group_manager.h
 create mode 100644 src/plugins/gossip/gossip_plugin.cpp
 create mode 100644 src/plugins/gossip/gossip_thread.cpp
 create mode 100644 src/plugins/gossip/gossip_thread.h
 create mode 100644 src/plugins/imu/Makefile
 create mode 100644 src/plugins/imu/acquisition_thread.cpp
 create mode 100644 src/plugins/imu/acquisition_thread.h
 create mode 100644 src/plugins/imu/imu.mk
 create mode 100644 src/plugins/imu/imu_cruizcore_xg1010.cpp
 create mode 100644 src/plugins/imu/imu_cruizcore_xg1010.h
 create mode 100644 src/plugins/imu/imu_plugin.cpp
 create mode 100644 src/plugins/imu/sensor_thread.cpp
 create mode 100644 src/plugins/imu/sensor_thread.h
 create mode 100644 src/plugins/laser-cluster/Makefile
 create mode 100644 src/plugins/laser-cluster/cluster_colors.h
 create mode 100644 
src/plugins/laser-cluster/interfaces/LaserClusterInterface.cpp
 create mode 100644 
src/plugins/laser-cluster/interfaces/LaserClusterInterface.h_ext
 create mode 100644 
src/plugins/laser-cluster/interfaces/LaserClusterInterface.tolua
 create mode 100644 
src/plugins/laser-cluster/interfaces/LaserClusterInterface.xml
 copy src/plugins/{robotino => laser-cluster}/interfaces/Makefile (100%)
 create mode 100644 src/plugins/laser-cluster/laser-cluster-plugin.cpp
 create mode 100644 src/plugins/laser-cluster/laser-cluster-thread.cpp
 create mode 100644 src/plugins/laser-cluster/laser-cluster-thread.h
 create mode 100644 src/plugins/laser-lines/Makefile
 create mode 100644 src/plugins/laser-lines/interfaces/LaserLineInterface.cpp
 create mode 100644 src/plugins/laser-lines/interfaces/LaserLineInterface.h_ext
 create mode 100644 src/plugins/laser-lines/interfaces/LaserLineInterface.tolua
 create mode 100644 src/plugins/laser-lines/interfaces/LaserLineInterface.xml
 create mode 100644 src/plugins/laser-lines/interfaces/Makefile
 create mode 100644 src/plugins/laser-lines/laser-lines-plugin.cpp
 create mode 100644 src/plugins/laser-lines/laser-lines-thread.cpp
 create mode 100644 src/plugins/laser-lines/laser-lines-thread.h
 create mode 100644 src/plugins/laser-lines/line_colors.h
 create mode 100644 src/plugins/laser/sick_tim55x_common_aqt.cpp
 create mode 100644 src/plugins/laser/sick_tim55x_common_aqt.h
 create mode 100644 src/plugins/laser/sick_tim55x_ethernet_aqt.cpp
 create mode 100644 src/plugins/laser/sick_tim55x_ethernet_aqt.h
 create mode 100644 src/plugins/laser/sick_tim55x_usb_aqt.cpp
 create mode 100644 src/plugins/laser/sick_tim55x_usb_aqt.h
 delete mode 100644 src/plugins/laserht/Makefile
 delete mode 100644 src/plugins/laserht/hough_transform.cpp
 delete mode 100644 src/plugins/laserht/hough_transform.h
 delete mode 100644 src/plugins/laserht/laserht_plugin.cpp
 delete mode 100644 src/plugins/laserht/laserht_plugin.h
 delete mode 100644 src/plugins/laserht/qa/Makefile
 delete mode 100644 src/plugins/laserht/qa/qa_lineht.cpp
 delete mode 100644 src/plugins/laserht/sensproc_thread.cpp
 delete mode 100644 src/plugins/laserht/sensproc_thread.h
 create mode 100644 
src/plugins/perception/pcl-db/interfaces/PclDatabaseStoreInterface.cpp
 create mode 100644 
src/plugins/perception/pcl-db/interfaces/PclDatabaseStoreInterface.h_ext
 create mode 100644 
src/plugins/perception/pcl-db/interfaces/PclDatabaseStoreInterface.tolua
 create mode 100644 
src/plugins/perception/pcl-db/interfaces/PclDatabaseStoreInterface.xml
 create mode 100644 src/plugins/perception/pcl-db/pcl_db_store_plugin.cpp
 create mode 100644 src/plugins/perception/pcl-db/pcl_db_store_thread.cpp
 create mode 100644 src/plugins/perception/pcl-db/pcl_db_store_thread.h
 create mode 100644 src/plugins/robot_state_publisher/Makefile
 create mode 100644 
src/plugins/robot_state_publisher/robot_state_publisher_plugin.cpp
 create mode 100644 
src/plugins/robot_state_publisher/robot_state_publisher_thread.cpp
 create mode 100644 
src/plugins/robot_state_publisher/robot_state_publisher_thread.h
 create mode 100644 src/plugins/robotino/sensor_com_handler.cpp
 create mode 100644 src/plugins/robotino/sensor_com_handler.h
 create mode 100644 src/plugins/ros/move_base_plugin.cpp
 create mode 100644 src/plugins/ros/move_base_thread.cpp
 create mode 100644 src/plugins/ros/move_base_thread.h
 create mode 100644 src/plugins/ros/robot_description_plugin.cpp
 create mode 100644 src/plugins/ros/robot_description_thread.cpp
 create mode 100644 src/plugins/ros/robot_description_thread.h


- *Diffs* -------------------------------------------------------------

- *commit* 8e07a192e8d939501eeeadd71b49b229314879b6 - - - - - - - - - -
Author:  Till Hofmann <hofm...@kbsg.rwth-aachen.de>
Date:    Mon Feb 3 15:04:05 2014 +0100
Subject: syncpoint: add SyncPoint library

 src/libs/Makefile                                  |    4 +-
 src/libs/aspect/Makefile                           |    2 +-
 src/libs/aspect/inifins/syncpoint_manager.cpp      |   70 +++++++++
 .../inifins/syncpoint_manager.h}                   |   30 ++--
 src/libs/aspect/manager.cpp                        |    7 +-
 src/libs/aspect/manager.h                          |    4 +-
 src/libs/aspect/syncpoint_manager.cpp              |   62 ++++++++
 .../syncpoint_manager.h}                           |   30 ++--
 src/libs/baseapp/Makefile                          |    2 +-
 src/libs/baseapp/run.cpp                           |    7 +-
 .../rrd/aspect => libs/syncpoint}/Makefile         |   28 ++--
 src/libs/syncpoint/exceptions.h                    |  160 ++++++++++++++++++++
 src/libs/syncpoint/syncpoint.cpp                   |  118 ++++++++++++++
 src/libs/syncpoint/syncpoint.h                     |   68 +++++++++
 src/libs/syncpoint/syncpoint_manager.cpp           |  132 ++++++++++++++++
 .../fam_thread.h => syncpoint/syncpoint_manager.h} |   49 ++++---
 16 files changed, 708 insertions(+), 65 deletions(-)

_Diff for modified files_:
diff --git a/src/libs/Makefile b/src/libs/Makefile
index 3b1bd80..cc860e2 100644
--- a/src/libs/Makefile
+++ b/src/libs/Makefile
@@ -20,7 +20,8 @@ include $(BUILDSYSDIR)/fvconf.mk
 SUBDIRS = core utils interface netcomm blackboard interfaces config logging tf 
\
          plugin lua aspect webview gui_utils baseapp \
          fvutils fvcams fvmodels fvfilters fvclassifiers fvstereo fvwidgets \
-         eclipse_externals kdl_parser protobuf_comm protobuf_clips pcl_utils
+         eclipse_externals kdl_parser protobuf_comm protobuf_clips pcl_utils \
+         syncpoint
 
 ifeq ($(HAVE_SIFT),1)
   SUBDIRS += extlib/sift
@@ -65,6 +66,7 @@ endif
 protobuf_clips: core protobuf_comm
 pcl_utils: core tf
 kdl_parser: core
+syncpoint: core 
 
 include $(BUILDSYSDIR)/rules.mk
 include $(LIBSRCDIR)/extlibs.mk
diff --git a/src/libs/aspect/Makefile b/src/libs/aspect/Makefile
index 3bf9541..da5c69d 100644
--- a/src/libs/aspect/Makefile
+++ b/src/libs/aspect/Makefile
@@ -20,7 +20,7 @@ include $(BUILDCONFDIR)/tf/tf.mk
 include $(BUILDSYSDIR)/pcl.mk
 
 LIBS_libfawkesaspects = fawkescore fawkesutils fawkesblackboard fawkesnetcomm \
-                       fawkesconfig fawkesplugin fawkeslogging
+                       fawkesconfig fawkesplugin fawkeslogging fawkessyncpoint
 
 ifneq ($(HAVE_WEBVIEW),1)
   OBJS_FILTER_OUT += $(subst $(SRCDIR)/,,$(wildcard $(SRCDIR)/webview.cpp 
$(SRCDIR)/inifins/webview.cpp))
diff --git a/src/libs/aspect/manager.cpp b/src/libs/aspect/manager.cpp
index 5278a31..25f2b1b 100644
--- a/src/libs/aspect/manager.cpp
+++ b/src/libs/aspect/manager.cpp
@@ -37,6 +37,7 @@
 #include <aspect/inifins/time_source.h>
 #include <aspect/inifins/vision_master.h>
 #include <aspect/inifins/vision.h>
+#include <aspect/inifins/syncpoint_manager.h>
 #ifdef HAVE_WEBVIEW
 #  include <aspect/inifins/webview.h>
 #endif
@@ -221,6 +222,7 @@ AspectManager::prepare_finalize(Thread *thread)
  * @param service_browser service browser for NetworkAspect
  * @param pmanager plugin manager for PluginDirectorAspect
  * @param tf_listener transformer for TransformAspect
+ * @param syncpoint_manager manager for SyncPointManagerAspect
  */
 void
 AspectManager::register_default_inifins(BlackBoard *blackboard,
@@ -236,7 +238,8 @@ AspectManager::register_default_inifins(BlackBoard 
*blackboard,
                                        ServicePublisher *service_publisher,
                                        ServiceBrowser *service_browser,
                                        PluginManager *pmanager,
-                                       tf::Transformer *tf_listener)
+                                       tf::Transformer *tf_listener,
+                                       SyncPointManager *syncpoint_manager)
 {
   if (! __default_inifins.empty())  return;
 
@@ -258,6 +261,7 @@ AspectManager::register_default_inifins(BlackBoard 
*blackboard,
   TimeSourceAspectIniFin *ts_aif = new TimeSourceAspectIniFin(clock);
   VisionMasterAspectIniFin *vm_aif = new VisionMasterAspectIniFin();
   VisionAspectIniFin *vis_aif = new VisionAspectIniFin(vm_aif);
+  SyncPointManagerAspectIniFin *spm_aif = new 
SyncPointManagerAspectIniFin(syncpoint_manager);
 #ifdef HAVE_WEBVIEW
   WebviewAspectIniFin *web_aif = new WebviewAspectIniFin();
 #endif
@@ -284,6 +288,7 @@ AspectManager::register_default_inifins(BlackBoard 
*blackboard,
   __default_inifins[ts_aif->get_aspect_name()] = ts_aif;
   __default_inifins[vm_aif->get_aspect_name()] = vm_aif;
   __default_inifins[vis_aif->get_aspect_name()] = vis_aif;
+  __default_inifins[spm_aif->get_aspect_name()] = spm_aif;
 #ifdef HAVE_WEBVIEW
   __default_inifins[web_aif->get_aspect_name()] = web_aif;
 #endif
diff --git a/src/libs/aspect/manager.h b/src/libs/aspect/manager.h
index 561c5ba..39a57c4 100644
--- a/src/libs/aspect/manager.h
+++ b/src/libs/aspect/manager.h
@@ -51,6 +51,7 @@ class LoggerEmployer;
 class BlockedTimingExecutor;
 class MainLoopEmployer;
 class AspectIniFin;
+class SyncPointManager;
 
 namespace tf {
   class Transformer;
@@ -83,7 +84,8 @@ class AspectManager : public ThreadInitializer, public 
ThreadFinalizer
                                ServicePublisher *service_publisher,
                                ServiceBrowser *service_browser,
                                PluginManager *pmanager,
-                               tf::Transformer *tf_listener);
+                               tf::Transformer *tf_listener,
+                               SyncPointManager *syncpoint_manager);
 
  private:
   std::map<std::string, AspectIniFin *> __inifins;
diff --git a/src/libs/baseapp/Makefile b/src/libs/baseapp/Makefile
index 7e25e2f..fcf9ae6 100644
--- a/src/libs/baseapp/Makefile
+++ b/src/libs/baseapp/Makefile
@@ -22,7 +22,7 @@ LDFLAGS += $(LDFLAGS_LIBDAEMON) $(LDFLAGS_TF)
 
 LIBS_libfawkesbaseapp = stdc++ fawkescore fawkesutils fawkesconfig \
                        fawkesblackboard fawkesplugin fawkesnetcomm \
-                       fawkesaspects fawkeslogging
+                       fawkesaspects fawkeslogging fawkessyncpoint
 
 ifeq ($(HAVE_TF),1)
   LIBS_libfawkesbaseapp += fawkestf
diff --git a/src/libs/baseapp/run.cpp b/src/libs/baseapp/run.cpp
index b0d92a3..dd6f6de 100644
--- a/src/libs/baseapp/run.cpp
+++ b/src/libs/baseapp/run.cpp
@@ -44,6 +44,7 @@
 #include <plugin/manager.h>
 #include <plugin/net/handler.h>
 #include <aspect/manager.h>
+#include <syncpoint/syncpoint_manager.h>
 #ifdef HAVE_TF
 #  include <tf/transform_listener.h>
 #endif
@@ -82,6 +83,7 @@ Clock                     * clock = NULL;
 SharedMemoryRegistry      * shm_registry;
 InitOptions               * init_options = NULL;
 tf::Transformer           * tf_listener = NULL;
+SyncPointManager          * syncpoint_manager = NULL;
 
 // this is NOT shared to the outside
 FawkesMainThread::Runner  * runner = NULL;
@@ -328,6 +330,8 @@ init(InitOptions options, int & retval)
   aspect_manager     = new AspectManager();
   thread_manager     = new ThreadManager(aspect_manager, aspect_manager);
 
+  syncpoint_manager  = new SyncPointManager();
+
   plugin_manager     = new PluginManager(thread_manager, config,
                                         "/fawkes/meta_plugins/",
                                         options.plugin_module_flags(),
@@ -367,7 +371,8 @@ init(InitOptions options, int & retval)
                                           network_manager->nnresolver(),
                                           network_manager->service_publisher(),
                                           network_manager->service_browser(),
-                                          plugin_manager, tf_listener);
+                                          plugin_manager, tf_listener,
+                                          syncpoint_manager);
 
   retval = 0;
   return true;

- *commit* f856a15e486e53ef9bfd0e0133cf337c8f53c3c8 - - - - - - - - - -
Author:  Till Hofmann <hofm...@kbsg.rwth-aachen.de>
Date:    Mon May 5 15:42:19 2014 +0200
Subject: syncpoint: add unit tests

 .../{interfaces/qa => syncpoint/tests}/Makefile    |   18 +-
 src/libs/syncpoint/tests/test_syncpoint.cpp        |  179 ++++++++++++++++++++
 2 files changed, 188 insertions(+), 9 deletions(-)


- *commit* f1ca3ad7a08a2804604be7e0dd333c7bb73ca0b5 - - - - - - - - - -
Author:  Till Hofmann <hofm...@kbsg.rwth-aachen.de>
Date:    Mon May 5 15:56:39 2014 +0200
Subject: syncpoint: add two simple test plugins

 src/plugins/Makefile                               |    3 +-
 .../syncpoint_test-emitter}/Makefile               |   18 +++--
 .../syncpoint_test_emitter_plugin.cpp}             |   22 +++---
 .../syncpoint_test_emitter_thread.cpp              |   68 ++++++++++++++++
 .../syncpoint_test_emitter_thread.h}               |   35 ++++----
 .../syncpoint_test-waiter}/Makefile                |   24 +++---
 .../syncpoint_test_waiter_plugin.cpp}              |   22 +++---
 .../syncpoint_test_waiter_thread.cpp               |   85 ++++++++++++++++++++
 .../syncpoint_test_waiter_thread.h}                |   34 ++++----
 9 files changed, 235 insertions(+), 76 deletions(-)

_Diff for modified files_:
diff --git a/src/plugins/Makefile b/src/plugins/Makefile
index d5be939..d2c9ee8 100644
--- a/src/plugins/Makefile
+++ b/src/plugins/Makefile
@@ -27,7 +27,8 @@ SUBDIRS       = bbsync bblogger webview ttmainloop rrd rrdweb 
\
          clips clips-agent clips-protobuf clips-webview clips-navgraph 
clips-ros \
          mongodb mongodb_log \
          openni refboxcomm ros player xmlrpc gossip \
-         robot_state_publisher gazebo
+         robot_state_publisher gazebo \
+         syncpoint_test-emitter syncpoint_test-waiter
          # readylogagent
 
 include $(BUILDSYSDIR)/rules.mk

- *commit* 0ef02ef80e234339e25c2c37b1f31f43bcc3f655 - - - - - - - - - -
Author:  Till Hofmann <hofm...@kbsg.rwth-aachen.de>
Date:    Tue May 20 11:25:07 2014 +0200
Subject: syncpoint: use mutexes in SyncPoint and SyncPointManager

 src/libs/syncpoint/syncpoint.cpp         |   27 +++++++++++++++++++++------
 src/libs/syncpoint/syncpoint.h           |    4 +++-
 src/libs/syncpoint/syncpoint_manager.cpp |   24 +++++++++++++++++++++---
 src/libs/syncpoint/syncpoint_manager.h   |    3 +++
 4 files changed, 48 insertions(+), 10 deletions(-)

_Diff for modified files_:
diff --git a/src/libs/syncpoint/syncpoint.cpp b/src/libs/syncpoint/syncpoint.cpp
index 56242e6..d0b815d 100644
--- a/src/libs/syncpoint/syncpoint.cpp
+++ b/src/libs/syncpoint/syncpoint.cpp
@@ -49,17 +49,25 @@ namespace fawkes {
  */
 SyncPoint::SyncPoint(const char * identifier)
     : identifier_(identifier),
-      wait_condition(WaitCondition())
+      mutex(new Mutex()),
+      wait_condition(new WaitCondition(mutex))
 {
-  if (!strcmp(identifier, ""))
+  if (!strcmp(identifier, "")) {
+    delete wait_condition;
+    delete mutex;
     throw SyncPointInvalidIdentifierException(identifier);
-  if (strncmp(identifier, "/", 1))
+  }
+  if (strncmp(identifier, "/", 1)) {
+    delete wait_condition;
+    delete mutex;
     throw SyncPointInvalidIdentifierException(identifier);
+  }
 }
 
 SyncPoint::~SyncPoint()
 {
-
+  delete wait_condition;
+  delete mutex;
 }
 
 /**
@@ -98,10 +106,13 @@ SyncPoint::operator<(const SyncPoint &other) const
 void
 SyncPoint::emit(const char * component)
 {
+  mutex->lock();
   if (!watchers.count(component)) {
+    mutex->unlock();
     throw SyncPointNonWatcherCalledEmitException(component, get_identifier());
   }
-  wait_condition.wake_all();
+  wait_condition->wake_all();
+  mutex->unlock();
 }
 
 /** Wait until SyncPoint is emitted
@@ -109,10 +120,14 @@ SyncPoint::emit(const char * component)
  */
 void
 SyncPoint::wait(const char * component) {
+  mutex->lock();
+  // check if calling component is registered for this SyncPoint
   if (!watchers.count(component)) {
+    mutex->unlock();
     throw SyncPointNonWatcherCalledWaitException(component, get_identifier());
   }
-  wait_condition.wait();
+  wait_condition->wait();
+  mutex->unlock();
 }
 
 } // namespace fawkes
diff --git a/src/libs/syncpoint/syncpoint.h b/src/libs/syncpoint/syncpoint.h
index 231c325..efa7067 100644
--- a/src/libs/syncpoint/syncpoint.h
+++ b/src/libs/syncpoint/syncpoint.h
@@ -24,6 +24,7 @@
 
 #include <interface/interface.h>
 #include <syncpoint/syncpoint_manager.h>
+#include <core/threading/mutex.h>
 #include <core/threading/wait_condition.h>
 
 #include <set>
@@ -60,7 +61,8 @@ class SyncPoint
     const char * identifier_;
     std::set<const char *> watchers;
 
-    WaitCondition wait_condition;
+    Mutex *mutex;
+    WaitCondition *wait_condition;
 };
 
 } // end namespace fawkes
diff --git a/src/libs/syncpoint/syncpoint_manager.cpp 
b/src/libs/syncpoint/syncpoint_manager.cpp
index 7c43ebf..6ba24a9 100644
--- a/src/libs/syncpoint/syncpoint_manager.cpp
+++ b/src/libs/syncpoint/syncpoint_manager.cpp
@@ -41,11 +41,13 @@ namespace fawkes {
  */
 
 SyncPointManager::SyncPointManager()
+: mutex(new Mutex())
 {
 }
 
 SyncPointManager::~SyncPointManager()
 {
+  delete mutex;
 }
 
 /**
@@ -61,20 +63,32 @@ SyncPointManager::~SyncPointManager()
 RefPtr<SyncPoint>
 SyncPointManager::get_syncpoint(const char * component, const char * 
identifier)
 {
-  if (!strcmp(component, ""))
+  mutex->lock();
+  if (!strcmp(component, "")) {
+    mutex->unlock();
     throw SyncPointInvalidComponentException(component, identifier);
+  }
   // insert a new SyncPoint if no SyncPoint with the same identifier exists,
   // otherwise, use that SyncPoint
-  std::pair<std::set<RefPtr<SyncPoint> >::iterator,bool> ret = 
syncpoints_.insert(
-      RefPtr<SyncPoint>(new SyncPoint(identifier)));
+  std::pair<std::set<RefPtr<SyncPoint> >::iterator,bool> ret;
+  try {
+  ret = syncpoints_.insert(RefPtr<SyncPoint>(new SyncPoint(identifier)));
+  } catch (const SyncPointInvalidIdentifierException &e) {
+    mutex->unlock();
+    throw;
+  }
+
   std::set<RefPtr<SyncPoint> >::iterator it = ret.first;
 
   // add component to the set of watchers
   // check if component is already a watcher
   // insert returns a pair whose second element is false if element already 
exists
   if (!(*it)->watchers.insert(component).second) {
+    mutex->unlock();
     throw SyncPointAlreadyOpenedException(component, identifier);
   }
+  mutex->unlock();
+
   return *it;
 }
 
@@ -91,15 +105,19 @@ SyncPointManager::get_syncpoint(const char * component, 
const char * identifier)
 void
 SyncPointManager::release_syncpoint(const char * component, RefPtr<SyncPoint> 
sync_point)
 {
+  mutex->lock();
   std::set<RefPtr<SyncPoint> >::iterator sp_it = syncpoints_.find(
       sync_point);
   if (sp_it == syncpoints_.end()) {
+    mutex->unlock();
     throw SyncPointReleasedDoesNotExistException(component, 
sync_point->get_identifier());
   }
   if (!(*sp_it)->watchers.erase(component)) {
+    mutex->unlock();
     throw SyncPointReleasedByNonWatcherException(component, 
sync_point->get_identifier());
   }
 
+  mutex->unlock();
 }
 
 
diff --git a/src/libs/syncpoint/syncpoint_manager.h 
b/src/libs/syncpoint/syncpoint_manager.h
index 61b5914..602d7a0 100644
--- a/src/libs/syncpoint/syncpoint_manager.h
+++ b/src/libs/syncpoint/syncpoint_manager.h
@@ -26,6 +26,7 @@
 
 #include <syncpoint/syncpoint.h>
 #include <core/utils/refptr.h>
+#include <core/threading/mutex.h>
 
 namespace fawkes {
 #if 0 /* just to make Emacs auto-indent happy */
@@ -55,6 +56,8 @@ class SyncPointManager
      * Set of all existing SyncPoints
      */
     std::set<RefPtr<SyncPoint>, SyncPointSetLessThan > syncpoints_;
+    /** Mutex used for all SyncPointManager calls */
+    Mutex *mutex;
 
 
 };

- *commit* 27db44e957c69c1ea3f72fa9cee769ec0597dd56 - - - - - - - - - -
Author:  Till Hofmann <hofm...@kbsg.rwth-aachen.de>
Date:    Tue May 20 11:27:41 2014 +0200
Subject: syncpoint: Minor changes in exception descriptions

 src/libs/syncpoint/exceptions.h |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

_Diff for modified files_:
diff --git a/src/libs/syncpoint/exceptions.h b/src/libs/syncpoint/exceptions.h
index 8c694f2..ef3e633 100644
--- a/src/libs/syncpoint/exceptions.h
+++ b/src/libs/syncpoint/exceptions.h
@@ -41,7 +41,7 @@ class SyncPointAlreadyOpenedException : public Exception
       const char *identifier)
     {
       append(
-          "Component %s called get_syncpoint() for identifier %s, but is 
already watching",
+          "Component '%s' called get_syncpoint() for identifier '%s', but is 
already watching",
           component, identifier);
     }
 };
@@ -59,7 +59,7 @@ class SyncPointNonWatcherCalledEmitException : public 
Exception
     SyncPointNonWatcherCalledEmitException(const char * component,
       const char *identifier)
     {
-      append("Component %s called emit for SyncPoint %s, but is not a watcher",
+      append("Component '%s' called emit for SyncPoint '%s', but is not a 
watcher",
           component, identifier);
     }
 };
@@ -77,7 +77,7 @@ class SyncPointNonWatcherCalledWaitException : public 
Exception
     SyncPointNonWatcherCalledWaitException(const char * component,
       const char *identifier)
     {
-      append("Component %s called wait for SyncPoint %s, but is not a watcher",
+      append("Component '%s' called wait for SyncPoint '%s', but is not a 
watcher",
           component, identifier);
     }
 };
@@ -95,7 +95,7 @@ class SyncPointReleasedDoesNotExistException : public 
Exception
     SyncPointReleasedDoesNotExistException(const char * component,
       const char * identifier)
     {
-      append("Component %s tried to release non-existing SyncPoint %s",
+      append("Component '%s' tried to release non-existing SyncPoint '%s'",
           component, identifier);
     }
 };
@@ -113,7 +113,7 @@ class SyncPointReleasedByNonWatcherException : public 
Exception
     SyncPointReleasedByNonWatcherException(const char * component,
       const char * identifier)
     {
-      append("Component %s tried to release SyncPoint %s but is not a watcher",
+      append("Component '%s' tried to release SyncPoint '%s' but is not a 
watcher",
           component, identifier);
     }
 };
@@ -129,7 +129,7 @@ class SyncPointInvalidIdentifierException : public Exception
      */
     SyncPointInvalidIdentifierException(const char * identifier)
     {
-      append("Tried to construct a SyncPoint with invalid identifier ('%s')"
+      append("Tried to construct a SyncPoint with invalid identifier ('%s'). "
           "Identifier must be a non-empty absolute path (e.g. 
'/path/to/syncpoint')",
           identifier);
     }

- *commit* e4558703d6858fff0b1cc47de5e2183a5f0b222b - - - - - - - - - -
Author:  Till Hofmann <hofm...@kbsg.rwth-aachen.de>
Date:    Tue May 20 11:31:45 2014 +0200
Subject: syncpoint: throw exception if a waiting component calls wait() again

 src/libs/syncpoint/exceptions.h  |   18 ++++++++++++++++++
 src/libs/syncpoint/syncpoint.cpp |    7 +++++++
 src/libs/syncpoint/syncpoint.h   |    1 +
 3 files changed, 26 insertions(+), 0 deletions(-)

_Diff for modified files_:
diff --git a/src/libs/syncpoint/exceptions.h b/src/libs/syncpoint/exceptions.h
index ef3e633..a1bf769 100644
--- a/src/libs/syncpoint/exceptions.h
+++ b/src/libs/syncpoint/exceptions.h
@@ -153,6 +153,24 @@ class SyncPointInvalidComponentException : public Exception
     }
 };
 
+/** A component called wait() but is already waiting
+ *
+ */
+class SyncPointMultipleWaitCallsException : public Exception
+{
+  public:
+    /** Constructor.
+     * @param component The calling component
+     * @param identifier The identifier of the SyncPoint
+     */
+    SyncPointMultipleWaitCallsException(const char * component,
+      const char * identifier)
+    {
+      append("Component '%s' called wait() on SyncPoint '%s', but is already 
waiting",
+          component, identifier);
+    }
+};
+
 
 } // namespace fawkes
 
diff --git a/src/libs/syncpoint/syncpoint.cpp b/src/libs/syncpoint/syncpoint.cpp
index d0b815d..927ec66 100644
--- a/src/libs/syncpoint/syncpoint.cpp
+++ b/src/libs/syncpoint/syncpoint.cpp
@@ -111,6 +111,7 @@ SyncPoint::emit(const char * component)
     mutex->unlock();
     throw SyncPointNonWatcherCalledEmitException(component, get_identifier());
   }
+  waiting_watchers.clear();
   wait_condition->wake_all();
   mutex->unlock();
 }
@@ -126,6 +127,12 @@ SyncPoint::wait(const char * component) {
     mutex->unlock();
     throw SyncPointNonWatcherCalledWaitException(component, get_identifier());
   }
+  // check if calling component is not already waiting
+  if (waiting_watchers.count(component)) {
+    mutex->unlock();
+    throw SyncPointMultipleWaitCallsException(component, get_identifier());
+  }
+  waiting_watchers.insert(component);
   wait_condition->wait();
   mutex->unlock();
 }
diff --git a/src/libs/syncpoint/syncpoint.h b/src/libs/syncpoint/syncpoint.h
index efa7067..8fe3707 100644
--- a/src/libs/syncpoint/syncpoint.h
+++ b/src/libs/syncpoint/syncpoint.h
@@ -60,6 +60,7 @@ class SyncPoint
   private:
     const char * identifier_;
     std::set<const char *> watchers;
+    std::set<const char *> waiting_watchers;
 
     Mutex *mutex;
     WaitCondition *wait_condition;

- *commit* 390c1c9bdccda16f42dc1b107aa228e748f46558 - - - - - - - - - -
Author:  Till Hofmann <hofm...@kbsg.rwth-aachen.de>
Date:    Tue May 20 11:42:47 2014 +0200
Subject: syncpoint: add unit tests for multiple wait calls, multi-threading

 src/libs/syncpoint/tests/test_syncpoint.cpp |   59 +++++++++++++++++++++++++++
 1 files changed, 59 insertions(+), 0 deletions(-)

_Diff for modified files_:
diff --git a/src/libs/syncpoint/tests/test_syncpoint.cpp 
b/src/libs/syncpoint/tests/test_syncpoint.cpp
index bafcd8c..33cbafb 100644
--- a/src/libs/syncpoint/tests/test_syncpoint.cpp
+++ b/src/libs/syncpoint/tests/test_syncpoint.cpp
@@ -30,6 +30,8 @@
 #include <pthread.h>
 #include <baseapp/run.h>
 
+#include <unistd.h>
+
 #include <set>
 
 using namespace fawkes;
@@ -177,3 +179,60 @@ TEST_F(SyncPointManagerTest, SyncPointManagerExceptions) {
 
 
 }
+
+// helper function used for testing wait()
+void * call_wait(void *data)
+{
+  SyncPoint * sp = (SyncPoint *)(data);
+  sp->wait("component");
+  return NULL;
+}
+
+TEST_F(SyncPointManagerTest, MultipleWaits)
+{
+  RefPtr<SyncPoint> sp_ref = manager->get_syncpoint("component", "/test/sp1");
+  SyncPoint * sp = *sp_ref;
+  pthread_t thread1;
+  pthread_create(&thread1, NULL, call_wait, (void *)sp);
+  // make sure the other thread is first
+  usleep(100);
+  ASSERT_THROW(sp_ref->wait("component"), SyncPointMultipleWaitCallsException);
+  pthread_cancel(thread1);
+}
+
+/** struct used for multithreading tests */
+struct waiter_thread_params {
+    /** SyncPointManager passed to the thread */
+    RefPtr<SyncPointManager> manager;
+    /** Thread number */
+    uint thread_nr;
+};
+
+/** get a SyncPoint and wait for it */
+void * start_waiter_thread(void * data) {
+  waiter_thread_params *params = (waiter_thread_params *)data;
+  char component[40];
+  sprintf(component, "component %u", params->thread_nr);
+  RefPtr<SyncPoint> sp = params->manager->get_syncpoint(component, 
"/test/sp1");
+  sp->wait(component);
+  return NULL;
+}
+
+TEST_F(SyncPointManagerTest, ParallelWaitCalls)
+{
+  uint num_threads = 100;
+  pthread_t threads[num_threads];
+  waiter_thread_params *params[num_threads];
+  for (uint i = 0; i < num_threads; i++) {
+    params[i] = new waiter_thread_params();
+    params[i]->manager = manager;
+    params[i]->thread_nr = i;
+    pthread_create(&threads[i], NULL, start_waiter_thread, params[i]);
+  }
+
+  usleep(100);
+  for (uint i = 0; i < num_threads; i++) {
+    pthread_cancel(threads[i]);
+    delete params[i];
+  }
+}

- *commit* 02a4bc618e2d7a7f00773db39d332e3eafe4c784 - - - - - - - - - -
Author:  Till Hofmann <hofm...@kbsg.rwth-aachen.de>
Date:    Tue May 20 14:40:22 2014 +0200
Subject: syncpoint: add unit tests to test wait/emit calls with multi-threading

 src/libs/syncpoint/tests/test_syncpoint.cpp |   53 +++++++++++++++++++++++++++
 1 files changed, 53 insertions(+), 0 deletions(-)

_Diff for modified files_:
diff --git a/src/libs/syncpoint/tests/test_syncpoint.cpp 
b/src/libs/syncpoint/tests/test_syncpoint.cpp
index 33cbafb..8a3ddb6 100644
--- a/src/libs/syncpoint/tests/test_syncpoint.cpp
+++ b/src/libs/syncpoint/tests/test_syncpoint.cpp
@@ -31,6 +31,7 @@
 #include <baseapp/run.h>
 
 #include <unistd.h>
+#include <time.h>
 
 #include <set>
 
@@ -200,6 +201,7 @@ TEST_F(SyncPointManagerTest, MultipleWaits)
   pthread_cancel(thread1);
 }
 
+
 /** struct used for multithreading tests */
 struct waiter_thread_params {
     /** SyncPointManager passed to the thread */
@@ -236,3 +238,54 @@ TEST_F(SyncPointManagerTest, ParallelWaitCalls)
     delete params[i];
   }
 }
+
+/** start multiple threads, let them wait for a SyncPoint,
+ * emit the SyncPoint and verify that they all returned
+ */
+TEST_F(SyncPointManagerTest, ParallelWaitsReturn)
+{
+  uint num_threads = 100;
+  pthread_t threads[num_threads];
+  waiter_thread_params *params[num_threads];
+  for (uint i = 0; i < num_threads; i++) {
+    params[i] = new waiter_thread_params();
+    params[i]->manager = manager;
+    params[i]->thread_nr = i;
+    pthread_create(&threads[i], NULL, start_waiter_thread, params[i]);
+  }
+
+  usleep(50);
+  RefPtr<SyncPoint> sp =manager->get_syncpoint("main_thread", "/test/sp1");
+
+  sp->emit("main_thread");
+  usleep(500);
+  for (uint i = 0; i < num_threads; i++) {
+    ASSERT_EQ(0, pthread_tryjoin_np(threads[i], NULL));
+    delete params[i];
+  }
+}
+
+/** start multiple threads, let them wait for a SyncPoint,
+ * but don't emit the SyncPoint. Verify that they have not returned
+ */
+TEST_F(SyncPointManagerTest, WaitDoesNotReturnImmediately)
+{
+  uint num_threads = 100;
+  pthread_t threads[num_threads];
+  waiter_thread_params *params[num_threads];
+  for (uint i = 0; i < num_threads; i++) {
+    params[i] = new waiter_thread_params();
+    params[i]->manager = manager;
+    params[i]->thread_nr = i;
+    pthread_create(&threads[i], NULL, start_waiter_thread, params[i]);
+  }
+
+  usleep(50);
+  RefPtr<SyncPoint> sp =manager->get_syncpoint("main_thread", "/test/sp1");
+  usleep(500);
+
+  for (uint i = 0; i < num_threads; i++) {
+    ASSERT_EQ(16, pthread_tryjoin_np(threads[i], NULL));
+    delete params[i];
+  }
+}




-- 
Fawkes Robotics Framework                 http://www.fawkesrobotics.org
_______________________________________________
fawkes-commits mailing list
fawkes-commits@lists.kbsg.rwth-aachen.de
https://lists.kbsg.rwth-aachen.de/listinfo/fawkes-commits

Reply via email to