Longwall face roof disaster prediction algorithm based on data model driving

Hydraulic support is the primary equipment used for surrounding rock control at fully mechanized mining faces. The load, location, and attitude of the hydraulic support are important sets of basis data to predict roof disasters. This paper summarized and analyzed the status of coal mine safety accidents and the primary influencing factors of roof disasters. This work also proposed monitoring characteristic parameters of roof disasters based on support posture-load changes, such as the support location and support posture. The data feature decomposition method of the additive model was used with the monitoring load data of the hydraulic support in the Yanghuopan coal mine to effectively extract the trend, cycle period, and residuals, which provided the period weighting characteristics of the longwall face. The autoregressive, long-short term memory, and support vector regression algorithms were used to model and analyze the monitoring data to realize single-point predictions. The seasonal autoregressive integrated moving average (SARIMA) and autoregressive integrated moving average (ARIMA) models were adopted to predict the support cycle load of the hydraulic support. The SARIMA model is shown to be better than the ARIMA model for load predictions in one support cycle, but the prediction effect of these two algorithms over a fracture cycle is poor. Therefore, we proposed a hydraulic support load prediction method based on multiple data cutting and a hydraulic support load template library. The constructed technical framework of the roof disaster intelligent prediction platform is based on this method to perform predictions and early warnings of roof disasters based on the load and posture monitoring information from the hydraulic support.


