text:
Ozone detoxification of steam-pretreated Norway spruce
Adnan Cavka1Email author,
Anna Wallenius1,
Björn Alriksson2,
Nils-Olof Nilvebrant3 and
Leif J. Jönsson1
© Cavka et al. 2015
Received: 9 October 2015
Accepted: 16 November 2015
Pretreatment of lignocellulose for biochemical conversion commonly results in formation of by-products that inhibit microorganisms and cellulolytic enzymes. To make bioconversion processes more efficient, inhibition problems can be alleviated through conditioning. Ozone is currently commercially employed in pulp and paper production for bleaching, as it offers the desirable capability to disrupt unsaturated bonds in lignin through an ionic reaction known as ozonolysis. Ozonolysis is more selective towards lignin than cellulose, for instance, when compared to other oxidative treatment methods, such as Fenton's reagent. Ozone may thus have desirable properties for conditioning of pretreated lignocellulose without concomitant degradation of cellulose or sugars. Ozone treatment of SO2-impregnated steam-pretreated Norway spruce was explored as a potential approach to decrease inhibition of yeast and cellulolytic enzymes. This novel approach was furthermore compared to some of the most effective methods for conditioning of pretreated lignocellulose, i.e., treatment with alkali and sodium dithionite.
Low dosages of ozone decreased the total contents of phenolics to about half of the initial value and improved the fermentability. Increasing ozone dosages led to almost proportional increase in the contents of total acids, including formic acid, which ultimately led to poor fermentability at higher ozone dosages. The decrease of the contents of furfural and 5-hydroxymethylfurfural was inversely proportional (R 2 > 0.99) to the duration of the ozone treatment, but exhibited no connection with the fermentability. Ozone detoxification was compared with other detoxification methods and was superior to treatment with Fenton's reagent, which exhibited no positive effect on fermentability. However, ozone detoxification was less efficient than treatment with alkali or sodium dithionite. High ozone dosages decreased the inhibition of cellulolytic enzymes as the glucose yield was improved with 13 % compared to that of an untreated control.
Low dosages of ozone were beneficial for the fermentation of steam-pretreated Norway spruce, while high dosages decreased the inhibition of cellulolytic enzymes by soluble components in the pretreatment liquid. While clearly of interest for conditioning of lignocellulosic hydrolysates, future challenges include finding conditions that provide beneficial effects both with regard to enzymatic saccharification and microbial fermentation.
Lignocellulose
Fermentability
Biochemical conversion of lignocellulosic feedstocks typically includes a thermochemical pretreatment step which primarily targets the hemicellulose, an enzymatic saccharification of the cellulose, and a microbial fermentation step in which sugars are converted to advanced biofuels, green chemicals, or other desirable products [1]. With powerful pretreatment methods, such as steam explosion with acid catalysts, also recalcitrant lignocellulosic feedstocks including softwood can be made susceptible to cellulolytic enzymes [2–4]. Harsh pretreatment under acidic conditions leads to the formation of by-products that inhibit enzymic and microbial biocatalysts [5, 6]. Microbial inhibitors commonly studied include phenolic compounds, aliphatic carboxylic acids (such as acetic acid, formic acid, and levulinic acid), and furan aldehydes [such as furfural and 5-hydroxymethylfurfural (HMF)].
The detrimental effects of inhibitory compounds on microbial biocatalysts can be alleviated through conditioning of lignocellulosic hydrolysates by chemical detoxification with, for example, alkali or reducing agents [6]. Efficient detoxification, such as alkaline treatment and treatment with sodium dithionite, renders strongly inhibitory hydrolysates as fermentable as reference fermentations with the same amounts of sugar but no inhibitors. It is, however, important that the detoxification is selective and targets inhibitors rather than fermentable sugars. For example, treatment with alkali has to be optimized carefully to achieve an efficient detoxifying effect without any major loss of fermentable sugars [6, 7]. Some reducing agents, such as sodium dithionite, can also alleviate inhibition of cellulolytic enzymes, while others, such as sodium borohydride, do not have that effect [8].
Previous investigations indicate that phenolic compounds inhibit both microorganisms, such as yeast [9, 10] and cellulolytic enzymes [11, 12]. Phenol-oxidizing enzymes, such as laccase and peroxidase, can be used to decrease the inhibitory effects of phenols [9, 10]. In this investigation, we have assessed the possibility of using treatment with ozone to alleviate inhibitory effects of phenolic and other aromatic compounds. Ozone treatment under acidic conditions has been found to be useful for bleaching of pulp in the pulp and paper industry [13]. Studies regarding the use of ozone for pulping have shown that a potential advantage with ozone treatment is selectivity, as the rate constants for ozone oxidation of aromatic compounds are typically several orders of magnitude higher than the rate constants for ozone oxidation of simple sugars [13]. Thus, we hypothesized that ozone treatment could be used to target aromatic substances in hydrolysates without causing significant degradation of fermentable sugars. The effects of treatments with different ozone dosages on a hydrolysate of pretreated spruce wood were investigated, and a comparison with other detoxification methods was made to put ozone treatment in a larger context within the bioconversion area.
The effects of ozone treatment on fermentation inhibitors formed during pretreatment of lignocellulose were investigated using pretreatment liquid of Norway spruce. While it is necessary that detoxification improves biocatalytic performance, it is important that fermentable sugars are not degraded as a result of the treatment, which would lead to decreased product yields. Alkali treatment may result in sugar degradation, which, however, can be minimized through optimization [6, 7, 14]. Treatment with reducing agents such as sodium dithionite does not result in sugar degradation [15]. A recent report on detoxification with Fenton's reagent did not address sugar degradation [16]. Preferably, detoxifying agents should be selective for inhibitors allowing for minimal dosage of the detoxifying agent as well as minimal sugar degradation.
Effects of ozone on fermentable sugars
Monomeric sugars in the pretreatment liquid were primarily derived from hemicelluloses, which in Norway spruce mainly consist of galactoglucomannans [17]. The pretreatment liquid contained (in g/L) glucose, 29; mannose, 29; xylose, 15; galactose, 6; and arabinose, 5. Analysis of monosaccharides was also performed after ozone was applied to the pretreatment liquid in different dosages ranging from 0.5 to 3.5 g. The results showed that no sugar degradation had occurred during ozone treatment of the pretreatment liquid. The monosaccharide concentrations in ozone-treated samples differed less than 5 %, which is below the estimated standard deviation of the analytical method used.
Detoxifying agents with high selectivity are needed to assure reactions with inhibitors without affecting fermentable sugars. The reaction rates of ozone treatment of different organic substrates have been found to differ by several orders of magnitude when compounds representing polysaccharides and lignin are compared, for example, glucose and phenol [13, 18]. Ozone has also been shown to be between 105 and 106 times more reactive than hydroxyl radicals towards lignin [19]. The hydroxyl and hydroperoxy radicals formed by ozone decomposition and by Fenton's reagent have on the contrary been shown to be far more reactive and much less selective than ozone [20, 21]. The formation of hydroxyl radicals from ozone is, however, strongly pH dependent as the formation of hydroxyl radicals from ozone starts to become extensive at pH ≥ 3 [22, 23]. All treatments in this study were performed at an initial pH of 2.5, which could tentatively explain the absence of carbohydrate degradation even at the highest ozone load that was applied.
Effects of ozone on inhibitory compounds
The effects of ozone treatment on inhibitory by-products that were formed during pretreatment were also investigated. Four levels of ozone addition, i.e., 0.5, 1.5, 2.5, and 3.5 g, were selected for the analysis in addition to the untreated pretreatment liquid. Inhibitory pretreatment by-products that were analyzed included the total amount of phenolic compounds, prevalent small aliphatic carboxylic acids (acetic acid, formic acid, and levulinic acid), the total concentrations of acids, and the furan aldehydes furfural and HMF (Table 1).
Effects of ozone treatment on inhibitory compounds in spruce pretreatment liquid
Phenolics
Levulinic acid
Total acids
The table shows the concentrations of common inhibitors and groups of inhibitors in spruce hydrolysate (mM) before and after treatment with different ozone dosages
The Folin–Ciocalteu assay indicated that the total concentration of phenols in the pretreatment liquid decreased significantly even at lower ozone dosages (Table 1; Fig. 1a). The total phenolic content was determined to be 32.2 mM in the pretreatment liquid and addition of increasing amounts of ozone decreased that concentration until it was about half of the initial (Table 1; Fig. 1a). According to the results obtained with the Folin–Ciocalteu assay, higher ozone dosages than 1.5 g did not result in any further decrease of the total phenolic content (Table 1; Fig. 1a).
Effects of increasing ozone dosages on a the total phenolic contents determined by the Folin–Ciocalteu assay (closed circle), b formic acid (open triangle) and the total acid contents (closed triangle), and c furfural (closed square) and HMF (open diamond)
Studies of the mechanism behind the reactions of ozone with lignin suggest that the primary mode of action of ozone is degradation of unsaturated structures through the classical Craigee reaction [24, 25]. The reaction, which involves the addition of ozone across an unsaturated structure followed by a subsequent fragmentation of the intermediate into carbonyl-containing products, may result in the formation of hydroxyl radicals [13, 26]. Hydroxyl radicals are not selective, as ozone, and would most probably attack other compounds in the pretreatment liquid than lignin-derived aromatic compounds, for instance, carbohydrates. Step-wise ozone degradation of low molecular weight model compounds suggests that the degradation of lignin results in products with muconic acid structures as well as in formation of methanol, formic acid, and carbon dioxide [13, 17]. Investigations in this area cover reactions with individual mononuclear phenolic compounds [13, 25, 26].
The analysis of small aliphatic acids in the pretreatment liquid and the ozone-treated samples showed that the concentrations of acetic acid and levulinic acid were unaffected by the addition of ozone to the pretreatment liquid (Table 1). The concentrations of acetic acid were around 110 mM in all of the analyzed samples, while the concentrations of levulinic acid were just above 9 mM. In contrast with acetic acid and levulinic acid, the concentration of formic acid increased with increasing ozone dosage (Table 1; Fig. 1b). The highest ozone dosage resulted in a formic acid concentration that was over 100 % higher than in the untreated sample. With an R 2 value of about 0.97, the increase was almost proportional to the ozone dosage (Fig. 1b). These results are consistent with previous studies indicating that formation of formic acid, methanol, and carbon dioxide occurs when phenolic compounds decompose as a result of ozonolysis [13, 17].
The strong increase of the concentration of formic acid and the probable formation of muconic acids during ozone treatment motivated the determination of the total acid content through titration with sodium hydroxide. The results showed that the total acid content in the pretreatment liquid was around 220 mM (Table 1), which increased with about 50 % at the highest ozone dosage. The rate of increase of the total acid content was slightly higher at smaller than at larger ozone additions resulting in an R 2 value of about 0.93 (Fig. 1b). The results further show that the three small aliphatic carboxylic acids that were quantified separately (acetic acid, formic acid, levulinic acid) constitute roughly 60 % of the total acid content of the pretreatment liquid.
The results of the HPLC-UV-DAD analysis further showed that the concentrations of HMF and furfural steadily decreased with increasing additions of ozone to the pretreatment liquid (Table 1; Fig. 1c). The decrease was inversely proportional to the ozone dosage (R 2 > 0.99, Fig. 1c). However, the contents of furan aldehydes may be affected not only by chemical reactions with ozone, but also by evaporation. Larsson et al. [10] studied the effects of evaporation on a hydrolysate and found that an evaporation of 10 % of the volume led to a furfural decrease of 37 %, while the concentration of HMF was not affected. When the evaporation was increased to 90 % of the volume, there was no furfural left, while the decrease of the content of HMF was only 4 % [10]. Thus, furfural is much more susceptible to evaporation than HMF. In the ozone experiment, the rate of decrease of furfural was higher than the rate of decrease of HMF (Fig. 1c), which could tentatively be attributed to evaporation. However, the fact that there was a steady decrease in the contents of HMF (Table 1; Fig. 1c) indicates that reactions between furan aldehydes and ozone were also taking place. Considering the unsaturated structure of the furan aldehydes, this would be consistent with the previously discussed Craigee reaction. At the lowest ozone dosage (0.5 g), the combined decrease of furfural and HMF amounted to only 4.5 mM compared with 10.5 mM for the total phenolic content despite the fact that the initial combined concentration of the furan aldehydes (40.9 mM) was higher than the initial total phenol concentration (32.2 mM) (Table 1). The total phenolic content is not much affected by evaporation [10]. Taken together, these results indicate that the furan aldehydes were less susceptible than the phenols to lower ozone dosages.
In summary, ozone treatment decreased the concentrations of phenolic compounds and furan aldehydes while increasing the concentrations of certain carboxylic acids, such as formic acid. Phenolic compounds were more strongly affected than furan aldehydes at lower ozone dosages. Further increases of the ozone dosage led to further decrease of the concentrations of furan aldehydes, but not of the remaining phenolic content, as judged by the Folin–Ciocalteu assay.
Effects of ozone on fermentation
The observed effects of ozone addition on inhibitory pretreatment by-products merited further investigation into the potential effects on glucose consumption and ethanol formation by the yeast Saccharomyces cerevisiae. Fermentation experiments conducted with ozone additions of 0.5, 1.5, 2.5, and 3.5 g showed that only 0.5 g of ozone resulted in glucose consumption and ethanol production (Fig. 2a). Increased dosages of ozone did not result in much larger decreases of the content of phenolic compounds (Table 1), which suggests that the rapid initial decrease in the contents of phenolic compound is linked to the improved fermentability. Although increased ozone dosages led to a strong decrease of the contents of furan aldehydes (Fig. 1c), there was no beneficial effect on the fermentability (Fig. 2a). The fact that the concentration of formic acid and the total contents of acids rose to high levels when the dosage of ozone was 1.5 g or higher (Table 1) can explain why the fermentability was poorer than when the ozone dosage was 0.5 g. The results support the advocated importance of phenolic compounds and small aliphatic carboxylic acids for the inhibition of S. cerevisiae in pretreated lignocellulosic feedstocks [6].
Glucose consumption by S. cerevisiae during the fermentation of pretreatment liquid produced from Norway spruce. Markers in a sugar reference (closed circle), untreated (closed diamond), 0.5 g ozone (closed square), 1.5 g ozone (cross symbol), 2.5 g ozone (closed triangle), 3.5 g ozone (open circle). Markers in b sugar reference (closed circle), untreated (closed diamond), 0.25 g ozone (open circle), 0.5 g ozone (closed square), 0.75 g ozone (closed triangle), and 1.5 g ozone (cross symbol)
A second set of experiments was performed with ozone additions of 0.25, 0.5, 0.75, and 1.5 g to further investigate potential positive effects of moderate to low ozone concentrations on the fermentability. The glucose consumption in the second set of fermentation experiments is shown in Fig. 2b. Ozone dosages of 0.25, 0.5, or 0.75 g resulted in similar fermentability. In contrast, 1.5 g did not result in any improvement indicating a very sharp threshold between 0.75 and 1.5 g. The results show that moderate to low additions of ozone have a positive effect on the glucose consumption by S. cerevisiae and that the positive effects were achieved already at the lowest ozone dosage tested, i.e., 0.25 g. Fermentations were performed at a starting pH of 6.0 but without pH adjustment during the fermentation process. Assuming that undissociated acids cause more inhibition problems, there is a possibility that control of pH during the fermentation process could alleviate problems with formation of inhibitory carboxylic acids formed by ozone treatment by keeping the acids in a deprotonated state.
Comparison of detoxification methods
Three additional detoxification methods were chosen and included in a fermentation experiment designed to benchmark the improvement in glucose consumption and ethanol productivity by S. cerevisiae after ozone treatment of spruce wood pretreatment liquid. Treatments with alkali, such as ammonium hydroxide, and with reducing agents, such as dithionite, are powerful detoxification methods that have previously been shown to result in a fermentability that is similar to that of a reference fermentation with equal concentrations of fermentable sugar but without any inhibitors [6, 8, 14, 15]. Fenton's reagent was included as there is a claim in the literature that it would have a strongly positive effect on the fermentability of spruce wood hydrolysates [16] and since it is, as ozone, based on reactive oxygen species. The results of the comparison are shown in Fig. 3 and Table 2. As expected [6, 8, 14, 15], detoxification with sodium dithionite and ammonium hydroxide resulted in a glucose consumption rate that strongly resembled the rate observed for the reference fermentation that did not contain any inhibitory compounds. Ethanol titers (Fig. 3b), ethanol yields, balanced ethanol yields, and ethanol productivities (Table 2) were also very similar for the reference and the treatments with alkali and dithionite. Persson et al. [27] showed that the effects of alkali treatment are due to chemical conversion of inhibitors rather than to precipitation effects. This was later confirmed in experiments with alkali treatment through addition of sodium hydroxide, which did not result in any precipitate and yet strongly improved the fermentability [14]. Dithionite and other sulfur oxyanions, such as sulfite, effect detoxification through sulfonation of aromatic compounds which makes them less reactive and strongly hydrophilic [28].
Comparison of detoxification methods: a glucose consumption, and b ethanol production after 24 h of fermentation. The markers indicate: untreated (closed diamond), alkali detoxification (cross symbol), sodium dithionite (closed square), ozone (0.75 g) (closed triangle), Fenton's reagent (open circle), and reference fermentation (closed circle). Gray error bars show standard deviations
Comparison of detoxification methods for improved fermentability of spruce pretreatment liquid
Fermentable hexoses (glucose and mannose) at start (g/L)
Fermentable hexoses (glucose and mannose) after 24 h (g/L)
Consumed sugar (glucose and mannose) (g/L)
Ethanol yielda
Balanced ethanol yieldb
Ethanol productivityc
<0.01
Dithionite
Ozone 0.75 g
Fenton's reagent
The table compares the concentrations of fermentable hexose sugars at the start of the experiment and after 24 h of fermentation after detoxification using different methods. The relative standard deviation of the method that was used for monosaccharide and ethanol analysis was estimated to <10 %
ag EtOH/g consumed glucose and mannose
bg EtOH/g glucose and mannose prior to fermentation
cg EtOH × L−1 × h−1
In contrast with previously reported results [16] and despite using the reagent concentrations reported to be optimal for similarly pretreated Norway spruce, fermentations with Fenton's reagent did not result in any noteworthy improvements of glucose consumption or ethanol production compared to the untreated control fermentation (Table 2; Fig. 3). Both sets of fermentations resulted in low glucose consumption, i.e., around 4 g/L, and ethanol titers of less than 2 g/L. For the untreated control and the treatment with Fenton's reagent, the balanced ethanol yields and the ethanol productivities were similar, and far below those achieved in other fermentations (Table 2). Even the ethanol yields on consumed sugar were the lowest observed in the experimental series (Table 2).
The poor performance of the Fenton's reagent is not unexpected considering the strong reactivity and poor selectivity of hydroxyl radicals. Formation of hydroxyl radicals in pulp bleaching with hydrogen peroxide is decreased through addition of chelating agents, such as EDTA (ethylenediaminetetraacetic acid) and DTPA (diethylene triamine pentaacetic acid), which chelate Mn(II) and Fe(II), ions that could otherwise be involved in Fenton-type reactions [29]. Decreasing Fenton-type reactions is advantageous, as the poor selectivity of hydroxyl radicals would lead to reactions with carbohydrates as well as lignin, and therefore to reduced pulp yields [29]. High concentrations of fermentable sugar would also be attacked by hydroxyl radicals leading to a loss of fermentable sugars. Ozone, on the other hand, is useful in pulp bleaching due to that it is more selective, which makes it possible to use conditions where lignin structures are oxidized with minimal effects on the cellulose fibers. With regard to lignocellulosic hydrolysates, one would expect similar effects, where Fenton's reagent is involved in reactions with various organic matter in the pretreatment liquid, including sugars, while, as shown in this work, ozone can selectively degrade substances such as phenolics and furans. It is also possible that the Fenton's reaction was not efficient in the complex lignocellulosic medium. Due to its poor performance, the effects of treatment with Fenton's reagent were not further investigated.
The glucose consumption and ethanol titers in fermentations of ozone-treated medium clearly exceeded those of untreated hydrolysate and the treatment with Fenton's reagent, but were not comparable with fermentation of hydrolysates treated with sodium dithionite or ammonium hydroxide (Fig. 3). The ethanol yield on consumed sugar, 0.45 g/g, was slightly lower than for the reference fermentation and for hydrolysates treated with alkali or dithionite (Table 2). As high concentrations of carboxylic acids may result in a high ethanol yield due to increased ethanol formation at the expense of biomass formation (reviewed in [6]), this was somewhat unexpected, but it can probably be attributed to that the ethanol yields of the reference, the alkali-treated hydrolysate, and the dithionite-treated hydrolysate were at or very near the theoretical maximum at 0.51 g/g. The balanced ethanol yield and the ethanol productivity for ozone-treated hydrolysates were around half of those reached with the reference and alkali- or dithionite-treated hydrolysate.
While high concentrations of carboxylic acids can be problematic to the fermenting microorganism, they may not be as toxic on a molar basis as the phenolic compounds that can serve as a source of muconic acids and formic acid formed through ozone treatment. This may help explain the improvement compared to the untreated control at lower ozone dosages (up to 0.75 g), as well as the decrease in the improvement of fermentability when higher ozone dosages (1.5 g or higher) were applied. Similarly, too harsh conditions during alkaline detoxification lead to an increase of phenolic compounds, formic acid, and acetic acid, and, in turn, sub-optimal detoxification effects [7].
Effects of ozone on saccharification
Reducing agents, such as dithionite, can have a positive effect on enzymatic hydrolysis of cellulose, while other reducing agents, such as sodium borohydride, do not have that effect [8]. As different conditioning methods have different effects on enzymatic hydrolysis of cellulose, the potential effects of ozone treatment on enzyme inhibition by the pretreatment liquid were studied and compared with the effects of the other detoxification methods. In a first experimental series, different ozone dosages were compared (Fig. 4a). While pretreatment liquid treated with ozone dosages ranging from 0.5 to 2.5 g resulted in similar amounts of glucose as the untreated control, the highest ozone dosage (3.5 g) clearly gave more glucose (Fig. 4a). The second experimental series compared the effects of high (3.5 g) and low (0.75 g) dosages of ozone with the effects of the other treatments, i.e., sodium dithionite, alkali, and Fenton's reagent (Fig. 4b). As expected, treatments with sodium dithionite or 3.5 g ozone exhibited a positive effect on enzymatic hydrolysis of cellulose, as the glucose yield was 18 % higher for sodium dithionite and 13 % higher for 3.5 g ozone compared to the untreated control. Alkali treatment with ammonium hydroxide resulted in a similar glucose yield as the untreated control (Fig. 4b). In contrast with a report in the literature that Fenton's reagent would have a positive effect on enzymatic hydrolysis [16], Fenton's reagent instead exhibited a slightly negative effect (Fig. 4b). The slight negative effect of Fenton's reagent can possibly be attributed to residual hydrogen peroxide inhibiting the enzymes. With regard to the ozone treatment, the experiments did not reveal any ozone dosage that was beneficial for both yeast and cellulolytic enzymes, as a dosage of 3.5 g, which was beneficial for enzymatic hydrolysis (Fig. 4b), did not have any positive effect on the fermentation (Fig. 2a).
Enzymatic hydrolysis of Avicel in the presence of pretreatment liquid: a different ozone dosages, and b comparison of different methods. Gray error bars show standard deviations
Ozone treatment of a hemicellulose hydrolysate improved yeast fermentation already at low dosages, while higher dosages were required to improve enzymatic hydrolysis of cellulose. Ozone treatment decreased the furan aldehyde concentrations, but the results showed no correlation between furan aldehydes and fermentability. Treatment with ozone was superior to treatment with Fenton's reagent, which exhibited no positive effect on fermentability. The potential of ozone in industrial biorefineries is, however, still doubtful, as an alternative method based on sulfur oxyanions has several advantages, including no separate process step, stronger detoxification, and positive effects on both microbial and enzymatic biocatalysts already at low concentrations.
Pretreatment of Norway spruce
The pretreatment liquid used in this study was obtained through vacuum filtration of pretreated wood chips of Norway spruce (Picea abies) using a procedure in which the solids were separated from the liquid phase using a Whatman grade 1 filter paper (Sigma-Aldrich, St. Louis, MO, USA). The raw materials were thermochemically pretreated by SEKAB E-Technology in the Swedish Biorefinery Demonstration Plant (Örnsköldsvik, Sweden). Spruce wood chips were pretreated in continuous mode in a 30-L reactor at a pressure of 20 bar (210 °C), loaded to approx. 50 % during operation. There was an addition of 1.2 kg SO2/h, which corresponds to approximately 1 % (w/w) SO2/spruce wood chips (dry weight). The residence time in the reactor was 7 min, and the resulting pH was 1.5. After pretreatment, the spruce slurry was cooled and stored at 4 °C until further use.
Ozone treatment of spruce pretreatment liquid
The ozone treatments were performed with a Fischer Technology Ozone Generator 500 (i-Fischer Engineering GmbH, Waldbüttelbrunn, Germany) producing a continuous flow of ozone. The flow meter of the ozone generator was set to an oxygen gas throughput quantity of 150 L/min, which was kept constant with a flow controller. The applied levels of ozone were based on a preliminary study performed on acid-hydrolyzed spruce wood chips that had resulted in improved fermentability and ethanol yields after treatment with ozone (unpublished results). In the present study, six different treatment levels of ozone were applied: 0.25, 0.50, 0.75, 1.50, 2.50, and 3.50 g. The added amounts of ozone, which reflect the amounts of ozone led through the bottle rather than the amounts that reacted with the hydrolysate, were determined through iodometric titration after allowing the generator to warm up and a stable production of ozone was achieved. The ozone addition was controlled by calculating the time needed to feed the desired amount of ozone to the sample bottle. Sample volumes of 100 mL were placed in 250-mL gas wash bottles to allow for continuous ozone flow. Ten μL of anti-foam was added to each bottle to prevent the flasks from overflowing during treatment. The residual ozone that had not reacted with the sample was lead through a connecting gas wash bottle containing 40 g/L KI in Na2HPO4/KH2PO4 buffer solution. Iodometric titration with 0.1 M Na2S2O3 solution and a starch indicator was performed after acidification with 2 N H2SO4. The ozone-exposed samples were all transferred to glass bottles that were sealed with parafilm and stored at 4 °C until further use.
Detoxification with alkali, sodium dithionite, and Fenton's reagent
Three previously reported detoxification methods were included in the study in order to benchmark the efficiency of the ozone treatment on lignocellulosic hydrolysates. Alkali detoxification was performed by treating the pretreatment liquid with NH4OH (pH 9, 55 °C, 3 h), as these are optimal conditions for alkali detoxification [14]. Sodium dithionite detoxification was performed by adding sodium dithionite powder to a final concentration of 10 mM directly to the fermentation vessel 10 min prior to the fermentation, according to Alriksson et al. [15]. Treatment with Fenton's reagent was performed using 2.5 mM FeSO4 and 150 mM H2O2 at a temperature of 60 °C for 2 h, as this has been reported to be optimal conditions for detoxification of pretreated Norway spruce [16]. Deionized water was added to compensate for dilutions associated with some of the detoxification methods.
Fermentation experiments with common baker's yeast S. cerevisiae (Jästbolaget AB, Rotebro, Sweden) were conducted to assess the possible detoxification effects of ozone treatment on pretreatment liquid from Norway spruce. The fermentations were performed in 25-mL glass flasks equipped with magnets for stirring and sealed with rubber plugs pierced with cannulas for release of carbon dioxide. Untreated prehydrolysate controls and treated prehydrolysates were diluted to 50 % prior to fermentation experiments. The pH was adjusted to 6.0 using 5 M NaOH. Each fermentation flask was filled with 4.75 mL of untreated pretreatment liquid, or of a sugar reference solution containing similar concentrations of glucose and mannose as the pretreatment liquid, or of pretreatment liquid treated with 0.25, 0.50, 0.75, 1.25, 2.50, or 3.50 g ozone. Each flask was supplemented with 0.10 mL of a nutrient solution (150 g/L yeast extract, 75 g/L (NH4)2HPO4, 3.75 g/L MgSO4·7 H2O, 238.2 g/L NaH2PO4·H2O), and 0.15 mL of yeast inoculum to a final concentration of 2 g/L (DW). The yeast inoculum was prepared in 750-mL cotton-plugged shake flasks with 300 mL YPD medium (2 % yeast extract, 1 % peptone, 2 % d-glucose). The flasks were inoculated and incubated with agitation at 30 °C for approximately 12 h. The cells were harvested in the late exponential growth phase by centrifugation (Allegra X-22R, Beckman Coulter, Brea, CA, USA) at 1500g for 5 min. The cells were re-suspended in an appropriate amount of sterile water to achieve an inoculum consisting of 2 g/L (cell dry weight) in all fermentation vessels. The flasks were incubated at 30 °C in a water bath with magnetic stirring (IKA-Werke, Staufen, Germany). Samples for measurement of sugars and ethanol were withdrawn during the fermentation. The glucose levels during fermentation experiments were estimated using a glucometer (Accu-Chek Active, Roche Diagnostics, Basel, Switzerland). Glucometer data were corrected using glucose values obtained with the HPAEC ICS-3000 system.
Effects on enzymatic hydrolysis
The potential effects of conditioning of the pretreatment liquid on the performance of a cocktail of cellulolytic enzymes were investigated in two separate experimental series. The goal with the first experimental series was to compare different ozone dosages, and the series comprised pretreatment liquid treated with 0.5, 1.5, 2.5, and 3.5 g ozone as well as a control that was not treated with ozone. The aim of the second experimental series was to compare different conditioning methods and included pretreatment liquid treated with sodium dithionite, ammonium hydroxide, Fenton's reagent, 0.75 g ozone, 3.5 g ozone, and an untreated control. The enzymatic reactions were performed in 2-mL microcentrifuge tubes, and the total weight of the reaction mixture in each tube was 1000 mg. The reaction mixture consisted of 925 mg of pretreatment liquid, 50 mg Avicel (Fluka Biochemika, Buchs Switzerland), and 25 mg of a 1:1 (w/w) mixture of the two liquid enzyme preparations Celluclast 1.5 L, with a stated activity of 700 endoglucanase units (EGU)/g, and Novozyme 188, with a stated activity of 250 cellobiase units (CBU)/g (Sigma-Aldrich). The enzyme loads in the analytical saccharification experiment were thus 175 EGU/g of solids (DW) and 62.5 CBU/g of solids (DW), respectively. In the first experimental series, the reaction mixtures were incubated at 45 °C and 180 rpm (Ecotron, Infors AG, Bottmingen, Switzerland) for 120 h. In the second experimental series, the temperature was increased to 50 °C, while the incubation time was decreased to 24 h.
Chemical analyses
Glucose, xylose, mannose, arabinose, and galactose were analyzed using the high-performance anion-exchange chromatography (HPAEC) ICS-3000 system from Dionex (Sunnyvale, CA, USA) with an electrochemical detector. All samples were filtered through 0.20-μm syringe-driven filter units (Millex-GN, Millipore, Ireland) and diluted with Milli-Q water prior to analysis. Separation was performed using a CarboPac PA20 (3 × 150 mm) separation column equipped with a CarboPac PA20 (3 × 30 mm) guard column (Dionex). Elution was conducted at a flow rate of 0.4 mL/min with 2 mM solution of NaOH during 25 min, followed by regeneration at 5 min with 100 mM NaOH, and equilibration for 15 min with 2 mM NaOH (NaOH solution for IC, Sigma-Aldrich).
Analyses of ethanol, formic acid, acetic acid, and levulinic acid were performed using an Agilent Technologies 1200 series high-performance liquid chromatography system (HPLC) (Agilent Technologies, Santa Clara, CA, USA). The device was equipped with an autosampler, refractive index detector (RID), a binary pump, and degasser all from the Agilent 1200 series. The chromatographic separations were performed using a Bio-Rad Aminex HPX-87H column (Bio-Rad Laboratories, Hercules, CA, USA). Separation was achieved with an isocratic gradient of 0.01 N sulfuric acid at a flow rate of 0.6 mL/min, and the temperature of the column oven was set to 60 °C and the temperature of the detector cell of the RID was set to 55 °C [30]. An external calibration approach was applied for quantification.
5-(Hydroxymethyl)-furfural (HMF) and furfural were analyzed using the same HPLC system but with an Agilent Zorbax RRHT SB-C18 (3.0 mm × 50 mm, 1.8 μm) column and UV G1315D-detector (Agilent Technologies). Separation was performed with a gradient of 0.1 % (v/v) formic acid in Milli-Q water (A) and 0.1 % (v/v) formic acid in acetonitrile (B) and a flow rate of 0.5 mL/min. Gradients were set to percentage ratios of 97/3 (A/B) for 0–3 min and 90/10 (A/B) for 3–5 min. Both compounds were detected at a wavelength of 282 nm. The column oven was set to a temperature of 40 °C.
Total acid concentrations in the untreated and ozone-treated pretreatment liquids were estimated through titration with 200 mM NaOH (701 KF Titrino Titrator, Metrohm AG, Herisau, Switzerland).
The total phenolics were estimated in pretreatment liquid before and after treatment with 0.50, 1.50, 2.50, and 3.50 g ozone using the Folin–Ciocalteu assay. Vanillin was used as a reference standard. Briefly, 0.2 mL of each of the treated samples was mixed with 6 mL of Milli-Q water and 0.6 mL of Folin–Ciocalteu reagent (Sigma-Aldrich) and incubated at room temperature for 6 min. Two mL of 20 % (w/v) Na2CO3 was subsequently added under stirring. The samples were incubated for 2 h at room temperature, after which the samples were filtered (0.2 μm pore size) before the absorbance at 760 nm was measured using a spectrophotometer (UV-1800, Shimadzu, Kyoto, Japan).
DTPA:
diethylene triamine pentaacetic acid
EDTA:
ethylene diamine tetraacetic acid
5-hydroxymethylfurfural
HPAEC:
high-performance anion-exchange chromatography
HPLC-UV-DAD:
high-performance liquid chromatography-ultra-violet-diode array detector
R 2 :
coefficient of determination
RID:
refractive index detector
S. cerevisiae :
AC designed and performed most of the fermentation and saccharification experiments, collected and analyzed data, and prepared the first draft of the manuscript. AW performed ozone treatments and chemical analysis of treated material, performed initial fermentation and saccharification experiments, contributed to analysis and interpretation of data, and critically reviewed the manuscript. BA performed a preliminary study on treatment of acid-hydrolyzed spruce with ozone and critically reviewed the manuscript. NON and LJJ conceived the study, contributed to analysis and interpretation of acquired data, assisted in the writing of the manuscript, and critically reviewed the final version of the manuscript. All authors take full responsibility that all aspects of the work have been appropriately investigated and performed. All authors read and approved the final manuscript.
Stefan Stagge is gratefully acknowledged for assistance with chemical analysis of fermentation samples. We thank SEKAB E-Technology (Örnsköldsvik, Sweden) for providing pretreated materials for this study. The research received financial support from the Swedish Energy Agency (35367-1), the Swedish Research Council (621-2011-4388), and Bio4Energy (http://www.bio4energy.se).
Department of Chemistry, Umeå University, Linnaeus v. 10, 901 87 Umeå, Sweden
SP Processum AB, 891 22 Örnsköldsvik, Sweden
Borregaard, 1701 Sarpsborg, Norway
Lynd LR, Laser MS, Bransby D, Dale BE, Davison B, Hamilton R, Himmel M, Keller M, McMillan JD, Sheehan J, Wyman CE. How biotech can transform biofuels. Nat Biotech. 2008;26:169–72.View ArticleGoogle Scholar
Chandra RP, Bura R, Mabee WE, Berlin A, Pan X, Saddler JN. Substrate pretreatment: the key to effective enzymatic hydrolysis of lignocellulosics? Adv Biochem Eng Biotechnol. 2007;108:67–93.Google Scholar
Galbe M, Zacchi G. Pretreatment of lignocellulosic materials for efficient bioethanol production. Adv Biochem Eng Biotechnol. 2007;108:41–65.Google Scholar
Hu F, Ragauskas A. Pretreatment and lignocellulosic chemistry. Bioenerg Res. 2012;5:1043–66.View ArticleGoogle Scholar
Pienkos PT, Zhang M. Role of pretreatment and conditioning processes on toxicity of lignocellulosic biomass hydrolysates. Cellulose. 2009;16:743–62.View ArticleGoogle Scholar
Jönsson LJ, Alriksson B, Nilvebrant NO. Bioconversion of lignocellulose: inhibitors and detoxification. Biotechnol Biofuels. 2013;6:16.View ArticleGoogle Scholar
Nilvebrant N-O, Persson P, Reimann A, de Sousa F, Gorton L, Jönsson LJ. Limits for alkaline detoxification of dilute-acid lignocellulose hydrolysates. Appl Biochem Biotechnol. 2003;105–108:615–28.View ArticleGoogle Scholar
Cavka A, Jönsson LJ. Detoxification of lignocellulosic hydrolysates using sodium borohydride. Bioresour Technol. 2013;136:368–76.View ArticleGoogle Scholar
Jönsson LJ, Palmqvist E, Nilvebrant N-O, Hahn-Hägerdal B. Detoxification of wood hydrolysates with laccase and peroxidase from the white-rot fungus Trametes versicolor. Appl Microbiol Biotechnol. 1998;49:691–7.View ArticleGoogle Scholar
Larsson S, Reimann A, Nilvebrant N-O, Jönsson LJ. Comparison of different methods for the detoxification of lignocellulose hydrolysates of spruce. Appl Biochem Biotechnol. 1999;77–79:91–103.View ArticleGoogle Scholar
Ximenes E, Kim Y, Mosier N, Dien B, Ladisch M. Inhibition of cellulases by phenols. Enzyme Microb Technol. 2010;46:170–6.View ArticleGoogle Scholar
Kim Y, Ximenes E, Mosier NS, Ladisch MR. Soluble inhibitors/deactivators of cellulase enzymes from lignocellulosic biomass. Enzyme Microb Technol. 2011;48:408–15.View ArticleGoogle Scholar
Gellerstedt G. Chemistry of pulp bleaching. In: Heitner C, Dimmel DR, Schmidt JA, editors. Lignin and lignans—advances in chemistry. Boca Raton: CRC Press; 2010. p. 393–438.View ArticleGoogle Scholar
Alriksson B, Sjöde A, Nilvebrant N-O, Jönsson LJ. Optimal conditions for alkaline detoxification of dilute-acid lignocellulose hydrolysates. Appl Biochem Biotechnol. 2006;129–132:599–611.View ArticleGoogle Scholar
Alriksson B, Cavka A, Jönsson LJ. Improving the fermentability of enzymatic hydrolysates of lignocellulose through chemical in situ detoxification with reducing agents. Bioresour Technol. 2011;102:1254–63.View ArticleGoogle Scholar
Soudham VP, Brandberg T, Mikkola JP, Larsson C. Detoxification of acid pretreated spruce hydrolysates with ferrous sulfate and hydrogen peroxide improves enzymatic hydrolysis and fermentation. Bioresour Technol. 2014;166:559–65.View ArticleGoogle Scholar
Sjöström E. Wood chemistry: fundamentals and applications. London: Academic Press Inc.; 1993.Google Scholar
Ek M, Gierer J, Jansbo K, Reitberger T. Study on the selectivity of bleaching with oxygen-containing species. Holzforschung. 1989;43:391–6.View ArticleGoogle Scholar
Bouchard J, Nugent HM, Berry RM. The role of water and hydrogen ion concentration in ozone bleaching of kraft pulp at medium consistency. Tappi J. 1995;78:74–82.Google Scholar
Zhang XZ, Ni Y, van Heiningen A. Kinetics of cellulose degradation during ozone bleaching. J Pulp Paper Sci. 2000;26:335–9.Google Scholar
Ragnar M. On the importance of radical formation in ozone bleaching. Doctoral dissertation. Stockholm: Department of Pulp and Paper Chemistry and Technology, Royal Institute of Technology (KTH); 2000.Google Scholar
Eriksson T, Ragnar M, Reitberger T. Studies on the radical formation in ozone reactions with lignin and carbohydrate model compounds. Int Pulp Bleach Conf Hels Finl. 1998;1:119–26.Google Scholar
Ragnar M, Eriksson T, Reitberger T. Radical formation in ozone reactions with lignin and carbohydrate model compounds. Holzforschung. 1999;53:292–8.Google Scholar
Craigee R. The course of ozonization of unsaturated compounds. Rec Chem Prog. 1957;18:111–20.Google Scholar
Ragnar M, Eriksson T, Reitberger T, Brandt P. A new mechanism in the ozone reaction with lignin like structures. Holzforschung. 1999;53:423–8.Google Scholar
Eriksson T, Gierer J. Studies on the ozonation of structural elements in residual Kraft lignins. J Wood Chem Technol. 1985;5:53–84.View ArticleGoogle Scholar
Persson P, Andersson J, Gorton L, Larsson S, Nilvebrant N-O, Jönsson LJ. Effect of different forms of alkali treatment on specific fermentation inhibitors and on the fermentability of lignocellulose hydrolysates for production of fuel ethanol. J Agric Food Chem. 2002;50:5318–25.View ArticleGoogle Scholar
Cavka A, Alriksson B, Ahnlund M, Jönsson LJ. Effect of sulfur oxyanions on lignocellulose-derived fermentation inhibitors. Biotechnol Bioeng. 2011;108:2592–9.View ArticleGoogle Scholar
Nilvebrant N-O, Björklund Jansson M. Hydroxyl radical formation during hydrogen peroxide bleaching. Stockholm: STFI-Packforsk Report 197; 2005.Google Scholar
Sluiter A, Hames B, Ruiz R, Scarlata C, Sluiter J, Templeton D. Determination of sugars, byproducts, and degradation products in liquid fraction process samples. Golden: National Renewable Energy Laboratory; 2006.Google Scholar


text:
@interface MessageViewController ()<UITableViewDataSource,UITableViewDelegate,MessageRecordHeaderViewDelegate>
-(void)initNavigation;
-(void)backClick;
-(void)reloadGroupArray;
-(void)reloadMessageArray;

-(void)rightNavClick;
-(void)createRrightNavItem;

- (UIImage *)imageTransform:(UIImage *)image rotation:(UIImageOrientation)orientation;

-(void)cube_MessageUpdated;

@end

@implementation MessageViewController

- (id)init{
    self = [super init];
    if (self) {

        groupArray=[[NSMutableArray alloc] initWithCapacity:2];
        messageArray=[[NSMutableArray alloc] initWithCapacity:2];
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(cube_MessageUpdated) name:@"Cube_MessageUpdated" object:nil];
        self.title = @"消息推送";

    }
    return self;
}

