1<!DOCTYPE html> 2<html lang="en"> 3 <head> 4 <meta charset="UTF-8" /> 5 <link rel="icon" href="/favicon.ico" /> 6 <meta name="viewport" content="width=device-width, initial-scale=1" /> 7 <meta name="theme-color" content="#000000" /> 8 <meta 9 name="description" 10 content="CRU offer independent, reliable commodity news, market analysis, prices and consulting across mining, metals and fertilizer global markets." 11 /> 12 13 <!-- Google Fonts --> 14 <link rel="preconnect" href="https://fonts.googleapis.com" /> 15 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> 16 <link 17 href="https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Open+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap" 18 rel="preload" 19 as="style" 20 /> 21 <link 22 href="https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Open+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap" 23 rel="stylesheet" 24 /> 25 26 <!-- End Google Fonts --> 27 28 <title> 29 Commodity Market Analysis | Commodity Prices, News, Consulting & 30 Events | CRU 31 </title> 32 33
33<script src="/env-config.js"></script>
33 34
34<script> 35 window.global = window; 36 </script>
36 37 38
38<script type="text/javascript"> 39 (function () { 40 try { 41 const env = window._env_ || {}; 42 if (env.REACT_APP_FF_ENABLE_APPCUES === 'true') { 43 window.AppcuesSettings = { enableURLDetection: true }; 44 45 var script = document.createElement('script'); 46 script.type = 'text/javascript'; 47 script.async = true; 48 script.src = 'https://fast.appcues.com/224709.js'; 49 50 script.onerror = function () { 51 console.warn( 52 'Appcues SDK failed to load from CDN. Continuing without Appcues.' 53 ); 54 window._appcuesLoadFailed = true; 55 }; 56 57 var firstScript = 58 document.getElementsByTagName('script')[0]; 59 firstScript.parentNode.insertBefore( 60 script, 61 firstScript 62 ); 63 } 64 } catch (error) { 65 console.warn('Appcues initialization failed:', error); 66 window._appcuesLoadFailed = true; 67 } 68 })(); 69 </script>
69 70
70<script type="module" crossorigin src="/assets/index-5fd2db9c.js"></script>
70 71 <link rel="modulepreload" crossorigin href="/assets/agGrid-8b3b3b55.js"> 72 <link rel="modulepreload" crossorigin href="/assets/microsoft-9db30452.js"> 73 <link rel="stylesheet" href="/assets/index-720e6fa3.css"> 74 </head> 75 <body> 76 <noscript>You need to enable JavaScript to run this app.</noscript> 77 <div id="root"></div> 78
78<script> 79 const windowenv = window._env_ || {}; 80 if (windowenv.REACT_APP_ENABLE_PINGDOM === 'true') { 81 const script = document.createElement('script'); 82 script.src = 83 '//rum-static.pingdom.net/pa-561ce7dbabe53de51ab18e26.js'; 84 document.body.appendChild(script); 85 } 86 </script>
86 87 88 </body> 89</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.