cesium 0.15.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (596) hide show
  1. data/app/assets/javascripts/Cesium.js +7 -7
  2. data/app/assets/javascripts/Core/BoundingRectangle.js +1 -1
  3. data/app/assets/javascripts/Core/BoundingSphere.js +12 -5
  4. data/app/assets/javascripts/Core/BoxTessellator.js +11 -8
  5. data/app/assets/javascripts/Core/CatmullRomSpline.js +23 -21
  6. data/app/assets/javascripts/Core/Clock.js +1 -1
  7. data/app/assets/javascripts/Core/Color.js +51 -0
  8. data/app/assets/javascripts/Core/CubeMapEllipsoidTessellator.js +3 -1
  9. data/app/assets/javascripts/Core/EarthOrientationParameters.js +1 -1
  10. data/app/assets/javascripts/Core/EllipsoidalOccluder.js +15 -12
  11. data/app/assets/javascripts/Core/Extent.js +37 -0
  12. data/app/assets/javascripts/Core/ExtentTessellator.js +33 -25
  13. data/app/assets/javascripts/Core/HermitePolynomialApproximation.js +18 -19
  14. data/app/assets/javascripts/Core/HermiteSpline.js +49 -49
  15. data/app/assets/javascripts/Core/Iau2006XysData.js +4 -5
  16. data/app/assets/javascripts/Core/LagrangePolynomialApproximation.js +10 -20
  17. data/app/assets/javascripts/Core/LinearApproximation.js +19 -23
  18. data/app/assets/javascripts/Core/Math.js +15 -3
  19. data/app/assets/javascripts/Core/Matrix4.js +186 -2
  20. data/app/assets/javascripts/Core/MeshFilters.js +13 -13
  21. data/app/assets/javascripts/Core/OrientationInterpolator.js +19 -19
  22. data/app/assets/javascripts/Core/PlaneTessellator.js +8 -6
  23. data/app/assets/javascripts/Core/PolygonPipeline.js +21 -21
  24. data/app/assets/javascripts/Core/PolylinePipeline.js +17 -25
  25. data/app/assets/javascripts/Core/ScreenSpaceEventHandler.js +187 -185
  26. data/app/assets/javascripts/Core/Shapes.js +8 -4
  27. data/app/assets/javascripts/Core/Simon1994PlanetaryPositions.js +521 -0
  28. data/app/assets/javascripts/Core/Spherical.js +36 -9
  29. data/app/assets/javascripts/Core/TaskProcessor.js +42 -5
  30. data/app/assets/javascripts/Core/TimeIntervalCollection.js +5 -5
  31. data/app/assets/javascripts/Core/Tipsify.js +21 -16
  32. data/app/assets/javascripts/Core/Transforms.js +11 -11
  33. data/app/assets/javascripts/Core/TridiagonalSystemSolver.js +4 -4
  34. data/app/assets/javascripts/Core/clone.js +25 -8
  35. data/app/assets/javascripts/Core/defaultValue.js +10 -1
  36. data/app/assets/javascripts/Core/isCrossOriginUrl.js +32 -0
  37. data/app/assets/javascripts/Core/jsonp.js +2 -2
  38. data/app/assets/javascripts/Core/loadImage.js +13 -6
  39. data/app/assets/javascripts/Core/loadJson.js +4 -1
  40. data/app/assets/javascripts/Core/pointInsideTriangle2D.js +1 -1
  41. data/app/assets/javascripts/Core/writeTextToCanvas.js +1 -3
  42. data/app/assets/javascripts/DynamicScene/CzmlBoolean.js +7 -4
  43. data/app/assets/javascripts/DynamicScene/CzmlCartesian2.js +1 -1
  44. data/app/assets/javascripts/DynamicScene/CzmlCartesian3.js +1 -1
  45. data/app/assets/javascripts/DynamicScene/CzmlColor.js +1 -1
  46. data/app/assets/javascripts/DynamicScene/CzmlHorizontalOrigin.js +6 -5
  47. data/app/assets/javascripts/DynamicScene/CzmlImage.js +8 -3
  48. data/app/assets/javascripts/DynamicScene/CzmlLabelStyle.js +6 -5
  49. data/app/assets/javascripts/DynamicScene/CzmlNumber.js +6 -4
  50. data/app/assets/javascripts/DynamicScene/CzmlPosition.js +166 -0
  51. data/app/assets/javascripts/DynamicScene/CzmlString.js +6 -4
  52. data/app/assets/javascripts/DynamicScene/CzmlUnitCartesian3.js +1 -1
  53. data/app/assets/javascripts/DynamicScene/CzmlUnitQuaternion.js +1 -1
  54. data/app/assets/javascripts/DynamicScene/CzmlUnitSpherical.js +1 -1
  55. data/app/assets/javascripts/DynamicScene/CzmlVerticalOrigin.js +6 -5
  56. data/app/assets/javascripts/DynamicScene/DynamicGridMaterial.js +202 -0
  57. data/app/assets/javascripts/DynamicScene/DynamicMaterialProperty.js +5 -3
  58. data/app/assets/javascripts/DynamicScene/DynamicObject.js +1 -2
  59. data/app/assets/javascripts/DynamicScene/DynamicPathVisualizer.js +19 -15
  60. data/app/assets/javascripts/DynamicScene/DynamicPointVisualizer.js +12 -10
  61. data/app/assets/javascripts/DynamicScene/DynamicPolylineVisualizer.js +17 -10
  62. data/app/assets/javascripts/DynamicScene/DynamicPositionProperty.js +39 -90
  63. data/app/assets/javascripts/DynamicScene/DynamicProperty.js +19 -6
  64. data/app/assets/javascripts/DynamicScene/ReferenceProperty.js +6 -4
  65. data/app/assets/javascripts/DynamicScene/VisualizerCollection.js +10 -11
  66. data/app/assets/javascripts/Renderer/ClearCommand.js +60 -9
  67. data/app/assets/javascripts/Renderer/Context.js +234 -575
  68. data/app/assets/javascripts/Renderer/DrawCommand.js +15 -3
  69. data/app/assets/javascripts/Renderer/PassState.js +55 -0
  70. data/app/assets/javascripts/Renderer/PickFramebuffer.js +47 -77
  71. data/app/assets/javascripts/Renderer/RenderState.js +541 -0
  72. data/app/assets/javascripts/Renderer/ShaderCache.js +34 -1
  73. data/app/assets/javascripts/Renderer/ShaderProgram.js +112 -6
  74. data/app/assets/javascripts/Renderer/TextureAtlas.js +63 -67
  75. data/app/assets/javascripts/Renderer/UniformState.js +59 -30
  76. data/app/assets/javascripts/Renderer/VertexArray.js +9 -7
  77. data/app/assets/javascripts/Renderer/VertexArrayFacade.js +28 -27
  78. data/app/assets/javascripts/Renderer/createPickFragmentShaderSource.js +53 -0
  79. data/app/assets/javascripts/Renderer/loadCubeMap.js +10 -11
  80. data/app/assets/javascripts/Scene/AnimationCollection.js +48 -44
  81. data/app/assets/javascripts/Scene/Billboard.js +8 -2
  82. data/app/assets/javascripts/Scene/BillboardCollection.js +66 -62
  83. data/app/assets/javascripts/Scene/Camera.js +3 -0
  84. data/app/assets/javascripts/Scene/CameraController.js +3 -3
  85. data/app/assets/javascripts/Scene/CameraFlightPath.js +9 -6
  86. data/app/assets/javascripts/Scene/CentralBody.js +47 -65
  87. data/app/assets/javascripts/Scene/CentralBodySurface.js +9 -6
  88. data/app/assets/javascripts/Scene/CentralBodySurfaceShaderSet.js +5 -9
  89. data/app/assets/javascripts/Scene/CompositePrimitive.js +8 -8
  90. data/app/assets/javascripts/Scene/CustomSensorVolume.js +66 -55
  91. data/app/assets/javascripts/Scene/EllipsoidPrimitive.js +26 -27
  92. data/app/assets/javascripts/Scene/FrameState.js +15 -4
  93. data/app/assets/javascripts/Scene/GridImageryProvider.js +266 -0
  94. data/app/assets/javascripts/Scene/ImageryLayer.js +44 -19
  95. data/app/assets/javascripts/Scene/ImageryLayerCollection.js +3 -0
  96. data/app/assets/javascripts/Scene/ImageryProvider.js +3 -0
  97. data/app/assets/javascripts/Scene/Label.js +4 -4
  98. data/app/assets/javascripts/Scene/LabelCollection.js +2 -9
  99. data/app/assets/javascripts/Scene/Material.js +97 -8
  100. data/app/assets/javascripts/Scene/OrthographicFrustum.js +2 -2
  101. data/app/assets/javascripts/Scene/PerformanceDisplay.js +17 -10
  102. data/app/assets/javascripts/Scene/PerspectiveOffCenterFrustum.js +2 -2
  103. data/app/assets/javascripts/Scene/Polygon.js +30 -56
  104. data/app/assets/javascripts/Scene/Polyline.js +93 -227
  105. data/app/assets/javascripts/Scene/PolylineCollection.js +685 -757
  106. data/app/assets/javascripts/Scene/Projections.js +2 -2
  107. data/app/assets/javascripts/Scene/RectangularPyramidSensorVolume.js +21 -16
  108. data/app/assets/javascripts/Scene/Scene.js +40 -32
  109. data/app/assets/javascripts/Scene/SceneTransitioner.js +8 -56
  110. data/app/assets/javascripts/Scene/SensorVolumeCollection.js +6 -20
  111. data/app/assets/javascripts/Scene/SkyAtmosphere.js +0 -11
  112. data/app/assets/javascripts/Scene/SkyBox.js +0 -11
  113. data/app/assets/javascripts/Scene/VRTheWorldTerrainProvider.js +3 -2
  114. data/app/assets/javascripts/Scene/ViewportQuad.js +8 -8
  115. data/app/assets/javascripts/Shaders/BillboardCollectionVS.glsl +0 -2
  116. data/app/assets/javascripts/Shaders/BillboardCollectionVS.js +0 -2
  117. data/app/assets/javascripts/Shaders/BuiltinFunctions.glsl +517 -3
  118. data/app/assets/javascripts/Shaders/BuiltinFunctions.js +535 -4
  119. data/app/assets/javascripts/Shaders/CentralBodyFS.glsl +11 -24
  120. data/app/assets/javascripts/Shaders/CentralBodyFS.js +11 -24
  121. data/app/assets/javascripts/Shaders/CentralBodyVS.glsl +1 -3
  122. data/app/assets/javascripts/Shaders/CentralBodyVS.js +1 -3
  123. data/app/assets/javascripts/Shaders/CustomSensorVolumeFS.glsl +14 -33
  124. data/app/assets/javascripts/Shaders/CustomSensorVolumeFS.js +14 -33
  125. data/app/assets/javascripts/Shaders/EllipsoidFS.glsl +0 -1
  126. data/app/assets/javascripts/Shaders/EllipsoidFS.js +0 -1
  127. data/app/assets/javascripts/Shaders/Materials/CheckerboardMaterial.glsl +1 -11
  128. data/app/assets/javascripts/Shaders/Materials/CheckerboardMaterial.js +1 -11
  129. data/app/assets/javascripts/Shaders/Materials/FadeMaterial.glsl +36 -0
  130. data/app/assets/javascripts/Shaders/Materials/FadeMaterial.js +42 -0
  131. data/app/assets/javascripts/Shaders/Materials/GridMaterial.glsl +9 -1
  132. data/app/assets/javascripts/Shaders/Materials/GridMaterial.js +9 -1
  133. data/app/assets/javascripts/Shaders/Materials/PolylineArrowMaterial.glsl +60 -0
  134. data/app/assets/javascripts/Shaders/Materials/PolylineArrowMaterial.js +66 -0
  135. data/app/assets/javascripts/Shaders/Materials/PolylineGlowMaterial.glsl +17 -0
  136. data/app/assets/javascripts/Shaders/Materials/PolylineGlowMaterial.js +23 -0
  137. data/app/assets/javascripts/Shaders/Materials/PolylineOutlineMaterial.glsl +28 -0
  138. data/app/assets/javascripts/Shaders/Materials/PolylineOutlineMaterial.js +34 -0
  139. data/app/assets/javascripts/Shaders/Materials/StripeMaterial.glsl +4 -10
  140. data/app/assets/javascripts/Shaders/Materials/StripeMaterial.js +4 -10
  141. data/app/assets/javascripts/Shaders/PolygonFS.glsl +0 -3
  142. data/app/assets/javascripts/Shaders/PolygonFS.js +1 -4
  143. data/app/assets/javascripts/Shaders/PolygonVS.glsl +3 -4
  144. data/app/assets/javascripts/Shaders/PolygonVS.js +3 -4
  145. data/app/assets/javascripts/Shaders/PolylineFS.glsl +9 -2
  146. data/app/assets/javascripts/Shaders/PolylineFS.js +9 -2
  147. data/app/assets/javascripts/Shaders/PolylineVS.glsl +131 -14
  148. data/app/assets/javascripts/Shaders/PolylineVS.js +131 -14
  149. data/app/assets/javascripts/Shaders/ReprojectWebMercatorFS.glsl +1 -19
  150. data/app/assets/javascripts/Shaders/ReprojectWebMercatorFS.js +1 -19
  151. data/app/assets/javascripts/Shaders/ReprojectWebMercatorVS.glsl +9 -1
  152. data/app/assets/javascripts/Shaders/ReprojectWebMercatorVS.js +9 -1
  153. data/app/assets/javascripts/Shaders/SkyAtmosphereFS.glsl +1 -3
  154. data/app/assets/javascripts/Shaders/SkyAtmosphereFS.js +1 -3
  155. data/app/assets/javascripts/Shaders/SkyBoxFS.glsl +1 -2
  156. data/app/assets/javascripts/Shaders/SkyBoxFS.js +1 -2
  157. data/app/assets/javascripts/Widgets/Animation/Animation.js +8 -5
  158. data/app/assets/javascripts/Widgets/Dojo/CesiumViewerWidget.js +19 -1
  159. data/app/assets/javascripts/Widgets/Timeline/Timeline.js +19 -2
  160. data/lib/cesium/version.rb +1 -1
  161. data/test/dummy/app/assets/javascripts/application.js.coffee +10 -10
  162. data/test/dummy/log/development.log +28285 -0
  163. data/test/dummy/tmp/cache/assets/BAF/370/sprockets%2F799a74598087f7719313562f44828061 +0 -0
  164. data/test/dummy/tmp/cache/assets/BF8/BC0/sprockets%2F1982805b53487d15554f20955019b8c4 +0 -0
  165. data/test/dummy/tmp/cache/assets/C12/030/sprockets%2Fbd84b00d783150a219825433401a7946 +0 -0
  166. data/test/dummy/tmp/cache/assets/C1F/BE0/sprockets%2F9ff195723d3a539023420682a372f561 +0 -0
  167. data/test/dummy/tmp/cache/assets/C23/060/sprockets%2F0844038b70e644bef4539389305680a3 +0 -0
  168. data/test/dummy/tmp/cache/assets/C27/DA0/sprockets%2Fe49200d07769d24f54f721d890142818 +0 -0
  169. data/test/dummy/tmp/cache/assets/C37/EB0/sprockets%2F410166e528f769c35999d061f6552d57 +0 -0
  170. data/test/dummy/tmp/cache/assets/C38/870/sprockets%2F3c244a5393086f3b95954f4675f29458 +0 -0
  171. data/test/dummy/tmp/cache/assets/C44/870/sprockets%2Fc7607e52811e723312c83d096c611c32 +0 -0
  172. data/test/dummy/tmp/cache/assets/C46/770/sprockets%2F9b6c82d0454ab5ba8727173860060324 +0 -0
  173. data/test/dummy/tmp/cache/assets/C46/E60/sprockets%2F151028e967f13248ca6121c9407242cf +0 -0
  174. data/test/dummy/tmp/cache/assets/C48/360/sprockets%2Fc966013651008025255f5b53b1d63f9e +0 -0
  175. data/test/dummy/tmp/cache/assets/C49/6B0/sprockets%2Ff15d3a84028c48073d820c51575157a4 +0 -0
  176. data/test/dummy/tmp/cache/assets/C4A/020/sprockets%2F162d504e77459f0304b964139300cfe3 +0 -0
  177. data/test/dummy/tmp/cache/assets/C4A/2B0/sprockets%2F821c1d08482a9b936b661a56444551b3 +0 -0
  178. data/test/dummy/tmp/cache/assets/C4F/630/sprockets%2F8935f51ad832c341c838751031a827f2 +0 -0
  179. data/test/dummy/tmp/cache/assets/C51/170/sprockets%2F7121148c53e447e867b886592e11ad00 +0 -0
  180. data/test/dummy/tmp/cache/assets/C53/040/sprockets%2F52411d26c4863636c7ae5b5090690f94 +0 -0
  181. data/test/dummy/tmp/cache/assets/C57/D10/sprockets%2F784e21cb5b634a598629115ef4685213 +0 -0
  182. data/test/dummy/tmp/cache/assets/C59/810/sprockets%2Fc37183f61d9511d324983656cd9375a1 +0 -0
  183. data/test/dummy/tmp/cache/assets/C61/2F0/sprockets%2Fe7f511982b4799474ab391f714d39630 +0 -0
  184. data/test/dummy/tmp/cache/assets/C64/730/sprockets%2F78fd706ba991f21a399070866616c297 +0 -0
  185. data/test/dummy/tmp/cache/assets/C65/0E0/sprockets%2F8303e4555c14f5f62cd2979665f50578 +0 -0
  186. data/test/dummy/tmp/cache/assets/C6C/C90/sprockets%2Fad7947b2492467a62388859219a92de9 +0 -0
  187. data/test/dummy/tmp/cache/assets/C70/900/sprockets%2F8dc34820f1167ed79c121111a0696c03 +0 -0
  188. data/test/dummy/tmp/cache/assets/C72/450/sprockets%2F12725ceae78656537003a1240f640ed4 +0 -0
  189. data/test/dummy/tmp/cache/assets/C73/0F0/sprockets%2F8a6a50d9b866140c720b6a48307c4116 +0 -0
  190. data/test/dummy/tmp/cache/assets/C75/F50/sprockets%2F52991c5c131fb0049279124ef17047ba +0 -0
  191. data/test/dummy/tmp/cache/assets/C76/F10/sprockets%2F536e031c5d9a257b602d38f8711480a2 +0 -0
  192. data/test/dummy/tmp/cache/assets/C7E/EA0/sprockets%2F2504a119ab66f79d8d296032e957a023 +0 -0
  193. data/test/dummy/tmp/cache/assets/C7F/860/sprockets%2F7646acf5464f211440d12d09847e7c43 +0 -0
  194. data/test/dummy/tmp/cache/assets/C80/150/sprockets%2F0d3881005b0646df783d5c24683d34f5 +0 -0
  195. data/test/dummy/tmp/cache/assets/C80/780/sprockets%2F49930c35001a30c38745b89a6a86cf74 +0 -0
  196. data/test/dummy/tmp/cache/assets/C82/060/sprockets%2Fb043f48276a50489714f9ec04525e26a +0 -0
  197. data/test/dummy/tmp/cache/assets/C82/580/sprockets%2F8118f4526088ba8fd441f20317475d6b +0 -0
  198. data/test/dummy/tmp/cache/assets/C82/AA0/sprockets%2Fd83006c52345d7fe51216f1e577a8185 +0 -0
  199. data/test/dummy/tmp/cache/assets/C83/A50/sprockets%2F26b151f7490286ff7059ff9a411e1027 +0 -0
  200. data/test/dummy/tmp/cache/assets/C84/E00/sprockets%2F49d13d786c17ba7650b374646455a6b3 +0 -0
  201. data/test/dummy/tmp/cache/assets/C85/310/sprockets%2Fc638d86c720815e5b635e0a3646e2186 +0 -0
  202. data/test/dummy/tmp/cache/assets/C87/1B0/sprockets%2F58524f16545fa54ea39c3c1270d06799 +0 -0
  203. data/test/dummy/tmp/cache/assets/C88/960/sprockets%2F50655bc2c86c7c3007756af818375e64 +0 -0
  204. data/test/dummy/tmp/cache/assets/C89/9E0/sprockets%2Fbc5d891273e7d61e56762000337868bf +0 -0
  205. data/test/dummy/tmp/cache/assets/C8A/680/sprockets%2F401d94c3b6643cb7764590d5765197ea +0 -0
  206. data/test/dummy/tmp/cache/assets/C8B/0F0/sprockets%2F3317c35ce7597681091ac91985d08bb5 +0 -0
  207. data/test/dummy/tmp/cache/assets/C8B/A30/sprockets%2Fe20153c26552232703d0f4a5a60b10ed +0 -0
  208. data/test/dummy/tmp/cache/assets/C8D/FC0/sprockets%2Fab1b1b654d968822069892e844f5244f +0 -0
  209. data/test/dummy/tmp/cache/assets/C8E/1A0/sprockets%2F7937090f77385164f68c0ee252b26be5 +0 -0
  210. data/test/dummy/tmp/cache/assets/C8E/1B0/sprockets%2F3309cd849788a2b736f12369ad4e4851 +0 -0
  211. data/test/dummy/tmp/cache/assets/C8E/D50/sprockets%2F687d2438d13763a733287fc4a2e5f746 +0 -0
  212. data/test/dummy/tmp/cache/assets/C8E/E40/sprockets%2F96aaf9af5e7906347880902610773bc5 +0 -0
  213. data/test/dummy/tmp/cache/assets/C8F/370/sprockets%2Ff794170ec844d49b57216a088c0297d7 +0 -0
  214. data/test/dummy/tmp/cache/assets/C91/F00/sprockets%2F0f611f4f95811990472ff1b6f95383d5 +0 -0
  215. data/test/dummy/tmp/cache/assets/C98/D30/sprockets%2F3f2411651caa9b4fd0833085b001f490 +0 -0
  216. data/test/dummy/tmp/cache/assets/CA9/5A0/sprockets%2F8282351dd11504a68cbc8500b7786cf2 +0 -0
  217. data/test/dummy/tmp/cache/assets/CA9/E20/sprockets%2F1ca84c82be52603a0c947256a38a0598 +0 -0
  218. data/test/dummy/tmp/cache/assets/CAA/3C0/sprockets%2F75ce813900f222ce7892711f61db04d3 +0 -0
  219. data/test/dummy/tmp/cache/assets/CAA/400/sprockets%2F5c330e413aa8e6769050215b5366c7ef +0 -0
  220. data/test/dummy/tmp/cache/assets/CAA/A60/sprockets%2F76b467bc7a2344e208653c4261f8ab15 +0 -0
  221. data/test/dummy/tmp/cache/assets/CAA/D90/sprockets%2Fd477a5c2046351a0c462bb945e3954e5 +0 -0
  222. data/test/dummy/tmp/cache/assets/CAB/670/sprockets%2F678e67cae28828b42b010381be1f1247 +0 -0
  223. data/test/dummy/tmp/cache/assets/CAC/000/sprockets%2F39720f0080e70a954d9956acd571d0b2 +0 -0
  224. data/test/dummy/tmp/cache/assets/CAC/220/sprockets%2Fe9d921c5251a11d0a6296974975dbb20 +0 -0
  225. data/test/dummy/tmp/cache/assets/CAD/B20/sprockets%2F4c087829240d4b69e0a47e39bb8124d0 +0 -0
  226. data/test/dummy/tmp/cache/assets/CAD/CF0/sprockets%2F25811882cd57a31606348eb7b16f4f0d +0 -0
  227. data/test/dummy/tmp/cache/assets/CAE/0D0/sprockets%2F02345f5b06f3a25b588ed66b8e167034 +0 -0
  228. data/test/dummy/tmp/cache/assets/CAF/AD0/sprockets%2Fec228a94364d0d686876d02550ed15c1 +0 -0
  229. data/test/dummy/tmp/cache/assets/CB4/D20/sprockets%2F94c251de5c21293f227709479c4f32be +0 -0
  230. data/test/dummy/tmp/cache/assets/CB5/4C0/sprockets%2F446522846ac4ed6619268b3e00fd497a +0 -0
  231. data/test/dummy/tmp/cache/assets/CB7/FA0/sprockets%2F62d364e38ba9b500f8b1633367f782b9 +0 -0
  232. data/test/dummy/tmp/cache/assets/CB8/180/sprockets%2Fe66eae8997e04c4bf70531e166511662 +0 -0
  233. data/test/dummy/tmp/cache/assets/CB8/E20/sprockets%2Fcb0a5df9573576546972b95a14d8f112 +0 -0
  234. data/test/dummy/tmp/cache/assets/CB8/EA0/sprockets%2F9e63d365e2159c725d111698cc04a7e7 +0 -0
  235. data/test/dummy/tmp/cache/assets/CB9/680/sprockets%2F9bad6dc04875e04891351521b9795f5a +0 -0
  236. data/test/dummy/tmp/cache/assets/CBA/250/sprockets%2F39bb3860405888c9f3b4b35c738b940c +0 -0
  237. data/test/dummy/tmp/cache/assets/CBB/E80/sprockets%2F43b17645e39f018bc195bc9828f4b357 +0 -0
  238. data/test/dummy/tmp/cache/assets/CBC/6C0/sprockets%2F6f494cff47ee245d30168217542c66d6 +0 -0
  239. data/test/dummy/tmp/cache/assets/CBE/6B0/sprockets%2F285b1ec717d1c4c725758951c8785b2f +0 -0
  240. data/test/dummy/tmp/cache/assets/CBE/F20/sprockets%2F7610efc00f29935606275944978fbabf +0 -0
  241. data/test/dummy/tmp/cache/assets/CBF/3A0/sprockets%2Fc7b6a2891626c77607ea2881dc84d475 +0 -0
  242. data/test/dummy/tmp/cache/assets/CBF/8B0/sprockets%2F5c98534d57c1e7f7d2926173d27e4d14 +0 -0
  243. data/test/dummy/tmp/cache/assets/CC0/E60/sprockets%2F9731b0739ec7356b2e484cb427d6955f +0 -0
  244. data/test/dummy/tmp/cache/assets/CC1/600/sprockets%2F322629f082c9e743f47a32edd58874b8 +0 -0
  245. data/test/dummy/tmp/cache/assets/CC4/950/sprockets%2F697670d712a9a24f564f9e62b5ed1389 +0 -0
  246. data/test/dummy/tmp/cache/assets/CC4/B10/sprockets%2F55b1a4137e59cad5520e1f012eb29021 +0 -0
  247. data/test/dummy/tmp/cache/assets/CC4/B80/sprockets%2F5b090557c9468f93cc1ab77898ba2629 +0 -0
  248. data/test/dummy/tmp/cache/assets/CC7/0B0/sprockets%2Fa26009e31f9e68672f4fc7f873909a64 +0 -0
  249. data/test/dummy/tmp/cache/assets/CC9/D20/sprockets%2F372172a3ef18b8cac40a5c410f748021 +0 -0
  250. data/test/dummy/tmp/cache/assets/CCD/9B0/sprockets%2F0b3845e705c1a2c20c80b56c9c8a2246 +0 -0
  251. data/test/dummy/tmp/cache/assets/CCF/7E0/sprockets%2F3d478e2550d0140a8da13a229735bcd7 +0 -0
  252. data/test/dummy/tmp/cache/assets/CD0/990/sprockets%2F3027964ce732931bb70c158aa61ab08d +0 -0
  253. data/test/dummy/tmp/cache/assets/CD1/590/sprockets%2F2f99067423113c4aebb30a4dd3643b85 +0 -0
  254. data/test/dummy/tmp/cache/assets/CD3/250/sprockets%2F9982c13eacaf46622739beab50120614 +0 -0
  255. data/test/dummy/tmp/cache/assets/CD3/DB0/sprockets%2F38ec8b4912b23f2b31322570d56c9c2b +0 -0
  256. data/test/dummy/tmp/cache/assets/CD8/5E0/sprockets%2Ffd127b418d9dc4cc3d196672811a6112 +0 -0
  257. data/test/dummy/tmp/cache/assets/CD8/D40/sprockets%2F73570572f17300ebf2dda1ef2635149e +0 -0
  258. data/test/dummy/tmp/cache/assets/CD9/B20/sprockets%2F65698070c3bce81f5ee4eb101722b741 +0 -0
  259. data/test/dummy/tmp/cache/assets/CD9/D90/sprockets%2F87979893cfde1b28afc60797a9948345 +0 -0
  260. data/test/dummy/tmp/cache/assets/CDA/DA0/sprockets%2F13e6789dd595b2b5033b335bbd1472f2 +0 -0
  261. data/test/dummy/tmp/cache/assets/CDB/4D0/sprockets%2Ffb9182b4d13b796b245db8153324f4d2 +0 -0
  262. data/test/dummy/tmp/cache/assets/CDB/630/sprockets%2Fc48aca3d09504ff1811d9234c8267f50 +0 -0
  263. data/test/dummy/tmp/cache/assets/CDC/B50/sprockets%2F0f1e213595a02089df9735ec41c3ee80 +0 -0
  264. data/test/dummy/tmp/cache/assets/CDF/380/sprockets%2F39695e0a1726566c80281aab8d9a51cc +0 -0
  265. data/test/dummy/tmp/cache/assets/CDF/710/sprockets%2F16d775d6707a066df80d10cd1528ff33 +0 -0
  266. data/test/dummy/tmp/cache/assets/CDF/CA0/sprockets%2F3d5b2c400b7877c15ec29575d95b613b +0 -0
  267. data/test/dummy/tmp/cache/assets/CE0/420/sprockets%2F5b3a1508216cb6b968313beae256f788 +0 -0
  268. data/test/dummy/tmp/cache/assets/CE1/A00/sprockets%2F168b4bf7364dfd883a5930302e0f554c +0 -0
  269. data/test/dummy/tmp/cache/assets/CE4/F60/sprockets%2Fbc3490162e3489bf88aab055d19397f0 +0 -0
  270. data/test/dummy/tmp/cache/assets/CE5/F10/sprockets%2Fe9cf045465025d8527c83c3b93625fca +0 -0
  271. data/test/dummy/tmp/cache/assets/CE5/F90/sprockets%2F31557450886bf9c124f2fdb42704ce8e +0 -0
  272. data/test/dummy/tmp/cache/assets/CE5/FE0/sprockets%2F627e4127557531a3f8471cfbc718ed2f +0 -0
  273. data/test/dummy/tmp/cache/assets/CE6/4A0/sprockets%2F9c04b8b8df7217a708732da4982a5f61 +0 -0
  274. data/test/dummy/tmp/cache/assets/CE7/650/sprockets%2F834b60044436456eefb9ce5cf7144d38 +0 -0
  275. data/test/dummy/tmp/cache/assets/CE7/A40/sprockets%2F2974c4aef7a04f06738c8f6a2066e292 +0 -0
  276. data/test/dummy/tmp/cache/assets/CE7/C70/sprockets%2F8627e999f207ce7214e0ab06afe86412 +0 -0
  277. data/test/dummy/tmp/cache/assets/CE8/AA0/sprockets%2Fd569f5f91016b77401782ef3b42de6a6 +0 -0
  278. data/test/dummy/tmp/cache/assets/CE8/DC0/sprockets%2F49324064376deb60c942b7d85a3e7d9b +0 -0
  279. data/test/dummy/tmp/cache/assets/CEA/6D0/sprockets%2F1da842257a051a9e871c739d29b7d77f +0 -0
  280. data/test/dummy/tmp/cache/assets/CEA/E10/sprockets%2F888c18a6b36ca5e51363b7b21c29f877 +0 -0
  281. data/test/dummy/tmp/cache/assets/CEB/520/sprockets%2Fe99130a4204fac5e0b886885339af7c8 +0 -0
  282. data/test/dummy/tmp/cache/assets/CEB/C10/sprockets%2F6cadb28080126992d76e5e35ba79088e +0 -0
  283. data/test/dummy/tmp/cache/assets/CEC/2B0/sprockets%2F917af8a56c884b3d5c6a03593d95a365 +0 -0
  284. data/test/dummy/tmp/cache/assets/CEC/7A0/sprockets%2F1ccee406d881875c559b82932a25e7d4 +0 -0
  285. data/test/dummy/tmp/cache/assets/CEE/920/sprockets%2F97c97b08d42738b583ed92b55c540a4f +0 -0
  286. data/test/dummy/tmp/cache/assets/CEF/F00/sprockets%2F8ac77338a1dc57bb32999653c561e74e +0 -0
  287. data/test/dummy/tmp/cache/assets/CF0/950/sprockets%2Fd08f99c34c161881adb05d342e8984f9 +0 -0
  288. data/test/dummy/tmp/cache/assets/CF1/000/sprockets%2Fa779ae7d9f80d3098529264b91dd405d +0 -0
  289. data/test/dummy/tmp/cache/assets/CF1/5B0/sprockets%2F46e4886602bb924fc5c638865b6bf4f2 +0 -0
  290. data/test/dummy/tmp/cache/assets/CF5/2E0/sprockets%2F14513ab2f3a0311abd083e70c99bd293 +0 -0
  291. data/test/dummy/tmp/cache/assets/CF5/5C0/sprockets%2F64a4190014fe00d17e708fc02dfc2a32 +0 -0
  292. data/test/dummy/tmp/cache/assets/CF6/4E0/sprockets%2Ff9c27df89c8173d41850b9c40e766a85 +0 -0
  293. data/test/dummy/tmp/cache/assets/CF6/710/sprockets%2Fe53fe9369ad5f26285ab27754a943c88 +0 -0
  294. data/test/dummy/tmp/cache/assets/CF9/B70/sprockets%2F8144ebf49f85b18c46d90b897239b56e +0 -0
  295. data/test/dummy/tmp/cache/assets/CFB/540/sprockets%2Fc40fe1438edc416788894df8b834f944 +0 -0
  296. data/test/dummy/tmp/cache/assets/CFC/7F0/sprockets%2F6158d3ff6993e4c114a894dd371999ec +0 -0
  297. data/test/dummy/tmp/cache/assets/CFD/EA0/sprockets%2Fe43051fb1f2752c010e292ccbc53399b +0 -0
  298. data/test/dummy/tmp/cache/assets/CFD/F60/sprockets%2Fb5776671dd7cf557332f7720f49c9c9f +0 -0
  299. data/test/dummy/tmp/cache/assets/CFD/F80/sprockets%2Fe2b02979764013ad04e2f2b23d28e2ca +0 -0
  300. data/test/dummy/tmp/cache/assets/D00/690/sprockets%2F488324fb426a1e3cb3ca16488caf4004 +0 -0
  301. data/test/dummy/tmp/cache/assets/D01/A00/sprockets%2F5704bfb588da51f6053f30abd310b458 +0 -0
  302. data/test/dummy/tmp/cache/assets/D02/4C0/sprockets%2F6386d72b2c51c911a7fd84ba612430cc +0 -0
  303. data/test/dummy/tmp/cache/assets/D02/6E0/sprockets%2F886e897f07ee48ec4e9f640643440dd9 +0 -0
  304. data/test/dummy/tmp/cache/assets/D03/EF0/sprockets%2F4799db40f9cc57f50689f6da487464f5 +0 -0
  305. data/test/dummy/tmp/cache/assets/D04/530/sprockets%2Fc14ce481964a025c2501a5c907c65fce +0 -0
  306. data/test/dummy/tmp/cache/assets/D06/590/sprockets%2F19c899c20cf5d9b8629878e3add89708 +0 -0
  307. data/test/dummy/tmp/cache/assets/D06/A70/sprockets%2Ff5da4e04222a35db9d267255424bf5c6 +0 -0
  308. data/test/dummy/tmp/cache/assets/D07/330/sprockets%2F3b24c0c589b1004b399d108ae5d6ef81 +0 -0
  309. data/test/dummy/tmp/cache/assets/D07/7F0/sprockets%2F3fb0ed6b32aa83a6878d12a209c38824 +0 -0
  310. data/test/dummy/tmp/cache/assets/D08/530/sprockets%2F311d9ba15b34718d1e60ddc95a84194d +0 -0
  311. data/test/dummy/tmp/cache/assets/D08/D80/sprockets%2F388df4f82d11657bb0b4024448b6af2b +0 -0
  312. data/test/dummy/tmp/cache/assets/D09/7F0/sprockets%2Fa2d67c31222348f16a9812df26da3e8d +0 -0
  313. data/test/dummy/tmp/cache/assets/D09/E40/sprockets%2Fc2693927bc52084b4d2b89373aaa0ac9 +0 -0
  314. data/test/dummy/tmp/cache/assets/D0A/830/sprockets%2F3155dcf93a62cf601a0d48b2806b599b +0 -0
  315. data/test/dummy/tmp/cache/assets/D0A/830/sprockets%2F830cdfb33202453675d55d8de703fa2f +0 -0
  316. data/test/dummy/tmp/cache/assets/D0B/3E0/sprockets%2F66c11f02337c8851bfab67bbb3b94916 +0 -0
  317. data/test/dummy/tmp/cache/assets/D0C/2E0/sprockets%2Fecb35ec370e250a63784c2f508b76a38 +0 -0
  318. data/test/dummy/tmp/cache/assets/D0E/010/sprockets%2F797b9e08c55a2106f8e2dace455710d0 +0 -0
  319. data/test/dummy/tmp/cache/assets/D0E/180/sprockets%2F045e183281dfc37485db513d585c5bdb +0 -0
  320. data/test/dummy/tmp/cache/assets/D0E/EA0/sprockets%2F1d36a1420cf4558fb3c793316ae89ca7 +0 -0
  321. data/test/dummy/tmp/cache/assets/D0F/7E0/sprockets%2F45f0d1bae6783a949cd01767d4c7e212 +0 -0
  322. data/test/dummy/tmp/cache/assets/D0F/9E0/sprockets%2F1536c04e487ca1a768d90a68513c3cff +0 -0
  323. data/test/dummy/tmp/cache/assets/D10/750/sprockets%2F4c4a696e3e0b905d75ed60f9042cd227 +0 -0
  324. data/test/dummy/tmp/cache/assets/D11/FC0/sprockets%2F9bd6c83d367423fe05ef6c3338143aa6 +0 -0
  325. data/test/dummy/tmp/cache/assets/D11/FD0/sprockets%2Fa7872e06fd015c19f48f4c350d63cc19 +0 -0
  326. data/test/dummy/tmp/cache/assets/D12/1C0/sprockets%2F5901cb9faf1725dd2e472ca2965b4287 +0 -0
  327. data/test/dummy/tmp/cache/assets/D12/BE0/sprockets%2Ff01aaa83ff0f19584cb671837a7d7444 +0 -0
  328. data/test/dummy/tmp/cache/assets/D13/6B0/sprockets%2F0975ed2a9d299bf1c719b3b1137e581b +0 -0
  329. data/test/dummy/tmp/cache/assets/D14/340/sprockets%2F4d057c80e80694c2c4d637ecd538bc08 +0 -0
  330. data/test/dummy/tmp/cache/assets/D14/BD0/sprockets%2Ffc2255112852fb55d96d41a92f8fb6b6 +0 -0
  331. data/test/dummy/tmp/cache/assets/D14/DA0/sprockets%2F54a7d7c2a544df07d57173cda79e9700 +0 -0
  332. data/test/dummy/tmp/cache/assets/D15/A20/sprockets%2F46b5881e463b09c7f61736e5ec2aeb16 +0 -0
  333. data/test/dummy/tmp/cache/assets/D15/A20/sprockets%2F9e52b9b230f4aa1d0e1a74699d82e983 +0 -0
  334. data/test/dummy/tmp/cache/assets/D16/2A0/sprockets%2F3739709cf73c9a32b521b45677cd4bde +0 -0
  335. data/test/dummy/tmp/cache/assets/D17/6C0/sprockets%2F69144d8b21e495ac17e4994fdfa3a803 +0 -0
  336. data/test/dummy/tmp/cache/assets/D19/680/sprockets%2Fcd3a545b89d274cfd328f4d341f96272 +0 -0
  337. data/test/dummy/tmp/cache/assets/D19/E90/sprockets%2F16cd7e58935dd8d1d376f10be6b50368 +0 -0
  338. data/test/dummy/tmp/cache/assets/D1A/0C0/sprockets%2Fa606399c0ce2e298b58fec46777024ad +0 -0
  339. data/test/dummy/tmp/cache/assets/D1B/C80/sprockets%2F835147dfca8c918a99182e9e2e600f1c +0 -0
  340. data/test/dummy/tmp/cache/assets/D1C/070/sprockets%2F19aa6be16056890e435d65d4c84cf69e +0 -0
  341. data/test/dummy/tmp/cache/assets/D1D/700/sprockets%2F72d9824da671eff2338d52de93b83a56 +0 -0
  342. data/test/dummy/tmp/cache/assets/D1D/C60/sprockets%2F54364ea078190fbd4168336feef963fc +0 -0
  343. data/test/dummy/tmp/cache/assets/D1F/5F0/sprockets%2Ff8cb248d9fc90758124cd284e17e3b66 +0 -0
  344. data/test/dummy/tmp/cache/assets/D21/EF0/sprockets%2F935d9ee3ec37515493a293c3785dadc8 +0 -0
  345. data/test/dummy/tmp/cache/assets/D22/0B0/sprockets%2F9dfda36b032e59892637b875d7af392b +0 -0
  346. data/test/dummy/tmp/cache/assets/D22/2C0/sprockets%2Fe42d5d90d467a803999bdec116955f8b +0 -0
  347. data/test/dummy/tmp/cache/assets/D23/610/sprockets%2F0e51cca080cc65e62e080941b232a1ed +0 -0
  348. data/test/dummy/tmp/cache/assets/D23/EB0/sprockets%2Fe26ee953fe7e3172d737e6e67a96332a +0 -0
  349. data/test/dummy/tmp/cache/assets/D25/C00/sprockets%2Ff63d097054df34bc660bdf98f7661b99 +0 -0
  350. data/test/dummy/tmp/cache/assets/D26/470/sprockets%2F1e9b32c11057bc537b0021de4f1f1fc6 +0 -0
  351. data/test/dummy/tmp/cache/assets/D29/910/sprockets%2Fe51f36e9fde73e3928070a96fcf77571 +0 -0
  352. data/test/dummy/tmp/cache/assets/D2A/E10/sprockets%2F2d2a1cfcc28a38330d30434fd8c1077c +0 -0
  353. data/test/dummy/tmp/cache/assets/D2B/210/sprockets%2F67aaa6c903e6b15c74de39af0002a451 +0 -0
  354. data/test/dummy/tmp/cache/assets/D2B/CF0/sprockets%2F70b2adc5e73b271342371aaad257b76d +0 -0
  355. data/test/dummy/tmp/cache/assets/D2D/E40/sprockets%2Faf21fa3d26ad3f68a23532178e20fb15 +0 -0
  356. data/test/dummy/tmp/cache/assets/D2F/100/sprockets%2F8c0286ee70744ca12c7c12a563de4b2a +0 -0
  357. data/test/dummy/tmp/cache/assets/D32/3E0/sprockets%2Fc9f2c6b93b29fa3b0d5420b751903eb1 +0 -0
  358. data/test/dummy/tmp/cache/assets/D32/6E0/sprockets%2Fb4f78f31b9aab6dbd2911b07076d4601 +0 -0
  359. data/test/dummy/tmp/cache/assets/D32/A80/sprockets%2Fb12fb26042f73cf3b2796abc2836ee20 +0 -0
  360. data/test/dummy/tmp/cache/assets/D36/7F0/sprockets%2F78e0c63f0043ae6e6536ec504cc23a9b +0 -0
  361. data/test/dummy/tmp/cache/assets/D36/E70/sprockets%2F69b00a4118d012bf6d7cf293b5f316ff +0 -0
  362. data/test/dummy/tmp/cache/assets/D37/070/sprockets%2F59e3be9a13634f3b3d0cab4ad0889063 +0 -0
  363. data/test/dummy/tmp/cache/assets/D39/740/sprockets%2Fd4834d921f293e5dcc04bea2b3917d51 +0 -0
  364. data/test/dummy/tmp/cache/assets/D3A/520/sprockets%2F7193d867aa217d4a306848dbcc1d9c0b +0 -0
  365. data/test/dummy/tmp/cache/assets/D3A/670/sprockets%2F0db6624d07920a5f4decb479718da33c +0 -0
  366. data/test/dummy/tmp/cache/assets/D3A/690/sprockets%2Fb5058a82d02b84df6210af598cfa644c +0 -0
  367. data/test/dummy/tmp/cache/assets/D3A/A00/sprockets%2F1077cd94fef55fbb01ce529612180bd5 +0 -0
  368. data/test/dummy/tmp/cache/assets/D3A/ED0/sprockets%2F5ae1cf0266d63b8eb0647535ca93b63d +0 -0
  369. data/test/dummy/tmp/cache/assets/D3C/640/sprockets%2F42e7a70bb8be9398385afb3c4742aa04 +0 -0
  370. data/test/dummy/tmp/cache/assets/D3C/E40/sprockets%2Fba57600a2dd2f6da96613de37f27930f +0 -0
  371. data/test/dummy/tmp/cache/assets/D3D/4E0/sprockets%2F7d37b8c27a3f3b1a02c4fe17643de865 +0 -0
  372. data/test/dummy/tmp/cache/assets/D3E/940/sprockets%2F5ed82a03c1de5c34135b67ff053787ec +0 -0
  373. data/test/dummy/tmp/cache/assets/D3E/F80/sprockets%2Fa146a4bfc3b8cb08334b9b14fe379756 +0 -0
  374. data/test/dummy/tmp/cache/assets/D3F/050/sprockets%2Fab4aa96dbce1e6b359f2658118291d90 +0 -0
  375. data/test/dummy/tmp/cache/assets/D3F/590/sprockets%2F13a259ba93c919fa5a47ba9cf10569f1 +0 -0
  376. data/test/dummy/tmp/cache/assets/D3F/E10/sprockets%2Ff8492202733ea4a4f67065c95eec1beb +0 -0
  377. data/test/dummy/tmp/cache/assets/D40/6C0/sprockets%2Fafe496eaca27b82020893b81383e8b6b +0 -0
  378. data/test/dummy/tmp/cache/assets/D40/D10/sprockets%2F7af151c9b6080d9285fe058ae6d40c4d +0 -0
  379. data/test/dummy/tmp/cache/assets/D40/E50/sprockets%2F278df3df34e9573cbd9a402e42d1193b +0 -0
  380. data/test/dummy/tmp/cache/assets/D41/220/sprockets%2Fafb511e47c76bf448b6f7072c8d3118c +0 -0
  381. data/test/dummy/tmp/cache/assets/D41/770/sprockets%2F271c5f12457864bbb0c6646c9ebf1f3f +0 -0
  382. data/test/dummy/tmp/cache/assets/D41/8A0/sprockets%2Fbc7ce77806517ea173350e6a4d8c55db +0 -0
  383. data/test/dummy/tmp/cache/assets/D41/D70/sprockets%2F48b33bbf96854b502b0eaf902e69d55c +0 -0
  384. data/test/dummy/tmp/cache/assets/D41/FE0/sprockets%2F2901ba969f333cc19393afd2f0fc7c64 +0 -0
  385. data/test/dummy/tmp/cache/assets/D42/970/sprockets%2Fe27c8084b9cf2eaa063f585e92064c5a +0 -0
  386. data/test/dummy/tmp/cache/assets/D43/F70/sprockets%2F2c844357dd8de7db147f80c3539b0ee0 +0 -0
  387. data/test/dummy/tmp/cache/assets/D44/6D0/sprockets%2F4d7032af47bfce2d4a8564830f8a6a96 +0 -0
  388. data/test/dummy/tmp/cache/assets/D45/1C0/sprockets%2F7e052d17bd4b749ba373bea97380c8f6 +0 -0
  389. data/test/dummy/tmp/cache/assets/D45/3B0/sprockets%2Fd26b5a0d570ef57d06df6f032e9b8980 +0 -0
  390. data/test/dummy/tmp/cache/assets/D46/770/sprockets%2F96355435f9ab8090c2d3e4f0ddd9b7c3 +0 -0
  391. data/test/dummy/tmp/cache/assets/D46/8E0/sprockets%2F1a4f07bd2741629bdd572848dccf773e +0 -0
  392. data/test/dummy/tmp/cache/assets/D47/2B0/sprockets%2Ff3d8c4ca1a44044d98395b36b770fcf9 +0 -0
  393. data/test/dummy/tmp/cache/assets/D47/8F0/sprockets%2F1cc6e49382be4f74cbb97821ae1928c4 +0 -0
  394. data/test/dummy/tmp/cache/assets/D47/AC0/sprockets%2Fcb9189183de4d74faa04d6ad1347964f +0 -0
  395. data/test/dummy/tmp/cache/assets/D48/1D0/sprockets%2Fbff4201c0944eaf31a2f6a0110cbd224 +0 -0
  396. data/test/dummy/tmp/cache/assets/D48/2F0/sprockets%2F6b79e4839df89b4abb51c2c6105d15e8 +0 -0
  397. data/test/dummy/tmp/cache/assets/D48/960/sprockets%2F90e2c11ff8fd31e591b9fd39932631bf +0 -0
  398. data/test/dummy/tmp/cache/assets/D4A/C80/sprockets%2F0289519826ada458af4b9a728fdfcf31 +0 -0
  399. data/test/dummy/tmp/cache/assets/D4B/C20/sprockets%2Fc28f3c4d6cd98dbb784830d7c6214d65 +0 -0
  400. data/test/dummy/tmp/cache/assets/D4B/E90/sprockets%2F51d49f9bc2549684e6da91a4e0bc379b +0 -0
  401. data/test/dummy/tmp/cache/assets/D4C/490/sprockets%2F7e207e1654e5343a964fd6cf3fefb447 +0 -0
  402. data/test/dummy/tmp/cache/assets/D4C/BD0/sprockets%2F4ac9d1aa903d4731edf18fe2b9589829 +0 -0
  403. data/test/dummy/tmp/cache/assets/D4E/640/sprockets%2Fdaab3d2130266b5b7a2f1d04b8c4322e +0 -0
  404. data/test/dummy/tmp/cache/assets/D4E/6C0/sprockets%2Fedd9cf282af0f00637e5273c8c3888b9 +0 -0
  405. data/test/dummy/tmp/cache/assets/D4E/D00/sprockets%2F1a6846f0a837ae2524e2f9ec89e6ef43 +0 -0
  406. data/test/dummy/tmp/cache/assets/D4F/410/sprockets%2F1377bb2e86073ae3a688e5a6c499a9df +0 -0
  407. data/test/dummy/tmp/cache/assets/D50/E10/sprockets%2F28698bc0c536fe5e97a2935e3bb929bb +0 -0
  408. data/test/dummy/tmp/cache/assets/D51/230/sprockets%2F742ba6ca9f84d98ffc38ca5687c05155 +0 -0
  409. data/test/dummy/tmp/cache/assets/D53/440/sprockets%2F2def445147b9f5d6363f6f6d497d2f0e +0 -0
  410. data/test/dummy/tmp/cache/assets/D53/DE0/sprockets%2F7736b51cb3bf8679b8bdc8ab9d184954 +0 -0
  411. data/test/dummy/tmp/cache/assets/D54/0D0/sprockets%2F448752db3a53dd453db1b01de121ebd2 +0 -0
  412. data/test/dummy/tmp/cache/assets/D56/1F0/sprockets%2F291fcb7a26ff3aac6bc1404e0a247242 +0 -0
  413. data/test/dummy/tmp/cache/assets/D57/DF0/sprockets%2F8d06b94587d49e037e77f8afcb6802cf +0 -0
  414. data/test/dummy/tmp/cache/assets/D59/070/sprockets%2F822cd47e69d40ba87f95181fdd698ed5 +0 -0
  415. data/test/dummy/tmp/cache/assets/D5A/070/sprockets%2Fe7159b621a21a7a0ebd81a32912e8faa +0 -0
  416. data/test/dummy/tmp/cache/assets/D5A/D80/sprockets%2F28dc9152e2ead49ae414a5b82d04a1a2 +0 -0
  417. data/test/dummy/tmp/cache/assets/D5C/660/sprockets%2F5baf6a64b3151ae6bf40155e90db6e03 +0 -0
  418. data/test/dummy/tmp/cache/assets/D5C/E00/sprockets%2F92930d4e993eb8bd3498b699dccf9a33 +0 -0
  419. data/test/dummy/tmp/cache/assets/D5E/3D0/sprockets%2F5f786d832b4e0ba05f6abc3ea314901a +0 -0
  420. data/test/dummy/tmp/cache/assets/D5F/7F0/sprockets%2Fabbcc55042a82b42c900c09d59de4c29 +0 -0
  421. data/test/dummy/tmp/cache/assets/D60/2A0/sprockets%2Fcd5c12269b6c414bf722c6c2dc0e18c4 +0 -0
  422. data/test/dummy/tmp/cache/assets/D62/140/sprockets%2F7e5a724c4c00951a0da7ec767ce19aa1 +0 -0
  423. data/test/dummy/tmp/cache/assets/D62/2E0/sprockets%2F51a06ddef9bd05b405fd605d37be3154 +0 -0
  424. data/test/dummy/tmp/cache/assets/D63/B00/sprockets%2F2672399dfcdd2b6b61536cab3d800bc1 +0 -0
  425. data/test/dummy/tmp/cache/assets/D63/D60/sprockets%2Ff791df22a3d7e2f4ef01ad0742f370c1 +0 -0
  426. data/test/dummy/tmp/cache/assets/D63/DC0/sprockets%2Fc298c2b66150c7f11d95cecf450bb14a +0 -0
  427. data/test/dummy/tmp/cache/assets/D63/DE0/sprockets%2F73c9e04acfc930681ab170b3e4bfc453 +0 -0
  428. data/test/dummy/tmp/cache/assets/D64/670/sprockets%2F7dc8c0ad36d436eb56a0824a46e0eb08 +0 -0
  429. data/test/dummy/tmp/cache/assets/D64/B50/sprockets%2F7ac06eacb363b85744337c0ea88e2b0c +0 -0
  430. data/test/dummy/tmp/cache/assets/D65/990/sprockets%2Fa2965ca374a00aaceb747e60b654e2f8 +0 -0
  431. data/test/dummy/tmp/cache/assets/D66/360/sprockets%2Fc94d86aa0bc1a44817a1fd3db0873a87 +0 -0
  432. data/test/dummy/tmp/cache/assets/D66/6C0/sprockets%2F1b63a7f0e3fb2a7f3124f198d0ff462b +0 -0
  433. data/test/dummy/tmp/cache/assets/D67/8E0/sprockets%2Ffd0eaaf36da9805e6c4ec303534162f5 +0 -0
  434. data/test/dummy/tmp/cache/assets/D67/C10/sprockets%2Ffb4b4451c110f07957c2ecacf854c5d4 +0 -0
  435. data/test/dummy/tmp/cache/assets/D68/000/sprockets%2F39c01fa5c01830f3558eb1c97c4dfb6b +0 -0
  436. data/test/dummy/tmp/cache/assets/D68/0C0/sprockets%2F6c628ddf1ba5c680e04ad54a476f163b +0 -0
  437. data/test/dummy/tmp/cache/assets/D68/210/sprockets%2Fdc284967860db06c2cb2e1da78bab156 +0 -0
  438. data/test/dummy/tmp/cache/assets/D6A/2E0/sprockets%2Fc3a3a8e66c9b58b52b1db3ad754c9423 +0 -0
  439. data/test/dummy/tmp/cache/assets/D6B/BA0/sprockets%2F8293eb343aead8dda54496532fb24fa1 +0 -0
  440. data/test/dummy/tmp/cache/assets/D6C/AD0/sprockets%2Fdabce05f6e4419832e20d6b7420fe9a7 +0 -0
  441. data/test/dummy/tmp/cache/assets/D6D/080/sprockets%2F3cc7b7355591babda1661e6c5e9f8c20 +0 -0
  442. data/test/dummy/tmp/cache/assets/D6D/690/sprockets%2Fd288d7215df092fdc70b3b8216dce2f3 +0 -0
  443. data/test/dummy/tmp/cache/assets/D6D/7A0/sprockets%2Fff4be901f55528b85b2b1fc73ebc4352 +0 -0
  444. data/test/dummy/tmp/cache/assets/D6D/E80/sprockets%2F9ef00ee94e3b0eed7c4e45b342085d51 +0 -0
  445. data/test/dummy/tmp/cache/assets/D6E/940/sprockets%2Fb19f43bd8383eeb5e26a4d2b79f1240e +0 -0
  446. data/test/dummy/tmp/cache/assets/D6E/9F0/sprockets%2F15f61ad82d9ca6cce6a0e42b7249662f +0 -0
  447. data/test/dummy/tmp/cache/assets/D6E/AD0/sprockets%2F4441be9946083b61e75f7bf1a1cca5cf +0 -0
  448. data/test/dummy/tmp/cache/assets/D73/3F0/sprockets%2F09b4a9c1131740eba5d85fcf9c86b97a +0 -0
  449. data/test/dummy/tmp/cache/assets/D76/030/sprockets%2F7e8689ec6a9f3754a4aa660e303cbf4a +0 -0
  450. data/test/dummy/tmp/cache/assets/D76/C80/sprockets%2F952307811ad5e9e8b540cf5e9cf08cea +0 -0
  451. data/test/dummy/tmp/cache/assets/D76/CA0/sprockets%2F797920cdabaf2f8431968a34c2cbae79 +0 -0
  452. data/test/dummy/tmp/cache/assets/D77/B70/sprockets%2Fa02f64f352cfa69d33983fd15e8ea3d7 +0 -0
  453. data/test/dummy/tmp/cache/assets/D77/FF0/sprockets%2F126c2e2ca6f5e8477c9525f46cdba7d5 +0 -0
  454. data/test/dummy/tmp/cache/assets/D79/2F0/sprockets%2F4b9fd617fe0d6c7e5eb934a139507e3d +0 -0
  455. data/test/dummy/tmp/cache/assets/D79/E80/sprockets%2F7d329345d1b9f914c87fc5e07ea9ab4b +0 -0
  456. data/test/dummy/tmp/cache/assets/D7A/5C0/sprockets%2F6e2b202ee971a68c1e78eddf5658e53a +0 -0
  457. data/test/dummy/tmp/cache/assets/D7A/8C0/sprockets%2Fc477a2d0aa5d658fd7294d6f6c5a484e +0 -0
  458. data/test/dummy/tmp/cache/assets/D7C/160/sprockets%2F6847e66cdafb094701f479a515ede5dd +0 -0
  459. data/test/dummy/tmp/cache/assets/D7C/750/sprockets%2F1f76d236fdf42a817bd84da719fde069 +0 -0
  460. data/test/dummy/tmp/cache/assets/D7C/B90/sprockets%2Fc89b5af12387ee80ca80e3f2ac776c79 +0 -0
  461. data/test/dummy/tmp/cache/assets/D7E/2A0/sprockets%2F1ce479f9423e748690a75abbabf8af84 +0 -0
  462. data/test/dummy/tmp/cache/assets/D7F/A60/sprockets%2F5c683951503f673cceffa6ba76f38b8d +0 -0
  463. data/test/dummy/tmp/cache/assets/D81/120/sprockets%2F75c7f18e61fa042b776ce2e5c3ff786f +0 -0
  464. data/test/dummy/tmp/cache/assets/D82/560/sprockets%2Fcb5875caef3f569f08878b13cdd991a2 +0 -0
  465. data/test/dummy/tmp/cache/assets/D84/0A0/sprockets%2F07fc0bfe2237a171b813aa147f3ced1a +0 -0
  466. data/test/dummy/tmp/cache/assets/D85/050/sprockets%2Fa9b35663e7dc78eacde8d84ae3599163 +0 -0
  467. data/test/dummy/tmp/cache/assets/D85/5A0/sprockets%2Fc2cbee1b5160e0e8b022933feb36ea30 +0 -0
  468. data/test/dummy/tmp/cache/assets/D87/6D0/sprockets%2F51df69aad9a6f892254deb9d4c1992f8 +0 -0
  469. data/test/dummy/tmp/cache/assets/D88/1B0/sprockets%2Fb5bb04fc812b607ce046a4b702be4c4f +0 -0
  470. data/test/dummy/tmp/cache/assets/D88/7E0/sprockets%2Fe9fedb2c5be893a15939dc65f684196b +0 -0
  471. data/test/dummy/tmp/cache/assets/D8A/2C0/sprockets%2F6ec8da0142f240ce8a7e0b46aea363c1 +0 -0
  472. data/test/dummy/tmp/cache/assets/D8A/370/sprockets%2Fb4600d72a29aba7a39c2ec58aa04f18b +0 -0
  473. data/test/dummy/tmp/cache/assets/D8A/B90/sprockets%2F7506f75d60f93f9e8405ffb9cf85ddb2 +0 -0
  474. data/test/dummy/tmp/cache/assets/D8A/BF0/sprockets%2F1967ce66d464496a6fab44ff8be55ef6 +0 -0
  475. data/test/dummy/tmp/cache/assets/D8C/9C0/sprockets%2F2e7c2cd86215800a37c4d4b1bf0bea5f +0 -0
  476. data/test/dummy/tmp/cache/assets/D8E/910/sprockets%2Fbbf8e4c05ca721c1cd18c17902256ade +0 -0
  477. data/test/dummy/tmp/cache/assets/D8F/C40/sprockets%2Fa76260381aff4aa0c8beea0404e95de2 +0 -0
  478. data/test/dummy/tmp/cache/assets/D93/3B0/sprockets%2Fd0fb3bdcf317425a433a125c986b3dff +0 -0
  479. data/test/dummy/tmp/cache/assets/D94/1A0/sprockets%2Fb4748c092e8a4c127bcfacb06cdc2735 +0 -0
  480. data/test/dummy/tmp/cache/assets/D94/AD0/sprockets%2Fa1ac4bf342006e1f98def10cf9d7d234 +0 -0
  481. data/test/dummy/tmp/cache/assets/D95/430/sprockets%2Fcf054ac65aa2c4b72d661fc32c898aa5 +0 -0
  482. data/test/dummy/tmp/cache/assets/D96/C10/sprockets%2F620f6865aeb0de3c5cf8b305b13c7cb7 +0 -0
  483. data/test/dummy/tmp/cache/assets/D97/2B0/sprockets%2F16a899a4b20af5f53cdd2870e1b0aed8 +0 -0
  484. data/test/dummy/tmp/cache/assets/D97/4C0/sprockets%2F4d4aea86610bc9652c70455a6beafc4d +0 -0
  485. data/test/dummy/tmp/cache/assets/D99/330/sprockets%2Ff01679ca9c88dd0a3eb6922b0b8f3bc0 +0 -0
  486. data/test/dummy/tmp/cache/assets/D99/B10/sprockets%2F4aa8fece5b18d820a44dc266a89d50e0 +0 -0
  487. data/test/dummy/tmp/cache/assets/D99/CD0/sprockets%2Ffe0c5f4b8b52baa0f91870da12599a6d +0 -0
  488. data/test/dummy/tmp/cache/assets/D9D/170/sprockets%2F37f702f1f3ad35b9022fc87fdce7de02 +0 -0
  489. data/test/dummy/tmp/cache/assets/D9E/C90/sprockets%2F9cd75b38f1c1f85bbdac2576ca9106b5 +0 -0
  490. data/test/dummy/tmp/cache/assets/D9F/6F0/sprockets%2Fff261c15e6b97bf57e372f0de1ad571a +0 -0
  491. data/test/dummy/tmp/cache/assets/D9F/800/sprockets%2F5c722d8150c68e6eacad70fb64e5e1f5 +0 -0
  492. data/test/dummy/tmp/cache/assets/DA0/1B0/sprockets%2F71e2cd8803aac9fb0bb4c47593cf17e8 +0 -0
  493. data/test/dummy/tmp/cache/assets/DA1/530/sprockets%2F88a8bb9debb752ba06f07909db83e02d +0 -0
  494. data/test/dummy/tmp/cache/assets/DA3/9F0/sprockets%2F5122955dfe6694bdc6b69cbea09d2cd1 +0 -0
  495. data/test/dummy/tmp/cache/assets/DA4/450/sprockets%2F6f2bd50f9f1551ed8e00fd8b84f37c2c +0 -0
  496. data/test/dummy/tmp/cache/assets/DA5/0E0/sprockets%2Fe61590dc98f1e532ea20e296c5fce7bd +0 -0
  497. data/test/dummy/tmp/cache/assets/DA6/FC0/sprockets%2F900ed66847c0ec1eff94ad75fc26f11e +0 -0
  498. data/test/dummy/tmp/cache/assets/DAB/B00/sprockets%2F5286678a74e7bcc66e0d3c7c7d2db5fb +0 -0
  499. data/test/dummy/tmp/cache/assets/DAD/810/sprockets%2Fcfb7db145b0d0a3010f5d0cd7a08fb15 +0 -0
  500. data/test/dummy/tmp/cache/assets/DAE/A40/sprockets%2F7fefa2cd6e72f17c926159c9b7c3a95a +0 -0
  501. data/test/dummy/tmp/cache/assets/DB0/BF0/sprockets%2F52e4cdf37aa489ff6c138dedf036588d +0 -0
  502. data/test/dummy/tmp/cache/assets/DB1/C80/sprockets%2Fa2d1a10a3cc780fd30127b2be96ddfa2 +0 -0
  503. data/test/dummy/tmp/cache/assets/DB2/850/sprockets%2F9d6e12a0e28cc9ded4e859613cf75f6e +0 -0
  504. data/test/dummy/tmp/cache/assets/DB6/710/sprockets%2Ff53e9d96ae4808ad0f9e09ab4ef78f80 +0 -0
  505. data/test/dummy/tmp/cache/assets/DBA/7F0/sprockets%2F4f7fd7b68b8bc29c67fa996e37eaf512 +0 -0
  506. data/test/dummy/tmp/cache/assets/DBD/080/sprockets%2F039ace5986a3cbf4cca0b0a753bc71a6 +0 -0
  507. data/test/dummy/tmp/cache/assets/DBE/210/sprockets%2Fa12ca5480c3e2b9cf44ab4ef32e813ec +0 -0
  508. data/test/dummy/tmp/cache/assets/DBE/DF0/sprockets%2F6d1f018e11ee2240a8dd1df920c6cddd +0 -0
  509. data/test/dummy/tmp/cache/assets/DC0/760/sprockets%2Fb7e4cf2efcf48d0dcc420131fd30d454 +0 -0
  510. data/test/dummy/tmp/cache/assets/DC1/C20/sprockets%2Fb60b7b3aeb56bd55b67183b6f151ecca +0 -0
  511. data/test/dummy/tmp/cache/assets/DC5/5F0/sprockets%2F9d4cc0ae7ac214bb22c7cf455d06b9c9 +0 -0
  512. data/test/dummy/tmp/cache/assets/DC5/660/sprockets%2F637431e1c8fffeaafc23f021bd49fa06 +0 -0
  513. data/test/dummy/tmp/cache/assets/DC6/7C0/sprockets%2Fb408df7a822c70a0924e0cdf6c8fe2ca +0 -0
  514. data/test/dummy/tmp/cache/assets/DC8/2F0/sprockets%2F15c5ad9491aa5ef9fe4aef6333fa12c0 +0 -0
  515. data/test/dummy/tmp/cache/assets/DC8/C70/sprockets%2Fbb5351434afe5616cbe7e4a6cea95a6b +0 -0
  516. data/test/dummy/tmp/cache/assets/DCC/F40/sprockets%2Fdc3342c548fc7d3c4f4e27732b5acfea +0 -0
  517. data/test/dummy/tmp/cache/assets/DCD/390/sprockets%2Fdcd461b67aec99b76eea270a9ad2c046 +0 -0
  518. data/test/dummy/tmp/cache/assets/DCD/730/sprockets%2Fe577d2f2df0ce1516b2bdfa9fe0909e0 +0 -0
  519. data/test/dummy/tmp/cache/assets/DCD/8D0/sprockets%2Fbf36f09be83b4d0986ad23ea4d1f32df +0 -0
  520. data/test/dummy/tmp/cache/assets/DCE/1C0/sprockets%2F58cc5eb1cb2a47c8067c940caecf449d +0 -0
  521. data/test/dummy/tmp/cache/assets/DCE/BA0/sprockets%2F57c5ecddc82aa706b1e64691a8a5bcc9 +0 -0
  522. data/test/dummy/tmp/cache/assets/DCF/4A0/sprockets%2F3efd01a56bae3ae99fd13085f75b9e0d +0 -0
  523. data/test/dummy/tmp/cache/assets/DD1/4A0/sprockets%2Fd1fd81d46b69d255ebc7ab7f3f96a03a +0 -0
  524. data/test/dummy/tmp/cache/assets/DD2/380/sprockets%2F7972dab64d4a2a8007c3ecfd887ace4e +0 -0
  525. data/test/dummy/tmp/cache/assets/DD2/D90/sprockets%2Facc08ab37871b8576bfcb992aedaf228 +0 -0
  526. data/test/dummy/tmp/cache/assets/DD3/FE0/sprockets%2Fd19b0f09a29f8558a8d1f5cfc02acec9 +0 -0
  527. data/test/dummy/tmp/cache/assets/DD8/5C0/sprockets%2F9dd7bcb46a4b58ee446353a9cdaf93f2 +0 -0
  528. data/test/dummy/tmp/cache/assets/DD9/AA0/sprockets%2Ff96cdb075b4fc5b6eabb92832f6ad758 +0 -0
  529. data/test/dummy/tmp/cache/assets/DD9/F90/sprockets%2Ff09bdb745c8fa4987aa1ffcd6370c94b +0 -0
  530. data/test/dummy/tmp/cache/assets/DDB/140/sprockets%2F7815fdf1a6a74db4fca71ff6537ced67 +0 -0
  531. data/test/dummy/tmp/cache/assets/DDD/E10/sprockets%2Fd7292f5eb3a7b1f583efbf05aef567d9 +0 -0
  532. data/test/dummy/tmp/cache/assets/DDE/C00/sprockets%2Ffb5947d8ea5a7d6c08c71b3c9d7a88cb +0 -0
  533. data/test/dummy/tmp/cache/assets/DE7/3B0/sprockets%2F55fc91edc7ee6e5f818993cbddb6b707 +0 -0
  534. data/test/dummy/tmp/cache/assets/DE7/550/sprockets%2Ffff04b0980f1fbe9ece54cd8ca779867 +0 -0
  535. data/test/dummy/tmp/cache/assets/DE8/980/sprockets%2Fea9daa72d1acd0886cc064d0ea6c4a30 +0 -0
  536. data/test/dummy/tmp/cache/assets/DEF/140/sprockets%2F0182a5cba9d2df2eabb3783cf53a1ea9 +0 -0
  537. data/test/dummy/tmp/cache/assets/DF5/0C0/sprockets%2Faf8105cfdb7ceae04b099c4a2f654ce1 +0 -0
  538. data/test/dummy/tmp/cache/assets/DF5/4D0/sprockets%2Fa1a06ee61db75c3c0bed4caad288789b +0 -0
  539. data/test/dummy/tmp/cache/assets/DF7/110/sprockets%2F0654cdd8dfa5adb61e2029fefe5f50c0 +0 -0
  540. data/test/dummy/tmp/cache/assets/DF7/D40/sprockets%2F38cdcfc274accc45023affa7be98350c +0 -0
  541. data/test/dummy/tmp/cache/assets/DF8/570/sprockets%2Fd956ef1a15caba08edb2fc63c569f20d +0 -0
  542. data/test/dummy/tmp/cache/assets/DFB/E90/sprockets%2Ff7bd5fbb19ef32fc5a396d8012fac3f0 +0 -0
  543. data/test/dummy/tmp/cache/assets/DFC/9D0/sprockets%2F38fd8e0a2fde3b853f2a24571cd2dfdd +0 -0
  544. data/test/dummy/tmp/cache/assets/DFE/3C0/sprockets%2Fe7c824dbbee345aa5a66a56ebe82a29e +0 -0
  545. data/test/dummy/tmp/cache/assets/DFF/560/sprockets%2F5c1cedb5538de9d0c4dc9fdb62554fa1 +0 -0
  546. data/test/dummy/tmp/cache/assets/E02/B00/sprockets%2F723ccdfbeacf6c4176de34f371c91af9 +0 -0
  547. data/test/dummy/tmp/cache/assets/E02/DA0/sprockets%2F9829dec75de6c2a52fdc20d428d2edae +0 -0
  548. data/test/dummy/tmp/cache/assets/E04/860/sprockets%2F972757dbdbdfabfeac8ecb8a15520793 +0 -0
  549. data/test/dummy/tmp/cache/assets/E05/A70/sprockets%2F7a4daf48a8b7fba4f7bd770048b37fbf +0 -0
  550. data/test/dummy/tmp/cache/assets/E07/5B0/sprockets%2F75fdbfc0584a9cb9dda6428a66dec4b5 +0 -0
  551. data/test/dummy/tmp/cache/assets/E0C/810/sprockets%2Fe74897a12cedd8efea5a559354bd5bfc +0 -0
  552. data/test/dummy/tmp/cache/assets/E0F/B40/sprockets%2Ff5dfabed7f563e53d4735ef9c4b7a0e9 +0 -0
  553. data/test/dummy/tmp/cache/assets/E11/400/sprockets%2Ff6a9c23ee9f2ed728efa077ea66dfb55 +0 -0
  554. data/test/dummy/tmp/cache/assets/E11/4E0/sprockets%2F86e145a39f85cceeaffdff91ebb61449 +0 -0
  555. data/test/dummy/tmp/cache/assets/E11/C70/sprockets%2Fe5ad970d57c66489f9eebacb8e3a5ae5 +0 -0
  556. data/test/dummy/tmp/cache/assets/E13/B10/sprockets%2Fafbb0a11dcbf1c86ee74a1f22f2c173a +0 -0
  557. data/test/dummy/tmp/cache/assets/E14/0B0/sprockets%2F8bffda6f68fc139ee329bc86f6b7d2f1 +0 -0
  558. data/test/dummy/tmp/cache/assets/E1E/DE0/sprockets%2F84b3baefc2c0a8c2c9c0a92eacc3557b +0 -0
  559. data/test/dummy/tmp/cache/assets/E1F/5E0/sprockets%2Fedacf71afed14b1da329d30fcaf84091 +0 -0
  560. data/test/dummy/tmp/cache/assets/E21/330/sprockets%2F816aead61cd3e240f2bbe1e78da1fdb7 +0 -0
  561. data/test/dummy/tmp/cache/assets/E27/540/sprockets%2F3507970b2c1ccbf7b6bc37d61efadfeb +0 -0
  562. data/test/dummy/tmp/cache/assets/E2A/030/sprockets%2Fc8ab33fc707f5fb9b8befd27b142b3cb +0 -0
  563. data/test/dummy/tmp/cache/assets/E2C/EA0/sprockets%2Fcb15d5ff97502cc7dfe8a2e06ab16efb +0 -0
  564. data/test/dummy/tmp/cache/assets/E2F/3D0/sprockets%2Ff740ae8eecbaedadc3c664c62b83e925 +0 -0
  565. data/test/dummy/tmp/cache/assets/E30/C50/sprockets%2Fdaad6c4c7b1429f8de49d81fac6ad18b +0 -0
  566. data/test/dummy/tmp/cache/assets/E32/FD0/sprockets%2Fce7d29b07b2f0d14ef1add992dfafa89 +0 -0
  567. data/test/dummy/tmp/cache/assets/E36/230/sprockets%2F56aec75c7f17ef3509d4cadcf2e6fc3d +0 -0
  568. data/test/dummy/tmp/cache/assets/E37/6B0/sprockets%2Fce49aa1fbe8185b07e78cf9b9eee22ab +0 -0
  569. data/test/dummy/tmp/cache/assets/E3B/DD0/sprockets%2F8cb9fef1ee4f6bcbb80758f5c675db1a +0 -0
  570. data/test/dummy/tmp/cache/assets/E3C/680/sprockets%2Fd057ba99f8cc7b032da8ed9e8c0dff7c +0 -0
  571. data/test/dummy/tmp/cache/assets/E3E/270/sprockets%2F426e7ee1f8aeb990a55fdf8d6eefbd04 +0 -0
  572. data/test/dummy/tmp/cache/assets/E54/0F0/sprockets%2Fddbe86c2b19c9b2c5d0bca8e248a1fcb +0 -0
  573. data/test/dummy/tmp/cache/assets/E83/3A0/sprockets%2Ffdb5f7dc3aba4ce1edb8fd4bd1b42923 +0 -0
  574. data/test/dummy/tmp/cache/assets/E89/BE0/sprockets%2F9bfc41fee1adbc5e0ab3e58eafb550f9 +0 -0
  575. data/test/dummy/tmp/cache/assets/E93/2E0/sprockets%2Fba1eb3cc84f5e1fd789bf5f61a8ecdbc +0 -0
  576. metadata +90 -24
  577. data/app/assets/javascripts/Core/computeSunPosition.js +0 -116
  578. data/app/assets/javascripts/DynamicScene/CzmlCartographic.js +0 -125
  579. data/app/assets/javascripts/DynamicScene/DynamicConeVisualizer.js +0 -350
  580. data/app/assets/javascripts/Scene/ComplexConicSensorVolume.js +0 -511
  581. data/app/assets/javascripts/Shaders/ComplexConicSensorVolumeFS.glsl +0 -448
  582. data/app/assets/javascripts/Shaders/ComplexConicSensorVolumeVS.glsl +0 -19
  583. data/app/assets/javascripts/Shaders/ConstructiveSolidGeometry.glsl +0 -886
  584. data/app/assets/javascripts/Shaders/Noise.glsl +0 -453
  585. data/app/assets/javascripts/Shaders/PolygonFSPick.glsl +0 -6
  586. data/app/assets/javascripts/Shaders/PolygonVSPick.glsl +0 -30
  587. data/app/assets/javascripts/Shaders/Ray.glsl +0 -532
  588. data/app/assets/javascripts/Widgets/Animation/darker.css +0 -69
  589. data/app/assets/javascripts/Widgets/Dojo/CesiumWidget.html +0 -4
  590. data/app/assets/javascripts/Widgets/Dojo/CesiumWidget.js +0 -348
  591. data/app/assets/javascripts/Widgets/Fullscreen/darker.css +0 -14
  592. data/app/assets/javascripts/Widgets/Images/enterFullscreen-darker.svg +0 -18
  593. data/app/assets/javascripts/Widgets/Images/exitFullscreen-darker.svg +0 -18
  594. data/app/assets/javascripts/Widgets/Images/viewControlBar.png +0 -0
  595. data/app/assets/javascripts/Widgets/Timeline/darker.css +0 -20
  596. data/app/assets/javascripts/Workers/package.json +0 -6