- (void)viewDidLoad{
    [super viewDidLoad];

    selectedModuleIdentifier=nil;
    [self reloadGroupArray];

    self.view.backgroundColor=[UIColor whiteColor];

    [self initNavigation];

    CGRect rect=self.view.bounds;
    rect.origin.y=CGRectGetMaxY(navigationBar.frame);
    rect.size.height-=rect.origin.y;

    tableView=[[UITableView alloc] initWithFrame:rect style:UITableViewStylePlain];
    tableView.backgroundColor=[UIColor whiteColor];
    tableView.delegate=self;
    tableView.dataSource=self;

    UIView* v=[[UIView alloc] init];
    v.backgroundColor=[UIColor clearColor];
    tableView.tableFooterView=v;
    tableView.tableHeaderView=v;

    [self.view addSubview:tableView];

    [self createRrightNavItem];

}

- (void)didReceiveMemoryWarning{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

#pragma mark method

-(void)initNavigation{
    navigationBar=[[UINavigationBar alloc] initWithFrame:CGRectMake(0.0f, 20.0f, self.view.frame.size.width, 44.0f)];
    if([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0){
        navigationBar.barTintColor = [UIColor colorWithRed:70/255.0 green:135/255.0 blue:199/255.0 alpha:1];
        navigationBar.translucent = NO;
        UIColor * cc = [UIColor whiteColor];
        NSDictionary * dict = [NSDictionary dictionaryWithObject:cc forKey:UITextAttributeTextColor];
        navigationBar.titleTextAttributes = dict;
    }
    else{
        [navigationBar setTintColor: [UIColor colorWithRed:70/255.0 green:135/255.0 blue:199/255.0 alpha:1]];
    }
    navigationItem=[[UINavigationItem alloc] initWithTitle:self.title];
    navigationItem.leftBarButtonItem=[[UIBarButtonItem alloc] initWithTitle:@"返回" style:UIBarButtonItemStyleBordered target:self action:@selector(backClick)];
    if([[[UIDevice currentDevice] systemVersion] floatValue]>=7.0f)
        [navigationItem.leftBarButtonItem setTintColor:[UIColor whiteColor]];
    [navigationBar pushNavigationItem:navigationItem animated:NO];
    [self.view addSubview:navigationBar];

}

-(void)backClick{
    [self.navigationController popViewControllerAnimated:YES];
}

-(void)rightNavClick{
    [tableView setEditing:!tableView.editing animated:YES];
    [self createRrightNavItem];
}

-(void)createRrightNavItem{
    if([groupArray count]<1){
        navigationItem.rightBarButtonItem=nil;
        return;
    }
    navigationItem.rightBarButtonItem=[[UIBarButtonItem alloc] initWithTitle:(tableView.editing?@"取消":@"编辑") style:UIBarButtonItemStyleDone target:self action:@selector(rightNavClick)];

    if([[[UIDevice currentDevice] systemVersion] floatValue]>=7.0f)
        [navigationItem.rightBarButtonItem setTintColor:[UIColor whiteColor]];

}

- (UIImage *)imageTransform:(UIImage *)image rotation:(UIImageOrientation)orientation{
    long double rotate = 0.0;
    CGRect rect;
    float translateX = 0;
    float translateY = 0;
    float scaleX = 1.0;
    float scaleY = 1.0;
    switch (orientation) {
        case UIImageOrientationLeft:
            rotate = M_PI_2;
            rect = CGRectMake(0, 0, image.size.height, image.size.width);
            translateX = 0;
            translateY = -rect.size.width;
            scaleY = rect.size.width/rect.size.height;
            scaleX = rect.size.height/rect.size.width;
            break;
        case UIImageOrientationRight:
            rotate = 3 * M_PI_2;
            rect = CGRectMake(0, 0, image.size.height, image.size.width);
            translateX = -rect.size.height;
            translateY = 0;
            scaleY = rect.size.width/rect.size.height;
            scaleX = rect.size.height/rect.size.width;
            break;
        case UIImageOrientationDown:
            rotate = M_PI;
            rect = CGRectMake(0, 0, image.size.width, image.size.height);
            translateX = -rect.size.width;
            translateY = -rect.size.height;
            break;
        default:
            rotate = 0.0;
            rect = CGRectMake(0, 0, image.size.width, image.size.height);
            translateX = 0;
            translateY = 0;
            break;
    }

    UIGraphicsBeginImageContext(rect.size);
    CGContextRef context = UIGraphicsGetCurrentContext();
    //做CTM变换
    CGContextTranslateCTM(context, 0.0, rect.size.height);
    CGContextScaleCTM(context, 1.0, -1.0);
    CGContextRotateCTM(context, rotate);
    CGContextTranslateCTM(context, translateX, translateY);

    CGContextScaleCTM(context, scaleX, scaleY);
    //绘制图片
    CGContextDrawImage(context, CGRectMake(0, 0, rect.size.width, rect.size.height), image.CGImage);

    UIImage *newPic = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return newPic;
}

-(void)reloadGroupArray{
    [groupArray removeAllObjects];
    MessageModule* messageModule=(MessageModule*)[[CApplication sharedApplication] moduleForIdentifier:@"Message"];
    NSArray* array=[messageModule.messageManager messageGroupList];
    if([array count]>0)
        [groupArray addObjectsFromArray:array];
}

-(void)reloadMessageArray{
    [messageArray removeAllObjects];
    if([selectedModuleIdentifier length]>0){
        MessageModule* messageModule=(MessageModule*)[[CApplication sharedApplication] moduleForIdentifier:@"Message"];
        NSArray* array=[messageModule.messageManager messageList:selectedModuleIdentifier];
        [messageArray addObjectsFromArray:array];
    }
}

-(void)cube_MessageUpdated{
    [self reloadGroupArray];
    [self reloadMessageArray];
    [tableView reloadData];

    [self createRrightNavItem];

}

#pragma mark - Table view data source

- (NSInteger)numberOfSectionsInTableView:(UITableView *)__tableView{
    return [groupArray count];
}

- (NSInteger)tableView:(UITableView *)__tableView numberOfRowsInSection:(NSInteger)section{
    MessageGroupModel* groupModel=[groupArray objectAtIndex:section];
    if([groupModel.moduleIdentifer isEqualToString:selectedModuleIdentifier])
        return [messageArray count];
    else
        return 0.0f;
}

- (UITableViewCell *)tableView:(UITableView *)__tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    MessageRecordCell *cell = [__tableView dequeueReusableCellWithIdentifier:@"cell"];
    if (cell == nil) {
        cell = [[MessageRecordCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"];
    }

    MessageModel* messageModel=[messageArray objectAtIndex:[indexPath row]];

    [cell title:messageModel.title content:messageModel.content time:messageModel.receiveTime isRead:messageModel.isRead];

    return cell;
}

- (CGFloat)tableView:(UITableView *)__tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {

    MessageModel* messageModel=[messageArray objectAtIndex:[indexPath row]];

    return [MessageRecordCell cellHeight:messageModel.title content:messageModel.content width:__tableView.frame.size.width];

}

- (UIView *)tableView:(UITableView *)__tableView viewForHeaderInSection:(NSInteger)section{

    MessageGroupModel* groupModel=[groupArray objectAtIndex:section];

    MessageRecordHeaderView *headerView = [[MessageRecordHeaderView alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth(self.view.frame), 36)];
    headerView.delegate = self;
    headerView.section = section;
    headerView.moduleId = groupModel.moduleIdentifer;

    [headerView configureWithIconUrl:nil moduleName:groupModel.moduleName messageCount:[NSString stringWithFormat:@"%d",groupModel.totalCount] sectionIndenx:section withUnReadCount:[NSString stringWithFormat:@"%d",groupModel.unReadCount]];

    headerView.tag = section + 10;

    UIImageView* arrowImageView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"Message.bundle/images/xmpp_arrow.png"]];
    arrowImageView.frame= CGRectMake(17, 15, 10, 11);
    if([groupModel.moduleIdentifer isEqualToString:selectedModuleIdentifier]){
        arrowImageView.image  = [self imageTransform:arrowImageView.image rotation:UIImageOrientationRight];
    }
    [headerView addSubview:arrowImageView];

    return headerView;
}

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
    return 36;
}

