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