@@ -8,7 +8,6 @@ define([
8
8
  '../Core/DeveloperError',
9
9
  '../Core/Intersect',
10
10
  '../Core/Matrix4',
11
- './ComplexConicSensorVolume',
12
11
  './CustomSensorVolume',
13
12
  './RectangularPyramidSensorVolume',
14
13
  './SceneMode'
@@ -21,7 +20,6 @@ define([
21
20
  DeveloperError,
22
21
  Intersect,
23
22
  Matrix4,
24
- ComplexConicSensorVolume,
25
23
  CustomSensorVolume,
26
24
  RectangularPyramidSensorVolume,
27
25
  SceneMode) {
@@ -32,6 +30,8 @@ define([
32
30
  *
33
31
  * @alias SensorVolumeCollection
34
32
  * @constructor
33
+ *
34
+ * @demo <a href="http://cesium.agi.com/Cesium/Apps/Sandcastle/index.html?src=Sensors.html">Cesium Sandcastle Sensors Demo</a>
35
35
  */
36
36
  var SensorVolumeCollection = function() {
37
37
  this._sensors = [];
@@ -45,22 +45,8 @@ define([
45
45
  * @see SensorVolumeCollection#addCustom
46
46
  * @see SensorVolumeCollection#addComplexConic
47
47
  */
48
- SensorVolumeCollection.prototype.addRectangularPyramid = function(template) {
49
- var sensor = new RectangularPyramidSensorVolume(template);
50
- this._sensors.push(sensor);
51
- return sensor;
52
- };
53
-
54
- /**
55
- * DOC_TBA
56
- *
57
- * @memberof SensorVolumeCollection
58
- *
59
- * @see SensorVolumeCollection#addRectangularPyramid
60
- * @see SensorVolumeCollection#addCustom
61
- */
62
- SensorVolumeCollection.prototype.addComplexConic = function(template) {
63
- var sensor = new ComplexConicSensorVolume(template);
48
+ SensorVolumeCollection.prototype.addRectangularPyramid = function(options) {
49
+ var sensor = new RectangularPyramidSensorVolume(options);
64
50
  this._sensors.push(sensor);
65
51
  return sensor;
66
52
  };
@@ -73,8 +59,8 @@ define([
73
59
  * @see SensorVolumeCollection#addRectangularPyramid
74
60
  * @see SensorVolumeCollection#addComplexConic
75
61
  */
76
- SensorVolumeCollection.prototype.addCustom = function(template) {
77
- var sensor = new CustomSensorVolume(template);
62
+ SensorVolumeCollection.prototype.addCustom = function(options) {
63
+ var sensor = new CustomSensorVolume(options);
78
64
  this._sensors.push(sensor);
79
65
  return sensor;
80
66
  };
@@ -60,14 +60,6 @@ define([
60
60
  */
61
61
  this.show = true;
62
62
 
63
- /**
64
- * The current morph transition time between 2D/Columbus View and 3D,
65
- * with 0.0 being 2D or Columbus View and 1.0 being 3D.
66
- *
67
- * @type Number
68
- */
69
- this.morphTime = 1.0;
70
-
71
63
  this._ellipsoid = ellipsoid;
72
64
  this._command = new DrawCommand();
73
65
  this._spSkyFromSpace = undefined;
@@ -105,9 +97,6 @@ define([
105
97
  },
106
98
  fScaleOverScaleDepth : function() {
107
99
  return (1.0 / (that._outerRadius - innerRadius)) / rayleighScaleDepth;
108
- },
109
- u_morphTime : function() {
110
- return that.morphTime;
111
100
  }
112
101
  };
113
102
  };
@@ -90,14 +90,6 @@ define([
90
90
  * @type Boolean
91
91
  */
92
92
  this.show = true;
93
-
94
- /**
95
- * The current morph transition time between 2D/Columbus View and 3D,
96
- * with 0.0 being 2D or Columbus View and 1.0 being 3D.
97
- *
98
- * @type Number
99
- */
100
- this.morphTime = 1.0;
101
93
  };
102
94
 
103
95
  /**
@@ -153,9 +145,6 @@ define([
153
145
  command.uniformMap = {
154
146
  u_cubeMap: function() {
155
147
  return that._cubeMap;
156
- },
157
- u_morphTime : function() {
158
- return that.morphTime;
159
148
  }
160
149
  };
161
150
 
@@ -64,7 +64,8 @@ define([
64
64
  * centralBody.terrainProvider = terrainProvider;
65
65
  */
66
66
  var VRTheWorldTerrainProvider = function VRTheWorldTerrainProvider(description) {
67
- if (typeof description === 'undefined' || typeof description.url === 'undefined') {
67
+ description = defaultValue(description, defaultValue.EMPTY_OBJECT);
68
+ if (typeof description.url === 'undefined') {
68
69
  throw new DeveloperError('description.url is required.');
69
70
  }
70
71
 
@@ -133,7 +134,7 @@ define([
133
134
  }
134
135
 
135
136
  function metadataFailure(e) {
136
- var message = typeof e === 'undefined' ? 'An error occurred while accessing ' + that._url + '.' : e;
137
+ var message = defaultValue(e, 'An error occurred while accessing ' + that._url + '.');
137
138
  metadataError = TileProviderError.handleError(metadataError, that, that._errorEvent, message, undefined, undefined, undefined, requestMetadata);
138
139
  }
139
140
 
@@ -13,7 +13,6 @@ define([
13
13
  '../Renderer/BlendingState',
14
14
  '../Renderer/CommandLists',
15
15
  '../Renderer/DrawCommand',
16
- '../Shaders/Noise',
17
16
  '../Shaders/ViewportQuadVS',
18
17
  '../Shaders/ViewportQuadFS'
19
18
  ], function(
@@ -30,7 +29,6 @@ define([
30
29
  BlendingState,
31
30
  CommandLists,
32
31
  DrawCommand,
33
- Noise,
34
32
  ViewportQuadVS,
35
33
  ViewportQuadFS) {
36
34
  "use strict";
@@ -181,8 +179,13 @@ define([
181
179
  if (typeof this._va === 'undefined') {
182
180
  this._va = getVertexArray(context);
183
181
  this._overlayCommand.vertexArray = this._va;
182
+ }
183
+
184
+ var rs = this._overlayCommand.renderState;
185
+ if ((typeof rs === 'undefined') || !BoundingRectangle.equals(rs.viewport, this.rectangle)) {
184
186
  this._overlayCommand.renderState = context.createRenderState({
185
- blending : BlendingState.ALPHA_BLEND
187
+ blending : BlendingState.ALPHA_BLEND,
188
+ viewport : this.rectangle
186
189
  });
187
190
  }
188
191
 
@@ -193,18 +196,15 @@ define([
193
196
  this._material = this.material;
194
197
 
195
198
  var fsSource =
196
- '#line 0\n' +
197
- Noise +
198
199
  '#line 0\n' +
199
200
  this._material.shaderSource +
200
201
  '#line 0\n' +
201
202
  ViewportQuadFS;
202
203
 
203
- this._overlayCommand.shaderProgram = this._overlayCommand.shaderProgram && this._overlayCommand.shaderProgram.release();
204
- this._overlayCommand.shaderProgram = context.getShaderCache().getShaderProgram(ViewportQuadVS, fsSource, attributeIndices);
204
+ this._overlayCommand.shaderProgram = context.getShaderCache().replaceShaderProgram(
205
+ this._overlayCommand.shaderProgram, ViewportQuadVS, fsSource, attributeIndices);
205
206
  }
206
207
 
207
- this._overlayCommand.renderState.viewport = this.rectangle;
208
208
  this._overlayCommand.uniformMap = this._material._uniforms;
209
209
  commandList.push(this._commandLists);
210
210
  }
@@ -14,8 +14,6 @@ attribute vec4 color;
14
14
 
15
15
  uniform vec2 u_atlasSize;
16
16
 
17
- uniform float u_morphTime;
18
-
19
17
  const vec2 czm_highResolutionSnapScale = vec2(1.0, 1.0); // TODO
20
18
 
21
19
  varying vec2 v_textureCoordinates;
@@ -18,8 +18,6 @@ attribute vec4 color;\n\
18
18
  \n\
19
19
  uniform vec2 u_atlasSize;\n\
20
20
  \n\
21
- uniform float u_morphTime;\n\
22
- \n\
23
21
  const vec2 czm_highResolutionSnapScale = vec2(1.0, 1.0); // TODO\n\
24
22
  \n\
25
23
  varying vec2 v_textureCoordinates;\n\
@@ -63,11 +63,38 @@ const float czm_epsilon6 = 0.000001;
63
63
  const float czm_epsilon7 = 0.0000001;
64
64
 
65
65
  /**
66
- * DOC_TBA
66
+ * Compares <code>left</code> and <code>right</code> componentwise. Returns <code>true</code>
67
+ * if they are within <code>epsilon</code> and <code>false</code> otherwise. The inputs
68
+ * <code>left</code> and <code>right</code> can be <code>float</code>s, <code>vec2</code>s,
69
+ * <code>vec3</code>s, or <code>vec4</code>s.
67
70
  *
68
71
  * @name czm_equalsEpsilon
69
72
  * @glslFunction
73
+ *
74
+ * @param {} left The first vector.
75
+ * @param {} right The second vector.
76
+ * @param {float} epsilon The epsilon to use for equality testing.
77
+ * @returns {bool} <code>true</code> if the components are within <code>epsilon</code> and <code>false</code> otherwise.
78
+ *
79
+ * @example
80
+ * // GLSL declarations
81
+ * bool czm_equalsEpsilon(float left, float right, float epsilon);
82
+ * bool czm_equalsEpsilon(vec2 left, vec2 right, float epsilon);
83
+ * bool czm_equalsEpsilon(vec3 left, vec3 right, float epsilon);
84
+ * bool czm_equalsEpsilon(vec4 left, vec4 right, float epsilon);
70
85
  */
86
+ bool czm_equalsEpsilon(vec4 left, vec4 right, float epsilon) {
87
+ return all(lessThanEqual(abs(left - right), vec4(epsilon)));
88
+ }
89
+
90
+ bool czm_equalsEpsilon(vec3 left, vec3 right, float epsilon) {
91
+ return all(lessThanEqual(abs(left - right), vec3(epsilon)));
92
+ }
93
+
94
+ bool czm_equalsEpsilon(vec2 left, vec2 right, float epsilon) {
95
+ return all(lessThanEqual(abs(left - right), vec2(epsilon)));
96
+ }
97
+
71
98
  bool czm_equalsEpsilon(float left, float right, float epsilon) {
72
99
  return (abs(left - right) <= epsilon);
73
100
  }
@@ -335,7 +362,6 @@ mat3 czm_eastNorthUpToEyeCoordinates(vec3 positionMC, vec3 normalEC)
335
362
  * @property {vec3} normalEC Unperturbed surface normal in eye coordinates.
336
363
  * @property {mat3} tangentToEyeMatrix Matrix for converting a tangent space normal to eye space.
337
364
  * @property {vec3} positionToEyeEC Vector from the fragment to the eye in eye coordinates. The magnitude is the distance in meters from the fragment to the eye.
338
- * @property {vec3} positionMC Position in model coordinates.
339
365
  */
340
366
  struct czm_materialInput
341
367
  {
@@ -345,7 +371,6 @@ struct czm_materialInput
345
371
  vec3 normalEC;
346
372
  mat3 tangentToEyeMatrix;
347
373
  vec3 positionToEyeEC;
348
- vec3 positionMC;
349
374
  };
350
375
 
351
376
  /**
@@ -548,6 +573,46 @@ vec3 czm_multiplyWithColorBalance(vec3 left, vec3 right)
548
573
  return ((leftLuminance + rightLuminance) / (2.0 * targetLuminance)) * target;
549
574
  }
550
575
 
576
+ /**
577
+ * Procedural anti-aliasing by blurring two colors that meet at a sharp edge.
578
+ *
579
+ * @name czm_antialias
580
+ * @glslFunction
581
+ *
582
+ * @param {vec4} color1 The color on one side of the edge.
583
+ * @param {vec4} color2 The color on the other side of the edge.
584
+ * @param {vec4} currentcolor The current color, either <code>color1</code> or <code>color2</code>.
585
+ * @param {float} dist The distance to the edge in texture coordinates.
586
+ * @param {float} [fuzzFactor=0.1] Controls the blurriness between the two colors.
587
+ * @returns {vec4} The anti-aliased color.
588
+ *
589
+ * @example
590
+ * // GLSL declarations
591
+ * vec4 czm_antialias(vec4 color1, vec4 color2, vec4 currentColor, float dist, float fuzzFactor);
592
+ * vec4 czm_antialias(vec4 color1, vec4 color2, vec4 currentColor, float dist);
593
+ *
594
+ * // get the color for a material that has a sharp edge at the line y = 0.5 in texture space
595
+ * float dist = abs(textureCoordinates.t - 0.5);
596
+ * vec4 currentColor = mix(bottomColor, topColor, step(0.5, textureCoordinates.t));
597
+ * vec4 color = czm_antialias(bottomColor, topColor, currentColor, dist, 0.1);
598
+ */
599
+ vec4 czm_antialias(vec4 color1, vec4 color2, vec4 currentColor, float dist, float fuzzFactor)
600
+ {
601
+ float val1 = clamp(dist / fuzzFactor, 0.0, 1.0);
602
+ float val2 = clamp((dist - 0.5) / fuzzFactor, 0.0, 1.0);
603
+ val1 = val1 * (1.0 - val2);
604
+ val1 = val1 * val1 * (3.0 - (2.0 * val1));
605
+ val1 = pow(val1, 0.5); //makes the transition nicer
606
+
607
+ vec4 midColor = (color1 + color2) * 0.5;
608
+ return mix(midColor, currentColor, val1);
609
+ }
610
+
611
+ vec4 czm_antialias(vec4 color1, vec4 color2, vec4 currentColor, float dist)
612
+ {
613
+ return czm_antialias(color1, color2, currentColor, dist, 0.1);
614
+ }
615
+
551
616
  ///////////////////////////////////////////////////////////////////////////////
552
617
 
553
618
  /**
@@ -972,3 +1037,452 @@ vec4 czm_getWaterNoise(sampler2D normalMap, vec2 uv, float time, float angleInRa
972
1037
  // average and scale to between -1 and 1
973
1038
  return ((noise / 4.0) - 0.5) * 2.0;
974
1039
  }
1040
+
1041
+ /**
1042
+ * @license
1043
+ * Description : Array and textureless GLSL 2D/3D/4D simplex
1044
+ * noise functions.
1045
+ * Author : Ian McEwan, Ashima Arts.
1046
+ * Maintainer : ijm
1047
+ * Lastmod : 20110822 (ijm)
1048
+ * License : Copyright (C) 2011 Ashima Arts. All rights reserved.
1049
+ * Distributed under the MIT License. See LICENSE file.
1050
+ * https://github.com/ashima/webgl-noise
1051
+ */
1052
+
1053
+ vec4 _czm_mod289(vec4 x)
1054
+ {
1055
+ return x - floor(x * (1.0 / 289.0)) * 289.0;
1056
+ }
1057
+
1058
+ vec3 _czm_mod289(vec3 x)
1059
+ {
1060
+ return x - floor(x * (1.0 / 289.0)) * 289.0;
1061
+ }
1062
+
1063
+ vec2 _czm_mod289(vec2 x)
1064
+ {
1065
+ return x - floor(x * (1.0 / 289.0)) * 289.0;
1066
+ }
1067
+
1068
+ float _czm_mod289(float x)
1069
+ {
1070
+ return x - floor(x * (1.0 / 289.0)) * 289.0;
1071
+ }
1072
+
1073
+ vec4 _czm_permute(vec4 x)
1074
+ {
1075
+ return _czm_mod289(((x*34.0)+1.0)*x);
1076
+ }
1077
+
1078
+ vec3 _czm_permute(vec3 x)
1079
+ {
1080
+ return _czm_mod289(((x*34.0)+1.0)*x);
1081
+ }
1082
+
1083
+ float _czm_permute(float x)
1084
+ {
1085
+ return _czm_mod289(((x*34.0)+1.0)*x);
1086
+ }
1087
+
1088
+ vec4 _czm_taylorInvSqrt(vec4 r)
1089
+ {
1090
+ return 1.79284291400159 - 0.85373472095314 * r;
1091
+ }
1092
+
1093
+ float _czm_taylorInvSqrt(float r)
1094
+ {
1095
+ return 1.79284291400159 - 0.85373472095314 * r;
1096
+ }
1097
+
1098
+ vec4 _czm_grad4(float j, vec4 ip)
1099
+ {
1100
+ const vec4 ones = vec4(1.0, 1.0, 1.0, -1.0);
1101
+ vec4 p,s;
1102
+
1103
+ p.xyz = floor( fract (vec3(j) * ip.xyz) * 7.0) * ip.z - 1.0;
1104
+ p.w = 1.5 - dot(abs(p.xyz), ones.xyz);
1105
+ s = vec4(lessThan(p, vec4(0.0)));
1106
+ p.xyz = p.xyz + (s.xyz*2.0 - 1.0) * s.www;
1107
+
1108
+ return p;
1109
+ }
1110
+
1111
+ /**
1112
+ * DOC_TBA
1113
+ *
1114
+ * Implemented by Ian McEwan, Ashima Arts, and distributed under the MIT License. {@link https://github.com/ashima/webgl-noise}
1115
+ *
1116
+ * @name czm_snoise
1117
+ * @glslFunction
1118
+ *
1119
+ * @see <a href="https://github.com/ashima/webgl-noise">https://github.com/ashima/webgl-noise</a>
1120
+ * @see Stefan Gustavson's paper <a href="http://www.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf">Simplex noise demystified</a>
1121
+ */
1122
+ float czm_snoise(vec2 v)
1123
+ {
1124
+ const vec4 C = vec4(0.211324865405187, // (3.0-sqrt(3.0))/6.0
1125
+ 0.366025403784439, // 0.5*(sqrt(3.0)-1.0)
1126
+ -0.577350269189626, // -1.0 + 2.0 * C.x
1127
+ 0.024390243902439); // 1.0 / 41.0
1128
+ // First corner
1129
+ vec2 i = floor(v + dot(v, C.yy) );
1130
+ vec2 x0 = v - i + dot(i, C.xx);
1131
+
1132
+ // Other corners
1133
+ vec2 i1;
1134
+ //i1.x = step( x0.y, x0.x ); // x0.x > x0.y ? 1.0 : 0.0
1135
+ //i1.y = 1.0 - i1.x;
1136
+ i1 = (x0.x > x0.y) ? vec2(1.0, 0.0) : vec2(0.0, 1.0);
1137
+ // x0 = x0 - 0.0 + 0.0 * C.xx ;
1138
+ // x1 = x0 - i1 + 1.0 * C.xx ;
1139
+ // x2 = x0 - 1.0 + 2.0 * C.xx ;
1140
+ vec4 x12 = x0.xyxy + C.xxzz;
1141
+ x12.xy -= i1;
1142
+
1143
+ // Permutations
1144
+ i = _czm_mod289(i); // Avoid truncation effects in permutation
1145
+ vec3 p = _czm_permute( _czm_permute( i.y + vec3(0.0, i1.y, 1.0 )) + i.x + vec3(0.0, i1.x, 1.0 ));
1146
+
1147
+ vec3 m = max(0.5 - vec3(dot(x0,x0), dot(x12.xy,x12.xy), dot(x12.zw,x12.zw)), 0.0);
1148
+ m = m*m ;
1149
+ m = m*m ;
1150
+
1151
+ // Gradients: 41 points uniformly over a line, mapped onto a diamond.
1152
+ // The ring size 17*17 = 289 is close to a multiple of 41 (41*7 = 287)
1153
+ vec3 x = 2.0 * fract(p * C.www) - 1.0;
1154
+ vec3 h = abs(x) - 0.5;
1155
+ vec3 ox = floor(x + 0.5);
1156
+ vec3 a0 = x - ox;
1157
+
1158
+ // Normalise gradients implicitly by scaling m
1159
+ // Approximation of: m *= inversesqrt( a0*a0 + h*h );
1160
+ m *= 1.79284291400159 - 0.85373472095314 * ( a0*a0 + h*h );
1161
+
1162
+ // Compute final noise value at P
1163
+ vec3 g;
1164
+ g.x = a0.x * x0.x + h.x * x0.y;
1165
+ g.yz = a0.yz * x12.xz + h.yz * x12.yw;
1166
+ return 130.0 * dot(m, g);
1167
+ }
1168
+
1169
+ float czm_snoise(vec3 v)
1170
+ {
1171
+ const vec2 C = vec2(1.0/6.0, 1.0/3.0) ;
1172
+ const vec4 D = vec4(0.0, 0.5, 1.0, 2.0);
1173
+
1174
+ // First corner
1175
+ vec3 i = floor(v + dot(v, C.yyy) );
1176
+ vec3 x0 = v - i + dot(i, C.xxx) ;
1177
+
1178
+ // Other corners
1179
+ vec3 g = step(x0.yzx, x0.xyz);
1180
+ vec3 l = 1.0 - g;
1181
+ vec3 i1 = min( g.xyz, l.zxy );
1182
+ vec3 i2 = max( g.xyz, l.zxy );
1183
+
1184
+ // x0 = x0 - 0.0 + 0.0 * C.xxx;
1185
+ // x1 = x0 - i1 + 1.0 * C.xxx;
1186
+ // x2 = x0 - i2 + 2.0 * C.xxx;
1187
+ // x3 = x0 - 1.0 + 3.0 * C.xxx;
1188
+ vec3 x1 = x0 - i1 + C.xxx;
1189
+ vec3 x2 = x0 - i2 + C.yyy; // 2.0*C.x = 1/3 = C.y
1190
+ vec3 x3 = x0 - D.yyy; // -1.0+3.0*C.x = -0.5 = -D.y
1191
+
1192
+ // Permutations
1193
+ i = _czm_mod289(i);
1194
+ vec4 p = _czm_permute( _czm_permute( _czm_permute(
1195
+ i.z + vec4(0.0, i1.z, i2.z, 1.0 ))
1196
+ + i.y + vec4(0.0, i1.y, i2.y, 1.0 ))
1197
+ + i.x + vec4(0.0, i1.x, i2.x, 1.0 ));
1198
+
1199
+ // Gradients: 7x7 points over a square, mapped onto an octahedron.
1200
+ // The ring size 17*17 = 289 is close to a multiple of 49 (49*6 = 294)
1201
+ float n_ = 0.142857142857; // 1.0/7.0
1202
+ vec3 ns = n_ * D.wyz - D.xzx;
1203
+
1204
+ vec4 j = p - 49.0 * floor(p * ns.z * ns.z); // mod(p,7*7)
1205
+
1206
+ vec4 x_ = floor(j * ns.z);
1207
+ vec4 y_ = floor(j - 7.0 * x_ ); // mod(j,N)
1208
+
1209
+ vec4 x = x_ *ns.x + ns.yyyy;
1210
+ vec4 y = y_ *ns.x + ns.yyyy;
1211
+ vec4 h = 1.0 - abs(x) - abs(y);
1212
+
1213
+ vec4 b0 = vec4( x.xy, y.xy );
1214
+ vec4 b1 = vec4( x.zw, y.zw );
1215
+
1216
+ //vec4 s0 = vec4(lessThan(b0,0.0))*2.0 - 1.0;
1217
+ //vec4 s1 = vec4(lessThan(b1,0.0))*2.0 - 1.0;
1218
+ vec4 s0 = floor(b0)*2.0 + 1.0;
1219
+ vec4 s1 = floor(b1)*2.0 + 1.0;
1220
+ vec4 sh = -step(h, vec4(0.0));
1221
+
1222
+ vec4 a0 = b0.xzyw + s0.xzyw*sh.xxyy ;
1223
+ vec4 a1 = b1.xzyw + s1.xzyw*sh.zzww ;
1224
+
1225
+ vec3 p0 = vec3(a0.xy,h.x);
1226
+ vec3 p1 = vec3(a0.zw,h.y);
1227
+ vec3 p2 = vec3(a1.xy,h.z);
1228
+ vec3 p3 = vec3(a1.zw,h.w);
1229
+
1230
+ //Normalise gradients
1231
+ vec4 norm = _czm_taylorInvSqrt(vec4(dot(p0,p0), dot(p1,p1), dot(p2, p2), dot(p3,p3)));
1232
+ p0 *= norm.x;
1233
+ p1 *= norm.y;
1234
+ p2 *= norm.z;
1235
+ p3 *= norm.w;
1236
+
1237
+ // Mix final noise value
1238
+ vec4 m = max(0.6 - vec4(dot(x0,x0), dot(x1,x1), dot(x2,x2), dot(x3,x3)), 0.0);
1239
+ m = m * m;
1240
+ return 42.0 * dot( m*m, vec4( dot(p0,x0), dot(p1,x1),
1241
+ dot(p2,x2), dot(p3,x3) ) );
1242
+ }
1243
+
1244
+ float czm_snoise(vec4 v)
1245
+ {
1246
+ const vec4 C = vec4( 0.138196601125011, // (5 - sqrt(5))/20 G4
1247
+ 0.276393202250021, // 2 * G4
1248
+ 0.414589803375032, // 3 * G4
1249
+ -0.447213595499958); // -1 + 4 * G4
1250
+
1251
+ // (sqrt(5) - 1)/4 = F4, used once below
1252
+ #define F4 0.309016994374947451
1253
+
1254
+ // First corner
1255
+ vec4 i = floor(v + dot(v, vec4(F4)) );
1256
+ vec4 x0 = v - i + dot(i, C.xxxx);
1257
+
1258
+ // Other corners
1259
+
1260
+ // Rank sorting originally contributed by Bill Licea-Kane, AMD (formerly ATI)
1261
+ vec4 i0;
1262
+ vec3 isX = step( x0.yzw, x0.xxx );
1263
+ vec3 isYZ = step( x0.zww, x0.yyz );
1264
+ // i0.x = dot( isX, vec3( 1.0 ) );
1265
+ i0.x = isX.x + isX.y + isX.z;
1266
+ i0.yzw = 1.0 - isX;
1267
+ // i0.y += dot( isYZ.xy, vec2( 1.0 ) );
1268
+ i0.y += isYZ.x + isYZ.y;
1269
+ i0.zw += 1.0 - isYZ.xy;
1270
+ i0.z += isYZ.z;
1271
+ i0.w += 1.0 - isYZ.z;
1272
+
1273
+ // i0 now contains the unique values 0,1,2,3 in each channel
1274
+ vec4 i3 = clamp( i0, 0.0, 1.0 );
1275
+ vec4 i2 = clamp( i0-1.0, 0.0, 1.0 );
1276
+ vec4 i1 = clamp( i0-2.0, 0.0, 1.0 );
1277
+
1278
+ // x0 = x0 - 0.0 + 0.0 * C.xxxx
1279
+ // x1 = x0 - i1 + 1.0 * C.xxxx
1280
+ // x2 = x0 - i2 + 2.0 * C.xxxx
1281
+ // x3 = x0 - i3 + 3.0 * C.xxxx
1282
+ // x4 = x0 - 1.0 + 4.0 * C.xxxx
1283
+ vec4 x1 = x0 - i1 + C.xxxx;
1284
+ vec4 x2 = x0 - i2 + C.yyyy;
1285
+ vec4 x3 = x0 - i3 + C.zzzz;
1286
+ vec4 x4 = x0 + C.wwww;
1287
+
1288
+ // Permutations
1289
+ i = _czm_mod289(i);
1290
+ float j0 = _czm_permute( _czm_permute( _czm_permute( _czm_permute(i.w) + i.z) + i.y) + i.x);
1291
+ vec4 j1 = _czm_permute( _czm_permute( _czm_permute( _czm_permute (
1292
+ i.w + vec4(i1.w, i2.w, i3.w, 1.0 ))
1293
+ + i.z + vec4(i1.z, i2.z, i3.z, 1.0 ))
1294
+ + i.y + vec4(i1.y, i2.y, i3.y, 1.0 ))
1295
+ + i.x + vec4(i1.x, i2.x, i3.x, 1.0 ));
1296
+
1297
+ // Gradients: 7x7x6 points over a cube, mapped onto a 4-cross polytope
1298
+ // 7*7*6 = 294, which is close to the ring size 17*17 = 289.
1299
+ vec4 ip = vec4(1.0/294.0, 1.0/49.0, 1.0/7.0, 0.0) ;
1300
+
1301
+ vec4 p0 = _czm_grad4(j0, ip);
1302
+ vec4 p1 = _czm_grad4(j1.x, ip);
1303
+ vec4 p2 = _czm_grad4(j1.y, ip);
1304
+ vec4 p3 = _czm_grad4(j1.z, ip);
1305
+ vec4 p4 = _czm_grad4(j1.w, ip);
1306
+
1307
+ // Normalise gradients
1308
+ vec4 norm = _czm_taylorInvSqrt(vec4(dot(p0,p0), dot(p1,p1), dot(p2, p2), dot(p3,p3)));
1309
+ p0 *= norm.x;
1310
+ p1 *= norm.y;
1311
+ p2 *= norm.z;
1312
+ p3 *= norm.w;
1313
+ p4 *= _czm_taylorInvSqrt(dot(p4,p4));
1314
+
1315
+ // Mix contributions from the five corners
1316
+ vec3 m0 = max(0.6 - vec3(dot(x0,x0), dot(x1,x1), dot(x2,x2)), 0.0);
1317
+ vec2 m1 = max(0.6 - vec2(dot(x3,x3), dot(x4,x4) ), 0.0);
1318
+ m0 = m0 * m0;
1319
+ m1 = m1 * m1;
1320
+ return 49.0 * ( dot(m0*m0, vec3( dot( p0, x0 ), dot( p1, x1 ), dot( p2, x2 )))
1321
+ + dot(m1*m1, vec2( dot( p3, x3 ), dot( p4, x4 ) ) ) ) ;
1322
+ }
1323
+
1324
+ ///////////////////////////////////////////////////////////////////////////////
1325
+
1326
+ /**
1327
+ * @license
1328
+ * Cellular noise ("Worley noise") in 2D in GLSL.
1329
+ * Copyright (c) Stefan Gustavson 2011-04-19. All rights reserved.
1330
+ * This code is released under the conditions of the MIT license.
1331
+ * See LICENSE file for details.
1332
+ */
1333
+
1334
+ //#ifdef GL_OES_standard_derivatives
1335
+ // #extension GL_OES_standard_derivatives : enable
1336
+ //#endif
1337
+ //
1338
+ //float aastep (float threshold , float value)
1339
+ //{
1340
+ // float afwidth = 0.7 * length ( vec2 ( dFdx ( value ), dFdy ( value )));
1341
+ // return smoothstep ( threshold - afwidth , threshold + afwidth , value );
1342
+ //}
1343
+
1344
+ // Permutation polynomial: (34x^2 + x) mod 289
1345
+ vec3 _czm_permute289(vec3 x)
1346
+ {
1347
+ return mod((34.0 * x + 1.0) * x, 289.0);
1348
+ }
1349
+
1350
+ /**
1351
+ * DOC_TBA
1352
+ *
1353
+ * Implemented by Stefan Gustavson, and distributed under the MIT License. {@link http://openglinsights.git.sourceforge.net/git/gitweb.cgi?p=openglinsights/openglinsights;a=tree;f=proceduraltextures}
1354
+ *
1355
+ * @name czm_cellular
1356
+ * @glslFunction
1357
+ *
1358
+ * @see Stefan Gustavson's chapter, <i>Procedural Textures in GLSL</i>, in <a href="http://www.openglinsights.com/">OpenGL Insights</a>.
1359
+ */
1360
+ vec2 czm_cellular(vec2 P)
1361
+ // Cellular noise, returning F1 and F2 in a vec2.
1362
+ // Standard 3x3 search window for good F1 and F2 values
1363
+ {
1364
+ #define K 0.142857142857 // 1/7
1365
+ #define Ko 0.428571428571 // 3/7
1366
+ #define jitter 1.0 // Less gives more regular pattern
1367
+ vec2 Pi = mod(floor(P), 289.0);
1368
+ vec2 Pf = fract(P);
1369
+ vec3 oi = vec3(-1.0, 0.0, 1.0);
1370
+ vec3 of = vec3(-0.5, 0.5, 1.5);
1371
+ vec3 px = _czm_permute289(Pi.x + oi);
1372
+ vec3 p = _czm_permute289(px.x + Pi.y + oi); // p11, p12, p13
1373
+ vec3 ox = fract(p*K) - Ko;
1374
+ vec3 oy = mod(floor(p*K),7.0)*K - Ko;
1375
+ vec3 dx = Pf.x + 0.5 + jitter*ox;
1376
+ vec3 dy = Pf.y - of + jitter*oy;
1377
+ vec3 d1 = dx * dx + dy * dy; // d11, d12 and d13, squared
1378
+ p = _czm_permute289(px.y + Pi.y + oi); // p21, p22, p23
1379
+ ox = fract(p*K) - Ko;
1380
+ oy = mod(floor(p*K),7.0)*K - Ko;
1381
+ dx = Pf.x - 0.5 + jitter*ox;
1382
+ dy = Pf.y - of + jitter*oy;
1383
+ vec3 d2 = dx * dx + dy * dy; // d21, d22 and d23, squared
1384
+ p = _czm_permute289(px.z + Pi.y + oi); // p31, p32, p33
1385
+ ox = fract(p*K) - Ko;
1386
+ oy = mod(floor(p*K),7.0)*K - Ko;
1387
+ dx = Pf.x - 1.5 + jitter*ox;
1388
+ dy = Pf.y - of + jitter*oy;
1389
+ vec3 d3 = dx * dx + dy * dy; // d31, d32 and d33, squared
1390
+ // Sort out the two smallest distances (F1, F2)
1391
+ vec3 d1a = min(d1, d2);
1392
+ d2 = max(d1, d2); // Swap to keep candidates for F2
1393
+ d2 = min(d2, d3); // neither F1 nor F2 are now in d3
1394
+ d1 = min(d1a, d2); // F1 is now in d1
1395
+ d2 = max(d1a, d2); // Swap to keep candidates for F2
1396
+ d1.xy = (d1.x < d1.y) ? d1.xy : d1.yx; // Swap if smaller
1397
+ d1.xz = (d1.x < d1.z) ? d1.xz : d1.zx; // F1 is in d1.x
1398
+ d1.yz = min(d1.yz, d2.yz); // F2 is now not in d2.yz
1399
+ d1.y = min(d1.y, d1.z); // nor in d1.z
1400
+ d1.y = min(d1.y, d2.x); // F2 is in d1.y, we're done.
1401
+ return sqrt(d1.xy);
1402
+ }
1403
+
1404
+ /*
1405
+
1406
+ // Cellular noise, returning F1 and F2 in a vec2 and the
1407
+ // 2D vectors to each of the two closest points in a vec4.
1408
+ // Standard 3x3 search window for good F1 and F2 values.
1409
+ void czm_cellular(in vec2 P, out vec2 F, out vec4 d1d2)
1410
+ {
1411
+ #define K 0.142857142857 // 1/7
1412
+ #define Ko 0.428571428571 // 3/7
1413
+ #define jitter 1.0 // Less gives more regular pattern
1414
+ vec2 Pi = mod(floor(P), 289.0);
1415
+ vec2 Pf = fract(P);
1416
+ vec3 oi = vec3(-1.0, 0.0, 1.0);
1417
+ vec3 of = vec3(-0.5, 0.5, 1.5);
1418
+ vec3 px = _czm_permute289(Pi.x + oi);
1419
+ vec3 p = _czm_permute289(px.x + Pi.y + oi); // p11, p12, p13
1420
+ vec3 ox = fract(p*K) - Ko;
1421
+ vec3 oy = mod(floor(p*K),7.0)*K - Ko;
1422
+ vec3 d1x = Pf.x + 0.5 + jitter*ox;
1423
+ vec3 d1y = Pf.y - of + jitter*oy;
1424
+ vec3 d1 = d1x * d1x + d1y * d1y; // d11, d12 and d13, squared
1425
+ p = _czm_permute289(px.y + Pi.y + oi); // p21, p22, p23
1426
+ ox = fract(p*K) - Ko;
1427
+ oy = mod(floor(p*K),7.0)*K - Ko;
1428
+ vec3 d2x = Pf.x - 0.5 + jitter*ox;
1429
+ vec3 d2y = Pf.y - of + jitter*oy;
1430
+ vec3 d2 = d2x * d2x + d2y * d2y; // d21, d22 and d23, squared
1431
+ p = _czm_permute289(px.z + Pi.y + oi); // p31, p32, p33
1432
+ ox = fract(p*K) - Ko;
1433
+ oy = mod(floor(p*K),7.0)*K - Ko;
1434
+ vec3 d3x = Pf.x - 1.5 + jitter*ox;
1435
+ vec3 d3y = Pf.y - of + jitter*oy;
1436
+ vec3 d3 = d3x * d3x + d3y * d3y; // d31, d32 and d33, squared
1437
+ // Sort out the two smallest distances (F1, F2)
1438
+ // While also swapping dx and dy accordingly
1439
+ vec3 comp3 = step(d2, d1);
1440
+ vec3 d1a = mix(d1, d2, comp3);
1441
+ vec3 d1xa = mix(d1x, d2x, comp3);
1442
+ vec3 d1ya = mix(d1y, d2y, comp3);
1443
+ d2 = mix(d2, d1, comp3); // Swap to keep candidates for F2
1444
+ d2x = mix(d2x, d1x, comp3);
1445
+ d2y = mix(d2y, d1y, comp3);
1446
+
1447
+ comp3 = step(d3, d2);
1448
+ d2 = mix(d2, d3, comp3); // neither F1 nor F2 are now in d3
1449
+ d2x = mix(d2x, d3x, comp3);
1450
+ d2y = mix(d2y, d3y, comp3);
1451
+
1452
+ comp3 = step(d2, d1a);
1453
+ d1 = mix(d1a, d2, comp3); // F1 is now in d1
1454
+ d1x = mix(d1xa, d2x, comp3);
1455
+ d1y = mix(d1ya, d2y, comp3);
1456
+ d2 = mix(d2, d1a, comp3); // Swap to keep candidates for F2
1457
+ d2x = mix(d2x, d1xa, comp3);
1458
+ d2y = mix(d2y, d1ya, comp3);
1459
+
1460
+ float comp1 = step(d1.y, d1.x);
1461
+ d1.xy = mix(d1.xy, d1.yx, comp1); // Swap if smaller
1462
+ d1x.xy = mix(d1x.xy, d1x.yx, comp1);
1463
+ d1y.xy = mix(d1y.xy, d1y.yx, comp1);
1464
+
1465
+ comp1 = step(d1.z, d1.x);
1466
+ d1.xz = mix(d1.xz, d1.zx, comp1); // F1 is in d1.x
1467
+ d1x.xz = mix(d1x.xz, d1x.zx, comp1);
1468
+ d1y.xz = mix(d1y.xz, d1y.zx, comp1);
1469
+
1470
+ vec2 comp2 = step(d2.yz, d1.yz);
1471
+ d1.yz = mix(d1.yz, d2.yz, comp2); // F2 is now not in d2.yz
1472
+ d1x.yz = mix(d1x.yz, d2x.yz, comp2);
1473
+ d1y.yz = mix(d1y.yz, d2y.yz, comp2);
1474
+
1475
+ comp1 = step(d1.z, d1.y);
1476
+ d1.y = mix(d1.y, d1.z, comp1); // nor in d1.z
1477
+ d1x.y = mix(d1x.y, d1x.z, comp1);
1478
+ d1y.y = mix(d1y.y, d1y.z, comp1);
1479
+
1480
+ comp1 = step(d2.x, d1.y);
1481
+ d1.y = mix(d1.y, d2.x, comp1); // F2 is in d1.y, we're done.
1482
+ d1x.y = mix(d1x.y, d2x.x, comp1);
1483
+ d1y.y = mix(d1y.y, d2y.x, comp1);
1484
+ F = sqrt(d1.xy);
1485
+ d1d2 = vec4(d1x.x, d1y.x, d1x.y, d1y.y);
1486
+ }
1487
+
1488
+ */