- (UITableViewCellEditingStyle)tableView:(UITableView *)__tableView
           editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
    if(__tableView.editing)
        return UITableViewCellEditingStyleDelete;
    return UITableViewCellEditingStyleNone;
}

//修改删除按钮的文字
-(NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath {
    return @"删除";
}

- (void)tableView:(UITableView *)__tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath{
    if (editingStyle == UITableViewCellEditingStyleDelete) {
        MessageModule* messageModule=(MessageModule*)[[CApplication sharedApplication] moduleForIdentifier:@"Message"];
        MessageModel* messageModel=[messageArray objectAtIndex:[indexPath row]];
        [messageModule.messageManager removeMesageById:messageModel.messageId];
        [messageArray removeObject:messageModel];

        [__tableView deleteRowsAtIndexPaths:[NSArray arrayWithObjects:indexPath, nil] withRowAnimation:UITableViewRowAnimationAutomatic];

        if([messageArray count]<1 && [selectedModuleIdentifier length]>0){
            __block int newSelected=-1;
            [groupArray enumerateObjectsUsingBlock:^(id obj,NSUInteger index,BOOL* stop){
                MessageGroupModel* groupModel=obj;
                if([groupModel.moduleIdentifer isEqualToString:selectedModuleIdentifier]){
                    newSelected=index;
                    *stop=YES;
                }

            }];

            selectedModuleIdentifier=nil;
            if(newSelected>-1){
                [groupArray removeObjectAtIndex:newSelected];
                [tableView deleteSections:[NSIndexSet indexSetWithIndex:newSelected] withRowAnimation:UITableViewRowAnimationAutomatic];

                if([groupArray count]<1)
                    [self createRrightNavItem];
            }
        }
    }
}

- (void)tableView:(UITableView *)__tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

    MessageModel* messageModel=[messageArray objectAtIndex:[indexPath row]];
    messageModel.isRead=YES;
    MessageModule* messageModule=(MessageModule*)[[CApplication sharedApplication] moduleForIdentifier:@"Message"];
    [messageModule.messageManager setIsReadMessageById:messageModel.messageId];
    [__tableView reloadRowsAtIndexPaths:[NSArray arrayWithObjects:indexPath, nil] withRowAnimation:UITableViewRowAnimationAutomatic];

    [__tableView deselectRowAtIndexPath:indexPath animated:YES];

}