Introduction
Longwall mining is the most common type of coal mining technology throughout China. The excavation breaks the original stress balance in the surrounding rock, which gives the overlying strata periodic fracture instability. The hydraulic support is the primary equipment to control the surrounding rock of the longwall mining face. The load, posture, and other support information of the hydraulic support can represent the roof movement to a certain extent (Peng et al. 2019;Bai et al. 2019;Xie et al. 2017). The increased mining height, intensity, and depth year over year make it difficult to control the surrounding rock of the longwall face. Therefore, it is relatively common to observe coal wall spalling, roof falling, support crushing, and other accidents. The change law of the support state is an effective technical approach to realize the prevention and control of roof disasters by predicting the roof weighting and accidents such as roof falling and support crushing.
Understanding the coupling relationship between the hydraulic support and surrounding rock is important for ground control and roof disaster forecasting. Numerous studies have considered the problem of surrounding rock control and roof disaster prevention. Qian et al. (1996Qian et al. ( , 2019, Ju et al. (2015) introduced the theories of a "voussoir beam" and "key stratum," which formed the foundational mechanics models for ground pressure and strata control in longwall faces. Song et al. (1996) proposed the "transfer-beam structure model" and studied the relationship between the hydraulic support and surrounding rock based on the given deformation and limit-deformation conditions. Wang et al. (2016Wang et al. ( , 2017 studied the process of roof stratum breakdown instability and dynamic evolutions of the hydraulic support load. They introduced the "stiffness-strength-stability coupling model" between the hydraulic support and surrounding rock, which provides an approach to dynamically analyze and predict hydraulic support loads in longwall mining faces. Some scholars have studied the evolution mechanism of coal and rock dynamics in coal mining processes (Schmitz et al. 2014;Dennis 2019;Qi et al. 2020;Mu et al. 2020). These works revealed the mechanism of dynamic disaster occurrence, proposed prevention and control concepts based on source separation and classification, and developed supporting equipment to provide theoretical, technical, and equipment support for dynamic disaster prevention and control.
The research results above mostly considered the deformation, failure, instability, and disaster mechanism of roof strata to predict roof disasters and provide early warnings. The limitations of the basic mechanics, fracture theory, geological exploration technology, and other related theories and technology development make it difficult to obtain accurate theoretical solutions of roof fracture instability and disaster occurrence mechanisms. With the development and progress of intelligent perception and network transmission technologies, electro-hydraulic control systems can realize real-time monitoring of the pressure, posture, and other information for the hydraulic support over the entire longwall mining face. The technologies of big data analysis and modeling provide new technical ways for roof strata control, disaster predictions, and early warnings. The National Institute of Occupational Safety and Health in America has developed a hydraulic support monitoring and evaluation system (Barczak et al. 2002) that realizes monitoring and early warning of hydraulic support state parameters, such as column leakage, insufficient initial support forces, and uneven column forces. Sandford and Conover in Australia developed the GeoGuard System (Sandford et al. 1999), which predicts weighting with thick hard sandstone roof strata. Trueman et al. (2008Trueman et al. ( , 2009Trueman et al. ( , 2010 developed the Longwall Visual Analysis (LVA) system to extract the time-weighted working resistance of the hydraulic support, initial support force, opening times of the safety valve, and other parameters. They studied the influence of the buried depth, longwall face width, and other factors on the interactions between the hydraulic support and surrounding rock. The University of Alabama developed the Strata Control and Monitoring System of a fully mechanized mining face to realize real-time monitoring and statistical analysis of the hydraulic support load to predict the periodic weighting of mining faces (DEB 1997). Scholars in China introduced a disaster prediction and early warning strategy based on multi-source information monitoring of the longwall face (Yu et al. 2016;Ding et al. 2019;Zhao et al. 2019;Xue et al. 2020;Kang et al. 2018), which has developed the intelligent prediction and early warning platform of roof disasters based on big data. Therefore, the supporting technology and equipment and the intelligent prediction and early warning technologies of roof disasters have been explored based on perceptual information.
Existing roof disaster monitoring and early warning technologies monitor the column pressure of the hydraulic support (Peng 2006;Cheng et al. 2018). Such technologies perform statistical analyses on the initial support force, the resistance forces at the end of the support cycle, and the weighted working resistance of the column to obtain the dynamic load coefficient and weighting step of the roof. There are shortcomings of current approaches as follows: (1) It is difficult to fully reflect the support status of hydraulic supports by only monitoring the column pressure (whether there is poor hydraulic support such as head up or head down). (2) There are a limited number of monitoring data types for hydraulic support and the data dimensionality is low, which makes it difficult to perform deep data mining.
(3) The traditional load data analysis method only performs statistical analyses of the data, while the interpretability of the results is poor. (4) General AI algorithms cannot be directly applied to analyze and process the support load data, which makes it difficult to provide predictions and early warnings of roof disasters.
Given the problems above, this paper analyzed the current conditions and primary influencing factors of coal mine roof accidents in China. The monitoring information characteristic parameters of roof disasters were introduced based on changes in the support load and posture. The feasibility and application of the mathematical-statistical method and big data modeling method were discussed as applied to roof disaster predictions and early warnings for the longwall mining face. The technical architecture of the roof disaster intelligent prediction platform was built, and the data modeling and roof disaster prevention technologies were integrated as new methods for roof disaster predictions.

Current roof disasters in China
The safety conditions of coal mines in China have improved dramatically in recent years. In 2019, 316 people died from 170 accidents in coal mines, giving a death rate per million tons of 0.083 (Zhang et al. 2020). In comparison, the number of roof accidents and deaths decreased by 19.33% and 13.02%, respectively, in the year 2000. The distribution of the number of occurrences and deaths for different accident types in Chinese coal mines is illustrated in Fig. 1.
Although the number of roof accidents and deaths has dropped significantly, the overall proportion is still high, meaning roof accidents are still the primary safety accident in coal mines. Roof accidents at the longwall face are caused mostly by hydraulic support failure at the roof, which manifests as roof leakage, coal wall spalling, support crushing, and others, as shown in Fig. 2. The support parameters, support state, adaptability to surrounding rock fractures, and instabilities of the hydraulic support are the main factors that influence safety productions in the mining face.
It is difficult to directly detect the stress distribution and fracture structure of the overlying strata in longwall faces due to the limited development of geological exploration and stress sensing technologies. The fracture process of overlying strata can only be inferred from changes in the support load and posture. Therefore, such data are the basis to judge the surrounding rock control effect of a longwall face and are an important basis to provide predictions and early warnings for roof disasters.

Monitoring information of characteristic parameters
As the longwall face advances, the hydraulic support continuously experiences cyclic operations of lowering, moving, and lifting. The hydraulic support load presents regular unloading, rapid pressurization, approximate constant pressure, and other cyclic loading and unloading characteristics. The support load and supporting effect are not only affected by the roof fracture structure but are also restricted by the support position, support posture, advancing speed of the longwall face, manual operations, and other factors. The hydraulic support load provides time-series data that show cyclic dynamic changes with longwall advancement (Pang et al. 2020a, b). The influencing factors of the hydraulic support load and cycle change characteristics are used to introduce monitoring information characteristic parameters  for roof disasters based on changes in the hydraulic support load and posture, as shown in Fig. 3. Monitoring the inclination of the top beam, shield beam, and base of the hydraulic support provides the support posture. Combining the relative posture of the support with the roof and floor strata provides the longwall face position and other information of the supporting state. Monitoring the column pressure, balance jack force (shield support), front beam jack force (hinged front beam structure support), side protection jack force, balance jack stroke, front beam jack stroke, side protection jack stroke, column shrinkage, column shrinkage speed of the hydraulic support, initial support force, resistance increase rate, cycle end resistance, and circulation speed provides the safety valve opening of the hydraulic support. The support posture, load, and other related parameters of the support allow calculating the posture-load decoupling and establish the correlation model of the posture and load for the support. The support posture and load do not have a corresponding relationship; thus, the posture-load database of the hydraulic support can be established from a significant amount of monitoring information. This establishes the mapping model of the support posture and load using the data analysis method, which provides data support to predict the support state, evaluate the surrounding rock control effect, and predict roof disasters.

Engineering background
The hydraulic support load not only has cyclic variation characteristics but is also affected by time. The support posture, column shrinkage, jack stroke, and other relevant information (some characteristic parameters in Fig. 2) are not fully monitored, which brings difficulties to roof disaster predictions for the longwall face. The column pressure monitoring data of the No.54 hydraulic support in the middle of the 30112 longwall face of Yanghuopan coal mine in Shaanxi Province are used to analyze the support load based on the data modeling method, which provides the basis for roof disaster predictions.
The 30112 longwall mining face is mined in the No. 3 coal seam. The average thickness and buried depth of the coal seam are 2.2 m and 120 m, respectively. The length of the mining face is 240 m, and the dip angle of the coal seam is 1°-2°. This mining face adopts the ZY7200/17/30D hydraulic support with a center distance of 1.5 m, opening pressure of the column safety valve of 41.9 MPa, and support strength of approximately 0.95 MPa. The support pressure is collected at equal time intervals (10 min), and the monitoring data from four continuous days are intercepted for the analysis. The original data are shown in Fig. 4.

Feature decomposition of hydraulic support load data
As the hydraulic support load has cyclic variation characteristics, an additive model is adopted to decompose the load data. The original data are decomposed into the trend item, cycle period item, and residual item. The trend item reflects the long-term development law of the hydraulic support load data, the cycle period item reflects the change characteristics of each support cycle, and the residual item reflects the random change characteristics of the data. The sampling densities of the hydraulic support in different cycle periods differ due to the equal time interval sampling. For example, the maintenance team did not perform cutting operations, and the support load did not change periodically, but significant amount of data were collected, resulting in large deviations between the characteristic decomposition results and the real situation. To avoid differences in the data density over various hydraulic support cycles as caused by the equal time interval sampling, the original monitoring data are preprocessed to equalize the data density of each cycle. Only the minimum, initial, maximum, and final loads are retained in each support cycle after processing. The preprocessed results are shown in Fig. 5.
It is seen from Fig. 5 that each support cycle of the preprocessed load data has the same data density, but the regularity of the data change is not obvious. This makes it difficult to obtain periodic weighting characteristics for the roof. Therefore, the characteristic decomposition of the preprocessed load data is performed, and the results are shown in Fig. 6.
Analyzing the feature decomposition results of the preprocessed data indicates that the separated trend item can better characterize the periodic fracture characteristics of the roof strata. There are three complete periodic weighting records in the intercepted data, which are consistent with the actual monitoring situation of the longwall face. The cyclic item shows regular characteristics of an increasing resistance, peak, and reducing resistance, which is similar to the cyclic variation characteristics of the support load. The residual item is small and fluctuates around zero, exhibiting white noise characteristics.
The above-mentioned analysis results, statistical theory, and preprocessed monitoring load data of the hydraulic support show that the cycle item of the support load and roof periodic weighting can be well decomposed. Therefore, load data modeling can be performed using machine learning, deep learning, or other related methods. Additionally, the historical monitoring data can be used to model the hydraulic support load. The prediction results indicate that the roof weighting can be deduced and roof disasters can be predicted.

Support load data modeling and predictions
Time series data can be modeled and analyzed using the exponential smoothing method, autoregressive model, machine learning, deep learning, and other algorithms (Conejo et al. 2005;Seyyede et al. 2015;Schar et al. 2004). The historic monitoring load can be used to predict the load of subsequent single monitoring points, the subsequent

Single point prediction of support load
As the acquisition frequency of the support column load is relatively high, historic data are readily used to predict the next acquisition value (single-point prediction) with a high accuracy. The support load data are affected by many factors, the strongest of which is the statistical value and trend item of the historic monitoring data. Therefore, the double exponential smoothing algorithm is used for single-point prediction of the support load (Box et al. 2016) as: where, y t and ŷ t+1 are the monitoring values at the current and next times; l t and l t−1 are the expected values of the monitoring data at the current and previous times; b t and b t−1 are the trend items of the monitoring data at the current and previous times; α is the exponential smoothing factor; and β is the exponential smoothing weight. The monitoring results of the hydraulic support load in the 30112 longwall face are used with the double exponential smoothing algorithm to predict the load monitoring data of the hydraulic support. Optimization of the exponential smoothing factor (α) and exponential smoothing weight factor (β) gives α = 0.95 and β = 0.05. The resulting single-point prediction is shown in Fig. 7. (1) The analysis of Fig. 7 shows that the small amount of monitoring data in the early stage causes large deviations in the predicted values. With the continuous accumulation of monitoring data, the predicted value is consistent with the measured value (approximately coincident), indicating the single-point prediction effect is improved. Predicting the peak load of the hydraulic support allows inferring the possibility of roof disasters. Thus, a simple sliding window model can predict the peak load, as shown in Fig. 8.
The long short-term memory (LSTM) model, support vector regression (SVR), and autoregressive (AR) model are used to predict the column load of the hydraulic support. Without strong adjustments, a good overall prediction effect is achieved. The root mean square error (RMSE) and mean absolute error (MAE) are used to compare the results. It is found that the prediction effect of the AR model is relatively high, as shown in Table 1.

Load predictions for one support cycle
The feature decomposition of the support load data suggests that the load data have strong trend and cycle characteristics. The feature dimension of the data is relatively low and mainly contains the column load data. The AR model achieved good prediction results without strong adjustments. Therefore, the autoregressive integrated moving average (ARIMA) model is used to predict the support load over one support cycle.
The ARIMA model requires that the data must be stationary, which means the mean and variance must not change over time. The augmented Dickey-Fuller (ADF) is used to test the stability of the support load, while the autocorrelation function (ACF) and partial autocorrelation function (PACF) are used to analyze the stationarity and autocorrelation of the data. Although the preprocessed data meet the test results, there is a lag between the autocorrelation coefficient and the partial autocorrelation coefficient, as shown in Fig. 9. After the fourth-order (d = 4), the difference calculations of the original monitoring data improve the data stability. A comparison of the ADF results before and after the difference is shown in Table 2, and the results of the autocorrelation comparative analysis are shown in Fig. 9, where the shaded area covers the confidence interval.
The analysis of the above figure suggests that after the fourth-order difference calculations, the lagging phenomenon of the autocorrelation and partial autocorrelation coefficients in the monitoring data is improved. To determine the values of the autoregressive item (p) and sliding average item (q), a grid search method is used to search and calculate the data models within the ranges of the autoregressive item (2 ≤ p ≤ 8) and moving average item (2 ≤ q ≤ 8). A total of 36 groups of data models were selected to optimize the model parameters using the Akaike Information Criterion (AIC) and Bayesian Information Criterion (BIC). For p = 5 and q = 4, the AIC and BIC values of the model are minimized at the same time (AIC = 1706.01, BIC = 1743.15). Therefore, the model parameters are determined as p = 5, d = 4, and q = 4. At this time, the residual value of the model follows the characteristics of white noise, as shown in Fig. 10.
The optimized data model is used to predict the support load over one support cycle, as shown in Fig. 11. The analysis of the prediction results indicates that the fitting effect of the model on the hydraulic support load is good overall, and the peak value and variation law of the following support cycle can be predicted. However, the predicted results still have a certain deviation from the measurements.
The support load data have strong cyclic characteristics. To improve the prediction accuracy, the SARIMA model with the cycle item is used to predict the support load. First, the data are differentiated over a cycle period and the firstorder difference is performed to improve the data stability. The grid search method is used to search and calculate the range of the autoregressive item (2 ≤ p ≤ 6), moving average term (2 ≤ q ≤ 6), cyclic autoregressive term (2 ≤ P ≤ 4), and the cyclic moving average (2 ≤ Q ≤ 4). A total of 64 data models are selected, and the AIC and BIC are used to optimize the model parameters. The optimal parameters are determined to be p = 3, q = 3, P = 2, and Q = 3. The optimized data model is then used to predict the support load over one support cycle. The fitting and prediction results are shown in Fig. 12.

Load prediction of the hydraulic support over one roof fracture cycle
As the roof strata present the characteristics of periodic fracturing, the fracture cycle in different areas of the longwall mining face is variable. Thus, it is necessary to predict the hydraulic support load in a fracture cycle to provide sufficient time for the prevention and control of roof disasters.   9 Autocorrelation and partial autocorrelation graphs of the monitoring data before and after differential calculations The ARIMA and SARIMA models are used to predict the support load over multiple cycles, as shown in Fig. 13. It is seen from Fig. 13 that the support load in different circulation support processes exhibits little change. The ARIMA and SARIMA models can therefore only capture the load of the subsequent 1-2 cycles, while the predicted value is quite different from the real value. This means that neither model can accurately predict the support load in roof fracture cycles.

Comparative analysis of data model prediction effect
The high frequency of the support load acquisition realizes single point predictions using the above algorithms with good overall results. However, the single-point prediction of the following acquisition is not significant for engineering applications. The data acquisition frequency is 10 min for the 30112 longwall mining face as an example. Even if it can accurately predict the next acquisition and infer an impending roof disaster based on the predicted results, this time is too short for disaster prevention. Therefore, it is necessary to predict load changes at least one support cycle in advance.
Comparing the load prediction results of the ARIMA and SARIMA models over one support cycle indicates the SARIMA model is closer to the measured values. The RMSE is used to compare the fitting effects of the two models as (Rehab et al. 2015): where X obs,i is the monitoring value at time i , and X model,i is the predicted value at time i.
The calculation results of the ARIMA, SARIMA, Holt-Winters, and LSTM for one support cycle, and the calculation results of the ARIMA, SARIMA, RNN, and LSTM for one roof fracture cycle are given in Table 3. The table shows that the SARIMA model is better than the others. Although the predicted results have a certain deviation from the measured values, the overall prediction is good. As a coal cutting cycle is approximately 1 h in the high-intensity mining face n of the western mining areas, it is still difficult to predict the support load in one support cycle for disaster prevention and treatment. Thus, it is better to predict the load in one fracture cycle of the roof strata. For one roof fracture cycle prediction, the SARIMA and ARIMA models provide the cyclic variation characteristics of the hydraulic support, but predictions of the peak value and variation law are poor. Neither of these models can predict the support load in one roof fracture cycle. We also use the LSTM and RNN algorithms to model and analyze the data, but the load predictions for a single roof fracture cycle are also not ideal.

Discussion on prediction method for one roof fracture cycle
Few related works have focused on prediction and early warnings of roof disasters in longwall faces Scholars have mainly focused on the stress field evolution characteristics and fracture structure of roof strata (Wang et al. 2015;Pang et al. 2020a, b;Cheng et al. 2020). Studies focused on roof disaster predictions using data models are scarce. The related algorithm results to predict the support load in one fracture cycle have not been developed. Based on the load prediction methods of one support cycle for a hydraulic support, a prediction method based on multiple data cuttings and a load template library of hydraulic supports is proposed, to predict the support load in one roof fracture cycle. First, the load characteristics (increasing resistance, constant resistance, and reducing resistance) over one support cycle are used to reduce the load data over the entire longwall face. The loads for each cycle of the hydraulic support are fit using the SARIMA algorithm, and similar fitting curves are classified into a single class to establish the support load template curve library for a single cycle. Second, the variation law of the peak load for each cycle is used to determine the fracture step of the roof strata. The load template curves of the hydraulic support in each fracture cycle are sorted, and the load change template library for the hydraulic support based on the fracture cycle of the roof strata is established, as shown in Fig. 14. Finally, the existing monitoring data predict the load curve of the subsequent cycle, which is compared with the single support cycle in the load template curve library. A classification algorithm is used to determine the most likely trend of the support load in a roof fracture cycle to predict the hydraulic support load over a fracture cycle.
The methods above need to establish fitting curve template libraries for the cycle support load and support load for a roof fracture cycle, which need a large amount of load data as samples for training. The load data in some coal mines in Northern Shaanxi are used in the above method to predict the support load in one fracture cycle of the roof strata to obtain some meaningful results.

Technical framework of roof disaster intelligent prediction platform
The technical framework of the intelligent prediction platform for roof disasters is proposed in Fig. 15 based on the monitoring information characteristic parameters of roof disasters and prediction methods for the support load. The twocolumn shield hydraulic support is taken as an example. The posture-load characteristic database of the hydraulic support is established by mapping a large amount of monitoring load data and the absolute and relative posture monitoring values of the hydraulic support. The roof beam inclination angle, column pressure, column shrinkage, and other related information monitored at the longwall mining face were inserted into the posture-load characteristic database of the hydraulic support for comparison and to determine whether the support state was abnormal. If there are any abnormalities, alarms will sound, and the support load and posture will be adjusted manually. If there are no abnormalities, the load variation law of the next support cycle is predicted based on the load prediction method of one support cycle. The predictions are inserted into the load template curve library of a single-cycle support for comparison, and the load change template curve of the hydraulic support is determined from the classification algorithm and compared with the occurrence threshold of roof disasters. If the prediction exceeds the threshold of roof disasters, the disaster alarm will sound. If not, the predicted single-cycle support load template curve is put into a load curve template library of the roof fracture cycle. The load variation law of the hydraulic support in the following roof fracture cycle is predicted and compared with the roof disaster threshold. If the predicted load exceeds the threshold of roof disasters, the disaster alarm will sound. When a hydraulic support cycle is complete, the monitoring data are stored in the single-cycle support load template curve library. When the support load monitoring of a roof fracture cycle is complete, the load monitoring data of the entire cycle are stored in the support load curve template library. Increasing the number of samples can improve the accuracy of roof disaster predictions. Due to space limitations, this paper does not discuss the establishment of a posture-load characteristic database for the hydraulic support and the determination of the roof disaster threshold. In addition, if there is no predicted cycle support curve in the curve library for the hydraulic support over a single-cycle support load template, the floating range of the prediction is calculated using statistical principles. If the maximum floating value exceeds the threshold of roof disasters, the roof disaster alarm will sound.

Conclusions
(1) The load data of the hydraulic support are time series data with cyclical change characteristics. The load, position, attitude, and support state parameters of the hydraulic support directly impact the surrounding rock control effect.
(2) The data sampling density of the hydraulic support in different cycles greatly influences the results of the eigendecomposition. Only the minimum, initial, maximum, and final loads are retained for the data of each  (3) Although different data algorithms can achieve singlepoint predictions for the support load data, there is little engineering significance for single-point predictions.  The SARIMA model is better than the ARIMA model at predictions over a single support cycle, but both algorithms have difficulty predicting the roof weighting cycle in the longwall face. (4) A support load prediction method based on multiple data cuttings and support load template libraries is proposed based on the difficulty of predicting the support load during a roof weighting cycle of a longwall face. The technical architecture of the roof disaster intelligent prediction platform is analyzed. The monitoring results of the support load and posture help realize advanced predictions and early warnings of roof disasters.
Acknowledgements The study was supported by the National Natural Science Foundation of China of basic theory research on digital coal mine and intelligent mining (51834006), study on stress, cyclic osmotic pressure and corrosion coupling damage mechanism of coal pillar dam for coalmine underground reservoir (52004124), and study on the progressive evolution mechanism of overburden fracture and ore pressure in fully mechanized mining with super high mining height under three field perspectives (51874175). The authors express their gratitude to the Yanghuopan Coal Mine for providing field measurements and observations used in this work.
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http:// creat iveco mmons. org/ licen ses/ by/4. 0/.