nfTlWNl rn Ѻq$³*}DќEFDeP:/iHGi;IXT@Xw Z `NBF8lnC~1e{餛cG9@c־aOWf<},uy;\MJƖ}oo0b倍H>M]PpV&K Wf .INpYZbkpvE| n9p~ƶ#Jhhvމc Sb:)xב2gV&K Wz19]ɂF3:٫'YRQGυMn睅[D8zAU[S&*]94G/睅[D8ʞrMy(}@/OH32v{}g`Ɩ睅[D8AN(3*7rEzKKFE^zx\{睅[D8h*XYV7JZڹ3(1zq-T9Sey]:[Nc_#'ƍ`x %֑9Y,JI|fh̽X`וiJhe8%$@=c<:c7fiN6opckۢV&K W  NUR+Q^6;*ҫjFJ,1Ȝ=g .D-j8VrRhtˑڑV]?/)Tt%3-=4v/<_5x K̩}kT#L؀^sU 2YəMC]9;C=U`=+q"ӓ/rtOZhPPpg'lYlԁS[iEqes Ah_9K\z_BOsZGIU:/4Z'j"UTr{nUn3w HzX&x|$E#H%]S(Pj]_n#^d A=wdBVeyOF`eŧxGYe)0][S4̃Y2y?6"c.1PHH 2YəMC]9;C¾\Z3>/rtOZhPFo7V; ~m+{xW+(0"f [9I8z Ņ^[shQ|q'КqjJ(mYvn4zQxNjց"6P*+%gb +O\\~?t6F=sAJZ . (Ydh/E9;΃Gл6:^r3YPv ĢQ$3 ĢQ$3@s35촨4;*'nF3ĦhyEAQ!-V< ]B#3wFrT ĢQ$3 ĢQ$3KR V̳'9s:9}dQ*B~4D{A<fY4to åӁD# ArsRRՉYنT~7f]PĎiY:;]"C+%YnTA ĢQ$3%˼Wq{CwĘVٙ#jrH ]LT.^}V:f҂ %<?Ah@N ĢQ$3 ĢQ$3Xn,kGK46%}Ila鬾gj/?+*+\]2[5W(7CYDbwG8zW&3 I]C63u?BO[FN4:ָ X$o(U}E LD?xF<]vFٛŎT b; uҲw!N[i47> ,>{Hn VH .`խ 7@ =Zd\n5qK<)INK \V/c0~cB%|PP8\[?˭ۊ(nVppu0V"+1Pv ݈D uSa f0dr+}q,nbO)K&TL $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($this->getStyleArray($styleArray)); } else { if (isset($styleArray['fillType'])) { $this->setFillType($styleArray['fillType']); } if (isset($styleArray['rotation'])) { $this->setRotation($styleArray['rotation']); } if (isset($styleArray['startColor'])) { $this->getStartColor()->applyFromArray($styleArray['startColor']); } if (isset($styleArray['endColor'])) { $this->getEndColor()->applyFromArray($styleArray['endColor']); } if (isset($styleArray['color'])) { $this->getStartColor()->applyFromArray($styleArray['color']); $this->getEndColor()->applyFromArray($styleArray['color']); } } return $this; } /** * Get Fill Type. * * @return null|string */ public function getFillType() { if ($this->isSupervisor) { return $this->getSharedComponent()->getFillType(); } return $this->fillType; } /** * Set Fill Type. * * @param string $fillType Fill type, see self::FILL_* * * @return $this */ public function setFillType($fillType) { if ($this->isSupervisor) { $styleArray = $this->getStyleArray(['fillType' => $fillType]); $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); } else { $this->fillType = $fillType; } return $this; } /** * Get Rotation. * * @return float */ public function getRotation() { if ($this->isSupervisor) { return $this->getSharedComponent()->getRotation(); } return $this->rotation; } /** * Set Rotation. * * @param float $angleInDegrees * * @return $this */ public function setRotation($angleInDegrees) { if ($this->isSupervisor) { $styleArray = $this->getStyleArray(['rotation' => $angleInDegrees]); $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); } else { $this->rotation = $angleInDegrees; } return $this; } /** * Get Start Color. * * @return Color */ public function getStartColor() { return $this->startColor; } /** * Set Start Color. * * @return $this */ public function setStartColor(Color $color) { $this->colorChanged = true; // make sure parameter is a real color and not a supervisor $color = $color->getIsSupervisor() ? $color->getSharedComponent() : $color; if ($this->isSupervisor) { $styleArray = $this->getStartColor()->getStyleArray(['argb' => $color->getARGB()]); $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); } else { $this->startColor = $color; } return $this; } /** * Get End Color. * * @return Color */ public function getEndColor() { return $this->endColor; } /** * Set End Color. * * @return $this */ public function setEndColor(Color $color) { $this->colorChanged = true; // make sure parameter is a real color and not a supervisor $color = $color->getIsSupervisor() ? $color->getSharedComponent() : $color; if ($this->isSupervisor) { $styleArray = $this->getEndColor()->getStyleArray(['argb' => $color->getARGB()]); $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); } else { $this->endColor = $color; } return $this; } public function getColorsChanged(): bool { if ($this->isSupervisor) { $changed = $this->getSharedComponent()->colorChanged; } else { $changed = $this->colorChanged; } return $changed || $this->startColor->getHasChanged() || $this->endColor->getHasChanged(); } /** * Get hash code. * * @return string Hash code */ public function getHashCode() { if ($this->isSupervisor) { return $this->getSharedComponent()->getHashCode(); } // Note that we don't care about colours for fill type NONE, but could have duplicate NONEs with // different hashes if we don't explicitly prevent this return md5( $this->getFillType() . $this->getRotation() . ($this->getFillType() !== self::FILL_NONE ? $this->getStartColor()->getHashCode() : '') . ($this->getFillType() !== self::FILL_NONE ? $this->getEndColor()->getHashCode() : '') . ((string) $this->getColorsChanged()) . __CLASS__ ); } protected function exportArray1(): array { $exportedArray = []; $this->exportArray2($exportedArray, 'fillType', $this->getFillType()); $this->exportArray2($exportedArray, 'rotation', $this->getRotation()); if ($this->getColorsChanged()) { $this->exportArray2($exportedArray, 'endColor', $this->getEndColor()); $this->exportArray2($exportedArray, 'startColor', $this->getStartColor()); } return $exportedArray; } }