#pragma mark messagerecordheaderview delegate

-(void)shouldShowCellInModule:(NSString *)moduleId atIndex:(NSInteger)section{

    MessageGroupModel* groupModel=[groupArray objectAtIndex:section];
    moduleId=groupModel.moduleIdentifer;
    __block int oldSelected=-1;
    __block int newSelected=-1;

    if([moduleId isEqualToString:selectedModuleIdentifier]){
        selectedModuleIdentifier=nil;
        [groupArray enumerateObjectsUsingBlock:^(id obj,NSUInteger index,BOOL* stop){
            MessageGroupModel* groupModel=obj;
            if([groupModel.moduleIdentifer isEqualToString:selectedModuleIdentifier]){
                oldSelected=index;
            }
            else if([groupModel.moduleIdentifer isEqualToString:moduleId]){
                newSelected=index;
            }
        }];
    }
    else{
        [groupArray enumerateObjectsUsingBlock:^(id obj,NSUInteger index,BOOL* stop){
            MessageGroupModel* groupModel=obj;
            if([groupModel.moduleIdentifer isEqualToString:selectedModuleIdentifier]){
                oldSelected=index;
            }
            else if([groupModel.moduleIdentifer isEqualToString:moduleId]){
                newSelected=index;
            }
        }];
        selectedModuleIdentifier=moduleId;
    }

    [self reloadMessageArray];

    [tableView reloadData];
}

-(void)deleteModuleData:(NSInteger)section{
    MessageModule* messageModule=(MessageModule*)[[CApplication sharedApplication] moduleForIdentifier:@"Message"];

    MessageGroupModel* groupModel=[groupArray objectAtIndex:section];
    [messageModule.messageManager removeMessageByGroup:groupModel.moduleIdentifer];

    if([groupModel.moduleIdentifer isEqualToString:selectedModuleIdentifier]){
        [groupArray removeObjectAtIndex:section];
        selectedModuleIdentifier=nil;
        [tableView deleteSections:[NSIndexSet indexSetWithIndex:section] withRowAnimation:UITableViewRowAnimationAutomatic];
    }
    else{
        [groupArray removeObjectAtIndex:section];
    }
    if([groupArray count]<1)
        [self createRrightNavItem];
}

@end

redpajama_set_name: RedPajamaGithub


It probably comes as a shock to anyone underneath 30 that there used to be pc games without graphics. At one time, pc shows have been strictly text-based mostly; the one photos they may produce were ASCII artwork, footage composed of strategically placed letters, numbers, and particular characters. It was an entire totally different world then, and LAPTOP games had to make do with very limited resources. Interactive fiction games were born in consequence. It certainly is worth a try. The trick is to take your time and do one step at a time – then it becomes quite easy to make a square. The tangram books and videos have puzzle issues in them to suit everyone from kids by way of to math professors, too.
Heavy Fire: Afghanistan is a frantic rail-primarily based, first-particular person-shooter sport that delivers non-stop action. Within the sport you get to play via 24 different missions that can have you ever working, flying, and driving by way of conflict-torn Afghanistan, blasting terrorists for the good of mankind.
The primary goal of the sport is to upgrade your character by unlocking special talents and rise via the ranks to change into a general or elite fighter. Gamers can either use the standard PS3 controller or the PlayStation Move to navigate the maps and blast foes.
Come and go to us at 3 zero NW 2nd Street in Historic Downtown Gresham We've got a full vary of household games, strategy games, Euro-fashion games, conflict games, card games, dice games and extra. Also for the puzzle lovers we stock quality puzzles from Ravensburger, White Mountain, and Cobble Hill.
For those who performed Mario Cart or every other Cart game you may recognize the sport play from those games on this one. It is a simple racing sport with loads of action, a number of enjoyable and a lot of completely different characters to select from. The graphics of the game is simply nice and fun. There's many various recreation modes within the recreation so you won't get bored quick of this game. This an amazing racing game that the entire family can play and master. Read some extra in-depth evaluations by clicking the Amazon link under.


text:
Employment Agreement - Leslie Moonves and Viacom Inc.
As of May 25, 2000
Mr. Leslie Moonves
Re: Employment Agreement
Dear Mr. Moonves:
Reference is hereby made to the employment agreement dated as of May 17,
1995, as amended as of June 29, 1995, October 16, 1995, January 20,
1998 and July 5, 1999 (collectively the "Agreement") between you and
us, in connection with your services for CBS.
You and we have agreed, and do hereby agree, to amend the Agreement as
follows, effective May 25, 2000:
1. Subparagraph 1(b) of the Agreement is hereby deleted and, in lieu
thereof, is replaced with the following:
"(b) Executive shall report directly and only to the person who is the
Chief Executive Officer of Viacom Inc. ("Viacom"); provided, however,
that Executive may report directly to the person who is the Chief
Operating Officer of Viacom if that person is Mel Karmazin."
2. Subparagraph 1(d) of the Agreement is hereby deleted and, in lieu
"So long as this Agreement is not terminated pursuant to paragraph 7
below and Executive is rendering services hereunder, Executive shall
provide executive services to CBS in the manner determined by the
person who is the Chief Executive Officer of Viacom or the Chief
Operating Officer of Viacom if the Chief Operating Officer is Mel
Karmazin."
3. Subparagraph 2(b)(ii) of the Agreement is hereby amended by deleting the
reference to the "Compensation Committee of the CBS Board of Directors" and, in
lieu thereof, inserting the "Compensation Committee of the Viacom Board of
Directors."  The remainder of said paragraph shall remain unchanged.
4. Paragraph 15 of the Agreement is hereby amended by deleting, in the
second sentence of said paragraph, the reference to "Louis J. Briskman,
Executive Vice President and General Counsel" and, in lieu thereof, inserting
"Michael D. Fricklas, Executive Vice President, General Counsel and Secretary".
The remainder of said paragraph (including said second sentence) shall remain
unchanged.
5. Paragraph 16 of the Agreement is hereby amended by deleting the
Directors" and by adding the following additional grammatical paragraphs at the
end of said paragraph 16:
"Executive hereby acknowledges that on or about January 26, 2000, he was
granted non-qualified stock options to purchase an aggregate of 250,000
shares of common stock of CBS Corporation under the Plan, as defined above
in this paragraph 16. Such stock option grant is reflected in and governed
by a stock option agreement executed by CBS Corporation and Executive whose
terms are consistent with the terms of the stock option agreements
applicable to the prior grants by CBS to Executive of 500,000 options on
June 17, 1997, 290,000 options on July 28, 1997, 250,000 options on
January 26, 1999 and 1,000,000 options on June 14, 1999.
In addition to the foregoing, Viacom has granted to Executive non-qualified
stock options to purchase an aggregate of 750,000 shares of Viacom Class B
common stock (the "Viacom Stock Options") under the Viacom 2000 Long-Term
Management Incentive Plan (the "2000 LTMIP").  The Viacom Stock Options
have an exercise price per share of $54.0625, the fair market value (as
defined in the 2000 LTMIP) of the Viacom Class B common stock on the grant
date (May 25, 2000).  Thirty-three and one-third percent of the Viacom
Stock Options shall vest on the first, second and third anniversaries of
the date of grant.  The Viacom Stock Options will expire on May 25, 2010
(the "Expiration Date").  If Executive's active employment with Viacom or
any of its subsidiaries
terminates for any reason other than for cause, the Viacom Stock Options
will be exercisable in accordance with the following provisions: (i) if
Executive dies, his outstanding Viacom Stock Options (including any Viacom
Stock Options that have not vested by the date of death) may be exercised
by the person who acquires the right to exercise such Viacom Stock Options
until the earlier of two (2) years after the date of death or the
Expiration Date; (ii) if Executive's employment is terminated by CBS other
than for disability or for cause or Executive terminates his employment for
Good Reason, his outstanding Viacom Stock Options (including any Viacom
Stock Options that have not vested by the termination date) can be
exercised by Executive until the earlier of three (3) years after the
termination date or the Expiration Date; (iii) in the event of Executive's
Retirement (as defined in the 2000 LTMIP), any outstanding Viacom Stock
Options that had vested prior to the date of his Retirement may be
exercised by Executive until the Expiration Date; (iv) in the event of
Executive's Permanent Disability (as defined in the 2000 LTMIP), any
outstanding Viacom Stock Options that had vested prior to the date of the
onset of Permanent Disability can be exercised by Executive until the
earlier of two (2) years after such date or the Expiration Date; or (v) if
Executive's employment terminates for any reason other than for cause or as
a result of death, termination by CBS other than for disability or for
cause or termination by Executive for Good Reason, Retirement or Permanent
Disability, any outstanding Viacom Stock Options that had vested by the
date of such termination of employment can be exercised by Executive until
the earlier of six (6) months after the date of termination or the
Expiration Date. The grant of the Viacom Stock Options shall be reflected
in and governed by a stock option agreement to be executed by Viacom and
provided to Executive upon his execution of the letter agreement dated as
of May 25, 2000 amending this agreement. In the event of any inconsistency
between the provisions of the stock option agreement and the provisions of
such letter agreement relating to the Viacom Stock Options, the provisions
of such letter agreement shall control."
Except as expressly provided hereinabove in this amendatory letter
agreement, all of the other terms and conditions of the Agreement, as amended
(including by the Amendment) shall remain unchanged and are hereby in all
respects ratified and confirmed.
Please indicate your agreement to the foregoing by signing in the space
provided below and delivering a copy of this amendatory letter agreement,
bearing your signature, to the undersigned.
CBS BROADCASTING INC.
By: /s/ William A. Roskin
Name:  William A. Roskin
Title: Senior Vice President
Human Resources and
/s/ Leslie Moonves
Leslie Moonves
Dated: 8/30/00

redpajama_set_name: RedPajamaCommonCrawl


Jobvertise is a free online job posting site. With Jobvertise, businesses can post jobs and accept resumes as applicants respond through the website.
Click "Post a Free Job."
Enter all of the job information and click "Add."
How can I edit a Jobvertise job posting?
Click "Post a Free Job" after logging in and fill in the online form to create Jobvertise job postings.
How can I delete a Jobvertise job posting?
You can delete and manage Jobvertise job postings by clicking "Post a Free Job" and then "Edit Jobs" at the top of the page.
How do I create a Jobvertise account?
To create a Jobvertise account, click "Login" on the homepage of the website, and then select "Register" under the employer menu. You can also visit the Jobvertise employer registration page here.
Are there any other sites like Jobvertise?


Spray-Lock® 4500 is a versatile spray adhesive naturally suited for adhering approved rubber flooring in commercial and residential applications.
Spray-Lock® 4500 uses 80% less adhesive compared to trowel applied epoxy and bucket adhesive. 4500's shear strength is immediate after installation. Because of these unique characteristics all traffic is allowed immediately.
Adhesive indentation or displacement associated with heavy rolling loads is avoided.
Spray-Lock® 4500 allows for the total substitution of epoxies high in VOC content.
Available in a wide range of looks, sheet vinyl flooring remains a popular choice in the commercial industry. Using Spray-Lock 3100 or 3500 on your sheet vinyl speeds up installations, allowing for immediate access to flooring. These non-toxic, low odor formulas are ideal for working in occupied spaces.


Real Talk: Real Food– Intimate roundtable discussions over a home cooked dinner.
Lunch roundtables– A topical discussion over lunch with other professionals.
Wine tastings- Interactive, educational, and a delicious way to network!
Networking: Cross industry networking is a must for all professionals. DRIVEN practices Proactive Hospitality resulting in energized networking and authentic connections.
Community Events: Thought provoking topics presented to the community then discussed in DRIVEN Signature Breakout Groups allow each participant to walk away with insight to themselves, to others, and the ability to commit to living a 'richer life' by applying lessons learned.
Workshops: Action oriented workshops provide participants with not only an action plan, but support during implementation.
Unique Community Opportunities: community roles such as group moderators, DRIVEN ambassadors and great books leaders instantly position you as a community thought leader. The skills learned in these positions are directly transferrable to job and life practices.
Social Events: Social events focus on personal development for the spirit, mind, soul, and body. All events will have a unique networking outlook, be educational and fun, too!
Strategic Partner Offers: Like minded companies have partnered with DRIVEN to offer our members unique experiences, or accessibility to goods and services at a discount. Check out our strategic partners.
APPLY NOW: We'll process your application and bill you within a week!


text:
A case of auto-immune hepatitis associated with primary Sjogren's syndrome
Kwon Y.D., Lee H.S., Park C.H., Jeen Y.T., Chun H.J., Lee S.W., Choi J.H., Kim C.D., Ryu H.S., Hyun J.H.
ArticleIssue Date2003CitationTaehan Kan Hakhoe chi = The Korean journal of hepatology, v.9, no.1, pp.25 - 30
Analysis of the factors that affect the mortality rate in severe acute pancreatitis
Lee B.J., Kim C.D., Jung S.W., Kwon Y.D., Kim Y.S., Yim H.J., Jeen Y.T., Lee H.S., Kim J.S., Chun H.J., et al.
ArticleIssue Date2008CitationThe Korean journal of gastroenterology, v.51, no.1, pp.25 - 33
Changes in liver stiffness during the course of acute hepatitis A.
Seo Y.S., Um S.H., Suh S.J., Jung E.S., Jang J.S., Kwon Y.D., Park S.H., Keum B., Kim Y.S., Jeen Y.T., et al.
The current status of ulcerative colitis-associated colorectal cancer in Korea: a KASID study
Chang D.K., Kim Y.H., Byeon J.S., Yang S.K., Chung Y.W., Han D.S., Kim S.G., Kim T.I., Kim W.H., Jeen Y.T., et al.
ArticleIssue Date2005CitationThe Korean journal of gastroenterology = Taehan Sohwagi Hakhoe chi, v.46, no.4, pp.276 - 282
Comparison of the effectiveness of quadruple salvage regimen for Helicobacter pylori infection according to the duration of treatment
Choung R.S., Lee S.W., Jung S.W., Han W.S., Kim M.J., Jeen Y.T., Park J.J., Lee H.S., Chun H.J., Um S.H., et al.
ArticleIssue Date2006CitationThe Korean journal of gastroenterology, v.47, no.2, pp.131 - 135
Efficacy of 14 day OBMT therapy as a second-line treatment for Helicobacter pylori infection
Park S.C., Chun H.J., Jung S.W., Keum B., Han W.S., Choung R.S., Kim Y.S., Jeen Y.T., Lee H.S., Um S.H., et al.
An analysis of extravariceal collaterals of gastric varices using magnetic resonance angiography in portal hypertensive patients
Park C.H., Chun H.J., Jeong R.S., Kim K.H., Kim Y.S., Kim Y.S., Jeen Y.T., Lee H.S., Um S.H., Lee S.W., et al.
Comparison of Helicobacter pylori eradication rate according to different PPI-based triple therapy--omeprazole, rabeprazole, esomeprazole and lansoprazole--
Keum B., Lee S.W., Kim S.Y., Kim J.M., Choung R.S., Yim H.J., Jeen Y.T., Lee H.S., Chun H.J., Um S.H., et al.
[Efficacy of fenoverine and trimebutine in the management of irritable bowel syndrome: multicenter randomized double-blind non-inferiority clinical study].
Kang S.H., Jeen Y.T., Koo J.S., Koo Y.S., Kim K.O., Kim Y.S., Kim S.Y., Moon J.S., Park J.J., Baek I.H., et al.
Survival analysis according to treatment modality in pancreatic cancer patient
Jung S.W., Park J.Y., Kim Y.S., Jeen Y.T., Lee H.S., Chun H.J., Um S.H., Lee S.W., Choi J.H., Kim C.D., et al.
Hoon Jai, Chun 8
Jai Hyun, Choi 7
Hong Sik, Lee 6
Sang Woo, Lee 6
Yong Sik, Kim 5
Choung R.S. 4
Hyun J.H. 4
Humans 11
대한소화기학회지 8
Taehan Kan Hakhoe chi = The Korea... 1


PHILADELPHIA — Cablevision Systems Corp. said Thursday said its second-quarter profit fell sharply as a hefty loss related to paying down debt helped offset revenue gains as more people signed up for its video, Internet and phone services.
But the New York regional cable TV company otherwise saw a strong performance across the board, adding video subscribers in the quarter unlike other major cable operators.
The exception was its Newsday newspaper operations. The paper's revenue fell as advertising weakened yet again.
The Bethpage, N.Y., company reported net income of $60.9 million, or 21 cents per share, in the quarter ended June 30. That's down from $87 million, or 30 cents per share, a year ago.
Earnings included a $110 million loss related to paying off its debt and to write off certain financing costs. It also incurred higher interest expenses and investment losses.
Revenue rose 5.8 percent to $1.8 billion from $1.7 billion.
Analysts surveyed by Thomson Reuters were expecting earnings of 40 cents per share on revenue of $1.77 billion. Their earnings estimates typically exclude one-time items. Cablevision did not provide an earnings figure that excludes losses related to debt and investments.
In the quarter, video, Internet and phone revenue rose 6 percent to $1.44 billion. Customers on average paid $149.12 a month for the three services, up 6.8 percent.
Its Rainbow unit, which handles the AMC, Sundance and IFC cable channels, among others, saw revenue increase by 11 percent to $280.5 million. Advertising revenue at AMC, WE tv and IFC rose by 18 percent mainly due to an increase in rates.
Newsday's revenue fell by 9.7 percent to $80.1 million as ad revenue slumped 12.6 percent.
Cablevision gained 2,900 video customers in the quarter from the first quarter, and among those, 21,100 signed up for digital cable TV. It also added 27,000 net new Internet subscribers and 24,900 phone customers.
Time Warner Cable Inc., which also reported earnings on Thursday, and Comcast Corp. lost basic video customers in the latest quarter. Comcast released its second-quarter results last week. But they each added Internet and phone customers — two of cable's growth areas.
Shares of Cablevision rose 41 cents, or 1.5 percent, to $27.95 in morning trading Thursday.


text:
package org.cf.smalivm.opcode;

import gnu.trove.map.TIntObjectMap;

import org.cf.smalivm.VirtualMachine;
import org.jf.dexlib2.builder.MethodLocation;
import org.jf.dexlib2.iface.instruction.formats.Instruction11x;

public class ThrowOpFactory implements OpFactory {

    @Override
    public Op create(MethodLocation location, TIntObjectMap<MethodLocation> addressToLocation, VirtualMachine vm) {
        Instruction11x instr = (Instruction11x) location.getInstruction();
        int register = instr.getRegisterA();

        return new ThrowOp(location, register);
    }

}


IF YOU DON'T like The Muppets, you are not a happy person. The newest version airs Tuesday nights and you have to watch carefully to catch all the humor - a true mark of comedic genius. Sheryl accidentally watched the first one and we have enjoyed this new take on an old favorite.
What they really do well is the non-verbal stuff. Watch the clip above of the epic drum-off between Dave Grohl of the Foo Fighters and Animal. When Grohl says something about school being in session, catch the priceless look Animal gives him.
I used to get teased about looking like Beaker from The Muppets. I hated it back then, but now I consider it an honor. My favorite character is the guy with the glasses and no eyeballs. And who doesn't love Kermit The Frog?
About a month ago they showed the band in a van, and when Janis said something about getting paid, Animal said, "What do you mean, we get paid?" I about fell off the couch and I almost cried instead of laugh - truth is comedy, and comedy is life.


Across the country, as Labor Day revelers drifted from one barbecue to another, hotel workers took to the streets to protest their working conditions and demand better pay.
Here in Seattle, activists chanted and picketed in front of the Westin Seattle, located downtown, at one point snarling traffic on 5th Avenue, between Stewart and Virginia streets. The tactic of blocking traffic has become commonplace in Seattle activism, but unlike protesters in previous actions, the hotel workers who took action Monday night did so after it was made clear that they would likely be prosecuted for their actions.
While it had been planned for weeks, the protest came just days after City Attorney Pete Holmes announced in an Op-Ed in the Seattle Times that he would be pressing charges against activists who obstruct traffic. The announcement followed the filing of criminal charges against several immigrant-rights activists arrested during an action in early June. But the Labor Day protest marked the first flurry of arrests since the publication of Holmes' statement.
Police say they warned protesters who had taken position in the street in front of the Marriott to move to the sidewalk shortly before 6 p.m. Activists continued to block traffic, although they did not employ the so-called "sleeping dragon" tactic that Holmes referenced in his announcement — locking arms inside plastic pipes and lying on the road. In the end, police arrested 21 people, charged them with pedestrian interference, and booked them into King County jail. Activists have the option to plead guilty or non-guilty and the right to a jury trial. If convicted, a protester faces up to 90 days in jail and a $1,000 fine for such a charge.
According to Unite Here Local 8, which organized the protest and represents workers in the hotel, food service and airport industries in Washington and Oregon, hotel workers in Seattle and six other cities have been working without a contract since May 31. Nationally, more than 100 hotel workers pushing for a living wage and steady hours were arrested on Labor Day, including in San Francisco, Boston, Honolulu, Detroit, San Jose, and San Diego.
According to last week's announcement, that job now includes prosecution for disruptive activists, whether they are railing against Trump's immigration policies, or organized by an environmental group or proponents of gun rights. In his Op-Ed, the city attorney claimed that his approach has nothing to do with the target of the protests.
"Make no mistake: I am fully committed to immigrants' rights and environmental protection, and I believe the advocates' causes to be just. But what I personally believe doesn't matter. Ask yourself whether you'd really want me, a representative of the government, deciding which causes or underlying messages make a person's actions immune from prosecution," Holmes wrote.
Holmes' argument prompted a vocal response from activists across the region. In a recent Facebook post, lawyer and former mayoral candidate Nikkita Oliver aligned Holmes with President Donald Trump.
At City Hall on Tuesday, activists representing various causes — immigrant rights, environmental protection, opposition to King County's new youth jail — gathered to denounce Holmes' statement.
"We've never needed action more," he concluded.
Kelsen Caldwell, a bus driver recently arrested and charged at an ICE protest, said "it's ridiculous to blame protesters for the traffic in this city and that is basically what Pete Holmes is doing." A jury found Caldwell not guilty of pedestrian interference. Caldwell called the trial a waste of government resources.
Neal Fox of the Seattle chapter of the National Lawyers Guild said he's never known a protester to actually be found guilty of pedestrian interference. Fox said that's because the city's pedestrian interference ordinance makes an exception for "acts authorized as an exercise of one's constitutional right to picket or to legally protest."
"He is wasting activists' time who now have to go to court to deal with this," Fox argued.
"Even the ACLU's 'know your rights' protest guide informs their readers that 'If you intentionally block traffic as an act of civil disobedience, you could face criminal charges,'" said Holmes' spokesperson Dan Nolte.
Holmes added: "If anyone thinks I haven't been using my platform to speak out against the Trump Administration's draconian immigration actions and to defend immigrant rights, you may not have been paying attention."
Correction: A previous version of this story characterized Holmes' stated approach to disruptive protesters as a "new directive." The city attorney's office has previously filed charges following these kinds of protests. The announcement was a statement of ongoing practices.


text:
En typographie, un triangle est un caractère représentant un triangle géométrique.

L'unicode et le langage LaTeX disposent de plusieurs caractères triangulaires sans signification particulière, à la différence de certaines lettres des alphabets latin ('A') et grec ('Δ', « delta »), de certains opérateurs (« ∆ », laplacien et « ∇ », nabla) et certaines relations (« ⊲ » et « ⊳ » pour la normalité d'un sous-groupe), des symboles de triangle rectangle (« ⊿ »), de cause (« ∵ ») et de conséquence (« ∴ »), voire de l'astérisme (« ⁂ »).

Le triangle rectangle en bas à droite d'intérieur noir est notamment utilisé pour commander l'affichage d'une variable dans les programmes sur calculatrice Casio.

Voir aussi
 Table des caractères Unicode/U25A0 (autres formes géométriques).

Symbole

redpajama_set_name: RedPajamaWikipedia


text:
Q: Paypal checkout can you auto expand the cart When a user clicks Pay with Paypal button on my site, the checkout pop-up appears with no information other than the total.  If you click the cart at the top then you see details of the transaction.  Many users will not know to click the cart.   Is there a way to show this info by default?
I am using the JavaScript SDK in Sandbox mode

Sample Code:
  paypal.Buttons({
  style: {
    shape: 'rect',
    color: 'gold',
    layout: 'vertical',
    label: 'pay',

  },
 createOrder: function(data, actions) {
  // This function sets up the details of the transaction, including the amount and line item details.

var orderDescription = "TEST "
  return actions.order.create({
    intent: "CAPTURE",

    purchase_units: [{
         amount: {
                currency_code: "CAD",
                value: "150.00",
                breakdown: {
                    item_total: {
                        currency_code: "CAD",
                        value: "150.00"
                    }
                }
            },
            items: [
                {
                    name: "Computer",
                    description: "The best item ever",
                    sku: "xyz-2654",
                    unit_amount: {
                        currency_code: "CAD",
                        value: "50.00"
                    },
                    quantity: "3"
                },

            ]

        }],
    payee: {
         email_address: "payee@gmail.com"

       },
    payee_display_metadata: {
        brand_name: "name"
    },

     application_context: {
                shipping_preference: "NO_SHIPPING",
                business_name:"name",
          "brand_name": "Name",  // SHOWS ONLY on CANCEL AND RETURN TO brand_name
     },
     note_to_payer: "Contact us for any questions on your order.",

  });

A: No, there is no way to expand it by default.
Focus on designing your site's page so that information about contents and the total is all presented clearly before the user clicks to open the payment approval window.

redpajama_set_name: RedPajamaStackExchange


Scientists follow the scientific method, within which theories must be verifiable by physical experiment. The majority of prominent conceptions of God explicitly or effectively posit a being which is not testable either by proof or disproof. On these bases, the question regarding the existence of God, one for which evidence cannot be tested, may lie outside the purview of modern science by definition. The Catholic Church maintains that knowledge of the existence of God is the "natural light of human reason".Fideists maintain that belief in the existence of God may not be amenable to demonstration or refutation, but rests on faith alone.


professional guides to lead your way.
Minnesota Whitewater Rafting trips are truly unique because they are participatory. We do not take you down the river – we talk you down. Your River Guides accompany you in kayaks–constantly monitoring and supervising your adventure on the river with us while an In-Raft Guide helps you paddle and hit the best features. Our In-Raft Guides are experienced rafters who will provide you with an additional level of personal attention, safety, and fun–they know all the holes and waves to hit.
Visitors with rafting and river experience who wish to take their own raft may opt to go without an In-Raft Guide for $40 per raft. Please call (218) 522-4446 for details regarding the In-Raft Guides and the option to pay to guide your own raft.


text:
Hawley's "Dukakis-on-the-tank moment". . . *PIC*
Posted By: Long-Gone
(NBC News) WASHINGTON — One of his most important early backers now says supporting him "was the worst mistake I ever made in my life" and a top donor called for him to be censured by the Senate.
That's just some of the condemnation that's come Sen. Josh Hawley's way since the Missouri Republican became the first senator to announce he would object to the counting of Electoral College votes and then moved forward with his plan even after a pro-President Donald Trump mob had stormed the Capitol on Wednesday.
The largest newspapers in his home state called on him to resign. His publisher canceled its contract with him for an upcoming book. He's been pilloried by both Democrats and Republicans for leading the futile objection effort.
And a viral photo of Hawley entering the Capitol before the riot, showing the senator in a slim-fitting suit, hair perfectly coiffed and raising his fist toward the gathered crowd, has already become a lasting image of a day that won't soon be forgotten.
"It was like a Dukakis-on-the-tank moment," one Republican strategist told NBC News in reference to a famous attack ad on the 1988 Democratic presidential nominee, "in that he just looked phony and out of place and like a doofus."


Portland. Or things that make you go Mmmmm.
Actual human air stewards, and why you shouldn't eat me. Honest.
Day 2: Tara, spare pilots, and why Atlantans love The Antiques Roadshow.
Just call me Mrs Fahrenheit….
Buh-bye, America. And thanks for all the pancakes.


Oracle - SQL - Subqueries Watch more Videos at https://www.tutorialspoint.com/videotutorials/index.htm Lecture By: Mr. Anadi Sharma, Tutorials Point India Private Limited.
Views: 6040 Tutorials Point (India) Pvt. Ltd.
Text version of the video http://csharp-video-tutorials.blogspot.com/2013/01/what-to-choose-for-performance.html Slides http://csharp-video-tutorials.blogspot.com/2013/09/part-62-what-to-choose-for-performance.html All SQL Server Text Articles http://csharp-video-tutorials.blogspot.com/p/free-sql-server-video-tutorials-for.html All SQL Server Slides http://csharp-video-tutorials.blogspot.com/p/sql-server.html All Dot Net and SQL Server Tutorials in English https://www.youtube.com/user/kudvenkat/playlists?view=1&sort=dd All Dot Net and SQL Server Tutorials in Arabic https://www.youtube.com/c/KudvenkatArabic/playlists What to choose for performance - SubQuery or Joins According to MSDN, in sql server, in most cases, there is usually no performance difference between queries that uses sub-queries and equivalent queries using joins. For example, on my machine I have 400,000 records in tblProducts table 600,000 records in tblProductSales tables The following query, returns, the list of products that we have sold atleast once. This query is formed using sub-queries. When I execute this query I get 306,199 rows in 6 seconds Select Id, Name, Description from tblProducts where ID IN ( Select ProductId from tblProductSales ) At this stage please clean the query and execution plan cache using the following T-SQL command. CHECKPOINT; GO DBCC DROPCLEANBUFFERS; Go DBCC FREEPROCCACHE; GO Now, run the query that is formed using joins. Notice that I get the exact same 306,199 rows in 6 seconds. Select distinct tblProducts.Id, Name, Description from tblProducts inner join tblProductSales on tblProducts.Id = tblProductSales.ProductId Please Note: I have used automated sql script to insert huge amounts of this random data. Please watch Part 61 of SQL Server tutorial, in which we have discussed about this automated script. According to MSDN, in some cases where existence must be checked, a join produces better performance. Otherwise, the nested query must be processed for each result of the outer query. In such cases, a join approach would yield better results. The following query returns the products that we have not sold atleast once. This query is formed using sub-queries. When I execute this query I get 93,801 rows in 3 seconds Select Id, Name, [Description] from tblProducts where Not Exists(Select * from tblProductSales where ProductId = tblProducts.Id) When I execute the below equivalent query, that uses joins, I get the exact same 93,801 rows in 3 seconds. Select tblProducts.Id, Name, [Description] from tblProducts left join tblProductSales on tblProducts.Id = tblProductSales.ProductId where tblProductSales.ProductId IS NULL In general joins work faster than sub-queries, but in reality it all depends on the execution plan that is generated by SQL Server. It does not matter how we have written the query, SQL Server will always transform it on an execution plan. If sql server generates the same plan from both queries, we will get the same result. I would say, rather than going by theory, turn on client statistics and execution plan to see the performance of each option, and then make a decision. In a later video session we will discuss about client statistics and execution plans in detail.
Jamie King of Neumont University discussing the use of SOME, ANY, and ALL with subqueries.
An introduction to the concept and use of Sub SELECT statements in SQL (Structured Query Language).
Oracle - SQL - Advanced Subqueries Watch more Videos at https://www.tutorialspoint.com/videotutorials/index.htm Lecture By: Mr. Anadi Sharma, Tutorials Point India Private Limited.
Views: 4044 Tutorials Point (India) Pvt. Ltd.
In SQL you can base queries on the results of other queries. This video explains the various types of subquery and their uses, covering: - Inline views - IN & EXISTS - Common table expressions/subquery factoring/with clause - Scalar subqueries Take the course; Databases for Developers: Next Level https://blogs.oracle.com/academy/take-your-sql-skills-to-the-next-level-with-this-free-online-10-part-tutorial Further reading: About Queries and Subqueries: https://docs.oracle.com/en/database/oracle/oracle-database/18/sqlrf/About-Queries-and-Subqueries.html Using Subqueries: https://docs.oracle.com/en/database/oracle/oracle-database/18/sqlrf/Using-Subqueries.html Need help with SQL? Ask us over on AskTOM: https://asktom.oracle.com Twitter: https://twitter.com/ChrisRSaxon Daily SQL Twitter tips: https://twitter.com/SQLDaily All Things SQL blog: https://blogs.oracle.com/sql/ ============================ The Magic of SQL with Chris Saxon Copyright © 2015 Oracle and/or its affiliates. Oracle is a registered trademark of Oracle and/or its affiliates. All rights reserved. Other names may be registered trademarks of their respective owners. Oracle disclaims any warranties or representations as to the accuracy or completeness of this recording, demonstration, and/or written materials (the "Materials"). The Materials are provided "as is" without any warranty of any kind, either express or implied, including without limitation warranties or merchantability, fitness for a particular purpose, and non-infringement.
In Oracle, a subquery is a query within a query. You can create subqueries within your SQL statements. These subqueries can reside in the WHERE clause, the FROM clause, or the SELECT clause.
This video demonstrates one of the ways to query hierarchical data from Oracle. For more information see: https://oracle-base.com/articles/11g/recursive-subquery-factoring-11gr2 Website: https://oracle-base.com Blog: https://oracle-base.com/blog Twitter: https://twitter.com/oraclebase Cameo by Jeff Smith Blog: http://www.thatjeffsmith.com Twitter: https://twitter.com/thatjeffsmith Cameo appearances are for fun, not an endorsement of the content of this video.
The first part of a mini-series of videos showing how you can improve the performance of function calls from SQL. In this episode, we take a look at Scalar Subquery Caching. For more information see: https://oracle-base.com/articles/misc/efficient-function-calls-from-sql#scalar-subquery-caching Website: https://oracle-base.com Blog: https://oracle-base.com/blog Twitter: https://twitter.com/oraclebase Cameo by Bruno Borges : Blog: https://blogs.oracle.com/brunoborges/ Website: http://brunoborges.com/ Twitter: https://twitter.com/brunoborges Cameo appearances are for fun, not an endorsement of the content of this video.
In this video, you will learn what is subquery? what is it's need? how to deal with the situations using subquery?